From d888f40e35f81124950050df62ba6dc03607fa5f Mon Sep 17 00:00:00 2001 From: linonetwo Date: Wed, 18 Dec 2024 16:25:05 +0000 Subject: [PATCH] deploy: e85df316d26d4d1e719ae7a800e849736d8cfece --- index.html | 10 +++++----- tiddlywiki5.js | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/index.html b/index.html index 08b8f47..adcb7d1 100644 --- a/index.html +++ b/index.html @@ -10,7 +10,7 @@ - + @@ -19,7 +19,7 @@ =5.0.8","plugin-priority":"100","version":"5.3.3","dependents":"","type":"application/json","text":"{\"tiddlers\":{\"$:/language/Buttons/AdvancedSearch/Caption\":{\"title\":\"$:/language/Buttons/AdvancedSearch/Caption\",\"text\":\"高级搜索\"},\"$:/language/Buttons/AdvancedSearch/Hint\":{\"title\":\"$:/language/Buttons/AdvancedSearch/Hint\",\"text\":\"高级搜索\"},\"$:/language/Buttons/Cancel/Caption\":{\"title\":\"$:/language/Buttons/Cancel/Caption\",\"text\":\"取消\"},\"$:/language/Buttons/Cancel/Hint\":{\"title\":\"$:/language/Buttons/Cancel/Hint\",\"text\":\"取消对此条目的修改\"},\"$:/language/Buttons/Clone/Caption\":{\"title\":\"$:/language/Buttons/Clone/Caption\",\"text\":\"复制\"},\"$:/language/Buttons/Clone/Hint\":{\"title\":\"$:/language/Buttons/Clone/Hint\",\"text\":\"复制此条目\"},\"$:/language/Buttons/Close/Caption\":{\"title\":\"$:/language/Buttons/Close/Caption\",\"text\":\"关闭\"},\"$:/language/Buttons/Close/Hint\":{\"title\":\"$:/language/Buttons/Close/Hint\",\"text\":\"关闭此条目\"},\"$:/language/Buttons/CloseAll/Caption\":{\"title\":\"$:/language/Buttons/CloseAll/Caption\",\"text\":\"全部关闭\"},\"$:/language/Buttons/CloseAll/Hint\":{\"title\":\"$:/language/Buttons/CloseAll/Hint\",\"text\":\"关闭所有条目\"},\"$:/language/Buttons/CloseOthers/Caption\":{\"title\":\"$:/language/Buttons/CloseOthers/Caption\",\"text\":\"关闭其他\"},\"$:/language/Buttons/CloseOthers/Hint\":{\"title\":\"$:/language/Buttons/CloseOthers/Hint\",\"text\":\"关闭其他条目\"},\"$:/language/Buttons/ControlPanel/Caption\":{\"title\":\"$:/language/Buttons/ControlPanel/Caption\",\"text\":\"控制台\"},\"$:/language/Buttons/ControlPanel/Hint\":{\"title\":\"$:/language/Buttons/ControlPanel/Hint\",\"text\":\"开启控制台\"},\"$:/language/Buttons/CopyToClipboard/Caption\":{\"title\":\"$:/language/Buttons/CopyToClipboard/Caption\",\"text\":\"复制到剪贴板\"},\"$:/language/Buttons/CopyToClipboard/Hint\":{\"title\":\"$:/language/Buttons/CopyToClipboard/Hint\",\"text\":\"将此文本复制到剪贴板\"},\"$:/language/Buttons/Delete/Caption\":{\"title\":\"$:/language/Buttons/Delete/Caption\",\"text\":\"删除\"},\"$:/language/Buttons/Delete/Hint\":{\"title\":\"$:/language/Buttons/Delete/Hint\",\"text\":\"删除此条目\"},\"$:/language/Buttons/DeleteTiddlers/Caption\":{\"title\":\"$:/language/Buttons/DeleteTiddlers/Caption\",\"text\":\"删除条目\"},\"$:/language/Buttons/DeleteTiddlers/Hint\":{\"title\":\"$:/language/Buttons/DeleteTiddlers/Hint\",\"text\":\"删除条目\"},\"$:/language/Buttons/Edit/Caption\":{\"title\":\"$:/language/Buttons/Edit/Caption\",\"text\":\"编辑\"},\"$:/language/Buttons/Edit/Hint\":{\"title\":\"$:/language/Buttons/Edit/Hint\",\"text\":\"编辑此条目\"},\"$:/language/Buttons/Encryption/Caption\":{\"title\":\"$:/language/Buttons/Encryption/Caption\",\"text\":\"加密\"},\"$:/language/Buttons/Encryption/Hint\":{\"title\":\"$:/language/Buttons/Encryption/Hint\",\"text\":\"设置或清除保存此维基的密码\"},\"$:/language/Buttons/Encryption/ClearPassword/Caption\":{\"title\":\"$:/language/Buttons/Encryption/ClearPassword/Caption\",\"text\":\"清除密码\"},\"$:/language/Buttons/Encryption/ClearPassword/Hint\":{\"title\":\"$:/language/Buttons/Encryption/ClearPassword/Hint\",\"text\":\"清除密码且不加密保存此维基\"},\"$:/language/Buttons/Encryption/SetPassword/Caption\":{\"title\":\"$:/language/Buttons/Encryption/SetPassword/Caption\",\"text\":\"设置密码\"},\"$:/language/Buttons/Encryption/SetPassword/Hint\":{\"title\":\"$:/language/Buttons/Encryption/SetPassword/Hint\",\"text\":\"设置加密保存此维基的密码\"},\"$:/language/Buttons/ExportPage/Caption\":{\"title\":\"$:/language/Buttons/ExportPage/Caption\",\"text\":\"导出所有条目\"},\"$:/language/Buttons/ExportPage/Hint\":{\"title\":\"$:/language/Buttons/ExportPage/Hint\",\"text\":\"导出所有条目\"},\"$:/language/Buttons/ExportTiddler/Caption\":{\"title\":\"$:/language/Buttons/ExportTiddler/Caption\",\"text\":\"导出此条目\"},\"$:/language/Buttons/ExportTiddler/Hint\":{\"title\":\"$:/language/Buttons/ExportTiddler/Hint\",\"text\":\"导出此条目\"},\"$:/language/Buttons/ExportTiddlers/Caption\":{\"title\":\"$:/language/Buttons/ExportTiddlers/Caption\",\"text\":\"导出条目\"},\"$:/language/Buttons/ExportTiddlers/Hint\":{\"title\":\"$:/language/Buttons/ExportTiddlers/Hint\",\"text\":\"导出条目\"},\"$:/language/Buttons/SidebarSearch/Hint\":{\"title\":\"$:/language/Buttons/SidebarSearch/Hint\",\"text\":\"选择侧边栏的搜索字段\"},\"$:/language/Buttons/Fold/Caption\":{\"title\":\"$:/language/Buttons/Fold/Caption\",\"text\":\"折叠条目\"},\"$:/language/Buttons/Fold/Hint\":{\"title\":\"$:/language/Buttons/Fold/Hint\",\"text\":\"折叠此条目的内容\"},\"$:/language/Buttons/Unfold/Caption\":{\"title\":\"$:/language/Buttons/Unfold/Caption\",\"text\":\"展开条目\"},\"$:/language/Buttons/Unfold/Hint\":{\"title\":\"$:/language/Buttons/Unfold/Hint\",\"text\":\"展开此条目的内容\"},\"$:/language/Buttons/FoldOthers/Caption\":{\"title\":\"$:/language/Buttons/FoldOthers/Caption\",\"text\":\"折叠其他条目\"},\"$:/language/Buttons/FoldOthers/Hint\":{\"title\":\"$:/language/Buttons/FoldOthers/Hint\",\"text\":\"折叠其他已开启条目的内容\"},\"$:/language/Buttons/FoldAll/Caption\":{\"title\":\"$:/language/Buttons/FoldAll/Caption\",\"text\":\"折叠所有条目\"},\"$:/language/Buttons/FoldAll/Hint\":{\"title\":\"$:/language/Buttons/FoldAll/Hint\",\"text\":\"折叠所有已开启条目的内容\"},\"$:/language/Buttons/Fold/FoldBar/Caption\":{\"title\":\"$:/language/Buttons/Fold/FoldBar/Caption\",\"text\":\"折叠栏\"},\"$:/language/Buttons/Fold/FoldBar/Hint\":{\"title\":\"$:/language/Buttons/Fold/FoldBar/Hint\",\"text\":\"可选的折叠与展开条目的长条按钮\"},\"$:/language/Buttons/UnfoldAll/Caption\":{\"title\":\"$:/language/Buttons/UnfoldAll/Caption\",\"text\":\"展开所有条目\"},\"$:/language/Buttons/UnfoldAll/Hint\":{\"title\":\"$:/language/Buttons/UnfoldAll/Hint\",\"text\":\"展开所有已开启条目的内容\"},\"$:/language/Buttons/FullScreen/Caption\":{\"title\":\"$:/language/Buttons/FullScreen/Caption\",\"text\":\"全屏\"},\"$:/language/Buttons/FullScreen/Hint\":{\"title\":\"$:/language/Buttons/FullScreen/Hint\",\"text\":\"进入或退出全屏模式\"},\"$:/language/Buttons/Help/Caption\":{\"title\":\"$:/language/Buttons/Help/Caption\",\"text\":\"帮助\"},\"$:/language/Buttons/Help/Hint\":{\"title\":\"$:/language/Buttons/Help/Hint\",\"text\":\"显示帮助面板\"},\"$:/language/Buttons/Home/Caption\":{\"title\":\"$:/language/Buttons/Home/Caption\",\"text\":\"首页\"},\"$:/language/Buttons/Home/Hint\":{\"title\":\"$:/language/Buttons/Home/Hint\",\"text\":\"开启首页条目\"},\"$:/language/Buttons/Import/Caption\":{\"title\":\"$:/language/Buttons/Import/Caption\",\"text\":\"导入\"},\"$:/language/Buttons/Import/Hint\":{\"title\":\"$:/language/Buttons/Import/Hint\",\"text\":\"导入许多类型的文件包括文本、图像、~TiddlyWiki 或 JSON\"},\"$:/language/Buttons/Info/Caption\":{\"title\":\"$:/language/Buttons/Info/Caption\",\"text\":\"信息\"},\"$:/language/Buttons/Info/Hint\":{\"title\":\"$:/language/Buttons/Info/Hint\",\"text\":\"显示此条目的信息\"},\"$:/language/Buttons/Language/Caption\":{\"title\":\"$:/language/Buttons/Language/Caption\",\"text\":\"语言\"},\"$:/language/Buttons/Language/Hint\":{\"title\":\"$:/language/Buttons/Language/Hint\",\"text\":\"选择用户界面语言\"},\"$:/language/Buttons/LayoutSwitcher/Hint\":{\"title\":\"$:/language/Buttons/LayoutSwitcher/Hint\",\"text\":\"开启布局切换器\"},\"$:/language/Buttons/LayoutSwitcher/Caption\":{\"title\":\"$:/language/Buttons/LayoutSwitcher/Caption\",\"text\":\"布局\"},\"$:/language/Buttons/Manager/Caption\":{\"title\":\"$:/language/Buttons/Manager/Caption\",\"text\":\"条目管理器\"},\"$:/language/Buttons/Manager/Hint\":{\"title\":\"$:/language/Buttons/Manager/Hint\",\"text\":\"开启条目管理器\"},\"$:/language/Buttons/More/Caption\":{\"title\":\"$:/language/Buttons/More/Caption\",\"text\":\"更多\"},\"$:/language/Buttons/More/Hint\":{\"title\":\"$:/language/Buttons/More/Hint\",\"text\":\"更多操作\"},\"$:/language/Buttons/NewHere/Caption\":{\"title\":\"$:/language/Buttons/NewHere/Caption\",\"text\":\"添加子条目\"},\"$:/language/Buttons/NewHere/Hint\":{\"title\":\"$:/language/Buttons/NewHere/Hint\",\"text\":\"创建一个标签为此条目名称的新条目\"},\"$:/language/Buttons/NetworkActivity/Caption\":{\"title\":\"$:/language/Buttons/NetworkActivity/Caption\",\"text\":\"网络活动\"},\"$:/language/Buttons/NetworkActivity/Hint\":{\"title\":\"$:/language/Buttons/NetworkActivity/Hint\",\"text\":\"取消所有网络活动\"},\"$:/language/Buttons/NewJournal/Caption\":{\"title\":\"$:/language/Buttons/NewJournal/Caption\",\"text\":\"添加日志\"},\"$:/language/Buttons/NewJournal/Hint\":{\"title\":\"$:/language/Buttons/NewJournal/Hint\",\"text\":\"创建一个新的日志条目\"},\"$:/language/Buttons/NewJournalHere/Caption\":{\"title\":\"$:/language/Buttons/NewJournalHere/Caption\",\"text\":\"添加子日志\"},\"$:/language/Buttons/NewJournalHere/Hint\":{\"title\":\"$:/language/Buttons/NewJournalHere/Hint\",\"text\":\"创建一个标签含此条目名称的新日志条目\"},\"$:/language/Buttons/NewImage/Caption\":{\"title\":\"$:/language/Buttons/NewImage/Caption\",\"text\":\"添加图像\"},\"$:/language/Buttons/NewImage/Hint\":{\"title\":\"$:/language/Buttons/NewImage/Hint\",\"text\":\"创建一个新的图像条目\"},\"$:/language/Buttons/NewMarkdown/Caption\":{\"title\":\"$:/language/Buttons/NewMarkdown/Caption\",\"text\":\"添加 Markdown 条目\"},\"$:/language/Buttons/NewMarkdown/Hint\":{\"title\":\"$:/language/Buttons/NewMarkdown/Hint\",\"text\":\"创建一个新的 Markdown 条目\"},\"$:/language/Buttons/NewTiddler/Caption\":{\"title\":\"$:/language/Buttons/NewTiddler/Caption\",\"text\":\"添加条目\"},\"$:/language/Buttons/NewTiddler/Hint\":{\"title\":\"$:/language/Buttons/NewTiddler/Hint\",\"text\":\"创建一个新的条目\"},\"$:/language/Buttons/OpenWindow/Caption\":{\"title\":\"$:/language/Buttons/OpenWindow/Caption\",\"text\":\"开启于新窗口\"},\"$:/language/Buttons/OpenWindow/Hint\":{\"title\":\"$:/language/Buttons/OpenWindow/Hint\",\"text\":\"在新窗口中开启条目\"},\"$:/language/Buttons/Palette/Caption\":{\"title\":\"$:/language/Buttons/Palette/Caption\",\"text\":\"调色板\"},\"$:/language/Buttons/Palette/Hint\":{\"title\":\"$:/language/Buttons/Palette/Hint\",\"text\":\"选择调色板\"},\"$:/language/Buttons/Permalink/Caption\":{\"title\":\"$:/language/Buttons/Permalink/Caption\",\"text\":\"引用链接\"},\"$:/language/Buttons/Permalink/Hint\":{\"title\":\"$:/language/Buttons/Permalink/Hint\",\"text\":\"设置浏览器网址栏为直接链接到此条目\"},\"$:/language/Buttons/Permaview/Caption\":{\"title\":\"$:/language/Buttons/Permaview/Caption\",\"text\":\"永久链接\"},\"$:/language/Buttons/Permaview/Hint\":{\"title\":\"$:/language/Buttons/Permaview/Hint\",\"text\":\"设置浏览器网址栏为直接链接到当前所有已开启条目\"},\"$:/language/Buttons/Print/Caption\":{\"title\":\"$:/language/Buttons/Print/Caption\",\"text\":\"打印页面\"},\"$:/language/Buttons/Print/Hint\":{\"title\":\"$:/language/Buttons/Print/Hint\",\"text\":\"打印当前页面\"},\"$:/language/Buttons/Refresh/Caption\":{\"title\":\"$:/language/Buttons/Refresh/Caption\",\"text\":\"刷新\"},\"$:/language/Buttons/Refresh/Hint\":{\"title\":\"$:/language/Buttons/Refresh/Hint\",\"text\":\"执行维基的完全刷新\"},\"$:/language/Buttons/Save/Caption\":{\"title\":\"$:/language/Buttons/Save/Caption\",\"text\":\"确定\"},\"$:/language/Buttons/Save/Hint\":{\"title\":\"$:/language/Buttons/Save/Hint\",\"text\":\"确定对此条目的更改\"},\"$:/language/Buttons/SaveWiki/Caption\":{\"title\":\"$:/language/Buttons/SaveWiki/Caption\",\"text\":\"保存变更\"},\"$:/language/Buttons/SaveWiki/Hint\":{\"title\":\"$:/language/Buttons/SaveWiki/Hint\",\"text\":\"保存变更\"},\"$:/language/Buttons/StoryView/Caption\":{\"title\":\"$:/language/Buttons/StoryView/Caption\",\"text\":\"视图模式\"},\"$:/language/Buttons/StoryView/Hint\":{\"title\":\"$:/language/Buttons/StoryView/Hint\",\"text\":\"选择查看条目的视觉效果\"},\"$:/language/Buttons/HideSideBar/Caption\":{\"title\":\"$:/language/Buttons/HideSideBar/Caption\",\"text\":\"隐藏侧边栏\"},\"$:/language/Buttons/HideSideBar/Hint\":{\"title\":\"$:/language/Buttons/HideSideBar/Hint\",\"text\":\"隐藏侧边栏\"},\"$:/language/Buttons/ShowSideBar/Caption\":{\"title\":\"$:/language/Buttons/ShowSideBar/Caption\",\"text\":\"显示侧边栏\"},\"$:/language/Buttons/ShowSideBar/Hint\":{\"title\":\"$:/language/Buttons/ShowSideBar/Hint\",\"text\":\"显示侧边栏\"},\"$:/language/Buttons/TagManager/Caption\":{\"title\":\"$:/language/Buttons/TagManager/Caption\",\"text\":\"标签管理\"},\"$:/language/Buttons/TagManager/Hint\":{\"title\":\"$:/language/Buttons/TagManager/Hint\",\"text\":\"标签管理\"},\"$:/language/Buttons/Timestamp/Caption\":{\"title\":\"$:/language/Buttons/Timestamp/Caption\",\"text\":\"时间戳\"},\"$:/language/Buttons/Timestamp/Hint\":{\"title\":\"$:/language/Buttons/Timestamp/Hint\",\"text\":\"选择修改是否更新时间戳\"},\"$:/language/Buttons/Timestamp/On/Caption\":{\"title\":\"$:/language/Buttons/Timestamp/On/Caption\",\"text\":\"时间戳开启\"},\"$:/language/Buttons/Timestamp/On/Hint\":{\"title\":\"$:/language/Buttons/Timestamp/On/Hint\",\"text\":\"条目被修改时,更新时间戳\"},\"$:/language/Buttons/Timestamp/Off/Caption\":{\"title\":\"$:/language/Buttons/Timestamp/Off/Caption\",\"text\":\"时间戳关闭\"},\"$:/language/Buttons/Timestamp/Off/Hint\":{\"title\":\"$:/language/Buttons/Timestamp/Off/Hint\",\"text\":\"条目被修改时,不更新时间戳\"},\"$:/language/Buttons/Theme/Caption\":{\"title\":\"$:/language/Buttons/Theme/Caption\",\"text\":\"布局主题\"},\"$:/language/Buttons/Theme/Hint\":{\"title\":\"$:/language/Buttons/Theme/Hint\",\"text\":\"选择布局主题\"},\"$:/language/Buttons/Bold/Caption\":{\"title\":\"$:/language/Buttons/Bold/Caption\",\"text\":\"粗体\"},\"$:/language/Buttons/Bold/Hint\":{\"title\":\"$:/language/Buttons/Bold/Hint\",\"text\":\"套用粗体格式于所选文本\"},\"$:/language/Buttons/Clear/Caption\":{\"title\":\"$:/language/Buttons/Clear/Caption\",\"text\":\"清除\"},\"$:/language/Buttons/Clear/Hint\":{\"title\":\"$:/language/Buttons/Clear/Hint\",\"text\":\"清除图像为纯色\"},\"$:/language/Buttons/EditorHeight/Caption\":{\"title\":\"$:/language/Buttons/EditorHeight/Caption\",\"text\":\"编辑器高度\"},\"$:/language/Buttons/EditorHeight/Caption/Auto\":{\"title\":\"$:/language/Buttons/EditorHeight/Caption/Auto\",\"text\":\"自动调整高度以适应内容\"},\"$:/language/Buttons/EditorHeight/Caption/Fixed\":{\"title\":\"$:/language/Buttons/EditorHeight/Caption/Fixed\",\"text\":\"固定高度︰\"},\"$:/language/Buttons/EditorHeight/Hint\":{\"title\":\"$:/language/Buttons/EditorHeight/Hint\",\"text\":\"选择文本编辑器的高度\"},\"$:/language/Buttons/Excise/Caption\":{\"title\":\"$:/language/Buttons/Excise/Caption\",\"text\":\"剪切\"},\"$:/language/Buttons/Excise/Caption/Excise\":{\"title\":\"$:/language/Buttons/Excise/Caption/Excise\",\"text\":\"执行剪切\"},\"$:/language/Buttons/Excise/Caption/MacroName\":{\"title\":\"$:/language/Buttons/Excise/Caption/MacroName\",\"text\":\"宏的名称︰\"},\"$:/language/Buttons/Excise/Caption/NewTitle\":{\"title\":\"$:/language/Buttons/Excise/Caption/NewTitle\",\"text\":\"新条目的名称︰\"},\"$:/language/Buttons/Excise/Caption/Replace\":{\"title\":\"$:/language/Buttons/Excise/Caption/Replace\",\"text\":\"替换剪切的文本为:\"},\"$:/language/Buttons/Excise/Caption/Replace/Macro\":{\"title\":\"$:/language/Buttons/Excise/Caption/Replace/Macro\",\"text\":\"宏\"},\"$:/language/Buttons/Excise/Caption/Replace/Link\":{\"title\":\"$:/language/Buttons/Excise/Caption/Replace/Link\",\"text\":\"链接\"},\"$:/language/Buttons/Excise/Caption/Replace/Transclusion\":{\"title\":\"$:/language/Buttons/Excise/Caption/Replace/Transclusion\",\"text\":\"嵌入\"},\"$:/language/Buttons/Excise/Caption/Tag\":{\"title\":\"$:/language/Buttons/Excise/Caption/Tag\",\"text\":\"将新条目的标签设为此条目的名称\"},\"$:/language/Buttons/Excise/Caption/TiddlerExists\":{\"title\":\"$:/language/Buttons/Excise/Caption/TiddlerExists\",\"text\":\"提醒:条目已经存在\"},\"$:/language/Buttons/Excise/Hint\":{\"title\":\"$:/language/Buttons/Excise/Hint\",\"text\":\"剪切所选文本到一个新条目\"},\"$:/language/Buttons/Heading1/Caption\":{\"title\":\"$:/language/Buttons/Heading1/Caption\",\"text\":\"标题 1\"},\"$:/language/Buttons/Heading1/Hint\":{\"title\":\"$:/language/Buttons/Heading1/Hint\",\"text\":\"套用标题级别 1 的格式于包含所选文本的列\"},\"$:/language/Buttons/Heading2/Caption\":{\"title\":\"$:/language/Buttons/Heading2/Caption\",\"text\":\"标题 2\"},\"$:/language/Buttons/Heading2/Hint\":{\"title\":\"$:/language/Buttons/Heading2/Hint\",\"text\":\"套用标题级别 2 的格式于包含所选文本的列\"},\"$:/language/Buttons/Heading3/Caption\":{\"title\":\"$:/language/Buttons/Heading3/Caption\",\"text\":\"标题 3\"},\"$:/language/Buttons/Heading3/Hint\":{\"title\":\"$:/language/Buttons/Heading3/Hint\",\"text\":\"套用标题级别 3 的格式于包含所选文本的列\"},\"$:/language/Buttons/Heading4/Caption\":{\"title\":\"$:/language/Buttons/Heading4/Caption\",\"text\":\"标题 4\"},\"$:/language/Buttons/Heading4/Hint\":{\"title\":\"$:/language/Buttons/Heading4/Hint\",\"text\":\"套用标题级别 4 的格式于包含所选文本的列\"},\"$:/language/Buttons/Heading5/Caption\":{\"title\":\"$:/language/Buttons/Heading5/Caption\",\"text\":\"标题 5\"},\"$:/language/Buttons/Heading5/Hint\":{\"title\":\"$:/language/Buttons/Heading5/Hint\",\"text\":\"套用标题级别 5 的格式于包含所选文本的列\"},\"$:/language/Buttons/Heading6/Caption\":{\"title\":\"$:/language/Buttons/Heading6/Caption\",\"text\":\"标题 6\"},\"$:/language/Buttons/Heading6/Hint\":{\"title\":\"$:/language/Buttons/Heading6/Hint\",\"text\":\"套用标题级别 6 的格式于包含所选文本的列\"},\"$:/language/Buttons/Italic/Caption\":{\"title\":\"$:/language/Buttons/Italic/Caption\",\"text\":\"斜体\"},\"$:/language/Buttons/Italic/Hint\":{\"title\":\"$:/language/Buttons/Italic/Hint\",\"text\":\"套用斜体格式于所选文本\"},\"$:/language/Buttons/LineWidth/Caption\":{\"title\":\"$:/language/Buttons/LineWidth/Caption\",\"text\":\"线宽\"},\"$:/language/Buttons/LineWidth/Hint\":{\"title\":\"$:/language/Buttons/LineWidth/Hint\",\"text\":\"设置绘画的线条宽度\"},\"$:/language/Buttons/Link/Caption\":{\"title\":\"$:/language/Buttons/Link/Caption\",\"text\":\"链接\"},\"$:/language/Buttons/Link/Hint\":{\"title\":\"$:/language/Buttons/Link/Hint\",\"text\":\"创建维基文字链接\"},\"$:/language/Buttons/Linkify/Caption\":{\"title\":\"$:/language/Buttons/Linkify/Caption\",\"text\":\"维基链接\"},\"$:/language/Buttons/Linkify/Hint\":{\"title\":\"$:/language/Buttons/Linkify/Hint\",\"text\":\"套用维基链接于所选文字\"},\"$:/language/Buttons/ListBullet/Caption\":{\"title\":\"$:/language/Buttons/ListBullet/Caption\",\"text\":\"符号清单\"},\"$:/language/Buttons/ListBullet/Hint\":{\"title\":\"$:/language/Buttons/ListBullet/Hint\",\"text\":\"套用符号清单格式于包含所选文本的列\"},\"$:/language/Buttons/ListNumber/Caption\":{\"title\":\"$:/language/Buttons/ListNumber/Caption\",\"text\":\"数字清单\"},\"$:/language/Buttons/ListNumber/Hint\":{\"title\":\"$:/language/Buttons/ListNumber/Hint\",\"text\":\"套用数字清单格式于包含所选文本的列\"},\"$:/language/Buttons/MonoBlock/Caption\":{\"title\":\"$:/language/Buttons/MonoBlock/Caption\",\"text\":\"等宽区块\"},\"$:/language/Buttons/MonoBlock/Hint\":{\"title\":\"$:/language/Buttons/MonoBlock/Hint\",\"text\":\"套用等宽区块格式于包含所选文本的列\"},\"$:/language/Buttons/MonoLine/Caption\":{\"title\":\"$:/language/Buttons/MonoLine/Caption\",\"text\":\"等宽\"},\"$:/language/Buttons/MonoLine/Hint\":{\"title\":\"$:/language/Buttons/MonoLine/Hint\",\"text\":\"套用等宽字符格式于所选文本\"},\"$:/language/Buttons/Opacity/Caption\":{\"title\":\"$:/language/Buttons/Opacity/Caption\",\"text\":\"不透明度\"},\"$:/language/Buttons/Opacity/Hint\":{\"title\":\"$:/language/Buttons/Opacity/Hint\",\"text\":\"设置绘画的不透明度\"},\"$:/language/Buttons/Paint/Caption\":{\"title\":\"$:/language/Buttons/Paint/Caption\",\"text\":\"绘画颜色\"},\"$:/language/Buttons/Paint/Hint\":{\"title\":\"$:/language/Buttons/Paint/Hint\",\"text\":\"设置绘画的颜色\"},\"$:/language/Buttons/Picture/Caption\":{\"title\":\"$:/language/Buttons/Picture/Caption\",\"text\":\"图片\"},\"$:/language/Buttons/Picture/Hint\":{\"title\":\"$:/language/Buttons/Picture/Hint\",\"text\":\"插入图片\"},\"$:/language/Buttons/Preview/Caption\":{\"title\":\"$:/language/Buttons/Preview/Caption\",\"text\":\"预览\"},\"$:/language/Buttons/Preview/Hint\":{\"title\":\"$:/language/Buttons/Preview/Hint\",\"text\":\"显示预览窗格\"},\"$:/language/Buttons/PreviewType/Caption\":{\"title\":\"$:/language/Buttons/PreviewType/Caption\",\"text\":\"预览类型\"},\"$:/language/Buttons/PreviewType/Hint\":{\"title\":\"$:/language/Buttons/PreviewType/Hint\",\"text\":\"选择预览类型\"},\"$:/language/Buttons/Quote/Caption\":{\"title\":\"$:/language/Buttons/Quote/Caption\",\"text\":\"引用\"},\"$:/language/Buttons/Quote/Hint\":{\"title\":\"$:/language/Buttons/Quote/Hint\",\"text\":\"套用引用文本格式于包含所选文本的列\"},\"$:/language/Buttons/RotateLeft/Caption\":{\"title\":\"$:/language/Buttons/RotateLeft/Caption\",\"text\":\"向左旋转\"},\"$:/language/Buttons/RotateLeft/Hint\":{\"title\":\"$:/language/Buttons/RotateLeft/Hint\",\"text\":\"图像向左旋转 90 度\"},\"$:/language/Buttons/Size/Caption\":{\"title\":\"$:/language/Buttons/Size/Caption\",\"text\":\"图像大小\"},\"$:/language/Buttons/Size/Caption/Height\":{\"title\":\"$:/language/Buttons/Size/Caption/Height\",\"text\":\"高度︰\"},\"$:/language/Buttons/Size/Caption/Resize\":{\"title\":\"$:/language/Buttons/Size/Caption/Resize\",\"text\":\"调整图像的大小\"},\"$:/language/Buttons/Size/Caption/Width\":{\"title\":\"$:/language/Buttons/Size/Caption/Width\",\"text\":\"宽度:\"},\"$:/language/Buttons/Size/Hint\":{\"title\":\"$:/language/Buttons/Size/Hint\",\"text\":\"设置图像的大小\"},\"$:/language/Buttons/Stamp/Caption\":{\"title\":\"$:/language/Buttons/Stamp/Caption\",\"text\":\"印记\"},\"$:/language/Buttons/Stamp/Caption/New\":{\"title\":\"$:/language/Buttons/Stamp/Caption/New\",\"text\":\"添加您自己的\"},\"$:/language/Buttons/Stamp/Hint\":{\"title\":\"$:/language/Buttons/Stamp/Hint\",\"text\":\"插入一个预配置的文本片段\"},\"$:/language/Buttons/Stamp/New/Title\":{\"title\":\"$:/language/Buttons/Stamp/New/Title\",\"text\":\"在选单中显示的标题\"},\"$:/language/Buttons/Stamp/New/Text\":{\"title\":\"$:/language/Buttons/Stamp/New/Text\",\"text\":\"片段的文本。(记得在 `caption` 字段中添加一个说明性的标题)。\"},\"$:/language/Buttons/Strikethrough/Caption\":{\"title\":\"$:/language/Buttons/Strikethrough/Caption\",\"text\":\"删除线\"},\"$:/language/Buttons/Strikethrough/Hint\":{\"title\":\"$:/language/Buttons/Strikethrough/Hint\",\"text\":\"套用删除线格式于所选文本\"},\"$:/language/Buttons/Subscript/Caption\":{\"title\":\"$:/language/Buttons/Subscript/Caption\",\"text\":\"下标\"},\"$:/language/Buttons/Subscript/Hint\":{\"title\":\"$:/language/Buttons/Subscript/Hint\",\"text\":\"套用下标格式于所选文本\"},\"$:/language/Buttons/Superscript/Caption\":{\"title\":\"$:/language/Buttons/Superscript/Caption\",\"text\":\"上标\"},\"$:/language/Buttons/Superscript/Hint\":{\"title\":\"$:/language/Buttons/Superscript/Hint\",\"text\":\"套用上标格式于所选文本\"},\"$:/language/Buttons/ToggleSidebar/Hint\":{\"title\":\"$:/language/Buttons/ToggleSidebar/Hint\",\"text\":\"切换显示或隐藏侧边栏\"},\"$:/language/Buttons/Transcludify/Caption\":{\"title\":\"$:/language/Buttons/Transcludify/Caption\",\"text\":\"嵌入\"},\"$:/language/Buttons/Transcludify/Hint\":{\"title\":\"$:/language/Buttons/Transcludify/Hint\",\"text\":\"套用嵌入于所选文字\"},\"$:/language/Buttons/Underline/Caption\":{\"title\":\"$:/language/Buttons/Underline/Caption\",\"text\":\"下划线\"},\"$:/language/Buttons/Underline/Hint\":{\"title\":\"$:/language/Buttons/Underline/Hint\",\"text\":\"套用下划线格式于所选文本\"},\"$:/language/ControlPanel/Advanced/Caption\":{\"title\":\"$:/language/ControlPanel/Advanced/Caption\",\"text\":\"高级\"},\"$:/language/ControlPanel/Advanced/Hint\":{\"title\":\"$:/language/ControlPanel/Advanced/Hint\",\"text\":\"关于此 TiddlyWiki 的内部信息\"},\"$:/language/ControlPanel/Appearance/Caption\":{\"title\":\"$:/language/ControlPanel/Appearance/Caption\",\"text\":\"外观\"},\"$:/language/ControlPanel/Appearance/Hint\":{\"title\":\"$:/language/ControlPanel/Appearance/Hint\",\"text\":\"定制您的 TiddlyWiki 外观。\"},\"$:/language/ControlPanel/Basics/AnimDuration/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/AnimDuration/Prompt\",\"text\":\"动画持续时间\"},\"$:/language/ControlPanel/Basics/AutoFocus/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/AutoFocus/Prompt\",\"text\":\"编辑条目时的默认自动停留字段\"},\"$:/language/ControlPanel/Basics/Caption\":{\"title\":\"$:/language/ControlPanel/Basics/Caption\",\"text\":\"基础\"},\"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint\":{\"title\":\"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint\",\"text\":\"标题含空白时请使用 [[双中括弧]],或者您可用 {{保留开启中的条目顺序||$:/snippets/retain-story-ordering-button}}\"},\"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt\",\"text\":\"首页\"},\"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint\":{\"title\":\"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint\",\"text\":\"默认开启的条目\"},\"$:/language/ControlPanel/Basics/Language/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/Language/Prompt\",\"text\":\"您好!当前的语言:\"},\"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt\",\"text\":\"新日志条目的标签\"},\"$:/language/ControlPanel/Basics/NewJournal/Text/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/NewJournal/Text/Prompt\",\"text\":\"新日志条目的内容\"},\"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt\",\"text\":\"新日志条目的名称\"},\"$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt\",\"text\":\"新条目的标签\"},\"$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt\",\"text\":\"新条目的名称\"},\"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt\",\"text\":\"被覆盖的默认条目数量\"},\"$:/language/ControlPanel/Basics/RemoveTags\":{\"title\":\"$:/language/ControlPanel/Basics/RemoveTags\",\"text\":\"更新到当前格式\"},\"$:/language/ControlPanel/Basics/RemoveTags/Hint\":{\"title\":\"$:/language/ControlPanel/Basics/RemoveTags/Hint\",\"text\":\"将标签配置更新为最新格式\"},\"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt\",\"text\":\"默认条目数量\"},\"$:/language/ControlPanel/Basics/Subtitle/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/Subtitle/Prompt\",\"text\":\"副标题\"},\"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt\",\"text\":\"系统条目数量\"},\"$:/language/ControlPanel/Basics/Tags/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/Tags/Prompt\",\"text\":\"标签数量\"},\"$:/language/ControlPanel/Basics/Tiddlers/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/Tiddlers/Prompt\",\"text\":\"一般条目数量\"},\"$:/language/ControlPanel/Basics/Title/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/Title/Prompt\",\"text\":\"此 ~TiddlyWiki 的标题\"},\"$:/language/ControlPanel/Basics/Username/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/Username/Prompt\",\"text\":\"编辑者署名\"},\"$:/language/ControlPanel/Basics/Version/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/Version/Prompt\",\"text\":\"~TiddlyWiki 版本\"},\"$:/language/ControlPanel/Cascades/Caption\":{\"title\":\"$:/language/ControlPanel/Cascades/Caption\",\"text\":\"级联\"},\"$:/language/ControlPanel/Cascades/Hint\":{\"title\":\"$:/language/ControlPanel/Cascades/Hint\",\"text\":\"这些全域规则用于动态选择某些模板。级联的结果是返回结果的序列中的第一个筛选的结果\"},\"$:/language/ControlPanel/Cascades/TagPrompt\":{\"title\":\"$:/language/ControlPanel/Cascades/TagPrompt\",\"text\":\"筛选器标签为 \u003C$macrocall $name=\\\"tag\\\" tag=\u003C\u003CcurrentTiddler>>/>\"},\"$:/language/ControlPanel/EditorTypes/Caption\":{\"title\":\"$:/language/ControlPanel/EditorTypes/Caption\",\"text\":\"编辑器类型\"},\"$:/language/ControlPanel/EditorTypes/Editor/Caption\":{\"title\":\"$:/language/ControlPanel/EditorTypes/Editor/Caption\",\"text\":\"编辑器\"},\"$:/language/ControlPanel/EditorTypes/Hint\":{\"title\":\"$:/language/ControlPanel/EditorTypes/Hint\",\"text\":\"这些条目决定使用哪个编辑器来编辑特定条目类型。\"},\"$:/language/ControlPanel/EditorTypes/Type/Caption\":{\"title\":\"$:/language/ControlPanel/EditorTypes/Type/Caption\",\"text\":\"类型\"},\"$:/language/ControlPanel/EditTemplateBody/Caption\":{\"title\":\"$:/language/ControlPanel/EditTemplateBody/Caption\",\"text\":\"编辑模板主体\"},\"$:/language/ControlPanel/EditTemplateBody/Hint\":{\"title\":\"$:/language/ControlPanel/EditTemplateBody/Hint\",\"text\":\"默认的编辑模板使用此规则级联,动态选择模板来编辑条目的主体。\"},\"$:/language/ControlPanel/FieldEditor/Caption\":{\"title\":\"$:/language/ControlPanel/FieldEditor/Caption\",\"text\":\"字段编辑器\"},\"$:/language/ControlPanel/FieldEditor/Hint\":{\"title\":\"$:/language/ControlPanel/FieldEditor/Hint\",\"text\":\"此规则级联用于根据名称,动态选择用于呈现一个条目字段的模板。其用于编辑模板中。\"},\"$:/language/ControlPanel/Info/Caption\":{\"title\":\"$:/language/ControlPanel/Info/Caption\",\"text\":\"信息\"},\"$:/language/ControlPanel/Info/Hint\":{\"title\":\"$:/language/ControlPanel/Info/Hint\",\"text\":\"有关此 TiddlyWiki 的信息\"},\"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt\",\"text\":\"在此输入快捷键\"},\"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption\",\"text\":\"添加快捷键\"},\"$:/language/ControlPanel/KeyboardShortcuts/Caption\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Caption\",\"text\":\"快捷键\"},\"$:/language/ControlPanel/KeyboardShortcuts/Hint\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Hint\",\"text\":\"管理键盘快捷键分配\"},\"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption\",\"text\":\"尚无指定快捷键\"},\"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint\",\"text\":\"删除快捷键\"},\"$:/language/ControlPanel/KeyboardShortcuts/Platform/All\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Platform/All\",\"text\":\"所有平台\"},\"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac\",\"text\":\"仅 Macintosh 平台\"},\"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac\",\"text\":\"仅非 Macintosh 平台\"},\"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux\",\"text\":\"仅 Linux 平台\"},\"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux\",\"text\":\"仅非 Linux 平台\"},\"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows\",\"text\":\"仅 Windows 平台\"},\"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows\",\"text\":\"仅非 Windows 平台\"},\"$:/language/ControlPanel/LayoutSwitcher/Caption\":{\"title\":\"$:/language/ControlPanel/LayoutSwitcher/Caption\",\"text\":\"布局\"},\"$:/language/ControlPanel/LoadedModules/Caption\":{\"title\":\"$:/language/ControlPanel/LoadedModules/Caption\",\"text\":\"已加载的模块\"},\"$:/language/ControlPanel/LoadedModules/Hint\":{\"title\":\"$:/language/ControlPanel/LoadedModules/Hint\",\"text\":\"这些是当前已加载的模块之源码条目。斜体的模块则无源码条目,通常是因为它们是在引导过程中设置。\"},\"$:/language/ControlPanel/Palette/Caption\":{\"title\":\"$:/language/ControlPanel/Palette/Caption\",\"text\":\"调色板\"},\"$:/language/ControlPanel/Palette/Editor/Clone/Caption\":{\"title\":\"$:/language/ControlPanel/Palette/Editor/Clone/Caption\",\"text\":\"复制\"},\"$:/language/ControlPanel/Palette/Editor/Clone/Prompt\":{\"title\":\"$:/language/ControlPanel/Palette/Editor/Clone/Prompt\",\"text\":\"建议您修改前先复制此默认调色板\"},\"$:/language/ControlPanel/Palette/Editor/Delete/Hint\":{\"title\":\"$:/language/ControlPanel/Palette/Editor/Delete/Hint\",\"text\":\"从当前调色板中删除此项\"},\"$:/language/ControlPanel/Palette/Editor/Names/External/Show\":{\"title\":\"$:/language/ControlPanel/Palette/Editor/Names/External/Show\",\"text\":\"显示不属于当前调色板的颜色名称\"},\"$:/language/ControlPanel/Palette/Editor/Prompt/Modified\":{\"title\":\"$:/language/ControlPanel/Palette/Editor/Prompt/Modified\",\"text\":\"此默认调色板已被修改过\"},\"$:/language/ControlPanel/Palette/Editor/Prompt\":{\"title\":\"$:/language/ControlPanel/Palette/Editor/Prompt\",\"text\":\"编辑\"},\"$:/language/ControlPanel/Palette/Editor/Reset/Caption\":{\"title\":\"$:/language/ControlPanel/Palette/Editor/Reset/Caption\",\"text\":\"重置\"},\"$:/language/ControlPanel/Palette/HideEditor/Caption\":{\"title\":\"$:/language/ControlPanel/Palette/HideEditor/Caption\",\"text\":\"隐藏编辑器\"},\"$:/language/ControlPanel/Palette/Prompt\":{\"title\":\"$:/language/ControlPanel/Palette/Prompt\",\"text\":\"当前的调色板:\"},\"$:/language/ControlPanel/Palette/ShowEditor/Caption\":{\"title\":\"$:/language/ControlPanel/Palette/ShowEditor/Caption\",\"text\":\"显示编辑器\"},\"$:/language/ControlPanel/Plugins/Add/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Add/Hint\",\"text\":\"从官方插件库安装插件\"},\"$:/language/ControlPanel/Plugins/Add/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Add/Caption\",\"text\":\"获取更多插件\"},\"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint\",\"text\":\"此插件已经安装版本 \u003C$text text=\u003C\u003CinstalledVersion>>/>\"},\"$:/language/ControlPanel/Plugins/AlsoRequires\":{\"title\":\"$:/language/ControlPanel/Plugins/AlsoRequires\",\"text\":\"还需要:\"},\"$:/language/ControlPanel/Plugins/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Caption\",\"text\":\"插件\"},\"$:/language/ControlPanel/Plugins/Disable/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Disable/Caption\",\"text\":\"禁用\"},\"$:/language/ControlPanel/Plugins/Disable/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Disable/Hint\",\"text\":\"重新加载页面时禁用此插件\"},\"$:/language/ControlPanel/Plugins/Disabled/Status\":{\"title\":\"$:/language/ControlPanel/Plugins/Disabled/Status\",\"text\":\"(已禁用)\"},\"$:/language/ControlPanel/Plugins/Downgrade/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Downgrade/Caption\",\"text\":\"降级\"},\"$:/language/ControlPanel/Plugins/Empty/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Empty/Hint\",\"text\":\"无\"},\"$:/language/ControlPanel/Plugins/Enable/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Enable/Caption\",\"text\":\"启用\"},\"$:/language/ControlPanel/Plugins/Enable/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Enable/Hint\",\"text\":\"重新加载页面时启用此插件\"},\"$:/language/ControlPanel/Plugins/Install/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Install/Caption\",\"text\":\"安装\"},\"$:/language/ControlPanel/Plugins/Installed/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Installed/Hint\",\"text\":\"当前已安装的插件:\"},\"$:/language/ControlPanel/Plugins/Languages/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Languages/Caption\",\"text\":\"语言\"},\"$:/language/ControlPanel/Plugins/Languages/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Languages/Hint\",\"text\":\"语言包插件\"},\"$:/language/ControlPanel/Plugins/NoInfoFound/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/NoInfoFound/Hint\",\"text\":\"无 ''\\\"\u003C$text text=\u003C\u003CcurrentTab>>/>\\\"''\"},\"$:/language/ControlPanel/Plugins/NoInformation/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/NoInformation/Hint\",\"text\":\"未提供信息\"},\"$:/language/ControlPanel/Plugins/NotInstalled/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/NotInstalled/Hint\",\"text\":\"尚未安装此插件\"},\"$:/language/ControlPanel/Plugins/OpenPluginLibrary\":{\"title\":\"$:/language/ControlPanel/Plugins/OpenPluginLibrary\",\"text\":\"打开插件库\"},\"$:/language/ControlPanel/Plugins/ClosePluginLibrary\":{\"title\":\"$:/language/ControlPanel/Plugins/ClosePluginLibrary\",\"text\":\"关闭插件库\"},\"$:/language/ControlPanel/Plugins/PluginWillRequireReload\":{\"title\":\"$:/language/ControlPanel/Plugins/PluginWillRequireReload\",\"text\":\"(需要重新加载)\"},\"$:/language/ControlPanel/Plugins/Plugins/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Plugins/Caption\",\"text\":\"插件\"},\"$:/language/ControlPanel/Plugins/Plugins/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Plugins/Hint\",\"text\":\"插件\"},\"$:/language/ControlPanel/Plugins/Reinstall/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Reinstall/Caption\",\"text\":\"重新安装\"},\"$:/language/ControlPanel/Plugins/Themes/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Themes/Caption\",\"text\":\"布局主题\"},\"$:/language/ControlPanel/Plugins/Themes/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Themes/Hint\",\"text\":\"布局主题插件\"},\"$:/language/ControlPanel/Plugins/Update/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Update/Caption\",\"text\":\"更新\"},\"$:/language/ControlPanel/Plugins/Updates/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Updates/Caption\",\"text\":\"更新\"},\"$:/language/ControlPanel/Plugins/Updates/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Updates/Hint\",\"text\":\"已安装插件的可用更新\"},\"$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption\",\"text\":\"更新 \u003C\u003Cupdate-count>> 个插件\"},\"$:/language/ControlPanel/Plugins/SubPluginPrompt\":{\"title\":\"$:/language/ControlPanel/Plugins/SubPluginPrompt\",\"text\":\"提供 \u003C\u003Ccount>> 个可用的附加插件\"},\"$:/language/ControlPanel/Parsing/Caption\":{\"title\":\"$:/language/ControlPanel/Parsing/Caption\",\"text\":\"解析\"},\"$:/language/ControlPanel/Parsing/Hint\":{\"title\":\"$:/language/ControlPanel/Parsing/Hint\",\"text\":\"在此您可以全域禁用或启用维基解析规则。要使更改生效,请保存并重新加载您的维基。禁用某些解析规则,会妨碍 \u003C$text text=\\\"TiddlyWiki\\\"/> 正常运作。可使用[[安全模式|https://tiddlywiki.com/#SafeMode]]恢复正常操作。\"},\"$:/language/ControlPanel/Parsing/Block/Caption\":{\"title\":\"$:/language/ControlPanel/Parsing/Block/Caption\",\"text\":\"区块解析规则\"},\"$:/language/ControlPanel/Parsing/Inline/Caption\":{\"title\":\"$:/language/ControlPanel/Parsing/Inline/Caption\",\"text\":\"内联解析规则\"},\"$:/language/ControlPanel/Parsing/Pragma/Caption\":{\"title\":\"$:/language/ControlPanel/Parsing/Pragma/Caption\",\"text\":\"编译指示解析规则\"},\"$:/language/ControlPanel/Saving/Caption\":{\"title\":\"$:/language/ControlPanel/Saving/Caption\",\"text\":\"保存\"},\"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description\":{\"title\":\"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description\",\"text\":\"允许下载保存模块的自动保存\"},\"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint\":{\"title\":\"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint\",\"text\":\"启用下载保存模块的自动保存\"},\"$:/language/ControlPanel/Saving/DownloadSaver/Caption\":{\"title\":\"$:/language/ControlPanel/Saving/DownloadSaver/Caption\",\"text\":\"下载保存模块\"},\"$:/language/ControlPanel/Saving/DownloadSaver/Hint\":{\"title\":\"$:/language/ControlPanel/Saving/DownloadSaver/Hint\",\"text\":\"这些设置适用于兼容 HTML5 的下载保存模块\"},\"$:/language/ControlPanel/Saving/General/Caption\":{\"title\":\"$:/language/ControlPanel/Saving/General/Caption\",\"text\":\"通用\"},\"$:/language/ControlPanel/Saving/General/Hint\":{\"title\":\"$:/language/ControlPanel/Saving/General/Hint\",\"text\":\"这些设置适用于所有已载入的保存模块\"},\"$:/language/ControlPanel/Saving/Hint\":{\"title\":\"$:/language/ControlPanel/Saving/Hint\",\"text\":\"用于通过保存模块将整个 TiddlyWiki 保存为单个文件的设置\"},\"$:/language/ControlPanel/Saving/GitService/Branch\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/Branch\",\"text\":\"用于保存的目标分支\"},\"$:/language/ControlPanel/Saving/GitService/CommitMessage\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/CommitMessage\",\"text\":\"由 TiddlyWiki 保存\"},\"$:/language/ControlPanel/Saving/GitService/Description\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/Description\",\"text\":\"这些设置仅用于保存至 \u003C\u003Cservice-name>>\"},\"$:/language/ControlPanel/Saving/GitService/Filename\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/Filename\",\"text\":\"目标文件的文件名称 (例如,`index.html`)\"},\"$:/language/ControlPanel/Saving/GitService/Path\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/Path\",\"text\":\"目标文件的路径 (例如,`/wiki/`)\"},\"$:/language/ControlPanel/Saving/GitService/Repo\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/Repo\",\"text\":\"目标存储库 (例如,`Jermolene/TiddlyWiki5`)\"},\"$:/language/ControlPanel/Saving/GitService/ServerURL\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/ServerURL\",\"text\":\"服务器 API 网址\"},\"$:/language/ControlPanel/Saving/GitService/UserName\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/UserName\",\"text\":\"用户名称\"},\"$:/language/ControlPanel/Saving/GitService/GitHub/Caption\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/GitHub/Caption\",\"text\":\"~GitHub 保存模块\"},\"$:/language/ControlPanel/Saving/GitService/GitHub/Password\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/GitHub/Password\",\"text\":\"密码、OAUTH 令牌,或个人存取令牌 (详见 [[GitHub 帮助页面|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]])\"},\"$:/language/ControlPanel/Saving/GitService/GitLab/Caption\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/GitLab/Caption\",\"text\":\"~GitLab 保存模块\"},\"$:/language/ControlPanel/Saving/GitService/GitLab/Password\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/GitLab/Password\",\"text\":\"个人存取令牌的 API (详见 [[GitLab 帮助页面|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]])\"},\"$:/language/ControlPanel/Saving/GitService/Gitea/Caption\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/Gitea/Caption\",\"text\":\"Gitea 保存模块\"},\"$:/language/ControlPanel/Saving/GitService/Gitea/Password\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/Gitea/Password\",\"text\":\"个人存取令牌的 API (通过 Gitea 的 Web 界面:`设定 | 应用程序 | 产生新的令牌`)\"},\"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading\",\"text\":\"高级设置\"},\"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir\",\"text\":\"备份文件夹\"},\"$:/language/ControlPanel/Saving/TiddlySpot/Backups\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/Backups\",\"text\":\"备份\"},\"$:/language/ControlPanel/Saving/TiddlySpot/Caption\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/Caption\",\"text\":\"~TiddlySpot 保存模块\"},\"$:/language/ControlPanel/Saving/TiddlySpot/ControlPanel\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/ControlPanel\",\"text\":\"~TiddlySpot 控制台\"},\"$:/language/ControlPanel/Saving/TiddlySpot/Description\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/Description\",\"text\":\"这些设置只适用于保存到 [[TiddlySpot|http://tiddlyspot.com]]、[[TiddlyHost|https://tiddlyhost.com]],或兼容的远程服务器。有关 ~TiddlySpot 和 ~TiddlyHost 的保存设置信息,请参阅[[此处|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]]。\"},\"$:/language/ControlPanel/Saving/TiddlySpot/Filename\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/Filename\",\"text\":\"上传文件名\"},\"$:/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\":\"//默认之服务器网址 `http://\u003Cwikiname>.tiddlyspot.com/store.cgi`,可改为定制之服务器网址,例如 `http://example.com/store.php`。//\"},\"$:/language/ControlPanel/Saving/TiddlySpot/Password\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/Password\",\"text\":\"密码\"},\"$:/language/ControlPanel/Saving/TiddlySpot/ReadOnly\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/ReadOnly\",\"text\":\"请注意,[[TiddlySpot|http://tiddlyspot.com]] 不再允许创建新网站。对于新网站,您可以使用 [[TiddlyHost|https://tiddlyhost.com]],一个新的取代 ~TiddlySpot 的讬管服务 。\"},\"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL\",\"text\":\"服务器网址\"},\"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir\",\"text\":\"上传文件夹\"},\"$:/language/ControlPanel/Saving/TiddlySpot/UserName\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/UserName\",\"text\":\"用户\"},\"$:/language/ControlPanel/Settings/AutoSave/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/AutoSave/Caption\",\"text\":\"自动保存\"},\"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description\":{\"title\":\"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description\",\"text\":\"不要自动保存变更\"},\"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description\":{\"title\":\"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description\",\"text\":\"自动保存变更\"},\"$:/language/ControlPanel/Settings/AutoSave/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/AutoSave/Hint\",\"text\":\"当使用支持的保存模块时,在编辑期间尝试自动保存变更\"},\"$:/language/ControlPanel/Settings/CamelCase/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/CamelCase/Caption\",\"text\":\"驼峰式维基链接\"},\"$:/language/ControlPanel/Settings/CamelCase/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/CamelCase/Hint\",\"text\":\"您可以全域禁用驼峰式短语自动链接。须保存后重新加载,方才生效。\"},\"$:/language/ControlPanel/Settings/CamelCase/Description\":{\"title\":\"$:/language/ControlPanel/Settings/CamelCase/Description\",\"text\":\"启用自动驼峰式链接\"},\"$:/language/ControlPanel/Settings/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/Caption\",\"text\":\"设置\"},\"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption\",\"text\":\"默认侧边栏页签\"},\"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint\",\"text\":\"指定默认显示的侧边栏页签\"},\"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption\",\"text\":\"更多侧边栏的默认页签\"},\"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint\",\"text\":\"指定默认显示的更多侧栏页签\"},\"$:/language/ControlPanel/Settings/EditorToolbar/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/EditorToolbar/Caption\",\"text\":\"编辑器工具栏\"},\"$:/language/ControlPanel/Settings/EditorToolbar/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/EditorToolbar/Hint\",\"text\":\"启用或禁用编辑器工具栏︰\"},\"$:/language/ControlPanel/Settings/EditorToolbar/Description\":{\"title\":\"$:/language/ControlPanel/Settings/EditorToolbar/Description\",\"text\":\"显示编辑器工具栏\"},\"$:/language/ControlPanel/Settings/InfoPanelMode/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/InfoPanelMode/Caption\",\"text\":\"条目信息面板模式\"},\"$:/language/ControlPanel/Settings/InfoPanelMode/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/InfoPanelMode/Hint\",\"text\":\"控制条目信息面板何时关闭︰\"},\"$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description\":{\"title\":\"$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description\",\"text\":\"条目信息面板自动关闭\"},\"$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description\":{\"title\":\"$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description\",\"text\":\"条目信息面板保持打开状态,直到明确关闭\"},\"$:/language/ControlPanel/Settings/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/Hint\",\"text\":\"这些高级设置让您定制 TiddlyWiki 的行为。\"},\"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption\",\"text\":\"条目开启行为\"},\"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint\",\"text\":\"从故事河//中//导航\"},\"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint\",\"text\":\"从故事河//外//导航\"},\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove\":{\"title\":\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove\",\"text\":\"开启于当前条目之上\"},\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow\":{\"title\":\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow\",\"text\":\"开启于当前条目之下\"},\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop\":{\"title\":\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop\",\"text\":\"开启于故事河的顶部\"},\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom\":{\"title\":\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom\",\"text\":\"开启于故事河的底部\"},\"$:/language/ControlPanel/Settings/MissingLinks/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/MissingLinks/Caption\",\"text\":\"维基链接\"},\"$:/language/ControlPanel/Settings/MissingLinks/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/MissingLinks/Hint\",\"text\":\"选择是否要链接到尚未存在的条目\"},\"$:/language/ControlPanel/Settings/MissingLinks/Description\":{\"title\":\"$:/language/ControlPanel/Settings/MissingLinks/Description\",\"text\":\"启用链接到佚失条目\"},\"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption\",\"text\":\"网址栏导航\"},\"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint\",\"text\":\"在浏览器网址栏导航到条目时的行为:\"},\"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description\",\"text\":\"不更新网址栏\"},\"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description\",\"text\":\"包含目标条目\"},\"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description\",\"text\":\"包括目标条目和当前已开启的条目序列\"},\"$:/language/ControlPanel/Settings/NavigationHistory/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationHistory/Caption\",\"text\":\"历史记录导航\"},\"$:/language/ControlPanel/Settings/NavigationHistory/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationHistory/Hint\",\"text\":\"当导航到条目时,更新浏览器历史记录:\"},\"$:/language/ControlPanel/Settings/NavigationHistory/No/Description\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationHistory/No/Description\",\"text\":\"不更新历史记录\"},\"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description\",\"text\":\"更新历史记录\"},\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption\",\"text\":\"引用链接/固定链接 模式\"},\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint\",\"text\":\"选择 引用链接/固定链接 的处理方式:\"},\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description\",\"text\":\"将 引用链接/固定链接 网址复制到剪贴板\"},\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description\",\"text\":\"以 引用链接/固定链接 更新网址栏\"},\"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption\",\"text\":\"性能检测\"},\"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint\",\"text\":\"在浏览器的开发人员控制台,显示性能统计数据。需要重新加载才能生效。\"},\"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description\":{\"title\":\"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description\",\"text\":\"启用性能检测\"},\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption\",\"text\":\"工具栏按钮样式\"},\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint\",\"text\":\"选择工具栏按钮的样式:\"},\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless\",\"text\":\"无边框\"},\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed\",\"text\":\"方框\"},\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded\",\"text\":\"圆形\"},\"$:/language/ControlPanel/Settings/ToolbarButtons/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtons/Caption\",\"text\":\"工具栏按钮\"},\"$:/language/ControlPanel/Settings/ToolbarButtons/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtons/Hint\",\"text\":\"默认的工具栏按钮外观:\"},\"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description\",\"text\":\"包含图标\"},\"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description\",\"text\":\"包含文本\"},\"$:/language/ControlPanel/Settings/TitleLinks/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/TitleLinks/Caption\",\"text\":\"条目标题\"},\"$:/language/ControlPanel/Settings/TitleLinks/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/TitleLinks/Hint\",\"text\":\"可选地显示条目标题为链接\"},\"$:/language/ControlPanel/Settings/TitleLinks/No/Description\":{\"title\":\"$:/language/ControlPanel/Settings/TitleLinks/No/Description\",\"text\":\"不显示条目标题为链接\"},\"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description\":{\"title\":\"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description\",\"text\":\"显示条目标题为链接\"},\"$:/language/ControlPanel/StoryTiddler/Caption\":{\"title\":\"$:/language/ControlPanel/StoryTiddler/Caption\",\"text\":\"故事条目\"},\"$:/language/ControlPanel/StoryTiddler/Hint\":{\"title\":\"$:/language/ControlPanel/StoryTiddler/Hint\",\"text\":\"此规则级联用于动态选择模板,以便在故事河中显示条目。\"},\"$:/language/ControlPanel/StoryView/Caption\":{\"title\":\"$:/language/ControlPanel/StoryView/Caption\",\"text\":\"视图模式\"},\"$:/language/ControlPanel/StoryView/Prompt\":{\"title\":\"$:/language/ControlPanel/StoryView/Prompt\",\"text\":\"当前的视图模式:\"},\"$:/language/ControlPanel/Stylesheets/Caption\":{\"title\":\"$:/language/ControlPanel/Stylesheets/Caption\",\"text\":\"样式表\"},\"$:/language/ControlPanel/Stylesheets/Expand/Caption\":{\"title\":\"$:/language/ControlPanel/Stylesheets/Expand/Caption\",\"text\":\"全部展开\"},\"$:/language/ControlPanel/Stylesheets/Hint\":{\"title\":\"$:/language/ControlPanel/Stylesheets/Hint\",\"text\":\"这是当前标签为 \u003C\u003Ctag \\\"$:/tags/Stylesheet\\\">> 的样式表条目呈现的 CSS\"},\"$:/language/ControlPanel/Stylesheets/Restore/Caption\":{\"title\":\"$:/language/ControlPanel/Stylesheets/Restore/Caption\",\"text\":\"复原\"},\"$:/language/ControlPanel/Theme/Caption\":{\"title\":\"$:/language/ControlPanel/Theme/Caption\",\"text\":\"布局主题\"},\"$:/language/ControlPanel/Theme/Prompt\":{\"title\":\"$:/language/ControlPanel/Theme/Prompt\",\"text\":\"当前的布局主题:\"},\"$:/language/ControlPanel/TiddlerColour/Caption\":{\"title\":\"$:/language/ControlPanel/TiddlerColour/Caption\",\"text\":\"条目颜色\"},\"$:/language/ControlPanel/TiddlerColour/Hint\":{\"title\":\"$:/language/ControlPanel/TiddlerColour/Hint\",\"text\":\"此规则级联用于动态地为条目选择颜色 (用于图示和关联的标签丸)。\"},\"$:/language/ControlPanel/TiddlerFields/Caption\":{\"title\":\"$:/language/ControlPanel/TiddlerFields/Caption\",\"text\":\"条目字段\"},\"$:/language/ControlPanel/TiddlerFields/Hint\":{\"title\":\"$:/language/ControlPanel/TiddlerFields/Hint\",\"text\":\"这是本维基使用中的所有条目字段(含系统条目的字段,但默认条目的字段除外)。\"},\"$:/language/ControlPanel/TiddlerIcon/Caption\":{\"title\":\"$:/language/ControlPanel/TiddlerIcon/Caption\",\"text\":\"条目图示\"},\"$:/language/ControlPanel/TiddlerIcon/Hint\":{\"title\":\"$:/language/ControlPanel/TiddlerIcon/Hint\",\"text\":\"此规则级联用于动态地为条目选择图示。\"},\"$:/language/ControlPanel/Toolbars/Caption\":{\"title\":\"$:/language/ControlPanel/Toolbars/Caption\",\"text\":\"工具栏\"},\"$:/language/ControlPanel/Toolbars/EditToolbar/Caption\":{\"title\":\"$:/language/ControlPanel/Toolbars/EditToolbar/Caption\",\"text\":\"编辑工具栏\"},\"$:/language/ControlPanel/Toolbars/EditToolbar/Hint\":{\"title\":\"$:/language/ControlPanel/Toolbars/EditToolbar/Hint\",\"text\":\"选择将显示哪些按钮于条目的编辑模式工具栏。拖放可改变顺序。\"},\"$:/language/ControlPanel/Toolbars/Hint\":{\"title\":\"$:/language/ControlPanel/Toolbars/Hint\",\"text\":\"选择将显示哪些工具栏按钮\"},\"$:/language/ControlPanel/Toolbars/PageControls/Caption\":{\"title\":\"$:/language/ControlPanel/Toolbars/PageControls/Caption\",\"text\":\"页面工具栏\"},\"$:/language/ControlPanel/Toolbars/PageControls/Hint\":{\"title\":\"$:/language/ControlPanel/Toolbars/PageControls/Hint\",\"text\":\"选择将显示哪些按钮于主页面的工具栏。拖放可改变顺序。\"},\"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption\":{\"title\":\"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption\",\"text\":\"编辑器工具栏\"},\"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint\":{\"title\":\"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint\",\"text\":\"选择将显示哪些按钮于编辑器工具栏。请注意,某些按钮只会出现在编辑某一类型的条目时。拖放可改变顺序。\"},\"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption\":{\"title\":\"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption\",\"text\":\"查看工具栏\"},\"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint\":{\"title\":\"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint\",\"text\":\"选择将显示哪些按钮于条目的视图模式工具栏。拖放可改变顺序。\"},\"$:/language/ControlPanel/Tools/Download/Full/Caption\":{\"title\":\"$:/language/ControlPanel/Tools/Download/Full/Caption\",\"text\":\"下载完整副本\"},\"$:/language/ControlPanel/ViewTemplateBody/Caption\":{\"title\":\"$:/language/ControlPanel/ViewTemplateBody/Caption\",\"text\":\"查看模板主体\"},\"$:/language/ControlPanel/ViewTemplateBody/Hint\":{\"title\":\"$:/language/ControlPanel/ViewTemplateBody/Hint\",\"text\":\"默认的查看模板使用此规则级联,动态选择模板以显示条目的主体。\"},\"$:/language/ControlPanel/ViewTemplateTitle/Caption\":{\"title\":\"$:/language/ControlPanel/ViewTemplateTitle/Caption\",\"text\":\"查看模板标题\"},\"$:/language/ControlPanel/ViewTemplateTitle/Hint\":{\"title\":\"$:/language/ControlPanel/ViewTemplateTitle/Hint\",\"text\":\"默认的查看模板使用此规则级联,动态选择模板以显示条目的标题。\"},\"$:/core/zh-Hans/readme\":{\"title\":\"$:/core/zh-Hans/readme\",\"text\":\"此插件包含 TiddlyWiki 的核心组件,包括:\\n\\n* JavaScript 代码模块\\n* 图标\\n* 创建 TiddlyWiki 的用户界面所需的模板\\n* 核心所使用的可当地语系化字串的英国英语 (''en-GB'') 翻译\\n\"},\"$:/language/Date/Long/Day/0\":{\"title\":\"$:/language/Date/Long/Day/0\",\"text\":\"周日\"},\"$:/language/Date/Long/Day/1\":{\"title\":\"$:/language/Date/Long/Day/1\",\"text\":\"周一\"},\"$:/language/Date/Long/Day/2\":{\"title\":\"$:/language/Date/Long/Day/2\",\"text\":\"周二\"},\"$:/language/Date/Long/Day/3\":{\"title\":\"$:/language/Date/Long/Day/3\",\"text\":\"周三\"},\"$:/language/Date/Long/Day/4\":{\"title\":\"$:/language/Date/Long/Day/4\",\"text\":\"周四\"},\"$:/language/Date/Long/Day/5\":{\"title\":\"$:/language/Date/Long/Day/5\",\"text\":\"周五\"},\"$:/language/Date/Long/Day/6\":{\"title\":\"$:/language/Date/Long/Day/6\",\"text\":\"周六\"},\"$:/language/Date/Long/Month/1\":{\"title\":\"$:/language/Date/Long/Month/1\",\"text\":\"一月\"},\"$:/language/Date/Long/Month/2\":{\"title\":\"$:/language/Date/Long/Month/2\",\"text\":\"二月\"},\"$:/language/Date/Long/Month/3\":{\"title\":\"$:/language/Date/Long/Month/3\",\"text\":\"三月\"},\"$:/language/Date/Long/Month/4\":{\"title\":\"$:/language/Date/Long/Month/4\",\"text\":\"四月\"},\"$:/language/Date/Long/Month/5\":{\"title\":\"$:/language/Date/Long/Month/5\",\"text\":\"五月\"},\"$:/language/Date/Long/Month/6\":{\"title\":\"$:/language/Date/Long/Month/6\",\"text\":\"六月\"},\"$:/language/Date/Long/Month/7\":{\"title\":\"$:/language/Date/Long/Month/7\",\"text\":\"七月\"},\"$:/language/Date/Long/Month/8\":{\"title\":\"$:/language/Date/Long/Month/8\",\"text\":\"八月\"},\"$:/language/Date/Long/Month/9\":{\"title\":\"$:/language/Date/Long/Month/9\",\"text\":\"九月\"},\"$:/language/Date/Long/Month/10\":{\"title\":\"$:/language/Date/Long/Month/10\",\"text\":\"十月\"},\"$:/language/Date/Long/Month/11\":{\"title\":\"$:/language/Date/Long/Month/11\",\"text\":\"十一月\"},\"$:/language/Date/Long/Month/12\":{\"title\":\"$:/language/Date/Long/Month/12\",\"text\":\"十二月\"},\"$:/language/Date/Period/am\":{\"title\":\"$:/language/Date/Period/am\",\"text\":\"上午\"},\"$:/language/Date/Period/pm\":{\"title\":\"$:/language/Date/Period/pm\",\"text\":\"下午\"},\"$:/language/Date/Short/Day/0\":{\"title\":\"$:/language/Date/Short/Day/0\",\"text\":\"日\"},\"$:/language/Date/Short/Day/1\":{\"title\":\"$:/language/Date/Short/Day/1\",\"text\":\"一\"},\"$:/language/Date/Short/Day/2\":{\"title\":\"$:/language/Date/Short/Day/2\",\"text\":\"二\"},\"$:/language/Date/Short/Day/3\":{\"title\":\"$:/language/Date/Short/Day/3\",\"text\":\"三\"},\"$:/language/Date/Short/Day/4\":{\"title\":\"$:/language/Date/Short/Day/4\",\"text\":\"四\"},\"$:/language/Date/Short/Day/5\":{\"title\":\"$:/language/Date/Short/Day/5\",\"text\":\"五\"},\"$:/language/Date/Short/Day/6\":{\"title\":\"$:/language/Date/Short/Day/6\",\"text\":\"六\"},\"$:/language/Date/Short/Month/1\":{\"title\":\"$:/language/Date/Short/Month/1\",\"text\":\"01月\"},\"$:/language/Date/Short/Month/2\":{\"title\":\"$:/language/Date/Short/Month/2\",\"text\":\"02月\"},\"$:/language/Date/Short/Month/3\":{\"title\":\"$:/language/Date/Short/Month/3\",\"text\":\"03月\"},\"$:/language/Date/Short/Month/4\":{\"title\":\"$:/language/Date/Short/Month/4\",\"text\":\"04月\"},\"$:/language/Date/Short/Month/5\":{\"title\":\"$:/language/Date/Short/Month/5\",\"text\":\"05月\"},\"$:/language/Date/Short/Month/6\":{\"title\":\"$:/language/Date/Short/Month/6\",\"text\":\"06月\"},\"$:/language/Date/Short/Month/7\":{\"title\":\"$:/language/Date/Short/Month/7\",\"text\":\"07月\"},\"$:/language/Date/Short/Month/8\":{\"title\":\"$:/language/Date/Short/Month/8\",\"text\":\"08月\"},\"$:/language/Date/Short/Month/9\":{\"title\":\"$:/language/Date/Short/Month/9\",\"text\":\"09月\"},\"$:/language/Date/Short/Month/10\":{\"title\":\"$:/language/Date/Short/Month/10\",\"text\":\"10月\"},\"$:/language/Date/Short/Month/11\":{\"title\":\"$:/language/Date/Short/Month/11\",\"text\":\"11月\"},\"$:/language/Date/Short/Month/12\":{\"title\":\"$:/language/Date/Short/Month/12\",\"text\":\"12月\"},\"$:/language/RelativeDate/Future/Days\":{\"title\":\"$:/language/RelativeDate/Future/Days\",\"text\":\"\u003C\u003Cperiod>> 天后\"},\"$:/language/RelativeDate/Future/Hours\":{\"title\":\"$:/language/RelativeDate/Future/Hours\",\"text\":\"\u003C\u003Cperiod>> 小时后\"},\"$:/language/RelativeDate/Future/Minutes\":{\"title\":\"$:/language/RelativeDate/Future/Minutes\",\"text\":\"\u003C\u003Cperiod>> 分钟后\"},\"$:/language/RelativeDate/Future/Months\":{\"title\":\"$:/language/RelativeDate/Future/Months\",\"text\":\"\u003C\u003Cperiod>> 个月后\"},\"$:/language/RelativeDate/Future/Second\":{\"title\":\"$:/language/RelativeDate/Future/Second\",\"text\":\"1 秒后\"},\"$:/language/RelativeDate/Future/Seconds\":{\"title\":\"$:/language/RelativeDate/Future/Seconds\",\"text\":\"\u003C\u003Cperiod>> 秒后\"},\"$:/language/RelativeDate/Future/Years\":{\"title\":\"$:/language/RelativeDate/Future/Years\",\"text\":\"\u003C\u003Cperiod>> 年后\"},\"$:/language/RelativeDate/Past/Days\":{\"title\":\"$:/language/RelativeDate/Past/Days\",\"text\":\"\u003C\u003Cperiod>> 天前\"},\"$:/language/RelativeDate/Past/Hours\":{\"title\":\"$:/language/RelativeDate/Past/Hours\",\"text\":\"\u003C\u003Cperiod>> 小时前\"},\"$:/language/RelativeDate/Past/Minutes\":{\"title\":\"$:/language/RelativeDate/Past/Minutes\",\"text\":\"\u003C\u003Cperiod>> 分钟前\"},\"$:/language/RelativeDate/Past/Months\":{\"title\":\"$:/language/RelativeDate/Past/Months\",\"text\":\"\u003C\u003Cperiod>> 个月前\"},\"$:/language/RelativeDate/Past/Second\":{\"title\":\"$:/language/RelativeDate/Past/Second\",\"text\":\"1 秒前\"},\"$:/language/RelativeDate/Past/Seconds\":{\"title\":\"$:/language/RelativeDate/Past/Seconds\",\"text\":\"\u003C\u003Cperiod>> 秒前\"},\"$:/language/RelativeDate/Past/Years\":{\"title\":\"$:/language/RelativeDate/Past/Years\",\"text\":\"\u003C\u003Cperiod>> 年前\"},\"$:/language/Docs/ModuleTypes/allfilteroperator\":{\"title\":\"$:/language/Docs/ModuleTypes/allfilteroperator\",\"text\":\"''all'' 筛选器算子的子算子。\"},\"$:/language/Docs/ModuleTypes/animation\":{\"title\":\"$:/language/Docs/ModuleTypes/animation\",\"text\":\"动画模块包含可用于 RevealWidget 的动画。\"},\"$:/language/Docs/ModuleTypes/authenticator\":{\"title\":\"$:/language/Docs/ModuleTypes/authenticator\",\"text\":\"定义内置 HTTP 服务器对请求的身份验证方式。\"},\"$:/language/Docs/ModuleTypes/bitmapeditoroperation\":{\"title\":\"$:/language/Docs/ModuleTypes/bitmapeditoroperation\",\"text\":\"一个位图编辑器工具栏操作。\"},\"$:/language/Docs/ModuleTypes/command\":{\"title\":\"$:/language/Docs/ModuleTypes/command\",\"text\":\"可于 Node.js 执行的指令。\"},\"$:/language/Docs/ModuleTypes/config\":{\"title\":\"$:/language/Docs/ModuleTypes/config\",\"text\":\"加入 `$tw.config` 的数据。\"},\"$:/language/Docs/ModuleTypes/filteroperator\":{\"title\":\"$:/language/Docs/ModuleTypes/filteroperator\",\"text\":\"个别筛选器算子方法。\"},\"$:/language/Docs/ModuleTypes/global\":{\"title\":\"$:/language/Docs/ModuleTypes/global\",\"text\":\"加入 `$tw` 的全域数据。\"},\"$:/language/Docs/ModuleTypes/info\":{\"title\":\"$:/language/Docs/ModuleTypes/info\",\"text\":\"透过 [[$:/temp/info-plugin]] 伪插件,发布系统信息。\"},\"$:/language/Docs/ModuleTypes/isfilteroperator\":{\"title\":\"$:/language/Docs/ModuleTypes/isfilteroperator\",\"text\":\"''is'' 筛选器算子的运算符。\"},\"$:/language/Docs/ModuleTypes/library\":{\"title\":\"$:/language/Docs/ModuleTypes/library\",\"text\":\"一般用途的 JavaScript 模块的通用模块类型。\"},\"$:/language/Docs/ModuleTypes/macro\":{\"title\":\"$:/language/Docs/ModuleTypes/macro\",\"text\":\"JavaScript ''宏''定义。\"},\"$:/language/Docs/ModuleTypes/parser\":{\"title\":\"$:/language/Docs/ModuleTypes/parser\",\"text\":\"不同内容类型的解析器。\"},\"$:/language/Docs/ModuleTypes/route\":{\"title\":\"$:/language/Docs/ModuleTypes/route\",\"text\":\"定义内置 HTTP 服务器如何处理各个网址格式。\"},\"$:/language/Docs/ModuleTypes/saver\":{\"title\":\"$:/language/Docs/ModuleTypes/saver\",\"text\":\"于浏览器保存文件的不同的保存处理方法。\"},\"$:/language/Docs/ModuleTypes/startup\":{\"title\":\"$:/language/Docs/ModuleTypes/startup\",\"text\":\"启动时期的功能函数。\"},\"$:/language/Docs/ModuleTypes/storyview\":{\"title\":\"$:/language/Docs/ModuleTypes/storyview\",\"text\":\"视图模式用以自订 list 小部件的动画与行为。\"},\"$:/language/Docs/ModuleTypes/texteditoroperation\":{\"title\":\"$:/language/Docs/ModuleTypes/texteditoroperation\",\"text\":\"一个文本编辑器工具栏操作。\"},\"$:/language/Docs/ModuleTypes/tiddlerdeserializer\":{\"title\":\"$:/language/Docs/ModuleTypes/tiddlerdeserializer\",\"text\":\"转换不同内容类型至条目。\"},\"$:/language/Docs/ModuleTypes/tiddlerfield\":{\"title\":\"$:/language/Docs/ModuleTypes/tiddlerfield\",\"text\":\"定义个别条目字段的行为。\"},\"$:/language/Docs/ModuleTypes/tiddlermethod\":{\"title\":\"$:/language/Docs/ModuleTypes/tiddlermethod\",\"text\":\"添加方法至 `$tw.Tiddler` 原型。\"},\"$:/language/Docs/ModuleTypes/upgrader\":{\"title\":\"$:/language/Docs/ModuleTypes/upgrader\",\"text\":\"于升级/导入过程中,套用升级处理至条目。\"},\"$:/language/Docs/ModuleTypes/utils\":{\"title\":\"$:/language/Docs/ModuleTypes/utils\",\"text\":\"添加方法至 `$tw.utils`。\"},\"$:/language/Docs/ModuleTypes/utils-browser\":{\"title\":\"$:/language/Docs/ModuleTypes/utils-browser\",\"text\":\"将特定于浏览器的方法添加到 `$tw.utils`。\"},\"$:/language/Docs/ModuleTypes/utils-node\":{\"title\":\"$:/language/Docs/ModuleTypes/utils-node\",\"text\":\"将特定于 Node.js 的方法添加到 `$tw.utils`。\"},\"$:/language/Docs/ModuleTypes/widget\":{\"title\":\"$:/language/Docs/ModuleTypes/widget\",\"text\":\"封装 DOM 渲染和刷新的小部件。\"},\"$:/language/Docs/ModuleTypes/wikimethod\":{\"title\":\"$:/language/Docs/ModuleTypes/wikimethod\",\"text\":\"添加方法至 `$tw.Wiki`。\"},\"$:/language/Docs/ModuleTypes/wikirule\":{\"title\":\"$:/language/Docs/ModuleTypes/wikirule\",\"text\":\"WikiText 解析器的个别的语法规则。\"},\"$:/language/Docs/PaletteColours/alert-background\":{\"title\":\"$:/language/Docs/PaletteColours/alert-background\",\"text\":\"提醒背景\"},\"$:/language/Docs/PaletteColours/alert-border\":{\"title\":\"$:/language/Docs/PaletteColours/alert-border\",\"text\":\"提醒边框\"},\"$:/language/Docs/PaletteColours/alert-highlight\":{\"title\":\"$:/language/Docs/PaletteColours/alert-highlight\",\"text\":\"提醒高亮度\"},\"$:/language/Docs/PaletteColours/alert-muted-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/alert-muted-foreground\",\"text\":\"提醒的低调前景\"},\"$:/language/Docs/PaletteColours/background\":{\"title\":\"$:/language/Docs/PaletteColours/background\",\"text\":\"一般背景\"},\"$:/language/Docs/PaletteColours/blockquote-bar\":{\"title\":\"$:/language/Docs/PaletteColours/blockquote-bar\",\"text\":\"引用条\"},\"$:/language/Docs/PaletteColours/button-background\":{\"title\":\"$:/language/Docs/PaletteColours/button-background\",\"text\":\"默认按钮背景\"},\"$:/language/Docs/PaletteColours/button-border\":{\"title\":\"$:/language/Docs/PaletteColours/button-border\",\"text\":\"默认按钮边框\"},\"$:/language/Docs/PaletteColours/button-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/button-foreground\",\"text\":\"默认按钮前景\"},\"$:/language/Docs/PaletteColours/code-background\":{\"title\":\"$:/language/Docs/PaletteColours/code-background\",\"text\":\"代码背景\"},\"$:/language/Docs/PaletteColours/code-border\":{\"title\":\"$:/language/Docs/PaletteColours/code-border\",\"text\":\"代码边框\"},\"$:/language/Docs/PaletteColours/code-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/code-foreground\",\"text\":\"代码前景\"},\"$:/language/Docs/PaletteColours/dirty-indicator\":{\"title\":\"$:/language/Docs/PaletteColours/dirty-indicator\",\"text\":\"未保存变更指示器\"},\"$:/language/Docs/PaletteColours/download-background\":{\"title\":\"$:/language/Docs/PaletteColours/download-background\",\"text\":\"下载按钮背景\"},\"$:/language/Docs/PaletteColours/download-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/download-foreground\",\"text\":\"下载按钮前景\"},\"$:/language/Docs/PaletteColours/dragger-background\":{\"title\":\"$:/language/Docs/PaletteColours/dragger-background\",\"text\":\"拖动区背景\"},\"$:/language/Docs/PaletteColours/dragger-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/dragger-foreground\",\"text\":\"拖动区前景\"},\"$:/language/Docs/PaletteColours/dropdown-background\":{\"title\":\"$:/language/Docs/PaletteColours/dropdown-background\",\"text\":\"下拉背景\"},\"$:/language/Docs/PaletteColours/dropdown-border\":{\"title\":\"$:/language/Docs/PaletteColours/dropdown-border\",\"text\":\"下拉边框\"},\"$:/language/Docs/PaletteColours/dropdown-tab-background-selected\":{\"title\":\"$:/language/Docs/PaletteColours/dropdown-tab-background-selected\",\"text\":\"选定的下拉页签背景\"},\"$:/language/Docs/PaletteColours/dropdown-tab-background\":{\"title\":\"$:/language/Docs/PaletteColours/dropdown-tab-background\",\"text\":\"下拉页签背景\"},\"$:/language/Docs/PaletteColours/dropzone-background\":{\"title\":\"$:/language/Docs/PaletteColours/dropzone-background\",\"text\":\"拖放背景\"},\"$:/language/Docs/PaletteColours/external-link-background-hover\":{\"title\":\"$:/language/Docs/PaletteColours/external-link-background-hover\",\"text\":\"悬停外部链结背景\"},\"$:/language/Docs/PaletteColours/external-link-background-visited\":{\"title\":\"$:/language/Docs/PaletteColours/external-link-background-visited\",\"text\":\"已造访过的外部链结背景\"},\"$:/language/Docs/PaletteColours/external-link-background\":{\"title\":\"$:/language/Docs/PaletteColours/external-link-background\",\"text\":\"外部链结背景\"},\"$:/language/Docs/PaletteColours/external-link-foreground-hover\":{\"title\":\"$:/language/Docs/PaletteColours/external-link-foreground-hover\",\"text\":\"悬停外部链结前景\"},\"$:/language/Docs/PaletteColours/external-link-foreground-visited\":{\"title\":\"$:/language/Docs/PaletteColours/external-link-foreground-visited\",\"text\":\"已造访过的外部链结前景\"},\"$:/language/Docs/PaletteColours/external-link-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/external-link-foreground\",\"text\":\"外部链结前景\"},\"$:/language/Docs/PaletteColours/foreground\":{\"title\":\"$:/language/Docs/PaletteColours/foreground\",\"text\":\"一般前景\"},\"$:/language/Docs/PaletteColours/menubar-background\":{\"title\":\"$:/language/Docs/PaletteColours/menubar-background\",\"text\":\"菜单列背景\"},\"$:/language/Docs/PaletteColours/menubar-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/menubar-foreground\",\"text\":\"菜单列前景\"},\"$:/language/Docs/PaletteColours/message-background\":{\"title\":\"$:/language/Docs/PaletteColours/message-background\",\"text\":\"信息框背景\"},\"$:/language/Docs/PaletteColours/message-border\":{\"title\":\"$:/language/Docs/PaletteColours/message-border\",\"text\":\"信息边框\"},\"$:/language/Docs/PaletteColours/message-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/message-foreground\",\"text\":\"信息框前景\"},\"$:/language/Docs/PaletteColours/modal-backdrop\":{\"title\":\"$:/language/Docs/PaletteColours/modal-backdrop\",\"text\":\"模块背景幕\"},\"$:/language/Docs/PaletteColours/modal-background\":{\"title\":\"$:/language/Docs/PaletteColours/modal-background\",\"text\":\"模块背景\"},\"$:/language/Docs/PaletteColours/modal-border\":{\"title\":\"$:/language/Docs/PaletteColours/modal-border\",\"text\":\"模块边框\"},\"$:/language/Docs/PaletteColours/modal-footer-background\":{\"title\":\"$:/language/Docs/PaletteColours/modal-footer-background\",\"text\":\"模块页脚背景\"},\"$:/language/Docs/PaletteColours/modal-footer-border\":{\"title\":\"$:/language/Docs/PaletteColours/modal-footer-border\",\"text\":\"模块页脚边框\"},\"$:/language/Docs/PaletteColours/modal-header-border\":{\"title\":\"$:/language/Docs/PaletteColours/modal-header-border\",\"text\":\"模块标题边框\"},\"$:/language/Docs/PaletteColours/muted-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/muted-foreground\",\"text\":\"一般低调前景\"},\"$:/language/Docs/PaletteColours/notification-background\":{\"title\":\"$:/language/Docs/PaletteColours/notification-background\",\"text\":\"通知背景\"},\"$:/language/Docs/PaletteColours/notification-border\":{\"title\":\"$:/language/Docs/PaletteColours/notification-border\",\"text\":\"通知边框\"},\"$:/language/Docs/PaletteColours/page-background\":{\"title\":\"$:/language/Docs/PaletteColours/page-background\",\"text\":\"页面背景\"},\"$:/language/Docs/PaletteColours/pre-background\":{\"title\":\"$:/language/Docs/PaletteColours/pre-background\",\"text\":\"pre 背景\"},\"$:/language/Docs/PaletteColours/pre-border\":{\"title\":\"$:/language/Docs/PaletteColours/pre-border\",\"text\":\"pre 边框\"},\"$:/language/Docs/PaletteColours/primary\":{\"title\":\"$:/language/Docs/PaletteColours/primary\",\"text\":\"主颜色\"},\"$:/language/Docs/PaletteColours/select-tag-background\":{\"title\":\"$:/language/Docs/PaletteColours/select-tag-background\",\"text\":\"`\u003Cselect>` 元素背景\"},\"$:/language/Docs/PaletteColours/select-tag-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/select-tag-foreground\",\"text\":\"`\u003Cselect>` 元素文本\"},\"$:/language/Docs/PaletteColours/sidebar-button-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-button-foreground\",\"text\":\"侧边栏按钮前景\"},\"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover\",\"text\":\"悬停侧边栏控制项前景\"},\"$:/language/Docs/PaletteColours/sidebar-controls-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-controls-foreground\",\"text\":\"侧边栏控制项前景\"},\"$:/language/Docs/PaletteColours/sidebar-foreground-shadow\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-foreground-shadow\",\"text\":\"侧边栏前景阴影\"},\"$:/language/Docs/PaletteColours/sidebar-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-foreground\",\"text\":\"侧边栏前景\"},\"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover\",\"text\":\"悬停侧边栏低调前景\"},\"$:/language/Docs/PaletteColours/sidebar-muted-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-muted-foreground\",\"text\":\"侧边栏低调前景\"},\"$:/language/Docs/PaletteColours/sidebar-tab-background-selected\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tab-background-selected\",\"text\":\"侧边栏选定页签背景\"},\"$:/language/Docs/PaletteColours/sidebar-tab-background\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tab-background\",\"text\":\"侧边栏页签背景\"},\"$:/language/Docs/PaletteColours/sidebar-tab-border-selected\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tab-border-selected\",\"text\":\"侧边栏选定页签边框\"},\"$:/language/Docs/PaletteColours/sidebar-tab-border\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tab-border\",\"text\":\"侧边栏页签边框\"},\"$:/language/Docs/PaletteColours/sidebar-tab-divider\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tab-divider\",\"text\":\"侧边栏页签分隔线\"},\"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected\",\"text\":\"侧边栏选定页签前景\"},\"$:/language/Docs/PaletteColours/sidebar-tab-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tab-foreground\",\"text\":\"侧边栏页签前景\"},\"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover\",\"text\":\"侧边栏悬停条目链结前景\"},\"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground\",\"text\":\"侧边栏条目链结前景\"},\"$:/language/Docs/PaletteColours/site-title-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/site-title-foreground\",\"text\":\"网站标题前景\"},\"$:/language/Docs/PaletteColours/static-alert-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/static-alert-foreground\",\"text\":\"静态提醒前景\"},\"$:/language/Docs/PaletteColours/tab-background-selected\":{\"title\":\"$:/language/Docs/PaletteColours/tab-background-selected\",\"text\":\"选定的页签背景\"},\"$:/language/Docs/PaletteColours/tab-background\":{\"title\":\"$:/language/Docs/PaletteColours/tab-background\",\"text\":\"页签背景\"},\"$:/language/Docs/PaletteColours/tab-border-selected\":{\"title\":\"$:/language/Docs/PaletteColours/tab-border-selected\",\"text\":\"选定的页签边框\"},\"$:/language/Docs/PaletteColours/tab-border\":{\"title\":\"$:/language/Docs/PaletteColours/tab-border\",\"text\":\"页签边框\"},\"$:/language/Docs/PaletteColours/tab-divider\":{\"title\":\"$:/language/Docs/PaletteColours/tab-divider\",\"text\":\"页签分隔线\"},\"$:/language/Docs/PaletteColours/tab-foreground-selected\":{\"title\":\"$:/language/Docs/PaletteColours/tab-foreground-selected\",\"text\":\"选定的页签前景\"},\"$:/language/Docs/PaletteColours/tab-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/tab-foreground\",\"text\":\"页签前景\"},\"$:/language/Docs/PaletteColours/table-border\":{\"title\":\"$:/language/Docs/PaletteColours/table-border\",\"text\":\"表格边框\"},\"$:/language/Docs/PaletteColours/table-footer-background\":{\"title\":\"$:/language/Docs/PaletteColours/table-footer-background\",\"text\":\"表格页脚背景\"},\"$:/language/Docs/PaletteColours/table-header-background\":{\"title\":\"$:/language/Docs/PaletteColours/table-header-background\",\"text\":\"表格标题背景\"},\"$:/language/Docs/PaletteColours/tag-background\":{\"title\":\"$:/language/Docs/PaletteColours/tag-background\",\"text\":\"标签背景\"},\"$:/language/Docs/PaletteColours/tag-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/tag-foreground\",\"text\":\"标签前景\"},\"$:/language/Docs/PaletteColours/tiddler-background\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-background\",\"text\":\"条目背景\"},\"$:/language/Docs/PaletteColours/tiddler-border\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-border\",\"text\":\"条目边框\"},\"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover\",\"text\":\"悬停的条目控制项前景\"},\"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected\",\"text\":\"选定的条目控制项前景\"},\"$:/language/Docs/PaletteColours/tiddler-controls-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-controls-foreground\",\"text\":\"条目控制项前景\"},\"$:/language/Docs/PaletteColours/tiddler-editor-background\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-editor-background\",\"text\":\"条目编辑器背景\"},\"$:/language/Docs/PaletteColours/tiddler-editor-border-image\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-editor-border-image\",\"text\":\"条目编辑器边框图片\"},\"$:/language/Docs/PaletteColours/tiddler-editor-border\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-editor-border\",\"text\":\"条目编辑器边框\"},\"$:/language/Docs/PaletteColours/tiddler-editor-fields-even\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-editor-fields-even\",\"text\":\"条目编辑器中偶数字段背景\"},\"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd\",\"text\":\"条目编辑器中奇数字段背景\"},\"$:/language/Docs/PaletteColours/tiddler-info-background\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-info-background\",\"text\":\"条目信息面板背景\"},\"$:/language/Docs/PaletteColours/tiddler-info-border\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-info-border\",\"text\":\"条目信息面板边框\"},\"$:/language/Docs/PaletteColours/tiddler-info-tab-background\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-info-tab-background\",\"text\":\"条目信息面板页签背景\"},\"$:/language/Docs/PaletteColours/tiddler-link-background\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-link-background\",\"text\":\"条目链结背景\"},\"$:/language/Docs/PaletteColours/tiddler-link-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-link-foreground\",\"text\":\"条目链结前景\"},\"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground\",\"text\":\"条目副标题前景\"},\"$:/language/Docs/PaletteColours/tiddler-title-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-title-foreground\",\"text\":\"条目标题前景\"},\"$:/language/Docs/PaletteColours/toolbar-new-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-new-button\",\"text\":\"工具栏 '添加条目' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-options-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-options-button\",\"text\":\"工具栏 '选项' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-save-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-save-button\",\"text\":\"工具栏 '保存' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-info-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-info-button\",\"text\":\"工具栏 '资讯' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-edit-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-edit-button\",\"text\":\"工具栏 '编辑' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-close-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-close-button\",\"text\":\"工具栏 '关闭' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-delete-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-delete-button\",\"text\":\"工具栏 '删除' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-cancel-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-cancel-button\",\"text\":\"工具栏 '取消' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-done-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-done-button\",\"text\":\"工具栏 '完成 按钮前景\"},\"$:/language/Docs/PaletteColours/untagged-background\":{\"title\":\"$:/language/Docs/PaletteColours/untagged-background\",\"text\":\"未设标签的背景\"},\"$:/language/Docs/PaletteColours/very-muted-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/very-muted-foreground\",\"text\":\"非常低调前景\"},\"$:/language/EditTemplate/Caption\":{\"title\":\"$:/language/EditTemplate/Caption\",\"text\":\"编辑器\"},\"$:/language/EditTemplate/Body/External/Hint\":{\"title\":\"$:/language/EditTemplate/Body/External/Hint\",\"text\":\"此条目显示保存于主要的 TiddlyWiki 文件之外的内容。你可以编辑其标签和字段,但不能直接编辑内容本身\"},\"$:/language/EditTemplate/Body/Placeholder\":{\"title\":\"$:/language/EditTemplate/Body/Placeholder\",\"text\":\"输入此条目的内容\"},\"$:/language/EditTemplate/Body/Preview/Type/Output\":{\"title\":\"$:/language/EditTemplate/Body/Preview/Type/Output\",\"text\":\"输出\"},\"$:/language/EditTemplate/Body/Preview/Type/DiffShadow\":{\"title\":\"$:/language/EditTemplate/Body/Preview/Type/DiffShadow\",\"text\":\"与影子条目的差异(如果有)\"},\"$:/language/EditTemplate/Body/Preview/Type/DiffCurrent\":{\"title\":\"$:/language/EditTemplate/Body/Preview/Type/DiffCurrent\",\"text\":\"与当前条目的差异\"},\"$:/language/EditTemplate/Field/Remove/Caption\":{\"title\":\"$:/language/EditTemplate/Field/Remove/Caption\",\"text\":\"删除字段\"},\"$:/language/EditTemplate/Field/Remove/Hint\":{\"title\":\"$:/language/EditTemplate/Field/Remove/Hint\",\"text\":\"删除字段\"},\"$:/language/EditTemplate/Field/Dropdown/Caption\":{\"title\":\"$:/language/EditTemplate/Field/Dropdown/Caption\",\"text\":\"字段列表\"},\"$:/language/EditTemplate/Field/Dropdown/Hint\":{\"title\":\"$:/language/EditTemplate/Field/Dropdown/Hint\",\"text\":\"显示字段列表\"},\"$:/language/EditTemplate/Fields/Add/Button\":{\"title\":\"$:/language/EditTemplate/Fields/Add/Button\",\"text\":\"添加\"},\"$:/language/EditTemplate/Fields/Add/Button/Hint\":{\"title\":\"$:/language/EditTemplate/Fields/Add/Button/Hint\",\"text\":\"添加字段至条目\"},\"$:/language/EditTemplate/Fields/Add/Dropdown/System\":{\"title\":\"$:/language/EditTemplate/Fields/Add/Dropdown/System\",\"text\":\"系统字段\"},\"$:/language/EditTemplate/Fields/Add/Dropdown/User\":{\"title\":\"$:/language/EditTemplate/Fields/Add/Dropdown/User\",\"text\":\"使用者字段\"},\"$:/language/EditTemplate/Fields/Add/Name/Placeholder\":{\"title\":\"$:/language/EditTemplate/Fields/Add/Name/Placeholder\",\"text\":\"字段名称\"},\"$:/language/EditTemplate/Fields/Add/Prompt\":{\"title\":\"$:/language/EditTemplate/Fields/Add/Prompt\",\"text\":\"添加字段:\"},\"$:/language/EditTemplate/Fields/Add/Value/Placeholder\":{\"title\":\"$:/language/EditTemplate/Fields/Add/Value/Placeholder\",\"text\":\"字段内容\"},\"$:/language/EditTemplate/Shadow/Warning\":{\"title\":\"$:/language/EditTemplate/Shadow/Warning\",\"text\":\"这是一个默认条目。您做的任何更改将会覆盖来自 \u003C\u003CpluginLink>> 插件的默认版本。\"},\"$:/language/EditTemplate/Shadow/OverriddenWarning\":{\"title\":\"$:/language/EditTemplate/Shadow/OverriddenWarning\",\"text\":\"这是一个修改过的默认条目。删除此条目可以还原为 \u003C\u003CpluginLink>> 插件中的默认版本。\"},\"$:/language/EditTemplate/Tags/Add/Button\":{\"title\":\"$:/language/EditTemplate/Tags/Add/Button\",\"text\":\"添加\"},\"$:/language/EditTemplate/Tags/Add/Button/Hint\":{\"title\":\"$:/language/EditTemplate/Tags/Add/Button/Hint\",\"text\":\"添加标签\"},\"$:/language/EditTemplate/Tags/Add/Placeholder\":{\"title\":\"$:/language/EditTemplate/Tags/Add/Placeholder\",\"text\":\"标签名称\"},\"$:/language/EditTemplate/Tags/ClearInput/Caption\":{\"title\":\"$:/language/EditTemplate/Tags/ClearInput/Caption\",\"text\":\"清除输入\"},\"$:/language/EditTemplate/Tags/ClearInput/Hint\":{\"title\":\"$:/language/EditTemplate/Tags/ClearInput/Hint\",\"text\":\"清除标签输入\"},\"$:/language/EditTemplate/Tags/Dropdown/Caption\":{\"title\":\"$:/language/EditTemplate/Tags/Dropdown/Caption\",\"text\":\"标签清单\"},\"$:/language/EditTemplate/Tags/Dropdown/Hint\":{\"title\":\"$:/language/EditTemplate/Tags/Dropdown/Hint\",\"text\":\"显示标签清单\"},\"$:/language/EditTemplate/Title/BadCharacterWarning\":{\"title\":\"$:/language/EditTemplate/Title/BadCharacterWarning\",\"text\":\"请注意,避免在条目名称中使用这些字符:\u003C\u003Cbad-chars>>\"},\"$:/language/EditTemplate/Title/Exists/Prompt\":{\"title\":\"$:/language/EditTemplate/Title/Exists/Prompt\",\"text\":\"目标条目已经存在\"},\"$:/language/EditTemplate/Title/Relink/Prompt\":{\"title\":\"$:/language/EditTemplate/Title/Relink/Prompt\",\"text\":\"将在其他条目的 //tags// 和 //list// 字段中的 ''\u003C$text text=\u003C\u003CfromTitle>>/>'' 改为 ''\u003C$text text=\u003C\u003CtoTitle>>/>''\"},\"$:/language/EditTemplate/Title/References/Prompt\":{\"title\":\"$:/language/EditTemplate/Title/References/Prompt\",\"text\":\"下列对此条目的引用,不会自动更新:\"},\"$:/language/EditTemplate/Type/Dropdown/Caption\":{\"title\":\"$:/language/EditTemplate/Type/Dropdown/Caption\",\"text\":\"内容类型清单\"},\"$:/language/EditTemplate/Type/Dropdown/Hint\":{\"title\":\"$:/language/EditTemplate/Type/Dropdown/Hint\",\"text\":\"显示内容类型清单\"},\"$:/language/EditTemplate/Type/Delete/Caption\":{\"title\":\"$:/language/EditTemplate/Type/Delete/Caption\",\"text\":\"删除内容类型\"},\"$:/language/EditTemplate/Type/Delete/Hint\":{\"title\":\"$:/language/EditTemplate/Type/Delete/Hint\",\"text\":\"删除内容类型\"},\"$:/language/EditTemplate/Type/Placeholder\":{\"title\":\"$:/language/EditTemplate/Type/Placeholder\",\"text\":\"内容类型\"},\"$:/language/EditTemplate/Type/Prompt\":{\"title\":\"$:/language/EditTemplate/Type/Prompt\",\"text\":\"类型:\"},\"$:/language/Exporters/StaticRiver\":{\"title\":\"$:/language/Exporters/StaticRiver\",\"text\":\"静态 HTML\"},\"$:/language/Exporters/JsonFile\":{\"title\":\"$:/language/Exporters/JsonFile\",\"text\":\"JSON 文件\"},\"$:/language/Exporters/CsvFile\":{\"title\":\"$:/language/Exporters/CsvFile\",\"text\":\"CSV 文件\"},\"$:/language/Exporters/TidFile\":{\"title\":\"$:/language/Exporters/TidFile\",\"text\":\"TID 文本文件\"},\"$:/language/Docs/Fields/_canonical_uri\":{\"title\":\"$:/language/Docs/Fields/_canonical_uri\",\"text\":\"外部图像条目的完整的 URI\"},\"$:/language/Docs/Fields/author\":{\"title\":\"$:/language/Docs/Fields/author\",\"text\":\"一个插件作者的姓名\"},\"$:/language/Docs/Fields/bag\":{\"title\":\"$:/language/Docs/Fields/bag\",\"text\":\"条目的来源集的名称\"},\"$:/language/Docs/Fields/caption\":{\"title\":\"$:/language/Docs/Fields/caption\",\"text\":\"显示于页签或按钮上的标题文字\"},\"$:/language/Docs/Fields/code-body\":{\"title\":\"$:/language/Docs/Fields/code-body\",\"text\":\"若设置为 ''yes'',视图模板将以程式码形式显示条目\"},\"$:/language/Docs/Fields/color\":{\"title\":\"$:/language/Docs/Fields/color\",\"text\":\"条目的 CSS 颜色值\"},\"$:/language/Docs/Fields/component\":{\"title\":\"$:/language/Docs/Fields/component\",\"text\":\"负责[[提醒条目|AlertMechanism]]的组件名称\"},\"$:/language/Docs/Fields/core-version\":{\"title\":\"$:/language/Docs/Fields/core-version\",\"text\":\"对于一个插件,表示与其兼容的 TiddlyWiki 版本\"},\"$:/language/Docs/Fields/created\":{\"title\":\"$:/language/Docs/Fields/created\",\"text\":\"条目的创建日期\"},\"$:/language/Docs/Fields/creator\":{\"title\":\"$:/language/Docs/Fields/creator\",\"text\":\"条目的创建者\"},\"$:/language/Docs/Fields/current-tiddler\":{\"title\":\"$:/language/Docs/Fields/current-tiddler\",\"text\":\"用于缓存[[浏览历史列表|HistoryMechanism]]的最上层条目\"},\"$:/language/Docs/Fields/dependents\":{\"title\":\"$:/language/Docs/Fields/dependents\",\"text\":\"插件的依赖插件列表\"},\"$:/language/Docs/Fields/description\":{\"title\":\"$:/language/Docs/Fields/description\",\"text\":\"插件的说明、描述\"},\"$:/language/Docs/Fields/draft.of\":{\"title\":\"$:/language/Docs/Fields/draft.of\",\"text\":\"草稿条目,包含条目的标题、标签、字段 ...\"},\"$:/language/Docs/Fields/draft.title\":{\"title\":\"$:/language/Docs/Fields/draft.title\",\"text\":\"草稿条目的标题\"},\"$:/language/Docs/Fields/footer\":{\"title\":\"$:/language/Docs/Fields/footer\",\"text\":\"互动窗口的注脚\"},\"$:/language/Docs/Fields/hide-body\":{\"title\":\"$:/language/Docs/Fields/hide-body\",\"text\":\"若设置为 ''yes'',视图模板将隐藏条目的主体\"},\"$:/language/Docs/Fields/icon\":{\"title\":\"$:/language/Docs/Fields/icon\",\"text\":\"条目的标题含有与条目关联的图标\"},\"$:/language/Docs/Fields/library\":{\"title\":\"$:/language/Docs/Fields/library\",\"text\":\"若设置为 ''yes'',表示条目应该被保存为一个 JavaScript 程序库\"},\"$:/language/Docs/Fields/list\":{\"title\":\"$:/language/Docs/Fields/list\",\"text\":\"条目的列表,指定一些条目的标题清单\"},\"$:/language/Docs/Fields/list-before\":{\"title\":\"$:/language/Docs/Fields/list-before\",\"text\":\"前条目名称将被添加到条目排序清单中的设置条目名称之前,或若此字段存在但是空的,则被添加于清单的前端\"},\"$:/language/Docs/Fields/list-after\":{\"title\":\"$:/language/Docs/Fields/list-after\",\"text\":\"当前条目名称将被添加到条目排序清单的设置条目名称之后,或若此字段存在但是空的,则被添加于清单的尾端\"},\"$:/language/Docs/Fields/modified\":{\"title\":\"$:/language/Docs/Fields/modified\",\"text\":\"条目的最近修改日期与时间\"},\"$:/language/Docs/Fields/modifier\":{\"title\":\"$:/language/Docs/Fields/modifier\",\"text\":\"条目的最近修改者\"},\"$:/language/Docs/Fields/module-type\":{\"title\":\"$:/language/Docs/Fields/module-type\",\"text\":\"对于 javascript 条目,指定其为何种模组\"},\"$:/language/Docs/Fields/name\":{\"title\":\"$:/language/Docs/Fields/name\",\"text\":\"具可读性的插件条目的名称\"},\"$:/language/Docs/Fields/parent-plugin\":{\"title\":\"$:/language/Docs/Fields/parent-plugin\",\"text\":\"对于一个插件,指定其为哪个插件的子插件\"},\"$:/language/Docs/Fields/plugin-priority\":{\"title\":\"$:/language/Docs/Fields/plugin-priority\",\"text\":\"插件条目的优先级数值\"},\"$:/language/Docs/Fields/plugin-type\":{\"title\":\"$:/language/Docs/Fields/plugin-type\",\"text\":\"插件条目的类型\"},\"$:/language/Docs/Fields/released\":{\"title\":\"$:/language/Docs/Fields/released\",\"text\":\"TiddlyWiki 的发布日期\"},\"$:/language/Docs/Fields/revision\":{\"title\":\"$:/language/Docs/Fields/revision\",\"text\":\"条目存放于服务器中的修订版本\"},\"$:/language/Docs/Fields/source\":{\"title\":\"$:/language/Docs/Fields/source\",\"text\":\"条目的网址\"},\"$:/language/Docs/Fields/subtitle\":{\"title\":\"$:/language/Docs/Fields/subtitle\",\"text\":\"互动窗口的副标题\"},\"$:/language/Docs/Fields/tags\":{\"title\":\"$:/language/Docs/Fields/tags\",\"text\":\"条目的标签清单\"},\"$:/language/Docs/Fields/text\":{\"title\":\"$:/language/Docs/Fields/text\",\"text\":\"条目的内文\"},\"$:/language/Docs/Fields/throttle.refresh\":{\"title\":\"$:/language/Docs/Fields/throttle.refresh\",\"text\":\"如果存在,则限制此条目的刷新\"},\"$:/language/Docs/Fields/title\":{\"title\":\"$:/language/Docs/Fields/title\",\"text\":\"条目的唯一名称\"},\"$:/language/Docs/Fields/toc-link\":{\"title\":\"$:/language/Docs/Fields/toc-link\",\"text\":\"若设置为 ''no'',则抑制目录树中的条目链接。\"},\"$:/language/Docs/Fields/type\":{\"title\":\"$:/language/Docs/Fields/type\",\"text\":\"条目的内容类型\"},\"$:/language/Docs/Fields/version\":{\"title\":\"$:/language/Docs/Fields/version\",\"text\":\"插件的版本信息\"},\"$:/language/Docs/Fields/_is_skinny\":{\"title\":\"$:/language/Docs/Fields/_is_skinny\",\"text\":\"如果存在,则表示必须从服务器加载条目的文本字段\"},\"$:/language/Filters/AllTiddlers\":{\"title\":\"$:/language/Filters/AllTiddlers\",\"text\":\"所有条目,不含系统条目\"},\"$:/language/Filters/RecentSystemTiddlers\":{\"title\":\"$:/language/Filters/RecentSystemTiddlers\",\"text\":\"最近修改的条目,包含系统条目\"},\"$:/language/Filters/RecentTiddlers\":{\"title\":\"$:/language/Filters/RecentTiddlers\",\"text\":\"最近修改的条目\"},\"$:/language/Filters/AllTags\":{\"title\":\"$:/language/Filters/AllTags\",\"text\":\"所有标签,不含系统标签\"},\"$:/language/Filters/Missing\":{\"title\":\"$:/language/Filters/Missing\",\"text\":\"缺失条目\"},\"$:/language/Filters/Drafts\":{\"title\":\"$:/language/Filters/Drafts\",\"text\":\"草稿条目\"},\"$:/language/Filters/Orphans\":{\"title\":\"$:/language/Filters/Orphans\",\"text\":\"孤立条目\"},\"$:/language/Filters/SystemTiddlers\":{\"title\":\"$:/language/Filters/SystemTiddlers\",\"text\":\"系统条目\"},\"$:/language/Filters/ShadowTiddlers\":{\"title\":\"$:/language/Filters/ShadowTiddlers\",\"text\":\"默认条目\"},\"$:/language/Filters/OverriddenShadowTiddlers\":{\"title\":\"$:/language/Filters/OverriddenShadowTiddlers\",\"text\":\"被覆盖的默认条目\"},\"$:/language/Filters/SessionTiddlers\":{\"title\":\"$:/language/Filters/SessionTiddlers\",\"text\":\"自维基加载后修改的条目\"},\"$:/language/Filters/SystemTags\":{\"title\":\"$:/language/Filters/SystemTags\",\"text\":\"系统标签\"},\"$:/language/Filters/StoryList\":{\"title\":\"$:/language/Filters/StoryList\",\"text\":\"故事河中的条目,不含 ~$:/AdvancedSearch\"},\"$:/language/Filters/TypedTiddlers\":{\"title\":\"$:/language/Filters/TypedTiddlers\",\"text\":\"非维基文字条目\"},\"GettingStarted\":{\"title\":\"GettingStarted\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Basics/\\n\\n欢迎来到 ~TiddlyWiki 和 ~TiddlyWiki 社区\\n\\n开始在 ~TiddlyWiki 中存储重要信息之前,确保能够可靠地保存更改很重要。详情见 https://tiddlywiki.com/#GettingStarted\\n\\n!! 设置此 ~TiddlyWiki\\n\\n\u003Cdiv class=\\\"tc-control-panel\\\">\\n\\n|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k\\n| \u003C$link to=\\\"$:/SiteTitle\\\">\u003C\u003Clingo Title/Prompt>>\u003C/$link>|\u003C$edit-text tiddler=\\\"$:/SiteTitle\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n| \u003C$link to=\\\"$:/SiteSubtitle\\\">\u003C\u003Clingo Subtitle/Prompt>>\u003C/$link>|\u003C$edit-text tiddler=\\\"$:/SiteSubtitle\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|^ \u003C$link to=\\\"$:/DefaultTiddlers\\\">\u003C\u003Clingo DefaultTiddlers/Prompt>>\u003C/$link>\u003Cbr>\u003C\u003Clingo DefaultTiddlers/TopHint>>|\u003C$edit tag=\\\"textarea\\\" tiddler=\\\"$:/DefaultTiddlers\\\"/>\u003Cbr>//\u003C\u003Clingo DefaultTiddlers/BottomHint>>// |\\n\u003C/div>\\n\\n可在[[控制台|$:/ControlPanel]]查看更多选项。\"},\"$:/language/Help/build\":{\"title\":\"$:/language/Help/build\",\"description\":\"自动执行已配置的命令\",\"text\":\"生成指定的生成目标为当前 wiki。若未指定任何生成目标,则生成所有可用的目标。\\n\\n```\\n--build \u003Ctarget> [\u003Ctarget> ...]\\n```\\n\\n生成目标在 wiki 文件夹的 `tiddlywiki.info` 文件中定义。\\n\"},\"$:/language/Help/clearpassword\":{\"title\":\"$:/language/Help/clearpassword\",\"description\":\"清除用于后续加密的密码\",\"text\":\"清除用于后续加密的密码\\n\\n```\\n--clearpassword\\n```\\n\"},\"$:/language/Help/commands\":{\"title\":\"$:/language/Help/commands\",\"description\":\"运行从筛选器传回的命令\",\"text\":\"按顺序运行从筛选器传回的命令符记\\n\\n```\\n--commands \u003Cfilter>\\n```\\n\\n示例\\n\\n```\\n--commands \\\"[enlist:raw{$:/build-commands-as-text}]\\\"\\n```\\n\\n```\\n--commands \\\"[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget\u003CcurrentTiddler>]\\\"\\n```\\n\"},\"$:/language/Help/default\":{\"title\":\"$:/language/Help/default\",\"text\":\"\\\\define commandTitle()\\n$:/language/Help/$(command)$\\n\\\\end\\n\\\\whitespace trim\\n```\\n用法: tiddlywiki [\u003Cwikifolder>] [--\u003Ccommand> [\u003Cargs>...]...]\\n```\\n\\n可用的命令:\\n\\n\u003Cul>\\n\u003C$list filter=\\\"[commands[]sort[title]]\\\" variable=\\\"command\\\">\\n\u003Cli>\u003C$link to=\u003C\u003CcommandTitle>>>\u003C$macrocall $name=\\\"command\\\" $type=\\\"text/plain\\\" $output=\\\"text/plain\\\"/>\u003C/$link>:\\n \\n\u003C$transclude tiddler=\u003C\u003CcommandTitle>> field=\\\"description\\\"/>\u003C/li>\\n\u003C/$list>\\n\u003C/ul>\\n\\n取得关于某个命令的详细帮助:\\n\\n```\\ntiddlywiki --help \u003Ccommand>\\n```\\n\"},\"$:/language/Help/deletetiddlers\":{\"title\":\"$:/language/Help/deletetiddlers\",\"description\":\"删除一组条目\",\"text\":\"\u003C\u003C.from-version \\\"5.1.20\\\">> 删除由筛选器标识的一组条目。\\n\\n```\\n--deletetiddlers \u003Cfilter>\\n```\\n\"},\"$:/language/Help/editions\":{\"title\":\"$:/language/Help/editions\",\"description\":\"列出可用的 TiddlyWiki 版本\",\"text\":\"列出可用版本的名称和描述。您可以用 `--init` 命令创建一个指定版本的新维基。\\n\\n```\\n--editions\\n```\\n\"},\"$:/language/Help/fetch\":{\"title\":\"$:/language/Help/fetch\",\"description\":\"通过网址从维基提取条目\",\"text\":\"通过 HTTP/HTTPS 提取一个或多个文件,并导入匹配筛选器的条目,可选的转换传入的名称。\\n\\n```\\n--fetch file \u003Curl> \u003Cimport-filter> \u003Ctransform-filter>\\n--fetch files \u003Curl-filter> \u003Cimport-filter> \u003Ctransform-filter>\\n--fetch raw-file \u003Curl> \u003Ctransform-filter>\\n--fetch raw-files \u003Curl-filter> \u003Ctransform-filter>\\n```\\n\\n \\\"file\\\" 和 \\\"files\\\" 选项提取指定的文件,并尝试导入其中的条目(与将文件拖动到浏览器视窗中的处理相同)。 \\\"raw-file\\\" 和 \\\"raw-files\\\" 变选项提取指定的文件,并将原始文件资料存储于条目,而不套用导入逻辑。\\n\\n使用 \\\"file\\\" and \\\"raw-file\\\" 选项为仅提取单个文件,且第一个参数为要读取文件的网址。\\n\\n使用 \\\"files\\\" 和 \\\"raw-files\\\" 选项为提取多个文件,且第一个参数是一个产生要读取文件的网址清单的筛选器。例如,给定标签为 \\\"remote-server\\\" 的一组具有字段 \\\"url\\\" 的条目,筛选器 `[tag[remote-server]get[url]]` 将取回所有可用的网址。\\n\\n对于 \\\"file\\\" 和 \\\"files\\\" 选项,the `\u003Cimport-filter>` 参数指定一个筛选器,用于确定要导入哪些条目。如果未提供,则默认为 `[all[tiddlers]]`。\\n\\n对于所有选项,`\u003Ctransform-filter>` 参数指定一个可选的筛选器,用于转换导入条目的名称。例如,`[addprefix[$:/myimports/]]` 会将前缀 `$:/myimports/` 加至每个名称。\\n\\n于 `--fetch` 之前使用 `--verbose` 命令,将在导入期间输出进度信息。\\n\\n请注意,TiddlyWiki 不会提取一个已经加载插件的旧版本。\\n\\n以下示例从 https://tiddlywiki.com 取回所有非系统条目,并将其保存到一个 JSON 文件:\\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\\n以下范例从 https://tiddlywiki.com 取回 \\\"favicon\\\" 文件,并将其保存在名为 \\\"output.ico\\\" 的文件中。请注意,在 \\\"--fetch\\\" 命令中引用的中间条目 \\\"Icon Tiddler\\\",因为它被用作转换筛选器来替换预设的名称,而 \\\"--savetiddler\\\" 命令没有引号,因为它是直接用作标题。\\n\\n```\\ntiddlywiki --verbose --fetch raw-file \\\"https://tiddlywiki.com/favicon.ico\\\" \\\"[[Icon Tiddler]]\\\" --savetiddler \\\"Icon Tiddler\\\" output.ico\\n```\\n\"},\"$:/language/Help/help\":{\"title\":\"$:/language/Help/help\",\"description\":\"显示 TiddlyWiki 命令的说明\",\"text\":\"显示命令的帮助文本:\\n\\n```\\n--help [\u003Ccommand>]\\n```\\n\\n若省略命令名称,则显示可用命令的清单。\\n\"},\"$:/language/Help/import\":{\"title\":\"$:/language/Help/import\",\"description\":\"从文件导入条目\",\"text\":\"从 TiddlyWiki 文件 (`.html`)、`.tiddler`、`.tid`、`.json` 或其他本机文件导入条目。必须明确指定解串器,而不像 load 命令,从文件扩展名推断解串器。\\n\\n```\\n--import \u003Cfilepath> \u003Cdeserializer> [\u003Ctitle>] [\u003Cencoding>]\\n```\\n\\n核心的解串器包括:\\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\\n导入的条目名称,默认为文件名。\\n\\n编码默认为 \\\"utf8\\\",但用于导入二进制文件可以是 \\\"base64\\\"。\\n\\n请注意,TiddlyWiki 不会导入旧版本的已加载插件。\\n\"},\"$:/language/Help/init\":{\"title\":\"$:/language/Help/init\",\"description\":\"初始化一个新的 wiki 文件夹\",\"text\":\"初始化一个空的 [[WikiFolder|WikiFolders]] 的指定版本的副本。\\n\\n```\\n--init \u003Cedition> [\u003Cedition> ...]\\n```\\n\\n例如:\\n\\n```\\ntiddlywiki ./MyWikiFolder --init empty\\n```\\n\\n注意:\\n\\n* 若有需要,将创建 wiki 文件夹目录\\n* 其中 \\\"edition\\\" 默认为 ''empty''\\n* 若 wiki 文件夹不是空的,则初始化命令将失败\\n* 初始化命令会删除 'tiddlywiki.info' 文件内所有 'includeWikis' 的定义。\\n* 当指定多个版本时,这些版本于初始化后,将覆盖早期版本共用的所有文件 (故此最终的 `tiddlywiki.info` 文件将是从最近的版本复制而得)\\n* `--editions` 传回所有可用版本的清单。\\n\"},\"$:/language/Help/listen\":{\"title\":\"$:/language/Help/listen\",\"description\":\"为 TiddlyWiki 提供一个 HTTP 服务器接口\",\"text\":\"通过 HTTP 提供一个维基服务。\\n\\nlisten 命令使用[[命名的命令参数|NamedCommandParameters]]:\\n\\n```\\n--listen [\u003Cname>=\u003Cvalue>]...\\n```\\n\\n所有参数都是可选的, 具有安全的默认值, 可以按任意顺序指定。认可的参数有:\\n\\n* ''host'' - 可选的主机名称, (默认为 \\\"127.0.0.1\\\" 或名为 \\\"localhost\\\")\\n* ''path-prefix'' - 可选的路径前缀\\n* ''port'' - 侦听的埠号;非数值会被解译为一个系统环境变数,从其中提取埠号 (默认为 \\\"8080\\\")\\n* ''credentials'' - 凭证 CSV 文件的路径名(相对于维基文件夹)\\n* ''anon-username'' - 匿名用户的编辑署名\\n* ''username'' - 可选的基础验证用户名称\\n* ''password'' - 可选的基础验证密码\\n* ''authenticated-user-header'' - 可选的请求标头名称,用于受信任身份验证\\n* ''readers'' - 允许读取此维基,以逗号分隔的用户名称的清单\\n* ''writers'' - 允许写入此维基,以逗号分隔的用户名称的清单\\n* ''csrf-disable'' - 设置为 \\\"yes\\\" 以禁用 CSRF 检查 (默认为 \\\"no\\\")\\n* ''sse-enabled'' - 设置为 \\\"yes\\\" 以启用服务器传送的事件 (默认为 \\\"no\\\")\\n* ''root-tiddler'' - 服务的基础条目 (默认为 \\\"$:/core/save/all\\\")\\n* ''root-render-type'' - 呈现的基础条目的内容类型 (默认为 \\\"text/plain\\\")\\n* ''root-serve-type'' - 服务的基础条目的内容类型 (默认为 \\\"text/html\\\")\\n* ''tls-cert'' - TLS 证书文件的路径名(相对于维基文件夹)\\n* ''tls-key'' - TLS 密钥文件的路径名(相对于维基文件夹)\\n* ''debug-level'' - 可选的调试级别;设置为 \\\"debug\\\" 来查看请求的详细信息;(默认为 \\\"none\\\")\\n* ''gzip'' - 设为 \\\"yes\\\" 以启用某些 http 端点的 gzip 压缩 (默认为 \\\"no\\\")\\n* ''use-browser-cache'' - 设置为 \\\"yes\\\" 允许浏览器缓存响应,以节省带宽(默认为 \\\"no\\\")\\n\\n有关向整个本地网络开启实例的信息,以及可能的安全问题,请参阅 TiddlyWiki.com 的 WebServer 条目。\\n\"},\"$:/language/Help/load\":{\"title\":\"$:/language/Help/load\",\"description\":\"从文件中加载条目\",\"text\":\"从 TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` 或其他本机文件加载条目。应用的处理程序取决于导入文件的扩展名。如果您需要明确指定解串器和编码,请改用 `import` 命令。\\n\\n```\\n--load \u003Cfilepath> [noerror]\\n--load \u003Cdirpath> [noerror]\\n```\\n\\n默认情况下, 如果未找到条目,load 命令会引发错误。通过提供可选的 \\\"noerror\\\" 参数可以抑制该错误。\\n\\n从已加密的 TiddlyWiki 文件中加载条目,须使用 PasswordCommand 指定密码,例如:\\n\\n```\\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\\n```\\n\\n请注意 TiddlyWiki 将不加载旧版本的已挂载的插件。\\n\"},\"$:/language/Help/makelibrary\":{\"title\":\"$:/language/Help/makelibrary\",\"description\":\"构建升级处理所需的程式库插件\",\"text\":\"为升级处理构建 `$:/UpgradeLibrary` 条目。\\n\\n升级程式库被格式化为一个插件类型为 `library` 的一般插件条目。它包含 TiddlyWiki5 存储库中所有可用的插件、布局主题和语言包的副本。\\n\\n此命令仅供内部使用;它只是与使用者构建一个自订的升级程序相关。\\n\\n```\\n--makelibrary \u003Ctitle>\\n```\\n\\n标题参数默认为 `$:/UpgradeLibrary`。\\n\"},\"$:/language/Help/notfound\":{\"title\":\"$:/language/Help/notfound\",\"text\":\"无此帮助项目\"},\"$:/language/Help/output\":{\"title\":\"$:/language/Help/output\",\"description\":\"设置后续命令的基准输出文件夹\",\"text\":\"设置后续命令的基准输出文件夹,默认为该版本文件夹的 `output` 子文件夹。\\n\\n```\\n--output \u003Cpathname>\\n```\\n\\n若指定的路径是相对路径,则它是被解析相对于当前的工作文件夹。例如:`--output .` 將輸出文件夹設置為當前工作文件夹。\"},\"$:/language/Help/password\":{\"title\":\"$:/language/Help/password\",\"description\":\"设置用以加密的密码\",\"text\":\"设置用以加密的密码\\n\\n```\\n--password \u003Cpassword>\\n```\\n\\n''请注意'':这不是用于提供 TiddlyWiki 具有密码保护功能。相反地,请看 [[ServerCommand]] 的密码选项说明。\\n\"},\"$:/language/Help/render\":{\"title\":\"$:/language/Help/render\",\"description\":\"呈现个别条目到文件\",\"text\":\"呈现由筛选器标识的个别条目,并将结果保存到指定的文件。\\n\\n可选择性地指定范本条目名称。在此情况下,不是直接呈现每个条目,而是使用设为正在呈现的条目名称的 \\\"currentTiddler\\\" 变量,来呈现范本条目。\\n\\n也可以选择性地指定附加变量的名称和值。\\n\\n```\\n--render \u003Ctiddler-filter> [\u003Cfilename-filter>] [\u003Crender-type>] [\u003Ctemplate>] [ [\u003Cname>] [\u003Cvalue>] ]*\\n```\\n\\n* ''tiddler-filter'': 标识要呈现的条目的筛选器\\n* ''filename-filter'': 可选的筛选器,转换条目名称至路径名。如果省略,默认为 `[is[tiddler]addsuffix[.html]]`,其使用未改变的条目名称为文件名\\n* ''template'': 可选的范本,用于呈现每个条目\\n* ''render-type'': 可选的呈现类型:`text/html` (默认值) 会传回完整的 HTML 文本,而 `text/plain` 只会传回文本内容 (即其忽略 HTML 标记与其他不可印出的数据)\\n* ''name'': 可选的变量名称\\n* ''value'': 可选的变量值\\n\\n默认情况下,文件名被解析为相对于发行版文件夹的 `output` 子文件夹。`--output` 命令可用于将输出指到一个不同的文件夹。\\n\\n附注:\\n\\n* 输出目录不清除任何现有的文件\\n* 文件名的路径中,任何不存在的文件夹,将自动创建。\\n* 当正呈现的条目名称中带有空格,请注意同时使用命令行接口所要求的引号,与 TiddlyWiki 的双重方括号:`--render \\\"[[Motovun Jack.jpg]]\\\"`\\n* 所选的项目被设置为当前正在呈现的条目名称,以此评估文件名筛选器,允条目名称用作基础计算的文件名。例如,`[encodeuricomponent[]addprefix[static/]]` 为每个条目名称套用 URI 编码,然后增加首码 `static/`\\n* `--render` 命令是已弃用的 `--rendertiddler` 和 `--rendertiddlers` 的一个更灵活的替代命令。\\n\\n例子:\\n\\n* `--render \\\"[!is[system]]\\\" \\\"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\\\"` -- 呈现所有非系统条目为 \\\"tiddlers\\\" 子文件夹中的文件,文件名为 URL 编码的条目名称和扩展名 HTML\\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- 将标签为 \\\"HelloThere\\\" 的条目渲染到名为 \\\"tiddlers.json\\\" 的 JSON 文件\"},\"$:/language/Help/rendertiddler\":{\"title\":\"$:/language/Help/rendertiddler\",\"description\":\"呈现个别条目为指定的内容类型\",\"text\":\"(请注意:`--rendertiddler` 命令已被弃用,而支持新的、更灵活的 `--render` 命令)\\n\\n呈现个别条目为指定的[[内容类型|ContentType]],默认为 `text/html` 且保存为指定的文件名。\\n\\n还可以指定一个模板,在这种情况下,\\\"currentTiddler\\\" 变量设为正在呈现的条目 (第一个参数值) 与模板条目合并呈现。\\n\\n也能可选地指定附加变量的名称与其值。\\n\\n```\\n--rendertiddler \u003Ctitle> \u003Cfilename> [\u003Ctype>] [\u003Ctemplate>]\\n```\\n\\n默认情况下,文件名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件夹。\\n\\n自动创建在文件名称的路径中任何缺少的文件夹。\\n\\n例如,以下命令通过使用核心模板 `$:/core/templates/exporters/JsonFile`,将所有匹配筛选器 `[tag[done]]` 的条目保存到名为 `output.json` 的 JSON 文件。\\n\\n```\\n--rendertiddler \\\"$:/core/templates/exporters/JsonFile\\\" output.json text/plain \\\"\\\" exportFilter \\\"[tag[done]]\\\"\\n```\"},\"$:/language/Help/rendertiddlers\":{\"title\":\"$:/language/Help/rendertiddlers\",\"description\":\"呈现符合筛选条件的条目为指定的内容类型\",\"text\":\"(请注意:`--rendertiddlers` 命令已被弃用,而支持新的、更灵活的 `--render` 命令)\\n\\n呈现符合筛选条的条目为指定的[[内容类型|ContentType]] (默认为 `text/html`) 与扩展名 (默认为 `.html`).\\n\\n```\\n--rendertiddlers '\u003Cfilter>' \u003Ctemplate> \u003Cpathname> [\u003Ctype>] [\u003Cextension>] [\\\"noclean\\\"]\\n```\\n\\n例如:\\n\\n```\\n--rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain\\n```\\n\\n默认情况下,路径名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件。\\n\\n在目标文件夹中的任何文件都会被删除,除非指定 ''noclean'' 旗标。若缺少目标文件夹,则以递归方式创建。\"},\"$:/language/Help/save\":{\"title\":\"$:/language/Help/save\",\"description\":\"将个别原始条目保存到文件\",\"text\":\"将筛选器标识的个别条目,以原始文本或二进位格式,保存到指定的文件。\\n\\n```\\n--save \u003Ctiddler-filter> \u003Cfilename-filter>\\n```\\n\\n* ''tiddler-filter'': 标识要保存的条目的筛选器\\n* ''filename-filter'': 可选的筛选器,转换条目名称至路径名。如果省略,默认为 `[is[tiddler]]`,其使用未改变的条目名称为文件名\\n\\n附注:\\n\\n* 输出文件夹不清除任何现有的文件\\n* 文件名的路径中,任何不存在的文件夹,将自动创建。\\n* 当正保存的条目的名称中带有空格,请注意同时使用命令行接口所要求的引号,与 TiddlyWiki 的双重方括号:`--save \\\"[[Motovun Jack.jpg]]\\\"`\\n* 所选的项目被设置为当前正在保存的条目名称,以此评估文件名筛选器,允条目名称用作基础计算的文件名。例如,`[encodeuricomponent[]addprefix[static/]]` 为每个条目名称套用 URI 编码,然后增加首码 `static/`\\n* `--save` 命令是已被弃用的 `--savetiddler` 和 `--savetiddlers` 的一个更灵活的替代命令。\\n\\n例子:\\n\\n* `--save \\\"[!is[system]is[image]]\\\" \\\"[encodeuricomponent[]addprefix[tiddlers/]]\\\"` -- 保存所有非系统的图像条目为 \\\"tiddlers\\\" 子文件夹中的文件,文件名为 URL 编码的条目名称\"},\"$:/language/Help/savetiddler\":{\"title\":\"$:/language/Help/savetiddler\",\"description\":\"将条目的原始内容保存到一个文件\",\"text\":\"(请注意:`--savetiddler` 命令已被弃用,而支持新的、更灵活的 `--save` 命令)\\n\\n保存个别条目的原始文本或二进制格式到指定的文件名。\\n\\n```\\n--savetiddler \u003Ctitle> \u003Cfilename>\\n```\\n\\n默认情况下,文件名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件。\\n\\n自动创建在文件名称的路径中任何缺少的文件夹。\\n\"},\"$:/language/Help/savetiddlers\":{\"title\":\"$:/language/Help/savetiddlers\",\"description\":\"将一群条目的原始内容保存到一个文件夹\",\"text\":\"(请注意:`--savetiddlers` 命令已被弃用,而支持新的、更灵活的 `--save` 命令)\\n\\n保存一群条目的原始文字或二进制格式到指定的文件夹。\\n\\n```\\n--savetiddlers \u003Cfilter> \u003Cpathname> [noclean]\\n```\\n\\n默认情况下,路径名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件夹。\\n\\n保存指定的文件之前,会先清除输出目录的现有文件。可藉由指定 ''noclean'' 旗标,禁用该删除操作。\\n\\n自动创建在路径中任何缺少的文件夹。\\n\"},\"$:/language/Help/savewikifolder\":{\"title\":\"$:/language/Help/savewikifolder\",\"description\":\"将维基保存到一个新的维基文件夹\",\"text\":\"\u003C\u003C.from-version \\\"5.1.20\\\">> 将当前维基保存为一个维基文件夹,包含条目、插件和配置:\\n\\n```\\n--savewikifolder \u003Cwikifolderpath> [\u003Cfilter>] [ [\u003Cname>=\u003Cvalue>] ]*\\n```\\n\\n* 目标维基文件夹必须为空或不存在\\n* 筛选器指定应包括哪些条目。其为可选,默认为 `[all[tiddlers]]`\\n* 官方插件库中的插件,将替换为 `tiddlywiki.info` 文件中引用到的插件\\n* 自订插件将解压缩到自己的文件夹中\\n\\n支持以下选项:\\n\\n* ''filter'':定义要包含在输出中的条目的筛选器操作符。\\n* ''explodePlugins'': 默认为 \\\"yes\\\"\\n** ''yes'' 将 \\\"分解\\\" 插件为单独的条目文件,并将其保存到维基文件夹内的插件目录中\\n** ''no'' 将抑制分解插件到其组成的条目文件中。它将把插件保存为 tiddlers 文件夹中的单个 JSON 条目\\n\\n请注意,两个 ''explodePlugins'' 选项都会生成构建完全相同的原始维基的维基文件夹。区别在于插件在维基文件夹中的表示方式。\\n\\n常见的用法是将一个 TiddlyWiki HTML 文件转换成维基文件夹:\\n\\n```\\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\\n```\\n\\n将插件保存到目标维基文件夹的 tiddlers 目录中:\\n\\n```\\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder explodePlugins=no\\n``` \"},\"$:/language/Help/server\":{\"title\":\"$:/language/Help/server\",\"description\":\"(已弃用:请参阅 'listen' 命令)提供一个 HTTP 服务器界面到 TiddlyWiki\",\"text\":\"在服务器中内置 TiddlyWiki5 是非常简单。虽与 TiddlyWeb 兼容,但不支持许多健全互联网面向的使用方式所需的功能。\\n\\n提供呈现一个指定条目,也可将个别条目编码成 JSON,且支持基础的 HTTP 操作 `GET`、`PUT` 及 `DELETE`.\\n\\n```\\n--server \u003Cport> \u003Croot-tiddler> \u003Croot-render-type> \u003Croot-serve-type> \u003Cusername> \u003Cpassword> \u003Chost> \u003Cpath-prefix> \u003Cdebug-level>\\n```\\n\\n参数说明:\\n\\n* ''port'' - 要侦听的埠号;非数值会被解译为一个系统环境变数,从其中提取埠号 (默认为 \\\"8080\\\")\\n* ''root-tiddler'' - 服务的基础条目 (默认为 \\\"$:/core/save/all\\\")\\n* ''root-render-type'' - 呈现的基础条目的内容类型 (默认为 \\\"text/plain\\\")\\n* ''root-serve-type'' - 服务的基础条目的内容类型 (默认为 \\\"text/html\\\")\\n* ''username'' - 默认的编辑者署名\\n* ''password'' - 可选的基础验证密码\\n* ''host'' - 可选的主机名称, (默认为 \\\"127.0.0.1\\\" 或名为 \\\"localhost\\\")\\n* ''path-prefix'' - 可选的路径前缀\\n* ''debug-level'' - 可选的调试级别;设置为 \\\"debug\\\" 来查看请求的详细信息;(默认为 \\\"none\\\")\\n\\n若指定密码参数,浏览器将提示使用者输入用户名与密码。注意,密码系以明码方式传递,应只在受信任的网络或 HTTPS 上使用。\\n\\n例如:\\n\\n```\\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\\n```\\n\\n若您需要设置主机名称或路径前缀,而不要求输入密码,则可以指定空字符串的使用者名和密码。\\n\\n```\\n--server 8080 $:/core/save/all text/plain text/html \\\"\\\" \\\"\\\" 192.168.0.245\\n```\\n\\n使用这样的位址,会将您的系统暴露给本地网络。有关向整个本地网络开启实例的信息,以及可能的安全问题,请参阅 TiddlyWiki.com 的 WebServer 条目。\\n\\n同时执行多个 TiddlyWiki 服务,须分别指定不同的埠号。使用环境变数,有助于将埠号传递给 Node.js 进程。本示例引用一个名为 \\\"MY_PORT_NUMBER\\\" 的环境变数:\\n\\n```\\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\\n```\"},\"$:/language/Help/setfield\":{\"title\":\"$:/language/Help/setfield\",\"description\":\"准备用于外部条目\",\"text\":\"//请注意此命令是试验性的,且可能会更改或在最终定稿前被替换//\\n\\n设置一群条目的指定字段到 wikifying 范本条目的结果,其中的 `currentTiddler` 变数设置为各该条目。\\n\\n```\\n--setfield \u003Cfilter> \u003Cfieldname> \u003Ctemplatetitle> \u003Crendertype>\\n```\\n\\n参数说明:\\n\\n* ''filter'' - 受影响的辨识条目的筛选条件\\n* ''fieldname'' - 要修改的字段(默认为 \\\"text\\\")\\n* ''templatetitle'' - 该条目 wikify 到指定字段。若为空白或丢失,则删除指定的字段\\n* ''rendertype'' - 要呈现的文本类型(默认为 \\\"text/plain\\\"; \\\"text/html\\\" 可以用于包含 HTML 标记))\\n\"},\"$:/language/Help/unpackplugin\":{\"title\":\"$:/language/Help/unpackplugin\",\"description\":\"从插件解开附属的条目\",\"text\":\"提取插件的附属条目,将其建立为一般条目:\\n\\n```\\n--unpackplugin \u003Ctitle>\\n```\\n\"},\"$:/language/Help/verbose\":{\"title\":\"$:/language/Help/verbose\",\"description\":\"触发详细的输出模式\",\"text\":\"触发显示详细的命令执行过程,可用于调试\\n\\n```\\n--verbose\\n```\\n\"},\"$:/language/Help/version\":{\"title\":\"$:/language/Help/version\",\"description\":\"显示 TiddlyWiki 的版本编号\",\"text\":\"显示 TiddlyWiki 的版本编号。\\n\\n```\\n--version\\n```\\n\"},\"$:/language/Import/Editor/Import/Heading\":{\"title\":\"$:/language/Import/Editor/Import/Heading\",\"text\":\"导入图像并将其插入至编辑器。\"},\"$:/language/Import/Imported/Hint\":{\"title\":\"$:/language/Import/Imported/Hint\",\"text\":\"下列条目已被导入:\"},\"$:/language/Import/Listing/Cancel/Caption\":{\"title\":\"$:/language/Import/Listing/Cancel/Caption\",\"text\":\"取消\"},\"$:/language/Import/Listing/Cancel/Warning\":{\"title\":\"$:/language/Import/Listing/Cancel/Warning\",\"text\":\"您要取消导入吗?\"},\"$:/language/Import/Listing/Hint\":{\"title\":\"$:/language/Import/Listing/Hint\",\"text\":\"这些条目已备妥导入:\"},\"$:/language/Import/Listing/Import/Caption\":{\"title\":\"$:/language/Import/Listing/Import/Caption\",\"text\":\"导入\"},\"$:/language/Import/Listing/Select/Caption\":{\"title\":\"$:/language/Import/Listing/Select/Caption\",\"text\":\"选择\"},\"$:/language/Import/Listing/Status/Caption\":{\"title\":\"$:/language/Import/Listing/Status/Caption\",\"text\":\"状态\"},\"$:/language/Import/Listing/Title/Caption\":{\"title\":\"$:/language/Import/Listing/Title/Caption\",\"text\":\"条目\"},\"$:/language/Import/Listing/Preview\":{\"title\":\"$:/language/Import/Listing/Preview\",\"text\":\"预览:\"},\"$:/language/Import/Listing/Preview/Text\":{\"title\":\"$:/language/Import/Listing/Preview/Text\",\"text\":\"文本\"},\"$:/language/Import/Listing/Preview/TextRaw\":{\"title\":\"$:/language/Import/Listing/Preview/TextRaw\",\"text\":\"文本 (原始)\"},\"$:/language/Import/Listing/Preview/Fields\":{\"title\":\"$:/language/Import/Listing/Preview/Fields\",\"text\":\"字段\"},\"$:/language/Import/Listing/Preview/Diff\":{\"title\":\"$:/language/Import/Listing/Preview/Diff\",\"text\":\"差异\"},\"$:/language/Import/Listing/Preview/DiffFields\":{\"title\":\"$:/language/Import/Listing/Preview/DiffFields\",\"text\":\"差异 (字段)\"},\"$:/language/Import/Listing/Rename/Prompt\":{\"title\":\"$:/language/Import/Listing/Rename/Prompt\",\"text\":\"重新命名为:\"},\"$:/language/Import/Listing/Rename/Tooltip\":{\"title\":\"$:/language/Import/Listing/Rename/Tooltip\",\"text\":\"导入前重新命名条目\"},\"$:/language/Import/Listing/Rename/ConfirmRename\":{\"title\":\"$:/language/Import/Listing/Rename/ConfirmRename\",\"text\":\"重新命名条目\"},\"$:/language/Import/Listing/Rename/CancelRename\":{\"title\":\"$:/language/Import/Listing/Rename/CancelRename\",\"text\":\"取消\"},\"$:/language/Import/Listing/Rename/OverwriteWarning\":{\"title\":\"$:/language/Import/Listing/Rename/OverwriteWarning\",\"text\":\"具有此标题的条目已存在。\"},\"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible\":{\"title\":\"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible\",\"text\":\"封锁的不兼容或过时插件。\"},\"$:/language/Import/Upgrader/Plugins/Suppressed/Version\":{\"title\":\"$:/language/Import/Upgrader/Plugins/Suppressed/Version\",\"text\":\"封锁的插件 (由于传入的 \u003C\u003Cincoming>> 不比现有版本 \u003C\u003Cexisting>> 新)。\"},\"$:/language/Import/Upgrader/Plugins/Upgraded\":{\"title\":\"$:/language/Import/Upgrader/Plugins/Upgraded\",\"text\":\"升级插件,从 \u003C\u003Cincoming>> 到 \u003C\u003Cupgraded>>。\"},\"$:/language/Import/Upgrader/State/Suppressed\":{\"title\":\"$:/language/Import/Upgrader/State/Suppressed\",\"text\":\"封锁的暂存状态条目。\"},\"$:/language/Import/Upgrader/System/Disabled\":{\"title\":\"$:/language/Import/Upgrader/System/Disabled\",\"text\":\"已禁用系統条目。\"},\"$:/language/Import/Upgrader/System/Suppressed\":{\"title\":\"$:/language/Import/Upgrader/System/Suppressed\",\"text\":\"封锁的系统条目。\"},\"$:/language/Import/Upgrader/System/Warning\":{\"title\":\"$:/language/Import/Upgrader/System/Warning\",\"text\":\"核心模块条目。\"},\"$:/language/Import/Upgrader/System/Alert\":{\"title\":\"$:/language/Import/Upgrader/System/Alert\",\"text\":\"您即将导入一个条目会覆盖一个核心模块条目。不建议这样做,因为可能会使系统不稳定。\"},\"$:/language/Import/Upgrader/ThemeTweaks/Created\":{\"title\":\"$:/language/Import/Upgrader/ThemeTweaks/Created\",\"text\":\"从 \u003C$text text=\u003C\u003Cfrom>>/> 迁移布局主题。\"},\"$:/language/Import/Upgrader/Tiddler/Disabled\":{\"title\":\"$:/language/Import/Upgrader/Tiddler/Disabled\",\"text\":\"已禁用系統条目。\"},\"$:/language/Import/Upgrader/Tiddler/Selected\":{\"title\":\"$:/language/Import/Upgrader/Tiddler/Selected\",\"text\":\"选定的条目。\"},\"$:/language/Import/Upgrader/Tiddler/Unselected\":{\"title\":\"$:/language/Import/Upgrader/Tiddler/Unselected\",\"text\":\"未选定的条目。\"},\"$:/language/AboveStory/ClassicPlugin/Warning\":{\"title\":\"$:/language/AboveStory/ClassicPlugin/Warning\",\"text\":\"您似乎要加载为 ~TiddlyWiki 经典版设计的插件。请注意,[[这些插件无法运行于 TiddlyWiki 5.x.x 版|https://tiddlywiki.com/#TiddlyWikiClassic]]。检测到 ~TiddlyWiki 经典版插件:\"},\"$:/language/BinaryWarning/Prompt\":{\"title\":\"$:/language/BinaryWarning/Prompt\",\"text\":\"此条目包含二进制数据\"},\"$:/language/ClassicWarning/Hint\":{\"title\":\"$:/language/ClassicWarning/Hint\",\"text\":\"此条目以经典版 TiddlyWiki 标记格式撰写,不完全兼容新版 TiddlyWiki 的格式,详细信息请参阅:https://tiddlywiki.com/static/Upgrading。\"},\"$:/language/ClassicWarning/Upgrade/Caption\":{\"title\":\"$:/language/ClassicWarning/Upgrade/Caption\",\"text\":\"升级\"},\"$:/language/CloseAll/Button\":{\"title\":\"$:/language/CloseAll/Button\",\"text\":\"全部关闭\"},\"$:/language/ColourPicker/Recent\":{\"title\":\"$:/language/ColourPicker/Recent\",\"text\":\"最近︰\"},\"$:/language/ConfirmCancelTiddler\":{\"title\":\"$:/language/ConfirmCancelTiddler\",\"text\":\"您确定要取消对条目 \\\"\u003C$text text=\u003C\u003Ctitle>>/>\\\" 的更改?\"},\"$:/language/ConfirmDeleteTiddler\":{\"title\":\"$:/language/ConfirmDeleteTiddler\",\"text\":\"您确定要删除条目 \\\"\u003C$text text=\u003C\u003Ctitle>>/>\\\"?\"},\"$:/language/ConfirmDeleteTiddlers\":{\"title\":\"$:/language/ConfirmDeleteTiddlers\",\"text\":\"您确定要删除 \u003C\u003CresultCount>> 个条目?\"},\"$:/language/ConfirmOverwriteTiddler\":{\"title\":\"$:/language/ConfirmOverwriteTiddler\",\"text\":\"您确定要覆盖条目 \\\"\u003C$text text=\u003C\u003Ctitle>>/>\\\"?\"},\"$:/language/ConfirmEditShadowTiddler\":{\"title\":\"$:/language/ConfirmEditShadowTiddler\",\"text\":\"您即将要编辑默认条目,任何更改将会覆盖默认的系统,使未来的升级不寻常。您确定要编辑 \\\"\u003C$text text=\u003C\u003Ctitle>>/>\\\"?\"},\"$:/language/ConfirmAction\":{\"title\":\"$:/language/ConfirmAction\",\"text\":\"是否要继续?\"},\"$:/language/Count\":{\"title\":\"$:/language/Count\",\"text\":\"计数\"},\"$:/language/DefaultNewTiddlerTitle\":{\"title\":\"$:/language/DefaultNewTiddlerTitle\",\"text\":\"新条目\"},\"$:/language/Diffs/CountMessage\":{\"title\":\"$:/language/Diffs/CountMessage\",\"text\":\"\u003C\u003Cdiff-count>> 个差异\"},\"$:/language/DropMessage\":{\"title\":\"$:/language/DropMessage\",\"text\":\"现在放下(或按 ESC 键取消)\"},\"$:/language/Encryption/Cancel\":{\"title\":\"$:/language/Encryption/Cancel\",\"text\":\"取消\"},\"$:/language/Encryption/ConfirmClearPassword\":{\"title\":\"$:/language/Encryption/ConfirmClearPassword\",\"text\":\"您要清除密码吗?当保存此维基时,这将删除已套用的加密\"},\"$:/language/Encryption/Username\":{\"title\":\"$:/language/Encryption/Username\",\"text\":\"用户名称\"},\"$:/language/Encryption/Password\":{\"title\":\"$:/language/Encryption/Password\",\"text\":\"密码\"},\"$:/language/Encryption/PromptSetPassword\":{\"title\":\"$:/language/Encryption/PromptSetPassword\",\"text\":\"为此 TiddlyWiki 设置一个新密码\"},\"$:/language/Encryption/RepeatPassword\":{\"title\":\"$:/language/Encryption/RepeatPassword\",\"text\":\"重复输入密码\"},\"$:/language/Encryption/PasswordNoMatch\":{\"title\":\"$:/language/Encryption/PasswordNoMatch\",\"text\":\"密码不匹配\"},\"$:/language/Encryption/SetPassword\":{\"title\":\"$:/language/Encryption/SetPassword\",\"text\":\"设定密码\"},\"$:/language/Error/Caption\":{\"title\":\"$:/language/Error/Caption\",\"text\":\"错误\"},\"$:/language/Error/DeserializeOperator/MissingOperand\":{\"title\":\"$:/language/Error/DeserializeOperator/MissingOperand\",\"text\":\"筛选器错误:'deserialize' 运算符缺少运算元\"},\"$:/language/Error/DeserializeOperator/UnknownDeserializer\":{\"title\":\"$:/language/Error/DeserializeOperator/UnknownDeserializer\",\"text\":\"筛选器错误:未知的解串器被提供为 'deserialize' 运算符的操作数\"},\"$:/language/Error/Filter\":{\"title\":\"$:/language/Error/Filter\",\"text\":\"筛选器错误\"},\"$:/language/Error/FilterRunPrefix\":{\"title\":\"$:/language/Error/FilterRunPrefix\",\"text\":\"筛选器错误:筛选器 run 的未知首码\"},\"$:/language/Error/FilterSyntax\":{\"title\":\"$:/language/Error/FilterSyntax\",\"text\":\"筛选器运算式中的语法错误\"},\"$:/language/Error/FormatFilterOperator\":{\"title\":\"$:/language/Error/FormatFilterOperator\",\"text\":\"筛选器错误:`format` 筛选器运算符的未知尾码\"},\"$:/language/Error/IsFilterOperator\":{\"title\":\"$:/language/Error/IsFilterOperator\",\"text\":\"筛选器错误︰'is' 筛选器运算符的未知操作数\"},\"$:/language/Error/LoadingPluginLibrary\":{\"title\":\"$:/language/Error/LoadingPluginLibrary\",\"text\":\"加载插件库时,发生错误\"},\"$:/language/Error/NetworkErrorAlert\":{\"title\":\"$:/language/Error/NetworkErrorAlert\",\"text\":\"`\u003Ch2>''网络错误''\u003C/h2>与服务器的连缐似乎已中断。这可能表示您的网络连缐有问题。请尝试恢复网路连缐才能继续。\u003Cbr>\u003Cbr>''恢复连缐时,所有未保存的更改,将自动同步''。`\"},\"$:/language/Error/PutEditConflict\":{\"title\":\"$:/language/Error/PutEditConflict\",\"text\":\"服务器上的文件已更改\"},\"$:/language/Error/PutForbidden\":{\"title\":\"$:/language/Error/PutForbidden\",\"text\":\"没有权限\"},\"$:/language/Error/PutUnauthorized\":{\"title\":\"$:/language/Error/PutUnauthorized\",\"text\":\"需要身分验证\"},\"$:/language/Error/RecursiveTransclusion\":{\"title\":\"$:/language/Error/RecursiveTransclusion\",\"text\":\"于 transclude 小部件中的递归嵌入错误\"},\"$:/language/Error/RetrievingSkinny\":{\"title\":\"$:/language/Error/RetrievingSkinny\",\"text\":\"简要条目清单提取错误\"},\"$:/language/Error/SavingToTWEdit\":{\"title\":\"$:/language/Error/SavingToTWEdit\",\"text\":\"保存到 TWEdit 时,发生错误\"},\"$:/language/Error/WhileSaving\":{\"title\":\"$:/language/Error/WhileSaving\",\"text\":\"保存时,发生错误\"},\"$:/language/Error/XMLHttpRequest\":{\"title\":\"$:/language/Error/XMLHttpRequest\",\"text\":\"XMLHttpRequest 错误代码\"},\"$:/language/Error/ZoominTextNode\":{\"title\":\"$:/language/Error/ZoominTextNode\",\"text\":\"故事视图错误:您似乎尝试与显示在自定义容器中的条目进行交互。这很可能是由于将 `$:/tags/StoryTiddlerTemplateFilter` 与开头包含文本或空格的模板一起使用引起的。请使用编译指示 `\\\\whitespace trim`,并确保条目的全部内容都包含在单个 HTML 元素中。导致此问题的文本:\"},\"$:/language/InternalJavaScriptError/Title\":{\"title\":\"$:/language/InternalJavaScriptError/Title\",\"text\":\"内部的 JavaScript 错误\"},\"$:/language/InternalJavaScriptError/Hint\":{\"title\":\"$:/language/InternalJavaScriptError/Hint\",\"text\":\"喔,真是令人尴尬。建议刷新您的浏览器,重新启动 TiddlyWiki\"},\"$:/language/LayoutSwitcher/Description\":{\"title\":\"$:/language/LayoutSwitcher/Description\",\"text\":\"打开布局切换器\"},\"$:/language/LazyLoadingWarning\":{\"title\":\"$:/language/LazyLoadingWarning\",\"text\":\"\u003Cp>正在从 ''\u003C$text text={{!!_canonical_uri}}/>'' 加载外部内容 ...\u003C/p>\u003Cp>如果此信息未消失,可能是条目内容类型与外部内容的类型不匹配,或是您可能正在使用的浏览器,不支援单文件式维基的外部内容。请参阅 https://tiddlywiki.com/#ExternalText\u003C/p>\"},\"$:/language/LoginToTiddlySpace\":{\"title\":\"$:/language/LoginToTiddlySpace\",\"text\":\"登录 TiddlySpace\"},\"$:/language/Manager/Controls/FilterByTag/None\":{\"title\":\"$:/language/Manager/Controls/FilterByTag/None\",\"text\":\"(无)\"},\"$:/language/Manager/Controls/FilterByTag/Prompt\":{\"title\":\"$:/language/Manager/Controls/FilterByTag/Prompt\",\"text\":\"按标签筛选︰\"},\"$:/language/Manager/Controls/Order/Prompt\":{\"title\":\"$:/language/Manager/Controls/Order/Prompt\",\"text\":\"反向顺序\"},\"$:/language/Manager/Controls/Search/Placeholder\":{\"title\":\"$:/language/Manager/Controls/Search/Placeholder\",\"text\":\"搜索\"},\"$:/language/Manager/Controls/Search/Prompt\":{\"title\":\"$:/language/Manager/Controls/Search/Prompt\",\"text\":\"搜索︰\"},\"$:/language/Manager/Controls/Show/Option/Tags\":{\"title\":\"$:/language/Manager/Controls/Show/Option/Tags\",\"text\":\"标签\"},\"$:/language/Manager/Controls/Show/Option/Tiddlers\":{\"title\":\"$:/language/Manager/Controls/Show/Option/Tiddlers\",\"text\":\"条目\"},\"$:/language/Manager/Controls/Show/Prompt\":{\"title\":\"$:/language/Manager/Controls/Show/Prompt\",\"text\":\"显示︰\"},\"$:/language/Manager/Controls/Sort/Prompt\":{\"title\":\"$:/language/Manager/Controls/Sort/Prompt\",\"text\":\"排序︰\"},\"$:/language/Manager/Item/Colour\":{\"title\":\"$:/language/Manager/Item/Colour\",\"text\":\"颜色\"},\"$:/language/Manager/Item/Fields\":{\"title\":\"$:/language/Manager/Item/Fields\",\"text\":\"字段\"},\"$:/language/Manager/Item/Icon/None\":{\"title\":\"$:/language/Manager/Item/Icon/None\",\"text\":\"(无)\"},\"$:/language/Manager/Item/Icon\":{\"title\":\"$:/language/Manager/Item/Icon\",\"text\":\"图标\"},\"$:/language/Manager/Item/RawText\":{\"title\":\"$:/language/Manager/Item/RawText\",\"text\":\"原始文字\"},\"$:/language/Manager/Item/Tags\":{\"title\":\"$:/language/Manager/Item/Tags\",\"text\":\"标签\"},\"$:/language/Manager/Item/Tools\":{\"title\":\"$:/language/Manager/Item/Tools\",\"text\":\"工具\"},\"$:/language/Manager/Item/WikifiedText\":{\"title\":\"$:/language/Manager/Item/WikifiedText\",\"text\":\"Wikified 文字\"},\"$:/language/MissingTiddler/Hint\":{\"title\":\"$:/language/MissingTiddler/Hint\",\"text\":\"佚失条目 \\\"\u003C$text text=\u003C\u003CcurrentTiddler>>/>\\\" - 点击 {{||$:/core/ui/Buttons/edit}} 可创建此条目\"},\"$:/language/No\":{\"title\":\"$:/language/No\",\"text\":\"否\"},\"$:/language/OfficialPluginLibrary\":{\"title\":\"$:/language/OfficialPluginLibrary\",\"text\":\"~TiddlyWiki 官方插件库\"},\"$:/language/OfficialPluginLibrary/Hint\":{\"title\":\"$:/language/OfficialPluginLibrary/Hint\",\"text\":\"此为在 tiddlywiki.com 的 ~TiddlyWiki 官方插件库。由核心团队维护的插件、主题和语言包。\"},\"$:/language/PageTemplate/Description\":{\"title\":\"$:/language/PageTemplate/Description\",\"text\":\"默认的 ~Tiddlywiki 布局\"},\"$:/language/PageTemplate/Name\":{\"title\":\"$:/language/PageTemplate/Name\",\"text\":\"默认的 ~PageTemplate\"},\"$:/language/PluginReloadWarning\":{\"title\":\"$:/language/PluginReloadWarning\",\"text\":\"请保存 {{$:/core/ui/Buttons/save-wiki}} 并刷新页面 {{$:/core/ui/Buttons/refresh}} ,使 ~JavaScript 插件的更改生效\"},\"$:/language/RecentChanges/DateFormat\":{\"title\":\"$:/language/RecentChanges/DateFormat\",\"text\":\"YYYY年0MM月0DD日\"},\"$:/language/Shortcuts/Input/Accept/Hint\":{\"title\":\"$:/language/Shortcuts/Input/Accept/Hint\",\"text\":\"接受选取的项目\"},\"$:/language/Shortcuts/Input/AcceptVariant/Hint\":{\"title\":\"$:/language/Shortcuts/Input/AcceptVariant/Hint\",\"text\":\"接受选取项目 (变种)\"},\"$:/language/Shortcuts/Input/AdvancedSearch/Hint\":{\"title\":\"$:/language/Shortcuts/Input/AdvancedSearch/Hint\",\"text\":\"从侧边栏搜索字段内打开[[进阶搜索|$:/AdvancedSearch]]面板\"},\"$:/language/Shortcuts/Input/Cancel/Hint\":{\"title\":\"$:/language/Shortcuts/Input/Cancel/Hint\",\"text\":\"清除输入字段\"},\"$:/language/Shortcuts/Input/Down/Hint\":{\"title\":\"$:/language/Shortcuts/Input/Down/Hint\",\"text\":\"选择下一个项目\"},\"$:/language/Shortcuts/Input/Tab-Left/Hint\":{\"title\":\"$:/language/Shortcuts/Input/Tab-Left/Hint\",\"text\":\"选择上一个页签\"},\"$:/language/Shortcuts/Input/Tab-Right/Hint\":{\"title\":\"$:/language/Shortcuts/Input/Tab-Right/Hint\",\"text\":\"选择下一个页签\"},\"$:/language/Shortcuts/Input/Up/Hint\":{\"title\":\"$:/language/Shortcuts/Input/Up/Hint\",\"text\":\"选择前一个项目\"},\"$:/language/Shortcuts/SidebarLayout/Hint\":{\"title\":\"$:/language/Shortcuts/SidebarLayout/Hint\",\"text\":\"更改侧边栏布局\"},\"$:/language/Switcher/Subtitle/theme\":{\"title\":\"$:/language/Switcher/Subtitle/theme\",\"text\":\"切换布局主题\"},\"$:/language/Switcher/Subtitle/layout\":{\"title\":\"$:/language/Switcher/Subtitle/layout\",\"text\":\"切换布局\"},\"$:/language/Switcher/Subtitle/language\":{\"title\":\"$:/language/Switcher/Subtitle/language\",\"text\":\"切换语言\"},\"$:/language/Switcher/Subtitle/palette\":{\"title\":\"$:/language/Switcher/Subtitle/palette\",\"text\":\"切换调色板\"},\"$:/language/SystemTiddler/Tooltip\":{\"title\":\"$:/language/SystemTiddler/Tooltip\",\"text\":\"此为系统条目\"},\"$:/language/SystemTiddlers/Include/Prompt\":{\"title\":\"$:/language/SystemTiddlers/Include/Prompt\",\"text\":\"包括系统条目\"},\"$:/language/TagManager/Colour/Heading\":{\"title\":\"$:/language/TagManager/Colour/Heading\",\"text\":\"颜色\"},\"$:/language/TagManager/Count/Heading\":{\"title\":\"$:/language/TagManager/Count/Heading\",\"text\":\"计数\"},\"$:/language/TagManager/Icon/Heading\":{\"title\":\"$:/language/TagManager/Icon/Heading\",\"text\":\"图标\"},\"$:/language/TagManager/Icons/None\":{\"title\":\"$:/language/TagManager/Icons/None\",\"text\":\"无\"},\"$:/language/TagManager/Info/Heading\":{\"title\":\"$:/language/TagManager/Info/Heading\",\"text\":\"信息\"},\"$:/language/TagManager/Tag/Heading\":{\"title\":\"$:/language/TagManager/Tag/Heading\",\"text\":\"标签\"},\"$:/language/Tiddler/DateFormat\":{\"title\":\"$:/language/Tiddler/DateFormat\",\"text\":\"YYYY年0MM月0DD日 0hh:0mm\"},\"$:/language/UnsavedChangesWarning\":{\"title\":\"$:/language/UnsavedChangesWarning\",\"text\":\"在此 TiddlyWiki 您有尚未保存的变动\"},\"$:/language/Yes\":{\"title\":\"$:/language/Yes\",\"text\":\"是\"},\"$:/language/Modals/Download\":{\"title\":\"$:/language/Modals/Download\",\"type\":\"text/vnd.tiddlywiki\",\"subtitle\":\"Download changes\",\"footer\":\"\u003C$button message=\\\"tm-close-tiddler\\\">关闭\u003C/$button>\",\"help\":\"https://tiddlywiki.com/\",\"text\":\"您的浏览器只支援手动保存。\\n\\n要保存更动的维基,右键点击下方的下载链结,选择\\\"下载文件\\\"或\\\"保存文件\\\",然后选择文件夹或文件名。\\n\\n//您可以藉由按一下 Ctrl 键(Windows)或 options/ alt 键(Mac OS X)中的链接,稍微加速操作。您不会被提示文件夹或文件名,您的浏览器可能无法辨认它的文件名 -- 在做其他任何事之前,您可能需要重新命名扩展名为 `.html` 的文件。//\\n\\n在智能型手机上,不允许下载文件,但您可以标记链结,然后从一台可以正常保存维基的台式机的维基同步你的书签。\"},\"$:/config/NewJournal/Title\":{\"title\":\"$:/config/NewJournal/Title\",\"text\":\"YYYY年0MM月0DD日\"},\"$:/config/NewJournal/Text\":{\"title\":\"$:/config/NewJournal/Text\",\"text\":\"\"},\"$:/config/NewJournal/Tags\":{\"title\":\"$:/config/NewJournal/Tags\",\"text\":\"日志\\n\"},\"$:/language/Notifications/Save/Done\":{\"title\":\"$:/language/Notifications/Save/Done\",\"text\":\"已保存 wiki\"},\"$:/language/Notifications/Save/Starting\":{\"title\":\"$:/language/Notifications/Save/Starting\",\"text\":\"开始保存 wiki\"},\"$:/language/Notifications/CopiedToClipboard/Succeeded\":{\"title\":\"$:/language/Notifications/CopiedToClipboard/Succeeded\",\"text\":\"已复制到剪贴板!\"},\"$:/language/Notifications/CopiedToClipboard/Failed\":{\"title\":\"$:/language/Notifications/CopiedToClipboard/Failed\",\"text\":\"无法复制到剪贴板!\"},\"$:/language/Search/DefaultResults/Caption\":{\"title\":\"$:/language/Search/DefaultResults/Caption\",\"text\":\"列表\"},\"$:/language/Search/Filter/Caption\":{\"title\":\"$:/language/Search/Filter/Caption\",\"text\":\"筛选\"},\"$:/language/Search/Filter/Hint\":{\"title\":\"$:/language/Search/Filter/Hint\",\"text\":\"以[[筛选表达式|https://tiddlywiki.com/static/Filters.html]]搜索\"},\"$:/language/Search/Filter/Matches\":{\"title\":\"$:/language/Search/Filter/Matches\",\"text\":\"//\u003Csmall>\u003C\u003CresultCount>> 个条目符合条件\u003C/small>//\"},\"$:/language/Search/Matches\":{\"title\":\"$:/language/Search/Matches\",\"text\":\"//\u003Csmall>\u003C\u003CresultCount>> 个条目符合条件\u003C/small>//\"},\"$:/language/Search/Matches/All\":{\"title\":\"$:/language/Search/Matches/All\",\"text\":\"所有匹配:\"},\"$:/language/Search/Matches/Title\":{\"title\":\"$:/language/Search/Matches/Title\",\"text\":\"条目名称匹配:\"},\"$:/language/Search/Search\":{\"title\":\"$:/language/Search/Search\",\"text\":\"搜索\"},\"$:/language/Search/Search/TooShort\":{\"title\":\"$:/language/Search/Search/TooShort\",\"text\":\"搜索文本太短\"},\"$:/language/Search/Shadows/Caption\":{\"title\":\"$:/language/Search/Shadows/Caption\",\"text\":\"默认\"},\"$:/language/Search/Shadows/Hint\":{\"title\":\"$:/language/Search/Shadows/Hint\",\"text\":\"搜索默认条目\"},\"$:/language/Search/Shadows/Matches\":{\"title\":\"$:/language/Search/Shadows/Matches\",\"text\":\"//\u003Csmall>\u003C\u003CresultCount>> 个条目符合条件\u003C/small>//\"},\"$:/language/Search/Standard/Caption\":{\"title\":\"$:/language/Search/Standard/Caption\",\"text\":\"标准\"},\"$:/language/Search/Standard/Hint\":{\"title\":\"$:/language/Search/Standard/Hint\",\"text\":\"搜索一般条目\"},\"$:/language/Search/Standard/Matches\":{\"title\":\"$:/language/Search/Standard/Matches\",\"text\":\"//\u003Csmall>\u003C\u003CresultCount>> 个条目符合条件\u003C/small>//\"},\"$:/language/Search/System/Caption\":{\"title\":\"$:/language/Search/System/Caption\",\"text\":\"系统\"},\"$:/language/Search/System/Hint\":{\"title\":\"$:/language/Search/System/Hint\",\"text\":\"搜索系统条目\"},\"$:/language/Search/System/Matches\":{\"title\":\"$:/language/Search/System/Matches\",\"text\":\"//\u003Csmall>\u003C\u003CresultCount>> 个条目符合条件\u003C/small>//\"},\"$:/language/SideBar/All/Caption\":{\"title\":\"$:/language/SideBar/All/Caption\",\"text\":\"全部\"},\"$:/language/SideBar/Caption\":{\"title\":\"$:/language/SideBar/Caption\",\"text\":\"侧边栏\"},\"$:/language/SideBar/Contents/Caption\":{\"title\":\"$:/language/SideBar/Contents/Caption\",\"text\":\"目录\"},\"$:/language/SideBar/Drafts/Caption\":{\"title\":\"$:/language/SideBar/Drafts/Caption\",\"text\":\"草稿\"},\"$:/language/SideBar/Explorer/Caption\":{\"title\":\"$:/language/SideBar/Explorer/Caption\",\"text\":\"探索\"},\"$:/language/SideBar/Missing/Caption\":{\"title\":\"$:/language/SideBar/Missing/Caption\",\"text\":\"缺失\"},\"$:/language/SideBar/More/Caption\":{\"title\":\"$:/language/SideBar/More/Caption\",\"text\":\"更多\"},\"$:/language/SideBar/Open/Caption\":{\"title\":\"$:/language/SideBar/Open/Caption\",\"text\":\"开启\"},\"$:/language/SideBar/Orphans/Caption\":{\"title\":\"$:/language/SideBar/Orphans/Caption\",\"text\":\"孤立\"},\"$:/language/SideBar/Recent/Caption\":{\"title\":\"$:/language/SideBar/Recent/Caption\",\"text\":\"最近\"},\"$:/language/SideBar/Shadows/Caption\":{\"title\":\"$:/language/SideBar/Shadows/Caption\",\"text\":\"默认\"},\"$:/language/SideBar/System/Caption\":{\"title\":\"$:/language/SideBar/System/Caption\",\"text\":\"系统\"},\"$:/language/SideBar/Tags/Caption\":{\"title\":\"$:/language/SideBar/Tags/Caption\",\"text\":\"标签\"},\"$:/language/SideBar/Tags/Untagged/Caption\":{\"title\":\"$:/language/SideBar/Tags/Untagged/Caption\",\"text\":\"未设标签\"},\"$:/language/SideBar/Tools/Caption\":{\"title\":\"$:/language/SideBar/Tools/Caption\",\"text\":\"工具\"},\"$:/language/SideBar/Types/Caption\":{\"title\":\"$:/language/SideBar/Types/Caption\",\"text\":\"类型\"},\"$:/SiteSubtitle\":{\"title\":\"$:/SiteSubtitle\",\"text\":\"卡片式个人网页笔记\"},\"$:/SiteTitle\":{\"title\":\"$:/SiteTitle\",\"text\":\"我的 ~TiddlyWiki\"},\"$:/language/Snippets/ListByTag\":{\"title\":\"$:/language/Snippets/ListByTag\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"按标签筛选的条目列表\",\"text\":\"\u003C\u003Clist-links \\\"[tag[task]sort[title]]\\\">>\\n\"},\"$:/language/Snippets/MacroDefinition\":{\"title\":\"$:/language/Snippets/MacroDefinition\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"宏的定义\",\"text\":\"\\\\define macroName(param1:\\\"默认值\\\",param2)\\n宏的内容\\n\\\\end\\n\"},\"$:/language/Snippets/Table4x3\":{\"title\":\"$:/language/Snippets/Table4x3\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"4 x 3 的表格\",\"text\":\"|! | !一 | !二 | !三 | !四 |\\n|! 1| | | | |\\n|! 2| | | | |\\n|! 3 | | | | |\\n\"},\"$:/language/Snippets/TableOfContents\":{\"title\":\"$:/language/Snippets/TableOfContents\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"目录\",\"text\":\"\u003Cdiv class=\\\"tc-table-of-contents\\\">\\n\\n\u003C\u003Ctoc-selective-expandable 'TableOfContents'>>\\n\\n\u003C/div>\"},\"$:/language/ThemeTweaks/ThemeTweaks\":{\"title\":\"$:/language/ThemeTweaks/ThemeTweaks\",\"text\":\"主题调整\"},\"$:/language/ThemeTweaks/ThemeTweaks/Hint\":{\"title\":\"$:/language/ThemeTweaks/ThemeTweaks/Hint\",\"text\":\"您可以调整 ''Vanilla'' 布局主题的某些样貌。\"},\"$:/language/ThemeTweaks/Options\":{\"title\":\"$:/language/ThemeTweaks/Options\",\"text\":\"选项\"},\"$:/language/ThemeTweaks/Options/SidebarLayout\":{\"title\":\"$:/language/ThemeTweaks/Options/SidebarLayout\",\"text\":\"侧边栏布局\"},\"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid\":{\"title\":\"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid\",\"text\":\"固定故事,浮动侧边栏\"},\"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed\":{\"title\":\"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed\",\"text\":\"浮动故事,固定侧边栏\"},\"$:/language/ThemeTweaks/Options/StickyTitles\":{\"title\":\"$:/language/ThemeTweaks/Options/StickyTitles\",\"text\":\"置顶标题\"},\"$:/language/ThemeTweaks/Options/StickyTitles/Hint\":{\"title\":\"$:/language/ThemeTweaks/Options/StickyTitles/Hint\",\"text\":\"使条目名称吸顶\"},\"$:/language/ThemeTweaks/Options/CodeWrapping\":{\"title\":\"$:/language/ThemeTweaks/Options/CodeWrapping\",\"text\":\"在代码区块中换行\"},\"$:/language/ThemeTweaks/Settings\":{\"title\":\"$:/language/ThemeTweaks/Settings\",\"text\":\"设置\"},\"$:/language/ThemeTweaks/Settings/FontFamily\":{\"title\":\"$:/language/ThemeTweaks/Settings/FontFamily\",\"text\":\"字型\"},\"$:/language/ThemeTweaks/Settings/CodeFontFamily\":{\"title\":\"$:/language/ThemeTweaks/Settings/CodeFontFamily\",\"text\":\"代码字型\"},\"$:/language/ThemeTweaks/Settings/EditorFontFamily\":{\"title\":\"$:/language/ThemeTweaks/Settings/EditorFontFamily\",\"text\":\"编辑器字型\"},\"$:/language/ThemeTweaks/Settings/BackgroundImage\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImage\",\"text\":\"页面背景图像\"},\"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment\",\"text\":\"页面背景图像附属\"},\"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll\",\"text\":\"随条目滚动\"},\"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed\",\"text\":\"固定于窗口\"},\"$:/language/ThemeTweaks/Settings/BackgroundImageSize\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImageSize\",\"text\":\"页面背景图像大小\"},\"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto\",\"text\":\"自动\"},\"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover\",\"text\":\"覆盖\"},\"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain\",\"text\":\"包含\"},\"$:/language/ThemeTweaks/Metrics\":{\"title\":\"$:/language/ThemeTweaks/Metrics\",\"text\":\"大小\"},\"$:/language/ThemeTweaks/Metrics/FontSize\":{\"title\":\"$:/language/ThemeTweaks/Metrics/FontSize\",\"text\":\"字体大小\"},\"$:/language/ThemeTweaks/Metrics/LineHeight\":{\"title\":\"$:/language/ThemeTweaks/Metrics/LineHeight\",\"text\":\"行高\"},\"$:/language/ThemeTweaks/Metrics/BodyFontSize\":{\"title\":\"$:/language/ThemeTweaks/Metrics/BodyFontSize\",\"text\":\"条目本文的字体大小\"},\"$:/language/ThemeTweaks/Metrics/BodyLineHeight\":{\"title\":\"$:/language/ThemeTweaks/Metrics/BodyLineHeight\",\"text\":\"条目本文的行高\"},\"$:/language/ThemeTweaks/Metrics/StoryLeft\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryLeft\",\"text\":\"故事左侧位置\"},\"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint\",\"text\":\"故事河(条目区)的左边缘与页面左端的间距\"},\"$:/language/ThemeTweaks/Metrics/StoryTop\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryTop\",\"text\":\"故事顶部位置\"},\"$:/language/ThemeTweaks/Metrics/StoryTop/Hint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryTop/Hint\",\"text\":\"故事河(条目区)的上边缘与页面顶部的间距\"},\"$:/language/ThemeTweaks/Metrics/StoryRight\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryRight\",\"text\":\"故事右侧位置\"},\"$:/language/ThemeTweaks/Metrics/StoryRight/Hint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryRight/Hint\",\"text\":\"侧边栏的左边缘与页面左端的间距\"},\"$:/language/ThemeTweaks/Metrics/StoryWidth\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryWidth\",\"text\":\"故事的宽度\"},\"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint\",\"text\":\"故事河的整体宽度\"},\"$:/language/ThemeTweaks/Metrics/TiddlerWidth\":{\"title\":\"$:/language/ThemeTweaks/Metrics/TiddlerWidth\",\"text\":\"条目宽度\"},\"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint\",\"text\":\"在故事河内\"},\"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint\",\"text\":\"侧边栏中断点\"},\"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint\",\"text\":\"故事河和侧边栏会并排显示的最小页面宽度\"},\"$:/language/ThemeTweaks/Metrics/SidebarWidth\":{\"title\":\"$:/language/ThemeTweaks/Metrics/SidebarWidth\",\"text\":\"侧边栏宽度\"},\"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint\",\"text\":\"在 浮动故事,固定侧边栏 布局中,侧边栏的宽度\"},\"$:/language/TiddlerInfo/Advanced/Caption\":{\"title\":\"$:/language/TiddlerInfo/Advanced/Caption\",\"text\":\"高级\"},\"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint\":{\"title\":\"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint\",\"text\":\"无信息\"},\"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading\":{\"title\":\"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading\",\"text\":\"插件明细\"},\"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint\":{\"title\":\"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint\",\"text\":\"此插件包含以下预设条目:\"},\"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading\":{\"title\":\"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading\",\"text\":\"默认条目状态\"},\"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint\":{\"title\":\"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint\",\"text\":\"\u003C$link to=\u003C\u003CinfoTiddler>>>\u003C$text text=\u003C\u003CinfoTiddler>>/>\u003C/$link> 不是一个默认条目\"},\"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint\":{\"title\":\"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint\",\"text\":\"\u003C$link to=\u003C\u003CinfoTiddler>>>\u003C$text text=\u003C\u003CinfoTiddler>>/>\u003C/$link> 是一个默认条目\"},\"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source\":{\"title\":\"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source\",\"text\":\"此条目定义于插件 \u003C$link to=\u003C\u003CpluginTiddler>>>\u003C$text text=\u003C\u003CpluginTiddler>>/>\u003C/$link>\"},\"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint\":{\"title\":\"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint\",\"text\":\"已被一般条目覆盖\"},\"$:/language/TiddlerInfo/Fields/Caption\":{\"title\":\"$:/language/TiddlerInfo/Fields/Caption\",\"text\":\"字段\"},\"$:/language/TiddlerInfo/List/Caption\":{\"title\":\"$:/language/TiddlerInfo/List/Caption\",\"text\":\"列表\"},\"$:/language/TiddlerInfo/List/Empty\":{\"title\":\"$:/language/TiddlerInfo/List/Empty\",\"text\":\"此条目无指定列表\"},\"$:/language/TiddlerInfo/Listed/Caption\":{\"title\":\"$:/language/TiddlerInfo/Listed/Caption\",\"text\":\"被列于\"},\"$:/language/TiddlerInfo/Listed/Empty\":{\"title\":\"$:/language/TiddlerInfo/Listed/Empty\",\"text\":\"此条目未出现于其他条目的列表中\"},\"$:/language/TiddlerInfo/References/Caption\":{\"title\":\"$:/language/TiddlerInfo/References/Caption\",\"text\":\"反向链接\"},\"$:/language/TiddlerInfo/References/Empty\":{\"title\":\"$:/language/TiddlerInfo/References/Empty\",\"text\":\"无条目链接至此\"},\"$:/language/TiddlerInfo/Tagging/Caption\":{\"title\":\"$:/language/TiddlerInfo/Tagging/Caption\",\"text\":\"子条目\"},\"$:/language/TiddlerInfo/Tagging/Empty\":{\"title\":\"$:/language/TiddlerInfo/Tagging/Empty\",\"text\":\"无任何条目以此条目之标题为标签\"},\"$:/language/TiddlerInfo/Tools/Caption\":{\"title\":\"$:/language/TiddlerInfo/Tools/Caption\",\"text\":\"工具\"},\"$:/language/Docs/Types/application/javascript\":{\"title\":\"$:/language/Docs/Types/application/javascript\",\"description\":\"JavaScript 源码\",\"name\":\"application/javascript\",\"group\":\"开发者\"},\"$:/language/Docs/Types/application/json\":{\"title\":\"$:/language/Docs/Types/application/json\",\"description\":\"JSON 数据\",\"name\":\"application/json\",\"group\":\"开发者\"},\"$:/language/Docs/Types/application/x-tiddler-dictionary\":{\"title\":\"$:/language/Docs/Types/application/x-tiddler-dictionary\",\"description\":\"数据字典\",\"name\":\"application/x-tiddler-dictionary\",\"group\":\"开发者\"},\"$:/language/Docs/Types/image/gif\":{\"title\":\"$:/language/Docs/Types/image/gif\",\"description\":\"GIF 图像\",\"name\":\"image/gif\",\"group\":\"图像\"},\"$:/language/Docs/Types/image/jpeg\":{\"title\":\"$:/language/Docs/Types/image/jpeg\",\"description\":\"JPEG 图像\",\"name\":\"image/jpeg\",\"group\":\"图像\"},\"$:/language/Docs/Types/image/png\":{\"title\":\"$:/language/Docs/Types/image/png\",\"description\":\"PNG 图像\",\"name\":\"image/png\",\"group\":\"图像\"},\"$:/language/Docs/Types/image/svg+xml\":{\"title\":\"$:/language/Docs/Types/image/svg+xml\",\"description\":\"SVG 图像\",\"name\":\"image/svg+xml\",\"group\":\"图像\"},\"$:/language/Docs/Types/image/x-icon\":{\"title\":\"$:/language/Docs/Types/image/x-icon\",\"description\":\"ICO 图标\",\"name\":\"image/x-icon\",\"group\":\"图像\"},\"$:/language/Docs/Types/text/css\":{\"title\":\"$:/language/Docs/Types/text/css\",\"description\":\"静态样式\",\"name\":\"text/css\",\"group\":\"开发者\"},\"$:/language/Docs/Types/text/html\":{\"title\":\"$:/language/Docs/Types/text/html\",\"description\":\"HTML 标记\",\"name\":\"text/html\",\"group\":\"文本\"},\"$:/language/Docs/Types/text/plain\":{\"title\":\"$:/language/Docs/Types/text/plain\",\"description\":\"纯文本\",\"name\":\"text/plain\",\"group\":\"文本\"},\"$:/language/Docs/Types/text/vnd.tiddlywiki\":{\"title\":\"$:/language/Docs/Types/text/vnd.tiddlywiki\",\"description\":\"TiddlyWiki 5\",\"name\":\"text/vnd.tiddlywiki\",\"group\":\"文本\"},\"$:/language/Docs/Types/text/x-tiddlywiki\":{\"title\":\"$:/language/Docs/Types/text/x-tiddlywiki\",\"description\":\"TiddlyWiki 2\",\"name\":\"text/x-tiddlywiki\",\"group\":\"文本\"},\"$:/config/Search/MinLength\":{\"title\":\"$:/config/Search/MinLength\",\"text\":\"1\"},\"$:/languages/zh-Hans/icon\":{\"title\":\"$:/languages/zh-Hans/icon\",\"type\":\"image/svg+xml\",\"text\":\"\u003C?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n\u003C!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\">\\n\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"1500\\\" height=\\\"1000\\\" viewBox=\\\"-5 -5 30 20\\\">\\n\u003Ctitle>Flag of the People's Republic of China\u003C/title>\\n\u003Crect fill=\\\"#de2910\\\" x=\\\"-5\\\" y=\\\"-5\\\" width=\\\"30\\\" height=\\\"20\\\"/>\\n\u003Cdefs>\\n\u003Cpolygon id=\\\"s\\\" points=\\\"0,-513674 301930,415571 -488533,-158734 488533,-158734 -301930,415571\\\"\\nfill=\\\"#ffde00\\\" transform=\\\"scale(0.0000019467600073)\\\"/>\\n\u003C/defs>\\n\u003Cuse xlink:href=\\\"#s\\\" transform=\\\"scale(3)\\\"/>\\n\u003Cuse xlink:href=\\\"#s\\\" transform=\\\"translate(5,-3) rotate(-120.963756)\\\"/>\\n\u003Cuse xlink:href=\\\"#s\\\" transform=\\\"translate(7,-1) rotate(-98.130102)\\\"/>\\n\u003Cuse xlink:href=\\\"#s\\\" transform=\\\"translate(7,2) rotate(-74.054604)\\\"/>\\n\u003Cuse xlink:href=\\\"#s\\\" transform=\\\"translate(5,4) rotate(-51.3401917)\\\"/>\\n\u003C/svg>\\n\"}}}"}, +{"title":"$:/languages/zh-Hans","name":"zh-Hans","plugin-type":"language","description":"简体中文","author":"BramChen","core-version":">=5.0.8","plugin-priority":"100","version":"5.3.6","dependents":"","type":"application/json","text":"{\"tiddlers\":{\"$:/language/Buttons/AdvancedSearch/Caption\":{\"title\":\"$:/language/Buttons/AdvancedSearch/Caption\",\"text\":\"高级搜索\"},\"$:/language/Buttons/AdvancedSearch/Hint\":{\"title\":\"$:/language/Buttons/AdvancedSearch/Hint\",\"text\":\"高级搜索\"},\"$:/language/Buttons/Cancel/Caption\":{\"title\":\"$:/language/Buttons/Cancel/Caption\",\"text\":\"取消\"},\"$:/language/Buttons/Cancel/Hint\":{\"title\":\"$:/language/Buttons/Cancel/Hint\",\"text\":\"取消对此条目的修改\"},\"$:/language/Buttons/Clone/Caption\":{\"title\":\"$:/language/Buttons/Clone/Caption\",\"text\":\"复制\"},\"$:/language/Buttons/Clone/Hint\":{\"title\":\"$:/language/Buttons/Clone/Hint\",\"text\":\"复制此条目\"},\"$:/language/Buttons/Close/Caption\":{\"title\":\"$:/language/Buttons/Close/Caption\",\"text\":\"关闭\"},\"$:/language/Buttons/Close/Hint\":{\"title\":\"$:/language/Buttons/Close/Hint\",\"text\":\"关闭此条目\"},\"$:/language/Buttons/CloseAll/Caption\":{\"title\":\"$:/language/Buttons/CloseAll/Caption\",\"text\":\"全部关闭\"},\"$:/language/Buttons/CloseAll/Hint\":{\"title\":\"$:/language/Buttons/CloseAll/Hint\",\"text\":\"关闭所有条目\"},\"$:/language/Buttons/CloseOthers/Caption\":{\"title\":\"$:/language/Buttons/CloseOthers/Caption\",\"text\":\"关闭其他\"},\"$:/language/Buttons/CloseOthers/Hint\":{\"title\":\"$:/language/Buttons/CloseOthers/Hint\",\"text\":\"关闭其他条目\"},\"$:/language/Buttons/ControlPanel/Caption\":{\"title\":\"$:/language/Buttons/ControlPanel/Caption\",\"text\":\"控制台\"},\"$:/language/Buttons/ControlPanel/Hint\":{\"title\":\"$:/language/Buttons/ControlPanel/Hint\",\"text\":\"开启控制台\"},\"$:/language/Buttons/CopyToClipboard/Caption\":{\"title\":\"$:/language/Buttons/CopyToClipboard/Caption\",\"text\":\"复制到剪贴板\"},\"$:/language/Buttons/CopyToClipboard/Hint\":{\"title\":\"$:/language/Buttons/CopyToClipboard/Hint\",\"text\":\"将此文本复制到剪贴板\"},\"$:/language/Buttons/Delete/Caption\":{\"title\":\"$:/language/Buttons/Delete/Caption\",\"text\":\"删除\"},\"$:/language/Buttons/Delete/Hint\":{\"title\":\"$:/language/Buttons/Delete/Hint\",\"text\":\"删除此条目\"},\"$:/language/Buttons/DeleteTiddlers/Caption\":{\"title\":\"$:/language/Buttons/DeleteTiddlers/Caption\",\"text\":\"删除条目\"},\"$:/language/Buttons/DeleteTiddlers/Hint\":{\"title\":\"$:/language/Buttons/DeleteTiddlers/Hint\",\"text\":\"删除条目\"},\"$:/language/Buttons/Edit/Caption\":{\"title\":\"$:/language/Buttons/Edit/Caption\",\"text\":\"编辑\"},\"$:/language/Buttons/Edit/Hint\":{\"title\":\"$:/language/Buttons/Edit/Hint\",\"text\":\"编辑此条目\"},\"$:/language/Buttons/Encryption/Caption\":{\"title\":\"$:/language/Buttons/Encryption/Caption\",\"text\":\"加密\"},\"$:/language/Buttons/Encryption/Hint\":{\"title\":\"$:/language/Buttons/Encryption/Hint\",\"text\":\"设置或清除保存此维基的密码\"},\"$:/language/Buttons/Encryption/ClearPassword/Caption\":{\"title\":\"$:/language/Buttons/Encryption/ClearPassword/Caption\",\"text\":\"清除密码\"},\"$:/language/Buttons/Encryption/ClearPassword/Hint\":{\"title\":\"$:/language/Buttons/Encryption/ClearPassword/Hint\",\"text\":\"清除密码且不加密保存此维基\"},\"$:/language/Buttons/Encryption/SetPassword/Caption\":{\"title\":\"$:/language/Buttons/Encryption/SetPassword/Caption\",\"text\":\"设置密码\"},\"$:/language/Buttons/Encryption/SetPassword/Hint\":{\"title\":\"$:/language/Buttons/Encryption/SetPassword/Hint\",\"text\":\"设置加密保存此维基的密码\"},\"$:/language/Buttons/EmergencyDownload/Caption\":{\"title\":\"$:/language/Buttons/EmergencyDownload/Caption\",\"text\":\"下载条目为 json\"},\"$:/language/Buttons/ExportPage/Caption\":{\"title\":\"$:/language/Buttons/ExportPage/Caption\",\"text\":\"导出所有条目\"},\"$:/language/Buttons/ExportPage/Hint\":{\"title\":\"$:/language/Buttons/ExportPage/Hint\",\"text\":\"导出所有条目\"},\"$:/language/Buttons/ExportTiddler/Caption\":{\"title\":\"$:/language/Buttons/ExportTiddler/Caption\",\"text\":\"导出此条目\"},\"$:/language/Buttons/ExportTiddler/Hint\":{\"title\":\"$:/language/Buttons/ExportTiddler/Hint\",\"text\":\"导出此条目\"},\"$:/language/Buttons/ExportTiddlers/Caption\":{\"title\":\"$:/language/Buttons/ExportTiddlers/Caption\",\"text\":\"导出条目\"},\"$:/language/Buttons/ExportTiddlers/Hint\":{\"title\":\"$:/language/Buttons/ExportTiddlers/Hint\",\"text\":\"导出条目\"},\"$:/language/Buttons/SidebarSearch/Hint\":{\"title\":\"$:/language/Buttons/SidebarSearch/Hint\",\"text\":\"选择侧边栏的搜索字段\"},\"$:/language/Buttons/Fold/Caption\":{\"title\":\"$:/language/Buttons/Fold/Caption\",\"text\":\"折叠条目\"},\"$:/language/Buttons/Fold/Hint\":{\"title\":\"$:/language/Buttons/Fold/Hint\",\"text\":\"折叠此条目的内容\"},\"$:/language/Buttons/Unfold/Caption\":{\"title\":\"$:/language/Buttons/Unfold/Caption\",\"text\":\"展开条目\"},\"$:/language/Buttons/Unfold/Hint\":{\"title\":\"$:/language/Buttons/Unfold/Hint\",\"text\":\"展开此条目的内容\"},\"$:/language/Buttons/FoldOthers/Caption\":{\"title\":\"$:/language/Buttons/FoldOthers/Caption\",\"text\":\"折叠其他条目\"},\"$:/language/Buttons/FoldOthers/Hint\":{\"title\":\"$:/language/Buttons/FoldOthers/Hint\",\"text\":\"折叠其他已开启条目的内容\"},\"$:/language/Buttons/FoldAll/Caption\":{\"title\":\"$:/language/Buttons/FoldAll/Caption\",\"text\":\"折叠所有条目\"},\"$:/language/Buttons/FoldAll/Hint\":{\"title\":\"$:/language/Buttons/FoldAll/Hint\",\"text\":\"折叠所有已开启条目的内容\"},\"$:/language/Buttons/Fold/FoldBar/Caption\":{\"title\":\"$:/language/Buttons/Fold/FoldBar/Caption\",\"text\":\"折叠栏\"},\"$:/language/Buttons/Fold/FoldBar/Hint\":{\"title\":\"$:/language/Buttons/Fold/FoldBar/Hint\",\"text\":\"可选的折叠与展开条目的长条按钮\"},\"$:/language/Buttons/UnfoldAll/Caption\":{\"title\":\"$:/language/Buttons/UnfoldAll/Caption\",\"text\":\"展开所有条目\"},\"$:/language/Buttons/UnfoldAll/Hint\":{\"title\":\"$:/language/Buttons/UnfoldAll/Hint\",\"text\":\"展开所有已开启条目的内容\"},\"$:/language/Buttons/FullScreen/Caption\":{\"title\":\"$:/language/Buttons/FullScreen/Caption\",\"text\":\"全屏\"},\"$:/language/Buttons/FullScreen/Hint\":{\"title\":\"$:/language/Buttons/FullScreen/Hint\",\"text\":\"进入或退出全屏模式\"},\"$:/language/Buttons/Help/Caption\":{\"title\":\"$:/language/Buttons/Help/Caption\",\"text\":\"帮助\"},\"$:/language/Buttons/Help/Hint\":{\"title\":\"$:/language/Buttons/Help/Hint\",\"text\":\"显示帮助面板\"},\"$:/language/Buttons/Home/Caption\":{\"title\":\"$:/language/Buttons/Home/Caption\",\"text\":\"首页\"},\"$:/language/Buttons/Home/Hint\":{\"title\":\"$:/language/Buttons/Home/Hint\",\"text\":\"开启首页条目\"},\"$:/language/Buttons/Import/Caption\":{\"title\":\"$:/language/Buttons/Import/Caption\",\"text\":\"导入\"},\"$:/language/Buttons/Import/Hint\":{\"title\":\"$:/language/Buttons/Import/Hint\",\"text\":\"导入许多类型的文件包括文本、图像、~TiddlyWiki 或 JSON\"},\"$:/language/Buttons/Info/Caption\":{\"title\":\"$:/language/Buttons/Info/Caption\",\"text\":\"信息\"},\"$:/language/Buttons/Info/Hint\":{\"title\":\"$:/language/Buttons/Info/Hint\",\"text\":\"显示此条目的信息\"},\"$:/language/Buttons/Language/Caption\":{\"title\":\"$:/language/Buttons/Language/Caption\",\"text\":\"语言\"},\"$:/language/Buttons/Language/Hint\":{\"title\":\"$:/language/Buttons/Language/Hint\",\"text\":\"选择用户界面语言\"},\"$:/language/Buttons/LayoutSwitcher/Hint\":{\"title\":\"$:/language/Buttons/LayoutSwitcher/Hint\",\"text\":\"开启布局切换器\"},\"$:/language/Buttons/LayoutSwitcher/Caption\":{\"title\":\"$:/language/Buttons/LayoutSwitcher/Caption\",\"text\":\"布局\"},\"$:/language/Buttons/Manager/Caption\":{\"title\":\"$:/language/Buttons/Manager/Caption\",\"text\":\"条目管理器\"},\"$:/language/Buttons/Manager/Hint\":{\"title\":\"$:/language/Buttons/Manager/Hint\",\"text\":\"开启条目管理器\"},\"$:/language/Buttons/More/Caption\":{\"title\":\"$:/language/Buttons/More/Caption\",\"text\":\"更多\"},\"$:/language/Buttons/More/Hint\":{\"title\":\"$:/language/Buttons/More/Hint\",\"text\":\"更多操作\"},\"$:/language/Buttons/NewHere/Caption\":{\"title\":\"$:/language/Buttons/NewHere/Caption\",\"text\":\"添加子条目\"},\"$:/language/Buttons/NewHere/Hint\":{\"title\":\"$:/language/Buttons/NewHere/Hint\",\"text\":\"创建一个标签为此条目名称的新条目\"},\"$:/language/Buttons/NetworkActivity/Caption\":{\"title\":\"$:/language/Buttons/NetworkActivity/Caption\",\"text\":\"网络活动\"},\"$:/language/Buttons/NetworkActivity/Hint\":{\"title\":\"$:/language/Buttons/NetworkActivity/Hint\",\"text\":\"取消所有网络活动\"},\"$:/language/Buttons/NewJournal/Caption\":{\"title\":\"$:/language/Buttons/NewJournal/Caption\",\"text\":\"添加日志\"},\"$:/language/Buttons/NewJournal/Hint\":{\"title\":\"$:/language/Buttons/NewJournal/Hint\",\"text\":\"创建一个新的日志条目\"},\"$:/language/Buttons/NewJournalHere/Caption\":{\"title\":\"$:/language/Buttons/NewJournalHere/Caption\",\"text\":\"添加子日志\"},\"$:/language/Buttons/NewJournalHere/Hint\":{\"title\":\"$:/language/Buttons/NewJournalHere/Hint\",\"text\":\"创建一个标签含此条目名称的新日志条目\"},\"$:/language/Buttons/NewImage/Caption\":{\"title\":\"$:/language/Buttons/NewImage/Caption\",\"text\":\"添加图像\"},\"$:/language/Buttons/NewImage/Hint\":{\"title\":\"$:/language/Buttons/NewImage/Hint\",\"text\":\"创建一个新的图像条目\"},\"$:/language/Buttons/NewMarkdown/Caption\":{\"title\":\"$:/language/Buttons/NewMarkdown/Caption\",\"text\":\"添加 Markdown 条目\"},\"$:/language/Buttons/NewMarkdown/Hint\":{\"title\":\"$:/language/Buttons/NewMarkdown/Hint\",\"text\":\"创建一个新的 Markdown 条目\"},\"$:/language/Buttons/NewTiddler/Caption\":{\"title\":\"$:/language/Buttons/NewTiddler/Caption\",\"text\":\"添加条目\"},\"$:/language/Buttons/NewTiddler/Hint\":{\"title\":\"$:/language/Buttons/NewTiddler/Hint\",\"text\":\"创建一个新的条目\"},\"$:/language/Buttons/OpenControlPanel/Hint\":{\"title\":\"$:/language/Buttons/OpenControlPanel/Hint\",\"text\":\"开启控制台\"},\"$:/language/Buttons/OpenWindow/Caption\":{\"title\":\"$:/language/Buttons/OpenWindow/Caption\",\"text\":\"开启于新窗口\"},\"$:/language/Buttons/OpenWindow/Hint\":{\"title\":\"$:/language/Buttons/OpenWindow/Hint\",\"text\":\"在新窗口中开启条目\"},\"$:/language/Buttons/Palette/Caption\":{\"title\":\"$:/language/Buttons/Palette/Caption\",\"text\":\"调色板\"},\"$:/language/Buttons/Palette/Hint\":{\"title\":\"$:/language/Buttons/Palette/Hint\",\"text\":\"选择调色板\"},\"$:/language/Buttons/Permalink/Caption\":{\"title\":\"$:/language/Buttons/Permalink/Caption\",\"text\":\"引用链接\"},\"$:/language/Buttons/Permalink/Hint\":{\"title\":\"$:/language/Buttons/Permalink/Hint\",\"text\":\"设置浏览器网址栏为直接链接到此条目\"},\"$:/language/Buttons/Permaview/Caption\":{\"title\":\"$:/language/Buttons/Permaview/Caption\",\"text\":\"永久链接\"},\"$:/language/Buttons/Permaview/Hint\":{\"title\":\"$:/language/Buttons/Permaview/Hint\",\"text\":\"设置浏览器网址栏为直接链接到当前所有已开启条目\"},\"$:/language/Buttons/Print/Caption\":{\"title\":\"$:/language/Buttons/Print/Caption\",\"text\":\"打印页面\"},\"$:/language/Buttons/Print/Hint\":{\"title\":\"$:/language/Buttons/Print/Hint\",\"text\":\"打印当前页面\"},\"$:/language/Buttons/Refresh/Caption\":{\"title\":\"$:/language/Buttons/Refresh/Caption\",\"text\":\"刷新\"},\"$:/language/Buttons/Refresh/Hint\":{\"title\":\"$:/language/Buttons/Refresh/Hint\",\"text\":\"执行维基的完全刷新\"},\"$:/language/Buttons/Save/Caption\":{\"title\":\"$:/language/Buttons/Save/Caption\",\"text\":\"确定\"},\"$:/language/Buttons/Save/Hint\":{\"title\":\"$:/language/Buttons/Save/Hint\",\"text\":\"确定对此条目的更改\"},\"$:/language/Buttons/SaveWiki/Caption\":{\"title\":\"$:/language/Buttons/SaveWiki/Caption\",\"text\":\"保存变更\"},\"$:/language/Buttons/SaveWiki/Hint\":{\"title\":\"$:/language/Buttons/SaveWiki/Hint\",\"text\":\"保存变更\"},\"$:/language/Buttons/StoryView/Caption\":{\"title\":\"$:/language/Buttons/StoryView/Caption\",\"text\":\"视图模式\"},\"$:/language/Buttons/StoryView/Hint\":{\"title\":\"$:/language/Buttons/StoryView/Hint\",\"text\":\"选择查看条目的视觉效果\"},\"$:/language/Buttons/HideSideBar/Caption\":{\"title\":\"$:/language/Buttons/HideSideBar/Caption\",\"text\":\"隐藏侧边栏\"},\"$:/language/Buttons/HideSideBar/Hint\":{\"title\":\"$:/language/Buttons/HideSideBar/Hint\",\"text\":\"隐藏侧边栏\"},\"$:/language/Buttons/ShowSideBar/Caption\":{\"title\":\"$:/language/Buttons/ShowSideBar/Caption\",\"text\":\"显示侧边栏\"},\"$:/language/Buttons/ShowSideBar/Hint\":{\"title\":\"$:/language/Buttons/ShowSideBar/Hint\",\"text\":\"显示侧边栏\"},\"$:/language/Buttons/TagManager/Caption\":{\"title\":\"$:/language/Buttons/TagManager/Caption\",\"text\":\"标签管理\"},\"$:/language/Buttons/TagManager/Hint\":{\"title\":\"$:/language/Buttons/TagManager/Hint\",\"text\":\"标签管理\"},\"$:/language/Buttons/TestCaseImport/Caption\":{\"title\":\"$:/language/Buttons/TestCaseImport/Caption\",\"text\":\"导入条目\"},\"$:/language/Buttons/TestCaseImport/Hint\":{\"title\":\"$:/language/Buttons/TestCaseImport/Hint\",\"text\":\"导入条目\"},\"$:/language/Buttons/Timestamp/Caption\":{\"title\":\"$:/language/Buttons/Timestamp/Caption\",\"text\":\"时间戳\"},\"$:/language/Buttons/Timestamp/Hint\":{\"title\":\"$:/language/Buttons/Timestamp/Hint\",\"text\":\"选择修改是否更新时间戳\"},\"$:/language/Buttons/Timestamp/On/Caption\":{\"title\":\"$:/language/Buttons/Timestamp/On/Caption\",\"text\":\"时间戳开启\"},\"$:/language/Buttons/Timestamp/On/Hint\":{\"title\":\"$:/language/Buttons/Timestamp/On/Hint\",\"text\":\"条目被修改时,更新时间戳\"},\"$:/language/Buttons/Timestamp/Off/Caption\":{\"title\":\"$:/language/Buttons/Timestamp/Off/Caption\",\"text\":\"时间戳关闭\"},\"$:/language/Buttons/Timestamp/Off/Hint\":{\"title\":\"$:/language/Buttons/Timestamp/Off/Hint\",\"text\":\"条目被修改时,不更新时间戳\"},\"$:/language/Buttons/Theme/Caption\":{\"title\":\"$:/language/Buttons/Theme/Caption\",\"text\":\"布局主题\"},\"$:/language/Buttons/Theme/Hint\":{\"title\":\"$:/language/Buttons/Theme/Hint\",\"text\":\"选择布局主题\"},\"$:/language/Buttons/Bold/Caption\":{\"title\":\"$:/language/Buttons/Bold/Caption\",\"text\":\"粗体\"},\"$:/language/Buttons/Bold/Hint\":{\"title\":\"$:/language/Buttons/Bold/Hint\",\"text\":\"套用粗体格式于所选文本\"},\"$:/language/Buttons/Clear/Caption\":{\"title\":\"$:/language/Buttons/Clear/Caption\",\"text\":\"清除\"},\"$:/language/Buttons/Clear/Hint\":{\"title\":\"$:/language/Buttons/Clear/Hint\",\"text\":\"清除图像为纯色\"},\"$:/language/Buttons/EditorHeight/Caption\":{\"title\":\"$:/language/Buttons/EditorHeight/Caption\",\"text\":\"编辑器高度\"},\"$:/language/Buttons/EditorHeight/Caption/Auto\":{\"title\":\"$:/language/Buttons/EditorHeight/Caption/Auto\",\"text\":\"自动调整高度以适应内容\"},\"$:/language/Buttons/EditorHeight/Caption/Fixed\":{\"title\":\"$:/language/Buttons/EditorHeight/Caption/Fixed\",\"text\":\"固定高度︰\"},\"$:/language/Buttons/EditorHeight/Hint\":{\"title\":\"$:/language/Buttons/EditorHeight/Hint\",\"text\":\"选择文本编辑器的高度\"},\"$:/language/Buttons/Excise/Caption\":{\"title\":\"$:/language/Buttons/Excise/Caption\",\"text\":\"剪切\"},\"$:/language/Buttons/Excise/Caption/Excise\":{\"title\":\"$:/language/Buttons/Excise/Caption/Excise\",\"text\":\"执行剪切\"},\"$:/language/Buttons/Excise/Caption/MacroName\":{\"title\":\"$:/language/Buttons/Excise/Caption/MacroName\",\"text\":\"宏的名称︰\"},\"$:/language/Buttons/Excise/Caption/NewTitle\":{\"title\":\"$:/language/Buttons/Excise/Caption/NewTitle\",\"text\":\"新条目的名称︰\"},\"$:/language/Buttons/Excise/Caption/Replace\":{\"title\":\"$:/language/Buttons/Excise/Caption/Replace\",\"text\":\"替换剪切的文本为:\"},\"$:/language/Buttons/Excise/Caption/Replace/Macro\":{\"title\":\"$:/language/Buttons/Excise/Caption/Replace/Macro\",\"text\":\"宏\"},\"$:/language/Buttons/Excise/Caption/Replace/Link\":{\"title\":\"$:/language/Buttons/Excise/Caption/Replace/Link\",\"text\":\"链接\"},\"$:/language/Buttons/Excise/Caption/Replace/Transclusion\":{\"title\":\"$:/language/Buttons/Excise/Caption/Replace/Transclusion\",\"text\":\"嵌入\"},\"$:/language/Buttons/Excise/Caption/Tag\":{\"title\":\"$:/language/Buttons/Excise/Caption/Tag\",\"text\":\"将新条目的标签设为此条目的名称\"},\"$:/language/Buttons/Excise/Caption/TiddlerExists\":{\"title\":\"$:/language/Buttons/Excise/Caption/TiddlerExists\",\"text\":\"提醒:条目已经存在\"},\"$:/language/Buttons/Excise/DefaultTitle\":{\"title\":\"$:/language/Buttons/Excise/DefaultTitle\",\"text\":\"新的剪切\"},\"$:/language/Buttons/Excise/Hint\":{\"title\":\"$:/language/Buttons/Excise/Hint\",\"text\":\"剪切所选文本到一个新条目\"},\"$:/language/Buttons/Heading1/Caption\":{\"title\":\"$:/language/Buttons/Heading1/Caption\",\"text\":\"标题 1\"},\"$:/language/Buttons/Heading1/Hint\":{\"title\":\"$:/language/Buttons/Heading1/Hint\",\"text\":\"套用标题级别 1 的格式于包含所选文本的列\"},\"$:/language/Buttons/Heading2/Caption\":{\"title\":\"$:/language/Buttons/Heading2/Caption\",\"text\":\"标题 2\"},\"$:/language/Buttons/Heading2/Hint\":{\"title\":\"$:/language/Buttons/Heading2/Hint\",\"text\":\"套用标题级别 2 的格式于包含所选文本的列\"},\"$:/language/Buttons/Heading3/Caption\":{\"title\":\"$:/language/Buttons/Heading3/Caption\",\"text\":\"标题 3\"},\"$:/language/Buttons/Heading3/Hint\":{\"title\":\"$:/language/Buttons/Heading3/Hint\",\"text\":\"套用标题级别 3 的格式于包含所选文本的列\"},\"$:/language/Buttons/Heading4/Caption\":{\"title\":\"$:/language/Buttons/Heading4/Caption\",\"text\":\"标题 4\"},\"$:/language/Buttons/Heading4/Hint\":{\"title\":\"$:/language/Buttons/Heading4/Hint\",\"text\":\"套用标题级别 4 的格式于包含所选文本的列\"},\"$:/language/Buttons/Heading5/Caption\":{\"title\":\"$:/language/Buttons/Heading5/Caption\",\"text\":\"标题 5\"},\"$:/language/Buttons/Heading5/Hint\":{\"title\":\"$:/language/Buttons/Heading5/Hint\",\"text\":\"套用标题级别 5 的格式于包含所选文本的列\"},\"$:/language/Buttons/Heading6/Caption\":{\"title\":\"$:/language/Buttons/Heading6/Caption\",\"text\":\"标题 6\"},\"$:/language/Buttons/Heading6/Hint\":{\"title\":\"$:/language/Buttons/Heading6/Hint\",\"text\":\"套用标题级别 6 的格式于包含所选文本的列\"},\"$:/language/Buttons/Italic/Caption\":{\"title\":\"$:/language/Buttons/Italic/Caption\",\"text\":\"斜体\"},\"$:/language/Buttons/Italic/Hint\":{\"title\":\"$:/language/Buttons/Italic/Hint\",\"text\":\"套用斜体格式于所选文本\"},\"$:/language/Buttons/LineWidth/Caption\":{\"title\":\"$:/language/Buttons/LineWidth/Caption\",\"text\":\"线宽\"},\"$:/language/Buttons/LineWidth/Hint\":{\"title\":\"$:/language/Buttons/LineWidth/Hint\",\"text\":\"设置绘画的线条宽度\"},\"$:/language/Buttons/Link/Caption\":{\"title\":\"$:/language/Buttons/Link/Caption\",\"text\":\"链接\"},\"$:/language/Buttons/Link/Hint\":{\"title\":\"$:/language/Buttons/Link/Hint\",\"text\":\"创建维基文字链接\"},\"$:/language/Buttons/Linkify/Caption\":{\"title\":\"$:/language/Buttons/Linkify/Caption\",\"text\":\"维基链接\"},\"$:/language/Buttons/Linkify/Hint\":{\"title\":\"$:/language/Buttons/Linkify/Hint\",\"text\":\"套用维基链接于所选文字\"},\"$:/language/Buttons/ListBullet/Caption\":{\"title\":\"$:/language/Buttons/ListBullet/Caption\",\"text\":\"符号清单\"},\"$:/language/Buttons/ListBullet/Hint\":{\"title\":\"$:/language/Buttons/ListBullet/Hint\",\"text\":\"套用符号清单格式于包含所选文本的列\"},\"$:/language/Buttons/ListNumber/Caption\":{\"title\":\"$:/language/Buttons/ListNumber/Caption\",\"text\":\"数字清单\"},\"$:/language/Buttons/ListNumber/Hint\":{\"title\":\"$:/language/Buttons/ListNumber/Hint\",\"text\":\"套用数字清单格式于包含所选文本的列\"},\"$:/language/Buttons/MonoBlock/Caption\":{\"title\":\"$:/language/Buttons/MonoBlock/Caption\",\"text\":\"等宽区块\"},\"$:/language/Buttons/MonoBlock/Hint\":{\"title\":\"$:/language/Buttons/MonoBlock/Hint\",\"text\":\"套用等宽区块格式于包含所选文本的列\"},\"$:/language/Buttons/MonoLine/Caption\":{\"title\":\"$:/language/Buttons/MonoLine/Caption\",\"text\":\"等宽\"},\"$:/language/Buttons/MonoLine/Hint\":{\"title\":\"$:/language/Buttons/MonoLine/Hint\",\"text\":\"套用等宽字符格式于所选文本\"},\"$:/language/Buttons/Opacity/Caption\":{\"title\":\"$:/language/Buttons/Opacity/Caption\",\"text\":\"不透明度\"},\"$:/language/Buttons/Opacity/Hint\":{\"title\":\"$:/language/Buttons/Opacity/Hint\",\"text\":\"设置绘画的不透明度\"},\"$:/language/Buttons/Paint/Caption\":{\"title\":\"$:/language/Buttons/Paint/Caption\",\"text\":\"绘画颜色\"},\"$:/language/Buttons/Paint/Hint\":{\"title\":\"$:/language/Buttons/Paint/Hint\",\"text\":\"设置绘画的颜色\"},\"$:/language/Buttons/Picture/Caption\":{\"title\":\"$:/language/Buttons/Picture/Caption\",\"text\":\"图片\"},\"$:/language/Buttons/Picture/Hint\":{\"title\":\"$:/language/Buttons/Picture/Hint\",\"text\":\"插入图片\"},\"$:/language/Buttons/Preview/Caption\":{\"title\":\"$:/language/Buttons/Preview/Caption\",\"text\":\"预览\"},\"$:/language/Buttons/Preview/Hint\":{\"title\":\"$:/language/Buttons/Preview/Hint\",\"text\":\"显示预览窗格\"},\"$:/language/Buttons/PreviewType/Caption\":{\"title\":\"$:/language/Buttons/PreviewType/Caption\",\"text\":\"预览类型\"},\"$:/language/Buttons/PreviewType/Hint\":{\"title\":\"$:/language/Buttons/PreviewType/Hint\",\"text\":\"选择预览类型\"},\"$:/language/Buttons/Quote/Caption\":{\"title\":\"$:/language/Buttons/Quote/Caption\",\"text\":\"引用\"},\"$:/language/Buttons/Quote/Hint\":{\"title\":\"$:/language/Buttons/Quote/Hint\",\"text\":\"套用引用文本格式于包含所选文本的列\"},\"$:/language/Buttons/RotateLeft/Caption\":{\"title\":\"$:/language/Buttons/RotateLeft/Caption\",\"text\":\"向左旋转\"},\"$:/language/Buttons/RotateLeft/Hint\":{\"title\":\"$:/language/Buttons/RotateLeft/Hint\",\"text\":\"图像向左旋转 90 度\"},\"$:/language/Buttons/Size/Caption\":{\"title\":\"$:/language/Buttons/Size/Caption\",\"text\":\"图像大小\"},\"$:/language/Buttons/Size/Caption/Height\":{\"title\":\"$:/language/Buttons/Size/Caption/Height\",\"text\":\"高度︰\"},\"$:/language/Buttons/Size/Caption/Resize\":{\"title\":\"$:/language/Buttons/Size/Caption/Resize\",\"text\":\"调整图像的大小\"},\"$:/language/Buttons/Size/Caption/Width\":{\"title\":\"$:/language/Buttons/Size/Caption/Width\",\"text\":\"宽度:\"},\"$:/language/Buttons/Size/Hint\":{\"title\":\"$:/language/Buttons/Size/Hint\",\"text\":\"设置图像的大小\"},\"$:/language/Buttons/Stamp/Caption\":{\"title\":\"$:/language/Buttons/Stamp/Caption\",\"text\":\"印记\"},\"$:/language/Buttons/Stamp/Caption/New\":{\"title\":\"$:/language/Buttons/Stamp/Caption/New\",\"text\":\"添加您自己的\"},\"$:/language/Buttons/Stamp/Hint\":{\"title\":\"$:/language/Buttons/Stamp/Hint\",\"text\":\"插入一个预配置的文本片段\"},\"$:/language/Buttons/Stamp/New/Title\":{\"title\":\"$:/language/Buttons/Stamp/New/Title\",\"text\":\"在选单中显示的标题\"},\"$:/language/Buttons/Stamp/New/Text\":{\"title\":\"$:/language/Buttons/Stamp/New/Text\",\"text\":\"片段的文本。(记得在 `caption` 字段中添加一个说明性的标题)。\"},\"$:/language/Buttons/Strikethrough/Caption\":{\"title\":\"$:/language/Buttons/Strikethrough/Caption\",\"text\":\"删除线\"},\"$:/language/Buttons/Strikethrough/Hint\":{\"title\":\"$:/language/Buttons/Strikethrough/Hint\",\"text\":\"套用删除线格式于所选文本\"},\"$:/language/Buttons/Subscript/Caption\":{\"title\":\"$:/language/Buttons/Subscript/Caption\",\"text\":\"下标\"},\"$:/language/Buttons/Subscript/Hint\":{\"title\":\"$:/language/Buttons/Subscript/Hint\",\"text\":\"套用下标格式于所选文本\"},\"$:/language/Buttons/Superscript/Caption\":{\"title\":\"$:/language/Buttons/Superscript/Caption\",\"text\":\"上标\"},\"$:/language/Buttons/Superscript/Hint\":{\"title\":\"$:/language/Buttons/Superscript/Hint\",\"text\":\"套用上标格式于所选文本\"},\"$:/language/Buttons/ToggleSidebar/Hint\":{\"title\":\"$:/language/Buttons/ToggleSidebar/Hint\",\"text\":\"切换显示或隐藏侧边栏\"},\"$:/language/Buttons/Transcludify/Caption\":{\"title\":\"$:/language/Buttons/Transcludify/Caption\",\"text\":\"嵌入\"},\"$:/language/Buttons/Transcludify/Hint\":{\"title\":\"$:/language/Buttons/Transcludify/Hint\",\"text\":\"套用嵌入于所选文字\"},\"$:/language/Buttons/Underline/Caption\":{\"title\":\"$:/language/Buttons/Underline/Caption\",\"text\":\"下划线\"},\"$:/language/Buttons/Underline/Hint\":{\"title\":\"$:/language/Buttons/Underline/Hint\",\"text\":\"套用下划线格式于所选文本\"},\"$:/language/ControlPanel/Advanced/Caption\":{\"title\":\"$:/language/ControlPanel/Advanced/Caption\",\"text\":\"高级\"},\"$:/language/ControlPanel/Advanced/Hint\":{\"title\":\"$:/language/ControlPanel/Advanced/Hint\",\"text\":\"关于此 TiddlyWiki 的内部信息\"},\"$:/language/ControlPanel/Appearance/Caption\":{\"title\":\"$:/language/ControlPanel/Appearance/Caption\",\"text\":\"外观\"},\"$:/language/ControlPanel/Appearance/Hint\":{\"title\":\"$:/language/ControlPanel/Appearance/Hint\",\"text\":\"定制您的 TiddlyWiki 外观。\"},\"$:/language/ControlPanel/Basics/AnimDuration/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/AnimDuration/Prompt\",\"text\":\"动画持续时间\"},\"$:/language/ControlPanel/Basics/AutoFocus/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/AutoFocus/Prompt\",\"text\":\"编辑条目时的默认自动停留字段\"},\"$:/language/ControlPanel/Basics/Caption\":{\"title\":\"$:/language/ControlPanel/Basics/Caption\",\"text\":\"基础\"},\"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint\":{\"title\":\"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint\",\"text\":\"标题含空白时请使用 [[双中括弧]],或者您可用 {{保留开启中的条目顺序||$:/snippets/retain-story-ordering-button}}\"},\"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt\",\"text\":\"首页\"},\"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint\":{\"title\":\"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint\",\"text\":\"默认开启的条目\"},\"$:/language/ControlPanel/Basics/Language/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/Language/Prompt\",\"text\":\"您好!当前的语言:\"},\"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt\",\"text\":\"新日志条目的标签\"},\"$:/language/ControlPanel/Basics/NewJournal/Text/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/NewJournal/Text/Prompt\",\"text\":\"新日志条目的内容\"},\"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt\",\"text\":\"新日志条目的名称\"},\"$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt\",\"text\":\"新条目的标签\"},\"$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt\",\"text\":\"新条目的名称\"},\"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt\",\"text\":\"被覆盖的默认条目数量\"},\"$:/language/ControlPanel/Basics/RemoveTags\":{\"title\":\"$:/language/ControlPanel/Basics/RemoveTags\",\"text\":\"更新到当前格式\"},\"$:/language/ControlPanel/Basics/RemoveTags/Hint\":{\"title\":\"$:/language/ControlPanel/Basics/RemoveTags/Hint\",\"text\":\"将标签配置更新为最新格式\"},\"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt\",\"text\":\"默认条目数量\"},\"$:/language/ControlPanel/Basics/Subtitle/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/Subtitle/Prompt\",\"text\":\"副标题\"},\"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt\",\"text\":\"系统条目数量\"},\"$:/language/ControlPanel/Basics/Tags/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/Tags/Prompt\",\"text\":\"标签数量\"},\"$:/language/ControlPanel/Basics/Tiddlers/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/Tiddlers/Prompt\",\"text\":\"一般条目数量\"},\"$:/language/ControlPanel/Basics/Title/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/Title/Prompt\",\"text\":\"此 ~TiddlyWiki 的标题\"},\"$:/language/ControlPanel/Basics/Username/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/Username/Prompt\",\"text\":\"编辑者署名\"},\"$:/language/ControlPanel/Basics/Version/Prompt\":{\"title\":\"$:/language/ControlPanel/Basics/Version/Prompt\",\"text\":\"~TiddlyWiki 版本\"},\"$:/language/ControlPanel/Cascades/Caption\":{\"title\":\"$:/language/ControlPanel/Cascades/Caption\",\"text\":\"级联\"},\"$:/language/ControlPanel/Cascades/Hint\":{\"title\":\"$:/language/ControlPanel/Cascades/Hint\",\"text\":\"这些全域规则用于动态选择某些模板。级联的结果是返回结果的序列中的第一个筛选的结果\"},\"$:/language/ControlPanel/Cascades/TagPrompt\":{\"title\":\"$:/language/ControlPanel/Cascades/TagPrompt\",\"text\":\"筛选器标签为 \u003C$macrocall $name=\\\"tag\\\" tag=\u003C\u003CcurrentTiddler>>/>\"},\"$:/language/ControlPanel/EditorTypes/Caption\":{\"title\":\"$:/language/ControlPanel/EditorTypes/Caption\",\"text\":\"编辑器类型\"},\"$:/language/ControlPanel/EditorTypes/Editor/Caption\":{\"title\":\"$:/language/ControlPanel/EditorTypes/Editor/Caption\",\"text\":\"编辑器\"},\"$:/language/ControlPanel/EditorTypes/Hint\":{\"title\":\"$:/language/ControlPanel/EditorTypes/Hint\",\"text\":\"这些条目决定使用哪个编辑器来编辑特定条目类型。\"},\"$:/language/ControlPanel/EditorTypes/Type/Caption\":{\"title\":\"$:/language/ControlPanel/EditorTypes/Type/Caption\",\"text\":\"类型\"},\"$:/language/ControlPanel/EditTemplateBody/Caption\":{\"title\":\"$:/language/ControlPanel/EditTemplateBody/Caption\",\"text\":\"编辑模板主体\"},\"$:/language/ControlPanel/EditTemplateBody/Hint\":{\"title\":\"$:/language/ControlPanel/EditTemplateBody/Hint\",\"text\":\"默认的编辑模板使用此规则级联,动态选择模板来编辑条目的主体。\"},\"$:/language/ControlPanel/FieldEditor/Caption\":{\"title\":\"$:/language/ControlPanel/FieldEditor/Caption\",\"text\":\"字段编辑器\"},\"$:/language/ControlPanel/FieldEditor/Hint\":{\"title\":\"$:/language/ControlPanel/FieldEditor/Hint\",\"text\":\"此规则级联用于根据名称,动态选择用于呈现一个条目字段的模板。其用于编辑模板中。\"},\"$:/language/ControlPanel/Info/Caption\":{\"title\":\"$:/language/ControlPanel/Info/Caption\",\"text\":\"信息\"},\"$:/language/ControlPanel/Info/Hint\":{\"title\":\"$:/language/ControlPanel/Info/Hint\",\"text\":\"有关此 TiddlyWiki 的信息\"},\"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt\",\"text\":\"在此输入快捷键\"},\"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption\",\"text\":\"添加快捷键\"},\"$:/language/ControlPanel/KeyboardShortcuts/Caption\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Caption\",\"text\":\"快捷键\"},\"$:/language/ControlPanel/KeyboardShortcuts/Hint\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Hint\",\"text\":\"管理键盘快捷键分配\"},\"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption\",\"text\":\"尚无指定快捷键\"},\"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint\",\"text\":\"删除快捷键\"},\"$:/language/ControlPanel/KeyboardShortcuts/Platform/All\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Platform/All\",\"text\":\"所有平台\"},\"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac\",\"text\":\"仅 Macintosh 平台\"},\"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac\",\"text\":\"仅非 Macintosh 平台\"},\"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux\",\"text\":\"仅 Linux 平台\"},\"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux\",\"text\":\"仅非 Linux 平台\"},\"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows\",\"text\":\"仅 Windows 平台\"},\"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows\":{\"title\":\"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows\",\"text\":\"仅非 Windows 平台\"},\"$:/language/ControlPanel/LayoutSwitcher/Caption\":{\"title\":\"$:/language/ControlPanel/LayoutSwitcher/Caption\",\"text\":\"布局\"},\"$:/language/ControlPanel/LoadedModules/Caption\":{\"title\":\"$:/language/ControlPanel/LoadedModules/Caption\",\"text\":\"已加载的模块\"},\"$:/language/ControlPanel/LoadedModules/Hint\":{\"title\":\"$:/language/ControlPanel/LoadedModules/Hint\",\"text\":\"这些是当前已加载的模块之源码条目。斜体的模块则无源码条目,通常是因为它们是在引导过程中设置。\"},\"$:/language/ControlPanel/Palette/Caption\":{\"title\":\"$:/language/ControlPanel/Palette/Caption\",\"text\":\"调色板\"},\"$:/language/ControlPanel/Palette/Editor/Clone/Caption\":{\"title\":\"$:/language/ControlPanel/Palette/Editor/Clone/Caption\",\"text\":\"复制\"},\"$:/language/ControlPanel/Palette/Editor/Clone/Prompt\":{\"title\":\"$:/language/ControlPanel/Palette/Editor/Clone/Prompt\",\"text\":\"建议您修改前先复制此默认调色板\"},\"$:/language/ControlPanel/Palette/Editor/Delete/Hint\":{\"title\":\"$:/language/ControlPanel/Palette/Editor/Delete/Hint\",\"text\":\"从当前调色板中删除此项\"},\"$:/language/ControlPanel/Palette/Editor/Names/External/Show\":{\"title\":\"$:/language/ControlPanel/Palette/Editor/Names/External/Show\",\"text\":\"显示不属于当前调色板的颜色名称\"},\"$:/language/ControlPanel/Palette/Editor/Prompt/Modified\":{\"title\":\"$:/language/ControlPanel/Palette/Editor/Prompt/Modified\",\"text\":\"此默认调色板已被修改过\"},\"$:/language/ControlPanel/Palette/Editor/Prompt\":{\"title\":\"$:/language/ControlPanel/Palette/Editor/Prompt\",\"text\":\"编辑\"},\"$:/language/ControlPanel/Palette/Editor/Reset/Caption\":{\"title\":\"$:/language/ControlPanel/Palette/Editor/Reset/Caption\",\"text\":\"重置\"},\"$:/language/ControlPanel/Palette/HideEditor/Caption\":{\"title\":\"$:/language/ControlPanel/Palette/HideEditor/Caption\",\"text\":\"隐藏编辑器\"},\"$:/language/ControlPanel/Palette/Prompt\":{\"title\":\"$:/language/ControlPanel/Palette/Prompt\",\"text\":\"当前的调色板:\"},\"$:/language/ControlPanel/Palette/ShowEditor/Caption\":{\"title\":\"$:/language/ControlPanel/Palette/ShowEditor/Caption\",\"text\":\"显示编辑器\"},\"$:/language/ControlPanel/Plugins/Add/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Add/Hint\",\"text\":\"从官方插件库安装插件\"},\"$:/language/ControlPanel/Plugins/Add/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Add/Caption\",\"text\":\"获取更多插件\"},\"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint\",\"text\":\"此插件已经安装版本 \u003C$text text=\u003C\u003CinstalledVersion>>/>\"},\"$:/language/ControlPanel/Plugins/AlsoRequires\":{\"title\":\"$:/language/ControlPanel/Plugins/AlsoRequires\",\"text\":\"还需要:\"},\"$:/language/ControlPanel/Plugins/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Caption\",\"text\":\"插件\"},\"$:/language/ControlPanel/Plugins/Disable/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Disable/Caption\",\"text\":\"禁用\"},\"$:/language/ControlPanel/Plugins/Disable/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Disable/Hint\",\"text\":\"重新加载页面时禁用此插件\"},\"$:/language/ControlPanel/Plugins/Disabled/Status\":{\"title\":\"$:/language/ControlPanel/Plugins/Disabled/Status\",\"text\":\"(已禁用)\"},\"$:/language/ControlPanel/Plugins/Downgrade/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Downgrade/Caption\",\"text\":\"降级\"},\"$:/language/ControlPanel/Plugins/Empty/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Empty/Hint\",\"text\":\"无\"},\"$:/language/ControlPanel/Plugins/Enable/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Enable/Caption\",\"text\":\"启用\"},\"$:/language/ControlPanel/Plugins/Enable/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Enable/Hint\",\"text\":\"重新加载页面时启用此插件\"},\"$:/language/ControlPanel/Plugins/Install/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Install/Caption\",\"text\":\"安装\"},\"$:/language/ControlPanel/Plugins/Installed/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Installed/Hint\",\"text\":\"当前已安装的插件:\"},\"$:/language/ControlPanel/Plugins/Languages/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Languages/Caption\",\"text\":\"语言\"},\"$:/language/ControlPanel/Plugins/Languages/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Languages/Hint\",\"text\":\"语言包插件\"},\"$:/language/ControlPanel/Plugins/NoInfoFound/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/NoInfoFound/Hint\",\"text\":\"无 ''\\\"\u003C$text text=\u003C\u003CcurrentTab>>/>\\\"''\"},\"$:/language/ControlPanel/Plugins/NoInformation/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/NoInformation/Hint\",\"text\":\"未提供信息\"},\"$:/language/ControlPanel/Plugins/NotInstalled/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/NotInstalled/Hint\",\"text\":\"尚未安装此插件\"},\"$:/language/ControlPanel/Plugins/OpenPluginLibrary\":{\"title\":\"$:/language/ControlPanel/Plugins/OpenPluginLibrary\",\"text\":\"打开插件库\"},\"$:/language/ControlPanel/Plugins/ClosePluginLibrary\":{\"title\":\"$:/language/ControlPanel/Plugins/ClosePluginLibrary\",\"text\":\"关闭插件库\"},\"$:/language/ControlPanel/Plugins/PluginWillRequireReload\":{\"title\":\"$:/language/ControlPanel/Plugins/PluginWillRequireReload\",\"text\":\"(需要重新加载)\"},\"$:/language/ControlPanel/Plugins/Plugins/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Plugins/Caption\",\"text\":\"插件\"},\"$:/language/ControlPanel/Plugins/Plugins/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Plugins/Hint\",\"text\":\"插件\"},\"$:/language/ControlPanel/Plugins/Reinstall/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Reinstall/Caption\",\"text\":\"重新安装\"},\"$:/language/ControlPanel/Plugins/Themes/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Themes/Caption\",\"text\":\"布局主题\"},\"$:/language/ControlPanel/Plugins/Themes/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Themes/Hint\",\"text\":\"布局主题插件\"},\"$:/language/ControlPanel/Plugins/Update/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Update/Caption\",\"text\":\"更新\"},\"$:/language/ControlPanel/Plugins/Updates/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Updates/Caption\",\"text\":\"更新\"},\"$:/language/ControlPanel/Plugins/Updates/Hint\":{\"title\":\"$:/language/ControlPanel/Plugins/Updates/Hint\",\"text\":\"已安装插件的可用更新\"},\"$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption\":{\"title\":\"$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption\",\"text\":\"更新 \u003C\u003Cupdate-count>> 个插件\"},\"$:/language/ControlPanel/Plugins/SubPluginPrompt\":{\"title\":\"$:/language/ControlPanel/Plugins/SubPluginPrompt\",\"text\":\"提供 \u003C\u003Ccount>> 个可用的附加插件\"},\"$:/language/ControlPanel/Parsing/Caption\":{\"title\":\"$:/language/ControlPanel/Parsing/Caption\",\"text\":\"解析\"},\"$:/language/ControlPanel/Parsing/Hint\":{\"title\":\"$:/language/ControlPanel/Parsing/Hint\",\"text\":\"在此您可以全域禁用或启用维基解析规则。要使更改生效,请保存并重新加载您的维基。禁用某些解析规则,会妨碍 \u003C$text text=\\\"TiddlyWiki\\\"/> 正常运作。可使用[[安全模式|https://tiddlywiki.com/#SafeMode]]恢复正常操作。\"},\"$:/language/ControlPanel/Parsing/Block/Caption\":{\"title\":\"$:/language/ControlPanel/Parsing/Block/Caption\",\"text\":\"区块解析规则\"},\"$:/language/ControlPanel/Parsing/Inline/Caption\":{\"title\":\"$:/language/ControlPanel/Parsing/Inline/Caption\",\"text\":\"内联解析规则\"},\"$:/language/ControlPanel/Parsing/Pragma/Caption\":{\"title\":\"$:/language/ControlPanel/Parsing/Pragma/Caption\",\"text\":\"编译指示解析规则\"},\"$:/language/ControlPanel/Saving/Caption\":{\"title\":\"$:/language/ControlPanel/Saving/Caption\",\"text\":\"保存\"},\"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description\":{\"title\":\"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description\",\"text\":\"允许下载保存模块的自动保存\"},\"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint\":{\"title\":\"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint\",\"text\":\"启用下载保存模块的自动保存\"},\"$:/language/ControlPanel/Saving/DownloadSaver/Caption\":{\"title\":\"$:/language/ControlPanel/Saving/DownloadSaver/Caption\",\"text\":\"下载保存模块\"},\"$:/language/ControlPanel/Saving/DownloadSaver/Hint\":{\"title\":\"$:/language/ControlPanel/Saving/DownloadSaver/Hint\",\"text\":\"这些设置适用于兼容 HTML5 的下载保存模块\"},\"$:/language/ControlPanel/Saving/General/Caption\":{\"title\":\"$:/language/ControlPanel/Saving/General/Caption\",\"text\":\"通用\"},\"$:/language/ControlPanel/Saving/General/Hint\":{\"title\":\"$:/language/ControlPanel/Saving/General/Hint\",\"text\":\"这些设置适用于所有已载入的保存模块\"},\"$:/language/ControlPanel/Saving/Hint\":{\"title\":\"$:/language/ControlPanel/Saving/Hint\",\"text\":\"用于通过保存模块将整个 TiddlyWiki 保存为单个文件的设置\"},\"$:/language/ControlPanel/Saving/GitService/Branch\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/Branch\",\"text\":\"用于保存的目标分支\"},\"$:/language/ControlPanel/Saving/GitService/CommitMessage\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/CommitMessage\",\"text\":\"由 TiddlyWiki 保存\"},\"$:/language/ControlPanel/Saving/GitService/Description\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/Description\",\"text\":\"这些设置仅用于保存至 \u003C\u003Cservice-name>>\"},\"$:/language/ControlPanel/Saving/GitService/Filename\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/Filename\",\"text\":\"目标文件的文件名称 (例如,`index.html`)\"},\"$:/language/ControlPanel/Saving/GitService/Path\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/Path\",\"text\":\"目标文件的路径 (例如,`/wiki/`)\"},\"$:/language/ControlPanel/Saving/GitService/Repo\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/Repo\",\"text\":\"目标存储库 (例如,`Jermolene/TiddlyWiki5`)\"},\"$:/language/ControlPanel/Saving/GitService/ServerURL\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/ServerURL\",\"text\":\"服务器 API 网址\"},\"$:/language/ControlPanel/Saving/GitService/UserName\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/UserName\",\"text\":\"用户名称\"},\"$:/language/ControlPanel/Saving/GitService/GitHub/Caption\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/GitHub/Caption\",\"text\":\"~GitHub 保存模块\"},\"$:/language/ControlPanel/Saving/GitService/GitHub/Password\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/GitHub/Password\",\"text\":\"密码、OAUTH 令牌,或个人存取令牌 (详见 [[GitHub 帮助页面|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]])\"},\"$:/language/ControlPanel/Saving/GitService/GitLab/Caption\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/GitLab/Caption\",\"text\":\"~GitLab 保存模块\"},\"$:/language/ControlPanel/Saving/GitService/GitLab/Password\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/GitLab/Password\",\"text\":\"个人存取令牌的 API (详见 [[GitLab 帮助页面|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]])\"},\"$:/language/ControlPanel/Saving/GitService/Gitea/Caption\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/Gitea/Caption\",\"text\":\"Gitea 保存模块\"},\"$:/language/ControlPanel/Saving/GitService/Gitea/Password\":{\"title\":\"$:/language/ControlPanel/Saving/GitService/Gitea/Password\",\"text\":\"个人存取令牌的 API (通过 Gitea 的 Web 界面:`设定 | 应用程序 | 产生新的令牌`)\"},\"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading\",\"text\":\"高级设置\"},\"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir\",\"text\":\"备份文件夹\"},\"$:/language/ControlPanel/Saving/TiddlySpot/Backups\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/Backups\",\"text\":\"备份\"},\"$:/language/ControlPanel/Saving/TiddlySpot/Caption\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/Caption\",\"text\":\"~TiddlySpot 保存模块\"},\"$:/language/ControlPanel/Saving/TiddlySpot/ControlPanel\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/ControlPanel\",\"text\":\"~TiddlySpot 控制台\"},\"$:/language/ControlPanel/Saving/TiddlySpot/Description\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/Description\",\"text\":\"这些设置只适用于保存到 [[TiddlySpot|http://tiddlyspot.com]]、[[TiddlyHost|https://tiddlyhost.com]],或兼容的远程服务器。有关 ~TiddlySpot 和 ~TiddlyHost 的保存设置信息,请参阅[[此处|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]]。\"},\"$:/language/ControlPanel/Saving/TiddlySpot/Filename\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/Filename\",\"text\":\"上传文件名\"},\"$:/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\":\"//默认之服务器网址 `http://\u003Cwikiname>.tiddlyspot.com/store.cgi`,可改为定制之服务器网址,例如 `http://example.com/store.php`。//\"},\"$:/language/ControlPanel/Saving/TiddlySpot/Password\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/Password\",\"text\":\"密码\"},\"$:/language/ControlPanel/Saving/TiddlySpot/ReadOnly\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/ReadOnly\",\"text\":\"请注意,[[TiddlySpot|http://tiddlyspot.com]] 不再允许创建新网站。对于新网站,您可以使用 [[TiddlyHost|https://tiddlyhost.com]],一个新的取代 ~TiddlySpot 的讬管服务 。\"},\"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL\",\"text\":\"服务器网址\"},\"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir\",\"text\":\"上传文件夹\"},\"$:/language/ControlPanel/Saving/TiddlySpot/UserName\":{\"title\":\"$:/language/ControlPanel/Saving/TiddlySpot/UserName\",\"text\":\"用户\"},\"$:/language/ControlPanel/Settings/AutoSave/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/AutoSave/Caption\",\"text\":\"自动保存\"},\"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description\":{\"title\":\"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description\",\"text\":\"不要自动保存变更\"},\"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description\":{\"title\":\"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description\",\"text\":\"自动保存变更\"},\"$:/language/ControlPanel/Settings/AutoSave/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/AutoSave/Hint\",\"text\":\"当使用支持的保存模块时,在编辑期间尝试自动保存变更\"},\"$:/language/ControlPanel/Settings/CamelCase/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/CamelCase/Caption\",\"text\":\"驼峰式维基链接\"},\"$:/language/ControlPanel/Settings/CamelCase/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/CamelCase/Hint\",\"text\":\"您可以全域禁用驼峰式短语自动链接。须保存后重新加载,方才生效。\"},\"$:/language/ControlPanel/Settings/CamelCase/Description\":{\"title\":\"$:/language/ControlPanel/Settings/CamelCase/Description\",\"text\":\"启用自动驼峰式链接\"},\"$:/language/ControlPanel/Settings/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/Caption\",\"text\":\"设置\"},\"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption\",\"text\":\"默认侧边栏页签\"},\"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint\",\"text\":\"指定默认显示的侧边栏页签\"},\"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption\",\"text\":\"更多侧边栏的默认页签\"},\"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint\",\"text\":\"指定默认显示的更多侧栏页签\"},\"$:/language/ControlPanel/Settings/EditorToolbar/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/EditorToolbar/Caption\",\"text\":\"编辑器工具栏\"},\"$:/language/ControlPanel/Settings/EditorToolbar/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/EditorToolbar/Hint\",\"text\":\"启用或禁用编辑器工具栏︰\"},\"$:/language/ControlPanel/Settings/EditorToolbar/Description\":{\"title\":\"$:/language/ControlPanel/Settings/EditorToolbar/Description\",\"text\":\"显示编辑器工具栏\"},\"$:/language/ControlPanel/Settings/InfoPanelMode/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/InfoPanelMode/Caption\",\"text\":\"条目信息面板模式\"},\"$:/language/ControlPanel/Settings/InfoPanelMode/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/InfoPanelMode/Hint\",\"text\":\"控制条目信息面板何时关闭︰\"},\"$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description\":{\"title\":\"$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description\",\"text\":\"条目信息面板自动关闭\"},\"$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description\":{\"title\":\"$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description\",\"text\":\"条目信息面板保持打开状态,直到明确关闭\"},\"$:/language/ControlPanel/Settings/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/Hint\",\"text\":\"这些高级设置让您定制 TiddlyWiki 的行为。\"},\"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption\",\"text\":\"条目开启行为\"},\"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint\",\"text\":\"从故事河//中//导航\"},\"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint\",\"text\":\"从故事河//外//导航\"},\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove\":{\"title\":\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove\",\"text\":\"开启于当前条目之上\"},\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow\":{\"title\":\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow\",\"text\":\"开启于当前条目之下\"},\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop\":{\"title\":\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop\",\"text\":\"开启于故事河的顶部\"},\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom\":{\"title\":\"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom\",\"text\":\"开启于故事河的底部\"},\"$:/language/ControlPanel/Settings/MissingLinks/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/MissingLinks/Caption\",\"text\":\"维基链接\"},\"$:/language/ControlPanel/Settings/MissingLinks/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/MissingLinks/Hint\",\"text\":\"选择是否要链接到尚未存在的条目\"},\"$:/language/ControlPanel/Settings/MissingLinks/Description\":{\"title\":\"$:/language/ControlPanel/Settings/MissingLinks/Description\",\"text\":\"启用链接到佚失条目\"},\"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption\",\"text\":\"网址栏导航\"},\"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint\",\"text\":\"在浏览器网址栏导航到条目时的行为:\"},\"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description\",\"text\":\"不更新网址栏\"},\"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description\",\"text\":\"包含目标条目\"},\"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description\",\"text\":\"包括目标条目和当前已开启的条目序列\"},\"$:/language/ControlPanel/Settings/NavigationHistory/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationHistory/Caption\",\"text\":\"历史记录导航\"},\"$:/language/ControlPanel/Settings/NavigationHistory/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationHistory/Hint\",\"text\":\"当导航到条目时,更新浏览器历史记录:\"},\"$:/language/ControlPanel/Settings/NavigationHistory/No/Description\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationHistory/No/Description\",\"text\":\"不更新历史记录\"},\"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description\",\"text\":\"更新历史记录\"},\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption\",\"text\":\"引用链接/固定链接 模式\"},\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint\",\"text\":\"选择 引用链接/固定链接 的处理方式:\"},\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description\",\"text\":\"将 引用链接/固定链接 网址复制到剪贴板\"},\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description\":{\"title\":\"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description\",\"text\":\"以 引用链接/固定链接 更新网址栏\"},\"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption\",\"text\":\"性能检测\"},\"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint\",\"text\":\"在浏览器的开发人员控制台,显示性能统计数据。需要重新加载才能生效。\"},\"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description\":{\"title\":\"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description\",\"text\":\"启用性能检测\"},\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption\",\"text\":\"工具栏按钮样式\"},\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint\",\"text\":\"选择工具栏按钮的样式:\"},\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless\",\"text\":\"无边框\"},\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed\",\"text\":\"方框\"},\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded\",\"text\":\"圆形\"},\"$:/language/ControlPanel/Settings/ToolbarButtons/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtons/Caption\",\"text\":\"工具栏按钮\"},\"$:/language/ControlPanel/Settings/ToolbarButtons/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtons/Hint\",\"text\":\"默认的工具栏按钮外观:\"},\"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description\",\"text\":\"包含图标\"},\"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description\":{\"title\":\"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description\",\"text\":\"包含文本\"},\"$:/language/ControlPanel/Settings/TitleLinks/Caption\":{\"title\":\"$:/language/ControlPanel/Settings/TitleLinks/Caption\",\"text\":\"条目标题\"},\"$:/language/ControlPanel/Settings/TitleLinks/Hint\":{\"title\":\"$:/language/ControlPanel/Settings/TitleLinks/Hint\",\"text\":\"可选地显示条目标题为链接\"},\"$:/language/ControlPanel/Settings/TitleLinks/No/Description\":{\"title\":\"$:/language/ControlPanel/Settings/TitleLinks/No/Description\",\"text\":\"不显示条目标题为链接\"},\"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description\":{\"title\":\"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description\",\"text\":\"显示条目标题为链接\"},\"$:/language/ControlPanel/SocialCard/Caption\":{\"title\":\"$:/language/ControlPanel/SocialCard/Caption\",\"text\":\"社交媒体卡\"},\"$:/language/ControlPanel/SocialCard/Domain/Prompt\":{\"title\":\"$:/language/ControlPanel/SocialCard/Domain/Prompt\",\"text\":\"显示链接的网域名称(例如 ''tiddlywiki.com'')\"},\"$:/language/ControlPanel/SocialCard/Hint\":{\"title\":\"$:/language/ControlPanel/SocialCard/Hint\",\"text\":\"社交和消息服务使用此信息来显示在线托管时指向此 TiddlyWiki 的链接的预览卡\"},\"$:/language/ControlPanel/SocialCard/PreviewUrl/Prompt\":{\"title\":\"$:/language/ControlPanel/SocialCard/PreviewUrl/Prompt\",\"text\":\"用于预览此 TiddlyWiki 图像的完整网址\"},\"$:/language/ControlPanel/SocialCard/PreviewUrl/Preview\":{\"title\":\"$:/language/ControlPanel/SocialCard/PreviewUrl/Preview\",\"text\":\"预览图像:\"},\"$:/language/ControlPanel/SocialCard/Url/Prompt\":{\"title\":\"$:/language/ControlPanel/SocialCard/Url/Prompt\",\"text\":\"此 TiddlyWiki 的完整网址\"},\"$:/language/ControlPanel/StoryTiddler/Caption\":{\"title\":\"$:/language/ControlPanel/StoryTiddler/Caption\",\"text\":\"故事条目\"},\"$:/language/ControlPanel/StoryTiddler/Hint\":{\"title\":\"$:/language/ControlPanel/StoryTiddler/Hint\",\"text\":\"此规则级联用于动态选择模板,以便在故事河中显示条目。\"},\"$:/language/ControlPanel/StoryView/Caption\":{\"title\":\"$:/language/ControlPanel/StoryView/Caption\",\"text\":\"视图模式\"},\"$:/language/ControlPanel/StoryView/Prompt\":{\"title\":\"$:/language/ControlPanel/StoryView/Prompt\",\"text\":\"当前的视图模式:\"},\"$:/language/ControlPanel/Stylesheets/Caption\":{\"title\":\"$:/language/ControlPanel/Stylesheets/Caption\",\"text\":\"样式表\"},\"$:/language/ControlPanel/Stylesheets/Expand/Caption\":{\"title\":\"$:/language/ControlPanel/Stylesheets/Expand/Caption\",\"text\":\"全部展开\"},\"$:/language/ControlPanel/Stylesheets/Hint\":{\"title\":\"$:/language/ControlPanel/Stylesheets/Hint\",\"text\":\"这是当前标签为 \u003C\u003Ctag \\\"$:/tags/Stylesheet\\\">> 的样式表条目呈现的 CSS\"},\"$:/language/ControlPanel/Stylesheets/Restore/Caption\":{\"title\":\"$:/language/ControlPanel/Stylesheets/Restore/Caption\",\"text\":\"复原\"},\"$:/language/ControlPanel/TestCases/Caption\":{\"title\":\"$:/language/ControlPanel/TestCases/Caption\",\"text\":\"测试案例\"},\"$:/language/ControlPanel/TestCases/Hint\":{\"title\":\"$:/language/ControlPanel/TestCases/Hint\",\"text\":\"测试案例是用于测试和学习的自给自足的范例\"},\"$:/language/ControlPanel/TestCases/All/Caption\":{\"title\":\"$:/language/ControlPanel/TestCases/All/Caption\",\"text\":\"所有测试案例\"},\"$:/language/ControlPanel/TestCases/All/Hint\":{\"title\":\"$:/language/ControlPanel/TestCases/All/Hint\",\"text\":\"所有测试案例\"},\"$:/language/ControlPanel/TestCases/Failed/Caption\":{\"title\":\"$:/language/ControlPanel/TestCases/Failed/Caption\",\"text\":\"失败的测试案例\"},\"$:/language/ControlPanel/TestCases/Failed/Hint\":{\"title\":\"$:/language/ControlPanel/TestCases/Failed/Hint\",\"text\":\"仅失败的测试案例\"},\"$:/language/ControlPanel/Theme/Caption\":{\"title\":\"$:/language/ControlPanel/Theme/Caption\",\"text\":\"布局主题\"},\"$:/language/ControlPanel/Theme/Prompt\":{\"title\":\"$:/language/ControlPanel/Theme/Prompt\",\"text\":\"当前的布局主题:\"},\"$:/language/ControlPanel/TiddlerColour/Caption\":{\"title\":\"$:/language/ControlPanel/TiddlerColour/Caption\",\"text\":\"条目颜色\"},\"$:/language/ControlPanel/TiddlerColour/Hint\":{\"title\":\"$:/language/ControlPanel/TiddlerColour/Hint\",\"text\":\"此规则级联用于动态地为条目选择颜色 (用于图示和关联的标签丸)。\"},\"$:/language/ControlPanel/TiddlerFields/Caption\":{\"title\":\"$:/language/ControlPanel/TiddlerFields/Caption\",\"text\":\"条目字段\"},\"$:/language/ControlPanel/TiddlerFields/Hint\":{\"title\":\"$:/language/ControlPanel/TiddlerFields/Hint\",\"text\":\"这是本维基使用中的所有条目字段(含系统条目的字段,但默认条目的字段除外)。\"},\"$:/language/ControlPanel/TiddlerIcon/Caption\":{\"title\":\"$:/language/ControlPanel/TiddlerIcon/Caption\",\"text\":\"条目图示\"},\"$:/language/ControlPanel/TiddlerIcon/Hint\":{\"title\":\"$:/language/ControlPanel/TiddlerIcon/Hint\",\"text\":\"此规则级联用于动态地为条目选择图示。\"},\"$:/language/ControlPanel/Toolbars/Caption\":{\"title\":\"$:/language/ControlPanel/Toolbars/Caption\",\"text\":\"工具栏\"},\"$:/language/ControlPanel/Toolbars/EditToolbar/Caption\":{\"title\":\"$:/language/ControlPanel/Toolbars/EditToolbar/Caption\",\"text\":\"编辑工具栏\"},\"$:/language/ControlPanel/Toolbars/EditToolbar/Hint\":{\"title\":\"$:/language/ControlPanel/Toolbars/EditToolbar/Hint\",\"text\":\"选择将显示哪些按钮于条目的编辑模式工具栏。拖放可改变顺序。\"},\"$:/language/ControlPanel/Toolbars/Hint\":{\"title\":\"$:/language/ControlPanel/Toolbars/Hint\",\"text\":\"选择将显示哪些工具栏按钮\"},\"$:/language/ControlPanel/Toolbars/PageControls/Caption\":{\"title\":\"$:/language/ControlPanel/Toolbars/PageControls/Caption\",\"text\":\"页面工具栏\"},\"$:/language/ControlPanel/Toolbars/PageControls/Hint\":{\"title\":\"$:/language/ControlPanel/Toolbars/PageControls/Hint\",\"text\":\"选择将显示哪些按钮于主页面的工具栏。拖放可改变顺序。\"},\"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption\":{\"title\":\"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption\",\"text\":\"编辑器工具栏\"},\"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint\":{\"title\":\"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint\",\"text\":\"选择将显示哪些按钮于编辑器工具栏。请注意,某些按钮只会出现在编辑某一类型的条目时。拖放可改变顺序。\"},\"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption\":{\"title\":\"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption\",\"text\":\"查看工具栏\"},\"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint\":{\"title\":\"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint\",\"text\":\"选择将显示哪些按钮于条目的视图模式工具栏。拖放可改变顺序。\"},\"$:/language/ControlPanel/Tools/Download/Full/Caption\":{\"title\":\"$:/language/ControlPanel/Tools/Download/Full/Caption\",\"text\":\"下载完整副本\"},\"$:/language/ControlPanel/ViewTemplateBody/Caption\":{\"title\":\"$:/language/ControlPanel/ViewTemplateBody/Caption\",\"text\":\"查看模板主体\"},\"$:/language/ControlPanel/ViewTemplateBody/Hint\":{\"title\":\"$:/language/ControlPanel/ViewTemplateBody/Hint\",\"text\":\"默认的查看模板使用此规则级联,动态选择模板以显示条目的主体。\"},\"$:/language/ControlPanel/ViewTemplateTitle/Caption\":{\"title\":\"$:/language/ControlPanel/ViewTemplateTitle/Caption\",\"text\":\"查看模板标题\"},\"$:/language/ControlPanel/ViewTemplateTitle/Hint\":{\"title\":\"$:/language/ControlPanel/ViewTemplateTitle/Hint\",\"text\":\"默认的查看模板使用此规则级联,动态选择模板以显示条目的标题。\"},\"$:/language/ControlPanel/ViewTemplateSubtitle/Caption\":{\"title\":\"$:/language/ControlPanel/ViewTemplateSubtitle/Caption\",\"text\":\"查看模板副标题\"},\"$:/language/ControlPanel/ViewTemplateSubtitle/Hint\":{\"title\":\"$:/language/ControlPanel/ViewTemplateSubtitle/Hint\",\"text\":\"默认的查看模板使用此规则级联,动态选择模板以显示条目的副标题。\"},\"$:/language/ControlPanel/ViewTemplateTags/Caption\":{\"title\":\"$:/language/ControlPanel/ViewTemplateTags/Caption\",\"text\":\"查看模板标签区\"},\"$:/language/ControlPanel/ViewTemplateTags/Hint\":{\"title\":\"$:/language/ControlPanel/ViewTemplateTags/Hint\",\"text\":\"默认的查看模板使用此规则级联,动态选择模板以显示条目的标签区域。\"},\"$:/core/zh-Hans/readme\":{\"title\":\"$:/core/zh-Hans/readme\",\"text\":\"此插件包含 TiddlyWiki 的核心组件,包括:\\n\\n* JavaScript 代码模块\\n* 图标\\n* 创建 TiddlyWiki 的用户界面所需的模板\\n* 核心所使用的可当地语系化字串的英国英语 (''en-GB'') 翻译\\n\"},\"$:/language/Date/Long/Day/0\":{\"title\":\"$:/language/Date/Long/Day/0\",\"text\":\"周日\"},\"$:/language/Date/Long/Day/1\":{\"title\":\"$:/language/Date/Long/Day/1\",\"text\":\"周一\"},\"$:/language/Date/Long/Day/2\":{\"title\":\"$:/language/Date/Long/Day/2\",\"text\":\"周二\"},\"$:/language/Date/Long/Day/3\":{\"title\":\"$:/language/Date/Long/Day/3\",\"text\":\"周三\"},\"$:/language/Date/Long/Day/4\":{\"title\":\"$:/language/Date/Long/Day/4\",\"text\":\"周四\"},\"$:/language/Date/Long/Day/5\":{\"title\":\"$:/language/Date/Long/Day/5\",\"text\":\"周五\"},\"$:/language/Date/Long/Day/6\":{\"title\":\"$:/language/Date/Long/Day/6\",\"text\":\"周六\"},\"$:/language/Date/Long/Month/1\":{\"title\":\"$:/language/Date/Long/Month/1\",\"text\":\"一月\"},\"$:/language/Date/Long/Month/2\":{\"title\":\"$:/language/Date/Long/Month/2\",\"text\":\"二月\"},\"$:/language/Date/Long/Month/3\":{\"title\":\"$:/language/Date/Long/Month/3\",\"text\":\"三月\"},\"$:/language/Date/Long/Month/4\":{\"title\":\"$:/language/Date/Long/Month/4\",\"text\":\"四月\"},\"$:/language/Date/Long/Month/5\":{\"title\":\"$:/language/Date/Long/Month/5\",\"text\":\"五月\"},\"$:/language/Date/Long/Month/6\":{\"title\":\"$:/language/Date/Long/Month/6\",\"text\":\"六月\"},\"$:/language/Date/Long/Month/7\":{\"title\":\"$:/language/Date/Long/Month/7\",\"text\":\"七月\"},\"$:/language/Date/Long/Month/8\":{\"title\":\"$:/language/Date/Long/Month/8\",\"text\":\"八月\"},\"$:/language/Date/Long/Month/9\":{\"title\":\"$:/language/Date/Long/Month/9\",\"text\":\"九月\"},\"$:/language/Date/Long/Month/10\":{\"title\":\"$:/language/Date/Long/Month/10\",\"text\":\"十月\"},\"$:/language/Date/Long/Month/11\":{\"title\":\"$:/language/Date/Long/Month/11\",\"text\":\"十一月\"},\"$:/language/Date/Long/Month/12\":{\"title\":\"$:/language/Date/Long/Month/12\",\"text\":\"十二月\"},\"$:/language/Date/Period/am\":{\"title\":\"$:/language/Date/Period/am\",\"text\":\"上午\"},\"$:/language/Date/Period/pm\":{\"title\":\"$:/language/Date/Period/pm\",\"text\":\"下午\"},\"$:/language/Date/Short/Day/0\":{\"title\":\"$:/language/Date/Short/Day/0\",\"text\":\"日\"},\"$:/language/Date/Short/Day/1\":{\"title\":\"$:/language/Date/Short/Day/1\",\"text\":\"一\"},\"$:/language/Date/Short/Day/2\":{\"title\":\"$:/language/Date/Short/Day/2\",\"text\":\"二\"},\"$:/language/Date/Short/Day/3\":{\"title\":\"$:/language/Date/Short/Day/3\",\"text\":\"三\"},\"$:/language/Date/Short/Day/4\":{\"title\":\"$:/language/Date/Short/Day/4\",\"text\":\"四\"},\"$:/language/Date/Short/Day/5\":{\"title\":\"$:/language/Date/Short/Day/5\",\"text\":\"五\"},\"$:/language/Date/Short/Day/6\":{\"title\":\"$:/language/Date/Short/Day/6\",\"text\":\"六\"},\"$:/language/Date/Short/Month/1\":{\"title\":\"$:/language/Date/Short/Month/1\",\"text\":\"01月\"},\"$:/language/Date/Short/Month/2\":{\"title\":\"$:/language/Date/Short/Month/2\",\"text\":\"02月\"},\"$:/language/Date/Short/Month/3\":{\"title\":\"$:/language/Date/Short/Month/3\",\"text\":\"03月\"},\"$:/language/Date/Short/Month/4\":{\"title\":\"$:/language/Date/Short/Month/4\",\"text\":\"04月\"},\"$:/language/Date/Short/Month/5\":{\"title\":\"$:/language/Date/Short/Month/5\",\"text\":\"05月\"},\"$:/language/Date/Short/Month/6\":{\"title\":\"$:/language/Date/Short/Month/6\",\"text\":\"06月\"},\"$:/language/Date/Short/Month/7\":{\"title\":\"$:/language/Date/Short/Month/7\",\"text\":\"07月\"},\"$:/language/Date/Short/Month/8\":{\"title\":\"$:/language/Date/Short/Month/8\",\"text\":\"08月\"},\"$:/language/Date/Short/Month/9\":{\"title\":\"$:/language/Date/Short/Month/9\",\"text\":\"09月\"},\"$:/language/Date/Short/Month/10\":{\"title\":\"$:/language/Date/Short/Month/10\",\"text\":\"10月\"},\"$:/language/Date/Short/Month/11\":{\"title\":\"$:/language/Date/Short/Month/11\",\"text\":\"11月\"},\"$:/language/Date/Short/Month/12\":{\"title\":\"$:/language/Date/Short/Month/12\",\"text\":\"12月\"},\"$:/language/RelativeDate/Future/Days\":{\"title\":\"$:/language/RelativeDate/Future/Days\",\"text\":\"\u003C\u003Cperiod>> 天后\"},\"$:/language/RelativeDate/Future/Hours\":{\"title\":\"$:/language/RelativeDate/Future/Hours\",\"text\":\"\u003C\u003Cperiod>> 小时后\"},\"$:/language/RelativeDate/Future/Minutes\":{\"title\":\"$:/language/RelativeDate/Future/Minutes\",\"text\":\"\u003C\u003Cperiod>> 分钟后\"},\"$:/language/RelativeDate/Future/Months\":{\"title\":\"$:/language/RelativeDate/Future/Months\",\"text\":\"\u003C\u003Cperiod>> 个月后\"},\"$:/language/RelativeDate/Future/Second\":{\"title\":\"$:/language/RelativeDate/Future/Second\",\"text\":\"1 秒后\"},\"$:/language/RelativeDate/Future/Seconds\":{\"title\":\"$:/language/RelativeDate/Future/Seconds\",\"text\":\"\u003C\u003Cperiod>> 秒后\"},\"$:/language/RelativeDate/Future/Years\":{\"title\":\"$:/language/RelativeDate/Future/Years\",\"text\":\"\u003C\u003Cperiod>> 年后\"},\"$:/language/RelativeDate/Past/Days\":{\"title\":\"$:/language/RelativeDate/Past/Days\",\"text\":\"\u003C\u003Cperiod>> 天前\"},\"$:/language/RelativeDate/Past/Hours\":{\"title\":\"$:/language/RelativeDate/Past/Hours\",\"text\":\"\u003C\u003Cperiod>> 小时前\"},\"$:/language/RelativeDate/Past/Minutes\":{\"title\":\"$:/language/RelativeDate/Past/Minutes\",\"text\":\"\u003C\u003Cperiod>> 分钟前\"},\"$:/language/RelativeDate/Past/Months\":{\"title\":\"$:/language/RelativeDate/Past/Months\",\"text\":\"\u003C\u003Cperiod>> 个月前\"},\"$:/language/RelativeDate/Past/Second\":{\"title\":\"$:/language/RelativeDate/Past/Second\",\"text\":\"1 秒前\"},\"$:/language/RelativeDate/Past/Seconds\":{\"title\":\"$:/language/RelativeDate/Past/Seconds\",\"text\":\"\u003C\u003Cperiod>> 秒前\"},\"$:/language/RelativeDate/Past/Years\":{\"title\":\"$:/language/RelativeDate/Past/Years\",\"text\":\"\u003C\u003Cperiod>> 年前\"},\"$:/language/Docs/ModuleTypes/allfilteroperator\":{\"title\":\"$:/language/Docs/ModuleTypes/allfilteroperator\",\"text\":\"''all'' 筛选器算子的子算子。\"},\"$:/language/Docs/ModuleTypes/animation\":{\"title\":\"$:/language/Docs/ModuleTypes/animation\",\"text\":\"动画模块包含可用于 RevealWidget 的动画。\"},\"$:/language/Docs/ModuleTypes/authenticator\":{\"title\":\"$:/language/Docs/ModuleTypes/authenticator\",\"text\":\"定义内置 HTTP 服务器对请求的身份验证方式。\"},\"$:/language/Docs/ModuleTypes/bitmapeditoroperation\":{\"title\":\"$:/language/Docs/ModuleTypes/bitmapeditoroperation\",\"text\":\"一个位图编辑器工具栏操作。\"},\"$:/language/Docs/ModuleTypes/command\":{\"title\":\"$:/language/Docs/ModuleTypes/command\",\"text\":\"可于 Node.js 执行的指令。\"},\"$:/language/Docs/ModuleTypes/config\":{\"title\":\"$:/language/Docs/ModuleTypes/config\",\"text\":\"加入 `$tw.config` 的数据。\"},\"$:/language/Docs/ModuleTypes/filteroperator\":{\"title\":\"$:/language/Docs/ModuleTypes/filteroperator\",\"text\":\"个别筛选器算子方法。\"},\"$:/language/Docs/ModuleTypes/global\":{\"title\":\"$:/language/Docs/ModuleTypes/global\",\"text\":\"加入 `$tw` 的全域数据。\"},\"$:/language/Docs/ModuleTypes/info\":{\"title\":\"$:/language/Docs/ModuleTypes/info\",\"text\":\"透过 [[$:/temp/info-plugin]] 伪插件,发布系统信息。\"},\"$:/language/Docs/ModuleTypes/isfilteroperator\":{\"title\":\"$:/language/Docs/ModuleTypes/isfilteroperator\",\"text\":\"''is'' 筛选器运算子的参数。\"},\"$:/language/Docs/ModuleTypes/library\":{\"title\":\"$:/language/Docs/ModuleTypes/library\",\"text\":\"一般用途的 JavaScript 模块的通用模块类型。\"},\"$:/language/Docs/ModuleTypes/macro\":{\"title\":\"$:/language/Docs/ModuleTypes/macro\",\"text\":\"JavaScript ''宏''定义。\"},\"$:/language/Docs/ModuleTypes/parser\":{\"title\":\"$:/language/Docs/ModuleTypes/parser\",\"text\":\"不同内容类型的解析器。\"},\"$:/language/Docs/ModuleTypes/route\":{\"title\":\"$:/language/Docs/ModuleTypes/route\",\"text\":\"定义内置 HTTP 服务器如何处理各个网址格式。\"},\"$:/language/Docs/ModuleTypes/saver\":{\"title\":\"$:/language/Docs/ModuleTypes/saver\",\"text\":\"于浏览器保存文件的不同的保存处理方法。\"},\"$:/language/Docs/ModuleTypes/startup\":{\"title\":\"$:/language/Docs/ModuleTypes/startup\",\"text\":\"启动时期的功能函数。\"},\"$:/language/Docs/ModuleTypes/storyview\":{\"title\":\"$:/language/Docs/ModuleTypes/storyview\",\"text\":\"视图模式用以自订 list 小部件的动画与行为。\"},\"$:/language/Docs/ModuleTypes/texteditoroperation\":{\"title\":\"$:/language/Docs/ModuleTypes/texteditoroperation\",\"text\":\"一个文本编辑器工具栏操作。\"},\"$:/language/Docs/ModuleTypes/tiddlerdeserializer\":{\"title\":\"$:/language/Docs/ModuleTypes/tiddlerdeserializer\",\"text\":\"转换不同内容类型至条目。\"},\"$:/language/Docs/ModuleTypes/tiddlerfield\":{\"title\":\"$:/language/Docs/ModuleTypes/tiddlerfield\",\"text\":\"定义个别条目字段的行为。\"},\"$:/language/Docs/ModuleTypes/tiddlermethod\":{\"title\":\"$:/language/Docs/ModuleTypes/tiddlermethod\",\"text\":\"添加方法至 `$tw.Tiddler` 原型。\"},\"$:/language/Docs/ModuleTypes/upgrader\":{\"title\":\"$:/language/Docs/ModuleTypes/upgrader\",\"text\":\"于升级/导入过程中,套用升级处理至条目。\"},\"$:/language/Docs/ModuleTypes/utils\":{\"title\":\"$:/language/Docs/ModuleTypes/utils\",\"text\":\"添加方法至 `$tw.utils`。\"},\"$:/language/Docs/ModuleTypes/utils-browser\":{\"title\":\"$:/language/Docs/ModuleTypes/utils-browser\",\"text\":\"将特定于浏览器的方法添加到 `$tw.utils`。\"},\"$:/language/Docs/ModuleTypes/utils-node\":{\"title\":\"$:/language/Docs/ModuleTypes/utils-node\",\"text\":\"将特定于 Node.js 的方法添加到 `$tw.utils`。\"},\"$:/language/Docs/ModuleTypes/widget\":{\"title\":\"$:/language/Docs/ModuleTypes/widget\",\"text\":\"封装 DOM 渲染和刷新的小部件。\"},\"$:/language/Docs/ModuleTypes/wikimethod\":{\"title\":\"$:/language/Docs/ModuleTypes/wikimethod\",\"text\":\"添加方法至 `$tw.Wiki`。\"},\"$:/language/Docs/ModuleTypes/wikirule\":{\"title\":\"$:/language/Docs/ModuleTypes/wikirule\",\"text\":\"WikiText 解析器的个别的语法规则。\"},\"$:/language/Docs/PaletteColours/alert-background\":{\"title\":\"$:/language/Docs/PaletteColours/alert-background\",\"text\":\"提醒背景\"},\"$:/language/Docs/PaletteColours/alert-border\":{\"title\":\"$:/language/Docs/PaletteColours/alert-border\",\"text\":\"提醒边框\"},\"$:/language/Docs/PaletteColours/alert-highlight\":{\"title\":\"$:/language/Docs/PaletteColours/alert-highlight\",\"text\":\"提醒高亮度\"},\"$:/language/Docs/PaletteColours/alert-muted-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/alert-muted-foreground\",\"text\":\"提醒的低调前景\"},\"$:/language/Docs/PaletteColours/background\":{\"title\":\"$:/language/Docs/PaletteColours/background\",\"text\":\"一般背景\"},\"$:/language/Docs/PaletteColours/blockquote-bar\":{\"title\":\"$:/language/Docs/PaletteColours/blockquote-bar\",\"text\":\"引用条\"},\"$:/language/Docs/PaletteColours/button-background\":{\"title\":\"$:/language/Docs/PaletteColours/button-background\",\"text\":\"默认按钮背景\"},\"$:/language/Docs/PaletteColours/button-border\":{\"title\":\"$:/language/Docs/PaletteColours/button-border\",\"text\":\"默认按钮边框\"},\"$:/language/Docs/PaletteColours/button-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/button-foreground\",\"text\":\"默认按钮前景\"},\"$:/language/Docs/PaletteColours/code-background\":{\"title\":\"$:/language/Docs/PaletteColours/code-background\",\"text\":\"代码背景\"},\"$:/language/Docs/PaletteColours/code-border\":{\"title\":\"$:/language/Docs/PaletteColours/code-border\",\"text\":\"代码边框\"},\"$:/language/Docs/PaletteColours/code-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/code-foreground\",\"text\":\"代码前景\"},\"$:/language/Docs/PaletteColours/dirty-indicator\":{\"title\":\"$:/language/Docs/PaletteColours/dirty-indicator\",\"text\":\"未保存变更指示器\"},\"$:/language/Docs/PaletteColours/download-background\":{\"title\":\"$:/language/Docs/PaletteColours/download-background\",\"text\":\"下载按钮背景\"},\"$:/language/Docs/PaletteColours/download-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/download-foreground\",\"text\":\"下载按钮前景\"},\"$:/language/Docs/PaletteColours/dragger-background\":{\"title\":\"$:/language/Docs/PaletteColours/dragger-background\",\"text\":\"拖动区背景\"},\"$:/language/Docs/PaletteColours/dragger-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/dragger-foreground\",\"text\":\"拖动区前景\"},\"$:/language/Docs/PaletteColours/dropdown-background\":{\"title\":\"$:/language/Docs/PaletteColours/dropdown-background\",\"text\":\"下拉背景\"},\"$:/language/Docs/PaletteColours/dropdown-border\":{\"title\":\"$:/language/Docs/PaletteColours/dropdown-border\",\"text\":\"下拉边框\"},\"$:/language/Docs/PaletteColours/dropdown-tab-background-selected\":{\"title\":\"$:/language/Docs/PaletteColours/dropdown-tab-background-selected\",\"text\":\"选定的下拉页签背景\"},\"$:/language/Docs/PaletteColours/dropdown-tab-background\":{\"title\":\"$:/language/Docs/PaletteColours/dropdown-tab-background\",\"text\":\"下拉页签背景\"},\"$:/language/Docs/PaletteColours/dropzone-background\":{\"title\":\"$:/language/Docs/PaletteColours/dropzone-background\",\"text\":\"拖放背景\"},\"$:/language/Docs/PaletteColours/external-link-background-hover\":{\"title\":\"$:/language/Docs/PaletteColours/external-link-background-hover\",\"text\":\"悬停外部链结背景\"},\"$:/language/Docs/PaletteColours/external-link-background-visited\":{\"title\":\"$:/language/Docs/PaletteColours/external-link-background-visited\",\"text\":\"已造访过的外部链结背景\"},\"$:/language/Docs/PaletteColours/external-link-background\":{\"title\":\"$:/language/Docs/PaletteColours/external-link-background\",\"text\":\"外部链结背景\"},\"$:/language/Docs/PaletteColours/external-link-foreground-hover\":{\"title\":\"$:/language/Docs/PaletteColours/external-link-foreground-hover\",\"text\":\"悬停外部链结前景\"},\"$:/language/Docs/PaletteColours/external-link-foreground-visited\":{\"title\":\"$:/language/Docs/PaletteColours/external-link-foreground-visited\",\"text\":\"已造访过的外部链结前景\"},\"$:/language/Docs/PaletteColours/external-link-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/external-link-foreground\",\"text\":\"外部链结前景\"},\"$:/language/Docs/PaletteColours/foreground\":{\"title\":\"$:/language/Docs/PaletteColours/foreground\",\"text\":\"一般前景\"},\"$:/language/Docs/PaletteColours/menubar-background\":{\"title\":\"$:/language/Docs/PaletteColours/menubar-background\",\"text\":\"菜单列背景\"},\"$:/language/Docs/PaletteColours/menubar-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/menubar-foreground\",\"text\":\"菜单列前景\"},\"$:/language/Docs/PaletteColours/message-background\":{\"title\":\"$:/language/Docs/PaletteColours/message-background\",\"text\":\"信息框背景\"},\"$:/language/Docs/PaletteColours/message-border\":{\"title\":\"$:/language/Docs/PaletteColours/message-border\",\"text\":\"信息边框\"},\"$:/language/Docs/PaletteColours/message-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/message-foreground\",\"text\":\"信息框前景\"},\"$:/language/Docs/PaletteColours/modal-backdrop\":{\"title\":\"$:/language/Docs/PaletteColours/modal-backdrop\",\"text\":\"模块背景幕\"},\"$:/language/Docs/PaletteColours/modal-background\":{\"title\":\"$:/language/Docs/PaletteColours/modal-background\",\"text\":\"模块背景\"},\"$:/language/Docs/PaletteColours/modal-border\":{\"title\":\"$:/language/Docs/PaletteColours/modal-border\",\"text\":\"模块边框\"},\"$:/language/Docs/PaletteColours/modal-footer-background\":{\"title\":\"$:/language/Docs/PaletteColours/modal-footer-background\",\"text\":\"模块页脚背景\"},\"$:/language/Docs/PaletteColours/modal-footer-border\":{\"title\":\"$:/language/Docs/PaletteColours/modal-footer-border\",\"text\":\"模块页脚边框\"},\"$:/language/Docs/PaletteColours/modal-header-border\":{\"title\":\"$:/language/Docs/PaletteColours/modal-header-border\",\"text\":\"模块标题边框\"},\"$:/language/Docs/PaletteColours/muted-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/muted-foreground\",\"text\":\"一般低调前景\"},\"$:/language/Docs/PaletteColours/notification-background\":{\"title\":\"$:/language/Docs/PaletteColours/notification-background\",\"text\":\"通知背景\"},\"$:/language/Docs/PaletteColours/notification-border\":{\"title\":\"$:/language/Docs/PaletteColours/notification-border\",\"text\":\"通知边框\"},\"$:/language/Docs/PaletteColours/page-background\":{\"title\":\"$:/language/Docs/PaletteColours/page-background\",\"text\":\"页面背景\"},\"$:/language/Docs/PaletteColours/pre-background\":{\"title\":\"$:/language/Docs/PaletteColours/pre-background\",\"text\":\"pre 背景\"},\"$:/language/Docs/PaletteColours/pre-border\":{\"title\":\"$:/language/Docs/PaletteColours/pre-border\",\"text\":\"pre 边框\"},\"$:/language/Docs/PaletteColours/primary\":{\"title\":\"$:/language/Docs/PaletteColours/primary\",\"text\":\"主颜色\"},\"$:/language/Docs/PaletteColours/select-tag-background\":{\"title\":\"$:/language/Docs/PaletteColours/select-tag-background\",\"text\":\"`\u003Cselect>` 元素背景\"},\"$:/language/Docs/PaletteColours/select-tag-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/select-tag-foreground\",\"text\":\"`\u003Cselect>` 元素文本\"},\"$:/language/Docs/PaletteColours/sidebar-button-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-button-foreground\",\"text\":\"侧边栏按钮前景\"},\"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover\",\"text\":\"悬停侧边栏控制项前景\"},\"$:/language/Docs/PaletteColours/sidebar-controls-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-controls-foreground\",\"text\":\"侧边栏控制项前景\"},\"$:/language/Docs/PaletteColours/sidebar-foreground-shadow\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-foreground-shadow\",\"text\":\"侧边栏前景阴影\"},\"$:/language/Docs/PaletteColours/sidebar-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-foreground\",\"text\":\"侧边栏前景\"},\"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover\",\"text\":\"悬停侧边栏低调前景\"},\"$:/language/Docs/PaletteColours/sidebar-muted-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-muted-foreground\",\"text\":\"侧边栏低调前景\"},\"$:/language/Docs/PaletteColours/sidebar-tab-background-selected\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tab-background-selected\",\"text\":\"侧边栏选定页签背景\"},\"$:/language/Docs/PaletteColours/sidebar-tab-background\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tab-background\",\"text\":\"侧边栏页签背景\"},\"$:/language/Docs/PaletteColours/sidebar-tab-border-selected\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tab-border-selected\",\"text\":\"侧边栏选定页签边框\"},\"$:/language/Docs/PaletteColours/sidebar-tab-border\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tab-border\",\"text\":\"侧边栏页签边框\"},\"$:/language/Docs/PaletteColours/sidebar-tab-divider\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tab-divider\",\"text\":\"侧边栏页签分隔线\"},\"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected\",\"text\":\"侧边栏选定页签前景\"},\"$:/language/Docs/PaletteColours/sidebar-tab-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tab-foreground\",\"text\":\"侧边栏页签前景\"},\"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover\",\"text\":\"侧边栏悬停条目链结前景\"},\"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground\",\"text\":\"侧边栏条目链结前景\"},\"$:/language/Docs/PaletteColours/stability-stable\":{\"title\":\"$:/language/Docs/PaletteColours/stability-stable\",\"text\":\"稳定性等级 \\\"stable\\\" 的徽章\"},\"$:/language/Docs/PaletteColours/stability-experimental\":{\"title\":\"$:/language/Docs/PaletteColours/stability-experimental\",\"text\":\"稳定性等级 \\\"experimental\\\" 的徽章\"},\"$:/language/Docs/PaletteColours/stability-deprecated\":{\"title\":\"$:/language/Docs/PaletteColours/stability-deprecated\",\"text\":\"稳定性等级 \\\"deprecated\\\" 的徽章\"},\"$:/language/Docs/PaletteColours/stability-legacy\":{\"title\":\"$:/language/Docs/PaletteColours/stability-legacy\",\"text\":\"稳定性等级 \\\"legacy\\\" 的徽章\"},\"$:/language/Docs/PaletteColours/testcase-accent-level-1\":{\"title\":\"$:/language/Docs/PaletteColours/testcase-accent-level-1\",\"text\":\"无嵌套的测试案例强调色\"},\"$:/language/Docs/PaletteColours/testcase-accent-level-2\":{\"title\":\"$:/language/Docs/PaletteColours/testcase-accent-level-2\",\"text\":\"第二级嵌套的测试案例强调色\"},\"$:/language/Docs/PaletteColours/testcase-accent-level-3\":{\"title\":\"$:/language/Docs/PaletteColours/testcase-accent-level-3\",\"text\":\"第三级或更高级别嵌套的测试案例强调色\"},\"$:/language/Docs/PaletteColours/site-title-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/site-title-foreground\",\"text\":\"网站标题前景\"},\"$:/language/Docs/PaletteColours/static-alert-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/static-alert-foreground\",\"text\":\"静态提醒前景\"},\"$:/language/Docs/PaletteColours/tab-background-selected\":{\"title\":\"$:/language/Docs/PaletteColours/tab-background-selected\",\"text\":\"选定的页签背景\"},\"$:/language/Docs/PaletteColours/tab-background\":{\"title\":\"$:/language/Docs/PaletteColours/tab-background\",\"text\":\"页签背景\"},\"$:/language/Docs/PaletteColours/tab-border-selected\":{\"title\":\"$:/language/Docs/PaletteColours/tab-border-selected\",\"text\":\"选定的页签边框\"},\"$:/language/Docs/PaletteColours/tab-border\":{\"title\":\"$:/language/Docs/PaletteColours/tab-border\",\"text\":\"页签边框\"},\"$:/language/Docs/PaletteColours/tab-divider\":{\"title\":\"$:/language/Docs/PaletteColours/tab-divider\",\"text\":\"页签分隔线\"},\"$:/language/Docs/PaletteColours/tab-foreground-selected\":{\"title\":\"$:/language/Docs/PaletteColours/tab-foreground-selected\",\"text\":\"选定的页签前景\"},\"$:/language/Docs/PaletteColours/tab-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/tab-foreground\",\"text\":\"页签前景\"},\"$:/language/Docs/PaletteColours/table-border\":{\"title\":\"$:/language/Docs/PaletteColours/table-border\",\"text\":\"表格边框\"},\"$:/language/Docs/PaletteColours/table-footer-background\":{\"title\":\"$:/language/Docs/PaletteColours/table-footer-background\",\"text\":\"表格页脚背景\"},\"$:/language/Docs/PaletteColours/table-header-background\":{\"title\":\"$:/language/Docs/PaletteColours/table-header-background\",\"text\":\"表格标题背景\"},\"$:/language/Docs/PaletteColours/tag-background\":{\"title\":\"$:/language/Docs/PaletteColours/tag-background\",\"text\":\"标签背景\"},\"$:/language/Docs/PaletteColours/tag-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/tag-foreground\",\"text\":\"标签前景\"},\"$:/language/Docs/PaletteColours/tiddler-background\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-background\",\"text\":\"条目背景\"},\"$:/language/Docs/PaletteColours/tiddler-border\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-border\",\"text\":\"条目边框\"},\"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover\",\"text\":\"悬停的条目控制项前景\"},\"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected\",\"text\":\"选定的条目控制项前景\"},\"$:/language/Docs/PaletteColours/tiddler-controls-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-controls-foreground\",\"text\":\"条目控制项前景\"},\"$:/language/Docs/PaletteColours/tiddler-editor-background\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-editor-background\",\"text\":\"条目编辑器背景\"},\"$:/language/Docs/PaletteColours/tiddler-editor-border-image\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-editor-border-image\",\"text\":\"条目编辑器边框图片\"},\"$:/language/Docs/PaletteColours/tiddler-editor-border\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-editor-border\",\"text\":\"条目编辑器边框\"},\"$:/language/Docs/PaletteColours/tiddler-editor-fields-even\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-editor-fields-even\",\"text\":\"条目编辑器中偶数字段背景\"},\"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd\",\"text\":\"条目编辑器中奇数字段背景\"},\"$:/language/Docs/PaletteColours/tiddler-info-background\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-info-background\",\"text\":\"条目信息面板背景\"},\"$:/language/Docs/PaletteColours/tiddler-info-border\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-info-border\",\"text\":\"条目信息面板边框\"},\"$:/language/Docs/PaletteColours/tiddler-info-tab-background\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-info-tab-background\",\"text\":\"条目信息面板页签背景\"},\"$:/language/Docs/PaletteColours/tiddler-link-background\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-link-background\",\"text\":\"条目链结背景\"},\"$:/language/Docs/PaletteColours/tiddler-link-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-link-foreground\",\"text\":\"条目链结前景\"},\"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground\",\"text\":\"条目副标题前景\"},\"$:/language/Docs/PaletteColours/tiddler-title-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/tiddler-title-foreground\",\"text\":\"条目标题前景\"},\"$:/language/Docs/PaletteColours/toolbar-new-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-new-button\",\"text\":\"工具栏 '添加条目' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-options-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-options-button\",\"text\":\"工具栏 '选项' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-save-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-save-button\",\"text\":\"工具栏 '保存' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-info-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-info-button\",\"text\":\"工具栏 '资讯' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-edit-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-edit-button\",\"text\":\"工具栏 '编辑' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-close-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-close-button\",\"text\":\"工具栏 '关闭' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-delete-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-delete-button\",\"text\":\"工具栏 '删除' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-cancel-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-cancel-button\",\"text\":\"工具栏 '取消' 按钮前景\"},\"$:/language/Docs/PaletteColours/toolbar-done-button\":{\"title\":\"$:/language/Docs/PaletteColours/toolbar-done-button\",\"text\":\"工具栏 '完成 按钮前景\"},\"$:/language/Docs/PaletteColours/untagged-background\":{\"title\":\"$:/language/Docs/PaletteColours/untagged-background\",\"text\":\"未设标签的背景\"},\"$:/language/Docs/PaletteColours/very-muted-foreground\":{\"title\":\"$:/language/Docs/PaletteColours/very-muted-foreground\",\"text\":\"非常低调前景\"},\"$:/language/EditTemplate/Caption\":{\"title\":\"$:/language/EditTemplate/Caption\",\"text\":\"编辑器\"},\"$:/language/EditTemplate/Body/External/Hint\":{\"title\":\"$:/language/EditTemplate/Body/External/Hint\",\"text\":\"此条目显示保存于主要的 TiddlyWiki 文件之外的内容。你可以编辑其标签和字段,但不能直接编辑内容本身\"},\"$:/language/EditTemplate/Body/Placeholder\":{\"title\":\"$:/language/EditTemplate/Body/Placeholder\",\"text\":\"输入此条目的内容\"},\"$:/language/EditTemplate/Body/Preview/Type/Output\":{\"title\":\"$:/language/EditTemplate/Body/Preview/Type/Output\",\"text\":\"输出\"},\"$:/language/EditTemplate/Body/Preview/Type/DiffShadow\":{\"title\":\"$:/language/EditTemplate/Body/Preview/Type/DiffShadow\",\"text\":\"与影子条目的差异(如果有)\"},\"$:/language/EditTemplate/Body/Preview/Type/DiffCurrent\":{\"title\":\"$:/language/EditTemplate/Body/Preview/Type/DiffCurrent\",\"text\":\"与当前条目的差异\"},\"$:/language/EditTemplate/Field/Remove/Caption\":{\"title\":\"$:/language/EditTemplate/Field/Remove/Caption\",\"text\":\"删除字段\"},\"$:/language/EditTemplate/Field/Remove/Hint\":{\"title\":\"$:/language/EditTemplate/Field/Remove/Hint\",\"text\":\"删除字段\"},\"$:/language/EditTemplate/Field/Dropdown/Caption\":{\"title\":\"$:/language/EditTemplate/Field/Dropdown/Caption\",\"text\":\"字段列表\"},\"$:/language/EditTemplate/Field/Dropdown/Hint\":{\"title\":\"$:/language/EditTemplate/Field/Dropdown/Hint\",\"text\":\"显示字段列表\"},\"$:/language/EditTemplate/Fields/Add/Button\":{\"title\":\"$:/language/EditTemplate/Fields/Add/Button\",\"text\":\"添加\"},\"$:/language/EditTemplate/Fields/Add/Button/Hint\":{\"title\":\"$:/language/EditTemplate/Fields/Add/Button/Hint\",\"text\":\"添加字段至条目\"},\"$:/language/EditTemplate/Fields/Add/Dropdown/System\":{\"title\":\"$:/language/EditTemplate/Fields/Add/Dropdown/System\",\"text\":\"系统字段\"},\"$:/language/EditTemplate/Fields/Add/Dropdown/User\":{\"title\":\"$:/language/EditTemplate/Fields/Add/Dropdown/User\",\"text\":\"使用者字段\"},\"$:/language/EditTemplate/Fields/Add/Name/Placeholder\":{\"title\":\"$:/language/EditTemplate/Fields/Add/Name/Placeholder\",\"text\":\"字段名称\"},\"$:/language/EditTemplate/Fields/Add/Prompt\":{\"title\":\"$:/language/EditTemplate/Fields/Add/Prompt\",\"text\":\"添加字段:\"},\"$:/language/EditTemplate/Fields/Add/Value/Placeholder\":{\"title\":\"$:/language/EditTemplate/Fields/Add/Value/Placeholder\",\"text\":\"字段内容\"},\"$:/language/EditTemplate/Shadow/Warning\":{\"title\":\"$:/language/EditTemplate/Shadow/Warning\",\"text\":\"这是一个默认条目。您做的任何更改将会覆盖来自 \u003C\u003CpluginLink>> 插件的默认版本。\"},\"$:/language/EditTemplate/Shadow/OverriddenWarning\":{\"title\":\"$:/language/EditTemplate/Shadow/OverriddenWarning\",\"text\":\"这是一个修改过的默认条目。删除此条目可以还原为 \u003C\u003CpluginLink>> 插件中的默认版本。\"},\"$:/language/EditTemplate/Tags/Add/Button\":{\"title\":\"$:/language/EditTemplate/Tags/Add/Button\",\"text\":\"添加\"},\"$:/language/EditTemplate/Tags/Add/Button/Hint\":{\"title\":\"$:/language/EditTemplate/Tags/Add/Button/Hint\",\"text\":\"添加标签\"},\"$:/language/EditTemplate/Tags/Add/Placeholder\":{\"title\":\"$:/language/EditTemplate/Tags/Add/Placeholder\",\"text\":\"标签名称\"},\"$:/language/EditTemplate/Tags/ClearInput/Caption\":{\"title\":\"$:/language/EditTemplate/Tags/ClearInput/Caption\",\"text\":\"清除输入\"},\"$:/language/EditTemplate/Tags/ClearInput/Hint\":{\"title\":\"$:/language/EditTemplate/Tags/ClearInput/Hint\",\"text\":\"清除标签输入\"},\"$:/language/EditTemplate/Tags/Dropdown/Caption\":{\"title\":\"$:/language/EditTemplate/Tags/Dropdown/Caption\",\"text\":\"标签清单\"},\"$:/language/EditTemplate/Tags/Dropdown/Hint\":{\"title\":\"$:/language/EditTemplate/Tags/Dropdown/Hint\",\"text\":\"显示标签清单\"},\"$:/language/EditTemplate/Title/BadCharacterWarning\":{\"title\":\"$:/language/EditTemplate/Title/BadCharacterWarning\",\"text\":\"请注意,避免在条目名称中使用这些字符:\u003C\u003Cbad-chars>>\"},\"$:/language/EditTemplate/Title/Exists/Prompt\":{\"title\":\"$:/language/EditTemplate/Title/Exists/Prompt\",\"text\":\"目标条目已经存在\"},\"$:/language/EditTemplate/Title/Relink/Prompt\":{\"title\":\"$:/language/EditTemplate/Title/Relink/Prompt\",\"text\":\"将在其他条目的 //tags// 和 //list// 字段中的 ''\u003C$text text=\u003C\u003CfromTitle>>/>'' 改为 ''\u003C$text text=\u003C\u003CtoTitle>>/>''\"},\"$:/language/EditTemplate/Title/References/Prompt\":{\"title\":\"$:/language/EditTemplate/Title/References/Prompt\",\"text\":\"下列对此条目的引用,不会自动更新:\"},\"$:/language/EditTemplate/Type/Dropdown/Caption\":{\"title\":\"$:/language/EditTemplate/Type/Dropdown/Caption\",\"text\":\"内容类型清单\"},\"$:/language/EditTemplate/Type/Dropdown/Hint\":{\"title\":\"$:/language/EditTemplate/Type/Dropdown/Hint\",\"text\":\"显示内容类型清单\"},\"$:/language/EditTemplate/Type/Delete/Caption\":{\"title\":\"$:/language/EditTemplate/Type/Delete/Caption\",\"text\":\"删除内容类型\"},\"$:/language/EditTemplate/Type/Delete/Hint\":{\"title\":\"$:/language/EditTemplate/Type/Delete/Hint\",\"text\":\"删除内容类型\"},\"$:/language/EditTemplate/Type/Placeholder\":{\"title\":\"$:/language/EditTemplate/Type/Placeholder\",\"text\":\"内容类型\"},\"$:/language/EditTemplate/Type/Prompt\":{\"title\":\"$:/language/EditTemplate/Type/Prompt\",\"text\":\"类型:\"},\"$:/language/Exporters/StaticRiver\":{\"title\":\"$:/language/Exporters/StaticRiver\",\"text\":\"静态 HTML\"},\"$:/language/Exporters/JsonFile\":{\"title\":\"$:/language/Exporters/JsonFile\",\"text\":\"JSON 文件\"},\"$:/language/Exporters/CsvFile\":{\"title\":\"$:/language/Exporters/CsvFile\",\"text\":\"CSV 文件\"},\"$:/language/Exporters/TidFile\":{\"title\":\"$:/language/Exporters/TidFile\",\"text\":\"TID 文本文件\"},\"$:/language/Docs/Fields/_canonical_uri\":{\"title\":\"$:/language/Docs/Fields/_canonical_uri\",\"text\":\"外部图像条目的完整的 URI\"},\"$:/language/Docs/Fields/author\":{\"title\":\"$:/language/Docs/Fields/author\",\"text\":\"一个插件作者的姓名\"},\"$:/language/Docs/Fields/bag\":{\"title\":\"$:/language/Docs/Fields/bag\",\"text\":\"条目的来源集的名称\"},\"$:/language/Docs/Fields/caption\":{\"title\":\"$:/language/Docs/Fields/caption\",\"text\":\"显示于页签或按钮上的标题文字\"},\"$:/language/Docs/Fields/code-body\":{\"title\":\"$:/language/Docs/Fields/code-body\",\"text\":\"若设置为 ''yes'',视图模板将以程式码形式显示条目\"},\"$:/language/Docs/Fields/class\":{\"title\":\"$:/language/Docs/Fields/class\",\"text\":\"渲染条目时,套用到条目的 CSS 类别 - 请参阅[[依自订类别的自订样式|Custom styles by user-class]]。也适用于[[互动窗口|Modals]]\"},\"$:/language/Docs/Fields/color\":{\"title\":\"$:/language/Docs/Fields/color\",\"text\":\"条目的 CSS 颜色值\"},\"$:/language/Docs/Fields/component\":{\"title\":\"$:/language/Docs/Fields/component\",\"text\":\"负责[[提醒条目|AlertMechanism]]的组件名称\"},\"$:/language/Docs/Fields/core-version\":{\"title\":\"$:/language/Docs/Fields/core-version\",\"text\":\"对于一个插件,表示与其兼容的 TiddlyWiki 版本\"},\"$:/language/Docs/Fields/created\":{\"title\":\"$:/language/Docs/Fields/created\",\"text\":\"条目的创建日期\"},\"$:/language/Docs/Fields/creator\":{\"title\":\"$:/language/Docs/Fields/creator\",\"text\":\"条目的创建者\"},\"$:/language/Docs/Fields/current-tiddler\":{\"title\":\"$:/language/Docs/Fields/current-tiddler\",\"text\":\"用于缓存[[浏览历史列表|HistoryMechanism]]的最上层条目\"},\"$:/language/Docs/Fields/dependents\":{\"title\":\"$:/language/Docs/Fields/dependents\",\"text\":\"插件的依赖插件列表\"},\"$:/language/Docs/Fields/description\":{\"title\":\"$:/language/Docs/Fields/description\",\"text\":\"插件的说明、描述\"},\"$:/language/Docs/Fields/draft.of\":{\"title\":\"$:/language/Docs/Fields/draft.of\",\"text\":\"草稿条目,包含条目的标题、标签、字段 ...\"},\"$:/language/Docs/Fields/draft.title\":{\"title\":\"$:/language/Docs/Fields/draft.title\",\"text\":\"草稿条目的标题\"},\"$:/language/Docs/Fields/footer\":{\"title\":\"$:/language/Docs/Fields/footer\",\"text\":\"互动窗口的注脚\"},\"$:/language/Docs/Fields/hide-body\":{\"title\":\"$:/language/Docs/Fields/hide-body\",\"text\":\"若设置为 ''yes'',视图模板将隐藏条目的主体\"},\"$:/language/Docs/Fields/icon\":{\"title\":\"$:/language/Docs/Fields/icon\",\"text\":\"条目的标题含有与条目关联的图标\"},\"$:/language/Docs/Fields/library\":{\"title\":\"$:/language/Docs/Fields/library\",\"text\":\"若设置为 ''yes'',表示条目应该被保存为一个 JavaScript 程序库\"},\"$:/language/Docs/Fields/list\":{\"title\":\"$:/language/Docs/Fields/list\",\"text\":\"条目的列表,指定一些条目的标题清单\"},\"$:/language/Docs/Fields/list-before\":{\"title\":\"$:/language/Docs/Fields/list-before\",\"text\":\"前条目名称将被添加到条目排序清单中的设置条目名称之前,或若此字段存在但是空的,则被添加于清单的前端\"},\"$:/language/Docs/Fields/list-after\":{\"title\":\"$:/language/Docs/Fields/list-after\",\"text\":\"当前条目名称将被添加到条目排序清单的设置条目名称之后,或若此字段存在但是空的,则被添加于清单的尾端\"},\"$:/language/Docs/Fields/modified\":{\"title\":\"$:/language/Docs/Fields/modified\",\"text\":\"条目的最近修改日期与时间\"},\"$:/language/Docs/Fields/modifier\":{\"title\":\"$:/language/Docs/Fields/modifier\",\"text\":\"条目的最近修改者\"},\"$:/language/Docs/Fields/module-type\":{\"title\":\"$:/language/Docs/Fields/module-type\",\"text\":\"对于 javascript 条目,指定其为何种模组\"},\"$:/language/Docs/Fields/name\":{\"title\":\"$:/language/Docs/Fields/name\",\"text\":\"具可读性的插件条目的名称\"},\"$:/language/Docs/Fields/parent-plugin\":{\"title\":\"$:/language/Docs/Fields/parent-plugin\",\"text\":\"对于一个插件,指定其为哪个插件的子插件\"},\"$:/language/Docs/Fields/plugin-priority\":{\"title\":\"$:/language/Docs/Fields/plugin-priority\",\"text\":\"插件条目的优先级数值\"},\"$:/language/Docs/Fields/plugin-type\":{\"title\":\"$:/language/Docs/Fields/plugin-type\",\"text\":\"插件条目的类型\"},\"$:/language/Docs/Fields/stability\":{\"title\":\"$:/language/Docs/Fields/stability\",\"text\":\"插件的开发状态:已弃用、实验性、稳定或旧版\"},\"$:/language/Docs/Fields/released\":{\"title\":\"$:/language/Docs/Fields/released\",\"text\":\"TiddlyWiki 的发布日期\"},\"$:/language/Docs/Fields/revision\":{\"title\":\"$:/language/Docs/Fields/revision\",\"text\":\"条目存放于服务器中的修订版本\"},\"$:/language/Docs/Fields/source\":{\"title\":\"$:/language/Docs/Fields/source\",\"text\":\"条目的网址\"},\"$:/language/Docs/Fields/subtitle\":{\"title\":\"$:/language/Docs/Fields/subtitle\",\"text\":\"互动窗口的副标题\"},\"$:/language/Docs/Fields/tags\":{\"title\":\"$:/language/Docs/Fields/tags\",\"text\":\"条目的标签清单\"},\"$:/language/Docs/Fields/text\":{\"title\":\"$:/language/Docs/Fields/text\",\"text\":\"条目的内文\"},\"$:/language/Docs/Fields/throttle.refresh\":{\"title\":\"$:/language/Docs/Fields/throttle.refresh\",\"text\":\"如果存在,则限制此条目的刷新\"},\"$:/language/Docs/Fields/title\":{\"title\":\"$:/language/Docs/Fields/title\",\"text\":\"条目的唯一名称\"},\"$:/language/Docs/Fields/toc-link\":{\"title\":\"$:/language/Docs/Fields/toc-link\",\"text\":\"若设置为 ''no'',则抑制目录树中的条目链接。\"},\"$:/language/Docs/Fields/type\":{\"title\":\"$:/language/Docs/Fields/type\",\"text\":\"条目的内容类型\"},\"$:/language/Docs/Fields/version\":{\"title\":\"$:/language/Docs/Fields/version\",\"text\":\"插件的版本信息\"},\"$:/language/Docs/Fields/_is_skinny\":{\"title\":\"$:/language/Docs/Fields/_is_skinny\",\"text\":\"如果存在,则表示必须从服务器加载条目的文本字段\"},\"$:/language/Filters/AllTiddlers\":{\"title\":\"$:/language/Filters/AllTiddlers\",\"text\":\"所有条目,不含系统条目\"},\"$:/language/Filters/RecentSystemTiddlers\":{\"title\":\"$:/language/Filters/RecentSystemTiddlers\",\"text\":\"最近修改的条目,包含系统条目\"},\"$:/language/Filters/RecentTiddlers\":{\"title\":\"$:/language/Filters/RecentTiddlers\",\"text\":\"最近修改的条目\"},\"$:/language/Filters/AllTags\":{\"title\":\"$:/language/Filters/AllTags\",\"text\":\"所有标签,不含系统标签\"},\"$:/language/Filters/Missing\":{\"title\":\"$:/language/Filters/Missing\",\"text\":\"缺失条目\"},\"$:/language/Filters/Drafts\":{\"title\":\"$:/language/Filters/Drafts\",\"text\":\"草稿条目\"},\"$:/language/Filters/Orphans\":{\"title\":\"$:/language/Filters/Orphans\",\"text\":\"孤立条目\"},\"$:/language/Filters/SystemTiddlers\":{\"title\":\"$:/language/Filters/SystemTiddlers\",\"text\":\"系统条目\"},\"$:/language/Filters/ShadowTiddlers\":{\"title\":\"$:/language/Filters/ShadowTiddlers\",\"text\":\"默认条目\"},\"$:/language/Filters/OverriddenShadowTiddlers\":{\"title\":\"$:/language/Filters/OverriddenShadowTiddlers\",\"text\":\"被覆盖的默认条目\"},\"$:/language/Filters/SessionTiddlers\":{\"title\":\"$:/language/Filters/SessionTiddlers\",\"text\":\"自维基加载后修改的条目\"},\"$:/language/Filters/SystemTags\":{\"title\":\"$:/language/Filters/SystemTags\",\"text\":\"系统标签\"},\"$:/language/Filters/StoryList\":{\"title\":\"$:/language/Filters/StoryList\",\"text\":\"故事河中的条目,不含 ~$:/AdvancedSearch\"},\"$:/language/Filters/TypedTiddlers\":{\"title\":\"$:/language/Filters/TypedTiddlers\",\"text\":\"非维基文字条目\"},\"GettingStarted\":{\"title\":\"GettingStarted\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Basics/\\n\\n欢迎来到 ~TiddlyWiki 和 ~TiddlyWiki 社区\\n\\n开始在 ~TiddlyWiki 中存储重要信息之前,确保能够可靠地保存更改很重要。详情见 https://tiddlywiki.com/#GettingStarted\\n\\n!! 设置此 ~TiddlyWiki\\n\\n\u003Cdiv class=\\\"tc-control-panel\\\">\\n\\n|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k\\n| \u003C$link to=\\\"$:/SiteTitle\\\">\u003C\u003Clingo Title/Prompt>>\u003C/$link>|\u003C$edit-text tiddler=\\\"$:/SiteTitle\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n| \u003C$link to=\\\"$:/SiteSubtitle\\\">\u003C\u003Clingo Subtitle/Prompt>>\u003C/$link>|\u003C$edit-text tiddler=\\\"$:/SiteSubtitle\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|^ \u003C$link to=\\\"$:/DefaultTiddlers\\\">\u003C\u003Clingo DefaultTiddlers/Prompt>>\u003C/$link>\u003Cbr>\u003C\u003Clingo DefaultTiddlers/TopHint>>|\u003C$edit tag=\\\"textarea\\\" tiddler=\\\"$:/DefaultTiddlers\\\"/>\u003Cbr>//\u003C\u003Clingo DefaultTiddlers/BottomHint>>// |\\n\u003C/div>\\n\\n可在[[控制台|$:/ControlPanel]]查看更多选项。\"},\"$:/language/Help/build\":{\"title\":\"$:/language/Help/build\",\"description\":\"自动执行已配置的命令\",\"text\":\"生成指定的生成目标为当前 wiki。若未指定任何生成目标,则生成所有可用的目标。\\n\\n```\\n--build \u003Ctarget> [\u003Ctarget> ...]\\n```\\n\\n生成目标在 wiki 文件夹的 `tiddlywiki.info` 文件中定义。\\n\"},\"$:/language/Help/clearpassword\":{\"title\":\"$:/language/Help/clearpassword\",\"description\":\"清除用于后续加密的密码\",\"text\":\"清除用于后续加密的密码\\n\\n```\\n--clearpassword\\n```\\n\"},\"$:/language/Help/commands\":{\"title\":\"$:/language/Help/commands\",\"description\":\"运行从筛选器传回的命令\",\"text\":\"按顺序运行从筛选器传回的命令符记\\n\\n```\\n--commands \u003Cfilter>\\n```\\n\\n示例\\n\\n```\\n--commands \\\"[enlist:raw{$:/build-commands-as-text}]\\\"\\n```\\n\\n```\\n--commands \\\"[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget\u003CcurrentTiddler>]\\\"\\n```\\n\"},\"$:/language/Help/default\":{\"title\":\"$:/language/Help/default\",\"text\":\"\\\\define commandTitle()\\n$:/language/Help/$(command)$\\n\\\\end\\n\\\\whitespace trim\\n```\\n用法: tiddlywiki [\u003Cwikifolder>] [--\u003Ccommand> [\u003Cargs>...]...]\\n```\\n\\n可用的命令:\\n\\n\u003Cul>\\n\u003C$list filter=\\\"[commands[]sort[title]]\\\" variable=\\\"command\\\">\\n\u003Cli>\u003C$link to=\u003C\u003CcommandTitle>>>\u003C$macrocall $name=\\\"command\\\" $type=\\\"text/plain\\\" $output=\\\"text/plain\\\"/>\u003C/$link>:\\n \\n\u003C$transclude tiddler=\u003C\u003CcommandTitle>> field=\\\"description\\\"/>\u003C/li>\\n\u003C/$list>\\n\u003C/ul>\\n\\n取得关于某个命令的详细帮助:\\n\\n```\\ntiddlywiki --help \u003Ccommand>\\n```\\n\"},\"$:/language/Help/deletetiddlers\":{\"title\":\"$:/language/Help/deletetiddlers\",\"description\":\"删除一组条目\",\"text\":\"\u003C\u003C.from-version \\\"5.1.20\\\">> 删除由筛选器标识的一组条目。\\n\\n```\\n--deletetiddlers \u003Cfilter>\\n```\\n\"},\"$:/language/Help/editions\":{\"title\":\"$:/language/Help/editions\",\"description\":\"列出可用的 TiddlyWiki 版本\",\"text\":\"列出可用版本的名称和描述。您可以用 `--init` 命令创建一个指定版本的新维基。\\n\\n```\\n--editions\\n```\\n\"},\"$:/language/Help/fetch\":{\"title\":\"$:/language/Help/fetch\",\"description\":\"通过网址从维基提取条目\",\"text\":\"通过 HTTP/HTTPS 提取一个或多个文件,并导入匹配筛选器的条目,可选的转换传入的名称。\\n\\n```\\n--fetch file \u003Curl> \u003Cimport-filter> \u003Ctransform-filter>\\n--fetch files \u003Curl-filter> \u003Cimport-filter> \u003Ctransform-filter>\\n--fetch raw-file \u003Curl> \u003Ctransform-filter>\\n--fetch raw-files \u003Curl-filter> \u003Ctransform-filter>\\n```\\n\\n \\\"file\\\" 和 \\\"files\\\" 选项提取指定的文件,并尝试导入其中的条目(与将文件拖动到浏览器视窗中的处理相同)。 \\\"raw-file\\\" 和 \\\"raw-files\\\" 变选项提取指定的文件,并将原始文件资料存储于条目,而不套用导入逻辑。\\n\\n使用 \\\"file\\\" and \\\"raw-file\\\" 选项为仅提取单个文件,且第一个参数为要读取文件的网址。\\n\\n使用 \\\"files\\\" 和 \\\"raw-files\\\" 选项为提取多个文件,且第一个参数是一个产生要读取文件的网址清单的筛选器。例如,给定标签为 \\\"remote-server\\\" 的一组具有字段 \\\"url\\\" 的条目,筛选器 `[tag[remote-server]get[url]]` 将取回所有可用的网址。\\n\\n对于 \\\"file\\\" 和 \\\"files\\\" 选项,the `\u003Cimport-filter>` 参数指定一个筛选器,用于确定要导入哪些条目。如果未提供,则默认为 `[all[tiddlers]]`。\\n\\n对于所有选项,`\u003Ctransform-filter>` 参数指定一个可选的筛选器,用于转换导入条目的名称。例如,`[addprefix[$:/myimports/]]` 会将前缀 `$:/myimports/` 加至每个名称。\\n\\n于 `--fetch` 之前使用 `--verbose` 命令,将在导入期间输出进度信息。\\n\\n请注意,TiddlyWiki 不会提取一个已经加载插件的旧版本。\\n\\n以下示例从 https://tiddlywiki.com 取回所有非系统条目,并将其保存到一个 JSON 文件:\\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\\n以下范例从 https://tiddlywiki.com 取回 \\\"favicon\\\" 文件,并将其保存在名为 \\\"output.ico\\\" 的文件中。请注意,在 \\\"--fetch\\\" 命令中引用的中间条目 \\\"Icon Tiddler\\\",因为它被用作转换筛选器来替换预设的名称,而 \\\"--savetiddler\\\" 命令没有引号,因为它是直接用作标题。\\n\\n```\\ntiddlywiki --verbose --fetch raw-file \\\"https://tiddlywiki.com/favicon.ico\\\" \\\"[[Icon Tiddler]]\\\" --savetiddler \\\"Icon Tiddler\\\" output.ico\\n```\\n\"},\"$:/language/Help/help\":{\"title\":\"$:/language/Help/help\",\"description\":\"显示 TiddlyWiki 命令的说明\",\"text\":\"显示命令的帮助文本:\\n\\n```\\n--help [\u003Ccommand>]\\n```\\n\\n若省略命令名称,则显示可用命令的清单。\\n\"},\"$:/language/Help/import\":{\"title\":\"$:/language/Help/import\",\"description\":\"从文件导入条目\",\"text\":\"从 TiddlyWiki 文件 (`.html`)、`.tiddler`、`.tid`、`.json` 或其他本机文件导入条目。必须明确指定解串器,而不像 load 命令,从文件扩展名推断解串器。\\n\\n```\\n--import \u003Cfilepath> \u003Cdeserializer> [\u003Ctitle>] [\u003Cencoding>]\\n```\\n\\n核心的解串器包括:\\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\\n导入的条目名称,默认为文件名。\\n\\n编码默认为 \\\"utf8\\\",但用于导入二进制文件可以是 \\\"base64\\\"。\\n\\n请注意,TiddlyWiki 不会导入旧版本的已加载插件。\\n\"},\"$:/language/Help/init\":{\"title\":\"$:/language/Help/init\",\"description\":\"初始化一个新的 wiki 文件夹\",\"text\":\"初始化一个空的 [[WikiFolder|WikiFolders]] 的指定版本的副本。\\n\\n```\\n--init \u003Cedition> [\u003Cedition> ...]\\n```\\n\\n例如:\\n\\n```\\ntiddlywiki ./MyWikiFolder --init empty\\n```\\n\\n注意:\\n\\n* 若有需要,将创建 wiki 文件夹目录\\n* 其中 \\\"edition\\\" 默认为 ''empty''\\n* 若 wiki 文件夹不是空的,则初始化命令将失败\\n* 初始化命令会删除 'tiddlywiki.info' 文件内所有 'includeWikis' 的定义。\\n* 当指定多个版本时,这些版本于初始化后,将覆盖早期版本共用的所有文件 (故此最终的 `tiddlywiki.info` 文件将是从最近的版本复制而得)\\n* `--editions` 传回所有可用版本的清单。\\n\"},\"$:/language/Help/listen\":{\"title\":\"$:/language/Help/listen\",\"description\":\"为 TiddlyWiki 提供一个 HTTP 服务器接口\",\"text\":\"通过 HTTP 提供一个维基服务。\\n\\nlisten 命令使用[[命名的命令参数|NamedCommandParameters]]:\\n\\n```\\n--listen [\u003Cname>=\u003Cvalue>]...\\n```\\n\\n所有参数都是可选的, 具有安全的默认值, 可以按任意顺序指定。认可的参数有:\\n\\n* ''host'' - 可选的主机名称, (默认为 \\\"127.0.0.1\\\" 或名为 \\\"localhost\\\")\\n* ''path-prefix'' - 可选的路径前缀\\n* ''port'' - 侦听的埠号;非数值会被解译为一个系统环境变数,从其中提取埠号 (默认为 \\\"8080\\\")\\n* ''credentials'' - 凭证 CSV 文件的路径名(相对于维基文件夹)\\n* ''anon-username'' - 匿名用户的编辑署名\\n* ''username'' - 可选的基础验证用户名称\\n* ''password'' - 可选的基础验证密码\\n* ''authenticated-user-header'' - 可选的请求标头名称,用于受信任身份验证\\n* ''readers'' - 允许读取此维基,以逗号分隔的用户名称的清单\\n* ''writers'' - 允许写入此维基,以逗号分隔的用户名称的清单\\n* ''csrf-disable'' - 设置为 \\\"yes\\\" 以禁用 CSRF 检查 (默认为 \\\"no\\\")\\n* ''sse-enabled'' - 设置为 \\\"yes\\\" 以启用服务器传送的事件 (默认为 \\\"no\\\")\\n* ''root-tiddler'' - 服务的基础条目 (默认为 \\\"$:/core/save/all\\\")\\n* ''root-render-type'' - 呈现的基础条目的内容类型 (默认为 \\\"text/plain\\\")\\n* ''root-serve-type'' - 服务的基础条目的内容类型 (默认为 \\\"text/html\\\")\\n* ''tls-cert'' - TLS 证书文件的路径名(相对于维基文件夹)\\n* ''tls-key'' - TLS 密钥文件的路径名(相对于维基文件夹)\\n* ''debug-level'' - 可选的调试级别;设置为 \\\"debug\\\" 来查看请求的详细信息;(默认为 \\\"none\\\")\\n* ''gzip'' - 设为 \\\"yes\\\" 以启用某些 http 端点的 gzip 压缩 (默认为 \\\"no\\\")\\n* ''use-browser-cache'' - 设置为 \\\"yes\\\" 允许浏览器缓存响应,以节省带宽(默认为 \\\"no\\\")\\n\\n有关向整个本地网络开启实例的信息,以及可能的安全问题,请参阅 TiddlyWiki.com 的 WebServer 条目。\\n\"},\"$:/language/Help/load\":{\"title\":\"$:/language/Help/load\",\"description\":\"从文件中加载条目\",\"text\":\"从 TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` 或其他本机文件加载条目。应用的处理程序取决于导入文件的扩展名。如果您需要明确指定解串器和编码,请改用 `import` 命令。\\n\\n```\\n--load \u003Cfilepath> [noerror]\\n--load \u003Cdirpath> [noerror]\\n```\\n\\n默认情况下, 如果未找到条目,load 命令会引发错误。通过提供可选的 \\\"noerror\\\" 参数可以抑制该错误。\\n\\n从已加密的 TiddlyWiki 文件中加载条目,须使用 PasswordCommand 指定密码,例如:\\n\\n```\\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\\n```\\n\\n请注意 TiddlyWiki 将不加载旧版本的已挂载的插件。\\n\"},\"$:/language/Help/makelibrary\":{\"title\":\"$:/language/Help/makelibrary\",\"description\":\"构建升级处理所需的程式库插件\",\"text\":\"为升级处理构建 `$:/UpgradeLibrary` 条目。\\n\\n升级程式库被格式化为一个插件类型为 `library` 的一般插件条目。它包含 TiddlyWiki5 存储库中所有可用的插件、布局主题和语言包的副本。\\n\\n此命令仅供内部使用;它只是与使用者构建一个自订的升级程序相关。\\n\\n```\\n--makelibrary \u003Ctitle>\\n```\\n\\n标题参数默认为 `$:/UpgradeLibrary`。\\n\"},\"$:/language/Help/notfound\":{\"title\":\"$:/language/Help/notfound\",\"text\":\"无此帮助项目\"},\"$:/language/Help/output\":{\"title\":\"$:/language/Help/output\",\"description\":\"设置后续命令的基准输出文件夹\",\"text\":\"设置后续命令的基准输出文件夹,默认为该版本文件夹的 `output` 子文件夹。\\n\\n```\\n--output \u003Cpathname>\\n```\\n\\n若指定的路径是相对路径,则它是被解析相对于当前的工作文件夹。例如:`--output .` 將輸出文件夹設置為當前工作文件夹。\"},\"$:/language/Help/password\":{\"title\":\"$:/language/Help/password\",\"description\":\"设置用以加密的密码\",\"text\":\"设置用以加密的密码\\n\\n```\\n--password \u003Cpassword>\\n```\\n\\n''请注意'':这不是用于提供 TiddlyWiki 具有密码保护功能。相反地,请看 [[ServerCommand]] 的密码选项说明。\\n\"},\"$:/language/Help/render\":{\"title\":\"$:/language/Help/render\",\"description\":\"呈现个别条目到文件\",\"text\":\"呈现由筛选器标识的个别条目,并将结果保存到指定的文件。\\n\\n可选择性地指定范本条目名称。在此情况下,不是直接呈现每个条目,而是使用设为正在呈现的条目名称的 \\\"currentTiddler\\\" 变量,来呈现范本条目。\\n\\n也可以选择性地指定附加变量的名称和值。\\n\\n```\\n--render \u003Ctiddler-filter> [\u003Cfilename-filter>] [\u003Crender-type>] [\u003Ctemplate>] [ [\u003Cname>] [\u003Cvalue>] ]*\\n```\\n\\n* ''tiddler-filter'': 标识要呈现的条目的筛选器\\n* ''filename-filter'': 可选的筛选器,转换条目名称至路径名。如果省略,默认为 `[is[tiddler]addsuffix[.html]]`,其使用未改变的条目名称为文件名\\n* ''template'': 可选的范本,用于呈现每个条目\\n* ''render-type'': 可选的呈现类型:`text/html` (默认值) 会传回完整的 HTML 文本,而 `text/plain` 只会传回文本内容 (即其忽略 HTML 标记与其他不可印出的数据)\\n* ''name'': 可选的变量名称\\n* ''value'': 可选的变量值\\n\\n默认情况下,文件名被解析为相对于发行版文件夹的 `output` 子文件夹。`--output` 命令可用于将输出指到一个不同的文件夹。\\n\\n附注:\\n\\n* 输出目录不清除任何现有的文件\\n* 文件名的路径中,任何不存在的文件夹,将自动创建。\\n* 当正呈现的条目名称中带有空格,请注意同时使用命令行接口所要求的引号,与 TiddlyWiki 的双重方括号:`--render \\\"[[Motovun Jack.jpg]]\\\"`\\n* 所选的项目被设置为当前正在呈现的条目名称,以此评估文件名筛选器,允条目名称用作基础计算的文件名。例如,`[encodeuricomponent[]addprefix[static/]]` 为每个条目名称套用 URI 编码,然后增加首码 `static/`\\n* `--render` 命令是已弃用的 `--rendertiddler` 和 `--rendertiddlers` 的一个更灵活的替代命令。\\n\\n例子:\\n\\n* `--render \\\"[!is[system]]\\\" \\\"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\\\"` -- 呈现所有非系统条目为 \\\"tiddlers\\\" 子文件夹中的文件,文件名为 URL 编码的条目名称和扩展名 HTML\\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- 将标签为 \\\"HelloThere\\\" 的条目渲染到名为 \\\"tiddlers.json\\\" 的 JSON 文件\"},\"$:/language/Help/rendertiddler\":{\"title\":\"$:/language/Help/rendertiddler\",\"description\":\"呈现个别条目为指定的内容类型\",\"text\":\"(请注意:`--rendertiddler` 命令已被弃用,而支持新的、更灵活的 `--render` 命令)\\n\\n呈现个别条目为指定的[[内容类型|ContentType]],默认为 `text/html` 且保存为指定的文件名。\\n\\n还可以指定一个模板,在这种情况下,\\\"currentTiddler\\\" 变量设为正在呈现的条目 (第一个参数值) 与模板条目合并呈现。\\n\\n也能可选地指定附加变量的名称与其值。\\n\\n```\\n--rendertiddler \u003Ctitle> \u003Cfilename> [\u003Ctype>] [\u003Ctemplate>]\\n```\\n\\n默认情况下,文件名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件夹。\\n\\n自动创建在文件名称的路径中任何缺少的文件夹。\\n\\n例如,以下命令通过使用核心模板 `$:/core/templates/exporters/JsonFile`,将所有匹配筛选器 `[tag[done]]` 的条目保存到名为 `output.json` 的 JSON 文件。\\n\\n```\\n--rendertiddler \\\"$:/core/templates/exporters/JsonFile\\\" output.json text/plain \\\"\\\" exportFilter \\\"[tag[done]]\\\"\\n```\"},\"$:/language/Help/rendertiddlers\":{\"title\":\"$:/language/Help/rendertiddlers\",\"description\":\"呈现符合筛选条件的条目为指定的内容类型\",\"text\":\"(请注意:`--rendertiddlers` 命令已被弃用,而支持新的、更灵活的 `--render` 命令)\\n\\n呈现符合筛选条的条目为指定的[[内容类型|ContentType]] (默认为 `text/html`) 与扩展名 (默认为 `.html`).\\n\\n```\\n--rendertiddlers '\u003Cfilter>' \u003Ctemplate> \u003Cpathname> [\u003Ctype>] [\u003Cextension>] [\\\"noclean\\\"]\\n```\\n\\n例如:\\n\\n```\\n--rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain\\n```\\n\\n默认情况下,路径名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件。\\n\\n在目标文件夹中的任何文件都会被删除,除非指定 ''noclean'' 旗标。若缺少目标文件夹,则以递归方式创建。\"},\"$:/language/Help/save\":{\"title\":\"$:/language/Help/save\",\"description\":\"将个别原始条目保存到文件\",\"text\":\"将筛选器标识的个别条目,以原始文本或二进位格式,保存到指定的文件。\\n\\n```\\n--save \u003Ctiddler-filter> \u003Cfilename-filter>\\n```\\n\\n* ''tiddler-filter'': 标识要保存的条目的筛选器\\n* ''filename-filter'': 可选的筛选器,转换条目名称至路径名。如果省略,默认为 `[is[tiddler]]`,其使用未改变的条目名称为文件名\\n\\n附注:\\n\\n* 输出文件夹不清除任何现有的文件\\n* 文件名的路径中,任何不存在的文件夹,将自动创建。\\n* 当正保存的条目的名称中带有空格,请注意同时使用命令行接口所要求的引号,与 TiddlyWiki 的双重方括号:`--save \\\"[[Motovun Jack.jpg]]\\\"`\\n* 所选的项目被设置为当前正在保存的条目名称,以此评估文件名筛选器,允条目名称用作基础计算的文件名。例如,`[encodeuricomponent[]addprefix[static/]]` 为每个条目名称套用 URI 编码,然后增加首码 `static/`\\n* `--save` 命令是已被弃用的 `--savetiddler` 和 `--savetiddlers` 的一个更灵活的替代命令。\\n\\n例子:\\n\\n* `--save \\\"[!is[system]is[image]]\\\" \\\"[encodeuricomponent[]addprefix[tiddlers/]]\\\"` -- 保存所有非系统的图像条目为 \\\"tiddlers\\\" 子文件夹中的文件,文件名为 URL 编码的条目名称\"},\"$:/language/Help/savetiddler\":{\"title\":\"$:/language/Help/savetiddler\",\"description\":\"将条目的原始内容保存到一个文件\",\"text\":\"(请注意:`--savetiddler` 命令已被弃用,而支持新的、更灵活的 `--save` 命令)\\n\\n保存个别条目的原始文本或二进制格式到指定的文件名。\\n\\n```\\n--savetiddler \u003Ctitle> \u003Cfilename>\\n```\\n\\n默认情况下,文件名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件。\\n\\n自动创建在文件名称的路径中任何缺少的文件夹。\\n\"},\"$:/language/Help/savetiddlers\":{\"title\":\"$:/language/Help/savetiddlers\",\"description\":\"将一群条目的原始内容保存到一个文件夹\",\"text\":\"(请注意:`--savetiddlers` 命令已被弃用,而支持新的、更灵活的 `--save` 命令)\\n\\n保存一群条目的原始文字或二进制格式到指定的文件夹。\\n\\n```\\n--savetiddlers \u003Cfilter> \u003Cpathname> [noclean]\\n```\\n\\n默认情况下,路径名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件夹。\\n\\n保存指定的文件之前,会先清除输出目录的现有文件。可藉由指定 ''noclean'' 旗标,禁用该删除操作。\\n\\n自动创建在路径中任何缺少的文件夹。\\n\"},\"$:/language/Help/savewikifolder\":{\"title\":\"$:/language/Help/savewikifolder\",\"description\":\"将维基保存到一个新的维基文件夹\",\"text\":\"\u003C\u003C.from-version \\\"5.1.20\\\">> 将当前维基保存为一个维基文件夹,包含条目、插件和配置:\\n\\n```\\n--savewikifolder \u003Cwikifolderpath> [\u003Cfilter>] [ [\u003Cname>=\u003Cvalue>] ]*\\n```\\n\\n* 目标维基文件夹必须为空或不存在\\n* 筛选器指定应包括哪些条目。其为可选,默认为 `[all[tiddlers]]`\\n* 官方插件库中的插件,将替换为 `tiddlywiki.info` 文件中引用到的插件\\n* 自订插件将解压缩到自己的文件夹中\\n\\n支持以下选项:\\n\\n* ''filter'':定义要包含在输出中的条目的筛选器操作符。\\n* ''explodePlugins'': 默认为 \\\"yes\\\"\\n** ''yes'' 将 \\\"分解\\\" 插件为单独的条目文件,并将其保存到维基文件夹内的插件目录中\\n** ''no'' 将抑制分解插件到其组成的条目文件中。它将把插件保存为 tiddlers 文件夹中的单个 JSON 条目\\n\\n请注意,两个 ''explodePlugins'' 选项都会生成构建完全相同的原始维基的维基文件夹。区别在于插件在维基文件夹中的表示方式。\\n\\n常见的用法是将一个 TiddlyWiki HTML 文件转换成维基文件夹:\\n\\n```\\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\\n```\\n\\n将插件保存到目标维基文件夹的 tiddlers 目录中:\\n\\n```\\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder explodePlugins=no\\n``` \"},\"$:/language/Help/server\":{\"title\":\"$:/language/Help/server\",\"description\":\"(已弃用:请参阅 'listen' 命令)提供一个 HTTP 服务器界面到 TiddlyWiki\",\"text\":\"在服务器中内置 TiddlyWiki5 是非常简单。虽与 TiddlyWeb 兼容,但不支持许多健全互联网面向的使用方式所需的功能。\\n\\n提供呈现一个指定条目,也可将个别条目编码成 JSON,且支持基础的 HTTP 操作 `GET`、`PUT` 及 `DELETE`.\\n\\n```\\n--server \u003Cport> \u003Croot-tiddler> \u003Croot-render-type> \u003Croot-serve-type> \u003Cusername> \u003Cpassword> \u003Chost> \u003Cpath-prefix> \u003Cdebug-level>\\n```\\n\\n参数说明:\\n\\n* ''port'' - 要侦听的埠号;非数值会被解译为一个系统环境变数,从其中提取埠号 (默认为 \\\"8080\\\")\\n* ''root-tiddler'' - 服务的基础条目 (默认为 \\\"$:/core/save/all\\\")\\n* ''root-render-type'' - 呈现的基础条目的内容类型 (默认为 \\\"text/plain\\\")\\n* ''root-serve-type'' - 服务的基础条目的内容类型 (默认为 \\\"text/html\\\")\\n* ''username'' - 默认的编辑者署名\\n* ''password'' - 可选的基础验证密码\\n* ''host'' - 可选的主机名称, (默认为 \\\"127.0.0.1\\\" 或名为 \\\"localhost\\\")\\n* ''path-prefix'' - 可选的路径前缀\\n* ''debug-level'' - 可选的调试级别;设置为 \\\"debug\\\" 来查看请求的详细信息;(默认为 \\\"none\\\")\\n\\n若指定密码参数,浏览器将提示使用者输入用户名与密码。注意,密码系以明码方式传递,应只在受信任的网络或 HTTPS 上使用。\\n\\n例如:\\n\\n```\\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\\n```\\n\\n若您需要设置主机名称或路径前缀,而不要求输入密码,则可以指定空字符串的使用者名和密码。\\n\\n```\\n--server 8080 $:/core/save/all text/plain text/html \\\"\\\" \\\"\\\" 192.168.0.245\\n```\\n\\n使用这样的位址,会将您的系统暴露给本地网络。有关向整个本地网络开启实例的信息,以及可能的安全问题,请参阅 TiddlyWiki.com 的 WebServer 条目。\\n\\n同时执行多个 TiddlyWiki 服务,须分别指定不同的埠号。使用环境变数,有助于将埠号传递给 Node.js 进程。本示例引用一个名为 \\\"MY_PORT_NUMBER\\\" 的环境变数:\\n\\n```\\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\\n```\"},\"$:/language/Help/setfield\":{\"title\":\"$:/language/Help/setfield\",\"description\":\"准备用于外部条目\",\"text\":\"//请注意此命令是试验性的,且可能会更改或在最终定稿前被替换//\\n\\n设置一群条目的指定字段到 wikifying 范本条目的结果,其中的 `currentTiddler` 变数设置为各该条目。\\n\\n```\\n--setfield \u003Cfilter> \u003Cfieldname> \u003Ctemplatetitle> \u003Crendertype>\\n```\\n\\n参数说明:\\n\\n* ''filter'' - 受影响的辨识条目的筛选条件\\n* ''fieldname'' - 要修改的字段(默认为 \\\"text\\\")\\n* ''templatetitle'' - 该条目 wikify 到指定字段。若为空白或丢失,则删除指定的字段\\n* ''rendertype'' - 要呈现的文本类型(默认为 \\\"text/plain\\\"; \\\"text/html\\\" 可以用于包含 HTML 标记))\\n\"},\"$:/language/Help/unpackplugin\":{\"title\":\"$:/language/Help/unpackplugin\",\"description\":\"从插件解开附属的条目\",\"text\":\"提取插件的附属条目,将其建立为一般条目:\\n\\n```\\n--unpackplugin \u003Ctitle>\\n```\\n\"},\"$:/language/Help/verbose\":{\"title\":\"$:/language/Help/verbose\",\"description\":\"触发详细的输出模式\",\"text\":\"触发显示详细的命令执行过程,可用于调试\\n\\n```\\n--verbose\\n```\\n\"},\"$:/language/Help/version\":{\"title\":\"$:/language/Help/version\",\"description\":\"显示 TiddlyWiki 的版本编号\",\"text\":\"显示 TiddlyWiki 的版本编号。\\n\\n```\\n--version\\n```\\n\"},\"$:/language/Import/Editor/Import/Heading\":{\"title\":\"$:/language/Import/Editor/Import/Heading\",\"text\":\"导入图像并将其插入至编辑器。\"},\"$:/language/Import/Imported/Hint\":{\"title\":\"$:/language/Import/Imported/Hint\",\"text\":\"下列条目已被导入:\"},\"$:/language/Import/Listing/Cancel/Caption\":{\"title\":\"$:/language/Import/Listing/Cancel/Caption\",\"text\":\"取消\"},\"$:/language/Import/Listing/Cancel/Warning\":{\"title\":\"$:/language/Import/Listing/Cancel/Warning\",\"text\":\"您要取消导入吗?\"},\"$:/language/Import/Listing/Hint\":{\"title\":\"$:/language/Import/Listing/Hint\",\"text\":\"这些条目已备妥导入:\"},\"$:/language/Import/Listing/Import/Caption\":{\"title\":\"$:/language/Import/Listing/Import/Caption\",\"text\":\"导入\"},\"$:/language/Import/Listing/Select/Caption\":{\"title\":\"$:/language/Import/Listing/Select/Caption\",\"text\":\"选择\"},\"$:/language/Import/Listing/Status/Caption\":{\"title\":\"$:/language/Import/Listing/Status/Caption\",\"text\":\"状态\"},\"$:/language/Import/Listing/Title/Caption\":{\"title\":\"$:/language/Import/Listing/Title/Caption\",\"text\":\"条目\"},\"$:/language/Import/Listing/Preview\":{\"title\":\"$:/language/Import/Listing/Preview\",\"text\":\"预览:\"},\"$:/language/Import/Listing/Preview/Text\":{\"title\":\"$:/language/Import/Listing/Preview/Text\",\"text\":\"文本\"},\"$:/language/Import/Listing/Preview/TextRaw\":{\"title\":\"$:/language/Import/Listing/Preview/TextRaw\",\"text\":\"文本 (原始)\"},\"$:/language/Import/Listing/Preview/Fields\":{\"title\":\"$:/language/Import/Listing/Preview/Fields\",\"text\":\"字段\"},\"$:/language/Import/Listing/Preview/Diff\":{\"title\":\"$:/language/Import/Listing/Preview/Diff\",\"text\":\"差异\"},\"$:/language/Import/Listing/Preview/DiffFields\":{\"title\":\"$:/language/Import/Listing/Preview/DiffFields\",\"text\":\"差异 (字段)\"},\"$:/language/Import/Listing/Rename/Prompt\":{\"title\":\"$:/language/Import/Listing/Rename/Prompt\",\"text\":\"重新命名为:\"},\"$:/language/Import/Listing/Rename/Tooltip\":{\"title\":\"$:/language/Import/Listing/Rename/Tooltip\",\"text\":\"导入前重新命名条目\"},\"$:/language/Import/Listing/Rename/ConfirmRename\":{\"title\":\"$:/language/Import/Listing/Rename/ConfirmRename\",\"text\":\"重新命名条目\"},\"$:/language/Import/Listing/Rename/CancelRename\":{\"title\":\"$:/language/Import/Listing/Rename/CancelRename\",\"text\":\"取消\"},\"$:/language/Import/Listing/Rename/OverwriteWarning\":{\"title\":\"$:/language/Import/Listing/Rename/OverwriteWarning\",\"text\":\"具有此标题的条目已存在。\"},\"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible\":{\"title\":\"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible\",\"text\":\"封锁的不兼容或过时插件。\"},\"$:/language/Import/Upgrader/Plugins/Suppressed/Version\":{\"title\":\"$:/language/Import/Upgrader/Plugins/Suppressed/Version\",\"text\":\"封锁的插件 (由于传入的 \u003C\u003Cincoming>> 不比现有版本 \u003C\u003Cexisting>> 新)。\"},\"$:/language/Import/Upgrader/Plugins/Upgraded\":{\"title\":\"$:/language/Import/Upgrader/Plugins/Upgraded\",\"text\":\"升级插件,从 \u003C\u003Cincoming>> 到 \u003C\u003Cupgraded>>。\"},\"$:/language/Import/Upgrader/State/Suppressed\":{\"title\":\"$:/language/Import/Upgrader/State/Suppressed\",\"text\":\"封锁的暂存状态条目。\"},\"$:/language/Import/Upgrader/System/Disabled\":{\"title\":\"$:/language/Import/Upgrader/System/Disabled\",\"text\":\"已禁用系統条目。\"},\"$:/language/Import/Upgrader/System/Suppressed\":{\"title\":\"$:/language/Import/Upgrader/System/Suppressed\",\"text\":\"封锁的系统条目。\"},\"$:/language/Import/Upgrader/System/Warning\":{\"title\":\"$:/language/Import/Upgrader/System/Warning\",\"text\":\"核心模块条目。\"},\"$:/language/Import/Upgrader/System/Alert\":{\"title\":\"$:/language/Import/Upgrader/System/Alert\",\"text\":\"您即将导入一个条目会覆盖一个核心模块条目。不建议这样做,因为可能会使系统不稳定。\"},\"$:/language/Import/Upgrader/ThemeTweaks/Created\":{\"title\":\"$:/language/Import/Upgrader/ThemeTweaks/Created\",\"text\":\"从 \u003C$text text=\u003C\u003Cfrom>>/> 迁移布局主题。\"},\"$:/language/Import/Upgrader/Tiddler/Disabled\":{\"title\":\"$:/language/Import/Upgrader/Tiddler/Disabled\",\"text\":\"已禁用系統条目。\"},\"$:/language/Import/Upgrader/Tiddler/Selected\":{\"title\":\"$:/language/Import/Upgrader/Tiddler/Selected\",\"text\":\"选定的条目。\"},\"$:/language/Import/Upgrader/Tiddler/Unselected\":{\"title\":\"$:/language/Import/Upgrader/Tiddler/Unselected\",\"text\":\"未选定的条目。\"},\"$:/language/AboveStory/ClassicPlugin/Warning\":{\"title\":\"$:/language/AboveStory/ClassicPlugin/Warning\",\"text\":\"您似乎要加载为 ~TiddlyWiki 经典版设计的插件。请注意,[[这些插件无法运行于 TiddlyWiki 5.x.x 版|https://tiddlywiki.com/#TiddlyWikiClassic]]。检测到 ~TiddlyWiki 经典版插件:\"},\"$:/language/BinaryWarning/Prompt\":{\"title\":\"$:/language/BinaryWarning/Prompt\",\"text\":\"此条目包含二进制数据\"},\"$:/language/ClassicWarning/Hint\":{\"title\":\"$:/language/ClassicWarning/Hint\",\"text\":\"此条目以经典版 TiddlyWiki 标记格式撰写,不完全兼容新版 TiddlyWiki 的格式,详细信息请参阅:https://tiddlywiki.com/static/Upgrading。\"},\"$:/language/ClassicWarning/Upgrade/Caption\":{\"title\":\"$:/language/ClassicWarning/Upgrade/Caption\",\"text\":\"升级\"},\"$:/language/CloseAll/Button\":{\"title\":\"$:/language/CloseAll/Button\",\"text\":\"全部关闭\"},\"$:/language/ColourPicker/Recent\":{\"title\":\"$:/language/ColourPicker/Recent\",\"text\":\"最近︰\"},\"$:/language/ConfirmCancelTiddler\":{\"title\":\"$:/language/ConfirmCancelTiddler\",\"text\":\"您确定要取消对条目 \\\"\u003C$text text=\u003C\u003Ctitle>>/>\\\" 的更改?\"},\"$:/language/ConfirmDeleteTiddler\":{\"title\":\"$:/language/ConfirmDeleteTiddler\",\"text\":\"您确定要删除条目 \\\"\u003C$text text=\u003C\u003Ctitle>>/>\\\"?\"},\"$:/language/ConfirmDeleteTiddlers\":{\"title\":\"$:/language/ConfirmDeleteTiddlers\",\"text\":\"您确定要删除 \u003C\u003CresultCount>> 个条目?\"},\"$:/language/ConfirmOverwriteTiddler\":{\"title\":\"$:/language/ConfirmOverwriteTiddler\",\"text\":\"您确定要覆盖条目 \\\"\u003C$text text=\u003C\u003Ctitle>>/>\\\"?\"},\"$:/language/ConfirmEditShadowTiddler\":{\"title\":\"$:/language/ConfirmEditShadowTiddler\",\"text\":\"您即将要编辑默认条目,任何更改将会覆盖默认的系统,使未来的升级不寻常。您确定要编辑 \\\"\u003C$text text=\u003C\u003Ctitle>>/>\\\"?\"},\"$:/language/ConfirmAction\":{\"title\":\"$:/language/ConfirmAction\",\"text\":\"是否要继续?\"},\"$:/language/Count\":{\"title\":\"$:/language/Count\",\"text\":\"计数\"},\"$:/language/DefaultNewTiddlerTitle\":{\"title\":\"$:/language/DefaultNewTiddlerTitle\",\"text\":\"新条目\"},\"$:/language/Diffs/CountMessage\":{\"title\":\"$:/language/Diffs/CountMessage\",\"text\":\"\u003C\u003Cdiff-count>> 个差异\"},\"$:/language/DropMessage\":{\"title\":\"$:/language/DropMessage\",\"text\":\"现在放下(或按 ESC 键取消)\"},\"$:/language/Encryption/Cancel\":{\"title\":\"$:/language/Encryption/Cancel\",\"text\":\"取消\"},\"$:/language/Encryption/ConfirmClearPassword\":{\"title\":\"$:/language/Encryption/ConfirmClearPassword\",\"text\":\"您要清除密码吗?当保存此维基时,这将删除已套用的加密\"},\"$:/language/Encryption/Username\":{\"title\":\"$:/language/Encryption/Username\",\"text\":\"用户名称\"},\"$:/language/Encryption/Password\":{\"title\":\"$:/language/Encryption/Password\",\"text\":\"密码\"},\"$:/language/Encryption/PromptSetPassword\":{\"title\":\"$:/language/Encryption/PromptSetPassword\",\"text\":\"为此 TiddlyWiki 设置一个新密码\"},\"$:/language/Encryption/RepeatPassword\":{\"title\":\"$:/language/Encryption/RepeatPassword\",\"text\":\"重复输入密码\"},\"$:/language/Encryption/PasswordNoMatch\":{\"title\":\"$:/language/Encryption/PasswordNoMatch\",\"text\":\"密码不匹配\"},\"$:/language/Encryption/SetPassword\":{\"title\":\"$:/language/Encryption/SetPassword\",\"text\":\"设定密码\"},\"$:/language/Error/Caption\":{\"title\":\"$:/language/Error/Caption\",\"text\":\"错误\"},\"$:/language/Error/DeserializeOperator/MissingOperand\":{\"title\":\"$:/language/Error/DeserializeOperator/MissingOperand\",\"text\":\"筛选器错误:'deserialize' 运算符缺少运算元\"},\"$:/language/Error/DeserializeOperator/UnknownDeserializer\":{\"title\":\"$:/language/Error/DeserializeOperator/UnknownDeserializer\",\"text\":\"筛选器错误:未知的解串器被提供为 'deserialize' 运算符的操作数\"},\"$:/language/Error/Filter\":{\"title\":\"$:/language/Error/Filter\",\"text\":\"筛选器错误\"},\"$:/language/Error/FilterRunPrefix\":{\"title\":\"$:/language/Error/FilterRunPrefix\",\"text\":\"筛选器错误:筛选器 run 的未知首码\"},\"$:/language/Error/FilterSyntax\":{\"title\":\"$:/language/Error/FilterSyntax\",\"text\":\"筛选器运算式中的语法错误\"},\"$:/language/Error/FormatFilterOperator\":{\"title\":\"$:/language/Error/FormatFilterOperator\",\"text\":\"筛选器错误:`format` 筛选器运算符的未知尾码\"},\"$:/language/Error/IsFilterOperator\":{\"title\":\"$:/language/Error/IsFilterOperator\",\"text\":\"筛选器错误︰'is' 筛选器运算子的未知参数\"},\"$:/language/Error/LoadingPluginLibrary\":{\"title\":\"$:/language/Error/LoadingPluginLibrary\",\"text\":\"加载插件库时,发生错误\"},\"$:/language/Error/NetworkErrorAlert\":{\"title\":\"$:/language/Error/NetworkErrorAlert\",\"text\":\"`\u003Ch2>''网络错误''\u003C/h2>与服务器的连缐似乎已中断。这可能表示您的网络连缐有问题。请尝试恢复网路连缐才能继续。\u003Cbr>\u003Cbr>''恢复连缐时,所有未保存的更改,将自动同步''。`\"},\"$:/language/Error/PutEditConflict\":{\"title\":\"$:/language/Error/PutEditConflict\",\"text\":\"服务器上的文件已更改\"},\"$:/language/Error/PutForbidden\":{\"title\":\"$:/language/Error/PutForbidden\",\"text\":\"没有权限\"},\"$:/language/Error/PutUnauthorized\":{\"title\":\"$:/language/Error/PutUnauthorized\",\"text\":\"需要身分验证\"},\"$:/language/Error/RecursiveTransclusion\":{\"title\":\"$:/language/Error/RecursiveTransclusion\",\"text\":\"于 transclude 小部件中的递归嵌入错误\"},\"$:/language/Error/RetrievingSkinny\":{\"title\":\"$:/language/Error/RetrievingSkinny\",\"text\":\"简要条目清单提取错误\"},\"$:/language/Error/SavingToTWEdit\":{\"title\":\"$:/language/Error/SavingToTWEdit\",\"text\":\"保存到 TWEdit 时,发生错误\"},\"$:/language/Error/WhileSaving\":{\"title\":\"$:/language/Error/WhileSaving\",\"text\":\"保存时,发生错误\"},\"$:/language/Error/XMLHttpRequest\":{\"title\":\"$:/language/Error/XMLHttpRequest\",\"text\":\"XMLHttpRequest 错误代码\"},\"$:/language/Error/ZoominTextNode\":{\"title\":\"$:/language/Error/ZoominTextNode\",\"text\":\"故事视图错误:您似乎尝试与显示在自定义容器中的条目进行交互。这很可能是由于将 `$:/tags/StoryTiddlerTemplateFilter` 与开头包含文本或空格的模板一起使用引起的。请使用编译指示 `\\\\whitespace trim`,并确保条目的全部内容都包含在单个 HTML 元素中。导致此问题的文本:\"},\"$:/language/InternalJavaScriptError/Title\":{\"title\":\"$:/language/InternalJavaScriptError/Title\",\"text\":\"内部的 JavaScript 错误\"},\"$:/language/InternalJavaScriptError/Hint\":{\"title\":\"$:/language/InternalJavaScriptError/Hint\",\"text\":\"喔,真是令人尴尬。建议刷新您的浏览器,重新启动 TiddlyWiki\"},\"$:/language/LayoutSwitcher/Description\":{\"title\":\"$:/language/LayoutSwitcher/Description\",\"text\":\"打开布局切换器\"},\"$:/language/LazyLoadingWarning\":{\"title\":\"$:/language/LazyLoadingWarning\",\"text\":\"\u003Cp>正在从 ''\u003C$text text={{!!_canonical_uri}}/>'' 加载外部内容 ...\u003C/p>\u003Cp>如果此信息未消失,可能是条目内容类型与外部内容的类型不匹配,或是您可能正在使用的浏览器,不支援单文件式维基的外部内容。请参阅 https://tiddlywiki.com/#ExternalText\u003C/p>\"},\"$:/language/LoginToTiddlySpace\":{\"title\":\"$:/language/LoginToTiddlySpace\",\"text\":\"登录 TiddlySpace\"},\"$:/language/Manager/Controls/FilterByTag/None\":{\"title\":\"$:/language/Manager/Controls/FilterByTag/None\",\"text\":\"(无)\"},\"$:/language/Manager/Controls/FilterByTag/Prompt\":{\"title\":\"$:/language/Manager/Controls/FilterByTag/Prompt\",\"text\":\"按标签筛选︰\"},\"$:/language/Manager/Controls/Order/Prompt\":{\"title\":\"$:/language/Manager/Controls/Order/Prompt\",\"text\":\"反向顺序\"},\"$:/language/Manager/Controls/Search/Placeholder\":{\"title\":\"$:/language/Manager/Controls/Search/Placeholder\",\"text\":\"搜索\"},\"$:/language/Manager/Controls/Search/Prompt\":{\"title\":\"$:/language/Manager/Controls/Search/Prompt\",\"text\":\"搜索︰\"},\"$:/language/Manager/Controls/Show/Option/Tags\":{\"title\":\"$:/language/Manager/Controls/Show/Option/Tags\",\"text\":\"标签\"},\"$:/language/Manager/Controls/Show/Option/Tiddlers\":{\"title\":\"$:/language/Manager/Controls/Show/Option/Tiddlers\",\"text\":\"条目\"},\"$:/language/Manager/Controls/Show/Prompt\":{\"title\":\"$:/language/Manager/Controls/Show/Prompt\",\"text\":\"显示︰\"},\"$:/language/Manager/Controls/Sort/Prompt\":{\"title\":\"$:/language/Manager/Controls/Sort/Prompt\",\"text\":\"排序︰\"},\"$:/language/Manager/Item/Colour\":{\"title\":\"$:/language/Manager/Item/Colour\",\"text\":\"颜色\"},\"$:/language/Manager/Item/Fields\":{\"title\":\"$:/language/Manager/Item/Fields\",\"text\":\"字段\"},\"$:/language/Manager/Item/Icon/None\":{\"title\":\"$:/language/Manager/Item/Icon/None\",\"text\":\"(无)\"},\"$:/language/Manager/Item/Icon\":{\"title\":\"$:/language/Manager/Item/Icon\",\"text\":\"图标\"},\"$:/language/Manager/Item/RawText\":{\"title\":\"$:/language/Manager/Item/RawText\",\"text\":\"原始文字\"},\"$:/language/Manager/Item/Tags\":{\"title\":\"$:/language/Manager/Item/Tags\",\"text\":\"标签\"},\"$:/language/Manager/Item/Tools\":{\"title\":\"$:/language/Manager/Item/Tools\",\"text\":\"工具\"},\"$:/language/Manager/Item/WikifiedText\":{\"title\":\"$:/language/Manager/Item/WikifiedText\",\"text\":\"Wikified 文字\"},\"$:/language/MissingTiddler/Hint\":{\"title\":\"$:/language/MissingTiddler/Hint\",\"text\":\"佚失条目 \\\"\u003C$text text=\u003C\u003CcurrentTiddler>>/>\\\" - 点击 {{||$:/core/ui/Buttons/edit}} 可创建此条目\"},\"$:/language/No\":{\"title\":\"$:/language/No\",\"text\":\"否\"},\"$:/language/OfficialPluginLibrary\":{\"title\":\"$:/language/OfficialPluginLibrary\",\"text\":\"~TiddlyWiki 官方插件库\"},\"$:/language/OfficialPluginLibrary/Hint\":{\"title\":\"$:/language/OfficialPluginLibrary/Hint\",\"text\":\"此为在 tiddlywiki.com 的 ~TiddlyWiki 官方插件库。由核心团队维护的插件、主题和语言包。\"},\"$:/language/PageTemplate/Description\":{\"title\":\"$:/language/PageTemplate/Description\",\"text\":\"默认的太微布局\"},\"$:/language/PageTemplate/Name\":{\"title\":\"$:/language/PageTemplate/Name\",\"text\":\"标准布局\"},\"$:/language/PluginReloadWarning\":{\"title\":\"$:/language/PluginReloadWarning\",\"text\":\"请保存 {{$:/core/ui/Buttons/save-wiki}} 并刷新页面 {{$:/core/ui/Buttons/refresh}} ,使 ~JavaScript 插件的更改生效\"},\"$:/language/RecentChanges/DateFormat\":{\"title\":\"$:/language/RecentChanges/DateFormat\",\"text\":\"YYYY年0MM月0DD日\"},\"$:/language/Shortcuts/Input/Accept/Hint\":{\"title\":\"$:/language/Shortcuts/Input/Accept/Hint\",\"text\":\"接受选取的项目\"},\"$:/language/Shortcuts/Input/AcceptVariant/Hint\":{\"title\":\"$:/language/Shortcuts/Input/AcceptVariant/Hint\",\"text\":\"接受选取项目 (变种)\"},\"$:/language/Shortcuts/Input/AdvancedSearch/Hint\":{\"title\":\"$:/language/Shortcuts/Input/AdvancedSearch/Hint\",\"text\":\"从侧边栏搜索字段内打开[[进阶搜索|$:/AdvancedSearch]]面板\"},\"$:/language/Shortcuts/Input/Cancel/Hint\":{\"title\":\"$:/language/Shortcuts/Input/Cancel/Hint\",\"text\":\"清除输入字段\"},\"$:/language/Shortcuts/Input/Down/Hint\":{\"title\":\"$:/language/Shortcuts/Input/Down/Hint\",\"text\":\"选择下一个项目\"},\"$:/language/Shortcuts/Input/Tab-Left/Hint\":{\"title\":\"$:/language/Shortcuts/Input/Tab-Left/Hint\",\"text\":\"选择上一个页签\"},\"$:/language/Shortcuts/Input/Tab-Right/Hint\":{\"title\":\"$:/language/Shortcuts/Input/Tab-Right/Hint\",\"text\":\"选择下一个页签\"},\"$:/language/Shortcuts/Input/Up/Hint\":{\"title\":\"$:/language/Shortcuts/Input/Up/Hint\",\"text\":\"选择前一个项目\"},\"$:/language/Shortcuts/SidebarLayout/Hint\":{\"title\":\"$:/language/Shortcuts/SidebarLayout/Hint\",\"text\":\"更改侧边栏布局\"},\"$:/language/Switcher/Subtitle/theme\":{\"title\":\"$:/language/Switcher/Subtitle/theme\",\"text\":\"切换布局主题\"},\"$:/language/Switcher/Subtitle/layout\":{\"title\":\"$:/language/Switcher/Subtitle/layout\",\"text\":\"切换布局\"},\"$:/language/Switcher/Subtitle/language\":{\"title\":\"$:/language/Switcher/Subtitle/language\",\"text\":\"切换语言\"},\"$:/language/Switcher/Subtitle/palette\":{\"title\":\"$:/language/Switcher/Subtitle/palette\",\"text\":\"切换调色板\"},\"$:/language/SystemTiddler/Tooltip\":{\"title\":\"$:/language/SystemTiddler/Tooltip\",\"text\":\"此为系统条目\"},\"$:/language/SystemTiddlers/Include/Prompt\":{\"title\":\"$:/language/SystemTiddlers/Include/Prompt\",\"text\":\"包括系统条目\"},\"$:/language/TagManager/Colour/Heading\":{\"title\":\"$:/language/TagManager/Colour/Heading\",\"text\":\"颜色\"},\"$:/language/TagManager/Count/Heading\":{\"title\":\"$:/language/TagManager/Count/Heading\",\"text\":\"计数\"},\"$:/language/TagManager/Icon/Heading\":{\"title\":\"$:/language/TagManager/Icon/Heading\",\"text\":\"图标\"},\"$:/language/TagManager/Icons/None\":{\"title\":\"$:/language/TagManager/Icons/None\",\"text\":\"无\"},\"$:/language/TagManager/Info/Heading\":{\"title\":\"$:/language/TagManager/Info/Heading\",\"text\":\"信息\"},\"$:/language/TagManager/Tag/Heading\":{\"title\":\"$:/language/TagManager/Tag/Heading\",\"text\":\"标签\"},\"$:/language/Tiddler/DateFormat\":{\"title\":\"$:/language/Tiddler/DateFormat\",\"text\":\"YYYY年0MM月0DD日 0hh:0mm\"},\"$:/language/UnsavedChangesWarning\":{\"title\":\"$:/language/UnsavedChangesWarning\",\"text\":\"在此 TiddlyWiki 您有尚未保存的变动\"},\"$:/language/Yes\":{\"title\":\"$:/language/Yes\",\"text\":\"是\"},\"$:/language/Modals/Download\":{\"title\":\"$:/language/Modals/Download\",\"type\":\"text/vnd.tiddlywiki\",\"subtitle\":\"Download changes\",\"footer\":\"\u003C$button message=\\\"tm-close-tiddler\\\">关闭\u003C/$button>\",\"help\":\"https://tiddlywiki.com/\",\"text\":\"您的浏览器只支援手动保存。\\n\\n要保存更动的维基,右键点击下方的下载链结,选择\\\"下载文件\\\"或\\\"保存文件\\\",然后选择文件夹或文件名。\\n\\n//您可以藉由按一下 Ctrl 键(Windows)或 options/ alt 键(Mac OS X)中的链接,稍微加速操作。您不会被提示文件夹或文件名,您的浏览器可能无法辨认它的文件名 -- 在做其他任何事之前,您可能需要重新命名扩展名为 `.html` 的文件。//\\n\\n在智能型手机上,不允许下载文件,但您可以标记链结,然后从一台可以正常保存维基的台式机的维基同步你的书签。\"},\"$:/config/NewJournal/Title\":{\"title\":\"$:/config/NewJournal/Title\",\"text\":\"YYYY年0MM月0DD日\"},\"$:/config/NewJournal/Text\":{\"title\":\"$:/config/NewJournal/Text\",\"text\":\"\"},\"$:/config/NewJournal/Tags\":{\"title\":\"$:/config/NewJournal/Tags\",\"text\":\"日志\\n\"},\"$:/language/Notifications/Save/Done\":{\"title\":\"$:/language/Notifications/Save/Done\",\"text\":\"已保存 wiki\"},\"$:/language/Notifications/Save/Starting\":{\"title\":\"$:/language/Notifications/Save/Starting\",\"text\":\"开始保存 wiki\"},\"$:/language/Notifications/CopiedToClipboard/Succeeded\":{\"title\":\"$:/language/Notifications/CopiedToClipboard/Succeeded\",\"text\":\"已复制到剪贴板!\"},\"$:/language/Notifications/CopiedToClipboard/Failed\":{\"title\":\"$:/language/Notifications/CopiedToClipboard/Failed\",\"text\":\"无法复制到剪贴板!\"},\"$:/language/Search/DefaultResults/Caption\":{\"title\":\"$:/language/Search/DefaultResults/Caption\",\"text\":\"列表\"},\"$:/language/Search/Filter/Caption\":{\"title\":\"$:/language/Search/Filter/Caption\",\"text\":\"筛选\"},\"$:/language/Search/Filter/Hint\":{\"title\":\"$:/language/Search/Filter/Hint\",\"text\":\"以[[筛选表达式|https://tiddlywiki.com/static/Filters.html]]搜索\"},\"$:/language/Search/Filter/Matches\":{\"title\":\"$:/language/Search/Filter/Matches\",\"text\":\"//\u003Csmall>\u003C\u003CresultCount>> 个条目符合条件\u003C/small>//\"},\"$:/language/Search/Matches\":{\"title\":\"$:/language/Search/Matches\",\"text\":\"//\u003Csmall>\u003C\u003CresultCount>> 个条目符合条件\u003C/small>//\"},\"$:/language/Search/Matches/All\":{\"title\":\"$:/language/Search/Matches/All\",\"text\":\"所有匹配:\"},\"$:/language/Search/Matches/Title\":{\"title\":\"$:/language/Search/Matches/Title\",\"text\":\"条目名称匹配:\"},\"$:/language/Search/Search\":{\"title\":\"$:/language/Search/Search\",\"text\":\"搜索\"},\"$:/language/Search/Search/TooShort\":{\"title\":\"$:/language/Search/Search/TooShort\",\"text\":\"搜索文本太短\"},\"$:/language/Search/Shadows/Caption\":{\"title\":\"$:/language/Search/Shadows/Caption\",\"text\":\"默认\"},\"$:/language/Search/Shadows/Hint\":{\"title\":\"$:/language/Search/Shadows/Hint\",\"text\":\"搜索默认条目\"},\"$:/language/Search/Shadows/Matches\":{\"title\":\"$:/language/Search/Shadows/Matches\",\"text\":\"//\u003Csmall>\u003C\u003CresultCount>> 个条目符合条件\u003C/small>//\"},\"$:/language/Search/Standard/Caption\":{\"title\":\"$:/language/Search/Standard/Caption\",\"text\":\"标准\"},\"$:/language/Search/Standard/Hint\":{\"title\":\"$:/language/Search/Standard/Hint\",\"text\":\"搜索一般条目\"},\"$:/language/Search/Standard/Matches\":{\"title\":\"$:/language/Search/Standard/Matches\",\"text\":\"//\u003Csmall>\u003C\u003CresultCount>> 个条目符合条件\u003C/small>//\"},\"$:/language/Search/System/Caption\":{\"title\":\"$:/language/Search/System/Caption\",\"text\":\"系统\"},\"$:/language/Search/System/Hint\":{\"title\":\"$:/language/Search/System/Hint\",\"text\":\"搜索系统条目\"},\"$:/language/Search/System/Matches\":{\"title\":\"$:/language/Search/System/Matches\",\"text\":\"//\u003Csmall>\u003C\u003CresultCount>> 个条目符合条件\u003C/small>//\"},\"$:/language/SideBar/All/Caption\":{\"title\":\"$:/language/SideBar/All/Caption\",\"text\":\"全部\"},\"$:/language/SideBar/Caption\":{\"title\":\"$:/language/SideBar/Caption\",\"text\":\"侧边栏\"},\"$:/language/SideBar/Contents/Caption\":{\"title\":\"$:/language/SideBar/Contents/Caption\",\"text\":\"目录\"},\"$:/language/SideBar/Drafts/Caption\":{\"title\":\"$:/language/SideBar/Drafts/Caption\",\"text\":\"草稿\"},\"$:/language/SideBar/Explorer/Caption\":{\"title\":\"$:/language/SideBar/Explorer/Caption\",\"text\":\"探索\"},\"$:/language/SideBar/Missing/Caption\":{\"title\":\"$:/language/SideBar/Missing/Caption\",\"text\":\"缺失\"},\"$:/language/SideBar/More/Caption\":{\"title\":\"$:/language/SideBar/More/Caption\",\"text\":\"更多\"},\"$:/language/SideBar/Open/Caption\":{\"title\":\"$:/language/SideBar/Open/Caption\",\"text\":\"开启\"},\"$:/language/SideBar/Orphans/Caption\":{\"title\":\"$:/language/SideBar/Orphans/Caption\",\"text\":\"孤立\"},\"$:/language/SideBar/Recent/Caption\":{\"title\":\"$:/language/SideBar/Recent/Caption\",\"text\":\"最近\"},\"$:/language/SideBar/Shadows/Caption\":{\"title\":\"$:/language/SideBar/Shadows/Caption\",\"text\":\"默认\"},\"$:/language/SideBar/System/Caption\":{\"title\":\"$:/language/SideBar/System/Caption\",\"text\":\"系统\"},\"$:/language/SideBar/Tags/Caption\":{\"title\":\"$:/language/SideBar/Tags/Caption\",\"text\":\"标签\"},\"$:/language/SideBar/Tags/Untagged/Caption\":{\"title\":\"$:/language/SideBar/Tags/Untagged/Caption\",\"text\":\"未设标签\"},\"$:/language/SideBar/Tools/Caption\":{\"title\":\"$:/language/SideBar/Tools/Caption\",\"text\":\"工具\"},\"$:/language/SideBar/Types/Caption\":{\"title\":\"$:/language/SideBar/Types/Caption\",\"text\":\"类型\"},\"$:/SiteSubtitle\":{\"title\":\"$:/SiteSubtitle\",\"text\":\"卡片式个人网页笔记\"},\"$:/SiteTitle\":{\"title\":\"$:/SiteTitle\",\"text\":\"我的 ~TiddlyWiki\"},\"$:/language/Snippets/FunctionDefinition\":{\"title\":\"$:/language/Snippets/FunctionDefinition\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"函数定义\",\"text\":\"\\\\function f.name(param1,param2:\\\"默认值\\\") [\u003Cparam1>!is[blank]else\u003Cparam2>]\\n\\n\u003C\u003Cf.name>>\\n\"},\"$:/language/Snippets/ListByTag\":{\"title\":\"$:/language/Snippets/ListByTag\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"按标签筛选的条目列表\",\"text\":\"\u003C\u003Clist-links \\\"[tag[task]sort[title]]\\\">>\\n\"},\"$:/language/Snippets/MacroDefinition\":{\"title\":\"$:/language/Snippets/MacroDefinition\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"宏的定义\",\"text\":\"\\\\define macroName(param1:\\\"默认值\\\",param2)\\n宏的内容\\n\\\\end\\n\"},\"$:/language/Snippets/ProcedureDefinition\":{\"title\":\"$:/language/Snippets/ProcedureDefinition\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"程序定义\",\"text\":\"\\\\procedure procName(param1:\\\"默认值\\\",param2)\\n这里就是您的文本了。\\n\\\\end\\n\"},\"$:/language/Snippets/Table4x3\":{\"title\":\"$:/language/Snippets/Table4x3\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"4 x 3 的表格\",\"text\":\"|! | !一 | !二 | !三 | !四 |\\n|! 1| | | | |\\n|! 2| | | | |\\n|! 3 | | | | |\\n\"},\"$:/language/Snippets/TableOfContents\":{\"title\":\"$:/language/Snippets/TableOfContents\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"目录\",\"text\":\"\u003Cdiv class=\\\"tc-table-of-contents\\\">\\n\\n\u003C\u003Ctoc-selective-expandable 'TableOfContents'>>\\n\\n\u003C/div>\"},\"$:/language/ThemeTweaks/ThemeTweaks\":{\"title\":\"$:/language/ThemeTweaks/ThemeTweaks\",\"text\":\"主题调整\"},\"$:/language/ThemeTweaks/ThemeTweaks/Hint\":{\"title\":\"$:/language/ThemeTweaks/ThemeTweaks/Hint\",\"text\":\"您可以调整 ''Vanilla'' 布局主题的某些样貌。\"},\"$:/language/ThemeTweaks/Options\":{\"title\":\"$:/language/ThemeTweaks/Options\",\"text\":\"选项\"},\"$:/language/ThemeTweaks/Options/SidebarLayout\":{\"title\":\"$:/language/ThemeTweaks/Options/SidebarLayout\",\"text\":\"侧边栏布局\"},\"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid\":{\"title\":\"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid\",\"text\":\"固定故事,浮动侧边栏\"},\"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed\":{\"title\":\"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed\",\"text\":\"浮动故事,固定侧边栏\"},\"$:/language/ThemeTweaks/Options/StickyTitles\":{\"title\":\"$:/language/ThemeTweaks/Options/StickyTitles\",\"text\":\"置顶标题\"},\"$:/language/ThemeTweaks/Options/StickyTitles/Hint\":{\"title\":\"$:/language/ThemeTweaks/Options/StickyTitles/Hint\",\"text\":\"使条目名称吸顶\"},\"$:/language/ThemeTweaks/Options/CodeWrapping\":{\"title\":\"$:/language/ThemeTweaks/Options/CodeWrapping\",\"text\":\"在代码区块中换行\"},\"$:/language/ThemeTweaks/Settings\":{\"title\":\"$:/language/ThemeTweaks/Settings\",\"text\":\"设置\"},\"$:/language/ThemeTweaks/Settings/FontFamily\":{\"title\":\"$:/language/ThemeTweaks/Settings/FontFamily\",\"text\":\"字型\"},\"$:/language/ThemeTweaks/Settings/CodeFontFamily\":{\"title\":\"$:/language/ThemeTweaks/Settings/CodeFontFamily\",\"text\":\"代码字型\"},\"$:/language/ThemeTweaks/Settings/EditorFontFamily\":{\"title\":\"$:/language/ThemeTweaks/Settings/EditorFontFamily\",\"text\":\"编辑器字型\"},\"$:/language/ThemeTweaks/Settings/BackgroundImage\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImage\",\"text\":\"页面背景图像\"},\"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment\",\"text\":\"页面背景图像附属\"},\"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll\",\"text\":\"随条目滚动\"},\"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed\",\"text\":\"固定于窗口\"},\"$:/language/ThemeTweaks/Settings/BackgroundImageSize\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImageSize\",\"text\":\"页面背景图像大小\"},\"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto\",\"text\":\"自动\"},\"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover\",\"text\":\"覆盖\"},\"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain\":{\"title\":\"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain\",\"text\":\"包含\"},\"$:/language/ThemeTweaks/Metrics\":{\"title\":\"$:/language/ThemeTweaks/Metrics\",\"text\":\"大小\"},\"$:/language/ThemeTweaks/Metrics/FontSize\":{\"title\":\"$:/language/ThemeTweaks/Metrics/FontSize\",\"text\":\"字体大小\"},\"$:/language/ThemeTweaks/Metrics/LineHeight\":{\"title\":\"$:/language/ThemeTweaks/Metrics/LineHeight\",\"text\":\"行高\"},\"$:/language/ThemeTweaks/Metrics/BodyFontSize\":{\"title\":\"$:/language/ThemeTweaks/Metrics/BodyFontSize\",\"text\":\"条目本文的字体大小\"},\"$:/language/ThemeTweaks/Metrics/BodyLineHeight\":{\"title\":\"$:/language/ThemeTweaks/Metrics/BodyLineHeight\",\"text\":\"条目本文的行高\"},\"$:/language/ThemeTweaks/Metrics/StoryLeft\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryLeft\",\"text\":\"故事左侧位置\"},\"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint\",\"text\":\"故事河(条目区)的左边缘与页面左端的间距\"},\"$:/language/ThemeTweaks/Metrics/StoryTop\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryTop\",\"text\":\"故事顶部位置\"},\"$:/language/ThemeTweaks/Metrics/StoryTop/Hint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryTop/Hint\",\"text\":\"故事河(条目区)的上边缘与页面顶部的间距\"},\"$:/language/ThemeTweaks/Metrics/StoryRight\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryRight\",\"text\":\"故事右侧位置\"},\"$:/language/ThemeTweaks/Metrics/StoryRight/Hint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryRight/Hint\",\"text\":\"侧边栏的左边缘与页面左端的间距\"},\"$:/language/ThemeTweaks/Metrics/StoryWidth\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryWidth\",\"text\":\"故事的宽度\"},\"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint\",\"text\":\"故事河的整体宽度\"},\"$:/language/ThemeTweaks/Metrics/TiddlerWidth\":{\"title\":\"$:/language/ThemeTweaks/Metrics/TiddlerWidth\",\"text\":\"条目宽度\"},\"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint\",\"text\":\"在故事河内\"},\"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint\",\"text\":\"侧边栏中断点\"},\"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint\",\"text\":\"故事河和侧边栏会并排显示的最小页面宽度\"},\"$:/language/ThemeTweaks/Metrics/SidebarWidth\":{\"title\":\"$:/language/ThemeTweaks/Metrics/SidebarWidth\",\"text\":\"侧边栏宽度\"},\"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint\":{\"title\":\"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint\",\"text\":\"在 浮动故事,固定侧边栏 布局中,侧边栏的宽度\"},\"$:/language/TiddlerInfo/Advanced/Caption\":{\"title\":\"$:/language/TiddlerInfo/Advanced/Caption\",\"text\":\"高级\"},\"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint\":{\"title\":\"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint\",\"text\":\"无信息\"},\"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading\":{\"title\":\"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading\",\"text\":\"插件明细\"},\"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint\":{\"title\":\"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint\",\"text\":\"此插件包含以下预设条目:\"},\"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading\":{\"title\":\"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading\",\"text\":\"默认条目状态\"},\"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint\":{\"title\":\"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint\",\"text\":\"\u003C$link to=\u003C\u003CinfoTiddler>>>\u003C$text text=\u003C\u003CinfoTiddler>>/>\u003C/$link> 不是一个默认条目\"},\"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint\":{\"title\":\"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint\",\"text\":\"\u003C$link to=\u003C\u003CinfoTiddler>>>\u003C$text text=\u003C\u003CinfoTiddler>>/>\u003C/$link> 是一个默认条目\"},\"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source\":{\"title\":\"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source\",\"text\":\"此条目定义于插件 \u003C$link to=\u003C\u003CpluginTiddler>>>\u003C$text text=\u003C\u003CpluginTiddler>>/>\u003C/$link>\"},\"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint\":{\"title\":\"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint\",\"text\":\"已被一般条目覆盖\"},\"$:/language/TiddlerInfo/Fields/Caption\":{\"title\":\"$:/language/TiddlerInfo/Fields/Caption\",\"text\":\"字段\"},\"$:/language/TiddlerInfo/List/Caption\":{\"title\":\"$:/language/TiddlerInfo/List/Caption\",\"text\":\"列表\"},\"$:/language/TiddlerInfo/List/Empty\":{\"title\":\"$:/language/TiddlerInfo/List/Empty\",\"text\":\"此条目无指定列表\"},\"$:/language/TiddlerInfo/Listed/Caption\":{\"title\":\"$:/language/TiddlerInfo/Listed/Caption\",\"text\":\"被列于\"},\"$:/language/TiddlerInfo/Listed/Empty\":{\"title\":\"$:/language/TiddlerInfo/Listed/Empty\",\"text\":\"此条目未出现于其他条目的列表中\"},\"$:/language/TiddlerInfo/References/Caption\":{\"title\":\"$:/language/TiddlerInfo/References/Caption\",\"text\":\"反向链接\"},\"$:/language/TiddlerInfo/References/Empty\":{\"title\":\"$:/language/TiddlerInfo/References/Empty\",\"text\":\"无条目链接至此\"},\"$:/language/TiddlerInfo/Tagging/Caption\":{\"title\":\"$:/language/TiddlerInfo/Tagging/Caption\",\"text\":\"子条目\"},\"$:/language/TiddlerInfo/Tagging/Empty\":{\"title\":\"$:/language/TiddlerInfo/Tagging/Empty\",\"text\":\"无任何条目以此条目之标题为标签\"},\"$:/language/TiddlerInfo/Tools/Caption\":{\"title\":\"$:/language/TiddlerInfo/Tools/Caption\",\"text\":\"工具\"},\"$:/language/Docs/Types/application/javascript\":{\"title\":\"$:/language/Docs/Types/application/javascript\",\"description\":\"JavaScript 源码\",\"name\":\"application/javascript\",\"group\":\"开发者\"},\"$:/language/Docs/Types/application/json\":{\"title\":\"$:/language/Docs/Types/application/json\",\"description\":\"JSON 数据\",\"name\":\"application/json\",\"group\":\"开发者\"},\"$:/language/Docs/Types/application/x-tiddler-dictionary\":{\"title\":\"$:/language/Docs/Types/application/x-tiddler-dictionary\",\"description\":\"数据字典\",\"name\":\"application/x-tiddler-dictionary\",\"group\":\"开发者\"},\"$:/language/Docs/Types/image/gif\":{\"title\":\"$:/language/Docs/Types/image/gif\",\"description\":\"GIF 图像\",\"name\":\"image/gif\",\"group\":\"图像\"},\"$:/language/Docs/Types/image/jpeg\":{\"title\":\"$:/language/Docs/Types/image/jpeg\",\"description\":\"JPEG 图像\",\"name\":\"image/jpeg\",\"group\":\"图像\"},\"$:/language/Docs/Types/image/png\":{\"title\":\"$:/language/Docs/Types/image/png\",\"description\":\"PNG 图像\",\"name\":\"image/png\",\"group\":\"图像\"},\"$:/language/Docs/Types/image/svg+xml\":{\"title\":\"$:/language/Docs/Types/image/svg+xml\",\"description\":\"SVG 图像\",\"name\":\"image/svg+xml\",\"group\":\"图像\"},\"$:/language/Docs/Types/text/css\":{\"title\":\"$:/language/Docs/Types/text/css\",\"description\":\"静态样式\",\"name\":\"text/css\",\"group\":\"开发者\"},\"$:/language/Docs/Types/text/html\":{\"title\":\"$:/language/Docs/Types/text/html\",\"description\":\"HTML 标记\",\"name\":\"text/html\",\"group\":\"文本\"},\"$:/language/Docs/Types/text/plain\":{\"title\":\"$:/language/Docs/Types/text/plain\",\"description\":\"纯文本\",\"name\":\"text/plain\",\"group\":\"文本\"},\"$:/language/Docs/Types/text/vnd.tiddlywiki\":{\"title\":\"$:/language/Docs/Types/text/vnd.tiddlywiki\",\"description\":\"TiddlyWiki 5\",\"name\":\"text/vnd.tiddlywiki\",\"group\":\"文本\"},\"$:/language/Docs/Types/text/vnd.tiddlywiki-multiple\":{\"title\":\"$:/language/Docs/Types/text/vnd.tiddlywiki-multiple\",\"description\":\"复合条目\",\"name\":\"text/vnd.tiddlywiki-multiple\",\"group\":\"开发者\",\"group-sort\":\"2\"},\"$:/config/Search/MinLength\":{\"title\":\"$:/config/Search/MinLength\",\"text\":\"1\"},\"$:/languages/zh-Hans/icon\":{\"title\":\"$:/languages/zh-Hans/icon\",\"type\":\"image/svg+xml\",\"text\":\"\u003C?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n\u003C!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\">\\n\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"1500\\\" height=\\\"1000\\\" viewBox=\\\"-5 -5 30 20\\\">\\n\u003Ctitle>Flag of the People's Republic of China\u003C/title>\\n\u003Crect fill=\\\"#de2910\\\" x=\\\"-5\\\" y=\\\"-5\\\" width=\\\"30\\\" height=\\\"20\\\"/>\\n\u003Cdefs>\\n\u003Cpolygon id=\\\"s\\\" points=\\\"0,-513674 301930,415571 -488533,-158734 488533,-158734 -301930,415571\\\"\\nfill=\\\"#ffde00\\\" transform=\\\"scale(0.0000019467600073)\\\"/>\\n\u003C/defs>\\n\u003Cuse xlink:href=\\\"#s\\\" transform=\\\"scale(3)\\\"/>\\n\u003Cuse xlink:href=\\\"#s\\\" transform=\\\"translate(5,-3) rotate(-120.963756)\\\"/>\\n\u003Cuse xlink:href=\\\"#s\\\" transform=\\\"translate(7,-1) rotate(-98.130102)\\\"/>\\n\u003Cuse xlink:href=\\\"#s\\\" transform=\\\"translate(7,2) rotate(-74.054604)\\\"/>\\n\u003Cuse xlink:href=\\\"#s\\\" transform=\\\"translate(5,4) rotate(-51.3401917)\\\"/>\\n\u003C/svg>\\n\"}}}"}, {"author":"LinOnetwo","core-version":">=5.1.22","dependents":"$:/plugins/tiddlywiki/browser-sniff","description":"Heavy lifting for new users to set up a powerful and opinionated knowledge management system.","list":"readme description ControlPanel","name":"ItonNote","plugin-type":"plugin","text":"{\"tiddlers\":{\"$:/config/DefaultSidebarTab\":{\"title\":\"$:/config/DefaultSidebarTab\",\"creator\":\"LinOnetwo\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"$:/plugins/linonetwo/itonnote/Sidebar/FolderMenu\"},\"$:/config/DownloadSaver/AutoSave\":{\"title\":\"$:/config/DownloadSaver/AutoSave\",\"created\":\"20190601103555586\",\"creator\":\"Lin Onetwo\",\"modified\":\"20200410072837906\",\"modifier\":\"Lin Onetwo\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"no\"},\"$:/config/MissingLinks\":{\"title\":\"$:/config/MissingLinks\",\"created\":\"20190419034301891\",\"modified\":\"20200409033736457\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"yes\"},\"$:/config/Navigation/UpdateAddressBar\":{\"title\":\"$:/config/Navigation/UpdateAddressBar\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"permaview\"},\"$:/config/Navigation/UpdateHistory\":{\"title\":\"$:/config/Navigation/UpdateHistory\",\"created\":\"20190419034422400\",\"modified\":\"20200409033736411\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"yes\"},\"$:/config/Navigation/openLinkFromInsideRiver\":{\"title\":\"$:/config/Navigation/openLinkFromInsideRiver\",\"created\":\"20200409033736445\",\"modified\":\"20200409033736445\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"above\"},\"$:/config/Navigation/openLinkFromOutsideRiver\":{\"title\":\"$:/config/Navigation/openLinkFromOutsideRiver\",\"created\":\"20200409033736433\",\"modified\":\"20200409033736433\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"top\"},\"$:/config/Plugins/Disabled/$:/plugins/sycom/g-analytics\":{\"title\":\"$:/config/Plugins/Disabled/$:/plugins/sycom/g-analytics\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"no\"},\"$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki\":{\"title\":\"$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki\",\"created\":\"20200411033813183\",\"modified\":\"20200411033814242\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"yes\"},\"$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/codemirror\":{\"title\":\"$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/codemirror\",\"created\":\"20200530042942722\",\"modified\":\"20200530043337009\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"no\"},\"$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/highlight\":{\"title\":\"$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/highlight\",\"created\":\"20190419154112345\",\"modified\":\"20200409033736342\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"no\"},\"$:/config/RelinkOnRename\":{\"title\":\"$:/config/RelinkOnRename\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"yes\"},\"$:/config/Search/MinLength\":{\"title\":\"$:/config/Search/MinLength\",\"created\":\"20190419153747812\",\"modified\":\"20200409033736319\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"1\"},\"$:/config/Toolbar/ButtonClass\":{\"title\":\"$:/config/Toolbar/ButtonClass\",\"created\":\"20190419034516378\",\"modified\":\"20200409033736308\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"tc-btn-invisible\"},\"$:/config/WikiParserRules/Inline/wikilink\":{\"title\":\"$:/config/WikiParserRules/Inline/wikilink\",\"created\":\"20190419034308697\",\"modified\":\"20200409033736296\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"disable\"},\"$:/config/codemirror/autoCloseTags\":{\"title\":\"$:/config/codemirror/autoCloseTags\",\"text\":\"true\",\"type\":\"bool\",\"created\":\"20211017131109932\",\"creator\":\"林一二\",\"modified\":\"20211017131109937\",\"modifier\":\"林一二\"},\"$:/config/codemirror/indentWithTabs\":{\"title\":\"$:/config/codemirror/indentWithTabs\",\"text\":\"false\",\"type\":\"bool\",\"created\":\"20210622180509486\",\"creator\":\"TiddlyGit User\",\"modified\":\"20210622180509499\",\"modifier\":\"TiddlyGit User\"},\"$:/config/codemirror/keyMap\":{\"title\":\"$:/config/codemirror/keyMap\",\"text\":\"sublime\\n\",\"type\":\"string\",\"created\":\"20211017131058335\",\"creator\":\"林一二\",\"modified\":\"20211017131058343\",\"modifier\":\"林一二\"},\"$:/config/codemirror/styleActiveLine\":{\"title\":\"$:/config/codemirror/styleActiveLine\",\"text\":\"true\",\"type\":\"bool\",\"created\":\"20230523081008543\",\"creator\":\"WhiteFall\",\"modified\":\"20230523081008543\",\"modifier\":\"WhiteFall\"},\"$:/config/markdown/renderWikiTextPragma\":{\"title\":\"$:/config/markdown/renderWikiTextPragma\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\\\\rules only html image macrocallinline syslink transcludeinline wikilink prettylink filteredtranscludeblock macrocallblock transcludeblock \"},\"$:/config/section-editor/config-editor-type\":{\"title\":\"$:/config/section-editor/config-editor-type\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"main-editor\"},\"$:/config/section-editor/config-visibility-toolbar\":{\"title\":\"$:/config/section-editor/config-visibility-toolbar\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"yes\"},\"$:/config/section-editor/hlevel\":{\"title\":\"$:/config/section-editor/hlevel\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"5\"},\"$:/config/section-editor/reader-mode\":{\"title\":\"$:/config/section-editor/reader-mode\",\"type\":\"text/vnd.tiddlywiki\"},\"$:/config/shortcuts/cancel-edit-tiddler\":{\"title\":\"$:/config/shortcuts/cancel-edit-tiddler\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"shift-Escape\"},\"$:/config/themes/itonnote/sidebar-search\":{\"title\":\"$:/config/themes/itonnote/sidebar-search\",\"created\":\"20231010115608460\",\"creator\":\"马不前\",\"modified\":\"20231010115608460\",\"modifier\":\"马不前\",\"text\":\"show\"},\"$:/language\":{\"title\":\"$:/language\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"$:/languages/zh-Hans\"},\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\":{\"title\":\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"fluid-fixed\"},\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/editor-height\":{\"title\":\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/editor-height\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4\":{\"title\":\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4\",\"created\":\"20231010115437154\",\"modified\":\"20231010115437154\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/linkify\":{\"title\":\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/linkify\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/mono-block\":{\"title\":\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/mono-block\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/mono-line\":{\"title\":\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/mono-line\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/preview-type\":{\"title\":\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/preview-type\",\"created\":\"20231010115427906\",\"modified\":\"20231010115427906\",\"text\":\"hide\"},\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/preview\":{\"title\":\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/preview\",\"created\":\"20231010115425849\",\"modified\":\"20231010115429153\",\"text\":\"show\"},\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/rotate-left\":{\"title\":\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/rotate-left\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"show\"},\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/size\":{\"title\":\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/size\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"show\"},\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/subscript\":{\"title\":\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/subscript\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/transcludify\":{\"title\":\"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/transcludify\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/EditorToolbarButtons/Visibility/$:/plugins/stobot/sticky/EditorToolbarButton\":{\"title\":\"$:/config/EditorToolbarButtons/Visibility/$:/plugins/stobot/sticky/EditorToolbarButton\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/EditorToolbarButtons/Visibility/$:/plugins/tiddlywiki/markdown/EditorToolbar/mono-line\":{\"title\":\"$:/config/EditorToolbarButtons/Visibility/$:/plugins/tiddlywiki/markdown/EditorToolbar/mono-line\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/TextEditor/EditorHeight/Mode\":{\"title\":\"$:/config/TextEditor/EditorHeight/Mode\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"auto\"},\"$:/core/ui/EditorToolbar/linkify\":{\"title\":\"$:/core/ui/EditorToolbar/linkify\",\"caption\":\"{{$:/language/Buttons/Linkify/Caption}}\",\"condition\":\"[\u003CtargetTiddler>!has[type]] [\u003CtargetTiddler>type[text/vnd.tiddlywiki]]\",\"description\":\"{{$:/language/Buttons/Linkify/Hint}}\",\"icon\":\"$:/core/images/linkify\",\"shortcuts\":\"((linkify))\",\"tags\":\"$:/tags/EditorToolbar\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"[[\\\"\\n\\tsuffix=\\\"]]\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/transcludify\":{\"title\":\"$:/core/ui/EditorToolbar/transcludify\",\"caption\":\"{{$:/language/Buttons/Transcludify/Caption}}\",\"condition\":\"[\u003CtargetTiddler>!has[type]] [\u003CtargetTiddler>type[text/vnd.tiddlywiki]]\",\"description\":\"{{$:/language/Buttons/Transcludify/Hint}}\",\"icon\":\"$:/core/images/transcludify\",\"shortcuts\":\"((transcludify))\",\"tags\":\"$:/tags/EditorToolbar\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"{{\\\"\\n\\tsuffix=\\\"}}\\\"\\n/>\\n\"},\"$:/plugins/linonetwo/itonnote/Configs/SideBarFolderMenuBaseTitle\":{\"title\":\"$:/plugins/linonetwo/itonnote/Configs/SideBarFolderMenuBaseTitle\",\"creator\":\"LinOnetwo\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"Index\"},\"$:/config/DefaultMoreSidebarTab\":{\"title\":\"$:/config/DefaultMoreSidebarTab\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"$:/core/ui/MoreSideBar/Orphans\"},\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/CommandPalette\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/CommandPalette\",\"created\":\"20231010115031451\",\"modified\":\"20231010115031451\",\"text\":\"hide\"},\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search\",\"created\":\"20200602124339340\",\"modified\":\"20200602124339360\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"show\"},\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/control-panel\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/control-panel\",\"created\":\"20200410174523174\",\"modified\":\"20200410175230294\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"show\"},\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption\",\"created\":\"20200410174620924\",\"modified\":\"20200410174809069\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"show\"},\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/layout\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/layout\",\"created\":\"20221224133314101\",\"creator\":\"林一二\",\"modified\":\"20231010114949947\",\"modifier\":\"林一二\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"show\"},\"$:/config/PageControlButtons/Visibility/$:/plugins/kookma/commander/buttons/pagecontrol\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/plugins/kookma/commander/buttons/pagecontrol\",\"created\":\"20200410174517268\",\"modified\":\"20200410174518337\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"show\"},\"$:/config/PageControlButtons/Visibility/$:/plugins/kookma/solution/buttons/pagecontrol\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/plugins/kookma/solution/buttons/pagecontrol\",\"created\":\"20231010115501994\",\"modified\":\"20231010115506130\",\"text\":\"show\"},\"$:/config/PageControlButtons/Visibility/$:/plugins/kookma/utility/ui/Buttons/ViewFields\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/plugins/kookma/utility/ui/Buttons/ViewFields\",\"created\":\"20231010114951098\",\"modified\":\"20231010114951098\",\"text\":\"hide\"},\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler\":{\"title\":\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler\",\"created\":\"20200410064657446\",\"modified\":\"20200410064708140\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here\":{\"title\":\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here\",\"created\":\"20200409065701335\",\"modified\":\"20200409065702475\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"show\"},\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here\":{\"title\":\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here\",\"created\":\"20200410064650269\",\"modified\":\"20231010115006123\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/bimlas/locator/viewtemplate/open-in-sidebar\":{\"title\":\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/bimlas/locator/viewtemplate/open-in-sidebar\",\"created\":\"20231010115004755\",\"modified\":\"20231010115004755\",\"text\":\"hide\"},\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/danielo/encryptTiddler/crypt-button\":{\"title\":\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/danielo/encryptTiddler/crypt-button\",\"created\":\"20200410064748749\",\"modified\":\"20200410175238416\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"show\"},\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/linonetwo/open-in-external-app/ViewToolbarButton\":{\"title\":\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/linonetwo/open-in-external-app/ViewToolbarButton\",\"created\":\"20231010115002411\",\"modified\":\"20231010115002411\",\"text\":\"hide\"},\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/linonetwo/zx-script/ViewToolbarButton\":{\"title\":\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/linonetwo/zx-script/ViewToolbarButton\",\"created\":\"20231010115001562\",\"modified\":\"20231010115001562\",\"text\":\"hide\"},\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/tiddlywiki/qrcode/ViewToolbarButton\":{\"title\":\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/tiddlywiki/qrcode/ViewToolbarButton\",\"created\":\"20231010114959435\",\"modified\":\"20231010114959435\",\"text\":\"hide\"},\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/tiddlywiki/text-slicer/ui/slice-toolbar-button\":{\"title\":\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/tiddlywiki/text-slicer/ui/slice-toolbar-button\",\"created\":\"20200411035036487\",\"modified\":\"20200411035037540\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/palette\":{\"title\":\"$:/palette\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"$:/palettes/Notion\"},\"$:/tags/PageControls\":{\"title\":\"$:/tags/PageControls\",\"list\":\"$:/plugins/linonetwo/omni-search-bar/ui/Buttons/search $:/core/ui/Buttons/home $:/core/ui/Buttons/close-all $:/core/ui/Buttons/fold-all $:/core/ui/Buttons/unfold-all $:/core/ui/Buttons/permaview $:/core/ui/Buttons/more-page-actions $:/core/ui/Buttons/new-tiddler $:/plugins/tiddlywiki/markdown/new-markdown-button $:/plugins/kookma/solution/buttons/pagecontrol $:/core/ui/Buttons/new-journal $:/core/ui/Buttons/new-image $:/core/ui/Buttons/import $:/core/ui/Buttons/export-page $:/core/ui/Buttons/control-panel $:/core/ui/Buttons/advanced-search $:/plugins/kookma/commander/buttons/pagecontrol $:/core/ui/Buttons/manager $:/core/ui/Buttons/tag-manager $:/core/ui/Buttons/language $:/core/ui/Buttons/palette $:/core/ui/Buttons/theme $:/core/ui/Buttons/storyview $:/core/ui/Buttons/encryption $:/core/ui/Buttons/timestamp $:/core/ui/Buttons/full-screen $:/core/ui/Buttons/print $:/core/ui/Buttons/refresh $:/plugins/kookma/utility/pagecontrol/view-fields-button $:/core/ui/Buttons/save-wiki $:/plugins/linonetwo/source-control-management/PageControlButton\",\"type\":\"text/vnd.tiddlywiki\"},\"$:/theme\":{\"title\":\"$:/theme\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"$:/themes/linonetwo/itonnote\"},\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\":{\"title\":\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"960px\"},\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\":{\"title\":\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"380px\"},\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\":{\"title\":\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"770px\"},\"$:/themes/tiddlywiki/vanilla/options/stickytitles\":{\"title\":\"$:/themes/tiddlywiki/vanilla/options/stickytitles\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"yes\"},\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\":{\"title\":\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\",\"created\":\"20190420032819437\",\"modified\":\"20200409033737050\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"'Fira Code',\\\"SFMono-Regular\\\",Consolas,\\\"Liberation Mono\\\",Menlo,Courier,monospace\"},\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\":{\"title\":\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\",\"created\":\"20190421072924643\",\"modified\":\"20200409033737038\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"'Fira Code',\\\"SFMono-Regular\\\",Consolas,\\\"Liberation Mono\\\",Menlo,Courier,monospace\"},\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\":{\"title\":\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\",\"created\":\"20190420034215366\",\"modified\":\"20200409033737026\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"'Fira Code',-apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Helvetica, Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\"\"},\"$:/plugins/linonetwo/itonnote/settings/PageControlBelowPage\":{\"title\":\"$:/plugins/linonetwo/itonnote/settings/PageControlBelowPage\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"yes\"},\"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/contents\":{\"title\":\"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/contents\",\"created\":\"20200415162108079\",\"modified\":\"20200602041547212\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/hamburger\":{\"title\":\"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/hamburger\",\"created\":\"20200415162126215\",\"modified\":\"20200415162128295\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"show\"},\"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/pagecontrols\":{\"title\":\"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/pagecontrols\",\"created\":\"20200415162131716\",\"modified\":\"20200415162330718\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"show\"},\"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/sidebar\":{\"title\":\"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/sidebar\",\"created\":\"20200415162109418\",\"modified\":\"20200415162109442\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"show\"},\"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/topleftbar\":{\"title\":\"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/topleftbar\",\"created\":\"20200415162101755\",\"modified\":\"20200602041539750\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"hide\"},\"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/toprightbar\":{\"title\":\"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/toprightbar\",\"created\":\"20200415162118824\",\"modified\":\"20200415163710486\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"show\"},\"$:/config/shortcuts-mac/bold\":{\"title\":\"$:/config/shortcuts-mac/bold\",\"created\":\"20200602011151844\",\"modified\":\"20200602011151860\",\"type\":\"text/vnd.tiddlywiki\"},\"$:/config/shortcuts-mac/italic\":{\"title\":\"$:/config/shortcuts-mac/italic\",\"created\":\"20200602011428084\",\"modified\":\"20200602011428114\",\"type\":\"text/vnd.tiddlywiki\"},\"$:/config/shortcuts-mac/new-image\":{\"title\":\"$:/config/shortcuts-mac/new-image\",\"created\":\"20200602011526855\",\"modified\":\"20200602011526866\",\"type\":\"text/vnd.tiddlywiki\"},\"$:/config/shortcuts-mac/new-journal\":{\"title\":\"$:/config/shortcuts-mac/new-journal\",\"created\":\"20200602011519033\",\"modified\":\"20200602011519055\",\"type\":\"text/vnd.tiddlywiki\"},\"$:/config/shortcuts-mac/toggle-sidebar\":{\"title\":\"$:/config/shortcuts-mac/toggle-sidebar\",\"created\":\"20200602011322158\",\"modified\":\"20200602011322171\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"cmd-B\"},\"$:/config/shortcuts-not-mac/bold\":{\"title\":\"$:/config/shortcuts-not-mac/bold\",\"created\":\"20200602011156768\",\"modified\":\"20200602011156779\",\"type\":\"text/vnd.tiddlywiki\"},\"$:/config/shortcuts-not-mac/new-image\":{\"title\":\"$:/config/shortcuts-not-mac/new-image\",\"created\":\"20200602011529909\",\"modified\":\"20200602011529924\",\"type\":\"text/vnd.tiddlywiki\"},\"$:/config/shortcuts-not-mac/new-journal\":{\"title\":\"$:/config/shortcuts-not-mac/new-journal\",\"created\":\"20200602011521325\",\"modified\":\"20200602011521342\",\"type\":\"text/vnd.tiddlywiki\"},\"$:/config/shortcuts/bold\":{\"title\":\"$:/config/shortcuts/bold\",\"created\":\"20200602011200184\",\"modified\":\"20200602011200195\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"ctrl-B\"},\"$:/config/shortcuts/toggle-sidebar\":{\"title\":\"$:/config/shortcuts/toggle-sidebar\",\"created\":\"20200602011309990\",\"modified\":\"20200602011310003\",\"type\":\"text/vnd.tiddlywiki\"},\"$:/plugins/linonetwo/itonnote/ControlPanel/Settings\":{\"title\":\"$:/plugins/linonetwo/itonnote/ControlPanel/Settings\",\"caption\":\"ItonNote\",\"tags\":\"$:/tags/ControlPanel/SettingsTab\",\"text\":\"These settings let you customise the behaviour of ItonNote plugin.\\n\\n---\\n\\n!! Appearance\\n\\n;Show page control buttons below page on mobile:\\n:\u003C$checkbox tiddler=\\\"$:/plugins/linonetwo/itonnote/settings/PageControlBelowPage\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\"> On mobile sidebar is folded, so adding page control to bottom will be convenient shortcut.\u003C/$checkbox>\"},\"$:/plugins/linonetwo/itonnote/ControlPanel\":{\"title\":\"$:/plugins/linonetwo/itonnote/ControlPanel\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! 设置 Settings\\n\\n!!! 作为文件目录中根文件夹的笔记的标题 \\nTitle of the notes as the root folder in the file tree\\n\\n以这个标题作为标签的其它笔记相当于放入了根文件夹中:\\n\\nOther notes with this title as a tag are equivalent to being placed in the root folder:\\n\\n虚拟根文件夹:\\n\u003C$edit-text\\n\\ttiddler=\\\"$:/plugins/linonetwo/itonnote/Configs/SideBarFolderMenuBaseTitle\\\"\\n\\ttag=\\\"input\\\"\\n\\tdefault=\\\"Index\\\"\\n\\tplaceholder=\\\"\\\" />\\n\"},\"导出文件 Export File\":{\"title\":\"导出文件 Export File\",\"description\":\"导出文件 Export File\",\"extension\":\"\",\"tags\":\"$:/tags/Exporter\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\\\\define renderContent()\\n{{{ $(exportFilter)$ ||$:/core/templates/plain-text-tiddler}}}\\n\\\\end\\n\u003C\u003CrenderContent>>\"},\"$:/plugins/linonetwo/itonnote/Help/FolderMenu-zh-CN\":{\"title\":\"$:/plugins/linonetwo/itonnote/Help/FolderMenu-zh-CN\",\"tags\":\"$:/plugins/linonetwo/itonnote/Help/Index\",\"text\":\"侧边栏的「目录结构」标签页里展示了[[通过标签系统自动生成|$:/plugins/linonetwo/itonnote/Help/VirtualFolder-zh_CN]]的文件夹。\\n\\n第一个目录树根据`当前所在的条目`展示,是动态的;第二个目录树从`Index(根文件夹)`条目出发,是静态的。因Echart动态显示上下文的图没有这种树的形式好看且干扰注意力。所以暂用目录树的形式显示上下文。\\n\\n若想修改根文件夹,请打开[[设置|$:/plugins/linonetwo/itonnote/ControlPanel]]。\\n\\n* 打了 A 标签,即相当于将文件存储在文件夹 A 中,并以 A 的内容作为文件夹的 Readme\\n* 在任意条目中使用「创建一个标签为此条目名称的新条目」按钮,可以创建以当前条目为文件夹的文件\\n* 点击 {{$:/core/images/folder}} 按钮(使它变成 {{$:/core/images/fold-button}})可以展开文件夹\\n* 直接点击文件夹的名字可以查看这个文件夹的 Readme\\n\"},\"$:/plugins/linonetwo/itonnote/Help/Index\":{\"title\":\"$:/plugins/linonetwo/itonnote/Help/Index\",\"text\":\"\u003C$list filter=\\\"[[$:/language]get[text]removeprefix[$:/languages/]else[en-GB]]\\\" variable=\\\"lang\\\">\\n\\n\\t\u003C$list filter=\\\"[\u003Clang>search[zh]]\\\">\\n\\t\\t\u003C$list filter=\\\"[tag\u003CcurrentTiddler>suffix[zh-CN]]\\\">\\n\\t\\t\\t\u003Csection class=\\\"main-page-section\\\">\\n\\n\\t\\t\\t\\t!! \u003C\u003CcurrentTiddler>>\\n\\t\\t\\t\\t{{!!text}}\\n\\n\\t\\t\\t\u003C/section>\\n\\t\\t\u003C/$list>\\n\\t\u003C/$list>\\n\\n\\t\u003C$list filter=\\\"[\u003Clang>!search[zh]]\\\">\\n\\t\\t\u003C$list filter=\\\"[tag\u003CcurrentTiddler>suffix[en-GB]]\\\">\\n\\t\\t\\t\u003Csection class=\\\"main-page-section\\\">\\n\\n\\t\\t\\t\\t!! \u003C\u003CcurrentTiddler>>\\n\\t\\t\\t\\t{{!!text}}\\n\\n\\t\\t\\t\u003C/section>\\n\\t\\t\u003C/$list>\\n\\t\u003C/$list>\\n\\n\u003C/$list>\"},\"$:/plugins/linonetwo/itonnote/Help/VirtualFolder-en-GB\":{\"title\":\"$:/plugins/linonetwo/itonnote/Help/VirtualFolder-en-GB\",\"tags\":\"$:/plugins/linonetwo/itonnote/Help/Index\",\"text\":\"!!! Tag\\n\\nThe Tag structure can be thought of as a folder directory structure with soft links to form a graphical structure, since Tag relationships are inherently free, and two notes can be tagged to each other and parented to each other in the folder structure.\\n\\nUsing toc macro, you can create a \\\"file directory\\\" tab in the sidebar, which shows the folder structure generated by the tag. The details are written in [[Official Table-of-Contents Macros doc|https://tiddlywiki.com/#Table-of-Contents%20Macros:%5B%5BTable-of-Contents%20Macros%5D%5D%20%5B%5BTable-of-Contents%20Macros%20(Examples)%5D%5D]], and the plugin should have it pre-populated in [[$:/plugins/linonetwo/itonnote/Sidebar/FolderMenu]], which can be used immediately or modified to override it.\\n\\nThen you can set the \\\"File Directory\\\" tab to be displayed by default in `$:/ControlPanel` -> \\\"Settings\\\" -> \\\"Default Sidebar Tab\\\", so that you can use TiddlyWiki as a folder system. And the plugin should already be pre-configured for this.\\n\\n!!! Slash\\n\\nTiddlyWiki comes with a way to create folders by using slashes in the header.\\n\\nThe various folders that come with the system can be seen via the sidebar under \\\"More\\\" -> \\\"Explore\\\".\\n\\nIf you use the NodeJS version of TiddlyWiki, these tiddlers will also be placed in the corresponding folders on the real file system.\\n\"},\"$:/plugins/linonetwo/itonnote/Help/VirtualFolder-zh_CN\":{\"title\":\"$:/plugins/linonetwo/itonnote/Help/VirtualFolder-zh_CN\",\"tags\":\"$:/plugins/linonetwo/itonnote/Help/Index\",\"text\":\"!!! 标签\\n\\n标签结构可以看作是一种文件夹目录结构,通过软链接形成图论结构,因为标签关系本身是自由的,两个笔记可以相互加对方为标签,并在文件夹结构中互为父级,形成任意自由的结构。\\n\\n使用官方的 toc 宏,你可以在侧边栏创建一个「文件目录」标签,显示标签生成的文件夹结构。详细内容写在 [[官方文档的 Table-of-Contents 一文里|https://tw-cn-doc.cpolar.top/#Table-of-Contents%20Macros:%5B%5BTable-of-Contents%20Macros%5D%5D%20%5B%5BTable-of-Contents%20Macros%20(Examples)%5D%5D]] 中,插件应在 [[$:/plugins/linonetwo/itonnote/Sidebar/FolderMenu]] 中预置了,可以立即使用,你也可以修改覆盖。\\n\\n然后,您可以在 `$:/ControlPanel` ->「Settings」 ->「Default Sidebar Tab」中设置默认显示「文件目录」选项卡,这样您就可以将 TiddlyWiki 用作文件夹系统。插件应该已经为此进行了预配置。\\n\\n!!! 斜杠\\n\\nTiddlyWiki 提供了一种在标题里使用斜杠创建文件夹的方法。\\n\\n你可以通过侧边栏的「更多」->「探索」查看系统自带的各种文件夹。\\n\\n如果你使用的是 NodeJS 版本的 TiddlyWiki,这些 tiddlers 也会被放置在真实文件系统的相应文件夹中。\\n\\n!!! 使用哪种?\\n\\n这是个见仁见智的问题,请[[参考中文教程学习|https://tw-cn.netlify.app/#%E4%BD%BF%E7%94%A8%E6%A0%87%E7%AD%BE%E5%BD%93%E6%96%87%E4%BB%B6%E5%A4%B9:%E4%BD%BF%E7%94%A8%E6%A0%87%E7%AD%BE%E5%BD%93%E6%96%87%E4%BB%B6%E5%A4%B9%20%E6%AC%A2%E8%BF%8E%E6%9D%A5%E5%88%B0%E5%A4%AA%E5%BE%AE%EF%BC%81]],也可以加群讨论!\\n\"},\"$:/plugins/linonetwo/itonnote/Macros/OpenImageInGithub\":{\"title\":\"$:/plugins/linonetwo/itonnote/Macros/OpenImageInGithub\",\"created\":\"20200412034056887\",\"tags\":\"$:/tags/Macro\",\"caption\":\"点击在新标签页打开Github大图\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\\\\define view-big-image(source)\\n\u003Ca href=\\\"https://raw.githubusercontent.com/linonetwo/wiki/master/Meme-of-LinOnetwo/tiddlers/$source$\\\" title=\\\"Click for a bigger version (opens in a separate tab)\\\" target=\\\"_blank\\\">\\n \u003Cimg src=\\\"https://raw.githubusercontent.com/linonetwo/wiki/master/Meme-of-LinOnetwo/tiddlers/$source$\\\"/>\\n\u003C/a>\\n\\\\end\"},\"$:/plugins/linonetwo/itonnote/Macros/TransclusionWithEditMe\":{\"title\":\"$:/plugins/linonetwo/itonnote/Macros/TransclusionWithEditMe\",\"tags\":\"$:/tags/Macro 自改TW\",\"caption\":\"带有「编辑此块」的引用transclusion宏\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\\\\define reuse-pane(content)\\n\u003Cstyle>\\n.reuse-pane {\\n\\tposition: absolute;\\n\\tright: 10px;\\n\\twidth: auto;\\n\\tmax-width: 4px;\\n\\theight: 1.5em;\\n\\toverflow: hidden;\\n\\tborder: 10px solid transparent;\\n\\tborder-top: 0;\\n\\tbox-sizing: content-box;\\n\\ttransition: max-width 0.5s;\\n}\\n.reuse-pane:hover {\\n max-width: 80vw;\\n}\\n.reuse-pane-content {\\n\\tdisplay: inline-block;\\n\\tbackground-color: rgba(233, 233, 233, 0.9);\\n\\tborder-left: 4px solid rgba(0, 0, 0, 0.05);\\n\\tpadding: 0px 5px;\\n\\tpadding-bottom: 2px;\\n}\\n\u003C/style>\\n\u003Cdiv class=\\\"reuse-pane\\\">\\n \u003Csmall class=\\\"reuse-pane-content\\\">$content$\u003C/small>\\n\u003C/div>\\n\\\\end\\n\\n\\\\define reuse-tiddler(title)\\n\u003C$macrocall $name=\\\"reuse-pane\\\" content=\\\"\\\"\\\"\\n查看引文:[[$title$]]\\n\\\"\\\"\\\" />\\n\\n{{$title$}}\\n\\n\\\\end\"},\"$:/config/ChinesePluginLibrary/GitHub\":{\"title\":\"$:/config/ChinesePluginLibrary/GitHub\",\"caption\":\"\u003C$list filter=\\\"[[$:/language]get[text]removeprefix[$:/languages/]else[en-GB]]\\\" variable=\\\"lang\\\">\u003C$list filter=\\\"[\u003Clang>search:title[zh]]\\\">太微中文社区插件源(~GitHub版)\u003C/$list>\u003C$list filter=\\\"[\u003Clang>!search:title[zh]]\\\">TiddlyWiki Chinese CPL(~GitHub Host)\u003C/$list>\u003C/$list>\",\"created\":\"20211210064945704\",\"creator\":\"Sttot\",\"modified\":\"20211210070811047\",\"modifier\":\"Sttot\",\"tags\":\"$:/tags/PluginLibrary\",\"type\":\"text/vnd.tiddlywiki\",\"url\":\"https://tiddly-gittly.github.io/TiddlyWiki-CPL/library/index.html\",\"text\":\"\u003C!-- lang变量就是当前语言 -->\\n\u003C$list filter=\\\"[[$:/language]get[text]removeprefix[$:/languages/]else[en-GB]]\\\" variable=\\\"lang\\\">\\n\u003C$list filter=\\\"[\u003Clang>search:title[zh]]\\\" variable=\\\"lang\\\">\\n\\n欢迎使用''【太微中文社区插件源】''!\\n\\n本插件源是由[[太微(TiddlyWiki)中文社区|https://github.com/tiddly-gittly]]维护的、致力于搜集网络上所有与 ~TiddlyWiki5 有关插件的、希望为中国以及全世界的太微用户提供一键安装、更新插件体验的公开插件源。\\n\\n如果还不了解该如何使用太微和本插件源,欢迎阅读[[中文社区共建的太微(TiddlyWiki)教程|https://tw-cn.netlify.app]]里插件相关的部分。如上提到的插件源和教程皆为开源项目,你可以在 [[GitHub|https://github.com/tiddly-gittly]] 中找到并参与贡献!如果乐意,可以通过QQ群等方式加入我们,详情请见如上提到的中文教程。\\n\\n要添加这个插件库到你的 Wiki 中,只需鼠标拖动这个链接到你的 Wiki 里即可:\u003C$link to=\u003C\u003CcurrentTiddler>>>{{!!caption}}\u003C/$link>\\n\\n注意:本插件源版本为 ~GitHub Page 的版本,更新更快,但是可能需要科学上网手段。如果你在国内,而且不清楚什么是“科学上网”,请选用另一个经过 netlify.app 加速的[[版本|$:/config/ChinesePluginLibrary/Netlify]],虽然更新有一定的延迟,但对国内用户更加友好。\\n\\n\u003C/$list>\\n\\n\u003C$list filter=\\\"[\u003Clang>!search:title[zh]]\\\" variable=\\\"lang\\\">\\n\\nWelcome to the ''[TiddlyWiki Chinese Community Plugin Source]''!\\n\\nThis plugin source is maintained by the [[TiddlyWiki Chinese Community]] and is dedicated to collecting all TiddlyWiki5 related plugins on the web, hoping to provide a one-click installation and update plugin experience for TiddlyWiki users in China and around the world.\\n\\nIf you don't know how to use TiddlyWiki and this source, you are welcome to read the plugins related section in the [[TiddlyWiki Tutorials for Chinese Communities|https://tw-cn.netlify.app]]. As mentioned above, both the plugin source and the tutorial are open source projects, you can find them in [[GitHub|https://github.com/tiddly-gittly]] and participate in contributing! If you like, you can join us through QQ groups and other means, see the Chinese tutorials mentioned above for details.\\n\\nTo add this plugin library to your Wiki, just drag this link with your mouse into your Wiki: \u003C$link to=\u003C\u003CcurrentTiddler>>{{!!caption}}\u003C/$link>\\n\\nNote: The source version of this plugin is the ~GitHub Page version, which is faster to update, but may require scientific Internet access. If you are in China and are not sure what GFW is, please use another [[version|$:/config/ChinesePluginLibrary/Netlify]] that is accelerated by netlify.app, although there is a certain delay in updating, but it is more friendly to domestic users more friendly.\\n\\n\u003C/$list>\\n\u003C/$list>\"},\"$:/config/ChinesePluginLibrary/Netlify\":{\"title\":\"$:/config/ChinesePluginLibrary/Netlify\",\"caption\":\"\u003C$list filter=\\\"[[$:/language]get[text]removeprefix[$:/languages/]else[en-GB]]\\\" variable=\\\"lang\\\">\u003C$list filter=\\\"[\u003Clang>search:title[zh]]\\\">太微中文社区插件源(大陆加速版)\u003C/$list>\u003C$list filter=\\\"[\u003Clang>!search:title[zh]]\\\">TiddlyWiki Chinese CPL(Netlify Host)\u003C/$list>\u003C/$list>\",\"created\":\"20211118102827947\",\"creator\":\"Sttot\",\"modified\":\"20211210070641055\",\"modifier\":\"Sttot\",\"tags\":\"$:/tags/PluginLibrary\",\"type\":\"text/vnd.tiddlywiki\",\"url\":\"https://tw-cpl.netlify.app/library/index.html\",\"text\":\"\u003C!-- lang变量就是当前语言 -->\\n\u003C$list filter=\\\"[[$:/language]get[text]removeprefix[$:/languages/]else[en-GB]]\\\" variable=\\\"lang\\\">\\n\u003C$list filter=\\\"[\u003Clang>search:title[zh]]\\\" variable=\\\"lang\\\">\\n\\n欢迎使用''【太微中文社区插件源】''!\\n\\n本插件源是由[[太微(TiddlyWiki)中文社区|https://github.com/tiddly-gittly]]维护的、致力于搜集网络上所有与 ~TiddlyWiki5 有关插件的、希望为中国以及全世界的太微用户提供一键安装、更新插件体验的公开插件源。\\n\\n如果还不了解该如何使用太微和本插件源,欢迎阅读[[中文社区共建的太微(TiddlyWiki)教程|https://tw-cn.netlify.app]]里插件相关的部分。如上提到的插件源和教程皆为开源项目,你可以在 [[GitHub|https://github.com/tiddly-gittly]] 中找到并参与贡献!如果乐意,可以通过QQ群等方式加入我们,详情请见如上提到的中文教程。\\n\\n要添加这个插件库到你的 Wiki 中,只需鼠标拖动这个链接到你的 Wiki 里即可:\u003C$link to=\u003C\u003CcurrentTiddler>>>{{!!caption}}\u003C/$link>\\n\\n注意:本插件源版本为经过 netlify.app 加速的版本,对国内用户更加友好,但是更新有一定的延迟。还提供另一版本,是直接使用 ~GitHub Page 服务器的版本,更新更快,但是可能需要科学上网手段。\\n\\n\u003C/$list>\\n\\n\u003C$list filter=\\\"[\u003Clang>!search:title[zh]]\\\" variable=\\\"lang\\\">\\n\\nWelcome to the ''[TiddlyWiki Chinese Community Plugin Source]''!\\n\\nThis plugin source is maintained by the [[TiddlyWiki Chinese Community]] and is dedicated to collecting all TiddlyWiki5 related plugins on the web, hoping to provide a one-click installation and update plugin experience for TiddlyWiki users in China and around the world.\\n\\nIf you don't know how to use TiddlyWiki and this source, you are welcome to read the plugins related section in the [[TiddlyWiki Tutorials for Chinese Communities|https://tw-cn.netlify.app]]. As mentioned above, both the plugin source and the tutorial are open source projects, you can find them in [[GitHub|https://github.com/tiddly-gittly]] and participate in contributing! If you like, you can join us through QQ groups and other means, see the Chinese tutorials mentioned above for details.\\n\\nTo add this plugin library to your Wiki, just drag this link with your mouse into your Wiki: \u003C$link to=\u003C\u003CcurrentTiddler>>{{!!caption}}\u003C/$link>\\n\\nNote: The source version of this plugin is a version accelerated by netlify.app, which is more friendly to China mainland users, but there is a delay in updating. There is also another version that uses the GitHub Page server directly, which is faster to update, but may require technology to overturn the GFW.\\n\\n\u003C/$list>\\n\u003C/$list>\"},\"$:/config/wikilabs/PluginLibraryWL/latest\":{\"title\":\"$:/config/wikilabs/PluginLibraryWL/latest\",\"caption\":\"Wikilabs Library\",\"tags\":\"$:/tags/PluginLibrary\",\"type\":\"text/vnd.tiddlywiki\",\"url\":\"https://wikilabs.github.io/editions/pluginlibraryWL/library/latest/index.html\",\"text\":\"~WikiLabs plugin library latest version!\\n\"},\"$:/config/KookmaPluginLibrary\":{\"title\":\"$:/config/KookmaPluginLibrary\",\"caption\":\"Kookma Plugin Library\",\"created\":\"20200306121057751\",\"modified\":\"20200410154132754\",\"tags\":\"$:/tags/PluginLibrary\",\"type\":\"text/vnd.tiddlywiki\",\"url\":\"https://kookma.github.io/TW-PluginLibrary/library/index.html\",\"text\":\"Kookma plugin library is a set of plugins, themes, and scripts, to extend functionality and add new features to Tiddlywiki. For detail information visit the library at [[GitHub|https://github.com/kookma]]. It is recommended to backup your data before installing any plugin, theme, or script. \\n\\nTo use in other wikis, drag and drop this link to those wikis: [[Kookma Plugin Library|$:/config/KookmaPluginLibrary]]\"},\"$:/config/OfficialPluginLibrary\":{\"title\":\"$:/config/OfficialPluginLibrary\",\"tags\":\"$:/tags/PluginLibrary\",\"url\":\"https://tiddlywiki.com/library/v5.3.0/index.html\",\"caption\":\"{{$:/language/OfficialPluginLibrary}}\",\"text\":\"{{$:/language/OfficialPluginLibrary/Hint}}\"},\"$:/core/ui/ControlPanel/Settings\":{\"title\":\"$:/core/ui/ControlPanel/Settings\",\"tags\":\"$:/tags/ControlPanel\",\"caption\":\"{{$:/language/ControlPanel/Settings/Caption}}\",\"text\":\"\u003Cdiv class=\\\"tc-control-panel\\\">\\n\u003C$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/SettingsTab]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Settings/TiddlyWiki\\\" explicitState=\\\"$:/state/tab--697582678\\\"/>\\n\u003C/div>\\n\"},\"$:/core/ui/ControlPanel/Settings/TiddlyWiki\":{\"title\":\"$:/core/ui/ControlPanel/Settings/TiddlyWiki\",\"tags\":\"$:/tags/ControlPanel/SettingsTab\",\"caption\":\"TiddlyWiki\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/\\n\\n\u003C\u003Clingo Hint>>\\n\\n\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\\\">\\n\\n\u003Cdiv style=\\\"border-top:1px solid #eee;\\\">\\n\\n!! \u003C$link>\u003C$transclude field=\\\"caption\\\"/>\u003C/$link>\\n\\n\u003C$transclude/>\\n\\n\u003C/div>\\n\\n\u003C/$list>\\n\"},\"$:/plugins/linonetwo/itonnote/Sidebar/FolderMenu\":{\"title\":\"$:/plugins/linonetwo/itonnote/Sidebar/FolderMenu\",\"caption\":\"文件目录\",\"creator\":\"LinOnetwo\",\"description\":\"文件夹系统目录结构\",\"is-dropdown\":\"yes\",\"tags\":\"$:/tags/SideBar $:/tags/MenuBar\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C$scrollable fallthrough=\\\"none\\\" class=\\\"tc-popup-keep tc-menubar-dropdown-sidebar\\\">\\n\\n\\t\u003C$let toc-open-icon=\\\"$:/core/images/fold-button\\\" toc-closed-icon=\\\"$:/core/images/folder\\\">\\n\\t\\t\u003Cdiv class=\\\"tc-table-of-contents\\\">\\n\\t\\t\\t\u003C$transclude $variable=\\\"toc-selective-expandable\\\" tag={{$:/plugins/linonetwo/itonnote/Configs/SideBarFolderMenuBaseTitle}} />\\n\\t\\t\u003C/div>\\n\\t\u003C/$let>\\n\\n \u003C$list filter=\\\"[[$:/language]get[text]removeprefix[$:/languages/]else[en-GB]]\\\" variable=\\\"lang\\\">\\n\\n \u003C$list filter=\\\"[\u003Clang>search[zh]]\\\">\\n [[使用帮助|$:/plugins/linonetwo/itonnote/Help/Index]]\\n \u003C/$list>\\n\\n \u003C$list filter=\\\"[\u003Clang>!search[zh]]\\\">\\n [[Help|$:/plugins/linonetwo/itonnote/Help/Index]]\\n \u003C/$list>\\n\\n \u003C/$list>\\n\\n\u003C/$scrollable>\\n\"},\"$:/plugins/linonetwo/itonnote/Snippets/OpenImageInGithub\":{\"title\":\"$:/plugins/linonetwo/itonnote/Snippets/OpenImageInGithub\",\"caption\":\"图片:点击在新标签页打开大图\",\"tags\":\"$:/plugins/linonetwo/itonnote/Macros/OpenImageInGithub $:/tags/TextEditor/Snippet\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C\u003Cview-big-image xxx.jpg>>\"},\"$:/plugins/linonetwo/itonnote/Snippets/TOCAboutCurrentTiddler\":{\"title\":\"$:/plugins/linonetwo/itonnote/Snippets/TOCAboutCurrentTiddler\",\"caption\":\"添加一个使用当前标题的 toc\",\"tags\":\"[[$:/plugins/linonetwo/itonnote/Help/Index]] $:/tags/TextEditor/Snippet\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\\n\u003C$let toc-open-icon=\\\"$:/core/images/fold-button\\\" toc-closed-icon=\\\"$:/core/images/folder\\\">\\n \u003Cdiv class=\\\"tc-table-of-contents\\\">\\n \u003C$transclude $variable=\\\"toc-selective-expandable\\\" tag=\u003C\u003CcurrentTiddler>> />\\n \u003C/div>\\n\u003C/$let>\"},\"$:/plugins/linonetwo/itonnote/Snippets/TransclusionWithEditMe\":{\"title\":\"$:/plugins/linonetwo/itonnote/Snippets/TransclusionWithEditMe\",\"caption\":\"带「编辑此块」的引用Transclusion\",\"tags\":\"$:/plugins/linonetwo/itonnote/Macros/TransclusionWithEditMe $:/tags/TextEditor/Snippet\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C\u003Creuse-tiddler \\\"title\\\">>\"},\"$:/plugins/linonetwo/itonnote/UI/PageControlBelowPage\":{\"title\":\"$:/plugins/linonetwo/itonnote/UI/PageControlBelowPage\",\"tags\":\"$:/tags/AboveStory\",\"text\":\"\u003C!-- Though visually it is on the bottom of the page, but we have to use AboveStory to make sure it is overlay on the story. -->\\n\u003C$list filter=\\\"[[$:/plugins/linonetwo/itonnote/settings/PageControlBelowPage]get[text]else[no]match[yes]]\\\">\\n \u003Cnav class=\\\"page-control-below-page\\\">\\n {{$:/core/ui/PageTemplate/pagecontrols}}\\n \u003C/nav>\\n\u003C/$list>\"},\"$:/plugins/linonetwo/itonnote/UI/style.css\":{\"title\":\"$:/plugins/linonetwo/itonnote/UI/style.css\",\"tags\":\"$:/tags/Stylesheet\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C$importvariables filter=\\\"[[$:/themes/tiddlywiki/vanilla/base]]\\\">\\n\\n.page-control-below-page {\\n display: none;\\n\\n padding: 10px;\\n background-color: white;\\n -webkit-backdrop-filter: blur(10px);\\n\\n position: fixed;\\n bottom: 0;\\n left: 0;\\n z-index: 200;\\n width: 100%;\\n}\\n.page-control-below-page .tc-page-controls {\\n margin: 0;\\n\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-evenly;\\n}\\n\\n@media (max-width: \u003C\u003Csidebarbreakpoint>>) {\\n .page-control-below-page {\\n display: block;\\n }\\n}\\n\"},\"$:/plugins/linonetwo/itonnote/description\":{\"title\":\"$:/plugins/linonetwo/itonnote/description\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!!! macros\\n\\n!!!! TransclusionWithEditMe\\n\\n[[$:/plugins/linonetwo/itonnote/Macros/TransclusionWithEditMe]] Usage:\\n\\n使用普通的 [[Transclusion|https://tiddlywiki.com/#Transclusion]] 时,你没法得知源文件在哪里,如果想要修改内容,还得打开编辑模式、复制被引用的 Tiddler 的标题,然后搜索打开编辑,比较麻烦。\\n\\n使用此宏进行引用就很方便了:\\n\\n```tid\\n\u003C\u003Creuse-tiddler \\\"快速创建新笔记按钮\\\">>\\n```\\n\\n会直接在引用的区块旁边显示一个「查看引文」的小浮窗,带有指向源文件的链接,直接点开编辑即可。\\n\\n!!!! OpenImageInGithub\\n\\n[[$:/plugins/linonetwo/itonnote/Macros/OpenImageInGithub]] Usage:\\n\\nIf you have `webcatalog-tiddlywiki-menu-app.jpg` in your Wiki, you normally can just `{{webcatalog-tiddlywiki-menu-app.jpg}}` to place it in your tiddler, but you can use this macro to make it clickable, and open large image in the new browser tab:\\n\\n```tid\\n\u003C\u003Cview-big-image webcatalog-tiddlywiki-menu-app.jpg>>\\n```\\n\\n!!! snippets(文本片段)\\n\\n在编辑模式下,有一个图章按钮,点击后会列出一系列文本片段,可以一键添加预制内容,因而无需用脑记住这些复杂的文本片段了。\\n\\n本插件预置了一些文本片段,详见相应的 Macros 的介绍,或相应的插件的介绍:\\n\\n* [[$:/plugins/linonetwo/itonnote/Snippets/TOCAboutCurrentTiddler]]\\n* [[$:/plugins/linonetwo/itonnote/Snippets/OpenImageInGithub]]\\n* [[$:/plugins/linonetwo/itonnote/Snippets/TransclusionWithEditMe]]\\n\"},\"$:/plugins/linonetwo/itonnote/readme\":{\"title\":\"$:/plugins/linonetwo/itonnote/readme\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! 功能\\n\\n预配置了一系列琐碎的内容,一般来自各插件的Readme和论坛讨论,但大多数人懒得看Readme,故在此直接帮忙配置好了。\\n\\n具体预置内容介绍可见[[Description|$:/plugins/linonetwo/itonnote/description]]。\\n\\n{{$:/plugins/linonetwo/itonnote/ControlPanel}}\\n\"},\"$:/plugins/linonetwo/itonnote/Startup/closeSidebarOnMobile.js\":{\"module-type\":\"startup\",\"title\":\"$:/plugins/linonetwo/itonnote/Startup/closeSidebarOnMobile.js\",\"type\":\"application/javascript\",\"creator\":\"NicolasPetton\",\"Modern.TiddlyDev#Origin\":\"Startup/closeSidebarOnMobile.ts\",\"text\":\"\\\"use strict\\\";exports.name=\\\"close-sidebar-on-mobile\\\",exports.platforms=[\\\"browser\\\"],exports.after=[\\\"rootwidget\\\"];var isOnMobile=()=>\\\"yes\\\"===$tw.wiki.getTiddlerText(\\\"$:/info/browser/is/mobile\\\")||\\\"yes\\\"===$tw.wiki.getTiddlerText(\\\"$:/info/tidgi-mobile\\\"),closeSidebar=()=>{$tw.wiki.addTiddler({title:\\\"$:/state/sidebar\\\",text:\\\"no\\\"}),$tw.wiki.addTiddler({title:\\\"$:/state/notebook-sidebar\\\",text:\\\"no\\\"})},closeSidebarOnMobile=e=>(isOnMobile()&&closeSidebar(),e),setup=()=>{$tw.hooks.addHook(\\\"th-opening-default-tiddlers-list\\\",closeSidebarOnMobile),$tw.hooks.addHook(\\\"th-importing-file\\\",closeSidebarOnMobile),$tw.hooks.addHook(\\\"th-navigating\\\",closeSidebarOnMobile),$tw.hooks.addHook(\\\"th-new-tiddler\\\",closeSidebarOnMobile),$tw.hooks.addHook(\\\"th-open-command-palette\\\",closeSidebarOnMobile),closeSidebarOnMobile()};exports.startup=setup;\"}}}","title":"$:/plugins/linonetwo/itonnote","type":"application/json","version":"2.0.1","Modern.TiddlyDev#SHA256-Hashed":"1ea4c5fec3baffd4a1043203a17d21fd6f9f312c4419f7f8bf47f8194b86ad96"}, {"author":"LinOnetwo","core-version":">=5.1.22","dependents":"","description":"VSCode style opened files top bar","list":"Readme LICENSE","name":"Opened Tiddlers Bar","plugin-type":"plugin","text":"{\"tiddlers\":{\"$:/plugins/linonetwo/opened-tiddlers-bar/AboveStory\":{\"title\":\"$:/plugins/linonetwo/opened-tiddlers-bar/AboveStory\",\"creator\":\"[[Jeffrey Wikinson]]\",\"modifier\":\"LinOnetwo\",\"tags\":\"$:/tags/AboveStory\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003Cdiv class=\\\"opened-tiddlers-bar-container tc-adjust-top-of-scroll\\\">\\n \u003C\u003Copened-tiddlers-bar>>\\n\u003C/div>\"},\"$:/plugins/linonetwo/opened-tiddlers-bar/Readme\":{\"title\":\"$:/plugins/linonetwo/opened-tiddlers-bar/Readme\",\"creator\":\"LinOnetwo\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! Features\\n\\nThis plugin provides VSCode style \\\"Opened Tiddlers\\\" top bar\\n\\nUse the middle mouse button or the X button to close the tab.\\n\\nUse Shift + mouse wheel to swipe sideways to view.\\n\\n!! Credits\\n\\nThis plugin is based on [[$:/plugins/bj/storytabs|http://bjtools.tiddlyspot.com/]] , which is in MIT license, thank you, Buggyj!\\n\"},\"$:/plugins/linonetwo/opened-tiddlers-bar/style.css\":{\"title\":\"$:/plugins/linonetwo/opened-tiddlers-bar/style.css\",\"creator\":\"LinOnetwo\",\"tags\":\"$:/tags/Stylesheet\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"/** make things in $:/tags/AboveStory position fixed, so it will always on the top */\\nsection.story-backdrop .opened-tiddlers-bar-container {\\n position: fixed;\\n top: 0;\\n z-index: 1000;\\n width: 100vw;\\n left: 0;\\n\\n overflow-x: auto;\\n white-space: nowrap;\\n overflow: -moz-scrollbars-none;\\n scrollbar-width: none;\\n}\\nsection.story-backdrop .opened-tiddlers-bar-container::-webkit-scrollbar {\\n display: none;\\n}\\n\\nsection.story-backdrop div.opened-tiddlers-bar div.opened-tiddlers-bar-tabs {\\n display: flex;\\n flex-direction: row;\\n justify-content: flex-start;\\n}\\n/** make it possible to drag the app using this bar in TidGi, when titleBar is closed */\\n\u003C$reveal type=\\\"match\\\" state=\\\"$:/state/titleBarOpened\\\" text=\\\"no\\\">\\ndiv.opened-tiddlers-bar-tabs {\\n width: 90vw;\\n overflow-x: auto;\\n white-space: nowrap;\\n overflow: -moz-scrollbars-none;\\n scrollbar-width: none;\\n}\\ndiv.opened-tiddlers-bar-tabs::-webkit-scrollbar {\\n display: none;\\n}\\ndiv.opened-tiddlers-bar-drag-area {\\n width: 5vw;\\n -webkit-app-region: drag;\\n}\\n\u003C/$reveal>\\n/** when hide titlebar and hide sidebar (and on macOS, windows not tested), move bar right to avoid collision with close button on the left top of app */\\n/** move right a bit to avoid collision with close button on macOS when title bar hide */\\n\u003C$reveal type=\\\"match\\\" state=\\\"$:/state/titleBarOpened\\\" text=\\\"no\\\">\\n\u003C$reveal type=\\\"match\\\" state=\\\"$:/state/sideBarOpened\\\" text=\\\"no\\\">\\nsection.story-backdrop {\\n width: 100vw;\\n padding-left: 68px;\\n}\\n\u003C/$reveal>\\n\u003C/$reveal>\\n\\n/** tiddlers bar */\\nsection.story-backdrop > p > .opened-tiddlers-bar-container, section.story-backdrop > p > .opened-tiddlers-bar-container > div.tc-tab-buttons {\\n width: 100%;\\n margin: 0;\\n display: flex;\\n background: transparent;\\n}\\nsection.story-backdrop > p > .opened-tiddlers-bar-container {\\n background-color: white;\\n backdrop-filter: blur(3px);\\n background: \u003C\u003Ccolour tab-background-selected>>;\\n}\\n\\n\\ndiv.opened-tiddlers-bar-tabs button {\\n border: none;\\n border-radius: 0;\\n margin: 0;\\n padding: 5px 10px;\\n padding-right: 2px;\\n}\\n/** x button */\\ndiv.opened-tiddlers-bar-tabs button.opened-tiddlers-bar-close-button {\\n border: none;\\n border-radius: 0;\\n margin: 0;\\n padding: 0 5px;\\n opacity: 0;\\n background-color: transparent;\\n}\\n/** show x when tab is hovered */\\ndiv.opened-tiddlers-bar-tabs:hover button.opened-tiddlers-bar-close-button {\\n opacity: 1;\\n}\\nsection.story-backdrop div.opened-tiddlers-bar-tabs button.tc-tab:not(.tc-tab-selected):hover {\\n border-bottom: 2px solid gray;\\n}\\nsection.story-backdrop div.opened-tiddlers-bar-tabs button.tc-tab:nth-child(2) {\\n margin-left: -1em;\\n}\\ndiv.opened-tiddlers-bar.tc-tab-buttons {\\n padding: 0;\\n margin: 0;\\n}\\n\\n/** 收起侧边栏的按钮 */\\n.tc-topbar-right {\\n top: 18px;\\n}\\n\"},\"$:/plugins/linonetwo/opened-tiddlers-bar/tree\":{\"title\":\"$:/plugins/linonetwo/opened-tiddlers-bar/tree\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C\u003Ctree prefix:\\\"$:/plugins/linonetwo/opened-tiddlers-bar/\\\">>\"},\"$:/plugins/linonetwo/opened-tiddlers-bar/ui\":{\"title\":\"$:/plugins/linonetwo/opened-tiddlers-bar/ui\",\"creator\":\"[[Jeffrey Wikinson]]\",\"modifier\":\"LinOnetwo\",\"tags\":\"$:/tags/Macro\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\\\\define onMiddleClick()\\n\u003C$list filter=\\\"[\u003Cevent-mousebutton>match[middle]]\\\">\\n\u003C$action-sendmessage $message=\\\"tm-close-tiddler\\\" $param=\u003C\u003CcurrentTab>>/>\\n\u003C/$list>\\n\\\\end\\n\\\\define opened-tiddlers-bar()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tab-buttons opened-tiddlers-bar\\\" >\\n \u003Cdiv class=\\\"opened-tiddlers-bar-drag-area\\\" />\\n \u003Cdiv class=\\\"opened-tiddlers-bar-tabs\\\">\\n \u003C$list filter=\\\"[list[$:/StoryList]]\\\" history=\\\"$:/HistoryList\\\" variable=\\\"currentTab\\\">\\n \u003C$reveal type=\\\"match\\\" state=\\\"$:/HistoryList!!current-tiddler\\\" text=\u003C\u003CcurrentTab>>>\\n \u003C$eventcatcher $auxclick=\u003C\u003ConMiddleClick>>>\\n \u003Cdiv style=\\\"display:inline\\\">\\n \u003C$button to=\u003C\u003CcurrentTab>> class=\\\"tc-tab-selected tc-tab\\\">\\n \u003C$view tiddler=\u003C\u003CcurrentTab>> field=\\\"name\\\">\\n \u003C$view tiddler=\u003C\u003CcurrentTab>> field=\\\"title\\\" />\u003C/$view>\\n \u003C$button message=\\\"tm-close-tiddler\\\" param=\u003C\u003CcurrentTab>> class=\\\"tc-image-button opened-tiddlers-bar-close-button\\\">\\n ×\\n \u003C/$button>\\n \u003C/$button>\\n \u003C/div>\\n \u003C/$eventcatcher>\\n \u003C/$reveal>\\n \u003C$reveal type=\\\"nomatch\\\" state=\\\"$:/HistoryList!!current-tiddler\\\" text=\u003C\u003CcurrentTab>>>\\n \u003C$eventcatcher $auxclick=\u003C\u003ConMiddleClick>>>\\n \u003Cdiv>\\n \u003C$button to=\u003C\u003CcurrentTab>> class=\\\"tc-tab\\\" >\\n \u003C$view tiddler=\u003C\u003CcurrentTab>> field=\\\"name\\\">\\n \u003C$view tiddler=\u003C\u003CcurrentTab>> field=\\\"title\\\" />\\n \u003C/$view>\\n \u003C$button message=\\\"tm-close-tiddler\\\" param=\u003C\u003CcurrentTab>> class=\\\"tc-image-button opened-tiddlers-bar-close-button\\\">\\n ×\\n \u003C/$button>\\n \u003C/$button>\\n \u003C/div>\\n \u003C/$eventcatcher>\\n \u003C/$reveal>\\n \u003C/$list>\\n \u003C/div>\\n \u003Cdiv class=\\\"opened-tiddlers-bar-drag-area\\\" />\\n\u003C/div>\\n\\\\end\\n\"}}}","title":"$:/plugins/linonetwo/opened-tiddlers-bar","type":"application/json","version":"0.3.0","Modern.TiddlyDev#SHA256-Hashed":"65cbd562412624e198abd3e89cd34815844332e4fa6c9286c80ae794b4fdf28f"}, {"text":"{\"tiddlers\":{\"$:/plugins/linonetwo/prevent-edit/preventPopUp.js\":{\"title\":\"$:/plugins/linonetwo/prevent-edit/preventPopUp.js\",\"created\":\"20200414150455988\",\"creator\":\"LinOnetwo\",\"module-type\":\"startup\",\"type\":\"application/javascript\",\"text\":\"exports.startup = function() {\\n $tw.unloadTasks = $tw.unloadTasks.filter(task => !task.toString().includes('confirmationMessage'));\\n}\\n\"},\"$:/plugins/linonetwo/prevent-edit/readme\":{\"title\":\"$:/plugins/linonetwo/prevent-edit/readme\",\"created\":\"20200414135748497\",\"modified\":\"20200602062349232\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! 功能\\n\\n这个插件主要是让在线部署后的 Wiki 不会弹出「有变动关闭网页前请保存」这样的对话框。\\n\\n!! 动机\\n\\n来自 TiddlyMap 的 [[$:/plugins/felixhayashi/tiddlymap/misc/defaultViewHolder]] 和来自系统的 [[$:/StoryList]] 老是自动变:\\n\\n```diff\\ncreated: 20200409022623558\\ncreator: Lin Onetwo - 林一二\\n-modified: 20200414104033109\\n+modified: 20200414135126182\\nmodifier: Lin Onetwo - 林一二\\ntitle: $:/plugins/felixhayashi/tiddlymap/misc/defaultViewHolder\\ntype: text/vnd.tiddlywiki\\n```\\n\\n没有实质性的变化,而且又经常发生在 wiki 部署后,这样在线版 wiki 就会弹出「This page is asking you to confirm that you want to leave - data you have entered may not be saved」。\\n\\n但我只是想做浏览不想做编辑啊,这让我觉得很烦。\\n\\n后来发现原来是 onbeforeunload 导致的,[[我去仓库里搜到了|https://github.com/Jermolene/TiddlyWiki5/search?q=beforeunload&unscoped_q=beforeunload]]是 `$tw.utils.each($tw.unloadTasks` 在用它,所以我就过滤了一下 `$tw.unloadTasks`。而且还不能立即做这个过滤,因为 `$:/tags/RawMarkup` 是在沙盒里执行的,不能修改 `$tw` 。\\n\\n所以最终我跟着 [[Adding Babel Polyfill to TiddlyWiki|https://tiddlywiki.com/dev/#Adding%20Babel%20Polyfill%20to%20TiddlyWiki]] 这篇教程,加了一个 startup script,在启动时、上述代码之后,就清理掉那个导致弹窗的 unloadTask,世界终于清静了。\\n\\n最终,我把它包装成了这个 [[prevent-edit|$:/plugins/linonetwo/prevent-edit]] 插件。\\n\"}}}","type":"application/json","author":"LinOnetwo","core-version":">=5.1.22","created":"20211017092918218","dependents":"","description":"Prevent \"This page is asking you to confirm that you want to leave\" in a read-only site","list":"readme","modified":"20211017092918218","plugin-type":"plugin","title":"$:/plugins/linonetwo/prevent-edit","version":"0.0.1"}, {"Modern.TiddlyDev#ExternalModules":"react react-dom","author":"LinOnetwo","core-version":">=5.1.22","dependents":"$:/plugins/linonetwo/tw-react","description":"A WYSIWYG editor for TiddlyWiki","list":"readme develop","name":"Slate Write","plugin-type":"plugin","text":"{\"tiddlers\":{\"$:/plugins/linonetwo/slate-write/develop\":{\"title\":\"$:/plugins/linonetwo/slate-write/develop\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! How this works\\n\\n# Offer an widget in `src/widget.js` and `src/components/index.ts`, where we provide props like `currentTiddler` to the actual react component in `src/components/editor.tsx`\\n## Some basic mark and elements like ''bold'' and ordered list are supported by slate plugins imported from `src/config/plugins.ts`\\n## render advanced tiddlywiki widgets using [[tw-react|https://github.com/tiddly-gittly/tw-react]]'s `useWidget` hook, in our own plugin `src/config/plugins/widget/WidgetBlock.tsx`\\n### Things like widget, macro and codeblock are [[Void Node|https://docs.slatejs.org/api/nodes/element#void-vs-not-void]], slate won't render its AST children, we have full control\\n### replace codeblock with codemirror or monaco, so plate's default prism code syntax highlighter won't need to be bundled with our plugin, it is too big\\n# Transform AST to Slate JSON using transformers in src/transform, see `src/transform/README.md` for details. This also transform Slate JSON back to the wikiast and then serialize to wikitext.\\n## we add some type of wikiast to [[tw5-typed|https://github.com/tiddly-gittly/TW5-Typed]], based on the real json output of `$tw.wiki.parseText('text/vnd.tiddlywiki', input).tree`\\n## This is imported in editor by `import { deserialize, serialize } from '../../src/transform/serialize';`, and those serialize and deserialize functions uses things in the `src/transform`\\n## All supported wikitext syntax are tested in the `test` folder, and the tests are run with `npm run test`, you should also add test if you are adding new transformers for new syntax.\\n# handle keyboard shortcut and basic elements' rendering using slatejs plugins from [[Udecode's Plate framework|https://plate.udecode.io]].\\n## our custom keyboard shortcuts are configured in `src/config/autoformat`\\n## re-support `/` menu in [[Gk0Wk/TW5-CodeMirror-Enhanced|https://github.com/Gk0Wk/TW5-CodeMirror-Enhanced]] to add snippets and advanced elements like table and widget and any wikitext source code\\n### `/` menu component is at `src/editor/components/SnippetCombobox.tsx`, and snippets are loaded in `src/editor/config/snippets.ts`\\n# There will be a floating toolbar when you selecting text, and you can click on the toolbar to change the text's decoration, this is a react component defined in `src/config/components/Toolbars.tsx`\\n# When hover on the left of a block, there will be a Drag and drop handle, render by `src/editor/components/withStyledDraggables.tsx`\\n## Different block have different line height, so we need to add different padding here to align drag handle with the block.\\n## allow drag to reorder blocks, onDrop listeners are in `src/editor/plugins/dnd/hooks` that copied from plate's source\\n### code are copy from udecode/plate's repo to `src/editor/plugins/dnd` folder, and have modification in `src/editor/plugins/dnd/hooks/useDragBlock.ts` to set `$tw.dragInProgress = true`\\n## support drag to reorder list items and widget, components registered in `src/editor/components/index.ts` will be draggable\\n# autocomplete `[[`'s and `{{`'s linkable tiddlers result\\n## the code handles special `auto_complete_input` node that contains text to search after typing `/` or `[[` is copied from plate to `src/editor/plugins/autoComplete`\\n## `src/editor/plugins/autoComplete/withAutoComplete.ts` will put text in the `auto_complete_input` node to the redux (zustand npm package) store `useAutoCompletePluginStore`\\n## code in `src/editor/plugins/comboBox` will get text and list from the store `useAutoCompletePluginStore`, and handles dropdown (combobox) interaction using `downshift` npm package\\n## And the final comboBox React component and the data source of tiddlers/macros/snippets are in the `src/editor/components/combobox` folder\\n## autocomplete `\u003C\u003C`'s available macros as discussed in [[TiddlyWiki5/discussions/6706|https://github.com/Jermolene/TiddlyWiki5/discussions/6706]]\\n## autocomplete `\u003C$`'s available widget and fields, see `src/editor/components/combobox/WidgetCombobox.tsx`, in `widgetItems`, text field is the text that will be inserted, this logic is at `src/editor/plugins/comboBox/getAutoCompleteOnSelectItem.ts`\\n# Only import needed components from their ''deepest package'' to achieve \\\"tree shaking\\\" to reduce bundle size\\n## e.g., `import { PlateElement, PlateElementProps } from '@udecode/plate-utils';` instead of `import { PlateElement, PlateElementProps } from '@udecode/plate-common';`\\n## Some element from plate are not needed, like ImageElement can be replaced by tw's own image widget, so don't import it. And for code-block, we use our own codemirror based element located in `src/editor/plugins/codeblock/CodeBlockElement/CodeBlockElement.tsx`\\n\\n!! TODO\\n\\n# TODO: allow editing widget and any block's source code, and get preview at real time.\\n# TODO: allow use tw's default editor toolbar's buttons and their keyboard shortcuts\\n# TODO: optimization: use section splitter in section-editor to ensure only a small potion of text will `onChange` and rerender. And we can get start-end of section from section splitter, so replace the section of text onChange.\\n# TODO: allow drag images in and import the image\\n# TODO: context menu when click on the drag handle\\n# TODO: context menu when select special block\\n# TODO: i18n for readme and placeholder\\n# TODO: allow 3rd party plugin to control the editor, for example, the command palette and the fishing plugin.\\n# TODO: add more selection operation, or maybe in command palette, like \\\"refactor to new tiddler\\\"\\n# TODO: insert latex math using `$$` or `¥¥` shortcut\\n# TODO: open context aware autocomplete using `ctrl+space`, show corresponding dropdown menu using prefix of the selection\\n# TODO: add excalidraw widget support\\n\\n!! Development\\n\\nInstall and run\\n\\n```sh\\nnpm i\\nnpm run dev\\n```\\n\\nRun tests\\n\\n```sh\\nnpm test\\n```\\n\\nTest JSON plugin\\n\\n```sh\\nnpm run dev-html\\n```\\n\\nMake production build: See `.github/workflows/release.yml`, adding a tag like `v0.1.1` to a commit and push to github will make a build.\\n\\n!!! Modify build scripts\\n\\nScripts is based on [[Gk0Wk's|https://github.com/Gk0Wk]] [[tiddly-gittly/Modern.TiddlyDev|https://github.com/tiddly-gittly/Modern.TiddlyDev]] and [[LinOnetwo's|https://github.com/linonetwo]] [[tiddly-gittly/TiddlyWiki-TS-Plugin-Template|https://github.com/tiddly-gittly/TiddlyWiki-TS-Plugin-Template]]. With some modification to adapt react dom.\\n\"},\"$:/plugins/linonetwo/slate-write/readme\":{\"title\":\"$:/plugins/linonetwo/slate-write/readme\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! Usage 用法\\n\\n点击条目查看工具栏上的 {{$:/plugins/linonetwo/slate-write/ui/ViewToolbar/images/edit-wysiwyg-button}} 按钮即可在只读模式和编所见即所得辑模式之间切换。\\n\\nYou can click on {{$:/plugins/linonetwo/slate-write/ui/ViewToolbar/images/edit-wysiwyg-button}} on view toolbar on your tiddler to switch between read-only mode and wysiwyg-edit mode.\\n\\n!!! Advanced Usage 高级用法\\n\\n如果你在开发自己的插件,那么你可以用这个微件来在任意地方显示一个编辑器,通过 `tiddler` 字段可以指定要编辑的条目,不填 `tiddler` 就会编辑 `currentTiddler` 环境变量指向的条目。\\n\\nIf you are developing your own plugin, then you can use this widget to display an editor anywhere. The `tiddler` field allows you to specify the tiddler to edit, and leaving the `tiddler` field unfilled will edit the tiddler that `currentTiddler` environment variable pointed to.\\n\\n`\u003C$edit-slateWrite tiddler=\\\"AAA\\\" />`\\n\\n!! Install 安装\\n\\n[[Install from CPL|https://tw-cpl.netlify.app/]]\\n\\n[[使用社区插件源(CPL)安装|https://tw-cpl.netlify.app/]]\\n\\n!! Development 开发\\n\\n欢迎了解实现细节并参与开发,详见[[开发手册|$:/plugins/linonetwo/slate-write/develop]]。\\n\\n该项目在 [[GitHub tiddly-gittly/slate-write|https://github.com/tiddly-gittly/slate-write]] 仓库里开发,如果你喜欢,请点亮它的星,谢谢。\\n\\n如果你发现有什么太微语法未得到支持,或者编辑后文本发生了不符合预期的变化,也请到这个仓库里提出你的建议,并附带上完整的复现方式和条目内容。\\n\\nYou are welcome to learn the implementation details and join the development, read the [[develop manual|$:/plugins/linonetwo/slate-write/develop]] for more information.\\n\\nThe project is under development in [[GitHub tiddly-gittly/slate-write|https://github.com/tiddly-gittly/slate-write]], give it a star if you like it, thanks.\\n\\nIf you find some TiddlyWiki wikitext syntax is not supported yet, or if the text changes in a way that is not expected after editing, please also go to this repository and rise an issue, with a complete reproduction example text.\\n\\n!! FAQ 答疑\\n\\n!!! How to make this the default editor 如何设为默认编辑器?\\n\\n* If you want it in edit mode (not recommended, because you may still want to see and edit the source text to use some advanced TW5 feature):\\n** By setting tiddler `$:/config/EditorTypeMappings/text/vnd.tiddlywiki` to `slateWrite`, then tiddlywiki will try to use widget `\u003C$edit-slateWrite />` as the editor.\\n** Then you will have normal view mode and a WYSIWYG edit draft edit mode\\n* If you want it replace the default view mode:\\n** Not recommended, because Its macro and widget support is not completed. After its complete, I will make an config to allow set it to default.\"},\"$:/plugins/linonetwo/slate-write/style.css\":{\"title\":\"$:/plugins/linonetwo/slate-write/style.css\",\"text\":\".tw-codeblock-container,\\n.tw-widget-code-editor-container {\\n\\tdisplay: block;\\n\\tword-break: normal;\\n\\tword-wrap: break-word;\\n\\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\\n\\tbackground-color: \u003C\u003Ccolour pre-background>>;\\n\\tborder: 1px solid \u003C\u003Ccolour pre-border>>;\\n\\tpadding: 0 3px 2px;\\n\\tborder-radius: 3px;\\n\\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\\n}\\n\\n.tw-slate-write-container button:not(.tc-btn-invisible), div[role=toolbar] button:not(.tc-btn-invisible) {\\n\\tmargin: unset;\\n\\tpadding: unset;\\n\\tbackground-color: unset;\\n\\tcolor: unset;\\n\\tborder-radius: unset;\\n\\tborder: unset;\\n\\tcursor: unset;\\n\\ttransition: unset;\\n}\\n\\n.tw-slate-write-drag-handle {\\n opacity: 0;\\n\\tcursor: default;\\n}\\n.tw-slate-write-drag-handle:hover {\\n\\topacity: unset;\\n\\tcursor: pointer;\\n}\",\"creator\":\"LinOnetwo\",\"tags\":\"$:/tags/Stylesheet\",\"type\":\"text/vnd.tiddlywiki\"},\"$:/plugins/linonetwo/slate-write/ui/ViewTemplate/body/edit-slate-write-cascade-filter\":{\"title\":\"$:/plugins/linonetwo/slate-write/ui/ViewTemplate/body/edit-slate-write-cascade-filter\",\"tags\":\"$:/tags/ViewTemplateBodyFilter\",\"list-before\":\"$:/config/ViewTemplateBodyFilters/system\",\"text\":\"[has:field[wysiwyg]then[$:/plugins/linonetwo/slate-write/ui/ViewTemplate/body/edit-slate-write]]\"},\"$:/plugins/linonetwo/slate-write/ui/ViewTemplate/body/edit-slate-write\":{\"title\":\"$:/plugins/linonetwo/slate-write/ui/ViewTemplate/body/edit-slate-write\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/Body/\\n\\n\u003C$edit-slateWrite />\\n\"},\"$:/plugins/linonetwo/slate-write/ui/ViewToolbar/images/edit-wysiwyg-button\":{\"title\":\"$:/plugins/linonetwo/slate-write/ui/ViewToolbar/images/edit-wysiwyg-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\u003Csvg width=\\\"22pt\\\" height=\\\"22pt\\\" class=\\\"tc-image-edit-button tc-image-wysiwyg-edit-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\\n \u003Cg fill-rule=\\\"evenodd\\\">\\n \u003Cg id=\\\"svg_1\\\" fill-rule=\\\"evenodd\\\">\\n \u003Cpath id=\\\"svg_2\\\"\\n d=\\\"m95.627,10.059l-5.656,5.657l11.313,11.313l5.657,-5.656l-11.314,-11.314zm5.657,-5.657l1.966,-1.966c3.123,-3.122 8.194,-3.129 11.319,-0.005c3.117,3.118 3.122,8.192 -0.005,11.32l-1.966,1.965l-11.314,-11.314zm-16.97,16.97l-60.25,60.25a8.12,8.12 0 0 0 -0.322,0.342c-0.1,0.087 -0.198,0.179 -0.295,0.275c-5.735,5.735 -10.702,22.016 -10.702,22.016s16.405,-5.09 22.016,-10.702c0.095,-0.096 0.186,-0.193 0.272,-0.292a8.12,8.12 0 0 0 0.345,-0.325l60.25,-60.25l-11.314,-11.313l0,-0.001zm-49.143,102.818c6.788,-0.577 13.898,-2.272 23.689,-5.348c1.825,-0.573 3.57,-1.136 6.336,-2.04c16,-5.226 21.877,-6.807 28.745,-7.146c8.358,-0.413 13.854,2.13 17.58,8.699a4,4 0 0 0 6.959,-3.946c-5.334,-9.406 -13.745,-13.296 -24.933,-12.744c-7.875,0.39 -14.057,2.052 -30.835,7.533c-2.739,0.894 -4.46,1.45 -6.25,2.012c-19.46,6.112 -30.77,7.072 -39.597,1.747a4,4 0 1 0 -4.132,6.85c6.333,3.82 13.754,5.12 22.438,4.383z\\\" />\\n \u003C/g>\\n \u003Ctext xml:space=\\\"preserve\\\" text-anchor=\\\"start\\\" font-family=\\\"Noto Sans JP\\\" font-size=\\\"108\\\" id=\\\"svg_11\\\" y=\\\"89\\\" x=\\\"2\\\"\\n stroke-width=\\\"0\\\">T\u003C/text>\\n \u003C/g>\\n\u003C/svg>\"},\"$:/plugins/linonetwo/slate-write/ui/ViewToolbar/Buttons/edit-wysiwyg\":{\"title\":\"$:/plugins/linonetwo/slate-write/ui/ViewToolbar/Buttons/edit-wysiwyg\",\"tags\":\"$:/tags/ViewToolbar\",\"caption\":\"{{$:/plugins/linonetwo/slate-write/ui/ViewToolbar/images/edit-wysiwyg-button}} {{$:/language/Buttons/Edit/Caption}}\",\"description\":\"{{$:/language/Buttons/Edit/Hint}}\",\"text\":\"\\\\whitespace trim\\n\u003C$list filter=\\\"[\u003CcurrentTiddler>field:type[text/vnd.tiddlywiki]!prefix[$:/]] :or[\u003CcurrentTiddler>!prefix[$:/]field:type[]]\\\"> \\n \u003C$button message=\\\"tm-edit-wysiwyg-tiddler\\\" param=\u003C\u003CcurrentTiddler>> tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=\u003C\u003Ctv-config-toolbar-class>>>\\n \u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n {{$:/plugins/linonetwo/slate-write/ui/ViewToolbar/images/edit-wysiwyg-button}}\\n \u003C/$list>\\n \u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n \u003Cspan class=\\\"tc-btn-text\\\">\\n \u003C$text text={{$:/language/Buttons/Edit/Caption}}/>\\n \u003C/span>\\n \u003C/$list>\\n \u003C/$button>\\n\u003C/$list>\"},\"$:/plugins/linonetwo/slate-write/widget.js\":{\"title\":\"$:/plugins/linonetwo/slate-write/widget.js\",\"text\":\"!function slateWriteWidgetIIFE(){var e;$tw.browser&&(e=require(\\\"$:/plugins/linonetwo/slate-write/editor/index.js\\\")[\\\"widget\\\"],exports.slateWrite=e,exports[\\\"edit-slateWrite\\\"]=e)}();\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/plugins/linonetwo/slate-write/editor/index.js\":{\"title\":\"$:/plugins/linonetwo/slate-write/editor/index.js\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"hide-body\":\"yes\",\"Modern.TiddlyDev#Origin\":\"editor/index.ts\",\"text\":\"\\\"use strict\\\";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__esm=(e,t)=>function(){return t=e?(0,e[__getOwnPropNames(e)[0]])(e=0):t},__commonJS=(e,t)=>function(){return t||(0,e[__getOwnPropNames(e)[0]])((t={exports:{}}).exports,t),t.exports},__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(t,r,n,o)=>{if(r&&\\\"object\\\"==typeof r||\\\"function\\\"==typeof r)for(let e of __getOwnPropNames(r))__hasOwnProp.call(t,e)||e===n||__defProp(t,e,{get:()=>r[e],enumerable:!(o=__getOwnPropDesc(r,e))||o.enumerable});return t},__toESM=(e,t,r)=>(r=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?r:__defProp(r,\\\"default\\\",{value:e,enumerable:!0}),e)),init_esbuild_inject=__esm({\\\"node_modules/.pnpm/tiddlywiki-plugin-dev@0.0.39_postcss@8.4.24_ts-node@10.9.1/node_modules/tiddlywiki-plugin-dev/dist/js/esbuild-inject.js\\\"(){}}),require_direction=__commonJS({\\\"node_modules/.pnpm/direction@1.0.4/node_modules/direction/index.js\\\"(e,t){init_esbuild_inject(),t.exports=function(e){if(e=String(e||\\\"\\\"),o.test(e))return\\\"rtl\\\";if(a.test(e))return\\\"ltr\\\";return\\\"neutral\\\"};var r=\\\"֑-߿יִ-﷽ﹰ-ﻼ\\\",n=\\\"A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-￿\\\",o=new RegExp(\\\"^[^\\\"+n+\\\"]*[\\\"+r+\\\"]\\\"),a=new RegExp(\\\"^[^\\\"+r+\\\"]*[\\\"+n+\\\"]\\\")}}),require_isObject=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObject.js\\\"(e,t){init_esbuild_inject(),t.exports=function(e){var t=typeof e;return null!=e&&(\\\"object\\\"==t||\\\"function\\\"==t)}}}),require_freeGlobal=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_freeGlobal.js\\\"(e,t){init_esbuild_inject();var r=\\\"object\\\"==typeof global&&global&&global.Object===Object&&global;t.exports=r}}),require_root=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.js\\\"(e,t){init_esbuild_inject();var r=require_freeGlobal(),n=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,r=r||n||Function(\\\"return this\\\")();t.exports=r}}),require_now=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/now.js\\\"(e,t){init_esbuild_inject();var r=require_root();t.exports=function(){return r.Date.now()}}}),require_trimmedEndIndex=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_trimmedEndIndex.js\\\"(e,t){init_esbuild_inject();var r=/\\\\s/;t.exports=function(e){for(var t=e.length;t--&&r.test(e.charAt(t)););return t}}}),require_baseTrim=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseTrim.js\\\"(e,t){init_esbuild_inject();var r=require_trimmedEndIndex(),n=/^\\\\s+/;t.exports=function(e){return e&&e.slice(0,r(e)+1).replace(n,\\\"\\\")}}}),require_Symbol=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Symbol.js\\\"(e,t){init_esbuild_inject();var r=require_root().Symbol;t.exports=r}}),require_getRawTag=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getRawTag.js\\\"(e,t){init_esbuild_inject();var r=require_Symbol(),n=Object.prototype,i=n.hasOwnProperty,s=n.toString,c=r?r.toStringTag:void 0;t.exports=function(e){var t=i.call(e,c),r=e[c];try{var n=!(e[c]=void 0)}catch(a){}var o=s.call(e);return n&&(t?e[c]=r:delete e[c]),o}}}),require_objectToString=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_objectToString.js\\\"(e,t){init_esbuild_inject();var r=Object.prototype.toString;t.exports=function(e){return r.call(e)}}}),require_baseGetTag=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.js\\\"(e,t){init_esbuild_inject();var r=require_Symbol(),n=require_getRawTag(),o=require_objectToString(),a=r?r.toStringTag:void 0;t.exports=function(e){return null==e?void 0===e?\\\"[object Undefined]\\\":\\\"[object Null]\\\":(a&&a in Object(e)?n:o)(e)}}}),require_isObjectLike=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObjectLike.js\\\"(e,t){init_esbuild_inject(),t.exports=function(e){return null!=e&&\\\"object\\\"==typeof e}}}),require_isSymbol=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isSymbol.js\\\"(e,t){init_esbuild_inject();var r=require_baseGetTag(),n=require_isObjectLike();t.exports=function(e){return\\\"symbol\\\"==typeof e||n(e)&&\\\"[object Symbol]\\\"==r(e)}}}),require_toNumber=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toNumber.js\\\"(e,t){init_esbuild_inject();var r=require_baseTrim(),n=require_isObject(),o=require_isSymbol(),a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,s=/^0o[0-7]+$/i,c=parseInt;t.exports=function(e){if(\\\"number\\\"==typeof e)return e;if(o(e))return NaN;if(n(e)&&(t=\\\"function\\\"==typeof e.valueOf?e.valueOf():e,e=n(t)?t+\\\"\\\":t),\\\"string\\\"!=typeof e)return 0===e?e:+e;e=r(e);var t=i.test(e);return t||s.test(e)?c(e.slice(2),t?2:8):a.test(e)?NaN:+e}}}),require_debounce=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/debounce.js\\\"(e,t){init_esbuild_inject();var v=require_isObject(),y=require_now(),b=require_toNumber(),E=Math.max,T=Math.min;t.exports=function(n,o,e){var a,i,r,s,c,l,u=0,d=!1,p=!1,t=!0;if(\\\"function\\\"!=typeof n)throw new TypeError(\\\"Expected a function\\\");function f(e){var t=a,r=i;return a=i=void 0,u=e,s=n.apply(r,t)}function g(e){var t=e-l;return void 0===l||o\u003C=t||t\u003C0||p&&r\u003C=e-u}function m(){var e,t=y();if(g(t))return h(t);c=setTimeout(m,(t=o-((e=t)-l),p?T(t,r-(e-u)):t))}function h(e){return c=void 0,t&&a?f(e):(a=i=void 0,s)}function _(){var e,t=y(),r=g(t);if(a=arguments,i=this,l=t,r){if(void 0===c)return u=e=l,c=setTimeout(m,o),d?f(e):s;if(p)return clearTimeout(c),c=setTimeout(m,o),f(l)}return void 0===c&&(c=setTimeout(m,o)),s}return o=b(o)||0,v(e)&&(d=!!e.leading,p=\\\"maxWait\\\"in e,r=p?E(b(e.maxWait)||0,o):r,t=\\\"trailing\\\"in e?!!e.trailing:t),_.cancel=function(){void 0!==c&&clearTimeout(c),a=l=i=c=void(u=0)},_.flush=function(){return void 0===c?s:h(y())},_}}}),require_throttle=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/throttle.js\\\"(e,t){init_esbuild_inject();var a=require_debounce(),i=require_isObject();t.exports=function(e,t,r){var n=!0,o=!0;if(\\\"function\\\"!=typeof e)throw new TypeError(\\\"Expected a function\\\");return i(r)&&(n=\\\"leading\\\"in r?!!r.leading:n,o=\\\"trailing\\\"in r?!!r.trailing:o),a(e,t,{leading:n,maxWait:t,trailing:o})}}}),require_lib=__commonJS({\\\"node_modules/.pnpm/is-hotkey@0.1.8/node_modules/is-hotkey/lib/index.js\\\"(e){init_esbuild_inject(),Object.defineProperty(e,\\\"__esModule\\\",{value:!0});for(var t,r=\\\"undefined\\\"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),_={alt:\\\"altKey\\\",control:\\\"ctrlKey\\\",meta:\\\"metaKey\\\",shift:\\\"shiftKey\\\"},n={add:\\\"+\\\",\\\"break\\\":\\\"pause\\\",cmd:\\\"meta\\\",command:\\\"meta\\\",ctl:\\\"control\\\",ctrl:\\\"control\\\",del:\\\"delete\\\",down:\\\"arrowdown\\\",esc:\\\"escape\\\",ins:\\\"insert\\\",left:\\\"arrowleft\\\",mod:r?\\\"meta\\\":\\\"control\\\",opt:\\\"alt\\\",option:\\\"alt\\\",\\\"return\\\":\\\"enter\\\",right:\\\"arrowright\\\",space:\\\" \\\",spacebar:\\\" \\\",up:\\\"arrowup\\\",win:\\\"meta\\\",windows:\\\"meta\\\"},o={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27,\\\" \\\":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,\\\"delete\\\":46,meta:91,numlock:144,scrolllock:145,\\\";\\\":186,\\\"=\\\":187,\\\",\\\":188,\\\"-\\\":189,\\\".\\\":190,\\\"/\\\":191,\\\"`\\\":192,\\\"[\\\":219,\\\"\\\\\\\\\\\":220,\\\"]\\\":221,\\\"'\\\":222},t=1;t\u003C20;t++)o[\\\"f\\\"+t]=111+t;function a(e,t,r){!t||\\\"byKey\\\"in t||(r=t,t=null);var n=(e=Array.isArray(e)?e:[e]).map(function(e){return i(e,t)}),o=function(t){return n.some(function(e){return s(e,t)})};return null==r?o:o(r)}function i(e,t){var r,n=t&&t.byKey,o={},a=(e=e.replace(\\\"++\\\",\\\"+add\\\")).split(\\\"+\\\"),i=a.length;for(r in _)o[_[r]]=!1;var s=!0,c=!1,l=void 0;try{for(var u,d=a[Symbol.iterator]();!(s=(u=d.next()).done);s=!0){var p=u.value,f=p.endsWith(\\\"?\\\")&&1\u003Cp.length,g=y(p=f?p.slice(0,-1):p),m=_[g];1!==i&&m||(n?o.key=g:o.which=v(p)),m&&(o[m]=!f||null)}}catch(h){c=!0,l=h}finally{try{!s&&d[\\\"return\\\"]&&d[\\\"return\\\"]()}finally{if(c)throw l}}return o}function s(e,t){for(var r in e){var n=e[r],o=void 0;if(null!=n&&((null!=(o=\\\"key\\\"===r&&null!=t.key?t.key.toLowerCase():\\\"which\\\"===r?91===n&&93===t.which?91:t.which:t[r])||!1!==n)&&o!==n))return!1}return!0}function v(e){return e=y(e),o[e]||e.toUpperCase().charCodeAt(0)}function y(e){return e=e.toLowerCase(),e=n[e]||e}e[\\\"default\\\"]=a,e.isHotkey=a,e.isCodeHotkey=function(e,t){return a(e,t)},e.isKeyHotkey=function(e,t){return a(e,{byKey:!0},t)},e.parseHotkey=i,e.compareHotkey=s,e.toKeyCode=v,e.toKeyName=y}}),require_fast_deep_equal=__commonJS({\\\"node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js\\\"(e,t){init_esbuild_inject(),t.exports=function i(e,t){if(e===t)return!0;if(e&&t&&\\\"object\\\"==typeof e&&\\\"object\\\"==typeof t){if(e.constructor!==t.constructor)return!1;var r,n,o;if(Array.isArray(e)){if((r=e.length)!=t.length)return!1;for(n=r;0!=n--;)if(!i(e[n],t[n]))return!1}else{if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if((r=(o=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!Object.prototype.hasOwnProperty.call(t,o[n]))return!1;for(n=r;0!=n--;){var a=o[n];if(!i(e[a],t[a]))return!1}}return!0}return e!=e&&t!=t}}}),require_tw_react=__commonJS({\\\"node_modules/.pnpm/tw-react@0.6.1_react-dom@18.2.0_react@18.2.0/node_modules/tw-react/dist/plugins/linonetwo/tw-react/index.js\\\"(e,t){init_esbuild_inject();var r,a=Object.defineProperty,i=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,n={},o=n,l={ParentWidgetContext:()=>p,useFilter:()=>function(e,t=$tw.rootWidget,r=[]){const[n,o]=(0,u.useState)([]),a=(0,u.useMemo)(()=>$tw.wiki.compileFilter(e),[e]);return(0,u.useEffect)(()=>{o(a(void 0,t))},[a,t,...r]),n},useRenderTiddler:()=>function(o,a,i){const s=(0,d.useContext)(p);(0,d.useEffect)(()=>{const e=a.current;if(null!==e){if(void 0===s)throw new Error(\\\"Your plugin have a bug: `parentWidget` is undefined, you should use `\u003CParentWidgetContext.Provider value={props.parentWidget}>`, see tw-react for document.\\\");if(!0!==(null==i?void 0:i.skip)){const n=String(Math.random());var t=$tw.wiki.makeTranscludeWidget(o,{document:document,parentWidget:s,recursionMarker:\\\"yes\\\",mode:\\\"block\\\",importPageMacros:!0,variables:{\\\"use-widget-id\\\":n}}),r=document.createElement(\\\"div\\\");return e.append(r),t.render(r,null),s.children.push(t),()=>{s.children=s.children.filter(e=>e.getVariable(\\\"use-widget-id\\\")!==n),null!==e&&(e.textContent=\\\"\\\")}}}},[o,a])},useWidget:()=>function(n,o,a){const i=(0,f.useContext)(p);(0,f.useEffect)(()=>{const e=o.current;if(null!==e){if(void 0===i)throw new Error(\\\"Your plugin have a bug: `parentWidget` is undefined, you should use `\u003CParentWidgetContext.Provider value={props.parentWidget}>`, see tw-react for document.\\\");if(!0!==(null==a?void 0:a.skip)){const r=String(Math.random());var t=i.makeChildWidget(n,{variables:{\\\"use-widget-id\\\":r}});return t.render(e,null),i.children.push(t),()=>{i.children=i.children.filter(e=>e.getVariable(\\\"use-widget-id\\\")!==r),null!==e&&(e.textContent=\\\"\\\")}}}},[n,o,i,null==a?void 0:a.skip])}};for(r in l)a(o,r,{get:l[r],enumerable:!0});t.exports=(e=>{var t=a({},\\\"__esModule\\\",{value:!0}),r=e,n=void 0,o=void 0;if(r&&\\\"object\\\"==typeof r||\\\"function\\\"==typeof r)for(let e of s(r))c.call(t,e)||e===n||a(t,e,{get:()=>r[e],enumerable:!(o=i(r,e))||o.enumerable});return t})(n);var u=require(\\\"react\\\");var d=require(\\\"react\\\"),p=(0,require(\\\"react\\\").createContext)(void 0);var f=require(\\\"react\\\")}}),require_react_is_development=__commonJS({\\\"node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js\\\"(e){function t(e){if(\\\"object\\\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:var r=e.type;switch(r){case d:case p:case i:case c:case s:case g:return r;default:var n=r&&r.$$typeof;switch(n){case u:case f:case _:case h:case l:return n;default:return t}}case a:return t}}}function r(e){return t(e)===p}var n,o,a,i,s,c,l,u,d,p,f,g,m,h,_,v,y,b,E,T,C,w,S,x,D,$,A,O,P,I,j;init_esbuild_inject(),n=\\\"function\\\"==typeof Symbol&&Symbol[\\\"for\\\"],o=n?Symbol[\\\"for\\\"](\\\"react.element\\\"):60103,a=n?Symbol[\\\"for\\\"](\\\"react.portal\\\"):60106,i=n?Symbol[\\\"for\\\"](\\\"react.fragment\\\"):60107,s=n?Symbol[\\\"for\\\"](\\\"react.strict_mode\\\"):60108,c=n?Symbol[\\\"for\\\"](\\\"react.profiler\\\"):60114,l=n?Symbol[\\\"for\\\"](\\\"react.provider\\\"):60109,u=n?Symbol[\\\"for\\\"](\\\"react.context\\\"):60110,d=n?Symbol[\\\"for\\\"](\\\"react.async_mode\\\"):60111,p=n?Symbol[\\\"for\\\"](\\\"react.concurrent_mode\\\"):60111,f=n?Symbol[\\\"for\\\"](\\\"react.forward_ref\\\"):60112,g=n?Symbol[\\\"for\\\"](\\\"react.suspense\\\"):60113,m=n?Symbol[\\\"for\\\"](\\\"react.suspense_list\\\"):60120,h=n?Symbol[\\\"for\\\"](\\\"react.memo\\\"):60115,_=n?Symbol[\\\"for\\\"](\\\"react.lazy\\\"):60116,v=n?Symbol[\\\"for\\\"](\\\"react.block\\\"):60121,y=n?Symbol[\\\"for\\\"](\\\"react.fundamental\\\"):60117,b=n?Symbol[\\\"for\\\"](\\\"react.responder\\\"):60118,E=n?Symbol[\\\"for\\\"](\\\"react.scope\\\"):60119,n=p,T=u,C=l,w=o,S=f,x=i,D=_,$=h,A=a,O=c,P=s,I=g,j=!1,e.AsyncMode=d,e.ConcurrentMode=n,e.ContextConsumer=T,e.ContextProvider=C,e.Element=w,e.ForwardRef=S,e.Fragment=x,e.Lazy=D,e.Memo=$,e.Portal=A,e.Profiler=O,e.StrictMode=P,e.Suspense=I,e.isAsyncMode=function(e){return j||(j=!0,console.warn(\\\"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.\\\")),r(e)||t(e)===d},e.isConcurrentMode=r,e.isContextConsumer=function(e){return t(e)===u},e.isContextProvider=function(e){return t(e)===l},e.isElement=function(e){return\\\"object\\\"==typeof e&&null!==e&&e.$$typeof===o},e.isForwardRef=function(e){return t(e)===f},e.isFragment=function(e){return t(e)===i},e.isLazy=function(e){return t(e)===_},e.isMemo=function(e){return t(e)===h},e.isPortal=function(e){return t(e)===a},e.isProfiler=function(e){return t(e)===c},e.isStrictMode=function(e){return t(e)===s},e.isSuspense=function(e){return t(e)===g},e.isValidElementType=function(e){return\\\"string\\\"==typeof e||\\\"function\\\"==typeof e||e===i||e===p||e===c||e===s||e===g||e===m||\\\"object\\\"==typeof e&&null!==e&&(e.$$typeof===_||e.$$typeof===h||e.$$typeof===l||e.$$typeof===u||e.$$typeof===f||e.$$typeof===y||e.$$typeof===b||e.$$typeof===E||e.$$typeof===v)},e.typeOf=t}}),require_react_is=__commonJS({\\\"node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js\\\"(e,t){init_esbuild_inject(),t.exports=require_react_is_development()}}),require_object_assign=__commonJS({\\\"node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js\\\"(e,t){init_esbuild_inject();var c=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(Object.assign){var e=new String(\\\"abc\\\");if(e[5]=\\\"de\\\",\\\"5\\\"!==Object.getOwnPropertyNames(e)[0]){for(var t={},r=0;r\u003C10;r++)t[\\\"_\\\"+String.fromCharCode(r)]=r;var n,o=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if(\\\"0123456789\\\"===o.join(\\\"\\\"))return n={},\\\"abcdefghijklmnopqrst\\\".split(\\\"\\\").forEach(function(e){n[e]=e}),\\\"abcdefghijklmnopqrst\\\"===Object.keys(Object.assign({},n)).join(\\\"\\\")?1:void 0}}}catch(a){}}()?Object.assign:function(e,t){for(var r,n=function(e){if(null==e)throw new TypeError(\\\"Object.assign cannot be called with null or undefined\\\");return Object(e)}(e),o=1;o\u003Carguments.length;o++){for(var a in r=Object(arguments[o]))l.call(r,a)&&(n[a]=r[a]);if(c)for(var i=c(r),s=0;s\u003Ci.length;s++)u.call(r,i[s])&&(n[i[s]]=r[i[s]])}return n}}}),require_ReactPropTypesSecret=__commonJS({\\\"node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/ReactPropTypesSecret.js\\\"(e,t){init_esbuild_inject();t.exports=\\\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\\\"}}),require_has=__commonJS({\\\"node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/has.js\\\"(e,t){init_esbuild_inject(),t.exports=Function.call.bind(Object.prototype.hasOwnProperty)}}),require_checkPropTypes=__commonJS({\\\"node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/checkPropTypes.js\\\"(e,t){init_esbuild_inject();var l,u,d,p=function(){};function r(e,t,r,n,o){for(var a in e)if(d(e,a)){var i,s;try{if(\\\"function\\\"!=typeof e[a])throw(s=Error((n||\\\"React class\\\")+\\\": \\\"+r+\\\" type `\\\"+a+\\\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\\\"+typeof e[a]+\\\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\\\")).name=\\\"Invariant Violation\\\",s;i=e[a](t,a,n,r,null,l)}catch(c){i=c}!i||i instanceof Error||p((n||\\\"React class\\\")+\\\": type specification of \\\"+r+\\\" `\\\"+a+\\\"` is invalid; the type checker function must return `null` or an `Error` but returned a \\\"+typeof i+\\\". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\\\"),i instanceof Error&&!(i.message in u)&&(u[i.message]=!0,a=o?o():\\\"\\\",p(\\\"Failed \\\"+r+\\\" type: \\\"+i.message+(null!=a?a:\\\"\\\")))}}l=require_ReactPropTypesSecret(),u={},d=require_has(),p=function(e){var t=\\\"Warning: \\\"+e;\\\"undefined\\\"!=typeof console&&console.error(t);try{throw new Error(t)}catch(r){}},r.resetWarningCache=function(){u={}},t.exports=r}}),require_factoryWithTypeCheckers=__commonJS({\\\"node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithTypeCheckers.js\\\"(e,t){init_esbuild_inject();var l=require_react_is(),h=require_object_assign(),_=require_ReactPropTypesSecret(),v=require_has(),n=require_checkPropTypes(),y=function(){};function o(){return null}y=function(e){var t=\\\"Warning: \\\"+e;\\\"undefined\\\"!=typeof console&&console.error(t);try{throw new Error(t)}catch(r){}},t.exports=function(i,d){var a=\\\"function\\\"==typeof Symbol&&Symbol.iterator,s=\\\"@@iterator\\\";var p=\\\"\u003C\u003Canonymous>>\\\",e={array:t(\\\"array\\\"),bigint:t(\\\"bigint\\\"),bool:t(\\\"boolean\\\"),func:t(\\\"function\\\"),number:t(\\\"number\\\"),object:t(\\\"object\\\"),string:t(\\\"string\\\"),symbol:t(\\\"symbol\\\"),any:r(o),arrayOf:function(c){return r(function(e,t,r,n,o){if(\\\"function\\\"!=typeof c)return new f(\\\"Property `\\\"+o+\\\"` of component `\\\"+r+\\\"` has invalid PropType notation inside arrayOf.\\\");var a=e[t];if(!Array.isArray(a))return new f(\\\"Invalid \\\"+n+\\\" `\\\"+o+\\\"` of type `\\\"+g(a)+\\\"` supplied to `\\\"+r+\\\"`, expected an array.\\\");for(var i=0;i\u003Ca.length;i++){var s=c(a,i,r,n,o+\\\"[\\\"+i+\\\"]\\\",_);if(s instanceof Error)return s}return null})},element:r(function(e,t,r,n,o){var a=e[t];return i(a)?null:new f(\\\"Invalid \\\"+n+\\\" `\\\"+o+\\\"` of type `\\\"+g(a)+\\\"` supplied to `\\\"+r+\\\"`, expected a single ReactElement.\\\")}),elementType:r(function(e,t,r,n,o){var a=e[t];return l.isValidElementType(a)?null:new f(\\\"Invalid \\\"+n+\\\" `\\\"+o+\\\"` of type `\\\"+g(a)+\\\"` supplied to `\\\"+r+\\\"`, expected a single ReactElement type.\\\")}),instanceOf:function(i){return r(function(e,t,r,n,o){var a;return e[t]instanceof i?null:(a=i.name||p,new f(\\\"Invalid \\\"+n+\\\" `\\\"+o+\\\"` of type `\\\"+((n=e[t]).constructor&&n.constructor.name?n.constructor.name:p)+\\\"` supplied to `\\\"+r+\\\"`, expected instance of `\\\"+a+\\\"`.\\\"))})},node:r(function(e,t,r,n,o){return c(e[t])?null:new f(\\\"Invalid \\\"+n+\\\" `\\\"+o+\\\"` supplied to `\\\"+r+\\\"`, expected a ReactNode.\\\")}),objectOf:function(l){return r(function(e,t,r,n,o){if(\\\"function\\\"!=typeof l)return new f(\\\"Property `\\\"+o+\\\"` of component `\\\"+r+\\\"` has invalid PropType notation inside objectOf.\\\");var a,i=e[t],s=g(i);if(\\\"object\\\"!==s)return new f(\\\"Invalid \\\"+n+\\\" `\\\"+o+\\\"` of type `\\\"+s+\\\"` supplied to `\\\"+r+\\\"`, expected an object.\\\");for(a in i)if(v(i,a)){var c=l(i,a,r,n,o+\\\".\\\"+a,_);if(c instanceof Error)return c}return null})},oneOf:function(c){if(Array.isArray(c))return r(function(e,t,r,n,o){for(var a=e[t],i=0;i\u003Cc.length;i++)if(function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}(a,c[i]))return null;var s=JSON.stringify(c,function(e,t){return\\\"symbol\\\"===m(t)?String(t):t});return new f(\\\"Invalid \\\"+n+\\\" `\\\"+o+\\\"` of value `\\\"+String(a)+\\\"` supplied to `\\\"+r+\\\"`, expected one of \\\"+s+\\\".\\\")});y(1\u003Carguments.length?\\\"Invalid arguments supplied to oneOf, expected an array, got \\\"+arguments.length+\\\" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).\\\":\\\"Invalid argument supplied to oneOf, expected an array.\\\");return o},oneOfType:function(c){if(!Array.isArray(c))return y(\\\"Invalid argument supplied to oneOfType, expected an instance of array.\\\"),o;for(var e=0;e\u003Cc.length;e++){var t=c[e];if(\\\"function\\\"!=typeof t)return y(\\\"Invalid argument supplied to oneOfType. Expected an array of check functions, but received \\\"+function(e){var t=m(e);switch(t){case\\\"array\\\":case\\\"object\\\":return\\\"an \\\"+t;case\\\"boolean\\\":case\\\"date\\\":case\\\"regexp\\\":return\\\"a \\\"+t;default:return t}}(t)+\\\" at index \\\"+e+\\\".\\\"),o}return r(function(e,t,r,n,o){for(var a=[],i=0;i\u003Cc.length;i++){var s=(0,c[i])(e,t,r,n,o,_);if(null==s)return null;s.data&&v(s.data,\\\"expectedType\\\")&&a.push(s.data.expectedType)}return new f(\\\"Invalid \\\"+n+\\\" `\\\"+o+\\\"` supplied to `\\\"+r+\\\"`\\\"+(0\u003Ca.length?\\\", expected one of type [\\\"+a.join(\\\", \\\")+\\\"]\\\":\\\"\\\")+\\\".\\\")})},shape:function(l){return r(function(e,t,r,n,o){var a,i=e[t],s=g(i);if(\\\"object\\\"!==s)return new f(\\\"Invalid \\\"+n+\\\" `\\\"+o+\\\"` of type `\\\"+s+\\\"` supplied to `\\\"+r+\\\"`, expected `object`.\\\");for(a in l){var c=l[a];if(\\\"function\\\"!=typeof c)return u(r,n,o,a,m(c));c=c(i,a,r,n,o+\\\".\\\"+a,_);if(c)return c}return null})},exact:function(l){return r(function(e,t,r,n,o){var a,i=e[t],s=g(i);if(\\\"object\\\"!==s)return new f(\\\"Invalid \\\"+n+\\\" `\\\"+o+\\\"` of type `\\\"+s+\\\"` supplied to `\\\"+r+\\\"`, expected `object`.\\\");for(a in h({},e[t],l)){var c=l[a];if(v(l,a)&&\\\"function\\\"!=typeof c)return u(r,n,o,a,m(c));if(!c)return new f(\\\"Invalid \\\"+n+\\\" `\\\"+o+\\\"` key `\\\"+a+\\\"` supplied to `\\\"+r+\\\"`.\\\\nBad object: \\\"+JSON.stringify(e[t],null,\\\" \\\")+\\\"\\\\nValid keys: \\\"+JSON.stringify(Object.keys(l),null,\\\" \\\"));c=c(i,a,r,n,o+\\\".\\\"+a,_);if(c)return c}return null})}};function f(e,t){this.message=e,this.data=t&&\\\"object\\\"==typeof t?t:{},this.stack=\\\"\\\"}function r(c){var l={},u=0;function e(e,t,r,n,o,a,i){if(n=n||p,a=a||r,i!==_){var s;if(d)throw(s=new Error(\\\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types\\\")).name=\\\"Invariant Violation\\\",s;\\\"undefined\\\"!=typeof console&&!l[s=n+\\\":\\\"+r]&&u\u003C3&&(y(\\\"You are manually calling a React.PropTypes validation function for the `\\\"+a+\\\"` prop on `\\\"+n+\\\"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.\\\"),l[s]=!0,u++)}return null==t[r]?e?null===t[r]?new f(\\\"The \\\"+o+\\\" `\\\"+a+\\\"` is marked as required in `\\\"+n+\\\"`, but its value is `null`.\\\"):new f(\\\"The \\\"+o+\\\" `\\\"+a+\\\"` is marked as required in `\\\"+n+\\\"`, but its value is `undefined`.\\\"):null:c(t,r,n,o,a)}var t=e.bind(null,!1);return t.isRequired=e.bind(null,!0),t}function t(s){return r(function(e,t,r,n,o,a){var i=e[t];return g(i)!==s?new f(\\\"Invalid \\\"+n+\\\" `\\\"+o+\\\"` of type `\\\"+m(i)+\\\"` supplied to `\\\"+r+\\\"`, expected `\\\"+s+\\\"`.\\\",{expectedType:s}):null})}function u(e,t,r,n,o){return new f((e||\\\"React class\\\")+\\\": \\\"+t+\\\" type `\\\"+r+\\\".\\\"+n+\\\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\\\"+o+\\\"`.\\\")}function c(e){switch(typeof e){case\\\"number\\\":case\\\"string\\\":case\\\"undefined\\\":return!0;case\\\"boolean\\\":return!e;case\\\"object\\\":if(Array.isArray(e))return e.every(c);if(null!==e&&!i(e)){var t=function(e){var t=e&&(a&&e[a]||e[s]);if(\\\"function\\\"==typeof t)return t}(e);if(!t)return!1;var r,n=t.call(e);if(t!==e.entries){for(;!(r=n.next()).done;)if(!c(r.value))return!1}else for(;!(r=n.next()).done;){var o=r.value;if(o&&!c(o[1]))return!1}}return!0;default:return!1}}function g(e){var t=typeof e;return Array.isArray(e)?\\\"array\\\":e instanceof RegExp?\\\"object\\\":(e=e,\\\"symbol\\\"===t||e&&(\\\"Symbol\\\"===e[\\\"@@toStringTag\\\"]||\\\"function\\\"==typeof Symbol&&e instanceof Symbol)?\\\"symbol\\\":t)}function m(e){if(null==e)return\\\"\\\"+e;var t=g(e);if(\\\"object\\\"===t){if(e instanceof Date)return\\\"date\\\";if(e instanceof RegExp)return\\\"regexp\\\"}return t}return f.prototype=Error.prototype,e.checkPropTypes=n,e.resetWarningCache=n.resetWarningCache,e.PropTypes=e}}}),require_prop_types=__commonJS({\\\"node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js\\\"(e,t){var r;init_esbuild_inject(),r=require_react_is(),t.exports=require_factoryWithTypeCheckers()(r.isElement,!0)}}),require_react_is_development2=__commonJS({\\\"node_modules/.pnpm/react-is@17.0.2/node_modules/react-is/cjs/react-is.development.js\\\"(e){function t(e){if(\\\"object\\\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:var r=e.type;switch(r){case i:case c:case s:case p:case f:return r;default:var n=r&&r.$$typeof;switch(n){case u:case d:case m:case g:case l:return n;default:return t}}case a:return t}}}var o,a,i,s,c,l,u,d,p,f,g,m,r,n,h,_,v,y,b,E,T,C,w,S,x,D,$,A,O,P;init_esbuild_inject(),o=60103,a=60106,i=60107,s=60108,c=60114,l=60109,u=60110,d=60112,p=60113,f=60120,g=60115,m=60116,r=60121,n=60122,h=60117,_=60129,v=60131,\\\"function\\\"==typeof Symbol&&Symbol[\\\"for\\\"]&&(o=(y=Symbol[\\\"for\\\"])(\\\"react.element\\\"),a=y(\\\"react.portal\\\"),i=y(\\\"react.fragment\\\"),s=y(\\\"react.strict_mode\\\"),c=y(\\\"react.profiler\\\"),l=y(\\\"react.provider\\\"),u=y(\\\"react.context\\\"),d=y(\\\"react.forward_ref\\\"),p=y(\\\"react.suspense\\\"),f=y(\\\"react.suspense_list\\\"),g=y(\\\"react.memo\\\"),m=y(\\\"react.lazy\\\"),r=y(\\\"react.block\\\"),n=y(\\\"react.server.block\\\"),h=y(\\\"react.fundamental\\\"),y(\\\"react.scope\\\"),y(\\\"react.opaque.id\\\"),_=y(\\\"react.debug_trace_mode\\\"),y(\\\"react.offscreen\\\"),v=y(\\\"react.legacy_hidden\\\")),y=u,b=l,E=o,T=d,C=i,w=m,S=g,x=a,D=c,$=s,A=p,P=O=!1,e.ContextConsumer=y,e.ContextProvider=b,e.Element=E,e.ForwardRef=T,e.Fragment=C,e.Lazy=w,e.Memo=S,e.Portal=x,e.Profiler=D,e.StrictMode=$,e.Suspense=A,e.isAsyncMode=function(e){return O||(O=!0,console.warn(\\\"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 18+.\\\")),!1},e.isConcurrentMode=function(e){return P||(P=!0,console.warn(\\\"The ReactIs.isConcurrentMode() alias has been deprecated, and will be removed in React 18+.\\\")),!1},e.isContextConsumer=function(e){return t(e)===u},e.isContextProvider=function(e){return t(e)===l},e.isElement=function(e){return\\\"object\\\"==typeof e&&null!==e&&e.$$typeof===o},e.isForwardRef=function(e){return t(e)===d},e.isFragment=function(e){return t(e)===i},e.isLazy=function(e){return t(e)===m},e.isMemo=function(e){return t(e)===g},e.isPortal=function(e){return t(e)===a},e.isProfiler=function(e){return t(e)===c},e.isStrictMode=function(e){return t(e)===s},e.isSuspense=function(e){return t(e)===p},e.isValidElementType=function(e){return\\\"string\\\"==typeof e||\\\"function\\\"==typeof e||e===i||e===c||e===_||e===s||e===p||e===f||e===v||\\\"object\\\"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===g||e.$$typeof===l||e.$$typeof===u||e.$$typeof===d||e.$$typeof===h||e.$$typeof===r||e[0]===n)},e.typeOf=t}}),require_react_is2=__commonJS({\\\"node_modules/.pnpm/react-is@17.0.2/node_modules/react-is/index.js\\\"(e,t){init_esbuild_inject(),t.exports=require_react_is_development2()}}),require_tslib=__commonJS({\\\"node_modules/.pnpm/tslib@2.5.3/node_modules/tslib/tslib.js\\\"(e,n){var t,r,a,i,s,c,l,u,d,p,f,g,m,h,_,v,y,b,E,T,C,w,S,x,D,$,A,O,P;init_esbuild_inject(),function(t){var o=\\\"object\\\"==typeof global?global:\\\"object\\\"==typeof self?self:\\\"object\\\"==typeof this?this:{};function r(r,n){return r!==o&&(\\\"function\\\"==typeof Object.create?Object.defineProperty(r,\\\"__esModule\\\",{value:!0}):r.__esModule=!0),function(e,t){return r[e]=n?n(e,t):t}}\\\"function\\\"==typeof define&&define.amd?define(\\\"tslib\\\",[\\\"exports\\\"],function(e){t(r(o,r(e)))}):\\\"object\\\"==typeof n&&\\\"object\\\"==typeof n.exports?t(r(o,r(n.exports))):t(r(o))}(function(e){var n=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(e,t){e.__proto__=t}:function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}),o=(t=function(e,t){if(\\\"function\\\"!=typeof t&&null!==t)throw new TypeError(\\\"Class extends value \\\"+String(t)+\\\" is not a constructor or null\\\");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},r=Object.assign||function(e){for(var t,r=1,n=arguments.length;r\u003Cn;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a=function(e,t){var r={};for(o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)\u003C0&&(r[o]=e[o]);if(null!=e&&\\\"function\\\"==typeof Object.getOwnPropertySymbols)for(var n=0,o=Object.getOwnPropertySymbols(e);n\u003Co.length;n++)t.indexOf(o[n])\u003C0&&Object.prototype.propertyIsEnumerable.call(e,o[n])&&(r[o[n]]=e[o[n]]);return r},i=function(e,t,r,n){var o,a=arguments.length,i=a\u003C3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if(\\\"object\\\"==typeof Reflect&&\\\"function\\\"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;0\u003C=s;s--)(o=e[s])&&(i=(a\u003C3?o(i):3\u003Ca?o(t,r,i):o(t,r))||i);return 3\u003Ca&&i&&Object.defineProperty(t,r,i),i},s=function(r,n){return function(e,t){n(e,t,r)}},c=function(e,t,r,n,o,a){function i(e){if(void 0!==e&&\\\"function\\\"!=typeof e)throw new TypeError(\\\"Function expected\\\");return e}for(var s,c=n.kind,l=\\\"getter\\\"===c?\\\"get\\\":\\\"setter\\\"===c?\\\"set\\\":\\\"value\\\",u=!t&&e?n[\\\"static\\\"]?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),p=!1,f=r.length-1;0\u003C=f;f--){var g,m={};for(g in n)m[g]=\\\"access\\\"===g?{}:n[g];for(g in n.access)m.access[g]=n.access[g];m.addInitializer=function(e){if(p)throw new TypeError(\\\"Cannot add initializers after decoration has completed\\\");a.push(i(e||null))};var h=(0,r[f])(\\\"accessor\\\"===c?{get:d.get,set:d.set}:d[l],m);if(\\\"accessor\\\"===c){if(void 0!==h){if(null===h||\\\"object\\\"!=typeof h)throw new TypeError(\\\"Object expected\\\");(s=i(h.get))&&(d.get=s),(s=i(h.set))&&(d.set=s),(s=i(h.init))&&o.unshift(s)}}else(s=i(h))&&(\\\"field\\\"===c?o.unshift(s):d[l]=s)}u&&Object.defineProperty(u,n.name,d),p=!0},l=function(e,t,r){for(var n=2\u003Carguments.length,o=0;o\u003Ct.length;o++)r=n?t[o].call(e,r):t[o].call(e);return n?r:void 0},u=function(e){return\\\"symbol\\\"==typeof e?e:\\\"\\\".concat(e)},d=function(e,t,r){return\\\"symbol\\\"==typeof t&&(t=t.description?\\\"[\\\".concat(t.description,\\\"]\\\"):\\\"\\\"),Object.defineProperty(e,\\\"name\\\",{configurable:!0,value:r?\\\"\\\".concat(r,\\\" \\\",t):t})},p=function(e,t){if(\\\"object\\\"==typeof Reflect&&\\\"function\\\"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=function(e,t,s,c){return new(s=s||Promise)(function(r,n){function o(e){try{i(c.next(e))}catch(t){n(t)}}function a(e){try{i(c[\\\"throw\\\"](e))}catch(t){n(t)}}function i(e){var t;e.done?r(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(o,a)}i((c=c.apply(e,t||[])).next())})},g=function(r,n){var o,a,i,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},c={next:e(0),\\\"throw\\\":e(1),\\\"return\\\":e(2)};return\\\"function\\\"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function e(t){return function(e){return l([t,e])}}function l(e){if(o)throw new TypeError(\\\"Generator is already executing.\\\");for(;s=c&&e[c=0]?0:s;)try{if(o=1,a&&(i=2&e[0]?a[\\\"return\\\"]:e[0]?a[\\\"throw\\\"]||((i=a[\\\"return\\\"])&&i.call(a),0):a.next)&&!(i=i.call(a,e[1])).done)return i;switch(a=0,(e=i?[2&e[0],i.value]:e)[0]){case 0:case 1:i=e;break;case 4:return s.label++,{value:e[1],done:!1};case 5:s.label++,a=e[1],e=[0];continue;case 7:e=s.ops.pop(),s.trys.pop();continue;default:if(!(i=0\u003C(i=s.trys).length&&i[i.length-1])&&(6===e[0]||2===e[0])){s=0;continue}if(3===e[0]&&(!i||e[1]>i[0]&&e[1]\u003Ci[3]))s.label=e[1];else if(6===e[0]&&s.label\u003Ci[1])s.label=i[1],i=e;else{if(!(i&&s.label\u003Ci[2])){i[2]&&s.ops.pop(),s.trys.pop();continue}s.label=i[2],s.ops.push(e)}}e=n.call(r,s)}catch(t){e=[6,t],a=0}finally{o=i=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}},m=function(e,t){for(var r in e)\\\"default\\\"===r||Object.prototype.hasOwnProperty.call(t,r)||P(t,e,r)},P=Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&(\\\"get\\\"in o?t.__esModule:!o.writable&&!o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){e[n=void 0===n?r:n]=t[r]},h=function(e){var t=\\\"function\\\"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&\\\"number\\\"==typeof e.length)return{next:function(){return{value:(e=e&&n>=e.length?void 0:e)&&e[n++],done:!e}}};throw new TypeError(t?\\\"Object is not iterable.\\\":\\\"Symbol.iterator is not defined.\\\")},_=function(e,t){var r=\\\"function\\\"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{for(;(void 0===t||0\u003Ct--)&&!(n=a.next()).done;)i.push(n.value)}catch(s){o={error:s}}finally{try{n&&!n.done&&(r=a[\\\"return\\\"])&&r.call(a)}finally{if(o)throw o.error}}return i},v=function(){for(var e=[],t=0;t\u003Carguments.length;t++)e=e.concat(_(arguments[t]));return e},y=function(){for(var e=0,t=0,r=arguments.length;t\u003Cr;t++)e+=arguments[t].length;for(var n=Array(e),o=0,t=0;t\u003Cr;t++)for(var a=arguments[t],i=0,s=a.length;i\u003Cs;i++,o++)n[o]=a[i];return n},b=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,a=t.length;o\u003Ca;o++)!n&&o in t||((n=n||Array.prototype.slice.call(t,0,o))[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))},E=function(e){return this instanceof E?(this.v=e,this):new E(e)},T=function(e,t,r){var o,a,i;if(Symbol.asyncIterator)return o=r.apply(e,t||[]),a=[],i={},n(\\\"next\\\"),n(\\\"throw\\\"),n(\\\"return\\\"),i[Symbol.asyncIterator]=function(){return this},i;throw new TypeError(\\\"Symbol.asyncIterator is not defined.\\\");function n(n){o[n]&&(i[n]=function(r){return new Promise(function(e,t){1\u003Ca.push([n,r,e,t])||s(n,r)})})}function s(e,t){try{(r=o[e](t)).value instanceof E?Promise.resolve(r.value.v).then(c,l):u(a[0][2],r)}catch(n){u(a[0][3],n)}var r}function c(e){s(\\\"next\\\",e)}function l(e){s(\\\"throw\\\",e)}function u(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}},C=function(n){var o,e={};return t(\\\"next\\\"),t(\\\"throw\\\",function(e){throw e}),t(\\\"return\\\"),e[Symbol.iterator]=function(){return this},e;function t(t,r){e[t]=n[t]?function(e){return(o=!o)?{value:E(n[t](e)),done:!1}:r?r(e):e}:r}},w=function(i){var e,t;if(Symbol.asyncIterator)return(e=i[Symbol.asyncIterator])?e.call(i):(i=h(i),t={},r(\\\"next\\\"),r(\\\"throw\\\"),r(\\\"return\\\"),t[Symbol.asyncIterator]=function(){return this},t);throw new TypeError(\\\"Symbol.asyncIterator is not defined.\\\");function r(a){t[a]=i[a]&&function(o){return new Promise(function(e,t){var r,n;o=i[a](o),r=e,e=t,n=o.done,t=o.value,Promise.resolve(t).then(function(e){r({value:e,done:n})},e)})}}},S=function(e,t){return Object.defineProperty?Object.defineProperty(e,\\\"raw\\\",{value:t}):e.raw=t,e},Object.create?function(e,t){Object.defineProperty(e,\\\"default\\\",{enumerable:!0,value:t})}:function(e,t){e[\\\"default\\\"]=t});x=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)\\\"default\\\"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&P(t,e,r);return o(t,e),t},D=function(e){return e&&e.__esModule?e:{\\\"default\\\":e}},$=function(e,t,r,n){if(\\\"a\\\"===r&&!n)throw new TypeError(\\\"Private accessor was defined without a getter\\\");if(\\\"function\\\"==typeof t?e===t&&n:t.has(e))return\\\"m\\\"===r?n:\\\"a\\\"===r?n.call(e):n?n.value:t.get(e);throw new TypeError(\\\"Cannot read private member from an object whose class did not declare it\\\")},A=function(e,t,r,n,o){if(\\\"m\\\"===n)throw new TypeError(\\\"Private method is not writable\\\");if(\\\"a\\\"===n&&!o)throw new TypeError(\\\"Private accessor was defined without a setter\\\");if(\\\"function\\\"==typeof t?e===t&&o:t.has(e))return\\\"a\\\"===n?o.call(e,r):o?o.value=r:t.set(e,r),r;throw new TypeError(\\\"Cannot write private member to an object whose class did not declare it\\\")},O=function(e,t){if(null===t||\\\"object\\\"!=typeof t&&\\\"function\\\"!=typeof t)throw new TypeError(\\\"Cannot use 'in' operator on non-object\\\");return\\\"function\\\"==typeof e?t===e:e.has(t)},e(\\\"__extends\\\",t),e(\\\"__assign\\\",r),e(\\\"__rest\\\",a),e(\\\"__decorate\\\",i),e(\\\"__param\\\",s),e(\\\"__esDecorate\\\",c),e(\\\"__runInitializers\\\",l),e(\\\"__propKey\\\",u),e(\\\"__setFunctionName\\\",d),e(\\\"__metadata\\\",p),e(\\\"__awaiter\\\",f),e(\\\"__generator\\\",g),e(\\\"__exportStar\\\",m),e(\\\"__createBinding\\\",P),e(\\\"__values\\\",h),e(\\\"__read\\\",_),e(\\\"__spread\\\",v),e(\\\"__spreadArrays\\\",y),e(\\\"__spreadArray\\\",b),e(\\\"__await\\\",E),e(\\\"__asyncGenerator\\\",T),e(\\\"__asyncDelegator\\\",C),e(\\\"__asyncValues\\\",w),e(\\\"__makeTemplateObject\\\",S),e(\\\"__importStar\\\",x),e(\\\"__importDefault\\\",D),e(\\\"__classPrivateFieldGet\\\",$),e(\\\"__classPrivateFieldSet\\\",A),e(\\\"__classPrivateFieldIn\\\",O)})}}),require_emotion_memoize_cjs_dev=__commonJS({\\\"node_modules/.pnpm/@emotion+memoize@0.8.1/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.dev.js\\\"(e){init_esbuild_inject(),Object.defineProperty(e,\\\"__esModule\\\",{value:!0}),e[\\\"default\\\"]=function(t){var r=Object.create(null);return function(e){return void 0===r[e]&&(r[e]=t(e)),r[e]}}}}),require_emotion_memoize_cjs=__commonJS({\\\"node_modules/.pnpm/@emotion+memoize@0.8.1/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.js\\\"(e,t){init_esbuild_inject(),t.exports=require_emotion_memoize_cjs_dev()}}),require_emotion_is_prop_valid_cjs_dev=__commonJS({\\\"node_modules/.pnpm/@emotion+is-prop-valid@1.2.1/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.cjs.dev.js\\\"(e){init_esbuild_inject(),Object.defineProperty(e,\\\"__esModule\\\",{value:!0});var t=require_emotion_memoize_cjs();function r(e){return e&&e.__esModule?e:{\\\"default\\\":e}}var n=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/;e[\\\"default\\\"]=r(t)[\\\"default\\\"](function(e){return n.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)\u003C91})}}),require_emotion_is_prop_valid_cjs=__commonJS({\\\"node_modules/.pnpm/@emotion+is-prop-valid@1.2.1/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.cjs.js\\\"(e,t){init_esbuild_inject(),t.exports=require_emotion_is_prop_valid_cjs_dev()}}),require_shallowequal=__commonJS({\\\"node_modules/.pnpm/shallowequal@1.1.0/node_modules/shallowequal/index.js\\\"(e,t){init_esbuild_inject(),t.exports=function(e,t,r,n){if(void 0!==(l=r?r.call(n,e,t):void 0))return!!l;if(e!==t){if(\\\"object\\\"!=typeof e||!e||\\\"object\\\"!=typeof t||!t)return!1;var o=Object.keys(e),a=Object.keys(t);if(o.length!==a.length)return!1;for(var i=Object.prototype.hasOwnProperty.bind(t),s=0;s\u003Co.length;s++){var c=o[s];if(!i(c))return!1;var l,u=e[c],d=t[c];if(!1===(l=r?r.call(n,u,d,c):void 0)||void 0===l&&u!==d)return!1}}return!0}}}),require_stylis=__commonJS({\\\"node_modules/.pnpm/stylis@4.3.0/node_modules/stylis/dist/umd/stylis.js\\\"(e,t){var r,n;init_esbuild_inject(),n=function(c){var l=\\\"-ms-\\\",t=\\\"-moz-\\\",o=\\\"-webkit-\\\",a=\\\"comm\\\",E=\\\"rule\\\",i=\\\"decl\\\",b=\\\"@import\\\",s=\\\"@keyframes\\\",B=Math.abs,w=String.fromCharCode,u=Object.assign;function L(e,t){return 45^D(e,0)?(((t\u003C\u003C2^D(e,0))\u003C\u003C2^D(e,1))\u003C\u003C2^D(e,2))\u003C\u003C2^D(e,3):0}function T(e){return e.trim()}function d(e,t){return(e=t.exec(e))&&e[0]}function S(e,t,r){return e.replace(t,r)}function x(e,t){return e.indexOf(t)}function D(e,t){return 0|e.charCodeAt(t)}function C(e,t,r){return e.slice(t,r)}function $(e){return e.length}function A(e){return e.length}function O(e,t){return t.push(e),e}function p(e,t){return e.map(t).join(\\\"\\\")}function f(e,t){return e.filter(function(e){return!d(e,t)})}function P(e,t,r,n,o,a,i,s){return{value:e,root:t,parent:r,type:n,props:o,children:a,line:c.line,column:c.column,length:i,\\\"return\\\":\\\"\\\",siblings:s}}function g(e,t){return u(P(\\\"\\\",null,null,\\\"\\\",null,null,0,e.siblings),e,{length:-e.length},t)}function m(e){for(;e.root;)e=g(e.root,{children:[e]});O(e,e.siblings)}function F(){return c.character}function H(){return c.character=0\u003Cc.position?D(c.characters,--c.position):0,c.column--,10===c.character&&(c.column=1,c.line--),c.character}function I(){return c.character=c.position\u003Cc.length?D(c.characters,c.position++):0,c.column++,10===c.character&&(c.column=1,c.line++),c.character}function j(){return D(c.characters,c.position)}function R(){return c.position}function r(e,t){return C(c.characters,e,t)}function n(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function h(e){return c.line=c.column=1,c.length=$(c.characters=e),c.position=0,[]}function _(e){return c.characters=\\\"\\\",e}function k(e){return T(r(c.position-1,v(91===e?e+2:40===e?e+1:e)))}function z(e){return _(V(h(e)))}function K(e){for(;(c.character=j())&&c.character\u003C33;)I();return 2\u003Cn(e)||3\u003Cn(c.character)?\\\"\\\":\\\" \\\"}function V(e){for(;I();)switch(n(c.character)){case 0:O(N(c.position-1),e);break;case 2:O(k(c.character),e);break;default:O(w(c.character),e)}return e}function U(e,t){for(;--t&&I()&&!(c.character\u003C48||102\u003Cc.character||57\u003Cc.character&&c.character\u003C65||70\u003Cc.character&&c.character\u003C97););return r(e,R()+(t\u003C6&&32==j()&&32==I()))}function v(e){for(;I();)switch(c.character){case e:return c.position;case 34:case 39:34!==e&&39!==e&&v(c.character);break;case 40:41===e&&v(e);break;case 92:I()}return c.position}function G(e,t){for(;I()&&e+c.character!==57&&(e+c.character!==84||47!==j()););return\\\"/*\\\"+r(t,c.position-1)+\\\"*\\\"+w(47===e?e:I())}function N(e){for(;!n(j());)I();return r(e,c.position)}function M(e,t,r,n,o,a,i,s,c){for(var l,u,d,p=0,f=0,g=i,m=0,h=0,_=1,v=1,y=1,b=0,E=\\\"\\\",T=o,C=E;v;)switch(l=b,b=I()){case 40:if(108!=l&&58==D(C,g-1)){-1!=x(C+=S(k(b),\\\"&\\\",\\\"&\\\\f\\\"),\\\"&\\\\f\\\")&&(y=-1);break}case 34:case 39:case 91:C+=k(b);break;case 9:case 10:case 13:case 32:C+=K(l);break;case 92:C+=U(R()-1,7);continue;case 47:switch(j()){case 42:case 47:O(W(G(I(),R()),t,r,c),c);break;default:C+=\\\"/\\\"}break;case 123*_:s[p++]=$(C)*y;case 125*_:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+f:-1==y&&(C=S(C,/\\\\f/g,\\\"\\\")),0\u003Ch&&$(C)-g&&O(32\u003Ch?Y(C+\\\";\\\",n,r,g-1,c):Y(S(C,\\\" \\\",\\\"\\\")+\\\";\\\",n,r,g-2,c),c);break;case 59:C+=\\\";\\\";default:if(O(d=q(C,t,r,p,f,o,s,E,T=[],u=[],g,a),a),123===b)if(0===f)M(C,t,d,d,T,a,g,s,u);else switch(99===m&&110===D(C,3)?100:m){case 100:case 108:case 109:case 115:M(e,d,d,n&&O(q(e,d,d,0,0,o,s,E,o,T=[],g,u),u),o,u,g,s,n?T:u);break;default:M(C,d,d,d,[\\\"\\\"],u,0,s,u)}}p=f=h=0,_=y=1,E=C=\\\"\\\",g=i;break;case 58:g=1+$(C),h=l;default:if(_\u003C1)if(123==b)--_;else if(125==b&&0==_++&&125==H())continue;switch(C+=w(b),b*_){case 38:y=0\u003Cf?1:(C+=\\\"\\\\f\\\",-1);break;case 44:s[p++]=($(C)-1)*y,y=1;break;case 64:45===j()&&(C+=k(I())),m=j(),f=g=$(E=C+=N(R())),b++;break;case 45:45===l&&2==$(C)&&(_=0)}}return a}function q(e,t,r,n,o,a,i,s,c,l,u,d){for(var p,f=o-1,g=0===o?a:[\\\"\\\"],m=A(g),h=0,_=0;h\u003Cn;++h)for(var v,y=0,b=C(e,f+1,f=B(p=i[h]));y\u003Cm;++y)(v=T(0\u003Cp?g[y]+\\\" \\\"+b:S(b,/&\\\\f/g,g[y])))&&(c[_++]=v);return P(e,t,r,0===o?E:s,c,l,u,d)}function W(e,t,r,n){return P(e,t,r,a,w(F()),C(e,2,-2),0,n)}function Y(e,t,r,n,o){return P(e,t,r,i,C(e,0,n),C(e,n+1,-1),n,o)}function X(s,r,e){switch(L(s,r)){case 5103:return o+\\\"print-\\\"+s+s;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return o+s+s;case 4789:return t+s+s;case 5349:case 4246:case 4810:case 6968:case 2756:return o+s+t+s+l+s+s;case 5936:switch(D(s,r+11)){case 114:return o+s+l+S(s,/[svh]\\\\w+-[tblr]{2}/,\\\"tb\\\")+s;case 108:return o+s+l+S(s,/[svh]\\\\w+-[tblr]{2}/,\\\"tb-rl\\\")+s;case 45:return o+s+l+S(s,/[svh]\\\\w+-[tblr]{2}/,\\\"lr\\\")+s}case 6828:case 4268:case 2903:return o+s+l+s+s;case 6165:return o+s+l+\\\"flex-\\\"+s+s;case 5187:return o+s+S(s,/(\\\\w+).+(:[^]+)/,o+\\\"box-$1$2\\\"+l+\\\"flex-$1$2\\\")+s;case 5443:return o+s+l+\\\"flex-item-\\\"+S(s,/flex-|-self/g,\\\"\\\")+(d(s,/flex-|baseline/)?\\\"\\\":l+\\\"grid-row-\\\"+S(s,/flex-|-self/g,\\\"\\\"))+s;case 4675:return o+s+l+\\\"flex-line-pack\\\"+S(s,/align-content|flex-|-self/g,\\\"\\\")+s;case 5548:return o+s+l+S(s,\\\"shrink\\\",\\\"negative\\\")+s;case 5292:return o+s+l+S(s,\\\"basis\\\",\\\"preferred-size\\\")+s;case 6060:return o+\\\"box-\\\"+S(s,\\\"-grow\\\",\\\"\\\")+o+s+l+S(s,\\\"grow\\\",\\\"positive\\\")+s;case 4554:return o+S(s,/([^-])(transform)/g,\\\"$1\\\"+o+\\\"$2\\\")+s;case 6187:return S(S(S(s,/(zoom-|grab)/,o+\\\"$1\\\"),/(image-set)/,o+\\\"$1\\\"),s,\\\"\\\")+s;case 5495:case 3959:return S(s,/(image-set\\\\([^]*)/,o+\\\"$1$`$1\\\");case 4968:return S(S(s,/(.+:)(flex-)?(.*)/,o+\\\"box-pack:$3\\\"+l+\\\"flex-pack:$3\\\"),/s.+-b[^;]+/,\\\"justify\\\")+o+s+s;case 4200:if(d(s,/flex-|baseline/))break;return l+\\\"grid-column-align\\\"+C(s,r)+s;case 2592:case 3360:return l+S(s,\\\"template-\\\",\\\"\\\")+s;case 4384:case 3616:return e&&e.some(function(e,t){return r=t,d(e.props,/grid-\\\\w+-end/)})?~x(s+(e=e[r].value),\\\"span\\\")?s:l+S(s,\\\"-start\\\",\\\"\\\")+s+l+\\\"grid-row-span:\\\"+(~x(e,\\\"span\\\")?d(e,/\\\\d+/):+d(e,/\\\\d+/)-+d(s,/\\\\d+/))+\\\";\\\":l+S(s,\\\"-start\\\",\\\"\\\")+s;case 4896:case 4128:return e&&e.some(function(e){return d(e.props,/grid-\\\\w+-start/)})?s:l+S(S(s,\\\"-end\\\",\\\"-span\\\"),\\\"span \\\",\\\"\\\")+s;case 4095:case 3583:case 4068:case 2532:return S(s,/(.+)-inline(.+)/,o+\\\"$1$2\\\")+s;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(6\u003C$(s)-1-r)switch(D(s,r+1)){case 109:if(45!==D(s,r+4))break;case 102:return S(s,/(.+:)(.+)-([^]+)/,\\\"$1\\\"+o+\\\"$2-$3$1\\\"+t+(108==D(s,r+3)?\\\"$3\\\":\\\"$2-$3\\\"))+s;case 115:return~x(s,\\\"stretch\\\")?X(S(s,\\\"stretch\\\",\\\"fill-available\\\"),r,e)+s:s}break;case 5152:case 5920:return S(s,/(.+?):(\\\\d+)(\\\\s*\\\\/\\\\s*(span)?\\\\s*(\\\\d+))?(.*)/,function(e,t,r,n,o,a,i){return l+t+\\\":\\\"+r+i+(n?l+t+\\\"-span:\\\"+(o?a:+a-+r)+i:\\\"\\\")+s});case 4949:if(121===D(s,r+6))return S(s,\\\":\\\",\\\":\\\"+o)+s;break;case 6444:switch(D(s,45===D(s,14)?18:11)){case 120:return S(s,/(.+:)([^;\\\\s!]+)(;|(\\\\s+)?!.+)?/,\\\"$1\\\"+o+(45===D(s,14)?\\\"inline-\\\":\\\"\\\")+\\\"box$3$1\\\"+o+\\\"$2$3$1\\\"+l+\\\"$2box$3\\\")+s;case 100:return S(s,\\\":\\\",\\\":\\\"+l)+s}break;case 5719:case 2647:case 2135:case 3927:case 2391:return S(s,\\\"scroll-\\\",\\\"scroll-snap-\\\")+s}return s}function y(e,t){for(var r=\\\"\\\",n=0;n\u003Ce.length;n++)r+=t(e[n],n,e,t)||\\\"\\\";return r}c.line=1,c.column=1,c.length=0,c.position=0,c.character=0,c.characters=\\\"\\\",c.CHARSET=\\\"@charset\\\",c.COMMENT=a,c.COUNTER_STYLE=\\\"@counter-style\\\",c.DECLARATION=i,c.DOCUMENT=\\\"@document\\\",c.FONT_FACE=\\\"@font-face\\\",c.FONT_FEATURE_VALUES=\\\"@font-feature-values\\\",c.IMPORT=b,c.KEYFRAMES=s,c.LAYER=\\\"@layer\\\",c.MEDIA=\\\"@media\\\",c.MOZ=t,c.MS=l,c.NAMESPACE=\\\"@namespace\\\",c.PAGE=\\\"@page\\\",c.RULESET=E,c.SUPPORTS=\\\"@supports\\\",c.VIEWPORT=\\\"@viewport\\\",c.WEBKIT=o,c.abs=B,c.alloc=h,c.append=O,c.assign=u,c.caret=R,c[\\\"char\\\"]=F,c.charat=D,c.combine=p,c.comment=W,c.commenter=G,c.compile=function(e){return _(M(\\\"\\\",null,null,null,[\\\"\\\"],e=h(e),0,[0],e))},c.copy=g,c.dealloc=_,c.declaration=Y,c.delimit=k,c.delimiter=v,c.escaping=U,c.filter=f,c.from=w,c.hash=L,c.identifier=N,c.indexof=x,c.lift=m,c.match=d,c.middleware=function(i){var s=A(i);return function(e,t,r,n){for(var o=\\\"\\\",a=0;a\u003Cs;a++)o+=i[a](e,t,r,n)||\\\"\\\";return o}},c.namespace=function(n){n.type===E&&(n.props=n.props.map(function(e){return p(z(e),function(e,t,r){switch(D(e,0)){case 12:return C(e,1,$(e));case 0:case 40:case 43:case 62:case 126:return e;case 58:\\\"global\\\"===r[++t]&&(r[t]=\\\"\\\",r[++t]=\\\"\\\\f\\\"+C(r[t],t=1,-1));case 32:return 1===t?\\\"\\\":e;default:switch(t){case 0:return n=e,1\u003CA(r)?\\\"\\\":e;case t=A(r)-1:case 2:return 2===t?e+n+n:e+n;default:return e}}})}))},c.next=I,c.node=P,c.parse=M,c.peek=j,c.prefix=X,c.prefixer=function(t,e,r,n){if(-1\u003Ct.length&&!t[\\\"return\\\"])switch(t.type){case i:return void(t[\\\"return\\\"]=X(t.value,t.length,r));case s:return y([g(t,{value:S(t.value,\\\"@\\\",\\\"@\\\"+o)})],n);case E:if(t.length)return p(r=t.props,function(e){switch(d(e,n=/(::plac\\\\w+|:read-\\\\w+)/)){case\\\":read-only\\\":case\\\":read-write\\\":m(g(t,{props:[S(e,/:(read-\\\\w+)/,\\\":-moz-$1\\\")]})),m(g(t,{props:[e]})),u(t,{props:f(r,n)});break;case\\\"::placeholder\\\":m(g(t,{props:[S(e,/:(plac\\\\w+)/,\\\":\\\"+o+\\\"input-$1\\\")]})),m(g(t,{props:[S(e,/:(plac\\\\w+)/,\\\":-moz-$1\\\")]})),m(g(t,{props:[S(e,/:(plac\\\\w+)/,l+\\\"input-$1\\\")]})),m(g(t,{props:[e]})),u(t,{props:f(r,n)})}return\\\"\\\"})}},c.prev=H,c.replace=S,c.ruleset=q,c.rulesheet=function(t){return function(e){e.root||(e=e[\\\"return\\\"])&&t(e)}},c.serialize=y,c.sizeof=A,c.slice=r,c.stringify=function(e,t,r,n){switch(e.type){case\\\"@layer\\\":if(e.children.length)break;case b:case i:return e[\\\"return\\\"]=e[\\\"return\\\"]||e.value;case a:return\\\"\\\";case s:return e[\\\"return\\\"]=e.value+\\\"{\\\"+y(e.children,n)+\\\"}\\\";case E:if(!$(e.value=e.props.join(\\\",\\\")))return\\\"\\\"}return $(r=y(e.children,n))?e[\\\"return\\\"]=e.value+\\\"{\\\"+r+\\\"}\\\":\\\"\\\"},c.strlen=$,c.substr=C,c.token=n,c.tokenize=z,c.tokenizer=V,c.trim=T,c.whitespace=K,Object.defineProperty(c,\\\"__esModule\\\",{value:!0})},\\\"object\\\"==typeof(r=e)&&void 0!==t?n(e):\\\"function\\\"==typeof define&&define.amd?define([\\\"exports\\\"],n):n((r=r||self).stylis={})}}),require_emotion_unitless_cjs_dev=__commonJS({\\\"node_modules/.pnpm/@emotion+unitless@0.8.1/node_modules/@emotion/unitless/dist/emotion-unitless.cjs.dev.js\\\"(e){init_esbuild_inject(),Object.defineProperty(e,\\\"__esModule\\\",{value:!0});e[\\\"default\\\"]={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1}}}),require_emotion_unitless_cjs=__commonJS({\\\"node_modules/.pnpm/@emotion+unitless@0.8.1/node_modules/@emotion/unitless/dist/emotion-unitless.cjs.js\\\"(e,t){init_esbuild_inject(),t.exports=require_emotion_unitless_cjs_dev()}}),require_styled_components_browser_cjs=__commonJS({\\\"node_modules/.pnpm/styled-components@6.0.7_react-dom@18.2.0_react@18.2.0/node_modules/styled-components/dist/styled-components.browser.cjs.js\\\"(e){init_esbuild_inject(),Object.defineProperty(e,\\\"__esModule\\\",{value:!0});var T=require_tslib(),t=require_emotion_is_prop_valid_cjs(),C=require(\\\"react\\\"),r=require_shallowequal(),N=require_stylis(),n=require_emotion_unitless_cjs();function o(e){return e&&e.__esModule?e:{\\\"default\\\":e}}function M(r){var n;return r&&r.__esModule?r:(n=Object.create(null),r&&Object.keys(r).forEach(function(e){var t;\\\"default\\\"!==e&&(t=Object.getOwnPropertyDescriptor(r,e),Object.defineProperty(n,e,t.get?t:{enumerable:!0,get:function(){return r[e]}}))}),n[\\\"default\\\"]=r,Object.freeze(n))}var B=o(t),w=o(C),L=o(r),p=M(N),F=o(n),l=\\\"undefined\\\"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\\\"data-styled\\\",H=\\\"undefined\\\"!=typeof window&&\\\"HTMLElement\\\"in window,t=Boolean(\\\"boolean\\\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\\\"undefined\\\"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\\\"\\\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\\\"false\\\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:\\\"undefined\\\"==typeof process||void 0===process.env||void 0===process.env.SC_DISABLE_SPEEDY||\\\"\\\"===process.env.SC_DISABLE_SPEEDY||\\\"false\\\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY),z={},K=/invalid hook call/i,s=new Set,V=function(e,t){var r=t?' with the id of \\\"'.concat(t,'\\\"'):\\\"\\\",n=\\\"The component \\\".concat(e).concat(r,\\\" has been created dynamically.\\\\n\\\")+\\\"You may see this warning because you've called styled inside another component.\\\\nTo resolve this only create new StyledComponents outside of any render method and function component.\\\",o=console.error;try{var a=!0;console.error=function(e){for(var t=[],r=1;r\u003Carguments.length;r++)t[r-1]=arguments[r];K.test(e)?(a=!1,s[\\\"delete\\\"](n)):o.apply(void 0,T.__spreadArray([e],t,!1))},C.useRef(),a&&!s.has(n)&&(console.warn(n),s.add(n))}catch(i){K.test(i.message)&&s[\\\"delete\\\"](n)}finally{console.error=o}},S=Object.freeze([]),x=Object.freeze({});function U(e,t,r){return void 0===r&&(r=x),e.theme!==r.theme&&e.theme||t||r.theme}var G=new Set([\\\"a\\\",\\\"abbr\\\",\\\"address\\\",\\\"area\\\",\\\"article\\\",\\\"aside\\\",\\\"audio\\\",\\\"b\\\",\\\"base\\\",\\\"bdi\\\",\\\"bdo\\\",\\\"big\\\",\\\"blockquote\\\",\\\"body\\\",\\\"br\\\",\\\"button\\\",\\\"canvas\\\",\\\"caption\\\",\\\"cite\\\",\\\"code\\\",\\\"col\\\",\\\"colgroup\\\",\\\"data\\\",\\\"datalist\\\",\\\"dd\\\",\\\"del\\\",\\\"details\\\",\\\"dfn\\\",\\\"dialog\\\",\\\"div\\\",\\\"dl\\\",\\\"dt\\\",\\\"em\\\",\\\"embed\\\",\\\"fieldset\\\",\\\"figcaption\\\",\\\"figure\\\",\\\"footer\\\",\\\"form\\\",\\\"h1\\\",\\\"h2\\\",\\\"h3\\\",\\\"h4\\\",\\\"h5\\\",\\\"h6\\\",\\\"head\\\",\\\"header\\\",\\\"hgroup\\\",\\\"hr\\\",\\\"html\\\",\\\"i\\\",\\\"iframe\\\",\\\"img\\\",\\\"input\\\",\\\"ins\\\",\\\"kbd\\\",\\\"keygen\\\",\\\"label\\\",\\\"legend\\\",\\\"li\\\",\\\"link\\\",\\\"main\\\",\\\"map\\\",\\\"mark\\\",\\\"menu\\\",\\\"menuitem\\\",\\\"meta\\\",\\\"meter\\\",\\\"nav\\\",\\\"noscript\\\",\\\"object\\\",\\\"ol\\\",\\\"optgroup\\\",\\\"option\\\",\\\"output\\\",\\\"p\\\",\\\"param\\\",\\\"picture\\\",\\\"pre\\\",\\\"progress\\\",\\\"q\\\",\\\"rp\\\",\\\"rt\\\",\\\"ruby\\\",\\\"s\\\",\\\"samp\\\",\\\"script\\\",\\\"section\\\",\\\"select\\\",\\\"small\\\",\\\"source\\\",\\\"span\\\",\\\"strong\\\",\\\"style\\\",\\\"sub\\\",\\\"summary\\\",\\\"sup\\\",\\\"table\\\",\\\"tbody\\\",\\\"td\\\",\\\"textarea\\\",\\\"tfoot\\\",\\\"th\\\",\\\"thead\\\",\\\"time\\\",\\\"title\\\",\\\"tr\\\",\\\"track\\\",\\\"u\\\",\\\"ul\\\",\\\"use\\\",\\\"var\\\",\\\"video\\\",\\\"wbr\\\",\\\"circle\\\",\\\"clipPath\\\",\\\"defs\\\",\\\"ellipse\\\",\\\"foreignObject\\\",\\\"g\\\",\\\"image\\\",\\\"line\\\",\\\"linearGradient\\\",\\\"marker\\\",\\\"mask\\\",\\\"path\\\",\\\"pattern\\\",\\\"polygon\\\",\\\"polyline\\\",\\\"radialGradient\\\",\\\"rect\\\",\\\"stop\\\",\\\"svg\\\",\\\"text\\\",\\\"tspan\\\"]),q=/[!\\\"#$%&'()*+,./:;\u003C=>?@[\\\\\\\\\\\\]^`{|}~-]+/g,W=/(^-|-$)/g;function Y(e){return e.replace(q,\\\"-\\\").replace(W,\\\"\\\")}var X=/(a)(d)/gi,J=function(e){return String.fromCharCode(e+(25\u003Ce?39:97))};function Q(e){for(var t=\\\"\\\",r=Math.abs(e);52\u003Cr;r=r/52|0)t=J(r%52)+t;return(J(r%52)+t).replace(X,\\\"$1-$2\\\")}var f=function(e,t){for(var r=t.length;r;)e=33*e^t.charCodeAt(--r);return e},Z=function(e){return f(5381,e)};function ee(e){return Q(Z(e)>>>0)}function D(e){return\\\"string\\\"==typeof e&&e||e.displayName||e.name||\\\"Component\\\"}function te(e){return\\\"string\\\"==typeof e&&e.charAt(0)===e.charAt(0).toLowerCase()}var r=\\\"function\\\"==typeof Symbol&&Symbol[\\\"for\\\"],re=r?Symbol[\\\"for\\\"](\\\"react.memo\\\"):60115,N=r?Symbol[\\\"for\\\"](\\\"react.forward_ref\\\"):60112,ne={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},oe={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},ae={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},ie=((n={})[N]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},n[re]=ae,n);function se(e){return(\\\"type\\\"in e&&e.type.$$typeof)===re?ae:\\\"$$typeof\\\"in e?ie[e.$$typeof]:ne}var ce=Object.defineProperty,le=Object.getOwnPropertyNames,ue=Object.getOwnPropertySymbols,de=Object.getOwnPropertyDescriptor,pe=Object.getPrototypeOf,fe=Object.prototype;function ge(e,t,r){if(\\\"string\\\"!=typeof t){fe&&(n=pe(t))&&n!==fe&&ge(e,n,r);var n,o=le(t);ue&&(o=o.concat(ue(t)));for(var a=se(e),i=se(t),s=0;s\u003Co.length;++s){var c=o[s];if(!(c in oe||r&&r[c]||i&&c in i||a&&c in a)){var l=de(t,c);try{ce(e,c,l)}catch(u){}}}}return e}function $(e){return\\\"function\\\"==typeof e}function A(e){return\\\"object\\\"==typeof e&&\\\"styledComponentId\\\"in e}function O(e,t){return e&&t?\\\"\\\".concat(e,\\\" \\\").concat(t):e||t||\\\"\\\"}function u(e,t){if(0===e.length)return\\\"\\\";for(var r=e[0],n=1;n\u003Ce.length;n++)r+=t?t+e[n]:e[n];return r}function P(e){return null!==e&&\\\"object\\\"==typeof e&&e.constructor.name===Object.name&&!(\\\"props\\\"in e&&e.$$typeof)}function me(e,t){Object.defineProperty(e,\\\"toString\\\",{value:t})}var he={1:\\\"Cannot create styled-component for component: %s.\\\\n\\\\n\\\",2:\\\"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\\\n\\\\n- Are you trying to reuse it across renders?\\\\n- Are you accidentally calling collectStyles twice?\\\\n\\\\n\\\",3:\\\"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\\\n\\\\n\\\",4:\\\"The `StyleSheetManager` expects a valid target or sheet prop!\\\\n\\\\n- Does this error occur on the client and is your target falsy?\\\\n- Does this error occur on the server and is the sheet falsy?\\\\n\\\\n\\\",5:\\\"The clone method cannot be used on the client!\\\\n\\\\n- Are you running in a client-like environment on the server?\\\\n- Are you trying to run SSR on the client?\\\\n\\\\n\\\",6:\\\"Trying to insert a new style tag, but the given Node is unmounted!\\\\n\\\\n- Are you using a custom target that isn't mounted?\\\\n- Does your document not have a valid head element?\\\\n- Have you accidentally removed a style tag manually?\\\\n\\\\n\\\",7:'ThemeProvider: Please return an object from your \\\"theme\\\" prop function, e.g.\\\\n\\\\n```js\\\\ntheme={() => ({})}\\\\n```\\\\n\\\\n',8:'ThemeProvider: Please make your \\\"theme\\\" prop an object.\\\\n\\\\n',9:\\\"Missing document `\u003Chead>`\\\\n\\\\n\\\",10:\\\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\\\n\\\\n\\\",11:\\\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\\\n\\\\n\\\",12:\\\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\\\\\`\\\\\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\\\n\\\\n\\\",13:\\\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\\\n\\\\n\\\",14:'ThemeProvider: \\\"theme\\\" prop is required.\\\\n\\\\n',15:\\\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `\u003CStyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\\\n\\\\n```js\\\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\\\n```\\\\n\\\\n\\\",16:\\\"Reached the limit of how many styled components may be created at group %s.\\\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\\\nas for instance in your render method then you may be running into this limitation.\\\\n\\\\n\\\",17:\\\"CSSStyleSheet could not be found on HTMLStyleElement.\\\\nHas styled-components' style tag been unmounted or altered by another script?\\\\n\\\",18:\\\"ThemeProvider: Please make sure your useTheme hook is within a `\u003CThemeProvider>`\\\"};function _e(){for(var e=[],t=0;t\u003Carguments.length;t++)e[t]=arguments[t];for(var r=e[0],n=[],o=1,a=e.length;o\u003Ca;o+=1)n.push(e[o]);return n.forEach(function(e){r=r.replace(/%[a-z]/,e)}),r}function g(e){for(var t=[],r=1;r\u003Carguments.length;r++)t[r-1]=arguments[r];return new Error(_e.apply(void 0,T.__spreadArray([he[e]],t,!1)).trim())}a.prototype.indexOfGroup=function(e){for(var t=0,r=0;r\u003Ce;r++)t+=this.groupSizes[r];return t},a.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var r=this.groupSizes,n=r.length,o=n;o\u003C=e;)if((o\u003C\u003C=1)\u003C0)throw g(16,\\\"\\\".concat(e));this.groupSizes=new Uint32Array(o),this.groupSizes.set(r),this.length=o;for(var a=n;a\u003Co;a++)this.groupSizes[a]=0}for(var i=this.indexOfGroup(e+1),s=(a=0,t.length);a\u003Cs;a++)this.tag.insertRule(i,t[a])&&(this.groupSizes[e]++,i++)},a.prototype.clearGroup=function(e){if(e\u003Cthis.length){var t=this.groupSizes[e],r=this.indexOfGroup(e),n=r+t;this.groupSizes[e]=0;for(var o=r;o\u003Cn;o++)this.tag.deleteRule(r)}},a.prototype.getGroup=function(e){var t=\\\"\\\";if(!(e>=this.length||0===this.groupSizes[e]))for(var r=this.groupSizes[e],n=this.indexOfGroup(e),o=n+r,a=n;a\u003Co;a++)t+=\\\"\\\".concat(this.tag.getRule(a)).concat(\\\"/*!sc*/\\\\n\\\");return t};var ve=a;function a(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var i=new Map,d=new Map,ye=1,c=function(e){if(i.has(e))return i.get(e);for(;d.has(ye);)ye++;var t=ye++;if((0|t)\u003C0||1073741824\u003Ct)throw g(16,\\\"\\\".concat(t));return i.set(e,t),d.set(t,e),t},be=function(e,t){i.set(e,t),d.set(t,e)},Ee=\\\"style[\\\".concat(l,\\\"][\\\").concat(\\\"data-styled-version\\\",'=\\\"').concat(\\\"6.0.7\\\",'\\\"]'),Te=new RegExp(\\\"^\\\".concat(l,'\\\\\\\\.g(\\\\\\\\d+)\\\\\\\\[id=\\\"([\\\\\\\\w\\\\\\\\d-]+)\\\"\\\\\\\\].*?\\\"([^\\\"]*)')),Ce=function(e,t,r){for(var n,o=r.split(\\\",\\\"),a=0,i=o.length;a\u003Ci;a++)(n=o[a])&&e.registerName(t,n)};function we(){return\\\"undefined\\\"!=typeof __webpack_nonce__?__webpack_nonce__:null}var Se=function(e){var t=document.head,t=e||t,r=document.createElement(\\\"style\\\"),n=(n=Array.from(t.querySelectorAll(\\\"style[\\\".concat(l,\\\"]\\\"))))[n.length-1],n=void 0!==n?n.nextSibling:null,o=(r.setAttribute(l,\\\"active\\\"),r.setAttribute(\\\"data-styled-version\\\",\\\"6.0.7\\\"),we());return o&&r.setAttribute(\\\"nonce\\\",o),t.insertBefore(r,n),r},xe=(m.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(r){return!1}},m.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},m.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:\\\"\\\"},m);function m(e){this.element=Se(e),this.element.appendChild(document.createTextNode(\\\"\\\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,r=0,n=t.length;r\u003Cn;r++){var o=t[r];if(o.ownerNode===e)return o}throw g(17)}(this.element),this.length=0}h.prototype.insertRule=function(e,t){var r;return e\u003C=this.length&&0\u003C=e&&(r=document.createTextNode(t),this.element.insertBefore(r,this.nodes[e]||null),this.length++,!0)},h.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},h.prototype.getRule=function(e){return e\u003Cthis.length?this.nodes[e].textContent:\\\"\\\"};var De=h;function h(e){this.element=Se(e),this.nodes=this.element.childNodes,this.length=0}_.prototype.insertRule=function(e,t){return e\u003C=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},_.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},_.prototype.getRule=function(e){return e\u003Cthis.length?this.rules[e]:\\\"\\\"};var $e=_;function _(e){this.rules=[],this.length=0}var Ae=H,Oe={isServer:!H,useCSSOMInjection:!t},v=(y.registerId=c,y.prototype.reconstructWithOptions=function(e,t){return void 0===t&&(t=!0),new y(T.__assign(T.__assign({},this.options),e),this.gs,t&&this.names||void 0)},y.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},y.prototype.getTag=function(){return this.tag||(this.tag=(e=this.options,r=e.useCSSOMInjection,t=e.target,r=new(e.isServer?$e:r?xe:De)(t),new ve(r)));var e,t,r},y.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},y.prototype.registerName=function(e,t){var r;c(e),this.names.has(e)?this.names.get(e).add(t):((r=new Set).add(t),this.names.set(e,r))},y.prototype.insertRules=function(e,t,r){this.registerName(e,t),this.getTag().insertRules(c(e),r)},y.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},y.prototype.clearRules=function(e){this.getTag().clearGroup(c(e)),this.clearNames(e)},y.prototype.clearTag=function(){this.tag=void 0},y);function y(e,t,r){void 0===e&&(e=x),void 0===t&&(t={});var n=this;if(this.options=T.__assign(T.__assign({},Oe),e),this.gs=t,this.names=new Map(r),this.server=!!e.isServer,!this.server&&H&&Ae){Ae=!1;for(var o=this,a=document.querySelectorAll(Ee),i=0,s=a.length;i\u003Cs;i++){var c=a[i];c&&\\\"active\\\"!==c.getAttribute(l)&&(function(e,t){for(var r,n=(null!=(r=t.textContent)?r:\\\"\\\").split(\\\"/*!sc*/\\\\n\\\"),o=[],a=0,i=n.length;a\u003Ci;a++){var s,c,l,u=n[a].trim();u&&((s=u.match(Te))?(c=0|parseInt(s[1],10),l=s[2],0!=c&&(be(l,c),Ce(e,l,s[3]),e.getTag().insertRules(c,o)),o.length=0):o.push(u))}}(o,c),c.parentNode)&&c.parentNode.removeChild(c)}}me(this,function(){for(var a=n,i=a.getTag(),e=i.length,s=\\\"\\\",t=0;t\u003Ce;t++)!function(e){var t,r,n,o=d.get(e);void 0===o||(t=a.names.get(o),r=i.getGroup(e),void 0===t)||0===r.length||(o=\\\"\\\".concat(l,\\\".g\\\").concat(e,'[id=\\\"').concat(o,'\\\"]'),n=\\\"\\\",void 0!==t&&t.forEach(function(e){0\u003Ce.length&&(n+=\\\"\\\".concat(e,\\\",\\\"))}),s+=\\\"\\\".concat(r).concat(o,'{content:\\\"').concat(n,'\\\"}').concat(\\\"/*!sc*/\\\\n\\\"))}(t);return s})}var Pe=/&/g,Ie=/^\\\\s*\\\\/\\\\/.*$/gm;function je(e){var s,c,l,t=void 0===e?x:e,r=t.options,u=void 0===r?x:r,r=t.plugins,t=void 0===r?S:r,n=function(e,t,r){return r===c||r.startsWith(c)&&r.endsWith(c)&&0\u003Cr.replaceAll(c,\\\"\\\").length?\\\".\\\".concat(s):e},d=t.slice(),r=(d.push(function(e){e.type===p.RULESET&&e.value.includes(\\\"&\\\")&&(e.props[0]=e.props[0].replace(Pe,c).replace(l,n))}),u.prefix&&d.push(p.prefixer),d.push(p.stringify),function(e,t,r,n){void 0===r&&(r=\\\"\\\"),s=n=void 0===n?\\\"&\\\":n,c=t=void 0===t?\\\"\\\":t,l=new RegExp(\\\"\\\\\\\\\\\".concat(c,\\\"\\\\\\\\b\\\"),\\\"g\\\");var o=e.replace(Ie,\\\"\\\"),o=p.compile(r||t?\\\"\\\".concat(r,\\\" \\\").concat(t,\\\" { \\\").concat(o,\\\" }\\\"):o),a=(u.namespace&&(o=function i(e,t){return e.map(function(e){return\\\"rule\\\"===e.type&&(e.value=\\\"\\\".concat(t,\\\" \\\").concat(e.value),e.value=e.value.replaceAll(\\\",\\\",\\\",\\\".concat(t,\\\" \\\")),e.props=e.props.map(function(e){return\\\"\\\".concat(t,\\\" \\\").concat(e)})),Array.isArray(e.children)&&\\\"@keyframes\\\"!==e.type&&(e.children=i(e.children,t)),e})}(o,u.namespace)),[]);return p.serialize(o,p.middleware(d.concat(p.rulesheet(function(e){return a.push(e)})))),a});return r.hash=t.length?t.reduce(function(e,t){return t.name||g(15),f(e,t.name)},5381).toString():\\\"\\\",r}var r=new v,Re=je(),b=w[\\\"default\\\"].createContext({shouldForwardProp:void 0,styleSheet:r,stylis:Re}),N=b.Consumer,ke=w[\\\"default\\\"].createContext(void 0);function I(){return C.useContext(b)}function Ne(t){var e=C.useState(t.stylisPlugins),r=e[0],n=e[1],o=I().styleSheet,e=C.useMemo(function(){var e=o;return t.sheet?e=t.sheet:t.target&&(e=e.reconstructWithOptions({target:t.target},!1)),e=t.disableCSSOMInjection?e.reconstructWithOptions({useCSSOMInjection:!1}):e},[t.disableCSSOMInjection,t.sheet,t.target,o]),a=C.useMemo(function(){return je({options:{namespace:t.namespace,prefix:t.enableVendorPrefixes},plugins:r})},[t.enableVendorPrefixes,t.namespace,r]);return C.useEffect(function(){L[\\\"default\\\"](r,t.stylisPlugins)||n(t.stylisPlugins)},[t.stylisPlugins]),w[\\\"default\\\"].createElement(b.Provider,{value:{shouldForwardProp:t.shouldForwardProp,styleSheet:e,stylis:a}},w[\\\"default\\\"].createElement(ke.Provider,{value:a},t.children))}Be.prototype.getName=function(e){return this.name+(e=void 0===e?Re:e).hash};var Me=Be;function Be(e,t){var n=this;this.inject=function(e,t){var r=n.name+(t=void 0===t?Re:t).hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,\\\"@keyframes\\\"))},this.name=e,this.id=\\\"sc-keyframes-\\\".concat(e),this.rules=t,me(this,function(){throw g(12,String(n.name))})}var Le=function(e){return\\\"A\\\"\u003C=e&&e\u003C=\\\"Z\\\"};function Fe(e){for(var t=\\\"\\\",r=0;r\u003Ce.length;r++){var n=e[r];if(1===r&&\\\"-\\\"===n&&\\\"-\\\"===e[0])return e;Le(n)?t+=\\\"-\\\"+n.toLowerCase():t+=n}return t.startsWith(\\\"ms-\\\")?\\\"-\\\"+t:t}var He=function(e){return null==e||!1===e||\\\"\\\"===e},ze=function(e){var t,r,n=[];for(r in e){var o=e[r];e.hasOwnProperty(r)&&!He(o)&&(Array.isArray(o)&&o.isCss||$(o)?n.push(\\\"\\\".concat(Fe(r),\\\":\\\"),o,\\\";\\\"):P(o)?n.push.apply(n,T.__spreadArray(T.__spreadArray([\\\"\\\".concat(r,\\\" {\\\")],ze(o),!1),[\\\"}\\\"],!1)):n.push(\\\"\\\".concat(Fe(r),\\\": \\\").concat((t=r,null==(o=o)||\\\"boolean\\\"==typeof o||\\\"\\\"===o?\\\"\\\":\\\"number\\\"!=typeof o||0===o||t in F[\\\"default\\\"]||t.startsWith(\\\"--\\\")?String(o).trim():\\\"\\\".concat(o,\\\"px\\\")),\\\";\\\")))}return n};function E(e,t,r,n){var o;return He(e)?[]:A(e)?[\\\".\\\".concat(e.styledComponentId)]:$(e)?!$(o=e)||o.prototype&&o.prototype.isReactComponent||!t?[e]:(\\\"object\\\"!=typeof(o=e(t))||Array.isArray(o)||o instanceof Me||P(o)||null===o||console.error(\\\"\\\".concat(D(e),\\\" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\\")),E(o,t,r,n)):e instanceof Me?r?(e.inject(r,n),[e.getName(n)]):[e]:P(e)?ze(e):Array.isArray(e)?Array.prototype.concat.apply(S,e.map(function(e){return E(e,t,r,n)})):[e.toString()]}var Ke=Z(\\\"6.0.7\\\"),Ve=(Ue.prototype.generateAndInjectStyles=function(e,t,r){var n,o=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,r):\\\"\\\";if(this.isStatic&&!r.hash)this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId)?o=O(o,this.staticRulesId):(a=u(E(this.rules,e,t,r)),n=Q(f(this.baseHash,a)>>>0),t.hasNameForId(this.componentId,n)||(a=r(a,\\\".\\\".concat(n),void 0,this.componentId),t.insertRules(this.componentId,n,a)),o=O(o,n),this.staticRulesId=n);else{for(var a,i=f(this.baseHash,r.hash),s=\\\"\\\",c=0;c\u003Cthis.rules.length;c++){var l=this.rules[c];\\\"string\\\"==typeof l?(s+=l,i=f(i,l)):l&&(l=u(E(l,e,t,r)),i=f(i,l),s+=l)}s&&(a=Q(i>>>0),t.hasNameForId(this.componentId,a)||t.insertRules(this.componentId,a,r(s,\\\".\\\".concat(a),void 0,this.componentId)),o=O(o,a))}return o},Ue);function Ue(e,t,r){this.rules=e,this.staticRulesId=\\\"\\\",this.isStatic=!1,this.componentId=t,this.baseHash=f(Ke,t),this.baseStyle=r,v.registerId(t)}var j=w[\\\"default\\\"].createContext(void 0),n=j.Consumer,Ge={},qe=new Set;function We(e,t,r){var n,o,a,i,s=A(e),c=e,l=!te(e),u=t.attrs,u=void 0===u?S:u,d=t.componentId,p=void 0===d?(n=t.displayName,o=t.parentComponentId,p=\\\"string\\\"!=typeof n?\\\"sc\\\":Y(n),Ge[p]=(Ge[p]||0)+1,p=\\\"\\\".concat(p,\\\"-\\\").concat(ee(\\\"6.0.7\\\"+p+Ge[p])),o?\\\"\\\".concat(o,\\\"-\\\").concat(p):p):d,d=t.displayName,d=void 0===d?te(n=e)?\\\"styled.\\\".concat(n):\\\"Styled(\\\".concat(D(n),\\\")\\\"):d,f=t.displayName&&t.componentId?\\\"\\\".concat(Y(t.displayName),\\\"-\\\").concat(t.componentId):t.componentId||p,u=s&&c.attrs?c.attrs.concat(u).filter(Boolean):u,g=t.shouldForwardProp,m=(s&&c.shouldForwardProp&&(a=c.shouldForwardProp,g=t.shouldForwardProp?(i=t.shouldForwardProp,function(e,t){return a(e,t)&&i(e,t)}):a),new Ve(r,f,s?c.componentStyle:void 0));function h(e,t){var r,n=E,o=n.attrs,a=n.componentStyle,i=n.defaultProps,s=n.foldedComponentIds,c=n.styledComponentId,l=n.target,u=w[\\\"default\\\"].useContext(j),d=I(),p=n.shouldForwardProp||d.shouldForwardProp,f=(C.useDebugValue(c),function(e,t,r){for(var n,o=T.__assign(T.__assign({},t),{className:void 0,theme:r}),a=0;a\u003Ce.length;a+=1){var i,s=$(n=e[a])?n(o):n;for(i in s)o[i]=\\\"className\\\"===i?O(o[i],s[i]):\\\"style\\\"===i?T.__assign(T.__assign({},o[i]),s[i]):s[i]}return t.className&&(o.className=O(o.className,t.className)),o}(o,e,U(e,u,i)||x)),g=f.as||l,m={};for(r in f)void 0!==f[r]&&\\\"$\\\"!==r[0]&&\\\"as\\\"!==r&&\\\"theme\\\"!==r&&(\\\"forwardedAs\\\"===r?m.as=f.forwardedAs:p&&!p(r,g)||(m[r]=f[r],p)||B[\\\"default\\\"](r)||qe.has(r)||!G.has(g)||(qe.add(r),console.warn('styled-components: it looks like an unknown prop \\\"'.concat(r,'\\\" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `\u003CStyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)'))));e=a,h=f,d=I(),d=e.generateAndInjectStyles(h,d.styleSheet,d.stylis),C.useDebugValue(d);var h,o=d,u=(n.warnTooManyClasses&&n.warnTooManyClasses(o),O(s,c));return o&&(u+=\\\" \\\"+o),f.className&&(u+=\\\" \\\"+f.className),m[te(g)&&!G.has(g)?\\\"class\\\":\\\"className\\\"]=u,m.ref=t,C.createElement(g,m)}h.displayName=d;var _,v,y,b,E=w[\\\"default\\\"].forwardRef(h);return E.attrs=u,E.componentStyle=m,E.shouldForwardProp=g,E.displayName=d,E.foldedComponentIds=s?O(c.foldedComponentIds,c.styledComponentId):\\\"\\\",E.styledComponentId=f,E.target=s?c.target:e,Object.defineProperty(E,\\\"defaultProps\\\",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=s?function(e){for(var t=[],r=1;r\u003Carguments.length;r++)t[r-1]=arguments[r];for(var n=0,o=t;n\u003Co.length;n++)!function a(e,t,r){if(!(r=void 0!==r&&r)&&!P(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var n=0;n\u003Ct.length;n++)e[n]=a(e[n],t[n]);else if(P(t))for(var n in t)e[n]=a(e[n],t[n]);return e}(e,o[n],!0);return e}({},c.defaultProps,e):e}}),V(d,f),E.warnTooManyClasses=(_=d,v=f,b=!(y={}),function(e){var t;!b&&(y[e]=!0,200\u003C=Object.keys(y).length)&&(t=v?' with the id of \\\"'.concat(v,'\\\"'):\\\"\\\",console.warn(\\\"Over \\\".concat(200,\\\" classes were generated for component \\\").concat(_).concat(t,\\\".\\\\n\\\")+\\\"Consider using the attrs method, together with a style object for frequently changed styles.\\\\nExample:\\\\n const Component = styled.div.attrs(props => ({\\\\n style: {\\\\n background: props.background,\\\\n },\\\\n }))`width: 100%;`\\\\n\\\\n \u003CComponent />\\\"),b=!0,y={})}),me(E,function(){return\\\".\\\".concat(E.styledComponentId)}),l&&ge(E,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),E}function Ye(e,t){for(var r=[e[0]],n=0,o=t.length;n\u003Co;n+=1)r.push(t[n],e[n+1]);return r}var Xe=function(e){return Object.assign(e,{isCss:!0})};function R(e){for(var t,r=[],n=1;n\u003Carguments.length;n++)r[n-1]=arguments[n];return $(e)||P(e)?Xe(E(Ye(S,T.__spreadArray([e],r,!0)))):(t=e,0===r.length&&1===t.length&&\\\"string\\\"==typeof t[0]?E(t):Xe(E(Ye(t,r))))}var Je=function(e){return function t(n,o,a){var e;if(void 0===a&&(a=x),o)return(e=function(e){for(var t=[],r=1;r\u003Carguments.length;r++)t[r-1]=arguments[r];return n(o,a,R.apply(void 0,T.__spreadArray([e],t,!1)))}).attrs=function(e){return t(n,o,T.__assign(T.__assign({},a),{attrs:Array.prototype.concat(a.attrs,e).filter(Boolean)}))},e.withConfig=function(e){return t(n,o,T.__assign(T.__assign({},a),e))},e;throw g(1,o)}(We,e)},Qe=Je,Ze=(G.forEach(function(e){Qe[e]=Je(e)}),k.prototype.createStyles=function(e,t,r,n){var o=n(u(E(this.rules,t,r,n)),\\\"\\\"),a=this.componentId+e;r.insertRules(a,a,o)},k.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},k.prototype.renderStyles=function(e,t,r,n){2\u003Ce&&v.registerId(this.componentId+e),this.removeStyles(e,r),this.createStyles(e,t,r,n)},k);function k(e,t){this.rules=e,this.componentId=t,this.isStatic=function(e){for(var t=0;t\u003Ce.length;t+=1){var r=e[t];if($(r)&&!A(r))return!1}return!0}(e),v.registerId(this.componentId+1)}et.prototype.collectStyles=function(e){if(this.sealed)throw g(2);return w[\\\"default\\\"].createElement(Ne,{sheet:this.instance},e)},et.prototype.interleaveWithNodeStream=function(e){throw g(3)};t=et;function et(){var r=this;this._emitSheetCSS=function(){var e=r.instance.toString(),t=we(),t=u([t&&'nonce=\\\"'.concat(t,'\\\"'),\\\"\\\".concat(l,'=\\\"true\\\"'),\\\"\\\".concat(\\\"data-styled-version\\\",'=\\\"').concat(\\\"6.0.7\\\",'\\\"')].filter(Boolean),\\\" \\\");return\\\"\u003Cstyle \\\".concat(t,\\\">\\\").concat(e,\\\"\u003C/style>\\\")},this.getStyleTags=function(){if(r.sealed)throw g(2);return r._emitSheetCSS()},this.getStyleElement=function(){if(r.sealed)throw g(2);(e={})[l]=\\\"\\\",e[\\\"data-styled-version\\\"]=\\\"6.0.7\\\",e.dangerouslySetInnerHTML={__html:r.instance.toString()};var e,t=we();return t&&(e.nonce=t),[w[\\\"default\\\"].createElement(\\\"style\\\",T.__assign({},e,{key:\\\"sc-0-0\\\"}))]},this.seal=function(){r.sealed=!0},this.instance=new v({isServer:!0}),this.sealed=!1}var r={StyleSheet:v,mainSheet:r},tt=(\\\"undefined\\\"!=typeof navigator&&\\\"ReactNative\\\"===navigator.product&&console.warn(\\\"It looks like you've imported 'styled-components' on React Native.\\\\nPerhaps you're looking to import 'styled-components/native'?\\\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\\\"),\\\"__sc-\\\".concat(l,\\\"__\\\"));\\\"undefined\\\"!=typeof window&&(window[tt]||(window[tt]=0),1===window[tt]&&console.warn(\\\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\\\n\\\\nSee https://s-c.sh/2BAXzed for more info.\\\"),window[tt]+=1),e.ServerStyleSheet=t,e.StyleSheetConsumer=N,e.StyleSheetContext=b,e.StyleSheetManager=Ne,e.ThemeConsumer=n,e.ThemeContext=j,e.ThemeProvider=function(n){var o=w[\\\"default\\\"].useContext(j),e=C.useMemo(function(){var e=n.theme,t=o;if(!e)throw g(14);if($(e)){var r=e(t);if(null===r||Array.isArray(r)||\\\"object\\\"!=typeof r)throw g(7);return r}if(Array.isArray(e)||\\\"object\\\"!=typeof e)throw g(8);return t?T.__assign(T.__assign({},t),e):e},[n.theme,o]);return n.children?w[\\\"default\\\"].createElement(j.Provider,{value:e},n.children):null},e.__PRIVATE__=r,e.createGlobalStyle=function(e){for(var t=[],r=1;r\u003Carguments.length;r++)t[r-1]=arguments[r];var o=R.apply(void 0,T.__spreadArray([e],t,!1)),a=\\\"sc-global-\\\".concat(ee(JSON.stringify(o))),i=new Ze(o,a),s=(V(a),function(e){var t=I(),r=w[\\\"default\\\"].useContext(j),n=w[\\\"default\\\"].useRef(t.styleSheet.allocateGSInstance(a)).current;return w[\\\"default\\\"].Children.count(e.children)&&console.warn(\\\"The global style component \\\".concat(a,\\\" was given child JSX. createGlobalStyle does not render children.\\\")),o.some(function(e){return\\\"string\\\"==typeof e&&-1!==e.indexOf(\\\"@import\\\")})&&console.warn(\\\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical \u003Clink> meta tag to the stylesheet, or simply embedding it manually in your index.html \u003Chead> section for a simpler app.\\\"),t.styleSheet.server&&c(n,e,t.styleSheet,r,t.stylis),w[\\\"default\\\"].useLayoutEffect(function(){if(!t.styleSheet.server)return c(n,e,t.styleSheet,r,t.stylis),function(){return i.removeStyles(n,t.styleSheet)}},[n,e,t.styleSheet,r,t.stylis]),null});function c(e,t,r,n,o){var a;i.isStatic?i.renderStyles(e,z,r,o):(a=T.__assign(T.__assign({},t),{theme:U(t,n,s.defaultProps)}),i.renderStyles(e,a,r,o))}return w[\\\"default\\\"].memo(s)},e.css=R,e[\\\"default\\\"]=Qe,e.isStyledComponent=A,e.keyframes=function(e){for(var t=[],r=1;r\u003Carguments.length;r++)t[r-1]=arguments[r];\\\"undefined\\\"!=typeof navigator&&\\\"ReactNative\\\"===navigator.product&&console.warn(\\\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\\\");var n=u(R.apply(void 0,T.__spreadArray([e],t,!1))),o=ee(n);return new Me(o,n)},e.styled=Qe,e.useTheme=function(){var e=C.useContext(j);if(e)return e;throw g(18)},e.version=\\\"6.0.7\\\",e.withTheme=function(n){var e=w[\\\"default\\\"].forwardRef(function(e,t){var r=U(e,w[\\\"default\\\"].useContext(j),n.defaultProps);return void 0===r&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \\\"'.concat(D(n),'\\\"')),w[\\\"default\\\"].createElement(n,T.__assign({},e,{theme:r,ref:t}))});return e.displayName=\\\"WithTheme(\\\".concat(D(n),\\\")\\\"),ge(e,n)}}}),require_styledIs=__commonJS({\\\"node_modules/.pnpm/typescript-styled-is@2.1.0_react-dom@18.2.0_react@18.2.0_styled-components@6.0.7/node_modules/typescript-styled-is/dist/styledIs.js\\\"(e){init_esbuild_inject();var i,s=e&&e.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\\\"raw\\\",{value:t}):e.raw=t,e},c=e&&e.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t\u003Cr;t++)e+=arguments[t].length;for(var n=Array(e),o=0,t=0;t\u003Cr;t++)for(var a=arguments[t],i=0,s=a.length;i\u003Cs;i++,o++)n[o]=a[i];return n},l=(Object.defineProperty(e,\\\"__esModule\\\",{value:!0}),require_styled_components_browser_cjs());e[\\\"default\\\"]=function(a){return function(n){return function(){for(var e=[],t=0;t\u003Carguments.length;t++)e[t]=arguments[t];var o=function(t){return e[a](function(e){return\\\"string\\\"==typeof e?e in t?Boolean(t[e])===n:!n:e.valid(t)})},r=function(){for(var n=[],e=0;e\u003Carguments.length;e++)n[e]=arguments[e];return function(e){var t=n[0],r=n.slice(1);return o(e)?l.css.apply(void 0,c([t],r)):l.css(i=i||s([\\\"\\\"],[\\\"\\\"]))}};return r.valid=o,r}}}}}),require_dist=__commonJS({\\\"node_modules/.pnpm/typescript-styled-is@2.1.0_react-dom@18.2.0_react@18.2.0_styled-components@6.0.7/node_modules/typescript-styled-is/dist/index.js\\\"(e){init_esbuild_inject();var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{\\\"default\\\":e}},t=(Object.defineProperty(e,\\\"__esModule\\\",{value:!0}),e.someNot=e.some=e.isNot=e.is=void 0,t(require_styledIs())),r=t[\\\"default\\\"](\\\"every\\\"),n=r(!0),r=(e.is=n,r(!1)),r=(e.isNot=r,t[\\\"default\\\"](\\\"some\\\")),t=r(!0),t=(e.some=t,r(!1));e.someNot=t,e[\\\"default\\\"]=n}}),require_lodash=__commonJS({\\\"node_modules/.pnpm/lodash.debounce@4.0.8/node_modules/lodash.debounce/index.js\\\"(e,t){init_esbuild_inject();var o=NaN,a=\\\"[object Symbol]\\\",i=/^\\\\s+|\\\\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt,r=\\\"object\\\"==typeof global&&global&&global.Object===Object&&global,n=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,d=r||n||Function(\\\"return this\\\")(),p=Object.prototype.toString,v=Math.max,y=Math.min,b=function(){return d.Date.now()};function E(e){var t=typeof e;return e&&(\\\"object\\\"==t||\\\"function\\\"==t)}function T(e){if(\\\"number\\\"==typeof e)return e;if(\\\"symbol\\\"==typeof(t=e)||!!(r=t)&&\\\"object\\\"==typeof r&&p.call(t)==a)return o;var t,r;if(\\\"string\\\"!=typeof(e=E(e)?E(n=\\\"function\\\"==typeof e.valueOf?e.valueOf():e)?n+\\\"\\\":n:e))return 0===e?e:+e;e=e.replace(i,\\\"\\\");var n=c.test(e);return n||l.test(e)?u(e.slice(2),n?2:8):s.test(e)?o:+e}t.exports=function(n,o,e){var a,i,r,s,c,l,u=0,d=!1,p=!1,t=!0;if(\\\"function\\\"!=typeof n)throw new TypeError(\\\"Expected a function\\\");function f(e){var t=a,r=i;return a=i=void 0,u=e,s=n.apply(r,t)}function g(e){var t=e-l;return void 0===l||o\u003C=t||t\u003C0||p&&r\u003C=e-u}function m(){var e,t=b();if(g(t))return h(t);c=setTimeout(m,(t=o-((e=t)-l),p?y(t,r-(e-u)):t))}function h(e){return c=void 0,t&&a?f(e):(a=i=void 0,s)}function _(){var e,t=b(),r=g(t);if(a=arguments,i=this,l=t,r){if(void 0===c)return u=e=l,c=setTimeout(m,o),d?f(e):s;if(p)return c=setTimeout(m,o),f(l)}return void 0===c&&(c=setTimeout(m,o)),s}return o=T(o)||0,E(e)&&(d=!!e.leading,p=\\\"maxWait\\\"in e,r=p?v(T(e.maxWait)||0,o):r,t=\\\"trailing\\\"in e?!!e.trailing:t),_.cancel=function(){void 0!==c&&clearTimeout(c),a=l=i=c=void(u=0)},_.flush=function(){return void 0===c?s:h(b())},_}}}),require_performance_now=__commonJS({\\\"node_modules/.pnpm/performance-now@2.1.0/node_modules/performance-now/lib/performance-now.js\\\"(e,i){init_esbuild_inject(),(function(){var e,t,r,n,o,a;\\\"undefined\\\"!=typeof performance&&null!==performance&&performance.now?i.exports=function(){return performance.now()}:\\\"undefined\\\"!=typeof process&&null!==process&&process.hrtime?(i.exports=function(){return(e()-o)/1e6},t=process.hrtime,n=(e=function(){var e=t();return 1e9*e[0]+e[1]})(),a=1e9*process.uptime(),o=n-a):r=Date.now?(i.exports=function(){return Date.now()-r},Date.now()):(i.exports=function(){return(new Date).getTime()-r},(new Date).getTime())}).call(e)}}),require_raf=__commonJS({\\\"node_modules/.pnpm/raf@3.4.1/node_modules/raf/index.js\\\"(e,t){init_esbuild_inject();for(var r,n,o,a,i=require_performance_now(),s=\\\"undefined\\\"==typeof window?global:window,c=[\\\"moz\\\",\\\"webkit\\\"],l=\\\"AnimationFrame\\\",u=s[\\\"request\\\"+l],d=s[\\\"cancel\\\"+l]||s[\\\"cancelRequest\\\"+l],r=0;!u&&r\u003Cc.length;r++)u=s[c[r]+\\\"Request\\\"+l],d=s[c[r]+\\\"Cancel\\\"+l]||s[c[r]+\\\"CancelRequest\\\"+l];u&&d||(o=n=0,a=[],u=function(e){var t,r;return 0===a.length&&(t=i(),r=Math.max(0,1e3/60-(t-n)),n=r+t,setTimeout(function(){for(var e=a.slice(0),t=a.length=0;t\u003Ce.length;t++)if(!e[t].cancelled)try{e[t].callback(n)}catch(r){setTimeout(function(){throw r},0)}},Math.round(r))),a.push({handle:++o,callback:e,cancelled:!1}),o},d=function(e){for(var t=0;t\u003Ca.length;t++)a[t].handle===e&&(a[t].cancelled=!0)}),t.exports=function(e){return u.call(s,e)},t.exports.cancel=function(){d.apply(s,arguments)},t.exports.polyfill=function(e){(e=e||s).requestAnimationFrame=u,e.cancelAnimationFrame=d}}}),import_react=(init_esbuild_inject(),init_esbuild_inject(),window.requestIdleCallback=window.requestIdleCallback||function(e){var t=Date.now();return setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},window.cancelIdleCallback=window.cancelIdleCallback||function(e){clearTimeout(e)},init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),require(\\\"react\\\")),import_meta={},SUSPENSE_PROMISE=Symbol(),isSuspensePromise=e=>!!e[SUSPENSE_PROMISE],isSuspensePromiseAlreadyCancelled=e=>!e[SUSPENSE_PROMISE].c,cancelSuspensePromise=e=>{var t,r;null!=(r=(t=e[SUSPENSE_PROMISE]).c)&&r.call(t)},isEqualSuspensePromise=(e,t)=>{var r=e[SUSPENSE_PROMISE].o,n=t[SUSPENSE_PROMISE].o;return r===n||e===n||isSuspensePromise(r)&&isEqualSuspensePromise(r,t)},createSuspensePromise=t=>{const r={o:t,c:null};var e=new Promise(e=>{r.c=()=>{r.c=null,e()},t.then(r.c,r.c)});return e[SUSPENSE_PROMISE]=r,e},__defProp2=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp2=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,r)=>t in e?__defProp2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__spreadValues=(e,t)=>{for(var r in t=t||{})__hasOwnProp2.call(t,r)&&__defNormalProp(e,r,t[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(t))__propIsEnum.call(t,r)&&__defNormalProp(e,r,t[r]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),hasInitialValue=e=>\\\"init\\\"in e,READ_ATOM=\\\"r\\\",WRITE_ATOM=\\\"w\\\",COMMIT_ATOM=\\\"c\\\",SUBSCRIBE_ATOM=\\\"s\\\",RESTORE_ATOMS=\\\"h\\\",DEV_SUBSCRIBE_STATE=\\\"n\\\",DEV_GET_MOUNTED_ATOMS=\\\"l\\\",DEV_GET_ATOM_STATE=\\\"a\\\",DEV_GET_MOUNTED=\\\"m\\\",createStore=e=>{const o=new WeakMap,s=new WeakMap,a=new Map;let t,i;if(\\\"production\\\"!==(import_meta.env&&import_meta.env.MODE)&&(t=new Set,i=new Set),e)for(var[r,n]of e){n={v:n,r:0,d:new Map};\\\"production\\\"!==(import_meta.env&&import_meta.env.MODE)&&(Object.freeze(n),hasInitialValue(r)||console.warn(\\\"Found initial value for derived atom which can cause unexpected behavior\\\",r)),o.set(r,n)}const c=new WeakMap,l=e=>{const r=new Set;var t=c.get(e);return t&&(c[\\\"delete\\\"](e),t.forEach((e,t)=>{cancelSuspensePromise(e),r.add(t)})),r},u=new WeakMap,d=e=>{let t=u.get(e);return t||(t=new Map,u.set(e,t)),t},p=(t,r)=>{if(t){const n=d(t);let e=n.get(r);return e||(e=p(t.p,r))&&(\\\"p\\\"in e&&e.p.then(()=>n[\\\"delete\\\"](r)),n.set(r,e)),e}return o.get(r)},f=(e,t,r)=>{var n;\\\"production\\\"!==(import_meta.env&&import_meta.env.MODE)&&Object.freeze(r),e?d(e).set(t,r):(n=o.get(t),o.set(t,r),a.has(t)||a.set(t,n))},g=(r,n=new Map,e)=>{if(!e)return n;const o=new Map;let a=!1;return e.forEach(e=>{var t=(null==(t=p(r,e))?void 0:t.r)||0;o.set(e,t),n.get(e)!==t&&(a=!0)}),n.size!==o.size||a?o:n},m=(e,t,r,n,o)=>{const a=p(e,t);if(a){if(o&&(!(\\\"p\\\"in a)||!isEqualSuspensePromise(a.p,o)))return a;\\\"p\\\"in a&&cancelSuspensePromise(a.p)}var i={v:r,r:(null==a?void 0:a.r)||0,d:g(e,null==a?void 0:a.d,n)};let s=!1;return a&&\\\"v\\\"in a&&Object.is(a.v,r)?i.d===a.d||i.d.size===a.d.size&&Array.from(i.d.keys()).every(e=>a.d.has(e))||(s=!0,Promise.resolve().then(()=>{A(e)})):(s=!0,++i.r,i.d.has(t)&&(i.d=new Map(i.d).set(t,i.r))),a&&!s?a:(f(e,t,i),i)},h=(e,t,r,n,o)=>{var a=p(e,t);if(a){if(o&&(!(\\\"p\\\"in a)||!isEqualSuspensePromise(a.p,o)))return a;\\\"p\\\"in a&&cancelSuspensePromise(a.p)}a={e:r,r:(null==a?void 0:a.r)||0,d:g(e,null==a?void 0:a.d,n)};return f(e,t,a),a},_=(t,r,n,e)=>{var o=p(t,r);if(o&&\\\"p\\\"in o){if(isEqualSuspensePromise(o.p,n))return o;cancelSuspensePromise(o.p)}{var a=t,i=r,s=n;let e=c.get(i);e||(e=new Map,c.set(i,e)),s.then(()=>{e.get(a)===s&&(e[\\\"delete\\\"](a),e.size||c[\\\"delete\\\"](i))}),e.set(a,s)}o={p:n,r:(null==o?void 0:o.r)||0,d:g(t,null==o?void 0:o.d,e)};return f(t,r,o),o},v=(t,r,e,n)=>{if(e instanceof Promise){const o=createSuspensePromise(e.then(e=>{m(t,r,e,n,o)})[\\\"catch\\\"](e=>{if(e instanceof Promise)return isSuspensePromise(e)?e.then(()=>{b(t,r,!0)}):e;h(t,r,e,n,o)}));return _(t,r,o,n)}return m(t,r,e,n)},y=(e,t)=>{var r=p(e,t);r?(r=__spreadProps(__spreadValues({},r),{i:r.r}),f(e,t,r)):\\\"production\\\"!==(import_meta.env&&import_meta.env.MODE)&&console.warn(\\\"[Bug] could not invalidate non existing atom\\\",t)},b=(n,o,e)=>{if(!e){var t=p(n,o);if(t){if(t.r!==t.i&&\\\"p\\\"in t&&!isSuspensePromiseAlreadyCancelled(t.p))return t;if(t.d.forEach((e,t)=>{var r;t!==o&&(!s.has(t)||(r=p(n,t))&&r.r===r.i)&&b(n,t)}),Array.from(t.d).every(([e,t])=>{var r=p(n,e);return r&&\\\"v\\\"in r&&r.r===t}))return t}}const r=new Set;try{var a=o.read(e=>{r.add(e);var t=(e===o?p:b)(n,e);if(t){if(\\\"e\\\"in t)throw t.e;if(\\\"p\\\"in t)throw t.p;return t.v}if(hasInitialValue(e))return e.init;throw new Error(\\\"no atom init\\\")});return v(n,o,a,r)}catch(i){return i instanceof Promise?(t=createSuspensePromise(i),_(n,o,t,r)):h(n,o,i,r)}};var E=(e,t)=>{return b(t,e)};const T=(e,t)=>!t.l.size&&(!t.t.size||1===t.t.size&&t.t.has(e)),C=(t,r)=>{var e=s.get(r);null!=e&&e.t.forEach(e=>{e!==r&&(y(t,e),C(t,e))})},w=(o,a,e)=>{let i=!0;const n=(e,t)=>{var r=b(o,e);if(\\\"e\\\"in r)throw r.e;if(\\\"p\\\"in r){if(null!=t&&t.unstable_promise)return r.p.then(()=>n(e,t));throw\\\"production\\\"!==(import_meta.env&&import_meta.env.MODE)&&console.info(\\\"Reading pending atom state in write operation. We throw a promise for now.\\\",e),r.p}if(\\\"v\\\"in r)return r.v;throw\\\"production\\\"!==(import_meta.env&&import_meta.env.MODE)&&console.warn(\\\"[Bug] no value found while reading atom in write operation. This is probably a bug.\\\",e),new Error(\\\"no value found\\\")};var t=a.write(n,(t,r)=>{let e;if(t===a){if(!hasInitialValue(t))throw new Error(\\\"atom not writable\\\");l(t).forEach(e=>{e!==o&&v(e,t,r)});var n=p(o,t);n!==v(o,t,r)&&C(o,t)}else e=w(o,t,r);return i||A(o),e},e);return i=!1,o=void 0,t},S=(e,t,r)=>{var n=w(r,e,t);return A(r),n},x=(n,e)=>{var t,r={t:new Set(e&&[e]),l:new Set};return s.set(n,r),\\\"production\\\"!==(import_meta.env&&import_meta.env.MODE)&&i.add(n),b(void 0,n).d.forEach((e,t)=>{var r=s.get(t);r?r.t.add(n):t!==n&&x(t,n)}),n.write&&n.onMount&&(t=n.onMount(e=>S(n,e)))&&(r.u=t),r},D=n=>{var e=null==(e=s.get(n))?void 0:e.u,e=(e&&e(),s[\\\"delete\\\"](n),\\\"production\\\"!==(import_meta.env&&import_meta.env.MODE)&&i[\\\"delete\\\"](n),p(void 0,n));e?e.d.forEach((e,t)=>{var r;t!==n&&(r=s.get(t))&&(r.t[\\\"delete\\\"](n),T(t,r))&&D(t)}):\\\"production\\\"!==(import_meta.env&&import_meta.env.MODE)&&console.warn(\\\"[Bug] could not find atom state to unmount\\\",n)},$=(n,e,t)=>{const o=new Set(e.d.keys());null!=t&&t.forEach((e,t)=>{var r;o.has(t)?o[\\\"delete\\\"](t):(r=s.get(t))&&(r.t[\\\"delete\\\"](n),T(t,r))&&D(t)}),o.forEach(e=>{var t=s.get(e);t?t.t.add(n):s.has(n)&&x(e,n)})},A=n=>{if(n)d(n).forEach((e,t)=>{var r;e!==o.get(t)&&null!=(r=s.get(t))&&r.l.forEach(e=>e(n))});else{for(;a.size;){var e=Array.from(a);a.clear(),e.forEach(([e,t])=>{var r=p(void 0,e);r&&r.d!==(null==t?void 0:t.d)&&$(e,r,null==t?void 0:t.d),t&&\\\"i\\\"in t&&r&&!(\\\"i\\\"in r)||null!=(r=s.get(e))&&r.l.forEach(e=>e())})}\\\"production\\\"!==(import_meta.env&&import_meta.env.MODE)&&t.forEach(e=>e())}};var O=(e,t)=>{t&&(t=t,d(t).forEach((e,t)=>{var r=o.get(t);(e.r>((null==r?void 0:r.r)||0)||\\\"v\\\"in e&&e.r===(null==r?void 0:r.r)&&e.d!==(null==r?void 0:r.d))&&(o.set(t,e),e.d!==(null==r?void 0:r.d))&&$(t,e,null==r?void 0:r.d)})),A(void 0)},P=(r,n)=>{const o=(e=>{let t=s.get(e);return t=t||x(e)})(r).l;return o.add(n),()=>{var e,t;o[\\\"delete\\\"](n),e=r,(t=s.get(e))&&T(e,t)&&D(e)}},I=(e,t)=>{for(var[r,n]of e)hasInitialValue(r)&&(v(t,r,n),C(t,r));A(t)};return\\\"production\\\"!==(import_meta.env&&import_meta.env.MODE)?{[READ_ATOM]:E,[WRITE_ATOM]:S,[COMMIT_ATOM]:O,[SUBSCRIBE_ATOM]:P,[RESTORE_ATOMS]:I,[DEV_SUBSCRIBE_STATE]:e=>(t.add(e),()=>{t[\\\"delete\\\"](e)}),[DEV_GET_MOUNTED_ATOMS]:()=>i.values(),[DEV_GET_ATOM_STATE]:e=>o.get(e),[DEV_GET_MOUNTED]:e=>s.get(e)}:{[READ_ATOM]:E,[WRITE_ATOM]:S,[COMMIT_ATOM]:O,[SUBSCRIBE_ATOM]:P,[RESTORE_ATOMS]:I}},createScopeContainer=(e,t)=>{return{s:t?t(e).SECRET_INTERNAL_store:createStore(e)}},ScopeContextMap=new Map,getScopeContext=e=>(ScopeContextMap.has(e)||ScopeContextMap.set(e,(0,import_react.createContext)(createScopeContainer())),ScopeContextMap.get(e)),Provider=({children:e,initialValues:t,scope:r,unstable_createStore:n,unstable_enableVersionedWrite:o})=>{const[a,i]=(0,import_react.useState)({}),s=((0,import_react.useEffect)(()=>{a&&(s.current.s[COMMIT_ATOM](null,a),delete a.p)},[a]),(0,import_react.useRef)());s.current||(s.current=createScopeContainer(t,n),o&&(s.current.w=r=>{i(e=>{var t=e?{p:e}:{};return r(t),t})}));var c=getScopeContext(r);return(0,import_react.createElement)(c.Provider,{value:s.current},e)},keyCount=0;function atom(e,t){const r=\\\"atom\\\"+ ++keyCount,n={toString:()=>r};return\\\"function\\\"==typeof e?n.read=e:(n.init=e,n.read=e=>e(n),n.write=(e,t,r)=>t(n,\\\"function\\\"==typeof r?r(e(n)):r)),t&&(n.write=t),n}function useAtomValue(n,e){var t=getScopeContext(e);const r=(0,import_react.useContext)(t)[\\\"s\\\"],o=(0,import_react.useCallback)(e=>{var t=r[READ_ATOM](n,e);if(\\\"e\\\"in t)throw t.e;if(\\\"p\\\"in t)throw t.p;if(\\\"v\\\"in t)return t.v;throw new Error(\\\"no atom value\\\")},[r,n]),[[a,i,s],c]=(0,import_react.useReducer)((0,import_react.useCallback)((e,t)=>{var r=o(t);return Object.is(e[1],r)&&e[2]===n?e:[t,r,n]},[o,n]),void 0,()=>{return[void 0,o(void 0),n]});return s!==n&&c(void 0),(0,import_react.useEffect)(()=>{var e=r[SUBSCRIBE_ATOM](n,c);return c(void 0),e},[r,n]),(0,import_react.useEffect)(()=>{r[COMMIT_ATOM](n,a)}),(0,import_react.useDebugValue)(i),i}function useSetAtom(r,e){var t=getScopeContext(e);const{s:n,w:o}=(0,import_react.useContext)(t);return(0,import_react.useCallback)(t=>{var e;if(\\\"production\\\"===(import_meta.env&&import_meta.env.MODE)||\\\"write\\\"in r)return e=e=>n[WRITE_ATOM](r,t,e),o?o(e):e();throw new Error(\\\"not writable atom\\\")},[n,o,r])}function useAtom(e,t){return\\\"scope\\\"in e&&(console.warn(\\\"atom.scope is deprecated. Please do useAtom(atom, scope) instead.\\\"),t=e.scope),[useAtomValue(e,t),useSetAtom(e,t)]}var import_react8=__toESM(require(\\\"react\\\")),nanoid=(init_esbuild_inject(),init_esbuild_inject(),(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((e,t)=>e+=(t&=63)\u003C36?t.toString(36):t\u003C62?(t-26).toString(36).toUpperCase():62\u003Ct?\\\"-\\\":\\\"_\\\",\\\"\\\")),import_react2=(init_esbuild_inject(),require(\\\"react\\\")),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),reservedModifierKeywords=[\\\"shift\\\",\\\"alt\\\",\\\"meta\\\",\\\"mod\\\",\\\"ctrl\\\"],mappedKeys={esc:\\\"escape\\\",\\\"return\\\":\\\"enter\\\",\\\".\\\":\\\"period\\\",\\\",\\\":\\\"comma\\\",\\\"-\\\":\\\"slash\\\",\\\" \\\":\\\"space\\\",\\\"`\\\":\\\"backquote\\\",\\\"#\\\":\\\"backslash\\\",\\\"+\\\":\\\"bracketright\\\",ShiftLeft:\\\"shift\\\",ShiftRight:\\\"shift\\\",AltLeft:\\\"alt\\\",AltRight:\\\"alt\\\",MetaLeft:\\\"meta\\\",MetaRight:\\\"meta\\\",OSLeft:\\\"meta\\\",OSRight:\\\"meta\\\",ControlLeft:\\\"ctrl\\\",ControlRight:\\\"ctrl\\\"};function mapKey(e){return(mappedKeys[e]||e).trim().toLowerCase().replace(/key|digit|numpad|arrow/,\\\"\\\")}function isHotkeyModifier(e){return reservedModifierKeywords.includes(e)}\\\"undefined\\\"!=typeof document&&(document.addEventListener(\\\"keydown\\\",function(e){void 0!==e.key&&pushToCurrentlyPressedKeys([mapKey(e.key),mapKey(e.code)])}),document.addEventListener(\\\"keyup\\\",function(e){void 0!==e.key&&removeFromCurrentlyPressedKeys([mapKey(e.key),mapKey(e.code)])})),\\\"undefined\\\"!=typeof window&&window.addEventListener(\\\"blur\\\",function(){currentlyPressedKeys.clear()});var G,U,currentlyPressedKeys=new Set;function pushToCurrentlyPressedKeys(e){var t=Array.isArray(e)?e:[e];currentlyPressedKeys.has(\\\"meta\\\")&¤tlyPressedKeys.forEach(function(e){return!isHotkeyModifier(e)&¤tlyPressedKeys[\\\"delete\\\"](e.toLowerCase())}),t.forEach(function(e){return currentlyPressedKeys.add(e.toLowerCase())})}function removeFromCurrentlyPressedKeys(e){var t=Array.isArray(e)?e:[e];\\\"meta\\\"===e?currentlyPressedKeys.clear():t.forEach(function(e){return currentlyPressedKeys[\\\"delete\\\"](e.toLowerCase())})}function n(e){for(var t=arguments.length,r=Array(1\u003Ct?t-1:0),n=1;n\u003Ct;n++)r[n-1]=arguments[n];var o=Y[e],o=o?\\\"function\\\"==typeof o?o.apply(null,r):o:\\\"unknown error nr: \\\"+e;throw Error(\\\"[Immer] \\\"+o)}function r(e){return!!e&&!!e[Q]}function t(e){var t;return!!e&&(!(!e||\\\"object\\\"!=typeof e)&&(null===(t=Object.getPrototypeOf(e))||(t=Object.hasOwnProperty.call(t,\\\"constructor\\\")&&t.constructor)===Object||\\\"function\\\"==typeof t&&Function.toString.call(t)===Z)||Array.isArray(e)||!!e[L]||!(null==(t=e.constructor)||!t[L])||s(e)||v(e))}function i(r,n,t){void 0===t&&(t=!1),0===o(r)?(t?Object.keys:nn)(r).forEach(function(e){t&&\\\"symbol\\\"==typeof e||n(e,r[e],r)}):r.forEach(function(e,t){return n(t,e,r)})}function o(e){var t=e[Q];return t?3\u003Ct.i?t.i-4:t.i:Array.isArray(e)?1:s(e)?2:v(e)?3:0}function u(e,t){return 2===o(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function a(e,t){return 2===o(e)?e.get(t):e[t]}function f(e,t,r){var n=o(e);2===n?e.set(t,r):3===n?e.add(r):e[t]=r}function c(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function s(e){return X&&e instanceof Map}function v(e){return q&&e instanceof Set}function p(e){return e.o||e.t}function l(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=rn(e);delete t[Q];for(var r=nn(t),n=0;n\u003Cr.length;n++){var o=r[n],a=t[o];!1===a.writable&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(t[o]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[o]})}return Object.create(Object.getPrototypeOf(e),t)}function d(e,n){return void 0===n&&(n=!1),y(e)||r(e)||!t(e)||(1\u003Co(e)&&(e.set=e.add=e.clear=e[\\\"delete\\\"]=h),Object.freeze(e),n&&i(e,function(e,t){return d(t,!0)},!0)),e}function h(){n(2)}function y(e){return null==e||\\\"object\\\"!=typeof e||Object.isFrozen(e)}function b(e){var t=tn[e];return t||n(18,e),t}function m(e,t){tn[e]||(tn[e]=t)}function _(){return U||n(0),U}function j(e,t){t&&(b(\\\"Patches\\\"),e.u=[],e.s=[],e.v=t)}function g(e){O(e),e.p.forEach(S),e.p=null}function O(e){e===U&&(U=e.l)}function w(e){return U={p:[],l:U,h:e,m:!0,_:0}}function S(e){var t=e[Q];0===t.i||1===t.i?t.j():t.g=!0}function P(e,r){r._=r.p.length;var o=r.p[0],a=void 0!==e&&e!==o;return r.h.O||b(\\\"ES5\\\").S(r,e,a),a?(o[Q].P&&(g(r),n(4)),t(e)&&(e=M(r,e),r.l||x(r,e)),r.u&&b(\\\"Patches\\\").M(o[Q].t,e,r.u,r.s)):e=M(r,o,[]),g(r),r.u&&r.v(r.u,r.s),e!==H?e:void 0}function M(r,n,o){var a,s,e,c;return y(n)?n:(a=n[Q])?a.A!==r?n:a.P?(a.I||(a.I=!0,a.A._--,e=s=4===a.i||5===a.i?a.o=l(a.k):a.o,c=!1,3===a.i&&(e=new Set(s),s.clear(),c=!0),i(e,function(e,t){return A(r,a,s,e,t,o,c)}),x(r,s,!1),o&&r.u&&b(\\\"Patches\\\").N(a,o,r.u,r.s)),a.o):(x(r,a.t,!0),a.t):(i(n,function(e,t){return A(r,a,n,e,t,o)},!0),n)}function A(e,o,a,i,s,c,l){if(s===a&&n(5),r(s)){var d=M(e,s,c&&o&&3!==o.i&&!u(o.R,i)?c.concat(i):void 0);if(f(a,i,d),!r(d))return;e.m=!1}else l&&a.add(s);!t(s)||y(s)||!e.h.D&&e._\u003C1||(M(e,s),o&&o.A.l)||x(e,s)}function x(e,t,r){void 0===r&&(r=!1),!e.l&&e.h.D&&e.m&&d(t,r)}function z(e,t){var r=e[Q];return(r?p(r):e)[t]}function I(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Object.getPrototypeOf(r)}}function k(e){e.P||(e.P=!0,e.l&&k(e.l))}function E(e){e.o||(e.o=l(e.t))}function N(e,t,r){var n,o,a,i,c=s(t)?b(\\\"MapSet\\\").F(t,r):v(t)?b(\\\"MapSet\\\").T(t,r):e.O?(e=t,n=r,c=Array.isArray(e),o={i:c?1:0,A:n?n.A:_(),P:!1,I:!1,R:{},l:n,t:e,k:null,o:null,j:null,C:!1},a=o,i=en,c&&(a=[o],i=on),c=Proxy.revocable(a,i),a=c.revoke,i=c.proxy,o.k=i,o.j=a,i):b(\\\"ES5\\\").J(t,r);return(r?r.A:_()).p.push(c),c}function R(e){return r(e)||n(22,e),function c(e){if(!t(e))return e;var r,n=e[Q],s=o(e);if(n){if(!n.P&&(n.i\u003C4||!b(\\\"ES5\\\").K(n)))return n.t;n.I=!0,r=D(e,s),n.I=!1}else r=D(e,s);return i(r,function(e,t){n&&a(n.t,e)===t||f(r,e,c(t))}),3===s?new Set(r):r}(e)}function D(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return l(e)}function C(){function e(e,t){function r(){this.constructor=e}c(e,t),e.prototype=(r.prototype=t.prototype,new r)}function o(e){e.o||(e.R=new Map,e.o=new Map(e.t))}function r(n){n.o||(n.o=new Set,n.t.forEach(function(e){var r;t(e)?(r=N(n.A.h,e,n),n.p.set(e,r),n.o.add(r)):n.o.add(e)}))}function a(e){e.g&&n(3,JSON.stringify(p(e)))}var s,c=function(e,t){return(c=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(e,t){e.__proto__=t}:function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}))(e,t)},l=(e(f,Map),s=f.prototype,Object.defineProperty(s,\\\"size\\\",{get:function(){return p(this[Q]).size}}),s.has=function(e){return p(this[Q]).has(e)},s.set=function(e,t){var r=this[Q];return a(r),p(r).has(e)&&p(r).get(e)===t||(o(r),k(r),r.R.set(e,!0),r.o.set(e,t),r.R.set(e,!0)),this},s[\\\"delete\\\"]=function(e){var t;return!!this.has(e)&&(a(t=this[Q]),o(t),k(t),t.t.has(e)?t.R.set(e,!1):t.R[\\\"delete\\\"](e),t.o[\\\"delete\\\"](e),!0)},s.clear=function(){var t=this[Q];a(t),p(t).size&&(o(t),k(t),t.R=new Map,i(t.t,function(e){t.R.set(e,!1)}),t.o.clear())},s.forEach=function(r,n){var o=this;p(this[Q]).forEach(function(e,t){r.call(n,o.get(t),t,o)})},s.get=function(e){var r=this[Q],n=(a(r),p(r).get(e));return r.I||!t(n)||n!==r.t.get(e)?n:(n=N(r.A.h,n,r),o(r),r.o.set(e,n),n)},s.keys=function(){return p(this[Q]).keys()},s.values=function(){var e,t=this,r=this.keys();return(e={})[V]=function(){return t.values()},e.next=function(){var e=r.next();return e.done?e:{done:!1,value:t.get(e.value)}},e},s.entries=function(){var e,r=this,n=this.keys();return(e={})[V]=function(){return r.entries()},e.next=function(){var e,t=n.next();return t.done?t:(e=r.get(t.value),{done:!1,value:[t.value,e]})},e},s[V]=function(){return this.entries()},f),u=(e(d,Set),s=d.prototype,Object.defineProperty(s,\\\"size\\\",{get:function(){return p(this[Q]).size}}),s.has=function(e){var t=this[Q];return a(t),t.o?!!t.o.has(e)||!(!t.p.has(e)||!t.o.has(t.p.get(e))):t.t.has(e)},s.add=function(e){var t=this[Q];return a(t),this.has(e)||(r(t),k(t),t.o.add(e)),this},s[\\\"delete\\\"]=function(e){var t;return!!this.has(e)&&(a(t=this[Q]),r(t),k(t),t.o[\\\"delete\\\"](e)||!!t.p.has(e)&&t.o[\\\"delete\\\"](t.p.get(e)))},s.clear=function(){var e=this[Q];a(e),p(e).size&&(r(e),k(e),e.o.clear())},s.values=function(){var e=this[Q];return a(e),r(e),e.o.values()},s.entries=function(){var e=this[Q];return a(e),r(e),e.o.entries()},s.keys=function(){return this.values()},s[V]=function(){return this.values()},s.forEach=function(e,t){for(var r=this.values(),n=r.next();!n.done;)e.call(t,n.value,n.value,this),n=r.next()},d);function d(e,t){return this[Q]={i:3,l:t,A:t?t.A:_(),P:!1,I:!1,o:void 0,t:e,k:this,p:new Map,g:!1,C:!1},this}function f(e,t){return this[Q]={i:2,l:t,A:t?t.A:_(),P:!1,I:!1,o:void 0,R:void 0,t:e,k:this,C:!1,g:!1},this}m(\\\"MapSet\\\",{F:function(e,t){return new l(e,t)},T:function(e,t){return new u(e,t)}})}init_esbuild_inject(),init_esbuild_inject();var W=\\\"undefined\\\"!=typeof Symbol&&\\\"symbol\\\"==typeof Symbol(\\\"x\\\"),X=\\\"undefined\\\"!=typeof Map,q=\\\"undefined\\\"!=typeof Set,B=\\\"undefined\\\"!=typeof Proxy&&void 0!==Proxy.revocable&&\\\"undefined\\\"!=typeof Reflect,H=W?Symbol[\\\"for\\\"](\\\"immer-nothing\\\"):((G={})[\\\"immer-nothing\\\"]=!0,G),L=W?Symbol[\\\"for\\\"](\\\"immer-draftable\\\"):\\\"__$immer_draftable\\\",Q=W?Symbol[\\\"for\\\"](\\\"immer-state\\\"):\\\"__$immer_state\\\",V=\\\"undefined\\\"!=typeof Symbol&&Symbol.iterator||\\\"@@iterator\\\",Y={0:\\\"Illegal state\\\",1:\\\"Immer drafts cannot have computed properties\\\",2:\\\"This object has been frozen and should not be mutated\\\",3:function(e){return\\\"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \\\"+e},4:\\\"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\\\",5:\\\"Immer forbids circular references\\\",6:\\\"The first or second argument to `produce` must be a function\\\",7:\\\"The third argument to `produce` must be a function or undefined\\\",8:\\\"First argument to `createDraft` must be a plain object, an array, or an immerable object\\\",9:\\\"First argument to `finishDraft` must be a draft returned by `createDraft`\\\",10:\\\"The given draft is already finalized\\\",11:\\\"Object.defineProperty() cannot be used on an Immer draft\\\",12:\\\"Object.setPrototypeOf() cannot be used on an Immer draft\\\",13:\\\"Immer only supports deleting array indices\\\",14:\\\"Immer only supports setting array indices and the 'length' property\\\",15:function(e){return\\\"Cannot apply patch, path doesn't resolve: \\\"+e},16:'Sets cannot have \\\"replace\\\" patches.',17:function(e){return\\\"Unsupported patch operation: \\\"+e},18:function(e){return\\\"The plugin for '\\\"+e+\\\"' has not been loaded into Immer. To enable the plugin, import and call `enable\\\"+e+\\\"()` when initializing your application.\\\"},20:\\\"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available\\\",21:function(e){return\\\"produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '\\\"+e+\\\"'\\\"},22:function(e){return\\\"'current' expects a draft, got: \\\"+e},23:function(e){return\\\"'original' expects a draft, got: \\\"+e},24:\\\"Patching reserved attributes like __proto__, prototype and constructor is not allowed\\\"},Z=\\\"\\\"+Object.prototype.constructor,nn=\\\"undefined\\\"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,rn=Object.getOwnPropertyDescriptors||function(t){var r={};return nn(t).forEach(function(e){r[e]=Object.getOwnPropertyDescriptor(t,e)}),r},tn={},en={get:function(e,r){var n,o;return r===Q?e:u(n=p(e),r)?(o=n[r],!e.I&&t(o)&&o===z(e.t,r)?(E(e),e.o[r]=N(e.A.h,o,e)):o):(e=e,(o=I(n,r))?\\\"value\\\"in o?o.value:null==(o=o.get)?void 0:o.call(e.k):void 0)},has:function(e,t){return t in p(e)},ownKeys:function(e){return Reflect.ownKeys(p(e))},set:function(e,t,r){var n=I(p(e),t);if(null!=n&&n.set)n.set.call(e.k,r);else{if(!e.P){var n=z(p(e),t),o=null==n?void 0:n[Q];if(o&&o.t===r)return e.o[t]=r,!(e.R[t]=!1);if(c(r,n)&&(void 0!==r||u(e.t,t)))return!0;E(e),k(e)}e.o[t]===r&&(void 0!==r||t in e.o)||Number.isNaN(r)&&Number.isNaN(e.o[t])||(e.o[t]=r,e.R[t]=!0)}return!0},deleteProperty:function(e,t){return void 0!==z(e.t,t)||t in e.t?(e.R[t]=!1,E(e),k(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=p(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:1!==e.i||\\\"length\\\"!==t,enumerable:n.enumerable,value:r[t]}},defineProperty:function(){n(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){n(12)}},on={},un=(i(en,function(e,t){on[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),on.deleteProperty=function(e,t){return isNaN(parseInt(t))&&n(13),on.set.call(this,e,t,void 0)},on.set=function(e,t,r){return\\\"length\\\"!==t&&isNaN(parseInt(t))&&n(14),en.set.call(this,e[0],t,r,e[0])},function(){function e(e){var p=this;this.O=B,this.D=!0,this.produce=function(e,a,r){var i,s,o;if(\\\"function\\\"==typeof e&&\\\"function\\\"!=typeof a)return i=a,a=e,s=p,function(e){var t=this;void 0===e&&(e=i);for(var r=arguments.length,n=Array(1\u003Cr?r-1:0),o=1;o\u003Cr;o++)n[o-1]=arguments[o];return s.produce(e,function(e){return a.call.apply(a,[t,e].concat(n))})};if(\\\"function\\\"!=typeof a&&n(6),void 0!==r&&\\\"function\\\"!=typeof r&&n(7),t(e)){var c=w(p),l=N(p,e,void 0),u=!0;try{o=a(l),u=!1}finally{(u?g:O)(c)}return\\\"undefined\\\"!=typeof Promise&&o instanceof Promise?o.then(function(e){return j(c,r),P(e,c)},function(e){throw g(c),e}):(j(c,r),P(o,c))}if(!e||\\\"object\\\"!=typeof e)return(o=void 0===(o=a(e))?e:o)===H&&(o=void 0),p.D&&d(o,!0),r&&(l=[],u=[],b(\\\"Patches\\\").M(e,o,l,u),r(l,u)),o;n(21,e)},this.produceWithPatches=function(o,e){var r,n,t;return\\\"function\\\"==typeof o?function(e){for(var t=arguments.length,r=Array(1\u003Ct?t-1:0),n=1;n\u003Ct;n++)r[n-1]=arguments[n];return p.produceWithPatches(e,function(e){return o.apply(void 0,[e].concat(r))})}:(t=p.produce(o,e,function(e,t){r=e,n=t}),\\\"undefined\\\"!=typeof Promise&&t instanceof Promise?t.then(function(e){return[e,r,n]}):[t,r,n])},\\\"boolean\\\"==typeof(null==e?void 0:e.useProxies)&&this.setUseProxies(e.useProxies),\\\"boolean\\\"==typeof(null==e?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze)}var o=e.prototype;return o.createDraft=function(e){t(e)||n(8),r(e)&&(e=R(e));var o=w(this),a=N(this,e,void 0);return a[Q].C=!0,O(o),a},o.finishDraft=function(e,t){var r=e&&e[Q],r=(r&&r.C||n(9),r.I&&n(10),r.A);return j(r,t),P(void 0,r)},o.setAutoFreeze=function(e){this.D=e},o.setUseProxies=function(e){e&&!B&&n(20),this.O=e},o.applyPatches=function(e,t){for(var n=t.length-1;0\u003C=n;n--){var o=t[n];if(0===o.path.length&&\\\"replace\\\"===o.op){e=o.value;break}}-1\u003Cn&&(t=t.slice(n+1));var a=b(\\\"Patches\\\").$;return r(e)?a(e,t):this.produce(e,function(e){return a(e,t)})},e}()),an=new un,fn=an.produce,cn=an.produceWithPatches.bind(an),sn=an.setAutoFreeze.bind(an),vn=an.setUseProxies.bind(an),pn=an.applyPatches.bind(an),ln=an.createDraft.bind(an),dn=an.finishDraft.bind(an),immer_esm_default=fn,import_react3=(init_esbuild_inject(),require(\\\"react\\\")),e=(init_esbuild_inject(),Symbol()),t2=Symbol(),r2=\\\"a\\\",n2=\\\"w\\\",o2=(e,t)=>new Proxy(e,t),s2=Object.getPrototypeOf,c2=new WeakMap,l2=e=>e&&(c2.has(e)?c2.get(e):s2(e)===Object.prototype||s2(e)===Array.prototype),f2=e=>\\\"object\\\"==typeof e&&null!==e,i2=new WeakMap,a2=e=>e[t2]||e,u2=(t,r,n)=>{if(!l2(t))return t;var o=a2(t),s=(t=o,Object.isFrozen(t)||Object.values(Object.getOwnPropertyDescriptors(t)).some(e=>!e.writable));let a=n&&n.get(o);return a&&a[1].f===s||((a=(o=>{const a={f:s};let i=!1;const n=(r,n)=>{if(!i){let t=a[r2].get(o);if(t||(t={},a[r2].set(o,t)),r===n2)t[n2]=!0;else{let e=t[r];e||(e=new Set,t[r]=e),e.add(n)}}},t={get:(e,t)=>t===t2?o:(n(\\\"k\\\",t),u2(Reflect.get(e,t),a[r2],a.c)),has:(t,r)=>r===e?(i=!0,a[r2][\\\"delete\\\"](o),!0):(n(\\\"h\\\",r),Reflect.has(t,r)),getOwnPropertyDescriptor:(e,t)=>(n(\\\"o\\\",t),Reflect.getOwnPropertyDescriptor(e,t)),ownKeys:e=>(n(n2),Reflect.ownKeys(e))};return s&&(t.set=t.deleteProperty=()=>!1),[t,a]})(o))[1].p=o2(s?(e=>{let t=i2.get(e);var r;return t||(t=Array.isArray(e)?Array.from(e):(r=Object.getOwnPropertyDescriptors(e),Object.values(r).forEach(e=>{e.configurable=!0}),Object.create(s2(e),r)),i2.set(e,t)),t})(o):o,a[0]),n&&n.set(o,a)),a[1][r2]=r,a[1].c=n,a[1].p},p2=(n,e,t,r)=>{if(Object.is(n,e))return!1;if(!f2(n)||!f2(e))return!0;var o=t.get(a2(n));if(!o)return!0;if(r){var a=r.get(n);if(a&&a.n===e)return a.g;r.set(n,{n:e,g:!1})}let i=null;try{for(const s of o.h||[])if(i=Reflect.has(n,s)!==Reflect.has(e,s),i)return i;if(!0===o[n2]){if(i=(e=>{const t=Reflect.ownKeys(n),r=Reflect.ownKeys(e);return t.length!==r.length||t.some((e,t)=>e!==r[t])})(e))return i}else for(const c of o.o||[])if(i=!!Reflect.getOwnPropertyDescriptor(n,c)!=!!Reflect.getOwnPropertyDescriptor(e,c),i)return i;for(const l of o.k||[])if(i=p2(n[l],e[l],t,r),i)return i;return i=null===i?!0:i}finally{r&&r.set(n,{n:e,g:i})}},w2=(e,o,a)=>{const i=[],s=new WeakSet,c=(t,r)=>{var e,n;s.has(t)||(f2(t)&&s.add(t),(e=f2(t)&&o.get(a2(t)))?(null!=(n=e.h)&&n.forEach(e=>{var t=`:has(${String(e)})`;i.push(r?[...r,t]:[t])}),!0===e[n2]?(n=\\\":ownKeys\\\",i.push(r?[...r,n]:[n])):null!=(n=e.o)&&n.forEach(e=>{var t=`:hasOwn(${String(e)})`;i.push(r?[...r,t]:[t])}),null!=(n=e.k)&&n.forEach(e=>{(!a||\\\"value\\\"in(Object.getOwnPropertyDescriptor(t,e)||{}))&&c(t[e],r?[...r,e]:[e])})):r&&i.push(r))};return c(e),i},useAffectedDebugValue=(e,t)=>{const r=(0,import_react3.useRef)();(0,import_react3.useEffect)(()=>{r.current=w2(e,t)}),(0,import_react3.useDebugValue)(e)},createTrackedSelector=s=>{return()=>{const[,e]=(0,import_react3.useReducer)(e=>e+1,0),t=new WeakMap,r=(0,import_react3.useRef)(),n=(0,import_react3.useRef)(),o=(0,import_react3.useRef)();(0,import_react3.useEffect)(()=>{r.current=t,n.current!==o.current&&p2(n.current,o.current,t,new WeakMap)&&(n.current=o.current,e())});var a=(0,import_react3.useCallback)(e=>(o.current=e,n.current&&n.current!==e&&r.current&&!p2(n.current,e,r.current,new WeakMap)?n.current:n.current=e),[]),a=s(a),i=(\\\"object\\\"==typeof process&&useAffectedDebugValue(a,t),(0,import_react3.useMemo)(()=>new WeakMap,[]));return u2(a,t,i)}},import_react4=(init_esbuild_inject(),require(\\\"react\\\"));function createStore2(e){let c;const l=new Set;var t=(e,t)=>{var r=\\\"function\\\"==typeof e?e(c):e;if(r!==c){const n=c;c=t?r:Object.assign({},c,r),l.forEach(e=>e(c,n))}};const u=()=>c;var r={setState:t,getState:u,subscribe:(e,t,n)=>{if(t||n){var[o,a=u,i=Object.is]=[e,t,n];console.warn(\\\"[DEPRECATED] Please use `subscribeWithSelector` middleware\\\");let r=a(c);function s(){var e,t=a(c);i(r,t)||(e=r,o(r=t,e))}return l.add(s),()=>l[\\\"delete\\\"](s)}return l.add(e),()=>l[\\\"delete\\\"](e)},destroy:()=>l.clear()};return c=e(t,u,r),r}var isSSR=\\\"undefined\\\"==typeof window||!window.navigator||/ServerSideRendering|^Deno\\\\//.test(window.navigator.userAgent),useIsomorphicLayoutEffect=isSSR?import_react4.useEffect:import_react4.useLayoutEffect;function create(e){const f=\\\"function\\\"==typeof e?createStore2(e):e,r=(e=f.getState,t=Object.is)=>{const[,n]=(0,import_react4.useReducer)(e=>e+1,0),r=f.getState(),o=(0,import_react4.useRef)(r),a=(0,import_react4.useRef)(e),i=(0,import_react4.useRef)(t),s=(0,import_react4.useRef)(!1),c=(0,import_react4.useRef)();void 0===c.current&&(c.current=e(r));let l,u=!1;o.current===r&&a.current===e&&i.current===t&&!s.current||(l=e(r),u=!t(c.current,l)),useIsomorphicLayoutEffect(()=>{u&&(c.current=l),o.current=r,a.current=e,i.current=t,s.current=!1});const d=(0,import_react4.useRef)(r);useIsomorphicLayoutEffect(()=>{var e=()=>{try{var e=f.getState(),t=a.current(e);i.current(c.current,t)||(o.current=e,c.current=t,n())}catch(r){s.current=!0,n()}},t=f.subscribe(e);return f.getState()!==d.current&&e(),t},[]);var p=u?l:c.current;return(0,import_react4.useDebugValue)(p),p};return Object.assign(r,f),r[Symbol.iterator]=function(){console.warn(\\\"[useStore, api] = create() is deprecated and will be removed in v4\\\");const t=[r,f];return{next(){var e=t.length\u003C=0;return{value:t.shift(),done:e}}}},r}init_esbuild_inject();var import_meta2={};function devtools(f,g){return(n,o,a)=>{var e;\\\"string\\\"==typeof g&&console.warn(\\\"[zustand devtools middleware]: passing `name` as directly will be not allowed in next majorpass the `name` in an object `{ name: ... }` instead\\\");const i=void 0===g?{name:void 0,anonymousActionType:void 0}:\\\"string\\\"==typeof g?{name:g}:g;void 0!==(null==(e=null==i?void 0:i.serialize)?void 0:e.options)&&console.warn(\\\"[zustand devtools middleware]: `serialize.options` is deprecated, just use `serialize`\\\");let t;try{t=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!t)return\\\"production\\\"!==(import_meta2.env&&import_meta2.env.MODE)&&\\\"undefined\\\"!=typeof window&&console.warn(\\\"[zustand devtools middleware] Please install/enable Redux devtools extension\\\"),f(n,o,a);let s=Object.create(t.connect(i)),r=!1,c=(Object.defineProperty(a,\\\"devtools\\\",{get:()=>(r||(console.warn(\\\"[zustand devtools middleware] `devtools` property on the store is deprecated it will be removed in the next major.\\\\nYou shouldn't interact with the extension directly. But in case you still want to you can patch `window.__REDUX_DEVTOOLS_EXTENSION__` directly\\\"),r=!0),s),set:e=>{r||(console.warn(\\\"[zustand devtools middleware] `api.devtools` is deprecated, it will be removed in the next major.\\\\nYou shouldn't interact with the extension directly. But in case you still want to you can patch `window.__REDUX_DEVTOOLS_EXTENSION__` directly\\\"),r=!0),s=e}}),!1),l=(Object.defineProperty(s,\\\"prefix\\\",{get:()=>(c||(console.warn(\\\"[zustand devtools middleware] along with `api.devtools`, `api.devtools.prefix` is deprecated.\\\\nWe no longer prefix the actions/names\\\"+i.name===void 0?\\\", pass the `name` option to create a separate instance of devtools for each store.\\\":\\\", because the `name` option already creates a separate instance of devtools for each store.\\\"),c=!0),\\\"\\\"),set:()=>{c||(console.warn(\\\"[zustand devtools middleware] along with `api.devtools`, `api.devtools.prefix` is deprecated.\\\\nWe no longer prefix the actions/names\\\"+i.name===void 0?\\\", pass the `name` option to create a separate instance of devtools for each store.\\\":\\\", because the `name` option already creates a separate instance of devtools for each store.\\\"),c=!0)}}),!0);a.setState=(e,t,r)=>{n(e,t),l&&s.send(void 0===r?{type:i.anonymousActionType||\\\"anonymous\\\"}:\\\"string\\\"==typeof r?{type:r}:r,o())};const u=(...e)=>{var t=l;l=!1,n(...e),l=t},d=f(a.setState,o,a);if(s.init(d),a.dispatchFromDevtools&&\\\"function\\\"==typeof a.dispatch){let t=!1;const p=a.dispatch;a.dispatch=(...e)=>{\\\"__setState\\\"!==e[0].type||t||(console.warn('[zustand devtools middleware] \\\"__setState\\\" action type is reserved to set state from the devtools. Avoid using it.'),t=!0),p(...e)}}return s.subscribe(e=>{switch(e.type){case\\\"ACTION\\\":return\\\"string\\\"!=typeof e.payload?void console.error(\\\"[zustand devtools middleware] Unsupported action format\\\"):parseJsonThen(e.payload,e=>{\\\"__setState\\\"===e.type?u(e.state):a.dispatchFromDevtools&&\\\"function\\\"==typeof a.dispatch&&a.dispatch(e)});case\\\"DISPATCH\\\":switch(e.payload.type){case\\\"RESET\\\":return u(d),s.init(a.getState());case\\\"COMMIT\\\":return s.init(a.getState());case\\\"ROLLBACK\\\":return parseJsonThen(e.state,e=>{u(e),s.init(a.getState())});case\\\"JUMP_TO_STATE\\\":case\\\"JUMP_TO_ACTION\\\":return parseJsonThen(e.state,e=>{u(e)});case\\\"IMPORT_STATE\\\":var t=e.payload[\\\"nextLiftedState\\\"],r=null==(r=t.computedStates.slice(-1)[0])?void 0:r.state;return r?(u(r),void s.send(null,t)):void 0;case\\\"PAUSE_RECORDING\\\":return l=!l}return}}),d}}var parseJsonThen=(e,t)=>{let r;try{r=JSON.parse(e)}catch(n){console.error(\\\"[zustand devtools middleware] Could not parse the received json\\\",n)}void 0!==r&&t(r)},__defProp3=Object.defineProperty,__getOwnPropSymbols2=Object.getOwnPropertySymbols,__hasOwnProp3=Object.prototype.hasOwnProperty,__propIsEnum2=Object.prototype.propertyIsEnumerable,__defNormalProp2=(e,t,r)=>t in e?__defProp3(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__spreadValues2=(e,t)=>{for(var r in t=t||{})__hasOwnProp3.call(t,r)&&__defNormalProp2(e,r,t[r]);if(__getOwnPropSymbols2)for(var r of __getOwnPropSymbols2(t))__propIsEnum2.call(t,r)&&__defNormalProp2(e,r,t[r]);return e},toThenable=n=>e=>{try{const r=n(e);return r instanceof Promise?r:{then(e){return toThenable(e)(r)},\\\"catch\\\"(e){return this}}}catch(t){return{then(e){return this},\\\"catch\\\"(e){return toThenable(e)(t)}}}},persist=(m,h)=>(r,n,e)=>{let o=__spreadValues2({getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:e=>e,version:0,merge:(e,t)=>__spreadValues2(__spreadValues2({},t),e)},h),a=((o.blacklist||o.whitelist)&&console.warn(`The ${o.blacklist?\\\"blacklist\\\":\\\"whitelist\\\"} option is deprecated and will be removed in the next version. Please use the 'partialize' option instead.`),!1);const i=new Set,s=new Set;let c;try{c=o.getStorage()}catch(g){}if(!c)return m((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),r(...e)},n,e);c.removeItem||console.warn(`[zustand persist middleware] The given storage for item '${o.name}' does not contain a 'removeItem' method, which will be required in v4.`);const l=toThenable(o.serialize),u=()=>{const r=o.partialize(__spreadValues2({},n()));o.whitelist&&Object.keys(r).forEach(e=>{var t;null!=(t=o.whitelist)&&t.includes(e)||delete r[e]}),o.blacklist&&o.blacklist.forEach(e=>delete r[e]);let t;var e=l({state:r,version:o.version}).then(e=>c.setItem(o.name,e))[\\\"catch\\\"](e=>{t=e});if(t)throw t;return e},d=e.setState,p=(e.setState=(e,t)=>{d(e,t),u()},m((...e)=>{r(...e),u()},n,e));let f;const t=()=>{var e;if(c){a=!1,i.forEach(e=>e(n()));const t=(null==(e=o.onRehydrateStorage)?void 0:e.call(o,n()))||void 0;return toThenable(c.getItem.bind(c))(o.name).then(e=>{if(e)return o.deserialize(e)}).then(e=>{if(e)return\\\"number\\\"!=typeof e.version||e.version===o.version?e.state:o.migrate?o.migrate(e.state,e.version):void console.error(\\\"State loaded from storage couldn't be migrated since no migrate function was provided\\\")}).then(e=>{var t;return f=o.merge(e,null!=(t=n())?t:p),r(f,!0),u()}).then(()=>{null!=t&&t(f,void 0),a=!0,s.forEach(e=>e(f))})[\\\"catch\\\"](e=>{null!=t&&t(void 0,e)})}};return e.persist={setOptions:e=>{o=__spreadValues2(__spreadValues2({},o),e),e.getStorage&&(c=e.getStorage())},clearStorage:()=>{var e;null!=(e=null==c?void 0:c.removeItem)&&e.call(c,o.name)},rehydrate:()=>t(),hasHydrated:()=>a,onHydrate:e=>(i.add(e),()=>{i[\\\"delete\\\"](e)}),onFinishHydration:e=>(s.add(e),()=>{s[\\\"delete\\\"](e)})},t(),f||p};function createStore3(e){let c;const l=new Set;var t=(e,t)=>{var r=\\\"function\\\"==typeof e?e(c):e;if(r!==c){const n=c;c=t?r:Object.assign({},c,r),l.forEach(e=>e(c,n))}};const u=()=>c;var r={setState:t,getState:u,subscribe:(e,t,n)=>{if(t||n){var[o,a=u,i=Object.is]=[e,t,n];console.warn(\\\"[DEPRECATED] Please use `subscribeWithSelector` middleware\\\");let r=a(c);function s(){var e,t=a(c);i(r,t)||(e=r,o(r=t,e))}return l.add(s),()=>l[\\\"delete\\\"](s)}return l.add(e),()=>l[\\\"delete\\\"](e)},destroy:()=>l.clear()};return c=e(t,u,r),r}init_esbuild_inject();var generateStateActions=(n,o)=>{const e={};return Object.keys(n.getState()).forEach(r=>{e[r]=t=>{var e;n.getState()[r]!==t&&(e=r.replace(/^\\\\S/,e=>e.toUpperCase()),n.setState(e=>{e[r]=t},`@@${o}/set`+e))}}),e},extendActions=(e,t)=>{var r=e(t.set,t.get,t);return{...t,set:{...t.set,...r}}},extendSelectors=(n,o)=>{const e={...o.use},t={...o.useTracked},a={...o.get};return Object.keys(n(o.store.getState(),o.get,o)).forEach(r=>{e[r]=(...t)=>o.useStore(e=>{return(0,n(e,o.get,o)[r])(...t)}),t[r]=(...e)=>{var t=o.useTrackedStore();return(0,n(t,o.get,o)[r])(...e)},a[r]=(...e)=>{return(0,n(o.store.getState(),o.get,o)[r])(...e)}}),{...o,get:a,use:e,useTracked:t}},storeFactory=t=>({...t,extendSelectors:e=>storeFactory(extendSelectors(e,t)),extendActions:e=>storeFactory(extendActions(e,t))}),generateStateGetSelectors=t=>{const r={};return Object.keys(t.getState()).forEach(e=>{r[e]=()=>t.getState()[e]}),r},generateStateHookSelectors=r=>{const e={};return Object.keys(r.getState()).forEach(t=>{e[t]=e=>r(e=>e[t],e)}),e},generateStateTrackedHooksSelectors=(e,t)=>{const r={};return Object.keys(e.getState()).forEach(e=>{r[e]=()=>t()[e]}),r},immerMiddleware=o=>(r,e,t)=>{var n=(e,t)=>r(immer_esm_default(e),!0,t);return t.setState=n,o(n,e,t)};function pipe(e,...t){return t.reduce((e,t)=>t(e),e)}var createStore4=h=>(e,t={})=>{const{middlewares:r=[],devtools:n,persist:o,immer:a}=t,i=(sn(null!=(c=null==a?void 0:a.enabledAutoFreeze)&&c),null!=a&&a.enableMapSet&&C(),[immerMiddleware,...r]);if(null!=o&&o.enabled){const m={...o,name:null!=(c=o.name)?c:h};i.push(e=>persist(e,m))}null!==n&&void 0!==n&&n.enabled&&i.push(e=>devtools(e,{...n,name:h})),i.push(createStore3);const s=pipe(()=>e,...i);var c=create(s),l=generateStateActions(c,h),u=generateStateHookSelectors(c),d=generateStateGetSelectors(c),p=createTrackedSelector(c),f=generateStateTrackedHooksSelectors(c,p);const g={get:{state:s.getState,...d},name:h,set:{state:(e,t)=>{s.setState(e,t||`@@${h}/setState`)},mergeState:(t,e)=>{s.setState(e=>{Object.assign(e,t)},e||`@@${h}/mergeState`)},...l},store:s,use:u,useTracked:f,useStore:c,useTrackedStore:p,extendSelectors:()=>g,extendActions:()=>g};return storeFactory(g)},commonjsGlobal=\\\"undefined\\\"!=typeof globalThis?globalThis:\\\"undefined\\\"!=typeof window?window:\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:{};function createCommonjsModule(e,t){return e(t={exports:{}},t.exports),t.exports}var freeGlobal=\\\"object\\\"==typeof commonjsGlobal&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,_freeGlobal=freeGlobal,freeSelf=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,root=_freeGlobal||freeSelf||Function(\\\"return this\\\")(),_root=root,Symbol2=_root.Symbol,_Symbol=Symbol2,objectProto$b=Object.prototype,hasOwnProperty$8=objectProto$b.hasOwnProperty,nativeObjectToString$1=objectProto$b.toString,symToStringTag$1=_Symbol?_Symbol.toStringTag:void 0;function getRawTag(e){var t=hasOwnProperty$8.call(e,symToStringTag$1),r=e[symToStringTag$1];try{var n=!(e[symToStringTag$1]=void 0)}catch(a){}var o=nativeObjectToString$1.call(e);return n&&(t?e[symToStringTag$1]=r:delete e[symToStringTag$1]),o}var _getRawTag=getRawTag,objectProto$a=Object.prototype,nativeObjectToString=objectProto$a.toString;function objectToString(e){return nativeObjectToString.call(e)}var _objectToString=objectToString,nullTag=\\\"[object Null]\\\",undefinedTag=\\\"[object Undefined]\\\",symToStringTag=_Symbol?_Symbol.toStringTag:void 0;function baseGetTag(e){return null==e?void 0===e?undefinedTag:nullTag:(symToStringTag&&symToStringTag in Object(e)?_getRawTag:_objectToString)(e)}var _baseGetTag=baseGetTag;function isObject(e){var t=typeof e;return null!=e&&(\\\"object\\\"==t||\\\"function\\\"==t)}var isObject_1=isObject,asyncTag=\\\"[object AsyncFunction]\\\",funcTag$1=\\\"[object Function]\\\",genTag=\\\"[object GeneratorFunction]\\\",proxyTag=\\\"[object Proxy]\\\";function isFunction(e){var t;return!!isObject_1(e)&&((t=_baseGetTag(e))==funcTag$1||t==genTag||t==asyncTag||t==proxyTag)}var isFunction_1=isFunction,coreJsData=_root[\\\"__core-js_shared__\\\"],_coreJsData=coreJsData,maskSrcKey=function(){var e=/[^.]+$/.exec(_coreJsData&&_coreJsData.keys&&_coreJsData.keys.IE_PROTO||\\\"\\\");return e?\\\"Symbol(src)_1.\\\"+e:\\\"\\\"}();function isMasked(e){return!!maskSrcKey&&maskSrcKey in e}var _isMasked=isMasked,funcProto$1=Function.prototype,funcToString$1=funcProto$1.toString;function toSource(e){if(null!=e){try{return funcToString$1.call(e)}catch(t){}try{return e+\\\"\\\"}catch(t){}}return\\\"\\\"}var _toSource=toSource,reRegExpChar=/[\\\\\\\\^$.*+?()[\\\\]{}|]/g,reIsHostCtor=/^\\\\[object .+?Constructor\\\\]$/,funcProto=Function.prototype,objectProto$9=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$7=objectProto$9.hasOwnProperty,reIsNative=RegExp(\\\"^\\\"+funcToString.call(hasOwnProperty$7).replace(reRegExpChar,\\\"\\\\\\\\$&\\\").replace(/hasOwnProperty|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\");function baseIsNative(e){return!(!isObject_1(e)||_isMasked(e))&&(isFunction_1(e)?reIsNative:reIsHostCtor).test(_toSource(e))}var _baseIsNative=baseIsNative;function getValue(e,t){return null==e?void 0:e[t]}var _getValue=getValue;function getNative(e,t){var r=_getValue(e,t);return _baseIsNative(r)?r:void 0}var _getNative=getNative,defineProperty=function(){try{var e=_getNative(Object,\\\"defineProperty\\\");return e({},\\\"\\\",{}),e}catch(t){}}();function createBaseFor(c){return function(e,t,r){for(var n=-1,o=Object(e),a=r(e),i=a.length;i--;){var s=a[c?i:++n];if(!1===t(o[s],s,o))break}return e}}var _createBaseFor=createBaseFor,baseFor=createBaseFor();function isObjectLike(e){return null!=e&&\\\"object\\\"==typeof e}var isObjectLike_1=isObjectLike,argsTag$2=\\\"[object Arguments]\\\";function baseIsArguments(e){return isObjectLike_1(e)&&_baseGetTag(e)==argsTag$2}var _baseIsArguments=baseIsArguments,objectProto$8=Object.prototype,hasOwnProperty$6=objectProto$8.hasOwnProperty,propertyIsEnumerable$1=objectProto$8.propertyIsEnumerable,isArguments=_baseIsArguments(function(){return arguments}())?_baseIsArguments:function(e){return isObjectLike_1(e)&&hasOwnProperty$6.call(e,\\\"callee\\\")&&!propertyIsEnumerable$1.call(e,\\\"callee\\\")},isArray=Array.isArray;function stubFalse(){return!1}var stubFalse_1=stubFalse,isBuffer_1=createCommonjsModule(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,n=n&&n.exports===r?_root.Buffer:void 0,r=n?n.isBuffer:void 0;e.exports=r||stubFalse_1}),MAX_SAFE_INTEGER=9007199254740991;function isLength(e){return\\\"number\\\"==typeof e&&-1\u003Ce&&e%1==0&&e\u003C=MAX_SAFE_INTEGER}var isLength_1=isLength,argsTag$1=\\\"[object Arguments]\\\",arrayTag$1=\\\"[object Array]\\\",boolTag$1=\\\"[object Boolean]\\\",dateTag$1=\\\"[object Date]\\\",errorTag$1=\\\"[object Error]\\\",funcTag=\\\"[object Function]\\\",mapTag$2=\\\"[object Map]\\\",numberTag$1=\\\"[object Number]\\\",objectTag$2=\\\"[object Object]\\\",regexpTag$1=\\\"[object RegExp]\\\",setTag$2=\\\"[object Set]\\\",stringTag$1=\\\"[object String]\\\",weakMapTag$1=\\\"[object WeakMap]\\\",arrayBufferTag$1=\\\"[object ArrayBuffer]\\\",dataViewTag$2=\\\"[object DataView]\\\",float32Tag=\\\"[object Float32Array]\\\",float64Tag=\\\"[object Float64Array]\\\",int8Tag=\\\"[object Int8Array]\\\",int16Tag=\\\"[object Int16Array]\\\",int32Tag=\\\"[object Int32Array]\\\",uint8Tag=\\\"[object Uint8Array]\\\",uint8ClampedTag=\\\"[object Uint8ClampedArray]\\\",uint16Tag=\\\"[object Uint16Array]\\\",uint32Tag=\\\"[object Uint32Array]\\\",typedArrayTags={};function baseIsTypedArray(e){return isObjectLike_1(e)&&isLength_1(e.length)&&!!typedArrayTags[_baseGetTag(e)]}typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag$1]=typedArrayTags[arrayTag$1]=typedArrayTags[arrayBufferTag$1]=typedArrayTags[boolTag$1]=typedArrayTags[dataViewTag$2]=typedArrayTags[dateTag$1]=typedArrayTags[errorTag$1]=typedArrayTags[funcTag]=typedArrayTags[mapTag$2]=typedArrayTags[numberTag$1]=typedArrayTags[objectTag$2]=typedArrayTags[regexpTag$1]=typedArrayTags[setTag$2]=typedArrayTags[stringTag$1]=typedArrayTags[weakMapTag$1]=!1;var _baseIsTypedArray=baseIsTypedArray;function baseUnary(t){return function(e){return t(e)}}var _baseUnary=baseUnary,_nodeUtil=createCommonjsModule(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r&&_freeGlobal.process,r=function(){try{var e=n&&n.require&&n.require(\\\"util\\\").types;return e?e:o&&o.binding&&o.binding(\\\"util\\\")}catch(t){}}();e.exports=r}),nodeIsTypedArray=_nodeUtil&&_nodeUtil.isTypedArray,isTypedArray=nodeIsTypedArray?_baseUnary(nodeIsTypedArray):_baseIsTypedArray,objectProto$7=Object.prototype,hasOwnProperty$5=objectProto$7.hasOwnProperty,objectProto$6=Object.prototype;function overArg(t,r){return function(e){return t(r(e))}}var _overArg=overArg,nativeKeys=overArg(Object.keys,Object),objectProto$5=Object.prototype,hasOwnProperty$4=objectProto$5.hasOwnProperty;function listCacheClear(){this.__data__=[],this.size=0}var _listCacheClear=listCacheClear;function eq(e,t){return e===t||e!=e&&t!=t}var eq_1=eq;function assocIndexOf(e,t){for(var r=e.length;r--;)if(eq_1(e[r][0],t))return r;return-1}var _assocIndexOf=assocIndexOf,arrayProto=Array.prototype,splice=arrayProto.splice;function listCacheDelete(e){var t=this.__data__,r=_assocIndexOf(t,e);return!(r\u003C0||(r==t.length-1?t.pop():splice.call(t,r,1),--this.size,0))}var _listCacheDelete=listCacheDelete;function listCacheGet(e){var t=this.__data__,r=_assocIndexOf(t,e);return r\u003C0?void 0:t[r][1]}var _listCacheGet=listCacheGet;function listCacheHas(e){return-1\u003C_assocIndexOf(this.__data__,e)}var _listCacheHas=listCacheHas;function listCacheSet(e,t){var r=this.__data__,n=_assocIndexOf(r,e);return n\u003C0?(++this.size,r.push([e,t])):r[n][1]=t,this}var _listCacheSet=listCacheSet;function ListCache(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}ListCache.prototype.clear=_listCacheClear,ListCache.prototype[\\\"delete\\\"]=_listCacheDelete,ListCache.prototype.get=_listCacheGet,ListCache.prototype.has=_listCacheHas,ListCache.prototype.set=_listCacheSet;var _ListCache=ListCache;function stackClear(){this.__data__=new _ListCache,this.size=0}var _stackClear=stackClear;function stackDelete(e){var t=this.__data__,r=t[\\\"delete\\\"](e);return this.size=t.size,r}var _stackDelete=stackDelete;function stackGet(e){return this.__data__.get(e)}var _stackGet=stackGet;function stackHas(e){return this.__data__.has(e)}var _stackHas=stackHas,Map2=_getNative(_root,\\\"Map\\\"),_Map=Map2,nativeCreate=_getNative(Object,\\\"create\\\"),_nativeCreate=nativeCreate;function hashClear(){this.__data__=_nativeCreate?_nativeCreate(null):{},this.size=0}var _hashClear=hashClear;function hashDelete(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var _hashDelete=hashDelete,HASH_UNDEFINED$2=\\\"__lodash_hash_undefined__\\\",objectProto$4=Object.prototype,hasOwnProperty$3=objectProto$4.hasOwnProperty;function hashGet(e){var t,r=this.__data__;return _nativeCreate?(t=r[e])===HASH_UNDEFINED$2?void 0:t:hasOwnProperty$3.call(r,e)?r[e]:void 0}var _hashGet=hashGet,objectProto$3=Object.prototype,hasOwnProperty$2=objectProto$3.hasOwnProperty;function hashHas(e){var t=this.__data__;return _nativeCreate?void 0!==t[e]:hasOwnProperty$2.call(t,e)}var _hashHas=hashHas,HASH_UNDEFINED$1=\\\"__lodash_hash_undefined__\\\";function hashSet(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=_nativeCreate&&void 0===t?HASH_UNDEFINED$1:t,this}var _hashSet=hashSet;function Hash(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}Hash.prototype.clear=_hashClear,Hash.prototype[\\\"delete\\\"]=_hashDelete,Hash.prototype.get=_hashGet,Hash.prototype.has=_hashHas,Hash.prototype.set=_hashSet;var _Hash=Hash;function mapCacheClear(){this.size=0,this.__data__={hash:new _Hash,map:new(_Map||_ListCache),string:new _Hash}}var _mapCacheClear=mapCacheClear;function isKeyable(e){var t=typeof e;return\\\"string\\\"==t||\\\"number\\\"==t||\\\"symbol\\\"==t||\\\"boolean\\\"==t?\\\"__proto__\\\"!==e:null===e}var _isKeyable=isKeyable;function getMapData(e,t){var r=e.__data__;return _isKeyable(t)?r[\\\"string\\\"==typeof t?\\\"string\\\":\\\"hash\\\"]:r.map}var _getMapData=getMapData;function mapCacheDelete(e){var t=_getMapData(this,e)[\\\"delete\\\"](e);return this.size-=t?1:0,t}var _mapCacheDelete=mapCacheDelete;function mapCacheGet(e){return _getMapData(this,e).get(e)}var _mapCacheGet=mapCacheGet;function mapCacheHas(e){return _getMapData(this,e).has(e)}var _mapCacheHas=mapCacheHas;function mapCacheSet(e,t){var r=_getMapData(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}var _mapCacheSet=mapCacheSet;function MapCache(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}MapCache.prototype.clear=_mapCacheClear,MapCache.prototype[\\\"delete\\\"]=_mapCacheDelete,MapCache.prototype.get=_mapCacheGet,MapCache.prototype.has=_mapCacheHas,MapCache.prototype.set=_mapCacheSet;var _MapCache=MapCache,LARGE_ARRAY_SIZE=200;function stackSet(e,t){var r=this.__data__;if(r instanceof _ListCache){var n=r.__data__;if(!_Map||n.length\u003CLARGE_ARRAY_SIZE-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new _MapCache(n)}return r.set(e,t),this.size=r.size,this}var _stackSet=stackSet;function Stack(e){var t=this.__data__=new _ListCache(e);this.size=t.size}Stack.prototype.clear=_stackClear,Stack.prototype[\\\"delete\\\"]=_stackDelete,Stack.prototype.get=_stackGet,Stack.prototype.has=_stackHas,Stack.prototype.set=_stackSet;var HASH_UNDEFINED=\\\"__lodash_hash_undefined__\\\";function setCacheAdd(e){return this.__data__.set(e,HASH_UNDEFINED),this}var _setCacheAdd=setCacheAdd;function setCacheHas(e){return this.__data__.has(e)}var _setCacheHas=setCacheHas;function SetCache(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new _MapCache;++t\u003Cr;)this.add(e[t])}SetCache.prototype.add=SetCache.prototype.push=_setCacheAdd,SetCache.prototype.has=_setCacheHas;var Uint8Array2=_root.Uint8Array,symbolProto$1=_Symbol?_Symbol.prototype:void 0,symbolValueOf=symbolProto$1?symbolProto$1.valueOf:void 0,objectProto$2=Object.prototype,propertyIsEnumerable=objectProto$2.propertyIsEnumerable,objectProto$1=Object.prototype,hasOwnProperty$1=objectProto$1.hasOwnProperty,DataView=_getNative(_root,\\\"DataView\\\"),_DataView=DataView,Promise$1=_getNative(_root,\\\"Promise\\\"),_Promise=Promise$1,Set2=_getNative(_root,\\\"Set\\\"),_Set=Set2,WeakMap2=_getNative(_root,\\\"WeakMap\\\"),_WeakMap=WeakMap2,mapTag=\\\"[object Map]\\\",objectTag$1=\\\"[object Object]\\\",promiseTag=\\\"[object Promise]\\\",setTag=\\\"[object Set]\\\",weakMapTag=\\\"[object WeakMap]\\\",dataViewTag=\\\"[object DataView]\\\",dataViewCtorString=_toSource(_DataView),mapCtorString=_toSource(_Map),promiseCtorString=_toSource(_Promise),setCtorString=_toSource(_Set),weakMapCtorString=_toSource(_WeakMap),getTag=_baseGetTag,objectProto=((_DataView&&getTag(new _DataView(new ArrayBuffer(1)))!=dataViewTag||_Map&&getTag(new _Map)!=mapTag||_Promise&&getTag(_Promise.resolve())!=promiseTag||_Set&&getTag(new _Set)!=setTag||_WeakMap&&getTag(new _WeakMap)!=weakMapTag)&&(getTag=function(e){var t=_baseGetTag(e),r=t==objectTag$1?e.constructor:void 0,r=r?_toSource(r):\\\"\\\";if(r)switch(r){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag}return t}),Object.prototype),hasOwnProperty=objectProto.hasOwnProperty,FUNC_ERROR_TEXT=\\\"Expected a function\\\";function memoize(n,o){if(\\\"function\\\"!=typeof n||null!=o&&\\\"function\\\"!=typeof o)throw new TypeError(FUNC_ERROR_TEXT);var a=function(){var e=arguments,t=o?o.apply(this,e):e[0],r=a.cache;return r.has(t)?r.get(t):(e=n.apply(this,e),a.cache=r.set(t,e)||r,e)};return a.cache=new(memoize.Cache||_MapCache),a}memoize.Cache=_MapCache;var memoize_1=memoize,MAX_MEMOIZE_SIZE=500;function memoizeCapped(e){var t=memoize_1(e,function(e){return r.size===MAX_MEMOIZE_SIZE&&r.clear(),e}),r=t.cache;return t}var _memoizeCapped=memoizeCapped,rePropName=/[^.[\\\\]]+|\\\\[(?:(-?\\\\d+(?:\\\\.\\\\d+)?)|([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]|(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|$))/g,reEscapeChar=/\\\\\\\\(\\\\\\\\)?/g,stringToPath=memoizeCapped(function(e){var o=[];return 46===e.charCodeAt(0)&&o.push(\\\"\\\"),e.replace(rePropName,function(e,t,r,n){o.push(r?n.replace(reEscapeChar,\\\"$1\\\"):t||e)}),o}),INFINITY$1=1/0,symbolProto=_Symbol?_Symbol.prototype:void 0,symbolToString=symbolProto?symbolProto.toString:void 0,INFINITY=1/0,IS_APPLE=(init_esbuild_inject(),\\\"undefined\\\"!=typeof navigator&&/Mac OS X/.test(navigator.userAgent)),escapeRegExp=e=>e.replace(/[-[\\\\]{}()*+?.,\\\\\\\\^$|#\\\\\\\\s]/g,\\\"\\\\\\\\$&\\\"),findHtmlParentElement=(e,t)=>e&&e.nodeName!==t?findHtmlParentElement(e.parentElement,t):e,getHandler=(e,...t)=>()=>{null!=e&&e(...t)},protocolAndDomainRE=/^(?:\\\\w+:)?\\\\/\\\\/(\\\\S+)$/,emailLintRE=/mailto:([^\\\\\\\\?]+)/,localhostDomainRE=/^localhost[:?\\\\d]*(?:[^:?\\\\d]\\\\S*)?$/,nonLocalhostDomainRE=/^[^\\\\s.]+\\\\.\\\\S{2,}$/,isUrl=e=>{if(\\\"string\\\"!=typeof e)return!1;var t=e.match(protocolAndDomainRE),r=e.match(emailLintRE),t=t||r;if(!t)return!1;r=t[1];if(!r)return!1;try{new URL(e)}catch(n){return!1}return localhostDomainRE.test(r)||nonLocalhostDomainRE.test(r)},mergeProps=(e,t,{handlerKeys:n,handlerQuery:o=e=>0===e.indexOf(\\\"on\\\")}={})=>{const a=new Map,i={};var r=e=>{e&&Object.entries(e).forEach(([r,e])=>{var t;n&&!n.includes(r)||o&&!o(r)||\\\"function\\\"!=typeof e?i[r]=e:(a.has(r)||a.set(r,[]),null!=(t=a.get(r))&&t.push(e),i[r]=(...t)=>{var e;null!=(e=a.get(r))&&e.forEach(e=>e(...t))})})};return r(e),r(t),i},sanitizeUrl=(e,{allowedSchemes:t,permitInvalid:r=!1})=>{if(!e)return null;let n=null;try{n=new URL(e)}catch(o){return r?e:null}return t&&!t.includes(n.protocol.slice(0,-1))?null:n.href},isUndefined=e=>void 0===e,isNull=e=>null===e,isUndefinedOrNull=e=>isUndefined(e)||isNull(e),isDefined=e=>!isUndefinedOrNull(e),import_react5=(init_esbuild_inject(),__toESM(require(\\\"react\\\")));function dequal(e,t){var r,n;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array&&(n=e.length)===t.length){for(;n--&&dequal(e[n],t[n]););return-1===n}if(r===Object){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(n in e)if(!(n in t&&dequal(e[n],t[n])))return!1;return!0}}return e!=e&&t!=t}function checkDeps(e,t){var r=\\\"React.\\\"+t.replace(/DeepCompare/,\\\"\\\");if(!e||0===e.length)throw new Error(t+` should not be used with no dependencies. Use ${r} instead.`)}function useDeepCompareMemoize(e){var t=import_react5[\\\"default\\\"].useRef([]);return dequal(e,t.current)||(t.current=e),t.current}function useDeepCompareMemo(e,t){return checkDeps(t,\\\"useDeepCompareMemo\\\"),import_react5[\\\"default\\\"].useMemo(e,useDeepCompareMemoize(t))}function isObject2(e){return\\\"[object Object]\\\"===Object.prototype.toString.call(e)}function isPlainObject(e){var t;return!1!==isObject2(e)&&(void 0===(t=e.constructor)||!1!==isObject2(t=t.prototype)&&!1!==t.hasOwnProperty(\\\"isPrototypeOf\\\"))}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var PathRef={transform(e,t){var{current:r,affinity:n}=e;null!=r&&(r=Path.transform(r,t,{affinity:n}),null==(e.current=r))&&e.unref()}},PointRef={transform(e,t){var{current:r,affinity:n}=e;null!=r&&(r=Point.transform(r,t,{affinity:n}),null==(e.current=r))&&e.unref()}},RangeRef={transform(e,t){var{current:r,affinity:n}=e;null!=r&&(r=Range.transform(r,t,{affinity:n}),null==(e.current=r))&&e.unref()}},DIRTY_PATHS=new WeakMap,DIRTY_PATH_KEYS=new WeakMap,FLUSHING=new WeakMap,NORMALIZING=new WeakMap,PATH_REFS=new WeakMap,POINT_REFS=new WeakMap,RANGE_REFS=new WeakMap,Path={ancestors(e){var t=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,t=Path.levels(e,t);return t=r?t.slice(1):t.slice(0,-1)},common(e,t){for(var r=[],n=0;n\u003Ce.length&&n\u003Ct.length;n++){var o=e[n];if(o!==t[n])break;r.push(o)}return r},compare(e,t){for(var r=Math.min(e.length,t.length),n=0;n\u003Cr;n++){if(e[n]\u003Ct[n])return-1;if(e[n]>t[n])return 1}return 0},endsAfter(e,t){var r=e.length-1,n=e.slice(0,r),o=t.slice(0,r),a=e[r],r=t[r];return Path.equals(n,o)&&r\u003Ca},endsAt(e,t){var r=e.length,n=e.slice(0,r),r=t.slice(0,r);return Path.equals(n,r)},endsBefore(e,t){var r=e.length-1,n=e.slice(0,r),o=t.slice(0,r),a=e[r],r=t[r];return Path.equals(n,o)&&a\u003Cr},equals(e,r){return e.length===r.length&&e.every((e,t)=>e===r[t])},hasPrevious(e){return 0\u003Ce[e.length-1]},isAfter(e,t){return 1===Path.compare(e,t)},isAncestor(e,t){return e.length\u003Ct.length&&0===Path.compare(e,t)},isBefore(e,t){return-1===Path.compare(e,t)},isChild(e,t){return e.length===t.length+1&&0===Path.compare(e,t)},isCommon(e,t){return e.length\u003C=t.length&&0===Path.compare(e,t)},isDescendant(e,t){return e.length>t.length&&0===Path.compare(e,t)},isParent(e,t){return e.length+1===t.length&&0===Path.compare(e,t)},isPath(e){return Array.isArray(e)&&(0===e.length||\\\"number\\\"==typeof e[0])},isSibling(e,t){var r,n;return e.length===t.length&&(r=e.slice(0,-1),n=t.slice(0,-1),e[e.length-1]!==t[t.length-1])&&Path.equals(r,n)},levels(e){for(var{reverse:t=!1}=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{},r=[],n=0;n\u003C=e.length;n++)r.push(e.slice(0,n));return t&&r.reverse(),r},next(e){if(0===e.length)throw new Error(\\\"Cannot get the next path of a root path [\\\".concat(e,\\\"], because it has no next index.\\\"));var t=e[e.length-1];return e.slice(0,-1).concat(t+1)},operationCanTransformPath(e){switch(e.type){case\\\"insert_node\\\":case\\\"remove_node\\\":case\\\"merge_node\\\":case\\\"split_node\\\":case\\\"move_node\\\":return!0;default:return!1}},parent(e){if(0===e.length)throw new Error(\\\"Cannot get the parent path of the root path [\\\".concat(e,\\\"].\\\"));return e.slice(0,-1)},previous(e){if(0===e.length)throw new Error(\\\"Cannot get the previous path of a root path [\\\".concat(e,\\\"], because it has no previous index.\\\"));var t=e[e.length-1];if(t\u003C=0)throw new Error(\\\"Cannot get the previous path of a first child path [\\\".concat(e,\\\"] because it would result in a negative index.\\\"));return e.slice(0,-1).concat(t-1)},relative(e,t){if(Path.isAncestor(t,e)||Path.equals(e,t))return e.slice(t.length);throw new Error(\\\"Cannot get the relative path of [\\\".concat(e,\\\"] inside ancestor [\\\").concat(t,\\\"], because it is not above or equal to the path.\\\"))},transform(e,t){var r=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{};if(!e)return null;var n=[...e],{affinity:o=\\\"forward\\\"}=r;if(0!==e.length)switch(t.type){case\\\"insert_node\\\":var a=t[\\\"path\\\"];(Path.equals(a,n)||Path.endsBefore(a,n)||Path.isAncestor(a,n))&&(n[a.length-1]+=1);break;case\\\"remove_node\\\":a=t[\\\"path\\\"];if(Path.equals(a,n)||Path.isAncestor(a,n))return null;Path.endsBefore(a,n)&&--n[a.length-1];break;case\\\"merge_node\\\":var{path:a,position:i}=t;Path.equals(a,n)||Path.endsBefore(a,n)?--n[a.length-1]:Path.isAncestor(a,n)&&(--n[a.length-1],n[a.length]+=i);break;case\\\"split_node\\\":var{path:a,position:i}=t;if(Path.equals(a,n)){if(\\\"forward\\\"===o)n[n.length-1]+=1;else if(\\\"backward\\\"!==o)return null}else Path.endsBefore(a,n)?n[a.length-1]+=1:Path.isAncestor(a,n)&&e[a.length]>=i&&(n[a.length-1]+=1,n[a.length]-=i);break;case\\\"move_node\\\":var s,{path:a,newPath:i}=t;if(Path.equals(a,i))return n;if(Path.isAncestor(a,n)||Path.equals(a,n))return s=i.slice(),Path.endsBefore(a,i)&&a.length\u003Ci.length&&--s[a.length-1],s.concat(n.slice(a.length));Path.isSibling(a,i)&&(Path.isAncestor(i,n)||Path.equals(i,n))?Path.endsBefore(a,n)?--n[a.length-1]:n[a.length-1]+=1:Path.endsBefore(i,n)||Path.equals(i,n)||Path.isAncestor(i,n)?(Path.endsBefore(a,n)&&--n[a.length-1],n[i.length-1]+=1):Path.endsBefore(a,n)&&(Path.equals(i,n)&&(n[i.length-1]+=1),--n[a.length-1])}return n}};function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ownKeys$e(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$e(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$e(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$e(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var applyToDraft=(e,t,r)=>{switch(r.type){case\\\"insert_node\\\":var{path:n,node:o}=r,a=Node2.parent(e,n),i=n[n.length-1];if(i>a.children.length)throw new Error('Cannot apply an \\\"insert_node\\\" operation at path ['.concat(n,\\\"] because the destination is past the end of the node.\\\"));if(a.children.splice(i,0,o),t)for(var[s,c]of Range.points(t))t[c]=Point.transform(s,r);break;case\\\"insert_text\\\":var{path:n,offset:i,text:o}=r;if(0!==o.length){a=Node2.leaf(e,n),n=a.text.slice(0,i),i=a.text.slice(i);if(a.text=n+o+i,t)for(var[l,u]of Range.points(t))t[u]=Point.transform(l,r)}break;case\\\"merge_node\\\":var a=r[\\\"path\\\"],n=Node2.get(e,a),o=Path.previous(a),i=Node2.get(e,o),o=Node2.parent(e,a),d=a[a.length-1];if(Text.isText(n)&&Text.isText(i))i.text+=n.text;else{if(Text.isText(n)||Text.isText(i))throw new Error('Cannot apply a \\\"merge_node\\\" operation at path ['.concat(a,\\\"] to nodes of different interfaces: \\\").concat(Scrubber.stringify(n),\\\" \\\").concat(Scrubber.stringify(i)));i.children.push(...n.children)}if(o.children.splice(d,1),t)for(var[p,f]of Range.points(t))t[f]=Point.transform(p,r);break;case\\\"move_node\\\":var{path:a,newPath:n}=r;if(Path.isAncestor(a,n))throw new Error(\\\"Cannot move a path [\\\".concat(a,\\\"] to new path [\\\").concat(n,\\\"] because the destination is inside itself.\\\"));i=Node2.get(e,a),d=Node2.parent(e,a),o=a[a.length-1],n=(d.children.splice(o,1),Path.transform(a,r)),o=Node2.get(e,Path.parent(n)),d=n[n.length-1];if(o.children.splice(d,0,i),t)for(var[g,m]of Range.points(t))t[m]=Point.transform(g,r);break;case\\\"remove_node\\\":var h=r[\\\"path\\\"],a=h[h.length-1];if(Node2.parent(e,h).children.splice(a,1),t)for(var[_,v]of Range.points(t)){var y=Point.transform(_,r);if(null!=t&&null!=y)t[v]=y;else{var b,E,T=void 0,C=void 0;for([b,E]of Node2.texts(e)){if(-1!==Path.compare(E,h)){C=[b,E];break}T=[b,E]}v=!1;T&&C&&(v=Path.equals(C[1],h)?!Path.hasPrevious(C[1]):Path.common(T[1],h).length\u003CPath.common(C[1],h).length),T&&!v?(_.path=T[1],_.offset=T[0].text.length):C?(_.path=C[1],_.offset=0):t=null}}break;case\\\"remove_text\\\":var{path:n,offset:d,text:i}=r;if(0!==i.length){o=Node2.leaf(e,n),a=o.text.slice(0,d),n=o.text.slice(d+i.length);if(o.text=a+n,t)for(var[w,S]of Range.points(t))t[S]=Point.transform(w,r)}break;case\\\"set_node\\\":var{path:d,properties:i,newProperties:x}=r;if(0===d.length)throw new Error(\\\"Cannot set properties on the root node!\\\");var D,$,A=Node2.get(e,d);for(D in x){if(\\\"children\\\"===D||\\\"text\\\"===D)throw new Error('Cannot set the \\\"'.concat(D,'\\\" property of nodes!'));var O=x[D];null==O?delete A[D]:A[D]=O}for($ in i)x.hasOwnProperty($)||delete A[$];break;case\\\"set_selection\\\":var P=r[\\\"newProperties\\\"];if(null==P)t=P;else{if(null==t){if(!Range.isRange(P))throw new Error('Cannot apply an incomplete \\\"set_selection\\\" operation properties '.concat(Scrubber.stringify(P),\\\" when there is no current selection.\\\"));t=_objectSpread$e({},P)}for(var I in P){var j=P[I];if(null==j){if(\\\"anchor\\\"===I||\\\"focus\\\"===I)throw new Error('Cannot remove the \\\"'.concat(I,'\\\" selection property'));delete t[I]}else t[I]=j}}break;case\\\"split_node\\\":var{path:o,position:a,properties:n}=r;if(0===o.length)throw new Error('Cannot apply a \\\"split_node\\\" operation at path ['.concat(o,\\\"] because the root node cannot be split.\\\"));var R,k,d=Node2.get(e,o),i=Node2.parent(e,o),o=o[o.length-1],a=Text.isText(d)?(R=d.text.slice(0,a),k=d.text.slice(a),d.text=R,_objectSpread$e(_objectSpread$e({},n),{},{text:k})):(R=d.children.slice(0,a),k=d.children.slice(a),d.children=R,_objectSpread$e(_objectSpread$e({},n),{},{children:k}));if(i.children.splice(o+1,0,a),t)for(var[N,M]of Range.points(t))t[M]=Point.transform(N,r)}return t},GeneralTransforms={transform(e,t){e.children=ln(e.children);var n=e.selection&&ln(e.selection);try{n=applyToDraft(e,n,t)}finally{e.children=dn(e.children),e.selection=n?r(n)?dn(n):n:null}}},NodeTransforms={insertNodes(e,t,r){e.insertNodes(t,r)},liftNodes(e,t){e.liftNodes(t)},mergeNodes(e,t){e.mergeNodes(t)},moveNodes(e,t){e.moveNodes(t)},removeNodes(e,t){e.removeNodes(t)},setNodes(e,t,r){e.setNodes(t,r)},splitNodes(e,t){e.splitNodes(t)},unsetNodes(e,t,r){e.unsetNodes(t,r)},unwrapNodes(e,t){e.unwrapNodes(t)},wrapNodes(e,t,r){e.wrapNodes(t,r)}},SelectionTransforms={collapse(e,t){e.collapse(t)},deselect(e){e.deselect()},move(e,t){e.move(t)},select(e,t){e.select(t)},setPoint(e,t,r){e.setPoint(t,r)},setSelection(e,t){e.setSelection(t)}},isDeepEqual=(e,t)=>{for(var r in e){var n=e[r],o=t[r];if(isPlainObject(n)&&isPlainObject(o)){if(!isDeepEqual(n,o))return!1}else if(Array.isArray(n)&&Array.isArray(o)){if(n.length!==o.length)return!1;for(var a=0;a\u003Cn.length;a++)if(n[a]!==o[a])return!1}else if(n!==o)return!1}for(var i in t)if(void 0===e[i]&&void 0!==t[i])return!1;return!0};function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};for(var r,n={},o=Object.keys(e),a=0;a\u003Co.length;a++)r=o[a],0\u003C=t.indexOf(r)||(n[r]=e[r]);return n}function _objectWithoutProperties(e,t){if(null==e)return{};var r,n=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a\u003Co.length;a++)r=o[a],0\u003C=t.indexOf(r)||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);return n}var _excluded$4=[\\\"anchor\\\",\\\"focus\\\"];function ownKeys$d(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$d(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$d(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$d(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var Range={edges(e){var{reverse:t=!1}=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{},{anchor:r,focus:n}=e;return Range.isBackward(e)===t?[r,n]:[n,r]},end(e){var[,t]=Range.edges(e);return t},equals(e,t){return Point.equals(e.anchor,t.anchor)&&Point.equals(e.focus,t.focus)},includes(e,t){var r,n,o,a;return Range.isRange(t)?!(!Range.includes(e,t.anchor)&&!Range.includes(e,t.focus))||(([r,o]=Range.edges(e)),([n,a]=Range.edges(t)),Point.isBefore(r,n)&&Point.isAfter(o,a)):(([r,n]=Range.edges(e)),a=o=!1,a=Point.isPoint(t)?(o=0\u003C=Point.compare(t,r),Point.compare(t,n)\u003C=0):(o=0\u003C=Path.compare(t,r.path),Path.compare(t,n.path)\u003C=0),o&&a)},intersection(e,t){var r=_objectWithoutProperties(e,_excluded$4),[n,o]=Range.edges(e),[a,i]=Range.edges(t),a=Point.isBefore(n,a)?a:n,n=Point.isBefore(o,i)?o:i;return Point.isBefore(n,a)?null:_objectSpread$d({anchor:a,focus:n},r)},isBackward(e){var{anchor:t,focus:r}=e;return Point.isAfter(t,r)},isCollapsed(e){var{anchor:t,focus:r}=e;return Point.equals(t,r)},isExpanded(e){return!Range.isCollapsed(e)},isForward(e){return!Range.isBackward(e)},isRange(e){return isPlainObject(e)&&Point.isPoint(e.anchor)&&Point.isPoint(e.focus)},*points(e){yield[e.anchor,\\\"anchor\\\"],yield[e.focus,\\\"focus\\\"]},start(e){var[t]=Range.edges(e);return t},transform(e,o){var a=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{};return fn(e,e=>{var t,r,n;return null!==e&&(({affinity:r=\\\"inward\\\"}=a),t=\\\"inward\\\"===r?(t=Range.isCollapsed(e),Range.isForward(e)?(n=\\\"forward\\\",t?n:\\\"backward\\\"):(n=\\\"backward\\\",t?n:\\\"forward\\\")):\\\"outward\\\"===r?Range.isForward(e)?(n=\\\"backward\\\",\\\"forward\\\"):(n=\\\"forward\\\",\\\"backward\\\"):n=r,r=Point.transform(e.anchor,o,{affinity:n}),n=Point.transform(e.focus,o,{affinity:t}),r)&&n?(e.anchor=r,void(e.focus=n)):null})}},isElement=e=>isPlainObject(e)&&Node2.isNodeList(e.children)&&!Editor.isEditor(e),Element2={isAncestor(e){return isPlainObject(e)&&Node2.isNodeList(e.children)},isElement:isElement,isElementList(e){return Array.isArray(e)&&e.every(e=>Element2.isElement(e))},isElementProps(e){return void 0!==e.children},isElementType:function isElementType(e,t){var r=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:\\\"type\\\";return isElement(e)&&e[r]===t},matches(e,t){for(var r in t)if(\\\"children\\\"!==r&&e[r]!==t[r])return!1;return!0}},_excluded$3=[\\\"children\\\"],_excluded2$3=[\\\"text\\\"],IS_NODE_LIST_CACHE=new WeakMap,Node2={ancestor(e,t){var r=Node2.get(e,t);if(Text.isText(r))throw new Error(\\\"Cannot get the ancestor node at path [\\\".concat(t,\\\"] because it refers to a text node instead: \\\").concat(Scrubber.stringify(r)));return r},*ancestors(e,t){var r;for(r of Path.ancestors(t,2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{}))yield[Node2.ancestor(e,r),r]},child(e,t){if(Text.isText(e))throw new Error(\\\"Cannot get the child of a text node: \\\".concat(Scrubber.stringify(e)));var r=e.children[t];if(null==r)throw new Error(\\\"Cannot get child at index `\\\".concat(t,\\\"` in node: \\\").concat(Scrubber.stringify(e)));return r},*children(e,t){for(var{reverse:r=!1}=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{},n=Node2.ancestor(e,t),o=n[\\\"children\\\"],a=r?o.length-1:0;r?0\u003C=a:a\u003Co.length;)yield[Node2.child(n,a),t.concat(a)],a=r?a-1:a+1},common(e,t,r){var n=Path.common(t,r);return[Node2.get(e,n),n]},descendant(e,t){var r=Node2.get(e,t);if(Editor.isEditor(r))throw new Error(\\\"Cannot get the descendant node at path [\\\".concat(t,\\\"] because it refers to the root editor node instead: \\\").concat(Scrubber.stringify(r)));return r},*descendants(e){var t,r;for([t,r]of Node2.nodes(e,1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{}))0!==r.length&&(yield[t,r])},*elements(e){var t,r;for([t,r]of Node2.nodes(e,1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{}))Element2.isElement(t)&&(yield[t,r])},extractProps(e){return Element2.isAncestor(e)?_objectWithoutProperties(e,_excluded$3):_objectWithoutProperties(e,_excluded2$3)},first(e,t){for(var r=t.slice(),n=Node2.get(e,r);n&&!Text.isText(n)&&0!==n.children.length;)n=n.children[0],r.push(0);return[n,r]},fragment(e,i){if(Text.isText(e))throw new Error(\\\"Cannot get a fragment starting from a root text node: \\\".concat(Scrubber.stringify(e)));return fn({children:e.children},e=>{var t,r,n,[o,a]=Range.edges(i);for([,t]of Node2.nodes(e,{reverse:!0,pass:e=>{var[,t]=e;return!Range.includes(i,t)}}))Range.includes(i,t)||(n=Node2.parent(e,t),r=t[t.length-1],n.children.splice(r,1)),Path.equals(t,a.path)&&((r=Node2.leaf(e,t)).text=r.text.slice(0,a.offset)),Path.equals(t,o.path)&&((n=Node2.leaf(e,t)).text=n.text.slice(o.offset));Editor.isEditor(e)&&(e.selection=null)}).children},get(e,t){for(var r=e,n=0;n\u003Ct.length;n++){var o=t[n];if(Text.isText(r)||!r.children[o])throw new Error(\\\"Cannot find a descendant at path [\\\".concat(t,\\\"] in node: \\\").concat(Scrubber.stringify(e)));r=r.children[o]}return r},has(e,t){for(var r=e,n=0;n\u003Ct.length;n++){var o=t[n];if(Text.isText(r)||!r.children[o])return!1;r=r.children[o]}return!0},isNode(e){return Text.isText(e)||Element2.isElement(e)||Editor.isEditor(e)},isNodeList(e){var t;return!!Array.isArray(e)&&(void 0!==(t=IS_NODE_LIST_CACHE.get(e))?t:(t=e.every(e=>Node2.isNode(e)),IS_NODE_LIST_CACHE.set(e,t),t))},last(e,t){for(var r=t.slice(),n=Node2.get(e,r);n&&!Text.isText(n)&&0!==n.children.length;){var o=n.children.length-1,n=n.children[o];r.push(o)}return[n,r]},leaf(e,t){var r=Node2.get(e,t);if(Text.isText(r))return r;throw new Error(\\\"Cannot get the leaf node at path [\\\".concat(t,\\\"] because it refers to a non-leaf node: \\\").concat(Scrubber.stringify(r)))},*levels(e,t){var r;for(r of Path.levels(t,2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{}))yield[Node2.get(e,r),r]},matches(e,t){return Element2.isElement(e)&&Element2.isElementProps(t)&&Element2.matches(e,t)||Text.isText(e)&&Text.isTextProps(t)&&Text.matches(e,t)},*nodes(e){for(var t=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{},{pass:r,reverse:n=!1}=t,{from:o=[],to:a}=t,i=new Set,s=[],c=e;!(a&&(n?Path.isBefore(s,a):Path.isAfter(s,a)));)if(i.has(c)||(yield[c,s]),i.has(c)||Text.isText(c)||0===c.children.length||null!=r&&!1!==r([c,s])){if(0===s.length)break;if(!n){var l=Path.next(s);if(Node2.has(e,l)){c=Node2.get(e,s=l);continue}}n&&0!==s[s.length-1]?(s=Path.previous(s),c=Node2.get(e,s)):(s=Path.parent(s),c=Node2.get(e,s),i.add(c))}else{i.add(c);l=n?c.children.length-1:0;Path.isAncestor(s,o)&&(l=o[s.length]),s=s.concat(l),c=Node2.get(e,s)}},parent(e,t){var r=Path.parent(t),r=Node2.get(e,r);if(Text.isText(r))throw new Error(\\\"Cannot get the parent of path [\\\".concat(t,\\\"] because it does not exist in the root.\\\"));return r},string(e){return Text.isText(e)?e.text:e.children.map(Node2.string).join(\\\"\\\")},*texts(e){var t,r;for([t,r]of Node2.nodes(e,1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{}))Text.isText(t)&&(yield[t,r])}};function ownKeys$c(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$c(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$c(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$c(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var Operation={isNodeOperation(e){return Operation.isOperation(e)&&e.type.endsWith(\\\"_node\\\")},isOperation(e){if(!isPlainObject(e))return!1;switch(e.type){case\\\"insert_node\\\":return Path.isPath(e.path)&&Node2.isNode(e.node);case\\\"insert_text\\\":return\\\"number\\\"==typeof e.offset&&\\\"string\\\"==typeof e.text&&Path.isPath(e.path);case\\\"merge_node\\\":return\\\"number\\\"==typeof e.position&&Path.isPath(e.path)&&isPlainObject(e.properties);case\\\"move_node\\\":return Path.isPath(e.path)&&Path.isPath(e.newPath);case\\\"remove_node\\\":return Path.isPath(e.path)&&Node2.isNode(e.node);case\\\"remove_text\\\":return\\\"number\\\"==typeof e.offset&&\\\"string\\\"==typeof e.text&&Path.isPath(e.path);case\\\"set_node\\\":return Path.isPath(e.path)&&isPlainObject(e.properties)&&isPlainObject(e.newProperties);case\\\"set_selection\\\":return null===e.properties&&Range.isRange(e.newProperties)||null===e.newProperties&&Range.isRange(e.properties)||isPlainObject(e.properties)&&isPlainObject(e.newProperties);case\\\"split_node\\\":return Path.isPath(e.path)&&\\\"number\\\"==typeof e.position&&isPlainObject(e.properties);default:return!1}},isOperationList(e){return Array.isArray(e)&&e.every(e=>Operation.isOperation(e))},isSelectionOperation(e){return Operation.isOperation(e)&&e.type.endsWith(\\\"_selection\\\")},isTextOperation(e){return Operation.isOperation(e)&&e.type.endsWith(\\\"_text\\\")},inverse(e){switch(e.type){case\\\"insert_node\\\":return _objectSpread$c(_objectSpread$c({},e),{},{type:\\\"remove_node\\\"});case\\\"insert_text\\\":return _objectSpread$c(_objectSpread$c({},e),{},{type:\\\"remove_text\\\"});case\\\"merge_node\\\":return _objectSpread$c(_objectSpread$c({},e),{},{type:\\\"split_node\\\",path:Path.previous(e.path)});case\\\"move_node\\\":var{newPath:t,path:r}=e;return Path.equals(t,r)?e:Path.isSibling(r,t)?_objectSpread$c(_objectSpread$c({},e),{},{path:t,newPath:r}):(t=Path.transform(r,e),r=Path.transform(Path.next(r),e),_objectSpread$c(_objectSpread$c({},e),{},{path:t,newPath:r}));case\\\"remove_node\\\":return _objectSpread$c(_objectSpread$c({},e),{},{type:\\\"insert_node\\\"});case\\\"remove_text\\\":return _objectSpread$c(_objectSpread$c({},e),{},{type:\\\"insert_text\\\"});case\\\"set_node\\\":var{properties:t,newProperties:r}=e;return _objectSpread$c(_objectSpread$c({},e),{},{properties:r,newProperties:t});case\\\"set_selection\\\":var{properties:r,newProperties:t}=e;return _objectSpread$c(_objectSpread$c({},e),{},null==r?{properties:t,newProperties:null}:null==t?{properties:null,newProperties:r}:{properties:t,newProperties:r});case\\\"split_node\\\":return _objectSpread$c(_objectSpread$c({},e),{},{type:\\\"merge_node\\\",path:Path.next(e.path)})}}},IS_EDITOR_CACHE=new WeakMap,isEditor=e=>{var t=IS_EDITOR_CACHE.get(e);return void 0!==t?t:!!isPlainObject(e)&&(t=\\\"function\\\"==typeof e.addMark&&\\\"function\\\"==typeof e.apply&&\\\"function\\\"==typeof e.deleteFragment&&\\\"function\\\"==typeof e.insertBreak&&\\\"function\\\"==typeof e.insertSoftBreak&&\\\"function\\\"==typeof e.insertFragment&&\\\"function\\\"==typeof e.insertNode&&\\\"function\\\"==typeof e.insertText&&\\\"function\\\"==typeof e.isElementReadOnly&&\\\"function\\\"==typeof e.isInline&&\\\"function\\\"==typeof e.isSelectable&&\\\"function\\\"==typeof e.isVoid&&\\\"function\\\"==typeof e.normalizeNode&&\\\"function\\\"==typeof e.onChange&&\\\"function\\\"==typeof e.removeMark&&\\\"function\\\"==typeof e.getDirtyPaths&&(null===e.marks||isPlainObject(e.marks))&&(null===e.selection||Range.isRange(e.selection))&&Node2.isNodeList(e.children)&&Operation.isOperationList(e.operations),IS_EDITOR_CACHE.set(e,t),t)},Editor={above(e,t){return e.above(t)},addMark(e,t,r){e.addMark(t,r)},after(e,t,r){return e.after(t,r)},before(e,t,r){return e.before(t,r)},deleteBackward(e){var{unit:t=\\\"character\\\"}=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{};e.deleteBackward(t)},deleteForward(e){var{unit:t=\\\"character\\\"}=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{};e.deleteForward(t)},deleteFragment(e,t){e.deleteFragment(t)},edges(e,t){return e.edges(t)},elementReadOnly(e){return e.elementReadOnly(1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{})},end(e,t){return e.end(t)},first(e,t){return e.first(t)},fragment(e,t){return e.fragment(t)},hasBlocks(e,t){return e.hasBlocks(t)},hasInlines(e,t){return e.hasInlines(t)},hasPath(e,t){return e.hasPath(t)},hasTexts(e,t){return e.hasTexts(t)},insertBreak(e){e.insertBreak()},insertFragment(e,t,r){e.insertFragment(t,r)},insertNode(e,t){e.insertNode(t)},insertSoftBreak(e){e.insertSoftBreak()},insertText(e,t){e.insertText(t)},isBlock(e,t){return e.isBlock(t)},isEdge(e,t,r){return e.isEdge(t,r)},isEditor(e){return isEditor(e)},isElementReadOnly(e,t){return e.isElementReadOnly(t)},isEmpty(e,t){return e.isEmpty(t)},isEnd(e,t,r){return e.isEnd(t,r)},isInline(e,t){return e.isInline(t)},isNormalizing(e){return e.isNormalizing()},isSelectable(e,t){return e.isSelectable(t)},isStart(e,t,r){return e.isStart(t,r)},isVoid(e,t){return e.isVoid(t)},last(e,t){return e.last(t)},leaf(e,t,r){return e.leaf(t,r)},levels(e,t){return e.levels(t)},marks(e){return e.getMarks()},next(e,t){return e.next(t)},node(e,t,r){return e.node(t,r)},nodes(e,t){return e.nodes(t)},normalize(e,t){e.normalize(t)},parent(e,t,r){return e.parent(t,r)},path(e,t,r){return e.path(t,r)},pathRef(e,t,r){return e.pathRef(t,r)},pathRefs(e){return e.pathRefs()},point(e,t,r){return e.point(t,r)},pointRef(e,t,r){return e.pointRef(t,r)},pointRefs(e){return e.pointRefs()},positions(e,t){return e.positions(t)},previous(e,t){return e.previous(t)},range(e,t,r){return e.range(t,r)},rangeRef(e,t,r){return e.rangeRef(t,r)},rangeRefs(e){return e.rangeRefs()},removeMark(e,t){e.removeMark(t)},setNormalizing(e,t){e.setNormalizing(t)},start(e,t){return e.start(t)},string(e,t,r){return e.string(t,r)},unhangRange(e,t,r){return e.unhangRange(t,r)},\\\"void\\\"(e,t){return e[\\\"void\\\"](t)},withoutNormalizing(e,t){e.withoutNormalizing(t)}},Span={isSpan(e){return Array.isArray(e)&&2===e.length&&e.every(Path.isPath)}};function ownKeys$b(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$b(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$b(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$b(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var Point={compare(e,t){var r=Path.compare(e.path,t.path);return 0===r?e.offset\u003Ct.offset?-1:e.offset>t.offset?1:0:r},isAfter(e,t){return 1===Point.compare(e,t)},isBefore(e,t){return-1===Point.compare(e,t)},equals(e,t){return e.offset===t.offset&&Path.equals(e.path,t.path)},isPoint(e){return isPlainObject(e)&&\\\"number\\\"==typeof e.offset&&Path.isPath(e.path)},transform(e,o){var a=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{};return fn(e,e=>{if(null===e)return null;var{affinity:t=\\\"forward\\\"}=a,{path:r,offset:n}=e;switch(o.type){case\\\"insert_node\\\":case\\\"move_node\\\":e.path=Path.transform(r,o,a);break;case\\\"insert_text\\\":Path.equals(o.path,r)&&(o.offset\u003Cn||o.offset===n&&\\\"forward\\\"===t)&&(e.offset+=o.text.length);break;case\\\"merge_node\\\":Path.equals(o.path,r)&&(e.offset+=o.position),e.path=Path.transform(r,o,a);break;case\\\"remove_text\\\":Path.equals(o.path,r)&&o.offset\u003C=n&&(e.offset-=Math.min(n-o.offset,o.text.length));break;case\\\"remove_node\\\":if(Path.equals(o.path,r)||Path.isAncestor(o.path,r))return null;e.path=Path.transform(r,o,a);break;case\\\"split_node\\\":if(Path.equals(o.path,r)){if(o.position===n&&null==t)return null;(o.position\u003Cn||o.position===n&&\\\"forward\\\"===t)&&(e.offset-=o.position,e.path=Path.transform(r,o,_objectSpread$b(_objectSpread$b({},a),{},{affinity:\\\"forward\\\"})))}else e.path=Path.transform(r,o,a)}})}},_scrubber=void 0,Scrubber={setScrubber(e){_scrubber=e},stringify(e){return JSON.stringify(e,_scrubber)}},_excluded$2=[\\\"text\\\"],_excluded2$2=[\\\"anchor\\\",\\\"focus\\\"];function ownKeys$a(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$a(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$a(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$a(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var CodepointType,Text={equals(e,t){var{loose:r=!1}=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{};function n(e){return _objectWithoutProperties(e,_excluded$2)}return isDeepEqual(r?n(e):e,r?n(t):t)},isText(e){return isPlainObject(e)&&\\\"string\\\"==typeof e.text},isTextList(e){return Array.isArray(e)&&e.every(e=>Text.isText(e))},isTextProps(e){return void 0!==e.text},matches(e,t){for(var r in t)if(\\\"text\\\"!==r&&(!e.hasOwnProperty(r)||e[r]!==t[r]))return!1;return!0},decorations(e,t){var r,n=[_objectSpread$a({},e)];for(r of t){var o,a=_objectWithoutProperties(r,_excluded2$2),[i,s]=Range.edges(r),c=[],l=0,u=i.offset,d=s.offset;for(o of n){var p,f,g,m=o.text[\\\"length\\\"],h=l;l+=m,u\u003C=h&&l\u003C=d?(Object.assign(o,a),c.push(o)):u!==d&&(u===l||d===h)||l\u003Cu||d\u003Ch||d===h&&0!==h?c.push(o):(m=o,p=g=void 0,d\u003Cl&&(f=d-h,p=_objectSpread$a(_objectSpread$a({},m),{},{text:m.text.slice(f)}),m=_objectSpread$a(_objectSpread$a({},m),{},{text:m.text.slice(0,f)})),h\u003Cu&&(f=u-h,g=_objectSpread$a(_objectSpread$a({},m),{},{text:m.text.slice(0,f)}),m=_objectSpread$a(_objectSpread$a({},m),{},{text:m.text.slice(f)})),Object.assign(m,a),g&&c.push(g),c.push(m),p&&c.push(p))}n=c}return n}},getDefaultInsertLocation=e=>e.selection||(0\u003Ce.children.length?Editor.end(e,[]):[0]),matchPath=(e,t)=>{var[r]=Editor.node(e,t);return e=>e===r},getCharacterDistance=function getCharacterDistance2(e){var t,r=1\u003Carguments.length&&void 0!==arguments[1]&&arguments[1],n=!r,r=r?codepointsIteratorRTL(e):e,o=CodepointType.None,a=CodepointType.None,i=0,s=null;for(t of r){var c=t.codePointAt(0);if(!c)break;c=getCodepointType(t,c);if(([o,a]=n?[a,c]:[c,o]),intersects(o,CodepointType.ZWJ)&&intersects(a,CodepointType.ExtPict)&&!endsWithEmojiZWJ(n?e.substring(0,i):e.substring(0,e.length-i)))break;if(intersects(o,CodepointType.RI)&&intersects(a,CodepointType.RI)&&!(s=null!==s?!s:n||endsWithOddNumberOfRIs(e.substring(0,e.length-i))))break;if(o!==CodepointType.None&&a!==CodepointType.None&&isBoundaryPair(o,a))break;i+=t.length}return i||1},SPACE=/\\\\s/,PUNCTUATION=/[\\\\u0021-\\\\u0023\\\\u0025-\\\\u002A\\\\u002C-\\\\u002F\\\\u003A\\\\u003B\\\\u003F\\\\u0040\\\\u005B-\\\\u005D\\\\u005F\\\\u007B\\\\u007D\\\\u00A1\\\\u00A7\\\\u00AB\\\\u00B6\\\\u00B7\\\\u00BB\\\\u00BF\\\\u037E\\\\u0387\\\\u055A-\\\\u055F\\\\u0589\\\\u058A\\\\u05BE\\\\u05C0\\\\u05C3\\\\u05C6\\\\u05F3\\\\u05F4\\\\u0609\\\\u060A\\\\u060C\\\\u060D\\\\u061B\\\\u061E\\\\u061F\\\\u066A-\\\\u066D\\\\u06D4\\\\u0700-\\\\u070D\\\\u07F7-\\\\u07F9\\\\u0830-\\\\u083E\\\\u085E\\\\u0964\\\\u0965\\\\u0970\\\\u0AF0\\\\u0DF4\\\\u0E4F\\\\u0E5A\\\\u0E5B\\\\u0F04-\\\\u0F12\\\\u0F14\\\\u0F3A-\\\\u0F3D\\\\u0F85\\\\u0FD0-\\\\u0FD4\\\\u0FD9\\\\u0FDA\\\\u104A-\\\\u104F\\\\u10FB\\\\u1360-\\\\u1368\\\\u1400\\\\u166D\\\\u166E\\\\u169B\\\\u169C\\\\u16EB-\\\\u16ED\\\\u1735\\\\u1736\\\\u17D4-\\\\u17D6\\\\u17D8-\\\\u17DA\\\\u1800-\\\\u180A\\\\u1944\\\\u1945\\\\u1A1E\\\\u1A1F\\\\u1AA0-\\\\u1AA6\\\\u1AA8-\\\\u1AAD\\\\u1B5A-\\\\u1B60\\\\u1BFC-\\\\u1BFF\\\\u1C3B-\\\\u1C3F\\\\u1C7E\\\\u1C7F\\\\u1CC0-\\\\u1CC7\\\\u1CD3\\\\u2010-\\\\u2027\\\\u2030-\\\\u2043\\\\u2045-\\\\u2051\\\\u2053-\\\\u205E\\\\u207D\\\\u207E\\\\u208D\\\\u208E\\\\u2329\\\\u232A\\\\u2768-\\\\u2775\\\\u27C5\\\\u27C6\\\\u27E6-\\\\u27EF\\\\u2983-\\\\u2998\\\\u29D8-\\\\u29DB\\\\u29FC\\\\u29FD\\\\u2CF9-\\\\u2CFC\\\\u2CFE\\\\u2CFF\\\\u2D70\\\\u2E00-\\\\u2E2E\\\\u2E30-\\\\u2E3B\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3014-\\\\u301F\\\\u3030\\\\u303D\\\\u30A0\\\\u30FB\\\\uA4FE\\\\uA4FF\\\\uA60D-\\\\uA60F\\\\uA673\\\\uA67E\\\\uA6F2-\\\\uA6F7\\\\uA874-\\\\uA877\\\\uA8CE\\\\uA8CF\\\\uA8F8-\\\\uA8FA\\\\uA92E\\\\uA92F\\\\uA95F\\\\uA9C1-\\\\uA9CD\\\\uA9DE\\\\uA9DF\\\\uAA5C-\\\\uAA5F\\\\uAADE\\\\uAADF\\\\uAAF0\\\\uAAF1\\\\uABEB\\\\uFD3E\\\\uFD3F\\\\uFE10-\\\\uFE19\\\\uFE30-\\\\uFE52\\\\uFE54-\\\\uFE61\\\\uFE63\\\\uFE68\\\\uFE6A\\\\uFE6B\\\\uFF01-\\\\uFF03\\\\uFF05-\\\\uFF0A\\\\uFF0C-\\\\uFF0F\\\\uFF1A\\\\uFF1B\\\\uFF1F\\\\uFF20\\\\uFF3B-\\\\uFF3D\\\\uFF3F\\\\uFF5B\\\\uFF5D\\\\uFF5F-\\\\uFF65]/,CHAMELEON=/['\\\\u2018\\\\u2019]/,getWordDistance=function getWordDistance2(e){for(var t=1\u003Carguments.length&&void 0!==arguments[1]&&arguments[1],r=0,n=!1;0\u003Ce.length;){var o=getCharacterDistance(e,t),[a,i]=splitByCharacterDistance(e,o,t);if(isWordCharacter(a,i,t))n=!0;else if(n)break;r+=o,e=i}return r},splitByCharacterDistance=(e,t,r)=>{var n;return r?(n=e.length-t,[e.slice(n,e.length),e.slice(0,n)]):[e.slice(0,t),e.slice(t)]},isWordCharacter=function isWordCharacter2(e,t){var r=2\u003Carguments.length&&void 0!==arguments[2]&&arguments[2];if(SPACE.test(e))return!1;if(CHAMELEON.test(e)){var n=getCharacterDistance(t,r),[n,o]=splitByCharacterDistance(t,n,r);if(isWordCharacter2(n,o,r))return!0}return!PUNCTUATION.test(e)},codepointsIteratorRTL=function*codepointsIteratorRTL2(e){for(var t=e.length-1,r=0;r\u003Ce.length;r++){var n=e.charAt(t-r);if(isLowSurrogate(n.charCodeAt(0))){var o=e.charAt(t-r-1);if(isHighSurrogate(o.charCodeAt(0))){yield o+n,r++;continue}}yield n}},isHighSurrogate=e=>55296\u003C=e&&e\u003C=56319,isLowSurrogate=e=>56320\u003C=e&&e\u003C=57343,reExtend=(!function(e){e[e.None=0]=\\\"None\\\",e[e.Extend=1]=\\\"Extend\\\",e[e.ZWJ=2]=\\\"ZWJ\\\",e[e.RI=4]=\\\"RI\\\",e[e.Prepend=8]=\\\"Prepend\\\",e[e.SpacingMark=16]=\\\"SpacingMark\\\",e[e.L=32]=\\\"L\\\",e[e.V=64]=\\\"V\\\",e[e.T=128]=\\\"T\\\",e[e.LV=256]=\\\"LV\\\",e[e.LVT=512]=\\\"LVT\\\",e[e.ExtPict=1024]=\\\"ExtPict\\\",e[e.Any=2048]=\\\"Any\\\"}(CodepointType=CodepointType||{}),/^(?:[\\\\u0300-\\\\u036F\\\\u0483-\\\\u0489\\\\u0591-\\\\u05BD\\\\u05BF\\\\u05C1\\\\u05C2\\\\u05C4\\\\u05C5\\\\u05C7\\\\u0610-\\\\u061A\\\\u064B-\\\\u065F\\\\u0670\\\\u06D6-\\\\u06DC\\\\u06DF-\\\\u06E4\\\\u06E7\\\\u06E8\\\\u06EA-\\\\u06ED\\\\u0711\\\\u0730-\\\\u074A\\\\u07A6-\\\\u07B0\\\\u07EB-\\\\u07F3\\\\u07FD\\\\u0816-\\\\u0819\\\\u081B-\\\\u0823\\\\u0825-\\\\u0827\\\\u0829-\\\\u082D\\\\u0859-\\\\u085B\\\\u08D3-\\\\u08E1\\\\u08E3-\\\\u0902\\\\u093A\\\\u093C\\\\u0941-\\\\u0948\\\\u094D\\\\u0951-\\\\u0957\\\\u0962\\\\u0963\\\\u0981\\\\u09BC\\\\u09BE\\\\u09C1-\\\\u09C4\\\\u09CD\\\\u09D7\\\\u09E2\\\\u09E3\\\\u09FE\\\\u0A01\\\\u0A02\\\\u0A3C\\\\u0A41\\\\u0A42\\\\u0A47\\\\u0A48\\\\u0A4B-\\\\u0A4D\\\\u0A51\\\\u0A70\\\\u0A71\\\\u0A75\\\\u0A81\\\\u0A82\\\\u0ABC\\\\u0AC1-\\\\u0AC5\\\\u0AC7\\\\u0AC8\\\\u0ACD\\\\u0AE2\\\\u0AE3\\\\u0AFA-\\\\u0AFF\\\\u0B01\\\\u0B3C\\\\u0B3E\\\\u0B3F\\\\u0B41-\\\\u0B44\\\\u0B4D\\\\u0B55-\\\\u0B57\\\\u0B62\\\\u0B63\\\\u0B82\\\\u0BBE\\\\u0BC0\\\\u0BCD\\\\u0BD7\\\\u0C00\\\\u0C04\\\\u0C3E-\\\\u0C40\\\\u0C46-\\\\u0C48\\\\u0C4A-\\\\u0C4D\\\\u0C55\\\\u0C56\\\\u0C62\\\\u0C63\\\\u0C81\\\\u0CBC\\\\u0CBF\\\\u0CC2\\\\u0CC6\\\\u0CCC\\\\u0CCD\\\\u0CD5\\\\u0CD6\\\\u0CE2\\\\u0CE3\\\\u0D00\\\\u0D01\\\\u0D3B\\\\u0D3C\\\\u0D3E\\\\u0D41-\\\\u0D44\\\\u0D4D\\\\u0D57\\\\u0D62\\\\u0D63\\\\u0D81\\\\u0DCA\\\\u0DCF\\\\u0DD2-\\\\u0DD4\\\\u0DD6\\\\u0DDF\\\\u0E31\\\\u0E34-\\\\u0E3A\\\\u0E47-\\\\u0E4E\\\\u0EB1\\\\u0EB4-\\\\u0EBC\\\\u0EC8-\\\\u0ECD\\\\u0F18\\\\u0F19\\\\u0F35\\\\u0F37\\\\u0F39\\\\u0F71-\\\\u0F7E\\\\u0F80-\\\\u0F84\\\\u0F86\\\\u0F87\\\\u0F8D-\\\\u0F97\\\\u0F99-\\\\u0FBC\\\\u0FC6\\\\u102D-\\\\u1030\\\\u1032-\\\\u1037\\\\u1039\\\\u103A\\\\u103D\\\\u103E\\\\u1058\\\\u1059\\\\u105E-\\\\u1060\\\\u1071-\\\\u1074\\\\u1082\\\\u1085\\\\u1086\\\\u108D\\\\u109D\\\\u135D-\\\\u135F\\\\u1712-\\\\u1714\\\\u1732-\\\\u1734\\\\u1752\\\\u1753\\\\u1772\\\\u1773\\\\u17B4\\\\u17B5\\\\u17B7-\\\\u17BD\\\\u17C6\\\\u17C9-\\\\u17D3\\\\u17DD\\\\u180B-\\\\u180D\\\\u1885\\\\u1886\\\\u18A9\\\\u1920-\\\\u1922\\\\u1927\\\\u1928\\\\u1932\\\\u1939-\\\\u193B\\\\u1A17\\\\u1A18\\\\u1A1B\\\\u1A56\\\\u1A58-\\\\u1A5E\\\\u1A60\\\\u1A62\\\\u1A65-\\\\u1A6C\\\\u1A73-\\\\u1A7C\\\\u1A7F\\\\u1AB0-\\\\u1AC0\\\\u1B00-\\\\u1B03\\\\u1B34-\\\\u1B3A\\\\u1B3C\\\\u1B42\\\\u1B6B-\\\\u1B73\\\\u1B80\\\\u1B81\\\\u1BA2-\\\\u1BA5\\\\u1BA8\\\\u1BA9\\\\u1BAB-\\\\u1BAD\\\\u1BE6\\\\u1BE8\\\\u1BE9\\\\u1BED\\\\u1BEF-\\\\u1BF1\\\\u1C2C-\\\\u1C33\\\\u1C36\\\\u1C37\\\\u1CD0-\\\\u1CD2\\\\u1CD4-\\\\u1CE0\\\\u1CE2-\\\\u1CE8\\\\u1CED\\\\u1CF4\\\\u1CF8\\\\u1CF9\\\\u1DC0-\\\\u1DF9\\\\u1DFB-\\\\u1DFF\\\\u200C\\\\u20D0-\\\\u20F0\\\\u2CEF-\\\\u2CF1\\\\u2D7F\\\\u2DE0-\\\\u2DFF\\\\u302A-\\\\u302F\\\\u3099\\\\u309A\\\\uA66F-\\\\uA672\\\\uA674-\\\\uA67D\\\\uA69E\\\\uA69F\\\\uA6F0\\\\uA6F1\\\\uA802\\\\uA806\\\\uA80B\\\\uA825\\\\uA826\\\\uA82C\\\\uA8C4\\\\uA8C5\\\\uA8E0-\\\\uA8F1\\\\uA8FF\\\\uA926-\\\\uA92D\\\\uA947-\\\\uA951\\\\uA980-\\\\uA982\\\\uA9B3\\\\uA9B6-\\\\uA9B9\\\\uA9BC\\\\uA9BD\\\\uA9E5\\\\uAA29-\\\\uAA2E\\\\uAA31\\\\uAA32\\\\uAA35\\\\uAA36\\\\uAA43\\\\uAA4C\\\\uAA7C\\\\uAAB0\\\\uAAB2-\\\\uAAB4\\\\uAAB7\\\\uAAB8\\\\uAABE\\\\uAABF\\\\uAAC1\\\\uAAEC\\\\uAAED\\\\uAAF6\\\\uABE5\\\\uABE8\\\\uABED\\\\uFB1E\\\\uFE00-\\\\uFE0F\\\\uFE20-\\\\uFE2F\\\\uFF9E\\\\uFF9F]|\\\\uD800[\\\\uDDFD\\\\uDEE0\\\\uDF76-\\\\uDF7A]|\\\\uD802[\\\\uDE01-\\\\uDE03\\\\uDE05\\\\uDE06\\\\uDE0C-\\\\uDE0F\\\\uDE38-\\\\uDE3A\\\\uDE3F\\\\uDEE5\\\\uDEE6]|\\\\uD803[\\\\uDD24-\\\\uDD27\\\\uDEAB\\\\uDEAC\\\\uDF46-\\\\uDF50]|\\\\uD804[\\\\uDC01\\\\uDC38-\\\\uDC46\\\\uDC7F-\\\\uDC81\\\\uDCB3-\\\\uDCB6\\\\uDCB9\\\\uDCBA\\\\uDD00-\\\\uDD02\\\\uDD27-\\\\uDD2B\\\\uDD2D-\\\\uDD34\\\\uDD73\\\\uDD80\\\\uDD81\\\\uDDB6-\\\\uDDBE\\\\uDDC9-\\\\uDDCC\\\\uDDCF\\\\uDE2F-\\\\uDE31\\\\uDE34\\\\uDE36\\\\uDE37\\\\uDE3E\\\\uDEDF\\\\uDEE3-\\\\uDEEA\\\\uDF00\\\\uDF01\\\\uDF3B\\\\uDF3C\\\\uDF3E\\\\uDF40\\\\uDF57\\\\uDF66-\\\\uDF6C\\\\uDF70-\\\\uDF74]|\\\\uD805[\\\\uDC38-\\\\uDC3F\\\\uDC42-\\\\uDC44\\\\uDC46\\\\uDC5E\\\\uDCB0\\\\uDCB3-\\\\uDCB8\\\\uDCBA\\\\uDCBD\\\\uDCBF\\\\uDCC0\\\\uDCC2\\\\uDCC3\\\\uDDAF\\\\uDDB2-\\\\uDDB5\\\\uDDBC\\\\uDDBD\\\\uDDBF\\\\uDDC0\\\\uDDDC\\\\uDDDD\\\\uDE33-\\\\uDE3A\\\\uDE3D\\\\uDE3F\\\\uDE40\\\\uDEAB\\\\uDEAD\\\\uDEB0-\\\\uDEB5\\\\uDEB7\\\\uDF1D-\\\\uDF1F\\\\uDF22-\\\\uDF25\\\\uDF27-\\\\uDF2B]|\\\\uD806[\\\\uDC2F-\\\\uDC37\\\\uDC39\\\\uDC3A\\\\uDD30\\\\uDD3B\\\\uDD3C\\\\uDD3E\\\\uDD43\\\\uDDD4-\\\\uDDD7\\\\uDDDA\\\\uDDDB\\\\uDDE0\\\\uDE01-\\\\uDE0A\\\\uDE33-\\\\uDE38\\\\uDE3B-\\\\uDE3E\\\\uDE47\\\\uDE51-\\\\uDE56\\\\uDE59-\\\\uDE5B\\\\uDE8A-\\\\uDE96\\\\uDE98\\\\uDE99]|\\\\uD807[\\\\uDC30-\\\\uDC36\\\\uDC38-\\\\uDC3D\\\\uDC3F\\\\uDC92-\\\\uDCA7\\\\uDCAA-\\\\uDCB0\\\\uDCB2\\\\uDCB3\\\\uDCB5\\\\uDCB6\\\\uDD31-\\\\uDD36\\\\uDD3A\\\\uDD3C\\\\uDD3D\\\\uDD3F-\\\\uDD45\\\\uDD47\\\\uDD90\\\\uDD91\\\\uDD95\\\\uDD97\\\\uDEF3\\\\uDEF4]|\\\\uD81A[\\\\uDEF0-\\\\uDEF4\\\\uDF30-\\\\uDF36]|\\\\uD81B[\\\\uDF4F\\\\uDF8F-\\\\uDF92\\\\uDFE4]|\\\\uD82F[\\\\uDC9D\\\\uDC9E]|\\\\uD834[\\\\uDD65\\\\uDD67-\\\\uDD69\\\\uDD6E-\\\\uDD72\\\\uDD7B-\\\\uDD82\\\\uDD85-\\\\uDD8B\\\\uDDAA-\\\\uDDAD\\\\uDE42-\\\\uDE44]|\\\\uD836[\\\\uDE00-\\\\uDE36\\\\uDE3B-\\\\uDE6C\\\\uDE75\\\\uDE84\\\\uDE9B-\\\\uDE9F\\\\uDEA1-\\\\uDEAF]|\\\\uD838[\\\\uDC00-\\\\uDC06\\\\uDC08-\\\\uDC18\\\\uDC1B-\\\\uDC21\\\\uDC23\\\\uDC24\\\\uDC26-\\\\uDC2A\\\\uDD30-\\\\uDD36\\\\uDEEC-\\\\uDEEF]|\\\\uD83A[\\\\uDCD0-\\\\uDCD6\\\\uDD44-\\\\uDD4A]|\\\\uD83C[\\\\uDFFB-\\\\uDFFF]|\\\\uDB40[\\\\uDC20-\\\\uDC7F\\\\uDD00-\\\\uDDEF])$/),rePrepend=/^(?:[\\\\u0600-\\\\u0605\\\\u06DD\\\\u070F\\\\u0890\\\\u0891\\\\u08E2\\\\u0D4E]|\\\\uD804[\\\\uDCBD\\\\uDCCD\\\\uDDC2\\\\uDDC3]|\\\\uD806[\\\\uDD3F\\\\uDD41\\\\uDE3A\\\\uDE84-\\\\uDE89]|\\\\uD807\\\\uDD46)$/,reSpacingMark=/^(?:[\\\\u0903\\\\u093B\\\\u093E-\\\\u0940\\\\u0949-\\\\u094C\\\\u094E\\\\u094F\\\\u0982\\\\u0983\\\\u09BF\\\\u09C0\\\\u09C7\\\\u09C8\\\\u09CB\\\\u09CC\\\\u0A03\\\\u0A3E-\\\\u0A40\\\\u0A83\\\\u0ABE-\\\\u0AC0\\\\u0AC9\\\\u0ACB\\\\u0ACC\\\\u0B02\\\\u0B03\\\\u0B40\\\\u0B47\\\\u0B48\\\\u0B4B\\\\u0B4C\\\\u0BBF\\\\u0BC1\\\\u0BC2\\\\u0BC6-\\\\u0BC8\\\\u0BCA-\\\\u0BCC\\\\u0C01-\\\\u0C03\\\\u0C41-\\\\u0C44\\\\u0C82\\\\u0C83\\\\u0CBE\\\\u0CC0\\\\u0CC1\\\\u0CC3\\\\u0CC4\\\\u0CC7\\\\u0CC8\\\\u0CCA\\\\u0CCB\\\\u0D02\\\\u0D03\\\\u0D3F\\\\u0D40\\\\u0D46-\\\\u0D48\\\\u0D4A-\\\\u0D4C\\\\u0D82\\\\u0D83\\\\u0DD0\\\\u0DD1\\\\u0DD8-\\\\u0DDE\\\\u0DF2\\\\u0DF3\\\\u0E33\\\\u0EB3\\\\u0F3E\\\\u0F3F\\\\u0F7F\\\\u1031\\\\u103B\\\\u103C\\\\u1056\\\\u1057\\\\u1084\\\\u1715\\\\u1734\\\\u17B6\\\\u17BE-\\\\u17C5\\\\u17C7\\\\u17C8\\\\u1923-\\\\u1926\\\\u1929-\\\\u192B\\\\u1930\\\\u1931\\\\u1933-\\\\u1938\\\\u1A19\\\\u1A1A\\\\u1A55\\\\u1A57\\\\u1A6D-\\\\u1A72\\\\u1B04\\\\u1B3B\\\\u1B3D-\\\\u1B41\\\\u1B43\\\\u1B44\\\\u1B82\\\\u1BA1\\\\u1BA6\\\\u1BA7\\\\u1BAA\\\\u1BE7\\\\u1BEA-\\\\u1BEC\\\\u1BEE\\\\u1BF2\\\\u1BF3\\\\u1C24-\\\\u1C2B\\\\u1C34\\\\u1C35\\\\u1CE1\\\\u1CF7\\\\uA823\\\\uA824\\\\uA827\\\\uA880\\\\uA881\\\\uA8B4-\\\\uA8C3\\\\uA952\\\\uA953\\\\uA983\\\\uA9B4\\\\uA9B5\\\\uA9BA\\\\uA9BB\\\\uA9BE-\\\\uA9C0\\\\uAA2F\\\\uAA30\\\\uAA33\\\\uAA34\\\\uAA4D\\\\uAAEB\\\\uAAEE\\\\uAAEF\\\\uAAF5\\\\uABE3\\\\uABE4\\\\uABE6\\\\uABE7\\\\uABE9\\\\uABEA\\\\uABEC]|\\\\uD804[\\\\uDC00\\\\uDC02\\\\uDC82\\\\uDCB0-\\\\uDCB2\\\\uDCB7\\\\uDCB8\\\\uDD2C\\\\uDD45\\\\uDD46\\\\uDD82\\\\uDDB3-\\\\uDDB5\\\\uDDBF\\\\uDDC0\\\\uDDCE\\\\uDE2C-\\\\uDE2E\\\\uDE32\\\\uDE33\\\\uDE35\\\\uDEE0-\\\\uDEE2\\\\uDF02\\\\uDF03\\\\uDF3F\\\\uDF41-\\\\uDF44\\\\uDF47\\\\uDF48\\\\uDF4B-\\\\uDF4D\\\\uDF62\\\\uDF63]|\\\\uD805[\\\\uDC35-\\\\uDC37\\\\uDC40\\\\uDC41\\\\uDC45\\\\uDCB1\\\\uDCB2\\\\uDCB9\\\\uDCBB\\\\uDCBC\\\\uDCBE\\\\uDCC1\\\\uDDB0\\\\uDDB1\\\\uDDB8-\\\\uDDBB\\\\uDDBE\\\\uDE30-\\\\uDE32\\\\uDE3B\\\\uDE3C\\\\uDE3E\\\\uDEAC\\\\uDEAE\\\\uDEAF\\\\uDEB6\\\\uDF26]|\\\\uD806[\\\\uDC2C-\\\\uDC2E\\\\uDC38\\\\uDD31-\\\\uDD35\\\\uDD37\\\\uDD38\\\\uDD3D\\\\uDD40\\\\uDD42\\\\uDDD1-\\\\uDDD3\\\\uDDDC-\\\\uDDDF\\\\uDDE4\\\\uDE39\\\\uDE57\\\\uDE58\\\\uDE97]|\\\\uD807[\\\\uDC2F\\\\uDC3E\\\\uDCA9\\\\uDCB1\\\\uDCB4\\\\uDD8A-\\\\uDD8E\\\\uDD93\\\\uDD94\\\\uDD96\\\\uDEF5\\\\uDEF6]|\\\\uD81B[\\\\uDF51-\\\\uDF87\\\\uDFF0\\\\uDFF1]|\\\\uD834[\\\\uDD66\\\\uDD6D])$/,reL=/^[\\\\u1100-\\\\u115F\\\\uA960-\\\\uA97C]$/,reV=/^[\\\\u1160-\\\\u11A7\\\\uD7B0-\\\\uD7C6]$/,reT=/^[\\\\u11A8-\\\\u11FF\\\\uD7CB-\\\\uD7FB]$/,reLV=/^[\\\\uAC00\\\\uAC1C\\\\uAC38\\\\uAC54\\\\uAC70\\\\uAC8C\\\\uACA8\\\\uACC4\\\\uACE0\\\\uACFC\\\\uAD18\\\\uAD34\\\\uAD50\\\\uAD6C\\\\uAD88\\\\uADA4\\\\uADC0\\\\uADDC\\\\uADF8\\\\uAE14\\\\uAE30\\\\uAE4C\\\\uAE68\\\\uAE84\\\\uAEA0\\\\uAEBC\\\\uAED8\\\\uAEF4\\\\uAF10\\\\uAF2C\\\\uAF48\\\\uAF64\\\\uAF80\\\\uAF9C\\\\uAFB8\\\\uAFD4\\\\uAFF0\\\\uB00C\\\\uB028\\\\uB044\\\\uB060\\\\uB07C\\\\uB098\\\\uB0B4\\\\uB0D0\\\\uB0EC\\\\uB108\\\\uB124\\\\uB140\\\\uB15C\\\\uB178\\\\uB194\\\\uB1B0\\\\uB1CC\\\\uB1E8\\\\uB204\\\\uB220\\\\uB23C\\\\uB258\\\\uB274\\\\uB290\\\\uB2AC\\\\uB2C8\\\\uB2E4\\\\uB300\\\\uB31C\\\\uB338\\\\uB354\\\\uB370\\\\uB38C\\\\uB3A8\\\\uB3C4\\\\uB3E0\\\\uB3FC\\\\uB418\\\\uB434\\\\uB450\\\\uB46C\\\\uB488\\\\uB4A4\\\\uB4C0\\\\uB4DC\\\\uB4F8\\\\uB514\\\\uB530\\\\uB54C\\\\uB568\\\\uB584\\\\uB5A0\\\\uB5BC\\\\uB5D8\\\\uB5F4\\\\uB610\\\\uB62C\\\\uB648\\\\uB664\\\\uB680\\\\uB69C\\\\uB6B8\\\\uB6D4\\\\uB6F0\\\\uB70C\\\\uB728\\\\uB744\\\\uB760\\\\uB77C\\\\uB798\\\\uB7B4\\\\uB7D0\\\\uB7EC\\\\uB808\\\\uB824\\\\uB840\\\\uB85C\\\\uB878\\\\uB894\\\\uB8B0\\\\uB8CC\\\\uB8E8\\\\uB904\\\\uB920\\\\uB93C\\\\uB958\\\\uB974\\\\uB990\\\\uB9AC\\\\uB9C8\\\\uB9E4\\\\uBA00\\\\uBA1C\\\\uBA38\\\\uBA54\\\\uBA70\\\\uBA8C\\\\uBAA8\\\\uBAC4\\\\uBAE0\\\\uBAFC\\\\uBB18\\\\uBB34\\\\uBB50\\\\uBB6C\\\\uBB88\\\\uBBA4\\\\uBBC0\\\\uBBDC\\\\uBBF8\\\\uBC14\\\\uBC30\\\\uBC4C\\\\uBC68\\\\uBC84\\\\uBCA0\\\\uBCBC\\\\uBCD8\\\\uBCF4\\\\uBD10\\\\uBD2C\\\\uBD48\\\\uBD64\\\\uBD80\\\\uBD9C\\\\uBDB8\\\\uBDD4\\\\uBDF0\\\\uBE0C\\\\uBE28\\\\uBE44\\\\uBE60\\\\uBE7C\\\\uBE98\\\\uBEB4\\\\uBED0\\\\uBEEC\\\\uBF08\\\\uBF24\\\\uBF40\\\\uBF5C\\\\uBF78\\\\uBF94\\\\uBFB0\\\\uBFCC\\\\uBFE8\\\\uC004\\\\uC020\\\\uC03C\\\\uC058\\\\uC074\\\\uC090\\\\uC0AC\\\\uC0C8\\\\uC0E4\\\\uC100\\\\uC11C\\\\uC138\\\\uC154\\\\uC170\\\\uC18C\\\\uC1A8\\\\uC1C4\\\\uC1E0\\\\uC1FC\\\\uC218\\\\uC234\\\\uC250\\\\uC26C\\\\uC288\\\\uC2A4\\\\uC2C0\\\\uC2DC\\\\uC2F8\\\\uC314\\\\uC330\\\\uC34C\\\\uC368\\\\uC384\\\\uC3A0\\\\uC3BC\\\\uC3D8\\\\uC3F4\\\\uC410\\\\uC42C\\\\uC448\\\\uC464\\\\uC480\\\\uC49C\\\\uC4B8\\\\uC4D4\\\\uC4F0\\\\uC50C\\\\uC528\\\\uC544\\\\uC560\\\\uC57C\\\\uC598\\\\uC5B4\\\\uC5D0\\\\uC5EC\\\\uC608\\\\uC624\\\\uC640\\\\uC65C\\\\uC678\\\\uC694\\\\uC6B0\\\\uC6CC\\\\uC6E8\\\\uC704\\\\uC720\\\\uC73C\\\\uC758\\\\uC774\\\\uC790\\\\uC7AC\\\\uC7C8\\\\uC7E4\\\\uC800\\\\uC81C\\\\uC838\\\\uC854\\\\uC870\\\\uC88C\\\\uC8A8\\\\uC8C4\\\\uC8E0\\\\uC8FC\\\\uC918\\\\uC934\\\\uC950\\\\uC96C\\\\uC988\\\\uC9A4\\\\uC9C0\\\\uC9DC\\\\uC9F8\\\\uCA14\\\\uCA30\\\\uCA4C\\\\uCA68\\\\uCA84\\\\uCAA0\\\\uCABC\\\\uCAD8\\\\uCAF4\\\\uCB10\\\\uCB2C\\\\uCB48\\\\uCB64\\\\uCB80\\\\uCB9C\\\\uCBB8\\\\uCBD4\\\\uCBF0\\\\uCC0C\\\\uCC28\\\\uCC44\\\\uCC60\\\\uCC7C\\\\uCC98\\\\uCCB4\\\\uCCD0\\\\uCCEC\\\\uCD08\\\\uCD24\\\\uCD40\\\\uCD5C\\\\uCD78\\\\uCD94\\\\uCDB0\\\\uCDCC\\\\uCDE8\\\\uCE04\\\\uCE20\\\\uCE3C\\\\uCE58\\\\uCE74\\\\uCE90\\\\uCEAC\\\\uCEC8\\\\uCEE4\\\\uCF00\\\\uCF1C\\\\uCF38\\\\uCF54\\\\uCF70\\\\uCF8C\\\\uCFA8\\\\uCFC4\\\\uCFE0\\\\uCFFC\\\\uD018\\\\uD034\\\\uD050\\\\uD06C\\\\uD088\\\\uD0A4\\\\uD0C0\\\\uD0DC\\\\uD0F8\\\\uD114\\\\uD130\\\\uD14C\\\\uD168\\\\uD184\\\\uD1A0\\\\uD1BC\\\\uD1D8\\\\uD1F4\\\\uD210\\\\uD22C\\\\uD248\\\\uD264\\\\uD280\\\\uD29C\\\\uD2B8\\\\uD2D4\\\\uD2F0\\\\uD30C\\\\uD328\\\\uD344\\\\uD360\\\\uD37C\\\\uD398\\\\uD3B4\\\\uD3D0\\\\uD3EC\\\\uD408\\\\uD424\\\\uD440\\\\uD45C\\\\uD478\\\\uD494\\\\uD4B0\\\\uD4CC\\\\uD4E8\\\\uD504\\\\uD520\\\\uD53C\\\\uD558\\\\uD574\\\\uD590\\\\uD5AC\\\\uD5C8\\\\uD5E4\\\\uD600\\\\uD61C\\\\uD638\\\\uD654\\\\uD670\\\\uD68C\\\\uD6A8\\\\uD6C4\\\\uD6E0\\\\uD6FC\\\\uD718\\\\uD734\\\\uD750\\\\uD76C\\\\uD788]$/,reLVT=/^[\\\\uAC01-\\\\uAC1B\\\\uAC1D-\\\\uAC37\\\\uAC39-\\\\uAC53\\\\uAC55-\\\\uAC6F\\\\uAC71-\\\\uAC8B\\\\uAC8D-\\\\uACA7\\\\uACA9-\\\\uACC3\\\\uACC5-\\\\uACDF\\\\uACE1-\\\\uACFB\\\\uACFD-\\\\uAD17\\\\uAD19-\\\\uAD33\\\\uAD35-\\\\uAD4F\\\\uAD51-\\\\uAD6B\\\\uAD6D-\\\\uAD87\\\\uAD89-\\\\uADA3\\\\uADA5-\\\\uADBF\\\\uADC1-\\\\uADDB\\\\uADDD-\\\\uADF7\\\\uADF9-\\\\uAE13\\\\uAE15-\\\\uAE2F\\\\uAE31-\\\\uAE4B\\\\uAE4D-\\\\uAE67\\\\uAE69-\\\\uAE83\\\\uAE85-\\\\uAE9F\\\\uAEA1-\\\\uAEBB\\\\uAEBD-\\\\uAED7\\\\uAED9-\\\\uAEF3\\\\uAEF5-\\\\uAF0F\\\\uAF11-\\\\uAF2B\\\\uAF2D-\\\\uAF47\\\\uAF49-\\\\uAF63\\\\uAF65-\\\\uAF7F\\\\uAF81-\\\\uAF9B\\\\uAF9D-\\\\uAFB7\\\\uAFB9-\\\\uAFD3\\\\uAFD5-\\\\uAFEF\\\\uAFF1-\\\\uB00B\\\\uB00D-\\\\uB027\\\\uB029-\\\\uB043\\\\uB045-\\\\uB05F\\\\uB061-\\\\uB07B\\\\uB07D-\\\\uB097\\\\uB099-\\\\uB0B3\\\\uB0B5-\\\\uB0CF\\\\uB0D1-\\\\uB0EB\\\\uB0ED-\\\\uB107\\\\uB109-\\\\uB123\\\\uB125-\\\\uB13F\\\\uB141-\\\\uB15B\\\\uB15D-\\\\uB177\\\\uB179-\\\\uB193\\\\uB195-\\\\uB1AF\\\\uB1B1-\\\\uB1CB\\\\uB1CD-\\\\uB1E7\\\\uB1E9-\\\\uB203\\\\uB205-\\\\uB21F\\\\uB221-\\\\uB23B\\\\uB23D-\\\\uB257\\\\uB259-\\\\uB273\\\\uB275-\\\\uB28F\\\\uB291-\\\\uB2AB\\\\uB2AD-\\\\uB2C7\\\\uB2C9-\\\\uB2E3\\\\uB2E5-\\\\uB2FF\\\\uB301-\\\\uB31B\\\\uB31D-\\\\uB337\\\\uB339-\\\\uB353\\\\uB355-\\\\uB36F\\\\uB371-\\\\uB38B\\\\uB38D-\\\\uB3A7\\\\uB3A9-\\\\uB3C3\\\\uB3C5-\\\\uB3DF\\\\uB3E1-\\\\uB3FB\\\\uB3FD-\\\\uB417\\\\uB419-\\\\uB433\\\\uB435-\\\\uB44F\\\\uB451-\\\\uB46B\\\\uB46D-\\\\uB487\\\\uB489-\\\\uB4A3\\\\uB4A5-\\\\uB4BF\\\\uB4C1-\\\\uB4DB\\\\uB4DD-\\\\uB4F7\\\\uB4F9-\\\\uB513\\\\uB515-\\\\uB52F\\\\uB531-\\\\uB54B\\\\uB54D-\\\\uB567\\\\uB569-\\\\uB583\\\\uB585-\\\\uB59F\\\\uB5A1-\\\\uB5BB\\\\uB5BD-\\\\uB5D7\\\\uB5D9-\\\\uB5F3\\\\uB5F5-\\\\uB60F\\\\uB611-\\\\uB62B\\\\uB62D-\\\\uB647\\\\uB649-\\\\uB663\\\\uB665-\\\\uB67F\\\\uB681-\\\\uB69B\\\\uB69D-\\\\uB6B7\\\\uB6B9-\\\\uB6D3\\\\uB6D5-\\\\uB6EF\\\\uB6F1-\\\\uB70B\\\\uB70D-\\\\uB727\\\\uB729-\\\\uB743\\\\uB745-\\\\uB75F\\\\uB761-\\\\uB77B\\\\uB77D-\\\\uB797\\\\uB799-\\\\uB7B3\\\\uB7B5-\\\\uB7CF\\\\uB7D1-\\\\uB7EB\\\\uB7ED-\\\\uB807\\\\uB809-\\\\uB823\\\\uB825-\\\\uB83F\\\\uB841-\\\\uB85B\\\\uB85D-\\\\uB877\\\\uB879-\\\\uB893\\\\uB895-\\\\uB8AF\\\\uB8B1-\\\\uB8CB\\\\uB8CD-\\\\uB8E7\\\\uB8E9-\\\\uB903\\\\uB905-\\\\uB91F\\\\uB921-\\\\uB93B\\\\uB93D-\\\\uB957\\\\uB959-\\\\uB973\\\\uB975-\\\\uB98F\\\\uB991-\\\\uB9AB\\\\uB9AD-\\\\uB9C7\\\\uB9C9-\\\\uB9E3\\\\uB9E5-\\\\uB9FF\\\\uBA01-\\\\uBA1B\\\\uBA1D-\\\\uBA37\\\\uBA39-\\\\uBA53\\\\uBA55-\\\\uBA6F\\\\uBA71-\\\\uBA8B\\\\uBA8D-\\\\uBAA7\\\\uBAA9-\\\\uBAC3\\\\uBAC5-\\\\uBADF\\\\uBAE1-\\\\uBAFB\\\\uBAFD-\\\\uBB17\\\\uBB19-\\\\uBB33\\\\uBB35-\\\\uBB4F\\\\uBB51-\\\\uBB6B\\\\uBB6D-\\\\uBB87\\\\uBB89-\\\\uBBA3\\\\uBBA5-\\\\uBBBF\\\\uBBC1-\\\\uBBDB\\\\uBBDD-\\\\uBBF7\\\\uBBF9-\\\\uBC13\\\\uBC15-\\\\uBC2F\\\\uBC31-\\\\uBC4B\\\\uBC4D-\\\\uBC67\\\\uBC69-\\\\uBC83\\\\uBC85-\\\\uBC9F\\\\uBCA1-\\\\uBCBB\\\\uBCBD-\\\\uBCD7\\\\uBCD9-\\\\uBCF3\\\\uBCF5-\\\\uBD0F\\\\uBD11-\\\\uBD2B\\\\uBD2D-\\\\uBD47\\\\uBD49-\\\\uBD63\\\\uBD65-\\\\uBD7F\\\\uBD81-\\\\uBD9B\\\\uBD9D-\\\\uBDB7\\\\uBDB9-\\\\uBDD3\\\\uBDD5-\\\\uBDEF\\\\uBDF1-\\\\uBE0B\\\\uBE0D-\\\\uBE27\\\\uBE29-\\\\uBE43\\\\uBE45-\\\\uBE5F\\\\uBE61-\\\\uBE7B\\\\uBE7D-\\\\uBE97\\\\uBE99-\\\\uBEB3\\\\uBEB5-\\\\uBECF\\\\uBED1-\\\\uBEEB\\\\uBEED-\\\\uBF07\\\\uBF09-\\\\uBF23\\\\uBF25-\\\\uBF3F\\\\uBF41-\\\\uBF5B\\\\uBF5D-\\\\uBF77\\\\uBF79-\\\\uBF93\\\\uBF95-\\\\uBFAF\\\\uBFB1-\\\\uBFCB\\\\uBFCD-\\\\uBFE7\\\\uBFE9-\\\\uC003\\\\uC005-\\\\uC01F\\\\uC021-\\\\uC03B\\\\uC03D-\\\\uC057\\\\uC059-\\\\uC073\\\\uC075-\\\\uC08F\\\\uC091-\\\\uC0AB\\\\uC0AD-\\\\uC0C7\\\\uC0C9-\\\\uC0E3\\\\uC0E5-\\\\uC0FF\\\\uC101-\\\\uC11B\\\\uC11D-\\\\uC137\\\\uC139-\\\\uC153\\\\uC155-\\\\uC16F\\\\uC171-\\\\uC18B\\\\uC18D-\\\\uC1A7\\\\uC1A9-\\\\uC1C3\\\\uC1C5-\\\\uC1DF\\\\uC1E1-\\\\uC1FB\\\\uC1FD-\\\\uC217\\\\uC219-\\\\uC233\\\\uC235-\\\\uC24F\\\\uC251-\\\\uC26B\\\\uC26D-\\\\uC287\\\\uC289-\\\\uC2A3\\\\uC2A5-\\\\uC2BF\\\\uC2C1-\\\\uC2DB\\\\uC2DD-\\\\uC2F7\\\\uC2F9-\\\\uC313\\\\uC315-\\\\uC32F\\\\uC331-\\\\uC34B\\\\uC34D-\\\\uC367\\\\uC369-\\\\uC383\\\\uC385-\\\\uC39F\\\\uC3A1-\\\\uC3BB\\\\uC3BD-\\\\uC3D7\\\\uC3D9-\\\\uC3F3\\\\uC3F5-\\\\uC40F\\\\uC411-\\\\uC42B\\\\uC42D-\\\\uC447\\\\uC449-\\\\uC463\\\\uC465-\\\\uC47F\\\\uC481-\\\\uC49B\\\\uC49D-\\\\uC4B7\\\\uC4B9-\\\\uC4D3\\\\uC4D5-\\\\uC4EF\\\\uC4F1-\\\\uC50B\\\\uC50D-\\\\uC527\\\\uC529-\\\\uC543\\\\uC545-\\\\uC55F\\\\uC561-\\\\uC57B\\\\uC57D-\\\\uC597\\\\uC599-\\\\uC5B3\\\\uC5B5-\\\\uC5CF\\\\uC5D1-\\\\uC5EB\\\\uC5ED-\\\\uC607\\\\uC609-\\\\uC623\\\\uC625-\\\\uC63F\\\\uC641-\\\\uC65B\\\\uC65D-\\\\uC677\\\\uC679-\\\\uC693\\\\uC695-\\\\uC6AF\\\\uC6B1-\\\\uC6CB\\\\uC6CD-\\\\uC6E7\\\\uC6E9-\\\\uC703\\\\uC705-\\\\uC71F\\\\uC721-\\\\uC73B\\\\uC73D-\\\\uC757\\\\uC759-\\\\uC773\\\\uC775-\\\\uC78F\\\\uC791-\\\\uC7AB\\\\uC7AD-\\\\uC7C7\\\\uC7C9-\\\\uC7E3\\\\uC7E5-\\\\uC7FF\\\\uC801-\\\\uC81B\\\\uC81D-\\\\uC837\\\\uC839-\\\\uC853\\\\uC855-\\\\uC86F\\\\uC871-\\\\uC88B\\\\uC88D-\\\\uC8A7\\\\uC8A9-\\\\uC8C3\\\\uC8C5-\\\\uC8DF\\\\uC8E1-\\\\uC8FB\\\\uC8FD-\\\\uC917\\\\uC919-\\\\uC933\\\\uC935-\\\\uC94F\\\\uC951-\\\\uC96B\\\\uC96D-\\\\uC987\\\\uC989-\\\\uC9A3\\\\uC9A5-\\\\uC9BF\\\\uC9C1-\\\\uC9DB\\\\uC9DD-\\\\uC9F7\\\\uC9F9-\\\\uCA13\\\\uCA15-\\\\uCA2F\\\\uCA31-\\\\uCA4B\\\\uCA4D-\\\\uCA67\\\\uCA69-\\\\uCA83\\\\uCA85-\\\\uCA9F\\\\uCAA1-\\\\uCABB\\\\uCABD-\\\\uCAD7\\\\uCAD9-\\\\uCAF3\\\\uCAF5-\\\\uCB0F\\\\uCB11-\\\\uCB2B\\\\uCB2D-\\\\uCB47\\\\uCB49-\\\\uCB63\\\\uCB65-\\\\uCB7F\\\\uCB81-\\\\uCB9B\\\\uCB9D-\\\\uCBB7\\\\uCBB9-\\\\uCBD3\\\\uCBD5-\\\\uCBEF\\\\uCBF1-\\\\uCC0B\\\\uCC0D-\\\\uCC27\\\\uCC29-\\\\uCC43\\\\uCC45-\\\\uCC5F\\\\uCC61-\\\\uCC7B\\\\uCC7D-\\\\uCC97\\\\uCC99-\\\\uCCB3\\\\uCCB5-\\\\uCCCF\\\\uCCD1-\\\\uCCEB\\\\uCCED-\\\\uCD07\\\\uCD09-\\\\uCD23\\\\uCD25-\\\\uCD3F\\\\uCD41-\\\\uCD5B\\\\uCD5D-\\\\uCD77\\\\uCD79-\\\\uCD93\\\\uCD95-\\\\uCDAF\\\\uCDB1-\\\\uCDCB\\\\uCDCD-\\\\uCDE7\\\\uCDE9-\\\\uCE03\\\\uCE05-\\\\uCE1F\\\\uCE21-\\\\uCE3B\\\\uCE3D-\\\\uCE57\\\\uCE59-\\\\uCE73\\\\uCE75-\\\\uCE8F\\\\uCE91-\\\\uCEAB\\\\uCEAD-\\\\uCEC7\\\\uCEC9-\\\\uCEE3\\\\uCEE5-\\\\uCEFF\\\\uCF01-\\\\uCF1B\\\\uCF1D-\\\\uCF37\\\\uCF39-\\\\uCF53\\\\uCF55-\\\\uCF6F\\\\uCF71-\\\\uCF8B\\\\uCF8D-\\\\uCFA7\\\\uCFA9-\\\\uCFC3\\\\uCFC5-\\\\uCFDF\\\\uCFE1-\\\\uCFFB\\\\uCFFD-\\\\uD017\\\\uD019-\\\\uD033\\\\uD035-\\\\uD04F\\\\uD051-\\\\uD06B\\\\uD06D-\\\\uD087\\\\uD089-\\\\uD0A3\\\\uD0A5-\\\\uD0BF\\\\uD0C1-\\\\uD0DB\\\\uD0DD-\\\\uD0F7\\\\uD0F9-\\\\uD113\\\\uD115-\\\\uD12F\\\\uD131-\\\\uD14B\\\\uD14D-\\\\uD167\\\\uD169-\\\\uD183\\\\uD185-\\\\uD19F\\\\uD1A1-\\\\uD1BB\\\\uD1BD-\\\\uD1D7\\\\uD1D9-\\\\uD1F3\\\\uD1F5-\\\\uD20F\\\\uD211-\\\\uD22B\\\\uD22D-\\\\uD247\\\\uD249-\\\\uD263\\\\uD265-\\\\uD27F\\\\uD281-\\\\uD29B\\\\uD29D-\\\\uD2B7\\\\uD2B9-\\\\uD2D3\\\\uD2D5-\\\\uD2EF\\\\uD2F1-\\\\uD30B\\\\uD30D-\\\\uD327\\\\uD329-\\\\uD343\\\\uD345-\\\\uD35F\\\\uD361-\\\\uD37B\\\\uD37D-\\\\uD397\\\\uD399-\\\\uD3B3\\\\uD3B5-\\\\uD3CF\\\\uD3D1-\\\\uD3EB\\\\uD3ED-\\\\uD407\\\\uD409-\\\\uD423\\\\uD425-\\\\uD43F\\\\uD441-\\\\uD45B\\\\uD45D-\\\\uD477\\\\uD479-\\\\uD493\\\\uD495-\\\\uD4AF\\\\uD4B1-\\\\uD4CB\\\\uD4CD-\\\\uD4E7\\\\uD4E9-\\\\uD503\\\\uD505-\\\\uD51F\\\\uD521-\\\\uD53B\\\\uD53D-\\\\uD557\\\\uD559-\\\\uD573\\\\uD575-\\\\uD58F\\\\uD591-\\\\uD5AB\\\\uD5AD-\\\\uD5C7\\\\uD5C9-\\\\uD5E3\\\\uD5E5-\\\\uD5FF\\\\uD601-\\\\uD61B\\\\uD61D-\\\\uD637\\\\uD639-\\\\uD653\\\\uD655-\\\\uD66F\\\\uD671-\\\\uD68B\\\\uD68D-\\\\uD6A7\\\\uD6A9-\\\\uD6C3\\\\uD6C5-\\\\uD6DF\\\\uD6E1-\\\\uD6FB\\\\uD6FD-\\\\uD717\\\\uD719-\\\\uD733\\\\uD735-\\\\uD74F\\\\uD751-\\\\uD76B\\\\uD76D-\\\\uD787\\\\uD789-\\\\uD7A3]$/,reExtPict=/^(?:[\\\\xA9\\\\xAE\\\\u203C\\\\u2049\\\\u2122\\\\u2139\\\\u2194-\\\\u2199\\\\u21A9\\\\u21AA\\\\u231A\\\\u231B\\\\u2328\\\\u2388\\\\u23CF\\\\u23E9-\\\\u23F3\\\\u23F8-\\\\u23FA\\\\u24C2\\\\u25AA\\\\u25AB\\\\u25B6\\\\u25C0\\\\u25FB-\\\\u25FE\\\\u2600-\\\\u2605\\\\u2607-\\\\u2612\\\\u2614-\\\\u2685\\\\u2690-\\\\u2705\\\\u2708-\\\\u2712\\\\u2714\\\\u2716\\\\u271D\\\\u2721\\\\u2728\\\\u2733\\\\u2734\\\\u2744\\\\u2747\\\\u274C\\\\u274E\\\\u2753-\\\\u2755\\\\u2757\\\\u2763-\\\\u2767\\\\u2795-\\\\u2797\\\\u27A1\\\\u27B0\\\\u27BF\\\\u2934\\\\u2935\\\\u2B05-\\\\u2B07\\\\u2B1B\\\\u2B1C\\\\u2B50\\\\u2B55\\\\u3030\\\\u303D\\\\u3297\\\\u3299]|\\\\uD83C[\\\\uDC00-\\\\uDCFF\\\\uDD0D-\\\\uDD0F\\\\uDD2F\\\\uDD6C-\\\\uDD71\\\\uDD7E\\\\uDD7F\\\\uDD8E\\\\uDD91-\\\\uDD9A\\\\uDDAD-\\\\uDDE5\\\\uDE01-\\\\uDE0F\\\\uDE1A\\\\uDE2F\\\\uDE32-\\\\uDE3A\\\\uDE3C-\\\\uDE3F\\\\uDE49-\\\\uDFFA]|\\\\uD83D[\\\\uDC00-\\\\uDD3D\\\\uDD46-\\\\uDE4F\\\\uDE80-\\\\uDEFF\\\\uDF74-\\\\uDF7F\\\\uDFD5-\\\\uDFFF]|\\\\uD83E[\\\\uDC0C-\\\\uDC0F\\\\uDC48-\\\\uDC4F\\\\uDC5A-\\\\uDC5F\\\\uDC88-\\\\uDC8F\\\\uDCAE-\\\\uDCFF\\\\uDD0C-\\\\uDD3A\\\\uDD3C-\\\\uDD45\\\\uDD47-\\\\uDEFF]|\\\\uD83F[\\\\uDC00-\\\\uDFFD])$/,getCodepointType=(e,t)=>{var r=CodepointType.Any;return-1!==e.search(reExtend)&&(r|=CodepointType.Extend),8205===t&&(r|=CodepointType.ZWJ),127462\u003C=t&&t\u003C=127487&&(r|=CodepointType.RI),-1!==e.search(rePrepend)&&(r|=CodepointType.Prepend),-1!==e.search(reSpacingMark)&&(r|=CodepointType.SpacingMark),-1!==e.search(reL)&&(r|=CodepointType.L),-1!==e.search(reV)&&(r|=CodepointType.V),-1!==e.search(reT)&&(r|=CodepointType.T),-1!==e.search(reLV)&&(r|=CodepointType.LV),-1!==e.search(reLVT)&&(r|=CodepointType.LVT),-1!==e.search(reExtPict)&&(r|=CodepointType.ExtPict),r};function intersects(e,t){return 0!=(e&t)}var NonBoundaryPairs=[[CodepointType.L,CodepointType.L|CodepointType.V|CodepointType.LV|CodepointType.LVT],[CodepointType.LV|CodepointType.V,CodepointType.V|CodepointType.T],[CodepointType.LVT|CodepointType.T,CodepointType.T],[CodepointType.Any,CodepointType.Extend|CodepointType.ZWJ],[CodepointType.Any,CodepointType.SpacingMark],[CodepointType.Prepend,CodepointType.Any],[CodepointType.ZWJ,CodepointType.ExtPict],[CodepointType.RI,CodepointType.RI]];function isBoundaryPair(t,r){return-1===NonBoundaryPairs.findIndex(e=>intersects(t,e[0])&&intersects(r,e[1]))}var endingEmojiZWJ=/(?:[\\\\xA9\\\\xAE\\\\u203C\\\\u2049\\\\u2122\\\\u2139\\\\u2194-\\\\u2199\\\\u21A9\\\\u21AA\\\\u231A\\\\u231B\\\\u2328\\\\u2388\\\\u23CF\\\\u23E9-\\\\u23F3\\\\u23F8-\\\\u23FA\\\\u24C2\\\\u25AA\\\\u25AB\\\\u25B6\\\\u25C0\\\\u25FB-\\\\u25FE\\\\u2600-\\\\u2605\\\\u2607-\\\\u2612\\\\u2614-\\\\u2685\\\\u2690-\\\\u2705\\\\u2708-\\\\u2712\\\\u2714\\\\u2716\\\\u271D\\\\u2721\\\\u2728\\\\u2733\\\\u2734\\\\u2744\\\\u2747\\\\u274C\\\\u274E\\\\u2753-\\\\u2755\\\\u2757\\\\u2763-\\\\u2767\\\\u2795-\\\\u2797\\\\u27A1\\\\u27B0\\\\u27BF\\\\u2934\\\\u2935\\\\u2B05-\\\\u2B07\\\\u2B1B\\\\u2B1C\\\\u2B50\\\\u2B55\\\\u3030\\\\u303D\\\\u3297\\\\u3299]|\\\\uD83C[\\\\uDC00-\\\\uDCFF\\\\uDD0D-\\\\uDD0F\\\\uDD2F\\\\uDD6C-\\\\uDD71\\\\uDD7E\\\\uDD7F\\\\uDD8E\\\\uDD91-\\\\uDD9A\\\\uDDAD-\\\\uDDE5\\\\uDE01-\\\\uDE0F\\\\uDE1A\\\\uDE2F\\\\uDE32-\\\\uDE3A\\\\uDE3C-\\\\uDE3F\\\\uDE49-\\\\uDFFA]|\\\\uD83D[\\\\uDC00-\\\\uDD3D\\\\uDD46-\\\\uDE4F\\\\uDE80-\\\\uDEFF\\\\uDF74-\\\\uDF7F\\\\uDFD5-\\\\uDFFF]|\\\\uD83E[\\\\uDC0C-\\\\uDC0F\\\\uDC48-\\\\uDC4F\\\\uDC5A-\\\\uDC5F\\\\uDC88-\\\\uDC8F\\\\uDCAE-\\\\uDCFF\\\\uDD0C-\\\\uDD3A\\\\uDD3C-\\\\uDD45\\\\uDD47-\\\\uDEFF]|\\\\uD83F[\\\\uDC00-\\\\uDFFD])(?:[\\\\u0300-\\\\u036F\\\\u0483-\\\\u0489\\\\u0591-\\\\u05BD\\\\u05BF\\\\u05C1\\\\u05C2\\\\u05C4\\\\u05C5\\\\u05C7\\\\u0610-\\\\u061A\\\\u064B-\\\\u065F\\\\u0670\\\\u06D6-\\\\u06DC\\\\u06DF-\\\\u06E4\\\\u06E7\\\\u06E8\\\\u06EA-\\\\u06ED\\\\u0711\\\\u0730-\\\\u074A\\\\u07A6-\\\\u07B0\\\\u07EB-\\\\u07F3\\\\u07FD\\\\u0816-\\\\u0819\\\\u081B-\\\\u0823\\\\u0825-\\\\u0827\\\\u0829-\\\\u082D\\\\u0859-\\\\u085B\\\\u08D3-\\\\u08E1\\\\u08E3-\\\\u0902\\\\u093A\\\\u093C\\\\u0941-\\\\u0948\\\\u094D\\\\u0951-\\\\u0957\\\\u0962\\\\u0963\\\\u0981\\\\u09BC\\\\u09BE\\\\u09C1-\\\\u09C4\\\\u09CD\\\\u09D7\\\\u09E2\\\\u09E3\\\\u09FE\\\\u0A01\\\\u0A02\\\\u0A3C\\\\u0A41\\\\u0A42\\\\u0A47\\\\u0A48\\\\u0A4B-\\\\u0A4D\\\\u0A51\\\\u0A70\\\\u0A71\\\\u0A75\\\\u0A81\\\\u0A82\\\\u0ABC\\\\u0AC1-\\\\u0AC5\\\\u0AC7\\\\u0AC8\\\\u0ACD\\\\u0AE2\\\\u0AE3\\\\u0AFA-\\\\u0AFF\\\\u0B01\\\\u0B3C\\\\u0B3E\\\\u0B3F\\\\u0B41-\\\\u0B44\\\\u0B4D\\\\u0B55-\\\\u0B57\\\\u0B62\\\\u0B63\\\\u0B82\\\\u0BBE\\\\u0BC0\\\\u0BCD\\\\u0BD7\\\\u0C00\\\\u0C04\\\\u0C3E-\\\\u0C40\\\\u0C46-\\\\u0C48\\\\u0C4A-\\\\u0C4D\\\\u0C55\\\\u0C56\\\\u0C62\\\\u0C63\\\\u0C81\\\\u0CBC\\\\u0CBF\\\\u0CC2\\\\u0CC6\\\\u0CCC\\\\u0CCD\\\\u0CD5\\\\u0CD6\\\\u0CE2\\\\u0CE3\\\\u0D00\\\\u0D01\\\\u0D3B\\\\u0D3C\\\\u0D3E\\\\u0D41-\\\\u0D44\\\\u0D4D\\\\u0D57\\\\u0D62\\\\u0D63\\\\u0D81\\\\u0DCA\\\\u0DCF\\\\u0DD2-\\\\u0DD4\\\\u0DD6\\\\u0DDF\\\\u0E31\\\\u0E34-\\\\u0E3A\\\\u0E47-\\\\u0E4E\\\\u0EB1\\\\u0EB4-\\\\u0EBC\\\\u0EC8-\\\\u0ECD\\\\u0F18\\\\u0F19\\\\u0F35\\\\u0F37\\\\u0F39\\\\u0F71-\\\\u0F7E\\\\u0F80-\\\\u0F84\\\\u0F86\\\\u0F87\\\\u0F8D-\\\\u0F97\\\\u0F99-\\\\u0FBC\\\\u0FC6\\\\u102D-\\\\u1030\\\\u1032-\\\\u1037\\\\u1039\\\\u103A\\\\u103D\\\\u103E\\\\u1058\\\\u1059\\\\u105E-\\\\u1060\\\\u1071-\\\\u1074\\\\u1082\\\\u1085\\\\u1086\\\\u108D\\\\u109D\\\\u135D-\\\\u135F\\\\u1712-\\\\u1714\\\\u1732-\\\\u1734\\\\u1752\\\\u1753\\\\u1772\\\\u1773\\\\u17B4\\\\u17B5\\\\u17B7-\\\\u17BD\\\\u17C6\\\\u17C9-\\\\u17D3\\\\u17DD\\\\u180B-\\\\u180D\\\\u1885\\\\u1886\\\\u18A9\\\\u1920-\\\\u1922\\\\u1927\\\\u1928\\\\u1932\\\\u1939-\\\\u193B\\\\u1A17\\\\u1A18\\\\u1A1B\\\\u1A56\\\\u1A58-\\\\u1A5E\\\\u1A60\\\\u1A62\\\\u1A65-\\\\u1A6C\\\\u1A73-\\\\u1A7C\\\\u1A7F\\\\u1AB0-\\\\u1AC0\\\\u1B00-\\\\u1B03\\\\u1B34-\\\\u1B3A\\\\u1B3C\\\\u1B42\\\\u1B6B-\\\\u1B73\\\\u1B80\\\\u1B81\\\\u1BA2-\\\\u1BA5\\\\u1BA8\\\\u1BA9\\\\u1BAB-\\\\u1BAD\\\\u1BE6\\\\u1BE8\\\\u1BE9\\\\u1BED\\\\u1BEF-\\\\u1BF1\\\\u1C2C-\\\\u1C33\\\\u1C36\\\\u1C37\\\\u1CD0-\\\\u1CD2\\\\u1CD4-\\\\u1CE0\\\\u1CE2-\\\\u1CE8\\\\u1CED\\\\u1CF4\\\\u1CF8\\\\u1CF9\\\\u1DC0-\\\\u1DF9\\\\u1DFB-\\\\u1DFF\\\\u200C\\\\u20D0-\\\\u20F0\\\\u2CEF-\\\\u2CF1\\\\u2D7F\\\\u2DE0-\\\\u2DFF\\\\u302A-\\\\u302F\\\\u3099\\\\u309A\\\\uA66F-\\\\uA672\\\\uA674-\\\\uA67D\\\\uA69E\\\\uA69F\\\\uA6F0\\\\uA6F1\\\\uA802\\\\uA806\\\\uA80B\\\\uA825\\\\uA826\\\\uA82C\\\\uA8C4\\\\uA8C5\\\\uA8E0-\\\\uA8F1\\\\uA8FF\\\\uA926-\\\\uA92D\\\\uA947-\\\\uA951\\\\uA980-\\\\uA982\\\\uA9B3\\\\uA9B6-\\\\uA9B9\\\\uA9BC\\\\uA9BD\\\\uA9E5\\\\uAA29-\\\\uAA2E\\\\uAA31\\\\uAA32\\\\uAA35\\\\uAA36\\\\uAA43\\\\uAA4C\\\\uAA7C\\\\uAAB0\\\\uAAB2-\\\\uAAB4\\\\uAAB7\\\\uAAB8\\\\uAABE\\\\uAABF\\\\uAAC1\\\\uAAEC\\\\uAAED\\\\uAAF6\\\\uABE5\\\\uABE8\\\\uABED\\\\uFB1E\\\\uFE00-\\\\uFE0F\\\\uFE20-\\\\uFE2F\\\\uFF9E\\\\uFF9F]|\\\\uD800[\\\\uDDFD\\\\uDEE0\\\\uDF76-\\\\uDF7A]|\\\\uD802[\\\\uDE01-\\\\uDE03\\\\uDE05\\\\uDE06\\\\uDE0C-\\\\uDE0F\\\\uDE38-\\\\uDE3A\\\\uDE3F\\\\uDEE5\\\\uDEE6]|\\\\uD803[\\\\uDD24-\\\\uDD27\\\\uDEAB\\\\uDEAC\\\\uDF46-\\\\uDF50]|\\\\uD804[\\\\uDC01\\\\uDC38-\\\\uDC46\\\\uDC7F-\\\\uDC81\\\\uDCB3-\\\\uDCB6\\\\uDCB9\\\\uDCBA\\\\uDD00-\\\\uDD02\\\\uDD27-\\\\uDD2B\\\\uDD2D-\\\\uDD34\\\\uDD73\\\\uDD80\\\\uDD81\\\\uDDB6-\\\\uDDBE\\\\uDDC9-\\\\uDDCC\\\\uDDCF\\\\uDE2F-\\\\uDE31\\\\uDE34\\\\uDE36\\\\uDE37\\\\uDE3E\\\\uDEDF\\\\uDEE3-\\\\uDEEA\\\\uDF00\\\\uDF01\\\\uDF3B\\\\uDF3C\\\\uDF3E\\\\uDF40\\\\uDF57\\\\uDF66-\\\\uDF6C\\\\uDF70-\\\\uDF74]|\\\\uD805[\\\\uDC38-\\\\uDC3F\\\\uDC42-\\\\uDC44\\\\uDC46\\\\uDC5E\\\\uDCB0\\\\uDCB3-\\\\uDCB8\\\\uDCBA\\\\uDCBD\\\\uDCBF\\\\uDCC0\\\\uDCC2\\\\uDCC3\\\\uDDAF\\\\uDDB2-\\\\uDDB5\\\\uDDBC\\\\uDDBD\\\\uDDBF\\\\uDDC0\\\\uDDDC\\\\uDDDD\\\\uDE33-\\\\uDE3A\\\\uDE3D\\\\uDE3F\\\\uDE40\\\\uDEAB\\\\uDEAD\\\\uDEB0-\\\\uDEB5\\\\uDEB7\\\\uDF1D-\\\\uDF1F\\\\uDF22-\\\\uDF25\\\\uDF27-\\\\uDF2B]|\\\\uD806[\\\\uDC2F-\\\\uDC37\\\\uDC39\\\\uDC3A\\\\uDD30\\\\uDD3B\\\\uDD3C\\\\uDD3E\\\\uDD43\\\\uDDD4-\\\\uDDD7\\\\uDDDA\\\\uDDDB\\\\uDDE0\\\\uDE01-\\\\uDE0A\\\\uDE33-\\\\uDE38\\\\uDE3B-\\\\uDE3E\\\\uDE47\\\\uDE51-\\\\uDE56\\\\uDE59-\\\\uDE5B\\\\uDE8A-\\\\uDE96\\\\uDE98\\\\uDE99]|\\\\uD807[\\\\uDC30-\\\\uDC36\\\\uDC38-\\\\uDC3D\\\\uDC3F\\\\uDC92-\\\\uDCA7\\\\uDCAA-\\\\uDCB0\\\\uDCB2\\\\uDCB3\\\\uDCB5\\\\uDCB6\\\\uDD31-\\\\uDD36\\\\uDD3A\\\\uDD3C\\\\uDD3D\\\\uDD3F-\\\\uDD45\\\\uDD47\\\\uDD90\\\\uDD91\\\\uDD95\\\\uDD97\\\\uDEF3\\\\uDEF4]|\\\\uD81A[\\\\uDEF0-\\\\uDEF4\\\\uDF30-\\\\uDF36]|\\\\uD81B[\\\\uDF4F\\\\uDF8F-\\\\uDF92\\\\uDFE4]|\\\\uD82F[\\\\uDC9D\\\\uDC9E]|\\\\uD834[\\\\uDD65\\\\uDD67-\\\\uDD69\\\\uDD6E-\\\\uDD72\\\\uDD7B-\\\\uDD82\\\\uDD85-\\\\uDD8B\\\\uDDAA-\\\\uDDAD\\\\uDE42-\\\\uDE44]|\\\\uD836[\\\\uDE00-\\\\uDE36\\\\uDE3B-\\\\uDE6C\\\\uDE75\\\\uDE84\\\\uDE9B-\\\\uDE9F\\\\uDEA1-\\\\uDEAF]|\\\\uD838[\\\\uDC00-\\\\uDC06\\\\uDC08-\\\\uDC18\\\\uDC1B-\\\\uDC21\\\\uDC23\\\\uDC24\\\\uDC26-\\\\uDC2A\\\\uDD30-\\\\uDD36\\\\uDEEC-\\\\uDEEF]|\\\\uD83A[\\\\uDCD0-\\\\uDCD6\\\\uDD44-\\\\uDD4A]|\\\\uD83C[\\\\uDFFB-\\\\uDFFF]|\\\\uDB40[\\\\uDC20-\\\\uDC7F\\\\uDD00-\\\\uDDEF])*\\\\u200D$/,endsWithEmojiZWJ=e=>-1!==e.search(endingEmojiZWJ),endingRIs=/(?:\\\\uD83C[\\\\uDDE6-\\\\uDDFF])+$/g,endsWithOddNumberOfRIs=e=>{var t=e.match(endingRIs);return null!==t&&t[0].length/2%2==1},TextTransforms={\\\"delete\\\"(e,t){e[\\\"delete\\\"](t)},insertFragment(e,t,r){e.insertFragment(t,r)},insertText(o,a){var i=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{};Editor.withoutNormalizing(o,()=>{var{voids:e=!1}=i,{at:t=getDefaultInsertLocation(o)}=i;if(Path.isPath(t)&&(t=Editor.range(o,t)),Range.isRange(t))if(Range.isCollapsed(t))t=t.anchor;else{var r=Range.end(t);if(!e&&Editor[\\\"void\\\"](o,{at:r}))return;var n=Range.start(t),n=Editor.pointRef(o,n),r=Editor.pointRef(o,r),n=(Transforms[\\\"delete\\\"](o,{at:t,voids:e}),n.unref()),r=r.unref(),t=n||r;Transforms.setSelection(o,{anchor:t,focus:t})}!e&&Editor[\\\"void\\\"](o,{at:t})||Editor.elementReadOnly(o,{at:t})||(({path:n,offset:r}=t),0\u003Ca.length&&o.apply({type:\\\"insert_text\\\",path:n,offset:r,text:a}))})}};function ownKeys$9(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$9(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$9(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$9(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var Transforms=_objectSpread$9(_objectSpread$9(_objectSpread$9(_objectSpread$9({},GeneralTransforms),NodeTransforms),SelectionTransforms),TextTransforms),apply=(e,t)=>{for(var r of Editor.pathRefs(e))PathRef.transform(r,t);for(var n of Editor.pointRefs(e))PointRef.transform(n,t);for(var o of Editor.rangeRefs(e))RangeRef.transform(o,t);var a,i,s,c=DIRTY_PATHS.get(e)||[],l=DIRTY_PATH_KEYS.get(e)||new Set,u=e=>{var t;e&&(t=e.join(\\\",\\\"),i.has(t)||(i.add(t),a.push(e)))};if(Path.operationCanTransformPath(t)){a=[],i=new Set;for(var d of c)u(Path.transform(d,t))}else a=c,i=l;for(s of e.getDirtyPaths(t))u(s);DIRTY_PATHS.set(e,a),DIRTY_PATH_KEYS.set(e,i),Transforms.transform(e,t),e.operations.push(t),Editor.normalize(e,{operation:t}),\\\"set_selection\\\"===t.type&&(e.marks=null),FLUSHING.get(e)||(FLUSHING.set(e,!0),Promise.resolve().then(()=>{FLUSHING.set(e,!1),e.onChange({operation:t}),e.operations=[]}))},getDirtyPaths=(e,t)=>{switch(t.type){case\\\"insert_text\\\":case\\\"remove_text\\\":case\\\"set_node\\\":var r=t[\\\"path\\\"];return Path.levels(r);case\\\"insert_node\\\":var{node:r,path:n}=t,o=Path.levels(n),r=Text.isText(r)?[]:Array.from(Node2.nodes(r),e=>{var[,t]=e;return n.concat(t)});return[...o,...r];case\\\"merge_node\\\":o=t[\\\"path\\\"],r=Path.ancestors(o),o=Path.previous(o);return[...r,o];case\\\"move_node\\\":var{path:r,newPath:o}=t;if(Path.equals(r,o))return[];var a,i,s=[],c=[];for(a of Path.ancestors(r)){var l=Path.transform(a,t);s.push(l)}for(i of Path.ancestors(o)){var u=Path.transform(i,t);c.push(u)}r=c[c.length-1],o=o[o.length-1],o=r.concat(o);return[...s,...c,o];case\\\"remove_node\\\":r=t[\\\"path\\\"];return[...Path.ancestors(r)];case\\\"split_node\\\":o=t[\\\"path\\\"],r=Path.levels(o),o=Path.next(o);return[...r,o];default:return[]}},getFragment=e=>{var t=e[\\\"selection\\\"];return t?Node2.fragment(e,t):[]},normalizeNode=(e,t)=>{var[r,n]=t;if(!Text.isText(r))if(Element2.isElement(r)&&0===r.children.length)Transforms.insertNodes(e,{text:\\\"\\\"},{at:n.concat(0),voids:!0});else for(var o=!Editor.isEditor(r)&&Element2.isElement(r)&&(e.isInline(r)||0===r.children.length||Text.isText(r.children[0])||e.isInline(r.children[0])),a=0,i=0;i\u003Cr.children.length;i++,a++){var s,c,l=Node2.get(e,n);Text.isText(l)||(s=l.children[a],l=l.children[a-1],c=i===r.children.length-1,(Text.isText(s)||Element2.isElement(s)&&e.isInline(s))!==o?(Transforms.removeNodes(e,{at:n.concat(a),voids:!0}),a--):Element2.isElement(s)?e.isInline(s)&&(null!=l&&Text.isText(l)?c&&(Transforms.insertNodes(e,{text:\\\"\\\"},{at:n.concat(a+1),voids:!0}),a++):(Transforms.insertNodes(e,{text:\\\"\\\"},{at:n.concat(a),voids:!0}),a++)):null!=l&&Text.isText(l)&&(Text.equals(s,l,{loose:!0})?(Transforms.mergeNodes(e,{at:n.concat(a),voids:!0}),a--):\\\"\\\"===l.text?(Transforms.removeNodes(e,{at:n.concat(a-1),voids:!0}),a--):\\\"\\\"===s.text&&(Transforms.removeNodes(e,{at:n.concat(a),voids:!0}),a--)))}},shouldNormalize=(e,t)=>{var{iteration:r,initialDirtyPathsLength:n}=t,n=42*n;if(n\u003Cr)throw new Error(\\\"Could not completely normalize the editor after \\\".concat(n,\\\" iterations! This is usually due to incorrect normalization logic that leaves a node in an invalid state.\\\"));return!0},above=function above2(e){var{voids:t=!1,mode:r=\\\"lowest\\\",at:n=e.selection,match:o}=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{};if(n){var a,i,s=Editor.path(e,n);for([a,i]of Editor.levels(e,{at:s,voids:t,match:o,reverse:\\\"lowest\\\"===r}))if(!Text.isText(a))if(Range.isRange(n)){if(Path.isAncestor(i,n.anchor.path)&&Path.isAncestor(i,n.focus.path))return[a,i]}else if(!Path.equals(s,i))return[a,i]}};function ownKeys$8(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$8(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$8(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$8(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var addMark=(o,e,t)=>{var r,n,a,i,s=o[\\\"selection\\\"];s&&(a=!(r=(e,t)=>{var r,n;return!!Text.isText(e)&&(([r,n]=Editor.parent(o,t)),!o.isVoid(r)||o.markableVoid(r))}),(n=Range.isExpanded(s))||(([s,i]=Editor.node(o,s)),s&&r(s,i)&&(([s]=Editor.parent(o,i)),a=s&&o.markableVoid(s))),n||a?Transforms.setNodes(o,{[e]:t},{match:r,split:!0,voids:!0}):(i=_objectSpread$8(_objectSpread$8({},Editor.marks(o)||{}),{},{[e]:t}),o.marks=i,FLUSHING.get(o)||o.onChange()))};function ownKeys$7(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$7(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$7(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$7(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var after=function after2(e,t){var r,n,o=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{},a={anchor:Editor.point(e,t,{edge:\\\"end\\\"}),focus:Editor.end(e,[])},{distance:i=1}=o,s=0;for(n of Editor.positions(e,_objectSpread$7(_objectSpread$7({},o),{},{at:a}))){if(i\u003Cs)break;0!==s&&(r=n),s++}return r};function ownKeys$6(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$6(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$6(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$6(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var before=function before2(e,t){var r,n,o=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{},a={anchor:Editor.start(e,[]),focus:Editor.point(e,t,{edge:\\\"start\\\"})},{distance:i=1}=o,s=0;for(n of Editor.positions(e,_objectSpread$6(_objectSpread$6({},o),{},{at:a,reverse:!0}))){if(i\u003Cs)break;0!==s&&(r=n),s++}return r},deleteBackward=(e,t)=>{var r=e[\\\"selection\\\"];r&&Range.isCollapsed(r)&&Transforms[\\\"delete\\\"](e,{unit:t,reverse:!0})},deleteForward=(e,t)=>{var r=e[\\\"selection\\\"];r&&Range.isCollapsed(r)&&Transforms[\\\"delete\\\"](e,{unit:t})},deleteFragment=function deleteFragment2(e){var{direction:t=\\\"forward\\\"}=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{},r=e[\\\"selection\\\"];r&&Range.isExpanded(r)&&Transforms[\\\"delete\\\"](e,{reverse:\\\"backward\\\"===t})},edges=(e,t)=>[Editor.start(e,t),Editor.end(e,t)];function ownKeys$5(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$5(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$5(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$5(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var elementReadOnly=function elementReadOnly2(t){return Editor.above(t,_objectSpread$5(_objectSpread$5({},1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{}),{},{match:e=>Element2.isElement(e)&&Editor.isElementReadOnly(t,e)}))},end=(e,t)=>Editor.point(e,t,{edge:\\\"end\\\"}),first=(e,t)=>{var r=Editor.path(e,t,{edge:\\\"start\\\"});return Editor.node(e,r)},fragment=(e,t)=>{var r=Editor.range(e,t);return Node2.fragment(e,r)};function ownKeys$4(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$4(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$4(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$4(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var getVoid=function getVoid2(t){return Editor.above(t,_objectSpread$4(_objectSpread$4({},1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{}),{},{match:e=>Element2.isElement(e)&&Editor.isVoid(t,e)}))},hasBlocks=(t,e)=>e.children.some(e=>Element2.isElement(e)&&Editor.isBlock(t,e)),hasInlines=(t,e)=>e.children.some(e=>Text.isText(e)||Editor.isInline(t,e)),hasPath=(e,t)=>Node2.has(e,t),hasTexts=(e,t)=>t.children.every(e=>Text.isText(e)),insertBreak=e=>{Transforms.splitNodes(e,{always:!0})},insertNode=(e,t,r)=>{Transforms.insertNodes(e,t,r)},insertSoftBreak=e=>{Transforms.splitNodes(e,{always:!0})};function ownKeys$3(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$3(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$3(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$3(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var insertText=function insertText2(e,t){var r=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{},{selection:n,marks:o}=e;n&&(o?(n=_objectSpread$3({text:t},o),Transforms.insertNodes(e,n,{at:r.at,voids:r.voids})):Transforms.insertText(e,t,r),e.marks=null)},isBlock=(e,t)=>!e.isInline(t),isEdge=(e,t,r)=>Editor.isStart(e,t,r)||Editor.isEnd(e,t,r),isEmpty=(e,t)=>{var r=t[\\\"children\\\"],[n]=r;return 0===r.length||1===r.length&&Text.isText(n)&&\\\"\\\"===n.text&&!e.isVoid(t)},isEnd=(e,t,r)=>{var n=Editor.end(e,r);return Point.equals(t,n)},isNormalizing=e=>{var t=NORMALIZING.get(e);return void 0===t||t},isStart=(e,t,r)=>{var n;return 0===t.offset&&(n=Editor.start(e,r),Point.equals(t,n))},last=(e,t)=>{var r=Editor.path(e,t,{edge:\\\"end\\\"});return Editor.node(e,r)},leaf=function leaf2(e,t){var r=Editor.path(e,t,2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{});return[Node2.leaf(e,r),r]};function*levels(e){var t=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{},{at:r=e.selection,reverse:n=!1,voids:o=!1}=t,a=t[\\\"match\\\"];if(null==a&&(a=()=>!0),r){var i,s,c=[],t=Editor.path(e,r);for([i,s]of Node2.levels(e,t))if(a(i,s)&&(c.push([i,s]),!o)&&Element2.isElement(i)&&Editor.isVoid(e,i))break;n&&c.reverse(),yield*c}}var _excluded$1=[\\\"text\\\"],_excluded2$1=[\\\"text\\\"],marks=function marks2(t){var e,r,{marks:n,selection:o}=t;return o?n||(Range.isExpanded(o)?(([n]=Editor.nodes(t,{match:Text.isText})),n?(([n]=n),_objectWithoutProperties(n,_excluded$1)):{}):(n=o[\\\"anchor\\\"],o=n[\\\"path\\\"],([e]=Editor.leaf(t,o)),0===n.offset&&(n=Editor.previous(t,{at:o,match:Text.isText}),Editor.above(t,{match:e=>Element2.isElement(e)&&Editor.isVoid(t,e)&&t.markableVoid(e)})||(o=Editor.above(t,{match:e=>Element2.isElement(e)&&Editor.isBlock(t,e)}),n&&o&&(([n,r]=n),([,o]=o),Path.isAncestor(o,r))&&(e=n))),_objectWithoutProperties(e,_excluded2$1))):null},next=function next2(e){var t=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{},{mode:r=\\\"lowest\\\",voids:n=!1}=t,{match:t,at:o=e.selection}=t;if(o){var a=Editor.after(e,o,{voids:n});if(a){var i,[,s]=Editor.last(e,[]),a=[a.path,s];if(Path.isPath(o)&&0===o.length)throw new Error(\\\"Cannot get the next node from the root node!\\\");null==t&&(t=Path.isPath(o)?(([i]=Editor.parent(e,o)),e=>i.children.includes(e)):()=>!0);var[s]=Editor.nodes(e,{at:a,match:t,mode:r,voids:n});return s}}},node=function node2(e,t){var r=Editor.path(e,t,2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{});return[Node2.get(e,r),r]};function*nodes(r){var e,t=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{},{at:n=r.selection,mode:o=\\\"all\\\",universal:a=!1,reverse:i=!1,voids:s=!1,ignoreNonSelectable:c=!1}=t,l=t[\\\"match\\\"],l=l||(()=>!0);if(n){t=Span.isSpan(n)?(e=n[0],n[1]):(t=Editor.path(r,n,{edge:\\\"start\\\"}),n=Editor.path(r,n,{edge:\\\"end\\\"}),e=i?n:t,i?t:n);var u,d,p=[];for([u,d]of Node2.nodes(r,{reverse:i,from:e,to:t,pass:e=>{var[t]=e;return!(!Element2.isElement(t)||(s||!Editor.isVoid(r,t)&&!Editor.isElementReadOnly(r,t))&&(!c||Editor.isSelectable(r,t)))}}))if(!c||!Element2.isElement(u)||Editor.isSelectable(r,u)){var f=m&&0===Path.compare(d,m[1]);if(\\\"highest\\\"!==o||!f)if(l(u,d)){\\\"lowest\\\"===o&&f||(g=\\\"lowest\\\"===o?m:[u,d])&&(a?p.push(g):yield g);var g,m=[u,d]}else if(a&&!f&&Text.isText(u))return}\\\"lowest\\\"===o&&m&&(a?p.push(m):yield m),a&&(yield*p)}}var normalize=function normalize2(s){var e,{force:t=!1,operation:c}=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{},l=e=>DIRTY_PATHS.get(e)||[],u=e=>{var t=l(e).pop(),r=t.join(\\\",\\\");return(DIRTY_PATH_KEYS.get(e)||new Set)[\\\"delete\\\"](r),t};Editor.isNormalizing(s)&&(t&&(t=Array.from(Node2.nodes(s),e=>{var[,t]=e;return t}),e=new Set(t.map(e=>e.join(\\\",\\\"))),DIRTY_PATHS.set(s,t),DIRTY_PATH_KEYS.set(s,e)),0!==l(s).length)&&Editor.withoutNormalizing(s,()=>{for(var e of l(s)){var t,r;Node2.has(s,e)&&(([t,r]=e=Editor.node(s,e)),Element2.isElement(t))&&0===t.children.length&&s.normalizeNode(e,{operation:c})}for(var n=l(s),o=n.length,a=0;0!==n.length;){if(!s.shouldNormalize({dirtyPaths:n,iteration:a,initialDirtyPathsLength:o,operation:c}))return;var i=u(s);Node2.has(s,i)&&(i=Editor.node(s,i),s.normalizeNode(i,{operation:c})),a++,n=l(s)}})},parent=function parent2(e,t){var r=Editor.path(e,t,2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{}),r=Path.parent(r);return Editor.node(e,r)},pathRef=function pathRef2(t,e){var{affinity:r=\\\"forward\\\"}=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{},n={current:e,affinity:r,unref(){var e=n[\\\"current\\\"];return Editor.pathRefs(t)[\\\"delete\\\"](n),n.current=null,e}};return Editor.pathRefs(t).add(n),n},pathRefs=e=>{var t=PATH_REFS.get(e);return t||PATH_REFS.set(e,t=new Set),t},path=function path2(e,t){var r,{depth:n,edge:o}=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{};return Path.isPath(t)&&(\\\"start\\\"===o?(([,r]=Node2.first(e,t)),t=r):\\\"end\\\"===o&&(([,r]=Node2.last(e,t)),t=r)),Range.isRange(t)&&(t=\\\"start\\\"===o?Range.start(t):\\\"end\\\"===o?Range.end(t):Path.common(t.anchor.path,t.focus.path)),Point.isPoint(t)&&(t=t.path),t=null!=n?t.slice(0,n):t},pointRef=function pointRef2(t,e){var{affinity:r=\\\"forward\\\"}=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{},n={current:e,affinity:r,unref(){var e=n[\\\"current\\\"];return Editor.pointRefs(t)[\\\"delete\\\"](n),n.current=null,e}};return Editor.pointRefs(t).add(n),n},pointRefs=e=>{var t=POINT_REFS.get(e);return t||POINT_REFS.set(e,t=new Set),t},point=function point2(e,t){var{edge:r=\\\"start\\\"}=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{};if(Path.isPath(t)){n=\\\"end\\\"===r?(([,n]=Node2.last(e,t)),n):(([,n]=Node2.first(e,t)),n);var n,o=Node2.get(e,n);if(Text.isText(o))return{path:n,offset:\\\"end\\\"===r?o.text.length:0};throw new Error(\\\"Cannot get the \\\".concat(r,\\\" point in the node at path [\\\").concat(t,\\\"] because it has no \\\").concat(r,\\\" text node.\\\"))}return Range.isRange(t)?(([n,o]=Range.edges(t)),\\\"start\\\"===r?n:o):t};function*positions(e){var{at:t=e.selection,unit:r=\\\"offset\\\",reverse:n=!1,voids:o=!1,ignoreNonSelectable:a=!1}=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{};if(t){var i,s,c,l=Editor.range(e,t),[u,d]=Range.edges(l),p=n?d:u,f=!1,g=\\\"\\\",m=0,h=0,_=0;for([i,s]of Editor.nodes(e,{at:t,reverse:n,voids:o,ignoreNonSelectable:a})){if(Element2.isElement(i)){if(!o&&(e.isVoid(i)||e.isElementReadOnly(i))){yield Editor.start(e,s);continue}if(e.isInline(i))continue;Editor.hasInlines(e,i)&&(c=Path.isAncestor(s,d.path)?d:Editor.end(e,s),v=Path.isAncestor(s,u.path)?u:Editor.start(e,s),g=Editor.string(e,{anchor:v,focus:c},{voids:o}),f=!0)}if(Text.isText(i)){var v=Path.equals(s,p.path),_=v?(h=n?p.offset:i.text.length-p.offset,p.offset):(h=i.text.length,n?h:0);for((v||f||\\\"offset\\\"===r)&&(yield{path:s,offset:_},f=!1);;){if(0===m){if(\\\"\\\"===g)break;m=function(e,t,r){{if(\\\"character\\\"===t)return getCharacterDistance(e,r);if(\\\"word\\\"===t)return getWordDistance(e,r);if(\\\"line\\\"===t||\\\"block\\\"===t)return e.length}return 1}(g,r,n),g=splitByCharacterDistance(g,m,n)[1]}if(_=n?_-m:_+m,(h-=m)\u003C0){m=-h;break}m=0,yield{path:s,offset:_}}}}}}var previous=function previous2(e){var t=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{},{mode:r=\\\"lowest\\\",voids:n=!1}=t,{match:t,at:o=e.selection}=t;if(o){var a=Editor.before(e,o,{voids:n});if(a){var i,[,s]=Editor.first(e,[]),a=[a.path,s];if(Path.isPath(o)&&0===o.length)throw new Error(\\\"Cannot get the previous node from the root node!\\\");null==t&&(t=Path.isPath(o)?(([i]=Editor.parent(e,o)),e=>i.children.includes(e)):()=>!0);var[s]=Editor.nodes(e,{reverse:!0,at:a,match:t,mode:r,voids:n});return s}}},rangeRef=function rangeRef2(t,e){var{affinity:r=\\\"forward\\\"}=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{},n={current:e,affinity:r,unref(){var e=n[\\\"current\\\"];return Editor.rangeRefs(t)[\\\"delete\\\"](n),n.current=null,e}};return Editor.rangeRefs(t).add(n),n},rangeRefs=e=>{var t=RANGE_REFS.get(e);return t||RANGE_REFS.set(e,t=new Set),t},range=(e,t,r)=>{return Range.isRange(t)&&!r?t:{anchor:Editor.start(e,t),focus:Editor.end(e,r||t)}};function ownKeys$2(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$2(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$2(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$2(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var removeMark=(o,e)=>{var t,r,n,a,i=o[\\\"selection\\\"];i&&(n=!(t=(e,t)=>{var r,n;return!!Text.isText(e)&&(([r,n]=Editor.parent(o,t)),!o.isVoid(r)||o.markableVoid(r))}),(r=Range.isExpanded(i))||(([i,a]=Editor.node(o,i)),i&&t(i,a)&&(([i]=Editor.parent(o,a)),n=i&&o.markableVoid(i))),r||n?Transforms.unsetNodes(o,e,{match:t,split:!0,voids:!0}):(delete(a=_objectSpread$2({},Editor.marks(o)||{}))[e],o.marks=a,FLUSHING.get(o)||o.onChange()))},setNormalizing=(e,t)=>{NORMALIZING.set(e,t)},start=(e,t)=>Editor.point(e,t,{edge:\\\"start\\\"}),string=function string2(e,t){var r,n,{voids:o=!1}=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{},a=Editor.range(e,t),[i,s]=Range.edges(a),c=\\\"\\\";for([r,n]of Editor.nodes(e,{at:a,match:Text.isText,voids:o})){var l=r.text;Path.equals(n,s.path)&&(l=l.slice(0,s.offset)),c+=l=Path.equals(n,i.path)?l.slice(i.offset):l}return c},unhangRange=function unhangRange2(t,e){var{voids:r=!1}=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{},[n,o]=Range.edges(e);if(0!==n.offset||0!==o.offset||Range.isCollapsed(e)||Path.hasPrevious(o.path))return e;var a,i,s=Editor.above(t,{at:o,match:e=>Element2.isElement(e)&&Editor.isBlock(t,e),voids:r}),c=s?s[1]:[],s=Editor.start(t,n),l=!0;for([a,i]of Editor.nodes(t,{at:{anchor:s,focus:o},match:Text.isText,reverse:!0,voids:r}))if(l)l=!1;else if(\\\"\\\"!==a.text||Path.isBefore(i,c)){o={path:i,offset:a.text.length};break}return{anchor:n,focus:o}},withoutNormalizing=(e,t)=>{var r=Editor.isNormalizing(e);Editor.setNormalizing(e,!1);try{t()}finally{Editor.setNormalizing(e,r)}Editor.normalize(e)},deleteText=function deleteText2(T){var C=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{};Editor.withoutNormalizing(T,()=>{var{reverse:e=!1,unit:t=\\\"character\\\",distance:r=1,voids:n=!1}=C,{at:o=T.selection,hanging:a=!1}=C;if(o){var i=!1;if(Range.isRange(o)&&Range.isCollapsed(o)&&(i=!0,o=o.anchor),Point.isPoint(o)&&(d=Editor[\\\"void\\\"](T,{at:o,mode:\\\"highest\\\"}),!n&&d?(([,d]=d),o=d):(d={unit:t,distance:r},o={anchor:o,focus:e?Editor.before(T,o,d)||Editor.start(T,[]):Editor.after(T,o,d)||Editor.end(T,[])},a=!0)),Path.isPath(o))Transforms.removeNodes(T,{at:o,voids:n});else if(!Range.isCollapsed(o)){a||(([,d]=Range.edges(o)),a=Editor.end(T,[]),Point.equals(d,a))||(o=Editor.unhangRange(T,o,{voids:n}));var s,c,[l,u]=Range.edges(o),d=Editor.above(T,{match:e=>Element2.isElement(e)&&Editor.isBlock(T,e),at:l,voids:n}),a=Editor.above(T,{match:e=>Element2.isElement(e)&&Editor.isBlock(T,e),at:u,voids:n}),p=d&&a&&!Path.equals(d[1],a[1]),f=Path.equals(l.path,u.path),g=n?null:null!=(g=Editor[\\\"void\\\"](T,{at:l,mode:\\\"highest\\\"}))?g:Editor.elementReadOnly(T,{at:l,mode:\\\"highest\\\"}),m=n?null:null!=(m=Editor[\\\"void\\\"](T,{at:u,mode:\\\"highest\\\"}))?m:Editor.elementReadOnly(T,{at:u,mode:\\\"highest\\\"}),h=(g&&(y=Editor.before(T,l))&&d&&Path.isAncestor(d[1],y.path)&&(l=y),m&&(d=Editor.after(T,u))&&a&&Path.isAncestor(a[1],d.path)&&(u=d),[]);for(c of Editor.nodes(T,{at:o,voids:n})){var[_,v]=c;s&&0===Path.compare(v,s)||(!n&&Element2.isElement(_)&&(Editor.isVoid(T,_)||Editor.isElementReadOnly(T,_))||!Path.isCommon(v,l.path)&&!Path.isCommon(v,u.path))&&(h.push(c),s=v)}var y=Array.from(h,e=>{var[,t]=e;return Editor.pathRef(T,t)}),a=Editor.pointRef(T,l),d=Editor.pointRef(T,u),o=\\\"\\\",g=(f||g||(g=a.current,([E]=Editor.leaf(T,g)),g=g[\\\"path\\\"],b=l[\\\"offset\\\"],0\u003C(E=E.text.slice(b)).length&&(T.apply({type:\\\"remove_text\\\",path:g,offset:b,text:E}),o=E)),y.reverse().map(e=>e.unref()).filter(e=>null!==e).forEach(e=>Transforms.removeNodes(T,{at:e,voids:n})),m||(g=d.current,([b]=Editor.leaf(T,g)),E=g[\\\"path\\\"],y=f?l.offset:0,0\u003C(m=b.text.slice(y,u.offset)).length&&(T.apply({type:\\\"remove_text\\\",path:E,offset:y,text:m}),o=m)),!f&&p&&d.current&&a.current&&Transforms.mergeNodes(T,{at:d.current,hanging:!0,voids:n}),i&&e&&\\\"character\\\"===t&&1\u003Co.length&&o.match(/[\\\\u0E00-\\\\u0E7F]+/)&&Transforms.insertText(T,o.slice(0,o.length-r)),a.unref()),b=d.unref(),E=e?g||b:b||g;null==C.at&&E&&Transforms.select(T,E)}}})},insertFragment=function insertFragment2(S,x){var D=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{};Editor.withoutNormalizing(S,()=>{var{hanging:e=!1,voids:t=!1}=D,{at:r=getDefaultInsertLocation(S)}=D;if(x.length){if(Range.isRange(r))if(e||(r=Editor.unhangRange(S,r,{voids:t})),Range.isCollapsed(r))r=r.anchor;else{var[,e]=Range.edges(r);if(!t&&Editor[\\\"void\\\"](S,{at:e}))return;e=Editor.pointRef(S,e);Transforms[\\\"delete\\\"](S,{at:r}),r=e.unref()}else Path.isPath(r)&&(r=Editor.start(S,r));if(t||!Editor[\\\"void\\\"](S,{at:r})){e=Editor.above(S,{at:r,match:e=>Element2.isElement(e)&&Editor.isInline(S,e),mode:\\\"highest\\\",voids:t});e&&(([,e]=e),Editor.isEnd(S,r,e)?r=Editor.after(S,e):Editor.isStart(S,r,e)&&(r=Editor.before(S,e)));var n,[,e]=Editor.above(S,{match:e=>Element2.isElement(e)&&Editor.isBlock(S,e),at:r,voids:t}),o=Editor.isStart(S,r,e),a=Editor.isEnd(S,r,e),i=o&&a,s=!o||a,c=!a,[,l]=Node2.first({children:x},[]),[,u]=Node2.last({children:x},[]),d=[],p=e=>{var[t,r]=e;return!(0===r.length||!i&&(s&&Path.isAncestor(r,l)&&Element2.isElement(t)&&!S.isVoid(t)&&!S.isInline(t)||c&&Path.isAncestor(r,u)&&Element2.isElement(t)&&!S.isVoid(t)&&!S.isInline(t)))};for(n of Node2.nodes({children:x},{pass:p}))p(n)&&d.push(n);var f,g=[],m=[],h=[],_=!0,v=!1;for([f]of d)(Element2.isElement(f)&&!S.isInline(f)?(v=!(_=!1),m):_?g:h).push(f);var y,[b]=Editor.nodes(S,{at:r,match:e=>Text.isText(e)||Editor.isInline(S,e),mode:\\\"highest\\\",voids:t}),[,b]=b,E=Editor.isStart(S,r,b),T=Editor.isEnd(S,r,b),C=Editor.pathRef(S,a&&!h.length?Path.next(e):e),w=Editor.pathRef(S,T?Path.next(b):b),r=(Transforms.splitNodes(S,{at:r,match:e=>v?Element2.isElement(e)&&Editor.isBlock(S,e):Text.isText(e)||Editor.isInline(S,e),mode:v?\\\"lowest\\\":\\\"highest\\\",always:v&&(!o||0\u003Cg.length)&&(!a||0\u003Ch.length),voids:t}),Editor.pathRef(S,!E||T?Path.next(b):b));Transforms.insertNodes(S,g,{at:r.current,match:e=>Text.isText(e)||Editor.isInline(S,e),mode:\\\"highest\\\",voids:t}),i&&!g.length&&m.length&&!h.length&&Transforms[\\\"delete\\\"](S,{at:e,voids:t}),Transforms.insertNodes(S,m,{at:C.current,match:e=>Element2.isElement(e)&&Editor.isBlock(S,e),mode:\\\"lowest\\\",voids:t}),Transforms.insertNodes(S,h,{at:w.current,match:e=>Text.isText(e)||Editor.isInline(S,e),mode:\\\"highest\\\",voids:t}),D.at||(0\u003Ch.length&&w.current?y=Path.previous(w.current):0\u003Cm.length&&C.current?y=Path.previous(C.current):r.current&&(y=Path.previous(r.current)),y&&(o=Editor.end(S,y),Transforms.select(S,o))),r.unref(),C.unref(),w.unref()}}})},collapse=function collapse2(e){var t,{edge:r=\\\"anchor\\\"}=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{},n=e[\\\"selection\\\"];n&&(\\\"anchor\\\"===r?Transforms.select(e,n.anchor):\\\"focus\\\"===r?Transforms.select(e,n.focus):\\\"start\\\"===r?(([t]=Range.edges(n)),Transforms.select(e,t)):\\\"end\\\"===r&&(([,t]=Range.edges(n)),Transforms.select(e,t)))},deselect=e=>{var t=e[\\\"selection\\\"];t&&e.apply({type:\\\"set_selection\\\",properties:t,newProperties:null})},move=function move2(e){var t,r,n=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{},o=e[\\\"selection\\\"],{distance:a=1,unit:i=\\\"character\\\",reverse:s=!1}=n,{edge:n=null}=n;o&&(({anchor:r,focus:t}=o),a={distance:a,unit:i,ignoreNonSelectable:!0},i={},null!=(n=\\\"end\\\"===(n=\\\"start\\\"===n?Range.isBackward(o)?\\\"focus\\\":\\\"anchor\\\":n)?Range.isBackward(o)?\\\"anchor\\\":\\\"focus\\\":n)&&\\\"anchor\\\"!==n||(o=s?Editor.before(e,r,a):Editor.after(e,r,a))&&(i.anchor=o),null!=n&&\\\"focus\\\"!==n||(r=s?Editor.before(e,t,a):Editor.after(e,t,a))&&(i.focus=r),Transforms.setSelection(e,i))},select=(e,t)=>{var r=e[\\\"selection\\\"];if(t=Editor.range(e,t),r)Transforms.setSelection(e,t);else{if(!Range.isRange(t))throw new Error(\\\"When setting the selection and the current selection is `null` you must provide at least an `anchor` and `focus`, but you passed: \\\".concat(Scrubber.stringify(t)));e.apply({type:\\\"set_selection\\\",properties:r,newProperties:t})}};function ownKeys$1(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$1(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$1(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$1(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var setPoint=function setPoint2(e,t){var r,n=e[\\\"selection\\\"],{edge:o=\\\"both\\\"}=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{};n&&(\\\"end\\\"===(o=\\\"start\\\"===o?Range.isBackward(n)?\\\"focus\\\":\\\"anchor\\\":o)&&(o=Range.isBackward(n)?\\\"anchor\\\":\\\"focus\\\"),({anchor:n,focus:r}=n),Transforms.setSelection(e,{[\\\"anchor\\\"===o?\\\"anchor\\\":\\\"focus\\\"]:_objectSpread$1(_objectSpread$1({},\\\"anchor\\\"===o?n:r),t)}))},setSelection=(e,t)=>{var r=e[\\\"selection\\\"],n={},o={};if(r){for(var a in t)(\\\"anchor\\\"===a&&null!=t.anchor&&!Point.equals(t.anchor,r.anchor)||\\\"focus\\\"===a&&null!=t.focus&&!Point.equals(t.focus,r.focus)||\\\"anchor\\\"!==a&&\\\"focus\\\"!==a&&t[a]!==r[a])&&(n[a]=r[a],o[a]=t[a]);0\u003CObject.keys(n).length&&e.apply({type:\\\"set_selection\\\",properties:n,newProperties:o})}},insertNodes=function insertNodes2(d,p){var f=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{};Editor.withoutNormalizing(d,()=>{var{hanging:e=!1,voids:t=!1,mode:r=\\\"lowest\\\"}=f,{at:n,match:o,select:a}=f;if(0!==(p=Node2.isNode(p)?[p]:p).length){var[i]=p;if(n||(n=getDefaultInsertLocation(d),a=!0),null==a&&(a=!1),Range.isRange(n)&&(e||(n=Editor.unhangRange(d,n,{voids:t})),n=Range.isCollapsed(n)?n.anchor:(([,e]=Range.edges(n)),e=Editor.pointRef(d,e),Transforms[\\\"delete\\\"](d,{at:n}),e.unref())),Point.isPoint(n)){null==o&&(o=Text.isText(i)?e=>Text.isText(e):d.isInline(i)?e=>Text.isText(e)||Editor.isInline(d,e):e=>Element2.isElement(e)&&Editor.isBlock(d,e));var[e]=Editor.nodes(d,{at:n.path,match:o,mode:r,voids:t});if(!e)return;var[,i]=e,e=Editor.pathRef(d,i),i=Editor.isEnd(d,n,i),o=(Transforms.splitNodes(d,{at:n,match:o,mode:r,voids:t}),e.unref()),n=i?Path.next(o):o}var s=Path.parent(n),c=n[n.length-1];if(t||!Editor[\\\"void\\\"](d,{at:s})){for(var l of p){var u=s.concat(c);c++,d.apply({type:\\\"insert_node\\\",path:u,node:l}),n=Path.next(n)}n=Path.previous(n),a&&(r=Editor.end(d,n))&&Transforms.select(d,r)}}})},liftNodes=function liftNodes2(u){var d=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{};Editor.withoutNormalizing(u,()=>{var{at:e=u.selection,mode:t=\\\"lowest\\\",voids:r=!1}=d,n=d[\\\"match\\\"];if(null==n&&(n=Path.isPath(e)?matchPath(u,e):e=>Element2.isElement(e)&&Editor.isBlock(u,e)),e){var o,e=Editor.nodes(u,{at:e,match:n,mode:t,voids:r});for(o of Array.from(e,e=>{var[,t]=e;return Editor.pathRef(u,t)})){var a=o.unref();if(a.length\u003C2)throw new Error(\\\"Cannot lift node at a path [\\\".concat(a,\\\"] because it has a depth of less than `2`.\\\"));var i,[s,c]=Editor.node(u,Path.parent(a)),l=a[a.length-1],s=s.children[\\\"length\\\"];1===s?(i=Path.next(c),Transforms.moveNodes(u,{at:a,to:i,voids:r}),Transforms.removeNodes(u,{at:c,voids:r})):0===l?Transforms.moveNodes(u,{at:a,to:c,voids:r}):l===s-1?(i=Path.next(c),Transforms.moveNodes(u,{at:a,to:i,voids:r})):(l=Path.next(a),s=Path.next(c),Transforms.splitNodes(u,{at:l,voids:r}),Transforms.moveNodes(u,{at:a,to:s,voids:r}))}}})},_excluded=[\\\"text\\\"],_excluded2=[\\\"children\\\"],hasSingleChildNest=(e,t)=>{var r;return Element2.isElement(t)?!!Editor.isVoid(e,r=t)||1===r.children.length&&hasSingleChildNest(e,r.children[0]):!Editor.isEditor(t)},mergeNodes=function mergeNodes2(f){var g=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{};Editor.withoutNormalizing(f,()=>{var{match:e,at:t=f.selection}=g,{hanging:r=!1,voids:n=!1,mode:o=\\\"lowest\\\"}=g;if(t){null==e&&(e=Path.isPath(t)?(([a]=Editor.parent(f,t)),e=>a.children.includes(e)):e=>Element2.isElement(e)&&Editor.isBlock(f,e)),!r&&Range.isRange(t)&&(t=Editor.unhangRange(f,t,{voids:n})),Range.isRange(t)&&(Range.isCollapsed(t)?t=t.anchor:(([,r]=Range.edges(t)),r=Editor.pointRef(f,r),Transforms[\\\"delete\\\"](f,{at:t}),t=r.unref(),null==g.at&&Transforms.select(f,t)));var a,[r]=Editor.nodes(f,{at:t,match:e,voids:n,mode:o}),t=Editor.previous(f,{at:t,match:e,voids:n,mode:o});if(r&&t){var[e,o]=r,[r,t]=t;if(0!==o.length&&0!==t.length){var i=Path.next(t),s=Path.common(o,t),c=Path.isSibling(o,t),l=Array.from(Editor.levels(f,{at:o}),e=>{var[t]=e;return t}).slice(s.length).slice(0,-1),s=Editor.above(f,{at:o,mode:\\\"highest\\\",match:e=>l.includes(e)&&hasSingleChildNest(f,e)}),s=s&&Editor.pathRef(f,s[1]);if(Text.isText(e)&&Text.isText(r))var u=_objectWithoutProperties(e,_excluded),d=r.text.length,p=u;else{if(!Element2.isElement(e)||!Element2.isElement(r))throw new Error(\\\"Cannot merge the node at path [\\\".concat(o,\\\"] with the previous sibling because it is not the same kind: \\\").concat(Scrubber.stringify(e),\\\" \\\").concat(Scrubber.stringify(r)));u=_objectWithoutProperties(e,_excluded2);d=r.children.length,p=u}c||Transforms.moveNodes(f,{at:o,to:i,voids:n}),s&&Transforms.removeNodes(f,{at:s.current,voids:n}),Element2.isElement(r)&&Editor.isEmpty(f,r)||Text.isText(r)&&\\\"\\\"===r.text&&0!==t[t.length-1]?Transforms.removeNodes(f,{at:t,voids:n}):f.apply({type:\\\"merge_node\\\",path:i,position:d,properties:p}),s&&s.unref()}}}})},moveNodes=(l,u)=>{Editor.withoutNormalizing(l,()=>{var{to:e,at:t=l.selection,mode:r=\\\"lowest\\\",voids:n=!1}=u,o=u[\\\"match\\\"];if(t){null==o&&(o=Path.isPath(t)?matchPath(l,t):e=>Element2.isElement(e)&&Editor.isBlock(l,e));var a,i=Editor.pathRef(l,e),e=Editor.nodes(l,{at:t,match:o,mode:r,voids:n});for(a of Array.from(e,e=>{var[,t]=e;return Editor.pathRef(l,t)})){var s=a.unref(),c=i.current;0!==s.length&&l.apply({type:\\\"move_node\\\",path:s,newPath:c}),i.current&&Path.isSibling(c,s)&&Path.isAfter(c,s)&&(i.current=Path.next(i.current))}i.unref()}})},removeNodes=function removeNodes2(c){var l=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{};Editor.withoutNormalizing(c,()=>{var{hanging:e=!1,voids:t=!1,mode:r=\\\"lowest\\\"}=l,{at:n=c.selection,match:o}=l;if(n){null==o&&(o=Path.isPath(n)?matchPath(c,n):e=>Element2.isElement(e)&&Editor.isBlock(c,e)),!e&&Range.isRange(n)&&(n=Editor.unhangRange(c,n,{voids:t}));var a,e=Editor.nodes(c,{at:n,match:o,mode:r,voids:t});for(a of Array.from(e,e=>{var[,t]=e;return Editor.pathRef(c,t)})){var i,s=a.unref();s&&(([i]=Editor.node(c,s)),c.apply({type:\\\"remove_node\\\",path:s,node:i}))}}})},setNodes=function setNodes2(_,v){var y=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{};Editor.withoutNormalizing(_,()=>{var{match:e,at:t=_.selection,compare:r,merge:n}=y,{hanging:o=!1,mode:a=\\\"lowest\\\",split:i=!1,voids:s=!1}=y;if(t){if(null==e&&(e=Path.isPath(t)?matchPath(_,t):e=>Element2.isElement(e)&&Editor.isBlock(_,e)),!o&&Range.isRange(t)&&(t=Editor.unhangRange(_,t,{voids:s})),i&&Range.isRange(t)){if(Range.isCollapsed(t)&&0\u003CEditor.leaf(_,t.anchor)[0].text.length)return;var o=Editor.rangeRef(_,t,{affinity:\\\"inward\\\"}),[i,c]=Range.edges(t),l=\\\"lowest\\\"===a?\\\"lowest\\\":\\\"highest\\\",u=Editor.isEnd(_,c,c.path),c=(Transforms.splitNodes(_,{at:c,match:e,mode:l,voids:s,always:!u}),Editor.isStart(_,i,i.path));Transforms.splitNodes(_,{at:i,match:e,mode:l,voids:s,always:!c}),t=o.unref(),null==y.at&&Transforms.select(_,t)}r=r||((e,t)=>e!==t);for(var[d,p]of Editor.nodes(_,{at:t,match:e,mode:a,voids:s})){var f={},g={};if(0!==p.length){var m,h=!1;for(m in v)\\\"children\\\"!==m&&\\\"text\\\"!==m&&r(v[m],d[m])&&(h=!0,d.hasOwnProperty(m)&&(f[m]=d[m]),n?null!=v[m]&&(g[m]=n(d[m],v[m])):null!=v[m]&&(g[m]=v[m]));h&&_.apply({type:\\\"set_node\\\",path:p,properties:f,newProperties:g})}}}})},deleteRange=(e,t)=>{var r;return Range.isCollapsed(t)?t.anchor:(([,r]=Range.edges(t)),r=Editor.pointRef(e,r),Transforms[\\\"delete\\\"](e,{at:t}),r.unref())},splitNodes=function splitNodes2($){var A=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{};Editor.withoutNormalizing($,()=>{var e,t,{mode:r=\\\"lowest\\\",voids:n=!1}=A,{match:o,at:a=$.selection,height:i=0,always:s=!1}=A;if(null==o&&(o=e=>Element2.isElement(e)&&Editor.isBlock($,e)),Range.isRange(a)&&(a=deleteRange($,a)),Path.isPath(a)&&(l=a,e=Editor.point($,l),([t]=Editor.parent($,l)),o=e=>e===t,i=e.path.length-l.length+1,a=e,s=!0),a){var c,l,u=Editor.pointRef($,a,{affinity:\\\"backward\\\"});try{var[d]=Editor.nodes($,{at:a,match:o,mode:r,voids:n});if(d){var p,f,g,m,h,_,v,y=Editor[\\\"void\\\"]($,{at:a,mode:\\\"highest\\\"}),b=(!n&&y&&(([p,f]=y),Element2.isElement(p)&&$.isInline(p)&&((g=Editor.after($,f))||(m=Path.next(f),Transforms.insertNodes($,{text:\\\"\\\"},{at:m,voids:n}),g=Editor.point($,m)),a=g,s=!0),i=1+(a.path.length-f.length),s=!0),c=Editor.pointRef($,a),a.path.length-i),[,E]=d,T=a.path.slice(0,b),C=0===i?a.offset:a.path[b]+0;for([h,_]of Editor.levels($,{at:T,reverse:!0,voids:n})){var w=!1;if(_.length\u003CE.length||0===_.length||!n&&Element2.isElement(h)&&Editor.isVoid($,h))break;var S,x=u.current,D=Editor.isEnd($,x,_);!s&&u&&Editor.isEdge($,x,_)||(w=!0,S=Node2.extractProps(h),$.apply({type:\\\"split_node\\\",path:_,position:C,properties:S})),C=_[_.length-1]+(w||D?1:0)}null==A.at&&(v=c.current||Editor.end($,[]),Transforms.select($,v))}}finally{u.unref(),null!=(l=c)&&l.unref()}}})},unsetNodes=function unsetNodes2(e,t){var r,n=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{},o={};for(r of t=Array.isArray(t)?t:[t])o[r]=null;Transforms.setNodes(e,o,n)},unwrapNodes=function unwrapNodes2(s){var c=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{};Editor.withoutNormalizing(s,()=>{var{mode:e=\\\"lowest\\\",split:n=!1,voids:o=!1}=c,{at:t=s.selection,match:r}=c;if(t){null==r&&(r=Path.isPath(t)?matchPath(s,t):e=>Element2.isElement(e)&&Editor.isBlock(s,e)),Path.isPath(t)&&(t=Editor.range(s,t));var a,i=Range.isRange(t)?Editor.rangeRef(s,t):null,t=Editor.nodes(s,{at:t,match:r,mode:e,voids:o});for(a of Array.from(t,e=>{var[,t]=e;return Editor.pathRef(s,t)}).reverse())!function(e){var t=e.unref(),[r]=Editor.node(s,t),t=Editor.range(s,t);n&&i&&(t=Range.intersection(i.current,t)),Transforms.liftNodes(s,{at:t,match:e=>Element2.isAncestor(r)&&r.children.includes(e),voids:o})}(a);i&&i.unref()}})};function ownKeys(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var wrapNodes=function wrapNodes2(u,d){var p=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{};Editor.withoutNormalizing(u,()=>{var e,t,r,{mode:n=\\\"lowest\\\",split:o=!1,voids:a=!1}=p,{match:i,at:s=u.selection}=p;if(s){null==i&&(i=Path.isPath(s)?matchPath(u,s):u.isInline(d)?e=>Element2.isElement(e)&&Editor.isInline(u,e)||Text.isText(e):e=>Element2.isElement(e)&&Editor.isBlock(u,e)),o&&Range.isRange(s)&&(([o,e]=Range.edges(s)),t=Editor.rangeRef(u,s,{affinity:\\\"inward\\\"}),Transforms.splitNodes(u,{at:e,match:i,voids:a}),Transforms.splitNodes(u,{at:o,match:i,voids:a}),s=t.unref(),null==p.at)&&Transforms.select(u,s);for([,r]of Array.from(Editor.nodes(u,{at:s,match:u.isInline(d)?e=>Element2.isElement(e)&&Editor.isBlock(u,e):e=>Editor.isEditor(e),mode:\\\"lowest\\\",voids:a}))){var c,l=Range.isRange(s)?Range.intersection(s,Editor.range(u,r)):s;l&&0\u003C(c=Array.from(Editor.nodes(u,{at:l,match:i,mode:n,voids:a}))).length&&function(){var t,e,[r]=c,[,r]=r,[,n]=c[c.length-1];0===r.length&&0===n.length||(e=Path.equals(r,n)?Path.parent(r):Path.common(r,n),r=Editor.range(u,r,n),([t]=Editor.node(u,e)),e=e.length+1,e=Path.next(n.slice(0,e)),n=_objectSpread(_objectSpread({},d),{},{children:[]}),Transforms.insertNodes(u,n,{at:e,voids:a}),Transforms.moveNodes(u,{at:r,match:e=>Element2.isAncestor(t)&&t.children.includes(e),to:e.concat(0),voids:a}))}()}}})},createEditor=()=>{var n={children:[],operations:[],selection:null,marks:null,isElementReadOnly:()=>!1,isInline:()=>!1,isSelectable:()=>!0,isVoid:()=>!1,markableVoid:()=>!1,onChange:()=>{},apply:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return apply(n,...t)},addMark:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return addMark(n,...t)},deleteBackward:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return deleteBackward(n,...t)},deleteForward:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return deleteForward(n,...t)},deleteFragment:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return deleteFragment(n,...t)},getFragment:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return getFragment(n,...t)},insertBreak:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return insertBreak(n,...t)},insertSoftBreak:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return insertSoftBreak(n,...t)},insertFragment:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return insertFragment(n,...t)},insertNode:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return insertNode(n,...t)},insertText:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return insertText(n,...t)},normalizeNode:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return normalizeNode(n,...t)},removeMark:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return removeMark(n,...t)},getDirtyPaths:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return getDirtyPaths(n,...t)},shouldNormalize:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return shouldNormalize(n,...t)},above:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return above(n,...t)},after:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return after(n,...t)},before:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return before(n,...t)},collapse:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return collapse(n,...t)},\\\"delete\\\":function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return deleteText(n,...t)},deselect:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return deselect(n,...t)},edges:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return edges(n,...t)},elementReadOnly:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return elementReadOnly(n,...t)},end:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return end(n,...t)},first:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return first(n,...t)},fragment:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return fragment(n,...t)},getMarks:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return marks(n,...t)},hasBlocks:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return hasBlocks(n,...t)},hasInlines:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return hasInlines(n,...t)},hasPath:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return hasPath(n,...t)},hasTexts:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return hasTexts(n,...t)},insertNodes:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return insertNodes(n,...t)},isBlock:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return isBlock(n,...t)},isEdge:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return isEdge(n,...t)},isEmpty:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return isEmpty(n,...t)},isEnd:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return isEnd(n,...t)},isNormalizing:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return isNormalizing(n,...t)},isStart:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return isStart(n,...t)},last:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return last(n,...t)},leaf:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return leaf(n,...t)},levels:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return levels(n,...t)},liftNodes:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return liftNodes(n,...t)},mergeNodes:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return mergeNodes(n,...t)},move:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return move(n,...t)},moveNodes:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return moveNodes(n,...t)},next:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return next(n,...t)},node:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return node(n,...t)},nodes:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return nodes(n,...t)},normalize:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return normalize(n,...t)},parent:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return parent(n,...t)},path:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return path(n,...t)},pathRef:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return pathRef(n,...t)},pathRefs:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return pathRefs(n,...t)},point:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return point(n,...t)},pointRef:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return pointRef(n,...t)},pointRefs:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return pointRefs(n,...t)},positions:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return positions(n,...t)},previous:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return previous(n,...t)},range:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return range(n,...t)},rangeRef:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return rangeRef(n,...t)},rangeRefs:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return rangeRefs(n,...t)},removeNodes:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return removeNodes(n,...t)},select:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return select(n,...t)},setNodes:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return setNodes(n,...t)},setNormalizing:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return setNormalizing(n,...t)},setPoint:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return setPoint(n,...t)},setSelection:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return setSelection(n,...t)},splitNodes:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return splitNodes(n,...t)},start:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return start(n,...t)},string:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return string(n,...t)},unhangRange:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return unhangRange(n,...t)},unsetNodes:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return unsetNodes(n,...t)},unwrapNodes:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return unwrapNodes(n,...t)},\\\"void\\\":function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return getVoid(n,...t)},withoutNormalizing:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return withoutNormalizing(n,...t)},wrapNodes:function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return wrapNodes(n,...t)}};return n},History=(init_esbuild_inject(),{isHistory(e){return isPlainObject(e)&&Array.isArray(e.redos)&&Array.isArray(e.undos)&&(0===e.redos.length||Operation.isOperationList(e.redos[0].operations))&&(0===e.undos.length||Operation.isOperationList(e.undos[0].operations))}}),SAVING=new WeakMap,MERGING=new WeakMap,HistoryEditor={isHistoryEditor(e){return History.isHistory(e.history)&&Editor.isEditor(e)},isMerging(e){return MERGING.get(e)},isSaving(e){return SAVING.get(e)},redo(e){e.redo()},undo(e){e.undo()},withoutMerging(e,t){var r=HistoryEditor.isMerging(e);MERGING.set(e,!1),t(),MERGING.set(e,r)},withoutSaving(e,t){var r=HistoryEditor.isSaving(e);SAVING.set(e,!1),t(),SAVING.set(e,r)}},withHistory=e=>{var c=e,l=c[\\\"apply\\\"];return c.history={undos:[],redos:[]},c.redo=()=>{var t,e=c[\\\"history\\\"],r=e[\\\"redos\\\"];0\u003Cr.length&&((t=r[r.length-1]).selectionBefore&&Transforms.setSelection(c,t.selectionBefore),HistoryEditor.withoutSaving(c,()=>{Editor.withoutNormalizing(c,()=>{for(var e of t.operations)c.apply(e)})}),e.redos.pop(),c.writeHistory(\\\"undos\\\",t))},c.undo=()=>{var t,e=c[\\\"history\\\"],r=e[\\\"undos\\\"];0\u003Cr.length&&(t=r[r.length-1],HistoryEditor.withoutSaving(c,()=>{Editor.withoutNormalizing(c,()=>{var e;for(e of t.operations.map(Operation.inverse).reverse())c.apply(e);t.selectionBefore&&Transforms.setSelection(c,t.selectionBefore)})}),c.writeHistory(\\\"redos\\\",t),e.undos.pop())},c.apply=e=>{var{operations:t,history:r}=c,n=r[\\\"undos\\\"],o=n[n.length-1],a=o&&o.operations[o.operations.length-1],i=HistoryEditor.isSaving(c),s=HistoryEditor.isMerging(c);if(i=null==i?shouldSave(e):i){for(null==s&&(s=null!=o&&(0!==t.length||shouldMerge(e,a))),o&&s?o.operations.push(e):(i={operations:[e],selectionBefore:c.selection},c.writeHistory(\\\"undos\\\",i));100\u003Cn.length;)n.shift();r.redos=[]}l(e)},c.writeHistory=(e,t)=>{c.history[e].push(t)},c},shouldMerge=(e,t)=>!(!t||\\\"insert_text\\\"!==e.type||\\\"insert_text\\\"!==t.type||e.offset!==t.offset+t.text.length||!Path.equals(e.path,t.path))||!(!t||\\\"remove_text\\\"!==e.type||\\\"remove_text\\\"!==t.type||e.offset+e.text.length!==t.offset||!Path.equals(e.path,t.path)),shouldSave=(e,t)=>\\\"set_selection\\\"!==e.type,createTEditor=()=>createEditor(),getTEditor=e=>e,createPathRef=(e,t,r)=>Editor.pathRef(e,t,r),createPointRef=(e,t,r)=>Editor.pointRef(e,t,r),deleteBackward2=(e,t)=>Editor.deleteBackward(e,t),isArray2=Array.isArray,isArray_1=isArray2;function castArray(){var e;return arguments.length?isArray_1(e=arguments[0])?e:[e]:[]}var castArray_1=castArray,isElement2=e=>Element2.isElement(e),isBlock2=(e,t)=>isElement2(t)&&Editor.isBlock(e,t),match=(r,e,t)=>!t||(\\\"object\\\"==typeof t?Object.entries(t).every(([e,t])=>{return castArray_1(t).includes(r[e])}):t(r,e)),getQueryOptions=(r,e={})=>{const{match:n,block:o}=e;return{...e,match:n||o?(e,t)=>match(e,t,n)&&(!o||isBlock2(r,e)):void 0}},getAboveNode=(e,t)=>Editor.above(e,getQueryOptions(e,t)),unhangRange3=(e,t,r={})=>{var{voids:n,unhang:o=!0}=r;if(Range.isRange(t)&&o)return Editor.unhangRange(e,t,{voids:n})},getNodeEntries=(e,t)=>(unhangRange3(e,null==t?void 0:t.at,t),Editor.nodes(e,getQueryOptions(e,t))),getParentNode=(e,t,r)=>{try{return Editor.parent(e,t,r)}catch(n){}},getPreviousNode=(e,t)=>Editor.previous(e,t),isElementEmpty=(e,t)=>Editor.isEmpty(e,t),withoutNormalizing2=(e,t)=>{let r=!1;return Editor.withoutNormalizing(e,()=>{r=!!t()}),r},isText=e=>Text.isText(e),hasSingleChild=e=>!!isText(e)||1===e.children.length&&hasSingleChild(e.children[0]),deleteText3=(e,t)=>{Transforms[\\\"delete\\\"](e,t)},moveNodes2=(e,t)=>Transforms.moveNodes(e,t),removeNodes3=(e,t)=>Transforms.removeNodes(e,t),select2=(e,t)=>{Transforms.select(e,t)},mergeNodes3=(y,b={})=>{withoutNormalizing2(y,()=>{let{match:e,at:t=y.selection}=b;var{mergeNode:r,removeEmptyAncestor:n,hanging:o=!1,voids:a=!1,mode:i=\\\"lowest\\\"}=b;if(t){if(null==e)if(Path.isPath(t)){const[f]=getParentNode(y,t);e=e=>f.children.includes(e)}else e=e=>isBlock2(y,e);!o&&Range.isRange(t)&&(t=Editor.unhangRange(y,t)),Range.isRange(t)&&(Range.isCollapsed(t)?t=t.anchor:(([,o]=Range.edges(t)),o=createPointRef(y,o),deleteText3(y,{at:t}),t=o.unref(),null==b.at&&select2(y,t)));var o=getNodeEntries(y,{at:t,match:e,voids:a,mode:i}),[o]=Array.from(o),i=getPreviousNode(y,{at:t,match:e,voids:a,mode:i});if(o&&i){var[o,s]=o,[i,c]=i;if(0!==s.length&&0!==c.length){var l=Path.next(c),u=Path.common(s,c),d=Path.isSibling(s,c),p=Editor.levels(y,{at:s});const g=new Set(Array.from(p,([e])=>e).slice(u.length).slice(0,-1));var p=getAboveNode(y,{at:s,mode:\\\"highest\\\",match:e=>g.has(e)&&isElement2(e)&&hasSingleChild(e)}),u=p&&createPathRef(y,p[1]);let e,t;if(isText(o)&&isText(i)){const{text:m,...h}=o;t=i.text.length,e=h}else{if(!isElement2(o)||!isElement2(i))throw new Error(`Cannot merge the node at path [${s}] with the previous sibling because it is not the same kind: ${JSON.stringify(o)} `+JSON.stringify(i));{const{children:_,...v}=o;t=i.children.length,e=v}}d||r||moveNodes2(y,{at:s,to:l,voids:a}),u&&(n?(p=u.current)&&n(y,{at:p}):removeNodes3(y,{at:u.current,voids:a})),r?r(y,{at:s,to:l}):isElement2(i)&&isElementEmpty(y,i)||isText(i)&&\\\"\\\"===i.text?removeNodes3(y,{at:c,voids:a}):y.apply({type:\\\"merge_node\\\",path:l,position:t,properties:e}),u&&u.unref()}}}})},getEndPoint=(e,t)=>Editor.end(e,t),getLeafNode=(e,t,r)=>Editor.leaf(e,t,r),getPointAfter=(e,t,r)=>Editor.after(e,t,r),getPointBefore=(e,t,r)=>Editor.before(e,t,r),getStartPoint=(e,t)=>Editor.start(e,t),getVoidNode=(e,t)=>Editor[\\\"void\\\"](e,t),isVoid=(e,t)=>isElement2(t)&&Editor.isVoid(e,t),deleteMerge=(E,T={})=>{withoutNormalizing2(E,()=>{var{reverse:n=!1,unit:o=\\\"character\\\",distance:a=1,voids:i=!1}=T;let{at:s=E.selection,hanging:c=!1}=T;if(s)if(Range.isRange(s)&&Range.isCollapsed(s)&&(s=s.anchor),Point.isPoint(s)&&(l=getVoidNode(E,{at:s,mode:\\\"highest\\\"}),!i&&l?(([,l]=l),s=l):(l={unit:o,distance:a},o=n?getPointBefore(E,s,l)||getStartPoint(E,[]):getPointAfter(E,s,l)||getEndPoint(E,[]),s={anchor:s,focus:o},c=!0)),Path.isPath(s))removeNodes3(E,{at:s,voids:i});else if(!Range.isCollapsed(s)){c||(s=Editor.unhangRange(E,s,{voids:i}));let[e,t]=Range.edges(s);var a=getAboveNode(E,{match:e=>isBlock2(E,e),at:e,voids:i}),n=getAboveNode(E,{match:e=>isBlock2(E,e),at:t,voids:i}),l=a&&n&&!Path.equals(a[1],n[1]),o=Path.equals(e.path,t.path),u=i?null:getVoidNode(E,{at:e,mode:\\\"highest\\\"}),d=i?null:getVoidNode(E,{at:t,mode:\\\"highest\\\"}),p=(u&&(_=getPointBefore(E,e))&&a&&Path.isAncestor(a[1],_.path)&&(e=_),d&&(a=getPointAfter(E,t))&&n&&Path.isAncestor(n[1],a.path)&&(t=a),[]);let r;for(const y of getNodeEntries(E,{at:s,voids:i})){var[f,g]=y;r&&0===Path.compare(g,r)||(!i&&isVoid(E,f)||!Path.isCommon(g,e.path)&&!Path.isCommon(g,t.path))&&(p.push(y),r=g)}var m,h,_=Array.from(p,([,e])=>createPathRef(E,e)),n=createPointRef(E,e),a=createPointRef(E,t);o||u||(u=n.current,([h]=getLeafNode(E,u)),u=u[\\\"path\\\"],m=e[\\\"offset\\\"],h=h.text.slice(m),E.apply({type:\\\"remove_text\\\",path:u,offset:m,text:h}));for(const b of _){var v=b.unref();removeNodes3(E,{at:v,voids:i})}d||(u=a.current,([m]=getLeafNode(E,u)),h=u[\\\"path\\\"],_=o?e.offset:0,d=m.text.slice(_,t.offset),E.apply({type:\\\"remove_text\\\",path:h,offset:_,text:d})),!o&&l&&a.current&&n.current&&mergeNodes3(E,{at:a.current,hanging:!0,voids:i});u=a.unref()||n.unref();null==T.at&&u&&select2(E,u)}})},getEdgePoints=(e,t)=>Editor.edges(e,t),getEditorString=(e,t,r)=>{if(!t)return\\\"\\\";try{return Editor.string(e,t,r)}catch(n){return\\\"\\\"}},getLastNode=(e,t)=>Editor.last(e,t),getMarks=e=>Editor.marks(e),getNextNode=(e,t)=>Editor.next(e,t),getNodeEntry=(e,t,r)=>{try{return Editor.node(e,t,r)}catch(n){}},getPath=(e,t,r)=>Editor.path(e,t,r),getPoint=(e,t,r)=>Editor.point(e,t,r),getRange=(e,t,r)=>Editor.range(e,t,r),isEndPoint=(e,t,r)=>!!t&&Editor.isEnd(e,t,r),isInline=(e,t)=>isElement2(t)&&Editor.isInline(e,t),isStartPoint=(e,t,r)=>!!t&&Editor.isStart(e,t,r),normalizeEditor=(e,t)=>Editor.normalize(e,t),removeEditorMark=(e,t)=>Editor.removeMark(e,t),withoutMergingHistory=(e,t)=>HistoryEditor.withoutMerging(e,t),getCommonNode=(e,t,r)=>Node2.common(e,t,r),getNode=(t,r)=>{try{for(let e=0;e\u003Cr.length;e++){var n=r[e];if(isText(t)||!t.children[n])return null;t=t.children[n]}return t}catch(e){return null}},getNodeChildren=(e,t,r)=>Node2.children(e,t,r),getNodeDescendants=(e,t)=>Node2.descendants(e,t),getNodeLeaf=(e,t)=>Node2.leaf(e,t),getNodeProps=e=>Node2.extractProps(e),getNodeString=e=>Node2.string(e),getNodeTexts=(e,t)=>Node2.texts(e,t),getNodes=(e,t)=>Node2.nodes(e,t),hasNode=(e,t)=>Node2.has(e,t),isAncestor=e=>Element2.isAncestor(e),isCollapsed=e=>!!e&&Range.isCollapsed(e),isExpanded=e=>!!e&&Range.isExpanded(e),collapseSelection=(e,t)=>{Transforms.collapse(e,t)},deselect2=e=>{Transforms.deselect(e)},insertNodes3=(e,t,r)=>{var n;null!=r&&r.nextBlock&&(n=(null==r?void 0:r.at)||e.selection)&&(n=getEndPoint(e,n),n=getAboveNode(e,{at:n,block:!0}))&&(n=Path.next(n[1]),r.at=n),Transforms.insertNodes(e,t,r)},insertText3=(e,t,r)=>{Transforms.insertText(e,t,r)},moveSelection=(e,t)=>{Transforms.move(e,t)},setNodes3=(e,t,r)=>Transforms.setNodes(e,t,r),setSelection2=(e,t)=>{Transforms.setSelection(e,t)},splitNodes3=(e,t)=>Transforms.splitNodes(e,t),unsetNodes3=(e,t,r)=>Transforms.unsetNodes(e,t,r),unwrapNodes3=(e,t)=>{Transforms.unwrapNodes(e,getQueryOptions(e,t))},wrapNodes3=(e,t,r)=>{unhangRange3(e,null==r?void 0:r.at,r),Transforms.wrapNodes(e,t,r)},queryNode=(e,{filter:t,allow:r,exclude:n,level:o,maxLevel:a}={})=>{if(!e)return!1;var[i,s]=e;if(o&&!castArray_1(o).includes(s.length))return!1;if(a&&s.length>a)return!1;if(t&&!t(e))return!1;if(r){s=castArray_1(r);if(0\u003Cs.length&&!s.includes(i.type))return!1}if(n){s=castArray_1(n);if(0\u003Cs.length&&s.includes(i.type))return!1}return!0},findNode=(e,t={})=>{try{var r,n;for([r,n]of getNodeEntries(e,{at:e.selection||[],...getQueryOptions(e,t)}))return[r,n]}catch(o){}},someNode=(e,t)=>!!findNode(e,t),setElements=(e,t,r)=>setNodes3(e,t,r),import_direction=(init_esbuild_inject(),__toESM(require_direction())),import_debounce=__toESM(require_debounce()),import_throttle=__toESM(require_throttle()),import_react6=__toESM(require(\\\"react\\\"));function t3(e){return\\\"object\\\"==typeof e&&null!=e&&1===e.nodeType}function e2(e,t){return(!t||\\\"hidden\\\"!==e)&&\\\"visible\\\"!==e&&\\\"clip\\\"!==e}function n3(e,t){var r;return(e.clientHeight\u003Ce.scrollHeight||e.clientWidth\u003Ce.scrollWidth)&&(e2((r=getComputedStyle(e,null)).overflowY,t)||e2(r.overflowX,t)||!!(r=function(e){if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(t){return null}}(t=e))&&(r.clientHeight\u003Ct.scrollHeight||r.clientWidth\u003Ct.scrollWidth))}function r3(e,t,r,n,o,a,i,s){return a\u003Ce&&t\u003Ci||e\u003Ca&&i\u003Ct?0:a\u003C=e&&s\u003C=r||t\u003C=i&&r\u003C=s?a-e-n:t\u003Ci&&s\u003Cr||a\u003Ce&&r\u003Cs?i-t+o:0}init_esbuild_inject(),init_esbuild_inject();var i3=function(e,t){var r=window,N=t.scrollMode,n=t.block,o=t.inline,a=t.boundary,M=t.skipOverflowHiddenElements,B=\\\"function\\\"==typeof a?a:function(e){return e!==a};if(!t3(e))throw new TypeError(\\\"Invalid target\\\");for(var L,F=document.scrollingElement||document.documentElement,i=[],s=e;t3(s)&&B(s);){if((s=null==(L=s.parentElement)?s.getRootNode().host||null:L)===F){i.push(s);break}null!=s&&s===document.body&&n3(s)&&!n3(document.documentElement)||null!=s&&n3(s,M)&&i.push(s)}for(var c=r.visualViewport?r.visualViewport.width:innerWidth,l=r.visualViewport?r.visualViewport.height:innerHeight,u=window.scrollX||pageXOffset,d=window.scrollY||pageYOffset,r=e.getBoundingClientRect(),p=r.height,f=r.width,g=r.top,m=r.right,h=r.bottom,_=r.left,v=\\\"start\\\"===n||\\\"nearest\\\"===n?g:\\\"end\\\"===n?h:g+p/2,y=\\\"center\\\"===o?_+f/2:\\\"end\\\"===o?m:_,b=[],E=0;E\u003Ci.length;E++){var T=i[E],C=T.getBoundingClientRect(),w=C.height,S=C.width,x=C.top,H=C.right,D=C.bottom,C=C.left;if(\\\"if-needed\\\"===N&&0\u003C=g&&0\u003C=_&&h\u003C=l&&m\u003C=c&&x\u003C=g&&h\u003C=D&&C\u003C=_&&m\u003C=H)return b;var $=getComputedStyle(T),A=parseInt($.borderLeftWidth,10),O=parseInt($.borderTopWidth,10),P=parseInt($.borderRightWidth,10),$=parseInt($.borderBottomWidth,10),I=0,j=0,R=\\\"offsetWidth\\\"in T?T.offsetWidth-T.clientWidth-A-P:0,k=\\\"offsetHeight\\\"in T?T.offsetHeight-T.clientHeight-O-$:0,z=!(\\\"offsetWidth\\\"in T)||0===T.offsetWidth?0:S/T.offsetWidth,K=!(\\\"offsetHeight\\\"in T)||0===T.offsetHeight?0:w/T.offsetHeight;F===T?(I=\\\"start\\\"===n?v:\\\"end\\\"===n?v-l:\\\"nearest\\\"===n?r3(d,d+l,l,O,$,d+v,d+v+p,p):v-l/2,j=\\\"start\\\"===o?y:\\\"center\\\"===o?y-c/2:\\\"end\\\"===o?y-c:r3(u,u+c,c,A,P,u+y,u+y+f,f),I=Math.max(0,I+d),j=Math.max(0,j+u)):(I=\\\"start\\\"===n?v-x-O:\\\"end\\\"===n?v-D+$+k:\\\"nearest\\\"===n?r3(x,D,w,O,$+k,v,v+p,p):v-(x+w/2)+k/2,j=\\\"start\\\"===o?y-C-A:\\\"center\\\"===o?y-(C+S/2)+R/2:\\\"end\\\"===o?y-H+P+R:r3(C,H,S,A,P+R,y,y+f,f),D=T.scrollLeft,v+=(O=T.scrollTop)-(I=Math.max(0,Math.min(O+I/K,T.scrollHeight-w/K+k))),y+=D-(j=Math.max(0,Math.min(D+j/z,T.scrollWidth-S/z+R)))),b.push({el:T,top:I,left:j})}return b};function isOptionsObject(e){return e===Object(e)&&0!==Object.keys(e).length}function defaultBehavior(e,o){void 0===o&&(o=\\\"auto\\\");var a=\\\"scrollBehavior\\\"in document.body.style;e.forEach(function(e){var t=e.el,r=e.top,n=e.left;t.scroll&&a?t.scroll({top:r,left:n,behavior:o}):(t.scrollTop=r,t.scrollLeft=n)})}function getOptions(e){return!1===e?{block:\\\"end\\\",inline:\\\"nearest\\\"}:isOptionsObject(e)?e:{block:\\\"start\\\",inline:\\\"nearest\\\"}}function scrollIntoView(e,t){var r=e.isConnected||e.ownerDocument.documentElement.contains(e);return isOptionsObject(t)&&\\\"function\\\"==typeof t.behavior?t.behavior(r?i3(e,t):[]):r?(r=getOptions(t),defaultBehavior(i3(e,r),r.behavior)):void 0}var ResizeObserverBoxOptions,trigger,es_default=scrollIntoView,resizeObservers=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),[]),hasActiveObservations=function(){return resizeObservers.some(function(e){return 0\u003Ce.activeTargets.length})},hasSkippedObservations=(init_esbuild_inject(),function(){return resizeObservers.some(function(e){return 0\u003Ce.skippedTargets.length})}),msg=(init_esbuild_inject(),\\\"ResizeObserver loop completed with undelivered notifications.\\\"),deliverResizeLoopError=function(){var e;\\\"function\\\"==typeof ErrorEvent?e=new ErrorEvent(\\\"error\\\",{message:msg}):((e=document.createEvent(\\\"Event\\\")).initEvent(\\\"error\\\",!1,!1),e.message=msg),window.dispatchEvent(e)},freeze=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),!function(e){e.BORDER_BOX=\\\"border-box\\\",e.CONTENT_BOX=\\\"content-box\\\",e.DEVICE_PIXEL_CONTENT_BOX=\\\"device-pixel-content-box\\\"}(ResizeObserverBoxOptions=ResizeObserverBoxOptions||{}),init_esbuild_inject(),init_esbuild_inject(),function(e){return Object.freeze(e)}),ResizeObserverSize=function(e,t){this.inlineSize=e,this.blockSize=t,freeze(this)},DOMRectReadOnly=(init_esbuild_inject(),function(){function t(e,t,r,n){return this.x=e,this.y=t,this.width=r,this.height=n,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,freeze(this)}return t.prototype.toJSON=function(){return{x:this.x,y:this.y,top:this.top,right:this.right,bottom:this.bottom,left:this.left,width:this.width,height:this.height}},t.fromRect=function(e){return new t(e.x,e.y,e.width,e.height)},t}()),isSVG=(init_esbuild_inject(),function(e){return e instanceof SVGElement&&\\\"getBBox\\\"in e}),isHidden=function(e){var t,r;return isSVG(e)?(t=(r=e.getBBox()).width,r=r.height,!t&&!r):(t=e.offsetWidth,r=e.offsetHeight,!(t||r||e.getClientRects().length))},isElement3=function(e){var t;return e instanceof Element||!!((t=null==(t=null==e?void 0:e.ownerDocument)?void 0:t.defaultView)&&e instanceof t.Element)},isReplacedElement=function(e){switch(e.tagName){case\\\"INPUT\\\":if(\\\"image\\\"!==e.type)break;case\\\"VIDEO\\\":case\\\"AUDIO\\\":case\\\"EMBED\\\":case\\\"OBJECT\\\":case\\\"CANVAS\\\":case\\\"IFRAME\\\":case\\\"IMG\\\":return!0}return!1},global2=(init_esbuild_inject(),\\\"undefined\\\"!=typeof window?window:{}),cache=new WeakMap,scrollRegexp=/auto|scroll/,verticalRegexp=/^tb|vertical/,IE=/msie|trident/i.test(global2.navigator&&global2.navigator.userAgent),parseDimension=function(e){return parseFloat(e||\\\"0\\\")},size=function(e,t,r){return void 0===e&&(e=0),void 0===t&&(t=0),new ResizeObserverSize(((r=void 0===r?!1:r)?t:e)||0,(r?e:t)||0)},zeroBoxes=freeze({devicePixelContentBoxSize:size(),borderBoxSize:size(),contentBoxSize:size(),contentRect:new DOMRectReadOnly(0,0,0,0)}),calculateBoxSizes=function(e,t){var r,n,o,a,i,s,c,l,u,d,p,f,g;return void 0===t&&(t=!1),cache.has(e)&&!t?cache.get(e):isHidden(e)?(cache.set(e,zeroBoxes),zeroBoxes):(r=getComputedStyle(e),g=isSVG(e)&&e.ownerSVGElement&&e.getBBox(),l=!IE&&\\\"border-box\\\"===r.boxSizing,n=verticalRegexp.test(r.writingMode||\\\"\\\"),u=!g&&scrollRegexp.test(r.overflowY||\\\"\\\"),d=!g&&scrollRegexp.test(r.overflowX||\\\"\\\"),o=g?0:parseDimension(r.paddingTop),p=g?0:parseDimension(r.paddingRight),i=g?0:parseDimension(r.paddingBottom),a=g?0:parseDimension(r.paddingLeft),s=g?0:parseDimension(r.borderTopWidth),f=g?0:parseDimension(r.borderRightWidth),c=g?0:parseDimension(r.borderBottomWidth),p=a+p,i=o+i,f=(g?0:parseDimension(r.borderLeftWidth))+f,s=s+c,c=d?e.offsetHeight-s-e.clientHeight:0,d=u?e.offsetWidth-f-e.clientWidth:0,u=l?p+f:0,l=l?i+s:0,p=(u=g?g.width:parseDimension(r.width)-u-d)+p+d+f,f=(d=g?g.height:parseDimension(r.height)-l-c)+i+c+s,g=freeze({devicePixelContentBoxSize:size(Math.round(u*devicePixelRatio),Math.round(d*devicePixelRatio),n),borderBoxSize:size(p,f,n),contentBoxSize:size(u,d,n),contentRect:new DOMRectReadOnly(a,o,u,d)}),cache.set(e,g),g)},calculateBoxSize=function(e,t,r){var n=calculateBoxSizes(e,r),o=n.borderBoxSize,a=n.contentBoxSize,i=n.devicePixelContentBoxSize;switch(t){case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:return i;case ResizeObserverBoxOptions.BORDER_BOX:return o;default:return a}},ResizeObserverEntry=function(e){var t=calculateBoxSizes(e);this.target=e,this.contentRect=t.contentRect,this.borderBoxSize=freeze([t.borderBoxSize]),this.contentBoxSize=freeze([t.contentBoxSize]),this.devicePixelContentBoxSize=freeze([t.devicePixelContentBoxSize])},calculateDepthForNode=(init_esbuild_inject(),function(e){if(isHidden(e))return Infinity;for(var t=0,r=e.parentNode;r;)t+=1,r=r.parentNode;return t}),broadcastActiveObservations=function(){var o=Infinity,t=[];resizeObservers.forEach(function(e){var n;0!==e.activeTargets.length&&(n=[],e.activeTargets.forEach(function(e){var t=new ResizeObserverEntry(e.target),r=calculateDepthForNode(e.target);n.push(t),e.lastReportedSize=calculateBoxSize(e.target,e.observedBox),r\u003Co&&(o=r)}),t.push(function(){e.callback.call(e.observer,n,e.observer)}),e.activeTargets.splice(0,e.activeTargets.length))});for(var e=0,r=t;e\u003Cr.length;e++)(0,r[e])();return o},gatherActiveObservationsAtDepth=(init_esbuild_inject(),function(r){resizeObservers.forEach(function(t){t.activeTargets.splice(0,t.activeTargets.length),t.skippedTargets.splice(0,t.skippedTargets.length),t.observationTargets.forEach(function(e){e.isActive()&&(calculateDepthForNode(e.target)>r?t.activeTargets:t.skippedTargets).push(e)})})}),process2=function(){var e=0;for(gatherActiveObservationsAtDepth(e);hasActiveObservations();)e=broadcastActiveObservations(),gatherActiveObservationsAtDepth(e);return hasSkippedObservations()&&deliverResizeLoopError(),0\u003Ce},callbacks=(init_esbuild_inject(),init_esbuild_inject(),[]),notify=function(){return callbacks.splice(0).forEach(function(e){return e()})},queueMicroTask=function(e){var t,r;trigger||(t=0,r=document.createTextNode(\\\"\\\"),new MutationObserver(function(){return notify()}).observe(r,{characterData:!0}),trigger=function(){r.textContent=\\\"\\\".concat(t?t--:t++)}),callbacks.push(e),trigger()},queueResizeObserver=function(e){queueMicroTask(function(){requestAnimationFrame(e)})},watching=0,isWatching=function(){return!!watching},CATCH_PERIOD=250,observerConfig={attributes:!0,characterData:!0,childList:!0,subtree:!0},events=[\\\"resize\\\",\\\"load\\\",\\\"transitionend\\\",\\\"animationend\\\",\\\"animationstart\\\",\\\"animationiteration\\\",\\\"keyup\\\",\\\"keydown\\\",\\\"mouseup\\\",\\\"mousedown\\\",\\\"mouseover\\\",\\\"mouseout\\\",\\\"blur\\\",\\\"focus\\\"],time=function(e){return void 0===e&&(e=0),Date.now()+e},scheduled=!1,Scheduler=function(){function e(){var e=this;this.stopped=!0,this.listener=function(){return e.schedule()}}return e.prototype.run=function(t){var r,n=this;void 0===t&&(t=CATCH_PERIOD),scheduled||(scheduled=!0,r=time(t),queueResizeObserver(function(){var e=!1;try{e=process2()}finally{if(scheduled=!1,t=r-time(),!isWatching())return;e?n.run(1e3):0\u003Ct?n.run(t):n.start()}}))},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var e=this,t=function(){return e.observer&&e.observer.observe(document.body,observerConfig)};document.body?t():global2.addEventListener(\\\"DOMContentLoaded\\\",t)},e.prototype.start=function(){var t=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),events.forEach(function(e){return global2.addEventListener(e,t.listener,!0)}))},e.prototype.stop=function(){var t=this;this.stopped||(this.observer&&this.observer.disconnect(),events.forEach(function(e){return global2.removeEventListener(e,t.listener,!0)}),this.stopped=!0)},e}(),scheduler=new Scheduler,updateCount=function(e){!watching&&0\u003Ce&&scheduler.start(),(watching+=e)||scheduler.stop()},skipNotifyOnElement=(init_esbuild_inject(),function(e){return!isSVG(e)&&!isReplacedElement(e)&&\\\"inline\\\"===getComputedStyle(e).display}),ResizeObservation=function(){function e(e,t){this.target=e,this.observedBox=t||ResizeObserverBoxOptions.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var e=calculateBoxSize(this.target,this.observedBox,!0);return skipNotifyOnElement(this.target)&&(this.lastReportedSize=e),this.lastReportedSize.inlineSize!==e.inlineSize||this.lastReportedSize.blockSize!==e.blockSize},e}(),ResizeObserverDetail=(init_esbuild_inject(),function(e,t){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=e,this.callback=t}),observerMap=new WeakMap,getObservationIndex=function(e,t){for(var r=0;r\u003Ce.length;r+=1)if(e[r].target===t)return r;return-1},ResizeObserverController=function(){function e(){}return e.connect=function(e,t){var r=new ResizeObserverDetail(e,t);observerMap.set(e,r)},e.observe=function(e,t,r){var n=observerMap.get(e),o=0===n.observationTargets.length;getObservationIndex(n.observationTargets,t)\u003C0&&(o&&resizeObservers.push(n),n.observationTargets.push(new ResizeObservation(t,r&&r.box)),updateCount(1),scheduler.schedule())},e.unobserve=function(e,t){var r=observerMap.get(e),n=getObservationIndex(r.observationTargets,t),o=1===r.observationTargets.length;0\u003C=n&&(o&&resizeObservers.splice(resizeObservers.indexOf(r),1),r.observationTargets.splice(n,1),updateCount(-1))},e.disconnect=function(t){var r=this,e=observerMap.get(t);e.observationTargets.slice().forEach(function(e){return r.unobserve(t,e.target)}),e.activeTargets.splice(0,e.activeTargets.length)},e}(),ResizeObserver2=function(){function e(e){if(0===arguments.length)throw new TypeError(\\\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\\\");if(\\\"function\\\"!=typeof e)throw new TypeError(\\\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\\\");ResizeObserverController.connect(this,e)}return e.prototype.observe=function(e,t){if(0===arguments.length)throw new TypeError(\\\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\\\");if(!isElement3(e))throw new TypeError(\\\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\\\");ResizeObserverController.observe(this,e,t)},e.prototype.unobserve=function(e){if(0===arguments.length)throw new TypeError(\\\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\\\");if(!isElement3(e))throw new TypeError(\\\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\\\");ResizeObserverController.unobserve(this,e)},e.prototype.disconnect=function(){ResizeObserverController.disconnect(this)},e.toString=function(){return\\\"function ResizeObserver () { [polyfill code] }\\\"},e}(),import_is_hotkey=__toESM(require_lib()),import_react_dom=__toESM(require(\\\"react-dom\\\"));function _defineProperty2(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _objectWithoutPropertiesLoose2(e,t){if(null==e)return{};for(var r,n={},o=Object.keys(e),a=0;a\u003Co.length;a++)r=o[a],0\u003C=t.indexOf(r)||(n[r]=e[r]);return n}function _objectWithoutProperties2(e,t){if(null==e)return{};var r,n=_objectWithoutPropertiesLoose2(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a\u003Co.length;a++)r=o[a],0\u003C=t.indexOf(r)||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);return n}var EditorContext=(0,import_react6.createContext)(null),useSlateStatic=()=>{var e=(0,import_react6.useContext)(EditorContext);if(e)return e;throw new Error(\\\"The `useSlateStatic` hook must be used inside the \u003CSlate> component's context.\\\")},REACT_MAJOR_VERSION=parseInt(import_react6[\\\"default\\\"].version.split(\\\".\\\")[0],10),IS_IOS=\\\"undefined\\\"!=typeof navigator&&\\\"undefined\\\"!=typeof window&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,IS_APPLE2=\\\"undefined\\\"!=typeof navigator&&/Mac OS X/.test(navigator.userAgent),IS_ANDROID=\\\"undefined\\\"!=typeof navigator&&/Android/.test(navigator.userAgent),IS_FIREFOX=\\\"undefined\\\"!=typeof navigator&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),IS_WEBKIT=\\\"undefined\\\"!=typeof navigator&&/AppleWebKit(?!.*Chrome)/i.test(navigator.userAgent),IS_EDGE_LEGACY=\\\"undefined\\\"!=typeof navigator&&/Edge?\\\\/(?:[0-6][0-9]|[0-7][0-8])(?:\\\\.)/i.test(navigator.userAgent),IS_CHROME=\\\"undefined\\\"!=typeof navigator&&/Chrome/i.test(navigator.userAgent),IS_CHROME_LEGACY=\\\"undefined\\\"!=typeof navigator&&/Chrome?\\\\/(?:[0-7][0-5]|[0-6][0-9])(?:\\\\.)/i.test(navigator.userAgent),IS_ANDROID_CHROME_LEGACY=IS_ANDROID&&\\\"undefined\\\"!=typeof navigator&&/Chrome?\\\\/(?:[0-5]?\\\\d)(?:\\\\.)/i.test(navigator.userAgent),IS_FIREFOX_LEGACY=\\\"undefined\\\"!=typeof navigator&&/^(?!.*Seamonkey)(?=.*Firefox\\\\/(?:[0-7][0-9]|[0-8][0-6])(?:\\\\.)).*/i.test(navigator.userAgent),IS_UC_MOBILE=\\\"undefined\\\"!=typeof navigator&&/.*UCBrowser/.test(navigator.userAgent),IS_WECHATBROWSER=\\\"undefined\\\"!=typeof navigator&&/.*Wechat/.test(navigator.userAgent),CAN_USE_DOM=!(\\\"undefined\\\"==typeof window||\\\"undefined\\\"==typeof window.document||\\\"undefined\\\"==typeof window.document.createElement),HAS_BEFORE_INPUT_SUPPORT=(!IS_CHROME_LEGACY||!IS_ANDROID_CHROME_LEGACY)&&!IS_EDGE_LEGACY&&\\\"undefined\\\"!=typeof globalThis&&globalThis.InputEvent&&\\\"function\\\"==typeof globalThis.InputEvent.prototype.getTargetRanges,NODE_TO_INDEX=new WeakMap,NODE_TO_PARENT=new WeakMap,EDITOR_TO_WINDOW=new WeakMap,EDITOR_TO_ELEMENT=new WeakMap,EDITOR_TO_PLACEHOLDER_ELEMENT=new WeakMap,ELEMENT_TO_NODE=new WeakMap,NODE_TO_ELEMENT=new WeakMap,NODE_TO_KEY=new WeakMap,EDITOR_TO_KEY_TO_ELEMENT=new WeakMap,IS_READ_ONLY=new WeakMap,IS_FOCUSED=new WeakMap,IS_COMPOSING=new WeakMap,EDITOR_TO_USER_SELECTION=new WeakMap,EDITOR_TO_ON_CHANGE=new WeakMap,EDITOR_TO_SCHEDULE_FLUSH=new WeakMap,EDITOR_TO_PENDING_INSERTION_MARKS=new WeakMap,EDITOR_TO_USER_MARKS=new WeakMap,EDITOR_TO_PENDING_DIFFS=new WeakMap,EDITOR_TO_PENDING_ACTION=new WeakMap,EDITOR_TO_PENDING_SELECTION=new WeakMap,EDITOR_TO_FORCE_RENDER=new WeakMap,PLACEHOLDER_SYMBOL=Symbol(\\\"placeholder\\\"),MARK_PLACEHOLDER_SYMBOL=Symbol(\\\"mark-placeholder\\\"),DOMText=globalThis.Text,getDefaultView=e=>e&&e.ownerDocument&&e.ownerDocument.defaultView||null,isDOMComment=e=>isDOMNode(e)&&8===e.nodeType,isDOMElement=e=>isDOMNode(e)&&1===e.nodeType,isDOMNode=e=>{var t=getDefaultView(e);return!!t&&e instanceof t.Node},isDOMSelection=e=>{var t=e&&e.anchorNode&&getDefaultView(e.anchorNode);return!!t&&e instanceof t.Selection},isDOMText=e=>isDOMNode(e)&&3===e.nodeType,isPlainTextOnlyPaste=e=>e.clipboardData&&\\\"\\\"!==e.clipboardData.getData(\\\"text/plain\\\")&&1===e.clipboardData.types.length,normalizeDOMPoint=e=>{var[t,r]=e;if(isDOMElement(t)&&t.childNodes.length){var n=r===t.childNodes.length,o=n?r-1:r;for(([t,o]=getEditableChildAndIndex(t,o,n?\\\"backward\\\":\\\"forward\\\")),n=o\u003Cr;isDOMElement(t)&&t.childNodes.length;)var a=n?t.childNodes.length-1:0,t=getEditableChild(t,a,n?\\\"backward\\\":\\\"forward\\\");r=n&&null!=t.textContent?t.textContent.length:0}return[t,r]},hasShadowRoot=e=>{for(var t=e&&e.parentNode;t;){if(\\\"[object ShadowRoot]\\\"===t.toString())return!0;t=t.parentNode}return!1},getEditableChildAndIndex=(e,t,r)=>{for(var n=e[\\\"childNodes\\\"],o=n[t],a=t,i=!1,s=!1;(isDOMComment(o)||isDOMElement(o)&&0===o.childNodes.length||isDOMElement(o)&&\\\"false\\\"===o.getAttribute(\\\"contenteditable\\\"))&&(!i||!s);)a>=n.length?(i=!0,a=t-1,r=\\\"backward\\\"):a\u003C0?(s=!0,a=t+1,r=\\\"forward\\\"):(o=n[a],t=a,a+=\\\"forward\\\"===r?1:-1);return[o,t]},getEditableChild=(e,t,r)=>{var[n]=getEditableChildAndIndex(e,t,r);return n},getPlainText=e=>{var t=\\\"\\\";if(isDOMText(e)&&e.nodeValue)return e.nodeValue;if(isDOMElement(e)){for(var r of Array.from(e.childNodes))t+=getPlainText(r);var n=getComputedStyle(e).getPropertyValue(\\\"display\\\");\\\"block\\\"!==n&&\\\"list\\\"!==n&&\\\"BR\\\"!==e.tagName||(t+=\\\"\\\\n\\\")}return t},catchSlateFragment=/data-slate-fragment=\\\"(.+?)\\\"/m,getSlateFragmentAttribute=e=>{var[,t]=e.getData(\\\"text/html\\\").match(catchSlateFragment)||[];return t},isTrackedMutation=(e,t,r)=>{var n,a=t[\\\"target\\\"];return(!isDOMElement(a)||!a.matches('[contentEditable=\\\"false\\\"]'))&&(n=ReactEditor.getWindow(e)[\\\"document\\\"],n.contains(a)?ReactEditor.hasDOMNode(e,a,{editable:!0}):!(!(n=r.find(e=>{var t,r,{addedNodes:n,removedNodes:o}=e;for(t of n)if(t===a||t.contains(a))return!0;for(r of o)if(r===a||r.contains(a))return!0}))||n===t)&&isTrackedMutation(e,n,r))},n4=0,Key=class{constructor(){this.id=\\\"\\\".concat(n4++)}},ReactEditor={androidPendingDiffs:e=>EDITOR_TO_PENDING_DIFFS.get(e),androidScheduleFlush:e=>{var t;null!=(t=EDITOR_TO_SCHEDULE_FLUSH.get(e))&&t()},blur:e=>{var t=ReactEditor.toDOMNode(e,e),r=ReactEditor.findDocumentOrShadowRoot(e);IS_FOCUSED.set(e,!1),r.activeElement===t&&t.blur()},deselect:e=>{var t=e[\\\"selection\\\"],r=ReactEditor.findDocumentOrShadowRoot(e).getSelection();r&&0\u003Cr.rangeCount&&r.removeAllRanges(),t&&Transforms.deselect(e)},findDocumentOrShadowRoot:e=>{var t=ReactEditor.toDOMNode(e,e),r=t.getRootNode();return(r instanceof Document||r instanceof ShadowRoot)&&null!=r.getSelection?r:t.ownerDocument},findEventRange:(e,t)=>{var{clientX:r,clientY:n,target:o}=t=\\\"nativeEvent\\\"in t?t.nativeEvent:t;if(null!=r&&null!=n){var a,i=ReactEditor.toSlateNode(e,t.target),s=ReactEditor.findPath(e,i);if(Element2.isElement(i)&&Editor.isVoid(e,i)){o=o.getBoundingClientRect(),i=e.isInline(i)?r-o.left\u003Co.left+o.width-r:n-o.top\u003Co.top+o.height-n,o=Editor.point(e,s,{edge:i?\\\"start\\\":\\\"end\\\"}),s=i?Editor.before(e,o):Editor.after(e,o);if(s)return Editor.range(e,s)}i=ReactEditor.getWindow(e)[\\\"document\\\"];if(i.caretRangeFromPoint?a=i.caretRangeFromPoint(r,n):(o=i.caretPositionFromPoint(r,n))&&((a=i.createRange()).setStart(o.offsetNode,o.offset),a.setEnd(o.offsetNode,o.offset)),a)return ReactEditor.toSlateRange(e,a,{exactMatch:!1,suppressThrow:!1})}throw new Error(\\\"Cannot resolve a Slate range from a DOM event: \\\".concat(t))},findKey:(e,t)=>{var r=NODE_TO_KEY.get(t);return r||(r=new Key,NODE_TO_KEY.set(t,r)),r},findPath:(e,t)=>{for(var r=[],n=t;;){var o=NODE_TO_PARENT.get(n);if(null==o){if(Editor.isEditor(n))return r;break}var a=NODE_TO_INDEX.get(n);if(null==a)break;r.unshift(a),n=o}throw new Error(\\\"Unable to find the path for Slate node: \\\".concat(Scrubber.stringify(t)))},focus:e=>{var t=ReactEditor.toDOMNode(e,e),r=ReactEditor.findDocumentOrShadowRoot(e);IS_FOCUSED.set(e,!0),r.activeElement!==t&&t.focus({preventScroll:!0})},getWindow:e=>{var t=EDITOR_TO_WINDOW.get(e);if(t)return t;throw new Error(\\\"Unable to find a host window element for this editor\\\")},hasDOMNode:function hasDOMNode(e,t){var r,{editable:n=!1}=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:{},o=ReactEditor.toDOMNode(e,e);try{r=isDOMElement(t)?t:t.parentElement}catch(a){if(!a.message.includes('Permission denied to access property \\\"nodeType\\\"'))throw a}return!!r&&!(r.closest(\\\"[data-slate-editor]\\\")!==o||n&&!r.isContentEditable&&(\\\"boolean\\\"!=typeof r.isContentEditable||r.closest('[contenteditable=\\\"false\\\"]')!==o)&&!r.getAttribute(\\\"data-slate-zero-width\\\"))},hasEditableTarget:(e,t)=>isDOMNode(t)&&ReactEditor.hasDOMNode(e,t,{editable:!0}),hasRange:(e,t)=>{var{anchor:r,focus:n}=t;return Editor.hasPath(e,r.path)&&Editor.hasPath(e,n.path)},hasSelectableTarget:(e,t)=>ReactEditor.hasEditableTarget(e,t)||ReactEditor.isTargetInsideNonReadonlyVoid(e,t),hasTarget:(e,t)=>isDOMNode(t)&&ReactEditor.hasDOMNode(e,t),insertData:(e,t)=>{e.insertData(t)},insertFragmentData:(e,t)=>e.insertFragmentData(t),insertTextData:(e,t)=>e.insertTextData(t),isComposing:e=>!!IS_COMPOSING.get(e),isFocused:e=>!!IS_FOCUSED.get(e),isReadOnly:e=>!!IS_READ_ONLY.get(e),isTargetInsideNonReadonlyVoid:(e,t)=>{var r;return!IS_READ_ONLY.get(e)&&(r=ReactEditor.hasTarget(e,t)&&ReactEditor.toSlateNode(e,t),Element2.isElement(r))&&Editor.isVoid(e,r)},setFragmentData:(e,t,r)=>e.setFragmentData(t,r),toDOMNode:(e,t)=>{var r=EDITOR_TO_KEY_TO_ELEMENT.get(e),r=Editor.isEditor(t)?EDITOR_TO_ELEMENT.get(e):null==r?void 0:r.get(ReactEditor.findKey(e,t));if(r)return r;throw new Error(\\\"Cannot resolve a DOM node from Slate node: \\\".concat(Scrubber.stringify(t)))},toDOMPoint:(e,t)=>{for(var[r]=Editor.node(e,t.path),r=ReactEditor.toDOMNode(e,r),n=(Editor[\\\"void\\\"](e,{at:t})&&(t={path:t.path,offset:0}),Array.from(r.querySelectorAll(\\\"[data-slate-string], [data-slate-zero-width]\\\"))),o=0,a=0;a\u003Cn.length;a++){var i=n[a],s=i.childNodes[0];if(null!=s&&null!=s.textContent){var c=s.textContent[\\\"length\\\"],i=i.getAttribute(\\\"data-slate-length\\\"),i=o+(null==i?c:parseInt(i,10)),l=n[a+1];if(t.offset===i&&null!=l&&l.hasAttribute(\\\"data-slate-mark-placeholder\\\")){var u=l.childNodes[0],d=[u instanceof DOMText?u:l,null!=(u=l.textContent)&&u.startsWith(\\\"\\\\ufeff\\\")?1:0];break}if(t.offset\u003C=i){d=[s,Math.min(c,Math.max(0,t.offset-o))];break}o=i}}if(d)return d;throw new Error(\\\"Cannot resolve a DOM point from Slate point: \\\".concat(Scrubber.stringify(t)))},toDOMRange:(e,t)=>{var{anchor:r,focus:n}=t,o=Range.isBackward(t),r=ReactEditor.toDOMPoint(e,r),n=Range.isCollapsed(t)?r:ReactEditor.toDOMPoint(e,n),a=ReactEditor.getWindow(e).document.createRange(),[i,s]=o?n:r,[o,r]=o?r:n,n=!!(isDOMElement(i)?i:i.parentElement).getAttribute(\\\"data-slate-zero-width\\\"),c=!!(isDOMElement(o)?o:o.parentElement).getAttribute(\\\"data-slate-zero-width\\\");return a.setStart(i,n?1:s),a.setEnd(o,c?1:r),a},toSlateNode:(e,t)=>{var r=isDOMElement(t)?t:t.parentElement,n=(r=r&&!r.hasAttribute(\\\"data-slate-node\\\")?r.closest(\\\"[data-slate-node]\\\"):r)?ELEMENT_TO_NODE.get(r):null;if(n)return n;throw new Error(\\\"Cannot resolve a Slate node from DOM node: \\\".concat(r))},toSlatePoint:(e,t,r)=>{var{exactMatch:n,suppressThrow:o}=r,[a,i]=n?t:normalizeDOMPoint(t),s=a.parentNode,c=null,l=0;if(s){var u=ReactEditor.toDOMNode(e,e),d=s.closest('[data-slate-void=\\\"true\\\"]'),u=d&&u.contains(d)?d:null,p=s.closest(\\\"[data-slate-leaf]\\\"),d=null;if(p)(c=p.closest('[data-slate-node=\\\"text\\\"]'))&&((h=ReactEditor.getWindow(e).document.createRange()).setStart(c,0),h.setEnd(a,i),a=h.cloneContents(),[...Array.prototype.slice.call(a.querySelectorAll(\\\"[data-slate-zero-width]\\\")),...Array.prototype.slice.call(a.querySelectorAll(\\\"[contenteditable=false]\\\"))].forEach(e=>{IS_ANDROID&&!n&&e.hasAttribute(\\\"data-slate-zero-width\\\")&&0\u003Ce.textContent.length&&\\\"\\\\ufeff\\\"!==e.textContext?e.textContent.startsWith(\\\"\\\\ufeff\\\")&&(e.textContent=e.textContent.slice(1)):e.parentNode.removeChild(e)}),l=a.textContent.length,d=c);else if(u){for(var f=u.querySelectorAll(\\\"[data-slate-leaf]\\\"),g=0;g\u003Cf.length;g++){var m=f[g];if(ReactEditor.hasDOMNode(e,m)){p=m;break}}p?(c=p.closest('[data-slate-node=\\\"text\\\"]'),l=(d=p).textContent.length,d.querySelectorAll(\\\"[data-slate-zero-width]\\\").forEach(e=>{l-=e.textContent.length})):l=1}d&&l===d.textContent.length&&IS_ANDROID&&\\\"z\\\"===d.getAttribute(\\\"data-slate-zero-width\\\")&&null!=(h=d.textContent)&&h.startsWith(\\\"\\\\ufeff\\\")&&(s.hasAttribute(\\\"data-slate-zero-width\\\")||IS_FIREFOX&&null!=(a=d.textContent)&&a.endsWith(\\\"\\\\n\\\\n\\\"))&&l--}if(IS_ANDROID&&!c&&!n){var h,u=s.hasAttribute(\\\"data-slate-node\\\")?s:s.closest(\\\"[data-slate-node]\\\");if(u&&ReactEditor.hasDOMNode(e,u,{editable:!0}))return h=ReactEditor.toSlateNode(e,u),({path:d,offset:a}=Editor.start(e,ReactEditor.findPath(e,h))),{path:d,offset:a=u.querySelector(\\\"[data-slate-leaf]\\\")?a:i}}if(c)return s=ReactEditor.toSlateNode(e,c),{path:ReactEditor.findPath(e,s),offset:l};if(o)return null;throw new Error(\\\"Cannot resolve a Slate point from DOM point: \\\".concat(t))},toSlateRange:(e,t,r)=>{var{exactMatch:n,suppressThrow:o}=r;if(isDOMSelection(t)?t.anchorNode:t.startContainer)if(isDOMSelection(t)){if(IS_FIREFOX&&1\u003Ct.rangeCount){d=t.focusNode;var a=t.getRangeAt(0),i=t.getRangeAt(t.rangeCount-1);if(d instanceof HTMLTableRowElement&&a.startContainer instanceof HTMLTableRowElement&&i.startContainer instanceof HTMLTableRowElement){let t=function(e){return 0\u003Ce.childElementCount?t(e.children[0]):e};var s=a.startContainer,c=i.startContainer,s=t(s.children[a.startOffset]),c=t(c.children[i.startOffset]),l=0,u=0\u003Cc.childNodes.length?c.childNodes[0]:c,d=0\u003Cs.childNodes.length?s.childNodes[0]:s,s=c instanceof HTMLElement?c.innerHTML.length:0}else l=(a.startContainer===d?(u=i.endContainer,s=i.endOffset,a):(u=a.startContainer,s=a.endOffset,i)).startOffset}else u=t.anchorNode,s=t.anchorOffset,d=t.focusNode,l=t.focusOffset;c=IS_CHROME&&hasShadowRoot(u)||IS_FIREFOX?t.anchorNode===t.focusNode&&t.anchorOffset===t.focusOffset:t.isCollapsed}else u=t.startContainer,s=t.startOffset,d=t.endContainer,l=t.endOffset,c=t.collapsed;if(null==u||null==d||null==s||null==l)throw new Error(\\\"Cannot resolve a Slate range from DOM range: \\\".concat(t));\\\"getAttribute\\\"in d&&\\\"false\\\"===d.getAttribute(\\\"contenteditable\\\")&&\\\"true\\\"!==d.getAttribute(\\\"data-slate-void\\\")&&(l=(null==(a=(d=u).textContent)?void 0:a.length)||0);i=ReactEditor.toSlatePoint(e,[u,s],{exactMatch:n,suppressThrow:o});return i&&(a=c?i:ReactEditor.toSlatePoint(e,[d,l],{exactMatch:n,suppressThrow:o}))?Range.isExpanded(u={anchor:i,focus:a})&&Range.isForward(u)&&isDOMElement(d)&&Editor[\\\"void\\\"](e,{at:u.focus,mode:\\\"highest\\\"})?Editor.unhangRange(e,u,{voids:!0}):u:null}};function verifyDiffState(e,t){var r,{path:n,diff:o}=t;return!!Editor.hasPath(e,n)&&(r=Node2.get(e,n),!!Text.isText(r))&&(o.start!==r.text.length||0===o.text.length?r.text.slice(o.start,o.start+o.text.length)===o.text:(r=Path.next(n),!!Editor.hasPath(e,r)&&(n=Node2.get(e,r),Text.isText(n))&&n.text.startsWith(o.text)))}function applyStringDiff(e){for(var t=arguments.length,r=new Array(1\u003Ct?t-1:0),n=1;n\u003Ct;n++)r[n-1]=arguments[n];return r.reduce((e,t)=>e.slice(0,t.start)+t.text+e.slice(t.end),e)}function longestCommonPrefixLength(e,t){for(var r=Math.min(e.length,t.length),n=0;n\u003Cr;n++)if(e.charAt(n)!==t.charAt(n))return n;return r}function longestCommonSuffixLength(e,t,r){for(var n=Math.min(e.length,t.length,r),o=0;o\u003Cn;o++)if(e.charAt(e.length-o-1)!==t.charAt(t.length-o-1))return o;return n}function normalizeStringDiff(e,t){var{start:r,end:n,text:o}=t,a=e.slice(r,n),i=longestCommonPrefixLength(a,o),a=longestCommonSuffixLength(a,o,Math.min(a.length-i,o.length-i)),r={start:r+i,end:n-a,text:o.slice(i,o.length-a)};return r.start===r.end&&0===r.text.length?null:r}function mergeStringDiffs(e,t,r){var n=Math.min(t.start,r.start),o=Math.max(0,Math.min(t.start+t.text.length,r.end)-r.start),a=applyStringDiff(e,t,r),o=Math.max(r.start+r.text.length,t.start+t.text.length+(t.start+t.text.length>r.start?r.text.length:0)-o),o=a.slice(n,o);return normalizeStringDiff(e,{start:n,end:Math.max(t.end,r.end-t.text.length+(t.end-t.start)),text:o})}function targetRange(e){var{path:t,diff:r}=e;return{anchor:{path:t,offset:r.start},focus:{path:t,offset:r.end}}}function normalizePoint(t,e){var{path:r,offset:n}=e;if(!Editor.hasPath(t,r))return null;var o=Node2.get(t,r);if(!Text.isText(o))return null;var a=Editor.above(t,{match:e=>Element2.isElement(e)&&Editor.isBlock(t,e),at:r});if(!a)return null;for(;n>o.text.length;){var i=Editor.next(t,{at:r,match:Text.isText});if(!i||!Path.isDescendant(i[1],a[1]))return null;n-=o.text.length,o=i[0],r=i[1]}return{path:r,offset:n}}function normalizeRange(e,t){var r,n=normalizePoint(e,t.anchor);return n?Range.isCollapsed(t)?{anchor:n,focus:n}:(r=normalizePoint(e,t.focus))?{anchor:n,focus:r}:null:null}function transformPendingPoint(e,r,t){var n,o,a=EDITOR_TO_PENDING_DIFFS.get(e),a=null==a?void 0:a.find(e=>{var t=e[\\\"path\\\"];return Path.equals(t,r.path)});return!a||r.offset\u003C=a.diff.start?Point.transform(r,t,{affinity:\\\"backward\\\"}):(a=a[\\\"diff\\\"],r.offset\u003C=a.start+a.text.length?(n={path:r.path,offset:a.start},(n=Point.transform(n,t,{affinity:\\\"backward\\\"}))?{path:n.path,offset:n.offset+r.offset-a.start}:null):(n={path:r.path,offset:r.offset-a.text.length+a.end-a.start},(o=Point.transform(n,t,{affinity:\\\"backward\\\"}))?\\\"split_node\\\"===t.type&&Path.equals(t.path,r.path)&&n.offset\u003Ct.position&&a.start\u003Ct.position?o:{path:o.path,offset:o.offset+a.text.length-a.end+a.start}:null))}function transformPendingRange(e,t,r){var n,o=transformPendingPoint(e,t.anchor,r);return o?Range.isCollapsed(t)?{anchor:o,focus:o}:(n=transformPendingPoint(e,t.focus,r))?{anchor:o,focus:n}:null:null}function transformTextDiff(e,t){var{path:r,diff:n,id:o}=e;switch(t.type){case\\\"insert_text\\\":return!Path.equals(t.path,r)||t.offset>=n.end?e:t.offset\u003C=n.start?{diff:{start:t.text.length+n.start,end:t.text.length+n.end,text:n.text},id:o,path:r}:{diff:{start:n.start,end:n.end+t.text.length,text:n.text},id:o,path:r};case\\\"remove_text\\\":return!Path.equals(t.path,r)||t.offset>=n.end?e:t.offset+t.text.length\u003C=n.start?{diff:{start:n.start-t.text.length,end:n.end-t.text.length,text:n.text},id:o,path:r}:{diff:{start:n.start,end:n.end-t.text.length,text:n.text},id:o,path:r};case\\\"split_node\\\":return!Path.equals(t.path,r)||t.position>=n.end?{diff:n,id:o,path:Path.transform(r,t,{affinity:\\\"backward\\\"})}:t.position>n.start?{diff:{start:n.start,end:Math.min(t.position,n.end),text:n.text},id:o,path:r}:{diff:{start:n.start-t.position,end:n.end-t.position,text:n.text},id:o,path:Path.transform(r,t,{affinity:\\\"forward\\\"})};case\\\"merge_node\\\":return Path.equals(t.path,r)?{diff:{start:n.start+t.position,end:n.end+t.position,text:n.text},id:o,path:Path.transform(r,t)}:{diff:n,id:o,path:Path.transform(r,t)}}var a=Path.transform(r,t);return a?{diff:n,path:a,id:o}:null}function ownKeys$32(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$32(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$32(Object(r),!0).forEach(function(e){_defineProperty2(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$32(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var RESOLVE_DELAY=25,FLUSH_DELAY=200,debug=function debug2(){},isDataTransfer=e=>\\\"DataTransfer\\\"===(null==e?void 0:e.constructor.name);function createAndroidInputManager(e){var{editor:_,scheduleOnDOMSelectionChange:s,onDOMSelectionChange:c}=e,l=!1,t=null,v=null,u=null,a=0,y=!1,d=()=>{var e,t=EDITOR_TO_PENDING_SELECTION.get(_);EDITOR_TO_PENDING_SELECTION[\\\"delete\\\"](_),t&&(e=_[\\\"selection\\\"],!(t=normalizeRange(_,t))||e&&Range.equals(t,e)||Transforms.select(_,t))},n=()=>{if(v&&(clearTimeout(v),v=null),u&&(clearTimeout(u),u=null),f()||p()){l||(l=!0,setTimeout(()=>l=!1)),p()&&(l=\\\"action\\\");for(var r,e=_.selection&&Editor.rangeRef(_,_.selection,{affinity:\\\"forward\\\"}),t=(EDITOR_TO_USER_MARKS.set(_,_.marks),debug(\\\"flush\\\",EDITOR_TO_PENDING_ACTION.get(_),EDITOR_TO_PENDING_DIFFS.get(_)),f());r=null==(n=EDITOR_TO_PENDING_DIFFS.get(_))?void 0:n[0];){var n=EDITOR_TO_PENDING_INSERTION_MARKS.get(_),n=(void 0!==n&&(EDITOR_TO_PENDING_INSERTION_MARKS[\\\"delete\\\"](_),_.marks=n),n&&!1===y&&(y=null),targetRange(r));_.selection&&Range.equals(_.selection,n)||Transforms.select(_,n),r.diff.text?Editor.insertText(_,r.diff.text):Editor.deleteFragment(_),EDITOR_TO_PENDING_DIFFS.set(_,null==(n=EDITOR_TO_PENDING_DIFFS.get(_))?void 0:n.filter(e=>{var t=e[\\\"id\\\"];return t!==r.id})),verifyDiffState(_,r)||(t=!1,EDITOR_TO_PENDING_ACTION[\\\"delete\\\"](_),EDITOR_TO_USER_MARKS[\\\"delete\\\"](_),l=\\\"action\\\",EDITOR_TO_PENDING_SELECTION[\\\"delete\\\"](_),s.cancel(),c.cancel(),null!=e&&e.unref())}var o=null==e?void 0:e.unref();if(!o||EDITOR_TO_PENDING_SELECTION.get(_)||_.selection&&Range.equals(o,_.selection)||Transforms.select(_,o),p()){o=EDITOR_TO_PENDING_ACTION.get(_);if(EDITOR_TO_PENDING_ACTION[\\\"delete\\\"](_),o){if(o.at){var a=(Point.isPoint(o.at)?normalizePoint:normalizeRange)(_,o.at);if(!a)return;var i=Editor.range(_,a);_.selection&&Range.equals(_.selection,i)||Transforms.select(_,a)}o.run()}}else{t&&s(),s.flush(),c.flush(),d();i=EDITOR_TO_USER_MARKS.get(_);EDITOR_TO_USER_MARKS[\\\"delete\\\"](_),void 0!==i&&(_.marks=i,_.onChange())}}else d()},i=function(){var e=0\u003Carguments.length&&void 0!==arguments[0]&&arguments[0],t=EDITOR_TO_PLACEHOLDER_ELEMENT.get(_);t&&(f()||e?t.style.display=\\\"none\\\":t.style.removeProperty(\\\"display\\\"))},b=(t,e)=>{var r=null!=(r=EDITOR_TO_PENDING_DIFFS.get(_))?r:[],n=(EDITOR_TO_PENDING_DIFFS.set(_,r),Node2.leaf(_,t)),o=r.findIndex(e=>Path.equals(e.path,t));o\u003C0?(normalizeStringDiff(n.text,e)&&r.push({path:t,diff:e,id:a++}),i()):(n=mergeStringDiffs(n.text,r[o].diff,e))?r[o]=_objectSpread$32(_objectSpread$32({},r[o]),{},{diff:n}):(r.splice(o,1),i())},E=function(e){var t=(1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:{})[\\\"at\\\"];y=!1,EDITOR_TO_PENDING_SELECTION[\\\"delete\\\"](_),s.cancel(),c.cancel(),p()&&n(),EDITOR_TO_PENDING_ACTION.set(_,{at:t,run:e}),u=setTimeout(n)},p=()=>!!EDITOR_TO_PENDING_ACTION.get(_),f=()=>{var e;return!(null==(e=EDITOR_TO_PENDING_DIFFS.get(_))||!e.length)},T=e=>{EDITOR_TO_PENDING_SELECTION.set(_,e),v&&(clearTimeout(v),v=null);var t,r=_[\\\"selection\\\"];e&&(t=!r||!Path.equals(r.anchor.path,e.anchor.path),r=!r||!Path.equals(r.anchor.path.slice(0,-1),e.anchor.path.slice(0,-1)),(t&&y||r)&&(y=!1),t||f())&&(v=setTimeout(n,FLUSH_DELAY))},C=()=>{p()||(u=setTimeout(n))};return{flush:n,scheduleFlush:C,hasPendingDiffs:f,hasPendingAction:p,hasPendingChanges:()=>p()||f(),isFlushing:()=>l,handleUserSelect:T,handleCompositionEnd:e=>{t&&clearTimeout(t),t=setTimeout(()=>{IS_COMPOSING.set(_,!1),n()},RESOLVE_DELAY)},handleCompositionStart:e=>{IS_COMPOSING.set(_,!0),t&&(clearTimeout(t),t=null)},handleDOMBeforeInput:e=>{var t=(v&&(clearTimeout(v),v=null),e.inputType),r=null,n=e.dataTransfer||e.data||void 0,[o]=(!1!==y&&\\\"insertText\\\"!==t&&\\\"insertCompositionText\\\"!==t&&(y=!1),e.getTargetRanges());o&&(r=ReactEditor.toSlateRange(_,o,{exactMatch:!1,suppressThrow:!0}));var a=ReactEditor.getWindow(_).getSelection();if(r=null!=(a=r=!r&&a?ReactEditor.toSlateRange(_,o=a,{exactMatch:!1,suppressThrow:!0}):r)?a:_.selection){var i=!0;if(t.startsWith(\\\"delete\\\")){Range.isExpanded(r)&&(([a,c]=Range.edges(r)),Node2.leaf(_,a.path).text.length===a.offset)&&0===c.offset&&(a=Editor.next(_,{at:a.path,match:Text.isText}))&&Path.equals(a[1],c.path)&&(r={anchor:c,focus:c});var s=t.endsWith(\\\"Backward\\\")?\\\"backward\\\":\\\"forward\\\",[a,c]=Range.edges(r),[l,u]=Editor.leaf(_,a.path),d={text:\\\"\\\",start:a.offset,end:c.offset},p=EDITOR_TO_PENDING_DIFFS.get(_),p=null==p?void 0:p.find(e=>Path.equals(e.path,u)),p=p?[p.diff,d]:[d];if(0===applyStringDiff(l.text,...p).length&&(i=!1),Range.isExpanded(r))return i&&Path.equals(r.anchor.path,r.focus.path)?(d={path:r.anchor.path,offset:a.offset},l=Editor.range(_,d,d),T(l),b(r.anchor.path,{text:\\\"\\\",end:c.offset,start:a.offset})):E(()=>Editor.deleteFragment(_,{direction:s}),{at:r})}switch(t){case\\\"deleteByComposition\\\":case\\\"deleteByCut\\\":case\\\"deleteByDrag\\\":return E(()=>Editor.deleteFragment(_),{at:r});case\\\"deleteContent\\\":case\\\"deleteContentForward\\\":var f=r[\\\"anchor\\\"];if(i&&Range.isCollapsed(r)){var g=Node2.leaf(_,f.path);if(f.offset\u003Cg.text.length)return b(f.path,{text:\\\"\\\",start:f.offset,end:f.offset+1})}return E(()=>Editor.deleteForward(_),{at:r});case\\\"deleteContentBackward\\\":g=r[\\\"anchor\\\"],f=isDOMSelection(o)?o.isCollapsed:!(null==(f=o)||!f.collapsed);return i&&f&&Range.isCollapsed(r)&&0\u003Cg.offset?b(g.path,{text:\\\"\\\",start:g.offset-1,end:g.offset}):E(()=>Editor.deleteBackward(_),{at:r});case\\\"deleteEntireSoftLine\\\":return E(()=>{Editor.deleteBackward(_,{unit:\\\"line\\\"}),Editor.deleteForward(_,{unit:\\\"line\\\"})},{at:r});case\\\"deleteHardLineBackward\\\":return E(()=>Editor.deleteBackward(_,{unit:\\\"block\\\"}),{at:r});case\\\"deleteSoftLineBackward\\\":return E(()=>Editor.deleteBackward(_,{unit:\\\"line\\\"}),{at:r});case\\\"deleteHardLineForward\\\":return E(()=>Editor.deleteForward(_,{unit:\\\"block\\\"}),{at:r});case\\\"deleteSoftLineForward\\\":return E(()=>Editor.deleteForward(_,{unit:\\\"line\\\"}),{at:r});case\\\"deleteWordBackward\\\":return E(()=>Editor.deleteBackward(_,{unit:\\\"word\\\"}),{at:r});case\\\"deleteWordForward\\\":return E(()=>Editor.deleteForward(_,{unit:\\\"word\\\"}),{at:r});case\\\"insertLineBreak\\\":return E(()=>Editor.insertSoftBreak(_),{at:r});case\\\"insertParagraph\\\":return E(()=>Editor.insertBreak(_),{at:r});case\\\"insertCompositionText\\\":case\\\"deleteCompositionText\\\":case\\\"insertFromComposition\\\":case\\\"insertFromDrop\\\":case\\\"insertFromPaste\\\":case\\\"insertFromYank\\\":case\\\"insertReplacementText\\\":case\\\"insertText\\\":if(isDataTransfer(n))return E(()=>ReactEditor.insertData(_,n),{at:r});var m=null!=n?n:\\\"\\\";if(EDITOR_TO_PENDING_INSERTION_MARKS.get(_)&&(m=m.replace(\\\"\\\\ufeff\\\",\\\"\\\")),(m=\\\"insertText\\\"===t&&/.*\\\\n.*\\\\n$/.test(m)?m.slice(0,-1):m).includes(\\\"\\\\n\\\"))return E(()=>{var r=m.split(\\\"\\\\n\\\");r.forEach((e,t)=>{e&&Editor.insertText(_,e),t!==r.length-1&&Editor.insertSoftBreak(_)})},{at:r});if(Path.equals(r.anchor.path,r.focus.path)){var h,[f,g]=Range.edges(r),g={start:f.offset,end:g.offset,text:m};if(m&&y&&\\\"insertCompositionText\\\"===t?(h=y.start+y.text.search(/\\\\S|$/),g.start+g.text.search(/\\\\S|$/)===h+1&&g.end===y.start+y.text.length?(--g.start,y=null,C()):y=!1):y=\\\"insertText\\\"===t&&(null===y?g:!(!y||!Range.isCollapsed(r)||y.end+y.text.length!==f.offset)&&_objectSpread$32(_objectSpread$32({},y),{},{text:y.text+m})),i)return void b(f.path,g)}return E(()=>Editor.insertText(_,m),{at:r})}}},handleKeyDown:e=>{f()||(i(!0),setTimeout(i))},handleDomMutations:t=>{var e;f()||p()||t.some(e=>isTrackedMutation(_,e,t))&&null!=(e=EDITOR_TO_FORCE_RENDER.get(_))&&e()},handleInput:()=>{!p()&&f()||n()}}}function useIsMounted(){var e=(0,import_react6.useRef)(!1);return(0,import_react6.useEffect)(()=>(e.current=!0,()=>{e.current=!1}),[]),e.current}var useIsomorphicLayoutEffect2=CAN_USE_DOM?import_react6.useLayoutEffect:import_react6.useEffect;function useMutationObserver(e,t,r){var[n]=(0,import_react6.useState)(()=>new MutationObserver(t));useIsomorphicLayoutEffect2(()=>{n.takeRecords()}),(0,import_react6.useEffect)(()=>{if(e.current)return n.observe(e.current,r),()=>n.disconnect();throw new Error(\\\"Failed to attach MutationObserver, `node` is undefined\\\")},[n,e,r])}var _excluded$32=[\\\"node\\\"];function ownKeys$22(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$22(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$22(Object(r),!0).forEach(function(e){_defineProperty2(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$22(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var MUTATION_OBSERVER_CONFIG$1={subtree:!0,childList:!0,characterData:!0},useAndroidInputManager=IS_ANDROID?e=>{var t,r,n,o=e[\\\"node\\\"],a=_objectWithoutProperties2(e,_excluded$32);return IS_ANDROID?(t=useSlateStatic(),r=useIsMounted(),([n]=(0,import_react6.useState)(()=>createAndroidInputManager(_objectSpread$22({editor:t},a)))),useMutationObserver(o,n.handleDomMutations,MUTATION_OBSERVER_CONFIG$1),EDITOR_TO_SCHEDULE_FLUSH.set(t,n.scheduleFlush),r&&n.flush(),n):null}:()=>null,_excluded$22=[\\\"anchor\\\",\\\"focus\\\"],_excluded2$12=[\\\"anchor\\\",\\\"focus\\\"],shallowCompare=(t,r)=>Object.keys(t).length===Object.keys(r).length&&Object.keys(t).every(e=>r.hasOwnProperty(e)&&t[e]===r[e]),isDecorationFlagsEqual=(e,t)=>{var r=_objectWithoutProperties2(e,_excluded$22),n=_objectWithoutProperties2(t,_excluded2$12);return e[PLACEHOLDER_SYMBOL]===t[PLACEHOLDER_SYMBOL]&&shallowCompare(r,n)},isElementDecorationsEqual=(e,t)=>{if(e.length!==t.length)return!1;for(var r=0;r\u003Ce.length;r++){var n=e[r],o=t[r];if(!Range.equals(n,o)||!isDecorationFlagsEqual(n,o))return!1}return!0},isTextDecorationsEqual=(e,t)=>{if(e.length!==t.length)return!1;for(var r=0;r\u003Ce.length;r++){var n=e[r],o=t[r];if(n.anchor.offset!==o.anchor.offset||n.focus.offset!==o.focus.offset||!isDecorationFlagsEqual(n,o))return!1}return!0},String2=e=>{var{isLast:t,leaf:r,parent:n,text:o}=e,a=useSlateStatic(),i=ReactEditor.findPath(a,o),i=Path.parent(i),s=!0===r[MARK_PLACEHOLDER_SYMBOL];return a.isVoid(n)?import_react6[\\\"default\\\"].createElement(ZeroWidthString,{length:Node2.string(n).length}):\\\"\\\"!==r.text||n.children[n.children.length-1]!==o||a.isInline(n)||\\\"\\\"!==Editor.string(a,i)?\\\"\\\"===r.text?import_react6[\\\"default\\\"].createElement(ZeroWidthString,{isMarkPlaceholder:s}):t&&\\\"\\\\n\\\"===r.text.slice(-1)?import_react6[\\\"default\\\"].createElement(TextString,{isTrailing:!0,text:r.text}):import_react6[\\\"default\\\"].createElement(TextString,{text:r.text}):import_react6[\\\"default\\\"].createElement(ZeroWidthString,{isLineBreak:!0,isMarkPlaceholder:s})},TextString=e=>{var{text:t,isTrailing:r=!1}=e,n=(0,import_react6.useRef)(null),o=()=>\\\"\\\".concat(null!=t?t:\\\"\\\").concat(r?\\\"\\\\n\\\":\\\"\\\"),[a]=(0,import_react6.useState)(o);return useIsomorphicLayoutEffect2(()=>{var e=o();n.current&&n.current.textContent!==e&&(n.current.textContent=e)}),import_react6[\\\"default\\\"].createElement(MemoizedText$1,{ref:n},a)},MemoizedText$1=(0,import_react6.memo)((0,import_react6.forwardRef)((e,t)=>import_react6[\\\"default\\\"].createElement(\\\"span\\\",{\\\"data-slate-string\\\":!0,ref:t},e.children))),ZeroWidthString=e=>{var{length:t=0,isLineBreak:r=!1,isMarkPlaceholder:n=!1}=e,t={\\\"data-slate-zero-width\\\":r?\\\"n\\\":\\\"z\\\",\\\"data-slate-length\\\":t};return n&&(t[\\\"data-slate-mark-placeholder\\\"]=!0),import_react6[\\\"default\\\"].createElement(\\\"span\\\",Object.assign({},t),IS_ANDROID&&r?null:\\\"\\\\ufeff\\\",r?import_react6[\\\"default\\\"].createElement(\\\"br\\\",null):null)};function disconnectPlaceholderResizeObserver(e,t){e.current&&(e.current.disconnect(),t)&&(e.current=null)}function clearTimeoutRef(e){e.current&&(clearTimeout(e.current),e.current=null)}var Leaf=e=>{var{leaf:r,isLast:t,text:n,parent:o,renderPlaceholder:a,renderLeaf:i=e=>import_react6[\\\"default\\\"].createElement(DefaultLeaf,Object.assign({},e))}=e,s=useSlateStatic(),c=(0,import_react6.useRef)(null),l=(0,import_react6.useRef)(null),[u,d]=(0,import_react6.useState)(!1),p=(0,import_react6.useRef)(null),f=(0,import_react6.useCallback)(t=>{var e;disconnectPlaceholderResizeObserver(c,null==t),null==t?(EDITOR_TO_PLACEHOLDER_ELEMENT[\\\"delete\\\"](s),null!=(e=r.onPlaceholderResize)&&e.call(r,null)):(EDITOR_TO_PLACEHOLDER_ELEMENT.set(s,t),c.current||(e=window.ResizeObserver||ResizeObserver2,c.current=new e(()=>{var e;null!=(e=r.onPlaceholderResize)&&e.call(r,t)})),c.current.observe(t),l.current=t)},[l,r,s]),t=import_react6[\\\"default\\\"].createElement(String2,{isLast:t,leaf:r,parent:o,text:n}),g=r[PLACEHOLDER_SYMBOL];(0,import_react6.useEffect)(()=>(g?p.current||(p.current=setTimeout(()=>{d(!0),p.current=null},300)):(clearTimeoutRef(p),d(!1)),()=>clearTimeoutRef(p)),[g,d]),g&&u&&(o={children:r.placeholder,attributes:{\\\"data-slate-placeholder\\\":!0,style:{position:\\\"absolute\\\",top:0,pointerEvents:\\\"none\\\",width:\\\"100%\\\",maxWidth:\\\"100%\\\",display:\\\"block\\\",opacity:\\\"0.333\\\",userSelect:\\\"none\\\",textDecoration:\\\"none\\\",WebkitUserModify:IS_WEBKIT?\\\"inherit\\\":void 0},contentEditable:!1,ref:f}},t=import_react6[\\\"default\\\"].createElement(import_react6[\\\"default\\\"].Fragment,null,a(o),t));return i({attributes:{\\\"data-slate-leaf\\\":!0},children:t,leaf:r,text:n})},MemoizedLeaf=import_react6[\\\"default\\\"].memo(Leaf,(e,t)=>t.parent===e.parent&&t.isLast===e.isLast&&t.renderLeaf===e.renderLeaf&&t.renderPlaceholder===e.renderPlaceholder&&t.text===e.text&&Text.equals(t.leaf,e.leaf)&&t.leaf[PLACEHOLDER_SYMBOL]===e.leaf[PLACEHOLDER_SYMBOL]),DefaultLeaf=e=>{var{attributes:t,children:r}=e;return import_react6[\\\"default\\\"].createElement(\\\"span\\\",Object.assign({},t),r)},Text2=e=>{for(var{decorations:t,isLast:r,parent:n,renderPlaceholder:o,renderLeaf:a,text:i}=e,s=useSlateStatic(),c=(0,import_react6.useRef)(null),l=Text.decorations(i,t),u=ReactEditor.findKey(s,i),d=[],p=0;p\u003Cl.length;p++){var f=l[p];d.push(import_react6[\\\"default\\\"].createElement(MemoizedLeaf,{isLast:r&&p===l.length-1,key:\\\"\\\".concat(u.id,\\\"-\\\").concat(p),renderPlaceholder:o,leaf:f,text:i,parent:n,renderLeaf:a}))}t=(0,import_react6.useCallback)(e=>{var t=EDITOR_TO_KEY_TO_ELEMENT.get(s);e?(null!=t&&t.set(u,e),NODE_TO_ELEMENT.set(i,e),ELEMENT_TO_NODE.set(e,i)):(null!=t&&t[\\\"delete\\\"](u),NODE_TO_ELEMENT[\\\"delete\\\"](i),c.current&&ELEMENT_TO_NODE[\\\"delete\\\"](c.current)),c.current=e},[c,s,u,i]);return import_react6[\\\"default\\\"].createElement(\\\"span\\\",{\\\"data-slate-node\\\":\\\"text\\\",ref:t},d)},MemoizedText=import_react6[\\\"default\\\"].memo(Text2,(e,t)=>t.parent===e.parent&&t.isLast===e.isLast&&t.renderLeaf===e.renderLeaf&&t.renderPlaceholder===e.renderPlaceholder&&t.text===e.text&&isTextDecorationsEqual(t.decorations,e.decorations)),Element3=e=>{var{decorations:t,element:r,renderElement:n=e=>import_react6[\\\"default\\\"].createElement(DefaultElement,Object.assign({},e)),renderPlaceholder:o,renderLeaf:a,selection:i}=e,s=useSlateStatic(),c=useReadOnly(),l=s.isInline(r),u=ReactEditor.findKey(s,r),d=(0,import_react6.useCallback)(e=>{var t=EDITOR_TO_KEY_TO_ELEMENT.get(s);e?(null!=t&&t.set(u,e),NODE_TO_ELEMENT.set(r,e),ELEMENT_TO_NODE.set(e,r)):(null!=t&&t[\\\"delete\\\"](u),NODE_TO_ELEMENT[\\\"delete\\\"](r))},[s,u,r]),t=useChildren({decorations:t,node:r,renderElement:n,renderPlaceholder:o,renderLeaf:a,selection:i}),a={\\\"data-slate-node\\\":\\\"element\\\",ref:d};return l&&(a[\\\"data-slate-inline\\\"]=!0),!l&&Editor.hasInlines(s,r)&&(i=Node2.string(r),\\\"rtl\\\"===(d=(0,import_direction[\\\"default\\\"])(i)))&&(a.dir=d),Editor.isVoid(s,r)&&(a[\\\"data-slate-void\\\"]=!0,!c&&l&&(a.contentEditable=!1),i=l?\\\"span\\\":\\\"div\\\",([[d]]=Node2.texts(r)),t=import_react6[\\\"default\\\"].createElement(i,{\\\"data-slate-spacer\\\":!0,style:{height:\\\"0\\\",color:\\\"transparent\\\",outline:\\\"none\\\",position:\\\"absolute\\\"}},import_react6[\\\"default\\\"].createElement(MemoizedText,{renderPlaceholder:o,decorations:[],isLast:!1,parent:r,text:d})),NODE_TO_INDEX.set(d,0),NODE_TO_PARENT.set(d,r)),n({attributes:a,children:t,element:r})},MemoizedElement=import_react6[\\\"default\\\"].memo(Element3,(e,t)=>e.element===t.element&&e.renderElement===t.renderElement&&e.renderLeaf===t.renderLeaf&&e.renderPlaceholder===t.renderPlaceholder&&isElementDecorationsEqual(e.decorations,t.decorations)&&(e.selection===t.selection||!!e.selection&&!!t.selection&&Range.equals(e.selection,t.selection))),DefaultElement=e=>{var{attributes:t,children:r,element:n}=e,n=useSlateStatic().isInline(n)?\\\"span\\\":\\\"div\\\";return import_react6[\\\"default\\\"].createElement(n,Object.assign({},t,{style:{position:\\\"relative\\\"}}),r)},DecorateContext=(0,import_react6.createContext)(()=>[]),useDecorate=()=>(0,import_react6.useContext)(DecorateContext),SelectedContext=(0,import_react6.createContext)(!1),useSelected=()=>(0,import_react6.useContext)(SelectedContext),useChildren=e=>{for(var{decorations:t,node:r,renderElement:n,renderPlaceholder:o,renderLeaf:a,selection:i}=e,s=useDecorate(),c=useSlateStatic(),l=ReactEditor.findPath(c,r),u=[],d=Element2.isElement(r)&&!c.isInline(r)&&Editor.hasInlines(c,r),p=0;p\u003Cr.children.length;p++){var f,g=l.concat(p),m=r.children[p],h=ReactEditor.findKey(c,m),_=Editor.range(c,g),v=i&&Range.intersection(_,i),y=s([m,g]);for(f of t){var b=Range.intersection(f,_);b&&y.push(b)}Element2.isElement(m)?u.push(import_react6[\\\"default\\\"].createElement(SelectedContext.Provider,{key:\\\"provider-\\\".concat(h.id),value:!!v},import_react6[\\\"default\\\"].createElement(MemoizedElement,{decorations:y,element:m,key:h.id,renderElement:n,renderPlaceholder:o,renderLeaf:a,selection:v}))):u.push(import_react6[\\\"default\\\"].createElement(MemoizedText,{decorations:y,key:h.id,isLast:d&&p===r.children.length-1,parent:r,renderPlaceholder:o,renderLeaf:a,text:m})),NODE_TO_INDEX.set(m,p),NODE_TO_PARENT.set(m,r)}return u},ReadOnlyContext=(0,import_react6.createContext)(!1),useReadOnly=()=>(0,import_react6.useContext)(ReadOnlyContext),SlateContext=(0,import_react6.createContext)(null),useSlate=()=>{var e=(0,import_react6.useContext)(SlateContext);if(e)return e=e[\\\"editor\\\"],e;throw new Error(\\\"The `useSlate` hook must be used inside the \u003CSlate> component's context.\\\")};function useTrackUserInput(){var t=useSlateStatic(),r=(0,import_react6.useRef)(!1),n=(0,import_react6.useRef)(0),e=(0,import_react6.useCallback)(()=>{var e;r.current||(r.current=!0,(e=ReactEditor.getWindow(t)).cancelAnimationFrame(n.current),n.current=e.requestAnimationFrame(()=>{r.current=!1}))},[t]);return(0,import_react6.useEffect)(()=>()=>cancelAnimationFrame(n.current),[]),{receivedUserInput:r,onUserInput:e}}var TRIPLE_CLICK=3,HOTKEYS={bold:\\\"mod+b\\\",compose:[\\\"down\\\",\\\"left\\\",\\\"right\\\",\\\"up\\\",\\\"backspace\\\",\\\"enter\\\"],moveBackward:\\\"left\\\",moveForward:\\\"right\\\",moveWordBackward:\\\"ctrl+left\\\",moveWordForward:\\\"ctrl+right\\\",deleteBackward:\\\"shift?+backspace\\\",deleteForward:\\\"shift?+delete\\\",extendBackward:\\\"shift+left\\\",extendForward:\\\"shift+right\\\",italic:\\\"mod+i\\\",insertSoftBreak:\\\"shift+enter\\\",splitBlock:\\\"enter\\\",undo:\\\"mod+z\\\"},APPLE_HOTKEYS={moveLineBackward:\\\"opt+up\\\",moveLineForward:\\\"opt+down\\\",moveWordBackward:\\\"opt+left\\\",moveWordForward:\\\"opt+right\\\",deleteBackward:[\\\"ctrl+backspace\\\",\\\"ctrl+h\\\"],deleteForward:[\\\"ctrl+delete\\\",\\\"ctrl+d\\\"],deleteLineBackward:\\\"cmd+shift?+backspace\\\",deleteLineForward:[\\\"cmd+shift?+delete\\\",\\\"ctrl+k\\\"],deleteWordBackward:\\\"opt+shift?+backspace\\\",deleteWordForward:\\\"opt+shift?+delete\\\",extendLineBackward:\\\"opt+shift+up\\\",extendLineForward:\\\"opt+shift+down\\\",redo:\\\"cmd+shift+z\\\",transposeCharacter:\\\"ctrl+t\\\"},WINDOWS_HOTKEYS={deleteWordBackward:\\\"ctrl+shift?+backspace\\\",deleteWordForward:\\\"ctrl+shift?+delete\\\",redo:[\\\"ctrl+y\\\",\\\"ctrl+shift+z\\\"]},create2=e=>{var t=HOTKEYS[e],r=APPLE_HOTKEYS[e],n=WINDOWS_HOTKEYS[e],o=t&&(0,import_is_hotkey.isHotkey)(t),a=r&&(0,import_is_hotkey.isHotkey)(r),i=n&&(0,import_is_hotkey.isHotkey)(n);return e=>!(!o||!o(e))||!!(IS_APPLE2&&a&&a(e))||!(IS_APPLE2||!i||!i(e))},Hotkeys={isBold:create2(\\\"bold\\\"),isCompose:create2(\\\"compose\\\"),isMoveBackward:create2(\\\"moveBackward\\\"),isMoveForward:create2(\\\"moveForward\\\"),isDeleteBackward:create2(\\\"deleteBackward\\\"),isDeleteForward:create2(\\\"deleteForward\\\"),isDeleteLineBackward:create2(\\\"deleteLineBackward\\\"),isDeleteLineForward:create2(\\\"deleteLineForward\\\"),isDeleteWordBackward:create2(\\\"deleteWordBackward\\\"),isDeleteWordForward:create2(\\\"deleteWordForward\\\"),isExtendBackward:create2(\\\"extendBackward\\\"),isExtendForward:create2(\\\"extendForward\\\"),isExtendLineBackward:create2(\\\"extendLineBackward\\\"),isExtendLineForward:create2(\\\"extendLineForward\\\"),isItalic:create2(\\\"italic\\\"),isMoveLineBackward:create2(\\\"moveLineBackward\\\"),isMoveLineForward:create2(\\\"moveLineForward\\\"),isMoveWordBackward:create2(\\\"moveWordBackward\\\"),isMoveWordForward:create2(\\\"moveWordForward\\\"),isRedo:create2(\\\"redo\\\"),isSoftBreak:create2(\\\"insertSoftBreak\\\"),isSplitBlock:create2(\\\"splitBlock\\\"),isTransposeCharacter:create2(\\\"transposeCharacter\\\"),isUndo:create2(\\\"undo\\\")},createRestoreDomManager=(r,n)=>{var o=[],e=()=>{o=[]};return{registerMutations:t=>{var e;n.current&&(e=t.filter(e=>isTrackedMutation(r,e,t)),o.push(...e))},restoreDOM:function(){0\u003Co.length&&(o.reverse().forEach(t=>{\\\"characterData\\\"!==t.type&&(t.removedNodes.forEach(e=>{t.target.insertBefore(e,t.nextSibling)}),t.addedNodes.forEach(e=>{t.target.removeChild(e)}))}),e())},clear:e}},MUTATION_OBSERVER_CONFIG={subtree:!0,childList:!0,characterData:!0,characterDataOldValue:!0},RestoreDOMComponent=class extends import_react6.Component{constructor(){super(...arguments),this.context=null,this.manager=null,this.mutationObserver=null}observe(){var e,t=this.props[\\\"node\\\"];if(!t.current)throw new Error(\\\"Failed to attach MutationObserver, `node` is undefined\\\");null!=(e=this.mutationObserver)&&e.observe(t.current,MUTATION_OBSERVER_CONFIG)}componentDidMount(){var e=this.props[\\\"receivedUserInput\\\"],t=this.context;this.manager=createRestoreDomManager(t,e),this.mutationObserver=new MutationObserver(this.manager.registerMutations),this.observe()}getSnapshotBeforeUpdate(){var e,t=null==(t=this.mutationObserver)?void 0:t.takeRecords();return null!=t&&t.length&&null!=(e=this.manager)&&e.registerMutations(t),null!=(t=this.mutationObserver)&&t.disconnect(),null!=(e=this.manager)&&e.restoreDOM(),null}componentDidUpdate(){var e;null!=(e=this.manager)&&e.clear(),this.observe()}componentWillUnmount(){var e;null!=(e=this.mutationObserver)&&e.disconnect()}render(){return this.props.children}},RestoreDOM=(RestoreDOMComponent.contextType=EditorContext,IS_ANDROID?RestoreDOMComponent:e=>{var t=e[\\\"children\\\"];return import_react6[\\\"default\\\"].createElement(import_react6[\\\"default\\\"].Fragment,null,t)}),_excluded$12=[\\\"autoFocus\\\",\\\"decorate\\\",\\\"onDOMBeforeInput\\\",\\\"placeholder\\\",\\\"readOnly\\\",\\\"renderElement\\\",\\\"renderLeaf\\\",\\\"renderPlaceholder\\\",\\\"scrollSelectionIntoView\\\",\\\"style\\\",\\\"as\\\",\\\"disableDefaultStyles\\\"],_excluded22=[\\\"text\\\"];function ownKeys$12(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$12(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$12(Object(r),!0).forEach(function(e){_defineProperty2(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$12(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var Children=e=>import_react6[\\\"default\\\"].createElement(import_react6[\\\"default\\\"].Fragment,null,useChildren(e)),Editable=e=>{var t,r=(0,import_react6.useCallback)(e=>import_react6[\\\"default\\\"].createElement(DefaultPlaceholder,Object.assign({},e)),[]),{autoFocus:n,decorate:o=defaultDecorate,onDOMBeforeInput:d,placeholder:a,readOnly:p=!1,renderElement:i,renderLeaf:s,renderPlaceholder:r=r,scrollSelectionIntoView:c=defaultScrollSelectionIntoView,style:l={},as:u=\\\"div\\\",disableDefaultStyles:f=!1}=e,g=_objectWithoutProperties2(e,_excluded$12),m=useSlate(),[h,_]=(0,import_react6.useState)(!1),v=(0,import_react6.useRef)(null),y=(0,import_react6.useRef)([]),[b,E]=(0,import_react6.useState)(),{onUserInput:T,receivedUserInput:C}=useTrackUserInput(),[,w]=(0,import_react6.useReducer)(e=>e+1,0),S=(EDITOR_TO_FORCE_RENDER.set(m,w),IS_READ_ONLY.set(m,p),(0,import_react6.useMemo)(()=>({isDraggingInternally:!1,isUpdatingSelection:!1,latestElement:null,hasMarkPlaceholder:!1}),[])),x=((0,import_react6.useEffect)(()=>{v.current&&n&&v.current.focus()},[n]),(0,import_react6.useRef)()),D=(0,import_react6.useMemo)(()=>(0,import_throttle[\\\"default\\\"])(()=>{var e=x.current;if((IS_ANDROID||!ReactEditor.isComposing(m))&&(!S.isUpdatingSelection||null!=e&&e.isFlushing())&&!S.isDraggingInternally){var t=ReactEditor.findDocumentOrShadowRoot(m),r=t[\\\"activeElement\\\"],n=ReactEditor.toDOMNode(m,m),t=t.getSelection();if(r===n?(S.latestElement=r,IS_FOCUSED.set(m,!0)):IS_FOCUSED[\\\"delete\\\"](m),!t)return Transforms.deselect(m);var{anchorNode:n,focusNode:r}=t,n=ReactEditor.hasEditableTarget(m,n)||ReactEditor.isTargetInsideNonReadonlyVoid(m,n),r=ReactEditor.hasEditableTarget(m,r)||ReactEditor.isTargetInsideNonReadonlyVoid(m,r);n&&r&&(t=ReactEditor.toSlateRange(m,t,{exactMatch:!1,suppressThrow:!0}))&&(ReactEditor.isComposing(m)||null!=e&&e.hasPendingChanges()||null!=e&&e.isFlushing()?null!=e&&e.handleUserSelect(t):Transforms.select(m,t)),!p||n&&r||Transforms.deselect(m)}},100),[m,p,S]),$=(0,import_react6.useMemo)(()=>(0,import_debounce[\\\"default\\\"])(D,0),[D]),A=(x.current=useAndroidInputManager({node:v,onDOMSelectionChange:D,scheduleOnDOMSelectionChange:$}),useIsomorphicLayoutEffect2(()=>{var e,i=(v.current&&(e=getDefaultView(v.current))?(EDITOR_TO_WINDOW.set(m,e),EDITOR_TO_ELEMENT.set(m,v.current),NODE_TO_ELEMENT.set(m,v.current),ELEMENT_TO_NODE.set(v.current,m)):NODE_TO_ELEMENT[\\\"delete\\\"](m),m)[\\\"selection\\\"],s=ReactEditor.findDocumentOrShadowRoot(m).getSelection();if(s&&ReactEditor.isFocused(m)&&(null==(e=x.current)||!e.hasPendingAction())){var t,r,n=e=>{var t=\\\"None\\\"!==s.type;if(i||t){var r,n=s.focusNode,o=(r=IS_FIREFOX&&1\u003Cs.rangeCount?(o=s.getRangeAt(0),r=s.getRangeAt(s.rangeCount-1),o.startContainer===n?r.endContainer:o.startContainer):s.anchorNode,EDITOR_TO_ELEMENT.get(m)),a=!1;if(o.contains(r)&&o.contains(n)&&(a=!0),t&&a&&i&&!e){n=ReactEditor.toSlateRange(m,s,{exactMatch:!0,suppressThrow:!0});if(n&&Range.equals(n,i)){if(!S.hasMarkPlaceholder)return;if(null!=(o=r)&&null!=(t=o.parentElement)&&t.hasAttribute(\\\"data-slate-mark-placeholder\\\"))return}}if(!i||ReactEditor.hasRange(m,i))return S.isUpdatingSelection=!0,(a=i&&ReactEditor.toDOMRange(m,i))?(ReactEditor.isComposing(m)&&!IS_ANDROID?s.collapseToEnd():Range.isBackward(i)?s.setBaseAndExtent(a.endContainer,a.endOffset,a.startContainer,a.startOffset):s.setBaseAndExtent(a.startContainer,a.startOffset,a.endContainer,a.endOffset),c(m,a)):s.removeAllRanges(),a;m.selection=ReactEditor.toSlateRange(m,s,{exactMatch:!1,suppressThrow:!0})}},o=(s.rangeCount\u003C=1&&n(),\\\"action\\\"===(null==(e=x.current)?void 0:e.isFlushing()));if(IS_ANDROID&&o)return t=null,r=requestAnimationFrame(()=>{var e;o&&((e=e=>{try{ReactEditor.toDOMNode(m,m).focus(),n(e)}catch(t){}})(),t=setTimeout(()=>{e(!0),S.isUpdatingSelection=!1}))}),()=>{cancelAnimationFrame(r),t&&clearTimeout(t)};setTimeout(()=>{S.isUpdatingSelection=!1})}}),(0,import_react6.useCallback)(e=>{if(T(),!p&&ReactEditor.hasEditableTarget(m,e.target)&&!isDOMEventHandled(e,d)){if(x.current)return x.current.handleDOMBeforeInput(e);$.flush(),D.flush();var t=m[\\\"selection\\\"],r=e[\\\"inputType\\\"],n=e.dataTransfer||e.data||void 0,o=\\\"insertCompositionText\\\"===r||\\\"deleteCompositionText\\\"===r;if(!o||!ReactEditor.isComposing(m)){var a,i,s,c,l=!1;if(\\\"insertText\\\"===r&&t&&Range.isCollapsed(t)&&e.data&&1===e.data.length&&/[a-z ]/i.test(e.data)&&0!==t.anchor.offset&&(l=!0,c=(m.marks&&(l=!1),t)[\\\"anchor\\\"],([u,a]=ReactEditor.toDOMPoint(m,c)),s=null==(s=u.parentElement)?void 0:s.closest(\\\"a\\\"),i=ReactEditor.getWindow(m),l=!(l&&s&&ReactEditor.hasDOMNode(m,s)&&(s=null==i?void 0:i.document.createTreeWalker(s,NodeFilter.SHOW_TEXT).lastChild())===u&&(null==(s=s.textContent)?void 0:s.length)===a)&&l)&&u.parentElement&&\\\"pre\\\"===(null==i||null==(s=i.getComputedStyle(u.parentElement))?void 0:s.whiteSpace)&&(a=Editor.above(m,{at:c.path,match:e=>Element2.isElement(e)&&Editor.isBlock(m,e)}))&&Node2.string(a[0]).includes(\\\"\\\\t\\\")&&(l=!1),r.startsWith(\\\"delete\\\")&&!r.startsWith(\\\"deleteBy\\\")||(([u]=e.getTargetRanges()),u&&(i=ReactEditor.toSlateRange(m,u,{exactMatch:!1,suppressThrow:!1}),t&&Range.equals(t,i)||(l=!1,s=!o&&m.selection&&Editor.rangeRef(m,m.selection),Transforms.select(m,i),s&&EDITOR_TO_USER_SELECTION.set(m,s)))),!o)if(l||e.preventDefault(),t&&Range.isExpanded(t)&&r.startsWith(\\\"delete\\\"))c=r.endsWith(\\\"Backward\\\")?\\\"backward\\\":\\\"forward\\\",Editor.deleteFragment(m,{direction:c});else{switch(r){case\\\"deleteByComposition\\\":case\\\"deleteByCut\\\":case\\\"deleteByDrag\\\":Editor.deleteFragment(m);break;case\\\"deleteContent\\\":case\\\"deleteContentForward\\\":Editor.deleteForward(m);break;case\\\"deleteContentBackward\\\":Editor.deleteBackward(m);break;case\\\"deleteEntireSoftLine\\\":Editor.deleteBackward(m,{unit:\\\"line\\\"}),Editor.deleteForward(m,{unit:\\\"line\\\"});break;case\\\"deleteHardLineBackward\\\":Editor.deleteBackward(m,{unit:\\\"block\\\"});break;case\\\"deleteSoftLineBackward\\\":Editor.deleteBackward(m,{unit:\\\"line\\\"});break;case\\\"deleteHardLineForward\\\":Editor.deleteForward(m,{unit:\\\"block\\\"});break;case\\\"deleteSoftLineForward\\\":Editor.deleteForward(m,{unit:\\\"line\\\"});break;case\\\"deleteWordBackward\\\":Editor.deleteBackward(m,{unit:\\\"word\\\"});break;case\\\"deleteWordForward\\\":Editor.deleteForward(m,{unit:\\\"word\\\"});break;case\\\"insertLineBreak\\\":Editor.insertSoftBreak(m);break;case\\\"insertParagraph\\\":Editor.insertBreak(m);break;case\\\"insertFromComposition\\\":case\\\"insertFromDrop\\\":case\\\"insertFromPaste\\\":case\\\"insertFromYank\\\":case\\\"insertReplacementText\\\":case\\\"insertText\\\":\\\"insertFromComposition\\\"===r&&ReactEditor.isComposing(m)&&(_(!1),IS_COMPOSING.set(m,!1)),\\\"DataTransfer\\\"===(null==n?void 0:n.constructor.name)?ReactEditor.insertData(m,n):\\\"string\\\"==typeof n&&(l?y.current.push(()=>Editor.insertText(m,n)):Editor.insertText(m,n))}var u=null==(a=EDITOR_TO_USER_SELECTION.get(m))?void 0:a.unref();EDITOR_TO_USER_SELECTION[\\\"delete\\\"](m),!u||m.selection&&Range.equals(m.selection,u)||Transforms.select(m,u)}}}},[m,D,T,d,p,$])),w=(0,import_react6.useCallback)(e=>{null==e?(D.cancel(),$.cancel(),EDITOR_TO_ELEMENT[\\\"delete\\\"](m),NODE_TO_ELEMENT[\\\"delete\\\"](m),v.current&&HAS_BEFORE_INPUT_SUPPORT&&v.current.removeEventListener(\\\"beforeinput\\\",A)):HAS_BEFORE_INPUT_SUPPORT&&e.addEventListener(\\\"beforeinput\\\",A),v.current=e},[D,$,m,A]),O=(useIsomorphicLayoutEffect2(()=>{var e=ReactEditor.getWindow(m);return e.document.addEventListener(\\\"selectionchange\\\",$),()=>{e.document.removeEventListener(\\\"selectionchange\\\",$)}},[$]),o([m,[]])),P=a&&1===m.children.length&&1===Array.from(Node2.texts(m)).length&&\\\"\\\"===Node2.string(m)&&!h,h=(0,import_react6.useCallback)(e=>{var t;E(!e||!P||null==(t=e.getBoundingClientRect())?void 0:t.height)},[P]),I=(P&&(t=Editor.start(m,[]),O.push({[PLACEHOLDER_SYMBOL]:!0,placeholder:a,onPlaceholderResize:h,anchor:t,focus:t})),m)[\\\"marks\\\"];return S.hasMarkPlaceholder=!1,m.selection&&Range.isCollapsed(m.selection)&&I&&(a=m.selection[\\\"anchor\\\"],t=_objectWithoutProperties2(h=Node2.leaf(m,a.path),_excluded22),Text.equals(h,I,{loose:!0})||(S.hasMarkPlaceholder=!0,h=Object.fromEntries(Object.keys(t).map(e=>[e,null])),O.push(_objectSpread$12(_objectSpread$12(_objectSpread$12({[MARK_PLACEHOLDER_SYMBOL]:!0},h),I),{},{anchor:a,focus:a})))),(0,import_react6.useEffect)(()=>{setTimeout(()=>{var e=m[\\\"selection\\\"];if(e){e=e[\\\"anchor\\\"],e=Node2.leaf(m,e.path);if(I&&!Text.equals(e,I,{loose:!0}))return void EDITOR_TO_PENDING_INSERTION_MARKS.set(m,I)}EDITOR_TO_PENDING_INSERTION_MARKS[\\\"delete\\\"](m)})}),import_react6[\\\"default\\\"].createElement(ReadOnlyContext.Provider,{value:p},import_react6[\\\"default\\\"].createElement(DecorateContext.Provider,{value:o},import_react6[\\\"default\\\"].createElement(RestoreDOM,{node:v,receivedUserInput:C},import_react6[\\\"default\\\"].createElement(u,Object.assign({role:p?void 0:\\\"textbox\\\",\\\"aria-multiline\\\":!p||void 0},g,{spellCheck:!(!HAS_BEFORE_INPUT_SUPPORT&&CAN_USE_DOM)&&g.spellCheck,autoCorrect:HAS_BEFORE_INPUT_SUPPORT||!CAN_USE_DOM?g.autoCorrect:\\\"false\\\",autoCapitalize:HAS_BEFORE_INPUT_SUPPORT||!CAN_USE_DOM?g.autoCapitalize:\\\"false\\\",\\\"data-slate-editor\\\":!0,\\\"data-slate-node\\\":\\\"value\\\",contentEditable:!p,zindex:-1,suppressContentEditableWarning:!0,ref:w,style:_objectSpread$12(_objectSpread$12({},f?{}:_objectSpread$12({position:\\\"relative\\\",whiteSpace:\\\"pre-wrap\\\",wordWrap:\\\"break-word\\\"},b?{minHeight:b}:{})),l),onBeforeInput:(0,import_react6.useCallback)(e=>{var t;HAS_BEFORE_INPUT_SUPPORT||p||isEventHandled(e,g.onBeforeInput)||!ReactEditor.hasSelectableTarget(m,e.target)||(e.preventDefault(),ReactEditor.isComposing(m))||(t=e.data,Editor.insertText(m,t))},[g.onBeforeInput,m,p]),onInput:(0,import_react6.useCallback)(e=>{if(!isEventHandled(e,g.onInput))if(x.current)x.current.handleInput();else{for(var t of y.current)t();y.current=[]}},[g.onInput]),onBlur:(0,import_react6.useCallback)(e=>{if(!p&&!S.isUpdatingSelection&&ReactEditor.hasSelectableTarget(m,e.target)&&!isEventHandled(e,g.onBlur)){var t=ReactEditor.findDocumentOrShadowRoot(m);if(S.latestElement!==t.activeElement){var r=e[\\\"relatedTarget\\\"],n=ReactEditor.toDOMNode(m,m);if(!(r===n||isDOMElement(r)&&r.hasAttribute(\\\"data-slate-spacer\\\"))){if(null!=r&&isDOMNode(r)&&ReactEditor.hasDOMNode(m,r)){n=ReactEditor.toSlateNode(m,r);if(Element2.isElement(n)&&!m.isVoid(n))return}IS_WEBKIT&&null!=(r=t.getSelection())&&r.removeAllRanges(),IS_FOCUSED[\\\"delete\\\"](m)}}}},[p,S.isUpdatingSelection,S.latestElement,m,g.onBlur]),onClick:(0,import_react6.useCallback)(e=>{var t,r,n;ReactEditor.hasTarget(m,e.target)&&!isEventHandled(e,g.onClick)&&isDOMNode(e.target)&&(r=ReactEditor.toSlateNode(m,e.target),n=ReactEditor.findPath(m,r),Editor.hasPath(m,n))&&Node2.get(m,n)===r&&(e.detail===TRIPLE_CLICK&&1\u003C=n.length?(t=n,Element2.isElement(r)&&Editor.isBlock(m,r)||(t=null!=(r=null==(r=Editor.above(m,{match:e=>Element2.isElement(e)&&Editor.isBlock(m,e),at:n}))?void 0:r[1])?r:n.slice(0,1)),r=Editor.range(m,t),Transforms.select(m,r)):p||(t=Editor.start(m,n),r=Editor.end(m,n),n=Editor[\\\"void\\\"](m,{at:t}),r=Editor[\\\"void\\\"](m,{at:r}),n&&r&&Path.equals(n[1],r[1])&&(n=Editor.range(m,t),Transforms.select(m,n))))},[m,g.onClick,p]),onCompositionEnd:(0,import_react6.useCallback)(e=>{var t;ReactEditor.hasSelectableTarget(m,e.target)&&(ReactEditor.isComposing(m)&&(_(!1),IS_COMPOSING.set(m,!1)),null!=(t=x.current)&&t.handleCompositionEnd(e),isEventHandled(e,g.onCompositionEnd)||IS_ANDROID||IS_WEBKIT||IS_FIREFOX_LEGACY||IS_IOS||IS_WECHATBROWSER||IS_UC_MOBILE||!e.data||(t=EDITOR_TO_PENDING_INSERTION_MARKS.get(m),EDITOR_TO_PENDING_INSERTION_MARKS[\\\"delete\\\"](m),void 0!==t&&(EDITOR_TO_USER_MARKS.set(m,m.marks),m.marks=t),Editor.insertText(m,e.data),t=EDITOR_TO_USER_MARKS.get(m),EDITOR_TO_USER_MARKS[\\\"delete\\\"](m),void 0!==t&&(m.marks=t)))},[g.onCompositionEnd,m]),onCompositionUpdate:(0,import_react6.useCallback)(e=>{!ReactEditor.hasSelectableTarget(m,e.target)||isEventHandled(e,g.onCompositionUpdate)||ReactEditor.isComposing(m)||(_(!0),IS_COMPOSING.set(m,!0))},[g.onCompositionUpdate,m]),onCompositionStart:(0,import_react6.useCallback)(e=>{var t,r;ReactEditor.hasSelectableTarget(m,e.target)&&(null!=(r=x.current)&&r.handleCompositionStart(e),isEventHandled(e,g.onCompositionStart)||IS_ANDROID||(_(!0),r=m[\\\"selection\\\"],r&&(Range.isExpanded(r)?Editor.deleteFragment(m):(t=Editor.above(m,{match:e=>Element2.isElement(e)&&Editor.isInline(m,e),mode:\\\"highest\\\"}))&&(([,t]=t),Editor.isEnd(m,r.anchor,t))&&(r=Editor.after(m,t),Transforms.setSelection(m,{anchor:r,focus:r})))))},[g.onCompositionStart,m]),onCopy:(0,import_react6.useCallback)(e=>{!ReactEditor.hasSelectableTarget(m,e.target)||isEventHandled(e,g.onCopy)||isDOMEventTargetInput(e)||(e.preventDefault(),ReactEditor.setFragmentData(m,e.clipboardData,\\\"copy\\\"))},[g.onCopy,m]),onCut:(0,import_react6.useCallback)(e=>{var t;p||!ReactEditor.hasSelectableTarget(m,e.target)||isEventHandled(e,g.onCut)||isDOMEventTargetInput(e)||(e.preventDefault(),ReactEditor.setFragmentData(m,e.clipboardData,\\\"cut\\\"),t=m[\\\"selection\\\"],t&&(Range.isExpanded(t)?Editor.deleteFragment(m):(t=Node2.parent(m,t.anchor.path),Editor.isVoid(m,t)&&Transforms[\\\"delete\\\"](m))))},[p,m,g.onCut]),onDragOver:(0,import_react6.useCallback)(e=>{var t;ReactEditor.hasTarget(m,e.target)&&!isEventHandled(e,g.onDragOver)&&(t=ReactEditor.toSlateNode(m,e.target),Element2.isElement(t))&&Editor.isVoid(m,t)&&e.preventDefault()},[g.onDragOver,m]),onDragStart:(0,import_react6.useCallback)(e=>{var t,r;p||!ReactEditor.hasTarget(m,e.target)||isEventHandled(e,g.onDragStart)||(r=ReactEditor.toSlateNode(m,e.target),t=ReactEditor.findPath(m,r),(Element2.isElement(r)&&Editor.isVoid(m,r)||Editor[\\\"void\\\"](m,{at:t,voids:!0}))&&(r=Editor.range(m,t),Transforms.select(m,r)),S.isDraggingInternally=!0,ReactEditor.setFragmentData(m,e.dataTransfer,\\\"drag\\\"))},[p,m,g.onDragStart,S]),onDrop:(0,import_react6.useCallback)(e=>{var t,r,n;p||!ReactEditor.hasTarget(m,e.target)||isEventHandled(e,g.onDrop)||(e.preventDefault(),t=m.selection,r=ReactEditor.findEventRange(m,e),n=e.dataTransfer,Transforms.select(m,r),S.isDraggingInternally&&t&&!Range.equals(t,r)&&!Editor[\\\"void\\\"](m,{at:r,voids:!0})&&Transforms[\\\"delete\\\"](m,{at:t}),ReactEditor.insertData(m,n),ReactEditor.isFocused(m))||ReactEditor.focus(m),S.isDraggingInternally=!1},[p,m,g.onDrop,S]),onDragEnd:(0,import_react6.useCallback)(e=>{!p&&S.isDraggingInternally&&g.onDragEnd&&ReactEditor.hasTarget(m,e.target)&&g.onDragEnd(e),S.isDraggingInternally=!1},[p,S,g,m]),onFocus:(0,import_react6.useCallback)(e=>{var t,r;p||S.isUpdatingSelection||!ReactEditor.hasEditableTarget(m,e.target)||isEventHandled(e,g.onFocus)||(t=ReactEditor.toDOMNode(m,m),r=ReactEditor.findDocumentOrShadowRoot(m),S.latestElement=r.activeElement,IS_FIREFOX&&e.target!==t?t.focus():IS_FOCUSED.set(m,!0))},[p,S,m,g.onFocus]),onKeyDown:(0,import_react6.useCallback)(e=>{var t,r,n,o;!p&&ReactEditor.hasEditableTarget(m,e.target)&&(t=(null!=(t=x.current)&&t.handleKeyDown(e),e)[\\\"nativeEvent\\\"],ReactEditor.isComposing(m)&&!1===t.isComposing&&(IS_COMPOSING.set(m,!1),_(!1)),isEventHandled(e,g.onKeyDown)||ReactEditor.isComposing(m)||(r=m[\\\"selection\\\"],n=m.children[null!==r?r.focus.path[0]:0],n=\\\"rtl\\\"===(0,import_direction[\\\"default\\\"])(Node2.string(n)),Hotkeys.isRedo(t)?(e.preventDefault(),\\\"function\\\"==typeof(o=m).redo&&o.redo()):Hotkeys.isUndo(t)?(e.preventDefault(),\\\"function\\\"==typeof(o=m).undo&&o.undo()):Hotkeys.isMoveLineBackward(t)?(e.preventDefault(),Transforms.move(m,{unit:\\\"line\\\",reverse:!0})):Hotkeys.isMoveLineForward(t)?(e.preventDefault(),Transforms.move(m,{unit:\\\"line\\\"})):Hotkeys.isExtendLineBackward(t)?(e.preventDefault(),Transforms.move(m,{unit:\\\"line\\\",edge:\\\"focus\\\",reverse:!0})):Hotkeys.isExtendLineForward(t)?(e.preventDefault(),Transforms.move(m,{unit:\\\"line\\\",edge:\\\"focus\\\"})):Hotkeys.isMoveBackward(t)?(e.preventDefault(),r&&Range.isCollapsed(r)?Transforms.move(m,{reverse:!n}):Transforms.collapse(m,{edge:\\\"start\\\"})):Hotkeys.isMoveForward(t)?(e.preventDefault(),r&&Range.isCollapsed(r)?Transforms.move(m,{reverse:n}):Transforms.collapse(m,{edge:\\\"end\\\"})):Hotkeys.isMoveWordBackward(t)?(e.preventDefault(),r&&Range.isExpanded(r)&&Transforms.collapse(m,{edge:\\\"focus\\\"}),Transforms.move(m,{unit:\\\"word\\\",reverse:!n})):Hotkeys.isMoveWordForward(t)?(e.preventDefault(),r&&Range.isExpanded(r)&&Transforms.collapse(m,{edge:\\\"focus\\\"}),Transforms.move(m,{unit:\\\"word\\\",reverse:n})):HAS_BEFORE_INPUT_SUPPORT?(IS_CHROME||IS_WEBKIT)&&r&&(Hotkeys.isDeleteBackward(t)||Hotkeys.isDeleteForward(t))&&Range.isCollapsed(r)&&(o=Node2.parent(m,r.anchor.path),Element2.isElement(o))&&Editor.isVoid(m,o)&&(Editor.isInline(m,o)||Editor.isBlock(m,o))&&(e.preventDefault(),Editor.deleteBackward(m,{unit:\\\"block\\\"})):Hotkeys.isBold(t)||Hotkeys.isItalic(t)||Hotkeys.isTransposeCharacter(t)?e.preventDefault():Hotkeys.isSoftBreak(t)?(e.preventDefault(),Editor.insertSoftBreak(m)):Hotkeys.isSplitBlock(t)?(e.preventDefault(),Editor.insertBreak(m)):Hotkeys.isDeleteBackward(t)?(e.preventDefault(),r&&Range.isExpanded(r)?Editor.deleteFragment(m,{direction:\\\"backward\\\"}):Editor.deleteBackward(m)):Hotkeys.isDeleteForward(t)?(e.preventDefault(),r&&Range.isExpanded(r)?Editor.deleteFragment(m,{direction:\\\"forward\\\"}):Editor.deleteForward(m)):Hotkeys.isDeleteLineBackward(t)?(e.preventDefault(),r&&Range.isExpanded(r)?Editor.deleteFragment(m,{direction:\\\"backward\\\"}):Editor.deleteBackward(m,{unit:\\\"line\\\"})):Hotkeys.isDeleteLineForward(t)?(e.preventDefault(),r&&Range.isExpanded(r)?Editor.deleteFragment(m,{direction:\\\"forward\\\"}):Editor.deleteForward(m,{unit:\\\"line\\\"})):Hotkeys.isDeleteWordBackward(t)?(e.preventDefault(),r&&Range.isExpanded(r)?Editor.deleteFragment(m,{direction:\\\"backward\\\"}):Editor.deleteBackward(m,{unit:\\\"word\\\"})):Hotkeys.isDeleteWordForward(t)&&(e.preventDefault(),r&&Range.isExpanded(r)?Editor.deleteFragment(m,{direction:\\\"forward\\\"}):Editor.deleteForward(m,{unit:\\\"word\\\"}))))},[p,m,g.onKeyDown]),onPaste:(0,import_react6.useCallback)(e=>{p||!ReactEditor.hasEditableTarget(m,e.target)||isEventHandled(e,g.onPaste)||HAS_BEFORE_INPUT_SUPPORT&&!isPlainTextOnlyPaste(e.nativeEvent)&&!IS_WEBKIT||(e.preventDefault(),ReactEditor.insertData(m,e.clipboardData))},[p,m,g.onPaste])}),import_react6[\\\"default\\\"].createElement(Children,{decorations:O,node:m,renderElement:i,renderPlaceholder:r,renderLeaf:s,selection:m.selection})))))},DefaultPlaceholder=e=>{var{attributes:t,children:r}=e;return import_react6[\\\"default\\\"].createElement(\\\"span\\\",Object.assign({},t),r,IS_ANDROID&&import_react6[\\\"default\\\"].createElement(\\\"br\\\",null))},defaultDecorate=()=>[],defaultScrollSelectionIntoView=(e,t)=>{var r;t.getBoundingClientRect&&(!e.selection||e.selection&&Range.isCollapsed(e.selection))&&((r=t.startContainer.parentElement).getBoundingClientRect=t.getBoundingClientRect.bind(t),es_default(r,{scrollMode:\\\"if-needed\\\"}),delete r.getBoundingClientRect)},isEventHandled=(e,t)=>{var r;return!!t&&(null!=(r=t(e))?r:e.isDefaultPrevented()||e.isPropagationStopped())},isDOMEventTargetInput=e=>isDOMNode(e.target)&&(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement),isDOMEventHandled=(e,t)=>{var r;return!!t&&(null!=(r=t(e))?r:e.defaultPrevented)},FocusedContext=(0,import_react6.createContext)(!1),useFocused=()=>(0,import_react6.useContext)(FocusedContext),SlateSelectorContext=(0,import_react6.createContext)({});function useSelectorContext(e){var r=(0,import_react6.useRef)([]).current,n=(0,import_react6.useRef)({editor:e}).current,t=(0,import_react6.useCallback)(t=>{n.editor=t,r.forEach(e=>e(t))},[r,n]);return{selectorContext:(0,import_react6.useMemo)(()=>({getSlate:()=>n.editor,addEventListener:e=>(r.push(e),()=>{r.splice(r.indexOf(e),1)})}),[r,n]),onChange:t}}var _excluded3=[\\\"editor\\\",\\\"children\\\",\\\"onChange\\\",\\\"initialValue\\\"],Slate=e=>{var{editor:t,children:r,onChange:n,initialValue:o}=e,a=_objectWithoutProperties2(e,_excluded3),i=(0,import_react6.useRef)(!1),[s,c]=import_react6[\\\"default\\\"].useState(()=>{if(!Node2.isNodeList(o))throw new Error(\\\"[Slate] initialValue is invalid! Expected a list of elements but got: \\\".concat(Scrubber.stringify(o)));if(Editor.isEditor(t))return t.children=o,Object.assign(t,a),{v:0,editor:t};throw new Error(\\\"[Slate] editor is invalid! You passed: \\\".concat(Scrubber.stringify(t)))}),{selectorContext:l,onChange:u}=useSelectorContext(t),d=(0,import_react6.useCallback)(()=>{n&&n(t.children),c(e=>({v:e.v+1,editor:t})),u(t)},[t,u,n]),[p,f]=((0,import_react6.useEffect)(()=>(EDITOR_TO_ON_CHANGE.set(t,d),()=>{EDITOR_TO_ON_CHANGE.set(t,()=>{}),i.current=!0}),[t,d]),(0,import_react6.useState)(ReactEditor.isFocused(t)));return(0,import_react6.useEffect)(()=>{f(ReactEditor.isFocused(t))},[t]),useIsomorphicLayoutEffect2(()=>{var e=()=>f(ReactEditor.isFocused(t));return 17\u003C=REACT_MAJOR_VERSION?(document.addEventListener(\\\"focusin\\\",e),document.addEventListener(\\\"focusout\\\",e),()=>{document.removeEventListener(\\\"focusin\\\",e),document.removeEventListener(\\\"focusout\\\",e)}):(document.addEventListener(\\\"focus\\\",e,!0),document.addEventListener(\\\"blur\\\",e,!0),()=>{document.removeEventListener(\\\"focus\\\",e,!0),document.removeEventListener(\\\"blur\\\",e,!0)})},[]),import_react6[\\\"default\\\"].createElement(SlateSelectorContext.Provider,{value:l},import_react6[\\\"default\\\"].createElement(SlateContext.Provider,{value:s},import_react6[\\\"default\\\"].createElement(EditorContext.Provider,{value:s.editor},import_react6[\\\"default\\\"].createElement(FocusedContext.Provider,{value:p},r))))},doRectsIntersect=(e,t)=>{var r=(t.top+t.bottom)/2;return e.top\u003C=r&&e.bottom>=r},areRangesSameLine=(e,t,r)=>{var n=ReactEditor.toDOMRange(e,t).getBoundingClientRect(),o=ReactEditor.toDOMRange(e,r).getBoundingClientRect();return doRectsIntersect(n,o)&&doRectsIntersect(o,n)},findCurrentLineRange=(e,t)=>{var r=Editor.range(e,Range.end(t)),n=Array.from(Editor.positions(e,{at:t})),o=0,a=n.length,i=Math.floor(a/2);if(areRangesSameLine(e,Editor.range(e,n[o]),r))return Editor.range(e,n[o],r);if(n.length\u003C2)return Editor.range(e,n[n.length-1],r);for(;i!==n.length&&i!==o;)areRangesSameLine(e,Editor.range(e,n[i]),r)?a=i:o=i,i=Math.floor((o+a)/2);return Editor.range(e,n[a],r)};function ownKeys2(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread2(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys2(Object(r),!0).forEach(function(e){_defineProperty2(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys2(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var withReact=function withReact2(e){var i=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:\\\"x-slate-fragment\\\",c=e,{apply:l,onChange:r,deleteBackward:n,addMark:o,removeMark:a}=c;return EDITOR_TO_KEY_TO_ELEMENT.set(c,new WeakMap),c.addMark=(e,t)=>{var r;null!=(r=EDITOR_TO_SCHEDULE_FLUSH.get(c))&&r(),!EDITOR_TO_PENDING_INSERTION_MARKS.get(c)&&null!=(r=EDITOR_TO_PENDING_DIFFS.get(c))&&r.length&&EDITOR_TO_PENDING_INSERTION_MARKS.set(c,null),EDITOR_TO_USER_MARKS[\\\"delete\\\"](c),o(e,t)},c.removeMark=e=>{var t;!EDITOR_TO_PENDING_INSERTION_MARKS.get(c)&&null!=(t=EDITOR_TO_PENDING_DIFFS.get(c))&&t.length&&EDITOR_TO_PENDING_INSERTION_MARKS.set(c,null),EDITOR_TO_USER_MARKS[\\\"delete\\\"](c),a(e)},c.deleteBackward=e=>{if(\\\"line\\\"!==e)return n(e);var t;c.selection&&Range.isCollapsed(c.selection)&&(t=Editor.above(c,{match:e=>Element2.isElement(e)&&Editor.isBlock(c,e),at:c.selection}))&&(([,t]=t),t=Editor.range(c,t,c.selection.anchor),t=findCurrentLineRange(c,t),Range.isCollapsed(t)||Transforms[\\\"delete\\\"](c,{at:t}))},c.apply=t=>{var e,r,n,o=[],a=EDITOR_TO_PENDING_DIFFS.get(c),a=(null!=a&&a.length&&(a=a.map(e=>transformTextDiff(e,t)).filter(Boolean),EDITOR_TO_PENDING_DIFFS.set(c,a)),EDITOR_TO_PENDING_SELECTION.get(c)),a=(a&&EDITOR_TO_PENDING_SELECTION.set(c,transformPendingRange(c,a,t)),EDITOR_TO_PENDING_ACTION.get(c));switch(null!=a&&a.at&&(e=(Point.isPoint(null==a?void 0:a.at)?transformPendingPoint:transformPendingRange)(c,a.at,t),EDITOR_TO_PENDING_ACTION.set(c,e?_objectSpread2(_objectSpread2({},a),{},{at:e}):null)),t.type){case\\\"insert_text\\\":case\\\"remove_text\\\":case\\\"set_node\\\":case\\\"split_node\\\":o.push(...getMatches(c,t.path));break;case\\\"set_selection\\\":null!=(i=EDITOR_TO_USER_SELECTION.get(c))&&i.unref(),EDITOR_TO_USER_SELECTION[\\\"delete\\\"](c);break;case\\\"insert_node\\\":case\\\"remove_node\\\":o.push(...getMatches(c,Path.parent(t.path)));break;case\\\"merge_node\\\":var i=Path.previous(t.path);o.push(...getMatches(c,i));break;case\\\"move_node\\\":i=Path.common(Path.parent(t.path),Path.parent(t.newPath));o.push(...getMatches(c,i))}l(t);for([r,n]of o){var[s]=Editor.node(c,r);NODE_TO_KEY.set(s,n)}},c.setFragmentData=e=>{var t=c[\\\"selection\\\"];if(t){var r,n,[o,a]=Range.edges(t),o=Editor[\\\"void\\\"](c,{at:o.path}),a=Editor[\\\"void\\\"](c,{at:a.path});if(!Range.isCollapsed(t)||o)return r=(t=ReactEditor.toDOMRange(c,t)).cloneContents(),n=r.childNodes[0],r.childNodes.forEach(e=>{e.textContent&&\\\"\\\"!==e.textContent.trim()&&(n=e)}),a&&(([a]=a),t=t.cloneRange(),a=ReactEditor.toDOMNode(c,a),t.setEndAfter(a),r=t.cloneContents()),o&&(n=r.querySelector(\\\"[data-slate-spacer]\\\")),Array.from(r.querySelectorAll(\\\"[data-slate-zero-width]\\\")).forEach(e=>{var t=\\\"n\\\"===e.getAttribute(\\\"data-slate-zero-width\\\");e.textContent=t?\\\"\\\\n\\\":\\\"\\\"}),isDOMText(n)&&((a=n.ownerDocument.createElement(\\\"span\\\")).style.whiteSpace=\\\"pre\\\",a.appendChild(n),r.appendChild(a),n=a),t=c.getFragment(),o=JSON.stringify(t),a=window.btoa(encodeURIComponent(o)),n.setAttribute(\\\"data-slate-fragment\\\",a),e.setData(\\\"application/\\\".concat(i),a),(t=r.ownerDocument.createElement(\\\"div\\\")).appendChild(r),t.setAttribute(\\\"hidden\\\",\\\"true\\\"),r.ownerDocument.body.appendChild(t),e.setData(\\\"text/html\\\",t.innerHTML),e.setData(\\\"text/plain\\\",getPlainText(t)),r.ownerDocument.body.removeChild(t),e}},c.insertData=e=>{c.insertFragmentData(e)||c.insertTextData(e)},c.insertFragmentData=e=>{var t=e.getData(\\\"application/\\\".concat(i))||getSlateFragmentAttribute(e);return!!t&&(t=decodeURIComponent(window.atob(t)),t=JSON.parse(t),c.insertFragment(t),!0)},c.insertTextData=e=>{var t=e.getData(\\\"text/plain\\\");if(t){var r,n=!1;for(r of t.split(/\\\\r\\\\n|\\\\r|\\\\n/))n&&Transforms.splitNodes(c,{always:!0}),c.insertText(r),n=!0;return!0}return!1},c.onChange=t=>{(REACT_MAJOR_VERSION\u003C18?import_react_dom[\\\"default\\\"].unstable_batchedUpdates:e=>e())(()=>{var e=EDITOR_TO_ON_CHANGE.get(c);e&&e(),r(t)})},c},getMatches=(e,t)=>{var r,n,o=[];for([r,n]of Editor.levels(e,{at:t})){var a=ReactEditor.findKey(e,r);o.push([n,a])}return o};function r4(e){var t,r,n=\\\"\\\";if(\\\"string\\\"==typeof e||\\\"number\\\"==typeof e)n+=e;else if(\\\"object\\\"==typeof e)if(Array.isArray(e))for(t=0;t\u003Ce.length;t++)e[t]&&(r=r4(e[t]))&&(n&&(n+=\\\" \\\"),n+=r);else for(t in e)e[t]&&(n&&(n+=\\\" \\\"),n+=t);return n}function clsx(){for(var e,t=0,r=\\\"\\\";t\u003Carguments.length;)(e=arguments[t++])&&(e=r4(e))&&(r&&(r+=\\\" \\\"),r+=e);return r}init_esbuild_inject();var clsx_m_default=clsx,import_react7=(init_esbuild_inject(),require(\\\"react\\\")),CAN_USE_DOM2=\\\"undefined\\\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,useIsomorphicLayoutEffect3=CAN_USE_DOM2?import_react7.useLayoutEffect:import_react7.useEffect,findNodePath=(e,t)=>{try{return ReactEditor.findPath(e,t)}catch(r){}},focusEditor=(e,t)=>{t&&withoutNormalizing2(e,()=>{deselect2(e),select2(e,t)}),ReactEditor.focus(e)},isComposing=e=>ReactEditor.isComposing(e),toDOMRange=(e,t)=>{try{return ReactEditor.toDOMRange(e,t)}catch(r){}},capitalizeFirstLetter=(e=\\\"\\\")=>0\u003Ce.length?e[0].toUpperCase()+e.slice(1):\\\"\\\",getStoreIndex=(e=\\\"\\\")=>0\u003Ce.length?e+\\\"Store\\\":\\\"store\\\",getUseStoreIndex=(e=\\\"\\\")=>`use${capitalizeFirstLetter(e)}Store`,createAtomStore=(r,{scope:i,initialStore:e,name:t=\\\"\\\"}={})=>{var n=getUseStoreIndex(null==e?void 0:e.name),o=getStoreIndex(null==e?void 0:e.name),a=getUseStoreIndex(t),s=getStoreIndex(t);const c=e?e[n]().get:{},l=e?e[n]().set:{},u=e?e[n]().use:{},d=e?e[o].atom:{},p=(Object.keys(r).forEach(e=>{const t=atom(r[e]);d[e]=t,c[e]=e=>useAtomValue(t,null!=e?e:i),l[e]=e=>useSetAtom(t,null!=e?e:i),u[e]=e=>useAtom(t,null!=e?e:i)}),{[a]:n=>{if(n){const t={...c},o={...l},a={...u};return Object.keys(t).forEach(e=>{const r=t[e];t[e]=e=>{var t;return r(null!=(t=null!=e?e:n)?t:i)}}),Object.keys(o).forEach(e=>{const r=o[e];o[e]=e=>{var t;return r(null!=(t=null!=e?e:n)?t:i)}}),Object.keys(a).forEach(e=>{const r=a[e];a[e]=e=>{var t;return r(null!=(t=null!=e?e:n)?t:i)}}),{get:t,set:o,use:a}}return{get:c,set:l,use:u}},[s]:{atom:d},name:t});return{...p,[s]:{...p[s],scope:i,extend:(e,t)=>createAtomStore(e,{scope:i,initialStore:p,...t})}}};function _extends(){return(_extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t\u003Carguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var SCOPE_ELEMENT=\\\"element\\\",{elementStore,useElementStore}=createAtomStore({element:null},{name:\\\"element\\\"}),ElementProviderChild=({element:e,scope:t,children:r})=>{const n=useElementStore().set.element(t),o=useElementStore().set.element(SCOPE_ELEMENT);return(0,import_react8.useEffect)(()=>{n(e),o(e)},[e,n,o]),r};function ElementProvider({element:e,scope:t,children:r,...n}){return import_react8[\\\"default\\\"].createElement(Provider,_extends({initialValues:[[elementStore.atom.element,e]],scope:SCOPE_ELEMENT},n),import_react8[\\\"default\\\"].createElement(Provider,_extends({initialValues:[[elementStore.atom.element,e]],scope:t},n),import_react8[\\\"default\\\"].createElement(ElementProviderChild,{element:e,scope:t},r)))}var useElement=(e=SCOPE_ELEMENT)=>{var t=useElementStore().get.element(e);return t||(console.warn(\\\"The `useElement(pluginKey)` hook must be used inside the node component's context\\\"),{})};function DefaultLeaf2({attributes:e,children:t,text:r,leaf:n,editor:o,nodeProps:a,...i}){return import_react8[\\\"default\\\"].createElement(\\\"span\\\",_extends({},e,i),t)}function arrayMap(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r\u003Cn;)o[r]=t(e[r],r,e);return o}var _arrayMap=arrayMap;function listCacheClear2(){this.__data__=[],this.size=0}var _listCacheClear2=listCacheClear2;function eq2(e,t){return e===t||e!=e&&t!=t}var eq_12=eq2;function assocIndexOf2(e,t){for(var r=e.length;r--;)if(eq_12(e[r][0],t))return r;return-1}var _assocIndexOf2=assocIndexOf2,arrayProto2=Array.prototype,splice2=arrayProto2.splice;function listCacheDelete2(e){var t=this.__data__,r=_assocIndexOf2(t,e);return!(r\u003C0||(r==t.length-1?t.pop():splice2.call(t,r,1),--this.size,0))}var _listCacheDelete2=listCacheDelete2;function listCacheGet2(e){var t=this.__data__,r=_assocIndexOf2(t,e);return r\u003C0?void 0:t[r][1]}var _listCacheGet2=listCacheGet2;function listCacheHas2(e){return-1\u003C_assocIndexOf2(this.__data__,e)}var _listCacheHas2=listCacheHas2;function listCacheSet2(e,t){var r=this.__data__,n=_assocIndexOf2(r,e);return n\u003C0?(++this.size,r.push([e,t])):r[n][1]=t,this}var _listCacheSet2=listCacheSet2;function ListCache2(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}ListCache2.prototype.clear=_listCacheClear2,ListCache2.prototype[\\\"delete\\\"]=_listCacheDelete2,ListCache2.prototype.get=_listCacheGet2,ListCache2.prototype.has=_listCacheHas2,ListCache2.prototype.set=_listCacheSet2;var _ListCache2=ListCache2;function stackClear2(){this.__data__=new _ListCache2,this.size=0}var _stackClear2=stackClear2;function stackDelete2(e){var t=this.__data__,r=t[\\\"delete\\\"](e);return this.size=t.size,r}var _stackDelete2=stackDelete2;function stackGet2(e){return this.__data__.get(e)}var _stackGet2=stackGet2;function stackHas2(e){return this.__data__.has(e)}var _stackHas2=stackHas2,commonjsGlobal2=\\\"undefined\\\"!=typeof globalThis?globalThis:\\\"undefined\\\"!=typeof window?window:\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:{};function unwrapExports(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\\\"default\\\")?e[\\\"default\\\"]:e}function createCommonjsModule2(e,t){return e(t={exports:{}},t.exports),t.exports}var freeGlobal2=\\\"object\\\"==typeof commonjsGlobal2&&commonjsGlobal2&&commonjsGlobal2.Object===Object&&commonjsGlobal2,_freeGlobal2=freeGlobal2,freeSelf2=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,root2=_freeGlobal2||freeSelf2||Function(\\\"return this\\\")(),_root2=root2,Symbol$1=_root2.Symbol,_Symbol2=Symbol$1,objectProto$f=Object.prototype,hasOwnProperty$c=objectProto$f.hasOwnProperty,nativeObjectToString$12=objectProto$f.toString,symToStringTag$12=_Symbol2?_Symbol2.toStringTag:void 0;function getRawTag2(e){var t=hasOwnProperty$c.call(e,symToStringTag$12),r=e[symToStringTag$12];try{var n=!(e[symToStringTag$12]=void 0)}catch(a){}var o=nativeObjectToString$12.call(e);return n&&(t?e[symToStringTag$12]=r:delete e[symToStringTag$12]),o}var _getRawTag2=getRawTag2,objectProto$e=Object.prototype,nativeObjectToString2=objectProto$e.toString;function objectToString2(e){return nativeObjectToString2.call(e)}var _objectToString2=objectToString2,nullTag2=\\\"[object Null]\\\",undefinedTag2=\\\"[object Undefined]\\\",symToStringTag2=_Symbol2?_Symbol2.toStringTag:void 0;function baseGetTag2(e){return null==e?void 0===e?undefinedTag2:nullTag2:(symToStringTag2&&symToStringTag2 in Object(e)?_getRawTag2:_objectToString2)(e)}var _baseGetTag2=baseGetTag2;function isObject$1(e){var t=typeof e;return null!=e&&(\\\"object\\\"==t||\\\"function\\\"==t)}var isObject_12=isObject$1,asyncTag2=\\\"[object AsyncFunction]\\\",funcTag$2=\\\"[object Function]\\\",genTag$1=\\\"[object GeneratorFunction]\\\",proxyTag2=\\\"[object Proxy]\\\";function isFunction2(e){var t;return!!isObject_12(e)&&((t=_baseGetTag2(e))==funcTag$2||t==genTag$1||t==asyncTag2||t==proxyTag2)}var isFunction_12=isFunction2,coreJsData2=_root2[\\\"__core-js_shared__\\\"],_coreJsData2=coreJsData2,maskSrcKey2=function(){var e=/[^.]+$/.exec(_coreJsData2&&_coreJsData2.keys&&_coreJsData2.keys.IE_PROTO||\\\"\\\");return e?\\\"Symbol(src)_1.\\\"+e:\\\"\\\"}();function isMasked2(e){return!!maskSrcKey2&&maskSrcKey2 in e}var _isMasked2=isMasked2,funcProto$2=Function.prototype,funcToString$2=funcProto$2.toString;function toSource2(e){if(null!=e){try{return funcToString$2.call(e)}catch(t){}try{return e+\\\"\\\"}catch(t){}}return\\\"\\\"}var _toSource2=toSource2,reRegExpChar2=/[\\\\\\\\^$.*+?()[\\\\]{}|]/g,reIsHostCtor2=/^\\\\[object .+?Constructor\\\\]$/,funcProto$12=Function.prototype,objectProto$d=Object.prototype,funcToString$12=funcProto$12.toString,hasOwnProperty$b=objectProto$d.hasOwnProperty,reIsNative2=RegExp(\\\"^\\\"+funcToString$12.call(hasOwnProperty$b).replace(reRegExpChar2,\\\"\\\\\\\\$&\\\").replace(/hasOwnProperty|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\");function baseIsNative2(e){return!(!isObject_12(e)||_isMasked2(e))&&(isFunction_12(e)?reIsNative2:reIsHostCtor2).test(_toSource2(e))}var _baseIsNative2=baseIsNative2;function getValue2(e,t){return null==e?void 0:e[t]}var _getValue2=getValue2;function getNative2(e,t){var r=_getValue2(e,t);return _baseIsNative2(r)?r:void 0}var _getNative2=getNative2,Map3=_getNative2(_root2,\\\"Map\\\"),_Map2=Map3,nativeCreate2=_getNative2(Object,\\\"create\\\"),_nativeCreate2=nativeCreate2;function hashClear2(){this.__data__=_nativeCreate2?_nativeCreate2(null):{},this.size=0}var _hashClear2=hashClear2;function hashDelete2(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var _hashDelete2=hashDelete2,HASH_UNDEFINED$22=\\\"__lodash_hash_undefined__\\\",objectProto$c=Object.prototype,hasOwnProperty$a=objectProto$c.hasOwnProperty;function hashGet2(e){var t,r=this.__data__;return _nativeCreate2?(t=r[e])===HASH_UNDEFINED$22?void 0:t:hasOwnProperty$a.call(r,e)?r[e]:void 0}var _hashGet2=hashGet2,objectProto$b2=Object.prototype,hasOwnProperty$9=objectProto$b2.hasOwnProperty;function hashHas2(e){var t=this.__data__;return _nativeCreate2?void 0!==t[e]:hasOwnProperty$9.call(t,e)}var _hashHas2=hashHas2,HASH_UNDEFINED$12=\\\"__lodash_hash_undefined__\\\";function hashSet2(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=_nativeCreate2&&void 0===t?HASH_UNDEFINED$12:t,this}var _hashSet2=hashSet2;function Hash2(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}Hash2.prototype.clear=_hashClear2,Hash2.prototype[\\\"delete\\\"]=_hashDelete2,Hash2.prototype.get=_hashGet2,Hash2.prototype.has=_hashHas2,Hash2.prototype.set=_hashSet2;var _Hash2=Hash2;function mapCacheClear2(){this.size=0,this.__data__={hash:new _Hash2,map:new(_Map2||_ListCache2),string:new _Hash2}}var _mapCacheClear2=mapCacheClear2;function isKeyable2(e){var t=typeof e;return\\\"string\\\"==t||\\\"number\\\"==t||\\\"symbol\\\"==t||\\\"boolean\\\"==t?\\\"__proto__\\\"!==e:null===e}var _isKeyable2=isKeyable2;function getMapData2(e,t){var r=e.__data__;return _isKeyable2(t)?r[\\\"string\\\"==typeof t?\\\"string\\\":\\\"hash\\\"]:r.map}var _getMapData2=getMapData2;function mapCacheDelete2(e){var t=_getMapData2(this,e)[\\\"delete\\\"](e);return this.size-=t?1:0,t}var _mapCacheDelete2=mapCacheDelete2;function mapCacheGet2(e){return _getMapData2(this,e).get(e)}var _mapCacheGet2=mapCacheGet2;function mapCacheHas2(e){return _getMapData2(this,e).has(e)}var _mapCacheHas2=mapCacheHas2;function mapCacheSet2(e,t){var r=_getMapData2(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}var _mapCacheSet2=mapCacheSet2;function MapCache2(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}MapCache2.prototype.clear=_mapCacheClear2,MapCache2.prototype[\\\"delete\\\"]=_mapCacheDelete2,MapCache2.prototype.get=_mapCacheGet2,MapCache2.prototype.has=_mapCacheHas2,MapCache2.prototype.set=_mapCacheSet2;var _MapCache2=MapCache2,LARGE_ARRAY_SIZE2=200;function stackSet2(e,t){var r=this.__data__;if(r instanceof _ListCache2){var n=r.__data__;if(!_Map2||n.length\u003CLARGE_ARRAY_SIZE2-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new _MapCache2(n)}return r.set(e,t),this.size=r.size,this}var _stackSet2=stackSet2;function Stack2(e){var t=this.__data__=new _ListCache2(e);this.size=t.size}Stack2.prototype.clear=_stackClear2,Stack2.prototype[\\\"delete\\\"]=_stackDelete2,Stack2.prototype.get=_stackGet2,Stack2.prototype.has=_stackHas2,Stack2.prototype.set=_stackSet2;var _Stack=Stack2;function arrayEach(e,t){for(var r=-1,n=null==e?0:e.length;++r\u003Cn&&!1!==t(e[r],r,e););return e}var _arrayEach=arrayEach,defineProperty2=function(){try{var e=_getNative2(Object,\\\"defineProperty\\\");return e({},\\\"\\\",{}),e}catch(t){}}(),_defineProperty$1=defineProperty2;function baseAssignValue(e,t,r){\\\"__proto__\\\"==t&&_defineProperty$1?_defineProperty$1(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var _baseAssignValue=baseAssignValue,objectProto$a2=Object.prototype,hasOwnProperty$82=objectProto$a2.hasOwnProperty;function assignValue(e,t,r){var n=e[t];hasOwnProperty$82.call(e,t)&&eq_12(n,r)&&(void 0!==r||t in e)||_baseAssignValue(e,t,r)}var _assignValue=assignValue;function copyObject(e,t,r,n){for(var o=!r,a=(r=r||{},-1),i=t.length;++a\u003Ci;){var s=t[a],c=n?n(r[s],e[s],s,r,e):void 0;void 0===c&&(c=e[s]),(o?_baseAssignValue:_assignValue)(r,s,c)}return r}var _copyObject=copyObject;function baseTimes(e,t){for(var r=-1,n=Array(e);++r\u003Ce;)n[r]=t(r);return n}var _baseTimes=baseTimes;function isObjectLike2(e){return null!=e&&\\\"object\\\"==typeof e}var isObjectLike_12=isObjectLike2,argsTag$3=\\\"[object Arguments]\\\";function baseIsArguments2(e){return isObjectLike_12(e)&&_baseGetTag2(e)==argsTag$3}var _baseIsArguments2=baseIsArguments2,objectProto$92=Object.prototype,hasOwnProperty$72=objectProto$92.hasOwnProperty,propertyIsEnumerable$12=objectProto$92.propertyIsEnumerable,isArguments2=_baseIsArguments2(function(){return arguments}())?_baseIsArguments2:function(e){return isObjectLike_12(e)&&hasOwnProperty$72.call(e,\\\"callee\\\")&&!propertyIsEnumerable$12.call(e,\\\"callee\\\")},isArguments_1=isArguments2,isArray3=Array.isArray,isArray_12=isArray3;function stubFalse2(){return!1}var stubFalse_12=stubFalse2,isBuffer_12=createCommonjsModule2(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,n=n&&n.exports===r?_root2.Buffer:void 0,r=n?n.isBuffer:void 0;e.exports=r||stubFalse_12}),MAX_SAFE_INTEGER$1=9007199254740991,reIsUint=/^(?:0|[1-9]\\\\d*)$/;function isIndex(e,t){var r=typeof e;return!!(t=null==t?MAX_SAFE_INTEGER$1:t)&&(\\\"number\\\"==r||\\\"symbol\\\"!=r&&reIsUint.test(e))&&-1\u003Ce&&e%1==0&&e\u003Ct}var _isIndex=isIndex,MAX_SAFE_INTEGER2=9007199254740991;function isLength2(e){return\\\"number\\\"==typeof e&&-1\u003Ce&&e%1==0&&e\u003C=MAX_SAFE_INTEGER2}var isLength_12=isLength2,argsTag$22=\\\"[object Arguments]\\\",arrayTag$2=\\\"[object Array]\\\",boolTag$3=\\\"[object Boolean]\\\",dateTag$3=\\\"[object Date]\\\",errorTag$2=\\\"[object Error]\\\",funcTag$12=\\\"[object Function]\\\",mapTag$5=\\\"[object Map]\\\",numberTag$3=\\\"[object Number]\\\",objectTag$4=\\\"[object Object]\\\",regexpTag$3=\\\"[object RegExp]\\\",setTag$5=\\\"[object Set]\\\",stringTag$3=\\\"[object String]\\\",weakMapTag$2=\\\"[object WeakMap]\\\",arrayBufferTag$3=\\\"[object ArrayBuffer]\\\",dataViewTag$4=\\\"[object DataView]\\\",float32Tag$2=\\\"[object Float32Array]\\\",float64Tag$2=\\\"[object Float64Array]\\\",int8Tag$2=\\\"[object Int8Array]\\\",int16Tag$2=\\\"[object Int16Array]\\\",int32Tag$2=\\\"[object Int32Array]\\\",uint8Tag$2=\\\"[object Uint8Array]\\\",uint8ClampedTag$2=\\\"[object Uint8ClampedArray]\\\",uint16Tag$2=\\\"[object Uint16Array]\\\",uint32Tag$2=\\\"[object Uint32Array]\\\",typedArrayTags2={};function baseIsTypedArray2(e){return isObjectLike_12(e)&&isLength_12(e.length)&&!!typedArrayTags2[_baseGetTag2(e)]}typedArrayTags2[float32Tag$2]=typedArrayTags2[float64Tag$2]=typedArrayTags2[int8Tag$2]=typedArrayTags2[int16Tag$2]=typedArrayTags2[int32Tag$2]=typedArrayTags2[uint8Tag$2]=typedArrayTags2[uint8ClampedTag$2]=typedArrayTags2[uint16Tag$2]=typedArrayTags2[uint32Tag$2]=!0,typedArrayTags2[argsTag$22]=typedArrayTags2[arrayTag$2]=typedArrayTags2[arrayBufferTag$3]=typedArrayTags2[boolTag$3]=typedArrayTags2[dataViewTag$4]=typedArrayTags2[dateTag$3]=typedArrayTags2[errorTag$2]=typedArrayTags2[funcTag$12]=typedArrayTags2[mapTag$5]=typedArrayTags2[numberTag$3]=typedArrayTags2[objectTag$4]=typedArrayTags2[regexpTag$3]=typedArrayTags2[setTag$5]=typedArrayTags2[stringTag$3]=typedArrayTags2[weakMapTag$2]=!1;var _baseIsTypedArray2=baseIsTypedArray2;function baseUnary2(t){return function(e){return t(e)}}var _baseUnary2=baseUnary2,_nodeUtil2=createCommonjsModule2(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r&&_freeGlobal2.process,r=function(){try{var e=n&&n.require&&n.require(\\\"util\\\").types;return e?e:o&&o.binding&&o.binding(\\\"util\\\")}catch(t){}}();e.exports=r}),nodeIsTypedArray2=_nodeUtil2&&_nodeUtil2.isTypedArray,isTypedArray2=nodeIsTypedArray2?_baseUnary2(nodeIsTypedArray2):_baseIsTypedArray2,isTypedArray_1=isTypedArray2,objectProto$82=Object.prototype,hasOwnProperty$62=objectProto$82.hasOwnProperty;function arrayLikeKeys(e,t){var r,n=isArray_12(e),o=!n&&isArguments_1(e),a=!n&&!o&&isBuffer_12(e),i=!n&&!o&&!a&&isTypedArray_1(e),s=n||o||a||i,c=s?_baseTimes(e.length,String):[],l=c.length;for(r in e)!t&&!hasOwnProperty$62.call(e,r)||s&&(\\\"length\\\"==r||a&&(\\\"offset\\\"==r||\\\"parent\\\"==r)||i&&(\\\"buffer\\\"==r||\\\"byteLength\\\"==r||\\\"byteOffset\\\"==r)||_isIndex(r,l))||c.push(r);return c}var _arrayLikeKeys=arrayLikeKeys,objectProto$72=Object.prototype;function isPrototype(e){var t=e&&e.constructor;return e===(\\\"function\\\"==typeof t&&t.prototype||objectProto$72)}var _isPrototype=isPrototype;function overArg2(t,r){return function(e){return t(r(e))}}var _overArg2=overArg2,nativeKeys2=_overArg2(Object.keys,Object),_nativeKeys=nativeKeys2,objectProto$62=Object.prototype,hasOwnProperty$52=objectProto$62.hasOwnProperty;function baseKeys(e){if(!_isPrototype(e))return _nativeKeys(e);var t,r=[];for(t in Object(e))hasOwnProperty$52.call(e,t)&&\\\"constructor\\\"!=t&&r.push(t);return r}var _baseKeys=baseKeys;function isArrayLike(e){return null!=e&&isLength_12(e.length)&&!isFunction_12(e)}var isArrayLike_1=isArrayLike;function keys(e){return(isArrayLike_1(e)?_arrayLikeKeys:_baseKeys)(e)}var keys_1=keys;function baseAssign(e,t){return e&&_copyObject(t,keys_1(t),e)}var _baseAssign=baseAssign;function nativeKeysIn(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}var _nativeKeysIn=nativeKeysIn,objectProto$52=Object.prototype,hasOwnProperty$42=objectProto$52.hasOwnProperty;function baseKeysIn(e){if(!isObject_12(e))return _nativeKeysIn(e);var t,r=_isPrototype(e),n=[];for(t in e)(\\\"constructor\\\"!=t||!r&&hasOwnProperty$42.call(e,t))&&n.push(t);return n}var _baseKeysIn=baseKeysIn;function keysIn(e){return isArrayLike_1(e)?_arrayLikeKeys(e,!0):_baseKeysIn(e)}var keysIn_1=keysIn;function baseAssignIn(e,t){return e&&_copyObject(t,keysIn_1(t),e)}var _baseAssignIn=baseAssignIn,_cloneBuffer=createCommonjsModule2(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,n=n&&n.exports===r?_root2.Buffer:void 0,o=n?n.allocUnsafe:void 0;e.exports=function(e,t){var r;return t?e.slice():(r=e.length,r=o?o(r):new e.constructor(r),e.copy(r),r)}});function copyArray(e,t){var r=-1,n=e.length;for(t=t||Array(n);++r\u003Cn;)t[r]=e[r];return t}var _copyArray=copyArray;function arrayFilter(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r\u003Cn;){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a}var _arrayFilter=arrayFilter;function stubArray(){return[]}var stubArray_1=stubArray,objectProto$42=Object.prototype,propertyIsEnumerable2=objectProto$42.propertyIsEnumerable,nativeGetSymbols$1=Object.getOwnPropertySymbols,getSymbols=nativeGetSymbols$1?function(t){return null==t?[]:(t=Object(t),_arrayFilter(nativeGetSymbols$1(t),function(e){return propertyIsEnumerable2.call(t,e)}))}:stubArray_1,_getSymbols=getSymbols;function copySymbols(e,t){return _copyObject(e,_getSymbols(e),t)}var _copySymbols=copySymbols;function arrayPush(e,t){for(var r=-1,n=t.length,o=e.length;++r\u003Cn;)e[o+r]=t[r];return e}var _arrayPush=arrayPush,getPrototype=_overArg2(Object.getPrototypeOf,Object),_getPrototype=getPrototype,nativeGetSymbols=Object.getOwnPropertySymbols,getSymbolsIn=nativeGetSymbols?function(e){for(var t=[];e;)_arrayPush(t,_getSymbols(e)),e=_getPrototype(e);return t}:stubArray_1,_getSymbolsIn=getSymbolsIn;function copySymbolsIn(e,t){return _copyObject(e,_getSymbolsIn(e),t)}var _copySymbolsIn=copySymbolsIn;function baseGetAllKeys(e,t,r){var n=t(e);return isArray_12(e)?n:_arrayPush(n,r(e))}var _baseGetAllKeys=baseGetAllKeys;function getAllKeys(e){return _baseGetAllKeys(e,keys_1,_getSymbols)}var _getAllKeys=getAllKeys;function getAllKeysIn(e){return _baseGetAllKeys(e,keysIn_1,_getSymbolsIn)}var _getAllKeysIn=getAllKeysIn,DataView2=_getNative2(_root2,\\\"DataView\\\"),_DataView2=DataView2,Promise$12=_getNative2(_root2,\\\"Promise\\\"),_Promise2=Promise$12,Set$1=_getNative2(_root2,\\\"Set\\\"),_Set2=Set$1,WeakMap$1=_getNative2(_root2,\\\"WeakMap\\\"),_WeakMap2=WeakMap$1,mapTag$4=\\\"[object Map]\\\",objectTag$3=\\\"[object Object]\\\",promiseTag2=\\\"[object Promise]\\\",setTag$4=\\\"[object Set]\\\",weakMapTag$12=\\\"[object WeakMap]\\\",dataViewTag$3=\\\"[object DataView]\\\",dataViewCtorString2=_toSource2(_DataView2),mapCtorString2=_toSource2(_Map2),promiseCtorString2=_toSource2(_Promise2),setCtorString2=_toSource2(_Set2),weakMapCtorString2=_toSource2(_WeakMap2),getTag2=_baseGetTag2,_getTag=getTag2=_DataView2&&getTag2(new _DataView2(new ArrayBuffer(1)))!=dataViewTag$3||_Map2&&getTag2(new _Map2)!=mapTag$4||_Promise2&&getTag2(_Promise2.resolve())!=promiseTag2||_Set2&&getTag2(new _Set2)!=setTag$4||_WeakMap2&&getTag2(new _WeakMap2)!=weakMapTag$12?function(e){var t=_baseGetTag2(e),r=t==objectTag$3?e.constructor:void 0,r=r?_toSource2(r):\\\"\\\";if(r)switch(r){case dataViewCtorString2:return dataViewTag$3;case mapCtorString2:return mapTag$4;case promiseCtorString2:return promiseTag2;case setCtorString2:return setTag$4;case weakMapCtorString2:return weakMapTag$12}return t}:getTag2,objectProto$32=Object.prototype,hasOwnProperty$32=objectProto$32.hasOwnProperty;function initCloneArray(e){var t=e.length,r=new e.constructor(t);return t&&\\\"string\\\"==typeof e[0]&&hasOwnProperty$32.call(e,\\\"index\\\")&&(r.index=e.index,r.input=e.input),r}var _initCloneArray=initCloneArray,Uint8Array3=_root2.Uint8Array,_Uint8Array=Uint8Array3;function cloneArrayBuffer(e){var t=new e.constructor(e.byteLength);return new _Uint8Array(t).set(new _Uint8Array(e)),t}var _cloneArrayBuffer=cloneArrayBuffer;function cloneDataView(e,t){var r=t?_cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var _cloneDataView=cloneDataView,reFlags=/\\\\w*$/;function cloneRegExp(e){var t=new e.constructor(e.source,reFlags.exec(e));return t.lastIndex=e.lastIndex,t}var _cloneRegExp=cloneRegExp,symbolProto$2=_Symbol2?_Symbol2.prototype:void 0,symbolValueOf$1=symbolProto$2?symbolProto$2.valueOf:void 0;function cloneSymbol(e){return symbolValueOf$1?Object(symbolValueOf$1.call(e)):{}}var _cloneSymbol=cloneSymbol;function cloneTypedArray(e,t){var r=t?_cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var _cloneTypedArray=cloneTypedArray,boolTag$2=\\\"[object Boolean]\\\",dateTag$2=\\\"[object Date]\\\",mapTag$3=\\\"[object Map]\\\",numberTag$2=\\\"[object Number]\\\",regexpTag$2=\\\"[object RegExp]\\\",setTag$3=\\\"[object Set]\\\",stringTag$2=\\\"[object String]\\\",symbolTag$3=\\\"[object Symbol]\\\",arrayBufferTag$2=\\\"[object ArrayBuffer]\\\",dataViewTag$22=\\\"[object DataView]\\\",float32Tag$1=\\\"[object Float32Array]\\\",float64Tag$1=\\\"[object Float64Array]\\\",int8Tag$1=\\\"[object Int8Array]\\\",int16Tag$1=\\\"[object Int16Array]\\\",int32Tag$1=\\\"[object Int32Array]\\\",uint8Tag$1=\\\"[object Uint8Array]\\\",uint8ClampedTag$1=\\\"[object Uint8ClampedArray]\\\",uint16Tag$1=\\\"[object Uint16Array]\\\",uint32Tag$1=\\\"[object Uint32Array]\\\";function initCloneByTag(e,t,r){var n=e.constructor;switch(t){case arrayBufferTag$2:return _cloneArrayBuffer(e);case boolTag$2:case dateTag$2:return new n(+e);case dataViewTag$22:return _cloneDataView(e,r);case float32Tag$1:case float64Tag$1:case int8Tag$1:case int16Tag$1:case int32Tag$1:case uint8Tag$1:case uint8ClampedTag$1:case uint16Tag$1:case uint32Tag$1:return _cloneTypedArray(e,r);case mapTag$3:return new n;case numberTag$2:case stringTag$2:return new n(e);case regexpTag$2:return _cloneRegExp(e);case setTag$3:return new n;case symbolTag$3:return _cloneSymbol(e)}}var _initCloneByTag=initCloneByTag,objectCreate=Object.create,baseCreate=function(){function r(){}return function(e){if(!isObject_12(e))return{};if(objectCreate)return objectCreate(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}(),_baseCreate=baseCreate;function initCloneObject(e){return\\\"function\\\"!=typeof e.constructor||_isPrototype(e)?{}:_baseCreate(_getPrototype(e))}var _initCloneObject=initCloneObject,mapTag$22=\\\"[object Map]\\\";function baseIsMap(e){return isObjectLike_12(e)&&_getTag(e)==mapTag$22}var _baseIsMap=baseIsMap,nodeIsMap=_nodeUtil2&&_nodeUtil2.isMap,isMap=nodeIsMap?_baseUnary2(nodeIsMap):_baseIsMap,isMap_1=isMap,setTag$22=\\\"[object Set]\\\";function baseIsSet(e){return isObjectLike_12(e)&&_getTag(e)==setTag$22}var _baseIsSet=baseIsSet,nodeIsSet=_nodeUtil2&&_nodeUtil2.isSet,isSet=nodeIsSet?_baseUnary2(nodeIsSet):_baseIsSet,isSet_1=isSet,CLONE_DEEP_FLAG$2=1,CLONE_FLAT_FLAG$1=2,CLONE_SYMBOLS_FLAG$2=4,argsTag$12=\\\"[object Arguments]\\\",arrayTag$12=\\\"[object Array]\\\",boolTag$12=\\\"[object Boolean]\\\",dateTag$12=\\\"[object Date]\\\",errorTag$12=\\\"[object Error]\\\",funcTag2=\\\"[object Function]\\\",genTag2=\\\"[object GeneratorFunction]\\\",mapTag$1=\\\"[object Map]\\\",numberTag$12=\\\"[object Number]\\\",objectTag$22=\\\"[object Object]\\\",regexpTag$12=\\\"[object RegExp]\\\",setTag$1=\\\"[object Set]\\\",stringTag$12=\\\"[object String]\\\",symbolTag$2=\\\"[object Symbol]\\\",weakMapTag2=\\\"[object WeakMap]\\\",arrayBufferTag$12=\\\"[object ArrayBuffer]\\\",dataViewTag$1=\\\"[object DataView]\\\",float32Tag2=\\\"[object Float32Array]\\\",float64Tag2=\\\"[object Float64Array]\\\",int8Tag2=\\\"[object Int8Array]\\\",int16Tag2=\\\"[object Int16Array]\\\",int32Tag2=\\\"[object Int32Array]\\\",uint8Tag2=\\\"[object Uint8Array]\\\",uint8ClampedTag2=\\\"[object Uint8ClampedArray]\\\",uint16Tag2=\\\"[object Uint16Array]\\\",uint32Tag2=\\\"[object Uint32Array]\\\",cloneableTags={};function baseClone(r,n,o,e,t,a){var i,s=n&CLONE_DEEP_FLAG$2,c=n&CLONE_FLAT_FLAG$1,l=n&CLONE_SYMBOLS_FLAG$2;if(void 0===(i=o?t?o(r,e,t,a):o(r):i)){if(!isObject_12(r))return r;var u=isArray_12(r);if(u){if(i=_initCloneArray(r),!s)return _copyArray(r,i)}else{var d=_getTag(r),p=d==funcTag2||d==genTag2;if(isBuffer_12(r))return _cloneBuffer(r,s);if(d==objectTag$22||d==argsTag$12||p&&!t){if(i=c||p?{}:_initCloneObject(r),!s)return c?_copySymbolsIn(r,_baseAssignIn(i,r)):_copySymbols(r,_baseAssign(i,r))}else{if(!cloneableTags[d])return t?r:{};i=_initCloneByTag(r,d,s)}}p=(a=a||new _Stack).get(r);if(p)return p;a.set(r,i),isSet_1(r)?r.forEach(function(e){i.add(baseClone(e,n,o,e,r,a))}):isMap_1(r)&&r.forEach(function(e,t){i.set(t,baseClone(e,n,o,t,r,a))});var f=u?void 0:(l?c?_getAllKeysIn:_getAllKeys:c?keysIn_1:keys_1)(r);_arrayEach(f||r,function(e,t){f&&(e=r[t=e]),_assignValue(i,t,baseClone(e,n,o,t,r,a))})}return i}cloneableTags[argsTag$12]=cloneableTags[arrayTag$12]=cloneableTags[arrayBufferTag$12]=cloneableTags[dataViewTag$1]=cloneableTags[boolTag$12]=cloneableTags[dateTag$12]=cloneableTags[float32Tag2]=cloneableTags[float64Tag2]=cloneableTags[int8Tag2]=cloneableTags[int16Tag2]=cloneableTags[int32Tag2]=cloneableTags[mapTag$1]=cloneableTags[numberTag$12]=cloneableTags[objectTag$22]=cloneableTags[regexpTag$12]=cloneableTags[setTag$1]=cloneableTags[stringTag$12]=cloneableTags[symbolTag$2]=cloneableTags[uint8Tag2]=cloneableTags[uint8ClampedTag2]=cloneableTags[uint16Tag2]=cloneableTags[uint32Tag2]=!0,cloneableTags[errorTag$12]=cloneableTags[funcTag2]=cloneableTags[weakMapTag2]=!1;var _baseClone=baseClone,symbolTag$1=\\\"[object Symbol]\\\";function isSymbol(e){return\\\"symbol\\\"==typeof e||isObjectLike_12(e)&&_baseGetTag2(e)==symbolTag$1}var isSymbol_1=isSymbol,reIsDeepProp=/\\\\.|\\\\[(?:[^[\\\\]]*|([\\\"'])(?:(?!\\\\1)[^\\\\\\\\]|\\\\\\\\.)*?\\\\1)\\\\]/,reIsPlainProp=/^\\\\w*$/;function isKey(e,t){var r;return!isArray_12(e)&&(!(\\\"number\\\"!=(r=typeof e)&&\\\"symbol\\\"!=r&&\\\"boolean\\\"!=r&&null!=e&&!isSymbol_1(e))||reIsPlainProp.test(e)||!reIsDeepProp.test(e)||null!=t&&e in Object(t))}var _isKey=isKey,FUNC_ERROR_TEXT2=\\\"Expected a function\\\";function memoize2(n,o){if(\\\"function\\\"!=typeof n||null!=o&&\\\"function\\\"!=typeof o)throw new TypeError(FUNC_ERROR_TEXT2);var a=function(){var e=arguments,t=o?o.apply(this,e):e[0],r=a.cache;return r.has(t)?r.get(t):(e=n.apply(this,e),a.cache=r.set(t,e)||r,e)};return a.cache=new(memoize2.Cache||_MapCache2),a}memoize2.Cache=_MapCache2;var memoize_12=memoize2,MAX_MEMOIZE_SIZE2=500;function memoizeCapped2(e){var t=memoize_12(e,function(e){return r.size===MAX_MEMOIZE_SIZE2&&r.clear(),e}),r=t.cache;return t}var _memoizeCapped2=memoizeCapped2,rePropName2=/[^.[\\\\]]+|\\\\[(?:(-?\\\\d+(?:\\\\.\\\\d+)?)|([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]|(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|$))/g,reEscapeChar2=/\\\\\\\\(\\\\\\\\)?/g,stringToPath2=memoizeCapped2(function(e){var o=[];return 46===e.charCodeAt(0)&&o.push(\\\"\\\"),e.replace(rePropName2,function(e,t,r,n){o.push(r?n.replace(reEscapeChar2,\\\"$1\\\"):t||e)}),o}),_stringToPath=stringToPath2,INFINITY$12=1/0,symbolProto$12=_Symbol2?_Symbol2.prototype:void 0,symbolToString2=symbolProto$12?symbolProto$12.toString:void 0;function baseToString(e){var t;return\\\"string\\\"==typeof e?e:isArray_12(e)?_arrayMap(e,baseToString)+\\\"\\\":isSymbol_1(e)?symbolToString2?symbolToString2.call(e):\\\"\\\":\\\"0\\\"==(t=e+\\\"\\\")&&1/e==-INFINITY$12?\\\"-0\\\":t}var _baseToString=baseToString;function toString(e){return null==e?\\\"\\\":_baseToString(e)}var toString_1=toString;function castPath(e,t){return isArray_12(e)?e:_isKey(e,t)?[e]:_stringToPath(toString_1(e))}var _castPath=castPath;function last2(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}var last_1=last2,INFINITY2=1/0;function toKey(e){var t;return\\\"string\\\"==typeof e||isSymbol_1(e)?e:\\\"0\\\"==(t=e+\\\"\\\")&&1/e==-INFINITY2?\\\"-0\\\":t}var _toKey=toKey;function baseGet(e,t){for(var r=0,n=(t=_castPath(t,e)).length;null!=e&&r\u003Cn;)e=e[_toKey(t[r++])];return r&&r==n?e:void 0}var _baseGet=baseGet;function baseSlice(e,t,r){for(var n=-1,o=e.length,a=((r=o\u003Cr?o:r)\u003C0&&(r+=o),o=r\u003C(t=t\u003C0?o\u003C-t?0:o+t:t)?0:r-t>>>0,t>>>=0,Array(o));++n\u003Co;)a[n]=e[n+t];return a}var _baseSlice=baseSlice;function parent3(e,t){return t.length\u003C2?e:_baseGet(e,_baseSlice(t,0,-1))}var _parent=parent3;function baseUnset(e,t){return t=_castPath(t,e),null==(e=_parent(e,t))||delete e[_toKey(last_1(t))]}var _baseUnset=baseUnset,objectTag$12=\\\"[object Object]\\\",funcProto2=Function.prototype,objectProto$22=Object.prototype,funcToString2=funcProto2.toString,hasOwnProperty$22=objectProto$22.hasOwnProperty,objectCtorString=funcToString2.call(Object);function isPlainObject$1(e){var t;return!(!isObjectLike_12(e)||_baseGetTag2(e)!=objectTag$12)&&(null===(t=_getPrototype(e))||\\\"function\\\"==typeof(t=hasOwnProperty$22.call(t,\\\"constructor\\\")&&t.constructor)&&t instanceof t&&funcToString2.call(t)==objectCtorString)}var isPlainObject_1=isPlainObject$1;function customOmitClone(e){return isPlainObject_1(e)?void 0:e}var _customOmitClone=customOmitClone,spreadableSymbol=_Symbol2?_Symbol2.isConcatSpreadable:void 0;function isFlattenable(e){return isArray_12(e)||isArguments_1(e)||!!(spreadableSymbol&&e&&e[spreadableSymbol])}var _isFlattenable=isFlattenable;function baseFlatten(e,t,r,n,o){var a=-1,i=e.length;for(r=r||_isFlattenable,o=o||[];++a\u003Ci;){var s=e[a];0\u003Ct&&r(s)?1\u003Ct?baseFlatten(s,t-1,r,n,o):_arrayPush(o,s):n||(o[o.length]=s)}return o}var _baseFlatten=baseFlatten;function flatten(e){return(null==e?0:e.length)?_baseFlatten(e,1):[]}var flatten_1=flatten;function apply2(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}var _apply=apply2,nativeMax=Math.max;function overRest(a,i,s){return i=nativeMax(void 0===i?a.length-1:i,0),function(){for(var e=arguments,t=-1,r=nativeMax(e.length-i,0),n=Array(r);++t\u003Cr;)n[t]=e[i+t];for(var t=-1,o=Array(i+1);++t\u003Ci;)o[t]=e[t];return o[i]=s(n),_apply(a,this,o)}}var _overRest=overRest;function constant(e){return function(){return e}}var constant_1=constant;function identity(e){return e}var identity_1=identity,baseSetToString=_defineProperty$1?function(e,t){return _defineProperty$1(e,\\\"toString\\\",{configurable:!0,enumerable:!1,value:constant_1(t),writable:!0})}:identity_1,_baseSetToString=baseSetToString,HOT_COUNT=800,HOT_SPAN=16,nativeNow=Date.now;function shortOut(r){var n=0,o=0;return function(){var e=nativeNow(),t=HOT_SPAN-(e-o);if(o=e,0\u003Ct){if(++n>=HOT_COUNT)return arguments[0]}else n=0;return r.apply(void 0,arguments)}}var _shortOut=shortOut,setToString=shortOut(_baseSetToString),_setToString=setToString;function flatRest(e){return _setToString(_overRest(e,void 0,flatten_1),e+\\\"\\\")}var _flatRest=flatRest,CLONE_DEEP_FLAG$1=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG$1=4,omit=flatRest(function(t,e){var r={};if(null!=t)for(var n=!1,o=(e=_arrayMap(e,function(e){return e=_castPath(e,t),n=n||1\u003Ce.length,e}),_copyObject(t,_getAllKeysIn(t),r),n&&(r=_baseClone(r,CLONE_DEEP_FLAG$1|CLONE_FLAT_FLAG|CLONE_SYMBOLS_FLAG$1,_customOmitClone)),e.length);o--;)_baseUnset(r,e[o]);return r}),omit_1=omit,eventEditorStore=createStore4(\\\"event-editor\\\")({blur:null,focus:null,last:null}),eventEditorActions=eventEditorStore.set,eventEditorSelectors=eventEditorStore.get,useEventEditorSelectors=eventEditorStore.use,PLATE_SCOPE=\\\"plate\\\",GLOBAL_PLATE_SCOPE=Symbol(\\\"global-plate\\\"),plateIdAtom=atom(PLATE_SCOPE),usePlateId=()=>useAtom(plateIdAtom,GLOBAL_PLATE_SCOPE)[0],createPlateStore=({decorate:e=null,editor:t=null,id:r,isRendered:n=!1,keyDecorate:o=\\\"1\\\",keyEditor:a=\\\"1\\\",keySelection:i=\\\"1\\\",onChange:s=null,editorRef:c=null,plugins:l=[],rawPlugins:u=[],readOnly:d=!1,renderElement:p=null,renderLeaf:f=null,value:g=null,...m}={})=>{const h=createAtomStore({decorate:e,editor:t,id:r,isRendered:n,keyDecorate:o,keyEditor:a,keySelection:i,onChange:s,editorRef:c,plugins:l,rawPlugins:u,readOnly:d,renderElement:p,renderLeaf:f,value:g,...m},{scope:PLATE_SCOPE,name:\\\"plate\\\"});return{plateStore:h.plateStore,usePlateStore:e=>{var t=usePlateId();return isDefined(e)||h.usePlateStore(e).get.id(e)?h.usePlateStore(e):h.usePlateStore(t)}}},{plateStore,usePlateStore}=createPlateStore(),usePlateSelectors=e=>usePlateStore(e).get,usePlateActions=e=>usePlateStore(e).set,usePlateStates=e=>usePlateStore(e).use,useUpdatePlateKey=(e,t)=>{const r=usePlateActions(t)[e]();return(0,import_react8.useCallback)(()=>{r(nanoid())},[r])},useRedecorate=e=>{const t=useUpdatePlateKey(\\\"keyDecorate\\\",e);return(0,import_react8.useCallback)(()=>{t()},[t])},applyDeepToNodes=({node:e,path:r=[],source:n,apply:o,query:a})=>{queryNode([e,r],a)&&(n instanceof Function?o(e,n()):o(e,n)),isAncestor(e)&&e.children.forEach((e,t)=>{applyDeepToNodes({node:e,path:r.concat([t]),source:n,apply:o,query:a})})};function baseRest(e,t){return _setToString(_overRest(e,t,identity_1),e+\\\"\\\")}var _baseRest=baseRest;function assignMergeValue(e,t,r){(void 0===r||eq_12(e[t],r))&&(void 0!==r||t in e)||_baseAssignValue(e,t,r)}var _assignMergeValue=assignMergeValue;function createBaseFor2(c){return function(e,t,r){for(var n=-1,o=Object(e),a=r(e),i=a.length;i--;){var s=a[c?i:++n];if(!1===t(o[s],s,o))break}return e}}var _createBaseFor2=createBaseFor2,baseFor2=createBaseFor2(),_baseFor=baseFor2;function isArrayLikeObject(e){return isObjectLike_12(e)&&isArrayLike_1(e)}var isArrayLikeObject_1=isArrayLikeObject;function safeGet(e,t){if((\\\"constructor\\\"!==t||\\\"function\\\"!=typeof e[t])&&\\\"__proto__\\\"!=t)return e[t]}var _safeGet=safeGet;function toPlainObject(e){return _copyObject(e,keysIn_1(e))}var toPlainObject_1=toPlainObject;function baseMergeDeep(e,t,r,n,o,a,i){var s,c,l,u,d=_safeGet(e,r),p=_safeGet(t,r),f=i.get(p);f||((s=void 0===(f=a?a(d,p,r+\\\"\\\",e,t,i):void 0))&&(l=!(c=isArray_12(p))&&isBuffer_12(p),u=!c&&!l&&isTypedArray_1(p),f=p,c||l||u?f=isArray_12(d)?d:isArrayLikeObject_1(d)?_copyArray(d):l?_cloneBuffer(p,!(s=!1)):u?_cloneTypedArray(p,!(s=!1)):[]:isPlainObject_1(p)||isArguments_1(p)?isArguments_1(f=d)?f=toPlainObject_1(d):isObject_12(d)&&!isFunction_12(d)||(f=_initCloneObject(p)):s=!1),s&&(i.set(p,f),o(f,p,n,a,i),i[\\\"delete\\\"](p))),_assignMergeValue(e,r,f)}var _baseMergeDeep=baseMergeDeep;function baseMerge(n,o,a,i,s){n!==o&&_baseFor(o,function(e,t){var r;s=s||new _Stack,isObject_12(e)?_baseMergeDeep(n,o,t,a,baseMerge,i,s):(r=i?i(_safeGet(n,t),e,t+\\\"\\\",n,o,s):void 0,_assignMergeValue(n,t,r=void 0===r?e:r))},keysIn_1)}var _baseMerge=baseMerge;function customDefaultsMerge(e,t,r,n,o,a){return isObject_12(e)&&isObject_12(t)&&(a.set(t,e),_baseMerge(e,t,void 0,customDefaultsMerge,a),a[\\\"delete\\\"](t)),e}var _customDefaultsMerge=customDefaultsMerge;function isIterateeCall(e,t,r){var n;return!!isObject_12(r)&&!!(\\\"number\\\"==(n=typeof t)?isArrayLike_1(r)&&_isIndex(t,r.length):\\\"string\\\"==n&&t in r)&&eq_12(r[t],e)}var _isIterateeCall=isIterateeCall;function createAssigner(s){return _baseRest(function(e,t){var r=-1,n=t.length,o=1\u003Cn?t[n-1]:void 0,a=2\u003Cn?t[2]:void 0,o=3\u003Cs.length&&\\\"function\\\"==typeof o?(n--,o):void 0;for(a&&_isIterateeCall(t[0],t[1],a)&&(o=n\u003C3?void 0:o,n=1),e=Object(e);++r\u003Cn;){var i=t[r];i&&s(e,i,r,o)}return e})}var _createAssigner=createAssigner,mergeWith=_createAssigner(function(e,t,r,n){_baseMerge(e,t,r,n)}),mergeWith_1=mergeWith,defaultsDeep=_baseRest(function(e){return e.push(void 0,_customDefaultsMerge),_apply(mergeWith_1,void 0,e)}),defaultsDeep_1=defaultsDeep,overridePluginsByKey=(n,o={},e=!1)=>{var t;if(o[n.key]){const{plugins:r,then:i,...s}=o[n.key];n=defaultsDeep_1(s,n),e||null!=r&&r.forEach(t=>{n.plugins||(n.plugins=[]),n.plugins.find(e=>e.key===t.key)||n.plugins.push(t)})}n.plugins&&(n.plugins=n.plugins.map(e=>overridePluginsByKey(e,o,!0)));const a=n[\\\"then\\\"];return a?(void 0===n._thenReplaced&&(n._thenReplaced=0),n._thenReplaced\u003C3&&(n.then=(e,t)=>{var r={key:n.key,...a(e,t)};return defaultsDeep_1(overridePluginsByKey(r,o),r)},n._thenReplaced++)):null!=(t=o[n.key])&&t.then&&(n.then=o[n.key].then),n},createPluginFactory=r=>(e,t={})=>(t[r.key]=e,overridePluginsByKey({...r},t)),KEY_DESERIALIZE_AST=\\\"deserializeAst\\\",createDeserializeAstPlugin=createPluginFactory({key:KEY_DESERIALIZE_AST,editor:{insertData:{format:\\\"application/x-slate-fragment\\\",getFragment:({data:e})=>{var t=decodeURIComponent(window.atob(e));let r;try{r=JSON.parse(t)}catch(n){}return r}}}}),getBlockAbove=(e,t={})=>getAboveNode(e,{...t,block:!0}),isSelectionAtBlockStart=(e,t)=>{var r,n=e[\\\"selection\\\"];return!!n&&!!(r=null==(r=getBlockAbove(e,t))?void 0:r[1])&&(isStartPoint(e,n.focus,r)||isExpanded(e.selection)&&isStartPoint(e,n.anchor,r))},removeSelectionMark=t=>{var e=getMarks(t);e&&Object.keys(e).forEach(e=>{removeEditorMark(t,e)})},KEY_EDITOR_PROTOCOL=\\\"editorProtocol\\\",withEditorProtocol=e=>{const{deleteBackward:t,deleteForward:r,deleteFragment:n}=e,o=()=>{isSelectionAtBlockStart(e)&&removeSelectionMark(e)};return e.deleteBackward=e=>{t(e),o()},e.deleteForward=e=>{r(e),o()},e.deleteFragment=e=>{n(e),o()},e},createEditorProtocolPlugin=createPluginFactory({key:KEY_EDITOR_PROTOCOL,withOverrides:withEditorProtocol}),KEY_EVENT_EDITOR=\\\"event-editor\\\",createEventEditorPlugin=createPluginFactory({key:KEY_EVENT_EDITOR,handlers:{onFocus:e=>()=>{eventEditorActions.focus(e.id)},onBlur:e=>()=>{eventEditorSelectors.focus()===e.id&&eventEditorActions.focus(null),eventEditorActions.blur(e.id)}}}),withTHistory=e=>withHistory(e),createHistoryPlugin=createPluginFactory({key:\\\"history\\\",withOverrides:withTHistory}),KEY_INLINE_VOID=\\\"inline-void\\\",withInlineVoid=e=>{const t=e[\\\"isInline\\\"],r=e[\\\"isVoid\\\"],n=[],o=[];return e.plugins.forEach(e=>{e.isInline&&n.push(e.type),e.isVoid&&o.push(e.type)}),e.isInline=e=>!!n.includes(e.type)||t(e),e.isVoid=e=>!!o.includes(e.type)||r(e),e},createInlineVoidPlugin=createPluginFactory({key:KEY_INLINE_VOID,withOverrides:withInlineVoid}),getInjectedPlugins=(e,r)=>{const n=[];return[...e.plugins].reverse().forEach(e=>{var t=null==(t=e.inject.pluginsByKey)?void 0:t[r.key];t&&n.push(t)}),[r,...n]},pipeInsertDataQuery=(e,{data:r,dataTransfer:n})=>e.every(e=>{var t=null==(t=e.editor)||null==(t=t.insertData)?void 0:t.query;return!t||t({data:r,dataTransfer:n})}),pipeInsertFragment=(e,t,{fragment:n,...o})=>{withoutNormalizing2(e,()=>{t.some(e=>{var t,r;return!0===(null==(t=e.editor)||null==(t=t.insertData)||null==(r=t.preInsert)?void 0:r.call(t,n,o))}),e.insertFragment(n)})},pipeTransformData=(e,{data:r,dataTransfer:n})=>(e.forEach(e=>{var t=null==(t=e.editor)||null==(t=t.insertData)?void 0:t.transformData;t&&(r=t(r,{dataTransfer:n}))}),r),pipeTransformFragment=(e,{fragment:r,...n})=>(e.forEach(e=>{var t=null==(t=e.editor)||null==(t=t.insertData)?void 0:t.transformFragment;t&&(r=t(r,n))}),r),withInsertData=i=>{const e=i[\\\"insertData\\\"];return i.insertData=a=>{[...i.plugins].reverse().some(e=>{var t,r,n,o=e.editor.insertData;return!!o&&(r=getInjectedPlugins(i,e),({format:o,getFragment:n}=o),!!o)&&((o=a.getData(o))?!(!pipeInsertDataQuery(r,{data:o,dataTransfer:a})||(o=pipeTransformData(r,{data:o,dataTransfer:a}),null==(t=n=null==n?void 0:n({data:o,dataTransfer:a})))||!t.length||0===(n=pipeTransformFragment(r,{fragment:n,data:o,dataTransfer:a})).length||(pipeInsertFragment(i,r,{fragment:n,data:o,dataTransfer:a}),0)):void 0)})||e(a)},i},KEY_INSERT_DATA=\\\"insertData\\\",createInsertDataPlugin=createPluginFactory({key:KEY_INSERT_DATA,withOverrides:withInsertData}),ELEMENT_DEFAULT=\\\"p\\\",KEY_NODE_FACTORY=\\\"nodeFactory\\\",createNodeFactoryPlugin=createPluginFactory({key:KEY_NODE_FACTORY,withOverrides:t=>(t.blockFactory=e=>({type:getPluginType(t,ELEMENT_DEFAULT),children:[{text:\\\"\\\"}],...e}),t.childrenFactory=()=>[t.blockFactory()],t)}),KEY_PREV_SELECTION=\\\"prevSelection\\\",createPrevSelectionPlugin=createPluginFactory({key:KEY_PREV_SELECTION,handlers:{onKeyDown:t=>e=>{e.persist(),t.currentKeyboardEvent=e}},withOverrides:r=>{const n=r[\\\"apply\\\"];return r.apply=e=>{var t;\\\"set_selection\\\"===e.type?(t=e[\\\"properties\\\"],r.prevSelection=t,n(e),r.currentKeyboardEvent=null):n(e)},r}}),withTReact=e=>withReact(e),createReactPlugin=createPluginFactory({key:\\\"react\\\",withOverrides:withTReact}),getPluginsByKey=e=>{var t;return null!=(t=null==e?void 0:e.pluginsByKey)?t:{}},getPlugin=(e,t)=>{var r;return null!=(r=getPluginsByKey(e)[t])?r:{key:t}},getPluginType=(e,t)=>{var r;return null!=(r=null!=(r=getPlugin(e,t).type)?r:t)?r:\\\"\\\"},isInlineNode=t=>e=>isText(e)||isElement2(e)&&t.isInline(e),makeBlockLazy=e=>()=>({type:e,children:[]}),hasDifferentChildNodes=(e,o)=>e.some((e,t,r)=>{var n=r[t-1];return 0!==t&&o(e)!==o(n)}),normalizeDifferentNodeTypes=(e,n,o)=>{const a=hasDifferentChildNodes(e,n);var t=e.reduce((t,r)=>{if(a&&n(r)){let e=t.precedingBlock;e||(e=o(),t.precedingBlock=e,t.fragment.push(e)),e.children.push(r)}else t.fragment.push(r),t.precedingBlock=null;return t},{fragment:[],precedingBlock:null})[\\\"fragment\\\"];return t},normalizeEmptyChildren=e=>0===e.length?[{text:\\\"\\\"}]:e,normalize3=(e,t,r)=>(e=normalizeEmptyChildren(e),e=(e=normalizeDifferentNodeTypes(e,t,r)).map(e=>isElement2(e)?{...e,children:normalize3(e.children,t,r)}:e)),normalizeDescendantsToDocumentFragment=(e,{descendants:t})=>{var r=isInlineNode(e),n=getPluginType(e,ELEMENT_DEFAULT),n=makeBlockLazy(n);return normalize3(t,r,n)};function isObject3(e){return\\\"[object Object]\\\"===Object.prototype.toString.call(e)}function isPlainObject2(e){var t;return!1!==isObject3(e)&&(void 0===(t=e.constructor)||!1!==isObject3(t=t.prototype)&&!1!==t.hasOwnProperty(\\\"isPrototypeOf\\\"))}function _defineProperty3(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ANCHOR=new WeakMap,FOCUS=new WeakMap,Token=class{},AnchorToken=class extends Token{constructor(){var e=0\u003Carguments.length&&void 0!==arguments[0]?arguments[0]:{},{offset:e,path:t}=(super(),e);this.offset=e,this.path=t}},FocusToken=class extends Token{constructor(){var e=0\u003Carguments.length&&void 0!==arguments[0]?arguments[0]:{},{offset:e,path:t}=(super(),e);this.offset=e,this.path=t}},addAnchorToken=(e,t)=>{var r=e.text.length;ANCHOR.set(e,[r,t])},getAnchorOffset=e=>ANCHOR.get(e),addFocusToken=(e,t)=>{var r=e.text.length;FOCUS.set(e,[r,t])},getFocusOffset=e=>FOCUS.get(e);function ownKeys$13(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread$13(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys$13(Object(r),!0).forEach(function(e){_defineProperty3(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys$13(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var STRINGS=new WeakSet,resolveDescendants=e=>{var t,n=[],o=e=>{if(null!=e){var t=n[n.length-1];if(\\\"string\\\"==typeof e&&(STRINGS.add(r={text:e}),e=r),Text.isText(e)){var r=e;Text.isText(t)&&STRINGS.has(t)&&STRINGS.has(r)&&Text.equals(t,r,{loose:!0})?t.text+=r.text:n.push(r)}else if(Element2.isElement(e))n.push(e);else{if(!(e instanceof Token))throw new Error(\\\"Unexpected hyperscript child object: \\\".concat(e));t=n[n.length-1];Text.isText(t)||(o(\\\"\\\"),t=n[n.length-1]),e instanceof AnchorToken?addAnchorToken(t,e):e instanceof FocusToken&&addFocusToken(t,e)}}};for(t of e.flat(Infinity))o(t);return n};function createAnchor(e,t,r){return new AnchorToken(t)}function createCursor(e,t,r){return[new AnchorToken(t),new FocusToken(t)]}function createElement3(e,t,r){return _objectSpread$13(_objectSpread$13({},t),{},{children:resolveDescendants(r)})}function createFocus(e,t,r){return new FocusToken(t)}function createFragment(e,t,r){return resolveDescendants(r)}function createSelection(e,t,r){var n=r.find(e=>e instanceof AnchorToken),o=r.find(e=>e instanceof FocusToken);if(!n||null==n.offset||null==n.path)throw new Error(\\\"The \u003Cselection> hyperscript tag must have an \u003Canchor> tag as a child with `path` and `offset` attributes defined.\\\");if(o&&null!=o.offset&&null!=o.path)return _objectSpread$13({anchor:{offset:n.offset,path:n.path},focus:{offset:o.offset,path:o.path}},t);throw new Error(\\\"The \u003Cselection> hyperscript tag must have a \u003Cfocus> tag as a child with `path` and `offset` attributes defined.\\\")}function createText(e,t,r){var n=resolveDescendants(r);if(1\u003Cn.length)throw new Error(\\\"The \u003Ctext> hyperscript tag must only contain a single node's worth of children.\\\");var[n]=n;if(Text.isText(n=null==n?{text:\\\"\\\"}:n))return STRINGS[\\\"delete\\\"](n),Object.assign(n,t),n;throw new Error(\\\"\\\\n The \u003Ctext> hyperscript tag can only contain text content as children.\\\")}var createEditor2=f=>(e,t,r)=>{var n,o,a=[];for(o of r)Range.isRange(o)?n=o:a.push(o);var i,s,c=resolveDescendants(a),l={},u=f();Object.assign(u,t),u.children=c;for([i,s]of Node2.texts(u)){var d=getAnchorOffset(i),p=getFocusOffset(i);null!=d&&(([d]=d),l.anchor={path:s,offset:d}),null!=p&&(([d]=p),l.focus={path:s,offset:d})}if(l.anchor&&!l.focus)throw new Error(\\\"Slate hyperscript ranges must have both `\u003Canchor />` and `\u003Cfocus />` defined if one is defined, but you only defined `\u003Canchor />`. For collapsed selections, use `\u003Ccursor />` instead.\\\");if(!l.anchor&&l.focus)throw new Error(\\\"Slate hyperscript ranges must have both `\u003Canchor />` and `\u003Cfocus />` defined if one is defined, but you only defined `\u003Cfocus />`. For collapsed selections, use `\u003Ccursor />` instead.\\\");return null!=n?u.selection=n:Range.isRange(l)&&(u.selection=l),u};function ownKeys3(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread3(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys3(Object(r),!0).forEach(function(e){_defineProperty3(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys3(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var DEFAULT_CREATORS={anchor:createAnchor,cursor:createCursor,editor:createEditor2(createEditor),element:createElement3,focus:createFocus,fragment:createFragment,selection:createSelection,text:createText},createHyperscript=function createHyperscript2(){var e=0\u003Carguments.length&&void 0!==arguments[0]?arguments[0]:{},{elements:t={}}=e,t=normalizeElements(t),t=_objectSpread3(_objectSpread3(_objectSpread3({},DEFAULT_CREATORS),t),e.creators);return createFactory(t)},createFactory=i=>{return function(e,t){for(var r=arguments.length,n=new Array(2\u003Cr?r-2:0),o=2;o\u003Cr;o++)n[o-2]=arguments[o];var a=i[e];if(a)return isPlainObject2(t=null==t?{}:t)||(n=[t].concat(n),t={}),a(e,t,n=n.filter(e=>Boolean(e)).flat());throw new Error(\\\"No hyperscript creator found for tag: \u003C\\\".concat(e,\\\">\\\"))}},normalizeElements=t=>{var e,r={};for(e in t)!function(e){var n=t[e];if(\\\"object\\\"!=typeof n)throw new Error(\\\"Properties specified for a hyperscript shorthand should be an object, but for the custom element \u003C\\\".concat(e,\\\"> tag you passed: \\\").concat(n));r[e]=(e,t,r)=>createElement3(\\\"element\\\",_objectSpread3(_objectSpread3({},n),t),r)}(e);return r},jsx2=createHyperscript(),deserializeHtmlNodeChildren=(e,t)=>Array.from(t.childNodes).flatMap(deserializeHtmlNode(e)),htmlBodyToFragment=(e,t)=>{if(\\\"BODY\\\"===t.nodeName)return jsx2(\\\"fragment\\\",{},deserializeHtmlNodeChildren(e,t))},htmlBrToNewLine=e=>{if(\\\"BR\\\"===e.nodeName)return\\\"\\\\n\\\"};function castArray2(){var e;return arguments.length?isArray_12(e=arguments[0])?e:[e]:[]}var castArray_12=castArray2,pluginDeserializeHtml=(t,l,{element:u,deserializeLeaf:r})=>{const{deserializeHtml:o,isElement:n,isLeaf:a,type:i}=l;if(o){var{attributeNames:s,query:c,isLeaf:d,isElement:p,rules:f}=o;let e=o[\\\"getNode\\\"];p=p||n,d=d||a;if((r||p)&&(!r||d)){if(f)if(!f.some(({validNodeName:e=\\\"*\\\",validStyle:t,validClassName:r,validAttribute:n})=>{if(e){var o=castArray_12(e);if(0\u003Co.length&&!o.includes(u.nodeName)&&\\\"*\\\"!==e)return!1}if(r&&!u.classList.contains(r))return!1;if(t)for(var[a,i]of Object.entries(t)){if(!castArray_12(i).includes(u.style[a])&&\\\"*\\\"!==i)return;if(\\\"*\\\"===i&&!u.style[a])return;i=null==(i=l.inject.props)?void 0:i.defaultNodeValue;if(i&&i===u.style[a])return!1}if(n)if(\\\"string\\\"==typeof n){if(!u.getAttributeNames().includes(n))return!1}else for(var[s,c]of Object.entries(n)){c=castArray_12(c),s=u.getAttribute(s);if(!isDefined(s)||!c.includes(s))return!1}return!0}))return;if(!c||c(u)){if(!e)if(p)e=()=>({type:i});else{if(!d)return;e=()=>({[i]:!0})}let n=null!=(f=e(u,{}))?f:{};if(0!==Object.keys(n).length){if(getInjectedPlugins(t,l).forEach(e=>{var t,r=null==(r=e.deserializeHtml)||null==(t=r.getNode)?void 0:t.call(r,u,n);r&&(n={...n,...r})}),s){var g={};for(const m of u.getAttributeNames())s.includes(m)&&(g[m]=u.getAttribute(m));0\u003CObject.keys(g).length&&(n.attributes=g)}return{...o,node:n}}}}}},pipeDeserializeHtmlElement=(t,r)=>{let n;return[...t.plugins].reverse().some(e=>!!(n=pluginDeserializeHtml(t,e,{element:r}))),n},htmlElementToElement=(t,r)=>{var n=pipeDeserializeHtmlElement(t,r);if(n){var o,{node:n,withoutChildren:a}=n;let e=null!=(o=n.children)?o:deserializeHtmlNodeChildren(t,r);return 0!==e.length&&!a||(e=[{text:\\\"\\\"}]),jsx2(\\\"element\\\",n,e)}},pipeDeserializeHtmlLeaf=(r,n)=>{let o={};return[...r.plugins].reverse().forEach(e=>{var t=pluginDeserializeHtml(r,e,{element:n,deserializeLeaf:!0});t&&(o={...o,...t.node})}),o},htmlElementToLeaf=(e,t)=>{const n=pipeDeserializeHtmlLeaf(e,t);return deserializeHtmlNodeChildren(e,t).reduce((e,t)=>{if(t)if(isElement2(t))0\u003CObject.keys(n).length&&mergeDeepToNodes({node:t,source:n,query:{filter:([e])=>isText(e)}}),e.push(t);else{const r={...n};isText(t)&&t.text&&Object.keys(r).forEach(e=>{r[e]&&t[e]&&(r[e]=t[e])}),e.push(jsx2(\\\"text\\\",r,t))}return e},[])},isHtmlText=e=>e.nodeType===Node.TEXT_NODE,htmlTextNodeToString=e=>{var t;if(isHtmlText(e))return 0\u003C(t=null!=(t=null==(t=e.textContent)?void 0:t.replace(/^\\\\n+|\\\\n+$/g,\\\"\\\"))?t:\\\"\\\").length?t:null},isHtmlElement=e=>e.nodeType===Node.ELEMENT_NODE,deserializeHtmlNode=r=>e=>{var t=htmlTextNodeToString(e);return t||(isHtmlElement(e)?htmlBrToNewLine(e)||htmlBodyToFragment(r,e)||htmlElementToElement(r,e)||htmlElementToLeaf(r,e):null)},deserializeHtmlElement=(e,t)=>deserializeHtmlNode(e)(t),htmlStringToDOMNode=(e,t=!0)=>{var r=document.createElement(\\\"body\\\");return r.innerHTML=e,t&&(r.innerHTML=r.innerHTML.replaceAll(/(\\\\r\\\\n|[\\\\t\\\\n\\\\r])/g,\\\"\\\")),r},deserializeHtml=(e,{element:t,stripWhitespace:r=!0})=>{\\\"string\\\"==typeof t&&(t=htmlStringToDOMNode(t,r));var n=deserializeHtmlElement(e,t);return normalizeDescendantsToDocumentFragment(e,{descendants:n})},parseHtmlDocument=e=>(new DOMParser).parseFromString(e,\\\"text/html\\\"),KEY_DESERIALIZE_HTML=\\\"deserializeHtml\\\",createDeserializeHtmlPlugin=createPluginFactory({key:KEY_DESERIALIZE_HTML,then:r=>({editor:{insertData:{format:\\\"text/html\\\",getFragment:({data:e})=>{var t=parseHtmlDocument(e);return deserializeHtml(r,{element:t.body})}}}})}),traverseHtmlNode=(t,r)=>{if(r(t)){let e=t.firstChild;for(;e;){var n=e,o=e.previousSibling;e=e.nextSibling,traverseHtmlNode(n,r),n.previousSibling||n.nextSibling||n.parentNode||!e||o===e.previousSibling||!e.parentNode?n.previousSibling||n.nextSibling||n.parentNode||!e||e.previousSibling||e.nextSibling||e.parentNode||(o?e=o.nextSibling?o.nextSibling.nextSibling:null:t.firstChild&&(e=t.firstChild.nextSibling)):e=o?o.nextSibling:t.firstChild}}},traverseHtmlElements=(e,t)=>{traverseHtmlNode(e,e=>!isHtmlElement(e)||t(e))},findHtmlElement=(e,t)=>{let r=null;return traverseHtmlElements(e,e=>!t(e)||(r=e,!1)),r},someHtmlElement=(e,t)=>!!findHtmlElement(e,t);function arrayAggregator(e,t,r,n){for(var o=-1,a=null==e?0:e.length;++o\u003Ca;){var i=e[o];t(n,i,r(i),e)}return n}var _arrayAggregator=arrayAggregator;function baseForOwn(e,t){return e&&_baseFor(e,t,keys_1)}var _baseForOwn=baseForOwn;function createBaseEach(a,i){return function(e,t){if(null!=e){if(!isArrayLike_1(e))return a(e,t);for(var r=e.length,n=i?r:-1,o=Object(e);(i?n--:++n\u003Cr)&&!1!==t(o[n],n,o););}return e}}var _createBaseEach=createBaseEach,baseEach=createBaseEach(baseForOwn),_baseEach=baseEach;function baseAggregator(e,n,o,a){return _baseEach(e,function(e,t,r){n(a,e,o(e),r)}),a}var _baseAggregator=baseAggregator,HASH_UNDEFINED2=\\\"__lodash_hash_undefined__\\\";function setCacheAdd2(e){return this.__data__.set(e,HASH_UNDEFINED2),this}var _setCacheAdd2=setCacheAdd2;function setCacheHas2(e){return this.__data__.has(e)}var _setCacheHas2=setCacheHas2;function SetCache2(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new _MapCache2;++t\u003Cr;)this.add(e[t])}SetCache2.prototype.add=SetCache2.prototype.push=_setCacheAdd2,SetCache2.prototype.has=_setCacheHas2;var _SetCache=SetCache2;function arraySome(e,t){for(var r=-1,n=null==e?0:e.length;++r\u003Cn;)if(t(e[r],r,e))return!0;return!1}var _arraySome=arraySome;function cacheHas(e,t){return e.has(t)}var _cacheHas=cacheHas,COMPARE_PARTIAL_FLAG$5=1,COMPARE_UNORDERED_FLAG$3=2;function equalArrays(e,t,r,n,o,a){var i=r&COMPARE_PARTIAL_FLAG$5,s=e.length,c=t.length;if(s!=c&&!(i&&s\u003Cc))return!1;var c=a.get(e),l=a.get(t);if(c&&l)return c==t&&l==e;var u=-1,d=!0,p=r&COMPARE_UNORDERED_FLAG$3?new _SetCache:void 0;for(a.set(e,t),a.set(t,e);++u\u003Cs;){var f,g=e[u],m=t[u];if(void 0!==(f=n?i?n(m,g,u,t,e,a):n(g,m,u,e,t,a):f)){if(f)continue;d=!1;break}if(p){if(!_arraySome(t,function(e,t){if(!_cacheHas(p,t)&&(g===e||o(g,e,r,n,a)))return p.push(t)})){d=!1;break}}else if(g!==m&&!o(g,m,r,n,a)){d=!1;break}}return a[\\\"delete\\\"](e),a[\\\"delete\\\"](t),d}var _equalArrays=equalArrays;function mapToArray(e){var r=-1,n=Array(e.size);return e.forEach(function(e,t){n[++r]=[t,e]}),n}var _mapToArray=mapToArray;function setToArray(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}var _setToArray=setToArray,COMPARE_PARTIAL_FLAG$4=1,COMPARE_UNORDERED_FLAG$2=2,boolTag=\\\"[object Boolean]\\\",dateTag=\\\"[object Date]\\\",errorTag=\\\"[object Error]\\\",mapTag2=\\\"[object Map]\\\",numberTag=\\\"[object Number]\\\",regexpTag=\\\"[object RegExp]\\\",setTag2=\\\"[object Set]\\\",stringTag=\\\"[object String]\\\",symbolTag=\\\"[object Symbol]\\\",arrayBufferTag=\\\"[object ArrayBuffer]\\\",dataViewTag2=\\\"[object DataView]\\\",symbolProto2=_Symbol2?_Symbol2.prototype:void 0,symbolValueOf2=symbolProto2?symbolProto2.valueOf:void 0;function equalByTag(e,t,r,n,o,a,i){switch(r){case dataViewTag2:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case arrayBufferTag:return e.byteLength==t.byteLength&&a(new _Uint8Array(e),new _Uint8Array(t))?!0:!1;case boolTag:case dateTag:case numberTag:return eq_12(+e,+t);case errorTag:return e.name==t.name&&e.message==t.message;case regexpTag:case stringTag:return e==t+\\\"\\\";case mapTag2:var s=_mapToArray;case setTag2:s=s||_setToArray;if(e.size!=t.size&&!(n&COMPARE_PARTIAL_FLAG$4))return!1;var c=i.get(e);if(c)return c==t;n|=COMPARE_UNORDERED_FLAG$2,i.set(e,t);c=_equalArrays(s(e),s(t),n,o,a,i);return i[\\\"delete\\\"](e),c;case symbolTag:if(symbolValueOf2)return symbolValueOf2.call(e)==symbolValueOf2.call(t)}return!1}var _equalByTag=equalByTag,COMPARE_PARTIAL_FLAG$3=1,objectProto$12=Object.prototype,hasOwnProperty$12=objectProto$12.hasOwnProperty;function equalObjects(e,t,r,n,o,a){var i=r&COMPARE_PARTIAL_FLAG$3,s=_getAllKeys(e),c=s.length;if(c!=_getAllKeys(t).length&&!i)return!1;for(var l=c;l--;){var u=s[l];if(!(i?u in t:hasOwnProperty$12.call(t,u)))return!1}var d=a.get(e),p=a.get(t);if(d&&p)return d==t&&p==e;for(var f=!0,g=(a.set(e,t),a.set(t,e),i);++l\u003Cc;){var m,h=e[u=s[l]],_=t[u];if(!(void 0===(m=n?i?n(_,h,u,t,e,a):n(h,_,u,e,t,a):m)?h===_||o(h,_,r,n,a):m)){f=!1;break}g=g||\\\"constructor\\\"==u}return f&&!g&&(d=e.constructor)!=(p=t.constructor)&&\\\"constructor\\\"in e&&\\\"constructor\\\"in t&&!(\\\"function\\\"==typeof d&&d instanceof d&&\\\"function\\\"==typeof p&&p instanceof p)&&(f=!1),a[\\\"delete\\\"](e),a[\\\"delete\\\"](t),f}var _equalObjects=equalObjects,COMPARE_PARTIAL_FLAG$2=1,argsTag=\\\"[object Arguments]\\\",arrayTag=\\\"[object Array]\\\",objectTag=\\\"[object Object]\\\",objectProto2=Object.prototype,hasOwnProperty2=objectProto2.hasOwnProperty;function baseIsEqualDeep(e,t,r,n,o,a){var i=isArray_12(e),s=isArray_12(t),c=i?arrayTag:_getTag(e),s=s?arrayTag:_getTag(t),l=(c=c==argsTag?objectTag:c)==objectTag,u=(s=s==argsTag?objectTag:s)==objectTag,s=c==s;if(s&&isBuffer_12(e)){if(!isBuffer_12(t))return!1;l=!(i=!0)}if(s&&!l)return a=a||new _Stack,i||isTypedArray_1(e)?_equalArrays(e,t,r,n,o,a):_equalByTag(e,t,c,r,n,o,a);if(!(r&COMPARE_PARTIAL_FLAG$2)){i=l&&hasOwnProperty2.call(e,\\\"__wrapped__\\\"),c=u&&hasOwnProperty2.call(t,\\\"__wrapped__\\\");if(i||c)return o(i?e.value():e,c?t.value():t,r,n,a=a||new _Stack)}return s&&(a=a||new _Stack,_equalObjects(e,t,r,n,o,a))}var _baseIsEqualDeep=baseIsEqualDeep;function baseIsEqual(e,t,r,n,o){return e===t||(null==e||null==t||!isObjectLike_12(e)&&!isObjectLike_12(t)?e!=e&&t!=t:_baseIsEqualDeep(e,t,r,n,baseIsEqual,o))}var _baseIsEqual=baseIsEqual,COMPARE_PARTIAL_FLAG$1=1,COMPARE_UNORDERED_FLAG$1=2;function baseIsMatch(e,t,r,n){var o=r.length,a=o,i=!n;if(null==e)return!a;for(e=Object(e);o--;){var s=r[o];if(i&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o\u003Ca;){var c=(s=r[o])[0],l=e[c],u=s[1];if(i&&s[2]){if(void 0===l&&!(c in e))return!1}else{var d,p=new _Stack;if(!(void 0===(d=n?n(l,u,c,e,t,p):d)?_baseIsEqual(u,l,COMPARE_PARTIAL_FLAG$1|COMPARE_UNORDERED_FLAG$1,n,p):d))return!1}}return!0}var _baseIsMatch=baseIsMatch;function isStrictComparable(e){return e==e&&!isObject_12(e)}var _isStrictComparable=isStrictComparable;function getMatchData(e){for(var t=keys_1(e),r=t.length;r--;){var n=t[r],o=e[n];t[r]=[n,o,_isStrictComparable(o)]}return t}var _getMatchData=getMatchData;function matchesStrictComparable(t,r){return function(e){return null!=e&&e[t]===r&&(void 0!==r||t in Object(e))}}var _matchesStrictComparable=matchesStrictComparable;function baseMatches(t){var r=_getMatchData(t);return 1==r.length&&r[0][2]?_matchesStrictComparable(r[0][0],r[0][1]):function(e){return e===t||_baseIsMatch(e,t,r)}}var _baseMatches=baseMatches;function get(e,t,r){var n=null==e?void 0:_baseGet(e,t);return void 0===n?r:n}var get_1=get;function baseHasIn(e,t){return null!=e&&t in Object(e)}var _baseHasIn=baseHasIn;function hasPath2(e,t,r){for(var n=-1,o=(t=_castPath(t,e)).length,a=!1;++n\u003Co;){var i=_toKey(t[n]);if(!(a=null!=e&&r(e,i)))break;e=e[i]}return a||++n!=o?a:!!(o=null==e?0:e.length)&&isLength_12(o)&&_isIndex(i,o)&&(isArray_12(e)||isArguments_1(e))}var _hasPath=hasPath2;function hasIn(e,t){return null!=e&&_hasPath(e,t,_baseHasIn)}var hasIn_1=hasIn,COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function baseMatchesProperty(r,n){return _isKey(r)&&_isStrictComparable(n)?_matchesStrictComparable(_toKey(r),n):function(e){var t=get_1(e,r);return void 0===t&&t===n?hasIn_1(e,r):_baseIsEqual(n,t,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG)}}var _baseMatchesProperty=baseMatchesProperty;function baseProperty(t){return function(e){return null==e?void 0:e[t]}}var _baseProperty=baseProperty;function basePropertyDeep(t){return function(e){return _baseGet(e,t)}}var _basePropertyDeep=basePropertyDeep;function property(e){return _isKey(e)?_baseProperty(_toKey(e)):_basePropertyDeep(e)}var property_1=property;function baseIteratee(e){return\\\"function\\\"==typeof e?e:null==e?identity_1:\\\"object\\\"==typeof e?isArray_12(e)?_baseMatchesProperty(e[0],e[1]):_baseMatches(e):property_1(e)}var _baseIteratee=baseIteratee;function createAggregator(o,a){return function(e,t){var r=isArray_12(e)?_arrayAggregator:_baseAggregator,n=a?a():{};return r(e,o,_baseIteratee(t),n)}}var _createAggregator=createAggregator,keyBy=createAggregator(function(e,t,r){_baseAssignValue(e,r,t)}),keyBy_1=keyBy,merge=_createAssigner(function(e,t,r){_baseMerge(e,t,r)}),merge_1=merge;function baseValues(t,e){return _arrayMap(e,function(e){return t[e]})}var _baseValues=baseValues;function values(e){return null==e?[]:_baseValues(e,keys_1(e))}var values_1=values,mergeDeepPlugins=(e,t)=>{var r,n={...t},o=n[\\\"then\\\"];return o?(delete n.then,r=n[\\\"plugins\\\"],o=mergeDeepPlugins(e,defaultsDeep_1(o(e,n),n)),r&&o.plugins&&(r=merge_1(keyBy_1(r,\\\"key\\\"),keyBy_1(o.plugins,\\\"key\\\")),o.plugins=values_1(r)),o):n},setDefaultPlugin=e=>(void 0===e.type&&(e.type=e.key),e.options||(e.options={}),e.inject||(e.inject={}),e.editor||(e.editor={}),e),flattenDeepPlugins=(o,e)=>{e&&e.forEach(e=>{var t,r,n=setDefaultPlugin(e);!1!==(n=mergeDeepPlugins(o,n)).enabled&&(o.pluginsByKey[n.key]?(t=o.plugins.indexOf(o.pluginsByKey[n.key]),r=defaultsDeep_1(n,o.pluginsByKey[n.key]),0\u003C=t&&(o.plugins[t]=r),o.pluginsByKey[n.key]=r):(o.plugins.push(n),o.pluginsByKey[n.key]=n),flattenDeepPlugins(o,n.plugins))})},setPlatePlugins=(r,{disableCorePlugins:e,plugins:t=[]})=>{let n=[];var o,a;!0!==e&&(\\\"object\\\"==typeof(o=e)&&null!=o&&o.react||n.push(null!=(a=null==r||null==(a=r.pluginsByKey)?void 0:a.react)?a:createReactPlugin()),\\\"object\\\"==typeof o&&null!=o&&o.history||n.push(null!=(a=null==r||null==(a=r.pluginsByKey)?void 0:a.history)?a:createHistoryPlugin()),\\\"object\\\"==typeof o&&null!=o&&o.nodeFactory||n.push(null!=(a=null==r||null==(a=r.pluginsByKey)?void 0:a[KEY_NODE_FACTORY])?a:createNodeFactoryPlugin()),\\\"object\\\"==typeof o&&null!=o&&o.eventEditor||n.push(null!=(a=null==r||null==(a=r.pluginsByKey)?void 0:a[KEY_EVENT_EDITOR])?a:createEventEditorPlugin()),\\\"object\\\"==typeof o&&null!=o&&o.inlineVoid||n.push(null!=(a=null==r||null==(a=r.pluginsByKey)?void 0:a[KEY_INLINE_VOID])?a:createInlineVoidPlugin()),\\\"object\\\"==typeof o&&null!=o&&o.insertData||n.push(null!=(a=null==r||null==(a=r.pluginsByKey)?void 0:a[KEY_INSERT_DATA])?a:createInsertDataPlugin()),\\\"object\\\"==typeof o&&null!=o&&o.selection||n.push(null!=(a=null==r||null==(a=r.pluginsByKey)?void 0:a[KEY_PREV_SELECTION])?a:createPrevSelectionPlugin()),\\\"object\\\"==typeof o&&null!=o&&o.deserializeHtml||n.push(null!=(a=null==r||null==(a=r.pluginsByKey)?void 0:a[KEY_DESERIALIZE_HTML])?a:createDeserializeHtmlPlugin()),\\\"object\\\"==typeof o&&null!=o&&o.deserializeAst||n.push(null!=(a=null==r||null==(a=r.pluginsByKey)?void 0:a[KEY_DESERIALIZE_AST])?a:createDeserializeAstPlugin()),\\\"object\\\"==typeof o&&null!=o&&o.editorProtocol||n.push(null!=(o=null==r||null==(a=r.pluginsByKey)?void 0:a[KEY_EDITOR_PROTOCOL])?o:createEditorProtocolPlugin())),n=[...n,...t],r.plugins=[],r.pluginsByKey={},flattenDeepPlugins(r,n),r.plugins.forEach(t=>{var e;t.overrideByKey&&(e=r.plugins.map(e=>overridePluginsByKey(e,t.overrideByKey)),r.plugins=[],r.pluginsByKey={},flattenDeepPlugins(r,e))})},shouldHaveBeenOverridden=e=>()=>{console.warn(`editor.${e} should have been overriden but was not. Please report this issue here: https://github.com/udecode/plate/issues`)},withPlate=(e,{id:t,plugins:r=[],disableCorePlugins:n}={})=>{let o=e;return o.id=null!=t?t:o.id,o.prevSelection=null,o.currentKeyboardEvent=null,o.reset=()=>shouldHaveBeenOverridden(\\\"reset\\\"),o.redecorate=()=>shouldHaveBeenOverridden(\\\"redecorate\\\"),o.plate={get set(){return null}},o.key||(o.key=Math.random()),setPlatePlugins(o,{plugins:r,disableCorePlugins:n}),o.plugins.forEach(e=>{e.withOverrides&&(o=e.withOverrides(o,e))}),o},CLONE_DEEP_FLAG=1,CLONE_SYMBOLS_FLAG=4;function cloneDeep(e){return _baseClone(e,CLONE_DEEP_FLAG|CLONE_SYMBOLS_FLAG)}var cloneDeep_1=cloneDeep,createPlugins=(e,{components:t,overrideByKey:r}={})=>{let n={};return r&&(n=cloneDeep_1(r)),t&&Object.keys(t).forEach(e=>{n[e]||(n[e]={}),n[e].component=t[e]}),0\u003CObject.keys(n).length?e.map(e=>overridePluginsByKey(e,n)):e},createPlateEditor=({editor:e=createTEditor(),plugins:t=[],components:r,overrideByKey:n,normalizeInitialValue:o,...a}={})=>{t=createPlugins(t,{components:r,overrideByKey:n});var i=withPlate(e,{plugins:t,...a});return o&&normalizeEditor(i,{force:!0}),i},getPluginOptions=(e,t)=>{var r;return null!=(r=getPlugin(e,t).options)?r:{}},getPluginTypes=(t,e)=>e.map(e=>getPluginType(t,e)),getSlateClass=e=>\\\"slate-\\\"+e,getRenderNodeProps=({attributes:e,nodeProps:r,props:t,type:n})=>{let o={};var a=(!(o=t?null!=(a=\\\"function\\\"==typeof t?t(r):t)?a:{}:o).nodeProps&&e&&(o.nodeProps=e),(r={...r,...o}).nodeProps&&Object.keys(r.nodeProps).forEach(e=>{var t;void 0===(null==(t=r.nodeProps)?void 0:t[e])&&null!=(t=r.nodeProps)&&delete t[e]}),r)[\\\"className\\\"];return{...r,className:clsx_m_default(getSlateClass(n),a)}},lib=createCommonjsModule2(function(e,t){Object.defineProperty(t,\\\"__esModule\\\",{value:!0});for(var _={alt:\\\"altKey\\\",control:\\\"ctrlKey\\\",meta:\\\"metaKey\\\",shift:\\\"shiftKey\\\"},r=()=>({add:\\\"+\\\",\\\"break\\\":\\\"pause\\\",cmd:\\\"meta\\\",command:\\\"meta\\\",ctl:\\\"control\\\",ctrl:\\\"control\\\",del:\\\"delete\\\",down:\\\"arrowdown\\\",esc:\\\"escape\\\",ins:\\\"insert\\\",left:\\\"arrowleft\\\",mod:\\\"undefined\\\"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform)?\\\"meta\\\":\\\"control\\\",opt:\\\"alt\\\",option:\\\"alt\\\",\\\"return\\\":\\\"enter\\\",right:\\\"arrowright\\\",space:\\\" \\\",spacebar:\\\" \\\",up:\\\"arrowup\\\",win:\\\"meta\\\",windows:\\\"meta\\\"}),n={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27,\\\" \\\":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,\\\"delete\\\":46,meta:91,numlock:144,scrolllock:145,\\\";\\\":186,\\\"=\\\":187,\\\",\\\":188,\\\"-\\\":189,\\\".\\\":190,\\\"/\\\":191,\\\"`\\\":192,\\\"[\\\":219,\\\"\\\\\\\\\\\":220,\\\"]\\\":221,\\\"'\\\":222},o=1;o\u003C20;o++)n[\\\"f\\\"+o]=111+o;function a(e,t,r){!t||\\\"byKey\\\"in t||(r=t,t=null);var n=(e=Array.isArray(e)?e:[e]).map(function(e){return i(e,t)}),o=function(t){return n.some(function(e){return s(e,t)})};return null==r?o:o(r)}function i(e,t){var r,n=t&&t.byKey,o={},a=(e=e.replace(\\\"++\\\",\\\"+add\\\")).split(\\\"+\\\"),i=a.length;for(r in _)o[_[r]]=!1;var s=!0,c=!1,l=void 0;try{for(var u,d=a[Symbol.iterator]();!(s=(u=d.next()).done);s=!0){var p=u.value,f=p.endsWith(\\\"?\\\")&&1\u003Cp.length,g=y(p=f?p.slice(0,-1):p),m=_[g];1!==i&&m||(n?o.key=g:o.which=v(p)),m&&(o[m]=!f||null)}}catch(h){c=!0,l=h}finally{try{!s&&d[\\\"return\\\"]&&d[\\\"return\\\"]()}finally{if(c)throw l}}return o}function s(e,t){for(var r in e){var n=e[r],o=void 0;if(null!=n&&((null!=(o=\\\"key\\\"===r&&null!=t.key?t.key.toLowerCase():\\\"which\\\"===r?91===n&&93===t.which?91:t.which:t[r])||!1!==n)&&o!==n))return!1}return!0}function v(e){return e=y(e),n[e]||e.toUpperCase().charCodeAt(0)}function y(e){return e=e.toLowerCase(),e=r()[e]||e}t[\\\"default\\\"]=a,t.isHotkey=a,t.isCodeHotkey=function(e,t){return a(e,t)},t.isKeyHotkey=function(e,t){return a(e,{byKey:!0},t)},t.parseHotkey=i,t.compareHotkey=s,t.toKeyCode=v,t.toKeyName=y}),lib_3=(unwrapExports(lib),lib.isHotkey,lib.isCodeHotkey,lib.isKeyHotkey),HOTKEYS2=(lib.parseHotkey,lib.compareHotkey,lib.toKeyCode,lib.toKeyName,{bold:\\\"mod+b\\\",compose:[\\\"down\\\",\\\"left\\\",\\\"right\\\",\\\"up\\\",\\\"backspace\\\",\\\"enter\\\"],deleteBackward:\\\"shift?+backspace\\\",deleteForward:\\\"shift?+delete\\\",extendBackward:\\\"shift+left\\\",extendForward:\\\"shift+right\\\",insertSoftBreak:\\\"shift+enter\\\",italic:\\\"mod+i\\\",moveBackward:\\\"left\\\",moveForward:\\\"right\\\",moveWordBackward:\\\"ctrl+left\\\",moveWordForward:\\\"ctrl+right\\\",splitBlock:\\\"enter\\\",tab:\\\"tab\\\",untab:\\\"shift+tab\\\",undo:\\\"mod+z\\\"}),APPLE_HOTKEYS2={deleteBackward:[\\\"ctrl+backspace\\\",\\\"ctrl+h\\\"],deleteForward:[\\\"ctrl+delete\\\",\\\"ctrl+d\\\"],deleteLineBackward:\\\"cmd+shift?+backspace\\\",deleteLineForward:[\\\"cmd+shift?+delete\\\",\\\"ctrl+k\\\"],deleteWordBackward:\\\"opt+shift?+backspace\\\",deleteWordForward:\\\"opt+shift?+delete\\\",extendLineBackward:\\\"opt+shift+up\\\",extendLineForward:\\\"opt+shift+down\\\",moveLineBackward:\\\"opt+up\\\",moveLineForward:\\\"opt+down\\\",moveWordBackward:\\\"opt+left\\\",moveWordForward:\\\"opt+right\\\",redo:\\\"cmd+shift+z\\\",transposeCharacter:\\\"ctrl+t\\\"},WINDOWS_HOTKEYS2={deleteWordBackward:\\\"ctrl+shift?+backspace\\\",deleteWordForward:\\\"ctrl+shift?+delete\\\",redo:[\\\"ctrl+y\\\",\\\"ctrl+shift+z\\\"]},create3=e=>{var t=HOTKEYS2[e],r=APPLE_HOTKEYS2[e],n=WINDOWS_HOTKEYS2[e];const o=t&&lib_3(t),a=r&&lib_3(r),i=n&&lib_3(n);return e=>!(!o||!o(e))||!!(IS_APPLE&&a&&a(e))||!(IS_APPLE||!i||!i(e))},createComposing=n=>(e,t,{composing:r}={})=>!!create3(n)(t)&&!!r===isComposing(e),Hotkeys2={isBold:create3(\\\"bold\\\"),isCompose:create3(\\\"compose\\\"),isMoveBackward:create3(\\\"moveBackward\\\"),isMoveForward:create3(\\\"moveForward\\\"),isDeleteBackward:create3(\\\"deleteBackward\\\"),isDeleteForward:create3(\\\"deleteForward\\\"),isDeleteLineBackward:create3(\\\"deleteLineBackward\\\"),isDeleteLineForward:create3(\\\"deleteLineForward\\\"),isDeleteWordBackward:create3(\\\"deleteWordBackward\\\"),isDeleteWordForward:create3(\\\"deleteWordForward\\\"),isExtendBackward:create3(\\\"extendBackward\\\"),isExtendForward:create3(\\\"extendForward\\\"),isExtendLineBackward:create3(\\\"extendLineBackward\\\"),isExtendLineForward:create3(\\\"extendLineForward\\\"),isItalic:create3(\\\"italic\\\"),isMoveLineBackward:create3(\\\"moveLineBackward\\\"),isMoveLineForward:create3(\\\"moveLineForward\\\"),isMoveWordBackward:create3(\\\"moveWordBackward\\\"),isMoveWordForward:create3(\\\"moveWordForward\\\"),isRedo:create3(\\\"redo\\\"),isSoftBreak:create3(\\\"insertSoftBreak\\\"),isSplitBlock:create3(\\\"splitBlock\\\"),isTab:createComposing(\\\"tab\\\"),isTransposeCharacter:create3(\\\"transposeCharacter\\\"),isUndo:create3(\\\"undo\\\"),isUntab:createComposing(\\\"untab\\\")},mergeDeepToNodes=e=>{applyDeepToNodes({...e,apply:merge_1})},mockPlugin=e=>({key:\\\"\\\",type:\\\"\\\",editor:{},inject:{},options:{},...e});function isEqual(e,t){return _baseIsEqual(e,t)}var isEqual_1=isEqual,normalizeInitialValue=(e,t)=>{let r=cloneDeep_1(t);if(e.plugins.forEach(e=>{var t=null==(t=e.normalizeInitialValue)?void 0:t.call(e,r);t&&(r=t)}),!isEqual_1(t,r))return r},pipeDecorate=(r,e)=>{const n=r.plugins.flatMap(e=>{var t;return null!=(t=null==(t=e.decorate)?void 0:t.call(e,r,e))?t:[]});if(e&&n.push(e),0!==n.length)return t=>{let r=[];return n.forEach(e=>{null!=(e=e(t))&&e.length&&(r=[...r,...e])}),r}},isEventHandled2=(e,t)=>{var r;return!!t&&(null!=(r=t(e))?r:e.isPropagationStopped())},pipeHandler=(n,{editableProps:e,handlerKey:o})=>{let r=[];r=n.plugins.flatMap(e=>{var t,r;return null!=(t=null==(t=e.handlers)||null==(r=t[o])?void 0:r.call(t,n,e))?t:[]});const a=null==e?void 0:e[o];if(0!==r.length||a)return t=>{return!!r.some(e=>isEventHandled2(t,e))||isEventHandled2(t,a)}},pluginInjectProps=(e,{key:t,inject:{props:r}},n)=>{var{element:o,text:a,className:i,style:s}=n,a=null!=o?o:a;if(a&&r){var{nodeKey:c=t,styleKey:l=c,validTypes:u,classNames:d,transformClassName:p,transformNodeValue:f,transformStyle:g,validNodeValues:m,defaultNodeValue:h}=r;if(!(u&&isElement2(a)&&a.type)||u.includes(a.type)){u=a[c];if(u&&(!m||m.includes(u))&&u!==h)return a={},m={...n,nodeValue:u},f=null!=(h=null==f?void 0:f(m))?h:u,o&&(a.className=clsx_m_default(i,`slate-${c}-`+u)),(null!=d&&d[u]||p)&&(a.className=null!=(h=null==p?void 0:p(m))?h:clsx_m_default(i,null==d?void 0:d[f])),l&&(a.style=null!=(o=null==g?void 0:g(m))?o:{...s,[l]:f}),a}}},pipeInjectProps=(r,n)=>(r.plugins.forEach(e=>{var t;e.inject.props&&(t=pluginInjectProps(r,e,n))&&(n={...n,...t})}),{...n,editor:r}),pipeOnChange=n=>{const e=n.plugins.flatMap(e=>{var t,r;return null!=(t=null==(t=e.handlers)||null==(r=t.onChange)?void 0:r.call(t,n,e))?t:[]});return r=>e.some(e=>{var t;return!!e&&null!=(t=e(r))&&t})},pluginRenderElement=(c,{key:l,type:u,component:d,props:p})=>function(o){var{element:e,children:t}=o;if(e.type===u){var a=null!=d?d:DefaultElement,i=c.plugins.flatMap(e=>{var t;return null!=(t=null==(t=e.inject)?void 0:t.aboveComponent)?t:[]}),s=c.plugins.flatMap(e=>{var t;return null!=(t=null==(t=e.inject)?void 0:t.belowComponent)?t:[]});o=getRenderNodeProps({attributes:e.attributes,nodeProps:o,props:p,type:u});let r=t,n=(s.forEach(e=>{var t=e({...o,key:l});t&&(r=t({...o,children:r}))}),import_react8[\\\"default\\\"].createElement(a,o,r));return i.forEach(e=>{var t=e({...o,key:l});t&&(n=t({...o,children:n}))}),import_react8[\\\"default\\\"].createElement(ElementProvider,{element:e,scope:l},n)}},pipeRenderElement=(n,o)=>{const a=[];return n.plugins.forEach(e=>{e.isElement&&a.push(pluginRenderElement(n,e))}),function(e){const t=pipeInjectProps(n,e);let r;return a.some(e=>!!(r=e(t))),r||(o?o(t):import_react8[\\\"default\\\"].createElement(DefaultElement,t))}},pluginRenderLeaf=(e,{key:t,type:o=t,component:a,props:i})=>function(e){var t,{leaf:r,children:n}=e;return r[o]?(t=null!=a?a:DefaultLeaf2,e=getRenderNodeProps({attributes:r.attributes,props:i,nodeProps:e,type:o}),import_react8[\\\"default\\\"].createElement(t,e,n)):n},pipeRenderLeaf=(t,n)=>{const o=[];return t.plugins.forEach(e=>{e.isLeaf&&e.key&&o.push(pluginRenderLeaf(t,e))}),function(e){const r=pipeInjectProps(t,e);return o.forEach(e=>{var t=e(r);void 0!==t&&(r.children=t)}),n?n(r):import_react8[\\\"default\\\"].createElement(DefaultLeaf2,r)}},withHOC=(t,r,n)=>function(e){return import_react8[\\\"default\\\"].createElement(t,n,import_react8[\\\"default\\\"].createElement(r,e))},useResetPlateEditor=e=>{const t=usePlateSelectors(e).editor(),r=usePlateActions(e).editor();return(0,import_react8.useCallback)(()=>{var e=createPlateEditor({id:t.id,plugins:t.plugins,disableCorePlugins:!0});r(e)},[t,r])},usePlateEditorRef=e=>usePlateSelectors(e).editor(),usePlateEditorState=e=>(usePlateSelectors(e).keyEditor(),usePlateEditorRef(e)),usePlateReadOnly=e=>usePlateSelectors(e).readOnly(),usePlateSelection=e=>(usePlateSelectors(e).keySelection(),usePlateEditorRef(e).selection),useEventPlateId=e=>{var t=useEventEditorSelectors.focus(),r=useEventEditorSelectors.blur(),n=useEventEditorSelectors.last(),o=usePlateSelectors().id();return e||t||r||(null!=(t=null!=n?n:o)?t:PLATE_SCOPE)},DOM_HANDLERS=[\\\"onCopy\\\",\\\"onCopyCapture\\\",\\\"onCut\\\",\\\"onCutCapture\\\",\\\"onPaste\\\",\\\"onPasteCapture\\\",\\\"onCompositionEnd\\\",\\\"onCompositionEndCapture\\\",\\\"onCompositionStart\\\",\\\"onCompositionStartCapture\\\",\\\"onCompositionUpdate\\\",\\\"onCompositionUpdateCapture\\\",\\\"onFocus\\\",\\\"onFocusCapture\\\",\\\"onBlur\\\",\\\"onBlurCapture\\\",\\\"onDOMBeforeInput\\\",\\\"onBeforeInput\\\",\\\"onBeforeInputCapture\\\",\\\"onInput\\\",\\\"onInputCapture\\\",\\\"onReset\\\",\\\"onResetCapture\\\",\\\"onSubmit\\\",\\\"onSubmitCapture\\\",\\\"onInvalid\\\",\\\"onInvalidCapture\\\",\\\"onLoad\\\",\\\"onLoadCapture\\\",\\\"onKeyDown\\\",\\\"onKeyDownCapture\\\",\\\"onKeyPress\\\",\\\"onKeyPressCapture\\\",\\\"onKeyUp\\\",\\\"onKeyUpCapture\\\",\\\"onAbort\\\",\\\"onAbortCapture\\\",\\\"onCanPlay\\\",\\\"onCanPlayCapture\\\",\\\"onCanPlayThrough\\\",\\\"onCanPlayThroughCapture\\\",\\\"onDurationChange\\\",\\\"onDurationChangeCapture\\\",\\\"onEmptied\\\",\\\"onEmptiedCapture\\\",\\\"onEncrypted\\\",\\\"onEncryptedCapture\\\",\\\"onEnded\\\",\\\"onEndedCapture\\\",\\\"onLoadedData\\\",\\\"onLoadedDataCapture\\\",\\\"onLoadedMetadata\\\",\\\"onLoadedMetadataCapture\\\",\\\"onLoadStart\\\",\\\"onLoadStartCapture\\\",\\\"onPause\\\",\\\"onPauseCapture\\\",\\\"onPlay\\\",\\\"onPlayCapture\\\",\\\"onPlaying\\\",\\\"onPlayingCapture\\\",\\\"onProgress\\\",\\\"onProgressCapture\\\",\\\"onRateChange\\\",\\\"onRateChangeCapture\\\",\\\"onSeeked\\\",\\\"onSeekedCapture\\\",\\\"onSeeking\\\",\\\"onSeekingCapture\\\",\\\"onStalled\\\",\\\"onStalledCapture\\\",\\\"onSuspend\\\",\\\"onSuspendCapture\\\",\\\"onTimeUpdate\\\",\\\"onTimeUpdateCapture\\\",\\\"onVolumeChange\\\",\\\"onVolumeChangeCapture\\\",\\\"onWaiting\\\",\\\"onWaitingCapture\\\",\\\"onAuxClick\\\",\\\"onAuxClickCapture\\\",\\\"onClick\\\",\\\"onClickCapture\\\",\\\"onContextMenu\\\",\\\"onContextMenuCapture\\\",\\\"onDoubleClick\\\",\\\"onDoubleClickCapture\\\",\\\"onDrag\\\",\\\"onDragCapture\\\",\\\"onDragEnd\\\",\\\"onDragEndCapture\\\",\\\"onDragEnter\\\",\\\"onDragEnterCapture\\\",\\\"onDragExit\\\",\\\"onDragExitCapture\\\",\\\"onDragLeave\\\",\\\"onDragLeaveCapture\\\",\\\"onDragOver\\\",\\\"onDragOverCapture\\\",\\\"onDragStart\\\",\\\"onDragStartCapture\\\",\\\"onDrop\\\",\\\"onDropCapture\\\",\\\"onMouseDown\\\",\\\"onMouseDownCapture\\\",\\\"onMouseEnter\\\",\\\"onMouseLeave\\\",\\\"onMouseMove\\\",\\\"onMouseMoveCapture\\\",\\\"onMouseOut\\\",\\\"onMouseOutCapture\\\",\\\"onMouseOver\\\",\\\"onMouseOverCapture\\\",\\\"onMouseUp\\\",\\\"onMouseUpCapture\\\",\\\"onSelect\\\",\\\"onSelectCapture\\\",\\\"onTouchCancel\\\",\\\"onTouchCancelCapture\\\",\\\"onTouchEnd\\\",\\\"onTouchEndCapture\\\",\\\"onTouchMove\\\",\\\"onTouchMoveCapture\\\",\\\"onTouchStart\\\",\\\"onTouchStartCapture\\\",\\\"onPointerDown\\\",\\\"onPointerDownCapture\\\",\\\"onPointerMove\\\",\\\"onPointerMoveCapture\\\",\\\"onPointerUp\\\",\\\"onPointerUpCapture\\\",\\\"onPointerCancel\\\",\\\"onPointerCancelCapture\\\",\\\"onPointerEnter\\\",\\\"onPointerEnterCapture\\\",\\\"onPointerLeave\\\",\\\"onPointerLeaveCapture\\\",\\\"onPointerOver\\\",\\\"onPointerOverCapture\\\",\\\"onPointerOut\\\",\\\"onPointerOutCapture\\\",\\\"onGotPointerCapture\\\",\\\"onGotPointerCaptureCapture\\\",\\\"onLostPointerCapture\\\",\\\"onLostPointerCaptureCapture\\\",\\\"onScroll\\\",\\\"onScrollCapture\\\",\\\"onWheel\\\",\\\"onWheelCapture\\\",\\\"onAnimationStart\\\",\\\"onAnimationStartCapture\\\",\\\"onAnimationEnd\\\",\\\"onAnimationEndCapture\\\",\\\"onAnimationIteration\\\",\\\"onAnimationIterationCapture\\\",\\\"onTransitionEnd\\\",\\\"onTransitionEndCapture\\\"],useEditableProps=({id:e,...n}={})=>{var t;const o=usePlateEditorRef(e);var r=usePlateSelectors(e);const a=r.keyDecorate(),i=r.readOnly(),s=null==(t=r.decorate())?void 0:t.fn,c=null==(t=r.renderLeaf())?void 0:t.fn,l=null==(t=r.renderElement())?void 0:t.fn,u=(0,import_react8.useMemo)(()=>pipeDecorate(o,null!==s&&void 0!==s?s:null==n?void 0:n.decorate),[null==n?void 0:n.decorate,o,s]),d=(0,import_react8.useMemo)(()=>{if(a&&u)return e=>u(e)},[u,a]),p=(0,import_react8.useMemo)(()=>pipeRenderElement(o,null!==l&&void 0!==l?l:null==n?void 0:n.renderElement),[null==n?void 0:n.renderElement,o,l]),f=(0,import_react8.useMemo)(()=>pipeRenderLeaf(o,null!==c&&void 0!==c?c:null==n?void 0:n.renderLeaf),[null==n?void 0:n.renderLeaf,o,c]),g=useDeepCompareMemo(()=>{const r={decorate:d,renderElement:p,renderLeaf:f};return isDefined(i)&&(r.readOnly=i),DOM_HANDLERS.forEach(e=>{var t=pipeHandler(o,{editableProps:n,handlerKey:e});t&&(r[e]=t)}),r},[d,n,p,f,i]);return useDeepCompareMemo(()=>({...omit_1(n,[...DOM_HANDLERS,\\\"renderElement\\\",\\\"renderLeaf\\\"]),...g}),[n,g])},useEditorRef=()=>useSlateStatic(),useEditorState=()=>useSlate();function isUndefined2(e){return void 0===e}var isUndefined_1=isUndefined2,usePlateStoreOnChange=({setState:e,state:t,nextState:r,nextStateValue:n=r})=>{(0,import_react8.useEffect)(()=>{r===t||isUndefined_1(r)||e(n)},[e,t,r,n])},usePlateEffects=({id:e,disableCorePlugins:t,value:r,onChange:n,plugins:o,editorRef:a,decorate:i,renderElement:s,renderLeaf:c,readOnly:l})=>{const u=usePlateEditorRef(e);var d=usePlateStates(e),[p,f]=d.value(),[g,m]=d.editorRef(),[h,_]=d.decorate(),[v,y]=d.renderElement(),[b,E]=d.renderLeaf();const[T,C]=d.rawPlugins(),[,w]=d.plugins();var[S,x]=d.onChange(),[d,D]=d.readOnly();usePlateStoreOnChange({state:p,setState:f,nextState:r}),usePlateStoreOnChange({state:d,setState:D,nextState:l}),usePlateStoreOnChange({state:T,setState:w,nextState:o,nextStateValue:null!=o?o:[]}),usePlateStoreOnChange({state:null==S?void 0:S.fn,setState:x,nextState:n,nextStateValue:n?{fn:n}:null}),usePlateStoreOnChange({state:null==g?void 0:g.ref,setState:m,nextState:a,nextStateValue:a?{ref:a}:null}),usePlateStoreOnChange({state:null==h?void 0:h.fn,setState:_,nextState:i,nextStateValue:i?{fn:i}:null}),usePlateStoreOnChange({state:null==v?void 0:v.fn,setState:y,nextState:s,nextStateValue:s?{fn:s}:null}),usePlateStoreOnChange({state:null==b?void 0:b.fn,setState:E,nextState:c,nextStateValue:c?{fn:c}:null}),(0,import_react8.useEffect)(()=>{o!==T&&(C(T),setPlatePlugins(u,{plugins:o,disableCorePlugins:t}),w(u.plugins))},[t,u,T,o,w,C])},useSlateProps=({id:e})=>{var t;const r=usePlateEditorRef(e),n=usePlateSelectors(e).value(),o=usePlateActions(e).value(),a=null==(t=usePlateSelectors(e).onChange())?void 0:t.fn,i=(0,import_react8.useCallback)(e=>{pipeOnChange(r)(e)||null!==a&&void 0!==a&&a(e),o(e)},[r,o,a]);return(0,import_react8.useMemo)(()=>({key:r.key,editor:r,onChange:i,value:n,initialValue:n}),[r,i,n])},EXPOSED_STORE_KEYS=[\\\"readOnly\\\",\\\"plugins\\\",\\\"onChange\\\",\\\"decorate\\\",\\\"renderElement\\\",\\\"renderLeaf\\\"],EditorMethodsEffect=({id:e})=>{const t=useEditorRef(),r=useResetPlateEditor(e),n=useRedecorate(e),o=usePlateStore(e),a=Object.fromEntries(EXPOSED_STORE_KEYS.map(e=>[e,o.set[e]()])),i=(0,import_react8.useMemo)(()=>a,[]);return(0,import_react8.useEffect)(()=>{t.reset=r,t.redecorate=n,t.plate={set:i}},[t,r,n,i]),null};function EditorRefPluginEffect({plugin:e}){var t,r=useEditorRef();return null!=(t=e.useHooks)&&t.call(e,r,e),null}function EditorRefEffect({id:e}){var t;const r=usePlateActions(e).isRendered();var n=usePlateSelectors(e).plugins();const o=useEditorRef(),a=null==(t=usePlateSelectors(e).editorRef())?void 0:t.ref;return(0,import_react8.useEffect)(()=>(r(!0),()=>{r(!1)}),[r]),(0,import_react8.useEffect)(()=>\\\"function\\\"==typeof a?(a(o),()=>a(null)):a?(a.current=o,()=>{a.current=null}):void 0,[a,o]),import_react8[\\\"default\\\"].createElement(import_react8[\\\"default\\\"].Fragment,null,n.map(e=>import_react8[\\\"default\\\"].createElement(EditorRefPluginEffect,{key:e.key,plugin:e})))}var EditorStateEffect=(0,import_react8.memo)(({id:e})=>{var t=useEditorState();const r=useUpdatePlateKey(\\\"keyEditor\\\",e),n=useUpdatePlateKey(\\\"keySelection\\\",e);return(0,import_react8.useEffect)(()=>{r()}),(0,import_react8.useEffect)(()=>{n()},[t.selection,n]),null});function PlateEditable({children:e,renderEditable:t,editableRef:r,firstChildren:n,...o}){var a=o[\\\"id\\\"],i=useEditorRef()[\\\"plugins\\\"];const s=useEditableProps(o);var c=import_react8[\\\"default\\\"].createElement(Editable,_extends({ref:r},s));let l=null,u=null,d=(i.forEach(e=>{var{renderBeforeEditable:t,renderAfterEditable:r}=e;r&&(l=import_react8[\\\"default\\\"].createElement(import_react8[\\\"default\\\"].Fragment,null,l,r(s))),t&&(u=import_react8[\\\"default\\\"].createElement(import_react8[\\\"default\\\"].Fragment,null,u,t(s)))}),import_react8[\\\"default\\\"].createElement(import_react8[\\\"default\\\"].Fragment,null,n,u,t?t(c):c,import_react8[\\\"default\\\"].createElement(EditorMethodsEffect,{id:a}),import_react8[\\\"default\\\"].createElement(EditorStateEffect,{id:a}),import_react8[\\\"default\\\"].createElement(EditorRefEffect,{id:a}),l,e));return i.forEach(e=>{var t=e[\\\"renderAboveEditable\\\"];t&&(d=t({children:d}))}),d}function PlateProviderEffects({children:e,...t}){return usePlateEffects(t),import_react8[\\\"default\\\"].createElement(import_react8[\\\"default\\\"].Fragment,null,e)}function PlateProviderContent({normalizeInitialValue:r,...e}){const{id:t=PLATE_SCOPE,editor:n,initialValue:o,value:a,children:i,plugins:s,disableCorePlugins:c,onChange:l,editorRef:u,decorate:d,renderElement:p,renderLeaf:f,readOnly:g}=e,m=(0,import_react8.useMemo)(()=>null!==n&&void 0!==n?n:createPlateEditor({id:t,plugins:s,disableCorePlugins:c}),[]);var h=(0,import_react8.useMemo)(()=>{let e=null!==o&&void 0!==o?o:a;e=e||(0\u003Cm.children.length?m.children:m.childrenFactory());var t=normalizeInitialValue(m,e);return t&&(e=t),m.children=e,r&&normalizeEditor(m,{force:!0}),m.children},[]);return import_react8[\\\"default\\\"].createElement(Provider,{initialValues:[[plateStore.atom.id,t],[plateStore.atom.editor,m],[plateStore.atom.plugins,m.plugins],[plateStore.atom.rawPlugins,s],[plateStore.atom.readOnly,g],[plateStore.atom.value,h],[plateStore.atom.decorate,{fn:d}],[plateStore.atom.onChange,{fn:l}],[plateStore.atom.editorRef,{ref:u}],[plateStore.atom.renderElement,{fn:p}],[plateStore.atom.renderLeaf,{fn:f}]],scope:t},import_react8[\\\"default\\\"].createElement(Provider,{initialValues:[[plateIdAtom,t]],scope:GLOBAL_PLATE_SCOPE},import_react8[\\\"default\\\"].createElement(PlateProviderEffects,e,i)))}function PlateProvider(e){var t=e[\\\"id\\\"];return import_react8[\\\"default\\\"].createElement(PlateProviderContent,_extends({key:null==t?void 0:t.toString()},e))}var withPlateProvider=(e,t)=>withHOC(PlateProvider,e,t);function PlateSlate({id:e,children:t}){var r=useSlateProps({id:e}),n=usePlateSelectors(e).editor()[\\\"plugins\\\"];let o=import_react8[\\\"default\\\"].createElement(Slate,r,t);return null!=n&&n.forEach(e=>{var t=e[\\\"renderAboveSlate\\\"];t&&(o=t({children:o}))}),o}function Plate({children:e,editableRef:t,firstChildren:r,renderEditable:n,editableProps:o,...a}){var{id:i=PLATE_SCOPE}=a,s=usePlateSelectors(i).id(),i=import_react8[\\\"default\\\"].createElement(PlateSlate,{id:i},import_react8[\\\"default\\\"].createElement(PlateEditable,_extends({id:i,editableRef:t,firstChildren:r,renderEditable:n},o),e));return s?i:import_react8[\\\"default\\\"].createElement(PlateProvider,a,i)}var toggleNodeType=(e,t,r)=>{var n,{activeType:o,inactiveType:a=getPluginType(e,ELEMENT_DEFAULT)}=t;o&&e.selection&&((n=someNode(e,{...r,match:{type:o}}))&&o===a||setElements(e,{type:n?a:o}))},import_react11=(init_esbuild_inject(),__toESM(require(\\\"react\\\")));function _extends2(){return(_extends2=Object.assign?Object.assign.bind():function(e){for(var t=1;t\u003Carguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}init_esbuild_inject(),init_esbuild_inject();var import_react10=require(\\\"react\\\"),import_react9=(init_esbuild_inject(),require(\\\"react\\\"));function $6ed0406888f73fc4$var$setRef(e,t){\\\"function\\\"==typeof e?e(t):null!=e&&(e.current=t)}function $6ed0406888f73fc4$export$43e446d32b3d21af(...e){return t=>e.forEach(e=>$6ed0406888f73fc4$var$setRef(e,t))}function $6ed0406888f73fc4$export$c7b2cbe3552a0d05(...e){return(0,import_react9.useCallback)($6ed0406888f73fc4$export$43e446d32b3d21af(...e),e)}var $5e63c961fc1ce211$export$8c6ed5c666ac1360=(0,import_react10.forwardRef)((e,t)=>{const{children:r,...n}=e;var o=import_react10.Children.toArray(r);const a=o.find($5e63c961fc1ce211$var$isSlottable);if(a){const i=a.props.children;o=o.map(e=>e===a?1\u003Cimport_react10.Children.count(i)?import_react10.Children.only(null):(0,import_react10.isValidElement)(i)?i.props.children:null:e);return(0,import_react10.createElement)($5e63c961fc1ce211$var$SlotClone,_extends2({},n,{ref:t}),(0,import_react10.isValidElement)(i)?(0,import_react10.cloneElement)(i,void 0,o):null)}return(0,import_react10.createElement)($5e63c961fc1ce211$var$SlotClone,_extends2({},n,{ref:t}),r)}),$5e63c961fc1ce211$var$SlotClone=($5e63c961fc1ce211$export$8c6ed5c666ac1360.displayName=\\\"Slot\\\",(0,import_react10.forwardRef)((e,t)=>{const{children:r,...n}=e;return(0,import_react10.isValidElement)(r)?(0,import_react10.cloneElement)(r,{...$5e63c961fc1ce211$var$mergeProps(n,r.props),ref:t?$6ed0406888f73fc4$export$43e446d32b3d21af(t,r.ref):r.ref}):1\u003Cimport_react10.Children.count(r)?import_react10.Children.only(null):null})),$5e63c961fc1ce211$export$d9f1ccf0bdb05d45=($5e63c961fc1ce211$var$SlotClone.displayName=\\\"SlotClone\\\",({children:e})=>(0,import_react10.createElement)(import_react10.Fragment,null,e));function $5e63c961fc1ce211$var$isSlottable(e){return(0,import_react10.isValidElement)(e)&&e.type===$5e63c961fc1ce211$export$d9f1ccf0bdb05d45}function $5e63c961fc1ce211$var$mergeProps(e,t){var r={...t};for(const n in t){const o=e[n],a=t[n];/^on[A-Z]/.test(n)?o&&a?r[n]=(...e)=>{a(...e),o(...e)}:o&&(r[n]=o):\\\"style\\\"===n?r[n]={...o,...a}:\\\"className\\\"===n&&(r[n]=[o,a].filter(Boolean).join(\\\" \\\"))}return{...e,...r}}var import_react_dom2=__toESM(require(\\\"react-dom\\\")),findDescendant=(init_esbuild_inject(),(n,e)=>{try{const{match:c,at:l=n.selection,reverse:u=!1,voids:d=!1}=e;if(l){let e,t;var o,a,i,s;Span.isSpan(l)?([e,t]=l):Range.isRange(l)&&(o=getPath(n,l,{edge:\\\"start\\\"}),a=getPath(n,l,{edge:\\\"end\\\"}),e=u?a:o,t=u?o:a);let r=[n,[]];Path.isPath(l)&&(r=getNodeEntry(n,l));for([i,s]of getNodeDescendants(r[0],{reverse:u,from:e,to:t,pass:([e])=>!d&&isVoid(n,e)}))if(match(i,s,c))return[i,l.concat(s)]}}catch(t){}}),getBlockAbove2=(e,t={})=>getAboveNode(e,{...t,block:!0}),getChildren=e=>{const[t,r]=e;var n;return isAncestor(t)?(n=t[\\\"children\\\"],n.map((e,t)=>{return[e,r.concat([t])]})):[]},getEdgeBlocksAbove=(e,{at:t,...r}={})=>{var n,o=null!=t?t:e.selection;return o&&(([o,n]=getEdgePoints(e,null!=o?o:e.selection)),o=getBlockAbove2(e,{at:o,...r}))&&(n=getBlockAbove2(e,{at:n,...r}))?[o,n]:null},getLastChild$1=e=>{var[t,r]=e;return isText(t)||0===t.children.length?null:[(t=t.children).at(-1),r.concat([t.length-1])]},getLastChildPath=e=>{var t=getLastChild$1(e);return t?t[1]:e[1].concat([-1])},isLastChild=(e,t)=>{var r=getLastChildPath(e);return Path.equals(r,t)},getLastChild=(e,t)=>{var r;return t+1&&isAncestor(e)?(r=e[\\\"children\\\"],r=r.at(-1),getLastChild(r,t-1)):e},getLastNodeByLevel=(e,t)=>{var r,n=e[\\\"children\\\"],n=n.at(-1);if(n)return([,r]=getLastNode(e,[])),[getLastChild(n,t-1),r.slice(0,t+1)]},getMark=(e,t)=>{var r;return!e||null==(r=getMarks(e))?void 0:r[t]},getNextNodeStartPoint=(e,t)=>{var r=getNextNode(e,{at:t});if(r)return getStartPoint(e,r[1])},getNextSiblingNodes=(e,t)=>{var[r,n]=e,n=t[n.length],o=[],a=r.children;if(n+1\u003Cr.children.length)for(let e=n+1;e\u003Cr.children.length;e++)o.push(a[e]);return o},isArray4=Array.isArray,isArray_13=isArray4;function castArray3(){var e;return arguments.length?isArray_13(e=arguments[0])?e:[e]:[]}var castArray_13=castArray3;function arrayMap2(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r\u003Cn;)o[r]=t(e[r],r,e);return o}var _arrayMap2=arrayMap2;function listCacheClear3(){this.__data__=[],this.size=0}var _listCacheClear3=listCacheClear3;function eq3(e,t){return e===t||e!=e&&t!=t}var eq_13=eq3;function assocIndexOf3(e,t){for(var r=e.length;r--;)if(eq_13(e[r][0],t))return r;return-1}var _assocIndexOf3=assocIndexOf3,arrayProto3=Array.prototype,splice3=arrayProto3.splice;function listCacheDelete3(e){var t=this.__data__,r=_assocIndexOf3(t,e);return!(r\u003C0||(r==t.length-1?t.pop():splice3.call(t,r,1),--this.size,0))}var _listCacheDelete3=listCacheDelete3;function listCacheGet3(e){var t=this.__data__,r=_assocIndexOf3(t,e);return r\u003C0?void 0:t[r][1]}var _listCacheGet3=listCacheGet3;function listCacheHas3(e){return-1\u003C_assocIndexOf3(this.__data__,e)}var _listCacheHas3=listCacheHas3;function listCacheSet3(e,t){var r=this.__data__,n=_assocIndexOf3(r,e);return n\u003C0?(++this.size,r.push([e,t])):r[n][1]=t,this}var _listCacheSet3=listCacheSet3;function ListCache3(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}ListCache3.prototype.clear=_listCacheClear3,ListCache3.prototype[\\\"delete\\\"]=_listCacheDelete3,ListCache3.prototype.get=_listCacheGet3,ListCache3.prototype.has=_listCacheHas3,ListCache3.prototype.set=_listCacheSet3;var _ListCache3=ListCache3;function stackClear3(){this.__data__=new _ListCache3,this.size=0}var _stackClear3=stackClear3;function stackDelete3(e){var t=this.__data__,r=t[\\\"delete\\\"](e);return this.size=t.size,r}var _stackDelete3=stackDelete3;function stackGet3(e){return this.__data__.get(e)}var _stackGet3=stackGet3;function stackHas3(e){return this.__data__.has(e)}var _stackHas3=stackHas3,commonjsGlobal3=\\\"undefined\\\"!=typeof globalThis?globalThis:\\\"undefined\\\"!=typeof window?window:\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:{};function createCommonjsModule3(e,t){return e(t={exports:{}},t.exports),t.exports}var freeGlobal3=\\\"object\\\"==typeof commonjsGlobal3&&commonjsGlobal3&&commonjsGlobal3.Object===Object&&commonjsGlobal3,_freeGlobal3=freeGlobal3,freeSelf3=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,root3=_freeGlobal3||freeSelf3||Function(\\\"return this\\\")(),_root3=root3,Symbol3=_root3.Symbol,_Symbol3=Symbol3,objectProto$b3=Object.prototype,hasOwnProperty$83=objectProto$b3.hasOwnProperty,nativeObjectToString$13=objectProto$b3.toString,symToStringTag$13=_Symbol3?_Symbol3.toStringTag:void 0;function getRawTag3(e){var t=hasOwnProperty$83.call(e,symToStringTag$13),r=e[symToStringTag$13];try{var n=!(e[symToStringTag$13]=void 0)}catch(a){}var o=nativeObjectToString$13.call(e);return n&&(t?e[symToStringTag$13]=r:delete e[symToStringTag$13]),o}var _getRawTag3=getRawTag3,objectProto$a3=Object.prototype,nativeObjectToString3=objectProto$a3.toString;function objectToString3(e){return nativeObjectToString3.call(e)}var _objectToString3=objectToString3,nullTag3=\\\"[object Null]\\\",undefinedTag3=\\\"[object Undefined]\\\",symToStringTag3=_Symbol3?_Symbol3.toStringTag:void 0;function baseGetTag3(e){return null==e?void 0===e?undefinedTag3:nullTag3:(symToStringTag3&&symToStringTag3 in Object(e)?_getRawTag3:_objectToString3)(e)}var _baseGetTag3=baseGetTag3;function isObject4(e){var t=typeof e;return null!=e&&(\\\"object\\\"==t||\\\"function\\\"==t)}var isObject_13=isObject4,asyncTag3=\\\"[object AsyncFunction]\\\",funcTag$13=\\\"[object Function]\\\",genTag3=\\\"[object GeneratorFunction]\\\",proxyTag3=\\\"[object Proxy]\\\";function isFunction3(e){var t;return!!isObject_13(e)&&((t=_baseGetTag3(e))==funcTag$13||t==genTag3||t==asyncTag3||t==proxyTag3)}var isFunction_13=isFunction3,coreJsData3=_root3[\\\"__core-js_shared__\\\"],_coreJsData3=coreJsData3,maskSrcKey3=function(){var e=/[^.]+$/.exec(_coreJsData3&&_coreJsData3.keys&&_coreJsData3.keys.IE_PROTO||\\\"\\\");return e?\\\"Symbol(src)_1.\\\"+e:\\\"\\\"}();function isMasked3(e){return!!maskSrcKey3&&maskSrcKey3 in e}var _isMasked3=isMasked3,funcProto$13=Function.prototype,funcToString$13=funcProto$13.toString;function toSource3(e){if(null!=e){try{return funcToString$13.call(e)}catch(t){}try{return e+\\\"\\\"}catch(t){}}return\\\"\\\"}var _toSource3=toSource3,reRegExpChar3=/[\\\\\\\\^$.*+?()[\\\\]{}|]/g,reIsHostCtor3=/^\\\\[object .+?Constructor\\\\]$/,funcProto3=Function.prototype,objectProto$93=Object.prototype,funcToString3=funcProto3.toString,hasOwnProperty$73=objectProto$93.hasOwnProperty,reIsNative3=RegExp(\\\"^\\\"+funcToString3.call(hasOwnProperty$73).replace(reRegExpChar3,\\\"\\\\\\\\$&\\\").replace(/hasOwnProperty|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\");function baseIsNative3(e){return!(!isObject_13(e)||_isMasked3(e))&&(isFunction_13(e)?reIsNative3:reIsHostCtor3).test(_toSource3(e))}var _baseIsNative3=baseIsNative3;function getValue3(e,t){return null==e?void 0:e[t]}var _getValue3=getValue3;function getNative3(e,t){var r=_getValue3(e,t);return _baseIsNative3(r)?r:void 0}var _getNative3=getNative3,Map4=_getNative3(_root3,\\\"Map\\\"),_Map3=Map4,nativeCreate3=_getNative3(Object,\\\"create\\\"),_nativeCreate3=nativeCreate3;function hashClear3(){this.__data__=_nativeCreate3?_nativeCreate3(null):{},this.size=0}var _hashClear3=hashClear3;function hashDelete3(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var _hashDelete3=hashDelete3,HASH_UNDEFINED$23=\\\"__lodash_hash_undefined__\\\",objectProto$83=Object.prototype,hasOwnProperty$63=objectProto$83.hasOwnProperty;function hashGet3(e){var t,r=this.__data__;return _nativeCreate3?(t=r[e])===HASH_UNDEFINED$23?void 0:t:hasOwnProperty$63.call(r,e)?r[e]:void 0}var _hashGet3=hashGet3,objectProto$73=Object.prototype,hasOwnProperty$53=objectProto$73.hasOwnProperty;function hashHas3(e){var t=this.__data__;return _nativeCreate3?void 0!==t[e]:hasOwnProperty$53.call(t,e)}var _hashHas3=hashHas3,HASH_UNDEFINED$13=\\\"__lodash_hash_undefined__\\\";function hashSet3(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=_nativeCreate3&&void 0===t?HASH_UNDEFINED$13:t,this}var _hashSet3=hashSet3;function Hash3(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}Hash3.prototype.clear=_hashClear3,Hash3.prototype[\\\"delete\\\"]=_hashDelete3,Hash3.prototype.get=_hashGet3,Hash3.prototype.has=_hashHas3,Hash3.prototype.set=_hashSet3;var _Hash3=Hash3;function mapCacheClear3(){this.size=0,this.__data__={hash:new _Hash3,map:new(_Map3||_ListCache3),string:new _Hash3}}var _mapCacheClear3=mapCacheClear3;function isKeyable3(e){var t=typeof e;return\\\"string\\\"==t||\\\"number\\\"==t||\\\"symbol\\\"==t||\\\"boolean\\\"==t?\\\"__proto__\\\"!==e:null===e}var _isKeyable3=isKeyable3;function getMapData3(e,t){var r=e.__data__;return _isKeyable3(t)?r[\\\"string\\\"==typeof t?\\\"string\\\":\\\"hash\\\"]:r.map}var _getMapData3=getMapData3;function mapCacheDelete3(e){var t=_getMapData3(this,e)[\\\"delete\\\"](e);return this.size-=t?1:0,t}var _mapCacheDelete3=mapCacheDelete3;function mapCacheGet3(e){return _getMapData3(this,e).get(e)}var _mapCacheGet3=mapCacheGet3;function mapCacheHas3(e){return _getMapData3(this,e).has(e)}var _mapCacheHas3=mapCacheHas3;function mapCacheSet3(e,t){var r=_getMapData3(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}var _mapCacheSet3=mapCacheSet3;function MapCache3(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}MapCache3.prototype.clear=_mapCacheClear3,MapCache3.prototype[\\\"delete\\\"]=_mapCacheDelete3,MapCache3.prototype.get=_mapCacheGet3,MapCache3.prototype.has=_mapCacheHas3,MapCache3.prototype.set=_mapCacheSet3;var _MapCache3=MapCache3,LARGE_ARRAY_SIZE3=200;function stackSet3(e,t){var r=this.__data__;if(r instanceof _ListCache3){var n=r.__data__;if(!_Map3||n.length\u003CLARGE_ARRAY_SIZE3-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new _MapCache3(n)}return r.set(e,t),this.size=r.size,this}var _stackSet3=stackSet3;function Stack3(e){var t=this.__data__=new _ListCache3(e);this.size=t.size}Stack3.prototype.clear=_stackClear3,Stack3.prototype[\\\"delete\\\"]=_stackDelete3,Stack3.prototype.get=_stackGet3,Stack3.prototype.has=_stackHas3,Stack3.prototype.set=_stackSet3;var _Stack2=Stack3,HASH_UNDEFINED3=\\\"__lodash_hash_undefined__\\\";function setCacheAdd3(e){return this.__data__.set(e,HASH_UNDEFINED3),this}var _setCacheAdd3=setCacheAdd3;function setCacheHas3(e){return this.__data__.has(e)}var _setCacheHas3=setCacheHas3;function SetCache3(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new _MapCache3;++t\u003Cr;)this.add(e[t])}SetCache3.prototype.add=SetCache3.prototype.push=_setCacheAdd3,SetCache3.prototype.has=_setCacheHas3;var _SetCache2=SetCache3;function arraySome2(e,t){for(var r=-1,n=null==e?0:e.length;++r\u003Cn;)if(t(e[r],r,e))return!0;return!1}var _arraySome2=arraySome2;function cacheHas2(e,t){return e.has(t)}var _cacheHas2=cacheHas2,COMPARE_PARTIAL_FLAG$52=1,COMPARE_UNORDERED_FLAG$32=2;function equalArrays2(e,t,r,n,o,a){var i=r&COMPARE_PARTIAL_FLAG$52,s=e.length,c=t.length;if(s!=c&&!(i&&s\u003Cc))return!1;var c=a.get(e),l=a.get(t);if(c&&l)return c==t&&l==e;var u=-1,d=!0,p=r&COMPARE_UNORDERED_FLAG$32?new _SetCache2:void 0;for(a.set(e,t),a.set(t,e);++u\u003Cs;){var f,g=e[u],m=t[u];if(void 0!==(f=n?i?n(m,g,u,t,e,a):n(g,m,u,e,t,a):f)){if(f)continue;d=!1;break}if(p){if(!_arraySome2(t,function(e,t){if(!_cacheHas2(p,t)&&(g===e||o(g,e,r,n,a)))return p.push(t)})){d=!1;break}}else if(g!==m&&!o(g,m,r,n,a)){d=!1;break}}return a[\\\"delete\\\"](e),a[\\\"delete\\\"](t),d}var _equalArrays2=equalArrays2,Uint8Array4=_root3.Uint8Array,_Uint8Array2=Uint8Array4;function mapToArray2(e){var r=-1,n=Array(e.size);return e.forEach(function(e,t){n[++r]=[t,e]}),n}var _mapToArray2=mapToArray2;function setToArray2(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}var _setToArray2=setToArray2,COMPARE_PARTIAL_FLAG$42=1,COMPARE_UNORDERED_FLAG$22=2,boolTag$13=\\\"[object Boolean]\\\",dateTag$13=\\\"[object Date]\\\",errorTag$13=\\\"[object Error]\\\",mapTag$23=\\\"[object Map]\\\",numberTag$13=\\\"[object Number]\\\",regexpTag$13=\\\"[object RegExp]\\\",setTag$23=\\\"[object Set]\\\",stringTag$13=\\\"[object String]\\\",symbolTag$12=\\\"[object Symbol]\\\",arrayBufferTag$13=\\\"[object ArrayBuffer]\\\",dataViewTag$23=\\\"[object DataView]\\\",symbolProto$13=_Symbol3?_Symbol3.prototype:void 0,symbolValueOf3=symbolProto$13?symbolProto$13.valueOf:void 0;function equalByTag2(e,t,r,n,o,a,i){switch(r){case dataViewTag$23:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case arrayBufferTag$13:return e.byteLength==t.byteLength&&a(new _Uint8Array2(e),new _Uint8Array2(t))?!0:!1;case boolTag$13:case dateTag$13:case numberTag$13:return eq_13(+e,+t);case errorTag$13:return e.name==t.name&&e.message==t.message;case regexpTag$13:case stringTag$13:return e==t+\\\"\\\";case mapTag$23:var s=_mapToArray2;case setTag$23:s=s||_setToArray2;if(e.size!=t.size&&!(n&COMPARE_PARTIAL_FLAG$42))return!1;var c=i.get(e);if(c)return c==t;n|=COMPARE_UNORDERED_FLAG$22,i.set(e,t);c=_equalArrays2(s(e),s(t),n,o,a,i);return i[\\\"delete\\\"](e),c;case symbolTag$12:if(symbolValueOf3)return symbolValueOf3.call(e)==symbolValueOf3.call(t)}return!1}var _equalByTag2=equalByTag2;function arrayPush2(e,t){for(var r=-1,n=t.length,o=e.length;++r\u003Cn;)e[o+r]=t[r];return e}var _arrayPush2=arrayPush2;function baseGetAllKeys2(e,t,r){var n=t(e);return isArray_13(e)?n:_arrayPush2(n,r(e))}var _baseGetAllKeys2=baseGetAllKeys2;function arrayFilter2(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r\u003Cn;){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a}var _arrayFilter2=arrayFilter2;function stubArray2(){return[]}var stubArray_12=stubArray2,objectProto$63=Object.prototype,propertyIsEnumerable$13=objectProto$63.propertyIsEnumerable,nativeGetSymbols2=Object.getOwnPropertySymbols,getSymbols2=nativeGetSymbols2?function(t){return null==t?[]:(t=Object(t),_arrayFilter2(nativeGetSymbols2(t),function(e){return propertyIsEnumerable$13.call(t,e)}))}:stubArray_12,_getSymbols2=getSymbols2;function baseTimes2(e,t){for(var r=-1,n=Array(e);++r\u003Ce;)n[r]=t(r);return n}var _baseTimes2=baseTimes2;function isObjectLike3(e){return null!=e&&\\\"object\\\"==typeof e}var isObjectLike_13=isObjectLike3,argsTag$23=\\\"[object Arguments]\\\";function baseIsArguments3(e){return isObjectLike_13(e)&&_baseGetTag3(e)==argsTag$23}var _baseIsArguments3=baseIsArguments3,objectProto$53=Object.prototype,hasOwnProperty$43=objectProto$53.hasOwnProperty,propertyIsEnumerable3=objectProto$53.propertyIsEnumerable,isArguments3=_baseIsArguments3(function(){return arguments}())?_baseIsArguments3:function(e){return isObjectLike_13(e)&&hasOwnProperty$43.call(e,\\\"callee\\\")&&!propertyIsEnumerable3.call(e,\\\"callee\\\")},isArguments_12=isArguments3;function stubFalse3(){return!1}var stubFalse_13=stubFalse3,isBuffer_13=createCommonjsModule3(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,n=n&&n.exports===r?_root3.Buffer:void 0,r=n?n.isBuffer:void 0;e.exports=r||stubFalse_13}),MAX_SAFE_INTEGER$12=9007199254740991,reIsUint2=/^(?:0|[1-9]\\\\d*)$/;function isIndex2(e,t){var r=typeof e;return!!(t=null==t?MAX_SAFE_INTEGER$12:t)&&(\\\"number\\\"==r||\\\"symbol\\\"!=r&&reIsUint2.test(e))&&-1\u003Ce&&e%1==0&&e\u003Ct}var _isIndex2=isIndex2,MAX_SAFE_INTEGER3=9007199254740991;function isLength3(e){return\\\"number\\\"==typeof e&&-1\u003Ce&&e%1==0&&e\u003C=MAX_SAFE_INTEGER3}var isLength_13=isLength3,argsTag$13=\\\"[object Arguments]\\\",arrayTag$13=\\\"[object Array]\\\",boolTag2=\\\"[object Boolean]\\\",dateTag2=\\\"[object Date]\\\",errorTag2=\\\"[object Error]\\\",funcTag3=\\\"[object Function]\\\",mapTag$12=\\\"[object Map]\\\",numberTag2=\\\"[object Number]\\\",objectTag$23=\\\"[object Object]\\\",regexpTag2=\\\"[object RegExp]\\\",setTag$12=\\\"[object Set]\\\",stringTag2=\\\"[object String]\\\",weakMapTag$13=\\\"[object WeakMap]\\\",arrayBufferTag2=\\\"[object ArrayBuffer]\\\",dataViewTag$12=\\\"[object DataView]\\\",float32Tag3=\\\"[object Float32Array]\\\",float64Tag3=\\\"[object Float64Array]\\\",int8Tag3=\\\"[object Int8Array]\\\",int16Tag3=\\\"[object Int16Array]\\\",int32Tag3=\\\"[object Int32Array]\\\",uint8Tag3=\\\"[object Uint8Array]\\\",uint8ClampedTag3=\\\"[object Uint8ClampedArray]\\\",uint16Tag3=\\\"[object Uint16Array]\\\",uint32Tag3=\\\"[object Uint32Array]\\\",typedArrayTags3={};function baseIsTypedArray3(e){return isObjectLike_13(e)&&isLength_13(e.length)&&!!typedArrayTags3[_baseGetTag3(e)]}typedArrayTags3[float32Tag3]=typedArrayTags3[float64Tag3]=typedArrayTags3[int8Tag3]=typedArrayTags3[int16Tag3]=typedArrayTags3[int32Tag3]=typedArrayTags3[uint8Tag3]=typedArrayTags3[uint8ClampedTag3]=typedArrayTags3[uint16Tag3]=typedArrayTags3[uint32Tag3]=!0,typedArrayTags3[argsTag$13]=typedArrayTags3[arrayTag$13]=typedArrayTags3[arrayBufferTag2]=typedArrayTags3[boolTag2]=typedArrayTags3[dataViewTag$12]=typedArrayTags3[dateTag2]=typedArrayTags3[errorTag2]=typedArrayTags3[funcTag3]=typedArrayTags3[mapTag$12]=typedArrayTags3[numberTag2]=typedArrayTags3[objectTag$23]=typedArrayTags3[regexpTag2]=typedArrayTags3[setTag$12]=typedArrayTags3[stringTag2]=typedArrayTags3[weakMapTag$13]=!1;var _baseIsTypedArray3=baseIsTypedArray3;function baseUnary3(t){return function(e){return t(e)}}var _baseUnary3=baseUnary3,_nodeUtil3=createCommonjsModule3(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r&&_freeGlobal3.process,r=function(){try{var e=n&&n.require&&n.require(\\\"util\\\").types;return e?e:o&&o.binding&&o.binding(\\\"util\\\")}catch(t){}}();e.exports=r}),nodeIsTypedArray3=_nodeUtil3&&_nodeUtil3.isTypedArray,isTypedArray3=nodeIsTypedArray3?_baseUnary3(nodeIsTypedArray3):_baseIsTypedArray3,isTypedArray_12=isTypedArray3,objectProto$43=Object.prototype,hasOwnProperty$33=objectProto$43.hasOwnProperty;function arrayLikeKeys2(e,t){var r,n=isArray_13(e),o=!n&&isArguments_12(e),a=!n&&!o&&isBuffer_13(e),i=!n&&!o&&!a&&isTypedArray_12(e),s=n||o||a||i,c=s?_baseTimes2(e.length,String):[],l=c.length;for(r in e)!t&&!hasOwnProperty$33.call(e,r)||s&&(\\\"length\\\"==r||a&&(\\\"offset\\\"==r||\\\"parent\\\"==r)||i&&(\\\"buffer\\\"==r||\\\"byteLength\\\"==r||\\\"byteOffset\\\"==r)||_isIndex2(r,l))||c.push(r);return c}var _arrayLikeKeys2=arrayLikeKeys2,objectProto$33=Object.prototype;function isPrototype2(e){var t=e&&e.constructor;return e===(\\\"function\\\"==typeof t&&t.prototype||objectProto$33)}var _isPrototype2=isPrototype2;function overArg3(t,r){return function(e){return t(r(e))}}var _overArg3=overArg3,nativeKeys3=overArg3(Object.keys,Object),_nativeKeys2=nativeKeys3,objectProto$23=Object.prototype,hasOwnProperty$23=objectProto$23.hasOwnProperty;function baseKeys2(e){if(!_isPrototype2(e))return _nativeKeys2(e);var t,r=[];for(t in Object(e))hasOwnProperty$23.call(e,t)&&\\\"constructor\\\"!=t&&r.push(t);return r}var _baseKeys2=baseKeys2;function isArrayLike2(e){return null!=e&&isLength_13(e.length)&&!isFunction_13(e)}var isArrayLike_12=isArrayLike2;function keys2(e){return(isArrayLike_12(e)?_arrayLikeKeys2:_baseKeys2)(e)}var keys_12=keys2;function getAllKeys2(e){return _baseGetAllKeys2(e,keys_12,_getSymbols2)}var _getAllKeys2=getAllKeys2,COMPARE_PARTIAL_FLAG$32=1,objectProto$13=Object.prototype,hasOwnProperty$13=objectProto$13.hasOwnProperty;function equalObjects2(e,t,r,n,o,a){var i=r&COMPARE_PARTIAL_FLAG$32,s=_getAllKeys2(e),c=s.length;if(c!=_getAllKeys2(t).length&&!i)return!1;for(var l=c;l--;){var u=s[l];if(!(i?u in t:hasOwnProperty$13.call(t,u)))return!1}var d=a.get(e),p=a.get(t);if(d&&p)return d==t&&p==e;for(var f=!0,g=(a.set(e,t),a.set(t,e),i);++l\u003Cc;){var m,h=e[u=s[l]],_=t[u];if(!(void 0===(m=n?i?n(_,h,u,t,e,a):n(h,_,u,e,t,a):m)?h===_||o(h,_,r,n,a):m)){f=!1;break}g=g||\\\"constructor\\\"==u}return f&&!g&&(d=e.constructor)!=(p=t.constructor)&&\\\"constructor\\\"in e&&\\\"constructor\\\"in t&&!(\\\"function\\\"==typeof d&&d instanceof d&&\\\"function\\\"==typeof p&&p instanceof p)&&(f=!1),a[\\\"delete\\\"](e),a[\\\"delete\\\"](t),f}var _equalObjects2=equalObjects2,DataView3=_getNative3(_root3,\\\"DataView\\\"),_DataView3=DataView3,Promise$13=_getNative3(_root3,\\\"Promise\\\"),_Promise3=Promise$13,Set3=_getNative3(_root3,\\\"Set\\\"),_Set3=Set3,WeakMap3=_getNative3(_root3,\\\"WeakMap\\\"),_WeakMap3=WeakMap3,mapTag3=\\\"[object Map]\\\",objectTag$13=\\\"[object Object]\\\",promiseTag3=\\\"[object Promise]\\\",setTag3=\\\"[object Set]\\\",weakMapTag3=\\\"[object WeakMap]\\\",dataViewTag3=\\\"[object DataView]\\\",dataViewCtorString3=_toSource3(_DataView3),mapCtorString3=_toSource3(_Map3),promiseCtorString3=_toSource3(_Promise3),setCtorString3=_toSource3(_Set3),weakMapCtorString3=_toSource3(_WeakMap3),getTag3=_baseGetTag3,_getTag2=getTag3=_DataView3&&getTag3(new _DataView3(new ArrayBuffer(1)))!=dataViewTag3||_Map3&&getTag3(new _Map3)!=mapTag3||_Promise3&&getTag3(_Promise3.resolve())!=promiseTag3||_Set3&&getTag3(new _Set3)!=setTag3||_WeakMap3&&getTag3(new _WeakMap3)!=weakMapTag3?function(e){var t=_baseGetTag3(e),r=t==objectTag$13?e.constructor:void 0,r=r?_toSource3(r):\\\"\\\";if(r)switch(r){case dataViewCtorString3:return dataViewTag3;case mapCtorString3:return mapTag3;case promiseCtorString3:return promiseTag3;case setCtorString3:return setTag3;case weakMapCtorString3:return weakMapTag3}return t}:getTag3,COMPARE_PARTIAL_FLAG$22=1,argsTag2=\\\"[object Arguments]\\\",arrayTag2=\\\"[object Array]\\\",objectTag2=\\\"[object Object]\\\",objectProto3=Object.prototype,hasOwnProperty3=objectProto3.hasOwnProperty;function baseIsEqualDeep2(e,t,r,n,o,a){var i=isArray_13(e),s=isArray_13(t),c=i?arrayTag2:_getTag2(e),s=s?arrayTag2:_getTag2(t),l=(c=c==argsTag2?objectTag2:c)==objectTag2,u=(s=s==argsTag2?objectTag2:s)==objectTag2,s=c==s;if(s&&isBuffer_13(e)){if(!isBuffer_13(t))return!1;l=!(i=!0)}if(s&&!l)return a=a||new _Stack2,i||isTypedArray_12(e)?_equalArrays2(e,t,r,n,o,a):_equalByTag2(e,t,c,r,n,o,a);if(!(r&COMPARE_PARTIAL_FLAG$22)){i=l&&hasOwnProperty3.call(e,\\\"__wrapped__\\\"),c=u&&hasOwnProperty3.call(t,\\\"__wrapped__\\\");if(i||c)return o(i?e.value():e,c?t.value():t,r,n,a=a||new _Stack2)}return s&&(a=a||new _Stack2,_equalObjects2(e,t,r,n,o,a))}var _baseIsEqualDeep2=baseIsEqualDeep2;function baseIsEqual2(e,t,r,n,o){return e===t||(null==e||null==t||!isObjectLike_13(e)&&!isObjectLike_13(t)?e!=e&&t!=t:_baseIsEqualDeep2(e,t,r,n,baseIsEqual2,o))}var _baseIsEqual2=baseIsEqual2,COMPARE_PARTIAL_FLAG$12=1,COMPARE_UNORDERED_FLAG$12=2;function baseIsMatch2(e,t,r,n){var o=r.length,a=o,i=!n;if(null==e)return!a;for(e=Object(e);o--;){var s=r[o];if(i&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o\u003Ca;){var c=(s=r[o])[0],l=e[c],u=s[1];if(i&&s[2]){if(void 0===l&&!(c in e))return!1}else{var d,p=new _Stack2;if(!(void 0===(d=n?n(l,u,c,e,t,p):d)?_baseIsEqual2(u,l,COMPARE_PARTIAL_FLAG$12|COMPARE_UNORDERED_FLAG$12,n,p):d))return!1}}return!0}var _baseIsMatch2=baseIsMatch2;function isStrictComparable2(e){return e==e&&!isObject_13(e)}var _isStrictComparable2=isStrictComparable2;function getMatchData2(e){for(var t=keys_12(e),r=t.length;r--;){var n=t[r],o=e[n];t[r]=[n,o,_isStrictComparable2(o)]}return t}var _getMatchData2=getMatchData2;function matchesStrictComparable2(t,r){return function(e){return null!=e&&e[t]===r&&(void 0!==r||t in Object(e))}}var _matchesStrictComparable2=matchesStrictComparable2;function baseMatches2(t){var r=_getMatchData2(t);return 1==r.length&&r[0][2]?_matchesStrictComparable2(r[0][0],r[0][1]):function(e){return e===t||_baseIsMatch2(e,t,r)}}var _baseMatches2=baseMatches2,symbolTag2=\\\"[object Symbol]\\\";function isSymbol2(e){return\\\"symbol\\\"==typeof e||isObjectLike_13(e)&&_baseGetTag3(e)==symbolTag2}var isSymbol_12=isSymbol2,reIsDeepProp2=/\\\\.|\\\\[(?:[^[\\\\]]*|([\\\"'])(?:(?!\\\\1)[^\\\\\\\\]|\\\\\\\\.)*?\\\\1)\\\\]/,reIsPlainProp2=/^\\\\w*$/;function isKey2(e,t){var r;return!isArray_13(e)&&(!(\\\"number\\\"!=(r=typeof e)&&\\\"symbol\\\"!=r&&\\\"boolean\\\"!=r&&null!=e&&!isSymbol_12(e))||reIsPlainProp2.test(e)||!reIsDeepProp2.test(e)||null!=t&&e in Object(t))}var _isKey2=isKey2,FUNC_ERROR_TEXT3=\\\"Expected a function\\\";function memoize3(n,o){if(\\\"function\\\"!=typeof n||null!=o&&\\\"function\\\"!=typeof o)throw new TypeError(FUNC_ERROR_TEXT3);var a=function(){var e=arguments,t=o?o.apply(this,e):e[0],r=a.cache;return r.has(t)?r.get(t):(e=n.apply(this,e),a.cache=r.set(t,e)||r,e)};return a.cache=new(memoize3.Cache||_MapCache3),a}memoize3.Cache=_MapCache3;var memoize_13=memoize3,MAX_MEMOIZE_SIZE3=500;function memoizeCapped3(e){var t=memoize_13(e,function(e){return r.size===MAX_MEMOIZE_SIZE3&&r.clear(),e}),r=t.cache;return t}var _memoizeCapped3=memoizeCapped3,rePropName3=/[^.[\\\\]]+|\\\\[(?:(-?\\\\d+(?:\\\\.\\\\d+)?)|([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]|(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|$))/g,reEscapeChar3=/\\\\\\\\(\\\\\\\\)?/g,stringToPath3=memoizeCapped3(function(e){var o=[];return 46===e.charCodeAt(0)&&o.push(\\\"\\\"),e.replace(rePropName3,function(e,t,r,n){o.push(r?n.replace(reEscapeChar3,\\\"$1\\\"):t||e)}),o}),_stringToPath2=stringToPath3,INFINITY$13=1/0,symbolProto3=_Symbol3?_Symbol3.prototype:void 0,symbolToString3=symbolProto3?symbolProto3.toString:void 0;function baseToString2(e){var t;return\\\"string\\\"==typeof e?e:isArray_13(e)?_arrayMap2(e,baseToString2)+\\\"\\\":isSymbol_12(e)?symbolToString3?symbolToString3.call(e):\\\"\\\":\\\"0\\\"==(t=e+\\\"\\\")&&1/e==-INFINITY$13?\\\"-0\\\":t}var _baseToString2=baseToString2;function toString2(e){return null==e?\\\"\\\":_baseToString2(e)}var toString_12=toString2;function castPath2(e,t){return isArray_13(e)?e:_isKey2(e,t)?[e]:_stringToPath2(toString_12(e))}var _castPath2=castPath2,INFINITY3=1/0;function toKey2(e){var t;return\\\"string\\\"==typeof e||isSymbol_12(e)?e:\\\"0\\\"==(t=e+\\\"\\\")&&1/e==-INFINITY3?\\\"-0\\\":t}var _toKey2=toKey2;function baseGet2(e,t){for(var r=0,n=(t=_castPath2(t,e)).length;null!=e&&r\u003Cn;)e=e[_toKey2(t[r++])];return r&&r==n?e:void 0}var _baseGet2=baseGet2;function get2(e,t,r){var n=null==e?void 0:_baseGet2(e,t);return void 0===n?r:n}var get_12=get2;function baseHasIn2(e,t){return null!=e&&t in Object(e)}var _baseHasIn2=baseHasIn2;function hasPath3(e,t,r){for(var n=-1,o=(t=_castPath2(t,e)).length,a=!1;++n\u003Co;){var i=_toKey2(t[n]);if(!(a=null!=e&&r(e,i)))break;e=e[i]}return a||++n!=o?a:!!(o=null==e?0:e.length)&&isLength_13(o)&&_isIndex2(i,o)&&(isArray_13(e)||isArguments_12(e))}var _hasPath2=hasPath3;function hasIn2(e,t){return null!=e&&_hasPath2(e,t,_baseHasIn2)}var hasIn_12=hasIn2,COMPARE_PARTIAL_FLAG2=1,COMPARE_UNORDERED_FLAG2=2;function baseMatchesProperty2(r,n){return _isKey2(r)&&_isStrictComparable2(n)?_matchesStrictComparable2(_toKey2(r),n):function(e){var t=get_12(e,r);return void 0===t&&t===n?hasIn_12(e,r):_baseIsEqual2(n,t,COMPARE_PARTIAL_FLAG2|COMPARE_UNORDERED_FLAG2)}}var _baseMatchesProperty2=baseMatchesProperty2;function identity2(e){return e}var identity_12=identity2;function baseProperty2(t){return function(e){return null==e?void 0:e[t]}}var _baseProperty2=baseProperty2;function basePropertyDeep2(t){return function(e){return _baseGet2(e,t)}}var _basePropertyDeep2=basePropertyDeep2;function property2(e){return _isKey2(e)?_baseProperty2(_toKey2(e)):_basePropertyDeep2(e)}var property_12=property2;function baseIteratee2(e){return\\\"function\\\"==typeof e?e:null==e?identity_12:\\\"object\\\"==typeof e?isArray_13(e)?_baseMatchesProperty2(e[0],e[1]):_baseMatches2(e):property_12(e)}var _baseIteratee2=baseIteratee2;function createBaseFor3(c){return function(e,t,r){for(var n=-1,o=Object(e),a=r(e),i=a.length;i--;){var s=a[c?i:++n];if(!1===t(o[s],s,o))break}return e}}var _createBaseFor3=createBaseFor3,baseFor3=createBaseFor3(),_baseFor2=baseFor3;function baseForOwn2(e,t){return e&&_baseFor2(e,t,keys_12)}var _baseForOwn2=baseForOwn2;function createBaseEach2(a,i){return function(e,t){if(null!=e){if(!isArrayLike_12(e))return a(e,t);for(var r=e.length,n=i?r:-1,o=Object(e);(i?n--:++n\u003Cr)&&!1!==t(o[n],n,o););}return e}}var _createBaseEach2=createBaseEach2,baseEach2=createBaseEach2(baseForOwn2),_baseEach2=baseEach2;function baseMap(e,n){var o=-1,a=isArrayLike_12(e)?Array(e.length):[];return _baseEach2(e,function(e,t,r){a[++o]=n(e,t,r)}),a}var _baseMap=baseMap;function map(e,t){return(isArray_13(e)?_arrayMap2:_baseMap)(e,_baseIteratee2(t))}var map_1=map,isRangeAcrossBlocks=(e,{at:t,...r}={})=>{if(t=t||e.selection){var[n,o]=Range.edges(t),n=getBlockAbove2(e,{at:n,...r}),o=getBlockAbove2(e,{at:o,...r});if(n||o)return!n||!o||!Path.equals(n[1],o[1])}},getPointBeforeLocation=(l,u,d)=>{if(!d||!d.match&&!d.matchString)return getPointBefore(l,u,d);const p=!d.unit||\\\"offset\\\"===d.unit;var e=d.matchString?castArray_13(d.matchString):[\\\"\\\"];let f;return e.some(t=>{let r=u,n=getPoint(l,u,{edge:\\\"end\\\"});var o=t.length+1,a=Array.from({length:o});let i=0;for(;;){var s=getPointBefore(l,r,d);if(!s)return;if(isRangeAcrossBlocks(l,{at:{anchor:s,focus:n}}))return;var c=getEditorString(l,{anchor:s,focus:n});let e=c;if(p&&o&&(a.unshift({point:s,text:c}),a.pop(),e=map_1(a.slice(0,-1),\\\"text\\\").join(\\\"\\\")),t===e||null!=(c=d.match)&&c.call(d,{beforeString:e,beforePoint:s,at:u}))return d.afterMatch?o&&p?!!(f=null==(c=a.at(-1))?void 0:c.point):(f=n,!0):(f=s,!0);if(n=s,r=s,i+=1,!d.skipInvalid&&(!t||i>=t.length))return}}),f},getPointFromLocation=(e,{at:t=e.selection,focus:r}={})=>{let n;return Range.isRange(t)&&(n=r?t.focus:t.anchor),Point.isPoint(t)&&(n=t),n=Path.isPath(t)?{path:t,offset:0}:n},getPreviousNodeEndPoint=(e,t)=>{var r=getPreviousNode(e,{at:t});if(r)return getEndPoint(e,r[1])},getPreviousPath=e=>{if(0!==e.length){var t=e.at(-1);if(!(t\u003C=0))return e.slice(0,-1).concat(t-1)}},getRangeBefore=(e,t,r)=>{var n=getPointBeforeLocation(e,t,r);if(n)return{anchor:n,focus:getPoint(e,t,{edge:\\\"end\\\"})}},getRangeFromBlockStart=(e,t={})=>{var r=null==(r=getBlockAbove2(e,t))?void 0:r[1];if(r){var r=getStartPoint(e,r),n=getPointFromLocation(e,t);if(n)return{anchor:r,focus:n}}},getSelectionText=e=>getEditorString(e,e.selection),isAncestorEmpty=(t,e)=>!getNodeString(e)&&!e.children.some(e=>isInline(t,e)),isBlockAboveEmpty=e=>{var t=null==(t=getBlockAbove2(e))?void 0:t[0];return!!t&&isAncestorEmpty(e,t)},isBlockTextEmptyAfterSelection=e=>{if(!e.selection)return!1;var t=getBlockAbove2(e);if(!t)return!1;var r=e.selection.focus,n=getParentNode(e,e.selection);if(!n)return!1;var[,n]=n;if(!isEndPoint(e,r,n))return!1;n=getNextSiblingNodes(t,r.path);if(!(0\u003Cn.length))return isEndPoint(e,r,t[1]);for(const o of n)if(isText(o)&&o.text)return!1;return!0},isFirstChild=e=>0===e.at(-1),isMarkActive=(e,t)=>isDefined(getMark(e,t)),isRangeInSameBlock=(e,{at:t,...r}={})=>{if(t=t||e.selection){var[n,o]=Range.edges(t),n=getBlockAbove2(e,{at:n,...r}),o=getBlockAbove2(e,{at:o,...r});if(n&&o)return Path.equals(n[1],o[1])}},isSelectionAtBlockEnd=(e,t)=>{var r,n=null==(n=getBlockAbove2(e,t))?void 0:n[1];return!!n&&isEndPoint(e,null==(r=e.selection)?void 0:r.focus,n)},isSelectionAtBlockStart2=(e,t)=>{var r,n=e[\\\"selection\\\"];return!!n&&!!(r=null==(r=getBlockAbove2(e,t))?void 0:r[1])&&(isStartPoint(e,n.focus,r)||isExpanded(e.selection)&&isStartPoint(e,n.anchor,r))},isSelectionExpanded=e=>isExpanded(e.selection),insertElements=(e,t,r)=>{insertNodes3(e,t,r)},insertEmptyElement=(e,t,r)=>{insertElements(e,{type:t,children:[{text:\\\"\\\"}]},getQueryOptions(e,r))},moveChildren=(t,{at:e,to:r,match:n,fromStartIndex:o=0})=>{let a=0;var i=Path.isPath(e)?e:e[1],s=Path.isPath(e)?getNode(t,i):e[0];if(s&&isBlock2(t,s))for(let e=s.children.length-1;e>=o;e--){var c=[...i,e],l=getNode(t,c);(!n||l&&n([l,c]))&&(moveNodes2(t,{at:c,to:r}),a++)}return a},removeMark2=(e,{key:t,at:r,shouldChange:n=!0,...o})=>{var a=null!=r?r:e.selection;if(t=castArray_13(t),a)if(Range.isRange(a)&&Range.isExpanded(a))unsetNodes3(e,t,{at:a,match:isText,split:!0,...o});else if(e.selection){const i=null!=(a=getMarks(e))?a:{};t.forEach(e=>{delete i[e]}),e.marks=i,n&&e.onChange()}},removeNodeChildren=(t,r,n)=>{withoutNormalizing2(t,()=>{for(var[,e]of getNodeChildren(t,r,{reverse:!0}))removeNodes3(t,{...n,at:e})})},replaceNodeChildren=(e,{at:t,nodes:r,insertOptions:n,removeOptions:o})=>{withoutNormalizing2(e,()=>{removeNodeChildren(e,t,o),insertNodes3(e,r,{...n,at:t.concat([0])})})},toggleMark=(t,{key:r,clear:n})=>{t.selection&&withoutNormalizing2(t,()=>{var e;isMarkActive(t,r)?removeMark2(t,{key:r}):(n&&(e=castArray_13(n),removeMark2(t,{key:e})),t.addMark(r,!0))})},wrapNodeChildren=(t,r,n)=>{const o=null==n?void 0:n.at,a=getNode(t,o);null!==a&&void 0!==a&&a.children&&withoutNormalizing2(t,()=>{var e=o.concat([0]);wrapNodes3(t,r,{...n,at:e}),a.children.length\u003C2||moveChildren(t,{at:o,to:e.concat([1]),fromStartIndex:1})})};function _extends3(){return(_extends3=Object.assign?Object.assign.bind():function(e){for(var t=1;t\u003Carguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var createSlotComponent=o=>import_react11[\\\"default\\\"].forwardRef(({as:e,asChild:t=!1,...r},n)=>{return import_react11[\\\"default\\\"].createElement(t?$5e63c961fc1ce211$export$8c6ed5c666ac1360:e||o,_extends3({ref:n},r))}),Box=createSlotComponent(\\\"div\\\");function r5(e){var t,r,n=\\\"\\\";if(\\\"string\\\"==typeof e||\\\"number\\\"==typeof e)n+=e;else if(\\\"object\\\"==typeof e)if(Array.isArray(e))for(t=0;t\u003Ce.length;t++)e[t]&&(r=r5(e[t]))&&(n&&(n+=\\\" \\\"),n+=r);else for(t in e)e[t]&&(n&&(n+=\\\" \\\"),n+=t);return n}function clsx2(){for(var e,t=0,r=\\\"\\\";t\u003Carguments.length;)(e=arguments[t++])&&(e=r5(e))&&(r&&(r+=\\\" \\\"),r+=e);return r}var usePlateElement=e=>{const{editor:t,attributes:r,nodeProps:n,element:o,elementToAttributes:a,...i}=e;return{ref:useComposedRef(e.ref,r.ref),props:{...r,...i,...n,...null==a?void 0:a(o),className:clsx2(e.className,null==n?void 0:n.className)}}},PlateElement=import_react11[\\\"default\\\"].forwardRef((e,t)=>{var{ref:r,props:n}=usePlateElement({...e,ref:t});return import_react11[\\\"default\\\"].createElement(Box,_extends3({},n,{ref:r}))}),usePlateLeaf=(PlateElement.displayName=\\\"PlateElement\\\",e=>{const{editor:t,attributes:r,nodeProps:n,text:o,leaf:a,leafToAttributes:i,...s}=e;return{ref:useComposedRef(e.ref,r.ref),props:{...r,...s,...n,...null==i?void 0:i(a),className:clsx2(e.className,null==n?void 0:n.className)}}}),PlateLeaf=import_react11[\\\"default\\\"].forwardRef((e,t)=>{var{ref:r,props:n}=usePlateLeaf({...e,ref:t});return import_react11[\\\"default\\\"].createElement(Text3,_extends3({},n,{ref:r}))}),PortalBody=(PlateLeaf.displayName=\\\"PlateLeaf\\\",({children:e,element:t})=>{return(t||\\\"undefined\\\"!=typeof window?document.body:void 0)?import_react_dom2[\\\"default\\\"].createPortal(e,t||document.body):import_react11[\\\"default\\\"].createElement(import_react11[\\\"default\\\"].Fragment,null,e)}),createNodeHOC=n=>(t,r)=>function(e){return import_react11[\\\"default\\\"].createElement(n,_extends3({},e,r),import_react11[\\\"default\\\"].createElement(t,e))},isArray5=Array.isArray,isArray_14=isArray5;function castArray4(){var e;return arguments.length?isArray_14(e=arguments[0])?e:[e]:[]}var castArray_14=castArray4;function listCacheClear4(){this.__data__=[],this.size=0}var _listCacheClear4=listCacheClear4;function eq4(e,t){return e===t||e!=e&&t!=t}var eq_14=eq4;function assocIndexOf4(e,t){for(var r=e.length;r--;)if(eq_14(e[r][0],t))return r;return-1}var _assocIndexOf4=assocIndexOf4,arrayProto4=Array.prototype,splice4=arrayProto4.splice;function listCacheDelete4(e){var t=this.__data__,r=_assocIndexOf4(t,e);return!(r\u003C0||(r==t.length-1?t.pop():splice4.call(t,r,1),--this.size,0))}var _listCacheDelete4=listCacheDelete4;function listCacheGet4(e){var t=this.__data__,r=_assocIndexOf4(t,e);return r\u003C0?void 0:t[r][1]}var _listCacheGet4=listCacheGet4;function listCacheHas4(e){return-1\u003C_assocIndexOf4(this.__data__,e)}var _listCacheHas4=listCacheHas4;function listCacheSet4(e,t){var r=this.__data__,n=_assocIndexOf4(r,e);return n\u003C0?(++this.size,r.push([e,t])):r[n][1]=t,this}var _listCacheSet4=listCacheSet4;function ListCache4(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}ListCache4.prototype.clear=_listCacheClear4,ListCache4.prototype[\\\"delete\\\"]=_listCacheDelete4,ListCache4.prototype.get=_listCacheGet4,ListCache4.prototype.has=_listCacheHas4,ListCache4.prototype.set=_listCacheSet4;var _ListCache4=ListCache4;function stackClear4(){this.__data__=new _ListCache4,this.size=0}var _stackClear4=stackClear4;function stackDelete4(e){var t=this.__data__,r=t[\\\"delete\\\"](e);return this.size=t.size,r}var _stackDelete4=stackDelete4;function stackGet4(e){return this.__data__.get(e)}var _stackGet4=stackGet4;function stackHas4(e){return this.__data__.has(e)}var _stackHas4=stackHas4,commonjsGlobal4=\\\"undefined\\\"!=typeof globalThis?globalThis:\\\"undefined\\\"!=typeof window?window:\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:{};function unwrapExports2(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\\\"default\\\")?e[\\\"default\\\"]:e}function createCommonjsModule4(e,t){return e(t={exports:{}},t.exports),t.exports}var freeGlobal4=\\\"object\\\"==typeof commonjsGlobal4&&commonjsGlobal4&&commonjsGlobal4.Object===Object&&commonjsGlobal4,_freeGlobal4=freeGlobal4,freeSelf4=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,root4=_freeGlobal4||freeSelf4||Function(\\\"return this\\\")(),_root4=root4,Symbol$12=_root4.Symbol,_Symbol4=Symbol$12,objectProto$b4=Object.prototype,hasOwnProperty$92=objectProto$b4.hasOwnProperty,nativeObjectToString$14=objectProto$b4.toString,symToStringTag$14=_Symbol4?_Symbol4.toStringTag:void 0;function getRawTag4(e){var t=hasOwnProperty$92.call(e,symToStringTag$14),r=e[symToStringTag$14];try{var n=!(e[symToStringTag$14]=void 0)}catch(a){}var o=nativeObjectToString$14.call(e);return n&&(t?e[symToStringTag$14]=r:delete e[symToStringTag$14]),o}var _getRawTag4=getRawTag4,objectProto$a4=Object.prototype,nativeObjectToString4=objectProto$a4.toString;function objectToString4(e){return nativeObjectToString4.call(e)}var _objectToString4=objectToString4,nullTag4=\\\"[object Null]\\\",undefinedTag4=\\\"[object Undefined]\\\",symToStringTag4=_Symbol4?_Symbol4.toStringTag:void 0;function baseGetTag4(e){return null==e?void 0===e?undefinedTag4:nullTag4:(symToStringTag4&&symToStringTag4 in Object(e)?_getRawTag4:_objectToString4)(e)}var _baseGetTag4=baseGetTag4;function isObject5(e){var t=typeof e;return null!=e&&(\\\"object\\\"==t||\\\"function\\\"==t)}var isObject_14=isObject5,asyncTag4=\\\"[object AsyncFunction]\\\",funcTag$14=\\\"[object Function]\\\",genTag4=\\\"[object GeneratorFunction]\\\",proxyTag4=\\\"[object Proxy]\\\";function isFunction4(e){var t;return!!isObject_14(e)&&((t=_baseGetTag4(e))==funcTag$14||t==genTag4||t==asyncTag4||t==proxyTag4)}var isFunction_14=isFunction4,coreJsData4=_root4[\\\"__core-js_shared__\\\"],_coreJsData4=coreJsData4,maskSrcKey4=function(){var e=/[^.]+$/.exec(_coreJsData4&&_coreJsData4.keys&&_coreJsData4.keys.IE_PROTO||\\\"\\\");return e?\\\"Symbol(src)_1.\\\"+e:\\\"\\\"}();function isMasked4(e){return!!maskSrcKey4&&maskSrcKey4 in e}var _isMasked4=isMasked4,funcProto$22=Function.prototype,funcToString$22=funcProto$22.toString;function toSource4(e){if(null!=e){try{return funcToString$22.call(e)}catch(t){}try{return e+\\\"\\\"}catch(t){}}return\\\"\\\"}var _toSource4=toSource4,reRegExpChar4=/[\\\\\\\\^$.*+?()[\\\\]{}|]/g,reIsHostCtor4=/^\\\\[object .+?Constructor\\\\]$/,funcProto$14=Function.prototype,objectProto$94=Object.prototype,funcToString$14=funcProto$14.toString,hasOwnProperty$84=objectProto$94.hasOwnProperty,reIsNative4=RegExp(\\\"^\\\"+funcToString$14.call(hasOwnProperty$84).replace(reRegExpChar4,\\\"\\\\\\\\$&\\\").replace(/hasOwnProperty|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\");function baseIsNative4(e){return!(!isObject_14(e)||_isMasked4(e))&&(isFunction_14(e)?reIsNative4:reIsHostCtor4).test(_toSource4(e))}var _baseIsNative4=baseIsNative4;function getValue4(e,t){return null==e?void 0:e[t]}var _getValue4=getValue4;function getNative4(e,t){var r=_getValue4(e,t);return _baseIsNative4(r)?r:void 0}var _getNative4=getNative4,Map5=_getNative4(_root4,\\\"Map\\\"),_Map4=Map5,nativeCreate4=_getNative4(Object,\\\"create\\\"),_nativeCreate4=nativeCreate4;function hashClear4(){this.__data__=_nativeCreate4?_nativeCreate4(null):{},this.size=0}var _hashClear4=hashClear4;function hashDelete4(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var _hashDelete4=hashDelete4,HASH_UNDEFINED$14=\\\"__lodash_hash_undefined__\\\",objectProto$84=Object.prototype,hasOwnProperty$74=objectProto$84.hasOwnProperty;function hashGet4(e){var t,r=this.__data__;return _nativeCreate4?(t=r[e])===HASH_UNDEFINED$14?void 0:t:hasOwnProperty$74.call(r,e)?r[e]:void 0}var _hashGet4=hashGet4,objectProto$74=Object.prototype,hasOwnProperty$64=objectProto$74.hasOwnProperty;function hashHas4(e){var t=this.__data__;return _nativeCreate4?void 0!==t[e]:hasOwnProperty$64.call(t,e)}var _hashHas4=hashHas4,HASH_UNDEFINED4=\\\"__lodash_hash_undefined__\\\";function hashSet4(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=_nativeCreate4&&void 0===t?HASH_UNDEFINED4:t,this}var _hashSet4=hashSet4;function Hash4(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}Hash4.prototype.clear=_hashClear4,Hash4.prototype[\\\"delete\\\"]=_hashDelete4,Hash4.prototype.get=_hashGet4,Hash4.prototype.has=_hashHas4,Hash4.prototype.set=_hashSet4;var _Hash4=Hash4;function mapCacheClear4(){this.size=0,this.__data__={hash:new _Hash4,map:new(_Map4||_ListCache4),string:new _Hash4}}var _mapCacheClear4=mapCacheClear4;function isKeyable4(e){var t=typeof e;return\\\"string\\\"==t||\\\"number\\\"==t||\\\"symbol\\\"==t||\\\"boolean\\\"==t?\\\"__proto__\\\"!==e:null===e}var _isKeyable4=isKeyable4;function getMapData4(e,t){var r=e.__data__;return _isKeyable4(t)?r[\\\"string\\\"==typeof t?\\\"string\\\":\\\"hash\\\"]:r.map}var _getMapData4=getMapData4;function mapCacheDelete4(e){var t=_getMapData4(this,e)[\\\"delete\\\"](e);return this.size-=t?1:0,t}var _mapCacheDelete4=mapCacheDelete4;function mapCacheGet4(e){return _getMapData4(this,e).get(e)}var _mapCacheGet4=mapCacheGet4;function mapCacheHas4(e){return _getMapData4(this,e).has(e)}var _mapCacheHas4=mapCacheHas4;function mapCacheSet4(e,t){var r=_getMapData4(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}var _mapCacheSet4=mapCacheSet4;function MapCache4(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}MapCache4.prototype.clear=_mapCacheClear4,MapCache4.prototype[\\\"delete\\\"]=_mapCacheDelete4,MapCache4.prototype.get=_mapCacheGet4,MapCache4.prototype.has=_mapCacheHas4,MapCache4.prototype.set=_mapCacheSet4;var _MapCache4=MapCache4,LARGE_ARRAY_SIZE4=200;function stackSet4(e,t){var r=this.__data__;if(r instanceof _ListCache4){var n=r.__data__;if(!_Map4||n.length\u003CLARGE_ARRAY_SIZE4-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new _MapCache4(n)}return r.set(e,t),this.size=r.size,this}var _stackSet4=stackSet4;function Stack4(e){var t=this.__data__=new _ListCache4(e);this.size=t.size}Stack4.prototype.clear=_stackClear4,Stack4.prototype[\\\"delete\\\"]=_stackDelete4,Stack4.prototype.get=_stackGet4,Stack4.prototype.has=_stackHas4,Stack4.prototype.set=_stackSet4;var _Stack3=Stack4,defineProperty3=function(){try{var e=_getNative4(Object,\\\"defineProperty\\\");return e({},\\\"\\\",{}),e}catch(t){}}(),_defineProperty4=defineProperty3;function baseAssignValue2(e,t,r){\\\"__proto__\\\"==t&&_defineProperty4?_defineProperty4(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var _baseAssignValue2=baseAssignValue2;function assignMergeValue2(e,t,r){(void 0===r||eq_14(e[t],r))&&(void 0!==r||t in e)||_baseAssignValue2(e,t,r)}var _assignMergeValue2=assignMergeValue2;function createBaseFor4(c){return function(e,t,r){for(var n=-1,o=Object(e),a=r(e),i=a.length;i--;){var s=a[c?i:++n];if(!1===t(o[s],s,o))break}return e}}var _createBaseFor4=createBaseFor4,baseFor4=createBaseFor4(),_baseFor3=baseFor4,_cloneBuffer2=createCommonjsModule4(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,n=n&&n.exports===r?_root4.Buffer:void 0,o=n?n.allocUnsafe:void 0;e.exports=function(e,t){var r;return t?e.slice():(r=e.length,r=o?o(r):new e.constructor(r),e.copy(r),r)}}),Uint8Array5=_root4.Uint8Array,_Uint8Array3=Uint8Array5;function cloneArrayBuffer2(e){var t=new e.constructor(e.byteLength);return new _Uint8Array3(t).set(new _Uint8Array3(e)),t}var _cloneArrayBuffer2=cloneArrayBuffer2;function cloneTypedArray2(e,t){var r=t?_cloneArrayBuffer2(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var _cloneTypedArray2=cloneTypedArray2;function copyArray2(e,t){var r=-1,n=e.length;for(t=t||Array(n);++r\u003Cn;)t[r]=e[r];return t}var _copyArray2=copyArray2,objectCreate2=Object.create,baseCreate2=function(){function r(){}return function(e){if(!isObject_14(e))return{};if(objectCreate2)return objectCreate2(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}(),_baseCreate2=baseCreate2;function overArg4(t,r){return function(e){return t(r(e))}}var _overArg4=overArg4,getPrototype2=overArg4(Object.getPrototypeOf,Object),_getPrototype2=getPrototype2,objectProto$64=Object.prototype;function isPrototype3(e){var t=e&&e.constructor;return e===(\\\"function\\\"==typeof t&&t.prototype||objectProto$64)}var _isPrototype3=isPrototype3;function initCloneObject2(e){return\\\"function\\\"!=typeof e.constructor||_isPrototype3(e)?{}:_baseCreate2(_getPrototype2(e))}var _initCloneObject2=initCloneObject2;function isObjectLike4(e){return null!=e&&\\\"object\\\"==typeof e}var isObjectLike_14=isObjectLike4,argsTag$14=\\\"[object Arguments]\\\";function baseIsArguments4(e){return isObjectLike_14(e)&&_baseGetTag4(e)==argsTag$14}var _baseIsArguments4=baseIsArguments4,objectProto$54=Object.prototype,hasOwnProperty$54=objectProto$54.hasOwnProperty,propertyIsEnumerable4=objectProto$54.propertyIsEnumerable,isArguments4=_baseIsArguments4(function(){return arguments}())?_baseIsArguments4:function(e){return isObjectLike_14(e)&&hasOwnProperty$54.call(e,\\\"callee\\\")&&!propertyIsEnumerable4.call(e,\\\"callee\\\")},isArguments_13=isArguments4,MAX_SAFE_INTEGER$13=9007199254740991;function isLength4(e){return\\\"number\\\"==typeof e&&-1\u003Ce&&e%1==0&&e\u003C=MAX_SAFE_INTEGER$13}var isLength_14=isLength4;function isArrayLike3(e){return null!=e&&isLength_14(e.length)&&!isFunction_14(e)}var isArrayLike_13=isArrayLike3;function isArrayLikeObject2(e){return isObjectLike_14(e)&&isArrayLike_13(e)}var isArrayLikeObject_12=isArrayLikeObject2;function stubFalse4(){return!1}var stubFalse_14=stubFalse4,isBuffer_14=createCommonjsModule4(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,n=n&&n.exports===r?_root4.Buffer:void 0,r=n?n.isBuffer:void 0;e.exports=r||stubFalse_14}),objectTag$14=\\\"[object Object]\\\",funcProto4=Function.prototype,objectProto$44=Object.prototype,funcToString4=funcProto4.toString,hasOwnProperty$44=objectProto$44.hasOwnProperty,objectCtorString2=funcToString4.call(Object);function isPlainObject3(e){var t;return!(!isObjectLike_14(e)||_baseGetTag4(e)!=objectTag$14)&&(null===(t=_getPrototype2(e))||\\\"function\\\"==typeof(t=hasOwnProperty$44.call(t,\\\"constructor\\\")&&t.constructor)&&t instanceof t&&funcToString4.call(t)==objectCtorString2)}var isPlainObject_12=isPlainObject3,argsTag3=\\\"[object Arguments]\\\",arrayTag3=\\\"[object Array]\\\",boolTag3=\\\"[object Boolean]\\\",dateTag3=\\\"[object Date]\\\",errorTag3=\\\"[object Error]\\\",funcTag4=\\\"[object Function]\\\",mapTag4=\\\"[object Map]\\\",numberTag3=\\\"[object Number]\\\",objectTag3=\\\"[object Object]\\\",regexpTag3=\\\"[object RegExp]\\\",setTag4=\\\"[object Set]\\\",stringTag3=\\\"[object String]\\\",weakMapTag4=\\\"[object WeakMap]\\\",arrayBufferTag3=\\\"[object ArrayBuffer]\\\",dataViewTag4=\\\"[object DataView]\\\",float32Tag4=\\\"[object Float32Array]\\\",float64Tag4=\\\"[object Float64Array]\\\",int8Tag4=\\\"[object Int8Array]\\\",int16Tag4=\\\"[object Int16Array]\\\",int32Tag4=\\\"[object Int32Array]\\\",uint8Tag4=\\\"[object Uint8Array]\\\",uint8ClampedTag4=\\\"[object Uint8ClampedArray]\\\",uint16Tag4=\\\"[object Uint16Array]\\\",uint32Tag4=\\\"[object Uint32Array]\\\",typedArrayTags4={};function baseIsTypedArray4(e){return isObjectLike_14(e)&&isLength_14(e.length)&&!!typedArrayTags4[_baseGetTag4(e)]}typedArrayTags4[float32Tag4]=typedArrayTags4[float64Tag4]=typedArrayTags4[int8Tag4]=typedArrayTags4[int16Tag4]=typedArrayTags4[int32Tag4]=typedArrayTags4[uint8Tag4]=typedArrayTags4[uint8ClampedTag4]=typedArrayTags4[uint16Tag4]=typedArrayTags4[uint32Tag4]=!0,typedArrayTags4[argsTag3]=typedArrayTags4[arrayTag3]=typedArrayTags4[arrayBufferTag3]=typedArrayTags4[boolTag3]=typedArrayTags4[dataViewTag4]=typedArrayTags4[dateTag3]=typedArrayTags4[errorTag3]=typedArrayTags4[funcTag4]=typedArrayTags4[mapTag4]=typedArrayTags4[numberTag3]=typedArrayTags4[objectTag3]=typedArrayTags4[regexpTag3]=typedArrayTags4[setTag4]=typedArrayTags4[stringTag3]=typedArrayTags4[weakMapTag4]=!1;var _baseIsTypedArray4=baseIsTypedArray4;function baseUnary4(t){return function(e){return t(e)}}var _baseUnary4=baseUnary4,_nodeUtil4=createCommonjsModule4(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r&&_freeGlobal4.process,r=function(){try{var e=n&&n.require&&n.require(\\\"util\\\").types;return e?e:o&&o.binding&&o.binding(\\\"util\\\")}catch(t){}}();e.exports=r}),nodeIsTypedArray4=_nodeUtil4&&_nodeUtil4.isTypedArray,isTypedArray4=nodeIsTypedArray4?_baseUnary4(nodeIsTypedArray4):_baseIsTypedArray4,isTypedArray_13=isTypedArray4;function safeGet2(e,t){if((\\\"constructor\\\"!==t||\\\"function\\\"!=typeof e[t])&&\\\"__proto__\\\"!=t)return e[t]}var _safeGet2=safeGet2,objectProto$34=Object.prototype,hasOwnProperty$34=objectProto$34.hasOwnProperty;function assignValue2(e,t,r){var n=e[t];hasOwnProperty$34.call(e,t)&&eq_14(n,r)&&(void 0!==r||t in e)||_baseAssignValue2(e,t,r)}var _assignValue2=assignValue2;function copyObject2(e,t,r,n){for(var o=!r,a=(r=r||{},-1),i=t.length;++a\u003Ci;){var s=t[a],c=n?n(r[s],e[s],s,r,e):void 0;void 0===c&&(c=e[s]),(o?_baseAssignValue2:_assignValue2)(r,s,c)}return r}var _copyObject2=copyObject2;function baseTimes3(e,t){for(var r=-1,n=Array(e);++r\u003Ce;)n[r]=t(r);return n}var _baseTimes3=baseTimes3,MAX_SAFE_INTEGER4=9007199254740991,reIsUint3=/^(?:0|[1-9]\\\\d*)$/;function isIndex3(e,t){var r=typeof e;return!!(t=null==t?MAX_SAFE_INTEGER4:t)&&(\\\"number\\\"==r||\\\"symbol\\\"!=r&&reIsUint3.test(e))&&-1\u003Ce&&e%1==0&&e\u003Ct}var _isIndex3=isIndex3,objectProto$24=Object.prototype,hasOwnProperty$24=objectProto$24.hasOwnProperty;function arrayLikeKeys3(e,t){var r,n=isArray_14(e),o=!n&&isArguments_13(e),a=!n&&!o&&isBuffer_14(e),i=!n&&!o&&!a&&isTypedArray_13(e),s=n||o||a||i,c=s?_baseTimes3(e.length,String):[],l=c.length;for(r in e)!t&&!hasOwnProperty$24.call(e,r)||s&&(\\\"length\\\"==r||a&&(\\\"offset\\\"==r||\\\"parent\\\"==r)||i&&(\\\"buffer\\\"==r||\\\"byteLength\\\"==r||\\\"byteOffset\\\"==r)||_isIndex3(r,l))||c.push(r);return c}var _arrayLikeKeys3=arrayLikeKeys3;function nativeKeysIn2(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}var _nativeKeysIn2=nativeKeysIn2,objectProto$14=Object.prototype,hasOwnProperty$14=objectProto$14.hasOwnProperty;function baseKeysIn2(e){if(!isObject_14(e))return _nativeKeysIn2(e);var t,r=_isPrototype3(e),n=[];for(t in e)(\\\"constructor\\\"!=t||!r&&hasOwnProperty$14.call(e,t))&&n.push(t);return n}var _baseKeysIn2=baseKeysIn2;function keysIn2(e){return isArrayLike_13(e)?_arrayLikeKeys3(e,!0):_baseKeysIn2(e)}var keysIn_12=keysIn2;function toPlainObject2(e){return _copyObject2(e,keysIn_12(e))}var toPlainObject_12=toPlainObject2;function baseMergeDeep2(e,t,r,n,o,a,i){var s,c,l,u,d=_safeGet2(e,r),p=_safeGet2(t,r),f=i.get(p);f||((s=void 0===(f=a?a(d,p,r+\\\"\\\",e,t,i):void 0))&&(l=!(c=isArray_14(p))&&isBuffer_14(p),u=!c&&!l&&isTypedArray_13(p),f=p,c||l||u?f=isArray_14(d)?d:isArrayLikeObject_12(d)?_copyArray2(d):l?_cloneBuffer2(p,!(s=!1)):u?_cloneTypedArray2(p,!(s=!1)):[]:isPlainObject_12(p)||isArguments_13(p)?isArguments_13(f=d)?f=toPlainObject_12(d):isObject_14(d)&&!isFunction_14(d)||(f=_initCloneObject2(p)):s=!1),s&&(i.set(p,f),o(f,p,n,a,i),i[\\\"delete\\\"](p))),_assignMergeValue2(e,r,f)}var _baseMergeDeep2=baseMergeDeep2;function baseMerge2(n,o,a,i,s){n!==o&&_baseFor3(o,function(e,t){var r;s=s||new _Stack3,isObject_14(e)?_baseMergeDeep2(n,o,t,a,baseMerge2,i,s):(r=i?i(_safeGet2(n,t),e,t+\\\"\\\",n,o,s):void 0,_assignMergeValue2(n,t,r=void 0===r?e:r))},keysIn_12)}var _baseMerge2=baseMerge2;function identity3(e){return e}var identity_13=identity3;function apply3(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}var _apply2=apply3,nativeMax2=Math.max;function overRest2(a,i,s){return i=nativeMax2(void 0===i?a.length-1:i,0),function(){for(var e=arguments,t=-1,r=nativeMax2(e.length-i,0),n=Array(r);++t\u003Cr;)n[t]=e[i+t];for(var t=-1,o=Array(i+1);++t\u003Ci;)o[t]=e[t];return o[i]=s(n),_apply2(a,this,o)}}var _overRest2=overRest2;function constant2(e){return function(){return e}}var constant_12=constant2,baseSetToString2=_defineProperty4?function(e,t){return _defineProperty4(e,\\\"toString\\\",{configurable:!0,enumerable:!1,value:constant_12(t),writable:!0})}:identity_13,_baseSetToString2=baseSetToString2,HOT_COUNT2=800,HOT_SPAN2=16,nativeNow2=Date.now;function shortOut2(r){var n=0,o=0;return function(){var e=nativeNow2(),t=HOT_SPAN2-(e-o);if(o=e,0\u003Ct){if(++n>=HOT_COUNT2)return arguments[0]}else n=0;return r.apply(void 0,arguments)}}var _shortOut2=shortOut2,setToString2=shortOut2(_baseSetToString2),_setToString2=setToString2;function baseRest2(e,t){return _setToString2(_overRest2(e,t,identity_13),e+\\\"\\\")}var _baseRest2=baseRest2;function isIterateeCall2(e,t,r){var n;return!!isObject_14(r)&&!!(\\\"number\\\"==(n=typeof t)?isArrayLike_13(r)&&_isIndex3(t,r.length):\\\"string\\\"==n&&t in r)&&eq_14(r[t],e)}var _isIterateeCall2=isIterateeCall2;function createAssigner2(s){return _baseRest2(function(e,t){var r=-1,n=t.length,o=1\u003Cn?t[n-1]:void 0,a=2\u003Cn?t[2]:void 0,o=3\u003Cs.length&&\\\"function\\\"==typeof o?(n--,o):void 0;for(a&&_isIterateeCall2(t[0],t[1],a)&&(o=n\u003C3?void 0:o,n=1),e=Object(e);++r\u003Cn;){var i=t[r];i&&s(e,i,r,o)}return e})}var _createAssigner2=createAssigner2,merge2=createAssigner2(function(e,t,r){_baseMerge2(e,t,r)}),merge_12=merge2,createHOC=r=>(e,t)=>{const n={...e},o={};return castArray_14(t).forEach(({key:e,keys:t,...r})=>{(e?[e]:null!=t?t:Object.keys(n)).forEach(e=>{o[e]=merge_12(o[e],r)})}),Object.keys(o).forEach(e=>{n[e]&&(n[e]=r(n[e],o[e]))}),n},createNodesHOC=e=>createHOC(createNodeHOC(e)),createNodesWithHOC=e=>createHOC(e),setRef=(e,t)=>{\\\"function\\\"==typeof e?e(t):null!=e&&(e.current=t)},composeRefs=(...e)=>t=>e.forEach(e=>setRef(e,t)),useComposedRef=(...e)=>(0,import_react11.useCallback)(composeRefs(...e),e),useMarkToolbarButtonState=({nodeType:e,clear:t})=>{var r=usePlateEditorState();return{pressed:!(null==r||!r.selection)&&isMarkActive(r,e),nodeType:e,clear:t}},useMarkToolbarButton=t=>{const r=usePlateEditorRef();return{props:{pressed:t.pressed,onClick:e=>{e.preventDefault(),e.stopPropagation(),toggleMark(r,{key:t.nodeType,clear:t.clear}),focusEditor(r)}}}},usePlaceholderState=({hideOnBlur:e=!0,query:t,element:r})=>{var n=useFocused(),o=useSelected(),a=usePlateEditorState();return{enabled:isElementEmpty(a,r)&&(!t||queryNode([r,findNodePath(a,r)],t))&&(!e||isCollapsed(a.selection)&&e&&n&&o)}},useRemoveNodeButton=({element:t})=>{const r=usePlateEditorRef();return{props:{onClick:()=>{var e=findNodePath(r,t);removeNodes3(r,{at:e}),focusEditor(r,r.selection)}}}},createPrimitiveComponent=e=>{const u=createSlotComponent(e);return({propsHook:c,stateHook:l}={})=>import_react11[\\\"default\\\"].forwardRef(({asChild:e,options:t,state:r,...n},o)=>{var a=isDefined(r)?r:l?l(t):void 0,{ref:a,props:i,hidden:s}=c?c(a):{props:{},hidden:!1,ref:null},a=useComposedRef(o,a);return!e&&s?null:import_react11[\\\"default\\\"].createElement(u,_extends3({ref:a,asChild:e},i,n))})},objectProto4=Object.prototype,hasOwnProperty4=objectProto4.hasOwnProperty,defaults=_baseRest2(function(e,t){e=Object(e);var r=-1,n=t.length,o=2\u003Cn?t[2]:void 0;for(o&&_isIterateeCall2(t[0],t[1],o)&&(n=1);++r\u003Cn;)for(var a=t[r],i=keysIn_12(a),s=-1,c=i.length;++s\u003Cc;){var l=i[s],u=e[l];(void 0===u||eq_14(u,objectProto4[l])&&!hasOwnProperty4.call(e,l))&&(e[l]=a[l])}return e}),defaults_1=defaults,defaultsDeepToNodes=e=>{applyDeepToNodes({...e,apply:defaults_1})},getRootProps=e=>{const{editor:t,attributes:r,children:n,nodeProps:o,element:a,leaf:i,text:s,...c}=e;return c},withProps=(t,r)=>function(e){return import_react11[\\\"default\\\"].createElement(t,_extends3({},e,r))},Text3=createSlotComponent(\\\"span\\\"),lib2=createCommonjsModule4(function(e,t){Object.defineProperty(t,\\\"__esModule\\\",{value:!0});for(var _={alt:\\\"altKey\\\",control:\\\"ctrlKey\\\",meta:\\\"metaKey\\\",shift:\\\"shiftKey\\\"},r=()=>({add:\\\"+\\\",\\\"break\\\":\\\"pause\\\",cmd:\\\"meta\\\",command:\\\"meta\\\",ctl:\\\"control\\\",ctrl:\\\"control\\\",del:\\\"delete\\\",down:\\\"arrowdown\\\",esc:\\\"escape\\\",ins:\\\"insert\\\",left:\\\"arrowleft\\\",mod:\\\"undefined\\\"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform)?\\\"meta\\\":\\\"control\\\",opt:\\\"alt\\\",option:\\\"alt\\\",\\\"return\\\":\\\"enter\\\",right:\\\"arrowright\\\",space:\\\" \\\",spacebar:\\\" \\\",up:\\\"arrowup\\\",win:\\\"meta\\\",windows:\\\"meta\\\"}),n={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27,\\\" \\\":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,\\\"delete\\\":46,meta:91,numlock:144,scrolllock:145,\\\";\\\":186,\\\"=\\\":187,\\\",\\\":188,\\\"-\\\":189,\\\".\\\":190,\\\"/\\\":191,\\\"`\\\":192,\\\"[\\\":219,\\\"\\\\\\\\\\\":220,\\\"]\\\":221,\\\"'\\\":222},o=1;o\u003C20;o++)n[\\\"f\\\"+o]=111+o;function a(e,t,r){!t||\\\"byKey\\\"in t||(r=t,t=null);var n=(e=Array.isArray(e)?e:[e]).map(function(e){return i(e,t)}),o=function(t){return n.some(function(e){return s(e,t)})};return null==r?o:o(r)}function i(e,t){var r,n=t&&t.byKey,o={},a=(e=e.replace(\\\"++\\\",\\\"+add\\\")).split(\\\"+\\\"),i=a.length;for(r in _)o[_[r]]=!1;var s=!0,c=!1,l=void 0;try{for(var u,d=a[Symbol.iterator]();!(s=(u=d.next()).done);s=!0){var p=u.value,f=p.endsWith(\\\"?\\\")&&1\u003Cp.length,g=y(p=f?p.slice(0,-1):p),m=_[g];1!==i&&m||(n?o.key=g:o.which=v(p)),m&&(o[m]=!f||null)}}catch(h){c=!0,l=h}finally{try{!s&&d[\\\"return\\\"]&&d[\\\"return\\\"]()}finally{if(c)throw l}}return o}function s(e,t){for(var r in e){var n=e[r],o=void 0;if(null!=n&&((null!=(o=\\\"key\\\"===r&&null!=t.key?t.key.toLowerCase():\\\"which\\\"===r?91===n&&93===t.which?91:t.which:t[r])||!1!==n)&&o!==n))return!1}return!0}function v(e){return e=y(e),n[e]||e.toUpperCase().charCodeAt(0)}function y(e){return e=e.toLowerCase(),e=r()[e]||e}t[\\\"default\\\"]=a,t.isHotkey=a,t.isCodeHotkey=function(e,t){return a(e,t)},t.isKeyHotkey=function(e,t){return a(e,{byKey:!0},t)},t.parseHotkey=i,t.compareHotkey=s,t.toKeyCode=v,t.toKeyName=y}),isHotkey2=unwrapExports2(lib2),onKeyDownToggleElement=(lib2.isHotkey,lib2.isCodeHotkey,lib2.isKeyHotkey,lib2.parseHotkey,lib2.compareHotkey,lib2.toKeyCode,lib2.toKeyName,(n,{type:o,options:{hotkey:a}})=>e=>{if(!e.defaultPrevented){var t=getPluginType(n,ELEMENT_DEFAULT);if(a)for(const r of castArray_14(a))if(isHotkey2(r,e))return e.preventDefault(),void toggleNodeType(n,{activeType:o,inactiveType:t})}}),onKeyDownToggleMark=(t,{type:r,options:{hotkey:n,clear:o}})=>e=>{e.defaultPrevented||n&&isHotkey2(n,e)&&(e.preventDefault(),toggleMark(t,{key:r,clear:o}))},isType=(t,e,r)=>{var n=castArray_14(r);const o=[];return n.forEach(e=>o.push(getPluginType(t,e))),o.includes(null==e?void 0:e.type)},resetEditorChildren=(e,t)=>{replaceNodeChildren(e,{at:[],nodes:e.childrenFactory(),...t})},ELEMENT_BLOCKQUOTE=\\\"blockquote\\\",createBlockquotePlugin=createPluginFactory({key:ELEMENT_BLOCKQUOTE,isElement:!0,deserializeHtml:{rules:[{validNodeName:\\\"BLOCKQUOTE\\\"}]},handlers:{onKeyDown:onKeyDownToggleElement},options:{hotkey:\\\"mod+shift+.\\\"}}),ELEMENT_H1=(init_esbuild_inject(),\\\"h1\\\"),ELEMENT_H2=\\\"h2\\\",ELEMENT_H3=\\\"h3\\\",ELEMENT_H4=\\\"h4\\\",ELEMENT_H5=\\\"h5\\\",ELEMENT_H6=\\\"h6\\\",KEYS_HEADING=[ELEMENT_H1,ELEMENT_H2,ELEMENT_H3,ELEMENT_H4,ELEMENT_H5,ELEMENT_H6],createHeadingPlugin=createPluginFactory({key:\\\"heading\\\",options:{levels:6},then:(e,{options:{levels:t}={}})=>{var r=[];for(let o=1;o\u003C=t;o++){var n={key:KEYS_HEADING[o-1],isElement:!0,deserializeHtml:{rules:[{validNodeName:\\\"H\\\"+o}]},handlers:{onKeyDown:onKeyDownToggleElement},options:{}};o\u003C4&&(n.options.hotkey=[\\\"mod+opt+\\\"+o,\\\"mod+shift+\\\"+o]),r.push(n)}return{plugins:r}}});function unwrapExports3(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\\\"default\\\")?e[\\\"default\\\"]:e}function createCommonjsModule5(e,t){return e(t={exports:{}},t.exports),t.exports}init_esbuild_inject(),init_esbuild_inject();var lib3=createCommonjsModule5(function(e,t){Object.defineProperty(t,\\\"__esModule\\\",{value:!0});for(var _={alt:\\\"altKey\\\",control:\\\"ctrlKey\\\",meta:\\\"metaKey\\\",shift:\\\"shiftKey\\\"},r=()=>({add:\\\"+\\\",\\\"break\\\":\\\"pause\\\",cmd:\\\"meta\\\",command:\\\"meta\\\",ctl:\\\"control\\\",ctrl:\\\"control\\\",del:\\\"delete\\\",down:\\\"arrowdown\\\",esc:\\\"escape\\\",ins:\\\"insert\\\",left:\\\"arrowleft\\\",mod:\\\"undefined\\\"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform)?\\\"meta\\\":\\\"control\\\",opt:\\\"alt\\\",option:\\\"alt\\\",\\\"return\\\":\\\"enter\\\",right:\\\"arrowright\\\",space:\\\" \\\",spacebar:\\\" \\\",up:\\\"arrowup\\\",win:\\\"meta\\\",windows:\\\"meta\\\"}),n={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27,\\\" \\\":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,\\\"delete\\\":46,meta:91,numlock:144,scrolllock:145,\\\";\\\":186,\\\"=\\\":187,\\\",\\\":188,\\\"-\\\":189,\\\".\\\":190,\\\"/\\\":191,\\\"`\\\":192,\\\"[\\\":219,\\\"\\\\\\\\\\\":220,\\\"]\\\":221,\\\"'\\\":222},o=1;o\u003C20;o++)n[\\\"f\\\"+o]=111+o;function a(e,t,r){!t||\\\"byKey\\\"in t||(r=t,t=null);var n=(e=Array.isArray(e)?e:[e]).map(function(e){return i(e,t)}),o=function(t){return n.some(function(e){return s(e,t)})};return null==r?o:o(r)}function i(e,t){var r,n=t&&t.byKey,o={},a=(e=e.replace(\\\"++\\\",\\\"+add\\\")).split(\\\"+\\\"),i=a.length;for(r in _)o[_[r]]=!1;var s=!0,c=!1,l=void 0;try{for(var u,d=a[Symbol.iterator]();!(s=(u=d.next()).done);s=!0){var p=u.value,f=p.endsWith(\\\"?\\\")&&1\u003Cp.length,g=y(p=f?p.slice(0,-1):p),m=_[g];1!==i&&m||(n?o.key=g:o.which=v(p)),m&&(o[m]=!f||null)}}catch(h){c=!0,l=h}finally{try{!s&&d[\\\"return\\\"]&&d[\\\"return\\\"]()}finally{if(c)throw l}}return o}function s(e,t){for(var r in e){var n=e[r],o=void 0;if(null!=n&&((null!=(o=\\\"key\\\"===r&&null!=t.key?t.key.toLowerCase():\\\"which\\\"===r?91===n&&93===t.which?91:t.which:t[r])||!1!==n)&&o!==n))return!1}return!0}function v(e){return e=y(e),n[e]||e.toUpperCase().charCodeAt(0)}function y(e){return e=e.toLowerCase(),e=r()[e]||e}t[\\\"default\\\"]=a,t.isHotkey=a,t.isCodeHotkey=function(e,t){return a(e,t)},t.isKeyHotkey=function(e,t){return a(e,{byKey:!0},t)},t.parseHotkey=i,t.compareHotkey=s,t.toKeyCode=v,t.toKeyName=y}),isHotkey3=unwrapExports3(lib3),SIMULATE_BACKSPACE=(lib3.isHotkey,lib3.isCodeHotkey,lib3.isKeyHotkey,lib3.parseHotkey,lib3.compareHotkey,lib3.toKeyCode,lib3.toKeyName,{key:\\\"\\\",which:8}),onKeyDownResetNode=(c,{options:{rules:e}})=>s=>{if(!s.defaultPrevented){let i;if(c.selection)return isCollapsed(c.selection)&&e.forEach(({types:e,defaultType:t,hotkey:r,predicate:n,onReset:o})=>{var a;r&&isHotkey3(r,s)&&n(c)&&someNode(c,{match:{type:e}})&&(null!=(a=s.preventDefault)&&a.call(s),setElements(c,{type:t}),o&&o(c),i=!0)}),i}},KEY_RESET_NODE=\\\"resetNode\\\",createResetNodePlugin=createPluginFactory({key:KEY_RESET_NODE,handlers:{onKeyDown:onKeyDownResetNode},withOverrides:(i,{options:e})=>{const{deleteFragment:t,deleteBackward:s}=i;if(!e.disableEditorReset)i.deleteFragment=e=>{(()=>{var e,t,r=i[\\\"selection\\\"];if(r)return e=getStartPoint(i,[]),t=getEndPoint(i,[]),Point.equals(r.anchor,e)&&Point.equals(r.focus,t)||Point.equals(r.focus,e)&&Point.equals(r.anchor,t)?(resetEditorChildren(i,{insertOptions:{select:!0}}),!0):void 0})()||t(e)};return e.disableFirstBlockReset||(i.deleteBackward=e=>{var t=i[\\\"selection\\\"];if(t&&isCollapsed(t)){var r=getStartPoint(i,[]);if(Point.equals(t.anchor,r)){const n=getNode(i,[0]),{children:o,...a}=i.blockFactory({},[0]);return void withoutNormalizing2(i,()=>{unsetNodes3(i,Object.keys(getNodeProps(n)),{at:[0]}),setNodes3(i,a,{at:[0]})})}}s(e)}),i},options:{rules:[]}}),isArray6=Array.isArray,isArray_15=isArray6;function castArray5(){var e;return arguments.length?isArray_15(e=arguments[0])?e:[e]:[]}var castArray_15=castArray5;function unwrapExports4(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\\\"default\\\")?e[\\\"default\\\"]:e}function createCommonjsModule6(e,t){return e(t={exports:{}},t.exports),t.exports}var lib4=createCommonjsModule6(function(e,t){Object.defineProperty(t,\\\"__esModule\\\",{value:!0});for(var _={alt:\\\"altKey\\\",control:\\\"ctrlKey\\\",meta:\\\"metaKey\\\",shift:\\\"shiftKey\\\"},r=()=>({add:\\\"+\\\",\\\"break\\\":\\\"pause\\\",cmd:\\\"meta\\\",command:\\\"meta\\\",ctl:\\\"control\\\",ctrl:\\\"control\\\",del:\\\"delete\\\",down:\\\"arrowdown\\\",esc:\\\"escape\\\",ins:\\\"insert\\\",left:\\\"arrowleft\\\",mod:\\\"undefined\\\"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform)?\\\"meta\\\":\\\"control\\\",opt:\\\"alt\\\",option:\\\"alt\\\",\\\"return\\\":\\\"enter\\\",right:\\\"arrowright\\\",space:\\\" \\\",spacebar:\\\" \\\",up:\\\"arrowup\\\",win:\\\"meta\\\",windows:\\\"meta\\\"}),n={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27,\\\" \\\":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,\\\"delete\\\":46,meta:91,numlock:144,scrolllock:145,\\\";\\\":186,\\\"=\\\":187,\\\",\\\":188,\\\"-\\\":189,\\\".\\\":190,\\\"/\\\":191,\\\"`\\\":192,\\\"[\\\":219,\\\"\\\\\\\\\\\":220,\\\"]\\\":221,\\\"'\\\":222},o=1;o\u003C20;o++)n[\\\"f\\\"+o]=111+o;function a(e,t,r){!t||\\\"byKey\\\"in t||(r=t,t=null);var n=(e=Array.isArray(e)?e:[e]).map(function(e){return i(e,t)}),o=function(t){return n.some(function(e){return s(e,t)})};return null==r?o:o(r)}function i(e,t){var r,n=t&&t.byKey,o={},a=(e=e.replace(\\\"++\\\",\\\"+add\\\")).split(\\\"+\\\"),i=a.length;for(r in _)o[_[r]]=!1;var s=!0,c=!1,l=void 0;try{for(var u,d=a[Symbol.iterator]();!(s=(u=d.next()).done);s=!0){var p=u.value,f=p.endsWith(\\\"?\\\")&&1\u003Cp.length,g=y(p=f?p.slice(0,-1):p),m=_[g];1!==i&&m||(n?o.key=g:o.which=v(p)),m&&(o[m]=!f||null)}}catch(h){c=!0,l=h}finally{try{!s&&d[\\\"return\\\"]&&d[\\\"return\\\"]()}finally{if(c)throw l}}return o}function s(e,t){for(var r in e){var n=e[r],o=void 0;if(null!=n&&((null!=(o=\\\"key\\\"===r&&null!=t.key?t.key.toLowerCase():\\\"which\\\"===r?91===n&&93===t.which?91:t.which:t[r])||!1!==n)&&o!==n))return!1}return!0}function v(e){return e=y(e),n[e]||e.toUpperCase().charCodeAt(0)}function y(e){return e=e.toLowerCase(),e=r()[e]||e}t[\\\"default\\\"]=a,t.isHotkey=a,t.isCodeHotkey=function(e,t){return a(e,t)},t.isKeyHotkey=function(e,t){return a(e,{byKey:!0},t)},t.parseHotkey=i,t.compareHotkey=s,t.toKeyCode=v,t.toKeyName=y}),isHotkey4=unwrapExports4(lib4),isListNested=(lib4.isHotkey,lib4.isCodeHotkey,lib4.isKeyHotkey,lib4.parseHotkey,lib4.compareHotkey,lib4.toKeyCode,lib4.toKeyName,(e,t)=>{var r=null==(r=getParentNode(e,t))?void 0:r[0];return(null==r?void 0:r.type)===getPluginType(e,ELEMENT_LI)}),getUnorderedListType=e=>getPluginType(e,ELEMENT_UL),getOrderedListType=e=>getPluginType(e,ELEMENT_OL),getListTypes=e=>[getOrderedListType(e),getUnorderedListType(e)],getListItemType=e=>getPluginType(e,ELEMENT_LI),getListItemContentType=e=>getPluginType(e,ELEMENT_LIC),getHighestEmptyList=(e,{diffListPath:t,liPath:r})=>{var n=getAboveNode(e,{at:r,match:{type:getListTypes(e)}});if(n){var[n,o]=n;if(!t||!Path.equals(o,t)){if(n.children.length\u003C2){n=getAboveNode(e,{at:o,match:{type:getPluginType(e,ELEMENT_LI)}});if(n)return getHighestEmptyList(e,{liPath:n[1],diffListPath:t})||o}return r}}},getListItemEntry=(e,{at:t=e.selection}={})=>{var r=getPluginType(e,ELEMENT_LI);let n;if((n=Range.isRange(t)&&!isCollapsed(t)?t.focus.path:Range.isRange(t)?t.anchor.path:t)&&getNode(e,n)){r=getAboveNode(e,{at:n,match:{type:r}});if(r)return{list:getParentNode(e,r[1]),listItem:r}}},getListRoot=(e,t=e.selection)=>{var r,n;return t&&(r=getAboveNode(e,{at:t,match:{type:[getPluginType(e,ELEMENT_UL),getPluginType(e,ELEMENT_OL)]}}))?(([,n]=r),null!=(n=getListRoot(e,n))?n:r):void 0},insertTodoListItem=(n,{inheritCheckStateOnLineStartBreak:o=!1,inheritCheckStateOnLineEndBreak:a=!1})=>{const i=getPluginType(n,ELEMENT_TODO_LI);if(!n.selection)return!1;var e=getAboveNode(n,{match:{type:i}});if(!e)return!1;const[s,c]=e;let l=!1;return withoutNormalizing2(n,()=>{Range.isCollapsed(n.selection)||deleteText3(n);var e=isStartPoint(n,n.selection.focus,c),t=isBlockTextEmptyAfterSelection(n),r=Path.next(c);l=(e?insertElements(n,{type:i,checked:!!o&&s.checked,children:[{text:\\\"\\\"}]},{at:c}):t?(e=getMarks(n)||{},insertElements(n,{type:i,checked:!!a&&s.checked,children:[{text:\\\"\\\",...e}]},{at:r}),select2(n,r)):withoutNormalizing2(n,()=>{splitNodes3(n)}),!0)}),l},insertBreakTodoList=(e,t)=>{if(e.selection){var r=getTodoListItemEntry(e);if(r)if(insertTodoListItem(e,t))return!0}},withTodoList=(e,{options:t})=>{const r=e[\\\"insertBreak\\\"];return e.insertBreak=()=>{insertBreakTodoList(e,t)||r()},e},ELEMENT_TODO_LI=\\\"action_item\\\",createTodoListPlugin=createPluginFactory({key:ELEMENT_TODO_LI,isElement:!0,withOverrides:withTodoList,handlers:{onKeyDown:onKeyDownToggleElement},options:{hotkey:[\\\"mod+opt+4\\\",\\\"mod+shift+4\\\"]}}),getTodoListItemEntry=(e,{at:t=e.selection}={})=>{var r=getPluginType(e,ELEMENT_TODO_LI);let n;if((n=Range.isRange(t)&&!isCollapsed(t)?t.focus.path:Range.isRange(t)?t.anchor.path:t)&&getNode(e,n)){r=getAboveNode(e,{at:n,match:{type:r}});if(r)return{list:getParentNode(e,r[1]),listItem:r}}},hasListChild=(t,e)=>e.children.some(e=>match(e,[],{type:getListTypes(t)})),isAcrossListItems=e=>{var t=e[\\\"selection\\\"];return!(!t||isCollapsed(t)||!isRangeAcrossBlocks(e))&&someNode(e,{match:{type:getPluginType(e,ELEMENT_LI)}})},isListRoot=(e,t)=>isElement2(t)&&getListTypes(e).includes(t.type),moveListItemDown=(t,{list:e,listItem:r})=>{let n=!1;const[o]=e,[,a]=r;let i;try{i=Path.previous(a)}catch(l){return}var s=getNodeEntry(t,i);if(s){var[s,c]=s;const u=s.children.find(e=>match(e,[],{type:getListTypes(t)})),d=c.concat(u?[1,u.children.length]:[1]);withoutNormalizing2(t,()=>{u||wrapNodes3(t,{type:o.type,children:[]},{at:a}),moveNodes2(t,{at:a,to:d}),n=!0})}return n},moveListItemsToList=(r,{fromList:n,fromListItem:o,fromStartIndex:a,to:i,toList:s,toListIndex:c=null,deleteFromList:l=!0})=>{let u,d;return withoutNormalizing2(r,()=>{if(o){var e=findDescendant(r,{at:o[1],match:{type:getListTypes(r)}});if(!e)return;u=null==e?void 0:e[1]}else{if(!n)return;u=n[1]}let t=null;i&&(t=i),(t=s?null===c?(e=getLastChildPath(s),Path.next(e)):s[1].concat([c]):t)&&(d=moveChildren(r,{at:u,to:t,fromStartIndex:a}),l)&&deleteText3(r,{at:u})}),d},unwrapList=(t,{at:r}={})=>{withoutNormalizing2(t,()=>{do{}while(getBlockAbove2(t,{at:r,match:{type:getPluginType(t,ELEMENT_LIC)}})&&setElements(t,{at:r,type:getPluginType(t,ELEMENT_DEFAULT)}),unwrapNodes3(t,{at:r,match:{type:getPluginType(t,ELEMENT_LI)},split:!0}),unwrapNodes3(t,{at:r,match:{type:[getPluginType(t,ELEMENT_UL),getPluginType(t,ELEMENT_OL)]},split:!0}),(()=>{if(getAboveNode(t,{match:{type:getListTypes(t),at:r}}))return!0;if(!r&&t.selection){var e=getCommonNode(t,t.selection.anchor.path,t.selection.focus.path);if(isElement2(e[0])&&getListTypes(t).includes(e[0].type))return!0}return!1})())})},moveListItemUp=(u,{list:d,listItem:p})=>{let e=!1;return withoutNormalizing2(u,()=>{e=(()=>{var[t,r]=d,[n,o]=p,a=getAboveNode(u,{at:r,match:{type:getPluginType(u,ELEMENT_LI)}});if(a){var[,i]=a,s=o.concat([1]);if(!isLastChild(d,o)){hasListChild(u,n)||insertElements(u,{type:t.type,children:[]},{at:s});var c=getNode(u,s);if(!c)return;moveListItemsToList(u,{fromListItem:a,toList:[c,s],fromStartIndex:o.at(-1)+1,deleteFromList:!1})}a=Path.next(i);moveNodes2(u,{at:o,to:a})}else{let e;try{e=Path.next(r)}catch(l){return}c=hasListChild(u,n),s=!isLastChild(d,o);if((c||s)&&insertElements(u,{type:t.type,children:[]},{at:e}),c){i=getNode(u,e);if(!i)return;moveListItemsToList(u,{fromListItem:p,toList:[i,e]})}if(s){a=getNode(u,e);if(!a)return;moveListItemsToList(u,{fromList:d,fromStartIndex:o.at(-1)+1,toList:[a,e],deleteFromList:!1})}unwrapList(u,{at:o.concat(0)})}return!0})()}),e},removeFirstListItem=(e,{list:t,listItem:r})=>{var[,n]=t;return!isListNested(e,n)&&(moveListItemUp(e,{list:t,listItem:r}),!0)},moveListItems=(o,{increase:a=!0,at:e=(e=>null!=(e=o.selection)?e:void 0)(),enableResetOnShiftTab:i}={})=>{var t=getNodeEntries(o,{at:e,match:{type:getPluginType(o,ELEMENT_LIC)}}),t=Array.from(t);if(0!==t.length){const n=[],s=[],r=(t.forEach(e=>{var t=e[1];const r=Path.parent(t);n.some(e=>{var t=Path.parent(e);return Path.isAncestor(t,r)})||(n.push(t),s.push(createPathRef(o,t)))}),a?s:s.reverse());return withoutNormalizing2(o,()=>{let n=!1;return r.forEach(e=>{var t=e.unref();if(t){t=getParentNode(o,t);if(t){var r=getParentNode(o,t[1]);if(r){let e;a?e=moveListItemDown(o,{list:r,listItem:t}):isListNested(o,r[1])?e=moveListItemUp(o,{list:r,listItem:t}):i&&(e=removeFirstListItem(o,{list:r,listItem:t})),n=e||n}}}}),n})}},insertListItem=o=>{const a=getPluginType(o,ELEMENT_LI),i=getPluginType(o,ELEMENT_LIC);if(!o.selection)return!1;var e=getAboveNode(o,{match:{type:i}});if(!e)return!1;const[,s]=e;e=getParentNode(o,s);if(!e)return!1;const[c,l]=e;if(c.type!==a)return!1;let u=!1;return withoutNormalizing2(o,()=>{Range.isCollapsed(o.selection)||deleteText3(o);var e=isStartPoint(o,o.selection.focus,s),t=isBlockTextEmptyAfterSelection(o);const r=Path.next(s),n=Path.next(l);u=(e?insertElements(o,{type:a,children:[{type:i,children:[{text:\\\"\\\"}]}]},{at:l}):(t?(e=getMarks(o)||{},insertElements(o,{type:a,children:[{type:i,children:[{text:\\\"\\\",...e}]}]},{at:n}),select2(o,n)):withoutNormalizing2(o,()=>{splitNodes3(o),wrapNodes3(o,{type:a,children:[]},{at:r}),moveNodes2(o,{at:r,to:n}),select2(o,n),collapseSelection(o,{edge:\\\"start\\\"})}),1\u003Cc.children.length&&moveNodes2(o,{at:r,to:n.concat(1)})),!0)}),u},moveListItemSublistItemsToListItemSublist=(o,{fromListItem:e,toListItem:t,start:a})=>{const[,i]=e,[,s]=t;let c=0;return withoutNormalizing2(o,()=>{var t=findDescendant(o,{at:i,match:{type:getListTypes(o)}});if(t){var[,t]=t,r=findDescendant(o,{at:s,match:{type:getListTypes(o)}});let e;if(r)e=a?(([,n]=r),n.concat([0])):Path.next(getLastChildPath(r));else{var n=getParentNode(o,i);if(!n)return;var[r]=n,n=r.type,r=s.concat([1]);insertElements(o,{type:n,children:[]},{at:r}),e=r.concat([0])}c=moveChildren(o,{at:t,to:e}),deleteText3(o,{at:t})}}),c},removeListItem=(o,{list:a,listItem:i,reverse:s=!0})=>{const[e,c]=i;if(isExpanded(o.selection)||!hasListChild(o,e))return!1;const l=getPreviousPath(c);let u=!1;return withoutNormalizing2(o,()=>{var e,t,r,n;if(l)return(e=getNodeEntry(o,l))&&(t=Path.next(c),insertElements(o,{type:getPluginType(o,ELEMENT_LI),children:[{type:getPluginType(o,ELEMENT_LIC),children:[{text:\\\"\\\"}]}]},{at:t}),r=getNodeEntry(o,t))?(n=createPathRef(o,r[1]),moveListItemSublistItemsToListItemSublist(o,{fromListItem:i,toListItem:r}),deleteMerge(o,{reverse:s}),t=n.unref(),moveListItemSublistItemsToListItemSublist(o,{fromListItem:[r[0],t],toListItem:e}),removeNodes3(o,{at:t}),void(u=!0)):void 0;moveListItemsToList(o,{fromListItem:i,toList:a,toListIndex:1})}),u},toggleList=(c,{type:l,pluginKey:u=l})=>withoutNormalizing2(c,()=>{if(c.selection){const a=getPluginOptions(c,u)[\\\"validLiChildrenTypes\\\"];if(isCollapsed(c.selection)||!isRangeAcrossBlocks(c)){var e=getListItemEntry(c);if(e){e=e[\\\"list\\\"];e[0].type===l?unwrapList(c):setElements(c,{type:l},{at:c.selection,match:e=>isElement2(e)&&getListTypes(c).includes(e.type),mode:\\\"lowest\\\"})}else{wrapNodes3(c,{type:l,children:[]});var t,e=getNodeEntries(c,{match:{type:getPluginType(c,ELEMENT_DEFAULT)}}),e=Array.from(e),r=(getBlockAbove2(c,{match:{type:a}})||setElements(c,{type:getPluginType(c,ELEMENT_LIC)}),{type:getPluginType(c,ELEMENT_LI),children:[]});for([,t]of e)wrapNodes3(c,r,{at:t})}}else{var[e,n]=Range.edges(c.selection),e=getCommonNode(c,e.path,n.path);if(getListTypes(c).includes(e[0].type)||e[0].type===getPluginType(c,ELEMENT_LI))if(e[0].type===l)unwrapList(c);else{var n=findNode(c,{at:Range.start(c.selection),match:{type:getListTypes(c)},mode:\\\"lowest\\\"}),o=findNode(c,{at:Range.end(c.selection),match:{type:getListTypes(c)},mode:\\\"lowest\\\"});const i=Math.min(n[1].length,o[1].length);setElements(c,{type:l},{at:c.selection,match:(e,t)=>isElement2(e)&&getListTypes(c).includes(e.type)&&t.length>=i,mode:\\\"all\\\"})}else{const s=e[1].length;n=getNodeEntries(c,{mode:\\\"all\\\"});Array.from(n).filter(([,e])=>e.length===s+1).forEach(e=>{var t;getListTypes(c).includes(e[0].type)?setElements(c,{type:l},{at:e[1],match:e=>isElement2(e)&&getListTypes(c).includes(e.type),mode:\\\"all\\\"}):(null!==a&&void 0!==a&&a.includes(e[0].type)||setElements(c,{type:getPluginType(c,ELEMENT_LIC)},{at:e[1]}),t={type:getPluginType(c,ELEMENT_LI),children:[]},wrapNodes3(c,t,{at:e[1]}),wrapNodes3(c,{type:l,children:[]},{at:e[1]}))})}}}}),onKeyDownList=(i,{type:s,options:{hotkey:c,enableResetOnShiftTab:l}})=>t=>{if(!t.defaultPrevented){var r=Hotkeys2.isTab(i,t),n=Hotkeys2.isUntab(i,t);let e=i.selection;if(i.selection&&(r||n)){var n=i[\\\"selection\\\"],o=(!isCollapsed(i.selection)&&(({anchor:n,focus:o}=Range.isBackward(n)?{anchor:{...n.focus},focus:{...n.anchor}}:{anchor:{...n.anchor},focus:{...n.focus}}),n=unhangRange3(i,{anchor:n,focus:o}))&&(e=n,select2(i,n)),someNode(i,{match:{type:getPluginType(i,ELEMENT_LI)}}));if(e&&o)return t.preventDefault(),moveListItems(i,{at:e,increase:r,enableResetOnShiftTab:l}),!0}if(c)for(const a of castArray_15(c))isHotkey4(a)(t)&&toggleList(i,{type:s})}},deleteBackwardList=(t,e)=>{var r=getListItemEntry(t,{});let n=!1;if(r){const{list:o,listItem:a}=r;isSelectionAtBlockStart2(t,{match:e=>e.type===getPluginType(t,ELEMENT_LI)})&&withoutNormalizing2(t,()=>!!(n=removeFirstListItem(t,{list:o,listItem:a}))||!!(n=removeListItem(t,{list:o,listItem:a}))||void(n=(isFirstChild(a[1])&&!isListNested(t,o[1])?onKeyDownResetNode(t,mockPlugin({options:{rules:[{types:[getPluginType(t,ELEMENT_LI)],defaultType:getPluginType(t,ELEMENT_DEFAULT),hotkey:\\\"backspace\\\",predicate:()=>isSelectionAtBlockStart2(t),onReset:e=>unwrapList(e)}]}}))(SIMULATE_BACKSPACE):deleteMerge(t,{unit:e,reverse:!0}),!0)))}return n},selectionIsNotInAListHandler=e=>{var t=getPointAfter(e,e.selection.focus.path);if(t){t=getListItemEntry(e,{at:t});if(t){var t=t[\\\"listItem\\\"],r=getBlockAbove2(e,{at:e.selection.anchor});if(!getEditorString(e,r[1]))return removeNodes3(e),!0;hasListChild(e,t[0])&&(r=getListItemEntry(e,{at:[...t[1],1,0,0]}),moveListItemUp(e,r))}}return!1},selectionIsInAListHandler=(o,e)=>{var t=e[\\\"listItem\\\"];if(hasListChild(o,t[0]))return!!(r=getNodeEntry(o,Path.next([...t[1],0])))&&(n=getChildren(r)[0],!!removeFirstListItem(o,{list:r,listItem:n})||!!removeListItem(o,{list:r,listItem:n}));{const a=getPluginType(o,ELEMENT_LI);var r=getNodeEntries(o,{at:t[1],mode:\\\"lowest\\\",match:(e,t)=>{var r,n;return 0!==t.length&&(r=e.type===a,n=(null==(n=getNode(o,Path.next(t)))?void 0:n.type)===a,r)&&n}}),n=Array.from(r,e=>e[1])[0];if(n)return!!(r=getNodeEntry(o,Path.next(n)))&&!(!(n=getParentNode(o,r[1]))||!removeListItem(o,{list:n,listItem:r,reverse:!1}));n=getPointAfter(o,t[1]);if(n){r=getListItemEntry(o,{at:n});if(r)return n=getListRoot(o,t[1]),moveListItemsToList(o,{fromList:r.list,toList:n,deleteFromList:!0}),!0}return!1}},deleteForwardList=t=>{let r=!1;return null!=t&&t.selection&&isSelectionAtBlockEnd(t)&&withoutNormalizing2(t,()=>{var e=getListItemEntry(t,{});r=e?selectionIsInAListHandler(t,e):selectionIsNotInAListHandler(t)}),r},deleteFragmentList=r=>{let n=!1;return withoutNormalizing2(r,()=>{var e,t;isAcrossListItems(r)&&(t=getEndPoint(r,r.selection),t=(t=getAboveNode(r,{at:t,match:{type:getPluginType(r,ELEMENT_LI)}}))&&!hasListChild(r,t[0])?createPathRef(r,t[1]):void 0,deleteMerge(r),e=getStartPoint(r,r.selection),e=getAboveNode(r,{at:e,match:{type:getPluginType(r,ELEMENT_LI)}}),t)&&(t=t.unref(),e=e&&getParentNode(r,e[1]),(t=getHighestEmptyList(r,{liPath:t,diffListPath:null==e?void 0:e[1]}))&&removeNodes3(r,{at:t}),n=!0)}),n},insertBreakList=t=>{if(t.selection){var r=getListItemEntry(t,{});let e;if(r){var{list:r,listItem:n}=r;if(isBlockAboveEmpty(t)&&(e=moveListItemUp(t,{list:r,listItem:n})))return!0}if(onKeyDownResetNode(t,mockPlugin({options:{rules:[{types:[getPluginType(t,ELEMENT_LI)],defaultType:getPluginType(t,ELEMENT_DEFAULT),predicate:()=>!e&&isBlockAboveEmpty(t),onReset:e=>unwrapList(e)}]}}))(SIMULATE_BACKSPACE))return!0;if(!e)if(insertListItem(t))return!0}},insertFragmentList=p=>{const o=p[\\\"insertFragment\\\"],n=getPlugin(p,ELEMENT_LI),a=getListItemType(p),f=getListItemContentType(p),i=(e,t,{type:r})=>{let n=Path.parent(t[1]);for(;getNode(e,n).type!==r;)n=Path.parent(n);return[getNode(e,n),n]},s=e=>{let t=null,r=e;for(;isListRoot(p,r)||r.type===a&&r.children[0].type!==f;)([r]=(t=r).children);return t?t.children:[r]},g=r=>{var e,t;return isListRoot(p,r)?(e=getNodeTexts(r),e=(e=Array.from(e)).reduce((e,t)=>Path.isAncestor(e[1],t[1])?e:getCommonNode(r,t[1],e[1]),i(r,e[0],n)),([e,...t]=isListRoot(p,e[0])?e[0].children:[e[0]]),[...s(e),...t]):[r]},m=e=>e.type===a?e:{type:a,children:[e]},c=(e,t,r)=>{var n,o,[,a]=t,[i,s]=r,i=!getNodeString(i),[c,...l]=e.flatMap(g).map(m);let u,d;return d=!isListRoot(p,e[0])||1===(t=e).length&&isListRoot(p,t[0])&&1===[...getNodes({children:t})].filter(e=>isElement2(e[0])).filter(([e])=>e.type===f).length?(u=c,l):i?(([,...i]=getNode(p,a).children),([o,...n]=c.children),insertElements(p,o,{at:Path.next(s),select:!0}),removeNodes3(p,{at:s}),null!=n&&n.length&&(null!=i&&i.length?(o=[...a,1,0],insertElements(p,n[0].children,{at:o,select:!0})):insertElements(p,n,{at:Path.next(s),select:!0})),u={text:\\\"\\\"},l):(u={text:\\\"\\\"},[c,...l]),{textNode:u,listItemNodes:d}};return e=>{if(!findNode(p,{match:{type:a},mode:\\\"lowest\\\"}))return o(isListRoot(p,e[0])?[{text:\\\"\\\"},...e]:e);o([{text:\\\"\\\"}]);var t,r=findNode(p,{match:{type:a},mode:\\\"lowest\\\"}),n=findNode(p,{match:{type:f},mode:\\\"lowest\\\"});return n?(({textNode:n,listItemNodes:t}=c(e,r,n)),([,n]=(o([n]),r)),insertElements(p,t,{at:Path.next(n),select:!0})):o(isListRoot(p,e[0])?[{text:\\\"\\\"},...e]:e)}},getDeepInlineChildren=(e,{children:t})=>{var r=[];for(const n of t)isBlock2(e,n[0])?r.push(...getDeepInlineChildren(e,{children:getChildren(n)})):r.push(n);return r},normalizeListItem=(r,{listItem:e,validLiChildrenTypes:t=[]})=>{let n=!1;const o=new Set([getPluginType(r,ELEMENT_UL),getPluginType(r,ELEMENT_OL),getPluginType(r,ELEMENT_LIC),...t]);var[,a]=e,i=getChildren(e),s=i.filter(([e])=>!o.has(e.type)).map(([,e])=>createPathRef(r,e)),i=i[0];const[c,l]=null!=i?i:[];if(!i||!isBlock2(r,c))return insertEmptyElement(r,getPluginType(r,ELEMENT_LIC),{at:a.concat([0])}),!0;if(isBlock2(r,c)&&!match(c,[],{type:getPluginType(r,ELEMENT_LIC)})){if(match(c,[],{type:getListTypes(r)})){a=getParentNode(r,e[1]);const p=i;return getChildren(i).reverse().forEach(e=>{moveListItemUp(r,{list:p,listItem:e})}),removeNodes3(r,{at:[...a[1],0]}),!0}if(t.includes(c.type))return!0;setElements(r,{type:getPluginType(r,ELEMENT_LIC)},{at:l}),n=!0}a=getChildren(i);if(0\u003Ca.length){var u=[],d=[];for(const g of a){if(!isBlock2(r,g[0]))break;u.push(createPathRef(r,g[1])),d.push(...getDeepInlineChildren(r,{children:getChildren(g)}))}const f=Path.next(a.at(-1)[1]);d.reverse().forEach(([,e])=>{moveNodes2(r,{at:e,to:f})}),u.forEach(e=>{var t=e.unref();t&&removeNodes3(r,{at:t})}),0\u003Cu.length&&(n=!0)}return!!n||(s.reverse().forEach(e=>{var t=e.unref();t&&moveNodes2(r,{at:t,to:l.concat([0])})}),0\u003Cs.length)},normalizeNestedList=(e,{nestedListItem:t})=>{var[,r]=t,n=getParentNode(e,r);if(!(n&&match(n[0],[],{type:getListTypes(e)})))return!1;let o;try{o=Path.previous(r)}catch(a){return!1}var n=getNodeEntry(e,o);return n?(([,n]=n),n=n.concat([1]),moveNodes2(e,{at:r,to:n}),!0):void 0},normalizeList=(o,{validLiChildrenTypes:a})=>{const i=o[\\\"normalizeNode\\\"],s=getPluginType(o,ELEMENT_LI),c=getPluginType(o,ELEMENT_LIC),l=getPluginType(o,ELEMENT_DEFAULT);return([e,t])=>{if(!isElement2(e))return i([e,t]);if(isListRoot(o,e)){var r=getChildren([e,t]).find(([e])=>e.type!==s);if(r)return wrapNodes3(o,{type:s,children:[]},{at:r[1]})}if(match(e,[],{type:getListTypes(o)})){if(0===e.children.length||!e.children.some(e=>e.type===s))return removeNodes3(o,{at:t});var r=Path.next(t),n=getNode(o,r),n=((null==n?void 0:n.type)===e.type&&moveListItemsToList(o,{fromList:[n,r],toList:[e,t],deleteFromList:!0}),getPreviousPath(t)),r=getNode(o,n);if((null==r?void 0:r.type)===e.type)return void o.normalizeNode([r,n]);if(normalizeNestedList(o,{nestedListItem:[e,t]}))return}e.type===getPluginType(o,ELEMENT_LI)&&normalizeListItem(o,{listItem:[e,t],validLiChildrenTypes:a})||(e.type===c&&c!==l&&(null==(r=getParentNode(o,t))?void 0:r[0].type)!==s?setElements(o,{type:l},{at:t}):i([e,t]))}},withList=(t,{options:{validLiChildrenTypes:e}})=>{const{insertBreak:r,deleteBackward:n,deleteForward:o,deleteFragment:a}=t;return t.insertBreak=()=>{insertBreakList(t)||r()},t.deleteBackward=e=>{deleteBackwardList(t,e)||n(e)},t.deleteForward=e=>{deleteForwardList(t)||o(e)},t.deleteFragment=e=>{deleteFragmentList(t)||a(e)},t.insertFragment=insertFragmentList(t),t.normalizeNode=normalizeList(t,{validLiChildrenTypes:e}),t},ELEMENT_UL=\\\"ul\\\",ELEMENT_OL=\\\"ol\\\",ELEMENT_LI=\\\"li\\\",ELEMENT_LIC=\\\"lic\\\",createListPlugin=createPluginFactory({key:\\\"list\\\",plugins:[{key:ELEMENT_UL,isElement:!0,handlers:{onKeyDown:onKeyDownList},withOverrides:withList,deserializeHtml:{rules:[{validNodeName:\\\"UL\\\"}]}},{key:ELEMENT_OL,isElement:!0,handlers:{onKeyDown:onKeyDownList},deserializeHtml:{rules:[{validNodeName:\\\"OL\\\"}]}},{key:ELEMENT_LI,isElement:!0,deserializeHtml:{rules:[{validNodeName:\\\"LI\\\"}]},then:(e,{type:t})=>({inject:{pluginsByKey:{[KEY_DESERIALIZE_HTML]:{editor:{insertData:{preInsert:()=>someNode(e,{match:{type:t}})}}}}}})},{key:ELEMENT_LIC,isElement:!0}]}),useListToolbarButtonState=({nodeType:e=ELEMENT_UL}={})=>{var t=usePlateEditorState();return{pressed:!(null==t||!t.selection)&&someNode(t,{match:{type:getPluginType(t,e)}}),nodeType:e}},useListToolbarButton=t=>{const r=usePlateEditorRef();return{props:{pressed:t.pressed,onClick:e=>{e.preventDefault(),e.stopPropagation(),toggleList(r,{type:t.nodeType}),focusEditor(r)}}}},ELEMENT_PARAGRAPH=(init_esbuild_inject(),\\\"p\\\"),createParagraphPlugin=createPluginFactory({key:ELEMENT_PARAGRAPH,isElement:!0,handlers:{onKeyDown:onKeyDownToggleElement},options:{hotkey:[\\\"mod+opt+0\\\",\\\"mod+shift+0\\\"]},deserializeHtml:{rules:[{validNodeName:\\\"P\\\"}],query:e=>\\\"Consolas\\\"!==e.style.fontFamily}}),ELEMENT_CODE_BLOCK=(init_esbuild_inject(),\\\"codeblock\\\"),ELEMENT_CODE_LINE=\\\"code_line\\\",CODE_BLOCK_LANGUAGES_POPULAR=[\\\"TiddlyWiki\\\",\\\"Shell\\\",\\\"CSS\\\",\\\"Git\\\",\\\"GraphQL\\\",\\\"HTML\\\",\\\"JavaScript\\\",\\\"JSON\\\",\\\"JSX\\\",\\\"Markdown\\\",\\\"SQL\\\",\\\"SVG\\\",\\\"TSX\\\",\\\"TypeScript\\\",\\\"WebAssembly\\\"],CODE_BLOCK_LANGUAGES={ANTLR4:\\\"antlr4\\\",C:\\\"c\\\",\\\"C#\\\":\\\"csharp\\\",CSS:\\\"css\\\",CoffeeScript:\\\"coffeescript\\\",CMake:\\\"cmake\\\",Dart:\\\"dart\\\",Django:\\\"django\\\",Docker:\\\"docker\\\",EJS:\\\"ejs\\\",Erlang:\\\"erlang\\\",Git:\\\"git\\\",Go:\\\"go\\\",GraphQL:\\\"graphql\\\",Groovy:\\\"groovy\\\",HTML:\\\"html\\\",Java:\\\"java\\\",JavaScript:\\\"javascript\\\",JSON:\\\"json\\\",JSX:\\\"jsx\\\",Kotlin:\\\"kotlin\\\",LaTeX:\\\"latex\\\",Less:\\\"less\\\",Lua:\\\"lua\\\",Makefile:\\\"makefile\\\",Markdown:[\\\"markdown\\\",\\\"md\\\"],MATLAB:\\\"matlab\\\",Markup:\\\"markup\\\",\\\"Objective-C\\\":\\\"objectivec\\\",Perl:\\\"perl\\\",PHP:\\\"php\\\",PowerShell:\\\"powershell\\\",\\\".properties\\\":\\\"properties\\\",\\\"Protocol Buffers\\\":\\\"protobuf\\\",Python:\\\"python\\\",R:\\\"r\\\",Ruby:\\\"ruby\\\",\\\"Sass (Sass)\\\":\\\"sass\\\",\\\"Sass (Scss)\\\":\\\"scss\\\",Scala:\\\"scala\\\",Scheme:\\\"scheme\\\",SQL:\\\"sql\\\",Shell:[\\\"bash\\\",\\\"sh\\\",\\\"zsh\\\",\\\"shell\\\"],Swift:\\\"swift\\\",SVG:\\\"svg\\\",TSX:\\\"tsx\\\",TiddlyWiki:[\\\"tiddlywiki5\\\",\\\"tiddlywiki\\\",\\\"tid\\\"],TypeScript:\\\"typescript\\\",WebAssembly:\\\"wasm\\\",YAML:\\\"yaml\\\",XML:\\\"xml\\\"};function normalizeLanguage(e){for(const t of Object.values(CODE_BLOCK_LANGUAGES))if(Array.isArray(t)){if(t.includes(e))return t[0]}else if(t===e)return t;return e}init_esbuild_inject();var ELEMENT_WIDGET=\\\"widget\\\",createWidgetPlugin=createPluginFactory({key:ELEMENT_WIDGET,isElement:!0,isVoid:!0}),ELEMENT_HR=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),\\\"hr\\\"),createHorizontalRulePlugin=createPluginFactory({key:ELEMENT_HR,isElement:!0,isVoid:!0,deserializeHtml:{rules:[{validNodeName:\\\"HR\\\"}]}});function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\\\"default\\\")?e[\\\"default\\\"]:e}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var require$$0=[\\\"a\\\",\\\"abbr\\\",\\\"address\\\",\\\"area\\\",\\\"article\\\",\\\"aside\\\",\\\"audio\\\",\\\"b\\\",\\\"base\\\",\\\"bdi\\\",\\\"bdo\\\",\\\"blockquote\\\",\\\"body\\\",\\\"br\\\",\\\"button\\\",\\\"canvas\\\",\\\"caption\\\",\\\"cite\\\",\\\"code\\\",\\\"col\\\",\\\"colgroup\\\",\\\"data\\\",\\\"datalist\\\",\\\"dd\\\",\\\"del\\\",\\\"details\\\",\\\"dfn\\\",\\\"dialog\\\",\\\"div\\\",\\\"dl\\\",\\\"dt\\\",\\\"em\\\",\\\"embed\\\",\\\"fieldset\\\",\\\"figcaption\\\",\\\"figure\\\",\\\"footer\\\",\\\"form\\\",\\\"h1\\\",\\\"h2\\\",\\\"h3\\\",\\\"h4\\\",\\\"h5\\\",\\\"h6\\\",\\\"head\\\",\\\"header\\\",\\\"hgroup\\\",\\\"hr\\\",\\\"html\\\",\\\"i\\\",\\\"iframe\\\",\\\"img\\\",\\\"input\\\",\\\"ins\\\",\\\"kbd\\\",\\\"label\\\",\\\"legend\\\",\\\"li\\\",\\\"link\\\",\\\"main\\\",\\\"map\\\",\\\"mark\\\",\\\"math\\\",\\\"menu\\\",\\\"menuitem\\\",\\\"meta\\\",\\\"meter\\\",\\\"nav\\\",\\\"noscript\\\",\\\"object\\\",\\\"ol\\\",\\\"optgroup\\\",\\\"option\\\",\\\"output\\\",\\\"p\\\",\\\"param\\\",\\\"picture\\\",\\\"pre\\\",\\\"progress\\\",\\\"q\\\",\\\"rb\\\",\\\"rp\\\",\\\"rt\\\",\\\"rtc\\\",\\\"ruby\\\",\\\"s\\\",\\\"samp\\\",\\\"script\\\",\\\"search\\\",\\\"section\\\",\\\"select\\\",\\\"slot\\\",\\\"small\\\",\\\"source\\\",\\\"span\\\",\\\"strong\\\",\\\"style\\\",\\\"sub\\\",\\\"summary\\\",\\\"sup\\\",\\\"svg\\\",\\\"table\\\",\\\"tbody\\\",\\\"td\\\",\\\"template\\\",\\\"textarea\\\",\\\"tfoot\\\",\\\"th\\\",\\\"thead\\\",\\\"time\\\",\\\"title\\\",\\\"tr\\\",\\\"track\\\",\\\"u\\\",\\\"ul\\\",\\\"var\\\",\\\"video\\\",\\\"wbr\\\"],htmlTags=require$$0,htmlTags$1=getDefaultExportFromCjs(require$$0),ELEMENT_CODE_BLOCK2=(init_esbuild_inject(),\\\"codeblock\\\");function codeblock(e,t){var{code:r,language:n=\\\"\\\"}=t,o={};return void 0!==n&&(o.language={type:\\\"string\\\",value:n}),o.code={type:\\\"string\\\",value:r},{type:\\\"codeblock\\\",attributes:o}}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var pick=(r,e)=>e.reduce((e,t)=>(t in r&&(e[t]=r[t]),e),{});function getSlatePlateASTAdditionalProperties(e){var t={...pick(e,[\\\"orderedAttributes\\\",\\\"isBlock\\\"])};return e[\\\"tw-attributes\\\"]&&(t.attributes=e[\\\"tw-attributes\\\"]),e.orderedAttributes&&(t.orderedAttributes=e.orderedAttributes),t}init_esbuild_inject();var isElement4=e=>null!==e&&\\\"object\\\"==typeof e&&\\\"children\\\"in e&&Array.isArray(e.children),isText2=(init_esbuild_inject(),e=>null!==e&&\\\"object\\\"==typeof e&&\\\"text\\\"in e&&\\\"string\\\"==typeof e.text);function convertNodes(r,e){return void 0===e||0===e.length?[]:e.reduce((e,t)=>[...e,...convertWikiAstNode(r,t)],[])}function convertWikiAstNode(e,t){if(isText2(t))return[e.text(e,t)];if(isElement4(t)){var r=e[t.type];if(\\\"function\\\"==typeof r)return r=r(e,t),Array.isArray(r)?r.map(e=>({...getSlatePlateASTAdditionalProperties(t),...e})):[{...getSlatePlateASTAdditionalProperties(t),...r}]}return\\\"children\\\"in t?convertNodes(e,t.children):[]}function a3(e,t){return\\\"link\\\"===t[\\\"tw-type\\\"]?{...pick(t,[\\\"orderedAttributes\\\",\\\"isBlock\\\"]),type:\\\"link\\\",attributes:{...t.attributes,to:{type:\\\"string\\\",value:t.url}},children:[{type:\\\"text\\\",text:t.children[0].text}]}:{type:\\\"element\\\",tag:\\\"a\\\",children:!(0\u003Ct.children.length)||\\\"\\\"===t.children[0].text&&\\\"text\\\"in t.children[0]?[]:convertNodes(e,t.children)}}function blockquote(e,t){return{type:\\\"element\\\",tag:\\\"blockquote\\\",children:convertNodes(e,t.children).flatMap(e=>{var t;return\\\"text\\\"===e.type?(null!=(t=e.text)?t:\\\"\\\").split(\\\"\\\\n\\\").map(e=>({type:\\\"element\\\",tag:\\\"div\\\",children:[{type:\\\"text\\\",text:e}]})):[e]})}}function textWithoutMark(e,t){return{type:\\\"text\\\",text:t.text}}function unwrapSlateTextWithP(e){return e.flatMap(e=>\\\"p\\\"===e.type&&Array.isArray(e.children)&&e.children.every(e=>\\\"text\\\"in e)?e.children:e)}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var markTypeMap={bold:\\\"strong\\\",italic:\\\"em\\\",underline:\\\"u\\\",strikethrough:\\\"strike\\\",code:\\\"code\\\",superscript:\\\"sup\\\",subscript:\\\"sub\\\"};function text(e,t){for(var r of[\\\"bold\\\",\\\"italic\\\",\\\"underline\\\",\\\"strikethrough\\\",\\\"subscript\\\",\\\"superscript\\\",\\\"code\\\"])if(!0===t[r])return{type:\\\"element\\\",tag:markTypeMap[r],children:[text(e,{...t,[r]:void 0})]};return textWithoutMark(e,t)}function table(e,t){return{type:\\\"element\\\",tag:\\\"table\\\",children:[{type:\\\"element\\\",tag:\\\"tbody\\\",children:convertNodes(e,t.children)}]}}function td(e,t){return{type:\\\"element\\\",tag:\\\"td\\\",children:convertNodes(e,unwrapSlateTextWithP(t.children))}}var elementBuilders={blockquote:blockquote,a:a3,table:table,td:td};function element(e,t){var{type:r,children:n}=t,o=elementBuilders[r];return\\\"function\\\"==typeof o?o(e,t):{type:\\\"element\\\",tag:r,children:convertNodes(e,n)}}init_esbuild_inject();var ELEMENT_LIC2=\\\"lic\\\";function lic(e,t){var r=t[\\\"children\\\"],r=convertNodes(e,r);return 0\u003Cr.length?r.filter(e=>\\\"text\\\"!==e.type||\\\"\\\"!==e.text):r}function set(e,t){var r=convertNodes(e,t.children);return{...t.node,children:r}}function widget(e,t){return t.node}init_esbuild_inject(),init_esbuild_inject();var builders={...htmlTags$1.reduce((e,t)=>(e[t]=element,e),{}),[ELEMENT_CODE_BLOCK2]:codeblock,[ELEMENT_LIC2]:lic,text:text,widget:widget,macro:widget,set:set};function wikiAstFromSlateAst(e){return convertNodes(builders,Array.isArray(e)?e:[e])}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var getCodeLineType=e=>getPluginType(e,ELEMENT_CODE_LINE),insertCodeBlock=(t,e={})=>{!t.selection||isExpanded(t.selection)||someNode(t,{match:e=>e.type===getPluginType(t,ELEMENT_CODE_BLOCK)||e.type===getCodeLineType(t)})||(isSelectionAtBlockStart2(t)||t.insertBreak(),setElements(t,{type:getCodeLineType(t),children:[{text:\\\"\\\"}]},e),wrapNodes3(t,{type:getPluginType(t,ELEMENT_CODE_BLOCK),children:[]},e))},insertEmptyCodeBlock=(e,{defaultType:t=getPluginType(e,ELEMENT_DEFAULT),insertNodesOptions:r,level:n=0})=>{var o;e.selection&&(!isExpanded(e.selection)&&isBlockAboveEmpty(e)||(o=getPath(e,e.selection),o=Path.next(o.slice(0,n+1)),insertElements(e,{type:t,children:[{text:\\\"\\\"}]},{at:o,select:!0})),insertCodeBlock(e,r))},clearBlockFormat=(init_esbuild_inject(),e=>{unwrapList(e)}),format=(e,t)=>{var r;e.selection&&(r=getParentNode(e,e.selection))&&(([r]=r),!isElement2(r)||isType(e,r,ELEMENT_CODE_BLOCK)||isType(e,r,ELEMENT_CODE_LINE)||t())},formatList=(e,t)=>{format(e,()=>toggleList(e,{type:t}))},autoformatBlocks=[{mode:\\\"block\\\",type:ELEMENT_H1,match:[\\\"! \\\",\\\"! \\\"],preFormat:clearBlockFormat},{mode:\\\"block\\\",type:ELEMENT_H2,match:[\\\"!! \\\",\\\"!! \\\"],preFormat:clearBlockFormat},{mode:\\\"block\\\",type:ELEMENT_H3,match:[\\\"!!! \\\",\\\"!!! \\\"],preFormat:clearBlockFormat},{mode:\\\"block\\\",type:ELEMENT_H4,match:[\\\"!!!! \\\",\\\"!!!! \\\"],preFormat:clearBlockFormat},{mode:\\\"block\\\",type:ELEMENT_H5,match:[\\\"!!!!! \\\",\\\"!!!!! \\\"],preFormat:clearBlockFormat},{mode:\\\"block\\\",type:ELEMENT_H6,match:[\\\"!!!!!! \\\",\\\"!!!!!! \\\"],preFormat:clearBlockFormat},{mode:\\\"block\\\",type:ELEMENT_BLOCKQUOTE,match:[\\\"> \\\",\\\"》 \\\"],preFormat:clearBlockFormat},{mode:\\\"block\\\",type:ELEMENT_HR,match:[\\\"---\\\",\\\"—-\\\"],preFormat:clearBlockFormat,format:e=>{setElements(e,{type:ELEMENT_HR}),insertNodes3(e,{type:ELEMENT_DEFAULT,children:[{text:\\\"\\\"}]})}},{mode:\\\"block\\\",type:ELEMENT_CODE_BLOCK2,match:\\\"```\\\",triggerAtBlockStart:!1,preFormat:clearBlockFormat,format:e=>{insertEmptyCodeBlock(e,{defaultType:getPluginType(e,ELEMENT_DEFAULT),insertNodesOptions:{select:!0}})}}],autoformatLists=(init_esbuild_inject(),[{mode:\\\"block\\\",type:ELEMENT_LI,match:[\\\"* \\\",\\\"- \\\"],preFormat:clearBlockFormat,format:e=>{formatList(e,ELEMENT_UL)}},{mode:\\\"block\\\",type:ELEMENT_LI,match:[\\\"1. \\\",\\\"1) \\\",\\\"# \\\"],preFormat:clearBlockFormat,format:e=>{formatList(e,ELEMENT_OL)}}]),MARK_BOLD=(init_esbuild_inject(),init_esbuild_inject(),\\\"bold\\\"),createBoldPlugin=createPluginFactory({key:MARK_BOLD,isLeaf:!0,deserializeHtml:{rules:[{validNodeName:[\\\"STRONG\\\",\\\"B\\\"]},{validStyle:{fontWeight:[\\\"600\\\",\\\"700\\\",\\\"bold\\\"]}}],query:e=>!someHtmlElement(e,e=>\\\"normal\\\"===e.style.fontWeight)},handlers:{onKeyDown:onKeyDownToggleMark},options:{hotkey:\\\"mod+b\\\"}}),MARK_CODE=\\\"code\\\",createCodePlugin=createPluginFactory({key:MARK_CODE,isLeaf:!0,deserializeHtml:{rules:[{validNodeName:[\\\"CODE\\\"]},{validStyle:{wordWrap:\\\"break-word\\\"}},{validStyle:{fontFamily:\\\"Consolas\\\"}}],query(e){var t=findHtmlParentElement(e,\\\"P\\\");return\\\"Consolas\\\"!==(null==t?void 0:t.style.fontFamily)&&!findHtmlParentElement(e,\\\"PRE\\\")}},handlers:{onKeyDown:onKeyDownToggleMark},options:{hotkey:\\\"mod+e\\\"}}),MARK_ITALIC=\\\"italic\\\",createItalicPlugin=createPluginFactory({key:MARK_ITALIC,isLeaf:!0,handlers:{onKeyDown:onKeyDownToggleMark},options:{hotkey:\\\"mod+i\\\"},deserializeHtml:{rules:[{validNodeName:[\\\"EM\\\",\\\"I\\\"]},{validStyle:{fontStyle:\\\"italic\\\"}}],query:e=>!someHtmlElement(e,e=>\\\"normal\\\"===e.style.fontStyle)}}),MARK_STRIKETHROUGH=\\\"strikethrough\\\",createStrikethroughPlugin=createPluginFactory({key:MARK_STRIKETHROUGH,isLeaf:!0,handlers:{onKeyDown:onKeyDownToggleMark},options:{hotkey:\\\"mod+shift+x\\\"},deserializeHtml:{rules:[{validNodeName:[\\\"S\\\",\\\"DEL\\\",\\\"STRIKE\\\"]},{validStyle:{textDecoration:\\\"line-through\\\"}}],query:e=>!someHtmlElement(e,e=>\\\"none\\\"===e.style.textDecoration)}}),MARK_SUBSCRIPT$1=\\\"subscript\\\",MARK_SUPERSCRIPT$1=\\\"superscript\\\",createSubscriptPlugin=createPluginFactory({key:MARK_SUBSCRIPT$1,isLeaf:!0,handlers:{onKeyDown:onKeyDownToggleMark},options:{hotkey:\\\"mod+,\\\",clear:MARK_SUPERSCRIPT$1},deserializeHtml:{rules:[{validNodeName:[\\\"SUB\\\"]},{validStyle:{verticalAlign:\\\"sub\\\"}}]}}),MARK_SUPERSCRIPT=\\\"superscript\\\",MARK_SUBSCRIPT=\\\"subscript\\\",createSuperscriptPlugin=createPluginFactory({key:MARK_SUPERSCRIPT,isLeaf:!0,handlers:{onKeyDown:onKeyDownToggleMark},options:{hotkey:\\\"mod+.\\\",clear:MARK_SUBSCRIPT},deserializeHtml:{rules:[{validNodeName:[\\\"SUP\\\"]},{validStyle:{verticalAlign:\\\"super\\\"}}]}}),MARK_UNDERLINE=\\\"underline\\\",createUnderlinePlugin=createPluginFactory({key:MARK_UNDERLINE,isLeaf:!0,handlers:{onKeyDown:onKeyDownToggleMark},options:{hotkey:\\\"mod+u\\\"},deserializeHtml:{rules:[{validNodeName:[\\\"U\\\"]},{validStyle:{textDecoration:[\\\"underline\\\"]}}],query:e=>!someHtmlElement(e,e=>\\\"none\\\"===e.style.textDecoration)}}),createBasicMarksPlugin=createPluginFactory({key:\\\"basicMarks\\\",plugins:[createBoldPlugin(),createCodePlugin(),createItalicPlugin(),createStrikethroughPlugin(),createSubscriptPlugin(),createSuperscriptPlugin(),createUnderlinePlugin()]}),autoformatMarks=[{mode:\\\"mark\\\",type:MARK_BOLD,match:[\\\"''\\\"]},{mode:\\\"mark\\\",type:MARK_UNDERLINE,match:\\\"__\\\"},{mode:\\\"mark\\\",type:MARK_ITALIC,match:[\\\"//\\\"]},{mode:\\\"mark\\\",type:MARK_STRIKETHROUGH,match:\\\"~~\\\"},{mode:\\\"mark\\\",type:MARK_SUPERSCRIPT,match:\\\"^^\\\"},{mode:\\\"mark\\\",type:MARK_SUBSCRIPT$1,match:[\\\",,\\\",\\\",,\\\"]},{mode:\\\"mark\\\",type:MARK_CODE,match:\\\"`\\\"}],autoformatRules=[...autoformatBlocks,...autoformatLists,...autoformatMarks],SAVE_DEBOUNCE_INTERVAL=1e3,resetBlockTypesCommonRule={types:[ELEMENT_BLOCKQUOTE,ELEMENT_TODO_LI],defaultType:ELEMENT_PARAGRAPH},CONFIG={link:{options:{triggerFloatingLinkHotkeys:\\\"ctrl+l\\\"}},snippetComboBox:{key:\\\"/\\\"},wikiLinkComboBox:{key:\\\"[[\\\",options:{needSpaceBeforeTrigger:!1,keepTrigger:!0,textToInsertAfter:\\\"]]\\\",createAutoCompleteNode:e=>({text:e.text})}},wikiTransclusionComboBox:{key:\\\"{{\\\",options:{needSpaceBeforeTrigger:!1,keepTrigger:!0,textToInsertAfter:\\\"}}\\\",createAutoCompleteNode:e=>({text:e.text})}},macrosComboBox:{key:\\\"\u003C\u003C\\\",options:{needSpaceBeforeTrigger:!1,createAutoCompleteNode:e=>({text:e.text})}},widgetComboBox:{key:\\\"\u003C$\\\",options:{needSpaceBeforeTrigger:!1,createAutoCompleteNode:e=>({text:e.text})}},editableProps:{autoFocus:!0,spellCheck:!1,placeholder:\\\"Type / for commands, or write down what is in your mind\\\"},align:{inject:{props:{validTypes:[ELEMENT_PARAGRAPH,ELEMENT_H1,ELEMENT_H2,ELEMENT_H3,ELEMENT_H4,ELEMENT_H5,ELEMENT_H6]}}},lineHeight:{inject:{props:{defaultNodeValue:\\\"normal\\\",validTypes:[ELEMENT_PARAGRAPH,ELEMENT_H1,ELEMENT_H2,ELEMENT_H3,ELEMENT_H4,ELEMENT_H5,ELEMENT_H6]}}},resetBlockType:{options:{rules:[{...resetBlockTypesCommonRule,hotkey:\\\"Enter\\\",predicate:isBlockAboveEmpty},{...resetBlockTypesCommonRule,hotkey:\\\"Backspace\\\",predicate:isSelectionAtBlockStart2}]}},trailingBlock:{type:ELEMENT_PARAGRAPH},softBreak:{options:{rules:[{hotkey:\\\"shift+enter\\\"},{hotkey:\\\"enter\\\",query:{allow:[ELEMENT_CODE_BLOCK,ELEMENT_BLOCKQUOTE]}}]}},exitBreak:{options:{rules:[{hotkey:\\\"mod+enter\\\"},{hotkey:\\\"mod+shift+enter\\\",before:!0},{hotkey:\\\"enter\\\",query:{start:!0,end:!0,allow:KEYS_HEADING}}]}},selectOnBackspace:{options:{query:{allow:[ELEMENT_WIDGET]}}},autoformat:{options:{rules:autoformatRules}},forceLayout:{options:{rules:[{path:[0],strictType:ELEMENT_H1}]}}},import_react99=(init_esbuild_inject(),require(\\\"react\\\")),import_react12=(init_esbuild_inject(),require(\\\"react\\\")),DndContext=(0,import_react12.createContext)({dragDropManager:void 0}),import_jsx_runtime2=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function _typeof(e){return(_typeof=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e})(e)}function _toPrimitive(e,t){if(\\\"object\\\"!==_typeof(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return(\\\"string\\\"===t?String:Number)(e);r=r.call(e,t||\\\"default\\\");if(\\\"object\\\"!==_typeof(r))return r;throw new TypeError(\\\"@@toPrimitive must return a primitive value.\\\")}function _toPropertyKey(e){var t=_toPrimitive(e,\\\"string\\\");return\\\"symbol\\\"===_typeof(t)?t:String(t)}function _defineProperty5(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var $$observable=\\\"function\\\"==typeof Symbol&&Symbol.observable||\\\"@@observable\\\",randomString=function randomString2(){return Math.random().toString(36).substring(7).split(\\\"\\\").join(\\\".\\\")},ActionTypes={INIT:\\\"@@redux/INIT\\\"+randomString(),REPLACE:\\\"@@redux/REPLACE\\\"+randomString(),PROBE_UNKNOWN_ACTION:function PROBE_UNKNOWN_ACTION(){return\\\"@@redux/PROBE_UNKNOWN_ACTION\\\"+randomString()}};function isPlainObject4(e){if(\\\"object\\\"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function miniKindOf(e){if(void 0===e)return\\\"undefined\\\";if(null===e)return\\\"null\\\";var t=typeof e;switch(t){case\\\"boolean\\\":case\\\"string\\\":case\\\"number\\\":case\\\"symbol\\\":case\\\"function\\\":return t}if(Array.isArray(e))return\\\"array\\\";if(isDate(e))return\\\"date\\\";if(isError(e))return\\\"error\\\";var r=ctorName(e);switch(r){case\\\"Symbol\\\":case\\\"Promise\\\":case\\\"WeakMap\\\":case\\\"WeakSet\\\":case\\\"Map\\\":case\\\"Set\\\":return r}return t.slice(8,-1).toLowerCase().replace(/\\\\s/g,\\\"\\\")}function ctorName(e){return\\\"function\\\"==typeof e.constructor?e.constructor.name:null}function isError(e){return e instanceof Error||\\\"string\\\"==typeof e.message&&e.constructor&&\\\"number\\\"==typeof e.constructor.stackTraceLimit}function isDate(e){return e instanceof Date||\\\"function\\\"==typeof e.toDateString&&\\\"function\\\"==typeof e.getDate&&\\\"function\\\"==typeof e.setDate}function kindOf(e){return miniKindOf(e)}function createStore5(e,t,r){var n;if(\\\"function\\\"==typeof t&&\\\"function\\\"==typeof r||\\\"function\\\"==typeof r&&\\\"function\\\"==typeof arguments[3])throw new Error(\\\"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.\\\");if(\\\"function\\\"==typeof t&&void 0===r&&(r=t,t=void 0),void 0!==r){if(\\\"function\\\"!=typeof r)throw new Error(\\\"Expected the enhancer to be a function. Instead, received: '\\\"+kindOf(r)+\\\"'\\\");return r(createStore5)(e,t)}if(\\\"function\\\"!=typeof e)throw new Error(\\\"Expected the root reducer to be a function. Instead, received: '\\\"+kindOf(e)+\\\"'\\\");var o=e,a=t,i=[],s=i,c=!1;function l(){s===i&&(s=i.slice())}function u(){if(c)throw new Error(\\\"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.\\\");return a}function d(t){if(\\\"function\\\"!=typeof t)throw new Error(\\\"Expected the listener to be a function. Instead, received: '\\\"+kindOf(t)+\\\"'\\\");if(c)throw new Error(\\\"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.\\\");var r=!0;return l(),s.push(t),function(){if(r){if(c)throw new Error(\\\"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.\\\");r=!1,l();var e=s.indexOf(t);s.splice(e,1),i=null}}}function p(e){if(!isPlainObject4(e))throw new Error(\\\"Actions must be plain objects. Instead, the actual type was: '\\\"+kindOf(e)+\\\"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\\\");if(\\\"undefined\\\"==typeof e.type)throw new Error('Actions may not have an undefined \\\"type\\\" property. You may have misspelled an action type string constant.');if(c)throw new Error(\\\"Reducers may not dispatch actions.\\\");try{c=!0,a=o(a,e)}finally{c=!1}for(var t=i=s,r=0;r\u003Ct.length;r++)(0,t[r])();return e}return p({type:ActionTypes.INIT}),(n={dispatch:p,subscribe:d,getState:u,replaceReducer:function(e){if(\\\"function\\\"!=typeof e)throw new Error(\\\"Expected the nextReducer to be a function. Instead, received: '\\\"+kindOf(e));o=e,p({type:ActionTypes.REPLACE})}})[$$observable]=function(){var r=d,e={subscribe:function(e){if(\\\"object\\\"!=typeof e||null===e)throw new Error(\\\"Expected the observer to be an object. Instead, received: '\\\"+kindOf(e)+\\\"'\\\");function t(){e.next&&e.next(u())}return t(),{unsubscribe:r(t)}}};return e[$$observable]=function(){return this},e},n}function invariant(e,r,...n){if(isProduction()&&void 0===r)throw new Error(\\\"invariant requires an error message argument\\\");if(!e){let t;if(void 0===r)t=new Error(\\\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\\\");else{let e=0;(t=new Error(r.replace(/%s/g,function(){return n[e++]}))).name=\\\"Invariant Violation\\\"}throw t.framesToPop=1,t}}function isProduction(){return\\\"undefined\\\"!=typeof process&&!1}function get3(e,t,r){return t.split(\\\".\\\").reduce((e,t)=>e&&e[t]?e[t]:r||null,e)}function without(e,t){return e.filter(e=>e!==t)}function isObject6(e){return\\\"object\\\"==typeof e}function xor(e,t){const r=new Map;var n=e=>{r.set(e,r.has(e)?r.get(e)+1:1)};e.forEach(n),t.forEach(n);const o=[];return r.forEach((e,t)=>{1===e&&o.push(t)}),o}function intersection(e,t){return e.filter(e=>-1\u003Ct.indexOf(e))}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var INIT_COORDS=\\\"dnd-core/INIT_COORDS\\\",BEGIN_DRAG=\\\"dnd-core/BEGIN_DRAG\\\",PUBLISH_DRAG_SOURCE=\\\"dnd-core/PUBLISH_DRAG_SOURCE\\\",HOVER=\\\"dnd-core/HOVER\\\",DROP=\\\"dnd-core/DROP\\\",END_DRAG=\\\"dnd-core/END_DRAG\\\";function setClientOffset(e,t){return{type:INIT_COORDS,payload:{sourceClientOffset:t||null,clientOffset:e||null}}}var ResetCoordinatesAction={type:INIT_COORDS,payload:{clientOffset:null,sourceClientOffset:null}};function createBeginDrag(c){return function(e=[],t={publishSource:!0}){var{publishSource:r=!0,clientOffset:n,getSourceClientOffset:o}=t,a=c.getMonitor(),i=c.getRegistry(),s=(c.dispatch(setClientOffset(n)),verifyInvariants(e,a,i),getDraggableSource(e,a));if(null==s)c.dispatch(ResetCoordinatesAction);else{let e=null;if(n){if(!o)throw new Error(\\\"getSourceClientOffset must be defined\\\");verifyGetSourceClientOffsetIsFunction(o),e=o(s)}c.dispatch(setClientOffset(n,e));o=i.getSource(s).beginDrag(a,s);if(null!=o)return verifyItemIsObject(o),i.pinSource(s),a=i.getSourceType(s),{type:BEGIN_DRAG,payload:{itemType:a,item:o,sourceId:s,clientOffset:n||null,sourceClientOffset:e||null,isSourcePublic:!!r}}}}}function verifyInvariants(e,t,r){invariant(!t.isDragging(),\\\"Cannot call beginDrag while dragging.\\\"),e.forEach(function(e){invariant(r.getSource(e),\\\"Expected sourceIds to be registered.\\\")})}function verifyGetSourceClientOffsetIsFunction(e){invariant(\\\"function\\\"==typeof e,\\\"When clientOffset is provided, getSourceClientOffset must be a function.\\\")}function verifyItemIsObject(e){invariant(isObject6(e),\\\"Item must be an object.\\\")}function getDraggableSource(e,t){let r=null;for(let n=e.length-1;0\u003C=n;n--)if(t.canDragSource(e[n])){r=e[n];break}return r}function _defineProperty6(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _objectSpread4(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);(n=\\\"function\\\"==typeof Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})):n).forEach(function(e){_defineProperty6(t,e,r[e])})}return t}function createDrop(i){return function(n={}){const o=i.getMonitor(),a=i.getRegistry();verifyInvariants2(o),getDroppableTargets(o).forEach((e,t)=>{var r=determineDropResult(e,t,a,o),r={type:DROP,payload:{dropResult:_objectSpread4({},n,r)}};i.dispatch(r)})}}function verifyInvariants2(e){invariant(e.isDragging(),\\\"Cannot call drop while not dragging.\\\"),invariant(!e.didDrop(),\\\"Cannot call drop twice during one drag operation.\\\")}function determineDropResult(e,t,r,n){var o=r.getTarget(e);let a=o?o.drop(n,e):void 0;return verifyDropResultType(a),a=void 0===a?0===t?{}:n.getDropResult():a}function verifyDropResultType(e){invariant(void 0===e||isObject6(e),\\\"Drop result must either be an object or undefined.\\\")}function getDroppableTargets(e){var t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function createEndDrag(n){return function(){var e=n.getMonitor(),t=n.getRegistry(),r=(verifyIsDragging(e),e.getSourceId());return null!=r&&(t.getSource(r,!0).endDrag(e,r),t.unpinSource()),{type:END_DRAG}}}function verifyIsDragging(e){invariant(e.isDragging(),\\\"Cannot call endDrag while not dragging.\\\")}function matchesType(e,t){return null===t?null===e:Array.isArray(e)?e.some(e=>e===t):e===t}function createHover(a){return function(e,{clientOffset:t}={}){verifyTargetIdsIsArray(e);var r=e.slice(0),n=a.getMonitor(),o=a.getRegistry();return removeNonMatchingTargetIds(r,o,n.getItemType()),checkInvariants(r,n,o),hoverAllTargets(r,n,o),{type:HOVER,payload:{targetIds:r,clientOffset:t||null}}}}function verifyTargetIdsIsArray(e){invariant(Array.isArray(e),\\\"Expected targetIds to be an array.\\\")}function checkInvariants(e,t,r){invariant(t.isDragging(),\\\"Cannot call hover while not dragging.\\\"),invariant(!t.didDrop(),\\\"Cannot call hover after drop.\\\");for(let o=0;o\u003Ce.length;o++){var n=e[o],n=(invariant(e.lastIndexOf(n)===o,\\\"Expected targetIds to be unique in the passed array.\\\"),r.getTarget(n));invariant(n,\\\"Expected targetIds to be registered.\\\")}}function removeNonMatchingTargetIds(e,t,r){for(let o=e.length-1;0\u003C=o;o--){var n=e[o];matchesType(t.getTargetType(n),r)||e.splice(o,1)}}function hoverAllTargets(e,t,r){e.forEach(function(e){r.getTarget(e).hover(t,e)})}function createPublishDragSource(e){return function(){if(e.getMonitor().isDragging())return{type:PUBLISH_DRAG_SOURCE}}}function createDragDropActions(e){return{beginDrag:createBeginDrag(e),publishDragSource:createPublishDragSource(e),hover:createHover(e),drop:createDrop(e),endDrag:createEndDrag(e)}}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var DragDropManagerImpl=class{receiveBackend(e){this.backend=e}getMonitor(){return this.monitor}getBackend(){return this.backend}getRegistry(){return this.monitor.registry}getActions(){const o=this,a=this.store[\\\"dispatch\\\"];const i=createDragDropActions(this);return Object.keys(i).reduce((e,t)=>{var r,n=i[t];return e[t]=(r=n,(...e)=>{var t=r.apply(o,e);void 0!==t&&a(t)}),e},{})}dispatch(e){this.store.dispatch(e)}constructor(e,t){this.isSetUp=!1,this.handleRefCountChange=()=>{var e=0\u003Cthis.store.getState().refCount;this.backend&&(e&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!e&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=e,this.monitor=t,e.subscribe(this.handleRefCountChange)}};function add(e,t){return{x:e.x+t.x,y:e.y+t.y}}function subtract(e,t){return{x:e.x-t.x,y:e.y-t.y}}function getSourceClientOffset(e){var{clientOffset:t,initialClientOffset:r,initialSourceClientOffset:n}=e;return t&&r&&n?subtract(add(t,n),r):null}function getDifferenceFromInitialOffset(e){var{clientOffset:t,initialClientOffset:r}=e;return t&&r?subtract(t,r):null}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var NONE=[],ALL=[];function areDirty(e,t){return e!==NONE&&(e===ALL||void 0===t||0\u003Cintersection(t,e).length)}NONE.__IS_NONE__=!0,ALL.__IS_ALL__=!0;var DragDropMonitorImpl=class{subscribeToStateChange(r,e={}){const n=e[\\\"handlerIds\\\"];invariant(\\\"function\\\"==typeof r,\\\"listener must be a function.\\\"),invariant(void 0===n||Array.isArray(n),\\\"handlerIds, when specified, must be an array of strings.\\\");let o=this.store.getState().stateId;return this.store.subscribe(()=>{var e=this.store.getState(),t=e.stateId;try{t===o||t===o+1&&!areDirty(e.dirtyHandlerIds,n)||r()}finally{o=t}})}subscribeToOffsetChange(t){invariant(\\\"function\\\"==typeof t,\\\"listener must be a function.\\\");let r=this.store.getState().dragOffset;return this.store.subscribe(()=>{var e=this.store.getState().dragOffset;e!==r&&(r=e,t())})}canDragSource(e){var t;return!!e&&(invariant(t=this.registry.getSource(e),\\\"Expected to find a valid source. sourceId=\\\"+e),!this.isDragging())&&t.canDrag(this,e)}canDropOnTarget(e){var t;return!!e&&(invariant(t=this.registry.getTarget(e),\\\"Expected to find a valid target. targetId=\\\"+e),!(!this.isDragging()||this.didDrop()))&&matchesType(this.registry.getTargetType(e),this.getItemType())&&t.canDrop(this,e)}isDragging(){return Boolean(this.getItemType())}isDraggingSource(e){var t;return!(!e||(invariant(t=this.registry.getSource(e,!0),\\\"Expected to find a valid source. sourceId=\\\"+e),!this.isDragging())||!this.isSourcePublic()||this.registry.getSourceType(e)!==this.getItemType())&&t.isDragging(this,e)}isOverTarget(e,t={shallow:!1}){var r,n,o,a;return!(!e||(r=t.shallow,!this.isDragging())||(a=this.registry.getTargetType(e),(n=this.getItemType())&&!matchesType(a,n))||!(o=this.getTargetIds()).length)&&(a=o.indexOf(e),r?a===o.length-1:-1\u003Ca)}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return Boolean(this.store.getState().dragOperation.isSourcePublic)}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return getSourceClientOffset(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return getDifferenceFromInitialOffset(this.store.getState().dragOffset)}constructor(e,t){this.store=e,this.registry=t}},scope=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),\\\"undefined\\\"!=typeof global?global:self),BrowserMutationObserver=scope.MutationObserver||scope.WebKitMutationObserver;function makeRequestCallFromTimer(n){return function(){const e=setTimeout(r,0),t=setInterval(r,50);function r(){clearTimeout(e),clearInterval(t),n()}}}function makeRequestCallFromMutationObserver(e){let t=1;var r=new BrowserMutationObserver(e);const n=document.createTextNode(\\\"\\\");return r.observe(n,{characterData:!0}),function(){t=-t,n.data=t}}var makeRequestCall=\\\"function\\\"==typeof BrowserMutationObserver?makeRequestCallFromMutationObserver:makeRequestCallFromTimer,AsapQueue=class{enqueueTask(e){var{queue:t,requestFlush:r}=this;t.length||(r(),this.flushing=!0),t[t.length]=e}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{for(var r=this[\\\"queue\\\"];this.index\u003Cr.length;){var e=this.index;if(this.index++,r[e].call(),this.index>this.capacity){for(let e=0,t=r.length-this.index;e\u003Ct;e++)r[e]=r[e+this.index];r.length-=this.index,this.index=0}}r.length=0,this.index=0,this.flushing=!1},this.registerPendingError=e=>{this.pendingErrors.push(e),this.requestErrorThrow()},this.requestFlush=makeRequestCall(this.flush),this.requestErrorThrow=makeRequestCallFromTimer(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}},RawTask=(init_esbuild_inject(),init_esbuild_inject(),class{call(){try{this.task&&this.task()}catch(e){this.onError(e)}finally{this.task=null,this.release(this)}}constructor(e,t){this.onError=e,this.release=t,this.task=null}}),TaskFactory=class{create(e){const t=this.freeTasks;var r=t.length?t.pop():new RawTask(this.onError,e=>t[t.length]=e);return r.task=e,r}constructor(e){this.onError=e,this.freeTasks=[]}},asapQueue=new AsapQueue,taskFactory=new TaskFactory(asapQueue.registerPendingError);function asap(e){asapQueue.enqueueTask(taskFactory.create(e))}init_esbuild_inject(),init_esbuild_inject();var HandlerRole,ADD_SOURCE=\\\"dnd-core/ADD_SOURCE\\\",ADD_TARGET=\\\"dnd-core/ADD_TARGET\\\",REMOVE_SOURCE=\\\"dnd-core/REMOVE_SOURCE\\\",REMOVE_TARGET=\\\"dnd-core/REMOVE_TARGET\\\";function addSource(e){return{type:ADD_SOURCE,payload:{sourceId:e}}}function addTarget(e){return{type:ADD_TARGET,payload:{targetId:e}}}function removeSource(e){return{type:REMOVE_SOURCE,payload:{sourceId:e}}}function removeTarget(e){return{type:REMOVE_TARGET,payload:{targetId:e}}}function validateSourceContract(e){invariant(\\\"function\\\"==typeof e.canDrag,\\\"Expected canDrag to be a function.\\\"),invariant(\\\"function\\\"==typeof e.beginDrag,\\\"Expected beginDrag to be a function.\\\"),invariant(\\\"function\\\"==typeof e.endDrag,\\\"Expected endDrag to be a function.\\\")}function validateTargetContract(e){invariant(\\\"function\\\"==typeof e.canDrop,\\\"Expected canDrop to be a function.\\\"),invariant(\\\"function\\\"==typeof e.hover,\\\"Expected hover to be a function.\\\"),invariant(\\\"function\\\"==typeof e.drop,\\\"Expected beginDrag to be a function.\\\")}function validateType(e,t){t&&Array.isArray(e)?e.forEach(e=>validateType(e,!1)):invariant(\\\"string\\\"==typeof e||\\\"symbol\\\"==typeof e,t?\\\"Type can only be a string, a symbol, or an array of either.\\\":\\\"Type can only be a string or a symbol.\\\")}init_esbuild_inject(),init_esbuild_inject(),function(e){e.SOURCE=\\\"SOURCE\\\",e.TARGET=\\\"TARGET\\\"}(HandlerRole=HandlerRole||{}),init_esbuild_inject();var nextUniqueId=0;function getNextUniqueId(){return nextUniqueId++}function getNextHandlerId(e){var t=getNextUniqueId().toString();switch(e){case HandlerRole.SOURCE:return\\\"S\\\"+t;case HandlerRole.TARGET:return\\\"T\\\"+t;default:throw new Error(\\\"Unknown Handler Role: \\\"+e)}}function parseRoleFromHandlerId(e){switch(e[0]){case\\\"S\\\":return HandlerRole.SOURCE;case\\\"T\\\":return HandlerRole.TARGET;default:throw new Error(\\\"Cannot parse handler ID: \\\"+e)}}function mapContainsValue(e,t){var r=e.entries();do{var{done:n,value:[,o]}=r.next();if(o===t)return!0;o=!!n}while(!o);return!1}var HandlerRegistryImpl=class{addSource(e,t){validateType(e),validateSourceContract(t);var r=this.addHandler(HandlerRole.SOURCE,e,t);return this.store.dispatch(addSource(r)),r}addTarget(e,t){validateType(e,!0),validateTargetContract(t);var r=this.addHandler(HandlerRole.TARGET,e,t);return this.store.dispatch(addTarget(r)),r}containsHandler(e){return mapContainsValue(this.dragSources,e)||mapContainsValue(this.dropTargets,e)}getSource(e,t=!1){return invariant(this.isSourceId(e),\\\"Expected a valid source ID.\\\"),t&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return invariant(this.isTargetId(e),\\\"Expected a valid target ID.\\\"),this.dropTargets.get(e)}getSourceType(e){return invariant(this.isSourceId(e),\\\"Expected a valid source ID.\\\"),this.types.get(e)}getTargetType(e){return invariant(this.isTargetId(e),\\\"Expected a valid target ID.\\\"),this.types.get(e)}isSourceId(e){return parseRoleFromHandlerId(e)===HandlerRole.SOURCE}isTargetId(e){return parseRoleFromHandlerId(e)===HandlerRole.TARGET}removeSource(e){invariant(this.getSource(e),\\\"Expected an existing source.\\\"),this.store.dispatch(removeSource(e)),asap(()=>{this.dragSources[\\\"delete\\\"](e),this.types[\\\"delete\\\"](e)})}removeTarget(e){invariant(this.getTarget(e),\\\"Expected an existing target.\\\"),this.store.dispatch(removeTarget(e)),this.dropTargets[\\\"delete\\\"](e),this.types[\\\"delete\\\"](e)}pinSource(e){var t=this.getSource(e);invariant(t,\\\"Expected an existing source.\\\"),this.pinnedSourceId=e,this.pinnedSource=t}unpinSource(){invariant(this.pinnedSource,\\\"No source is pinned at the time.\\\"),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,t,r){var n=getNextHandlerId(e);return this.types.set(n,t),e===HandlerRole.SOURCE?this.dragSources.set(n,r):e===HandlerRole.TARGET&&this.dropTargets.set(n,r),n}constructor(e){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=e}},strictEquality=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),(e,t)=>e===t);function areCoordsEqual(e,t){return!e&&!t||!(!e||!t)&&e.x===t.x&&e.y===t.y}function areArraysEqual(e,t,r=strictEquality){if(e.length!==t.length)return!1;for(let n=0;n\u003Ce.length;++n)if(!r(e[n],t[n]))return!1;return!0}function reduce(e=0,t){switch(t.type){case HOVER:break;case ADD_SOURCE:case ADD_TARGET:case REMOVE_TARGET:case REMOVE_SOURCE:return NONE;default:return ALL}var{targetIds:r=[],prevTargetIds:n=[]}=t.payload,o=xor(r,n);return 0\u003Co.length||!areArraysEqual(r,n)?((n=n[n.length-1])!==(r=r[r.length-1])&&(n&&o.push(n),r)&&o.push(r),o):NONE}function _defineProperty7(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _objectSpread5(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);(n=\\\"function\\\"==typeof Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})):n).forEach(function(e){_defineProperty7(t,e,r[e])})}return t}init_esbuild_inject();var initialState={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function reduce2(e=initialState,t){var r=t[\\\"payload\\\"];switch(t.type){case INIT_COORDS:case BEGIN_DRAG:return{initialSourceClientOffset:r.sourceClientOffset,initialClientOffset:r.clientOffset,clientOffset:r.clientOffset};case HOVER:return areCoordsEqual(e.clientOffset,r.clientOffset)?e:_objectSpread5({},e,{clientOffset:r.clientOffset});case END_DRAG:case DROP:return initialState;default:return e}}function _defineProperty8(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _objectSpread6(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);(n=\\\"function\\\"==typeof Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})):n).forEach(function(e){_defineProperty8(t,e,r[e])})}return t}init_esbuild_inject();var initialState2={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function reduce3(e=initialState2,t){var r=t[\\\"payload\\\"];switch(t.type){case BEGIN_DRAG:return _objectSpread6({},e,{itemType:r.itemType,item:r.item,sourceId:r.sourceId,isSourcePublic:r.isSourcePublic,dropResult:null,didDrop:!1});case PUBLISH_DRAG_SOURCE:return _objectSpread6({},e,{isSourcePublic:!0});case HOVER:return _objectSpread6({},e,{targetIds:r.targetIds});case REMOVE_TARGET:return-1===e.targetIds.indexOf(r.targetId)?e:_objectSpread6({},e,{targetIds:without(e.targetIds,r.targetId)});case DROP:return _objectSpread6({},e,{dropResult:r.dropResult,didDrop:!0,targetIds:[]});case END_DRAG:return _objectSpread6({},e,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}function reduce4(e=0,t){switch(t.type){case ADD_SOURCE:case ADD_TARGET:return e+1;case REMOVE_SOURCE:case REMOVE_TARGET:return e-1;default:return e}}function reduce5(e=0){return e+1}function _defineProperty9(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _objectSpread7(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);(n=\\\"function\\\"==typeof Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})):n).forEach(function(e){_defineProperty9(t,e,r[e])})}return t}function reduce6(e={},t){return{dirtyHandlerIds:reduce(e.dirtyHandlerIds,{type:t.type,payload:_objectSpread7({},t.payload,{prevTargetIds:get3(e,\\\"dragOperation.targetIds\\\",[])})}),dragOffset:reduce2(e.dragOffset,t),refCount:reduce4(e.refCount,t),dragOperation:reduce3(e.dragOperation,t),stateId:reduce5(e.stateId)}}function createDragDropManager(e,t=void 0,r={},n=!1){var o=makeStoreInstance(n),a=new DragDropMonitorImpl(o,new HandlerRegistryImpl(o)),o=new DragDropManagerImpl(o,a),a=e(o,t,r);return o.receiveBackend(a),o}function makeStoreInstance(e){var t=\\\"undefined\\\"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__;return createStore5(reduce6,e&&t&&t({name:\\\"dnd-core\\\",instanceId:\\\"dnd-core\\\"}))}init_esbuild_inject(),init_esbuild_inject();var import_react13=require(\\\"react\\\");function _objectWithoutProperties3(e,t){if(null==e)return{};var r,n=_objectWithoutPropertiesLoose3(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a\u003Co.length;a++)r=o[a],0\u003C=t.indexOf(r)||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);return n}function _objectWithoutPropertiesLoose3(e,t){if(null==e)return{};for(var r,n={},o=Object.keys(e),a=0;a\u003Co.length;a++)r=o[a],0\u003C=t.indexOf(r)||(n[r]=e[r]);return n}var refCount=0,INSTANCE_SYM=Symbol[\\\"for\\\"](\\\"__REACT_DND_CONTEXT_INSTANCE__\\\"),DndProvider=(0,import_react13.memo)(function DndProvider2(e){var t=e[\\\"children\\\"];const[r,n]=getDndContextValue(_objectWithoutProperties3(e,[\\\"children\\\"]));return(0,import_react13.useEffect)(()=>{if(n){const e=getGlobalContext();return++refCount,()=>{0==--refCount&&(e[INSTANCE_SYM]=null)}}},[]),(0,import_jsx_runtime2.jsx)(DndContext.Provider,{value:r,children:t})});function getDndContextValue(e){return\\\"manager\\\"in e?[{dragDropManager:e.manager},!1]:[createSingletonDndContext(e.backend,e.context,e.options,e.debugMode),!e.context]}function createSingletonDndContext(e,t=getGlobalContext(),r,n){var o=t;return o[INSTANCE_SYM]||(o[INSTANCE_SYM]={dragDropManager:createDragDropManager(e,t,r,n)}),o[INSTANCE_SYM]}function getGlobalContext(){return\\\"undefined\\\"!=typeof global?global:window}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var import_fast_deep_equal=__toESM(require_fast_deep_equal(),1),import_react15=require(\\\"react\\\"),import_react14=(init_esbuild_inject(),require(\\\"react\\\")),useIsomorphicLayoutEffect4=\\\"undefined\\\"!=typeof window?import_react14.useLayoutEffect:import_react14.useEffect;function useCollector(t,r,n){const[o,a]=(0,import_react15.useState)(()=>r(t));var e=(0,import_react15.useCallback)(()=>{var e=r(t);(0,import_fast_deep_equal[\\\"default\\\"])(o,e)||(a(e),n&&n())},[o,t,n]);return useIsomorphicLayoutEffect4(e),[o,e]}function useMonitorOutput(t,e,r){const[n,o]=useCollector(t,e,r);return useIsomorphicLayoutEffect4(function(){var e=t.getHandlerId();if(null!=e)return t.subscribeToStateChange(o,{handlerIds:[e]})},[t,o]),n}function useCollectedProps(e,t,r){return useMonitorOutput(t,e||(()=>({})),()=>r.reconnect())}init_esbuild_inject();var import_react16=require(\\\"react\\\");function useOptionalFactory(e,t){var r=[...t||[]];return null==t&&\\\"function\\\"!=typeof e&&r.push(e),(0,import_react16.useMemo)(()=>\\\"function\\\"==typeof e?e():e,r)}init_esbuild_inject();var import_react17=require(\\\"react\\\");function useConnectDragSource(e){return(0,import_react17.useMemo)(()=>e.hooks.dragSource(),[e])}function useConnectDragPreview(e){return(0,import_react17.useMemo)(()=>e.hooks.dragPreview(),[e])}init_esbuild_inject();var import_react20=require(\\\"react\\\"),isCallingCanDrag=(init_esbuild_inject(),!1),isCallingIsDragging=!1,DragSourceMonitorImpl=class{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){invariant(!isCallingCanDrag,\\\"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor\\\");try{return isCallingCanDrag=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{isCallingCanDrag=!1}}isDragging(){if(!this.sourceId)return!1;invariant(!isCallingIsDragging,\\\"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor\\\");try{return isCallingIsDragging=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{isCallingIsDragging=!1}}subscribeToStateChange(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}isDraggingSource(e){return this.internalMonitor.isDraggingSource(e)}isOverTarget(e,t){return this.internalMonitor.isOverTarget(e,t)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(e){return this.internalMonitor.subscribeToOffsetChange(e)}canDragSource(e){return this.internalMonitor.canDragSource(e)}canDropOnTarget(e){return this.internalMonitor.canDropOnTarget(e)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.sourceId=null,this.internalMonitor=e.getMonitor()}},isCallingCanDrop=(init_esbuild_inject(),!1),DropTargetMonitorImpl=class{receiveHandlerId(e){this.targetId=e}getHandlerId(){return this.targetId}subscribeToStateChange(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}canDrop(){if(!this.targetId)return!1;invariant(!isCallingCanDrop,\\\"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor\\\");try{return isCallingCanDrop=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{isCallingCanDrop=!1}}isOver(e){return!!this.targetId&&this.internalMonitor.isOverTarget(this.targetId,e)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.targetId=null,this.internalMonitor=e.getMonitor()}};function registerTarget(e,t,r){const n=r.getRegistry(),o=n.addTarget(e,t);return[o,()=>n.removeTarget(o)]}function registerSource(e,t,r){const n=r.getRegistry(),o=n.addSource(e,t);return[o,()=>n.removeSource(o)]}function shallowEqual(t,r,n,o){let a=n?n.call(o,t,r):void 0;if(void 0!==a)return!!a;if(t!==r){if(\\\"object\\\"!=typeof t||!t||\\\"object\\\"!=typeof r||!r)return!1;var i=Object.keys(t),s=Object.keys(r);if(i.length!==s.length)return!1;var c=Object.prototype.hasOwnProperty.bind(r);for(let e=0;e\u003Ci.length;e++){var l=i[e];if(!c(l))return!1;var u=t[l],d=r[l];if(!1===(a=n?n.call(o,u,d,l):void 0)||void 0===a&&u!==d)return!1}}return!0}function isRef(e){return null!==e&&\\\"object\\\"==typeof e&&Object.prototype.hasOwnProperty.call(e,\\\"current\\\")}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var import_react18=require(\\\"react\\\");function throwIfCompositeComponentElement(e){var t;if(\\\"string\\\"!=typeof e.type)throw t=e.type.displayName||e.type.name||\\\"the component\\\",new Error(`Only native element nodes can now be passed to React DnD connectors.You can either wrap ${t} into a \u003Cdiv>, or turn it into a drag source or a drop target itself.`)}function wrapHookToRecognizeElement(n){return(e=null,t=null)=>{var r;return(0,import_react18.isValidElement)(e)?(throwIfCompositeComponentElement(r=e),cloneWithRef(r,t?e=>n(e,t):n)):(n(r=e,t),r)}}function wrapConnectorHooks(n){const o={};return Object.keys(n).forEach(e=>{var t=n[e];if(e.endsWith(\\\"Ref\\\"))o[e]=n[e];else{const r=wrapHookToRecognizeElement(t);o[e]=()=>r}}),o}function setRef2(e,t){\\\"function\\\"==typeof e?e(t):e.current=t}function cloneWithRef(e,t){const r=e.ref;return invariant(\\\"string\\\"!=typeof r,\\\"Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a \u003Cspan> or \u003Cdiv>. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs\\\"),r?(0,import_react18.cloneElement)(e,{ref:e=>{setRef2(r,e),setRef2(t,e)}}):(0,import_react18.cloneElement)(e,{ref:t})}var SourceConnector=class{receiveHandlerId(e){this.handlerId!==e&&(this.handlerId=e,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(e){this.dragSourceOptionsInternal=e}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(e){this.dragPreviewOptionsInternal=e}reconnect(){var e=this.reconnectDragSource();this.reconnectDragPreview(e)}reconnectDragSource(){var e=this.dragSource,t=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return t&&this.disconnectDragSource(),this.handlerId&&(e?t&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=e,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,e,this.dragSourceOptions)):this.lastConnectedDragSource=e),t}reconnectDragPreview(e=!1){var t=this.dragPreview,r=e||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();r&&this.disconnectDragPreview(),this.handlerId&&(t?r&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=t,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,t,this.dragPreviewOptions)):this.lastConnectedDragPreview=t)}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!shallowEqual(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!shallowEqual(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(e){this.hooks=wrapConnectorHooks({dragSource:(e,t)=>{this.clearDragSource(),this.dragSourceOptions=t||null,isRef(e)?this.dragSourceRef=e:this.dragSourceNode=e,this.reconnectDragSource()},dragPreview:(e,t)=>{this.clearDragPreview(),this.dragPreviewOptions=t||null,isRef(e)?this.dragPreviewRef=e:this.dragPreviewNode=e,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=e}},TargetConnector=(init_esbuild_inject(),class{get connectTarget(){return this.dropTarget}reconnect(){var e=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange(),t=(e&&this.disconnectDropTarget(),this.dropTarget);this.handlerId&&(t?e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=t,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,t,this.dropTargetOptions)):this.lastConnectedDropTarget=t)}receiveHandlerId(e){e!==this.handlerId&&(this.handlerId=e,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(e){this.dropTargetOptionsInternal=e}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!shallowEqual(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(e){this.hooks=wrapConnectorHooks({dropTarget:(e,t)=>{this.clearDropTarget(),this.dropTargetOptions=t,isRef(e)?this.dropTargetRef=e:this.dropTargetNode=e,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=e}}),import_react19=(init_esbuild_inject(),require(\\\"react\\\"));function useDragDropManager(){var e=(0,import_react19.useContext)(DndContext)[\\\"dragDropManager\\\"];return invariant(null!=e,\\\"Expected drag drop context\\\"),e}function useDragSourceConnector(e,t){const r=useDragDropManager(),n=(0,import_react20.useMemo)(()=>new SourceConnector(r.getBackend()),[r]);return useIsomorphicLayoutEffect4(()=>(n.dragSourceOptions=e||null,n.reconnect(),()=>n.disconnectDragSource()),[n,e]),useIsomorphicLayoutEffect4(()=>(n.dragPreviewOptions=t||null,n.reconnect(),()=>n.disconnectDragPreview()),[n,t]),n}init_esbuild_inject();var import_react21=require(\\\"react\\\");function useDragSourceMonitor(){const e=useDragDropManager();return(0,import_react21.useMemo)(()=>new DragSourceMonitorImpl(e),[e])}init_esbuild_inject(),init_esbuild_inject();var import_react22=require(\\\"react\\\"),DragSourceImpl=(init_esbuild_inject(),class{beginDrag(){var e=this.spec,t=this.monitor;let r=null;return null!==(r=\\\"object\\\"==typeof e.item?e.item:\\\"function\\\"==typeof e.item?e.item(t):{})&&void 0!==r?r:null}canDrag(){var e=this.spec,t=this.monitor;return\\\"boolean\\\"==typeof e.canDrag?e.canDrag:\\\"function\\\"!=typeof e.canDrag||e.canDrag(t)}isDragging(e,t){var r=this.spec,n=this.monitor,r=r[\\\"isDragging\\\"];return r?r(n):t===e.getSourceId()}endDrag(){var e=this.spec,t=this.monitor,r=this.connector,e=e[\\\"end\\\"];e&&e(t.getItem(),t),r.reconnect()}constructor(e,t,r){this.spec=e,this.monitor=t,this.connector=r}});function useDragSource(e,t,r){const n=(0,import_react22.useMemo)(()=>new DragSourceImpl(e,t,r),[t,r]);return(0,import_react22.useEffect)(()=>{n.spec=e},[e]),n}init_esbuild_inject();var import_react23=require(\\\"react\\\");function useDragType(t){return(0,import_react23.useMemo)(()=>{var e=t.type;return invariant(null!=e,\\\"spec.type must be defined\\\"),e},[t])}function useRegisteredDragSource(e,r,n){const o=useDragDropManager(),a=useDragSource(e,r,n),i=useDragType(e);useIsomorphicLayoutEffect4(function(){var e,t;if(null!=i)return([e,t]=registerSource(i,a,o)),r.receiveHandlerId(e),n.receiveHandlerId(e),t},[o,r,n,a,i])}function useDrag(e,t){var r=useOptionalFactory(e,t),n=(invariant(!r.begin,\\\"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)\\\"),useDragSourceMonitor()),o=useDragSourceConnector(r.options,r.previewOptions);return useRegisteredDragSource(r,n,o),[useCollectedProps(r.collect,n,o),useConnectDragSource(o),useConnectDragPreview(o)]}init_esbuild_inject(),init_esbuild_inject();var import_react24=require(\\\"react\\\");function useConnectDropTarget(e){return(0,import_react24.useMemo)(()=>e.hooks.dropTarget(),[e])}init_esbuild_inject();var import_react25=require(\\\"react\\\");function useDropTargetConnector(e){const t=useDragDropManager(),r=(0,import_react25.useMemo)(()=>new TargetConnector(t.getBackend()),[t]);return useIsomorphicLayoutEffect4(()=>(r.dropTargetOptions=e||null,r.reconnect(),()=>r.disconnectDropTarget()),[e]),r}init_esbuild_inject();var import_react26=require(\\\"react\\\");function useDropTargetMonitor(){const e=useDragDropManager();return(0,import_react26.useMemo)(()=>new DropTargetMonitorImpl(e),[e])}init_esbuild_inject(),init_esbuild_inject();var import_react27=require(\\\"react\\\");function useAccept(e){const t=e[\\\"accept\\\"];return(0,import_react27.useMemo)(()=>(invariant(null!=e.accept,\\\"accept must be defined\\\"),Array.isArray(t)?t:[t]),[t])}init_esbuild_inject();var import_react28=require(\\\"react\\\"),DropTargetImpl=(init_esbuild_inject(),class{canDrop(){var e=this.spec,t=this.monitor;return!e.canDrop||e.canDrop(t.getItem(),t)}hover(){var e=this.spec,t=this.monitor;e.hover&&e.hover(t.getItem(),t)}drop(){var e=this.spec,t=this.monitor;if(e.drop)return e.drop(t.getItem(),t)}constructor(e,t){this.spec=e,this.monitor=t}});function useDropTarget(e,t){const r=(0,import_react28.useMemo)(()=>new DropTargetImpl(e,t),[t]);return(0,import_react28.useEffect)(()=>{r.spec=e},[e]),r}function useRegisteredDropTarget(e,r,n){const o=useDragDropManager(),a=useDropTarget(e,r),i=useAccept(e);useIsomorphicLayoutEffect4(function(){var[e,t]=registerTarget(i,a,o);return r.receiveHandlerId(e),n.receiveHandlerId(e),t},[o,r,a,n,i.map(e=>e.toString()).join(\\\"|\\\")])}function useDrop(e,t){var r=useOptionalFactory(e,t),n=useDropTargetMonitor(),o=useDropTargetConnector(r.options);return useRegisteredDropTarget(r,n,o),[useCollectedProps(r.collect,n,o),useConnectDropTarget(o)]}function memoize4(e){let t=null;return()=>t=null==t?e():t}function without2(e,t){return e.filter(e=>e!==t)}function union(e,t){const r=new Set;var n=e=>r.add(e);e.forEach(n),t.forEach(n);const o=[];return r.forEach(e=>o.push(e)),o}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var EnterLeaveCounter=class{enter(t){var e=this.entered.length;return this.entered=union(this.entered.filter(e=>this.isNodeInDocument(e)&&(!e.contains||e.contains(t))),[t]),0===e&&0\u003Cthis.entered.length}leave(e){var t=this.entered.length;return this.entered=without2(this.entered.filter(this.isNodeInDocument),e),0\u003Ct&&0===this.entered.length}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}},NativeDragSource=(init_esbuild_inject(),init_esbuild_inject(),class{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach(e=>{Object.defineProperty(this.item,e,{configurable:!0,enumerable:!0,get(){return console.warn(`Browser doesn't allow reading \\\"${e}\\\" until the drop event.`),null}})})}loadDataTransfer(r){if(r){const n={};Object.keys(this.config.exposeProperties).forEach(e=>{var t=this.config.exposeProperties[e];null!=t&&(n[e]={value:t(r,this.config.matchesTypes),configurable:!0,enumerable:!0})}),Object.defineProperties(this.item,n)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(e,t){return t===e.getSourceId()}endDrag(){}constructor(e){this.config=e,this.item={},this.initializeExposedProperties()}}),NativeTypes_exports=(init_esbuild_inject(),{}),FILE=(__export(NativeTypes_exports,{FILE:()=>FILE,HTML:()=>HTML,TEXT:()=>TEXT,URL:()=>URL2}),init_esbuild_inject(),\\\"__NATIVE_FILE__\\\"),URL2=\\\"__NATIVE_URL__\\\",TEXT=\\\"__NATIVE_TEXT__\\\",HTML=\\\"__NATIVE_HTML__\\\";function getDataFromDataTransfer(r,e,t){var n=e.reduce((e,t)=>e||r.getData(t),\\\"\\\");return null!=n?n:t}init_esbuild_inject();var nativeTypesConfig={[FILE]:{exposeProperties:{files:e=>Array.prototype.slice.call(e.files),items:e=>e.items,dataTransfer:e=>e},matchesTypes:[\\\"Files\\\"]},[HTML]:{exposeProperties:{html:(e,t)=>getDataFromDataTransfer(e,t,\\\"\\\"),dataTransfer:e=>e},matchesTypes:[\\\"Html\\\",\\\"text/html\\\"]},[URL2]:{exposeProperties:{urls:(e,t)=>getDataFromDataTransfer(e,t,\\\"\\\").split(\\\"\\\\n\\\"),dataTransfer:e=>e},matchesTypes:[\\\"Url\\\",\\\"text/uri-list\\\"]},[TEXT]:{exposeProperties:{text:(e,t)=>getDataFromDataTransfer(e,t,\\\"\\\"),dataTransfer:e=>e},matchesTypes:[\\\"Text\\\",\\\"text/plain\\\"]}};function createNativeDragSource(e,t){var r=nativeTypesConfig[e];if(r)return(r=new NativeDragSource(r)).loadDataTransfer(t),r;throw new Error(`native type ${e} has no configuration`)}function matchNativeItemType(e){if(!e)return null;const r=Array.prototype.slice.call(e.types||[]);return Object.keys(nativeTypesConfig).filter(e=>{var t=nativeTypesConfig[e];return!(null==t||!t.matchesTypes)&&t.matchesTypes.some(e=>-1\u003Cr.indexOf(e))})[0]||null}init_esbuild_inject(),init_esbuild_inject();var isFirefox=memoize4(()=>/firefox/i.test(navigator.userAgent)),isSafari=memoize4(()=>Boolean(window.safari)),MonotonicInterpolant=(init_esbuild_inject(),class{interpolate(e){var{xs:t,ys:r,c1s:n,c2s:o,c3s:a}=this,i=t.length-1;if(e===t[i])return r[i];let s=0,c=a.length-1;for(;s\u003C=c;){var l,u=t[l=Math.floor(.5*(s+c))];if(u\u003Ce)s=l+1;else{if(!(e\u003Cu))return r[l];c=l-1}}var d=e-t[i=Math.max(0,c)],p=d*d;return r[i]+n[i]*d+o[i]*p+a[i]*d*p}constructor(r,e){var t=r[\\\"length\\\"],n=[];for(let b=0;b\u003Ct;b++)n.push(b);n.sort((e,t)=>r[e]\u003Cr[t]?-1:1);var o,a=[],i=[],s=[];let c;for(let E=0;E\u003Ct-1;E++)c=r[E+1]-r[E],o=e[E+1]-e[E],i.push(c),a.push(o),s.push(o/c);var l=[s[0]];for(let T=0;T\u003Ci.length-1;T++){var u,d,p=s[T],f=s[T+1];p*f\u003C=0?l.push(0):(c=i[T],u=i[T+1],d=c+u,l.push(3*d/((d+u)/p+(d+c)/f)))}l.push(s[s.length-1]);var g=[],m=[];for(let C=0;C\u003Cl.length-1;C++){var h=s[C],_=l[C],v=1/i[C],y=_+l[C+1]-h-h;g.push((h-_-y)*v),m.push(y*v*v)}this.xs=r,this.ys=e,this.c1s=l,this.c2s=g,this.c3s=m}}),ELEMENT_NODE=1;function getNodeClientOffset(e){var t,r=e.nodeType===ELEMENT_NODE?e:e.parentElement;return r?(({top:r,left:t}=r.getBoundingClientRect()),{x:t,y:r}):null}function getEventClientOffset(e){return{x:e.clientX,y:e.clientY}}function isImageNode(e){var t;return\\\"IMG\\\"===e.nodeName&&(isFirefox()||!(null!=(t=document.documentElement)&&t.contains(e)))}function getDragPreviewSize(e,t,r,n){let o=e?t.width:r,a=e?t.height:n;return isSafari()&&e&&(a/=window.devicePixelRatio,o/=window.devicePixelRatio),{dragPreviewWidth:o,dragPreviewHeight:a}}function getDragPreviewOffset(e,t,r,n,o){const a=isImageNode(t);var i=getNodeClientOffset(a?e:t);const s={x:r.x-i.x,y:r.y-i.y},{offsetWidth:c,offsetHeight:l}=e,{anchorX:u,anchorY:d}=n,{dragPreviewWidth:p,dragPreviewHeight:f}=getDragPreviewSize(a,t,c,l);var{offsetX:i,offsetY:g}=o,m=0===g||g;return{x:0===i||i?i:new MonotonicInterpolant([0,.5,1],[s.x,s.x/c*p,s.x+p-c]).interpolate(u),y:m?g:(()=>{let e=new MonotonicInterpolant([0,.5,1],[s.y,s.y/l*f,s.y+f-l]).interpolate(d);return isSafari()&&a&&(e+=(window.devicePixelRatio-1)*f),e})()}}init_esbuild_inject();var OptionsReader=class{get window(){return this.globalContext||(\\\"undefined\\\"!=typeof window?window:void 0)}get document(){var e;return null!=(e=this.globalContext)&&e.document?this.globalContext.document:this.window?this.window.document:void 0}get rootElement(){var e;return(null==(e=this.optionsArgs)?void 0:e.rootElement)||this.window}constructor(e,t){this.ownerDocument=null,this.globalContext=e,this.optionsArgs=t}};function _defineProperty10(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _objectSpread8(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);(n=\\\"function\\\"==typeof Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})):n).forEach(function(e){_defineProperty10(t,e,r[e])})}return t}var emptyImage,HTML5BackendImpl=class{profile(){var e;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:(null==(e=this.dragStartSourceIds)?void 0:e.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:(null==(e=this.dragOverTargetIds)?void 0:e.length)||0}}get window(){return this.options.window}get document(){return this.options.document}get rootElement(){return this.options.rootElement}setup(){var e=this.rootElement;if(void 0!==e){if(e.__isReactDndBackendSetUp)throw new Error(\\\"Cannot have two HTML5 backends at the same time.\\\");e.__isReactDndBackendSetUp=!0,this.addEventListeners(e)}}teardown(){var e,t=this.rootElement;void 0!==t&&(t.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId)&&null!=(e=this.window)&&e.cancelAnimationFrame(this.asyncEndDragFrameId)}connectDragPreview(e,t,r){return this.sourcePreviewNodeOptions.set(e,r),this.sourcePreviewNodes.set(e,t),()=>{this.sourcePreviewNodes[\\\"delete\\\"](e),this.sourcePreviewNodeOptions[\\\"delete\\\"](e)}}connectDragSource(t,e,r){this.sourceNodes.set(t,e),this.sourceNodeOptions.set(t,r);const n=e=>this.handleDragStart(e,t),o=e=>this.handleSelectStart(e);return e.setAttribute(\\\"draggable\\\",\\\"true\\\"),e.addEventListener(\\\"dragstart\\\",n),e.addEventListener(\\\"selectstart\\\",o),()=>{this.sourceNodes[\\\"delete\\\"](t),this.sourceNodeOptions[\\\"delete\\\"](t),e.removeEventListener(\\\"dragstart\\\",n),e.removeEventListener(\\\"selectstart\\\",o),e.setAttribute(\\\"draggable\\\",\\\"false\\\")}}connectDropTarget(t,e){const r=e=>this.handleDragEnter(e,t),n=e=>this.handleDragOver(e,t),o=e=>this.handleDrop(e,t);return e.addEventListener(\\\"dragenter\\\",r),e.addEventListener(\\\"dragover\\\",n),e.addEventListener(\\\"drop\\\",o),()=>{e.removeEventListener(\\\"dragenter\\\",r),e.removeEventListener(\\\"dragover\\\",n),e.removeEventListener(\\\"drop\\\",o)}}addEventListeners(e){e.addEventListener&&(e.addEventListener(\\\"dragstart\\\",this.handleTopDragStart),e.addEventListener(\\\"dragstart\\\",this.handleTopDragStartCapture,!0),e.addEventListener(\\\"dragend\\\",this.handleTopDragEndCapture,!0),e.addEventListener(\\\"dragenter\\\",this.handleTopDragEnter),e.addEventListener(\\\"dragenter\\\",this.handleTopDragEnterCapture,!0),e.addEventListener(\\\"dragleave\\\",this.handleTopDragLeaveCapture,!0),e.addEventListener(\\\"dragover\\\",this.handleTopDragOver),e.addEventListener(\\\"dragover\\\",this.handleTopDragOverCapture,!0),e.addEventListener(\\\"drop\\\",this.handleTopDrop),e.addEventListener(\\\"drop\\\",this.handleTopDropCapture,!0))}removeEventListeners(e){e.removeEventListener&&(e.removeEventListener(\\\"dragstart\\\",this.handleTopDragStart),e.removeEventListener(\\\"dragstart\\\",this.handleTopDragStartCapture,!0),e.removeEventListener(\\\"dragend\\\",this.handleTopDragEndCapture,!0),e.removeEventListener(\\\"dragenter\\\",this.handleTopDragEnter),e.removeEventListener(\\\"dragenter\\\",this.handleTopDragEnterCapture,!0),e.removeEventListener(\\\"dragleave\\\",this.handleTopDragLeaveCapture,!0),e.removeEventListener(\\\"dragover\\\",this.handleTopDragOver),e.removeEventListener(\\\"dragover\\\",this.handleTopDragOverCapture,!0),e.removeEventListener(\\\"drop\\\",this.handleTopDrop),e.removeEventListener(\\\"drop\\\",this.handleTopDropCapture,!0))}getCurrentSourceNodeOptions(){var e=this.monitor.getSourceId(),e=this.sourceNodeOptions.get(e);return _objectSpread8({dropEffect:this.altKeyPressed?\\\"copy\\\":\\\"move\\\"},e||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?\\\"copy\\\":this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){var e=this.monitor.getSourceId();return _objectSpread8({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}isDraggingNativeItem(){const t=this.monitor.getItemType();return Object.keys(NativeTypes_exports).some(e=>NativeTypes_exports[e]===t)}beginDragNativeItem(e,t){this.clearCurrentDragSourceNode(),this.currentNativeSource=createNativeDragSource(e,t),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}setCurrentDragSourceNode(e){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e;this.mouseMoveTimeoutTimer=setTimeout(()=>{var e;return null==(e=this.rootElement)?void 0:e.addEventListener(\\\"mousemove\\\",this.endDragIfSourceWasRemovedFromDOM,!0)},1e3)}clearCurrentDragSourceNode(){var e;return!(!this.currentDragSourceNode||(this.currentDragSourceNode=null,this.rootElement&&(null!=(e=this.window)&&e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener(\\\"mousemove\\\",this.endDragIfSourceWasRemovedFromDOM,!0)),this.mouseMoveTimeoutTimer=null))}handleDragStart(e,t){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(t))}handleDragEnter(e,t){this.dragEnterTargetIds.unshift(t)}handleDragOver(e,t){null===this.dragOverTargetIds&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(t)}handleDrop(e,t){this.dropTargetIds.unshift(t)}constructor(e,t,r){this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.lastClientOffset=null,this.hoverRafId=null,this.getSourceClientOffset=e=>{var t=this.sourceNodes.get(e);return t&&getNodeClientOffset(t)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=e=>Boolean(e&&this.document&&this.document.body&&this.document.body.contains(e)),this.endDragIfSourceWasRemovedFromDOM=()=>{var e=this.currentDragSourceNode;null==e||this.isNodeInDocument(e)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=e=>{null===this.hoverRafId&&\\\"undefined\\\"!=typeof requestAnimationFrame&&(this.hoverRafId=requestAnimationFrame(()=>{this.monitor.isDragging()&&this.actions.hover(e||[],{clientOffset:this.lastClientOffset}),this.hoverRafId=null}))},this.cancelHover=()=>{null!==this.hoverRafId&&\\\"undefined\\\"!=typeof cancelAnimationFrame&&(cancelAnimationFrame(this.hoverRafId),this.hoverRafId=null)},this.handleTopDragStartCapture=()=>{this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},this.handleTopDragStart=e=>{if(!e.defaultPrevented){var t,r,n,o,a,i,s=this[\\\"dragStartSourceIds\\\"],c=(this.dragStartSourceIds=null,getEventClientOffset(e)),s=(this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(s||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:c}),e)[\\\"dataTransfer\\\"],l=matchNativeItemType(s);if(this.monitor.isDragging()){s&&\\\"function\\\"==typeof s.setDragImage&&(t=this.monitor.getSourceId(),i=this.sourceNodes.get(t),t=this.sourcePreviewNodes.get(t)||i)&&(({anchorX:r,anchorY:n,offsetX:o,offsetY:a}=this.getCurrentSourcePreviewNodeOptions()),i=getDragPreviewOffset(i,t,c,{anchorX:r,anchorY:n},{offsetX:o,offsetY:a}),s.setDragImage(t,i.x,i.y));try{null!=s&&s.setData(\\\"application/json\\\",{})}catch(u){}this.setCurrentDragSourceNode(e.target);c=this.getCurrentSourcePreviewNodeOptions()[\\\"captureDraggingState\\\"];c?this.actions.publishDragSource():setTimeout(()=>this.actions.publishDragSource(),0)}else l?this.beginDragNativeItem(l):s&&!s.types&&(e.target&&!e.target.hasAttribute||!e.target.hasAttribute(\\\"draggable\\\"))||e.preventDefault()}},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=e=>{this.dragEnterTargetIds=[],this.isDraggingNativeItem()&&null!=(r=this.currentNativeSource)&&r.loadDataTransfer(e.dataTransfer);var t,r=this.enterLeaveCounter.enter(e.target);r&&!this.monitor.isDragging()&&(r=e.dataTransfer,t=matchNativeItemType(r))&&this.beginDragNativeItem(t,r)},this.handleTopDragEnter=e=>{var t=this[\\\"dragEnterTargetIds\\\"];this.dragEnterTargetIds=[],this.monitor.isDragging()&&(this.altKeyPressed=e.altKey,0\u003Ct.length&&this.actions.hover(t,{clientOffset:getEventClientOffset(e)}),t.some(e=>this.monitor.canDropOnTarget(e)))&&(e.preventDefault(),e.dataTransfer)&&(e.dataTransfer.dropEffect=this.getCurrentDropEffect())},this.handleTopDragOverCapture=e=>{var t;this.dragOverTargetIds=[],this.isDraggingNativeItem()&&null!=(t=this.currentNativeSource)&&t.loadDataTransfer(e.dataTransfer)},this.handleTopDragOver=e=>{var t=this[\\\"dragOverTargetIds\\\"];this.dragOverTargetIds=[],this.monitor.isDragging()?(this.altKeyPressed=e.altKey,this.lastClientOffset=getEventClientOffset(e),this.scheduleHover(t),(t||[]).some(e=>this.monitor.canDropOnTarget(e))?(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?e.preventDefault():(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=\\\"none\\\"))):(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=\\\"none\\\"))},this.handleTopDragLeaveCapture=e=>{this.isDraggingNativeItem()&&e.preventDefault(),this.enterLeaveCounter.leave(e.target)&&(this.isDraggingNativeItem()&&setTimeout(()=>this.endDragNativeItem(),0),this.cancelHover())},this.handleTopDropCapture=e=>{var t;this.dropTargetIds=[],this.isDraggingNativeItem()?(e.preventDefault(),null!=(t=this.currentNativeSource)&&t.loadDataTransfer(e.dataTransfer)):matchNativeItemType(e.dataTransfer)&&e.preventDefault(),this.enterLeaveCounter.reset()},this.handleTopDrop=e=>{var t=this[\\\"dropTargetIds\\\"];this.dropTargetIds=[],this.actions.hover(t,{clientOffset:getEventClientOffset(e)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=e=>{var t=e.target;\\\"function\\\"!=typeof t.dragDrop||\\\"INPUT\\\"===t.tagName||\\\"SELECT\\\"===t.tagName||\\\"TEXTAREA\\\"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop())},this.options=new OptionsReader(t,r),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new EnterLeaveCounter(this.isNodeInDocument)}};function getEmptyImage(){return emptyImage||((emptyImage=new Image).src=\\\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\\\"),emptyImage}init_esbuild_inject();var HTML5Backend=function createBackend(e,t,r){return new HTML5BackendImpl(e,t,r)},import_tw_react4=__toESM(require_tw_react()),import_react62=(init_esbuild_inject(),init_esbuild_inject(),require(\\\"react\\\")),import_tw_react=__toESM(require_tw_react()),import_react58=(init_esbuild_inject(),require(\\\"react\\\")),import_react29=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),require(\\\"react\\\")),__assign=(init_esbuild_inject(),function(){return(__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r\u003Cn;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)});function __rest(e,t){var r={};for(o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)\u003C0&&(r[o]=e[o]);if(null!=e&&\\\"function\\\"==typeof Object.getOwnPropertySymbols)for(var n=0,o=Object.getOwnPropertySymbols(e);n\u003Co.length;n++)t.indexOf(o[n])\u003C0&&Object.prototype.propertyIsEnumerable.call(e,o[n])&&(r[o[n]]=e[o[n]]);return r}function __spreadArray(e,t,r){if(r||2===arguments.length)for(var n,o=0,a=t.length;o\u003Ca;o++)!n&&o in t||((n=n||Array.prototype.slice.call(t,0,o))[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))}var createComboboxStore=e=>createStore4(\\\"combobox-\\\"+e.id)(e),comboboxStore=createStore4(\\\"combobox\\\")({activeId:null,byId:{},highlightedIndex:0,items:[],filteredItems:[],targetRange:null,text:null}).extendActions((r,e)=>({setComboboxById:t=>{e.byId()[t.id]||r.state(e=>{e.byId[t.id]=createComboboxStore(t)})},open:e=>{r.mergeState(e)},reset:()=>{r.state(e=>{e.activeId=null,e.highlightedIndex=0,e.filteredItems=[],e.items=[],e.text=null,e.targetRange=null})}})).extendSelectors(e=>({isOpen:()=>!!e.activeId})),useComboboxSelectors=comboboxStore.use,comboboxSelectors=comboboxStore.get,comboboxActions=comboboxStore.set,getComboboxStoreById=e=>e?comboboxSelectors.byId()[e]:null,getTextFromTrigger=(e,{at:t,trigger:r,searchPattern:n=\\\"\\\\\\\\S+\\\"})=>{var o,a=escapeRegExp(r),a=new RegExp(\\\"(?:^|\\\\\\\\s)\\\"+a);let i=t;for(;;){if(!(o=i))break;var s=(i=getPointBefore(e,i))&&getRange(e,i,o);if(!getEditorString(e,s).match(n)){i=o;break}}var c=i&&getRange(e,i,t),l=getEditorString(e,c);if(c&&l.match(a))return{range:c,textAfterTrigger:l.slice(r.length)}},onChangeCombobox=l=>()=>{var e=comboboxSelectors.byId(),t=comboboxSelectors.activeId();let r=!0;for(const c of Object.values(e)){var n=c.get.id();if(null==(a=(o=c.get).controlled)?void 0:a.call(o)){if(t!==n)continue;r=!1;break}var o=l[\\\"selection\\\"];if(o&&isCollapsed(o)){var a=c.get.trigger(),i=null==(s=(i=c.get).searchPattern)?void 0:s.call(i),s=getTextFromTrigger(l,{at:Range.start(o),trigger:a,searchPattern:i});if(s){var{range:o,textAfterTrigger:a}=s;comboboxActions.open({activeId:n,text:a,targetRange:o}),r=!1;break}}}r&&comboboxSelectors.isOpen()&&comboboxActions.reset()};function unwrapExports5(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\\\"default\\\")?e[\\\"default\\\"]:e}function createCommonjsModule7(e,t){return e(t={exports:{}},t.exports),t.exports}var lib5=createCommonjsModule7(function(e,t){Object.defineProperty(t,\\\"__esModule\\\",{value:!0});for(var _={alt:\\\"altKey\\\",control:\\\"ctrlKey\\\",meta:\\\"metaKey\\\",shift:\\\"shiftKey\\\"},r=()=>({add:\\\"+\\\",\\\"break\\\":\\\"pause\\\",cmd:\\\"meta\\\",command:\\\"meta\\\",ctl:\\\"control\\\",ctrl:\\\"control\\\",del:\\\"delete\\\",down:\\\"arrowdown\\\",esc:\\\"escape\\\",ins:\\\"insert\\\",left:\\\"arrowleft\\\",mod:\\\"undefined\\\"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform)?\\\"meta\\\":\\\"control\\\",opt:\\\"alt\\\",option:\\\"alt\\\",\\\"return\\\":\\\"enter\\\",right:\\\"arrowright\\\",space:\\\" \\\",spacebar:\\\" \\\",up:\\\"arrowup\\\",win:\\\"meta\\\",windows:\\\"meta\\\"}),n={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27,\\\" \\\":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,\\\"delete\\\":46,meta:91,numlock:144,scrolllock:145,\\\";\\\":186,\\\"=\\\":187,\\\",\\\":188,\\\"-\\\":189,\\\".\\\":190,\\\"/\\\":191,\\\"`\\\":192,\\\"[\\\":219,\\\"\\\\\\\\\\\":220,\\\"]\\\":221,\\\"'\\\":222},o=1;o\u003C20;o++)n[\\\"f\\\"+o]=111+o;function a(e,t,r){!t||\\\"byKey\\\"in t||(r=t,t=null);var n=(e=Array.isArray(e)?e:[e]).map(function(e){return i(e,t)}),o=function(t){return n.some(function(e){return s(e,t)})};return null==r?o:o(r)}function i(e,t){var r,n=t&&t.byKey,o={},a=(e=e.replace(\\\"++\\\",\\\"+add\\\")).split(\\\"+\\\"),i=a.length;for(r in _)o[_[r]]=!1;var s=!0,c=!1,l=void 0;try{for(var u,d=a[Symbol.iterator]();!(s=(u=d.next()).done);s=!0){var p=u.value,f=p.endsWith(\\\"?\\\")&&1\u003Cp.length,g=y(p=f?p.slice(0,-1):p),m=_[g];1!==i&&m||(n?o.key=g:o.which=v(p)),m&&(o[m]=!f||null)}}catch(h){c=!0,l=h}finally{try{!s&&d[\\\"return\\\"]&&d[\\\"return\\\"]()}finally{if(c)throw l}}return o}function s(e,t){for(var r in e){var n=e[r],o=void 0;if(null!=n&&((null!=(o=\\\"key\\\"===r&&null!=t.key?t.key.toLowerCase():\\\"which\\\"===r?91===n&&93===t.which?91:t.which:t[r])||!1!==n)&&o!==n))return!1}return!0}function v(e){return e=y(e),n[e]||e.toUpperCase().charCodeAt(0)}function y(e){return e=e.toLowerCase(),e=r()[e]||e}t[\\\"default\\\"]=a,t.isHotkey=a,t.isCodeHotkey=function(e,t){return a(e,t)},t.isKeyHotkey=function(e,t){return a(e,{byKey:!0},t)},t.parseHotkey=i,t.compareHotkey=s,t.toKeyCode=v,t.toKeyName=y}),isHotkey5=unwrapExports5(lib5),getNextNonDisabledIndex=(lib5.isHotkey,lib5.isCodeHotkey,lib5.isKeyHotkey,lib5.parseHotkey,lib5.compareHotkey,lib5.toKeyCode,lib5.toKeyName,(r,n,o,a,e)=>{var t=a(n);if(!t||!t.hasAttribute(\\\"disabled\\\"))return n;if(0\u003Cr){for(let e=n+1;e\u003Co;e++)if(!a(e).hasAttribute(\\\"disabled\\\"))return e}else for(let t=n-1;0\u003C=t;t--)if(!a(t).hasAttribute(\\\"disabled\\\"))return t;return e?0\u003Cr?getNextNonDisabledIndex(1,0,o,a,!1):getNextNonDisabledIndex(-1,o-1,o,a,!1):-1}),getNextWrappingIndex=(e,t,r,n,o=!0)=>{if(0===r)return-1;var a=r-1;let i=(t=\\\"number\\\"!=typeof t||t\u003C0||r\u003C=t?0\u003Ce?-1:1+a:t)+e;i\u003C0?i=o?a:0:i>a&&(i=o?0:a);a=getNextNonDisabledIndex(e,i,r,n,o);return-1===a?r\u003C=t?-1:t:a},onKeyDownCombobox=a=>e=>{var t,{highlightedIndex:r,filteredItems:n,activeId:o}=comboboxSelectors.state();comboboxSelectors.isOpen()&&(o=getComboboxStoreById(o))&&(o=o.get.onSelectItem(),isHotkey5(\\\"down\\\",e)?(e.preventDefault(),t=getNextWrappingIndex(1,r,n.length,()=>{},!0),comboboxActions.highlightedIndex(t)):isHotkey5(\\\"up\\\",e)?(e.preventDefault(),t=getNextWrappingIndex(-1,r,n.length,()=>{},!0),comboboxActions.highlightedIndex(t)):isHotkey5(\\\"escape\\\",e)?(e.preventDefault(),comboboxActions.reset()):(Hotkeys2.isTab(a,e)||isHotkey5(\\\"enter\\\",e))&&(e.preventDefault(),e.stopPropagation(),n[r])&&null!=o&&o(a,n[r]))},KEY_COMBOBOX=\\\"combobox\\\",createComboboxPlugin=createPluginFactory({key:KEY_COMBOBOX,handlers:{onChange:onChangeCombobox,onKeyDown:onKeyDownCombobox}});function unwrapExports6(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\\\"default\\\")?e[\\\"default\\\"]:e}function createCommonjsModule8(e,t){return e(t={exports:{}},t.exports),t.exports}var lib6=createCommonjsModule8(function(e,t){Object.defineProperty(t,\\\"__esModule\\\",{value:!0});for(var _={alt:\\\"altKey\\\",control:\\\"ctrlKey\\\",meta:\\\"metaKey\\\",shift:\\\"shiftKey\\\"},r=()=>({add:\\\"+\\\",\\\"break\\\":\\\"pause\\\",cmd:\\\"meta\\\",command:\\\"meta\\\",ctl:\\\"control\\\",ctrl:\\\"control\\\",del:\\\"delete\\\",down:\\\"arrowdown\\\",esc:\\\"escape\\\",ins:\\\"insert\\\",left:\\\"arrowleft\\\",mod:\\\"undefined\\\"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform)?\\\"meta\\\":\\\"control\\\",opt:\\\"alt\\\",option:\\\"alt\\\",\\\"return\\\":\\\"enter\\\",right:\\\"arrowright\\\",space:\\\" \\\",spacebar:\\\" \\\",up:\\\"arrowup\\\",win:\\\"meta\\\",windows:\\\"meta\\\"}),n={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27,\\\" \\\":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,\\\"delete\\\":46,meta:91,numlock:144,scrolllock:145,\\\";\\\":186,\\\"=\\\":187,\\\",\\\":188,\\\"-\\\":189,\\\".\\\":190,\\\"/\\\":191,\\\"`\\\":192,\\\"[\\\":219,\\\"\\\\\\\\\\\":220,\\\"]\\\":221,\\\"'\\\":222},o=1;o\u003C20;o++)n[\\\"f\\\"+o]=111+o;function a(e,t,r){!t||\\\"byKey\\\"in t||(r=t,t=null);var n=(e=Array.isArray(e)?e:[e]).map(function(e){return i(e,t)}),o=function(t){return n.some(function(e){return s(e,t)})};return null==r?o:o(r)}function i(e,t){var r,n=t&&t.byKey,o={},a=(e=e.replace(\\\"++\\\",\\\"+add\\\")).split(\\\"+\\\"),i=a.length;for(r in _)o[_[r]]=!1;var s=!0,c=!1,l=void 0;try{for(var u,d=a[Symbol.iterator]();!(s=(u=d.next()).done);s=!0){var p=u.value,f=p.endsWith(\\\"?\\\")&&1\u003Cp.length,g=y(p=f?p.slice(0,-1):p),m=_[g];1!==i&&m||(n?o.key=g:o.which=v(p)),m&&(o[m]=!f||null)}}catch(h){c=!0,l=h}finally{try{!s&&d[\\\"return\\\"]&&d[\\\"return\\\"]()}finally{if(c)throw l}}return o}function s(e,t){for(var r in e){var n=e[r],o=void 0;if(null!=n&&((null!=(o=\\\"key\\\"===r&&null!=t.key?t.key.toLowerCase():\\\"which\\\"===r?91===n&&93===t.which?91:t.which:t[r])||!1!==n)&&o!==n))return!1}return!0}function v(e){return e=y(e),n[e]||e.toUpperCase().charCodeAt(0)}function y(e){return e=e.toLowerCase(),e=r()[e]||e}t[\\\"default\\\"]=a,t.isHotkey=a,t.isCodeHotkey=function(e,t){return a(e,t)},t.isKeyHotkey=function(e,t){return a(e,{byKey:!0},t)},t.parseHotkey=i,t.compareHotkey=s,t.toKeyCode=v,t.toKeyName=y}),isHotkey6=unwrapExports6(lib6),findMentionInput=(lib6.isHotkey,lib6.isCodeHotkey,lib6.isKeyHotkey,lib6.parseHotkey,lib6.compareHotkey,lib6.toKeyCode,lib6.toKeyName,(e,t)=>findNode(e,{...t,match:{type:getPluginType(e,ELEMENT_MENTION_INPUT)}})),isNodeMentionInput=(e,t)=>t.type===getPluginType(e,ELEMENT_MENTION_INPUT),isSelectionInMentionInput=e=>void 0!==findMentionInput(e),removeMentionInput=(t,r)=>withoutNormalizing2(t,()=>{var e=getNode(t,r);e&&(e=e[\\\"trigger\\\"],insertText3(t,e,{at:{path:[...r,0],offset:0}}),unwrapNodes3(t,{at:r}))}),moveSelectionByOffset=(r,{query:n=()=>!0}={})=>e=>{var t=r[\\\"selection\\\"];return!(!t||Range.isExpanded(t)||!n(r))&&(isHotkey6(\\\"left\\\",e)?(e.preventDefault(),moveSelection(r,{unit:\\\"offset\\\",reverse:!0}),!0):isHotkey6(\\\"right\\\",e)?(e.preventDefault(),moveSelection(r,{unit:\\\"offset\\\"}),!0):void 0)},mentionOnKeyDownHandler=n=>r=>e=>{var t;return isHotkey6(\\\"escape\\\",e)?!!(t=findMentionInput(r))&&(e.preventDefault(),removeMentionInput(r,t[1]),!0):moveSelectionByOffset(r,n)(e)},withMention=(n,{options:{id:o,trigger:a,triggerPreviousCharPattern:r,query:i,inputCreation:s}})=>{const c=getPlugin(n,ELEMENT_MENTION_INPUT)[\\\"type\\\"],{apply:l,insertBreak:e,insertText:u,deleteBackward:d,insertFragment:t,insertTextData:p,insertNode:f}=n,g=e=>e.split(/\\\\r\\\\n|\\\\r|\\\\n/).map(e=>e.trim()).join(\\\"\\\");return n.insertFragment=e=>{return void 0!==findMentionInput(n)?u(e.map(e=>g(getNodeString(e))).join(\\\"\\\")):t(e)},n.insertTextData=e=>{var t;return void 0!==findMentionInput(n)?!!(t=e.getData(\\\"text/plain\\\"))&&(n.insertText(g(t)),!0):p(e)},n.deleteBackward=e=>{var t=findMentionInput(n);if(t&&\\\"\\\"===getNodeString(t[0]))return removeMentionInput(n,t[1]);d(e)},n.insertBreak=()=>{isSelectionInMentionInput(n)||e()},n.insertText=e=>{var t;return n.selection&&e===a&&(!i||i(n))&&!isSelectionInMentionInput(n)&&(t=getEditorString(n,getRange(n,n.selection,getPointBefore(n,n.selection))),null==r?void 0:r.test(t))&&e===a?(t={type:c,children:[{text:\\\"\\\"}],trigger:a},s&&(t[s.key]=s.value),f(t)):u(e)},n.apply=e=>{var t,r;l(e),\\\"insert_text\\\"===e.type||\\\"remove_text\\\"===e.type?(r=findMentionInput(n))&&comboboxActions.text(getNodeString(r[0])):\\\"set_selection\\\"===e.type?(r=!Range.isRange(e.properties)||null==(r=findMentionInput(n,{at:e.properties}))?void 0:r[1],t=!Range.isRange(e.newProperties)||null==(t=findMentionInput(n,{at:e.newProperties}))?void 0:t[1],r&&!t&&removeMentionInput(n,r),t&&comboboxActions.targetRange(n.selection)):\\\"insert_node\\\"===e.type&&isNodeMentionInput(n,e.node)?e.node.trigger===a&&(r=null!=(t=null==(r=e.node.children[0])?void 0:r.text)?t:\\\"\\\",void 0===s||e.node[s.key]===s.value)&&(setSelection2(n,{anchor:{path:e.path.concat([0]),offset:r.length},focus:{path:e.path.concat([0]),offset:r.length}}),comboboxActions.open({activeId:o,text:r,targetRange:n.selection})):\\\"remove_node\\\"===e.type&&isNodeMentionInput(n,e.node)&&e.node.trigger===a&&comboboxActions.reset()},n},ELEMENT_MENTION=\\\"mention\\\",ELEMENT_MENTION_INPUT=\\\"mention_input\\\",createMentionPlugin=createPluginFactory({key:ELEMENT_MENTION,isElement:!0,isInline:!0,isVoid:!0,handlers:{onKeyDown:mentionOnKeyDownHandler({query:isSelectionInMentionInput})},withOverrides:withMention,options:{trigger:\\\"@\\\",triggerPreviousCharPattern:/^\\\\s?$/,createMentionNode:e=>({value:e.text})},plugins:[{key:ELEMENT_MENTION_INPUT,isElement:!0,isInline:!0}],then:(e,{key:t})=>({options:{id:t}})}),useAutoCompletePluginStore=(init_esbuild_inject(),init_esbuild_inject(),createStore4(\\\"combo-box\\\")({highlightedIndex:-1,targetRange:null,filteredItems:{}}).extendActions(e=>({setFilteredItems:t=>{e.state(e=>({...e,filteredItems:{...e.filteredItems,...t}}))},reset:()=>{e.state(e=>({...e,activeId:void 0,filteredItems:{},highlightedIndex:-1,popperContainer:void 0,targetRange:null,text:void 0}))}}))),findAutoCompleteInput=(init_esbuild_inject(),(e,t)=>findNode(e,{...t,match:{type:getPluginType(e,ELEMENT_AUTO_COMPLETE_INPUT)}})),isNodeAutoCompleteInput=(init_esbuild_inject(),(e,t)=>t.type===getPluginType(e,ELEMENT_AUTO_COMPLETE_INPUT)),isSelectionInAutoCompleteInput=(init_esbuild_inject(),e=>void 0!==findAutoCompleteInput(e)),removeAutoCompleteInputAtPath=(init_esbuild_inject(),(t,r)=>withoutNormalizing2(t,()=>{var e=getNode(t,r);e&&(e=e[\\\"trigger\\\"],insertText3(t,e,{at:{path:[...r,0],offset:0}}),unwrapNodes3(t,{at:r}))})),removeAutoCompleteInputFromCurrentSelection=e=>{withoutMergingHistory(e,()=>{removeNodes3(e,{match:e=>e.type===ELEMENT_AUTO_COMPLETE_INPUT})})},withAutoComplete=(a,{options:{id:i,trigger:s,inputCreation:c,keepTrigger:l,needSpaceBeforeTrigger:u}})=>{const d=getPlugin(a,ELEMENT_AUTO_COMPLETE_INPUT)[\\\"type\\\"],{apply:p,insertBreak:e,insertText:f,deleteBackward:g}=a;a.deleteBackward=e=>{var t=findAutoCompleteInput(a);if(t&&\\\"\\\"===getNodeString(t[0]))return removeAutoCompleteInputAtPath(a,t[1]);g(e)},a.insertBreak=()=>{isSelectionInAutoCompleteInput(a)||e()};return a.insertText=e=>{var t,r,n,o=a[\\\"selection\\\"];o&&!isSelectionInAutoCompleteInput(a)&&((e,t,r)=>{if(t){if(1===t.length&&e===t)return!0;if(1\u003Ct.length)if(\\\"\\\"+getEditorString(a,getRange(a,r,getPointBefore(a,r,{distance:t.length-1})))+e===t)return!0}return!1})(e,s,o)&&(r=getEditorString(a,getRange(a,o,getPointBefore(a,o,{distance:s.length+1}))),n=getEditorString(a,getRange(a,o,getPointBefore(a,o,{distance:s.length+2}))),o=getEditorString(a,getRange(a,o,getPointAfter(a,o))),n=\\\"\\\"===r||r.length===n.length,t=\\\"\\\"===o,r=!u||r.startsWith(\\\" \\\"),n||r)&&(t||\\\" \\\"===o)?(n={type:d,children:[{text:\\\"\\\"}],trigger:s},c&&(n[c.key]=c.value),l?f(e):1\u003Cs.length&&g(\\\"character\\\"),insertNodes3(a,n)):f(e)},a.apply=e=>{var t,r,n,o=(p(e),a)[\\\"selection\\\"];\\\"insert_text\\\"===e.type||\\\"remove_text\\\"===e.type?(n=findAutoCompleteInput(a))&&null!=(t=(r=useAutoCompletePluginStore.set).text)&&t.call(r,getNodeString(n[0])):\\\"set_selection\\\"===e.type?(n=!Range.isRange(e.properties)||null==(r=findAutoCompleteInput(a,{at:e.properties}))?void 0:r[1],r=!Range.isRange(e.newProperties)||null==(t=findAutoCompleteInput(a,{at:e.newProperties}))?void 0:t[1],n&&!r&&removeAutoCompleteInputAtPath(a,n),r&&null!=(n=(t=useAutoCompletePluginStore.set).targetRange)&&n.call(t,o)):\\\"insert_node\\\"===e.type&&isNodeAutoCompleteInput(a,e.node)?e.node.trigger===s&&(n=null!=(t=null==(r=e.node.children[0])?void 0:r.text)?t:\\\"\\\",void 0===c||e.node[c.key]===c.value)&&(setSelection2(a,{anchor:{path:[...e.path,0],offset:n.length},focus:{path:[...e.path,0],offset:n.length}}),null!=(t=(r=useAutoCompletePluginStore.set).text)&&t.call(r,n),null!=(n=(r=useAutoCompletePluginStore.set).activeId)&&n.call(r,i),null!=(r=(t=useAutoCompletePluginStore.set).targetRange))&&r.call(t,o):\\\"remove_node\\\"===e.type&&isNodeAutoCompleteInput(a,e.node)&&e.node.trigger===s&&useAutoCompletePluginStore.set.reset()},a},ELEMENT_AUTO_COMPLETE=\\\"auto_complete\\\",ELEMENT_AUTO_COMPLETE_INPUT=\\\"auto_complete_input\\\",createAutoCompletePlugin=createPluginFactory({key:ELEMENT_AUTO_COMPLETE,isElement:!0,isInline:!0,isVoid:!0,handlers:{onKeyDown:mentionOnKeyDownHandler({query:isSelectionInMentionInput})},withOverrides:withAutoComplete,options:{needSpaceBeforeTrigger:!0,createAutoCompleteNode:e=>({type:ELEMENT_PARAGRAPH,children:[{text:e.text}]})},plugins:[{key:ELEMENT_AUTO_COMPLETE_INPUT,isElement:!0,isInline:!0}],then:(e,{key:t,options:{trigger:r}})=>({options:{id:t,trigger:null!=r?r:t}})}),import_react52=(init_esbuild_inject(),init_esbuild_inject(),require(\\\"react\\\"));function t4(e){return e.split(\\\"-\\\")[1]}function e3(e){return\\\"y\\\"===e?\\\"height\\\":\\\"width\\\"}function n5(e){return e.split(\\\"-\\\")[0]}function o3(e){return[\\\"top\\\",\\\"bottom\\\"].includes(n5(e))?\\\"x\\\":\\\"y\\\"}function i4(e,t,r){var{reference:n,floating:o}=e,a=n.x+n.width/2-o.width/2,i=n.y+n.height/2-o.height/2,s=o3(t),c=e3(s),l=n[c]/2-o[c]/2,u=\\\"x\\\"===s;let d;switch(n5(t)){case\\\"top\\\":d={x:a,y:n.y-o.height};break;case\\\"bottom\\\":d={x:a,y:n.y+n.height};break;case\\\"right\\\":d={x:n.x+n.width,y:i};break;case\\\"left\\\":d={x:n.x-o.width,y:i};break;default:d={x:n.x,y:n.y}}switch(t4(t)){case\\\"start\\\":d[s]-=l*(r&&u?-1:1);break;case\\\"end\\\":d[s]+=l*(r&&u?-1:1)}return d}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var r6=async(e,t,r)=>{var{placement:n=\\\"bottom\\\",strategy:o=\\\"absolute\\\",middleware:a=[],platform:i}=r,s=a.filter(Boolean),c=await(null==i.isRTL?void 0:i.isRTL(t));let l=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:d}=i4(l,n,c),p=n,f={},g=0;for(let b=0;b\u003Cs.length;b++){var{name:m,fn:h}=s[b],{x:h,y:_,data:v,reset:y}=await h({x:u,y:d,initialPlacement:n,placement:p,strategy:o,middlewareData:f,rects:l,platform:i,elements:{reference:e,floating:t}});u=null!=h?h:u,d=null!=_?_:d,f={...f,[m]:{...f[m],...v}},y&&g\u003C=50&&(g++,\\\"object\\\"==typeof y&&(y.placement&&(p=y.placement),y.rects&&(l=!0===y.rects?await i.getElementRects({reference:e,floating:t,strategy:o}):y.rects),({x:u,y:d}=i4(l,p,c))),b=-1)}return{x:u,y:d,placement:p,strategy:o,middlewareData:f}};function a4(e,t){return\\\"function\\\"==typeof e?e(t):e}function l3(e){return\\\"number\\\"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function s3(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}async function c3(e,t){var{x:r,y:n,platform:o,rects:a,elements:i,strategy:s}=e,{boundary:c=\\\"clippingAncestors\\\",rootBoundary:l=\\\"viewport\\\",elementContext:u=\\\"floating\\\",altBoundary:d=!1,padding:p=0}=a4(t=void 0===t?{}:t,e),p=l3(p),d=i[d?\\\"floating\\\"===u?\\\"reference\\\":\\\"floating\\\":u],f=s3(await o.getClippingRect({element:null==(f=await(null==o.isElement?void 0:o.isElement(d)))||f?d:d.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(i.floating)),boundary:c,rootBoundary:l,strategy:s})),d=\\\"floating\\\"===u?{...a.floating,x:r,y:n}:a.reference,c=await(null==o.getOffsetParent?void 0:o.getOffsetParent(i.floating)),l=await(null==o.isElement?void 0:o.isElement(c))&&await(null==o.getScale?void 0:o.getScale(c))||{x:1,y:1},u=s3(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({rect:d,offsetParent:c,strategy:s}):d);return{top:(f.top-u.top+p.top)/l.y,bottom:(u.bottom-f.bottom+p.bottom)/l.y,left:(f.left-u.left+p.left)/l.x,right:(u.right-f.right+p.right)/l.x}}var f3=Math.min,m2=Math.max;function u3(e,t,r){return m2(e,f3(t,r))}var g2=_=>({name:\\\"arrow\\\",options:_,async fn(e){var{x:t,y:r,placement:n,rects:o,platform:a,elements:i}=e,{element:s,padding:c=0}=a4(_,e)||{};if(null==s)return{};var c=l3(c),t={x:t,y:r},r=o3(n),l=e3(r),u=await a.getDimensions(s),d=\\\"y\\\"===r,p=d?\\\"top\\\":\\\"left\\\",f=d?\\\"bottom\\\":\\\"right\\\",d=d?\\\"clientHeight\\\":\\\"clientWidth\\\",g=o.reference[l]+o.reference[r]-t[r]-o.floating[l],m=t[r]-o.reference[r],s=await(null==a.getOffsetParent?void 0:a.getOffsetParent(s));let h=s?s[d]:0;g=g/2-m/2,m=(h=h&&await(null==a.isElement?void 0:a.isElement(s))?h:i.floating[d]||o.floating[l])/2-u[l]/2-1,s=f3(c[p],m),a=f3(c[f],m),d=s,i=h-u[l]-a,p=h/2-u[l]/2+g,f=u3(d,p,i),c=null!=t4(n)&&p!=f&&o.reference[l]/2-(p\u003Cd?s:a)-u[l]/2\u003C0?p\u003Cd?d-p:i-p:0;return{[r]:t[r]-c,data:{[r]:f,centerOffset:p-f+c}}}}),d2=[\\\"top\\\",\\\"right\\\",\\\"bottom\\\",\\\"left\\\"],p3=d2.reduce((e,t)=>e.concat(t,t+\\\"-start\\\",t+\\\"-end\\\"),[]),h2={left:\\\"right\\\",right:\\\"left\\\",bottom:\\\"top\\\",top:\\\"bottom\\\"};function y3(e){return e.replace(/left|right|bottom|top/g,e=>h2[e])}function x2(e,t,r){void 0===r&&(r=!1);var n=t4(e),o=o3(e),a=e3(o);let i=\\\"x\\\"===o?n===(r?\\\"end\\\":\\\"start\\\")?\\\"right\\\":\\\"left\\\":\\\"start\\\"===n?\\\"bottom\\\":\\\"top\\\";return{main:i=t.reference[a]>t.floating[a]?y3(i):i,cross:y3(i)}}var w3={start:\\\"end\\\",end:\\\"start\\\"};function v2(e){return e.replace(/start|end/g,e=>w3[e])}var A2=function(x){return{name:\\\"flip\\\",options:x=void 0===x?{}:x,async fn(e){var t;const{placement:r,middlewareData:n,rects:o,initialPlacement:a,platform:i,elements:s}=e,{mainAxis:c=!0,crossAxis:l=!0,fallbackPlacements:u,fallbackStrategy:d=\\\"bestFit\\\",fallbackAxisSideDirection:p=\\\"none\\\",flipAlignment:f=!0,...g}=a4(x,e),m=n5(r),h=n5(a)===a,_=await(null==i.isRTL?void 0:i.isRTL(s.floating)),v=u||(h||!f?[y3(a)]:(y=y3(t=a),[v2(t),y,v2(y)]));u||\\\"none\\\"===p||v.push(...function(e,t,r,n){const o=t4(e);let a=function(e,t,r){var n=[\\\"left\\\",\\\"right\\\"],o=[\\\"right\\\",\\\"left\\\"];switch(e){case\\\"top\\\":case\\\"bottom\\\":return r?t?o:n:t?n:o;case\\\"left\\\":case\\\"right\\\":return t?[\\\"top\\\",\\\"bottom\\\"]:[\\\"bottom\\\",\\\"top\\\"];default:return[]}}(n5(e),\\\"start\\\"===r,n);return a=o&&(a=a.map(e=>e+\\\"-\\\"+o),t)?a.concat(a.map(v2)):a}(a,f,p,_));var y=[a,...v],b=await c3(e,g),E=[],T=(null==(C=n.flip)?void 0:C.overflows)||[];if(c&&E.push(b[m]),l&&(({main:C,cross:w}=x2(r,o,_)),E.push(b[C],b[w])),T=[...T,{placement:r,overflows:E}],!E.every(e=>e\u003C=0)){var C,w=((null==(C=n.flip)?void 0:C.index)||0)+1,b=y[w];if(b)return{data:{index:w,overflows:T},reset:{placement:b}};let e=null==(E=T.filter(e=>e.overflows[0]\u003C=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:E.placement;if(!e)switch(d){case\\\"bestFit\\\":var S=null==(S=T.map(e=>[e.placement,e.overflows.filter(e=>0\u003Ce).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:S[0];S&&(e=S);break;case\\\"initialPlacement\\\":e=a}if(r!==e)return{reset:{placement:e}}}return{}}}};function R2(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function P2(t){return d2.some(e=>0\u003C=t[e])}var E2=function(a){return{name:\\\"hide\\\",options:a=void 0===a?{}:a,async fn(e){const t=e[\\\"rects\\\"],{strategy:r=\\\"referenceHidden\\\",...n}=a4(a,e);switch(r){case\\\"referenceHidden\\\":var o=R2(await c3(e,{...n,elementContext:\\\"reference\\\"}),t.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:P2(o)}};case\\\"escaped\\\":o=R2(await c3(e,{...n,altBoundary:!0}),t.floating);return{data:{escapedOffsets:o,escaped:P2(o)}};default:return{}}}}},L2=function(o){return{name:\\\"offset\\\",options:o=void 0===o?0:o,async fn(e){var{x:t,y:r}=e,n=await async function(e,t){var{placement:r,platform:n,elements:o}=e,o=await(null==n.isRTL?void 0:n.isRTL(o.floating)),n=n5(r),a=t4(r),r=\\\"x\\\"===o3(r),n=[\\\"left\\\",\\\"top\\\"].includes(n)?-1:1,o=o&&r?-1:1,i=a4(t,e);let{mainAxis:s,crossAxis:c,alignmentAxis:l}=\\\"number\\\"==typeof i?{mainAxis:i,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...i};return a&&\\\"number\\\"==typeof l&&(c=\\\"end\\\"===a?-1*l:l),r?{x:c*o,y:s*n}:{x:s*n,y:c*o}}(e,o);return{x:t+n.x,y:r+n.y,data:n}}}};function k2(e){return\\\"x\\\"===e?\\\"y\\\":\\\"x\\\"}var O2=function(m){return{name:\\\"shift\\\",options:m=void 0===m?{}:m,async fn(e){const{x:t,y:r,placement:n}=e,{mainAxis:o=!0,crossAxis:a=!1,limiter:i={fn:e=>{var{x:t,y:r}=e;return{x:t,y:r}}},...s}=a4(m,e),c={x:t,y:r},l=await c3(e,s),u=o3(n5(n)),d=k2(u);let p=c[u],f=c[d];o&&(p=u3(p+l[\\\"y\\\"===u?\\\"top\\\":\\\"left\\\"],p,p-l[\\\"y\\\"===u?\\\"bottom\\\":\\\"right\\\"])),a&&(f=u3(f+l[\\\"y\\\"===d?\\\"top\\\":\\\"left\\\"],f,f-l[\\\"y\\\"===d?\\\"bottom\\\":\\\"right\\\"]));var g=i.fn({...e,[u]:p,[d]:f});return{...g,data:{x:g.x-t,y:g.y-r}}}}},B2=function(p){return{options:p=void 0===p?{}:p,fn(e){var{x:t,y:r,placement:n,rects:o,middlewareData:a}=e,{offset:i=0,mainAxis:s=!0,crossAxis:c=!0}=a4(p,e),t={x:t,y:r},r=o3(n),l=k2(r);let u=t[r],d=t[l];var t=a4(i,e),i=\\\"number\\\"==typeof t?{mainAxis:t,crossAxis:0}:{mainAxis:0,crossAxis:0,...t};return s&&(s=o.reference[r]-o.floating[t=\\\"y\\\"===r?\\\"height\\\":\\\"width\\\"]+i.mainAxis,t=o.reference[r]+o.reference[t]-i.mainAxis,u\u003Cs?u=s:u>t&&(u=t)),c&&(s=\\\"y\\\"===r?\\\"width\\\":\\\"height\\\",t=[\\\"top\\\",\\\"left\\\"].includes(n5(n)),n=o.reference[l]-o.floating[s]+(t&&(null==(c=a.offset)?void 0:c[l])||0)+(t?0:i.crossAxis),s=o.reference[l]+o.reference[s]+(!t&&(null==(c=a.offset)?void 0:c[l])||0)-(t?i.crossAxis:0),d\u003Cn?d=n:d>s&&(d=s)),{[r]:u,[l]:d}}}},C2=function(E){return{name:\\\"size\\\",options:E=void 0===E?{}:E,async fn(e){const{placement:t,rects:r,platform:n,elements:o}=e,{apply:a=()=>{},...i}=a4(E,e),s=await c3(e,i),c=n5(t),l=t4(t),u=\\\"x\\\"===o3(t),{width:d,height:p}=r.floating;let f,g;\\\"top\\\"===c||\\\"bottom\\\"===c?(f=c,g=l===(await(null==n.isRTL?void 0:n.isRTL(o.floating))?\\\"start\\\":\\\"end\\\")?\\\"left\\\":\\\"right\\\"):(g=c,f=\\\"end\\\"===l?\\\"top\\\":\\\"bottom\\\");var m=p-s[f],h=d-s[g],_=!e.middlewareData.shift;let v=m,y=h;u?(b=d-s.left-s.right,y=l||_?f3(h,b):b):(h=p-s.top-s.bottom,v=l||_?f3(m,h):h),_&&!l&&(b=m2(s.left,0),m=m2(s.right,0),h=m2(s.top,0),_=m2(s.bottom,0),u?y=d-2*(0!==b||0!==m?b+m:m2(s.left,s.right)):v=p-2*(0!==h||0!==_?h+_:m2(s.top,s.bottom))),await a({...e,availableWidth:y,availableHeight:v});var b=await n.getDimensions(o.floating);return d!==b.width||p!==b.height?{reset:{rects:!0}}:{}}}};function n6(e){var t;return(null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function o4(e){return n6(e).getComputedStyle(e)}function i5(e){return e instanceof n6(e).Node}function r7(e){return i5(e)?(e.nodeName||\\\"\\\").toLowerCase():\\\"#document\\\"}function c4(e){return e instanceof n6(e).HTMLElement}function l4(e){return e instanceof n6(e).Element}function s4(e){return\\\"undefined\\\"!=typeof ShadowRoot&&(e instanceof n6(e).ShadowRoot||e instanceof ShadowRoot)}function f4(e){var{overflow:t,overflowX:r,overflowY:n,display:o}=o4(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&![\\\"inline\\\",\\\"contents\\\"].includes(o)}function u4(e){return[\\\"table\\\",\\\"td\\\",\\\"th\\\"].includes(r7(e))}function d3(e){const t=a5(),r=o4(e);return\\\"none\\\"!==r.transform||\\\"none\\\"!==r.perspective||!t&&!!r.backdropFilter&&\\\"none\\\"!==r.backdropFilter||!t&&!!r.filter&&\\\"none\\\"!==r.filter||[\\\"transform\\\",\\\"perspective\\\",\\\"filter\\\"].some(e=>(r.willChange||\\\"\\\").includes(e))||[\\\"paint\\\",\\\"layout\\\",\\\"strict\\\",\\\"content\\\"].some(e=>(r.contain||\\\"\\\").includes(e))}function a5(){return!(\\\"undefined\\\"==typeof CSS||!CSS.supports)&&CSS.supports(\\\"-webkit-backdrop-filter\\\",\\\"none\\\")}function h3(e){return[\\\"html\\\",\\\"body\\\",\\\"#document\\\"].includes(r7(e))}var p4=Math.min,g3=Math.max,m3=Math.round,y4=Math.floor,w4=e=>({x:e,y:e});function x3(e){var t=o4(e);let r=parseFloat(t.width)||0,n=parseFloat(t.height)||0;var t=c4(e),o=t?e.offsetWidth:r,t=t?e.offsetHeight:n,a=m3(r)!==o||m3(n)!==t;return a&&(r=o,n=t),{width:r,height:n,$:a}}function v3(e){return l4(e)?e:e.contextElement}function b3(e){var t=v3(e);if(!c4(t))return w4(1);var r=t.getBoundingClientRect(),{width:t,height:n,$:o}=x3(t);let a=(o?m3(r.width):r.width)/t,i=(o?m3(r.height):r.height)/n;return a&&Number.isFinite(a)||(a=1),i&&Number.isFinite(i)||(i=1),{x:a,y:i}}var L3=w4(0);function R3(e,t,r){var n,o;return void 0===t&&(t=!0),!a5()||(o=e?n6(e):window,!r)||t&&r!==o?L3:{x:(null==(n=o.visualViewport)?void 0:n.offsetLeft)||0,y:(null==(n=o.visualViewport)?void 0:n.offsetTop)||0}}function T(e,t,r,n){void 0===t&&(t=!1),void 0===r&&(r=!1);var o=e.getBoundingClientRect(),a=v3(e);let i=w4(1);t&&(n?l4(n)&&(i=b3(n)):i=b3(e));var s=R3(a,r,n);let c=(o.left+s.x)/i.x,l=(o.top+s.y)/i.y,u=o.width/i.x,d=o.height/i.y;if(a){var p=n6(a),f=n&&l4(n)?n6(n):n;let e=p.frameElement;for(;e&&n&&f!==p;){var g=b3(e),m=e.getBoundingClientRect(),h=getComputedStyle(e),_=m.left+(e.clientLeft+parseFloat(h.paddingLeft))*g.x,m=m.top+(e.clientTop+parseFloat(h.paddingTop))*g.y;c*=g.x,l*=g.y,u*=g.x,d*=g.y,c+=_,l+=m,e=n6(e).frameElement}}return s3({width:u,height:d,x:c,y:l})}function S2(e){return((i5(e)?e.ownerDocument:e.document)||window.document).documentElement}function E3(e){return l4(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function C3(e){return T(S2(e)).left+E3(e).scrollLeft}function F(e){var t;return\\\"html\\\"===r7(e)?e:(t=e.assignedSlot||e.parentNode||s4(e)&&e.host||S2(e),s4(t)?t.host:t)}function W2(e){var t=F(e);return h3(t)?(e.ownerDocument||e).body:c4(t)&&f4(t)?t:W2(t)}function D3(e,t){void 0===t&&(t=[]);var r=W2(e),n=r===(null==(n=e.ownerDocument)?void 0:n.body),o=n6(r);return n?t.concat(o,o.visualViewport||[],f4(r)?r:[]):t.concat(r,D3(r))}function H2(e,t,r){let n;var o,a,i,s;return s3(n=\\\"viewport\\\"===t?function(e,t){var r=n6(e),n=S2(e),r=r.visualViewport;let o=n.clientWidth,a=n.clientHeight,i=0,s=0;return r&&(o=r.width,a=r.height,a5()&&\\\"fixed\\\"!==t||(i=r.offsetLeft,s=r.offsetTop)),{width:o,height:a,x:i,y:s}}(e,r):\\\"document\\\"===t?function(e){var t=S2(e),r=E3(e),n=e.ownerDocument.body,o=g3(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),a=g3(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let i=-r.scrollLeft+C3(e);r=-r.scrollTop;return\\\"rtl\\\"===o4(n).direction&&(i+=g3(t.clientWidth,n.clientWidth)-o),{width:o,height:a,x:i,y:r}}(S2(e)):l4(t)?(a=T(o=t,!0,\\\"fixed\\\"===r),i=a.top+o.clientTop,a=a.left+o.clientLeft,s=c4(o)?b3(o):w4(1),{width:o.clientWidth*s.x,height:o.clientHeight*s.y,x:a*s.x,y:i*s.y}):(a=R3(e),{...t,x:t.x-a.x,y:t.y-a.y}))}function O3(e,t){var r=F(e);return!(r===t||!l4(r)||h3(r))&&(\\\"fixed\\\"===o4(r).position||O3(r,t))}function M2(e,t){return c4(e)&&\\\"fixed\\\"!==o4(e).position?t?t(e):e.offsetParent:null}function P3(t,e){var r=n6(t);if(!c4(t))return r;let n=M2(t,e);for(;n&&u4(n)&&\\\"static\\\"===o4(n).position;)n=M2(n,e);return(!n||\\\"html\\\"!==r7(n)&&(\\\"body\\\"!==r7(n)||\\\"static\\\"!==o4(n).position||d3(n)))&&(n||function(){let e=F(t);for(;c4(e)&&!h3(e);){if(d3(e))return e;e=F(e)}return null}())||r}function z2(e,t,r){var n=c4(t),o=S2(t),a=\\\"fixed\\\"===r,i=T(e,!0,a,t);let s={scrollLeft:0,scrollTop:0};var c=w4(0);return!n&&a||(\\\"body\\\"===r7(t)&&!f4(o)||(s=E3(t)),c4(t)?(n=T(t,!0,a,t),c.x=n.x+t.clientLeft,c.y=n.y+t.clientTop):o&&(c.x=C3(o))),{x:i.left+s.scrollLeft-c.x,y:i.top+s.scrollTop-c.y,width:i.width,height:i.height}}var V2={getClippingRect:function(e){let{element:n,boundary:t,rootBoundary:r,strategy:o}=e;var a=[...\\\"clippingAncestors\\\"===t?function(e,t){var r=t.get(e);if(r)return r;let n=D3(e).filter(e=>l4(e)&&\\\"body\\\"!==r7(e)),o=null;var a=\\\"fixed\\\"===o4(e).position;let i=a?F(e):e;for(;l4(i)&&!h3(i);){var s=o4(i),c=d3(i);c||\\\"fixed\\\"!==s.position||(o=null),(a?!c&&!o:!c&&\\\"static\\\"===s.position&&o&&[\\\"absolute\\\",\\\"fixed\\\"].includes(o.position)||f4(i)&&!c&&O3(e,i))?n=n.filter(e=>e!==i):o=s,i=F(i)}return t.set(e,n),n}(n,this._c):[].concat(t),r],i=a[0],i=a.reduce((e,t)=>{var r=H2(n,t,o);return e.top=g3(r.top,e.top),e.right=p4(r.right,e.right),e.bottom=p4(r.bottom,e.bottom),e.left=g3(r.left,e.left),e},H2(n,i,o));return{width:i.right-i.left,height:i.bottom-i.top,x:i.left,y:i.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(e){var{rect:t,offsetParent:r,strategy:n}=e,o=c4(r),a=S2(r);if(r===a)return t;let i={scrollLeft:0,scrollTop:0},s=w4(1);var c=w4(0);return(o||!o&&\\\"fixed\\\"!==n)&&(\\\"body\\\"===r7(r)&&!f4(a)||(i=E3(r)),c4(r))&&(o=T(r),s=b3(r),c.x=o.x+r.clientLeft,c.y=o.y+r.clientTop),{width:t.width*s.x,height:t.height*s.y,x:t.x*s.x-i.scrollLeft*s.x+c.x,y:t.y*s.y-i.scrollTop*s.y+c.y}},isElement:l4,getDimensions:function(e){return x3(e)},getOffsetParent:P3,getDocumentElement:S2,getScale:b3,async getElementRects(e){var{reference:t,floating:r,strategy:n}=e,o=this.getOffsetParent||P3,a=this.getDimensions;return{reference:z2(t,await o(r),n),floating:{x:0,y:0,...await a(r)}}},getClientRects:e=>Array.from(e.getClientRects()),isRTL:e=>\\\"rtl\\\"===o4(e).direction};function B3(t,e,r,n){void 0===n&&(n={});const{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:i=!0,layoutShift:s=\\\"function\\\"==typeof IntersectionObserver,animationFrame:c=!1}=n,l=v3(t),u=o||a?[...l?D3(l):[],...D3(e)]:[],d=(u.forEach(e=>{o&&e.addEventListener(\\\"scroll\\\",r,{passive:!0}),a&&e.addEventListener(\\\"resize\\\",r)}),l&&s?function(c,r){let l,u=null;const d=S2(c);function p(){clearTimeout(l),u&&u.disconnect(),u=null}return function f(e,n){void 0===e&&(e=!1),void 0===n&&(n=1),p();var{left:t,top:o,width:a,height:i}=c.getBoundingClientRect();if(e||r(),a&&i){var s=y4(o),a=y4(d.clientWidth-(t+a)),o=y4(d.clientHeight-(o+i)),i=y4(t);let r=!0;(u=new IntersectionObserver(e=>{var t=e[0].intersectionRatio;if(t!==n){if(!r)return f();t?f(!1,t):l=setTimeout(()=>{f(!1,1e-7)},100)}r=!1},{rootMargin:-s+\\\"px \\\"+-a+\\\"px \\\"+-o+\\\"px \\\"+-i+\\\"px\\\",threshold:g3(0,p4(1,n))||1})).observe(c)}}(!0),p}(l,r):null);let p,f=null,g=(i&&(f=new ResizeObserver(r),l&&!c&&f.observe(l),f.observe(e)),c?T(t):null);return c&&function m(){var e=T(t);!g||e.x===g.x&&e.y===g.y&&e.width===g.width&&e.height===g.height||r(),g=e,p=requestAnimationFrame(m)}(),r(),()=>{u.forEach(e=>{o&&e.removeEventListener(\\\"scroll\\\",r),a&&e.removeEventListener(\\\"resize\\\",r)}),d&&d(),f&&f.disconnect(),f=null,c&&cancelAnimationFrame(p)}}var N2=(e,t,r)=>{var n=new Map,o={platform:V2,...r},n={...o.platform,_c:n};return r6(e,t,{...o,platform:n})},React5=__toESM(require(\\\"react\\\"),1),import_react30=require(\\\"react\\\"),ReactDOM3=__toESM(require(\\\"react-dom\\\"),1),index=\\\"undefined\\\"!=typeof document?import_react30.useLayoutEffect:import_react30.useEffect;function deepEqual(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(\\\"function\\\"==typeof e&&e.toString()===t.toString())return!0;let r,n,o;if(e&&t&&\\\"object\\\"==typeof e){if(Array.isArray(e)){if((r=e.length)!=t.length)return!1;for(n=r;0!=n--;)if(!deepEqual(e[n],t[n]))return!1}else{if(o=Object.keys(e),(r=o.length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!Object.prototype.hasOwnProperty.call(t,o[n]))return!1;for(n=r;0!=n--;){var a=o[n];if((\\\"_owner\\\"!==a||!e.$$typeof)&&!deepEqual(e[a],t[a]))return!1}}return!0}return e!=e&&t!=t}function useLatestRef(e){const t=React5.useRef(e);return index(()=>{t.current=e}),t}function useFloating(e){const{placement:t=\\\"bottom\\\",strategy:r=\\\"absolute\\\",middleware:n=[],platform:o,whileElementsMounted:a,open:i}=e=void 0===e?{}:e,[s,c]=React5.useState({x:null,y:null,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[l,u]=React5.useState(n),d=(deepEqual(l,n)||u(n),React5.useRef(null)),p=React5.useRef(null),f=React5.useRef(s),g=useLatestRef(a),m=useLatestRef(o),[h,_]=React5.useState(null),[v,y]=React5.useState(null),b=React5.useCallback(e=>{d.current!==e&&(d.current=e,_(e))},[]),E=React5.useCallback(e=>{p.current!==e&&(p.current=e,y(e))},[]),T=React5.useCallback(()=>{var e;d.current&&p.current&&(e={placement:t,strategy:r,middleware:l},m.current&&(e.platform=m.current),N2(d.current,p.current,e).then(e=>{const t={...e,isPositioned:!0};C.current&&!deepEqual(f.current,t)&&(f.current=t,ReactDOM3.flushSync(()=>{c(t)}))}))},[l,t,r,m]),C=(index(()=>{!1===i&&f.current.isPositioned&&(f.current.isPositioned=!1,c(e=>({...e,isPositioned:!1})))},[i]),React5.useRef(!1)),w=(index(()=>(C.current=!0,()=>{C.current=!1}),[]),index(()=>{if(h&&v){if(g.current)return g.current(h,v,T);T()}},[h,v,T,g]),React5.useMemo(()=>({reference:d,floating:p,setReference:b,setFloating:E}),[b,E])),S=React5.useMemo(()=>({reference:h,floating:v}),[h,v]);return React5.useMemo(()=>({...s,update:T,refs:w,elements:S,reference:b,floating:E}),[s,T,w,S,b,E])}var React6=__toESM(require(\\\"react\\\"),1),import_react31=require(\\\"react\\\"),getDefaultParent=(init_esbuild_inject(),function(e){return\\\"undefined\\\"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body}),counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={},lockCount=0,unwrapHost=function(e){return e&&(e.host||unwrapHost(e.parentNode))},correctTargets=function(r,e){return e.map(function(e){var t;return r.contains(e)?e:(t=unwrapHost(e))&&r.contains(t)?t:(console.error(\\\"aria-hidden\\\",e,\\\"in not contained inside\\\",r,\\\". Doing nothing\\\"),null)}).filter(function(e){return Boolean(e)})},applyAttributeToOthers=function(e,t,o,a){var r=correctTargets(t,Array.isArray(e)?e:[e]),i=(markerMap[o]||(markerMap[o]=new WeakMap),markerMap[o]),s=[],c=new Set,n=new Set(r),l=function(e){e&&!c.has(e)&&(c.add(e),l(e.parentNode))},u=(r.forEach(l),function(e){e&&!n.has(e)&&Array.prototype.forEach.call(e.children,function(e){var t,r,n;c.has(e)?u(e):(t=null!==(t=e.getAttribute(a))&&\\\"false\\\"!==t,r=(counterMap.get(e)||0)+1,n=(i.get(e)||0)+1,counterMap.set(e,r),i.set(e,n),s.push(e),1===r&&t&&uncontrolledNodes.set(e,!0),1===n&&e.setAttribute(o,\\\"true\\\"),t||e.setAttribute(a,\\\"true\\\"))})});return u(t),c.clear(),lockCount++,function(){s.forEach(function(e){var t=counterMap.get(e)-1,r=i.get(e)-1;counterMap.set(e,t),i.set(e,r),t||(uncontrolledNodes.has(e)||e.removeAttribute(a),uncontrolledNodes[\\\"delete\\\"](e)),r||e.removeAttribute(o)}),--lockCount||(counterMap=new WeakMap,counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={})}},hideOthers=function(e,t,r){void 0===r&&(r=\\\"data-aria-hidden\\\");var n=Array.from(Array.isArray(e)?e:[e]),o=t||getDefaultParent(e);return o?(n.push.apply(n,Array.from(o.querySelectorAll(\\\"[aria-live]\\\"))),applyAttributeToOthers(n,o,r,\\\"aria-hidden\\\")):function(){return null}},import_react_dom5=require(\\\"react-dom\\\"),index2=\\\"undefined\\\"!=typeof document?import_react31.useLayoutEffect:import_react31.useEffect,serverHandoffComplete=!1,count=0,genId=()=>\\\"floating-ui-\\\"+count++;function useFloatingId(){const[e,t]=React6.useState(()=>serverHandoffComplete?genId():void 0);return index2(()=>{null==e&&t(genId())},[]),React6.useEffect(()=>{serverHandoffComplete=serverHandoffComplete||!0},[]),e}var useReactId=React6[\\\"useId\\\".toString()],useId=useReactId||useFloatingId;function createPubSub(){const n=new Map;return{emit(e,t){var r;null!=(r=n.get(e))&&r.forEach(e=>e(t))},on(e,t){n.set(e,[...n.get(e)||[],t])},off(e,t){var r;n.set(e,(null==(r=n.get(e))?void 0:r.filter(e=>e!==t))||[])}}}var FloatingTreeContext=React6.createContext(null),useFloatingTree=()=>React6.useContext(FloatingTreeContext);function getDocument(e){return(null==e?void 0:e.ownerDocument)||document}function getWindow(e){return getDocument(e).defaultView||window}function isElement5(e){return!!e&&e instanceof getWindow(e).Element}var useInsertionEffect=React6[\\\"useInsertionEffect\\\".toString()],useSafeInsertionEffect=useInsertionEffect||(e=>e());function useEvent(e){const n=React6.useRef(()=>{throw new Error(\\\"Cannot call an event handler while rendering.\\\")});return useSafeInsertionEffect(()=>{n.current=e}),React6.useCallback(function(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return null==n.current?void 0:n.current(...t)},[])}function useFloating2(e){const{open:t=!1,onOpenChange:r,nodeId:n}=e=void 0===e?{}:e,o=useFloating(e),a=useFloatingTree(),i=React6.useRef(null),s=React6.useRef({}),c=React6.useState(()=>createPubSub())[0],l=useId(),[u,d]=React6.useState(null),p=React6.useCallback(e=>{var t=isElement5(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),contextElement:e}:e;o.refs.setReference(t)},[o.refs]),f=React6.useCallback(e=>{!isElement5(e)&&null!==e||(i.current=e,d(e)),(isElement5(o.refs.reference.current)||null===o.refs.reference.current||null!==e&&!isElement5(e))&&o.refs.setReference(e)},[o.refs]),g=React6.useMemo(()=>({...o.refs,setReference:f,setPositionReference:p,domReference:i}),[o.refs,f,p]),m=React6.useMemo(()=>({...o.elements,domReference:u}),[o.elements,u]),h=useEvent(r),_=React6.useMemo(()=>({...o,refs:g,elements:m,dataRef:s,nodeId:n,floatingId:l,events:c,open:t,onOpenChange:h}),[o,n,l,c,t,h,g,m]);return index2(()=>{var e=null==a?void 0:a.nodesRef.current.find(e=>e.id===n);e&&(e.context=_)}),React6.useMemo(()=>({...o,context:_,refs:g,elements:m,reference:f,positionReference:p}),[o,g,m,_,f,p])}init_esbuild_inject();var import_react51=require(\\\"react\\\");function $e42e1063c40fb3ef$export$b9ecd428b558ff10(t,r,{checkForDefaultPrevented:n=!0}={}){return function(e){return null!=t&&t(e),!1!==n&&e.defaultPrevented||null==r?void 0:r(e)}}init_esbuild_inject(),init_esbuild_inject();var import_react32=require(\\\"react\\\");function $c512c27ab02ef895$export$50c7b4e9d9f19c1(c,e=[]){let t=[];var r=()=>{const r=t.map(e=>(0,import_react32.createContext)(e));return function(e){const t=(null==e?void 0:e[c])||r;return(0,import_react32.useMemo)(()=>({[\\\"__scope\\\"+c]:{...e,[c]:t}}),[e,t])}};return r.scopeName=c,[function(n,o){const i=(0,import_react32.createContext)(o),s=t.length;function e(e){const{scope:t,children:r,...n}=e;var o=(null==t?void 0:t[c][s])||i,a=(0,import_react32.useMemo)(()=>n,Object.values(n));return(0,import_react32.createElement)(o.Provider,{value:a},r)}return t=[...t,o],e.displayName=n+\\\"Provider\\\",[e,function(e,t){var r=(null==t?void 0:t[c][s])||i;if(r=(0,import_react32.useContext)(r))return r;if(void 0!==o)return o;throw new Error(`\\\\`${e}\\\\` must be used within \\\\`${n}\\\\``)}]},$c512c27ab02ef895$var$composeContextScopes(r,...e)]}function $c512c27ab02ef895$var$composeContextScopes(...e){const r=e[0];var t;return 1===e.length?r:((t=()=>{const t=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(o){const e=t.reduce((e,{useScope:t,scopeName:r})=>{var n=t(o)[\\\"__scope\\\"+r];return{...e,...n}},{});return(0,import_react32.useMemo)(()=>({[\\\"__scope\\\"+r.scopeName]:e}),[e])}}).scopeName=r.scopeName,t)}init_esbuild_inject();var import_react34=require(\\\"react\\\"),import_react33=(init_esbuild_inject(),require(\\\"react\\\"));function $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(e){const r=(0,import_react33.useRef)(e);return(0,import_react33.useEffect)(()=>{r.current=e}),(0,import_react33.useMemo)(()=>(...e)=>{var t;return null==(t=r.current)?void 0:t.call(r,...e)},[])}function $71cd76cc60e0454e$export$6f32135080cb4c3({prop:r,defaultProp:e,onChange:t=()=>{}}){const[n,o]=$71cd76cc60e0454e$var$useUncontrolledState({defaultProp:e,onChange:t}),a=void 0!==r;var i=a?r:n;const s=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(t);return[i,(0,import_react34.useCallback)(e=>{var t;a?(t=\\\"function\\\"==typeof e?e(r):e)!==r&&s(t):o(e)},[a,r,o,s])]}function $71cd76cc60e0454e$var$useUncontrolledState({defaultProp:e,onChange:t}){var r=(0,import_react34.useState)(e);const[n]=r,o=(0,import_react34.useRef)(n),a=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(t);return(0,import_react34.useEffect)(()=>{o.current!==n&&(a(n),o.current=n)},[n,o,a]),r}init_esbuild_inject();var import_react35=require(\\\"react\\\"),import_react_dom6=require(\\\"react-dom\\\"),$8927f6f2acc4f386$var$NODES=[\\\"a\\\",\\\"button\\\",\\\"div\\\",\\\"form\\\",\\\"h2\\\",\\\"h3\\\",\\\"img\\\",\\\"input\\\",\\\"label\\\",\\\"li\\\",\\\"nav\\\",\\\"ol\\\",\\\"p\\\",\\\"span\\\",\\\"svg\\\",\\\"ul\\\"],$8927f6f2acc4f386$export$250ffa63cdc0d034=$8927f6f2acc4f386$var$NODES.reduce((e,a)=>{var t=(0,import_react35.forwardRef)((e,t)=>{const{asChild:r,...n}=e;var o=r?$5e63c961fc1ce211$export$8c6ed5c666ac1360:a;return(0,import_react35.useEffect)(()=>{window[Symbol[\\\"for\\\"](\\\"radix-ui\\\")]=!0},[]),(0,import_react35.createElement)(o,_extends2({},n,{ref:t}))});return t.displayName=\\\"Primitive.\\\"+a,{...e,[a]:t}},{});function $8927f6f2acc4f386$export$6d1a0317bde7de7f(e,t){e&&(0,import_react_dom6.flushSync)(()=>e.dispatchEvent(t))}init_esbuild_inject();var import_react50=require(\\\"react\\\"),import_react36=(init_esbuild_inject(),__toESM(require(\\\"react\\\"),1));function $e02a7d9cb1dc128c$export$c74125a8e3af6bb2(r){var e=r+\\\"CollectionProvider\\\",[t,n]=$c512c27ab02ef895$export$50c7b4e9d9f19c1(e);const[a,c]=t(e,{collectionRef:{current:null},itemMap:new Map});e=e=>{var{scope:t,children:r}=e,n=import_react36[\\\"default\\\"].useRef(null),o=import_react36[\\\"default\\\"].useRef(new Map).current;return import_react36[\\\"default\\\"].createElement(a,{scope:t,itemMap:o,collectionRef:n},r)};const o=r+\\\"CollectionSlot\\\";t=import_react36[\\\"default\\\"].forwardRef((e,t)=>{var{scope:r,children:n}=e,r=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,c(o,r).collectionRef);return import_react36[\\\"default\\\"].createElement($5e63c961fc1ce211$export$8c6ed5c666ac1360,{ref:r},n)});o;const l=r+\\\"CollectionItemSlot\\\",i=\\\"data-radix-collection-item\\\";var s=import_react36[\\\"default\\\"].forwardRef((e,t)=>{const{scope:r,children:n,...o}=e,a=import_react36[\\\"default\\\"].useRef(null);var i=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,a);const s=c(l,r);return import_react36[\\\"default\\\"].useEffect(()=>(s.itemMap.set(a,{ref:a,...o}),()=>{s.itemMap[\\\"delete\\\"](a)})),import_react36[\\\"default\\\"].createElement($5e63c961fc1ce211$export$8c6ed5c666ac1360,{\\\"data-radix-collection-item\\\":\\\"\\\",ref:i},n)});return l,[{Provider:e,Slot:t,ItemSlot:s},function(e){const t=c(r+\\\"CollectionConsumer\\\",e);return import_react36[\\\"default\\\"].useCallback(()=>{var e=t.collectionRef.current;if(!e)return[];const r=Array.from(e.querySelectorAll(`[${i}]`));return Array.from(t.itemMap.values()).sort((e,t)=>r.indexOf(e.ref.current)-r.indexOf(t.ref.current))},[t.collectionRef,t.itemMap])},n]}init_esbuild_inject();var import_react37=require(\\\"react\\\"),$f631663db3294ace$var$DirectionContext=(0,import_react37.createContext)(void 0);function $f631663db3294ace$export$b39126d51d94e6f3(e){var t=(0,import_react37.useContext)($f631663db3294ace$var$DirectionContext);return e||t||\\\"ltr\\\"}init_esbuild_inject();var import_react39=require(\\\"react\\\"),import_react38=(init_esbuild_inject(),require(\\\"react\\\"));function $addc16e1bbe58fd0$export$3a72a57244d6e765(e,t=null===globalThis||void 0===globalThis?void 0:globalThis.document){const r=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(e);(0,import_react38.useEffect)(()=>{const e=e=>{\\\"Escape\\\"===e.key&&r(e)};return t.addEventListener(\\\"keydown\\\",e),()=>t.removeEventListener(\\\"keydown\\\",e)},[r,t])}var $5cb92bef7577960e$var$originalBodyPointerEvents,$5cb92bef7577960e$var$CONTEXT_UPDATE=\\\"dismissableLayer.update\\\",$5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE=\\\"dismissableLayer.pointerDownOutside\\\",$5cb92bef7577960e$var$FOCUS_OUTSIDE=\\\"dismissableLayer.focusOutside\\\",$5cb92bef7577960e$var$DismissableLayerContext=(0,import_react39.createContext)({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),$5cb92bef7577960e$export$177fb62ff3ec1f22=(0,import_react39.forwardRef)((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:i,onDismiss:s,...c}=e,l=(0,import_react39.useContext)($5cb92bef7577960e$var$DismissableLayerContext),[u,d]=(0,import_react39.useState)(null),p=null!=(g=null===u||void 0===u?void 0:u.ownerDocument)?g:null===globalThis||void 0===globalThis?void 0:globalThis.document,[,f]=(0,import_react39.useState)({});var g=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,e=>d(e)),m=Array.from(l.layers),[h]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),h=m.indexOf(h);const _=u?m.indexOf(u):-1;m=0\u003Cl.layersWithOutsidePointerEventsDisabled.size;const v=_>=h;var h=$5cb92bef7577960e$var$usePointerDownOutside(e=>{const t=e.target;var r=[...l.branches].some(e=>e.contains(t));!v||r||(null!==o&&void 0!==o&&o(e),null!==i&&void 0!==i&&i(e),e.defaultPrevented)||null!==s&&void 0!==s&&s()},p),y=$5cb92bef7577960e$var$useFocusOutside(e=>{const t=e.target;[...l.branches].some(e=>e.contains(t))||(null!==a&&void 0!==a&&a(e),null!==i&&void 0!==i&&i(e),e.defaultPrevented)||null!==s&&void 0!==s&&s()},p);return $addc16e1bbe58fd0$export$3a72a57244d6e765(e=>{_===l.layers.size-1&&(null!==n&&void 0!==n&&n(e),!e.defaultPrevented)&&s&&(e.preventDefault(),s())},p),(0,import_react39.useEffect)(()=>{if(u)return r&&(0===l.layersWithOutsidePointerEventsDisabled.size&&($5cb92bef7577960e$var$originalBodyPointerEvents=p.body.style.pointerEvents,p.body.style.pointerEvents=\\\"none\\\"),l.layersWithOutsidePointerEventsDisabled.add(u)),l.layers.add(u),$5cb92bef7577960e$var$dispatchUpdate(),()=>{r&&1===l.layersWithOutsidePointerEventsDisabled.size&&(p.body.style.pointerEvents=$5cb92bef7577960e$var$originalBodyPointerEvents)}},[u,p,r,l]),(0,import_react39.useEffect)(()=>()=>{u&&(l.layers[\\\"delete\\\"](u),l.layersWithOutsidePointerEventsDisabled[\\\"delete\\\"](u),$5cb92bef7577960e$var$dispatchUpdate())},[u,l]),(0,import_react39.useEffect)(()=>{const e=()=>f({});return document.addEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE,e),()=>document.removeEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE,e)},[]),(0,import_react39.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends2({},c,{ref:g,style:{pointerEvents:m?v?\\\"auto\\\":\\\"none\\\":void 0,...e.style},onFocusCapture:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocusCapture,y.onFocusCapture),onBlurCapture:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onBlurCapture,y.onBlurCapture),onPointerDownCapture:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerDownCapture,h.onPointerDownCapture)}))});function $5cb92bef7577960e$var$usePointerDownOutside(e,n=null===globalThis||void 0===globalThis?void 0:globalThis.document){const o=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(e),a=(0,import_react39.useRef)(!1),i=(0,import_react39.useRef)(()=>{});return(0,import_react39.useEffect)(()=>{const e=e=>{if(e.target&&!a.current){var t=function(){$5cb92bef7577960e$var$handleAndDispatchCustomEvent($5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE,o,r,{discrete:!0})};const r={originalEvent:e};\\\"touch\\\"===e.pointerType?(n.removeEventListener(\\\"click\\\",i.current),i.current=t,n.addEventListener(\\\"click\\\",i.current,{once:!0})):t()}a.current=!1},t=window.setTimeout(()=>{n.addEventListener(\\\"pointerdown\\\",e)},0);return()=>{window.clearTimeout(t),n.removeEventListener(\\\"pointerdown\\\",e),n.removeEventListener(\\\"click\\\",i.current)}},[n,o]),{onPointerDownCapture:()=>a.current=!0}}function $5cb92bef7577960e$var$useFocusOutside(e,t=null===globalThis||void 0===globalThis?void 0:globalThis.document){const r=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(e),n=(0,import_react39.useRef)(!1);return(0,import_react39.useEffect)(()=>{const e=e=>{var t;e.target&&!n.current&&(t={originalEvent:e},$5cb92bef7577960e$var$handleAndDispatchCustomEvent($5cb92bef7577960e$var$FOCUS_OUTSIDE,r,t,{discrete:!1}))};return t.addEventListener(\\\"focusin\\\",e),()=>t.removeEventListener(\\\"focusin\\\",e)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function $5cb92bef7577960e$var$dispatchUpdate(){var e=new CustomEvent($5cb92bef7577960e$var$CONTEXT_UPDATE);document.dispatchEvent(e)}function $5cb92bef7577960e$var$handleAndDispatchCustomEvent(e,t,r,{discrete:n}){var o=r.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&o.addEventListener(e,t,{once:!0}),n?$8927f6f2acc4f386$export$6d1a0317bde7de7f(o,a):o.dispatchEvent(a)}init_esbuild_inject();var import_react40=require(\\\"react\\\"),$3db38b7d1fb3fe6a$var$count=0;function $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c(){(0,import_react40.useEffect)(()=>{var e,t=document.querySelectorAll(\\\"[data-radix-focus-guard]\\\");return document.body.insertAdjacentElement(\\\"afterbegin\\\",null!=(e=t[0])?e:$3db38b7d1fb3fe6a$var$createFocusGuard()),document.body.insertAdjacentElement(\\\"beforeend\\\",null!=(e=t[1])?e:$3db38b7d1fb3fe6a$var$createFocusGuard()),$3db38b7d1fb3fe6a$var$count++,()=>{1===$3db38b7d1fb3fe6a$var$count&&document.querySelectorAll(\\\"[data-radix-focus-guard]\\\").forEach(e=>e.remove()),$3db38b7d1fb3fe6a$var$count--}},[])}function $3db38b7d1fb3fe6a$var$createFocusGuard(){var e=document.createElement(\\\"span\\\");return e.setAttribute(\\\"data-radix-focus-guard\\\",\\\"\\\"),e.tabIndex=0,e.style.cssText=\\\"outline: none; opacity: 0; position: fixed; pointer-events: none\\\",e}init_esbuild_inject();var import_react41=require(\\\"react\\\"),$d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT=\\\"focusScope.autoFocusOnMount\\\",$d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT=\\\"focusScope.autoFocusOnUnmount\\\",$d3863c46a17e8a28$var$EVENT_OPTIONS={bubbles:!1,cancelable:!0},$d3863c46a17e8a28$export$20e40289641fbbb6=(0,import_react41.forwardRef)((e,t)=>{const{loop:a=!1,trapped:i=!1,onMountAutoFocus:r,onUnmountAutoFocus:n,...o}=e,[s,c]=(0,import_react41.useState)(null),l=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(r),u=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(n),d=(0,import_react41.useRef)(null);var p=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,e=>c(e));const f=(0,import_react41.useRef)({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;(0,import_react41.useEffect)(()=>{if(i){let e=function(e){var t;!f.paused&&s&&(t=e.target,s.contains(t)?d.current=t:$d3863c46a17e8a28$var$focus(d.current,{select:!0}))},t=function(e){var t;f.paused||!s||null===(t=e.relatedTarget)||s.contains(t)||$d3863c46a17e8a28$var$focus(d.current,{select:!0})},r=function(e){var t=document.activeElement;for(const r of e)0\u003Cr.removedNodes.length&&(null!==s&&void 0!==s&&s.contains(t)||$d3863c46a17e8a28$var$focus(s))};document.addEventListener(\\\"focusin\\\",e),document.addEventListener(\\\"focusout\\\",t);const n=new MutationObserver(r);return s&&n.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(\\\"focusin\\\",e),document.removeEventListener(\\\"focusout\\\",t),n.disconnect()}}},[i,s,f.paused]),(0,import_react41.useEffect)(()=>{if(s){$d3863c46a17e8a28$var$focusScopesStack.add(f);const t=document.activeElement;var e;return s.contains(t)||(e=new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT,$d3863c46a17e8a28$var$EVENT_OPTIONS),s.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT,l),s.dispatchEvent(e),e.defaultPrevented)||($d3863c46a17e8a28$var$focusFirst($d3863c46a17e8a28$var$removeLinks($d3863c46a17e8a28$var$getTabbableCandidates(s)),{select:!0}),document.activeElement===t&&$d3863c46a17e8a28$var$focus(s)),()=>{s.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT,l),setTimeout(()=>{var e=new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT,$d3863c46a17e8a28$var$EVENT_OPTIONS);s.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT,u),s.dispatchEvent(e),e.defaultPrevented||$d3863c46a17e8a28$var$focus(null!==t&&void 0!==t?t:document.body,{select:!0}),s.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT,u),$d3863c46a17e8a28$var$focusScopesStack.remove(f)},0)}}},[s,l,u,f]);var g=(0,import_react41.useCallback)(e=>{var t,r,n,o;!a&&!i||f.paused||(r=\\\"Tab\\\"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,t=document.activeElement,r&&t&&(([n,o]=$d3863c46a17e8a28$var$getTabbableEdges(r=e.currentTarget)),n&&o?e.shiftKey||t!==o?e.shiftKey&&t===n&&(e.preventDefault(),a)&&$d3863c46a17e8a28$var$focus(o,{select:!0}):(e.preventDefault(),a&&$d3863c46a17e8a28$var$focus(n,{select:!0})):t===r&&e.preventDefault()))},[a,i,f.paused]);return(0,import_react41.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends2({tabIndex:-1},o,{ref:p,onKeyDown:g}))});function $d3863c46a17e8a28$var$focusFirst(e,{select:t=!1}={}){var r=document.activeElement;for(const n of e)if($d3863c46a17e8a28$var$focus(n,{select:t}),document.activeElement!==r)return}function $d3863c46a17e8a28$var$getTabbableEdges(e){var t=$d3863c46a17e8a28$var$getTabbableCandidates(e);return[$d3863c46a17e8a28$var$findVisible(t,e),$d3863c46a17e8a28$var$findVisible(t.reverse(),e)]}function $d3863c46a17e8a28$var$getTabbableCandidates(e){for(var t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{var t=\\\"INPUT\\\"===e.tagName&&\\\"hidden\\\"===e.type;return!(e.disabled||e.hidden||t)&&0\u003C=e.tabIndex?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});r.nextNode();)t.push(r.currentNode);return t}function $d3863c46a17e8a28$var$findVisible(e,t){for(const r of e)if(!$d3863c46a17e8a28$var$isHidden(r,{upTo:t}))return r}function $d3863c46a17e8a28$var$isHidden(e,{upTo:t}){if(\\\"hidden\\\"===getComputedStyle(e).visibility)return!0;for(;e;){if(void 0!==t&&e===t)return!1;if(\\\"none\\\"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}function $d3863c46a17e8a28$var$isSelectableInput(e){return e instanceof HTMLInputElement&&\\\"select\\\"in e}function $d3863c46a17e8a28$var$focus(e,{select:t=!1}={}){var r;e&&e.focus&&(r=document.activeElement,e.focus({preventScroll:!0}),e!==r)&&$d3863c46a17e8a28$var$isSelectableInput(e)&&t&&e.select()}var $d3863c46a17e8a28$var$focusScopesStack=$d3863c46a17e8a28$var$createFocusScopesStack();function $d3863c46a17e8a28$var$createFocusScopesStack(){let r=[];return{add(e){var t=r[0];e!==t&&null!=t&&t.pause(),(r=$d3863c46a17e8a28$var$arrayRemove(r,e)).unshift(e)},remove(e){var t;null!=(t=(r=$d3863c46a17e8a28$var$arrayRemove(r,e))[0])&&t.resume()}}}function $d3863c46a17e8a28$var$arrayRemove(e,t){var r=[...e],n=r.indexOf(t);return-1!==n&&r.splice(n,1),r}function $d3863c46a17e8a28$var$removeLinks(e){return e.filter(e=>\\\"A\\\"!==e.tagName)}init_esbuild_inject();var $2AODx$react=__toESM(require(\\\"react\\\"),1),import_react42=(init_esbuild_inject(),require(\\\"react\\\")),$9f79659886946c16$export$e5c5a5f917a5871c=Boolean(null===globalThis||void 0===globalThis?void 0:globalThis.document)?import_react42.useLayoutEffect:()=>{},$1746a345f3d73bb7$var$useReactId=$2AODx$react[\\\"useId\\\".toString()]||(()=>{}),$1746a345f3d73bb7$var$count=0;function $1746a345f3d73bb7$export$f680877a34711e37(e){const[t,r]=$2AODx$react.useState($1746a345f3d73bb7$var$useReactId());return $9f79659886946c16$export$e5c5a5f917a5871c(()=>{e||r(e=>null!=e?e:String($1746a345f3d73bb7$var$count++))},[e]),e||(t?\\\"radix-\\\"+t:\\\"\\\")}init_esbuild_inject();var import_react45=require(\\\"react\\\"),React7=(init_esbuild_inject(),__toESM(require(\\\"react\\\"),1)),import_react43=require(\\\"react\\\"),ReactDOM4=__toESM(require(\\\"react-dom\\\"),1),arrow2=n=>{return{name:\\\"arrow\\\",options:n,fn(e){var{element:t,padding:r}=\\\"function\\\"==typeof n?n(e):n;return t&&{}.hasOwnProperty.call(t,\\\"current\\\")?null!=t.current?g2({element:t.current,padding:r}).fn(e):{}:t?g2({element:t,padding:r}).fn(e):{}}}},index3=\\\"undefined\\\"!=typeof document?import_react43.useLayoutEffect:import_react43.useEffect;function deepEqual2(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(\\\"function\\\"==typeof e&&e.toString()===t.toString())return!0;let r,n,o;if(e&&t&&\\\"object\\\"==typeof e){if(Array.isArray(e)){if((r=e.length)!=t.length)return!1;for(n=r;0!=n--;)if(!deepEqual2(e[n],t[n]))return!1}else{if(o=Object.keys(e),(r=o.length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!{}.hasOwnProperty.call(t,o[n]))return!1;for(n=r;0!=n--;){var a=o[n];if((\\\"_owner\\\"!==a||!e.$$typeof)&&!deepEqual2(e[a],t[a]))return!1}}return!0}return e!=e&&t!=t}function getDPR(e){return\\\"undefined\\\"!=typeof window&&(e.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(e,t){var r=getDPR(e);return Math.round(t*r)/r}function useLatestRef2(e){const t=React7.useRef(e);return index3(()=>{t.current=e}),t}function useFloating3(e){const{placement:t=\\\"bottom\\\",strategy:n=\\\"absolute\\\",middleware:r=[],platform:o,elements:{reference:a,floating:i}={},transform:s=!0,whileElementsMounted:c,open:l}=e=void 0===e?{}:e,[u,d]=React7.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,f]=React7.useState(r),[g,m]=(deepEqual2(p,r)||f(r),React7.useState(null)),[h,_]=React7.useState(null),v=React7.useCallback(e=>{e!=T.current&&(T.current=e,m(e))},[m]),y=React7.useCallback(e=>{e!==C.current&&(C.current=e,_(e))},[_]),b=a||g,E=i||h,T=React7.useRef(null),C=React7.useRef(null),w=React7.useRef(u),S=useLatestRef2(c),x=useLatestRef2(o),D=React7.useCallback(()=>{var e;T.current&&C.current&&(e={placement:t,strategy:n,middleware:p},x.current&&(e.platform=x.current),N2(T.current,C.current,e).then(e=>{const t={...e,isPositioned:!0};$.current&&!deepEqual2(w.current,t)&&(w.current=t,ReactDOM4.flushSync(()=>{d(t)}))}))},[p,t,n,x]),$=(index3(()=>{!1===l&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]),React7.useRef(!1)),A=(index3(()=>($.current=!0,()=>{$.current=!1}),[]),index3(()=>{if(b&&(T.current=b),E&&(C.current=E),b&&E){if(S.current)return S.current(b,E,D);D()}},[b,E,D,S]),React7.useMemo(()=>({reference:T,floating:C,setReference:v,setFloating:y}),[v,y])),O=React7.useMemo(()=>({reference:b,floating:E}),[b,E]),P=React7.useMemo(()=>{var e,t,r={position:n,left:0,top:0};return O.floating?(e=roundByDPR(O.floating,u.x),t=roundByDPR(O.floating,u.y),s?{...r,transform:\\\"translate(\\\"+e+\\\"px, \\\"+t+\\\"px)\\\",...1.5\u003C=getDPR(O.floating)&&{willChange:\\\"transform\\\"}}:{position:n,left:e,top:t}):r},[n,s,O.floating,u.x,u.y]);return React7.useMemo(()=>({...u,update:D,refs:A,elements:O,floatingStyles:P}),[u,D,A,O,P])}init_esbuild_inject();var import_react44=require(\\\"react\\\");function $db6c3485150b8e66$export$1ab7ae714698c4b8(o){const[e,a]=(0,import_react44.useState)(void 0);return $9f79659886946c16$export$e5c5a5f917a5871c(()=>{if(o){a({width:o.offsetWidth,height:o.offsetHeight});const e=new ResizeObserver(r=>{if(Array.isArray(r)&&r.length){var n=r[0];let e,t;t=\\\"borderBoxSize\\\"in n?(n=n.borderBoxSize,n=Array.isArray(n)?n[0]:n,e=n.inlineSize,n.blockSize):(e=o.offsetWidth,o.offsetHeight),a({width:e,height:t})}});return e.observe(o,{box:\\\"border-box\\\"}),()=>e.unobserve(o)}a(void 0)},[o]),e}var $cf1ac5d9fe0e8206$var$POPPER_NAME=\\\"Popper\\\",[$cf1ac5d9fe0e8206$var$createPopperContext,$cf1ac5d9fe0e8206$export$722aac194ae923]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($cf1ac5d9fe0e8206$var$POPPER_NAME),[$cf1ac5d9fe0e8206$var$PopperProvider,$cf1ac5d9fe0e8206$var$usePopperContext]=$cf1ac5d9fe0e8206$var$createPopperContext($cf1ac5d9fe0e8206$var$POPPER_NAME),$cf1ac5d9fe0e8206$export$badac9ada3a0bdf9=e=>{var{__scopePopper:t,children:r}=e,[n,o]=(0,import_react45.useState)(null);return(0,import_react45.createElement)($cf1ac5d9fe0e8206$var$PopperProvider,{scope:t,anchor:n,onAnchorChange:o},r)},$cf1ac5d9fe0e8206$var$ANCHOR_NAME=\\\"PopperAnchor\\\",$cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d=(0,import_react45.forwardRef)((e,t)=>{const{__scopePopper:r,virtualRef:n,...o}=e,a=$cf1ac5d9fe0e8206$var$usePopperContext($cf1ac5d9fe0e8206$var$ANCHOR_NAME,r),i=(0,import_react45.useRef)(null);var s=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,i);return(0,import_react45.useEffect)(()=>{a.onAnchorChange((null===n||void 0===n?void 0:n.current)||i.current)}),n?null:(0,import_react45.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends2({},o,{ref:s}))}),$cf1ac5d9fe0e8206$var$CONTENT_NAME=\\\"PopperContent\\\",[$cf1ac5d9fe0e8206$var$PopperContentProvider,$cf1ac5d9fe0e8206$var$useContentContext]=$cf1ac5d9fe0e8206$var$createPopperContext($cf1ac5d9fe0e8206$var$CONTENT_NAME),$cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc=(0,import_react45.forwardRef)((e,t)=>{const{__scopePopper:r,side:n=\\\"bottom\\\",sideOffset:o=0,align:a=\\\"center\\\",alignOffset:i=0,arrowPadding:s=0,collisionBoundary:c=[],collisionPadding:l=0,sticky:u=\\\"partial\\\",hideWhenDetached:d=!1,avoidCollisions:p=!0,onPlaced:f,...g}=e;var m=$cf1ac5d9fe0e8206$var$usePopperContext($cf1ac5d9fe0e8206$var$CONTENT_NAME,r);const[h,_]=(0,import_react45.useState)(null);var v=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,e=>_(e)),[y,b]=(0,import_react45.useState)(null),E=$db6c3485150b8e66$export$1ab7ae714698c4b8(y),T=null!=(T=null==E?void 0:E.width)?T:0,E=null!=(E=null==E?void 0:E.height)?E:0,C=n+(\\\"center\\\"!==a?\\\"-\\\"+a:\\\"\\\"),w=\\\"number\\\"==typeof l?l:{top:0,right:0,bottom:0,left:0,...l},S=Array.isArray(c)?c:[c],x=0\u003CS.length,w={padding:w,boundary:S.filter($cf1ac5d9fe0e8206$var$isNotNull),altBoundary:x};const{refs:D,floatingStyles:$,placement:A,isPositioned:O,middlewareData:P}=useFloating3({strategy:\\\"fixed\\\",placement:C,whileElementsMounted:B3,elements:{reference:m.anchor},middleware:[L2({mainAxis:o+E,alignmentAxis:i}),p&&O2({mainAxis:!0,crossAxis:!1,limiter:\\\"partial\\\"===u?B2():void 0,...w}),p&&A2({...w}),C2({...w,apply:({elements:e,rects:t,availableWidth:r,availableHeight:n})=>{var{width:o,height:a}=t.reference,i=e.floating.style;i.setProperty(\\\"--radix-popper-available-width\\\",r+\\\"px\\\"),i.setProperty(\\\"--radix-popper-available-height\\\",n+\\\"px\\\"),i.setProperty(\\\"--radix-popper-anchor-width\\\",o+\\\"px\\\"),i.setProperty(\\\"--radix-popper-anchor-height\\\",a+\\\"px\\\")}}),y&&arrow2({element:y,padding:s}),$cf1ac5d9fe0e8206$var$transformOrigin({arrowWidth:T,arrowHeight:E}),d&&E2({strategy:\\\"referenceHidden\\\"})]});var[S,x]=$cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement(A);const I=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(f);$9f79659886946c16$export$e5c5a5f917a5871c(()=>{O&&null!==I&&void 0!==I&&I()},[O,I]);m=null==(C=P.arrow)?void 0:C.x,y=null==(w=P.arrow)?void 0:w.y,E=0!==(null==(T=P.arrow)?void 0:T.centerOffset);const[j,R]=(0,import_react45.useState)();return $9f79659886946c16$export$e5c5a5f917a5871c(()=>{h&&R(window.getComputedStyle(h).zIndex)},[h]),(0,import_react45.createElement)(\\\"div\\\",{ref:D.setFloating,\\\"data-radix-popper-content-wrapper\\\":\\\"\\\",style:{...$,transform:O?$.transform:\\\"translate(0, -200%)\\\",minWidth:\\\"max-content\\\",zIndex:j,\\\"--radix-popper-transform-origin\\\":[null==(C=P.transformOrigin)?void 0:C.x,null==(w=P.transformOrigin)?void 0:w.y].join(\\\" \\\")},dir:e.dir},(0,import_react45.createElement)($cf1ac5d9fe0e8206$var$PopperContentProvider,{scope:r,placedSide:S,onArrowChange:b,arrowX:m,arrowY:y,shouldHideArrow:E},(0,import_react45.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends2({\\\"data-side\\\":S,\\\"data-align\\\":x},g,{ref:v,style:{...g.style,animation:O?void 0:\\\"none\\\",opacity:null!=(T=P.hide)&&T.referenceHidden?0:void 0}}))))});function $cf1ac5d9fe0e8206$var$isNotNull(e){return null!==e}var $cf1ac5d9fe0e8206$var$transformOrigin=d=>({name:\\\"transformOrigin\\\",options:d,fn(e){var{placement:t,rects:r,middlewareData:n}=e,o=0!==(null==(o=n.arrow)?void 0:o.centerOffset),a=o?0:d.arrowWidth,i=o?0:d.arrowHeight,[t,s]=$cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement(t),s={start:\\\"0%\\\",center:\\\"50%\\\",end:\\\"100%\\\"}[s],c=(null!=(c=null==(c=n.arrow)?void 0:c.x)?c:0)+a/2,a=(null!=(n=null==(a=n.arrow)?void 0:a.y)?n:0)+i/2;let l=\\\"\\\",u=\\\"\\\";return\\\"bottom\\\"===t?(l=o?s:c+\\\"px\\\",u=-i+\\\"px\\\"):\\\"top\\\"===t?(l=o?s:c+\\\"px\\\",u=r.floating.height+i+\\\"px\\\"):\\\"right\\\"===t?(l=-i+\\\"px\\\",u=o?s:a+\\\"px\\\"):\\\"left\\\"===t&&(l=r.floating.width+i+\\\"px\\\",u=o?s:a+\\\"px\\\"),{data:{x:l,y:u}}}});function $cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement(e){var[t,r=\\\"center\\\"]=e.split(\\\"-\\\");return[t,r]}var $cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9=$cf1ac5d9fe0e8206$export$badac9ada3a0bdf9,$cf1ac5d9fe0e8206$export$b688253958b8dfe7=$cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d,$cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2=$cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc,import_react46=(init_esbuild_inject(),require(\\\"react\\\")),import_react_dom8=__toESM(require(\\\"react-dom\\\"),1),$f1701beae083dbae$export$602eac185826482c=(0,import_react46.forwardRef)((e,t)=>{var r;const{container:n=null===globalThis||void 0===globalThis||null==(r=globalThis.document)?void 0:r.body,...o}=e;return n?import_react_dom8[\\\"default\\\"].createPortal((0,import_react46.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends2({},o,{ref:t})),n):null}),import_react47=(init_esbuild_inject(),require(\\\"react\\\")),import_react_dom9=require(\\\"react-dom\\\");function $fe963b355347cc68$export$3e6543de14f8614f(e,n){return(0,import_react47.useReducer)((e,t)=>{var r=n[e][t];return null!=r?r:e},e)}var $921a889cee6df7e8$export$99c2b779aa4e8b8b=e=>{var{present:t,children:r}=e,t=$921a889cee6df7e8$var$usePresence(t),n=\\\"function\\\"==typeof r?r({present:t.isPresent}):import_react47.Children.only(r),o=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t.ref,n.ref);return\\\"function\\\"==typeof r||t.isPresent?(0,import_react47.cloneElement)(n,{ref:o}):null};function $921a889cee6df7e8$var$usePresence(o){const[r,t]=(0,import_react47.useState)(),a=(0,import_react47.useRef)({}),i=(0,import_react47.useRef)(o),s=(0,import_react47.useRef)(\\\"none\\\");const[n,c]=$fe963b355347cc68$export$3e6543de14f8614f(o?\\\"mounted\\\":\\\"unmounted\\\",{mounted:{UNMOUNT:\\\"unmounted\\\",ANIMATION_OUT:\\\"unmountSuspended\\\"},unmountSuspended:{MOUNT:\\\"mounted\\\",ANIMATION_END:\\\"unmounted\\\"},unmounted:{MOUNT:\\\"mounted\\\"}});return(0,import_react47.useEffect)(()=>{var e=$921a889cee6df7e8$var$getAnimationName(a.current);s.current=\\\"mounted\\\"===n?e:\\\"none\\\"},[n]),$9f79659886946c16$export$e5c5a5f917a5871c(()=>{var e,t,r=a.current,n=i.current;n!==o&&(e=s.current,t=$921a889cee6df7e8$var$getAnimationName(r),o?c(\\\"MOUNT\\\"):\\\"none\\\"!==t&&\\\"none\\\"!==(null==r?void 0:r.display)&&n&&e!==t?c(\\\"ANIMATION_OUT\\\"):c(\\\"UNMOUNT\\\"),i.current=o)},[o,c]),$9f79659886946c16$export$e5c5a5f917a5871c(()=>{if(r){const e=e=>{var t=$921a889cee6df7e8$var$getAnimationName(a.current).includes(e.animationName);e.target===r&&t&&(0,import_react_dom9.flushSync)(()=>c(\\\"ANIMATION_END\\\"))},t=e=>{e.target===r&&(s.current=$921a889cee6df7e8$var$getAnimationName(a.current))};return r.addEventListener(\\\"animationstart\\\",t),r.addEventListener(\\\"animationcancel\\\",e),r.addEventListener(\\\"animationend\\\",e),()=>{r.removeEventListener(\\\"animationstart\\\",t),r.removeEventListener(\\\"animationcancel\\\",e),r.removeEventListener(\\\"animationend\\\",e)}}c(\\\"ANIMATION_END\\\")},[r,c]),{isPresent:[\\\"mounted\\\",\\\"unmountSuspended\\\"].includes(n),ref:(0,import_react47.useCallback)(e=>{e&&(a.current=getComputedStyle(e)),t(e)},[])}}function $921a889cee6df7e8$var$getAnimationName(e){return(null==e?void 0:e.animationName)||\\\"none\\\"}$921a889cee6df7e8$export$99c2b779aa4e8b8b.displayName=\\\"Presence\\\",init_esbuild_inject();var import_react48=require(\\\"react\\\"),$d7bdfb9eb0fdf311$var$ENTRY_FOCUS=\\\"rovingFocusGroup.onEntryFocus\\\",$d7bdfb9eb0fdf311$var$EVENT_OPTIONS={bubbles:!1,cancelable:!0},$d7bdfb9eb0fdf311$var$GROUP_NAME=\\\"RovingFocusGroup\\\",[$d7bdfb9eb0fdf311$var$Collection,$d7bdfb9eb0fdf311$var$useCollection,$d7bdfb9eb0fdf311$var$createCollectionScope]=$e02a7d9cb1dc128c$export$c74125a8e3af6bb2($d7bdfb9eb0fdf311$var$GROUP_NAME),[$d7bdfb9eb0fdf311$var$createRovingFocusGroupContext,$d7bdfb9eb0fdf311$export$c7109489551a4f4]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($d7bdfb9eb0fdf311$var$GROUP_NAME,[$d7bdfb9eb0fdf311$var$createCollectionScope]),[$d7bdfb9eb0fdf311$var$RovingFocusProvider,$d7bdfb9eb0fdf311$var$useRovingFocusContext]=$d7bdfb9eb0fdf311$var$createRovingFocusGroupContext($d7bdfb9eb0fdf311$var$GROUP_NAME),$d7bdfb9eb0fdf311$export$8699f7c8af148338=(0,import_react48.forwardRef)((e,t)=>(0,import_react48.createElement)($d7bdfb9eb0fdf311$var$Collection.Provider,{scope:e.__scopeRovingFocusGroup},(0,import_react48.createElement)($d7bdfb9eb0fdf311$var$Collection.Slot,{scope:e.__scopeRovingFocusGroup},(0,import_react48.createElement)($d7bdfb9eb0fdf311$var$RovingFocusGroupImpl,_extends2({},e,{ref:t}))))),$d7bdfb9eb0fdf311$var$RovingFocusGroupImpl=(0,import_react48.forwardRef)((e,t)=>{const{__scopeRovingFocusGroup:r,orientation:n,loop:o=!1,dir:a,currentTabStopId:i,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,...u}=e,d=(0,import_react48.useRef)(null);var p=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,d),f=$f631663db3294ace$export$b39126d51d94e6f3(a);const[g=null,m]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:i,defaultProp:s,onChange:c}),[h,_]=(0,import_react48.useState)(!1),v=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(l),y=$d7bdfb9eb0fdf311$var$useCollection(r),b=(0,import_react48.useRef)(!1),[E,T]=(0,import_react48.useState)(0);return(0,import_react48.useEffect)(()=>{const e=d.current;if(e)return e.addEventListener($d7bdfb9eb0fdf311$var$ENTRY_FOCUS,v),()=>e.removeEventListener($d7bdfb9eb0fdf311$var$ENTRY_FOCUS,v)},[v]),(0,import_react48.createElement)($d7bdfb9eb0fdf311$var$RovingFocusProvider,{scope:r,orientation:n,dir:f,loop:o,currentTabStopId:g,onItemFocus:(0,import_react48.useCallback)(e=>m(e),[m]),onItemShiftTab:(0,import_react48.useCallback)(()=>_(!0),[]),onFocusableItemAdd:(0,import_react48.useCallback)(()=>T(e=>e+1),[]),onFocusableItemRemove:(0,import_react48.useCallback)(()=>T(e=>e-1),[])},(0,import_react48.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends2({tabIndex:h||0===E?-1:0,\\\"data-orientation\\\":n},u,{ref:p,style:{outline:\\\"none\\\",...e.style},onMouseDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onMouseDown,()=>{b.current=!0}),onFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocus,e=>{var t=!b.current;e.target===e.currentTarget&&t&&!h&&(t=new CustomEvent($d7bdfb9eb0fdf311$var$ENTRY_FOCUS,$d7bdfb9eb0fdf311$var$EVENT_OPTIONS),e.currentTarget.dispatchEvent(t),t.defaultPrevented||$d7bdfb9eb0fdf311$var$focusFirst([(t=y().filter(e=>e.focusable)).find(e=>e.active),t.find(e=>e.id===g),...t].filter(Boolean).map(e=>e.ref.current))),b.current=!1}),onBlur:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onBlur,()=>_(!1))})))}),$d7bdfb9eb0fdf311$var$ITEM_NAME=\\\"RovingFocusGroupItem\\\",$d7bdfb9eb0fdf311$export$ab9df7c53fe8454=(0,import_react48.forwardRef)((e,t)=>{const{__scopeRovingFocusGroup:r,focusable:n=!0,active:o=!1,tabStopId:a,...i}=e;var s=$1746a345f3d73bb7$export$f680877a34711e37();const c=a||s,l=$d7bdfb9eb0fdf311$var$useRovingFocusContext($d7bdfb9eb0fdf311$var$ITEM_NAME,r);s=l.currentTabStopId===c;const u=$d7bdfb9eb0fdf311$var$useCollection(r),{onFocusableItemAdd:d,onFocusableItemRemove:p}=l;return(0,import_react48.useEffect)(()=>{if(n)return d(),()=>p()},[n,d,p]),(0,import_react48.createElement)($d7bdfb9eb0fdf311$var$Collection.ItemSlot,{scope:r,id:c,focusable:n,active:o},(0,import_react48.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.span,_extends2({tabIndex:s?0:-1,\\\"data-orientation\\\":l.orientation},i,{ref:t,onMouseDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onMouseDown,e=>{n?l.onItemFocus(c):e.preventDefault()}),onFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocus,()=>l.onItemFocus(c)),onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onKeyDown,t=>{if(\\\"Tab\\\"===t.key&&t.shiftKey)l.onItemShiftTab();else if(t.target===t.currentTarget){var r=$d7bdfb9eb0fdf311$var$getFocusIntent(t,l.orientation,l.dir);if(void 0!==r){t.preventDefault();let e=u().filter(e=>e.focusable).map(e=>e.ref.current);\\\"last\\\"===r?e.reverse():\\\"prev\\\"!==r&&\\\"next\\\"!==r||(\\\"prev\\\"===r&&e.reverse(),r=e.indexOf(t.currentTarget),e=l.loop?$d7bdfb9eb0fdf311$var$wrapArray(e,r+1):e.slice(r+1)),setTimeout(()=>$d7bdfb9eb0fdf311$var$focusFirst(e))}}})})))}),$d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT={ArrowLeft:\\\"prev\\\",ArrowUp:\\\"prev\\\",ArrowRight:\\\"next\\\",ArrowDown:\\\"next\\\",PageUp:\\\"first\\\",Home:\\\"first\\\",PageDown:\\\"last\\\",End:\\\"last\\\"};function $d7bdfb9eb0fdf311$var$getDirectionAwareKey(e,t){return\\\"rtl\\\"!==t?e:\\\"ArrowLeft\\\"===e?\\\"ArrowRight\\\":\\\"ArrowRight\\\"===e?\\\"ArrowLeft\\\":e}function $d7bdfb9eb0fdf311$var$getFocusIntent(e,t,r){var n=$d7bdfb9eb0fdf311$var$getDirectionAwareKey(e.key,r);if(!(\\\"vertical\\\"===t&&[\\\"ArrowLeft\\\",\\\"ArrowRight\\\"].includes(n)||\\\"horizontal\\\"===t&&[\\\"ArrowUp\\\",\\\"ArrowDown\\\"].includes(n)))return $d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT[n]}function $d7bdfb9eb0fdf311$var$focusFirst(e){var t=document.activeElement;for(const r of e){if(r===t)return;if(r.focus(),document.activeElement!==t)return}}function $d7bdfb9eb0fdf311$var$wrapArray(r,n){return r.map((e,t)=>r[(n+t)%r.length])}var $d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9=$d7bdfb9eb0fdf311$export$8699f7c8af148338,$d7bdfb9eb0fdf311$export$6d08773d2e66f8f2=$d7bdfb9eb0fdf311$export$ab9df7c53fe8454,React13=(init_esbuild_inject(),init_esbuild_inject(),__toESM(require(\\\"react\\\"))),React9=(init_esbuild_inject(),__toESM(require(\\\"react\\\"))),zeroRightClassName=(init_esbuild_inject(),\\\"right-scroll-bar-position\\\"),fullWidthClassName=\\\"width-before-scroll-bar\\\",noScrollbarsClassName=\\\"with-scroll-bars-hidden\\\",removedBarSizeVariable=\\\"--removed-body-scroll-bar-size\\\";function assignRef(e,t){return\\\"function\\\"==typeof e?e(t):e&&(e.current=t),e}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var import_react49=require(\\\"react\\\");function useCallbackRef(e,t){var r=(0,import_react49.useState)(function(){return{value:e,callback:t,facade:{get current(){return r.value},set current(e){var t=r.value;t!==e&&(r.value=e,r.callback(e,t))}}}})[0];return r.callback=t,r.facade}function useMergeRefs(e,t){return useCallbackRef(t||null,function(t){return e.forEach(function(e){return assignRef(e,t)})})}function ItoI(e){return e}function innerCreateMedium(e,r){void 0===r&&(r=ItoI);var a=[],i=!1;return{read:function(){if(i)throw new Error(\\\"Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.\\\");return a.length?a[a.length-1]:e},useMedium:function(e){var t=r(e,i);return a.push(t),function(){a=a.filter(function(e){return e!==t})}},assignSyncMedium:function(t){for(i=!0;a.length;){var e=a;a=[],e.forEach(t)}a={push:function(e){return t(e)},filter:function(){return a}}},assignMedium:function(t){i=!0;var e,r=[],n=(a.length&&(e=a,a=[],e.forEach(t),r=a),function(){var e=r;r=[],e.forEach(t)}),o=function(){return Promise.resolve().then(n)};o(),a={push:function(e){r.push(e),o()},filter:function(e){return r=r.filter(e),a}}}}}function createSidecarMedium(e){void 0===e&&(e={});var t=innerCreateMedium(null);return t.options=__assign({\\\"async\\\":!0,ssr:!1},e),t}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var React8=__toESM(require(\\\"react\\\")),SideCar=function(e){var t=e.sideCar,r=__rest(e,[\\\"sideCar\\\"]);if(!t)throw new Error(\\\"Sidecar: please provide `sideCar` property to import the right car\\\");t=t.read();if(t)return React8.createElement(t,__assign({},r));throw new Error(\\\"Sidecar medium not found\\\")};function exportSidecar(e,t){return e.useMedium(t),SideCar}SideCar.isSideCarExport=!0;var currentNonce,effectCar=createSidecarMedium(),nothing=function(){},RemoveScroll=React9.forwardRef(function(e,t){var r=React9.useRef(null),n=React9.useState({onScrollCapture:nothing,onWheelCapture:nothing,onTouchMoveCapture:nothing}),o=n[0],n=n[1],a=e.forwardProps,i=e.children,s=e.className,c=e.removeScrollBar,l=e.enabled,u=e.shards,d=e.sideCar,p=e.noIsolation,f=e.inert,g=e.allowPinchZoom,m=e.as,m=void 0===m?\\\"div\\\":m,h=__rest(e,[\\\"forwardProps\\\",\\\"children\\\",\\\"className\\\",\\\"removeScrollBar\\\",\\\"enabled\\\",\\\"shards\\\",\\\"sideCar\\\",\\\"noIsolation\\\",\\\"inert\\\",\\\"allowPinchZoom\\\",\\\"as\\\"]),_=useMergeRefs([r,t]),h=__assign(__assign({},h),o);return React9.createElement(React9.Fragment,null,l&&React9.createElement(d,{sideCar:effectCar,removeScrollBar:c,shards:u,noIsolation:p,inert:f,setCallbacks:n,allowPinchZoom:!!g,lockRef:r}),a?React9.cloneElement(React9.Children.only(i),__assign(__assign({},h),{ref:_})):React9.createElement(m,__assign({},h,{className:s,ref:_}),i))}),React12=(RemoveScroll.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},RemoveScroll.classNames={fullWidth:fullWidthClassName,zeroRight:zeroRightClassName},init_esbuild_inject(),init_esbuild_inject(),__toESM(require(\\\"react\\\"))),React11=(init_esbuild_inject(),init_esbuild_inject(),__toESM(require(\\\"react\\\"))),React10=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),__toESM(require(\\\"react\\\"))),getNonce=(init_esbuild_inject(),init_esbuild_inject(),function(){return currentNonce||(\\\"undefined\\\"!=typeof __webpack_nonce__?__webpack_nonce__:void 0)});function makeStyleTag(){var e,t;return document?((e=document.createElement(\\\"style\\\")).type=\\\"text/css\\\",(t=getNonce())&&e.setAttribute(\\\"nonce\\\",t),e):null}function injectStyles(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function insertStyleTag(e){(document.head||document.getElementsByTagName(\\\"head\\\")[0]).appendChild(e)}var options,stylesheetSingleton=function(){var t=0,r=null;return{add:function(e){0==t&&(r=makeStyleTag())&&(injectStyles(r,e),insertStyleTag(r)),t++},remove:function(){!--t&&r&&(r.parentNode&&r.parentNode.removeChild(r),r=null)}}},styleHookSingleton=function(){var r=stylesheetSingleton();return function(e,t){React10.useEffect(function(){return r.add(e),function(){r.remove()}},[e&&t])}},styleSingleton=function(){var n=styleHookSingleton();return function(e){var t=e.styles,r=e.dynamic;return n(t,r),null}},zeroGap=(init_esbuild_inject(),{left:0,top:0,right:0,gap:0}),parse=function(e){return parseInt(e||\\\"\\\",10)||0},getOffset=function(e){var t=window.getComputedStyle(document.body),r=t[\\\"padding\\\"===e?\\\"paddingLeft\\\":\\\"marginLeft\\\"],n=t[\\\"padding\\\"===e?\\\"paddingTop\\\":\\\"marginTop\\\"],t=t[\\\"padding\\\"===e?\\\"paddingRight\\\":\\\"marginRight\\\"];return[parse(r),parse(n),parse(t)]},getGapWidth=function(e){var t,r,n;return void 0===e&&(e=\\\"margin\\\"),\\\"undefined\\\"==typeof window?zeroGap:(t=getOffset(e),r=document.documentElement.clientWidth,n=window.innerWidth,{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])})},Style=styleSingleton(),getStyles=function(e,t,r,n){var o=e.left,a=e.top,i=e.right,s=e.gap;return void 0===r&&(r=\\\"margin\\\"),\\\"\\\\n .\\\".concat(noScrollbarsClassName,\\\" {\\\\n overflow: hidden \\\").concat(n,\\\";\\\\n padding-right: \\\").concat(s,\\\"px \\\").concat(n,\\\";\\\\n }\\\\n body {\\\\n overflow: hidden \\\").concat(n,\\\";\\\\n overscroll-behavior: contain;\\\\n \\\").concat([t&&\\\"position: relative \\\".concat(n,\\\";\\\"),\\\"margin\\\"===r&&\\\"\\\\n padding-left: \\\".concat(o,\\\"px;\\\\n padding-top: \\\").concat(a,\\\"px;\\\\n padding-right: \\\").concat(i,\\\"px;\\\\n margin-left:0;\\\\n margin-top:0;\\\\n margin-right: \\\").concat(s,\\\"px \\\").concat(n,\\\";\\\\n \\\"),\\\"padding\\\"===r&&\\\"padding-right: \\\".concat(s,\\\"px \\\").concat(n,\\\";\\\")].filter(Boolean).join(\\\"\\\"),\\\"\\\\n }\\\\n \\\\n .\\\").concat(zeroRightClassName,\\\" {\\\\n right: \\\").concat(s,\\\"px \\\").concat(n,\\\";\\\\n }\\\\n \\\\n .\\\").concat(fullWidthClassName,\\\" {\\\\n margin-right: \\\").concat(s,\\\"px \\\").concat(n,\\\";\\\\n }\\\\n \\\\n .\\\").concat(zeroRightClassName,\\\" .\\\").concat(zeroRightClassName,\\\" {\\\\n right: 0 \\\").concat(n,\\\";\\\\n }\\\\n \\\\n .\\\").concat(fullWidthClassName,\\\" .\\\").concat(fullWidthClassName,\\\" {\\\\n margin-right: 0 \\\").concat(n,\\\";\\\\n }\\\\n \\\\n body {\\\\n \\\").concat(removedBarSizeVariable,\\\": \\\").concat(s,\\\"px;\\\\n }\\\\n\\\")},RemoveScrollBar=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,o=void 0===n?\\\"margin\\\":n,n=React11.useMemo(function(){return getGapWidth(o)},[o]);return React11.createElement(Style,{styles:getStyles(n,!t,o,r?\\\"\\\":\\\"!important\\\")})},passiveSupported=(init_esbuild_inject(),!1);if(\\\"undefined\\\"!=typeof window)try{options=Object.defineProperty({},\\\"passive\\\",{get:function(){return passiveSupported=!0}}),window.addEventListener(\\\"test\\\",options,options),window.removeEventListener(\\\"test\\\",options,options)}catch(err){passiveSupported=!1}var nonPassive=!!passiveSupported&&{passive:!1},alwaysContainsScroll=(init_esbuild_inject(),function(e){return\\\"TEXTAREA\\\"===e.tagName}),elementCanBeScrolled=function(e,t){var r=window.getComputedStyle(e);return\\\"hidden\\\"!==r[t]&&!(r.overflowY===r.overflowX&&!alwaysContainsScroll(e)&&\\\"visible\\\"===r[t])},elementCouldBeVScrolled=function(e){return elementCanBeScrolled(e,\\\"overflowY\\\")},elementCouldBeHScrolled=function(e){return elementCanBeScrolled(e,\\\"overflowX\\\")},locationCouldBeScrolled=function(e,t){var r=t;do{if(\\\"undefined\\\"!=typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),elementCouldBeScrolled(e,r)){var n=getScrollVariables(e,r),o=n[1];if(n[2]\u003Co)return!0}}while((r=r.parentNode)&&r!==document.body);return!1},getVScrollVariables=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},getHScrollVariables=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},elementCouldBeScrolled=function(e,t){return(\\\"v\\\"===e?elementCouldBeVScrolled:elementCouldBeHScrolled)(t)},getScrollVariables=function(e,t){return(\\\"v\\\"===e?getVScrollVariables:getHScrollVariables)(t)},getDirectionFactor=function(e,t){return\\\"h\\\"===e&&\\\"rtl\\\"===t?-1:1},handleScroll=function(e,t,r,n,o){var a=getDirectionFactor(e,window.getComputedStyle(t).direction),i=a*n,s=r.target,c=t.contains(s),l=!1,u=0\u003Ci,d=0,p=0;do{var f=getScrollVariables(e,s),g=f[0],f=f[1]-f[2]-a*g}while((g||f)&&elementCouldBeScrolled(e,s)&&(d+=f,p+=g),s=s.parentNode,!c&&s!==document.body||c&&(t.contains(s)||t===s));return l=u&&(o&&0===d||!o&&d\u003Ci)||!u&&(o&&0===p||!o&&p\u003C-i)?!0:l},getTouchXY=function(e){return\\\"changedTouches\\\"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},getDeltaXY=function(e){return[e.deltaX,e.deltaY]},extractRef=function(e){return e&&\\\"current\\\"in e?e.current:e},deltaCompare=function(e,t){return e[0]===t[0]&&e[1]===t[1]},generateStyle=function(e){return\\\"\\\\n .block-interactivity-\\\".concat(e,\\\" {pointer-events: none;}\\\\n .allow-interactivity-\\\").concat(e,\\\" {pointer-events: all;}\\\\n\\\")},idCounter=0,lockStack=[];function RemoveScrollSideCar(t){var a=React12.useRef([]),c=React12.useRef([0,0]),l=React12.useRef(),r=React12.useState(idCounter++)[0],o=React12.useState(function(){return styleSingleton()})[0],u=React12.useRef(t),i=(React12.useEffect(function(){u.current=t},[t]),React12.useEffect(function(){var e;if(t.inert)return document.body.classList.add(\\\"block-interactivity-\\\".concat(r)),(e=__spreadArray([t.lockRef.current],(t.shards||[]).map(extractRef),!0).filter(Boolean)).forEach(function(e){return e.classList.add(\\\"allow-interactivity-\\\".concat(r))}),function(){document.body.classList.remove(\\\"block-interactivity-\\\".concat(r)),e.forEach(function(e){return e.classList.remove(\\\"allow-interactivity-\\\".concat(r))})}},[t.inert,t.lockRef.current,t.shards]),React12.useCallback(function(e,t){var r,n,o,a,i,s;return\\\"touches\\\"in e&&2===e.touches.length?!u.current.allowPinchZoom:(a=getTouchXY(e),n=c.current,r=\\\"deltaX\\\"in e?e.deltaX:n[0]-a[0],n=\\\"deltaY\\\"in e?e.deltaY:n[1]-a[1],a=e.target,s=Math.abs(r)>Math.abs(n)?\\\"h\\\":\\\"v\\\",!(\\\"touches\\\"in e&&\\\"h\\\"==s&&\\\"range\\\"===a.type)&&(!(i=locationCouldBeScrolled(s,a))||(i?o=s:(o=\\\"v\\\"==s?\\\"h\\\":\\\"v\\\",i=locationCouldBeScrolled(s,a)),!!i&&(!l.current&&\\\"changedTouches\\\"in e&&(r||n)&&(l.current=o),!o||(s=l.current||o,handleScroll(s,t,e,\\\"h\\\"===s?r:n,!0))))))},[])),e=React12.useCallback(function(e){var t,r,n=e;lockStack.length&&lockStack[lockStack.length-1]===o&&(t=(\\\"deltaY\\\"in n?getDeltaXY:getTouchXY)(n),(r=a.current.filter(function(e){return e.name===n.type&&e.target===n.target&&deltaCompare(e.delta,t)})[0])&&r.should?n.cancelable&&n.preventDefault():r||(0\u003C(r=(u.current.shards||[]).map(extractRef).filter(Boolean).filter(function(e){return e.contains(n.target)})).length?i(n,r[0]):!u.current.noIsolation)&&n.cancelable&&n.preventDefault())},[]),n=React12.useCallback(function(e,t,r,n){var o={name:e,delta:t,target:r,should:n};a.current.push(o),setTimeout(function(){a.current=a.current.filter(function(e){return e!==o})},1)},[]),s=React12.useCallback(function(e){c.current=getTouchXY(e),l.current=void 0},[]),d=React12.useCallback(function(e){n(e.type,getDeltaXY(e),e.target,i(e,t.lockRef.current))},[]),p=React12.useCallback(function(e){n(e.type,getTouchXY(e),e.target,i(e,t.lockRef.current))},[]),f=(React12.useEffect(function(){return lockStack.push(o),t.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:p}),document.addEventListener(\\\"wheel\\\",e,nonPassive),document.addEventListener(\\\"touchmove\\\",e,nonPassive),document.addEventListener(\\\"touchstart\\\",s,nonPassive),function(){lockStack=lockStack.filter(function(e){return e!==o}),document.removeEventListener(\\\"wheel\\\",e,nonPassive),document.removeEventListener(\\\"touchmove\\\",e,nonPassive),document.removeEventListener(\\\"touchstart\\\",s,nonPassive)}},[]),t.removeScrollBar),g=t.inert;return React12.createElement(React12.Fragment,null,g?React12.createElement(o,{styles:generateStyle(r)}):null,f?React12.createElement(RemoveScrollBar,{gapMode:\\\"margin\\\"}):null)}var sidecar_default=exportSidecar(effectCar,RemoveScrollSideCar),ReactRemoveScroll=React13.forwardRef(function(e,t){return React13.createElement(RemoveScroll,__assign({},e,{ref:t,sideCar:sidecar_default}))}),Combination_default=(ReactRemoveScroll.classNames=RemoveScroll.classNames,ReactRemoveScroll),$6cc32821e9371a1c$var$SELECTION_KEYS=[\\\"Enter\\\",\\\" \\\"],$6cc32821e9371a1c$var$FIRST_KEYS=[\\\"ArrowDown\\\",\\\"PageUp\\\",\\\"Home\\\"],$6cc32821e9371a1c$var$LAST_KEYS=[\\\"ArrowUp\\\",\\\"PageDown\\\",\\\"End\\\"],$6cc32821e9371a1c$var$FIRST_LAST_KEYS=[...$6cc32821e9371a1c$var$FIRST_KEYS,...$6cc32821e9371a1c$var$LAST_KEYS],$6cc32821e9371a1c$var$SUB_OPEN_KEYS={ltr:[...$6cc32821e9371a1c$var$SELECTION_KEYS,\\\"ArrowRight\\\"],rtl:[...$6cc32821e9371a1c$var$SELECTION_KEYS,\\\"ArrowLeft\\\"]},$6cc32821e9371a1c$var$SUB_CLOSE_KEYS={ltr:[\\\"ArrowLeft\\\"],rtl:[\\\"ArrowRight\\\"]},$6cc32821e9371a1c$var$MENU_NAME=\\\"Menu\\\",[$6cc32821e9371a1c$var$Collection,$6cc32821e9371a1c$var$useCollection,$6cc32821e9371a1c$var$createCollectionScope]=$e02a7d9cb1dc128c$export$c74125a8e3af6bb2($6cc32821e9371a1c$var$MENU_NAME),[$6cc32821e9371a1c$var$createMenuContext,$6cc32821e9371a1c$export$4027731b685e72eb]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($6cc32821e9371a1c$var$MENU_NAME,[$6cc32821e9371a1c$var$createCollectionScope,$cf1ac5d9fe0e8206$export$722aac194ae923,$d7bdfb9eb0fdf311$export$c7109489551a4f4]),$6cc32821e9371a1c$var$usePopperScope=$cf1ac5d9fe0e8206$export$722aac194ae923(),$6cc32821e9371a1c$var$useRovingFocusGroupScope=$d7bdfb9eb0fdf311$export$c7109489551a4f4(),[$6cc32821e9371a1c$var$MenuProvider,$6cc32821e9371a1c$var$useMenuContext]=$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$MENU_NAME),[$6cc32821e9371a1c$var$MenuRootProvider,$6cc32821e9371a1c$var$useMenuRootContext]=$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$MENU_NAME),$6cc32821e9371a1c$export$d9b273488cd8ce6f=e=>{var{__scopeMenu:t,open:r=!1,children:n,dir:o,onOpenChange:a,modal:i=!0}=e,s=$6cc32821e9371a1c$var$usePopperScope(t),[c,l]=(0,import_react50.useState)(null);const u=(0,import_react50.useRef)(!1),d=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(a);a=$f631663db3294ace$export$b39126d51d94e6f3(o);return(0,import_react50.useEffect)(()=>{const e=()=>{u.current=!0,document.addEventListener(\\\"pointerdown\\\",t,{capture:!0,once:!0}),document.addEventListener(\\\"pointermove\\\",t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(\\\"keydown\\\",e,{capture:!0}),()=>{document.removeEventListener(\\\"keydown\\\",e,{capture:!0}),document.removeEventListener(\\\"pointerdown\\\",t,{capture:!0}),document.removeEventListener(\\\"pointermove\\\",t,{capture:!0})}},[]),(0,import_react50.createElement)($cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9,s,(0,import_react50.createElement)($6cc32821e9371a1c$var$MenuProvider,{scope:t,open:r,onOpenChange:d,content:c,onContentChange:l},(0,import_react50.createElement)($6cc32821e9371a1c$var$MenuRootProvider,{scope:t,onClose:(0,import_react50.useCallback)(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:a,modal:i},n)))},$6cc32821e9371a1c$export$9fa5ebd18bee4d43=(0,import_react50.forwardRef)((e,t)=>{const{__scopeMenu:r,...n}=e;var o=$6cc32821e9371a1c$var$usePopperScope(r);return(0,import_react50.createElement)($cf1ac5d9fe0e8206$export$b688253958b8dfe7,_extends2({},o,n,{ref:t}))}),$6cc32821e9371a1c$var$PORTAL_NAME=\\\"MenuPortal\\\",[$6cc32821e9371a1c$var$PortalProvider,$6cc32821e9371a1c$var$usePortalContext]=$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$PORTAL_NAME,{forceMount:void 0}),$6cc32821e9371a1c$export$793392f970497feb=e=>{var{__scopeMenu:t,forceMount:r,children:n,container:o}=e,a=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$PORTAL_NAME,t);return(0,import_react50.createElement)($6cc32821e9371a1c$var$PortalProvider,{scope:t,forceMount:r},(0,import_react50.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:r||a.open},(0,import_react50.createElement)($f1701beae083dbae$export$602eac185826482c,{asChild:!0,container:o},n)))},$6cc32821e9371a1c$var$CONTENT_NAME=\\\"MenuContent\\\",[$6cc32821e9371a1c$var$MenuContentProvider,$6cc32821e9371a1c$var$useMenuContentContext]=$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$CONTENT_NAME),$6cc32821e9371a1c$export$479f0f2f71193efe=(0,import_react50.forwardRef)((e,t)=>{var r=$6cc32821e9371a1c$var$usePortalContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu);const{forceMount:n=r.forceMount,...o}=e;var r=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu),a=$6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu);return(0,import_react50.createElement)($6cc32821e9371a1c$var$Collection.Provider,{scope:e.__scopeMenu},(0,import_react50.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:n||r.open},(0,import_react50.createElement)($6cc32821e9371a1c$var$Collection.Slot,{scope:e.__scopeMenu},a.modal?(0,import_react50.createElement)($6cc32821e9371a1c$var$MenuRootContentModal,_extends2({},o,{ref:t})):(0,import_react50.createElement)($6cc32821e9371a1c$var$MenuRootContentNonModal,_extends2({},o,{ref:t})))))}),$6cc32821e9371a1c$var$MenuRootContentModal=(0,import_react50.forwardRef)((e,t)=>{const r=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu),n=(0,import_react50.useRef)(null);var o=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,n);return(0,import_react50.useEffect)(()=>{var e=n.current;if(e)return hideOthers(e)},[]),(0,import_react50.createElement)($6cc32821e9371a1c$var$MenuContentImpl,_extends2({},e,{ref:o,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)}))}),$6cc32821e9371a1c$var$MenuRootContentNonModal=(0,import_react50.forwardRef)((e,t)=>{const r=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu);return(0,import_react50.createElement)($6cc32821e9371a1c$var$MenuContentImpl,_extends2({},e,{ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)}))}),$6cc32821e9371a1c$var$MenuContentImpl=(0,import_react50.forwardRef)((e,t)=>{const{__scopeMenu:r,loop:n=!1,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:i,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:p,onDismiss:f,disableOutsideScroll:g,...m}=e;var h=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME,r);const _=$6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME,r);var v=$6cc32821e9371a1c$var$usePopperScope(r),y=$6cc32821e9371a1c$var$useRovingFocusGroupScope(r);const b=$6cc32821e9371a1c$var$useCollection(r),[E,T]=(0,import_react50.useState)(null),C=(0,import_react50.useRef)(null);var w=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,C,h.onContentChange);const S=(0,import_react50.useRef)(0),x=(0,import_react50.useRef)(\\\"\\\");var D=(0,import_react50.useRef)(0);const $=(0,import_react50.useRef)(null),A=(0,import_react50.useRef)(\\\"right\\\"),O=(0,import_react50.useRef)(0);var P=g?Combination_default:import_react50.Fragment,I=g?{as:$5e63c961fc1ce211$export$8c6ed5c666ac1360,allowPinchZoom:!0}:void 0;const j=e=>{var t=x.current+e,r=b().filter(e=>!e.disabled);const n=document.activeElement;var o=null==(o=r.find(e=>e.ref.current===n))?void 0:o.textValue;const a=$6cc32821e9371a1c$var$getNextMatch(r.map(e=>e.textValue),t,o),i=null==(o=r.find(e=>e.textValue===a))?void 0:o.ref.current;!function s(e){x.current=e,window.clearTimeout(S.current),\\\"\\\"!==e&&(S.current=window.setTimeout(()=>s(\\\"\\\"),1e3))}(t),i&&setTimeout(()=>i.focus())},R=((0,import_react50.useEffect)(()=>()=>window.clearTimeout(S.current),[]),$3db38b7d1fb3fe6a$export$b7ece24a22aeda8c(),(0,import_react50.useCallback)(e=>{var t;return A.current===(null==(t=$.current)?void 0:t.side)&&$6cc32821e9371a1c$var$isPointerInGraceArea(e,null==(t=$.current)?void 0:t.area)},[]));return(0,import_react50.createElement)($6cc32821e9371a1c$var$MenuContentProvider,{scope:r,searchRef:x,onItemEnter:(0,import_react50.useCallback)(e=>{R(e)&&e.preventDefault()},[R]),onItemLeave:(0,import_react50.useCallback)(e=>{var t;R(e)||(null!=(t=C.current)&&t.focus(),T(null))},[R]),onTriggerLeave:(0,import_react50.useCallback)(e=>{R(e)&&e.preventDefault()},[R]),pointerGraceTimerRef:D,onPointerGraceIntentChange:(0,import_react50.useCallback)(e=>{$.current=e},[])},(0,import_react50.createElement)(P,I,(0,import_react50.createElement)($d3863c46a17e8a28$export$20e40289641fbbb6,{asChild:!0,trapped:o,onMountAutoFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(a,e=>{var t;e.preventDefault(),null!=(t=C.current)&&t.focus()}),onUnmountAutoFocus:i},(0,import_react50.createElement)($5cb92bef7577960e$export$177fb62ff3ec1f22,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:p,onDismiss:f},(0,import_react50.createElement)($d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9,_extends2({asChild:!0},y,{dir:_.dir,orientation:\\\"vertical\\\",loop:n,currentTabStopId:E,onCurrentTabStopIdChange:T,onEntryFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(c,e=>{_.isUsingKeyboardRef.current||e.preventDefault()})}),(0,import_react50.createElement)($cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2,_extends2({role:\\\"menu\\\",\\\"aria-orientation\\\":\\\"vertical\\\",\\\"data-state\\\":$6cc32821e9371a1c$var$getOpenState(h.open),\\\"data-radix-menu-content\\\":\\\"\\\",dir:_.dir},v,m,{ref:w,style:{outline:\\\"none\\\",...m.style},onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(m.onKeyDown,e=>{var t=e.target.closest(\\\"[data-radix-menu-content]\\\")===e.currentTarget,r=e.ctrlKey||e.altKey||e.metaKey,n=1===e.key.length,t=(t&&(\\\"Tab\\\"===e.key&&e.preventDefault(),!r)&&n&&j(e.key),C.current);e.target===t&&$6cc32821e9371a1c$var$FIRST_LAST_KEYS.includes(e.key)&&(e.preventDefault(),r=b().filter(e=>!e.disabled).map(e=>e.ref.current),$6cc32821e9371a1c$var$LAST_KEYS.includes(e.key)&&r.reverse(),$6cc32821e9371a1c$var$focusFirst(r))}),onBlur:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(S.current),x.current=\\\"\\\")}),onPointerMove:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerMove,$6cc32821e9371a1c$var$whenMouse(e=>{var t=e.target,r=O.current!==e.clientX;e.currentTarget.contains(t)&&r&&(t=e.clientX>O.current?\\\"right\\\":\\\"left\\\",A.current=t,O.current=e.clientX)}))})))))))}),$6cc32821e9371a1c$export$22a631d1f72787bb=(0,import_react50.forwardRef)((e,t)=>{const{__scopeMenu:r,...n}=e;return(0,import_react50.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends2({role:\\\"group\\\"},n,{ref:t}))}),$6cc32821e9371a1c$export$dd37bec0e8a99143=(0,import_react50.forwardRef)((e,t)=>{const{__scopeMenu:r,...n}=e;return(0,import_react50.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends2({},n,{ref:t}))}),$6cc32821e9371a1c$var$ITEM_NAME=\\\"MenuItem\\\",$6cc32821e9371a1c$var$ITEM_SELECT=\\\"menu.itemSelect\\\",$6cc32821e9371a1c$export$2ce376c2cc3355c8=(0,import_react50.forwardRef)((r,e)=>{const{disabled:n=!1,onSelect:o,...t}=r,a=(0,import_react50.useRef)(null),i=$6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$ITEM_NAME,r.__scopeMenu),s=$6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$ITEM_NAME,r.__scopeMenu);var c=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(e,a);const l=(0,import_react50.useRef)(!1);return(0,import_react50.createElement)($6cc32821e9371a1c$var$MenuItemImpl,_extends2({},t,{ref:c,disabled:n,onClick:$e42e1063c40fb3ef$export$b9ecd428b558ff10(r.onClick,()=>{var e,t=a.current;!n&&t&&(e=new CustomEvent($6cc32821e9371a1c$var$ITEM_SELECT,{bubbles:!0,cancelable:!0}),t.addEventListener($6cc32821e9371a1c$var$ITEM_SELECT,e=>null===o||void 0===o?void 0:o(e),{once:!0}),$8927f6f2acc4f386$export$6d1a0317bde7de7f(t,e),e.defaultPrevented?l.current=!1:i.onClose())}),onPointerDown:e=>{var t;null!=(t=r.onPointerDown)&&t.call(r,e),l.current=!0},onPointerUp:$e42e1063c40fb3ef$export$b9ecd428b558ff10(r.onPointerUp,e=>{var t;l.current||null!=(t=e.currentTarget)&&t.click()}),onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(r.onKeyDown,e=>{var t=\\\"\\\"!==s.searchRef.current;n||t&&\\\" \\\"===e.key||$6cc32821e9371a1c$var$SELECTION_KEYS.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})}))}),$6cc32821e9371a1c$var$MenuItemImpl=(0,import_react50.forwardRef)((e,t)=>{const{__scopeMenu:r,disabled:n=!1,textValue:o,...a}=e,i=$6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$ITEM_NAME,r);var s=$6cc32821e9371a1c$var$useRovingFocusGroupScope(r);const c=(0,import_react50.useRef)(null);var l=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,c);const[u,d]=(0,import_react50.useState)(!1),[p,f]=(0,import_react50.useState)(\\\"\\\");return(0,import_react50.useEffect)(()=>{var e=c.current;e&&f((null!=(e=e.textContent)?e:\\\"\\\").trim())},[a.children]),(0,import_react50.createElement)($6cc32821e9371a1c$var$Collection.ItemSlot,{scope:r,disabled:n,textValue:null!=o?o:p},(0,import_react50.createElement)($d7bdfb9eb0fdf311$export$6d08773d2e66f8f2,_extends2({asChild:!0},s,{focusable:!n}),(0,import_react50.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends2({role:\\\"menuitem\\\",\\\"data-highlighted\\\":u?\\\"\\\":void 0,\\\"aria-disabled\\\":n||void 0,\\\"data-disabled\\\":n?\\\"\\\":void 0},a,{ref:l,onPointerMove:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerMove,$6cc32821e9371a1c$var$whenMouse(e=>{n?i.onItemLeave(e):(i.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus())})),onPointerLeave:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerLeave,$6cc32821e9371a1c$var$whenMouse(e=>i.onItemLeave(e))),onFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocus,()=>d(!0)),onBlur:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onBlur,()=>d(!1))}))))}),$6cc32821e9371a1c$export$f6f243521332502d=(0,import_react50.forwardRef)((e,t)=>{const{checked:r=!1,onCheckedChange:n,...o}=e;return(0,import_react50.createElement)($6cc32821e9371a1c$var$ItemIndicatorProvider,{scope:e.__scopeMenu,checked:r},(0,import_react50.createElement)($6cc32821e9371a1c$export$2ce376c2cc3355c8,_extends2({role:\\\"menuitemcheckbox\\\",\\\"aria-checked\\\":$6cc32821e9371a1c$var$isIndeterminate(r)?\\\"mixed\\\":r},o,{ref:t,\\\"data-state\\\":$6cc32821e9371a1c$var$getCheckedState(r),onSelect:$e42e1063c40fb3ef$export$b9ecd428b558ff10(o.onSelect,()=>null===n||void 0===n?void 0:n(!!$6cc32821e9371a1c$var$isIndeterminate(r)||!r),{checkForDefaultPrevented:!1})})))}),$6cc32821e9371a1c$var$RADIO_GROUP_NAME=\\\"MenuRadioGroup\\\",[$6cc32821e9371a1c$var$RadioGroupProvider,$6cc32821e9371a1c$var$useRadioGroupContext]=$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$RADIO_GROUP_NAME,{value:void 0,onValueChange:()=>{}}),$6cc32821e9371a1c$export$ea2200c9eee416b3=(0,import_react50.forwardRef)((e,t)=>{const{value:r,onValueChange:n,...o}=e;var a=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(n);return(0,import_react50.createElement)($6cc32821e9371a1c$var$RadioGroupProvider,{scope:e.__scopeMenu,value:r,onValueChange:a},(0,import_react50.createElement)($6cc32821e9371a1c$export$22a631d1f72787bb,_extends2({},o,{ref:t})))}),$6cc32821e9371a1c$var$RADIO_ITEM_NAME=\\\"MenuRadioItem\\\",$6cc32821e9371a1c$export$69bd225e9817f6d0=(0,import_react50.forwardRef)((e,t)=>{const{value:r,...n}=e,o=$6cc32821e9371a1c$var$useRadioGroupContext($6cc32821e9371a1c$var$RADIO_ITEM_NAME,e.__scopeMenu);var a=r===o.value;return(0,import_react50.createElement)($6cc32821e9371a1c$var$ItemIndicatorProvider,{scope:e.__scopeMenu,checked:a},(0,import_react50.createElement)($6cc32821e9371a1c$export$2ce376c2cc3355c8,_extends2({role:\\\"menuitemradio\\\",\\\"aria-checked\\\":a},n,{ref:t,\\\"data-state\\\":$6cc32821e9371a1c$var$getCheckedState(a),onSelect:$e42e1063c40fb3ef$export$b9ecd428b558ff10(n.onSelect,()=>{var e;return null==(e=o.onValueChange)?void 0:e.call(o,r)},{checkForDefaultPrevented:!1})})))}),$6cc32821e9371a1c$var$ITEM_INDICATOR_NAME=\\\"MenuItemIndicator\\\",[$6cc32821e9371a1c$var$ItemIndicatorProvider,$6cc32821e9371a1c$var$useItemIndicatorContext]=$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$ITEM_INDICATOR_NAME,{checked:!1}),$6cc32821e9371a1c$export$a2593e23056970a3=(0,import_react50.forwardRef)((e,t)=>{const{__scopeMenu:r,forceMount:n,...o}=e;var a=$6cc32821e9371a1c$var$useItemIndicatorContext($6cc32821e9371a1c$var$ITEM_INDICATOR_NAME,r);return(0,import_react50.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:n||$6cc32821e9371a1c$var$isIndeterminate(a.checked)||!0===a.checked},(0,import_react50.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.span,_extends2({},o,{ref:t,\\\"data-state\\\":$6cc32821e9371a1c$var$getCheckedState(a.checked)})))}),$6cc32821e9371a1c$export$1cec7dcdd713e220=(0,import_react50.forwardRef)((e,t)=>{const{__scopeMenu:r,...n}=e;return(0,import_react50.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends2({role:\\\"separator\\\",\\\"aria-orientation\\\":\\\"horizontal\\\"},n,{ref:t}))}),$6cc32821e9371a1c$var$SUB_NAME=\\\"MenuSub\\\",[$6cc32821e9371a1c$var$MenuSubProvider,$6cc32821e9371a1c$var$useMenuSubContext]=$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$SUB_NAME),$6cc32821e9371a1c$var$SUB_TRIGGER_NAME=\\\"MenuSubTrigger\\\",$6cc32821e9371a1c$export$5fbbb3ba7297405f=(0,import_react50.forwardRef)((r,e)=>{const i=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME,r.__scopeMenu),n=$6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME,r.__scopeMenu);var t=$6cc32821e9371a1c$var$useMenuSubContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME,r.__scopeMenu);const s=$6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME,r.__scopeMenu),o=(0,import_react50.useRef)(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:a}=s;var l={__scopeMenu:r.__scopeMenu};const u=(0,import_react50.useCallback)(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return(0,import_react50.useEffect)(()=>u,[u]),(0,import_react50.useEffect)(()=>{const e=c.current;return()=>{window.clearTimeout(e),a(null)}},[c,a]),(0,import_react50.createElement)($6cc32821e9371a1c$export$9fa5ebd18bee4d43,_extends2({asChild:!0},l),(0,import_react50.createElement)($6cc32821e9371a1c$var$MenuItemImpl,_extends2({id:t.triggerId,\\\"aria-haspopup\\\":\\\"menu\\\",\\\"aria-expanded\\\":i.open,\\\"aria-controls\\\":t.contentId,\\\"data-state\\\":$6cc32821e9371a1c$var$getOpenState(i.open)},r,{ref:$6ed0406888f73fc4$export$43e446d32b3d21af(e,t.onTriggerChange),onClick:e=>{var t;null!=(t=r.onClick)&&t.call(r,e),r.disabled||e.defaultPrevented||(e.currentTarget.focus(),i.open)||i.onOpenChange(!0)},onPointerMove:$e42e1063c40fb3ef$export$b9ecd428b558ff10(r.onPointerMove,$6cc32821e9371a1c$var$whenMouse(e=>{s.onItemEnter(e),e.defaultPrevented||r.disabled||i.open||o.current||(s.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{i.onOpenChange(!0),u()},100))})),onPointerLeave:$e42e1063c40fb3ef$export$b9ecd428b558ff10(r.onPointerLeave,$6cc32821e9371a1c$var$whenMouse(e=>{u();var t,r,n,o,a=null==(a=i.content)?void 0:a.getBoundingClientRect();a?(r=(o=\\\"right\\\"===(t=null==(t=i.content)?void 0:t.dataset.side))?-5:5,n=a[o?\\\"left\\\":\\\"right\\\"],o=a[o?\\\"right\\\":\\\"left\\\"],s.onPointerGraceIntentChange({area:[{x:e.clientX+r,y:e.clientY},{x:n,y:a.top},{x:o,y:a.top},{x:o,y:a.bottom},{x:n,y:a.bottom}],side:t}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)):(s.onTriggerLeave(e),e.defaultPrevented||s.onPointerGraceIntentChange(null))})),onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(r.onKeyDown,e=>{var t=\\\"\\\"!==s.searchRef.current;r.disabled||t&&\\\" \\\"===e.key||$6cc32821e9371a1c$var$SUB_OPEN_KEYS[n.dir].includes(e.key)&&(i.onOpenChange(!0),null!=(t=i.content)&&t.focus(),e.preventDefault())})})))}),$6cc32821e9371a1c$var$SUB_CONTENT_NAME=\\\"MenuSubContent\\\",$6cc32821e9371a1c$export$e7142ab31822bde6=(0,import_react50.forwardRef)((e,t)=>{var r=$6cc32821e9371a1c$var$usePortalContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu);const{forceMount:n=r.forceMount,...o}=e,a=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu),i=$6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu),s=$6cc32821e9371a1c$var$useMenuSubContext($6cc32821e9371a1c$var$SUB_CONTENT_NAME,e.__scopeMenu),c=(0,import_react50.useRef)(null);r=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,c);return(0,import_react50.createElement)($6cc32821e9371a1c$var$Collection.Provider,{scope:e.__scopeMenu},(0,import_react50.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:n||a.open},(0,import_react50.createElement)($6cc32821e9371a1c$var$Collection.Slot,{scope:e.__scopeMenu},(0,import_react50.createElement)($6cc32821e9371a1c$var$MenuContentImpl,_extends2({id:s.contentId,\\\"aria-labelledby\\\":s.triggerId},o,{ref:r,align:\\\"start\\\",side:\\\"rtl\\\"===i.dir?\\\"left\\\":\\\"right\\\",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{var t;i.isUsingKeyboardRef.current&&null!=(t=c.current)&&t.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocusOutside,e=>{e.target!==s.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onEscapeKeyDown,e=>{i.onClose(),e.preventDefault()}),onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onKeyDown,e=>{var t=e.currentTarget.contains(e.target),r=$6cc32821e9371a1c$var$SUB_CLOSE_KEYS[i.dir].includes(e.key);t&&r&&(a.onOpenChange(!1),null!=(t=s.trigger)&&t.focus(),e.preventDefault())})})))))});function $6cc32821e9371a1c$var$getOpenState(e){return e?\\\"open\\\":\\\"closed\\\"}function $6cc32821e9371a1c$var$isIndeterminate(e){return\\\"indeterminate\\\"===e}function $6cc32821e9371a1c$var$getCheckedState(e){return $6cc32821e9371a1c$var$isIndeterminate(e)?\\\"indeterminate\\\":e?\\\"checked\\\":\\\"unchecked\\\"}function $6cc32821e9371a1c$var$focusFirst(e){var t=document.activeElement;for(const r of e){if(r===t)return;if(r.focus(),document.activeElement!==t)return}}function $6cc32821e9371a1c$var$wrapArray(r,n){return r.map((e,t)=>r[(n+t)%r.length])}function $6cc32821e9371a1c$var$getNextMatch(e,t,r){const n=1\u003Ct.length&&Array.from(t).every(e=>e===t[0])?t[0]:t;var o=r?e.indexOf(r):-1;let a=$6cc32821e9371a1c$var$wrapArray(e,Math.max(o,0));o=1===n.length,o=(a=o?a.filter(e=>e!==r):a).find(e=>e.toLowerCase().startsWith(n.toLowerCase()));return o!==r?o:void 0}function $6cc32821e9371a1c$var$isPointInPolygon(e,t){var{x:r,y:n}=e;let o=!1;for(let l=0,u=t.length-1;l\u003Ct.length;u=l++){var a=t[l].x,i=t[l].y,s=t[u].x,c=t[u].y;n\u003Ci!=n\u003Cc&&r\u003C(s-a)*(n-i)/(c-i)+a&&(o=!o)}return o}function $6cc32821e9371a1c$var$isPointerInGraceArea(e,t){return!!t&&$6cc32821e9371a1c$var$isPointInPolygon({x:e.clientX,y:e.clientY},t)}function $6cc32821e9371a1c$var$whenMouse(t){return e=>\\\"mouse\\\"===e.pointerType?t(e):void 0}var $6cc32821e9371a1c$export$be92b6f5f03c0fe9=$6cc32821e9371a1c$export$d9b273488cd8ce6f,$6cc32821e9371a1c$export$b688253958b8dfe7=$6cc32821e9371a1c$export$9fa5ebd18bee4d43,$6cc32821e9371a1c$export$602eac185826482c=$6cc32821e9371a1c$export$793392f970497feb,$6cc32821e9371a1c$export$7c6e2c02157bb7d2=$6cc32821e9371a1c$export$479f0f2f71193efe,$6cc32821e9371a1c$export$b04be29aa201d4f5=$6cc32821e9371a1c$export$dd37bec0e8a99143,$6cc32821e9371a1c$export$6d08773d2e66f8f2=$6cc32821e9371a1c$export$2ce376c2cc3355c8,$6cc32821e9371a1c$export$16ce288f89fa631c=$6cc32821e9371a1c$export$f6f243521332502d,$6cc32821e9371a1c$export$a98f0dcb43a68a25=$6cc32821e9371a1c$export$ea2200c9eee416b3,$6cc32821e9371a1c$export$371ab307eab489c0=$6cc32821e9371a1c$export$69bd225e9817f6d0,$6cc32821e9371a1c$export$c3468e2714d175fa=$6cc32821e9371a1c$export$a2593e23056970a3,$6cc32821e9371a1c$export$1ff3c3f08ae963c0=$6cc32821e9371a1c$export$1cec7dcdd713e220,$6cc32821e9371a1c$export$2ea8a7a591ac5eac=$6cc32821e9371a1c$export$5fbbb3ba7297405f,$6cc32821e9371a1c$export$6d4de93b380beddf=$6cc32821e9371a1c$export$e7142ab31822bde6,$d08ef79370b62062$var$DROPDOWN_MENU_NAME=\\\"DropdownMenu\\\",[$d08ef79370b62062$var$createDropdownMenuContext,$d08ef79370b62062$export$c0623cd925aeb687]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($d08ef79370b62062$var$DROPDOWN_MENU_NAME,[$6cc32821e9371a1c$export$4027731b685e72eb]),$d08ef79370b62062$var$useMenuScope=$6cc32821e9371a1c$export$4027731b685e72eb(),[$d08ef79370b62062$var$DropdownMenuProvider,$d08ef79370b62062$var$useDropdownMenuContext]=$d08ef79370b62062$var$createDropdownMenuContext($d08ef79370b62062$var$DROPDOWN_MENU_NAME),$d08ef79370b62062$export$e44a253a59704894=e=>{var{__scopeDropdownMenu:t,children:r,dir:n,open:o,defaultOpen:a,onOpenChange:i,modal:s=!0}=e,c=$d08ef79370b62062$var$useMenuScope(t),l=(0,import_react51.useRef)(null);const[u=!1,d]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:o,defaultProp:a,onChange:i});return(0,import_react51.createElement)($d08ef79370b62062$var$DropdownMenuProvider,{scope:t,triggerId:$1746a345f3d73bb7$export$f680877a34711e37(),triggerRef:l,contentId:$1746a345f3d73bb7$export$f680877a34711e37(),open:u,onOpenChange:d,onOpenToggle:(0,import_react51.useCallback)(()=>d(e=>!e),[d]),modal:s},(0,import_react51.createElement)($6cc32821e9371a1c$export$be92b6f5f03c0fe9,_extends2({},c,{open:u,onOpenChange:d,dir:n,modal:s}),r))},$d08ef79370b62062$var$TRIGGER_NAME=\\\"DropdownMenuTrigger\\\",$d08ef79370b62062$export$d2469213b3befba9=(0,import_react51.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,disabled:n=!1,...o}=e,a=$d08ef79370b62062$var$useDropdownMenuContext($d08ef79370b62062$var$TRIGGER_NAME,r);var i=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react51.createElement)($6cc32821e9371a1c$export$b688253958b8dfe7,_extends2({asChild:!0},i),(0,import_react51.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.button,_extends2({type:\\\"button\\\",id:a.triggerId,\\\"aria-haspopup\\\":\\\"menu\\\",\\\"aria-expanded\\\":a.open,\\\"aria-controls\\\":a.open?a.contentId:void 0,\\\"data-state\\\":a.open?\\\"open\\\":\\\"closed\\\",\\\"data-disabled\\\":n?\\\"\\\":void 0,disabled:n},o,{ref:$6ed0406888f73fc4$export$43e446d32b3d21af(t,a.triggerRef),onPointerDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerDown,e=>{n||0!==e.button||!1!==e.ctrlKey||(a.onOpenToggle(),a.open)||e.preventDefault()}),onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onKeyDown,e=>{n||([\\\"Enter\\\",\\\" \\\"].includes(e.key)&&a.onOpenToggle(),\\\"ArrowDown\\\"===e.key&&a.onOpenChange(!0),[\\\"Enter\\\",\\\" \\\",\\\"ArrowDown\\\"].includes(e.key)&&e.preventDefault())})})))}),$d08ef79370b62062$export$cd369b4d4d54efc9=e=>{const{__scopeDropdownMenu:t,...r}=e;var n=$d08ef79370b62062$var$useMenuScope(t);return(0,import_react51.createElement)($6cc32821e9371a1c$export$602eac185826482c,_extends2({},n,r))},$d08ef79370b62062$var$CONTENT_NAME=\\\"DropdownMenuContent\\\",$d08ef79370b62062$export$6e76d93a37c01248=(0,import_react51.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...n}=e,o=$d08ef79370b62062$var$useDropdownMenuContext($d08ef79370b62062$var$CONTENT_NAME,r);var a=$d08ef79370b62062$var$useMenuScope(r);const i=(0,import_react51.useRef)(!1);return(0,import_react51.createElement)($6cc32821e9371a1c$export$7c6e2c02157bb7d2,_extends2({id:o.contentId,\\\"aria-labelledby\\\":o.triggerId},a,n,{ref:t,onCloseAutoFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onCloseAutoFocus,e=>{var t;i.current||null!=(t=o.triggerRef.current)&&t.focus(),i.current=!1,e.preventDefault()}),onInteractOutside:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onInteractOutside,e=>{var t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey,t=2===t.button||r;o.modal&&!t||(i.current=!0)}),style:{...e.style,\\\"--radix-dropdown-menu-content-transform-origin\\\":\\\"var(--radix-popper-transform-origin)\\\",\\\"--radix-dropdown-menu-content-available-width\\\":\\\"var(--radix-popper-available-width)\\\",\\\"--radix-dropdown-menu-content-available-height\\\":\\\"var(--radix-popper-available-height)\\\",\\\"--radix-dropdown-menu-trigger-width\\\":\\\"var(--radix-popper-anchor-width)\\\",\\\"--radix-dropdown-menu-trigger-height\\\":\\\"var(--radix-popper-anchor-height)\\\"}}))}),$d08ef79370b62062$export$76e48c5b57f24495=(0,import_react51.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...n}=e;var o=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react51.createElement)($6cc32821e9371a1c$export$b04be29aa201d4f5,_extends2({},o,n,{ref:t}))}),$d08ef79370b62062$export$ed97964d1871885d=(0,import_react51.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...n}=e;var o=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react51.createElement)($6cc32821e9371a1c$export$6d08773d2e66f8f2,_extends2({},o,n,{ref:t}))}),$d08ef79370b62062$export$53a69729da201fa9=(0,import_react51.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...n}=e;var o=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react51.createElement)($6cc32821e9371a1c$export$16ce288f89fa631c,_extends2({},o,n,{ref:t}))}),$d08ef79370b62062$export$3323ad73d55f587e=(0,import_react51.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...n}=e;var o=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react51.createElement)($6cc32821e9371a1c$export$a98f0dcb43a68a25,_extends2({},o,n,{ref:t}))}),$d08ef79370b62062$export$e4f69b41b1637536=(0,import_react51.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...n}=e;var o=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react51.createElement)($6cc32821e9371a1c$export$371ab307eab489c0,_extends2({},o,n,{ref:t}))}),$d08ef79370b62062$export$42355ae145153fb6=(0,import_react51.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...n}=e;var o=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react51.createElement)($6cc32821e9371a1c$export$c3468e2714d175fa,_extends2({},o,n,{ref:t}))}),$d08ef79370b62062$export$da160178fd3bc7e9=(0,import_react51.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...n}=e;var o=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react51.createElement)($6cc32821e9371a1c$export$1ff3c3f08ae963c0,_extends2({},o,n,{ref:t}))}),$d08ef79370b62062$export$21dcb7ec56f874cf=(0,import_react51.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...n}=e;var o=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react51.createElement)($6cc32821e9371a1c$export$2ea8a7a591ac5eac,_extends2({},o,n,{ref:t}))}),$d08ef79370b62062$export$f34ec8bc2482cc5f=(0,import_react51.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...n}=e;var o=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react51.createElement)($6cc32821e9371a1c$export$6d4de93b380beddf,_extends2({},o,n,{ref:t,style:{...e.style,\\\"--radix-dropdown-menu-content-transform-origin\\\":\\\"var(--radix-popper-transform-origin)\\\",\\\"--radix-dropdown-menu-content-available-width\\\":\\\"var(--radix-popper-available-width)\\\",\\\"--radix-dropdown-menu-content-available-height\\\":\\\"var(--radix-popper-available-height)\\\",\\\"--radix-dropdown-menu-trigger-width\\\":\\\"var(--radix-popper-anchor-width)\\\",\\\"--radix-dropdown-menu-trigger-height\\\":\\\"var(--radix-popper-anchor-height)\\\"}}))}),$d08ef79370b62062$export$be92b6f5f03c0fe9=$d08ef79370b62062$export$e44a253a59704894,$d08ef79370b62062$export$41fb9f06171c75f4=$d08ef79370b62062$export$d2469213b3befba9,$d08ef79370b62062$export$602eac185826482c=$d08ef79370b62062$export$cd369b4d4d54efc9,$d08ef79370b62062$export$7c6e2c02157bb7d2=$d08ef79370b62062$export$6e76d93a37c01248,$d08ef79370b62062$export$b04be29aa201d4f5=$d08ef79370b62062$export$76e48c5b57f24495,$d08ef79370b62062$export$6d08773d2e66f8f2=$d08ef79370b62062$export$ed97964d1871885d,$d08ef79370b62062$export$16ce288f89fa631c=$d08ef79370b62062$export$53a69729da201fa9,$d08ef79370b62062$export$a98f0dcb43a68a25=$d08ef79370b62062$export$3323ad73d55f587e,$d08ef79370b62062$export$371ab307eab489c0=$d08ef79370b62062$export$e4f69b41b1637536,$d08ef79370b62062$export$c3468e2714d175fa=$d08ef79370b62062$export$42355ae145153fb6,$d08ef79370b62062$export$1ff3c3f08ae963c0=$d08ef79370b62062$export$da160178fd3bc7e9,$d08ef79370b62062$export$2ea8a7a591ac5eac=$d08ef79370b62062$export$21dcb7ec56f874cf,$d08ef79370b62062$export$6d4de93b380beddf=$d08ef79370b62062$export$f34ec8bc2482cc5f,getDefaultBoundingClientRect=()=>({width:0,height:0,x:0,y:0,top:-9999,left:-9999,right:9999,bottom:9999}),createVirtualElement=()=>({getBoundingClientRect:getDefaultBoundingClientRect}),useFloatingToolbar=({floatingOptions:e,ignoreReadOnly:t=!1,hideToolbar:r=!1}={})=>{var n;const o=useEventEditorSelectors.focus(),a=usePlateEditorState(),i=useFocused(),[s,c]=(0,import_react52.useState)(!1),[l,u]=(0,import_react52.useState)(!1),d=a&&isSelectionExpanded(a),p=a&&getSelectionText(a);(0,import_react52.useEffect)(()=>{i&&!t||c(!0),d||c(!1)},[i,t,d]),(0,import_react52.useEffect)(()=>{!d||!p||a.id!==o&&!t&&r?u(!1):p&&d&&!s&&u(!0)},[a.id,a.selection,o,r,t,d,p,s]);var f=useVirtualFloating(mergeProps({middleware:[L2(12),A2({padding:96})],placement:\\\"top\\\",getBoundingClientRect:getSelectionBoundingClientRect,open:l,onOpenChange:u},e));const g=f[\\\"update\\\"],m=null!=(n=null===p||void 0===p?void 0:p.length)?n:0;return(0,import_react52.useEffect)(()=>{0\u003Cm&&null!==g&&void 0!==g&&g()},[m,g]),{...f,open:l}},getRangeBoundingClientRect=(e,t)=>{var r;return t&&(r=toDOMRange(e,t))?r.getBoundingClientRect():getDefaultBoundingClientRect()},getSelectionBoundingClientRect=()=>{var e=window.getSelection();return!e||e.rangeCount\u003C1?getDefaultBoundingClientRect():e.getRangeAt(0).getBoundingClientRect()},useVirtualFloating=({getBoundingClientRect:e=getSelectionBoundingClientRect,...t})=>{const r=(0,import_react52.useRef)(createVirtualElement()),[n,o]=(0,import_react52.useState)(!0);var a=useFloating2({whileElementsMounted:B3,...t});const{refs:i,middlewareData:s,strategy:c,x:l,y:u,update:d}=a;return useIsomorphicLayoutEffect3(()=>{r.current.getBoundingClientRect=e},[e,d]),useIsomorphicLayoutEffect3(()=>{i.setReference(r.current)},[i]),useIsomorphicLayoutEffect3(()=>{var e;null!==s&&void 0!==s&&s.hide&&(e=s.hide[\\\"referenceHidden\\\"],o(!e))},[s.hide]),{...a,virtualElementRef:r,style:{position:c,top:null!=u?u:0,left:null!=l?l:0,display:!1===t.open?\\\"none\\\":void 0,visibility:n?void 0:\\\"hidden\\\"}}},import_react57=require(\\\"react\\\"),import_styled_components=__toESM(require_styled_components_browser_cjs()),import_typescript_styled_is=__toESM(require_dist()),import_prop_types=(init_esbuild_inject(),init_esbuild_inject(),__toESM(require_prop_types())),import_react55=require(\\\"react\\\"),import_react_is=__toESM(require_react_is2()),idCounter2=0;function cbToCb(e){return\\\"function\\\"==typeof e?e:noop}function noop(){}function scrollIntoView2(e,t){e&&i3(e,{boundary:t,block:\\\"nearest\\\",scrollMode:\\\"if-needed\\\"}).forEach(e=>{var{el:t,top:r,left:n}=e;t.scrollTop=r,t.scrollLeft=n})}function isOrContainsNode(e,t,r){return e===t||t instanceof r.Node&&e.contains&&e.contains(t)}function debounce2(n,o){let a;function i(){a&&clearTimeout(a)}function e(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];i(),a=setTimeout(()=>{a=null,n(...t)},o)}return e.cancel=i,e}function callAllEventHandlers(){for(var e=arguments.length,o=new Array(e),t=0;t\u003Ce;t++)o[t]=arguments[t];return function(t){for(var e=arguments.length,r=new Array(1\u003Ce?e-1:0),n=1;n\u003Ce;n++)r[n-1]=arguments[n];return o.some(e=>(e&&e(t,...r),t.preventDownshiftDefault||t.hasOwnProperty(\\\"nativeEvent\\\")&&t.nativeEvent.preventDownshiftDefault))}}function handleRefs(){for(var e=arguments.length,r=new Array(e),t=0;t\u003Ce;t++)r[t]=arguments[t];return t=>{r.forEach(e=>{\\\"function\\\"==typeof e?e(t):e&&(e.current=t)})}}function generateId(){return String(idCounter2++)}function getA11yStatusMessage$1(e){var{isOpen:t,resultCount:r,previousResultCount:n}=e;return t?r?r!==n?r+\\\" result\\\"+(1===r?\\\" is\\\":\\\"s are\\\")+\\\" available, use up and down arrow keys to navigate. Press Enter key to select.\\\":\\\"\\\":\\\"No results are available.\\\":\\\"\\\"}function unwrapArray(e,t){return!(e=Array.isArray(e)?e[0]:e)&&t?t:e}function isDOMElement2(e){return\\\"string\\\"==typeof e.type}function getElementProps(e){return e.props}function requiredProp(e,t){console.error('The property \\\"'+t+'\\\" is required in \\\"'+e+'\\\"')}var stateKeys=[\\\"highlightedIndex\\\",\\\"inputValue\\\",\\\"isOpen\\\",\\\"selectedItem\\\",\\\"type\\\"];function pickState(t){void 0===t&&(t={});const r={};return stateKeys.forEach(e=>{t.hasOwnProperty(e)&&(r[e]=t[e])}),r}function getState(r,n){return Object.keys(r).reduce((e,t)=>(e[t]=(isControlledProp(n,t)?n:r)[t],e),{})}function isControlledProp(e,t){return void 0!==e[t]}function normalizeArrowKey(e){var{key:t,keyCode:r}=e;return 37\u003C=r&&r\u003C=40&&0!==t.indexOf(\\\"Arrow\\\")?\\\"Arrow\\\"+t:t}function isPlainObject5(e){return\\\"[object Object]\\\"===Object.prototype.toString.call(e)}function getNextWrappingIndex2(e,t,r,n,o){if(void 0===o&&(o=!0),0===r)return-1;var a=r-1;let i=(t=\\\"number\\\"!=typeof t||t\u003C0||r\u003C=t?0\u003Ce?-1:1+a:t)+e;i\u003C0?i=o?a:0:i>a&&(i=o?0:a);a=getNextNonDisabledIndex2(e,i,r,n,o);return-1===a?r\u003C=t?-1:t:a}function getNextNonDisabledIndex2(r,n,o,a,e){var t=a(n);if(!t||!t.hasAttribute(\\\"disabled\\\"))return n;if(0\u003Cr){for(let e=n+1;e\u003Co;e++)if(!a(e).hasAttribute(\\\"disabled\\\"))return e}else for(let t=n-1;0\u003C=t;t--)if(!a(t).hasAttribute(\\\"disabled\\\"))return t;return e?0\u003Cr?getNextNonDisabledIndex2(1,0,o,a,!1):getNextNonDisabledIndex2(-1,o-1,o,a,!1):-1}function targetWithinDownshift(t,e,r,n){return void 0===n&&(n=!0),e.some(e=>e&&(isOrContainsNode(e,t,r)||n&&isOrContainsNode(e,r.document.activeElement,r)))}var validateControlledUnchanged=noop,validateControlledUnchanged=(e,t,r)=>{const n=\\\"This prop should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled Downshift element for the lifetime of the component. More info: https://github.com/downshift-js/downshift#control-props\\\";Object.keys(e).forEach(e=>{void 0!==t[e]&&void 0===r[e]?console.error('downshift: A component has changed the controlled prop \\\"'+e+'\\\" to be uncontrolled. '+n):void 0===t[e]&&void 0!==r[e]&&console.error('downshift: A component has changed the uncontrolled prop \\\"'+e+'\\\" to be controlled. '+n)})},cleanupStatus=debounce2(e=>{getStatusDiv(e).textContent=\\\"\\\"},500);function setStatus(e,t){var r=getStatusDiv(t);e&&(r.textContent=e,cleanupStatus(t))}function getStatusDiv(e){var t=(e=void 0===e?document:e).getElementById(\\\"a11y-status-message\\\");return t||((t=e.createElement(\\\"div\\\")).setAttribute(\\\"id\\\",\\\"a11y-status-message\\\"),t.setAttribute(\\\"role\\\",\\\"status\\\"),t.setAttribute(\\\"aria-live\\\",\\\"polite\\\"),t.setAttribute(\\\"aria-relevant\\\",\\\"additions text\\\"),Object.assign(t.style,{border:\\\"0\\\",clip:\\\"rect(0 0 0 0)\\\",height:\\\"1px\\\",margin:\\\"-1px\\\",overflow:\\\"hidden\\\",padding:\\\"0\\\",position:\\\"absolute\\\",width:\\\"1px\\\"}),e.body.appendChild(t)),t}var unknown=\\\"__autocomplete_unknown__\\\",mouseUp=\\\"__autocomplete_mouseup__\\\",itemMouseEnter=\\\"__autocomplete_item_mouseenter__\\\",keyDownArrowUp=\\\"__autocomplete_keydown_arrow_up__\\\",keyDownArrowDown=\\\"__autocomplete_keydown_arrow_down__\\\",keyDownEscape=\\\"__autocomplete_keydown_escape__\\\",keyDownEnter=\\\"__autocomplete_keydown_enter__\\\",keyDownHome=\\\"__autocomplete_keydown_home__\\\",keyDownEnd=\\\"__autocomplete_keydown_end__\\\",clickItem=\\\"__autocomplete_click_item__\\\",blurInput=\\\"__autocomplete_blur_input__\\\",changeInput=\\\"__autocomplete_change_input__\\\",keyDownSpaceButton=\\\"__autocomplete_keydown_space_button__\\\",clickButton=\\\"__autocomplete_click_button__\\\",blurButton=\\\"__autocomplete_blur_button__\\\",controlledPropUpdatedSelectedItem=\\\"__autocomplete_controlled_prop_updated_selected_item__\\\",touchEnd=\\\"__autocomplete_touchend__\\\",stateChangeTypes$3=Object.freeze({__proto__:null,unknown:unknown,mouseUp:mouseUp,itemMouseEnter:itemMouseEnter,keyDownArrowUp:keyDownArrowUp,keyDownArrowDown:keyDownArrowDown,keyDownEscape:keyDownEscape,keyDownEnter:keyDownEnter,keyDownHome:keyDownHome,keyDownEnd:keyDownEnd,clickItem:clickItem,blurInput:blurInput,changeInput:changeInput,keyDownSpaceButton:keyDownSpaceButton,clickButton:clickButton,blurButton:blurButton,controlledPropUpdatedSelectedItem:controlledPropUpdatedSelectedItem,touchEnd:touchEnd}),Downshift=(()=>{class e extends import_react55.Component{constructor(e){super(e),(d=this).id=this.props.id||\\\"downshift-\\\"+generateId(),this.menuId=this.props.menuId||this.id+\\\"-menu\\\",this.labelId=this.props.labelId||this.id+\\\"-label\\\",this.inputId=this.props.inputId||this.id+\\\"-input\\\",this.getItemId=this.props.getItemId||(e=>this.id+\\\"-item-\\\"+e),this.input=null,this.items=[],this.itemCount=null,this.previousResultCount=0,this.timeoutIds=[],this.internalSetTimeout=(e,t)=>{const r=setTimeout(()=>{this.timeoutIds=this.timeoutIds.filter(e=>e!==r),e()},t);this.timeoutIds.push(r)},this.setItemCount=e=>{this.itemCount=e},this.unsetItemCount=()=>{this.itemCount=null},this.setHighlightedIndex=function(e,t){void 0===e&&(e=d.props.defaultHighlightedIndex),t=pickState(t=void 0===t?{}:t),d.internalSetState({highlightedIndex:e,...t})},this.clearSelection=e=>{this.internalSetState({selectedItem:null,inputValue:\\\"\\\",highlightedIndex:this.props.defaultHighlightedIndex,isOpen:this.props.defaultIsOpen},e)},this.selectItem=(e,t,r)=>{t=pickState(t),this.internalSetState({isOpen:this.props.defaultIsOpen,highlightedIndex:this.props.defaultHighlightedIndex,selectedItem:e,inputValue:this.props.itemToString(e),...t},r)},this.selectItemAtIndex=(e,t,r)=>{var n=this.items[e];null!=n&&this.selectItem(n,t,r)},this.selectHighlightedItem=(e,t)=>this.selectItemAtIndex(this.getState().highlightedIndex,e,t),this.internalSetState=(e,t)=>{let o,a;const i={},s=\\\"function\\\"==typeof e;return!s&&e.hasOwnProperty(\\\"inputValue\\\")&&this.props.onInputValueChange(e.inputValue,{...this.getStateAndHelpers(),...e}),this.setState(t=>{t=this.getState(t);let r=s?e(t):e;r=this.props.stateReducer(t,r),o=r.hasOwnProperty(\\\"selectedItem\\\");const n={};return o&&r.selectedItem!==t.selectedItem&&(a=r.selectedItem),r.type=r.type||unknown,Object.keys(r).forEach(e=>{t[e]!==r[e]&&(i[e]=r[e]),\\\"type\\\"===e||(r[e],isControlledProp(this.props,e))||(n[e]=r[e])}),s&&r.hasOwnProperty(\\\"inputValue\\\")&&this.props.onInputValueChange(r.inputValue,{...this.getStateAndHelpers(),...r}),n},()=>{cbToCb(t)(),1\u003CObject.keys(i).length&&this.props.onStateChange(i,this.getStateAndHelpers()),o&&this.props.onSelect(e.selectedItem,this.getStateAndHelpers()),void 0!==a&&this.props.onChange(a,this.getStateAndHelpers()),this.props.onUserAction(i,this.getStateAndHelpers())})},this.rootRef=e=>this._rootNode=e,this.getRootProps=function(e,t){let{refKey:r=\\\"ref\\\",ref:n,...o}=void 0===e?{}:e;var{suppressRefError:a=!1}=void 0===t?{}:t,a=(d.getRootProps.called=!0,d.getRootProps.refKey=r,d.getRootProps.suppressRefError=a,d.getState())[\\\"isOpen\\\"];return{[r]:handleRefs(n,d.rootRef),role:\\\"combobox\\\",\\\"aria-expanded\\\":a,\\\"aria-haspopup\\\":\\\"listbox\\\",\\\"aria-owns\\\":a?d.menuId:null,\\\"aria-labelledby\\\":d.labelId,...o}},this.keyDownHandlers={ArrowDown(e){var t;e.preventDefault(),this.getState().isOpen?(t=e.shiftKey?5:1,this.moveHighlightedIndex(t,{type:keyDownArrowDown})):this.internalSetState({isOpen:!0,type:keyDownArrowDown},()=>{var e,t=this.getItemCount();0\u003Ct&&(e=this.getState()[\\\"highlightedIndex\\\"],e=getNextWrappingIndex2(1,e,t,e=>this.getItemNodeFromIndex(e)),this.setHighlightedIndex(e,{type:keyDownArrowDown}))})},ArrowUp(e){var t;e.preventDefault(),this.getState().isOpen?(t=e.shiftKey?-5:-1,this.moveHighlightedIndex(t,{type:keyDownArrowUp})):this.internalSetState({isOpen:!0,type:keyDownArrowUp},()=>{var e,t=this.getItemCount();0\u003Ct&&(e=this.getState()[\\\"highlightedIndex\\\"],e=getNextWrappingIndex2(-1,e,t,e=>this.getItemNodeFromIndex(e)),this.setHighlightedIndex(e,{type:keyDownArrowUp}))})},Enter(e){var t,r;229!==e.which&&(({isOpen:t,highlightedIndex:r}=this.getState()),t)&&null!=r&&(e.preventDefault(),t=this.items[r],r=this.getItemNodeFromIndex(r),null==t||r&&r.hasAttribute(\\\"disabled\\\")||this.selectHighlightedItem({type:keyDownEnter}))},Escape(e){e.preventDefault(),this.reset({type:keyDownEscape,...!this.state.isOpen&&{selectedItem:null,inputValue:\\\"\\\"}})}},this.buttonKeyDownHandlers={...this.keyDownHandlers,\\\" \\\"(e){e.preventDefault(),this.toggleMenu({type:keyDownSpaceButton})}},this.inputKeyDownHandlers={...this.keyDownHandlers,Home(e){var t,r=this.getState()[\\\"isOpen\\\"];r&&(e.preventDefault(),(t=this.getItemCount())\u003C=0||!r||(r=getNextNonDisabledIndex2(1,0,t,e=>this.getItemNodeFromIndex(e),!1),this.setHighlightedIndex(r,{type:keyDownHome})))},End(e){var t,r=this.getState()[\\\"isOpen\\\"];r&&(e.preventDefault(),(t=this.getItemCount())\u003C=0||!r||(r=getNextNonDisabledIndex2(-1,t-1,t,e=>this.getItemNodeFromIndex(e),!1),this.setHighlightedIndex(r,{type:keyDownEnd})))}},this.getToggleButtonProps=function(e){let{onClick:t,onPress:r,onKeyDown:n,onKeyUp:o,onBlur:a,...i}=void 0===e?{}:e;var s=d.getState()[\\\"isOpen\\\"],c={onClick:callAllEventHandlers(t,d.buttonHandleClick),onKeyDown:callAllEventHandlers(n,d.buttonHandleKeyDown),onKeyUp:callAllEventHandlers(o,d.buttonHandleKeyUp),onBlur:callAllEventHandlers(a,d.buttonHandleBlur)};return{type:\\\"button\\\",role:\\\"button\\\",\\\"aria-label\\\":s?\\\"close menu\\\":\\\"open menu\\\",\\\"aria-haspopup\\\":!0,\\\"data-toggle\\\":!0,...i.disabled?{}:c,...i}},this.buttonHandleKeyUp=e=>{e.preventDefault()},this.buttonHandleKeyDown=e=>{var t=normalizeArrowKey(e);this.buttonKeyDownHandlers[t]&&this.buttonKeyDownHandlers[t].call(this,e)},this.buttonHandleClick=e=>{e.preventDefault(),this.props.environment.document.activeElement===this.props.environment.document.body&&e.target.focus(),this.internalSetTimeout(()=>this.toggleMenu({type:clickButton}))},this.buttonHandleBlur=e=>{const t=e.target;this.internalSetTimeout(()=>{this.isMouseDown||null!=this.props.environment.document.activeElement&&this.props.environment.document.activeElement.id===this.inputId||this.props.environment.document.activeElement===t||this.reset({type:blurButton})})},this.getLabelProps=e=>({htmlFor:this.inputId,id:this.labelId,...e}),this.getInputProps=function(e){let{onKeyDown:t,onBlur:r,onChange:n,onInput:o,onChangeText:a,...i}=void 0===e?{}:e;let s={};var{inputValue:c,isOpen:l,highlightedIndex:u}=d.getState();return i.disabled||(s={onChange:callAllEventHandlers(n,o,d.inputHandleChange),onKeyDown:callAllEventHandlers(t,d.inputHandleKeyDown),onBlur:callAllEventHandlers(r,d.inputHandleBlur)}),{\\\"aria-autocomplete\\\":\\\"list\\\",\\\"aria-activedescendant\\\":l&&\\\"number\\\"==typeof u&&0\u003C=u?d.getItemId(u):null,\\\"aria-controls\\\":l?d.menuId:null,\\\"aria-labelledby\\\":d.labelId,autoComplete:\\\"off\\\",value:c,id:d.inputId,...s,...i}},this.inputHandleKeyDown=e=>{var t=normalizeArrowKey(e);t&&this.inputKeyDownHandlers[t]&&this.inputKeyDownHandlers[t].call(this,e)},this.inputHandleChange=e=>{this.internalSetState({type:changeInput,isOpen:!0,inputValue:e.target.value,highlightedIndex:this.props.defaultHighlightedIndex})},this.inputHandleBlur=()=>{this.internalSetTimeout(()=>{var e=this.props.environment.document&&!!this.props.environment.document.activeElement&&!!this.props.environment.document.activeElement.dataset&&this.props.environment.document.activeElement.dataset.toggle&&this._rootNode&&this._rootNode.contains(this.props.environment.document.activeElement);this.isMouseDown||e||this.reset({type:blurInput})})},this.menuRef=e=>{this._menuNode=e},this.getMenuProps=function(e,t){let{refKey:r=\\\"ref\\\",ref:n,...o}=void 0===e?{}:e;var{suppressRefError:a=!1}=void 0===t?{}:t;return d.getMenuProps.called=!0,d.getMenuProps.refKey=r,d.getMenuProps.suppressRefError=a,{[r]:handleRefs(n,d.menuRef),role:\\\"listbox\\\",\\\"aria-labelledby\\\":o&&o[\\\"aria-label\\\"]?null:d.labelId,id:d.menuId,...o}},this.getItemProps=function(e){let{onMouseMove:t,onMouseDown:r,onClick:n,onPress:o,index:a,item:i=requiredProp(\\\"getItemProps\\\",\\\"item\\\"),...s}=void 0===e?{}:e;void 0===a?(d.items.push(i),a=d.items.indexOf(i)):d.items[a]=i;var c=n,c={onMouseMove:callAllEventHandlers(t,()=>{a!==d.getState().highlightedIndex&&(d.setHighlightedIndex(a,{type:itemMouseEnter}),d.avoidScrolling=!0,d.internalSetTimeout(()=>d.avoidScrolling=!1,250))}),onMouseDown:callAllEventHandlers(r,e=>{e.preventDefault()}),onClick:callAllEventHandlers(c,()=>{d.selectItemAtIndex(a,{type:clickItem})})},c=s.disabled?{onMouseDown:c.onMouseDown}:c;return{id:d.getItemId(a),role:\\\"option\\\",\\\"aria-selected\\\":d.getState().highlightedIndex===a,...c,...s}},this.clearItems=()=>{this.items=[]},this.reset=function(r,e){r=pickState(r=void 0===r?{}:r),d.internalSetState(e=>{var t=e[\\\"selectedItem\\\"];return{isOpen:d.props.defaultIsOpen,highlightedIndex:d.props.defaultHighlightedIndex,inputValue:d.props.itemToString(t),...r}},e)},this.toggleMenu=function(r,n){r=pickState(r=void 0===r?{}:r),d.internalSetState(e=>{var t=e[\\\"isOpen\\\"];return{isOpen:!t,...t&&{highlightedIndex:d.props.defaultHighlightedIndex},...r}},()=>{var{isOpen:e,highlightedIndex:t}=d.getState();e&&0\u003Cd.getItemCount()&&\\\"number\\\"==typeof t&&d.setHighlightedIndex(t,r),cbToCb(n)()})},this.openMenu=e=>{this.internalSetState({isOpen:!0},e)},this.closeMenu=e=>{this.internalSetState({isOpen:!1},e)},this.updateStatus=debounce2(()=>{var e=this.getState(),t=this.items[e.highlightedIndex],r=this.getItemCount(),t=this.props.getA11yStatusMessage({itemToString:this.props.itemToString,previousResultCount:this.previousResultCount,resultCount:r,highlightedItem:t,...e});this.previousResultCount=r,setStatus(t,this.props.environment.document)},200);var d,{defaultHighlightedIndex:t,initialHighlightedIndex:t=t,defaultIsOpen:r,initialIsOpen:r=r,initialInputValue:n=\\\"\\\",initialSelectedItem:o=null}=this.props,t=this.getState({highlightedIndex:t,isOpen:r,inputValue:n,selectedItem:o});null!=t.selectedItem&&void 0===this.props.initialInputValue&&(t.inputValue=this.props.itemToString(t.selectedItem)),this.state=t}internalClearTimeouts(){this.timeoutIds.forEach(e=>{clearTimeout(e)}),this.timeoutIds=[]}getState(e){return getState(e=void 0===e?this.state:e,this.props)}getItemCount(){let e=this.items.length;return null!=this.itemCount?e=this.itemCount:void 0!==this.props.itemCount&&(e=this.props.itemCount),e}getItemNodeFromIndex(e){return this.props.environment.document.getElementById(this.getItemId(e))}scrollHighlightedItemIntoView(){var e=this.getItemNodeFromIndex(this.getState().highlightedIndex);this.props.scrollIntoView(e,this._menuNode)}moveHighlightedIndex(e,t){var r=this.getItemCount(),n=this.getState()[\\\"highlightedIndex\\\"];0\u003Cr&&(n=getNextWrappingIndex2(e,n,r,e=>this.getItemNodeFromIndex(e)),this.setHighlightedIndex(n,t))}getStateAndHelpers(){var{highlightedIndex:e,inputValue:t,selectedItem:r,isOpen:n}=this.getState(),o=this.props[\\\"itemToString\\\"],a=this[\\\"id\\\"],{getRootProps:i,getToggleButtonProps:s,getLabelProps:c,getMenuProps:l,getInputProps:u,getItemProps:d,openMenu:p,closeMenu:f,toggleMenu:g,selectItem:m,selectItemAtIndex:h,selectHighlightedItem:_,setHighlightedIndex:v,clearSelection:y,clearItems:b,reset:E,setItemCount:T,unsetItemCount:C,internalSetState:w}=this;return{getRootProps:i,getToggleButtonProps:s,getLabelProps:c,getMenuProps:l,getInputProps:u,getItemProps:d,reset:E,openMenu:p,closeMenu:f,toggleMenu:g,selectItem:m,selectItemAtIndex:h,selectHighlightedItem:_,setHighlightedIndex:v,clearSelection:y,clearItems:b,setItemCount:T,unsetItemCount:C,setState:w,itemToString:o,id:a,highlightedIndex:e,inputValue:t,isOpen:n,selectedItem:r}}componentDidMount(){this.getMenuProps.called&&!this.getMenuProps.suppressRefError&&validateGetMenuPropsCalledCorrectly(this._menuNode,this.getMenuProps);{const e=()=>{this.isMouseDown=!0},t=e=>{this.isMouseDown=!1,!targetWithinDownshift(e.target,[this._rootNode,this._menuNode],this.props.environment)&&this.getState().isOpen&&this.reset({type:mouseUp},()=>this.props.onOuterClick(this.getStateAndHelpers()))},r=()=>{this.isTouchMove=!1},n=()=>{this.isTouchMove=!0},o=e=>{var t=targetWithinDownshift(e.target,[this._rootNode,this._menuNode],this.props.environment,!1);this.isTouchMove||t||!this.getState().isOpen||this.reset({type:touchEnd},()=>this.props.onOuterClick(this.getStateAndHelpers()))},a=this.props[\\\"environment\\\"];a.addEventListener(\\\"mousedown\\\",e),a.addEventListener(\\\"mouseup\\\",t),a.addEventListener(\\\"touchstart\\\",r),a.addEventListener(\\\"touchmove\\\",n),a.addEventListener(\\\"touchend\\\",o),this.cleanup=()=>{this.internalClearTimeouts(),this.updateStatus.cancel(),a.removeEventListener(\\\"mousedown\\\",e),a.removeEventListener(\\\"mouseup\\\",t),a.removeEventListener(\\\"touchstart\\\",r),a.removeEventListener(\\\"touchmove\\\",n),a.removeEventListener(\\\"touchend\\\",o)}}}shouldScroll(e,t){var r=(void 0===this.props.highlightedIndex?this.getState():this.props)[\\\"highlightedIndex\\\"],n=(void 0===t.highlightedIndex?e:t)[\\\"highlightedIndex\\\"];return r&&this.getState().isOpen&&!e.isOpen||r!==n}componentDidUpdate(e,t){validateControlledUnchanged(this.state,e,this.props),this.getMenuProps.called&&!this.getMenuProps.suppressRefError&&validateGetMenuPropsCalledCorrectly(this._menuNode,this.getMenuProps),isControlledProp(this.props,\\\"selectedItem\\\")&&this.props.selectedItemChanged(e.selectedItem,this.props.selectedItem)&&this.internalSetState({type:controlledPropUpdatedSelectedItem,inputValue:this.props.itemToString(this.props.selectedItem)}),!this.avoidScrolling&&this.shouldScroll(t,e)&&this.scrollHighlightedItemIntoView(),this.updateStatus()}componentWillUnmount(){this.cleanup()}render(){var e=unwrapArray(this.props.children,noop),e=(this.clearItems(),this.getRootProps.called=!1,this.getRootProps.refKey=void 0,this.getRootProps.suppressRefError=void 0,this.getMenuProps.called=!1,this.getMenuProps.refKey=void 0,this.getMenuProps.suppressRefError=void 0,this.getLabelProps.called=!1,this.getInputProps.called=!1,unwrapArray(e(this.getStateAndHelpers())));if(!e)return null;if(this.getRootProps.called||this.props.suppressRefError)return this.getRootProps.suppressRefError||this.props.suppressRefError||validateGetRootPropsCalledCorrectly(e,this.getRootProps),e;if(isDOMElement2(e))return(0,import_react55.cloneElement)(e,this.getRootProps(getElementProps(e)));throw new Error(\\\"downshift: If you return a non-DOM element, you must apply the getRootProps function\\\")}}return e.defaultProps={defaultHighlightedIndex:null,defaultIsOpen:!1,getA11yStatusMessage:getA11yStatusMessage$1,itemToString:e=>null==e?\\\"\\\":(isPlainObject5(e)&&!e.hasOwnProperty(\\\"toString\\\")&&console.warn(\\\"downshift: An object was passed to the default implementation of `itemToString`. You should probably provide your own `itemToString` implementation. Please refer to the `itemToString` API documentation.\\\",\\\"The object that was passed:\\\",e),String(e)),onStateChange:noop,onInputValueChange:noop,onUserAction:noop,onChange:noop,onSelect:noop,onOuterClick:noop,selectedItemChanged:(e,t)=>e!==t,environment:\\\"undefined\\\"==typeof window?{}:window,stateReducer:(e,t)=>t,suppressRefError:!1,scrollIntoView:scrollIntoView2},e.stateChangeTypes=stateChangeTypes$3,e})();function validateGetMenuPropsCalledCorrectly(e,t){var r=t[\\\"refKey\\\"];e||console.error('downshift: The ref prop \\\"'+r+'\\\" from getMenuProps was not applied correctly on your menu element.')}function validateGetRootPropsCalledCorrectly(e,t){var r=t[\\\"refKey\\\"],n=\\\"ref\\\"!==r,o=!isDOMElement2(e);!o||n||(0,import_react_is.isForwardRef)(e)?!o&&n&&console.error('downshift: You returned a DOM element. You should not specify a refKey in getRootProps. You specified \\\"'+r+'\\\"'):console.error(\\\"downshift: You returned a non-DOM element. You must specify a refKey in getRootProps\\\"),(0,import_react_is.isForwardRef)(e)||getElementProps(e)[r]||console.error('downshift: You must apply the ref prop \\\"'+r+'\\\" from getRootProps onto your root element.')}var dropdownDefaultStateValues={highlightedIndex:-1,isOpen:!(Downshift.propTypes={children:import_prop_types[\\\"default\\\"].func,defaultHighlightedIndex:import_prop_types[\\\"default\\\"].number,defaultIsOpen:import_prop_types[\\\"default\\\"].bool,initialHighlightedIndex:import_prop_types[\\\"default\\\"].number,initialSelectedItem:import_prop_types[\\\"default\\\"].any,initialInputValue:import_prop_types[\\\"default\\\"].string,initialIsOpen:import_prop_types[\\\"default\\\"].bool,getA11yStatusMessage:import_prop_types[\\\"default\\\"].func,itemToString:import_prop_types[\\\"default\\\"].func,onChange:import_prop_types[\\\"default\\\"].func,onSelect:import_prop_types[\\\"default\\\"].func,onStateChange:import_prop_types[\\\"default\\\"].func,onInputValueChange:import_prop_types[\\\"default\\\"].func,onUserAction:import_prop_types[\\\"default\\\"].func,onOuterClick:import_prop_types[\\\"default\\\"].func,selectedItemChanged:import_prop_types[\\\"default\\\"].func,stateReducer:import_prop_types[\\\"default\\\"].func,itemCount:import_prop_types[\\\"default\\\"].number,id:import_prop_types[\\\"default\\\"].string,environment:import_prop_types[\\\"default\\\"].shape({addEventListener:import_prop_types[\\\"default\\\"].func,removeEventListener:import_prop_types[\\\"default\\\"].func,document:import_prop_types[\\\"default\\\"].shape({getElementById:import_prop_types[\\\"default\\\"].func,activeElement:import_prop_types[\\\"default\\\"].any,body:import_prop_types[\\\"default\\\"].any})}),suppressRefError:import_prop_types[\\\"default\\\"].bool,scrollIntoView:import_prop_types[\\\"default\\\"].func,selectedItem:import_prop_types[\\\"default\\\"].any,isOpen:import_prop_types[\\\"default\\\"].bool,inputValue:import_prop_types[\\\"default\\\"].string,highlightedIndex:import_prop_types[\\\"default\\\"].number,labelId:import_prop_types[\\\"default\\\"].string,inputId:import_prop_types[\\\"default\\\"].string,menuId:import_prop_types[\\\"default\\\"].string,getItemId:import_prop_types[\\\"default\\\"].func}),selectedItem:null,inputValue:\\\"\\\"};function callOnChangeProps(t,r,n){var{props:e,type:o}=t;const a={};Object.keys(r).forEach(e=>{invokeOnChangeHandler(e,t,r,n),n[e]!==r[e]&&(a[e]=n[e])}),e.onStateChange&&Object.keys(a).length&&e.onStateChange({type:o,...a})}function invokeOnChangeHandler(e,t,r,n){var{props:o,type:a}=t,i=\\\"on\\\"+capitalizeString(e)+\\\"Change\\\";o[i]&&void 0!==n[e]&&n[e]!==r[e]&&o[i]({type:a,...n})}function stateReducer(e,t){return t.changes}function getA11ySelectionMessage(e){var{selectedItem:t,itemToString:r}=e;return t?r(t)+\\\" has been selected.\\\":\\\"\\\"}var updateA11yStatus=debounce2((e,t)=>{setStatus(e(),t)},200),useIsomorphicLayoutEffect5=\\\"undefined\\\"!=typeof window&&\\\"undefined\\\"!=typeof window.document&&\\\"undefined\\\"!=typeof window.document.createElement?import_react55.useLayoutEffect:import_react55.useEffect;function useElementIds(e){let{id:t=\\\"downshift-\\\"+generateId(),labelId:r,menuId:n,getItemId:o,toggleButtonId:a,inputId:i}=e;return(0,import_react55.useRef)({labelId:r||t+\\\"-label\\\",menuId:n||t+\\\"-menu\\\",getItemId:o||(e=>t+\\\"-item-\\\"+e),toggleButtonId:a||t+\\\"-toggle-button\\\",inputId:i||t+\\\"-input\\\"}).current}function getItemIndex(e,t,r){return void 0!==e?e:0===r.length?-1:r.indexOf(t)}function itemToString(e){return e?String(e):\\\"\\\"}function isAcceptedCharacterKey(e){return/^\\\\S{1}$/.test(e)}function capitalizeString(e){return\\\"\\\"+e.slice(0,1).toUpperCase()+e.slice(1)}function useLatestRef3(e){var t=(0,import_react55.useRef)(e);return t.current=e,t}function useEnhancedReducer(n,e,t){const r=(0,import_react55.useRef)(),o=(0,import_react55.useRef)();var a=(0,import_react55.useCallback)((e,t)=>{e=getState(e,(o.current=t).props);var r=n(e,t);return t.props.stateReducer(e,{...t,changes:r})},[n]);const[i,s]=(0,import_react55.useReducer)(a,e),c=useLatestRef3(t);a=(0,import_react55.useCallback)(e=>s({props:c.current,...e}),[c]);const l=o.current;return(0,import_react55.useEffect)(()=>{l&&r.current&&r.current!==i&&callOnChangeProps(l,getState(r.current,l.props),i),r.current=i},[i,t,l]),[i,a]}function useControlledReducer$1(e,t,r){var[n,o]=useEnhancedReducer(e,t,r);return[getState(n,r),o]}var defaultProps$3={itemToString:itemToString,stateReducer:stateReducer,getA11ySelectionMessage:getA11ySelectionMessage,scrollIntoView:scrollIntoView2,circularNavigation:!1,environment:\\\"undefined\\\"==typeof window?{}:window};function getDefaultValue$1(e,t,r){void 0===r&&(r=dropdownDefaultStateValues);var n=e[\\\"default\\\"+capitalizeString(t)];return void 0!==n?n:r[t]}function getInitialValue$1(e,t,r){void 0===r&&(r=dropdownDefaultStateValues);var n=e[t];return void 0!==n||void 0!==(n=e[\\\"initial\\\"+capitalizeString(t)])?n:getDefaultValue$1(e,t,r)}function getInitialState$2(e){var t=getInitialValue$1(e,\\\"selectedItem\\\"),r=getInitialValue$1(e,\\\"isOpen\\\"),n=getInitialValue$1(e,\\\"highlightedIndex\\\"),o=getInitialValue$1(e,\\\"inputValue\\\");return{highlightedIndex:n\u003C0&&t&&r?e.items.indexOf(t):n,isOpen:r,selectedItem:t,inputValue:o}}function getHighlightedIndexOnOpen(e,t,r,n){var{items:o,initialHighlightedIndex:a,defaultHighlightedIndex:i}=e,{selectedItem:s,highlightedIndex:c}=t;return 0===o.length?-1:void 0!==a&&c===a?a:void 0!==i?i:s?0===r?o.indexOf(s):getNextWrappingIndex2(r,o.indexOf(s),o.length,n,!1):0===r?-1:r\u003C0?o.length-1:0}function useMouseAndTouchTracker(a,i,s,c){const l=(0,import_react55.useRef)({isMouseDown:!1,isTouchMove:!1});return(0,import_react55.useEffect)(()=>{const e=()=>{l.current.isMouseDown=!0},t=e=>{l.current.isMouseDown=!1,a&&!targetWithinDownshift(e.target,i.map(e=>e.current),s)&&c()},r=()=>{l.current.isTouchMove=!1},n=()=>{l.current.isTouchMove=!0},o=e=>{!a||l.current.isTouchMove||targetWithinDownshift(e.target,i.map(e=>e.current),s,!1)||c()};return s.addEventListener(\\\"mousedown\\\",e),s.addEventListener(\\\"mouseup\\\",t),s.addEventListener(\\\"touchstart\\\",r),s.addEventListener(\\\"touchmove\\\",n),s.addEventListener(\\\"touchend\\\",o),function(){s.removeEventListener(\\\"mousedown\\\",e),s.removeEventListener(\\\"mouseup\\\",t),s.removeEventListener(\\\"touchstart\\\",r),s.removeEventListener(\\\"touchmove\\\",n),s.removeEventListener(\\\"touchend\\\",o)}},[a,s]),l}var useGetterPropsCalledChecker=()=>noop;function useA11yMessageSetter(e,t,r){let{isInitialMount:n,highlightedIndex:o,items:a,environment:i,...s}=r;(0,import_react55.useEffect)(()=>{n||updateA11yStatus(()=>e({highlightedIndex:o,highlightedItem:a[o],resultCount:a.length,...s}),i.document)},t)}function useScrollIntoView(e){let{highlightedIndex:t,isOpen:r,itemRefs:n,getItemNodeFromIndex:o,menuElement:a,scrollIntoView:i}=e;const s=(0,import_react55.useRef)(!0);return useIsomorphicLayoutEffect5(()=>{t\u003C0||!r||!Object.keys(n.current).length||(!1===s.current?s.current=!0:i(o(t),a))},[t]),s}var useGetterPropsCalledChecker=function(){const o=(0,import_react55.useRef)(!0);for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];const a=(0,import_react55.useRef)(t.reduce((e,t)=>(e[t]={},e),{}));return(0,import_react55.useEffect)(()=>{Object.keys(a.current).forEach(e=>{var t,r,n=a.current[e];o.current&&!Object.keys(n).length?console.error(\\\"downshift: You forgot to call the \\\"+e+\\\" getter function on your component / element.\\\"):(({suppressRefError:n,refKey:t,elementRef:r}=n),r&&r.current||n||console.error('downshift: The ref prop \\\"'+t+'\\\" from '+e+\\\" was not applied correctly on your element.\\\"))}),o.current=!1}),(0,import_react55.useCallback)((e,t,r,n)=>{a.current[e]={suppressRefError:t,refKey:r,elementRef:n}},[])},useControlPropsValidator=noop;function downshiftCommonReducer(e,t,r){var{type:n,props:o}=t;let a;switch(n){case r.ItemMouseMove:a={highlightedIndex:t.index};break;case r.MenuMouseLeave:a={highlightedIndex:-1};break;case r.ToggleButtonClick:case r.FunctionToggleMenu:a={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:getHighlightedIndexOnOpen(o,e,0)};break;case r.FunctionOpenMenu:a={isOpen:!0,highlightedIndex:getHighlightedIndexOnOpen(o,e,0)};break;case r.FunctionCloseMenu:a={isOpen:!1};break;case r.FunctionSetHighlightedIndex:a={highlightedIndex:t.highlightedIndex};break;case r.FunctionSetInputValue:a={inputValue:t.inputValue};break;case r.FunctionReset:a={highlightedIndex:getDefaultValue$1(o,\\\"highlightedIndex\\\"),isOpen:getDefaultValue$1(o,\\\"isOpen\\\"),selectedItem:getDefaultValue$1(o,\\\"selectedItem\\\"),inputValue:getDefaultValue$1(o,\\\"inputValue\\\")};break;default:throw new Error(\\\"Reducer called without proper action type.\\\")}return{...e,...a}}function getItemIndexByCharacterKey(e){for(var t=e.keysSoFar,r=e.highlightedIndex,n=e.items,o=e.itemToString,a=e.getItemNodeFromIndex,i=t.toLowerCase(),s=0;s\u003Cn.length;s++){var c=(s+r+1)%n.length,l=n[c];if(void 0!==l&&o(l).toLowerCase().startsWith(i)){l=a(c);if(null==l||!l.hasAttribute(\\\"disabled\\\"))return c}}return r}var useControlPropsValidator=e=>{let{isInitialMount:t,props:r,state:n}=e;const o=(0,import_react55.useRef)(r);(0,import_react55.useEffect)(()=>{t||(validateControlledUnchanged(n,o.current,r),o.current=r)},[n,r,t])},propTypes$2={items:import_prop_types[\\\"default\\\"].array.isRequired,itemToString:import_prop_types[\\\"default\\\"].func,getA11yStatusMessage:import_prop_types[\\\"default\\\"].func,getA11ySelectionMessage:import_prop_types[\\\"default\\\"].func,circularNavigation:import_prop_types[\\\"default\\\"].bool,highlightedIndex:import_prop_types[\\\"default\\\"].number,defaultHighlightedIndex:import_prop_types[\\\"default\\\"].number,initialHighlightedIndex:import_prop_types[\\\"default\\\"].number,isOpen:import_prop_types[\\\"default\\\"].bool,defaultIsOpen:import_prop_types[\\\"default\\\"].bool,initialIsOpen:import_prop_types[\\\"default\\\"].bool,selectedItem:import_prop_types[\\\"default\\\"].any,initialSelectedItem:import_prop_types[\\\"default\\\"].any,defaultSelectedItem:import_prop_types[\\\"default\\\"].any,id:import_prop_types[\\\"default\\\"].string,labelId:import_prop_types[\\\"default\\\"].string,menuId:import_prop_types[\\\"default\\\"].string,getItemId:import_prop_types[\\\"default\\\"].func,toggleButtonId:import_prop_types[\\\"default\\\"].string,stateReducer:import_prop_types[\\\"default\\\"].func,onSelectedItemChange:import_prop_types[\\\"default\\\"].func,onHighlightedIndexChange:import_prop_types[\\\"default\\\"].func,onStateChange:import_prop_types[\\\"default\\\"].func,onIsOpenChange:import_prop_types[\\\"default\\\"].func,environment:import_prop_types[\\\"default\\\"].shape({addEventListener:import_prop_types[\\\"default\\\"].func,removeEventListener:import_prop_types[\\\"default\\\"].func,document:import_prop_types[\\\"default\\\"].shape({getElementById:import_prop_types[\\\"default\\\"].func,activeElement:import_prop_types[\\\"default\\\"].any,body:import_prop_types[\\\"default\\\"].any})})};function getA11yStatusMessage(e){var t=e.isOpen,r=e.resultCount,n=e.previousResultCount;return t?r?r!==n?\\\"\\\".concat(r,\\\" result\\\").concat(1===r?\\\" is\\\":\\\"s are\\\",\\\" available, use up and down arrow keys to navigate. Press Enter or Space Bar keys to select.\\\"):\\\"\\\":\\\"No results are available.\\\":\\\"\\\"}var defaultProps$2=__assign(__assign({},defaultProps$3),{getA11yStatusMessage:getA11yStatusMessage}),validatePropTypes$2=noop,validatePropTypes$2=function(e,t){import_prop_types[\\\"default\\\"].checkPropTypes(propTypes$2,e,\\\"prop\\\",t.name)},MenuKeyDownArrowDown=\\\"__menu_keydown_arrow_down__\\\",MenuKeyDownArrowUp=\\\"__menu_keydown_arrow_up__\\\",MenuKeyDownEscape=\\\"__menu_keydown_escape__\\\",MenuKeyDownHome=\\\"__menu_keydown_home__\\\",MenuKeyDownEnd=\\\"__menu_keydown_end__\\\",MenuKeyDownEnter=\\\"__menu_keydown_enter__\\\",MenuKeyDownSpaceButton=\\\"__menu_keydown_space_button__\\\",MenuKeyDownCharacter=\\\"__menu_keydown_character__\\\",MenuBlur=\\\"__menu_blur__\\\",MenuMouseLeave$1=\\\"__menu_mouse_leave__\\\",ItemMouseMove$1=\\\"__item_mouse_move__\\\",ItemClick$1=\\\"__item_click__\\\",ToggleButtonClick$1=\\\"__togglebutton_click__\\\",ToggleButtonKeyDownArrowDown=\\\"__togglebutton_keydown_arrow_down__\\\",ToggleButtonKeyDownArrowUp=\\\"__togglebutton_keydown_arrow_up__\\\",ToggleButtonKeyDownCharacter=\\\"__togglebutton_keydown_character__\\\",FunctionToggleMenu$1=\\\"__function_toggle_menu__\\\",FunctionOpenMenu$1=\\\"__function_open_menu__\\\",FunctionCloseMenu$1=\\\"__function_close_menu__\\\",FunctionSetHighlightedIndex$1=\\\"__function_set_highlighted_index__\\\",FunctionSelectItem$1=\\\"__function_select_item__\\\",FunctionSetInputValue$1=\\\"__function_set_input_value__\\\",FunctionReset$2=\\\"__function_reset__\\\",stateChangeTypes$2=Object.freeze({__proto__:null,MenuKeyDownArrowDown:MenuKeyDownArrowDown,MenuKeyDownArrowUp:MenuKeyDownArrowUp,MenuKeyDownEscape:MenuKeyDownEscape,MenuKeyDownHome:MenuKeyDownHome,MenuKeyDownEnd:MenuKeyDownEnd,MenuKeyDownEnter:MenuKeyDownEnter,MenuKeyDownSpaceButton:MenuKeyDownSpaceButton,MenuKeyDownCharacter:MenuKeyDownCharacter,MenuBlur:MenuBlur,MenuMouseLeave:MenuMouseLeave$1,ItemMouseMove:ItemMouseMove$1,ItemClick:ItemClick$1,ToggleButtonClick:ToggleButtonClick$1,ToggleButtonKeyDownArrowDown:ToggleButtonKeyDownArrowDown,ToggleButtonKeyDownArrowUp:ToggleButtonKeyDownArrowUp,ToggleButtonKeyDownCharacter:ToggleButtonKeyDownCharacter,FunctionToggleMenu:FunctionToggleMenu$1,FunctionOpenMenu:FunctionOpenMenu$1,FunctionCloseMenu:FunctionCloseMenu$1,FunctionSetHighlightedIndex:FunctionSetHighlightedIndex$1,FunctionSelectItem:FunctionSelectItem$1,FunctionSetInputValue:FunctionSetInputValue$1,FunctionReset:FunctionReset$2});function downshiftSelectReducer(e,t){var{type:r,props:n,shiftKey:o}=t;let a;switch(r){case ItemClick$1:a={isOpen:getDefaultValue$1(n,\\\"isOpen\\\"),highlightedIndex:getDefaultValue$1(n,\\\"highlightedIndex\\\"),selectedItem:n.items[t.index]};break;case ToggleButtonKeyDownCharacter:var i=t.key,i=\\\"\\\"+e.inputValue+i,s=getItemIndexByCharacterKey({keysSoFar:i,highlightedIndex:e.selectedItem?n.items.indexOf(e.selectedItem):-1,items:n.items,itemToString:n.itemToString,getItemNodeFromIndex:t.getItemNodeFromIndex});a={inputValue:i,...0\u003C=s&&{selectedItem:n.items[s]}};break;case ToggleButtonKeyDownArrowDown:a={highlightedIndex:getHighlightedIndexOnOpen(n,e,1,t.getItemNodeFromIndex),isOpen:!0};break;case ToggleButtonKeyDownArrowUp:a={highlightedIndex:getHighlightedIndexOnOpen(n,e,-1,t.getItemNodeFromIndex),isOpen:!0};break;case MenuKeyDownEnter:case MenuKeyDownSpaceButton:a={isOpen:getDefaultValue$1(n,\\\"isOpen\\\"),highlightedIndex:getDefaultValue$1(n,\\\"highlightedIndex\\\"),...0\u003C=e.highlightedIndex&&{selectedItem:n.items[e.highlightedIndex]}};break;case MenuKeyDownHome:a={highlightedIndex:getNextNonDisabledIndex2(1,0,n.items.length,t.getItemNodeFromIndex,!1)};break;case MenuKeyDownEnd:a={highlightedIndex:getNextNonDisabledIndex2(-1,n.items.length-1,n.items.length,t.getItemNodeFromIndex,!1)};break;case MenuKeyDownEscape:case MenuBlur:a={isOpen:!1,highlightedIndex:-1};break;case MenuKeyDownCharacter:i=t.key,s=\\\"\\\"+e.inputValue+i,i=getItemIndexByCharacterKey({keysSoFar:s,highlightedIndex:e.highlightedIndex,items:n.items,itemToString:n.itemToString,getItemNodeFromIndex:t.getItemNodeFromIndex});a={inputValue:s,...0\u003C=i&&{highlightedIndex:i}};break;case MenuKeyDownArrowDown:a={highlightedIndex:getNextWrappingIndex2(o?5:1,e.highlightedIndex,n.items.length,t.getItemNodeFromIndex,n.circularNavigation)};break;case MenuKeyDownArrowUp:a={highlightedIndex:getNextWrappingIndex2(o?-5:-1,e.highlightedIndex,n.items.length,t.getItemNodeFromIndex,n.circularNavigation)};break;case FunctionSelectItem$1:a={selectedItem:t.selectedItem};break;default:return downshiftCommonReducer(e,t,stateChangeTypes$2)}return{...e,...a}}function useSelect(e){validatePropTypes$2(e=void 0===e?{}:e,useSelect);var t={...defaultProps$2,...e};const{items:r,scrollIntoView:n,environment:o,initialIsOpen:a,defaultIsOpen:i,itemToString:s,getA11ySelectionMessage:c,getA11yStatusMessage:l}=t,[u,p]=useControlledReducer$1(downshiftSelectReducer,getInitialState$2(t),t),{isOpen:d,highlightedIndex:f,selectedItem:g,inputValue:m}=u,h=(0,import_react55.useRef)(null),_=(0,import_react55.useRef)(null),v=(0,import_react55.useRef)({}),y=(0,import_react55.useRef)(!0),b=(0,import_react55.useRef)(null),E=useElementIds(t),T=(0,import_react55.useRef)(),C=(0,import_react55.useRef)(!0),w=useLatestRef3({state:u,props:t}),S=(0,import_react55.useCallback)(e=>v.current[E.getItemId(e)],[E]),x=(useA11yMessageSetter(l,[d,f,m,r],{isInitialMount:C.current,previousResultCount:T.current,items:r,environment:o,itemToString:s,...u}),useA11yMessageSetter(c,[g],{isInitialMount:C.current,previousResultCount:T.current,items:r,environment:o,itemToString:s,...u}),useScrollIntoView({menuElement:_.current,highlightedIndex:f,isOpen:d,itemRefs:v,scrollIntoView:n,getItemNodeFromIndex:S})),D=((0,import_react55.useEffect)(()=>(b.current=debounce2(e=>{e({type:FunctionSetInputValue$1,inputValue:\\\"\\\"})},500),()=>{b.current.cancel()}),[]),(0,import_react55.useEffect)(()=>{m&&b.current(p)},[p,m]),useControlPropsValidator({isInitialMount:C.current,props:t,state:u}),(0,import_react55.useEffect)(()=>{C.current?(a||i||d)&&_.current&&_.current.focus():d?_.current&&_.current.focus():o.document.activeElement===_.current&&h.current&&(y.current=!1,h.current.focus())},[d]),(0,import_react55.useEffect)(()=>{C.current||(T.current=r.length)}),useMouseAndTouchTracker(d,[_,h],o,()=>{p({type:MenuBlur})})),$=useGetterPropsCalledChecker(\\\"getMenuProps\\\",\\\"getToggleButtonProps\\\"),A=((0,import_react55.useEffect)(()=>{C.current=!1},[]),(0,import_react55.useEffect)(()=>{d||(v.current={})},[d]),(0,import_react55.useMemo)(()=>({ArrowDown(e){e.preventDefault(),p({type:ToggleButtonKeyDownArrowDown,getItemNodeFromIndex:S,shiftKey:e.shiftKey})},ArrowUp(e){e.preventDefault(),p({type:ToggleButtonKeyDownArrowUp,getItemNodeFromIndex:S,shiftKey:e.shiftKey})}}),[p,S])),O=(0,import_react55.useMemo)(()=>({ArrowDown(e){e.preventDefault(),p({type:MenuKeyDownArrowDown,getItemNodeFromIndex:S,shiftKey:e.shiftKey})},ArrowUp(e){e.preventDefault(),p({type:MenuKeyDownArrowUp,getItemNodeFromIndex:S,shiftKey:e.shiftKey})},Home(e){e.preventDefault(),p({type:MenuKeyDownHome,getItemNodeFromIndex:S})},End(e){e.preventDefault(),p({type:MenuKeyDownEnd,getItemNodeFromIndex:S})},Escape(){p({type:MenuKeyDownEscape})},Enter(e){e.preventDefault(),p({type:MenuKeyDownEnter})},\\\" \\\"(e){e.preventDefault(),p({type:MenuKeyDownSpaceButton})}}),[p,S]);var t=(0,import_react55.useCallback)(()=>{p({type:FunctionToggleMenu$1})},[p]),P=(0,import_react55.useCallback)(()=>{p({type:FunctionCloseMenu$1})},[p]),I=(0,import_react55.useCallback)(()=>{p({type:FunctionOpenMenu$1})},[p]),j=(0,import_react55.useCallback)(e=>{p({type:FunctionSetHighlightedIndex$1,highlightedIndex:e})},[p]),R=(0,import_react55.useCallback)(e=>{p({type:FunctionSelectItem$1,selectedItem:e})},[p]),k=(0,import_react55.useCallback)(()=>{p({type:FunctionReset$2})},[p]),N=(0,import_react55.useCallback)(e=>{p({type:FunctionSetInputValue$1,inputValue:e})},[p]),M=(0,import_react55.useCallback)(e=>({id:E.labelId,htmlFor:E.toggleButtonId,...e}),[E]),B=(0,import_react55.useCallback)(function(e,t){let{onMouseLeave:r,refKey:n=\\\"ref\\\",onKeyDown:o,onBlur:a,ref:i,...s}=void 0===e?{}:e;var{suppressRefError:c=!1}=void 0===t?{}:t,l=w.current.state;return $(\\\"getMenuProps\\\",c,n,_),{[n]:handleRefs(i,e=>{_.current=e}),id:E.menuId,role:\\\"listbox\\\",\\\"aria-labelledby\\\":E.labelId,tabIndex:-1,...l.isOpen&&-1\u003Cl.highlightedIndex&&{\\\"aria-activedescendant\\\":E.getItemId(l.highlightedIndex)},onMouseLeave:callAllEventHandlers(r,()=>{p({type:MenuMouseLeave$1})}),onKeyDown:callAllEventHandlers(o,e=>{var t=normalizeArrowKey(e);t&&O[t]?O[t](e):isAcceptedCharacterKey(t)&&p({type:MenuKeyDownCharacter,key:t,getItemNodeFromIndex:S})}),onBlur:callAllEventHandlers(a,()=>{!1===y.current?y.current=!0:D.current.isMouseDown||p({type:MenuBlur})}),...s}},[p,w,O,D,$,E,S]);return{getToggleButtonProps:(0,import_react55.useCallback)(function(e,t){let{onClick:r,onKeyDown:n,refKey:o=\\\"ref\\\",ref:a,...i}=void 0===e?{}:e;var{suppressRefError:s=!1}=void 0===t?{}:t,c={[o]:handleRefs(a,e=>{h.current=e}),id:E.toggleButtonId,\\\"aria-haspopup\\\":\\\"listbox\\\",\\\"aria-expanded\\\":w.current.state.isOpen,\\\"aria-labelledby\\\":E.labelId+\\\" \\\"+E.toggleButtonId,...i};return i.disabled||(c.onClick=callAllEventHandlers(r,()=>{p({type:ToggleButtonClick$1})}),c.onKeyDown=callAllEventHandlers(n,e=>{var t=normalizeArrowKey(e);t&&A[t]?A[t](e):isAcceptedCharacterKey(t)&&p({type:ToggleButtonKeyDownCharacter,key:t,getItemNodeFromIndex:S})})),$(\\\"getToggleButtonProps\\\",s,o,h),c},[p,w,A,$,E,S]),getLabelProps:M,getMenuProps:B,getItemProps:(0,import_react55.useCallback)(function(e){let{item:t,index:r,onMouseMove:n,onClick:o,refKey:a=\\\"ref\\\",ref:i,...s}=void 0===e?{}:e;const{state:c,props:l}=w.current;const u=getItemIndex(r,t,l.items);if(u\u003C0)throw new Error(\\\"Pass either item or item index in getItemProps!\\\");var d={role:\\\"option\\\",\\\"aria-selected\\\":\\\"\\\"+(u===c.highlightedIndex),id:E.getItemId(u),[a]:handleRefs(i,e=>{e&&(v.current[E.getItemId(u)]=e)}),...s};return s.disabled||(d.onMouseMove=callAllEventHandlers(n,()=>{r!==c.highlightedIndex&&(x.current=!1,p({type:ItemMouseMove$1,index:r}))}),d.onClick=callAllEventHandlers(o,()=>{p({type:ItemClick$1,index:r})})),d},[p,w,x,E]),toggleMenu:t,openMenu:I,closeMenu:P,setHighlightedIndex:j,selectItem:R,reset:k,setInputValue:N,highlightedIndex:f,isOpen:d,selectedItem:g,inputValue:m}}useSelect.stateChangeTypes=stateChangeTypes$2;var InputKeyDownArrowDown=\\\"__input_keydown_arrow_down__\\\",InputKeyDownArrowUp=\\\"__input_keydown_arrow_up__\\\",InputKeyDownEscape=\\\"__input_keydown_escape__\\\",InputKeyDownHome=\\\"__input_keydown_home__\\\",InputKeyDownEnd=\\\"__input_keydown_end__\\\",InputKeyDownEnter=\\\"__input_keydown_enter__\\\",InputChange=\\\"__input_change__\\\",InputBlur=\\\"__input_blur__\\\",MenuMouseLeave=\\\"__menu_mouse_leave__\\\",ItemMouseMove=\\\"__item_mouse_move__\\\",ItemClick=\\\"__item_click__\\\",ToggleButtonClick=\\\"__togglebutton_click__\\\",FunctionToggleMenu=\\\"__function_toggle_menu__\\\",FunctionOpenMenu=\\\"__function_open_menu__\\\",FunctionCloseMenu=\\\"__function_close_menu__\\\",FunctionSetHighlightedIndex=\\\"__function_set_highlighted_index__\\\",FunctionSelectItem=\\\"__function_select_item__\\\",FunctionSetInputValue=\\\"__function_set_input_value__\\\",FunctionReset$1=\\\"__function_reset__\\\",ControlledPropUpdatedSelectedItem=\\\"__controlled_prop_updated_selected_item__\\\",stateChangeTypes$1=Object.freeze({__proto__:null,InputKeyDownArrowDown:InputKeyDownArrowDown,InputKeyDownArrowUp:InputKeyDownArrowUp,InputKeyDownEscape:InputKeyDownEscape,InputKeyDownHome:InputKeyDownHome,InputKeyDownEnd:InputKeyDownEnd,InputKeyDownEnter:InputKeyDownEnter,InputChange:InputChange,InputBlur:InputBlur,MenuMouseLeave:MenuMouseLeave,ItemMouseMove:ItemMouseMove,ItemClick:ItemClick,ToggleButtonClick:ToggleButtonClick,FunctionToggleMenu:FunctionToggleMenu,FunctionOpenMenu:FunctionOpenMenu,FunctionCloseMenu:FunctionCloseMenu,FunctionSetHighlightedIndex:FunctionSetHighlightedIndex,FunctionSelectItem:FunctionSelectItem,FunctionSetInputValue:FunctionSetInputValue,FunctionReset:FunctionReset$1,ControlledPropUpdatedSelectedItem:ControlledPropUpdatedSelectedItem});function getInitialState$1(e){var t=getInitialState$2(e),r=t[\\\"selectedItem\\\"];let n=t[\\\"inputValue\\\"];return\\\"\\\"===n&&r&&void 0===e.defaultInputValue&&void 0===e.initialInputValue&&void 0===e.inputValue&&(n=e.itemToString(r)),{...t,inputValue:n}}var propTypes$1={items:import_prop_types[\\\"default\\\"].array.isRequired,itemToString:import_prop_types[\\\"default\\\"].func,getA11yStatusMessage:import_prop_types[\\\"default\\\"].func,getA11ySelectionMessage:import_prop_types[\\\"default\\\"].func,circularNavigation:import_prop_types[\\\"default\\\"].bool,highlightedIndex:import_prop_types[\\\"default\\\"].number,defaultHighlightedIndex:import_prop_types[\\\"default\\\"].number,initialHighlightedIndex:import_prop_types[\\\"default\\\"].number,isOpen:import_prop_types[\\\"default\\\"].bool,defaultIsOpen:import_prop_types[\\\"default\\\"].bool,initialIsOpen:import_prop_types[\\\"default\\\"].bool,selectedItem:import_prop_types[\\\"default\\\"].any,initialSelectedItem:import_prop_types[\\\"default\\\"].any,defaultSelectedItem:import_prop_types[\\\"default\\\"].any,inputValue:import_prop_types[\\\"default\\\"].string,defaultInputValue:import_prop_types[\\\"default\\\"].string,initialInputValue:import_prop_types[\\\"default\\\"].string,id:import_prop_types[\\\"default\\\"].string,labelId:import_prop_types[\\\"default\\\"].string,menuId:import_prop_types[\\\"default\\\"].string,getItemId:import_prop_types[\\\"default\\\"].func,inputId:import_prop_types[\\\"default\\\"].string,toggleButtonId:import_prop_types[\\\"default\\\"].string,stateReducer:import_prop_types[\\\"default\\\"].func,onSelectedItemChange:import_prop_types[\\\"default\\\"].func,onHighlightedIndexChange:import_prop_types[\\\"default\\\"].func,onStateChange:import_prop_types[\\\"default\\\"].func,onIsOpenChange:import_prop_types[\\\"default\\\"].func,onInputValueChange:import_prop_types[\\\"default\\\"].func,environment:import_prop_types[\\\"default\\\"].shape({addEventListener:import_prop_types[\\\"default\\\"].func,removeEventListener:import_prop_types[\\\"default\\\"].func,document:import_prop_types[\\\"default\\\"].shape({getElementById:import_prop_types[\\\"default\\\"].func,activeElement:import_prop_types[\\\"default\\\"].any,body:import_prop_types[\\\"default\\\"].any})})};function useControlledReducer(e,t,r){const n=(0,import_react55.useRef)(),[o,a]=useEnhancedReducer(e,t,r);return(0,import_react55.useEffect)(()=>{isControlledProp(r,\\\"selectedItem\\\")&&(n.current!==r.selectedItem&&a({type:ControlledPropUpdatedSelectedItem,inputValue:r.itemToString(r.selectedItem)}),n.current=(o.selectedItem===n.current?r:o).selectedItem)}),[getState(o,r),a]}var validatePropTypes$1=noop,validatePropTypes$1=(e,t)=>{import_prop_types[\\\"default\\\"].checkPropTypes(propTypes$1,e,\\\"prop\\\",t.name)},defaultProps$1={...defaultProps$3,getA11yStatusMessage:getA11yStatusMessage$1,circularNavigation:!0};function downshiftUseComboboxReducer(e,t){var{type:r,props:n,shiftKey:o}=t;let a;switch(r){case ItemClick:a={isOpen:getDefaultValue$1(n,\\\"isOpen\\\"),highlightedIndex:getDefaultValue$1(n,\\\"highlightedIndex\\\"),selectedItem:n.items[t.index],inputValue:n.itemToString(n.items[t.index])};break;case InputKeyDownArrowDown:a=e.isOpen?{highlightedIndex:getNextWrappingIndex2(o?5:1,e.highlightedIndex,n.items.length,t.getItemNodeFromIndex,n.circularNavigation)}:{highlightedIndex:getHighlightedIndexOnOpen(n,e,1,t.getItemNodeFromIndex),isOpen:0\u003C=n.items.length};break;case InputKeyDownArrowUp:a=e.isOpen?{highlightedIndex:getNextWrappingIndex2(o?-5:-1,e.highlightedIndex,n.items.length,t.getItemNodeFromIndex,n.circularNavigation)}:{highlightedIndex:getHighlightedIndexOnOpen(n,e,-1,t.getItemNodeFromIndex),isOpen:0\u003C=n.items.length};break;case InputKeyDownEnter:a={...e.isOpen&&0\u003C=e.highlightedIndex&&{selectedItem:n.items[e.highlightedIndex],isOpen:getDefaultValue$1(n,\\\"isOpen\\\"),highlightedIndex:getDefaultValue$1(n,\\\"highlightedIndex\\\"),inputValue:n.itemToString(n.items[e.highlightedIndex])}};break;case InputKeyDownEscape:a={isOpen:!1,highlightedIndex:-1,...!e.isOpen&&{selectedItem:null,inputValue:\\\"\\\"}};break;case InputKeyDownHome:a={highlightedIndex:getNextNonDisabledIndex2(1,0,n.items.length,t.getItemNodeFromIndex,!1)};break;case InputKeyDownEnd:a={highlightedIndex:getNextNonDisabledIndex2(-1,n.items.length-1,n.items.length,t.getItemNodeFromIndex,!1)};break;case InputBlur:a={isOpen:!1,highlightedIndex:-1,...0\u003C=e.highlightedIndex&&t.selectItem&&{selectedItem:n.items[e.highlightedIndex],inputValue:n.itemToString(n.items[e.highlightedIndex])}};break;case InputChange:a={isOpen:!0,highlightedIndex:getDefaultValue$1(n,\\\"highlightedIndex\\\"),inputValue:t.inputValue};break;case FunctionSelectItem:a={selectedItem:t.selectedItem,inputValue:n.itemToString(t.selectedItem)};break;case ControlledPropUpdatedSelectedItem:a={inputValue:t.inputValue};break;default:return downshiftCommonReducer(e,t,stateChangeTypes$1)}return{...e,...a}}function useCombobox(e){validatePropTypes$1(e=void 0===e?{}:e,useCombobox);var t={...defaultProps$1,...e};const{initialIsOpen:r,defaultIsOpen:n,items:o,scrollIntoView:a,environment:i,getA11yStatusMessage:s,getA11ySelectionMessage:c,itemToString:l}=t,[u,f]=useControlledReducer(downshiftUseComboboxReducer,getInitialState$1(t),t),{isOpen:d,highlightedIndex:p,selectedItem:g,inputValue:m}=u,h=(0,import_react55.useRef)(null),_=(0,import_react55.useRef)({}),v=(0,import_react55.useRef)(null),y=(0,import_react55.useRef)(null),b=(0,import_react55.useRef)(null),E=(0,import_react55.useRef)(!0),T=useElementIds(t),C=(0,import_react55.useRef)(),w=useLatestRef3({state:u,props:t}),S=(0,import_react55.useCallback)(e=>_.current[T.getItemId(e)],[T]),x=(useA11yMessageSetter(s,[d,p,m,o],{isInitialMount:E.current,previousResultCount:C.current,items:o,environment:i,itemToString:l,...u}),useA11yMessageSetter(c,[g],{isInitialMount:E.current,previousResultCount:C.current,items:o,environment:i,itemToString:l,...u}),useScrollIntoView({menuElement:h.current,highlightedIndex:p,isOpen:d,itemRefs:_,scrollIntoView:a,getItemNodeFromIndex:S})),D=(useControlPropsValidator({isInitialMount:E.current,props:t,state:u}),(0,import_react55.useEffect)(()=>{(r||n||d)&&v.current&&v.current.focus()},[]),(0,import_react55.useEffect)(()=>{E.current||(C.current=o.length)}),useMouseAndTouchTracker(d,[b,h,y],i,()=>{f({type:InputBlur,selectItem:!1})})),$=useGetterPropsCalledChecker(\\\"getInputProps\\\",\\\"getComboboxProps\\\",\\\"getMenuProps\\\"),A=((0,import_react55.useEffect)(()=>{E.current=!1},[]),(0,import_react55.useEffect)(()=>{d||(_.current={})},[d]),(0,import_react55.useMemo)(()=>({ArrowDown(e){e.preventDefault(),f({type:InputKeyDownArrowDown,shiftKey:e.shiftKey,getItemNodeFromIndex:S})},ArrowUp(e){e.preventDefault(),f({type:InputKeyDownArrowUp,shiftKey:e.shiftKey,getItemNodeFromIndex:S})},Home(e){w.current.state.isOpen&&(e.preventDefault(),f({type:InputKeyDownHome,getItemNodeFromIndex:S}))},End(e){w.current.state.isOpen&&(e.preventDefault(),f({type:InputKeyDownEnd,getItemNodeFromIndex:S}))},Escape(){var e=w.current.state;(e.isOpen||e.inputValue||e.selectedItem||-1\u003Ce.highlightedIndex)&&f({type:InputKeyDownEscape})},Enter(e){var t=w.current.state;!t.isOpen||t.highlightedIndex\u003C0||229===e.which||(e.preventDefault(),f({type:InputKeyDownEnter,getItemNodeFromIndex:S}))}}),[f,w,S]));var t=(0,import_react55.useCallback)(e=>({id:T.labelId,htmlFor:T.inputId,...e}),[T]),O=(0,import_react55.useCallback)(function(e,t){let{onMouseLeave:r,refKey:n=\\\"ref\\\",ref:o,...a}=void 0===e?{}:e;var{suppressRefError:i=!1}=void 0===t?{}:t;return $(\\\"getMenuProps\\\",i,n,h),{[n]:handleRefs(o,e=>{h.current=e}),id:T.menuId,role:\\\"listbox\\\",\\\"aria-labelledby\\\":T.labelId,onMouseLeave:callAllEventHandlers(r,()=>{f({type:MenuMouseLeave})}),...a}},[f,$,T]),P=(0,import_react55.useCallback)(function(e){let{item:t,index:r,refKey:n=\\\"ref\\\",ref:o,onMouseMove:a,onClick:i,onPress:s,...c}=void 0===e?{}:e;const{props:l,state:u}=w.current,d=getItemIndex(r,t,l.items);if(d\u003C0)throw new Error(\\\"Pass either item or item index in getItemProps!\\\");var p=i;return{[n]:handleRefs(o,e=>{e&&(_.current[T.getItemId(d)]=e)}),role:\\\"option\\\",\\\"aria-selected\\\":\\\"\\\"+(d===u.highlightedIndex),id:T.getItemId(d),...!c.disabled&&{onMouseMove:callAllEventHandlers(a,()=>{r!==u.highlightedIndex&&(x.current=!1,f({type:ItemMouseMove,index:r}))}),onClick:callAllEventHandlers(p,()=>{f({type:ItemClick,index:r}),v.current&&v.current.focus()})},...c}},[f,w,x,T]),I=(0,import_react55.useCallback)(function(e){let{onClick:t,onPress:r,refKey:n=\\\"ref\\\",ref:o,...a}=void 0===e?{}:e;return{[n]:handleRefs(o,e=>{y.current=e}),id:T.toggleButtonId,tabIndex:-1,...!a.disabled&&{onClick:callAllEventHandlers(t,()=>{f({type:ToggleButtonClick}),!w.current.state.isOpen&&v.current&&v.current.focus()})},...a}},[f,w,T]),j=(0,import_react55.useCallback)(function(e,t){let{onKeyDown:r,onChange:n,onInput:o,onBlur:a,onChangeText:i,refKey:s=\\\"ref\\\",ref:c,...l}=void 0===e?{}:e;var{suppressRefError:u=!1}=void 0===t?{}:t;$(\\\"getInputProps\\\",u,s,v);const d=w.current.state;let p={};return l.disabled||(p={onChange:callAllEventHandlers(n,o,e=>{f({type:InputChange,inputValue:e.target.value})}),onKeyDown:callAllEventHandlers(r,e=>{var t=normalizeArrowKey(e);t&&A[t]&&A[t](e)}),onBlur:callAllEventHandlers(a,()=>{d.isOpen&&!D.current.isMouseDown&&f({type:InputBlur,selectItem:!0})})}),{[s]:handleRefs(c,e=>{v.current=e}),id:T.inputId,\\\"aria-autocomplete\\\":\\\"list\\\",\\\"aria-controls\\\":T.menuId,...d.isOpen&&-1\u003Cd.highlightedIndex&&{\\\"aria-activedescendant\\\":T.getItemId(d.highlightedIndex)},\\\"aria-labelledby\\\":T.labelId,autoComplete:\\\"off\\\",value:d.inputValue,...p,...l}},[f,A,w,D,$,T]),R=(0,import_react55.useCallback)(function(e,t){let{refKey:r=\\\"ref\\\",ref:n,...o}=void 0===e?{}:e;var{suppressRefError:a=!1}=void 0===t?{}:t;return $(\\\"getComboboxProps\\\",a,r,b),{[r]:handleRefs(n,e=>{b.current=e}),role:\\\"combobox\\\",\\\"aria-haspopup\\\":\\\"listbox\\\",\\\"aria-owns\\\":T.menuId,\\\"aria-expanded\\\":w.current.state.isOpen,...o}},[w,$,T]),k=(0,import_react55.useCallback)(()=>{f({type:FunctionToggleMenu})},[f]),N=(0,import_react55.useCallback)(()=>{f({type:FunctionCloseMenu})},[f]),M=(0,import_react55.useCallback)(()=>{f({type:FunctionOpenMenu})},[f]),B=(0,import_react55.useCallback)(e=>{f({type:FunctionSetHighlightedIndex,highlightedIndex:e})},[f]),L=(0,import_react55.useCallback)(e=>{f({type:FunctionSelectItem,selectedItem:e})},[f]);return{getItemProps:P,getLabelProps:t,getMenuProps:O,getInputProps:j,getComboboxProps:R,getToggleButtonProps:I,toggleMenu:k,openMenu:M,closeMenu:N,setHighlightedIndex:B,setInputValue:(0,import_react55.useCallback)(e=>{f({type:FunctionSetInputValue,inputValue:e})},[f]),selectItem:L,reset:(0,import_react55.useCallback)(()=>{f({type:FunctionReset$1})},[f]),highlightedIndex:p,isOpen:d,selectedItem:g,inputValue:m}}useCombobox.stateChangeTypes=stateChangeTypes$1;var defaultStateValues={activeIndex:-1,selectedItems:[]};function getInitialValue(e,t){return getInitialValue$1(e,t,defaultStateValues)}function getDefaultValue(e,t){return getDefaultValue$1(e,t,defaultStateValues)}function getInitialState(e){return{activeIndex:getInitialValue(e,\\\"activeIndex\\\"),selectedItems:getInitialValue(e,\\\"selectedItems\\\")}}function isKeyDownOperationPermitted(e){var t;return!(e.shiftKey||e.metaKey||e.ctrlKey||e.altKey||(t=e.target)instanceof HTMLInputElement&&\\\"\\\"!==t.value&&(0!==t.selectionStart||0!==t.selectionEnd))}function getA11yRemovalMessage(e){var{removedSelectedItem:t,itemToString:r}=e;return r(t)+\\\" has been removed.\\\"}var propTypes={selectedItems:import_prop_types[\\\"default\\\"].array,initialSelectedItems:import_prop_types[\\\"default\\\"].array,defaultSelectedItems:import_prop_types[\\\"default\\\"].array,itemToString:import_prop_types[\\\"default\\\"].func,getA11yRemovalMessage:import_prop_types[\\\"default\\\"].func,stateReducer:import_prop_types[\\\"default\\\"].func,activeIndex:import_prop_types[\\\"default\\\"].number,initialActiveIndex:import_prop_types[\\\"default\\\"].number,defaultActiveIndex:import_prop_types[\\\"default\\\"].number,onActiveIndexChange:import_prop_types[\\\"default\\\"].func,onSelectedItemsChange:import_prop_types[\\\"default\\\"].func,keyNavigationNext:import_prop_types[\\\"default\\\"].string,keyNavigationPrevious:import_prop_types[\\\"default\\\"].string,environment:import_prop_types[\\\"default\\\"].shape({addEventListener:import_prop_types[\\\"default\\\"].func,removeEventListener:import_prop_types[\\\"default\\\"].func,document:import_prop_types[\\\"default\\\"].shape({getElementById:import_prop_types[\\\"default\\\"].func,activeElement:import_prop_types[\\\"default\\\"].any,body:import_prop_types[\\\"default\\\"].any})})},defaultProps={itemToString:defaultProps$3.itemToString,stateReducer:defaultProps$3.stateReducer,environment:defaultProps$3.environment,getA11yRemovalMessage:getA11yRemovalMessage,keyNavigationNext:\\\"ArrowRight\\\",keyNavigationPrevious:\\\"ArrowLeft\\\"},validatePropTypes=noop,validatePropTypes=(e,t)=>{import_prop_types[\\\"default\\\"].checkPropTypes(propTypes,e,\\\"prop\\\",t.name)},SelectedItemClick=\\\"__selected_item_click__\\\",SelectedItemKeyDownDelete=\\\"__selected_item_keydown_delete__\\\",SelectedItemKeyDownBackspace=\\\"__selected_item_keydown_backspace__\\\",SelectedItemKeyDownNavigationNext=\\\"__selected_item_keydown_navigation_next__\\\",SelectedItemKeyDownNavigationPrevious=\\\"__selected_item_keydown_navigation_previous__\\\",DropdownKeyDownNavigationPrevious=\\\"__dropdown_keydown_navigation_previous__\\\",DropdownKeyDownBackspace=\\\"__dropdown_keydown_backspace__\\\",DropdownClick=\\\"__dropdown_click__\\\",FunctionAddSelectedItem=\\\"__function_add_selected_item__\\\",FunctionRemoveSelectedItem=\\\"__function_remove_selected_item__\\\",FunctionSetSelectedItems=\\\"__function_set_selected_items__\\\",FunctionSetActiveIndex=\\\"__function_set_active_index__\\\",FunctionReset=\\\"__function_reset__\\\",stateChangeTypes=Object.freeze({__proto__:null,SelectedItemClick:SelectedItemClick,SelectedItemKeyDownDelete:SelectedItemKeyDownDelete,SelectedItemKeyDownBackspace:SelectedItemKeyDownBackspace,SelectedItemKeyDownNavigationNext:SelectedItemKeyDownNavigationNext,SelectedItemKeyDownNavigationPrevious:SelectedItemKeyDownNavigationPrevious,DropdownKeyDownNavigationPrevious:DropdownKeyDownNavigationPrevious,DropdownKeyDownBackspace:DropdownKeyDownBackspace,DropdownClick:DropdownClick,FunctionAddSelectedItem:FunctionAddSelectedItem,FunctionRemoveSelectedItem:FunctionRemoveSelectedItem,FunctionSetSelectedItems:FunctionSetSelectedItems,FunctionSetActiveIndex:FunctionSetActiveIndex,FunctionReset:FunctionReset});function downshiftMultipleSelectionReducer(e,t){var{type:r,index:n,props:o,selectedItem:a}=t,{activeIndex:i,selectedItems:s}=e;let c;switch(r){case SelectedItemClick:c={activeIndex:n};break;case SelectedItemKeyDownNavigationPrevious:c={activeIndex:i-1\u003C0?0:i-1};break;case SelectedItemKeyDownNavigationNext:c={activeIndex:i+1>=s.length?-1:i+1};break;case SelectedItemKeyDownBackspace:case SelectedItemKeyDownDelete:{let e=i;1===s.length?e=-1:i===s.length-1&&(e=s.length-2),c={selectedItems:[...s.slice(0,i),...s.slice(i+1)],activeIndex:e};break}case DropdownKeyDownNavigationPrevious:c={activeIndex:s.length-1};break;case DropdownKeyDownBackspace:c={selectedItems:s.slice(0,s.length-1)};break;case FunctionAddSelectedItem:c={selectedItems:[...s,a]};break;case DropdownClick:c={activeIndex:-1};break;case FunctionRemoveSelectedItem:{let e=i;var l=s.indexOf(a);0\u003C=l&&(1===s.length?e=-1:l===s.length-1&&(e=s.length-2),c={selectedItems:[...s.slice(0,l),...s.slice(l+1)],activeIndex:e});break}case FunctionSetSelectedItems:l=t[\\\"selectedItems\\\"];c={selectedItems:l};break;case FunctionSetActiveIndex:l=t[\\\"activeIndex\\\"];c={activeIndex:l};break;case FunctionReset:c={activeIndex:getDefaultValue(o,\\\"activeIndex\\\"),selectedItems:getDefaultValue(o,\\\"selectedItems\\\")};break;default:throw new Error(\\\"Reducer called without proper action type.\\\")}return{...e,...c}}function useMultipleSelection(e){validatePropTypes(e=void 0===e?{}:e,useMultipleSelection);var t={...defaultProps,...e};const{getA11yRemovalMessage:r,itemToString:n,environment:o,keyNavigationNext:a,keyNavigationPrevious:i}=t,[s,l]=useControlledReducer$1(downshiftMultipleSelectionReducer,getInitialState(t),t),{activeIndex:c,selectedItems:u}=s,d=(0,import_react55.useRef)(!0),p=(0,import_react55.useRef)(null),f=(0,import_react55.useRef)(u),g=(0,import_react55.useRef)(),m=(g.current=[],useLatestRef3({state:s,props:t})),h=((0,import_react55.useEffect)(()=>{var e;d.current||(u.length\u003Cf.current.length&&(e=f.current.find(e=>u.indexOf(e)\u003C0),setStatus(r({itemToString:n,resultCount:u.length,removedSelectedItem:e,activeIndex:c,activeSelectedItem:u[c]}),o.document)),f.current=u)},[u.length]),(0,import_react55.useEffect)(()=>{d.current||(-1===c&&p.current?p.current.focus():g.current[c]&&g.current[c].focus())},[c]),useControlPropsValidator({isInitialMount:d.current,props:t,state:s}),useGetterPropsCalledChecker(\\\"getDropdownProps\\\")),_=((0,import_react55.useEffect)(()=>{d.current=!1},[]),(0,import_react55.useMemo)(()=>({[i](){l({type:SelectedItemKeyDownNavigationPrevious})},[a](){l({type:SelectedItemKeyDownNavigationNext})},Delete(){l({type:SelectedItemKeyDownDelete})},Backspace(){l({type:SelectedItemKeyDownBackspace})}}),[l,a,i])),v=(0,import_react55.useMemo)(()=>({[i](e){isKeyDownOperationPermitted(e)&&l({type:DropdownKeyDownNavigationPrevious})},Backspace(e){isKeyDownOperationPermitted(e)&&l({type:DropdownKeyDownBackspace})}}),[l,i]);return{getSelectedItemProps:(0,import_react55.useCallback)(function(e){let{refKey:t=\\\"ref\\\",ref:r,onClick:n,onKeyDown:o,selectedItem:a,index:i,...s}=void 0===e?{}:e;var c=m.current[\\\"state\\\"];if(getItemIndex(i,a,c.selectedItems)\u003C0)throw new Error(\\\"Pass either selectedItem or index in getSelectedItemProps!\\\");return{[t]:handleRefs(r,e=>{e&&g.current.push(e)}),tabIndex:i===c.activeIndex?0:-1,onClick:callAllEventHandlers(n,()=>{l({type:SelectedItemClick,index:i})}),onKeyDown:callAllEventHandlers(o,e=>{var t=normalizeArrowKey(e);t&&_[t]&&_[t](e)}),...s}},[l,m,_]),getDropdownProps:(0,import_react55.useCallback)(function(e,t){let{refKey:r=\\\"ref\\\",ref:n,onKeyDown:o,onClick:a,preventKeyAction:i=!1,...s}=void 0===e?{}:e;var{suppressRefError:c=!1}=void 0===t?{}:t;h(\\\"getDropdownProps\\\",c,r,p);return{[r]:handleRefs(n,e=>{e&&(p.current=e)}),...!i&&{onKeyDown:callAllEventHandlers(o,e=>{var t=normalizeArrowKey(e);t&&v[t]&&v[t](e)}),onClick:callAllEventHandlers(a,()=>{l({type:DropdownClick})})},...s}},[l,v,h]),addSelectedItem:(0,import_react55.useCallback)(e=>{l({type:FunctionAddSelectedItem,selectedItem:e})},[l]),removeSelectedItem:(0,import_react55.useCallback)(e=>{l({type:FunctionRemoveSelectedItem,selectedItem:e})},[l]),setSelectedItems:(0,import_react55.useCallback)(e=>{l({type:FunctionSetSelectedItems,selectedItems:e})},[l]),setActiveIndex:(0,import_react55.useCallback)(e=>{l({type:FunctionSetActiveIndex,activeIndex:e})},[l]),reset:(0,import_react55.useCallback)(()=>{l({type:FunctionReset})},[l]),selectedItems:u,activeIndex:c}}useMultipleSelection.stateChangeTypes=stateChangeTypes;var import_react56=require(\\\"react\\\");function useComboBox(e){var t,r;const{closeMenu:n,getMenuProps:o,getComboboxProps:a,getInputProps:i,getItemProps:s}=useCombobox({isOpen:void 0!==(null==(r=(t=useAutoCompletePluginStore.get).activeId)?void 0:r.call(t)),highlightedIndex:null==(r=(t=useAutoCompletePluginStore.get).highlightedIndex)?void 0:r.call(t),items:e,circularNavigation:!0});return o({},{suppressRefError:!0}),a({},{suppressRefError:!0}),i({},{suppressRefError:!0}),(0,import_react56.useMemo)(()=>({closeMenu:n,getMenuProps:o,getItemProps:s}),[n,s,o])}var import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),Container=import_styled_components[\\\"default\\\"].ul`\\n width: 300px;\\n max-height: 288px;\\n border-radius: 0 0 2px 2px;\\n box-shadow: rgba(0, 0, 0, 0.133) 0 3.2px 7.2px 0, rgba(0, 0, 0, 0.11) 0 0.6px 1.8px 0;\\n background-color: white;\\n margin: 0;\\n padding: 0;\\n overflow: scroll;\\n overflow: overlay;\\n\\n z-index: 500;\\n`,Item=import_styled_components[\\\"default\\\"].div`\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n\\n padding: 0 2px;\\n\\n font-size: 14px;\\n border-radius: 0;\\n min-height: 36px;\\n user-select: none;\\n color: rgb(32, 31, 30);\\n background: transparent;\\n\\n &:hover {\\n background: rgb(243, 242, 241);\\n }\\n\\n ${(0,import_typescript_styled_is[\\\"default\\\"])(\\\"$highlighted\\\")`\\n background: rgb(237, 235, 233);\\n\\n &:hover {\\n background: rgb(237, 235, 233);\\n }\\n `}\\n`;function Combobox({id:t,onSelectItem:o,onRenderItem:a,items:r,maxSuggestions:n=(e=>null!=(e=null==r?void 0:r.length)?e:0)(),filter:i,getRenderTextTemplate:s,getNameTemplate:c}){const l=null==(p=(g=useAutoCompletePluginStore.get).activeId)?void 0:p.call(g),u=null==(p=(g=useAutoCompletePluginStore.get).highlightedIndex)?void 0:p.call(g);null!=(p=(g=useAutoCompletePluginStore.get).popperContainer)&&p.call(g);const e=null==(p=(g=useAutoCompletePluginStore.get).targetRange)?void 0:p.call(g),d=null==(p=(g=useAutoCompletePluginStore.get).text)?void 0:p.call(g);var p=null!=(g=useAutoCompletePluginStore.get.filteredItems()[null!=t?t:\\\"\\\"])?g:[];const f=useEditorState();var g=null==(g=useEventEditorSelectors.focus)?void 0:g.call(useEventEditorSelectors),m=((0,import_react57.useEffect)(()=>{let e=[];e=r?(isDefined(d)&&0!==d.length?r.filter(e=>(void 0===i?e=>e.text.toLowerCase().startsWith(d.toLowerCase()):i(d))(e)):r).slice(0,n):[],l&&useAutoCompletePluginStore.set.setFilteredItems({[t]:e})},[i,r,n,d]),(0,import_react57.useCallback)(()=>getRangeBoundingClientRect(f,e),[f,e])),g=null==f.selection||g!==f.id||l!==t,{style:m,floating:g}=useVirtualFloating({placement:\\\"bottom-start\\\",getBoundingClientRect:m,middleware:[L2(4),O2(),A2()],open:!g});const h=useComboBox(p);var _=h?h.getMenuProps({},{suppressRefError:!0}):{ref:null};return(0,import_jsx_runtime.jsx)(PortalBody,{children:(0,import_jsx_runtime.jsx)(Container,{..._,ref:g,style:m,children:p.map((t,e)=>{var r=null==a?t.text:a({item:t,getRenderTextTemplate:s,getNameTemplate:c}),n=e===u;return(0,import_jsx_runtime.jsx)(Item,{$highlighted:n,...h.getItemProps({item:t,index:e}),onMouseDown:e=>{e.preventDefault(),null!=o&&o(f,t)},children:r},t.key)})})})}function wikiAstFromWikiText(e){return\\\"undefined\\\"==typeof $tw?[]:$tw.wiki.parseText(\\\"text/vnd.tiddlywiki\\\",e).tree}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var ELEMENT_WIDGET2=\\\"widget\\\",ELEMENT_SET=\\\"set\\\",ELEMENT_MACRO=\\\"macro\\\",ELEMENT_CODE_BLOCK3=\\\"codeblock\\\";function codeblock2(e,t){var r=null!=(r=null==(r=t.attributes.language)?void 0:r.value)?r:\\\"\\\",n=null!=(n=null==(n=t.attributes.code)?void 0:n.value)?n:\\\"\\\";return{type:ELEMENT_CODE_BLOCK3,isElement:!0,isVoid:!0,language:r,code:n,children:[{text:\\\"\\\"}]}}function omit2(e,t){return t.reduce((e,t)=>{let{[t]:r,...n}=e;return n},e)}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var isText3=e=>null!==e&&\\\"object\\\"==typeof e&&\\\"text\\\"in e&&\\\"string\\\"==typeof e.text,textLevelKeysToOmit=[\\\"type\\\",\\\"start\\\",\\\"end\\\"];function text2(e,t){return{text:\\\"\\\",...omit2(t,textLevelKeysToOmit),...e.marks}}function mergeSiblingTexts(e){return{...e,children:e.children.reduce((e,t)=>{var r=e.at(-1);return isText3(t)?isText3(r)?[...e.slice(0,-1),{text:r.text+\\\"\\\\n\\\"+t.text}]:[...e,t]:[...e,mergeSiblingTexts(t)]},[])}}function wrapTextWithP(e){return e.map(e=>\\\"string\\\"==typeof e.text&&void 0===e.type?{type:\\\"p\\\",children:[e]}:e)}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var pick2=(r,e)=>e.reduce((e,t)=>(t in r&&(e[t]=r[t]),e),{});function removeTypeFromAttributes(n){if(void 0!==n)return Object.keys(n).reduce((e,t)=>{var r=n[t];return\\\"string\\\"===r.type&&(e[t]=r.value),e},{})}function getWikiASTAdditionalProperties(e){var t={...pick2(e,[\\\"orderedAttributes\\\",\\\"isBlock\\\"])};return void 0!==e.attributes&&(t.attributes=removeTypeFromAttributes(e.attributes),t[\\\"tw-attributes\\\"]=e.attributes),t}function convertNodes2(r,e){return void 0===e||0===e.length?[{text:\\\"\\\"}]:e.reduce((e,t)=>[...e,...slateNode(r,t)],[])}function slateNode(e,t){let r=null==(o=e.idCreator)?void 0:o.call(e),n=e=>void 0===r?e:{...e,id:r};if(t.type in e.builders){var o=e.builders[t.type];if(\\\"function\\\"==typeof o)return o=o(e,t),Array.isArray(o)?o.map(e=>n({...getWikiASTAdditionalProperties(t),...e})):[n({...getWikiASTAdditionalProperties(t),...o})]}else if(\\\"string\\\"==typeof t.type&&\\\"tag\\\"in t&&\\\"string\\\"==typeof t.tag)return[n({...getWikiASTAdditionalProperties,...e.builders.widget(e,t)})];return[]}function blockquote2(e,t){var r=convertNodes2(e,t.children).flatMap(e=>\\\"div\\\"===e.type?e.children:[e]);return mergeSiblingTexts({type:t.tag,children:r})}function mergeAdjacent(e,t){let r;var n,o,a=[];for(n of e)void 0===r||r.type!==n.type||t&&n.type!==t?(a.push(n),r=n):(Array.isArray(r.children)||(r.children=[]),r.children.push(...null!=(o=n.children)?o:[]));return a}function li(t,e){var r=e[\\\"children\\\"],r=mergeAdjacent(r.flatMap(e=>\\\"text\\\"===e.type||\\\"ol\\\"!==e.tag&&\\\"ul\\\"!==e.tag?{type:\\\"lic\\\",children:convertNodes2(t,[e])}:convertNodes2(t,[e])),\\\"lic\\\").map(e=>{var t;return\\\"lic\\\"===e.type&&(0\u003Ce.children.length?(e.children[0].text||e.children.push({text:\\\"\\\"}),null!=(t=e.children.at(-1))&&t.text||e.children.unshift({text:\\\"\\\"})):e.children.push({text:\\\"\\\"})),e});return{type:\\\"li\\\",children:0\u003Cr.length?r:[{type:\\\"lic\\\",children:[{text:\\\"\\\"}]}]}}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var markTypeMap2={strong:\\\"bold\\\",em:\\\"italic\\\",u:\\\"underline\\\",strike:\\\"strikethrough\\\",code:\\\"code\\\",sup:\\\"superscript\\\",sub:\\\"subscript\\\"},markTypes=Object.keys(markTypeMap2);function toggleMarkFactory(o){return function(e,t){var r=null!=(r=e.marks[o])&&r,n=(e.marks[o]=!0,convertNodes2(e,t.children));return r||delete e.marks[o],n}}var marks3={};for(let RXb of markTypes)marks3[RXb]=toggleMarkFactory(markTypeMap2[RXb]);function tbody(e,t){var r=t[\\\"children\\\"];return convertNodes2(e,r)}function td2(e,t){var{tag:r,children:n}=t;return{type:r,children:wrapTextWithP(convertNodes2(e,n))}}function ul(e,t){var{tag:r,children:n}=t;return{type:r,children:convertNodes2(e,n)}}init_esbuild_inject(),init_esbuild_inject();var elementBuilders2={ul:ul,ol:ul,li:li,blockquote:blockquote2,...marks3,tbody:tbody,td:td2};function element2(e,t){var{tag:r,children:n}=t;return\\\"function\\\"==typeof elementBuilders2[r]?elementBuilders2[r](e,t):{type:r,children:convertNodes2(e,n)}}function link(e,t){var r=(null!=(r=t.attributes)?r:{})[\\\"to\\\"][\\\"value\\\"],[{text:n}]=null!=(n=t.children)?n:[];return{type:\\\"a\\\",\\\"tw-type\\\":\\\"link\\\",url:r,children:[{text:n}]}}function macro(e,t){return\\\"tag\\\"in t?e.builders.widget(e,t):{node:t,type:ELEMENT_MACRO,isElement:!0,isVoid:!0,children:[{text:\\\"\\\"}]}}function set2(e,t){let{children:r,...n}=t;return\\\"tag\\\"in t?{...e.builders.widget(e,n),children:convertNodes2(e,r)}:{node:n,type:ELEMENT_SET,isElement:!0,isVoid:!0,children:convertNodes2(e,r)}}function widget2(e,t){return{node:t,type:ELEMENT_WIDGET2,isElement:!0,isVoid:!0,children:[{text:\\\"\\\"}]}}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var builders2={element:element2,text:text2,link:link,codeblock:codeblock2,widget:widget2,image:widget2,tiddler:widget2,macrocall:macro,set:set2},initialContext=(init_esbuild_inject(),{builders:builders2,marks:{}});function wikiAstToSlateAst(e,t){return convertNodes2({...initialContext,...t},Array.isArray(e)?e:[e])}function codeblock3(e,t){var r;return[\\\"```\\\",null!=(r=null==(r=t.attributes.language)?void 0:r.value)?r:\\\"\\\",\\\"\\\\n\\\",null!=(r=null==(r=t.attributes.code)?void 0:r.value)?r:\\\"\\\",\\\"\\\\n\\\",\\\"```\\\"]}function a6(e,t){var r,{attributes:n,children:o}=t;return\\\"string\\\"==typeof(null==n||null==(r=n[\\\"class\\\"])?void 0:r.value)&&n[\\\"class\\\"].value.includes(\\\"tc-tiddlylink-external\\\")?e.builders.link(e,{type:\\\"link\\\",attributes:{to:n.href},children:o},{prefix:\\\"ext\\\"}):e.builders.jsx(e,t)}function convertNodes3(n,e){let o=n.root;n.root=!1;var t,r=n.index;return void(n.index=0)===e||0===e.length?[]:(t=e.reduce((e,t)=>{var r=[...e,...convertOneNode(n,t)];return n.index+=1,o?[...r,\\\"\\\\n\\\"]:r},[]),n.index=r,t)}function convertOneNode(e,t){let r=e[\\\"builders\\\"],n=[];var o;return t.type in r?\\\"function\\\"==typeof(o=r[t.type])&&(o=o(e,t),n=Array.isArray(o)?o:[o]):\\\"string\\\"==typeof t.type&&\\\"tag\\\"in t&&\\\"string\\\"==typeof t.tag&&(n=r.widget(e,t)),\\\"isBlock\\\"in t&&!0===t.isBlock?[...n,\\\"\\\\n\\\"]:n}function blockquote3(e,{children:t}){return void 0===t||0===t.length?[]:\\\"div\\\"===t[0].tag?convertNodes3(e,t).map(e=>`> ${e}\\n`):[\\\"\u003C\u003C\u003C\\\",...convertNodes3(e,t),\\\"\u003C\u003C\u003C\\\",\\\"\\\\n\\\"]}function div(e,{children:t}){return convertNodes3(e,t)}function h1(e,t){var{attributes:r,children:n,tag:o}=t;return null!=r&&null!=(r=r[\\\"class\\\"])&&r.value?e.builders.jsx(e,t):(r=Number(o.replace(\\\"h\\\",\\\"\\\")),[\\\"!\\\".repeat(r),\\\" \\\",...convertNodes3(e,n),\\\"\\\\n\\\"])}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var headings={h1:h1,h2:h1,h3:h1,h4:h1,h5:h1,h6:h1},commonjsGlobal5=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),\\\"undefined\\\"!=typeof globalThis?globalThis:\\\"undefined\\\"!=typeof window?window:\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:{});function getDefaultExportFromCjs2(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\\\"default\\\")?e[\\\"default\\\"]:e}init_esbuild_inject();var lodash_iteratee={exports:{}},lodash_iterateeExports=(lodash_iteratee.exports,function(e,h){var _=\\\"__lodash_hash_undefined__\\\",T=\\\"[object Arguments]\\\",d=\\\"[object Array]\\\",C=\\\"[object Boolean]\\\",w=\\\"[object Date]\\\",v=\\\"[object Error]\\\",S=\\\"[object Function]\\\",z=\\\"[object GeneratorFunction]\\\",x=\\\"[object Map]\\\",D=\\\"[object Number]\\\",$=\\\"[object Object]\\\",y=\\\"[object Promise]\\\",A=\\\"[object RegExp]\\\",O=\\\"[object Set]\\\",P=\\\"[object String]\\\",I=\\\"[object Symbol]\\\",n=\\\"[object WeakMap]\\\",K=\\\"[object ArrayBuffer]\\\",j=\\\"[object DataView]\\\",V=\\\"[object Float32Array]\\\",U=\\\"[object Float64Array]\\\",G=\\\"[object Int8Array]\\\",q=\\\"[object Int16Array]\\\",W=\\\"[object Int32Array]\\\",Y=\\\"[object Uint8Array]\\\",X=\\\"[object Uint8ClampedArray]\\\",J=\\\"[object Uint16Array]\\\",Q=\\\"[object Uint32Array]\\\",b=/\\\\.|\\\\[(?:[^[\\\\]]*|([\\\"'])(?:(?!\\\\1)[^\\\\\\\\]|\\\\\\\\.)*?\\\\1)\\\\]/,E=/^\\\\w*$/,Z=/^\\\\./,ee=/[^.[\\\\]]+|\\\\[(?:(-?\\\\d+(?:\\\\.\\\\d+)?)|([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]|(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|$))/g,te=/\\\\\\\\(\\\\\\\\)?/g,re=/\\\\w*$/,ne=/^\\\\[object .+?Constructor\\\\]$/,oe=/^(?:0|[1-9]\\\\d*)$/,t={},R=(t[V]=t[U]=t[G]=t[q]=t[W]=t[Y]=t[X]=t[J]=t[Q]=!0,t[T]=t[d]=t[K]=t[C]=t[j]=t[w]=t[v]=t[S]=t[x]=t[D]=t[$]=t[A]=t[O]=t[P]=t[n]=!1,{}),ae=(R[T]=R[d]=R[K]=R[j]=R[C]=R[w]=R[V]=R[U]=R[G]=R[q]=R[W]=R[x]=R[D]=R[$]=R[A]=R[O]=R[P]=R[I]=R[Y]=R[X]=R[J]=R[Q]=!0,R[v]=R[S]=R[n]=!1,\\\"object\\\"==typeof commonjsGlobal5&&commonjsGlobal5&&commonjsGlobal5.Object===Object&&commonjsGlobal5),r=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,r=ae||r||Function(\\\"return this\\\")(),o=h&&!h.nodeType&&h,a=o&&e&&!e.nodeType&&e,a=a&&a.exports===o,ie=a&&ae.process,o=function(){try{return ie&&ie.binding(\\\"util\\\")}catch(e){}}(),se=o&&o.isTypedArray;function ce(e,t){return e.set(t[0],t[1]),e}function le(e,t){return e.add(t),e}function ue(e,t,r,n){var o=-1,a=e?e.length:0;for(n&&a&&(r=e[++o]);++o\u003Ca;)r=t(r,e[o],o,e);return r}function de(e){var t=!1;if(null!=e&&\\\"function\\\"!=typeof e.toString)try{t=!!(e+\\\"\\\")}catch(r){}return t}function pe(e){var r=-1,n=Array(e.size);return e.forEach(function(e,t){n[++r]=[t,e]}),n}function fe(t,r){return function(e){return t(r(e))}}function ge(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}var ae=Array.prototype,o=Function.prototype,me=Object.prototype,i=r[\\\"__core-js_shared__\\\"],he=(i=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||\\\"\\\"))?\\\"Symbol(src)_1.\\\"+i:\\\"\\\",_e=o.toString,k=me.hasOwnProperty,s=me.toString,ve=RegExp(\\\"^\\\"+_e.call(k).replace(/[\\\\\\\\^$.*+?()[\\\\]{}|]/g,\\\"\\\\\\\\$&\\\").replace(/hasOwnProperty|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\"),i=a?r.Buffer:void 0,o=r.Symbol,ye=r.Uint8Array,be=fe(Object.getPrototypeOf,Object),Ee=Object.create,Te=me.propertyIsEnumerable,Ce=ae.splice,a=Object.getOwnPropertySymbols,ae=i?i.isBuffer:void 0,we=fe(Object.keys,Object),i=g(r,\\\"DataView\\\"),c=g(r,\\\"Map\\\"),Se=g(r,\\\"Promise\\\"),xe=g(r,\\\"Set\\\"),r=g(r,\\\"WeakMap\\\"),l=g(Object,\\\"create\\\"),De=m(i),$e=m(c),Ae=m(Se),Oe=m(xe),Pe=m(r),o=o?o.prototype:void 0,N=o?o.valueOf:void 0,Ie=o?o.toString:void 0;function u(e){var t=-1,r=e?e.length:0;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}function p(e){var t=-1,r=e?e.length:0;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}function f(e){var t=-1,r=e?e.length:0;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}function je(e){var t=-1,r=e?e.length:0;for(this.__data__=new f;++t\u003Cr;)this.add(e[t])}function M(e){this.__data__=new p(e)}function Re(e,t,r){var n=e[t];k.call(e,t)&&Je(n,r)&&(void 0!==r||t in e)||(e[t]=r)}function ke(e,t){for(var r=e.length;r--;)if(Je(e[r][0],t))return r;return-1}function Ne(e,t){for(var r,n=0,o=(t=Ue(t,e)?[t]:L(r=t)?r:We(r)).length;null!=e&&n\u003Co;)e=e[Ye(t[n++])];return n&&n==o?e:void 0}function Me(e,t){return null!=e&&t in Object(e)}function Be(e,t,r,n,o){return e===t||(null!=e&&null!=t&&(F(e)||nt(t))?function(e,t,r,n,o,a){var i=L(e),s=L(t),c=d,l=d,s=(i||(c=(c=B(e))==T?$:c),s||(l=(l=B(t))==T?$:l),c==$&&!de(e)),u=l==$&&!de(t),l=c==l;if(l&&!s)return a=a||new M,(i||at(e)?He:function(e,t,r,n,o,a){switch(c){case j:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case K:if(e.byteLength==t.byteLength&&r(new ye(e),new ye(t)))return!0;break;case C:case w:case D:return Je(+e,+t);case v:return e.name==t.name&&e.message==t.message;case A:case P:return e==t+\\\"\\\";case x:var i=pe;case O:i=i||ge;if(e.size!=t.size&&!(2&o))break;var s=a.get(e);if(s)return s==t;o|=1,a.set(e,t);s=He(i(e),i(t),r,n,o,a);return a[\\\"delete\\\"](e),s;case I:if(N)return N.call(e)==N.call(t)}return!1})(e,t,r,n,o,a);if(!(2&o)){i=s&&k.call(e,\\\"__wrapped__\\\"),s=u&&k.call(t,\\\"__wrapped__\\\");if(i||s)return r(i?e.value():e,s?t.value():t,n,o,a=a||new M)}return!!l&&function(e,t,r,n,o,a){var i=2&o,s=H(e),c=s.length;if(c!=H(t).length&&!i)return!1;for(var l=c;l--;){var u=s[l];if(!(i?u in t:k.call(t,u)))return!1}var d=a.get(e);if(d&&a.get(t))return d==t;var p=!0;a.set(e,t),a.set(t,e);for(var f,g=i;++l\u003Cc;){var m,h=e[u=s[l]],_=t[u];if(!(void 0===(m=n?i?n(_,h,u,t,e,a):n(h,_,u,e,t,a):m)?h===_||r(h,_,n,o,a):m)){p=!1;break}g=g||\\\"constructor\\\"==u}return p&&!g&&(d=e.constructor)!=(f=t.constructor)&&\\\"constructor\\\"in e&&\\\"constructor\\\"in t&&!(\\\"function\\\"==typeof d&&d instanceof d&&\\\"function\\\"==typeof f&&f instanceof f)&&(p=!1),a[\\\"delete\\\"](e),a[\\\"delete\\\"](t),p}(e,t,r,n,o,a=a||new M)}(e,t,Be,r,n,o):e!=e&&t!=t)}function Le(e){var t=new e.constructor(e.byteLength);return new ye(t).set(new ye(e)),t}function Fe(e,t,r,n){r=r||{};for(var o=-1,a=t.length;++o\u003Ca;){var i=t[o],s=n?n(r[i],e[i],i,r,e):void 0;Re(r,i,void 0===s?e[i]:s)}return r}function He(e,t,n,o,a,i){var r=2&a,s=e.length,c=t.length;if(s!=c&&!(r&&s\u003Cc))return!1;c=i.get(e);if(c&&i.get(t))return c==t;var l=-1,u=!0,d=1&a?new je:void 0;for(i.set(e,t),i.set(t,e);++l\u003Cs;){var p,f=e[l],g=t[l];if(void 0!==(p=o?r?o(g,f,l,t,e,i):o(f,g,l,e,t,i):p)){if(p)continue;u=!1;break}if(d){if(!function(e){for(var t=-1,r=e?e.length:0;++t\u003Cr;)if(function(e,t){if(!d.has(t)&&(f===e||n(f,e,o,a,i)))return d.add(t)}(e[t],t))return 1}(t)){u=!1;break}}else if(f!==g&&!n(f,g,o,a,i)){u=!1;break}}return i[\\\"delete\\\"](e),i[\\\"delete\\\"](t),u}function ze(e,t){var r,n=e.__data__;return(\\\"string\\\"==(r=typeof t)||\\\"number\\\"==r||\\\"symbol\\\"==r||\\\"boolean\\\"==r?\\\"__proto__\\\"!==t:null===t)?n[\\\"string\\\"==typeof t?\\\"string\\\":\\\"hash\\\"]:n.map}function g(e,t){var r=null==e?void 0:e[t];return!F(r)||he&&he in r||!(tt(r)||de(r)?ve:ne).test(m(r))?void 0:r}u.prototype.clear=function(){this.__data__=l?l(null):{}},u.prototype[\\\"delete\\\"]=function(e){return this.has(e)&&delete this.__data__[e]},u.prototype.get=function(e){var t,r=this.__data__;return l?(t=r[e])===_?void 0:t:k.call(r,e)?r[e]:void 0},u.prototype.has=function(e){var t=this.__data__;return l?void 0!==t[e]:k.call(t,e)},u.prototype.set=function(e,t){return this.__data__[e]=l&&void 0===t?_:t,this},p.prototype.clear=function(){this.__data__=[]},p.prototype[\\\"delete\\\"]=function(e){var t=this.__data__,r=ke(t,e);return!(r\u003C0||(r==t.length-1?t.pop():Ce.call(t,r,1),0))},p.prototype.get=function(e){var t=this.__data__,r=ke(t,e);return r\u003C0?void 0:t[r][1]},p.prototype.has=function(e){return-1\u003Cke(this.__data__,e)},p.prototype.set=function(e,t){var r=this.__data__,n=ke(r,e);return n\u003C0?r.push([e,t]):r[n][1]=t,this},f.prototype.clear=function(){this.__data__={hash:new u,map:new(c||p),string:new u}},f.prototype[\\\"delete\\\"]=function(e){return ze(this,e)[\\\"delete\\\"](e)},f.prototype.get=function(e){return ze(this,e).get(e)},f.prototype.has=function(e){return ze(this,e).has(e)},f.prototype.set=function(e,t){return ze(this,e).set(e,t),this},je.prototype.add=je.prototype.push=function(e){return this.__data__.set(e,_),this},je.prototype.has=function(e){return this.__data__.has(e)},M.prototype.clear=function(){this.__data__=new p},M.prototype[\\\"delete\\\"]=function(e){return this.__data__[\\\"delete\\\"](e)},M.prototype.get=function(e){return this.__data__.get(e)},M.prototype.has=function(e){return this.__data__.has(e)},M.prototype.set=function(e,t){var r=this.__data__;if(r instanceof p){var n=r.__data__;if(!c||n.length\u003C199)return n.push([e,t]),this;r=this.__data__=new f(n)}return r.set(e,t),this};var Ke=a?fe(a,Object):function(){return[]},B=function(e){return s.call(e)};function Ve(e,t){return!!(t=null==t?9007199254740991:t)&&(\\\"number\\\"==typeof e||oe.test(e))&&-1\u003Ce&&e%1==0&&e\u003Ct}function Ue(e,t){var r;if(!L(e))return\\\"number\\\"==(r=typeof e)||\\\"symbol\\\"==r||\\\"boolean\\\"==r||null==e||ot(e)||E.test(e)||!b.test(e)||null!=t&&e in Object(t)}function Ge(e){var t=e&&e.constructor;return e===(\\\"function\\\"==typeof t&&t.prototype||me)}function qe(t,r){return function(e){return null!=e&&e[t]===r&&(void 0!==r||t in Object(e))}}(i&&B(new i(new ArrayBuffer(1)))!=j||c&&B(new c)!=x||Se&&B(Se.resolve())!=y||xe&&B(new xe)!=O||r&&B(new r)!=n)&&(B=function(e){var t=s.call(e),r=t==$?e.constructor:void 0,r=r?m(r):void 0;if(r)switch(r){case De:return j;case $e:return x;case Ae:return y;case Oe:return O;case Pe:return n}return t});var We=Xe(function(e){var t,r;e=null==e?\\\"\\\":\\\"string\\\"==typeof(t=e)?t:ot(t)?Ie?Ie.call(t):\\\"\\\":\\\"0\\\"==(r=t+\\\"\\\")&&1/t==-1/0?\\\"-0\\\":r;var o=[];return Z.test(e)&&o.push(\\\"\\\"),e.replace(ee,function(e,t,r,n){o.push(r?n.replace(te,\\\"$1\\\"):t||e)}),o});function Ye(e){var t;return\\\"string\\\"==typeof e||ot(e)?e:\\\"0\\\"==(t=e+\\\"\\\")&&1/e==-1/0?\\\"-0\\\":t}function m(e){if(null!=e){try{return _e.call(e)}catch(t){}try{return e+\\\"\\\"}catch(t){}}return\\\"\\\"}function Xe(n,o){if(\\\"function\\\"!=typeof n||o&&\\\"function\\\"!=typeof o)throw TypeError(\\\"Expected a function\\\");var a=function(){var e=arguments,t=o?o.apply(this,e):e[0],r=a.cache;return r.has(t)?r.get(t):(e=n.apply(this,e),a.cache=r.set(t,e),e)};return a.cache=new(Xe.Cache||f),a}function Je(e,t){return e===t||e!=e&&t!=t}function Qe(e){return nt(e)&&Ze(e)&&k.call(e,\\\"callee\\\")&&(!Te.call(e,\\\"callee\\\")||s.call(e)==T)}Xe.Cache=f;var L=Array.isArray;function Ze(e){return null!=e&&rt(e.length)&&!tt(e)}var et=ae||function(){return!1};function tt(e){var t=F(e)?s.call(e):\\\"\\\";return t==S||t==z}function rt(e){return\\\"number\\\"==typeof e&&-1\u003Ce&&e%1==0&&e\u003C=9007199254740991}function F(e){var t=typeof e;return e&&(\\\"object\\\"==t||\\\"function\\\"==t)}function nt(e){return!!e&&\\\"object\\\"==typeof e}function ot(e){return\\\"symbol\\\"==typeof e||nt(e)&&s.call(e)==I}var at=se?function(e){return se(e)}:function(e){return nt(e)&&rt(e.length)&&!!t[s.call(e)]};function H(e){return(Ze(e)?function(e){var t,r=L(e)||Qe(e)?function(e,t){for(var r=-1,n=Array(e);++r\u003Ce;)n[r]=t(r);return n}(e.length,String):[],n=r.length,o=!!n;for(t in e)!k.call(e,t)||o&&(\\\"length\\\"==t||Ve(t,n))||r.push(t);return r}:function(e){if(!Ge(e))return we(e);var t,r=[];for(t in Object(e))k.call(e,t)&&\\\"constructor\\\"!=t&&r.push(t);return r})(e)}function it(e){return e}e.exports=function(e){var t,r,n,o,a,i;return\\\"function\\\"==typeof(t=\\\"function\\\"==typeof e?e:function E(r,n,o,a,e,t,i){if(void 0===(s=a?t?a(r,e,t,i):a(r):s)){if(!F(r))return r;var s,c=L(r);if(c){if(m=r.length,f=r.constructor(m),m&&\\\"string\\\"==typeof r[0]&&k.call(r,\\\"index\\\")&&(f.index=r.index,f.input=r.input),s=f,!n){var l=r;var u=s;var d=-1,p=l.length;for(u=u||Array(p);++d\u003Cp;)u[d]=l[d];return u;return}}else{var f,g=B(r),m=g==S||g==z;if(et(r))return e=r,n?e.slice():(f=new e.constructor(e.length),e.copy(f),f);if(g==$||g==T||m&&!t){if(de(r))return t?r:{};if(s=\\\"function\\\"==typeof(m=m?{}:r).constructor&&!Ge(m)&&F(m=be(m))?Ee(m):{},!n)return m=(m=s)&&Fe(r,H(r),m),Fe(r,Ke(r),m)}else{if(!R[g])return t?r:{};s=function(e,t,r){var n,o=e.constructor;switch(g){case K:return Le(e);case C:case w:return new o(+e);case j:return n=r?Le(e.buffer):e.buffer,new e.constructor(n,e.byteOffset,e.byteLength);case V:case U:case G:case q:case W:case Y:case X:case J:case Q:return n=r?Le(e.buffer):e.buffer,new e.constructor(n,e.byteOffset,e.length);case x:return ue(r?t(pe(e),!0):pe(e),ce,new e.constructor);case D:case P:return new o(e);case A:return(n=new e.constructor(e.source,re.exec(e))).lastIndex=e.lastIndex,n;case O:return ue(r?t(ge(e),!0):ge(e),le,new e.constructor);case I:return N?Object(N.call(e)):{}}}(r,E,n)}}var h,m=(i=i||new M).get(r);if(m)return m;i.set(r,s);for(var _=(h=c?h:o?(c=H(m=r),L(m)?c:function(e,t){for(var r=-1,n=t.length,o=e.length;++r\u003Cn;)e[o+r]=t[r];return e}(c,Ke(m))):H(r))||r,v=function(e,t){h&&(e=r[t=e]),Re(s,t,E(e,n,o,a,t,r,i))},y=-1,b=_?_.length:0;++y\u003Cb&&!1!==v(_[y],y););}return s}(e,!0))?t:null==t?it:\\\"object\\\"==typeof t?L(t)?(r=t[0],n=t[1],Ue(r)&&n==n&&!F(n)?qe(Ye(r),n):function(e){var t=void 0===(t=null==e?void 0:Ne(e,r))?void 0:t;return void 0===t&&t===n?null!=e&&function(e,t,r){for(var n,o,a=-1,i=(t=Ue(t,e)?[t]:L(n=t)?n:We(n)).length;++a\u003Ci;){var s=Ye(t[a]);if(!(o=null!=e&&r(e,s)))break;e=e[s]}return o||!!(i=e?e.length:0)&&rt(i)&&Ve(s,i)&&(L(e)||Qe(e))}(e,r,Me):Be(n,t,void 0,3)}):1==(o=function(e){for(var t=H(e),r=t.length;r--;){var n=t[r],o=e[n];t[r]=[n,o,o==o&&!F(o)]}return t}(t)).length&&o[0][2]?qe(o[0][0],o[0][1]):function(u){return u===t||function(e,t,r){var n=t.length,o=n;if(null==u)return!o;for(e=Object(u);n--;){var a=t[n];if(a[2]?a[1]!==e[a[0]]:!(a[0]in e))return!1}for(;++n\u003Co;){var i=(a=t[n])[0],s=e[i],c=a[1];if(a[2]){if(void 0===s&&!(i in e))return!1}else{var l,i=new M;if(!(void 0===l?Be(c,s,r,3,i):l))return!1}}return!0}(0,o)}:Ue(a=t)?(i=Ye(a),function(e){return null==e?void 0:e[i]}):function(e){return Ne(e,a)}}}(lodash_iteratee,lodash_iteratee.exports),lodash_iteratee.exports),iteratee=getDefaultExportFromCjs2(lodash_iterateeExports);function color(e){return\\\"\\u001b[33m\\\"+e+\\\"\\u001b[39m\\\"}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var convert=function(e){if(null==e)return ok;if(\\\"string\\\"==typeof e)return typeFactory(e);if(\\\"object\\\"==typeof e)return(Array.isArray(e)?anyFactory:propsFactory)(e);if(\\\"function\\\"==typeof e)return castFactory(e);throw Error(\\\"Expected function, string, or object as test\\\")};function anyFactory(e){let r=[],t=-1;for(;++t\u003Ce.length;)r[t]=convert(e[t]);return castFactory(function(...e){let t=-1;for(;++t\u003Cr.length;)if(r[t].call(this,...e))return!0;return!1})}function propsFactory(r){return castFactory(function(e){let t;for(t in r)if(e[t]!==r[t])return!1;return!0})}function typeFactory(t){return castFactory(function(e){return e&&e.type===t})}function castFactory(r){return function(e,...t){return!!(e&&\\\"object\\\"==typeof e&&\\\"type\\\"in e&&r.call(this,e,...t))}}function ok(){return!0}var CONTINUE=!0,EXIT=!1,SKIP=\\\"skip\\\",visitParents=function(e,s,c,l){\\\"function\\\"==typeof s&&\\\"function\\\"!=typeof c&&(l=c,c=s,s=null);let u=convert(s),d=l?-1:1;!function p(o,a,i){var e=o&&\\\"object\\\"==typeof o?o:{};return\\\"string\\\"==typeof e.type&&(e=\\\"string\\\"==typeof e.tagName?e.tagName:\\\"string\\\"==typeof e.name?e.name:void 0,Object.defineProperty(t,\\\"name\\\",{value:\\\"node (\\\"+color(o.type+(e?\\\"\u003C\\\"+e+\\\">\\\":\\\"\\\"))+\\\")\\\"})),t;function t(){let e,t,r,n=[];if((s&&!u(o,a,i[i.length-1]||null)||(n=toResult(c(o,i)))[0]!==EXIT)&&o.children&&n[0]!==SKIP)for(t=(l?o.children.length:-1)+d,r=i.concat(o);-1\u003Ct&&t\u003Co.children.length;){if((e=p(o.children[t],t,r)())[0]===EXIT)return e;t=\\\"number\\\"==typeof e[1]?e[1]:t+d}return n}}(e,void 0,[])()};function toResult(e){return Array.isArray(e)?e:\\\"number\\\"==typeof e?[CONTINUE,e]:[e]}var visit=function(e,t,n,r){\\\"function\\\"==typeof t&&\\\"function\\\"!=typeof n&&(r=n,n=t,t=null),visitParents(e,t,function(e,t){var r=t[t.length-1];return n(e,r?r.children.indexOf(e):null,r)},r)};function find(e,t){let r;if(!e)throw Error(\\\"unist-util-find requires a tree to search\\\");if(!t)throw Error(\\\"unist-util-find requires a condition\\\");let n=iteratee(t);return visit(e,function(e){if(n(e))return r=e,!1}),r}function omit3(e,t){return t.reduce((e,t)=>{let{[t]:r,...n}=e;return n},e)}function li2(e,t){var r=\\\"ul\\\"===e.listMode?\\\"*\\\":\\\"#\\\",n=convertNodes3(e,t.children),o=void 0===find({...omit3(t,[\\\"tag\\\"])},{tag:\\\"li\\\"});return[r.repeat(e.indentLevels+1)+\\\" \\\"+n.join(\\\"\\\"),o?\\\"\\\\n\\\":\\\"\\\"]}init_esbuild_inject(),init_esbuild_inject();var markTypeMap3={strong:\\\"''\\\",em:\\\"//\\\",u:\\\"__\\\",strike:\\\"~~\\\",code:\\\"`\\\",sup:\\\"^^\\\",sub:\\\",,\\\"},markTypes2=Object.keys(markTypeMap3);function toggleMarkFactory2(o){return function(e,t){var r=null!=(r=e.marks[o])&&r,n=(e.marks[o]=!0,convertNodes3(e,t.children));return r||delete e.marks[o],[\\\"\\\"+markTypeMap3[o]+n.join(\\\"\\\")+markTypeMap3[o]]}}var marks4={};for(let Zd1 of markTypes2)marks4[Zd1]=toggleMarkFactory2(Zd1);function p5(e,{children:t}){return[...convertNodes3(e,t),\\\"\\\\n\\\"]}function table2(e,{children:t}){return convertNodes3(e,t)}function tbody2(e,{children:t}){return convertNodes3(e,t)}function tr(e,{children:t}){return[\\\"|\\\",...convertNodes3(e,t).join(\\\"|\\\"),\\\"|\\\\n\\\"]}function td3(e,{children:t}){return convertNodes3(e,t)}init_esbuild_inject(),init_esbuild_inject();var tableTags={table:table2,tbody:tbody2,tr:tr,td:td3},dropRightWhile=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),(e,t)=>{let r=e.length;for(;r--&&t(e[r]););return e.slice(0,r+1)});function dropExtraTailingN(e){var t,r=dropRightWhile(e,e=>\\\"\\\\n\\\"===e||\\\"\\\\n\\\\n\\\"===e),n=r.at(-1);return null!=n&&null!=(t=n.endsWith)&&t.call(n,\\\"\\\\n\\\")&&(r[r.length-1]=n.slice(0,-1)),r}function ul2(e,{tag:t,children:r,parent:n}){e.indentLevels+=1;var o=void 0!==e.listMode,a=(e.listMode=t,convertNodes3(e,r)),i=(--e.indentLevels,!(n&&\\\"children\\\"in n)||null==(i=null==(i=null==n?void 0:n.children)?void 0:i[e.index])?void 0:i.tag);\\\"ul\\\"!==i&&\\\"ol\\\"!==i&&\\\"li\\\"!==i&&(e.listMode=void 0);let s=!1;return(s=-1===e.indentLevels?!((\\\"ul\\\"===i||\\\"ol\\\"===i)&&i!==t||\\\"blockquote\\\"===i):s)?[...dropExtraTailingN(a),\\\"\\\\n\\\"]:[o?\\\"\\\\n\\\":\\\"\\\",...a]}var elementBuilders3={a:a6,p:p5,div:div,ul:ul2,ol:ul2,li:li2,blockquote:blockquote3,...marks4,...headings,...tableTags};function element3(e,t){var r=t[\\\"tag\\\"],n=e[\\\"builders\\\"];return\\\"function\\\"==typeof n[r]?n[r](e,t):n.jsx(e,t)}function image(e,t){var r=void 0===(null==(r=t.attributes)?void 0:r.width)?\\\"\\\":\\\" width=\\\"+String(t.attributes.width.value),n=void 0===(null==(n=t.attributes)?void 0:n.tooltip)?\\\"\\\":String(t.attributes.tooltip.value)+\\\"|\\\",o=void 0===(null==(o=t.attributes)?void 0:o.source)?\\\"\\\":t.attributes.source.value;return[`[img${r}${r?\\\" \\\":\\\"\\\"}[${n}${String(o)}]]`]}function jsx4(r,e,t){let{prefix:n=\\\"\\\"}=null!=t?t:{},{tag:o,isSelfClosing:a,orderedAttributes:i,attributes:s,children:c}=e,l=void 0===i?void 0===s?[]:Object.keys(s).map(e=>s[e]):i,u=l.map(e=>{var t=(0,r.builders[e.type])(r,e).join(\\\"\\\"),t=\\\"macro\\\"===e.type?t:`\\\"${t}\\\"`;return e.name+\\\"=\\\"+t}).join(\\\" \\\"),d=a?[`\u003C${n}${o} ${u}/>`]:[`\u003C${n}${o} ${u}>`,...convertNodes3(r,c),`\u003C/${n}${o}>`];return d}function link2(e,t,r){var{prefix:n=\\\"\\\"}=null!=r?r:{},o=(null!=(o=t.attributes)?o:{})[\\\"to\\\"][\\\"value\\\"],[{text:a}]=null!=(a=t.children)?a:[];return[`[${n}[`,a,o===a?\\\"\\\":\\\"|\\\"+o,\\\"]]\\\"]}function macro2(e,t){var r;return\\\"string\\\"==typeof t.value?[t.value]:(r=null==(r=t.value)?void 0:r.type)in e.builders?e.builders[r](e,t.value):[]}function macrocall(a,e){var{name:t,params:r,tag:n}=e;return\\\"$macrocall\\\"===n?a.builders.widget(a,e):void 0===t?[]:[\\\"\u003C\u003C\\\",t,void 0===(n=null==r?void 0:r.flatMap(e=>{var t,r;let n=e.name?e.name+\\\":\\\":\\\"\\\",o=null!=(r=null==(t=(r=a.builders)[e.type])?void 0:t.call(r,a,e))?r:[];return o.map(e=>e.includes(\\\" \\\")?`\\\"${e}\\\"`:e).map(e=>n+e)}).join(\\\" \\\"))?\\\"\\\":\\\" \\\"+n,\\\">>\\\"]}function set3(e,t){var{attributes:r,children:n,tag:o}=t,n=convertNodes3(e,n);return\\\"$set\\\"===o?[...e.builders.widget(e,t),...n]:void 0!==r&&(o=null!=(o=null==r||null==(o=r.name)?void 0:o.value)?o:\\\"\\\",r=null!=(r=null==r||null==(r=r.value)?void 0:r.value)?r:\\\"\\\",o)?[\\\"\\\\\\\\define\\\",\\\" \\\",o+\\\"()\\\",\\\" \\\",r,\\\"\\\\n\\\\n\\\",...n]:[]}function string3(e,t){return[String(t.value)]}function text3(e,t){return[t.text]}function tiddler(e,t){var r=void 0===(null==(r=t.attributes)?void 0:r.tiddler)?\\\"\\\":t.attributes.tiddler.value,n=null==(n=t.children)||null==(n=n[0])||null==(n=n.attributes)||null==(n=n.tiddler)?void 0:n.value;return[`{{${r}${void 0!==n&&n!==r&&\\\"string\\\"==typeof n?\\\"|\\\"+n:\\\"\\\"}}}`]}function widget3(e,t){return e.builders.jsx(e,t)}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var builders3={element:element3,...elementBuilders3,text:text3,image:image,tiddler:tiddler,link:link2,jsx:jsx4,widget:widget3,macro:macro2,macrocall:macrocall,set:set3,string:string3,codeblock:codeblock3,\\\"macro-parameter\\\":string3,number:string3,bigint:string3,\\\"boolean\\\":string3},defaultContext=(init_esbuild_inject(),{builders:builders3,indentLevels:-1,index:0,listMode:void 0,marks:{},nodes:[],root:!0}),cache2=(init_esbuild_inject(),init_esbuild_inject(),new WeakMap);function parents(e){return wrapNode(e,null)}function wrapNode(e,t){let r;var n=cache2.get(e);if(n)return n;let o={};for(r in e)\\\"children\\\"!==r&&(o[r]=e[r]);return Object.defineProperty(o,\\\"node\\\",{writable:!0,configurable:!0,value:e}),Object.defineProperty(o,\\\"parent\\\",{configurable:!0,get:function(){return t},set:function(e){t=e}}),\\\"children\\\"in e&&Object.defineProperty(o,\\\"children\\\",{enumerable:!0,configurable:!0,get:function(){return e.children.map(e=>wrapNode(e,o))}}),cache2.set(e,o),o}function wikiAstToWikiText(e,t){var{extraTailingNCount:r=0}=null!=t?t:{},n=Array.isArray(e)?e.map(e=>parents(e)):[parents(e)];return dropExtraTailingN(convertNodes3({...defaultContext,nodes:n},n)).join(\\\"\\\")+\\\"\\\\n\\\".repeat(r)}function serialize(e){var t=wikiAstFromSlateAst(e),r=1\u003Ct.length&&!0===(null==(r=t.at(-1))?void 0:r.isBlock);return wikiAstToWikiText(t,{extraTailingNCount:r?1:0})}function deserialize(e,t){return wikiAstToSlateAst(wikiAstFromWikiText(e),t)}function replaceCurrentBlockWithParseResult(e){var t,r,n=getRangeFromBlockStart(e);void 0!==n&&(r=getNode(e,n.anchor.path.slice(void 0,-1)))&&(t=serialize(r))&&(r=deserialize(t),insertNodes3(e,r,{at:n.anchor.path}))}var getAutoCompleteOnSelectItem=({key:s=ELEMENT_AUTO_COMPLETE}={})=>(t,r)=>{if(useAutoCompletePluginStore.get.targetRange()){const{type:n,options:{createAutoCompleteNode:o,textToInsertAfter:a}}=getPlugin(t,s);var e=null==(e=getBlockAbove2(t))?void 0:e[1];const i=t.selection&&e&&isEndPoint(t,t.selection.anchor,e);withoutNormalizing2(t,()=>{var e=null==o?void 0:o(r);i&&insertText3(t,\\\" \\\"),removeAutoCompleteInputFromCurrentSelection(t),null!=e&&e.text?insertText3(t,e.text):insertNodes3(t,{type:n,children:[{text:\\\"\\\"}],...e}),a&&insertText3(t,a),i&&deleteText3(t),replaceCurrentBlockWithParseResult(t)}),useAutoCompletePluginStore.set.reset()}},import_jsx_runtime=require(\\\"react/jsx-runtime\\\");function AutoCompleteCombobox({pluginKey:e=ELEMENT_AUTO_COMPLETE,id:t=e,...r}){var n=usePlateEditorRef(),n=getPluginOptions(n,e)[\\\"trigger\\\"],o=(0,import_react58.useMemo)(()=>getAutoCompleteOnSelectItem({key:e}),[e]);return(0,import_jsx_runtime.jsx)(Combobox,{id:t,trigger:n,controlled:!0,onSelectItem:o,...r})}function memize(o,a){var i,s,c=0;function e(){var e,t,r=i,n=arguments.length;e:for(;r;){if(r.args.length===arguments.length){for(t=0;t\u003Cn;t++)if(r.args[t]!==arguments[t]){r=r.next;continue e}return r!==i&&(r===s&&(s=r.prev),r.prev.next=r.next,r.next&&(r.next.prev=r.prev),r.next=i,r.prev=null,i.prev=r,i=r),r.val}r=r.next}for(e=new Array(n),t=0;t\u003Cn;t++)e[t]=arguments[t];return r={args:e,val:o.apply(null,e)},i?(i.prev=r).next=i:s=r,c===a.maxSize?(s=s.prev).next=null:c++,(i=r).val}return a=a||{},e.clear=function(){s=i=null,c=0},e}init_esbuild_inject(),init_esbuild_inject();var import_styled_components2=__toESM(require_styled_components_browser_cjs()),top=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),\\\"top\\\"),bottom=\\\"bottom\\\",right=\\\"right\\\",left=\\\"left\\\",auto=\\\"auto\\\",basePlacements=[top,bottom,right,left],start2=\\\"start\\\",end2=\\\"end\\\",clippingParents=\\\"clippingParents\\\",viewport=\\\"viewport\\\",popper=\\\"popper\\\",reference=\\\"reference\\\",variationPlacements=basePlacements.reduce(function(e,t){return e.concat([t+\\\"-\\\"+start2,t+\\\"-\\\"+end2])},[]),placements=[].concat(basePlacements,[auto]).reduce(function(e,t){return e.concat([t,t+\\\"-\\\"+start2,t+\\\"-\\\"+end2])},[]),beforeRead=\\\"beforeRead\\\",read=\\\"read\\\",afterRead=\\\"afterRead\\\",beforeMain=\\\"beforeMain\\\",main=\\\"main\\\",afterMain=\\\"afterMain\\\",beforeWrite=\\\"beforeWrite\\\",write=\\\"write\\\",afterWrite=\\\"afterWrite\\\",modifierPhases=[beforeRead,read,afterRead,beforeMain,main,afterMain,beforeWrite,write,afterWrite];function getNodeName(e){return e?(e.nodeName||\\\"\\\").toLowerCase():null}function getWindow2(e){var t;return null==e?window:\\\"[object Window]\\\"!==e.toString()?(t=e.ownerDocument)&&t.defaultView||window:e}function isElement6(e){return e instanceof getWindow2(e).Element||e instanceof Element}function isHTMLElement(e){return e instanceof getWindow2(e).HTMLElement||e instanceof HTMLElement}function isShadowRoot(e){return\\\"undefined\\\"!=typeof ShadowRoot&&(e instanceof getWindow2(e).ShadowRoot||e instanceof ShadowRoot)}function applyStyles(e){var o=e.state;Object.keys(o.elements).forEach(function(e){var t=o.styles[e]||{},r=o.attributes[e]||{},n=o.elements[e];isHTMLElement(n)&&getNodeName(n)&&(Object.assign(n.style,t),Object.keys(r).forEach(function(e){var t=r[e];!1===t?n.removeAttribute(e):n.setAttribute(e,!0===t?\\\"\\\":t)}))})}function effect(e){var o=e.state,a={popper:{position:o.options.strategy,left:\\\"0\\\",top:\\\"0\\\",margin:\\\"0\\\"},arrow:{position:\\\"absolute\\\"},reference:{}};return Object.assign(o.elements.popper.style,a.popper),o.styles=a,o.elements.arrow&&Object.assign(o.elements.arrow.style,a.arrow),function(){Object.keys(o.elements).forEach(function(e){var t=o.elements[e],r=o.attributes[e]||{},n=Object.keys((o.styles.hasOwnProperty(e)?o.styles:a)[e]).reduce(function(e,t){return e[t]=\\\"\\\",e},{});isHTMLElement(t)&&getNodeName(t)&&(Object.assign(t.style,n),Object.keys(r).forEach(function(e){t.removeAttribute(e)}))})}}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var applyStyles_default={name:\\\"applyStyles\\\",enabled:!0,phase:\\\"write\\\",fn:applyStyles,effect:effect,requires:[\\\"computeStyles\\\"]};function getBasePlacement(e){return e.split(\\\"-\\\")[0]}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var max=Math.max,min=Math.min,round=Math.round;function getUAString(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+\\\"/\\\"+e.version}).join(\\\" \\\"):navigator.userAgent}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}function getBoundingClientRect(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!1);var n=e.getBoundingClientRect(),o=1,a=1;t&&isHTMLElement(e)&&(o=0\u003Ce.offsetWidth&&round(n.width)/e.offsetWidth||1,a=0\u003Ce.offsetHeight&&round(n.height)/e.offsetHeight||1);var i=(isElement6(e)?getWindow2(e):window).visualViewport,s=!isLayoutViewport()&&r,c=(n.left+(s&&i?i.offsetLeft:0))/o,s=(n.top+(s&&i?i.offsetTop:0))/a,i=n.width/o,o=n.height/a;return{width:i,height:o,top:s,right:c+i,bottom:s+o,left:c,x:c,y:s}}function getLayoutRect(e){var t=getBoundingClientRect(e),r=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-r)\u003C=1&&(r=t.width),Math.abs(t.height-n)\u003C=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:n}}function contains(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&isShadowRoot(r)){var n=t;do{if(n&&e.isSameNode(n))return!0}while(n=n.parentNode||n.host)}return!1}function getComputedStyle2(e){return getWindow2(e).getComputedStyle(e)}function isTableElement(e){return 0\u003C=[\\\"table\\\",\\\"td\\\",\\\"th\\\"].indexOf(getNodeName(e))}function getDocumentElement(e){return((isElement6(e)?e.ownerDocument:e.document)||window.document).documentElement}function getParentNode2(e){return\\\"html\\\"===getNodeName(e)?e:e.assignedSlot||e.parentNode||(isShadowRoot(e)?e.host:null)||getDocumentElement(e)}function getTrueOffsetParent(e){return isHTMLElement(e)&&\\\"fixed\\\"!==getComputedStyle2(e).position?e.offsetParent:null}function getContainingBlock(e){var t=/firefox/i.test(getUAString()),r=/Trident/i.test(getUAString());if(r&&isHTMLElement(e)&&\\\"fixed\\\"===getComputedStyle2(e).position)return null;var n=getParentNode2(e);for(isShadowRoot(n)&&(n=n.host);isHTMLElement(n)&&[\\\"html\\\",\\\"body\\\"].indexOf(getNodeName(n))\u003C0;){var o=getComputedStyle2(n);if(\\\"none\\\"!==o.transform||\\\"none\\\"!==o.perspective||\\\"paint\\\"===o.contain||-1!==[\\\"transform\\\",\\\"perspective\\\"].indexOf(o.willChange)||t&&\\\"filter\\\"===o.willChange||t&&o.filter&&\\\"none\\\"!==o.filter)return n;n=n.parentNode}return null}function getOffsetParent(e){for(var t=getWindow2(e),r=getTrueOffsetParent(e);r&&isTableElement(r)&&\\\"static\\\"===getComputedStyle2(r).position;)r=getTrueOffsetParent(r);return(!r||\\\"html\\\"!==getNodeName(r)&&(\\\"body\\\"!==getNodeName(r)||\\\"static\\\"!==getComputedStyle2(r).position))&&(r||getContainingBlock(e))||t}function getMainAxisFromPlacement(e){return 0\u003C=[\\\"top\\\",\\\"bottom\\\"].indexOf(e)?\\\"x\\\":\\\"y\\\"}function within(e,t,r){return max(e,min(t,r))}function withinMaxClamp(e,t,r){var n=within(e,t,r);return r\u003Cn?r:n}function getFreshSideObject(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject(e){return Object.assign({},getFreshSideObject(),e)}function expandToHashMap(r,e){return e.reduce(function(e,t){return e[t]=r,e},{})}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var toPaddingObject=function toPaddingObject2(e,t){return mergePaddingObject(\\\"number\\\"!=typeof(e=\\\"function\\\"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:expandToHashMap(e,basePlacements))};function arrow3(e){var t,r,n,o,a=e.state,i=e.name,s=e.options,c=a.elements.arrow,l=a.modifiersData.popperOffsets,u=getBasePlacement(a.placement),d=getMainAxisFromPlacement(u),u=0\u003C=[left,right].indexOf(u)?\\\"height\\\":\\\"width\\\";c&&l&&(s=toPaddingObject(s.padding,a),t=getLayoutRect(c),o=\\\"y\\\"===d?top:left,n=\\\"y\\\"===d?bottom:right,r=a.rects.reference[u]+a.rects.reference[d]-l[d]-a.rects.popper[u],l=l[d]-a.rects.reference[d],c=(c=getOffsetParent(c))?\\\"y\\\"===d?c.clientHeight||0:c.clientWidth||0:0,o=s[o],n=c-t[u]-s[n],o=within(o,s=c/2-t[u]/2+(r/2-l/2),n),a.modifiersData[i]=((c={})[d]=o,c.centerOffset=o-s,c))}function effect2(e){var t=e.state,r=e.options.element,r=void 0===r?\\\"[data-popper-arrow]\\\":r;null!=r&&(\\\"string\\\"!=typeof r||(r=t.elements.popper.querySelector(r)))&&contains(t.elements.popper,r)&&(t.elements.arrow=r)}var arrow_default={name:\\\"arrow\\\",enabled:!0,phase:\\\"main\\\",fn:arrow3,effect:effect2,requires:[\\\"popperOffsets\\\"],requiresIfExists:[\\\"preventOverflow\\\"]};function getVariation(e){return e.split(\\\"-\\\")[1]}init_esbuild_inject(),init_esbuild_inject();var unsetSides={top:\\\"auto\\\",right:\\\"auto\\\",bottom:\\\"auto\\\",left:\\\"auto\\\"};function roundOffsetsByDPR(e,t){var r=e.x,n=e.y,o=t.devicePixelRatio||1;return{x:round(r*o)/o||0,y:round(n*o)/o||0}}function mapToStyles(e){var t,r,n=e.popper,o=e.popperRect,a=e.placement,i=e.variation,s=e.offsets,c=e.position,l=e.gpuAcceleration,u=e.adaptive,d=e.roundOffsets,p=e.isFixed,f=s.x,f=void 0===f?0:f,g=s.y,g=void 0===g?0:g,m=\\\"function\\\"==typeof d?d({x:f,y:g}):{x:f,y:g},m=(f=m.x,g=m.y,s.hasOwnProperty(\\\"x\\\")),s=s.hasOwnProperty(\\\"y\\\"),h=left,_=top,v=window,y=(u&&(y=\\\"clientHeight\\\",r=\\\"clientWidth\\\",(t=getOffsetParent(n))===getWindow2(n)&&\\\"static\\\"!==getComputedStyle2(t=getDocumentElement(n)).position&&\\\"absolute\\\"===c&&(y=\\\"scrollHeight\\\",r=\\\"scrollWidth\\\"),a!==top&&(a!==left&&a!==right||i!==end2)||(_=bottom,g=(g-((p&&t===v&&v.visualViewport?v.visualViewport.height:t[y])-o.height))*(l?1:-1)),a!==left&&(a!==top&&a!==bottom||i!==end2)||(h=right,f=(f-((p&&t===v&&v.visualViewport?v.visualViewport.width:t[r])-o.width))*(l?1:-1))),Object.assign({position:c},u&&unsetSides)),a=!0===d?roundOffsetsByDPR({x:f,y:g},getWindow2(n)):{x:f,y:g};return f=a.x,g=a.y,l?Object.assign({},y,((i={})[_]=s?\\\"0\\\":\\\"\\\",i[h]=m?\\\"0\\\":\\\"\\\",i.transform=(v.devicePixelRatio||1)\u003C=1?\\\"translate(\\\"+f+\\\"px, \\\"+g+\\\"px)\\\":\\\"translate3d(\\\"+f+\\\"px, \\\"+g+\\\"px, 0)\\\",i)):Object.assign({},y,((p={})[_]=s?g+\\\"px\\\":\\\"\\\",p[h]=m?f+\\\"px\\\":\\\"\\\",p.transform=\\\"\\\",p))}function computeStyles(e){var t=e.state,r=e.options,n=r.gpuAcceleration,n=void 0===n||n,o=r.adaptive,o=void 0===o||o,r=r.roundOffsets,r=void 0===r||r,n={placement:getBasePlacement(t.placement),variation:getVariation(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:n,isFixed:\\\"fixed\\\"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,mapToStyles(Object.assign({},n,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:r})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,mapToStyles(Object.assign({},n,{offsets:t.modifiersData.arrow,position:\\\"absolute\\\",adaptive:!1,roundOffsets:r})))),t.attributes.popper=Object.assign({},t.attributes.popper,{\\\"data-popper-placement\\\":t.placement})}var computeStyles_default={name:\\\"computeStyles\\\",enabled:!0,phase:\\\"beforeWrite\\\",fn:computeStyles,data:{}},passive=(init_esbuild_inject(),{passive:!0});function effect3(e){var t=e.state,r=e.instance,n=e.options,o=n.scroll,a=void 0===o||o,o=n.resize,i=void 0===o||o,s=getWindow2(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&c.forEach(function(e){e.addEventListener(\\\"scroll\\\",r.update,passive)}),i&&s.addEventListener(\\\"resize\\\",r.update,passive),function(){a&&c.forEach(function(e){e.removeEventListener(\\\"scroll\\\",r.update,passive)}),i&&s.removeEventListener(\\\"resize\\\",r.update,passive)}}var eventListeners_default={name:\\\"eventListeners\\\",enabled:!0,phase:\\\"write\\\",fn:function fn2(){},effect:effect3,data:{}},hash=(init_esbuild_inject(),init_esbuild_inject(),{left:\\\"right\\\",right:\\\"left\\\",bottom:\\\"top\\\",top:\\\"bottom\\\"});function getOppositePlacement(e){return e.replace(/left|right|bottom|top/g,function(e){return hash[e]})}init_esbuild_inject();var hash2={start:\\\"end\\\",end:\\\"start\\\"};function getOppositeVariationPlacement(e){return e.replace(/start|end/g,function(e){return hash2[e]})}function getWindowScroll(e){var t=getWindow2(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function getWindowScrollBarX(e){return getBoundingClientRect(getDocumentElement(e)).left+getWindowScroll(e).scrollLeft}function getViewportRect(e,t){var r,n=getWindow2(e),o=getDocumentElement(e),n=n.visualViewport,a=o.clientWidth,o=o.clientHeight,i=0,s=0;return n&&(a=n.width,o=n.height,(r=isLayoutViewport())||!r&&\\\"fixed\\\"===t)&&(i=n.offsetLeft,s=n.offsetTop),{width:a,height:o,x:i+getWindowScrollBarX(e),y:s}}function getDocumentRect(e){var t=getDocumentElement(e),r=getWindowScroll(e),n=null==(n=e.ownerDocument)?void 0:n.body,o=max(t.scrollWidth,t.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),a=max(t.scrollHeight,t.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),i=-r.scrollLeft+getWindowScrollBarX(e),r=-r.scrollTop;return\\\"rtl\\\"===getComputedStyle2(n||t).direction&&(i+=max(t.clientWidth,n?n.clientWidth:0)-o),{width:o,height:a,x:i,y:r}}function isScrollParent(e){var t=getComputedStyle2(e),r=t.overflow,n=t.overflowX,t=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+t+n)}function getScrollParent(e){return 0\u003C=[\\\"html\\\",\\\"body\\\",\\\"#document\\\"].indexOf(getNodeName(e))?e.ownerDocument.body:isHTMLElement(e)&&isScrollParent(e)?e:getScrollParent(getParentNode2(e))}function listScrollParents(e,t){void 0===t&&(t=[]);var r=getScrollParent(e),n=r===(null==(n=e.ownerDocument)?void 0:n.body),o=getWindow2(r),o=n?[o].concat(o.visualViewport||[],isScrollParent(r)?r:[]):r,r=t.concat(o);return n?r:r.concat(listScrollParents(getParentNode2(o)))}function rectToClientRect(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function getInnerBoundingClientRect(e,t){var r=getBoundingClientRect(e,!1,\\\"fixed\\\"===t);return r.top=r.top+e.clientTop,r.left=r.left+e.clientLeft,r.bottom=r.top+e.clientHeight,r.right=r.left+e.clientWidth,r.width=e.clientWidth,r.height=e.clientHeight,r.x=r.left,r.y=r.top,r}function getClientRectFromMixedType(e,t,r){return t===viewport?rectToClientRect(getViewportRect(e,r)):isElement6(t)?getInnerBoundingClientRect(t,r):rectToClientRect(getDocumentRect(getDocumentElement(e)))}function getClippingParents(e){var t=listScrollParents(getParentNode2(e)),r=0\u003C=[\\\"absolute\\\",\\\"fixed\\\"].indexOf(getComputedStyle2(e).position)&&isHTMLElement(e)?getOffsetParent(e):e;return isElement6(r)?t.filter(function(e){return isElement6(e)&&contains(e,r)&&\\\"body\\\"!==getNodeName(e)}):[]}function getClippingRect(n,e,t,o){var r=\\\"clippingParents\\\"===e?getClippingParents(n):[].concat(e),r=[].concat(r,[t]),a=r[0],a=r.reduce(function(e,t){var r=getClientRectFromMixedType(n,t,o);return e.top=max(r.top,e.top),e.right=min(r.right,e.right),e.bottom=min(r.bottom,e.bottom),e.left=max(r.left,e.left),e},getClientRectFromMixedType(n,a,o));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function computeOffsets(e){var t,r=e.reference,n=e.element,o=e.placement,a=o?getBasePlacement(o):null,o=o?getVariation(o):null,i=r.x+r.width/2-n.width/2,s=r.y+r.height/2-n.height/2;switch(a){case top:t={x:i,y:r.y-n.height};break;case bottom:t={x:i,y:r.y+r.height};break;case right:t={x:r.x+r.width,y:s};break;case left:t={x:r.x-n.width,y:s};break;default:t={x:r.x,y:r.y}}var c=a?getMainAxisFromPlacement(a):null;if(null!=c){var l=\\\"y\\\"===c?\\\"height\\\":\\\"width\\\";switch(o){case start2:t[c]=t[c]-(r[l]/2-n[l]/2);break;case end2:t[c]=t[c]+(r[l]/2-n[l]/2)}}return t}function detectOverflow(e,t){var n,r=t=void 0===t?{}:t,o=r.placement,o=void 0===o?e.placement:o,a=r.strategy,a=void 0===a?e.strategy:a,i=r.boundary,i=void 0===i?clippingParents:i,s=r.rootBoundary,s=void 0===s?viewport:s,c=r.elementContext,c=void 0===c?popper:c,l=r.altBoundary,l=void 0!==l&&l,r=r.padding,r=void 0===r?0:r,r=mergePaddingObject(\\\"number\\\"!=typeof r?r:expandToHashMap(r,basePlacements)),u=e.rects.popper,l=e.elements[l?c===popper?reference:popper:c],l=getClippingRect(isElement6(l)?l:l.contextElement||getDocumentElement(e.elements.popper),i,s,a),i=getBoundingClientRect(e.elements.reference),s=computeOffsets({reference:i,element:u,strategy:\\\"absolute\\\",placement:o}),a=rectToClientRect(Object.assign({},u,s)),u=c===popper?a:i,d={top:l.top-u.top+r.top,bottom:u.bottom-l.bottom+r.bottom,left:l.left-u.left+r.left,right:u.right-l.right+r.right},s=e.modifiersData.offset;return c===popper&&s&&(n=s[o],Object.keys(d).forEach(function(e){var t=0\u003C=[right,bottom].indexOf(e)?1:-1,r=0\u003C=[top,bottom].indexOf(e)?\\\"y\\\":\\\"x\\\";d[e]+=n[r]*t})),d}function computeAutoPlacement(r,e){var t=e=void 0===e?{}:e,n=t.placement,o=t.boundary,a=t.rootBoundary,i=t.padding,s=t.flipVariations,t=t.allowedAutoPlacements,c=void 0===t?placements:t,l=getVariation(n),t=l?s?variationPlacements:variationPlacements.filter(function(e){return getVariation(e)===l}):basePlacements,n=t.filter(function(e){return 0\u003C=c.indexOf(e)}),u=(n=0===n.length?t:n).reduce(function(e,t){return e[t]=detectOverflow(r,{placement:t,boundary:o,rootBoundary:a,padding:i})[getBasePlacement(t)],e},{});return Object.keys(u).sort(function(e,t){return u[e]-u[t]})}function getExpandedFallbackPlacements(e){var t;return getBasePlacement(e)===auto?[]:(t=getOppositePlacement(e),[getOppositeVariationPlacement(e),t,getOppositeVariationPlacement(t)])}function flip(e){var r=e.state,t=e.options,n=e.name;if(!r.modifiersData[n]._skip){for(var o=t.mainAxis,a=void 0===o||o,o=t.altAxis,i=void 0===o||o,o=t.fallbackPlacements,s=t.padding,c=t.boundary,l=t.rootBoundary,u=t.altBoundary,d=t.flipVariations,p=void 0===d||d,f=t.allowedAutoPlacements,d=r.options.placement,t=getBasePlacement(d),o=o||(t===d||!p?[getOppositePlacement(d)]:getExpandedFallbackPlacements(d)),g=[d].concat(o).reduce(function(e,t){return e.concat(getBasePlacement(t)===auto?computeAutoPlacement(r,{placement:t,boundary:c,rootBoundary:l,padding:s,flipVariations:p,allowedAutoPlacements:f}):t)},[]),m=r.rects.reference,h=r.rects.popper,_=new Map,v=!0,y=g[0],b=0;b\u003Cg.length;b++){var E=g[b],T=getBasePlacement(E),C=getVariation(E)===start2,w=0\u003C=[top,bottom].indexOf(T),S=w?\\\"width\\\":\\\"height\\\",x=detectOverflow(r,{placement:E,boundary:c,rootBoundary:l,altBoundary:u,padding:s}),w=w?C?right:left:C?bottom:top,C=(m[S]>h[S]&&(w=getOppositePlacement(w)),getOppositePlacement(w)),S=[];if(a&&S.push(x[T]\u003C=0),i&&S.push(x[w]\u003C=0,x[C]\u003C=0),S.every(function(e){return e})){y=E,v=!1;break}_.set(E,S)}if(v)for(var D=p?3:1;0\u003CD;D--)if(\\\"break\\\"===function(r){var e=g.find(function(e){var t=_.get(e);if(t)return t.slice(0,r).every(function(e){return e})});if(e)return y=e,\\\"break\\\"}(D))break;r.placement!==y&&(r.modifiersData[n]._skip=!0,r.placement=y,r.reset=!0)}}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var flip_default={name:\\\"flip\\\",enabled:!0,phase:\\\"main\\\",fn:flip,requiresIfExists:[\\\"offset\\\"],data:{_skip:!1}};function getSideOffsets(e,t,r){return{top:e.top-t.height-(r=void 0===r?{x:0,y:0}:r).y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function isAnySideFullyClipped(t){return[top,right,bottom,left].some(function(e){return 0\u003C=t[e]})}function hide(e){var t=e.state,r=e.name,n=t.rects.reference,o=t.rects.popper,a=t.modifiersData.preventOverflow,i=detectOverflow(t,{elementContext:\\\"reference\\\"}),s=detectOverflow(t,{altBoundary:!0}),i=getSideOffsets(i,n),n=getSideOffsets(s,o,a),s=isAnySideFullyClipped(i),o=isAnySideFullyClipped(n);t.modifiersData[r]={referenceClippingOffsets:i,popperEscapeOffsets:n,isReferenceHidden:s,hasPopperEscaped:o},t.attributes.popper=Object.assign({},t.attributes.popper,{\\\"data-popper-reference-hidden\\\":s,\\\"data-popper-escaped\\\":o})}init_esbuild_inject();var hide_default={name:\\\"hide\\\",enabled:!0,phase:\\\"main\\\",requiresIfExists:[\\\"preventOverflow\\\"],fn:hide};function distanceAndSkiddingToXY(e,t,r){var n=getBasePlacement(e),o=0\u003C=[left,top].indexOf(n)?-1:1,a=\\\"function\\\"==typeof r?r(Object.assign({},t,{placement:e})):r,i=a[0]||0,a=(a[1]||0)*o;return 0\u003C=[left,right].indexOf(n)?{x:a,y:i}:{x:i,y:a}}function offset(e){var r=e.state,t=e.options,n=e.name,t=t.offset,o=void 0===t?[0,0]:t,t=placements.reduce(function(e,t){return e[t]=distanceAndSkiddingToXY(t,r.rects,o),e},{}),a=t[r.placement],i=a.x,a=a.y;null!=r.modifiersData.popperOffsets&&(r.modifiersData.popperOffsets.x+=i,r.modifiersData.popperOffsets.y+=a),r.modifiersData[n]=t}init_esbuild_inject();var offset_default={name:\\\"offset\\\",enabled:!0,phase:\\\"main\\\",requires:[\\\"popperOffsets\\\"],fn:offset};function popperOffsets(e){var t=e.state,r=e.name;t.modifiersData[r]=computeOffsets({reference:t.rects.reference,element:t.rects.popper,strategy:\\\"absolute\\\",placement:t.placement})}init_esbuild_inject();var popperOffsets_default={name:\\\"popperOffsets\\\",enabled:!0,phase:\\\"read\\\",fn:popperOffsets,data:{}};function getAltAxis(e){return\\\"x\\\"===e?\\\"y\\\":\\\"x\\\"}function preventOverflow(e){var t,r,n,o,a,i,s,c,l,u=e.state,d=e.options,p=e.name,f=d.mainAxis,f=void 0===f||f,g=d.altAxis,g=void 0!==g&&g,m=d.boundary,h=d.rootBoundary,_=d.altBoundary,v=d.padding,y=d.tether,y=void 0===y||y,d=d.tetherOffset,d=void 0===d?0:d,m=detectOverflow(u,{boundary:m,rootBoundary:h,padding:v,altBoundary:_}),h=getBasePlacement(u.placement),v=getVariation(u.placement),_=!v,b=getMainAxisFromPlacement(h),E=getAltAxis(b),T=u.modifiersData.popperOffsets,C=u.rects.reference,w=u.rects.popper,d=\\\"function\\\"==typeof d?d(Object.assign({},u.rects,{placement:u.placement})):d,d=\\\"number\\\"==typeof d?{mainAxis:d,altAxis:d}:Object.assign({mainAxis:0,altAxis:0},d),S=u.modifiersData.offset?u.modifiersData.offset[u.placement]:null,x={x:0,y:0};T&&(f&&(f=\\\"y\\\"===b?\\\"height\\\":\\\"width\\\",c=(t=T[b])+m[o=\\\"y\\\"===b?top:left],l=t-m[a=\\\"y\\\"===b?bottom:right],n=y?-w[f]/2:0,i=(v===start2?C:w)[f],v=v===start2?-w[f]:-C[f],s=u.elements.arrow,s=y&&s?getLayoutRect(s):{width:0,height:0},o=(r=u.modifiersData[\\\"arrow#persistent\\\"]?u.modifiersData[\\\"arrow#persistent\\\"].padding:getFreshSideObject())[o],a=r[a],r=within(0,C[f],s[f]),s=_?C[f]/2-n-r-o-d.mainAxis:i-r-o-d.mainAxis,i=_?-C[f]/2+n+r+a+d.mainAxis:v+r+a+d.mainAxis,_=(o=u.elements.arrow&&getOffsetParent(u.elements.arrow))?\\\"y\\\"===b?o.clientTop||0:o.clientLeft||0:0,v=t+i-(n=null!=(f=null==S?void 0:S[b])?f:0),r=within(y?min(c,t+s-n-_):c,t,y?max(l,v):l),T[b]=r,x[b]=r-t),g&&(a=\\\"y\\\"===E?\\\"height\\\":\\\"width\\\",i=(o=T[E])+m[\\\"x\\\"===b?top:left],f=o-m[\\\"x\\\"===b?bottom:right],s=-1!==[top,left].indexOf(h),_=null!=(n=null==S?void 0:S[E])?n:0,c=s?i:o-C[a]-w[a]-_+d.altAxis,v=s?o+C[a]+w[a]-_-d.altAxis:f,l=y&&s?withinMaxClamp(c,o,v):within(y?c:i,o,y?v:f),T[E]=l,x[E]=l-o),u.modifiersData[p]=x)}init_esbuild_inject(),init_esbuild_inject();var preventOverflow_default={name:\\\"preventOverflow\\\",enabled:!0,phase:\\\"main\\\",fn:preventOverflow,requiresIfExists:[\\\"offset\\\"]};function getHTMLElementScroll(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function getNodeScroll(e){return(e!==getWindow2(e)&&isHTMLElement(e)?getHTMLElementScroll:getWindowScroll)(e)}function isElementScaled(e){var t=e.getBoundingClientRect(),r=round(t.width)/e.offsetWidth||1,t=round(t.height)/e.offsetHeight||1;return 1!==r||1!==t}function getCompositeRect(e,t,r){void 0===r&&(r=!1);var n=isHTMLElement(t),o=isHTMLElement(t)&&isElementScaled(t),a=getDocumentElement(t),o=getBoundingClientRect(e,o,r),i={scrollLeft:0,scrollTop:0},s={x:0,y:0};return!n&&r||(\\\"body\\\"===getNodeName(t)&&!isScrollParent(a)||(i=getNodeScroll(t)),isHTMLElement(t)?((s=getBoundingClientRect(t,!0)).x+=t.clientLeft,s.y+=t.clientTop):a&&(s.x=getWindowScrollBarX(a))),{x:o.left+i.scrollLeft-s.x,y:o.top+i.scrollTop-s.y,width:o.width,height:o.height}}function order(e){var n=new Map,o=new Set,t=[];return e.forEach(function(e){n.set(e.name,e)}),e.forEach(function(e){o.has(e.name)||!function r(e){o.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){var t;o.has(e)||(t=n.get(e))&&r(t)}),t.push(e)}(e)}),t}function orderModifiers(e){var r=order(e);return modifierPhases.reduce(function(e,t){return e.concat(r.filter(function(e){return e.phase===t}))},[])}function debounce3(t){var r;return function(){return r=r||new Promise(function(e){Promise.resolve().then(function(){r=void 0,e(t())})})}}function mergeByName(e){var t=e.reduce(function(e,t){var r=e[t.name];return e[t.name]=r?Object.assign({},r,t,{options:Object.assign({},r.options,t.options),data:Object.assign({},r.data,t.data)}):t,e},{});return Object.keys(t).map(function(e){return t[e]})}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var DEFAULT_OPTIONS={placement:\\\"bottom\\\",modifiers:[],strategy:\\\"absolute\\\"};function areValidElements(){for(var e=arguments.length,t=new Array(e),r=0;r\u003Ce;r++)t[r]=arguments[r];return!t.some(function(e){return!(e&&\\\"function\\\"==typeof e.getBoundingClientRect)})}function popperGenerator(e){var t=e=void 0===e?{}:e,r=t.defaultModifiers,l=void 0===r?[]:r,r=t.defaultOptions,u=void 0===r?DEFAULT_OPTIONS:r;return function(r,n,t){void 0===t&&(t=u);var i={placement:\\\"bottom\\\",orderedModifiers:[],options:Object.assign({},DEFAULT_OPTIONS,u),modifiersData:{},elements:{reference:r,popper:n},attributes:{},styles:{}},o=[],s=!1,c={state:i,setOptions:function(e){var t=\\\"function\\\"==typeof e?e(i.options):e,t=(a(),i.options=Object.assign({},u,i.options,t),i.scrollParents={reference:isElement6(r)?listScrollParents(r):r.contextElement?listScrollParents(r.contextElement):[],popper:listScrollParents(n)},orderModifiers(mergeByName([].concat(l,i.options.modifiers))));return i.orderedModifiers=t.filter(function(e){return e.enabled}),i.orderedModifiers.forEach(function(e){var t=e.name,r=e.options,n=e.effect;\\\"function\\\"==typeof n&&(t=n({state:i,name:t,instance:c,options:void 0===r?{}:r}),o.push(t||function(){}))}),c.update()},forceUpdate:function(){if(!s){var e=i.elements,t=e.reference,e=e.popper;if(areValidElements(t,e)){i.rects={reference:getCompositeRect(t,getOffsetParent(e),\\\"fixed\\\"===i.options.strategy),popper:getLayoutRect(e)},i.reset=!1,i.placement=i.options.placement,i.orderedModifiers.forEach(function(e){return i.modifiersData[e.name]=Object.assign({},e.data)});for(var r,n,o,a=0;a\u003Ci.orderedModifiers.length;a++)!0===i.reset?(i.reset=!1,a=-1):(r=(o=i.orderedModifiers[a]).fn,n=o.options,o=o.name,\\\"function\\\"==typeof r&&(i=r({state:i,options:void 0===n?{}:n,name:o,instance:c})||i))}}},update:debounce3(function(){return new Promise(function(e){c.forceUpdate(),e(i)})}),destroy:function(){a(),s=!0}};return areValidElements(r,n)&&c.setOptions(t).then(function(e){!s&&t.onFirstUpdate&&t.onFirstUpdate(e)}),c;function a(){o.forEach(function(e){return e()}),o=[]}}}init_esbuild_inject();var defaultModifiers=[eventListeners_default,popperOffsets_default,computeStyles_default,applyStyles_default,offset_default,flip_default,preventOverflow_default,arrow_default,hide_default],createPopper=popperGenerator({defaultModifiers:defaultModifiers}),BOX_CLASS=\\\"tippy-box\\\",CONTENT_CLASS=\\\"tippy-content\\\",BACKDROP_CLASS=\\\"tippy-backdrop\\\",ARROW_CLASS=\\\"tippy-arrow\\\",SVG_ARROW_CLASS=\\\"tippy-svg-arrow\\\",TOUCH_OPTIONS={passive:!0,capture:!0},TIPPY_DEFAULT_APPEND_TO=function TIPPY_DEFAULT_APPEND_TO2(){return document.body};function hasOwnProperty5(e,t){return{}.hasOwnProperty.call(e,t)}function getValueAtIndexOrReturn(e,t,r){var n;return Array.isArray(e)?null==(n=e[t])?Array.isArray(r)?r[t]:r:n:e}function isType2(e,t){var r={}.toString.call(e);return 0===r.indexOf(\\\"[object\\\")&&-1\u003Cr.indexOf(t+\\\"]\\\")}function invokeWithArgsOrReturn(e,t){return\\\"function\\\"==typeof e?e.apply(void 0,t):e}function debounce4(t,r){var n;return 0===r?t:function(e){clearTimeout(n),n=setTimeout(function(){t(e)},r)}}function removeProperties(e,t){var r=Object.assign({},e);return t.forEach(function(e){delete r[e]}),r}function splitBySpaces(e){return e.split(/\\\\s+/).filter(Boolean)}function normalizeToArray(e){return[].concat(e)}function pushIfUnique(e,t){-1===e.indexOf(t)&&e.push(t)}function unique(r){return r.filter(function(e,t){return r.indexOf(e)===t})}function getBasePlacement2(e){return e.split(\\\"-\\\")[0]}function arrayFrom(e){return[].slice.call(e)}function removeUndefinedProps(r){return Object.keys(r).reduce(function(e,t){return void 0!==r[t]&&(e[t]=r[t]),e},{})}function div2(){return document.createElement(\\\"div\\\")}function isElement7(t){return[\\\"Element\\\",\\\"Fragment\\\"].some(function(e){return isType2(t,e)})}function isNodeList(e){return isType2(e,\\\"NodeList\\\")}function isMouseEvent(e){return isType2(e,\\\"MouseEvent\\\")}function isReferenceElement(e){return!(!e||!e._tippy||e._tippy.reference!==e)}function getArrayOfElements(e){return isElement7(e)?[e]:isNodeList(e)?arrayFrom(e):Array.isArray(e)?e:arrayFrom(document.querySelectorAll(e))}function setTransitionDuration(e,t){e.forEach(function(e){e&&(e.style.transitionDuration=t+\\\"ms\\\")})}function setVisibilityState(e,t){e.forEach(function(e){e&&e.setAttribute(\\\"data-state\\\",t)})}function getOwnerDocument(e){var t,r=normalizeToArray(e)[0];return null!=r&&null!=(t=r.ownerDocument)&&t.body?r.ownerDocument:document}function isCursorOutsideInteractiveBorder(e,t){var c=t.clientX,l=t.clientY;return e.every(function(e){var t,r,n,o=e.popperRect,a=e.popperState,i=e.props.interactiveBorder,s=getBasePlacement2(a.placement),a=a.modifiersData.offset;return!a||(t=\\\"bottom\\\"===s?a.top.y:0,r=\\\"top\\\"===s?a.bottom.y:0,n=\\\"right\\\"===s?a.left.x:0,s=\\\"left\\\"===s?a.right.x:0,a=o.top-l+t>i,t=l-o.bottom-r>i,r=o.left-c+n>i,n=c-o.right-s>i,a)||t||r||n})}function updateTransitionEndListener(t,e,r){var n=e+\\\"EventListener\\\";[\\\"transitionend\\\",\\\"webkitTransitionEnd\\\"].forEach(function(e){t[n](e,r)})}function actualContains(e,t){for(var r,n=t;n;){if(e.contains(n))return!0;n=null==n.getRootNode||null==(r=n.getRootNode())?void 0:r.host}return!1}var currentInput={isTouch:!1},lastMouseMoveTime=0;function onDocumentTouchStart(){currentInput.isTouch||(currentInput.isTouch=!0,window.performance&&document.addEventListener(\\\"mousemove\\\",onDocumentMouseMove))}function onDocumentMouseMove(){var e=performance.now();e-lastMouseMoveTime\u003C20&&(currentInput.isTouch=!1,document.removeEventListener(\\\"mousemove\\\",onDocumentMouseMove)),lastMouseMoveTime=e}function onWindowBlur(){var e,t=document.activeElement;isReferenceElement(t)&&(e=t._tippy,t.blur)&&!e.state.isVisible&&t.blur()}function bindGlobalEventListeners(){document.addEventListener(\\\"touchstart\\\",onDocumentTouchStart,TOUCH_OPTIONS),window.addEventListener(\\\"blur\\\",onWindowBlur)}var visitedMessages,isBrowser=\\\"undefined\\\"!=typeof window&&\\\"undefined\\\"!=typeof document,isIE11=!!isBrowser&&!!window.msCrypto;function createMemoryLeakWarning(e){return[e+\\\"() was called on a\\\"+(\\\"destroy\\\"===e?\\\"n already-\\\":\\\" \\\")+\\\"destroyed instance. This is a no-op but\\\",\\\"indicates a potential memory leak.\\\"].join(\\\" \\\")}function clean(e){return e.replace(/[ \\\\t]{2,}/g,\\\" \\\").replace(/^[ \\\\t]*/gm,\\\"\\\").trim()}function getDevMessage(e){return clean(\\\"\\\\n %ctippy.js\\\\n\\\\n %c\\\"+clean(e)+\\\"\\\\n\\\\n %c👷‍ This is a development-only message. It will be removed in production.\\\\n \\\")}function getFormattedMessage(e){return[getDevMessage(e),\\\"color: #00C584; font-size: 1.3em; font-weight: bold;\\\",\\\"line-height: 1.5\\\",\\\"color: #a6a095;\\\"]}function resetVisitedMessages(){visitedMessages=new Set}function warnWhen(e,t){var r;e&&!visitedMessages.has(t)&&(visitedMessages.add(t),(r=console).warn.apply(r,getFormattedMessage(t)))}function errorWhen(e,t){var r;e&&!visitedMessages.has(t)&&(visitedMessages.add(t),(r=console).error.apply(r,getFormattedMessage(t)))}function validateTargets(e){var t=!e,r=\\\"[object Object]\\\"===Object.prototype.toString.call(e)&&!e.addEventListener;errorWhen(t,[\\\"tippy() was passed\\\",\\\"`\\\"+String(e)+\\\"`\\\",\\\"as its targets (first) argument. Valid types are: String, Element,\\\",\\\"Element[], or NodeList.\\\"].join(\\\" \\\")),errorWhen(r,[\\\"tippy() was passed a plain object which is not supported as an argument\\\",\\\"for virtual positioning. Use props.getReferenceClientRect instead.\\\"].join(\\\" \\\"))}resetVisitedMessages();var pluginProps={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},renderProps={allowHTML:!1,animation:\\\"fade\\\",arrow:!0,content:\\\"\\\",inertia:!1,maxWidth:350,role:\\\"tooltip\\\",theme:\\\"\\\",zIndex:9999},defaultProps2=Object.assign({appendTo:TIPPY_DEFAULT_APPEND_TO,aria:{content:\\\"auto\\\",expanded:\\\"auto\\\"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:\\\"\\\",offset:[0,10],onAfterUpdate:function onAfterUpdate(){},onBeforeUpdate:function onBeforeUpdate(){},onCreate:function onCreate(){},onDestroy:function onDestroy(){},onHidden:function onHidden(){},onHide:function onHide(){},onMount:function onMount(){},onShow:function onShow(){},onShown:function onShown(){},onTrigger:function onTrigger(){},onUntrigger:function onUntrigger(){},onClickOutside:function onClickOutside(){},placement:\\\"top\\\",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:\\\"mouseenter focus\\\",triggerTarget:null},pluginProps,renderProps),defaultKeys=Object.keys(defaultProps2),setDefaultProps=function setDefaultProps2(t){validateProps(t,[]),Object.keys(t).forEach(function(e){defaultProps2[e]=t[e]})};function getExtendedPassedProps(o){var e=(o.plugins||[]).reduce(function(e,t){var r=t.name,n=t.defaultValue;return r&&(e[r]=void 0!==o[r]?o[r]:null!=(r=defaultProps2[r])?r:n),e},{});return Object.assign({},o,e)}function getDataAttributeProps(o,e){return(e?Object.keys(getExtendedPassedProps(Object.assign({},defaultProps2,{plugins:e}))):defaultKeys).reduce(function(e,t){var r=(o.getAttribute(\\\"data-tippy-\\\"+t)||\\\"\\\").trim();if(r)if(\\\"content\\\"===t)e[t]=r;else try{e[t]=JSON.parse(r)}catch(n){e[t]=r}return e},{})}function evaluateProps(e,t){var r=Object.assign({},t,{content:invokeWithArgsOrReturn(t.content,[e])},t.ignoreAttributes?{}:getDataAttributeProps(e,t.plugins));return r.aria=Object.assign({},defaultProps2.aria,r.aria),r.aria={expanded:\\\"auto\\\"===r.aria.expanded?t.interactive:r.aria.expanded,content:\\\"auto\\\"===r.aria.content?t.interactive?null:\\\"describedby\\\":r.aria.content},r}function validateProps(e,r){void 0===e&&(e={}),void 0===r&&(r=[]),Object.keys(e).forEach(function(t){warnWhen(!hasOwnProperty5(removeProperties(defaultProps2,Object.keys(pluginProps)),t)&&0===r.filter(function(e){return e.name===t}).length,[\\\"`\\\"+t+\\\"`\\\",\\\"is not a valid prop. You may have spelled it incorrectly, or if it's\\\",\\\"a plugin, forgot to pass it in an array as props.plugins.\\\",\\\"\\\\n\\\\n\\\",\\\"All props: https://atomiks.github.io/tippyjs/v6/all-props/\\\\n\\\",\\\"Plugins: https://atomiks.github.io/tippyjs/v6/plugins/\\\"].join(\\\" \\\"))})}var innerHTML=function innerHTML2(){return\\\"innerHTML\\\"};function dangerouslySetInnerHTML(e,t){e[innerHTML()]=t}function createArrowElement(e){var t=div2();return!0===e?t.className=ARROW_CLASS:(t.className=SVG_ARROW_CLASS,isElement7(e)?t.appendChild(e):dangerouslySetInnerHTML(t,e)),t}function setContent(e,t){isElement7(t.content)?(dangerouslySetInnerHTML(e,\\\"\\\"),e.appendChild(t.content)):\\\"function\\\"!=typeof t.content&&(t.allowHTML?dangerouslySetInnerHTML(e,t.content):e.textContent=t.content)}function getChildren2(e){var t=e.firstElementChild,r=arrayFrom(t.children);return{box:t,content:r.find(function(e){return e.classList.contains(CONTENT_CLASS)}),arrow:r.find(function(e){return e.classList.contains(ARROW_CLASS)||e.classList.contains(SVG_ARROW_CLASS)}),backdrop:r.find(function(e){return e.classList.contains(BACKDROP_CLASS)})}}function render(a){var i=div2(),e=div2(),t=(e.className=BOX_CLASS,e.setAttribute(\\\"data-state\\\",\\\"hidden\\\"),e.setAttribute(\\\"tabindex\\\",\\\"-1\\\"),div2());function r(e,t){var r=getChildren2(i),n=r.box,o=r.content,r=r.arrow;t.theme?n.setAttribute(\\\"data-theme\\\",t.theme):n.removeAttribute(\\\"data-theme\\\"),\\\"string\\\"==typeof t.animation?n.setAttribute(\\\"data-animation\\\",t.animation):n.removeAttribute(\\\"data-animation\\\"),t.inertia?n.setAttribute(\\\"data-inertia\\\",\\\"\\\"):n.removeAttribute(\\\"data-inertia\\\"),n.style.maxWidth=\\\"number\\\"==typeof t.maxWidth?t.maxWidth+\\\"px\\\":t.maxWidth,t.role?n.setAttribute(\\\"role\\\",t.role):n.removeAttribute(\\\"role\\\"),e.content===t.content&&e.allowHTML===t.allowHTML||setContent(o,a.props),t.arrow?r?e.arrow!==t.arrow&&(n.removeChild(r),n.appendChild(createArrowElement(t.arrow))):n.appendChild(createArrowElement(t.arrow)):r&&n.removeChild(r)}return t.className=CONTENT_CLASS,t.setAttribute(\\\"data-state\\\",\\\"hidden\\\"),setContent(t,a.props),i.appendChild(e),e.appendChild(t),r(a.props,a.props),{popper:i,onUpdate:r}}render.$$tippy=!0;var idCounter3=1,mouseMoveListeners=[],mountedInstances=[];function createTippy(i,N){var o,r,n,a,s,c,l,u,d,p,e,f=evaluateProps(i,Object.assign({},defaultProps2,getExtendedPassedProps(removeUndefinedProps(N)))),g=!1,m=!1,h=!1,_=!1,v=[],y=debounce4(q,f.interactiveDebounce),t=idCounter3++,b=unique(f.plugins),E={id:t,reference:i,popper:div2(),popperInstance:null,props:f,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:b,clearDelayTimeouts:function(){clearTimeout(o),clearTimeout(r),cancelAnimationFrame(n)},setProps:function(e){warnWhen(E.state.isDestroyed,createMemoryLeakWarning(\\\"setProps\\\"));var t,r;E.state.isDestroyed||($(\\\"onBeforeUpdate\\\",[E,e]),U(),t=E.props,r=evaluateProps(i,Object.assign({},t,removeUndefinedProps(e),{ignoreAttributes:!0})),E.props=r,V(),t.interactiveDebounce!==r.interactiveDebounce&&(O(),y=debounce4(q,r.interactiveDebounce)),t.triggerTarget&&!r.triggerTarget?normalizeToArray(t.triggerTarget).forEach(function(e){e.removeAttribute(\\\"aria-expanded\\\")}):r.triggerTarget&&i.removeAttribute(\\\"aria-expanded\\\"),A(),D(),d&&d(t,r),E.popperInstance&&(J(),R().forEach(function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)})),$(\\\"onAfterUpdate\\\",[E,e]))},setContent:function(e){E.setProps({content:e})},show:function(){warnWhen(E.state.isDestroyed,createMemoryLeakWarning(\\\"show\\\"));var e=E.state.isVisible,t=E.state.isDestroyed,r=!E.state.isEnabled,n=currentInput.isTouch&&!E.props.touch,o=getValueAtIndexOrReturn(E.props.duration,0,defaultProps2.duration);e||t||r||n||w().hasAttribute(\\\"disabled\\\")||($(\\\"onShow\\\",[E],!1),!1!==E.props.onShow(E)&&(E.state.isVisible=!0,C()&&(u.style.visibility=\\\"visible\\\"),D(),z(),E.state.isMounted||(u.style.transition=\\\"none\\\"),C()&&(e=x(),t=e.box,r=e.content,setTransitionDuration([t,r],0)),c=function(){var e,t;E.state.isVisible&&!_&&(_=!0,u.offsetHeight,u.style.transition=E.props.moveTransition,C()&&E.props.animation&&(setTransitionDuration([e=(t=x()).box,t=t.content],o),setVisibilityState([e,t],\\\"visible\\\")),L(),A(),pushIfUnique(mountedInstances,E),null!=(e=E.popperInstance)&&e.forceUpdate(),$(\\\"onMount\\\",[E]),E.props.animation)&&C()&&K(o,function(){E.state.isShown=!0,$(\\\"onShown\\\",[E])})},n=E.props.appendTo,e=w(),(t=E.props.interactive&&n===TIPPY_DEFAULT_APPEND_TO||\\\"parent\\\"===n?e.parentNode:invokeWithArgsOrReturn(n,[e])).contains(u)||t.appendChild(u),E.state.isMounted=!0,J(),warnWhen(E.props.interactive&&n===defaultProps2.appendTo&&e.nextElementSibling!==u,[\\\"Interactive tippy element may not be accessible via keyboard\\\",\\\"navigation because it is not directly after the reference element\\\",\\\"in the DOM source order.\\\",\\\"\\\\n\\\\n\\\",\\\"Using a wrapper \u003Cdiv> or \u003Cspan> tag around the reference element\\\",\\\"solves this by creating a new parentNode context.\\\",\\\"\\\\n\\\\n\\\",\\\"Specifying `appendTo: document.body` silences this warning, but it\\\",\\\"assumes you are using a focus management solution to handle\\\",\\\"keyboard navigation.\\\",\\\"\\\\n\\\\n\\\",\\\"See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity\\\"].join(\\\" \\\"))))},hide:function(){warnWhen(E.state.isDestroyed,createMemoryLeakWarning(\\\"hide\\\"));var e,t=!E.state.isVisible,r=E.state.isDestroyed,n=!E.state.isEnabled,o=getValueAtIndexOrReturn(E.props.duration,1,defaultProps2.duration);t||r||n||($(\\\"onHide\\\",[E],!1),!1!==E.props.onHide(E)&&(E.state.isVisible=!1,E.state.isShown=!1,g=_=!1,C()&&(u.style.visibility=\\\"hidden\\\"),O(),I(),D(!0),C()&&(t=x(),r=t.box,n=t.content,E.props.animation)&&(setTransitionDuration([r,n],o),setVisibilityState([r,n],\\\"hidden\\\")),L(),A(),E.props.animation?C()&&(e=E.unmount,K(o,function(){!E.state.isVisible&&u.parentNode&&u.parentNode.contains(u)&&e()})):E.unmount()))},hideWithInteractivity:function(e){warnWhen(E.state.isDestroyed,createMemoryLeakWarning(\\\"hideWithInteractivity\\\"));S().addEventListener(\\\"mousemove\\\",y),pushIfUnique(mouseMoveListeners,y),y(e)},enable:function(){E.state.isEnabled=!0},disable:function(){E.hide(),E.state.isEnabled=!1},unmount:function(){warnWhen(E.state.isDestroyed,createMemoryLeakWarning(\\\"unmount\\\"));E.state.isVisible&&E.hide();E.state.isMounted&&(Q(),R().forEach(function(e){e._tippy.unmount()}),u.parentNode&&u.parentNode.removeChild(u),mountedInstances=mountedInstances.filter(function(e){return e!==E}),E.state.isMounted=!1,$(\\\"onHidden\\\",[E]))},destroy:function(){warnWhen(E.state.isDestroyed,createMemoryLeakWarning(\\\"destroy\\\"));E.state.isDestroyed||(E.clearDelayTimeouts(),E.unmount(),U(),delete i._tippy,E.state.isDestroyed=!0,$(\\\"onDestroy\\\",[E]))}};return f.render?(t=f.render(E),u=t.popper,d=t.onUpdate,p=(u.setAttribute(\\\"data-tippy-root\\\",\\\"\\\"),u.id=\\\"tippy-\\\"+E.id,E.popper=u,i._tippy=E,u._tippy=E,b.map(function(e){return e.fn(E)})),e=i.hasAttribute(\\\"aria-expanded\\\"),V(),A(),D(),$(\\\"onCreate\\\",[E]),f.showOnCreate&&Z(),u.addEventListener(\\\"mouseenter\\\",function(){E.props.interactive&&E.state.isVisible&&E.clearDelayTimeouts()}),u.addEventListener(\\\"mouseleave\\\",function(){E.props.interactive&&0\u003C=E.props.trigger.indexOf(\\\"mouseenter\\\")&&S().addEventListener(\\\"mousemove\\\",y)})):errorWhen(!0,\\\"render() function has not been supplied.\\\"),E;function T(){var e=E.props.touch;return Array.isArray(e)?e:[e,0]}function M(){return\\\"hold\\\"===T()[0]}function C(){var e;return null!=(e=E.props.render)&&e.$$tippy}function w(){return l||i}function S(){var e=w().parentNode;return e?getOwnerDocument(e):document}function x(){return getChildren2(u)}function B(e){return E.state.isMounted&&!E.state.isVisible||currentInput.isTouch||a&&\\\"focus\\\"===a.type?0:getValueAtIndexOrReturn(E.props.delay,e?0:1,defaultProps2.delay)}function D(e){void 0===e&&(e=!1),u.style.pointerEvents=E.props.interactive&&!e?\\\"\\\":\\\"none\\\",u.style.zIndex=\\\"\\\"+E.props.zIndex}function $(t,r,e){var n;void 0===e&&(e=!0),p.forEach(function(e){e[t]&&e[t].apply(e,r)}),e&&(n=E.props)[t].apply(n,r)}function L(){var r,n,e=E.props.aria;e.content&&(r=\\\"aria-\\\"+e.content,n=u.id,normalizeToArray(E.props.triggerTarget||i).forEach(function(e){var t=e.getAttribute(r);E.state.isVisible?e.setAttribute(r,t?t+\\\" \\\"+n:n):(t=t&&t.replace(n,\\\"\\\").trim())?e.setAttribute(r,t):e.removeAttribute(r)}))}function A(){!e&&E.props.aria.expanded&&normalizeToArray(E.props.triggerTarget||i).forEach(function(e){E.props.interactive?e.setAttribute(\\\"aria-expanded\\\",E.state.isVisible&&e===w()?\\\"true\\\":\\\"false\\\"):e.removeAttribute(\\\"aria-expanded\\\")})}function O(){S().removeEventListener(\\\"mousemove\\\",y),mouseMoveListeners=mouseMoveListeners.filter(function(e){return e!==y})}function P(e){if(!currentInput.isTouch||!h&&\\\"mousedown\\\"!==e.type){var t=e.composedPath&&e.composedPath()[0]||e.target;if(!E.props.interactive||!actualContains(u,t)){if(normalizeToArray(E.props.triggerTarget||i).some(function(e){return actualContains(e,t)})){if(currentInput.isTouch)return;if(E.state.isVisible&&0\u003C=E.props.trigger.indexOf(\\\"click\\\"))return}else $(\\\"onClickOutside\\\",[E,e]);!0===E.props.hideOnClick&&(E.clearDelayTimeouts(),E.hide(),m=!0,setTimeout(function(){m=!1}),E.state.isMounted||I())}}}function F(){h=!0}function H(){h=!1}function z(){var e=S();e.addEventListener(\\\"mousedown\\\",P,!0),e.addEventListener(\\\"touchend\\\",P,TOUCH_OPTIONS),e.addEventListener(\\\"touchstart\\\",H,TOUCH_OPTIONS),e.addEventListener(\\\"touchmove\\\",F,TOUCH_OPTIONS)}function I(){var e=S();e.removeEventListener(\\\"mousedown\\\",P,!0),e.removeEventListener(\\\"touchend\\\",P,TOUCH_OPTIONS),e.removeEventListener(\\\"touchstart\\\",H,TOUCH_OPTIONS),e.removeEventListener(\\\"touchmove\\\",F,TOUCH_OPTIONS)}function K(e,t){var r=x().box;function n(e){e.target===r&&(updateTransitionEndListener(r,\\\"remove\\\",n),t())}if(0===e)return t();updateTransitionEndListener(r,\\\"remove\\\",s),updateTransitionEndListener(r,\\\"add\\\",n),s=n}function j(t,r,n){void 0===n&&(n=!1),normalizeToArray(E.props.triggerTarget||i).forEach(function(e){e.addEventListener(t,r,n),v.push({node:e,eventType:t,handler:r,options:n})})}function V(){M()&&(j(\\\"touchstart\\\",G,{passive:!0}),j(\\\"touchend\\\",W,{passive:!0})),splitBySpaces(E.props.trigger).forEach(function(e){if(\\\"manual\\\"!==e)switch(j(e,G),e){case\\\"mouseenter\\\":j(\\\"mouseleave\\\",W);break;case\\\"focus\\\":j(isIE11?\\\"focusout\\\":\\\"blur\\\",Y);break;case\\\"focusin\\\":j(\\\"focusout\\\",Y)}})}function U(){v.forEach(function(e){var t=e.node,r=e.eventType,n=e.handler,o=e.options;t.removeEventListener(r,n,o)}),v=[]}function G(t){var e,r=!1;!E.state.isEnabled||X(t)||m||(e=\\\"focus\\\"===(null==a?void 0:a.type),l=(a=t).currentTarget,A(),!E.state.isVisible&&isMouseEvent(t)&&mouseMoveListeners.forEach(function(e){return e(t)}),\\\"click\\\"===t.type&&(E.props.trigger.indexOf(\\\"mouseenter\\\")\u003C0||g)&&!1!==E.props.hideOnClick&&E.state.isVisible?r=!0:Z(t),\\\"click\\\"===t.type&&(g=!r),r&&!e&&k(t))}function q(e){var t=e.target,t=w().contains(t)||u.contains(t);\\\"mousemove\\\"===e.type&&t||isCursorOutsideInteractiveBorder(R().concat(u).map(function(e){var t=null==(t=e._tippy.popperInstance)?void 0:t.state;return t?{popperRect:e.getBoundingClientRect(),popperState:t,props:f}:null}).filter(Boolean),e)&&(O(),k(e))}function W(e){X(e)||0\u003C=E.props.trigger.indexOf(\\\"click\\\")&&g||(E.props.interactive?E.hideWithInteractivity(e):k(e))}function Y(e){E.props.trigger.indexOf(\\\"focusin\\\")\u003C0&&e.target!==w()||E.props.interactive&&e.relatedTarget&&u.contains(e.relatedTarget)||k(e)}function X(e){return!!currentInput.isTouch&&M()!==0\u003C=e.type.indexOf(\\\"touch\\\")}function J(){Q();var e=E.props,t=e.popperOptions,r=e.placement,n=e.offset,o=e.getReferenceClientRect,e=e.moveTransition,a=C()?getChildren2(u).arrow:null,o=o?{getBoundingClientRect:o,contextElement:o.contextElement||w()}:i,n=[{name:\\\"offset\\\",options:{offset:n}},{name:\\\"preventOverflow\\\",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:\\\"flip\\\",options:{padding:5}},{name:\\\"computeStyles\\\",options:{adaptive:!e}},{name:\\\"$$tippy\\\",enabled:!0,phase:\\\"beforeWrite\\\",requires:[\\\"computeStyles\\\"],fn:function(e){var t,r=e.state;C()&&(t=x().box,[\\\"placement\\\",\\\"reference-hidden\\\",\\\"escaped\\\"].forEach(function(e){\\\"placement\\\"===e?t.setAttribute(\\\"data-placement\\\",r.placement):r.attributes.popper[\\\"data-popper-\\\"+e]?t.setAttribute(\\\"data-\\\"+e,\\\"\\\"):t.removeAttribute(\\\"data-\\\"+e)}),r.attributes.popper={})}}];C()&&a&&n.push({name:\\\"arrow\\\",options:{element:a,padding:3}}),n.push.apply(n,(null==t?void 0:t.modifiers)||[]),E.popperInstance=createPopper(o,u,Object.assign({},t,{placement:r,onFirstUpdate:c,modifiers:n}))}function Q(){E.popperInstance&&(E.popperInstance.destroy(),E.popperInstance=null)}function R(){return arrayFrom(u.querySelectorAll(\\\"[data-tippy-root]\\\"))}function Z(e){E.clearDelayTimeouts(),e&&$(\\\"onTrigger\\\",[E,e]),z();var t=B(!0),r=T(),n=r[0],r=r[1];(t=currentInput.isTouch&&\\\"hold\\\"===n&&r?r:t)?o=setTimeout(function(){E.show()},t):E.show()}function k(e){var t;E.clearDelayTimeouts(),$(\\\"onUntrigger\\\",[E,e]),E.state.isVisible?0\u003C=E.props.trigger.indexOf(\\\"mouseenter\\\")&&0\u003C=E.props.trigger.indexOf(\\\"click\\\")&&0\u003C=[\\\"mouseleave\\\",\\\"mousemove\\\"].indexOf(e.type)&&g||((t=B(!1))?r=setTimeout(function(){E.state.isVisible&&E.hide()},t):n=requestAnimationFrame(function(){E.hide()})):I()}}function tippy(e,t){var r=defaultProps2.plugins.concat((t=void 0===t?{}:t).plugins||[]),n=(validateTargets(e),validateProps(t,r),bindGlobalEventListeners(),Object.assign({},t,{plugins:r})),r=getArrayOfElements(e),o=isElement7(n.content),a=1\u003Cr.length,o=(warnWhen(o&&a,[\\\"tippy() was passed an Element as the `content` prop, but more than\\\",\\\"one tippy instance was created by this invocation. This means the\\\",\\\"content element will only be appended to the last tippy instance.\\\",\\\"\\\\n\\\\n\\\",\\\"Instead, pass the .innerHTML of the element, or use a function that\\\",\\\"returns a cloned version of the element instead.\\\",\\\"\\\\n\\\\n\\\",\\\"1) content: element.innerHTML\\\\n\\\",\\\"2) content: () => element.cloneNode(true)\\\"].join(\\\" \\\")),r.reduce(function(e,t){var r=t&&createTippy(t,n);return r&&e.push(r),e},[]));return isElement7(e)?o[0]:o}tippy.defaultProps=defaultProps2,tippy.setDefaultProps=setDefaultProps,tippy.currentInput=currentInput;var applyStylesModifier=Object.assign({},applyStyles_default,{effect:function effect4(e){var t=e.state,r={popper:{position:t.options.strategy,left:\\\"0\\\",top:\\\"0\\\",margin:\\\"0\\\"},arrow:{position:\\\"absolute\\\"},reference:{}};Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow)}}),tippy_esm_default=(tippy.setDefaultProps({render:render}),tippy),import_react59=__toESM(require(\\\"react\\\")),import_react_dom10=require(\\\"react-dom\\\");function _objectWithoutPropertiesLoose4(e,t){if(null==e)return{};for(var r,n={},o=Object.keys(e),a=0;a\u003Co.length;a++)r=o[a],0\u003C=t.indexOf(r)||(n[r]=e[r]);return n}var isBrowser2=\\\"undefined\\\"!=typeof window&&\\\"undefined\\\"!=typeof document;function preserveRef(e,t){e&&(\\\"function\\\"==typeof e&&e(t),{}.hasOwnProperty.call(e,\\\"current\\\"))&&(e.current=t)}function ssrSafeCreateDiv(){return isBrowser2&&document.createElement(\\\"div\\\")}function toDataAttributes(e){var t={\\\"data-placement\\\":e.placement};return e.referenceHidden&&(t[\\\"data-reference-hidden\\\"]=\\\"\\\"),e.escaped&&(t[\\\"data-escaped\\\"]=\\\"\\\"),t}function deepEqual3(e,t){if(e!==t){if(\\\"object\\\"!=typeof e||null==e||\\\"object\\\"!=typeof t||null==t)return!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var r in e){if(!t.hasOwnProperty(r))return!1;if(!deepEqual3(e[r],t[r]))return!1}}return!0}function uniqueByShape(e){var r=[];return e.forEach(function(t){r.find(function(e){return deepEqual3(t,e)})||r.push(t)}),r}function deepPreserveProps(e,t){var r;return Object.assign({},t,{popperOptions:Object.assign({},e.popperOptions,t.popperOptions,{modifiers:uniqueByShape([].concat((null==(r=e.popperOptions)?void 0:r.modifiers)||[],(null==(r=t.popperOptions)?void 0:r.modifiers)||[]))})})}var useIsomorphicLayoutEffect6=isBrowser2?import_react59.useLayoutEffect:import_react59.useEffect;function useMutableBox(e){var t=(0,import_react59.useRef)();return t.current||(t.current=\\\"function\\\"==typeof e?e():e),t.current}function updateClassName(t,r,e){e.split(/\\\\s+/).forEach(function(e){e&&t.classList[r](e)})}var classNamePlugin={name:\\\"className\\\",defaultValue:\\\"\\\",fn:function fn3(t){var e=t.popper.firstElementChild,r=function(){var e;return!(null==(e=t.props.render)||!e.$$tippy)};function n(){t.props.className&&!r()?console.warn([\\\"@tippyjs/react: Cannot use `className` prop in conjunction with\\\",\\\"`render` prop. Place the className on the element you are\\\",\\\"rendering.\\\"].join(\\\" \\\")):updateClassName(e,\\\"add\\\",t.props.className)}return{onCreate:n,onBeforeUpdate:function(){r()&&updateClassName(e,\\\"remove\\\",t.props.className)},onAfterUpdate:n}}};function TippyGenerator(T){return function(e){var t=e.children,r=e.content,n=e.visible,o=e.singleton,a=e.render,i=e.reference,s=void 0!==(c=e.disabled)&&c,c=void 0===(c=e.ignoreAttributes)||c,l=(e.__source,e.__self,_objectWithoutPropertiesLoose4(e,[\\\"children\\\",\\\"content\\\",\\\"visible\\\",\\\"singleton\\\",\\\"render\\\",\\\"reference\\\",\\\"disabled\\\",\\\"ignoreAttributes\\\",\\\"__source\\\",\\\"__self\\\"])),u=void 0!==n,d=void 0!==o,p=(E=(0,import_react59.useState)(!1))[0],f=E[1],g=(E=(0,import_react59.useState)({}))[0],m=E[1],h=(E=(0,import_react59.useState)())[0],_=E[1],v=useMutableBox(function(){return{container:ssrSafeCreateDiv(),renders:1}}),y=Object.assign({ignoreAttributes:c},l,{content:v.container}),b=(u&&([\\\"trigger\\\",\\\"hideOnClick\\\",\\\"showOnCreate\\\"].forEach(function(e){void 0!==y[e]&&console.warn([\\\"@tippyjs/react: Cannot specify `\\\"+e+\\\"` prop in\\\",\\\"controlled mode (`visible` prop)\\\"].join(\\\" \\\"))}),y.trigger=\\\"manual\\\",y.hideOnClick=!1),d&&(s=!0),y),E=y.plugins||[],c=(a&&(b=Object.assign({},y,{plugins:d&&null!=o.data?[].concat(E,[{fn:function(){return{onTrigger:function(e,t){var r=o.data.children.find(function(e){return e.instance.reference===t.currentTarget});e.state.$$activeSingletonInstance=r.instance,_(r.content)}}}}]):E,render:function(){return{popper:v.container}}})),[i].concat(t?[t.type]:[]));return useIsomorphicLayoutEffect6(function(){var e=i,t=(i&&i.hasOwnProperty(\\\"current\\\")&&(e=i.current),T(e||v.ref||ssrSafeCreateDiv(),Object.assign({},b,{plugins:[classNamePlugin].concat(y.plugins||[])})));return v.instance=t,s&&t.disable(),n&&t.show(),d&&o.hook({instance:t,content:r,props:b,setSingletonContent:_}),f(!0),function(){t.destroy(),null!=o&&o.cleanup(t)}},c),useIsomorphicLayoutEffect6(function(){var e,t;1===v.renders?v.renders++:((t=v.instance).setProps(deepPreserveProps(t.props,b)),null!=(e=t.popperInstance)&&e.forceUpdate(),s?t.disable():t.enable(),u&&(n?t.show():t.hide()),d&&o.hook({instance:t,content:r,props:b,setSingletonContent:_}))}),useIsomorphicLayoutEffect6(function(){var e;a&&(e=v.instance).setProps({popperOptions:Object.assign({},e.props.popperOptions,{modifiers:[].concat(((null==(e=e.props.popperOptions)?void 0:e.modifiers)||[]).filter(function(e){return\\\"$$tippyReact\\\"!==e.name}),[{name:\\\"$$tippyReact\\\",enabled:!0,phase:\\\"beforeWrite\\\",requires:[\\\"computeStyles\\\"],fn:function(e){var t=e.state,r=null==(r=t.modifiersData)?void 0:r.hide;g.placement===t.placement&&g.referenceHidden===(null==r?void 0:r.isReferenceHidden)&&g.escaped===(null==r?void 0:r.hasPopperEscaped)||m({placement:t.placement,referenceHidden:null==r?void 0:r.isReferenceHidden,escaped:null==r?void 0:r.hasPopperEscaped}),t.attributes.popper={}}}])})})},[g.placement,g.referenceHidden,g.escaped].concat(c)),import_react59[\\\"default\\\"].createElement(import_react59[\\\"default\\\"].Fragment,null,t?(0,import_react59.cloneElement)(t,{ref:function(e){v.ref=e,preserveRef(t.ref,e)}}):null,p&&(0,import_react_dom10.createPortal)(a?a(toDataAttributes(g),h,v.instance):r,v.container))}}var forwardRef6=function(o,a){return(0,import_react59.forwardRef)(function(e,t){var r=e.children,n=_objectWithoutPropertiesLoose4(e,[\\\"children\\\"]);return import_react59[\\\"default\\\"].createElement(o,Object.assign({},a,n),r?(0,import_react59.cloneElement)(r,{ref:function(e){preserveRef(t,e),preserveRef(r.ref,e)}}):null)})},index4=forwardRef6(TippyGenerator(tippy_esm_default)),tippy_react_esm_default=index4,import_react61=__toESM(require(\\\"react\\\")),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),LazyTippy=e=>{const[t,r]=import_react61[\\\"default\\\"].useState(!1);var n={fn:()=>({onMount:()=>r(!0),onHidden:()=>r(!1)})},o={...e};if(o.plugins=[n,...null!=(n=e.plugins)?n:[]],void 0===e.render)o.content=t?e.content:\\\"\\\";else{const a=e.render;o.render=(...e)=>t?a(...e):\\\"\\\"}return(0,import_jsx_runtime.jsx)(tippy_react_esm_default,{...o})},import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),ListItemContentContainer=import_styled_components2[\\\"default\\\"].div`\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: row;\\n justify-content: flex-start;\\n align-items: center;\\n`,Preview=import_styled_components2[\\\"default\\\"].div``,Name=import_styled_components2[\\\"default\\\"].div``,memorizedRenderText=memize(e=>$tw.wiki.renderText(\\\"text/html\\\",\\\"text/vnd.tiddlywiki\\\",e)),memorizedRenderTiddler=memize(e=>$tw.wiki.renderTiddler(\\\"text/html\\\",e)),filterKey=t=>e=>e.key.toLowerCase().startsWith(t.toLowerCase());function PreviewWithWikiText(e){var t=e.getRenderTextTemplate(e.item);return(0,import_jsx_runtime.jsx)(Preview,{dangerouslySetInnerHTML:{__html:t}})}function ComboBoxDorpDownListItem(e){var t;return(0,import_jsx_runtime.jsx)(LazyTippy,{content:(0,import_jsx_runtime.jsx)(PreviewWithWikiText,{getRenderTextTemplate:e.getRenderTextTemplate,item:e.item}),showOnCreate:!1,placement:\\\"right\\\",hideOnClick:!0,children:(0,import_jsx_runtime.jsx)(ListItemContentContainer,{children:(0,import_jsx_runtime.jsx)(Name,{children:null!=(t=null==(t=e.getNameTemplate)?void 0:t.call(e,e.item))?t:e.item.text})})})}import_jsx_runtime=require(\\\"react/jsx-runtime\\\");function MacrosCombobox(e){var t=e[\\\"pluginKey\\\"],r=(0,import_react62.useContext)(import_tw_react.ParentWidgetContext);const n=(0,import_tw_react.useFilter)(\\\"[variables[]]\\\",r,[r]);r=(0,import_react62.useMemo)(()=>n.map(e=>({key:e,text:`\u003C\u003C${e}>>`})),[n]);return(0,import_jsx_runtime.jsx)(AutoCompleteCombobox,{id:t,items:r,pluginKey:t,filter:filterKey,onRenderItem:ComboBoxDorpDownListItem,getRenderTextTemplate:e=>memorizedRenderText(`!! ${e.key}\\n\\n`+e.text)})}init_esbuild_inject(),init_esbuild_inject();var snippets=[];function getSnippetName(e){var t,r=e.fields[\\\"snippet-name\\\"];return\\\"string\\\"!=typeof r||r?null!=(t=e.fields.title.split(\\\"/\\\").at(-1))?t:\\\"\\\":r}$tw.utils.each($tw.wiki.filterTiddlers(\\\"[all[tiddlers+shadows]tag[$:/tags/TextEditor/Snippet]]\\\"),e=>{var t;e&&void 0!==(t=$tw.wiki.getTiddler(e))&&snippets.push({key:e,data:{name:getSnippetName(t),preview:`!! ${t.fields.caption}${t.fields[\\\"snippet-description\\\"]?`\\n\\n`+t.fields[\\\"snippet-description\\\"]:\\\"\\\"}\\n\\n`+t.fields.text},text:t.fields.text})}),$tw.utils.each($tw.wiki.filterTiddlers(\\\"[all[tiddlers+shadows]tag[$:/tags/KaTeX/Snippet]]\\\"),e=>{var t,r;e&&void 0!==(t=$tw.wiki.getTiddler(e))&&(r=getSnippetName(t),snippets.push({key:e,data:{name:r,preview:t.fields.text},text:t.fields.text}))});var import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),filter=t=>e=>e.data.name.toLowerCase().startsWith(t.toLowerCase());function SnippetCombobox(e){var t=e[\\\"pluginKey\\\"];return(0,import_jsx_runtime.jsx)(AutoCompleteCombobox,{id:t,items:snippets,pluginKey:t,filter:filter,onRenderItem:ComboBoxDorpDownListItem,getRenderTextTemplate:e=>memorizedRenderText(e.data.preview),getNameTemplate:e=>e.data.name})}init_esbuild_inject();var import_react63=require(\\\"react\\\"),import_jsx_runtime=require(\\\"react/jsx-runtime\\\");function WidgetCombobox(e){var t=e[\\\"pluginKey\\\"],r=(0,import_react63.useMemo)(()=>Object.entries($tw.rootWidget.widgetClasses).map(([e,t])=>({key:e,text:`\u003C$${e} />`,data:{widgetClass:t}})),[]);return(0,import_jsx_runtime.jsx)(AutoCompleteCombobox,{id:t,items:r,pluginKey:t,filter:filterKey,onRenderItem:ComboBoxDorpDownListItem,getRenderTextTemplate:e=>memorizedRenderText(`!! ${e.key}\\n\\n`+e.text),getNameTemplate:e=>e.data.widgetClass.name})}init_esbuild_inject();var import_react64=require(\\\"react\\\"),import_jsx_runtime=require(\\\"react/jsx-runtime\\\");function WikiLinkCombobox(e){var t=e[\\\"pluginKey\\\"],r=(0,import_react64.useMemo)(()=>$tw.wiki.getTiddlers().map(e=>({key:e,text:e})),[]);return(0,import_jsx_runtime.jsx)(AutoCompleteCombobox,{id:t,items:r,pluginKey:t,filter:filterKey,onRenderItem:ComboBoxDorpDownListItem,getRenderTextTemplate:e=>memorizedRenderTiddler(e.key)})}init_esbuild_inject();var import_styled_components3=__toESM(require_styled_components_browser_cjs()),bodyStyles=import_styled_components3.css`\\n .tippy-box[data-theme~='tomato'] {\\n background-color: tomato;\\n color: yellow;\\n }\\n`,GlobalStyle=import_styled_components3.createGlobalStyle`\\n ${bodyStyles}\\n`,import_react67=(init_esbuild_inject(),init_esbuild_inject(),require(\\\"react\\\")),import_lodash2=__toESM(require_lodash()),import_react66=(init_esbuild_inject(),require(\\\"react\\\")),isFunction5=(init_esbuild_inject(),e=>\\\"function\\\"==typeof e&&!!e.constructor&&!!e.call&&!!e.apply),isFunction_default=isFunction5,import_react65=(init_esbuild_inject(),require(\\\"react\\\")),createHandlerSetter=e=>{const t=(0,import_react65.useRef)(e);var r=(0,import_react65.useRef)(e=>{if(\\\"function\\\"!=typeof e)throw new Error(\\\"the argument supplied to the 'setHandler' function should be of type function\\\");t.current=e});return[t,r.current]},createHandlerSetter_default=createHandlerSetter,useWillUnmount=e=>{const t=(0,import_react66.useRef)(!1),[r,n]=createHandlerSetter_default(e);return(0,import_react66.useEffect)(()=>(t.current=!0,()=>{isFunction_default(null===r||void 0===r?void 0:r.current)&&t.current&&r.current()}),[]),n},useWillUnmount_default=useWillUnmount,defaultOptions={leading:!1,trailing:!0},useDebouncedCallback=(e,t,r=600,n=defaultOptions)=>{const o=(0,import_react67.useRef)((0,import_lodash2[\\\"default\\\"])(e,r,n));return(0,import_react67.useEffect)(()=>{o.current=(0,import_lodash2[\\\"default\\\"])(e,r,n)},[e,r,n]),useWillUnmount_default(()=>{var e;null!=(e=o.current)&&e.cancel()}),(0,import_react67.useCallback)(o.current,null!=t?t:[])},useDebouncedCallback_default=useDebouncedCallback,import_react68=require(\\\"react\\\");function useInitialValue(e){var{initialTiddlerText:t,idCreator:r}=e;return(0,import_react68.useRef)(deserialize(t,{idCreator:r}))}function useOnChange(e){const{editorID:t,initialTiddlerText:r,saver:{onSave:n,interval:o,lock:a},idCreator:i,currentAstReference:s}=e,c=usePlateActions(t).onChange(),l=useResetPlateEditor(t),u=usePlateEditorRef(t),d=usePlateActions(t).value(),p=(0,import_react68.useRef)(r),f=((0,import_react68.useEffect)(()=>{var e;p.current!==r&&(e=deserialize(p.current=r,{idCreator:i}),s.current=e,l(),d(e))},[r,p,d,l,i,s]),(0,import_react68.useCallback)(e=>{var t=serialize(e);n(t),p.current=t},[n])),g=useDebouncedCallback_default(f,[f],o),m=(0,import_react68.useCallback)(e=>{s.current===e||(s.current=e,null===u)||ReactEditor.isComposing(u)||u.operations.every(e=>\\\"set_selection\\\"===e.type)||(a(),g(e))},[s,g,u,a]);(0,import_react68.useEffect)(()=>{c({fn:m})},[m,c]),(0,import_react68.useEffect)(()=>()=>{f(s.current)},[])}function listCacheClear5(){this.__data__=[],this.size=0}init_esbuild_inject(),init_esbuild_inject();var _listCacheClear5=listCacheClear5;function eq5(e,t){return e===t||e!=e&&t!=t}var eq_15=eq5;function assocIndexOf5(e,t){for(var r=e.length;r--;)if(eq_15(e[r][0],t))return r;return-1}var _assocIndexOf5=assocIndexOf5,arrayProto5=Array.prototype,splice5=arrayProto5.splice;function listCacheDelete5(e){var t=this.__data__,r=_assocIndexOf5(t,e);return!(r\u003C0||(r==t.length-1?t.pop():splice5.call(t,r,1),--this.size,0))}var _listCacheDelete5=listCacheDelete5;function listCacheGet5(e){var t=this.__data__,r=_assocIndexOf5(t,e);return r\u003C0?void 0:t[r][1]}var _listCacheGet5=listCacheGet5;function listCacheHas5(e){return-1\u003C_assocIndexOf5(this.__data__,e)}var _listCacheHas5=listCacheHas5;function listCacheSet5(e,t){var r=this.__data__,n=_assocIndexOf5(r,e);return n\u003C0?(++this.size,r.push([e,t])):r[n][1]=t,this}var _listCacheSet5=listCacheSet5;function ListCache5(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}ListCache5.prototype.clear=_listCacheClear5,ListCache5.prototype[\\\"delete\\\"]=_listCacheDelete5,ListCache5.prototype.get=_listCacheGet5,ListCache5.prototype.has=_listCacheHas5,ListCache5.prototype.set=_listCacheSet5;var _ListCache5=ListCache5;function stackClear5(){this.__data__=new _ListCache5,this.size=0}var _stackClear5=stackClear5;function stackDelete5(e){var t=this.__data__,r=t[\\\"delete\\\"](e);return this.size=t.size,r}var _stackDelete5=stackDelete5;function stackGet5(e){return this.__data__.get(e)}var _stackGet5=stackGet5;function stackHas5(e){return this.__data__.has(e)}var _stackHas5=stackHas5,commonjsGlobal6=\\\"undefined\\\"!=typeof globalThis?globalThis:\\\"undefined\\\"!=typeof window?window:\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:{};function createCommonjsModule9(e,t){return e(t={exports:{}},t.exports),t.exports}var freeGlobal5=\\\"object\\\"==typeof commonjsGlobal6&&commonjsGlobal6&&commonjsGlobal6.Object===Object&&commonjsGlobal6,_freeGlobal5=freeGlobal5,freeSelf5=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,root5=_freeGlobal5||freeSelf5||Function(\\\"return this\\\")(),_root5=root5,Symbol4=_root5.Symbol,_Symbol5=Symbol4,objectProto$c2=Object.prototype,hasOwnProperty$93=objectProto$c2.hasOwnProperty,nativeObjectToString$15=objectProto$c2.toString,symToStringTag$15=_Symbol5?_Symbol5.toStringTag:void 0;function getRawTag5(e){var t=hasOwnProperty$93.call(e,symToStringTag$15),r=e[symToStringTag$15];try{var n=!(e[symToStringTag$15]=void 0)}catch(a){}var o=nativeObjectToString$15.call(e);return n&&(t?e[symToStringTag$15]=r:delete e[symToStringTag$15]),o}var _getRawTag5=getRawTag5,objectProto$b5=Object.prototype,nativeObjectToString5=objectProto$b5.toString;function objectToString5(e){return nativeObjectToString5.call(e)}var _objectToString5=objectToString5,nullTag5=\\\"[object Null]\\\",undefinedTag5=\\\"[object Undefined]\\\",symToStringTag5=_Symbol5?_Symbol5.toStringTag:void 0;function baseGetTag5(e){return null==e?void 0===e?undefinedTag5:nullTag5:(symToStringTag5&&symToStringTag5 in Object(e)?_getRawTag5:_objectToString5)(e)}var _baseGetTag5=baseGetTag5;function isObject7(e){var t=typeof e;return null!=e&&(\\\"object\\\"==t||\\\"function\\\"==t)}var isObject_15=isObject7,asyncTag5=\\\"[object AsyncFunction]\\\",funcTag$22=\\\"[object Function]\\\",genTag$12=\\\"[object GeneratorFunction]\\\",proxyTag5=\\\"[object Proxy]\\\";function isFunction6(e){var t;return!!isObject_15(e)&&((t=_baseGetTag5(e))==funcTag$22||t==genTag$12||t==asyncTag5||t==proxyTag5)}var isFunction_15=isFunction6,coreJsData5=_root5[\\\"__core-js_shared__\\\"],_coreJsData5=coreJsData5,maskSrcKey5=function(){var e=/[^.]+$/.exec(_coreJsData5&&_coreJsData5.keys&&_coreJsData5.keys.IE_PROTO||\\\"\\\");return e?\\\"Symbol(src)_1.\\\"+e:\\\"\\\"}();function isMasked5(e){return!!maskSrcKey5&&maskSrcKey5 in e}var _isMasked5=isMasked5,funcProto$15=Function.prototype,funcToString$15=funcProto$15.toString;function toSource5(e){if(null!=e){try{return funcToString$15.call(e)}catch(t){}try{return e+\\\"\\\"}catch(t){}}return\\\"\\\"}var _toSource5=toSource5,reRegExpChar5=/[\\\\\\\\^$.*+?()[\\\\]{}|]/g,reIsHostCtor5=/^\\\\[object .+?Constructor\\\\]$/,funcProto5=Function.prototype,objectProto$a5=Object.prototype,funcToString5=funcProto5.toString,hasOwnProperty$85=objectProto$a5.hasOwnProperty,reIsNative5=RegExp(\\\"^\\\"+funcToString5.call(hasOwnProperty$85).replace(reRegExpChar5,\\\"\\\\\\\\$&\\\").replace(/hasOwnProperty|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\");function baseIsNative5(e){return!(!isObject_15(e)||_isMasked5(e))&&(isFunction_15(e)?reIsNative5:reIsHostCtor5).test(_toSource5(e))}var _baseIsNative5=baseIsNative5;function getValue5(e,t){return null==e?void 0:e[t]}var _getValue5=getValue5;function getNative5(e,t){var r=_getValue5(e,t);return _baseIsNative5(r)?r:void 0}var _getNative5=getNative5,Map6=_getNative5(_root5,\\\"Map\\\"),_Map5=Map6,nativeCreate5=_getNative5(Object,\\\"create\\\"),_nativeCreate5=nativeCreate5;function hashClear5(){this.__data__=_nativeCreate5?_nativeCreate5(null):{},this.size=0}var _hashClear5=hashClear5;function hashDelete5(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var _hashDelete5=hashDelete5,HASH_UNDEFINED$15=\\\"__lodash_hash_undefined__\\\",objectProto$95=Object.prototype,hasOwnProperty$75=objectProto$95.hasOwnProperty;function hashGet5(e){var t,r=this.__data__;return _nativeCreate5?(t=r[e])===HASH_UNDEFINED$15?void 0:t:hasOwnProperty$75.call(r,e)?r[e]:void 0}var _hashGet5=hashGet5,objectProto$85=Object.prototype,hasOwnProperty$65=objectProto$85.hasOwnProperty;function hashHas5(e){var t=this.__data__;return _nativeCreate5?void 0!==t[e]:hasOwnProperty$65.call(t,e)}var _hashHas5=hashHas5,HASH_UNDEFINED5=\\\"__lodash_hash_undefined__\\\";function hashSet5(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=_nativeCreate5&&void 0===t?HASH_UNDEFINED5:t,this}var _hashSet5=hashSet5;function Hash5(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}Hash5.prototype.clear=_hashClear5,Hash5.prototype[\\\"delete\\\"]=_hashDelete5,Hash5.prototype.get=_hashGet5,Hash5.prototype.has=_hashHas5,Hash5.prototype.set=_hashSet5;var _Hash5=Hash5;function mapCacheClear5(){this.size=0,this.__data__={hash:new _Hash5,map:new(_Map5||_ListCache5),string:new _Hash5}}var _mapCacheClear5=mapCacheClear5;function isKeyable5(e){var t=typeof e;return\\\"string\\\"==t||\\\"number\\\"==t||\\\"symbol\\\"==t||\\\"boolean\\\"==t?\\\"__proto__\\\"!==e:null===e}var _isKeyable5=isKeyable5;function getMapData5(e,t){var r=e.__data__;return _isKeyable5(t)?r[\\\"string\\\"==typeof t?\\\"string\\\":\\\"hash\\\"]:r.map}var _getMapData5=getMapData5;function mapCacheDelete5(e){var t=_getMapData5(this,e)[\\\"delete\\\"](e);return this.size-=t?1:0,t}var _mapCacheDelete5=mapCacheDelete5;function mapCacheGet5(e){return _getMapData5(this,e).get(e)}var _mapCacheGet5=mapCacheGet5;function mapCacheHas5(e){return _getMapData5(this,e).has(e)}var _mapCacheHas5=mapCacheHas5;function mapCacheSet5(e,t){var r=_getMapData5(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}var _mapCacheSet5=mapCacheSet5;function MapCache5(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}MapCache5.prototype.clear=_mapCacheClear5,MapCache5.prototype[\\\"delete\\\"]=_mapCacheDelete5,MapCache5.prototype.get=_mapCacheGet5,MapCache5.prototype.has=_mapCacheHas5,MapCache5.prototype.set=_mapCacheSet5;var _MapCache5=MapCache5,LARGE_ARRAY_SIZE5=200;function stackSet5(e,t){var r=this.__data__;if(r instanceof _ListCache5){var n=r.__data__;if(!_Map5||n.length\u003CLARGE_ARRAY_SIZE5-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new _MapCache5(n)}return r.set(e,t),this.size=r.size,this}var _stackSet5=stackSet5;function Stack5(e){var t=this.__data__=new _ListCache5(e);this.size=t.size}Stack5.prototype.clear=_stackClear5,Stack5.prototype[\\\"delete\\\"]=_stackDelete5,Stack5.prototype.get=_stackGet5,Stack5.prototype.has=_stackHas5,Stack5.prototype.set=_stackSet5;var _Stack4=Stack5;function arrayEach2(e,t){for(var r=-1,n=null==e?0:e.length;++r\u003Cn&&!1!==t(e[r],r,e););return e}var _arrayEach2=arrayEach2,defineProperty4=function(){try{var e=_getNative5(Object,\\\"defineProperty\\\");return e({},\\\"\\\",{}),e}catch(t){}}(),_defineProperty11=defineProperty4;function baseAssignValue3(e,t,r){\\\"__proto__\\\"==t&&_defineProperty11?_defineProperty11(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var _baseAssignValue3=baseAssignValue3,objectProto$75=Object.prototype,hasOwnProperty$55=objectProto$75.hasOwnProperty;function assignValue3(e,t,r){var n=e[t];hasOwnProperty$55.call(e,t)&&eq_15(n,r)&&(void 0!==r||t in e)||_baseAssignValue3(e,t,r)}var _assignValue3=assignValue3;function copyObject3(e,t,r,n){for(var o=!r,a=(r=r||{},-1),i=t.length;++a\u003Ci;){var s=t[a],c=n?n(r[s],e[s],s,r,e):void 0;void 0===c&&(c=e[s]),(o?_baseAssignValue3:_assignValue3)(r,s,c)}return r}var _copyObject3=copyObject3;function baseTimes4(e,t){for(var r=-1,n=Array(e);++r\u003Ce;)n[r]=t(r);return n}var _baseTimes4=baseTimes4;function isObjectLike5(e){return null!=e&&\\\"object\\\"==typeof e}var isObjectLike_15=isObjectLike5,argsTag$24=\\\"[object Arguments]\\\";function baseIsArguments5(e){return isObjectLike_15(e)&&_baseGetTag5(e)==argsTag$24}var _baseIsArguments5=baseIsArguments5,objectProto$65=Object.prototype,hasOwnProperty$45=objectProto$65.hasOwnProperty,propertyIsEnumerable$14=objectProto$65.propertyIsEnumerable,isArguments5=_baseIsArguments5(function(){return arguments}())?_baseIsArguments5:function(e){return isObjectLike_15(e)&&hasOwnProperty$45.call(e,\\\"callee\\\")&&!propertyIsEnumerable$14.call(e,\\\"callee\\\")},isArguments_14=isArguments5,isArray7=Array.isArray,isArray_16=isArray7;function stubFalse5(){return!1}var stubFalse_15=stubFalse5,isBuffer_15=createCommonjsModule9(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,n=n&&n.exports===r?_root5.Buffer:void 0,r=n?n.isBuffer:void 0;e.exports=r||stubFalse_15}),MAX_SAFE_INTEGER$14=9007199254740991,reIsUint4=/^(?:0|[1-9]\\\\d*)$/;function isIndex4(e,t){var r=typeof e;return!!(t=null==t?MAX_SAFE_INTEGER$14:t)&&(\\\"number\\\"==r||\\\"symbol\\\"!=r&&reIsUint4.test(e))&&-1\u003Ce&&e%1==0&&e\u003Ct}var _isIndex4=isIndex4,MAX_SAFE_INTEGER5=9007199254740991;function isLength5(e){return\\\"number\\\"==typeof e&&-1\u003Ce&&e%1==0&&e\u003C=MAX_SAFE_INTEGER5}var isLength_15=isLength5,argsTag$15=\\\"[object Arguments]\\\",arrayTag$14=\\\"[object Array]\\\",boolTag$22=\\\"[object Boolean]\\\",dateTag$22=\\\"[object Date]\\\",errorTag$14=\\\"[object Error]\\\",funcTag$15=\\\"[object Function]\\\",mapTag$42=\\\"[object Map]\\\",numberTag$22=\\\"[object Number]\\\",objectTag$24=\\\"[object Object]\\\",regexpTag$22=\\\"[object RegExp]\\\",setTag$42=\\\"[object Set]\\\",stringTag$22=\\\"[object String]\\\",weakMapTag$22=\\\"[object WeakMap]\\\",arrayBufferTag$22=\\\"[object ArrayBuffer]\\\",dataViewTag$32=\\\"[object DataView]\\\",float32Tag$22=\\\"[object Float32Array]\\\",float64Tag$22=\\\"[object Float64Array]\\\",int8Tag$22=\\\"[object Int8Array]\\\",int16Tag$22=\\\"[object Int16Array]\\\",int32Tag$22=\\\"[object Int32Array]\\\",uint8Tag$22=\\\"[object Uint8Array]\\\",uint8ClampedTag$22=\\\"[object Uint8ClampedArray]\\\",uint16Tag$22=\\\"[object Uint16Array]\\\",uint32Tag$22=\\\"[object Uint32Array]\\\",typedArrayTags5={};function baseIsTypedArray5(e){return isObjectLike_15(e)&&isLength_15(e.length)&&!!typedArrayTags5[_baseGetTag5(e)]}typedArrayTags5[float32Tag$22]=typedArrayTags5[float64Tag$22]=typedArrayTags5[int8Tag$22]=typedArrayTags5[int16Tag$22]=typedArrayTags5[int32Tag$22]=typedArrayTags5[uint8Tag$22]=typedArrayTags5[uint8ClampedTag$22]=typedArrayTags5[uint16Tag$22]=typedArrayTags5[uint32Tag$22]=!0,typedArrayTags5[argsTag$15]=typedArrayTags5[arrayTag$14]=typedArrayTags5[arrayBufferTag$22]=typedArrayTags5[boolTag$22]=typedArrayTags5[dataViewTag$32]=typedArrayTags5[dateTag$22]=typedArrayTags5[errorTag$14]=typedArrayTags5[funcTag$15]=typedArrayTags5[mapTag$42]=typedArrayTags5[numberTag$22]=typedArrayTags5[objectTag$24]=typedArrayTags5[regexpTag$22]=typedArrayTags5[setTag$42]=typedArrayTags5[stringTag$22]=typedArrayTags5[weakMapTag$22]=!1;var _baseIsTypedArray5=baseIsTypedArray5;function baseUnary5(t){return function(e){return t(e)}}var _baseUnary5=baseUnary5,_nodeUtil5=createCommonjsModule9(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r&&_freeGlobal5.process,r=function(){try{var e=n&&n.require&&n.require(\\\"util\\\").types;return e?e:o&&o.binding&&o.binding(\\\"util\\\")}catch(t){}}();e.exports=r}),nodeIsTypedArray5=_nodeUtil5&&_nodeUtil5.isTypedArray,isTypedArray5=nodeIsTypedArray5?_baseUnary5(nodeIsTypedArray5):_baseIsTypedArray5,isTypedArray_14=isTypedArray5,objectProto$55=Object.prototype,hasOwnProperty$35=objectProto$55.hasOwnProperty;function arrayLikeKeys4(e,t){var r,n=isArray_16(e),o=!n&&isArguments_14(e),a=!n&&!o&&isBuffer_15(e),i=!n&&!o&&!a&&isTypedArray_14(e),s=n||o||a||i,c=s?_baseTimes4(e.length,String):[],l=c.length;for(r in e)!t&&!hasOwnProperty$35.call(e,r)||s&&(\\\"length\\\"==r||a&&(\\\"offset\\\"==r||\\\"parent\\\"==r)||i&&(\\\"buffer\\\"==r||\\\"byteLength\\\"==r||\\\"byteOffset\\\"==r)||_isIndex4(r,l))||c.push(r);return c}var _arrayLikeKeys4=arrayLikeKeys4,objectProto$45=Object.prototype;function isPrototype4(e){var t=e&&e.constructor;return e===(\\\"function\\\"==typeof t&&t.prototype||objectProto$45)}var _isPrototype4=isPrototype4;function overArg5(t,r){return function(e){return t(r(e))}}var _overArg5=overArg5,nativeKeys4=_overArg5(Object.keys,Object),_nativeKeys3=nativeKeys4,objectProto$35=Object.prototype,hasOwnProperty$25=objectProto$35.hasOwnProperty;function baseKeys3(e){if(!_isPrototype4(e))return _nativeKeys3(e);var t,r=[];for(t in Object(e))hasOwnProperty$25.call(e,t)&&\\\"constructor\\\"!=t&&r.push(t);return r}var _baseKeys3=baseKeys3;function isArrayLike4(e){return null!=e&&isLength_15(e.length)&&!isFunction_15(e)}var isArrayLike_14=isArrayLike4;function keys3(e){return(isArrayLike_14(e)?_arrayLikeKeys4:_baseKeys3)(e)}var keys_13=keys3;function baseAssign2(e,t){return e&&_copyObject3(t,keys_13(t),e)}var _baseAssign2=baseAssign2;function nativeKeysIn3(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}var _nativeKeysIn3=nativeKeysIn3,objectProto$25=Object.prototype,hasOwnProperty$15=objectProto$25.hasOwnProperty;function baseKeysIn3(e){if(!isObject_15(e))return _nativeKeysIn3(e);var t,r=_isPrototype4(e),n=[];for(t in e)(\\\"constructor\\\"!=t||!r&&hasOwnProperty$15.call(e,t))&&n.push(t);return n}var _baseKeysIn3=baseKeysIn3;function keysIn3(e){return isArrayLike_14(e)?_arrayLikeKeys4(e,!0):_baseKeysIn3(e)}var keysIn_13=keysIn3;function baseAssignIn2(e,t){return e&&_copyObject3(t,keysIn_13(t),e)}var _baseAssignIn2=baseAssignIn2,_cloneBuffer3=createCommonjsModule9(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,n=n&&n.exports===r?_root5.Buffer:void 0,o=n?n.allocUnsafe:void 0;e.exports=function(e,t){var r;return t?e.slice():(r=e.length,r=o?o(r):new e.constructor(r),e.copy(r),r)}});function copyArray3(e,t){var r=-1,n=e.length;for(t=t||Array(n);++r\u003Cn;)t[r]=e[r];return t}var _copyArray3=copyArray3;function arrayFilter3(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r\u003Cn;){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a}var _arrayFilter3=arrayFilter3;function stubArray3(){return[]}var stubArray_13=stubArray3,objectProto$15=Object.prototype,propertyIsEnumerable5=objectProto$15.propertyIsEnumerable,nativeGetSymbols$12=Object.getOwnPropertySymbols,getSymbols3=nativeGetSymbols$12?function(t){return null==t?[]:(t=Object(t),_arrayFilter3(nativeGetSymbols$12(t),function(e){return propertyIsEnumerable5.call(t,e)}))}:stubArray_13,_getSymbols3=getSymbols3;function copySymbols2(e,t){return _copyObject3(e,_getSymbols3(e),t)}var _copySymbols2=copySymbols2;function arrayPush3(e,t){for(var r=-1,n=t.length,o=e.length;++r\u003Cn;)e[o+r]=t[r];return e}var _arrayPush3=arrayPush3,getPrototype3=_overArg5(Object.getPrototypeOf,Object),_getPrototype3=getPrototype3,nativeGetSymbols3=Object.getOwnPropertySymbols,getSymbolsIn2=nativeGetSymbols3?function(e){for(var t=[];e;)_arrayPush3(t,_getSymbols3(e)),e=_getPrototype3(e);return t}:stubArray_13,_getSymbolsIn2=getSymbolsIn2;function copySymbolsIn2(e,t){return _copyObject3(e,_getSymbolsIn2(e),t)}var _copySymbolsIn2=copySymbolsIn2;function baseGetAllKeys3(e,t,r){var n=t(e);return isArray_16(e)?n:_arrayPush3(n,r(e))}var _baseGetAllKeys3=baseGetAllKeys3;function getAllKeys3(e){return _baseGetAllKeys3(e,keys_13,_getSymbols3)}var _getAllKeys3=getAllKeys3;function getAllKeysIn2(e){return _baseGetAllKeys3(e,keysIn_13,_getSymbolsIn2)}var _getAllKeysIn2=getAllKeysIn2,DataView4=_getNative5(_root5,\\\"DataView\\\"),_DataView4=DataView4,Promise$14=_getNative5(_root5,\\\"Promise\\\"),_Promise4=Promise$14,Set4=_getNative5(_root5,\\\"Set\\\"),_Set4=Set4,WeakMap4=_getNative5(_root5,\\\"WeakMap\\\"),_WeakMap4=WeakMap4,mapTag$32=\\\"[object Map]\\\",objectTag$15=\\\"[object Object]\\\",promiseTag4=\\\"[object Promise]\\\",setTag$32=\\\"[object Set]\\\",weakMapTag$14=\\\"[object WeakMap]\\\",dataViewTag$24=\\\"[object DataView]\\\",dataViewCtorString4=_toSource5(_DataView4),mapCtorString4=_toSource5(_Map5),promiseCtorString4=_toSource5(_Promise4),setCtorString4=_toSource5(_Set4),weakMapCtorString4=_toSource5(_WeakMap4),getTag4=_baseGetTag5,_getTag3=getTag4=_DataView4&&getTag4(new _DataView4(new ArrayBuffer(1)))!=dataViewTag$24||_Map5&&getTag4(new _Map5)!=mapTag$32||_Promise4&&getTag4(_Promise4.resolve())!=promiseTag4||_Set4&&getTag4(new _Set4)!=setTag$32||_WeakMap4&&getTag4(new _WeakMap4)!=weakMapTag$14?function(e){var t=_baseGetTag5(e),r=t==objectTag$15?e.constructor:void 0,r=r?_toSource5(r):\\\"\\\";if(r)switch(r){case dataViewCtorString4:return dataViewTag$24;case mapCtorString4:return mapTag$32;case promiseCtorString4:return promiseTag4;case setCtorString4:return setTag$32;case weakMapCtorString4:return weakMapTag$14}return t}:getTag4,objectProto5=Object.prototype,hasOwnProperty6=objectProto5.hasOwnProperty;function initCloneArray2(e){var t=e.length,r=new e.constructor(t);return t&&\\\"string\\\"==typeof e[0]&&hasOwnProperty6.call(e,\\\"index\\\")&&(r.index=e.index,r.input=e.input),r}var _initCloneArray2=initCloneArray2,Uint8Array6=_root5.Uint8Array,_Uint8Array4=Uint8Array6;function cloneArrayBuffer3(e){var t=new e.constructor(e.byteLength);return new _Uint8Array4(t).set(new _Uint8Array4(e)),t}var _cloneArrayBuffer3=cloneArrayBuffer3;function cloneDataView2(e,t){var r=t?_cloneArrayBuffer3(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var _cloneDataView2=cloneDataView2,reFlags2=/\\\\w*$/;function cloneRegExp2(e){var t=new e.constructor(e.source,reFlags2.exec(e));return t.lastIndex=e.lastIndex,t}var _cloneRegExp2=cloneRegExp2,symbolProto4=_Symbol5?_Symbol5.prototype:void 0,symbolValueOf4=symbolProto4?symbolProto4.valueOf:void 0;function cloneSymbol2(e){return symbolValueOf4?Object(symbolValueOf4.call(e)):{}}var _cloneSymbol2=cloneSymbol2;function cloneTypedArray3(e,t){var r=t?_cloneArrayBuffer3(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var _cloneTypedArray3=cloneTypedArray3,boolTag$14=\\\"[object Boolean]\\\",dateTag$14=\\\"[object Date]\\\",mapTag$24=\\\"[object Map]\\\",numberTag$14=\\\"[object Number]\\\",regexpTag$14=\\\"[object RegExp]\\\",setTag$24=\\\"[object Set]\\\",stringTag$14=\\\"[object String]\\\",symbolTag$13=\\\"[object Symbol]\\\",arrayBufferTag$14=\\\"[object ArrayBuffer]\\\",dataViewTag$13=\\\"[object DataView]\\\",float32Tag$12=\\\"[object Float32Array]\\\",float64Tag$12=\\\"[object Float64Array]\\\",int8Tag$12=\\\"[object Int8Array]\\\",int16Tag$12=\\\"[object Int16Array]\\\",int32Tag$12=\\\"[object Int32Array]\\\",uint8Tag$12=\\\"[object Uint8Array]\\\",uint8ClampedTag$12=\\\"[object Uint8ClampedArray]\\\",uint16Tag$12=\\\"[object Uint16Array]\\\",uint32Tag$12=\\\"[object Uint32Array]\\\";function initCloneByTag2(e,t,r){var n=e.constructor;switch(t){case arrayBufferTag$14:return _cloneArrayBuffer3(e);case boolTag$14:case dateTag$14:return new n(+e);case dataViewTag$13:return _cloneDataView2(e,r);case float32Tag$12:case float64Tag$12:case int8Tag$12:case int16Tag$12:case int32Tag$12:case uint8Tag$12:case uint8ClampedTag$12:case uint16Tag$12:case uint32Tag$12:return _cloneTypedArray3(e,r);case mapTag$24:return new n;case numberTag$14:case stringTag$14:return new n(e);case regexpTag$14:return _cloneRegExp2(e);case setTag$24:return new n;case symbolTag$13:return _cloneSymbol2(e)}}var _initCloneByTag2=initCloneByTag2,objectCreate3=Object.create,baseCreate3=function(){function r(){}return function(e){if(!isObject_15(e))return{};if(objectCreate3)return objectCreate3(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}(),_baseCreate3=baseCreate3;function initCloneObject3(e){return\\\"function\\\"!=typeof e.constructor||_isPrototype4(e)?{}:_baseCreate3(_getPrototype3(e))}var _initCloneObject3=initCloneObject3,mapTag$13=\\\"[object Map]\\\";function baseIsMap2(e){return isObjectLike_15(e)&&_getTag3(e)==mapTag$13}var _baseIsMap2=baseIsMap2,nodeIsMap2=_nodeUtil5&&_nodeUtil5.isMap,isMap2=nodeIsMap2?_baseUnary5(nodeIsMap2):_baseIsMap2,isMap_12=isMap2,setTag$13=\\\"[object Set]\\\";function baseIsSet2(e){return isObjectLike_15(e)&&_getTag3(e)==setTag$13}var _baseIsSet2=baseIsSet2,nodeIsSet2=_nodeUtil5&&_nodeUtil5.isSet,isSet2=nodeIsSet2?_baseUnary5(nodeIsSet2):_baseIsSet2,isSet_12=isSet2,CLONE_DEEP_FLAG$12=1,CLONE_FLAT_FLAG2=2,CLONE_SYMBOLS_FLAG$12=4,argsTag4=\\\"[object Arguments]\\\",arrayTag4=\\\"[object Array]\\\",boolTag4=\\\"[object Boolean]\\\",dateTag4=\\\"[object Date]\\\",errorTag4=\\\"[object Error]\\\",funcTag5=\\\"[object Function]\\\",genTag5=\\\"[object GeneratorFunction]\\\",mapTag5=\\\"[object Map]\\\",numberTag4=\\\"[object Number]\\\",objectTag4=\\\"[object Object]\\\",regexpTag4=\\\"[object RegExp]\\\",setTag5=\\\"[object Set]\\\",stringTag4=\\\"[object String]\\\",symbolTag3=\\\"[object Symbol]\\\",weakMapTag5=\\\"[object WeakMap]\\\",arrayBufferTag4=\\\"[object ArrayBuffer]\\\",dataViewTag5=\\\"[object DataView]\\\",float32Tag5=\\\"[object Float32Array]\\\",float64Tag5=\\\"[object Float64Array]\\\",int8Tag5=\\\"[object Int8Array]\\\",int16Tag5=\\\"[object Int16Array]\\\",int32Tag5=\\\"[object Int32Array]\\\",uint8Tag5=\\\"[object Uint8Array]\\\",uint8ClampedTag5=\\\"[object Uint8ClampedArray]\\\",uint16Tag5=\\\"[object Uint16Array]\\\",uint32Tag5=\\\"[object Uint32Array]\\\",cloneableTags2={};function baseClone2(r,n,o,e,t,a){var i,s=n&CLONE_DEEP_FLAG$12,c=n&CLONE_FLAT_FLAG2,l=n&CLONE_SYMBOLS_FLAG$12;if(void 0===(i=o?t?o(r,e,t,a):o(r):i)){if(!isObject_15(r))return r;var u=isArray_16(r);if(u){if(i=_initCloneArray2(r),!s)return _copyArray3(r,i)}else{var d=_getTag3(r),p=d==funcTag5||d==genTag5;if(isBuffer_15(r))return _cloneBuffer3(r,s);if(d==objectTag4||d==argsTag4||p&&!t){if(i=c||p?{}:_initCloneObject3(r),!s)return c?_copySymbolsIn2(r,_baseAssignIn2(i,r)):_copySymbols2(r,_baseAssign2(i,r))}else{if(!cloneableTags2[d])return t?r:{};i=_initCloneByTag2(r,d,s)}}p=(a=a||new _Stack4).get(r);if(p)return p;a.set(r,i),isSet_12(r)?r.forEach(function(e){i.add(baseClone2(e,n,o,e,r,a))}):isMap_12(r)&&r.forEach(function(e,t){i.set(t,baseClone2(e,n,o,t,r,a))});var f=u?void 0:(l?c?_getAllKeysIn2:_getAllKeys3:c?keysIn_13:keys_13)(r);_arrayEach2(f||r,function(e,t){f&&(e=r[t=e]),_assignValue3(i,t,baseClone2(e,n,o,t,r,a))})}return i}cloneableTags2[argsTag4]=cloneableTags2[arrayTag4]=cloneableTags2[arrayBufferTag4]=cloneableTags2[dataViewTag5]=cloneableTags2[boolTag4]=cloneableTags2[dateTag4]=cloneableTags2[float32Tag5]=cloneableTags2[float64Tag5]=cloneableTags2[int8Tag5]=cloneableTags2[int16Tag5]=cloneableTags2[int32Tag5]=cloneableTags2[mapTag5]=cloneableTags2[numberTag4]=cloneableTags2[objectTag4]=cloneableTags2[regexpTag4]=cloneableTags2[setTag5]=cloneableTags2[stringTag4]=cloneableTags2[symbolTag3]=cloneableTags2[uint8Tag5]=cloneableTags2[uint8ClampedTag5]=cloneableTags2[uint16Tag5]=cloneableTags2[uint32Tag5]=!0,cloneableTags2[errorTag4]=cloneableTags2[funcTag5]=cloneableTags2[weakMapTag5]=!1;var _baseClone2=baseClone2,CLONE_DEEP_FLAG2=1,CLONE_SYMBOLS_FLAG2=4;function cloneDeep2(e){return _baseClone2(e,CLONE_DEEP_FLAG2|CLONE_SYMBOLS_FLAG2)}var cloneDeep_12=cloneDeep2,withNodeId=(n,{options:{idKey:o=\\\"\\\",idCreator:a,filterText:r,filter:i,reuseId:s,allow:e,exclude:t}})=>{const c=n[\\\"apply\\\"],l=()=>({[o]:a()});const u=e=>{s&&!someNode(n,{match:{[o]:e[o]},at:[]})||delete e[o]},d={filter:e=>{var t;return i(e)&&(!r||void 0!==(null==(t=e[0])?void 0:t.type))},allow:e,exclude:t};return n.apply=t=>{if(\\\"insert_node\\\"===t.type)return r=cloneDeep_12(t.node),applyDeepToNodes({node:r,query:d,source:{},apply:u}),defaultsDeepToNodes({node:r,path:t.path,source:l,query:d}),c({...t,node:r});if(\\\"split_node\\\"===t.type){var r=t.properties;let e=t.properties[o];if(queryNode([r,t.path],d))return s&&void 0!==e&&!someNode(n,{match:{[o]:e},at:[]})||(e=a()),c({...t,properties:{...t.properties,[o]:e}});e&&delete t.properties[o]}return c(t)},n},KEY_NODE_ID=\\\"nodeId\\\",createNodeIdPlugin=createPluginFactory({key:KEY_NODE_ID,withOverrides:withNodeId,options:{idKey:\\\"id\\\",idCreator:()=>Math.random().toString(36).slice(2,7),filterText:!0,filter:()=>!0}}),import_react98=require(\\\"react\\\"),MARK_HIGHLIGHT=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),\\\"highlight\\\"),createHighlightPlugin=createPluginFactory({key:MARK_HIGHLIGHT,isLeaf:!0,handlers:{onKeyDown:onKeyDownToggleMark},deserializeHtml:{rules:[{validNodeName:[\\\"MARK\\\"]}]},options:{hotkey:\\\"mod+shift+h\\\"}}),MARK_KBD=(init_esbuild_inject(),\\\"kbd\\\"),createKbdPlugin=createPluginFactory({key:MARK_KBD,isLeaf:!0,handlers:{onKeyDown:onKeyDownToggleMark},deserializeHtml:{rules:[{validNodeName:[\\\"KBD\\\"]},{validStyle:{wordWrap:\\\"break-word\\\"}}]}}),withNormalizeTypes=(init_esbuild_inject(),init_esbuild_inject(),(a,{options:{rules:r,onError:i}})=>{const n=a[\\\"normalizeNode\\\"];return a.normalizeNode=([e,t])=>{if(0===t.length&&r.some(({strictType:e,type:t,path:r})=>{var n=getNode(a,r);if(n){if(e&&isElement2(n)&&n.type!==e)return setElements(a,{type:e},{at:r}),!0}else try{return insertElements(a,{type:null!=e?e:t,children:[{text:\\\"\\\"}]},{at:r}),!0}catch(o){null!=i&&i(o)}return!1}))return;return n([e,t])},a}),KEY_NORMALIZE_TYPES=\\\"normalizeTypes\\\",createNormalizeTypesPlugin=createPluginFactory({key:KEY_NORMALIZE_TYPES,withOverrides:withNormalizeTypes,options:{rules:[]}}),isArray8=Array.isArray,isArray_17=isArray8;function castArray6(){var e;return arguments.length?isArray_17(e=arguments[0])?e:[e]:[]}var castArray_16=castArray6,withRemoveEmptyNodes=(r,{options:{types:e}})=>{const n=castArray_16(e),o=r[\\\"normalizeNode\\\"];return r.normalizeNode=([e,t])=>{isElement2(e)&&e.type&&n.includes(e.type)&&\\\"\\\"===getNodeString(e)?removeNodes3(r,{at:t}):o([e,t])},r},createRemoveEmptyNodesPlugin=createPluginFactory({key:\\\"removeEmptyNodes\\\",withOverrides:withRemoveEmptyNodes}),React21=__toESM(require(\\\"react\\\")),import_react69=require(\\\"react\\\"),ReactDOM5=__toESM(require(\\\"react-dom\\\")),createLinkNode=(e,{url:t,text:r=\\\"\\\",target:n,children:o})=>{return{type:getPluginType(e,ELEMENT_LINK),url:t,target:n,children:null!=o?o:[{text:r}]}},getLinkAttributes=(e,t)=>{var{allowedSchemes:r,defaultLinkAttributes:n,dangerouslySkipSanitization:o}=getPluginOptions(e,ELEMENT_LINK),n={...n},o=o?t.url:sanitizeUrl(t.url,{allowedSchemes:r})||void 0;return void 0!==o&&(n.href=o),\\\"target\\\"in t&&(n.target=t.target),n},useLink=({element:e})=>{var t=usePlateEditorRef();return{props:{...getLinkAttributes(t,e),onMouseOver:e=>{e.stopPropagation()}}}},floatingLinkStore=createStore4(\\\"floatingLink\\\")({openEditorId:null,mouseDown:!1,updated:!1,url:\\\"\\\",text:\\\"\\\",newTab:!1,mode:\\\"\\\",isEditing:!1}).extendActions(e=>({reset:()=>{e.url(\\\"\\\"),e.text(\\\"\\\"),e.newTab(!1),e.mode(\\\"\\\"),e.isEditing(!1)}})).extendActions(r=>({show:(e,t)=>{r.mode(e),r.isEditing(!1),r.openEditorId(t)},hide:()=>{r.openEditorId(null),r.reset()}})).extendSelectors(t=>({isOpen:e=>t.openEditorId===e})),floatingLinkActions=floatingLinkStore.set,floatingLinkSelectors=floatingLinkStore.get,useFloatingLinkSelectors=()=>floatingLinkStore.use,useFloatingLinkNewTabInputState=()=>{const e=useFloatingLinkSelectors().updated(),t=(0,import_react69.useRef)(null);var[r,n]=(0,import_react69.useState)(floatingLinkSelectors.newTab());return(0,import_react69.useEffect)(()=>{t.current&&e&&setTimeout(()=>{var e;null!=(e=t.current)&&e.focus()},0)},[e]),{ref:t,checked:r,setChecked:n}},useFloatingLinkNewTabInput=({checked:e,ref:t,setChecked:r})=>{return{ref:t,props:{onChange:(0,import_react69.useCallback)(e=>{r(e.target.checked),floatingLinkActions.newTab(e.target.checked)},[r]),checked:e,type:\\\"checkbox\\\"}}},FloatingLinkNewTabInput=createPrimitiveComponent(\\\"input\\\")({propsHook:useFloatingLinkNewTabInput,stateHook:useFloatingLinkNewTabInputState}),useFloatingLinkUrlInputState=()=>{const e=useFloatingLinkSelectors().updated(),t=(0,import_react69.useRef)(null);return(0,import_react69.useEffect)(()=>{t.current&&e&&setTimeout(()=>{var e;null!=(e=t.current)&&e.focus()},0)},[e]),{ref:t}},useFloatingLinkUrlInput=e=>{var t=(0,import_react69.useCallback)(e=>{floatingLinkActions.url(e.target.value)},[]);return{ref:e.ref,props:{onChange:t,defaultValue:floatingLinkSelectors.url()}}},FloatingLinkUrlInput=createPrimitiveComponent(\\\"input\\\")({propsHook:useFloatingLinkUrlInput,stateHook:useFloatingLinkUrlInputState}),useLinkOpenButtonState=()=>{const e=usePlateEditorRef();var t=usePlateSelection(),t=(0,import_react69.useMemo)(()=>findNode(e,{match:{type:getPluginType(e,ELEMENT_LINK)}}),[e,t]);return t?(([t]=t),{element:t}):{}},useLinkOpenButton=({element:e})=>{var t=usePlateEditorRef();return e?{props:{...getLinkAttributes(t,e),target:\\\"_blank\\\",\\\"aria-label\\\":\\\"Open link in a new tab\\\",onMouseOver:e=>{e.stopPropagation()}}}:{props:{}}},LinkOpenButton=createPrimitiveComponent(\\\"a\\\")({stateHook:useLinkOpenButtonState,propsHook:useLinkOpenButton}),global$1=\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{};function defaultSetTimout(){throw new Error(\\\"setTimeout has not been defined\\\")}function defaultClearTimeout(){throw new Error(\\\"clearTimeout has not been defined\\\")}var cachedSetTimeout=defaultSetTimout,cachedClearTimeout=defaultClearTimeout;function Item2(e,t){this.fun=e,this.array=t}\\\"function\\\"==typeof global$1.setTimeout&&(cachedSetTimeout=setTimeout),\\\"function\\\"==typeof global$1.clearTimeout&&(cachedClearTimeout=clearTimeout),Item2.prototype.run=function(){this.fun.apply(null,this.array)};var performance2=global$1.performance||{},performanceNow=performance2.now||performance2.mozNow||performance2.msNow||performance2.oNow||performance2.webkitNow||function(){return(new Date).getTime()},startTime=new Date,useReactId2=React21[\\\"useId\\\".toString()],useInsertionEffect2=React21[\\\"useInsertionEffect\\\".toString()],insertLink=(e,t,r)=>{insertNodes3(e,[createLinkNode(e,t)],r)},unwrapLink=(t,r)=>withoutNormalizing2(t,()=>{if(null!=r&&r.split){var e;if(getAboveNode(t,{at:null==(e=t.selection)?void 0:e.anchor,match:{type:getPluginType(t,ELEMENT_LINK)}}))return splitNodes3(t,{at:null==(e=t.selection)?void 0:e.anchor,match:e=>isElement2(e)&&e.type===getPluginType(t,ELEMENT_LINK)}),unwrapLink(t,{at:null==(e=t.selection)?void 0:e.anchor}),!0;if(getAboveNode(t,{at:null==(e=t.selection)?void 0:e.focus,match:{type:getPluginType(t,ELEMENT_LINK)}}))return splitNodes3(t,{at:null==(e=t.selection)?void 0:e.focus,match:e=>isElement2(e)&&e.type===getPluginType(t,ELEMENT_LINK)}),unwrapLink(t,{at:null==(e=t.selection)?void 0:e.focus}),!0}unwrapNodes3(t,{match:{type:getPluginType(t,ELEMENT_LINK)},...r})}),upsertLinkText=(e,{text:t})=>{var r,n=getAboveNode(e,{match:{type:getPluginType(e,ELEMENT_LINK)}});n&&(([n,r]=n),null!=t)&&t.length&&t!==getEditorString(e,r)&&(n=n.children[0],replaceNodeChildren(e,{at:r,nodes:{...n,text:t},insertOptions:{select:!0}}))},wrapLink=(e,{url:t,target:r,...n})=>{wrapNodes3(e,{type:getPluginType(e,ELEMENT_LINK),url:t,target:r,children:[]},{split:!0,...n})},upsertLink=(t,{url:r,text:n,target:o,insertTextInLink:e,insertNodesOptions:a,skipValidation:i=!1})=>{var s=t.selection;if(s){var c=getAboveNode(t,{at:s,match:{type:getPluginType(t,ELEMENT_LINK)}});if(e&&c)return t.insertText(r),!0;if(i||validateUrl(t,r)){if(isDefined(n)&&0===n.length&&(n=r),c)return r===(null==(l=c[0])?void 0:l.url)&&o===(null==(l=c[0])?void 0:l.target)||setNodes3(t,{url:r,target:o},{at:c[1]}),upsertLinkText(t,{url:r,text:n,target:o}),!0;var l=findNode(t,{at:s,match:{type:getPluginType(t,ELEMENT_LINK)}}),[l,u]=null!=l?l:[];let e=!1;if(u&&null!=(d=n)&&d.length&&n!==getEditorString(t,u)&&(e=!0),isExpanded(s))return unwrapLink(t,c?{at:c[1]}:{split:!0}),wrapLink(t,{url:r,target:o}),upsertLinkText(t,{url:r,target:o,text:n}),!0;e&&removeNodes3(t,{at:u});var d=getNodeProps(null!=l?l:{}),c=null==(s=t.selection)?void 0:s.focus.path;return c?(u=getNodeLeaf(t,c),null!=(l=n)&&l.length||(n=r),insertLink(t,{...d,url:r,target:o,children:[{...u,text:n}]},a),!0):void 0}}},validateUrl=(e,t)=>{var{allowedSchemes:r,isUrl:n,dangerouslySkipSanitization:o}=getPluginOptions(e,ELEMENT_LINK);return!(n&&!n(t)||!o&&!sanitizeUrl(t,{allowedSchemes:r,permitInvalid:!0}))},withLink=(o,{type:e,options:{isUrl:n,getUrlHref:a,rangeBeforeOptions:i,keepSelectedTextOnPaste:s}})=>{const{insertData:c,insertText:t,apply:l,normalizeNode:u,insertBreak:r}=o,d=()=>{withoutNormalizing2(o,()=>{var e,t=o.selection;let r=getRangeBefore(o,t,i);(r=r||getRangeFromBlockStart(o))&&!someNode(o,{at:r,match:{type:getPluginType(o,ELEMENT_LINK)}})&&(t=getEditorString(o,r),t=null!=(e=null==a?void 0:a(t))?e:t,n(t))&&(select2(o,r),upsertLink(o,{url:t}),collapseSelection(o,{edge:\\\"end\\\"}))})};return o.insertBreak=()=>{if(!isCollapsed(o.selection))return r();d(),r()},o.insertText=e=>{\\\" \\\"===e&&isCollapsed(o.selection)&&d(),t(e)},o.insertData=e=>{var t=e.getData(\\\"text/plain\\\"),r=null==a?void 0:a(t);if(t){r=r||t;if(upsertLink(o,{text:s?void 0:r,url:r,insertTextInLink:!0}))return}c(e)},o.apply=t=>{if(\\\"set_selection\\\"===t.type){var r=t.newProperties;if(r&&r.focus&&r.anchor&&isCollapsed(r)){var n=getAboveNode(o,{at:r,match:{type:getPluginType(o,ELEMENT_LINK)}});if(n){var[,n]=n;let e;isStartPoint(o,r.focus,n)&&(e=getPreviousNodeEndPoint(o,n)),(e=isEndPoint(o,r.focus,n)?getNextNodeStartPoint(o,n):e)&&(t.newProperties={anchor:e,focus:e})}}}l(t)},o.normalizeNode=([e,t])=>{var r;e.type===getPluginType(o,ELEMENT_LINK)&&(r=o.selection)&&isCollapsed(r)&&isEndPoint(o,r.focus,t)&&((r=getNextNodeStartPoint(o,t))?select2(o,r):(r=Path.next(t),insertNodes3(o,{text:\\\"\\\"},{at:r}),select2(o,r))),u([e,t])},o=withRemoveEmptyNodes(o,mockPlugin({options:{types:e}}))},ELEMENT_LINK=\\\"a\\\",createLinkPlugin=createPluginFactory({key:ELEMENT_LINK,isElement:!0,isInline:!0,withOverrides:withLink,options:{allowedSchemes:[\\\"http\\\",\\\"https\\\",\\\"mailto\\\",\\\"tel\\\"],dangerouslySkipSanitization:!1,defaultLinkAttributes:{},isUrl:isUrl,rangeBeforeOptions:{matchString:\\\" \\\",skipInvalid:!0,afterMatch:!0},triggerFloatingLinkHotkeys:\\\"meta+k, ctrl+k\\\",keepSelectedTextOnPaste:!0},then:(r,{type:n})=>({props:({element:e})=>({nodeProps:getLinkAttributes(r,e)}),deserializeHtml:{rules:[{validNodeName:\\\"A\\\"}],getNode:e=>{var t=e.getAttribute(\\\"href\\\");if(t&&validateUrl(r,t))return{type:n,url:t,target:e.getAttribute(\\\"target\\\")||\\\"_blank\\\"}}}})}),import_react71=(init_esbuild_inject(),require(\\\"react\\\")),import_react70=(init_esbuild_inject(),__toESM(require(\\\"react\\\")));function _extends4(){return(_extends4=Object.assign?Object.assign.bind():function(e){for(var t=1;t\u003Carguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var isTouchEvent=e=>\\\"touches\\\"in e,resizeLengthToRelative=(e,t)=>\\\"number\\\"==typeof e?e/t*100+\\\"%\\\":e,resizeLengthToStatic=(e,t)=>\\\"string\\\"==typeof e?t*Number.parseFloat(e)/100:e,resizeLengthClampStatic=(e,{min:t,max:r})=>(void 0!==t&&(e=Math.max(e,t)),e=void 0!==r?Math.min(e,r):e),resizeLengthClamp=(e,t,{min:r,max:n})=>{var o=resizeLengthToStatic(e,t),a=resizeLengthClampStatic(o,{min:void 0===r?void 0:resizeLengthToStatic(r,t),max:void 0===n?void 0:resizeLengthToStatic(n,t)});switch(typeof e){case\\\"string\\\":return resizeLengthToRelative(a,t);case\\\"number\\\":return a;default:throw new Error(\\\"Invalid length type\\\")}},resizeHandleAtoms={onResize:atom(null)},ResizeHandleEffects=({onResize:e})=>{const[,t]=useAtom(resizeHandleAtoms.onResize);return(0,import_react70.useEffect)(()=>{t({fn:e})},[e,t]),null},ResizeHandleProvider=({children:e,onResize:t})=>import_react70[\\\"default\\\"].createElement(Provider,{initialValues:[[resizeHandleAtoms.onResize,{fn:t}]]},import_react70[\\\"default\\\"].createElement(ResizeHandleEffects,{onResize:t}),e),useResizeHandleState=({direction:o=\\\"left\\\",onResize:a,onMouseDown:e,onTouchStart:t,onHover:r,onHoverEnd:n})=>{var[i]=useAtom(resizeHandleAtoms.onResize);a=a||(null==i?void 0:i.fn);const[s,c]=(0,import_react70.useState)(!1),[l,u]=(0,import_react70.useState)(0),[d,p]=(0,import_react70.useState)(0),f=\\\"left\\\"===o||\\\"right\\\"===o;return(0,import_react70.useEffect)(()=>{if(s){const t=(e,t)=>{var{clientX:r,clientY:n}=isTouchEvent(e)?e.touches[0]||e.changedTouches[0]:e,r=(f?r:n)-l;null!=(n=a)&&n({initialSize:d,delta:r,finished:t,direction:o})},e=e=>t(e,!1),r=e=>{c(!1),null!=n&&n(),t(e,!0)};return window.addEventListener(\\\"mousemove\\\",e),window.addEventListener(\\\"mouseup\\\",r),window.addEventListener(\\\"touchmove\\\",e),window.addEventListener(\\\"touchend\\\",r),()=>{window.removeEventListener(\\\"mousemove\\\",e),window.removeEventListener(\\\"mouseup\\\",r),window.removeEventListener(\\\"touchmove\\\",e),window.removeEventListener(\\\"touchend\\\",r)}}},[s,l,d,a,f,n,o]),{isResizing:s,setIsResizing:c,initialPosition:l,setInitialPosition:u,initialSize:d,setInitialSize:p,isHorizontal:f,direction:o,onResize:a,onMouseDown:e,onTouchStart:t,onHover:r,onHoverEnd:n}},useResizeHandle=({setInitialPosition:n,setInitialSize:o,setIsResizing:a,onMouseDown:i,onTouchStart:s,isHorizontal:c,isResizing:e,onHover:t,onHoverEnd:r})=>{var l=()=>{null!=t&&t()},u=()=>{e||null!=r&&r()};return{props:{onMouseDown:e=>{var{clientX:t,clientY:r}=e,t=(n(c?t:r),e.target.parentElement);o(c?t.offsetWidth:t.offsetHeight),a(!0),null!=i&&i(e)},onTouchStart:e=>{var t=e[\\\"touches\\\"],{clientX:t,clientY:r}=t[0],t=(n(c?t:r),e.target.parentElement);o(c?t.offsetWidth:t.offsetHeight),a(!0),null!=s&&s(e)},onMouseOver:l,onMouseOut:u,onTouchMove:l,onTouchEnd:u}}},ResizeHandle=createPrimitiveComponent(\\\"div\\\")({propsHook:useResizeHandle,stateHook:useResizeHandleState}),{resizableStore,useResizableStore}=createAtomStore({width:0},{name:\\\"resizable\\\",scope:SCOPE_ELEMENT}),useResizableState=({align:e=\\\"center\\\",minWidth:t=92,maxWidth:r=\\\"100%\\\"}={})=>{const n=useElement(),o=usePlateEditorRef(),a=null!=(c=null===n||void 0===n?void 0:n.width)?c:\\\"100%\\\",[i,s]=useResizableStore().use.width();var c=(0,import_react70.useCallback)(e=>{var t=findNodePath(o,n);t&&(e===a?select2(o,t):setNodes3(o,{width:e},{at:t}))},[o,n,a]);return(0,import_react70.useEffect)(()=>{s(a)},[a,s]),{align:e,minWidth:t,maxWidth:r,setNodeWidth:c,setWidth:s,width:i}},useResizable=({align:a,minWidth:i,maxWidth:s,setNodeWidth:c,setWidth:l,width:e})=>{const u=(0,import_react70.useRef)(null);return{wrapperRef:u,wrapperProps:{style:{position:\\\"relative\\\"}},props:{style:{width:e,minWidth:i,maxWidth:s,position:\\\"relative\\\"}},context:{onResize:(0,import_react70.useCallback)(({initialSize:e,delta:t,finished:r,direction:n})=>{var o=u.current.offsetWidth,o=resizeLengthClamp(e+t*((\\\"center\\\"===a?2:1)*(\\\"left\\\"===n?-1:1)),o,{min:i,max:s});(r?c:l)(o)},[a,s,i,c,l])}}},Resizable=import_react70[\\\"default\\\"].forwardRef(({children:e,options:t,...r},n)=>{var o=useResizableState(t),{wrapperRef:o,wrapperProps:a,props:i,context:s}=useResizable(o);return import_react70[\\\"default\\\"].createElement(\\\"div\\\",_extends4({ref:o},a),import_react70[\\\"default\\\"].createElement(\\\"div\\\",_extends4({ref:n},i,r),import_react70[\\\"default\\\"].createElement(ResizeHandleProvider,{onResize:s.onResize},e)))}),keyShiftEdges=(Resizable.displayName=\\\"Resizable\\\",{\\\"shift+up\\\":\\\"top\\\",\\\"shift+right\\\":\\\"right\\\",\\\"shift+down\\\":\\\"bottom\\\",\\\"shift+left\\\":\\\"left\\\"}),commonjsGlobal7=\\\"undefined\\\"!=typeof globalThis?globalThis:\\\"undefined\\\"!=typeof window?window:\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:{};function unwrapExports7(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\\\"default\\\")?e[\\\"default\\\"]:e}function createCommonjsModule10(e,t){return e(t={exports:{}},t.exports),t.exports}var lib7=createCommonjsModule10(function(e,t){Object.defineProperty(t,\\\"__esModule\\\",{value:!0});for(var h={alt:\\\"altKey\\\",control:\\\"ctrlKey\\\",meta:\\\"metaKey\\\",shift:\\\"shiftKey\\\"},r=()=>({add:\\\"+\\\",\\\"break\\\":\\\"pause\\\",cmd:\\\"meta\\\",command:\\\"meta\\\",ctl:\\\"control\\\",ctrl:\\\"control\\\",del:\\\"delete\\\",down:\\\"arrowdown\\\",esc:\\\"escape\\\",ins:\\\"insert\\\",left:\\\"arrowleft\\\",mod:\\\"undefined\\\"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform)?\\\"meta\\\":\\\"control\\\",opt:\\\"alt\\\",option:\\\"alt\\\",\\\"return\\\":\\\"enter\\\",right:\\\"arrowright\\\",space:\\\" \\\",spacebar:\\\" \\\",up:\\\"arrowup\\\",win:\\\"meta\\\",windows:\\\"meta\\\"}),n={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27,\\\" \\\":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,\\\"delete\\\":46,meta:91,numlock:144,scrolllock:145,\\\";\\\":186,\\\"=\\\":187,\\\",\\\":188,\\\"-\\\":189,\\\".\\\":190,\\\"/\\\":191,\\\"`\\\":192,\\\"[\\\":219,\\\"\\\\\\\\\\\":220,\\\"]\\\":221,\\\"'\\\":222},o=1;o\u003C20;o++)n[\\\"f\\\"+o]=111+o;function a(e,t,r){!t||\\\"byKey\\\"in t||(r=t,t=null);var n=(e=Array.isArray(e)?e:[e]).map(function(e){return i(e,t)}),o=function(t){return n.some(function(e){return s(e,t)})};return null==r?o:o(r)}function i(e,t){var r,n=t&&t.byKey,o={},a=(e=e.replace(\\\"++\\\",\\\"+add\\\")).split(\\\"+\\\"),i=a.length;for(r in h)o[h[r]]=!1;var s=!0,c=!1,l=void 0;try{for(var u,d=a[Symbol.iterator]();!(s=(u=d.next()).done);s=!0){var p=u.value,f=p.endsWith(\\\"?\\\")&&1\u003Cp.length,g=v(p=f?p.slice(0,-1):p),m=h[g];1!==i&&m||(n?o.key=g:o.which=_(p)),m&&(o[m]=!f||null)}}catch(err){c=!0,l=err}finally{try{!s&&d[\\\"return\\\"]&&d[\\\"return\\\"]()}finally{if(c)throw l}}return o}function s(e,t){for(var r in e){var n=e[r],o=void 0;if(null!=n&&((null!=(o=\\\"key\\\"===r&&null!=t.key?t.key.toLowerCase():\\\"which\\\"===r?91===n&&93===t.which?91:t.which:t[r])||!1!==n)&&o!==n))return!1}return!0}function _(e){return e=v(e),n[e]||e.toUpperCase().charCodeAt(0)}function v(e){return e=e.toLowerCase(),e=r()[e]||e}t[\\\"default\\\"]=a,t.isHotkey=a,t.isCodeHotkey=function(e,t){return a(e,t)},t.isKeyHotkey=function(e,t){return a(e,{byKey:!0},t)},t.parseHotkey=i,t.compareHotkey=s,t.toKeyCode=_,t.toKeyName=v}),isHotkey7=unwrapExports7(lib7),getCellInNextTableRow=(lib7.isHotkey,lib7.isCodeHotkey,lib7.isKeyHotkey,lib7.parseHotkey,lib7.compareHotkey,lib7.toKeyCode,lib7.toKeyName,(e,t)=>{var r,n=getNodeEntry(e,Path.next(t));if(n)return([n,r]=n),n=null==n||null==(n=n.children)?void 0:n[0],r=r.concat(0),n&&r?getNodeEntry(e,r):void 0}),getCellInPreviousTableRow=(e,t)=>{var r=getPreviousPath(t);if(r){var n,o,r=getNodeEntry(e,r);if(r)return([r,n]=r),o=null==r||null==(o=r.children)?void 0:o[r.children.length-1],r=n.concat(r.children.length-1),o&&r?getNodeEntry(e,r):void 0}},getCellTypes=e=>getPluginTypes(e,[ELEMENT_TD,ELEMENT_TH]),getEmptyCellNode=(e,{header:t,newCellChildren:r=[e.blockFactory()]})=>({type:getPluginType(e,t?ELEMENT_TH:ELEMENT_TD),children:r}),getEmptyRowNode=(e,{colCount:t=1,...r}={})=>({type:getPluginType(e,ELEMENT_TR),children:Array.from({length:t}).fill(t).map(()=>getEmptyCellNode(e,r))}),getEmptyTableNode=(e,{header:t,rowCount:r=0,colCount:n,newCellChildren:o}={})=>{var a=Array.from({length:r}).fill(r).map(()=>getEmptyRowNode(e,{header:t,colCount:n,newCellChildren:o}));return{type:getPluginType(e,ELEMENT_TABLE),children:a}},getLeftTableCell=(e,{at:t}={})=>{var r;if(!t&&!(t=null==(r=findNode(e,{match:{type:getCellTypes(e)}}))?void 0:r[1]))return;if(t.at(-1))return r=Path.previous(t),getNodeEntry(e,r)},getNextTableCell=(e,t,r,n)=>{var o=getNodeEntry(e,Path.next(r));return o||(([,o]=n),getCellInNextTableRow(e,o))},getPreviousTableCell=(e,t,r,n)=>{var o=getPreviousPath(r);return o?getNodeEntry(e,o)||void 0:(([,o]=n),getCellInPreviousTableRow(e,o))},getTableAbove=(e,t)=>getBlockAbove2(e,{match:{type:getPluginType(e,ELEMENT_TABLE)},...t}),getTableColumnCount=e=>{var t;return null!=(t=null==(t=e.children)||null==(t=t[0])||null==(t=t.children)?void 0:t.length)?t:0},getTableColumnIndex=(e,r)=>{var t=findNodePath(e,r);if(!t)return 0;var[t]=null!=(t=getParentNode(e,t))?t:[];if(!t)return 0;let n=0;return t.children.some((e,t)=>e===r&&(n=t,!0)),n},getTableEntries=(e,{at:t=e.selection}={})=>{if(t){var r=findNode(e,{at:t,match:{type:getCellTypes(e)}});if(r){var[,n]=r,n=getAboveNode(e,{at:n,match:{type:getPluginType(e,ELEMENT_TR)}});if(n){var[,o]=n,o=getAboveNode(e,{at:o,match:{type:getPluginType(e,ELEMENT_TABLE)}});if(o)return{table:o,row:n,cell:r}}}}},getTableGridByRange=(e,{at:t,format:r=\\\"table\\\"})=>{var n=t.anchor.path,o=t.focus.path,a=n.at(-2),i=o.at(-2),s=n.at(-1),o=o.at(-1),c=Math.min(a,i),l=Math.max(a,i),u=Math.min(s,o),d=Math.max(s,o),p=n.slice(0,-2),f=getEmptyTableNode(e,{rowCount:1+(l-c),colCount:1+(d-u),newCellChildren:[]});let g=c,m=u;for(var h=[];;){var _=p.concat([g,m]),v=getNode(e,_);if(!v)break;if(f.children[g-c].children[m-u]=v,h.push([v,_]),m+1\u003C=d)m+=1;else{if(!(g+1\u003C=l))break;m=u,g+=1}}return\\\"cell\\\"===r?h:[[f,p]]},getTableGridAbove=(e,{format:t=\\\"table\\\",...r}={})=>{var n,o,a=getEdgeBlocksAbove(e,{match:{type:getCellTypes(e)},...r});return a?(([a,n]=a),Path.equals(a[1],n[1])?\\\"table\\\"===t?((o=getEmptyTableNode(e,{rowCount:1})).children[0].children=[a[0]],[[o,a[1].slice(0,-2)]]):[a]:getTableGridByRange(e,{at:{anchor:{path:a[1],offset:0},focus:{path:n[1],offset:0}},format:t})):[]},getTableOverriddenColSizes=(e,n)=>{var t=getTableColumnCount(e);return(e.colSizes?[...e.colSizes]:Array.from({length:t}).fill(0)).map((e,t)=>{var r;return null!=(r=null==n?void 0:n.get(t))?r:e})},getTableRowIndex=(e,t)=>{var r=findNodePath(e,t);return r?Path.parent(r).at(-1):0},getTopTableCell=(e,{at:t}={})=>{if(!t&&!(t=null==(r=findNode(e,{match:{type:getCellTypes(e)}}))?void 0:r[1]))return;var r=t.at(-1),n=t.at(-2);if(0!==n)return n=[...Path.parent(Path.parent(t)),n-1,r],getNodeEntry(e,n)},isTableBorderHidden=(e,t)=>{if(\\\"left\\\"===t){var r=null==(r=getLeftTableCell(e))?void 0:r[0];if(r)return 0===(null==(r=r.borders)||null==(r=r.right)?void 0:r.size)}if(\\\"top\\\"===t){var r=null==(r=getTopTableCell(e))?void 0:r[0];if(r)return 0===(null==(r=r.borders)||null==(r=r.bottom)?void 0:r.size)}return 0===(null==(r=findNode(e,{match:{type:getCellTypes(e)}}))||null==(r=r[0].borders)||null==(r=r[t])?void 0:r.size)},insertTableColumn=(i,{disableSelect:s,fromCell:e,at:c,header:l}={})=>{var t=e?findNode(i,{at:e,match:{type:getCellTypes(i)}}):getBlockAbove2(i,{match:{type:getCellTypes(i)}});if(t){const[,u]=t;t=getBlockAbove2(i,{match:{type:getPluginType(i,ELEMENT_TABLE)},at:u});if(t){const[d,p]=t;let o,a;a=Path.isPath(c)?(o=c).at(-1):(o=Path.next(u),u.at(-1)+1);const f=u.at(-2),{newCellChildren:g,initialTableWidth:m,minColumnWidth:h}=getPluginOptions(i,ELEMENT_TABLE);withoutNormalizing2(i,()=>{d.children.forEach((e,t)=>{var r=[...o],n=(Path.isPath(c)?r[c.length-2]=t:r[u.length-2]=t,void 0===l?e.children[0].type===getPluginType(i,ELEMENT_TH):l);insertElements(i,getEmptyCellNode(i,{header:n,newCellChildren:g}),{at:r,select:!s&&t===f})});var t=d[\\\"colSizes\\\"];if(t){let e=[...t.slice(0,a),0,...t.slice(a)];if(m){e[a]=null!=(r=null!=(r=t[a])?r:t[a-1])?r:m/t.length;var r=t.reduce((e,t)=>e+t,0),t=e.reduce((e,t)=>e+t,0),r=Math.max(r,m);if(r\u003Ct){const n=r/t;e=e.map(e=>Math.max(null!==h&&void 0!==h?h:0,Math.floor(e*n)))}}setNodes3(i,{colSizes:e},{at:p})}})}}},insertTableRow=(e,{header:t,fromRow:r,at:n,disableSelect:o}={})=>{var a=r?findNode(e,{at:r,match:{type:getPluginType(e,ELEMENT_TR)}}):getBlockAbove2(e,{match:{type:getPluginType(e,ELEMENT_TR)}});if(a){const[i,s]=a;if(getBlockAbove2(e,{match:{type:getPluginType(e,ELEMENT_TABLE)},at:s})){const c=getPluginOptions(e,ELEMENT_TABLE)[\\\"newCellChildren\\\"];withoutNormalizing2(e,()=>{insertElements(e,getEmptyRowNode(e,{header:t,colCount:i.children.length,newCellChildren:c}),{at:Path.isPath(n)?n:Path.next(s)})}),o||(a=getBlockAbove2(e,{match:{type:getCellTypes(e)}}))&&(([,a]=a),Path.isPath(n)?a[a.length-2]=n.at(-2):a[a.length-2]+=1,select2(e,a))}}},moveSelectionFromCell=(e,{at:t,reverse:r,edge:n,fromOneCell:o}={})=>{if(n){var a=getTableGridAbove(e,{at:t,format:\\\"cell\\\"});if(a.length>(o?0:1)){var[,i]=a[0],[,a]=a.at(-1),s=[...i],c=[...a];switch(n){case\\\"bottom\\\":c[c.length-2]+=1;break;case\\\"top\\\":--s[s.length-2];break;case\\\"right\\\":c[c.length-1]+=1;break;case\\\"left\\\":--s[s.length-1]}return hasNode(e,s)&&hasNode(e,c)&&select2(e,{anchor:getStartPoint(e,s),focus:getStartPoint(e,c)}),!0}}else{i=getBlockAbove2(e,{at:t,match:{type:getCellTypes(e)}});if(i){var[,a]=i,i=[...a];if(i[i.length-2]+=r?-1:1,hasNode(e,i))select2(e,getStartPoint(e,i));else{const l=a.slice(0,-2);withoutNormalizing2(e,r?()=>{select2(e,getStartPoint(e,l)),moveSelection(e,{reverse:!0})}:()=>{select2(e,getEndPoint(e,l)),moveSelection(e)})}return!0}}},overrideSelectionFromCell=(r,e)=>{var t;let n;if(r.currentKeyboardEvent&&[\\\"up\\\",\\\"down\\\",\\\"shift+up\\\",\\\"shift+right\\\",\\\"shift+down\\\",\\\"shift+left\\\"].some(e=>{var t=isHotkey7(e,r.currentKeyboardEvent);return t&&(n=e),t})&&null!=(t=r.selection)&&t.focus&&null!=e&&e.focus&&isRangeAcrossBlocks(r,{at:{anchor:r.selection.focus,focus:e.focus},match:{type:getCellTypes(r)}})&&n){const o=keyShiftEdges[n];if(!o||isRangeInSameBlock(r,{at:r.selection,match:{type:getCellTypes(r)}})){const a=r.selection,i=[\\\"up\\\",\\\"shift+up\\\"].includes(n);setTimeout(()=>{moveSelectionFromCell(r,{at:a,reverse:i,edge:o,fromOneCell:!0})},0)}}},setBorderSize=(t,e,{at:r,border:n=\\\"all\\\"}={})=>{var o=findNode(t,{at:r,match:{type:getCellTypes(t)}});if(o){var[o,a]=o,i=a.at(-1),s=a.at(-2),c={size:e},l={match:e=>isElement2(e)&&getCellTypes(t).includes(e.type)};if(\\\"top\\\"===n){if(0===s)return s={...o.borders,top:c},void setNodes3(t,{borders:s},{at:a,...l});var s=getTopTableCell(t,{at:a});if(!s)return;var[s,u]=s,s={...s.borders,bottom:c};setNodes3(t,{borders:s},{at:u,...l})}else\\\"bottom\\\"===n&&(s={...o.borders,bottom:c},setNodes3(t,{borders:s},{at:a,...l}));if(\\\"left\\\"===n){if(0===i)return u={...o.borders,left:c},void setNodes3(t,{borders:u},{at:a,...l});s=getLeftTableCell(t,{at:a});if(!s)return;var[i,u]=s,s={...i.borders,right:c};setNodes3(t,{borders:s},{at:u,...l})}else\\\"right\\\"===n&&(i={...o.borders,right:c},setNodes3(t,{borders:i},{at:a,...l}));\\\"all\\\"===n&&withoutNormalizing2(t,()=>{setBorderSize(t,e,{at:r,border:\\\"top\\\"}),setBorderSize(t,e,{at:r,border:\\\"bottom\\\"}),setBorderSize(t,e,{at:r,border:\\\"left\\\"}),setBorderSize(t,e,{at:r,border:\\\"right\\\"})})}},setTableColSize=(e,{colIndex:t,width:r},n={})=>{var o,a=findNode(e,{match:{type:ELEMENT_TABLE},...n});a&&(([a,o]=a),(a=a.colSizes?[...a.colSizes]:Array.from({length:getTableColumnCount(a)}).fill(0))[t]=r,setNodes3(e,{colSizes:a},{at:o}))},setTableMarginLeft=(e,{marginLeft:t},r={})=>{var n=findNode(e,{match:{type:ELEMENT_TABLE},...r});n&&(([,n]=n),setNodes3(e,{marginLeft:t},{at:n}))},setTableRowSize=(e,{rowIndex:t,height:r},n={})=>{var o=findNode(e,{match:{type:ELEMENT_TABLE},...n});o&&(([,o]=o),o=[...o,t],setNodes3(e,{size:r},{at:o}))},onKeyDownTable=(s,{type:c})=>t=>{if(!t.defaultPrevented){const i={\\\"shift+up\\\":isHotkey7(\\\"shift+up\\\",t),\\\"shift+down\\\":isHotkey7(\\\"shift+down\\\",t),\\\"shift+left\\\":isHotkey7(\\\"shift+left\\\",t),\\\"shift+right\\\":isHotkey7(\\\"shift+right\\\",t)};Object.keys(i).forEach(e=>{i[e]&&moveSelectionFromCell(s,{reverse:\\\"shift+up\\\"===e,edge:keyShiftEdges[e]})&&(t.preventDefault(),t.stopPropagation())});var e=Hotkeys2.isTab(s,t),r=Hotkeys2.isUntab(s,t);if(e||r){var n=getTableEntries(s);if(!n)return;var{row:n,cell:o}=n,[,a]=o;r?(r=getPreviousTableCell(s,o,a,n))&&(([,r]=r),select2(s,r)):e&&(r=getNextTableCell(s,o,a,n))&&(([,e]=r),select2(s,e)),t.preventDefault(),t.stopPropagation()}isHotkey7(\\\"mod+a\\\",t)&&(o=getAboveNode(s,{match:{type:c}}))&&(([,a]=o),select2(s,a),t.preventDefault(),t.stopPropagation())}},preventDeleteTableCell=(e,{unit:t,reverse:r})=>{var n=e[\\\"selection\\\"],o=r?getEndPoint:getStartPoint,a=r?getPointAfter:getPointBefore;if(isCollapsed(n)){var i=getBlockAbove2(e,{match:{type:getCellTypes(e)}});if(i){var[,i]=i,i=o(e,i);if(n&&Point.equals(n.anchor,i))return!0}else{o=a(e,n,{unit:t});if(getBlockAbove2(e,{match:{type:getCellTypes(e)},at:o}))return moveSelection(e,{reverse:!r}),!0}}},withDeleteTable=r=>{const{deleteBackward:t,deleteForward:n,deleteFragment:o}=r;return r.deleteBackward=e=>{if(!preventDeleteTableCell(r,{unit:e}))return t(e)},r.deleteForward=e=>{if(!preventDeleteTableCell(r,{unit:e,reverse:!0}))return n(e)},r.deleteFragment=e=>{if(isRangeInSameBlock(r,{match:e=>e.type===getPluginType(r,ELEMENT_TABLE)}),isRangeInSameBlock(r,{match:e=>e.type===getPluginType(r,ELEMENT_TABLE)})){const t=getTableGridAbove(r,{format:\\\"cell\\\"});if(1\u003Ct.length)return void withoutNormalizing2(r,()=>{t.forEach(([,e])=>{replaceNodeChildren(r,{at:e,nodes:r.blockFactory()})}),select2(r,{anchor:getStartPoint(r,t[0][1]),focus:getEndPoint(r,t.at(-1)[1])})})}o(e)},r},withGetFragmentTable=a=>{const t=a[\\\"getFragment\\\"];return a.getFragment=()=>{var e=t();const o=[];return e.forEach(e=>{if(e.type===getPluginType(a,ELEMENT_TABLE)){var t=e.children,r=t.length;if(!r)return;var n=t[0].children.length;if(r\u003C=1&&n\u003C=1)return void o.push(...t[0].children[0].children);r=getTableGridAbove(a);if(0\u003Cr.length)return void o.push(r[0][0])}o.push(e)}),o},a};function listCacheClear6(){this.__data__=[],this.size=0}var _listCacheClear6=listCacheClear6;function eq6(e,t){return e===t||e!=e&&t!=t}var eq_16=eq6;function assocIndexOf6(e,t){for(var r=e.length;r--;)if(eq_16(e[r][0],t))return r;return-1}var _assocIndexOf6=assocIndexOf6,arrayProto6=Array.prototype,splice6=arrayProto6.splice;function listCacheDelete6(e){var t=this.__data__,r=_assocIndexOf6(t,e);return!(r\u003C0||(r==t.length-1?t.pop():splice6.call(t,r,1),--this.size,0))}var _listCacheDelete6=listCacheDelete6;function listCacheGet6(e){var t=this.__data__,r=_assocIndexOf6(t,e);return r\u003C0?void 0:t[r][1]}var _listCacheGet6=listCacheGet6;function listCacheHas6(e){return-1\u003C_assocIndexOf6(this.__data__,e)}var _listCacheHas6=listCacheHas6;function listCacheSet6(e,t){var r=this.__data__,n=_assocIndexOf6(r,e);return n\u003C0?(++this.size,r.push([e,t])):r[n][1]=t,this}var _listCacheSet6=listCacheSet6;function ListCache6(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}ListCache6.prototype.clear=_listCacheClear6,ListCache6.prototype[\\\"delete\\\"]=_listCacheDelete6,ListCache6.prototype.get=_listCacheGet6,ListCache6.prototype.has=_listCacheHas6,ListCache6.prototype.set=_listCacheSet6;var _ListCache6=ListCache6;function stackClear6(){this.__data__=new _ListCache6,this.size=0}var _stackClear6=stackClear6;function stackDelete6(e){var t=this.__data__,r=t[\\\"delete\\\"](e);return this.size=t.size,r}var _stackDelete6=stackDelete6;function stackGet6(e){return this.__data__.get(e)}var _stackGet6=stackGet6;function stackHas6(e){return this.__data__.has(e)}var _stackHas6=stackHas6,freeGlobal6=\\\"object\\\"==typeof commonjsGlobal7&&commonjsGlobal7&&commonjsGlobal7.Object===Object&&commonjsGlobal7,_freeGlobal6=freeGlobal6,freeSelf6=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,root6=_freeGlobal6||freeSelf6||Function(\\\"return this\\\")(),_root6=root6,Symbol$13=_root6.Symbol,_Symbol6=Symbol$13,objectProto$c3=Object.prototype,hasOwnProperty$94=objectProto$c3.hasOwnProperty,nativeObjectToString$16=objectProto$c3.toString,symToStringTag$16=_Symbol6?_Symbol6.toStringTag:void 0;function getRawTag6(e){var t=hasOwnProperty$94.call(e,symToStringTag$16),r=e[symToStringTag$16];try{var n=!(e[symToStringTag$16]=void 0)}catch(a){}var o=nativeObjectToString$16.call(e);return n&&(t?e[symToStringTag$16]=r:delete e[symToStringTag$16]),o}var _getRawTag6=getRawTag6,objectProto$b6=Object.prototype,nativeObjectToString6=objectProto$b6.toString;function objectToString6(e){return nativeObjectToString6.call(e)}var _objectToString6=objectToString6,nullTag6=\\\"[object Null]\\\",undefinedTag6=\\\"[object Undefined]\\\",symToStringTag6=_Symbol6?_Symbol6.toStringTag:void 0;function baseGetTag6(e){return null==e?void 0===e?undefinedTag6:nullTag6:(symToStringTag6&&symToStringTag6 in Object(e)?_getRawTag6:_objectToString6)(e)}var _baseGetTag6=baseGetTag6;function isObject8(e){var t=typeof e;return null!=e&&(\\\"object\\\"==t||\\\"function\\\"==t)}var isObject_16=isObject8,asyncTag6=\\\"[object AsyncFunction]\\\",funcTag$23=\\\"[object Function]\\\",genTag$13=\\\"[object GeneratorFunction]\\\",proxyTag6=\\\"[object Proxy]\\\";function isFunction7(e){var t;return!!isObject_16(e)&&((t=_baseGetTag6(e))==funcTag$23||t==genTag$13||t==asyncTag6||t==proxyTag6)}var isFunction_16=isFunction7,coreJsData6=_root6[\\\"__core-js_shared__\\\"],_coreJsData6=coreJsData6,maskSrcKey6=function(){var e=/[^.]+$/.exec(_coreJsData6&&_coreJsData6.keys&&_coreJsData6.keys.IE_PROTO||\\\"\\\");return e?\\\"Symbol(src)_1.\\\"+e:\\\"\\\"}();function isMasked6(e){return!!maskSrcKey6&&maskSrcKey6 in e}var _isMasked6=isMasked6,funcProto$16=Function.prototype,funcToString$16=funcProto$16.toString;function toSource6(e){if(null!=e){try{return funcToString$16.call(e)}catch(t){}try{return e+\\\"\\\"}catch(t){}}return\\\"\\\"}var _toSource6=toSource6,reRegExpChar6=/[\\\\\\\\^$.*+?()[\\\\]{}|]/g,reIsHostCtor6=/^\\\\[object .+?Constructor\\\\]$/,funcProto6=Function.prototype,objectProto$a6=Object.prototype,funcToString6=funcProto6.toString,hasOwnProperty$86=objectProto$a6.hasOwnProperty,reIsNative6=RegExp(\\\"^\\\"+funcToString6.call(hasOwnProperty$86).replace(reRegExpChar6,\\\"\\\\\\\\$&\\\").replace(/hasOwnProperty|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\");function baseIsNative6(e){return!(!isObject_16(e)||_isMasked6(e))&&(isFunction_16(e)?reIsNative6:reIsHostCtor6).test(_toSource6(e))}var _baseIsNative6=baseIsNative6;function getValue6(e,t){return null==e?void 0:e[t]}var _getValue6=getValue6;function getNative6(e,t){var r=_getValue6(e,t);return _baseIsNative6(r)?r:void 0}var _getNative6=getNative6,Map$1=_getNative6(_root6,\\\"Map\\\"),_Map6=Map$1,nativeCreate6=_getNative6(Object,\\\"create\\\"),_nativeCreate6=nativeCreate6;function hashClear6(){this.__data__=_nativeCreate6?_nativeCreate6(null):{},this.size=0}var _hashClear6=hashClear6;function hashDelete6(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var _hashDelete6=hashDelete6,HASH_UNDEFINED$16=\\\"__lodash_hash_undefined__\\\",objectProto$96=Object.prototype,hasOwnProperty$76=objectProto$96.hasOwnProperty;function hashGet6(e){var t,r=this.__data__;return _nativeCreate6?(t=r[e])===HASH_UNDEFINED$16?void 0:t:hasOwnProperty$76.call(r,e)?r[e]:void 0}var _hashGet6=hashGet6,objectProto$86=Object.prototype,hasOwnProperty$66=objectProto$86.hasOwnProperty;function hashHas6(e){var t=this.__data__;return _nativeCreate6?void 0!==t[e]:hasOwnProperty$66.call(t,e)}var _hashHas6=hashHas6,HASH_UNDEFINED6=\\\"__lodash_hash_undefined__\\\";function hashSet6(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=_nativeCreate6&&void 0===t?HASH_UNDEFINED6:t,this}var _hashSet6=hashSet6;function Hash6(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}Hash6.prototype.clear=_hashClear6,Hash6.prototype[\\\"delete\\\"]=_hashDelete6,Hash6.prototype.get=_hashGet6,Hash6.prototype.has=_hashHas6,Hash6.prototype.set=_hashSet6;var _Hash6=Hash6;function mapCacheClear6(){this.size=0,this.__data__={hash:new _Hash6,map:new(_Map6||_ListCache6),string:new _Hash6}}var _mapCacheClear6=mapCacheClear6;function isKeyable6(e){var t=typeof e;return\\\"string\\\"==t||\\\"number\\\"==t||\\\"symbol\\\"==t||\\\"boolean\\\"==t?\\\"__proto__\\\"!==e:null===e}var _isKeyable6=isKeyable6;function getMapData6(e,t){var r=e.__data__;return _isKeyable6(t)?r[\\\"string\\\"==typeof t?\\\"string\\\":\\\"hash\\\"]:r.map}var _getMapData6=getMapData6;function mapCacheDelete6(e){var t=_getMapData6(this,e)[\\\"delete\\\"](e);return this.size-=t?1:0,t}var _mapCacheDelete6=mapCacheDelete6;function mapCacheGet6(e){return _getMapData6(this,e).get(e)}var _mapCacheGet6=mapCacheGet6;function mapCacheHas6(e){return _getMapData6(this,e).has(e)}var _mapCacheHas6=mapCacheHas6;function mapCacheSet6(e,t){var r=_getMapData6(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}var _mapCacheSet6=mapCacheSet6;function MapCache6(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var n=e[t];this.set(n[0],n[1])}}MapCache6.prototype.clear=_mapCacheClear6,MapCache6.prototype[\\\"delete\\\"]=_mapCacheDelete6,MapCache6.prototype.get=_mapCacheGet6,MapCache6.prototype.has=_mapCacheHas6,MapCache6.prototype.set=_mapCacheSet6;var _MapCache6=MapCache6,LARGE_ARRAY_SIZE6=200;function stackSet6(e,t){var r=this.__data__;if(r instanceof _ListCache6){var n=r.__data__;if(!_Map6||n.length\u003CLARGE_ARRAY_SIZE6-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new _MapCache6(n)}return r.set(e,t),this.size=r.size,this}var _stackSet6=stackSet6;function Stack6(e){var t=this.__data__=new _ListCache6(e);this.size=t.size}Stack6.prototype.clear=_stackClear6,Stack6.prototype[\\\"delete\\\"]=_stackDelete6,Stack6.prototype.get=_stackGet6,Stack6.prototype.has=_stackHas6,Stack6.prototype.set=_stackSet6;var _Stack5=Stack6;function arrayEach3(e,t){for(var r=-1,n=null==e?0:e.length;++r\u003Cn&&!1!==t(e[r],r,e););return e}var _arrayEach3=arrayEach3,defineProperty5=function(){try{var e=_getNative6(Object,\\\"defineProperty\\\");return e({},\\\"\\\",{}),e}catch(t){}}(),_defineProperty12=defineProperty5;function baseAssignValue4(e,t,r){\\\"__proto__\\\"==t&&_defineProperty12?_defineProperty12(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var _baseAssignValue4=baseAssignValue4,objectProto$76=Object.prototype,hasOwnProperty$56=objectProto$76.hasOwnProperty;function assignValue4(e,t,r){var n=e[t];hasOwnProperty$56.call(e,t)&&eq_16(n,r)&&(void 0!==r||t in e)||_baseAssignValue4(e,t,r)}var _assignValue4=assignValue4;function copyObject4(e,t,r,n){for(var o=!r,a=(r=r||{},-1),i=t.length;++a\u003Ci;){var s=t[a],c=n?n(r[s],e[s],s,r,e):void 0;void 0===c&&(c=e[s]),(o?_baseAssignValue4:_assignValue4)(r,s,c)}return r}var _copyObject4=copyObject4;function baseTimes5(e,t){for(var r=-1,n=Array(e);++r\u003Ce;)n[r]=t(r);return n}var _baseTimes5=baseTimes5;function isObjectLike6(e){return null!=e&&\\\"object\\\"==typeof e}var isObjectLike_16=isObjectLike6,argsTag$25=\\\"[object Arguments]\\\";function baseIsArguments6(e){return isObjectLike_16(e)&&_baseGetTag6(e)==argsTag$25}var _baseIsArguments6=baseIsArguments6,objectProto$66=Object.prototype,hasOwnProperty$46=objectProto$66.hasOwnProperty,propertyIsEnumerable$15=objectProto$66.propertyIsEnumerable,isArguments6=_baseIsArguments6(function(){return arguments}())?_baseIsArguments6:function(e){return isObjectLike_16(e)&&hasOwnProperty$46.call(e,\\\"callee\\\")&&!propertyIsEnumerable$15.call(e,\\\"callee\\\")},isArguments_15=isArguments6,isArray9=Array.isArray,isArray_18=isArray9;function stubFalse6(){return!1}var stubFalse_16=stubFalse6,isBuffer_16=createCommonjsModule10(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,n=n&&n.exports===r?_root6.Buffer:void 0,r=n?n.isBuffer:void 0;e.exports=r||stubFalse_16}),MAX_SAFE_INTEGER$15=9007199254740991,reIsUint5=/^(?:0|[1-9]\\\\d*)$/;function isIndex5(e,t){var r=typeof e;return!!(t=null==t?MAX_SAFE_INTEGER$15:t)&&(\\\"number\\\"==r||\\\"symbol\\\"!=r&&reIsUint5.test(e))&&-1\u003Ce&&e%1==0&&e\u003Ct}var _isIndex5=isIndex5,MAX_SAFE_INTEGER6=9007199254740991;function isLength6(e){return\\\"number\\\"==typeof e&&-1\u003Ce&&e%1==0&&e\u003C=MAX_SAFE_INTEGER6}var isLength_16=isLength6,argsTag$16=\\\"[object Arguments]\\\",arrayTag$15=\\\"[object Array]\\\",boolTag$23=\\\"[object Boolean]\\\",dateTag$23=\\\"[object Date]\\\",errorTag$15=\\\"[object Error]\\\",funcTag$16=\\\"[object Function]\\\",mapTag$43=\\\"[object Map]\\\",numberTag$23=\\\"[object Number]\\\",objectTag$25=\\\"[object Object]\\\",regexpTag$23=\\\"[object RegExp]\\\",setTag$43=\\\"[object Set]\\\",stringTag$23=\\\"[object String]\\\",weakMapTag$23=\\\"[object WeakMap]\\\",arrayBufferTag$23=\\\"[object ArrayBuffer]\\\",dataViewTag$33=\\\"[object DataView]\\\",float32Tag$23=\\\"[object Float32Array]\\\",float64Tag$23=\\\"[object Float64Array]\\\",int8Tag$23=\\\"[object Int8Array]\\\",int16Tag$23=\\\"[object Int16Array]\\\",int32Tag$23=\\\"[object Int32Array]\\\",uint8Tag$23=\\\"[object Uint8Array]\\\",uint8ClampedTag$23=\\\"[object Uint8ClampedArray]\\\",uint16Tag$23=\\\"[object Uint16Array]\\\",uint32Tag$23=\\\"[object Uint32Array]\\\",typedArrayTags6={};function baseIsTypedArray6(e){return isObjectLike_16(e)&&isLength_16(e.length)&&!!typedArrayTags6[_baseGetTag6(e)]}typedArrayTags6[float32Tag$23]=typedArrayTags6[float64Tag$23]=typedArrayTags6[int8Tag$23]=typedArrayTags6[int16Tag$23]=typedArrayTags6[int32Tag$23]=typedArrayTags6[uint8Tag$23]=typedArrayTags6[uint8ClampedTag$23]=typedArrayTags6[uint16Tag$23]=typedArrayTags6[uint32Tag$23]=!0,typedArrayTags6[argsTag$16]=typedArrayTags6[arrayTag$15]=typedArrayTags6[arrayBufferTag$23]=typedArrayTags6[boolTag$23]=typedArrayTags6[dataViewTag$33]=typedArrayTags6[dateTag$23]=typedArrayTags6[errorTag$15]=typedArrayTags6[funcTag$16]=typedArrayTags6[mapTag$43]=typedArrayTags6[numberTag$23]=typedArrayTags6[objectTag$25]=typedArrayTags6[regexpTag$23]=typedArrayTags6[setTag$43]=typedArrayTags6[stringTag$23]=typedArrayTags6[weakMapTag$23]=!1;var _baseIsTypedArray6=baseIsTypedArray6;function baseUnary6(t){return function(e){return t(e)}}var _baseUnary6=baseUnary6,_nodeUtil6=createCommonjsModule10(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r&&_freeGlobal6.process,r=function(){try{var e=n&&n.require&&n.require(\\\"util\\\").types;return e?e:o&&o.binding&&o.binding(\\\"util\\\")}catch(t){}}();e.exports=r}),nodeIsTypedArray6=_nodeUtil6&&_nodeUtil6.isTypedArray,isTypedArray6=nodeIsTypedArray6?_baseUnary6(nodeIsTypedArray6):_baseIsTypedArray6,isTypedArray_15=isTypedArray6,objectProto$56=Object.prototype,hasOwnProperty$36=objectProto$56.hasOwnProperty;function arrayLikeKeys5(e,t){var r,n=isArray_18(e),o=!n&&isArguments_15(e),a=!n&&!o&&isBuffer_16(e),i=!n&&!o&&!a&&isTypedArray_15(e),s=n||o||a||i,c=s?_baseTimes5(e.length,String):[],l=c.length;for(r in e)!t&&!hasOwnProperty$36.call(e,r)||s&&(\\\"length\\\"==r||a&&(\\\"offset\\\"==r||\\\"parent\\\"==r)||i&&(\\\"buffer\\\"==r||\\\"byteLength\\\"==r||\\\"byteOffset\\\"==r)||_isIndex5(r,l))||c.push(r);return c}var _arrayLikeKeys5=arrayLikeKeys5,objectProto$46=Object.prototype;function isPrototype5(e){var t=e&&e.constructor;return e===(\\\"function\\\"==typeof t&&t.prototype||objectProto$46)}var _isPrototype5=isPrototype5;function overArg6(t,r){return function(e){return t(r(e))}}var _overArg6=overArg6,nativeKeys5=_overArg6(Object.keys,Object),_nativeKeys4=nativeKeys5,objectProto$36=Object.prototype,hasOwnProperty$26=objectProto$36.hasOwnProperty;function baseKeys4(e){if(!_isPrototype5(e))return _nativeKeys4(e);var t,r=[];for(t in Object(e))hasOwnProperty$26.call(e,t)&&\\\"constructor\\\"!=t&&r.push(t);return r}var _baseKeys4=baseKeys4;function isArrayLike5(e){return null!=e&&isLength_16(e.length)&&!isFunction_16(e)}var isArrayLike_15=isArrayLike5;function keys4(e){return(isArrayLike_15(e)?_arrayLikeKeys5:_baseKeys4)(e)}var keys_14=keys4;function baseAssign3(e,t){return e&&_copyObject4(t,keys_14(t),e)}var _baseAssign3=baseAssign3;function nativeKeysIn4(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}var _nativeKeysIn4=nativeKeysIn4,objectProto$26=Object.prototype,hasOwnProperty$16=objectProto$26.hasOwnProperty;function baseKeysIn4(e){if(!isObject_16(e))return _nativeKeysIn4(e);var t,r=_isPrototype5(e),n=[];for(t in e)(\\\"constructor\\\"!=t||!r&&hasOwnProperty$16.call(e,t))&&n.push(t);return n}var _baseKeysIn4=baseKeysIn4;function keysIn4(e){return isArrayLike_15(e)?_arrayLikeKeys5(e,!0):_baseKeysIn4(e)}var keysIn_14=keysIn4;function baseAssignIn3(e,t){return e&&_copyObject4(t,keysIn_14(t),e)}var _baseAssignIn3=baseAssignIn3,_cloneBuffer4=createCommonjsModule10(function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,n=n&&n.exports===r?_root6.Buffer:void 0,o=n?n.allocUnsafe:void 0;e.exports=function(e,t){var r;return t?e.slice():(r=e.length,r=o?o(r):new e.constructor(r),e.copy(r),r)}});function copyArray4(e,t){var r=-1,n=e.length;for(t=t||Array(n);++r\u003Cn;)t[r]=e[r];return t}var _copyArray4=copyArray4;function arrayFilter4(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r\u003Cn;){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a}var _arrayFilter4=arrayFilter4;function stubArray4(){return[]}var stubArray_14=stubArray4,objectProto$16=Object.prototype,propertyIsEnumerable6=objectProto$16.propertyIsEnumerable,nativeGetSymbols$13=Object.getOwnPropertySymbols,getSymbols4=nativeGetSymbols$13?function(t){return null==t?[]:(t=Object(t),_arrayFilter4(nativeGetSymbols$13(t),function(e){return propertyIsEnumerable6.call(t,e)}))}:stubArray_14,_getSymbols4=getSymbols4;function copySymbols3(e,t){return _copyObject4(e,_getSymbols4(e),t)}var _copySymbols3=copySymbols3;function arrayPush4(e,t){for(var r=-1,n=t.length,o=e.length;++r\u003Cn;)e[o+r]=t[r];return e}var _arrayPush4=arrayPush4,getPrototype4=_overArg6(Object.getPrototypeOf,Object),_getPrototype4=getPrototype4,nativeGetSymbols4=Object.getOwnPropertySymbols,getSymbolsIn3=nativeGetSymbols4?function(e){for(var t=[];e;)_arrayPush4(t,_getSymbols4(e)),e=_getPrototype4(e);return t}:stubArray_14,_getSymbolsIn3=getSymbolsIn3;function copySymbolsIn3(e,t){return _copyObject4(e,_getSymbolsIn3(e),t)}var _copySymbolsIn3=copySymbolsIn3;function baseGetAllKeys4(e,t,r){var n=t(e);return isArray_18(e)?n:_arrayPush4(n,r(e))}var _baseGetAllKeys4=baseGetAllKeys4;function getAllKeys4(e){return _baseGetAllKeys4(e,keys_14,_getSymbols4)}var _getAllKeys4=getAllKeys4;function getAllKeysIn3(e){return _baseGetAllKeys4(e,keysIn_14,_getSymbolsIn3)}var _getAllKeysIn3=getAllKeysIn3,DataView5=_getNative6(_root6,\\\"DataView\\\"),_DataView5=DataView5,Promise$15=_getNative6(_root6,\\\"Promise\\\"),_Promise5=Promise$15,Set5=_getNative6(_root6,\\\"Set\\\"),_Set5=Set5,WeakMap5=_getNative6(_root6,\\\"WeakMap\\\"),_WeakMap5=WeakMap5,mapTag$33=\\\"[object Map]\\\",objectTag$16=\\\"[object Object]\\\",promiseTag5=\\\"[object Promise]\\\",setTag$33=\\\"[object Set]\\\",weakMapTag$15=\\\"[object WeakMap]\\\",dataViewTag$25=\\\"[object DataView]\\\",dataViewCtorString5=_toSource6(_DataView5),mapCtorString5=_toSource6(_Map6),promiseCtorString5=_toSource6(_Promise5),setCtorString5=_toSource6(_Set5),weakMapCtorString5=_toSource6(_WeakMap5),getTag5=_baseGetTag6,_getTag4=getTag5=_DataView5&&getTag5(new _DataView5(new ArrayBuffer(1)))!=dataViewTag$25||_Map6&&getTag5(new _Map6)!=mapTag$33||_Promise5&&getTag5(_Promise5.resolve())!=promiseTag5||_Set5&&getTag5(new _Set5)!=setTag$33||_WeakMap5&&getTag5(new _WeakMap5)!=weakMapTag$15?function(e){var t=_baseGetTag6(e),r=t==objectTag$16?e.constructor:void 0,r=r?_toSource6(r):\\\"\\\";if(r)switch(r){case dataViewCtorString5:return dataViewTag$25;case mapCtorString5:return mapTag$33;case promiseCtorString5:return promiseTag5;case setCtorString5:return setTag$33;case weakMapCtorString5:return weakMapTag$15}return t}:getTag5,objectProto6=Object.prototype,hasOwnProperty7=objectProto6.hasOwnProperty;function initCloneArray3(e){var t=e.length,r=new e.constructor(t);return t&&\\\"string\\\"==typeof e[0]&&hasOwnProperty7.call(e,\\\"index\\\")&&(r.index=e.index,r.input=e.input),r}var _initCloneArray3=initCloneArray3,Uint8Array7=_root6.Uint8Array,_Uint8Array5=Uint8Array7;function cloneArrayBuffer4(e){var t=new e.constructor(e.byteLength);return new _Uint8Array5(t).set(new _Uint8Array5(e)),t}var _cloneArrayBuffer4=cloneArrayBuffer4;function cloneDataView3(e,t){var r=t?_cloneArrayBuffer4(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var _cloneDataView3=cloneDataView3,reFlags3=/\\\\w*$/;function cloneRegExp3(e){var t=new e.constructor(e.source,reFlags3.exec(e));return t.lastIndex=e.lastIndex,t}var _cloneRegExp3=cloneRegExp3,symbolProto5=_Symbol6?_Symbol6.prototype:void 0,symbolValueOf5=symbolProto5?symbolProto5.valueOf:void 0;function cloneSymbol3(e){return symbolValueOf5?Object(symbolValueOf5.call(e)):{}}var _cloneSymbol3=cloneSymbol3;function cloneTypedArray4(e,t){var r=t?_cloneArrayBuffer4(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var _cloneTypedArray4=cloneTypedArray4,boolTag$15=\\\"[object Boolean]\\\",dateTag$15=\\\"[object Date]\\\",mapTag$25=\\\"[object Map]\\\",numberTag$15=\\\"[object Number]\\\",regexpTag$15=\\\"[object RegExp]\\\",setTag$25=\\\"[object Set]\\\",stringTag$15=\\\"[object String]\\\",symbolTag$14=\\\"[object Symbol]\\\",arrayBufferTag$15=\\\"[object ArrayBuffer]\\\",dataViewTag$14=\\\"[object DataView]\\\",float32Tag$13=\\\"[object Float32Array]\\\",float64Tag$13=\\\"[object Float64Array]\\\",int8Tag$13=\\\"[object Int8Array]\\\",int16Tag$13=\\\"[object Int16Array]\\\",int32Tag$13=\\\"[object Int32Array]\\\",uint8Tag$13=\\\"[object Uint8Array]\\\",uint8ClampedTag$13=\\\"[object Uint8ClampedArray]\\\",uint16Tag$13=\\\"[object Uint16Array]\\\",uint32Tag$13=\\\"[object Uint32Array]\\\";function initCloneByTag3(e,t,r){var n=e.constructor;switch(t){case arrayBufferTag$15:return _cloneArrayBuffer4(e);case boolTag$15:case dateTag$15:return new n(+e);case dataViewTag$14:return _cloneDataView3(e,r);case float32Tag$13:case float64Tag$13:case int8Tag$13:case int16Tag$13:case int32Tag$13:case uint8Tag$13:case uint8ClampedTag$13:case uint16Tag$13:case uint32Tag$13:return _cloneTypedArray4(e,r);case mapTag$25:return new n;case numberTag$15:case stringTag$15:return new n(e);case regexpTag$15:return _cloneRegExp3(e);case setTag$25:return new n;case symbolTag$14:return _cloneSymbol3(e)}}var _initCloneByTag3=initCloneByTag3,objectCreate4=Object.create,baseCreate4=function(){function r(){}return function(e){if(!isObject_16(e))return{};if(objectCreate4)return objectCreate4(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}(),_baseCreate4=baseCreate4;function initCloneObject4(e){return\\\"function\\\"!=typeof e.constructor||_isPrototype5(e)?{}:_baseCreate4(_getPrototype4(e))}var _initCloneObject4=initCloneObject4,mapTag$14=\\\"[object Map]\\\";function baseIsMap3(e){return isObjectLike_16(e)&&_getTag4(e)==mapTag$14}var _baseIsMap3=baseIsMap3,nodeIsMap3=_nodeUtil6&&_nodeUtil6.isMap,isMap3=nodeIsMap3?_baseUnary6(nodeIsMap3):_baseIsMap3,isMap_13=isMap3,setTag$14=\\\"[object Set]\\\";function baseIsSet3(e){return isObjectLike_16(e)&&_getTag4(e)==setTag$14}var _baseIsSet3=baseIsSet3,nodeIsSet3=_nodeUtil6&&_nodeUtil6.isSet,isSet3=nodeIsSet3?_baseUnary6(nodeIsSet3):_baseIsSet3,isSet_13=isSet3,CLONE_DEEP_FLAG$13=1,CLONE_FLAT_FLAG3=2,CLONE_SYMBOLS_FLAG$13=4,argsTag5=\\\"[object Arguments]\\\",arrayTag5=\\\"[object Array]\\\",boolTag5=\\\"[object Boolean]\\\",dateTag5=\\\"[object Date]\\\",errorTag5=\\\"[object Error]\\\",funcTag6=\\\"[object Function]\\\",genTag6=\\\"[object GeneratorFunction]\\\",mapTag6=\\\"[object Map]\\\",numberTag5=\\\"[object Number]\\\",objectTag5=\\\"[object Object]\\\",regexpTag5=\\\"[object RegExp]\\\",setTag6=\\\"[object Set]\\\",stringTag5=\\\"[object String]\\\",symbolTag4=\\\"[object Symbol]\\\",weakMapTag6=\\\"[object WeakMap]\\\",arrayBufferTag5=\\\"[object ArrayBuffer]\\\",dataViewTag6=\\\"[object DataView]\\\",float32Tag6=\\\"[object Float32Array]\\\",float64Tag6=\\\"[object Float64Array]\\\",int8Tag6=\\\"[object Int8Array]\\\",int16Tag6=\\\"[object Int16Array]\\\",int32Tag6=\\\"[object Int32Array]\\\",uint8Tag6=\\\"[object Uint8Array]\\\",uint8ClampedTag6=\\\"[object Uint8ClampedArray]\\\",uint16Tag6=\\\"[object Uint16Array]\\\",uint32Tag6=\\\"[object Uint32Array]\\\",cloneableTags3={};function baseClone3(r,n,o,e,t,a){var i,s=n&CLONE_DEEP_FLAG$13,c=n&CLONE_FLAT_FLAG3,l=n&CLONE_SYMBOLS_FLAG$13;if(void 0===(i=o?t?o(r,e,t,a):o(r):i)){if(!isObject_16(r))return r;var u=isArray_18(r);if(u){if(i=_initCloneArray3(r),!s)return _copyArray4(r,i)}else{var d=_getTag4(r),p=d==funcTag6||d==genTag6;if(isBuffer_16(r))return _cloneBuffer4(r,s);if(d==objectTag5||d==argsTag5||p&&!t){if(i=c||p?{}:_initCloneObject4(r),!s)return c?_copySymbolsIn3(r,_baseAssignIn3(i,r)):_copySymbols3(r,_baseAssign3(i,r))}else{if(!cloneableTags3[d])return t?r:{};i=_initCloneByTag3(r,d,s)}}p=(a=a||new _Stack5).get(r);if(p)return p;a.set(r,i),isSet_13(r)?r.forEach(function(e){i.add(baseClone3(e,n,o,e,r,a))}):isMap_13(r)&&r.forEach(function(e,t){i.set(t,baseClone3(e,n,o,t,r,a))});var f=u?void 0:(l?c?_getAllKeysIn3:_getAllKeys4:c?keysIn_14:keys_14)(r);_arrayEach3(f||r,function(e,t){f&&(e=r[t=e]),_assignValue4(i,t,baseClone3(e,n,o,t,r,a))})}return i}cloneableTags3[argsTag5]=cloneableTags3[arrayTag5]=cloneableTags3[arrayBufferTag5]=cloneableTags3[dataViewTag6]=cloneableTags3[boolTag5]=cloneableTags3[dateTag5]=cloneableTags3[float32Tag6]=cloneableTags3[float64Tag6]=cloneableTags3[int8Tag6]=cloneableTags3[int16Tag6]=cloneableTags3[int32Tag6]=cloneableTags3[mapTag6]=cloneableTags3[numberTag5]=cloneableTags3[objectTag5]=cloneableTags3[regexpTag5]=cloneableTags3[setTag6]=cloneableTags3[stringTag5]=cloneableTags3[symbolTag4]=cloneableTags3[uint8Tag6]=cloneableTags3[uint8ClampedTag6]=cloneableTags3[uint16Tag6]=cloneableTags3[uint32Tag6]=!0,cloneableTags3[errorTag5]=cloneableTags3[funcTag6]=cloneableTags3[weakMapTag6]=!1;var _baseClone3=baseClone3,CLONE_DEEP_FLAG3=1,CLONE_SYMBOLS_FLAG3=4;function cloneDeep3(e){return _baseClone3(e,CLONE_DEEP_FLAG3|CLONE_SYMBOLS_FLAG3)}var cloneDeep_13=cloneDeep3,withInsertFragmentTable=(c,{options:e})=>{const n=c[\\\"insertFragment\\\"],{disableExpandOnInsert:l,insertColumn:u,insertRow:d}=e;return getTEditor(c).insertFragment=r=>{const t=r.find(e=>e.type===getPluginType(c,ELEMENT_TABLE));if(!t&&getTableAbove(c,{at:null==(e=c.selection)?void 0:e.anchor})){var e=getTableGridAbove(c,{format:\\\"cell\\\"});if(1\u003Ce.length)return e.forEach(e=>{var t;e&&(([,t]=e),replaceNodeChildren(c,{at:t,nodes:cloneDeep_13(r)}))}),void select2(c,{anchor:getStartPoint(c,e[0][1]),focus:getEndPoint(c,e.at(-1)[1])})}if(t&&getTableAbove(c,{at:null==(e=c.selection)?void 0:e.anchor})){const[s]=getTableGridAbove(c,{at:null==(e=c.selection)?void 0:e.anchor,format:\\\"cell\\\"});if(s)return void withoutNormalizing2(c,()=>{var[,e]=s;const n=[...e],o=n.at(-1);let a=null,i=!0;t.children.forEach(e=>{if(n[n.length-1]=o,!i){var t=n.slice(0,-1);if(n[n.length-2]+=1,!hasNode(c,n)){if(l)return;null!==d&&void 0!==d&&d(c,{fromRow:t})}}i=!1;t=e.children;let r=!0;t.forEach(e=>{if(!r){var t=[...n];if(n[n.length-1]+=1,!hasNode(c,n)){if(l)return;null!==u&&void 0!==u&&u(c,{fromCell:t})}}r=!1,replaceNodeChildren(c,{at:n,nodes:cloneDeep_13(e.children)}),a=[...n]})}),a&&select2(c,{anchor:getStartPoint(c,e),focus:getEndPoint(c,a)})})}n(r)},c},withInsertTextTable=(r,e)=>{const n=r[\\\"insertText\\\"];return r.insertText=e=>{var t;isExpanded(r.selection)&&getTableAbove(r,{at:null==(t=r.selection)?void 0:t.anchor})&&1\u003CgetTableGridAbove(r,{format:\\\"cell\\\"}).length&&collapseSelection(r,{edge:\\\"focus\\\"}),n(e)},r},withNormalizeTable=i=>{const s=i[\\\"normalizeNode\\\"];var e=getTEditor(i);const c=getPluginOptions(i,ELEMENT_TABLE)[\\\"initialTableWidth\\\"];return e.normalizeNode=([e,t])=>{if(isElement2(e)){if(e.type===getPluginType(i,ELEMENT_TABLE)){if(getBlockAbove2(i,{at:t,match:{type:getPluginType(i,ELEMENT_TABLE)}}))return void unwrapNodes3(i,{at:t});if(c){var r=e;const o=null==(n=r.children[0])||null==(n=n.children)?void 0:n.length;if(o){const a=[];if(r.colSizes)r.colSizes.some(e=>!e)&&r.colSizes.forEach(e=>{a.push(e||c/o)});else for(let e=0;e\u003Co;e++)a.push(c/o);if(0\u003Ca.length)return void setNodes3(i,{colSizes:a},{at:t})}}}if(e.type===getPluginType(i,ELEMENT_TR)){var n=getParentNode(i,t);if((null==n?void 0:n[0].type)!==getPluginType(i,ELEMENT_TABLE))return void unwrapNodes3(i,{at:t})}if(getCellTypes(i).includes(e.type)){r=e[\\\"children\\\"],n=getParentNode(i,t);if((null==n?void 0:n[0].type)!==getPluginType(i,ELEMENT_TR))return void unwrapNodes3(i,{at:t});if(isText(r[0]))return void wrapNodeChildren(i,i.blockFactory({},t),{at:t})}}return s([e,t])},i},withSelectionTable=a=>{const i=a[\\\"apply\\\"];return a.apply=e=>{var t,r,n,o;\\\"set_selection\\\"===e.type&&e.newProperties&&(t={...a.selection,...e.newProperties},Range.isRange(t)&&isRangeAcrossBlocks(a,{at:t,match:e=>e.type===getPluginType(a,ELEMENT_TABLE)})&&((r=getBlockAbove2(a,{at:t.anchor,match:e=>e.type===getPluginType(a,ELEMENT_TABLE)}))?(([,r]=r),Range.isBackward(t)?e.newProperties.focus=getStartPoint(a,r):getPointBefore(a,r)&&(e.newProperties.focus=getEndPoint(a,r))):(r=getBlockAbove2(a,{at:t.focus,match:e=>e.type===getPluginType(a,ELEMENT_TABLE)}))&&(([,r]=r),Range.isBackward(t)?(n=getStartPoint(a,r),o=getPointBefore(a,n),e.newProperties.focus=null!=o?o:n):e.newProperties.focus=getEndPoint(a,r))),overrideSelectionFromCell(a,t)),i(e)},a},withSetFragmentDataTable=m=>{const h=m[\\\"setFragmentData\\\"];return m.setFragmentData=(c,e)=>{var t=null==(t=getTableGridAbove(m,{format:\\\"table\\\"}))?void 0:t[0],r=getTableGridAbove(m,{format:\\\"cell\\\"});const n=m.selection;if(t&&n){var o=Path.compare(n.anchor.path,n.focus.path)\u003C1?n.anchor:n.focus;const[a,l]=t,u=a.children,[d,p]=o.path.slice(l.length,l.length+2);let i=\\\"\\\",s=\\\"\\\";const f=document.createElement(\\\"div\\\"),g=document.createElement(\\\"table\\\");t&&n&&1===r.length&&(\\\"copy\\\"===e||\\\"cut\\\"===e)?h(c):(withoutNormalizing2(m,()=>{u.forEach((e,t)=>{var r=e.children;const n=l.concat(d+t),o=[],a=e.type===getPluginType(m,ELEMENT_TH)?document.createElement(\\\"th\\\"):document.createElement(\\\"tr\\\");r.forEach((e,t)=>{var r=n.concat(p+t),r=(select2(m,{anchor:getStartPoint(m,r),focus:getEndPoint(m,r)}),h(c),o.push(c.getData(\\\"text/plain\\\")),document.createElement(\\\"td\\\"));r.innerHTML=c.getData(\\\"text/html\\\"),a.append(r)}),g.append(a),i+=o.join(\\\",\\\")+`\\n`,s+=o.join(\\\"\\\\t\\\")+`\\n`}),select2(m,n),f.append(g)}),c.setData(\\\"text/csv\\\",i),c.setData(\\\"text/tsv\\\",s),c.setData(\\\"text/plain\\\",s),c.setData(\\\"text/html\\\",f.innerHTML),o=JSON.stringify(a),t=window.btoa(encodeURIComponent(o)),c.setData(\\\"application/x-slate-fragment\\\",t))}else h(c,e)},m},withTable=(e,t)=>(e=withNormalizeTable(e),e=withDeleteTable(e),e=withGetFragmentTable(e),e=withInsertFragmentTable(e,t),e=withInsertTextTable(e),e=withSelectionTable(e),e=withSetFragmentDataTable(e)),ELEMENT_TABLE=\\\"table\\\",ELEMENT_TH=\\\"th\\\",ELEMENT_TR=\\\"tr\\\",ELEMENT_TD=\\\"td\\\",createTablePlugin=createPluginFactory({key:ELEMENT_TABLE,isElement:!0,handlers:{onKeyDown:onKeyDownTable},deserializeHtml:{rules:[{validNodeName:\\\"TABLE\\\"}]},options:{insertColumn:(e,{fromCell:t})=>{insertTableColumn(e,{fromCell:t,disableSelect:!0})},insertRow:(e,{fromRow:t})=>{insertTableRow(e,{fromRow:t,disableSelect:!0})},minColumnWidth:48},withOverrides:withTable,plugins:[{key:ELEMENT_TR,isElement:!0,deserializeHtml:{rules:[{validNodeName:\\\"TR\\\"}]}},{key:ELEMENT_TD,isElement:!0,deserializeHtml:{attributeNames:[\\\"rowspan\\\",\\\"colspan\\\"],rules:[{validNodeName:\\\"TD\\\"}],getNode:e=>{var t=e.style.background||e.style.backgroundColor;return t?{type:\\\"td\\\",background:t}:{type:\\\"td\\\"}}},props:({element:e})=>{var t;return{nodeProps:{colSpan:null==e||null==(t=e.attributes)?void 0:t.colspan,rowSpan:null==e||null==(t=e.attributes)?void 0:t.rowspan}}}},{key:ELEMENT_TH,isElement:!0,deserializeHtml:{attributeNames:[\\\"rowspan\\\",\\\"colspan\\\"],rules:[{validNodeName:\\\"TH\\\"}],getNode:e=>{var t=e.style.background||e.style.backgroundColor;return t?{type:\\\"th\\\",background:t}:{type:\\\"th\\\"}}},props:({element:e})=>{var t;return{nodeProps:{colSpan:null==e||null==(t=e.attributes)?void 0:t.colspan,rowSpan:null==e||null==(t=e.attributes)?void 0:t.rowspan}}}}]}),{tableStore,useTableStore}=createAtomStore({colSizeOverrides:new Map,rowSizeOverrides:new Map,marginLeftOverride:null,hoveredColIndex:null,selectedCells:null},{name:\\\"table\\\",scope:ELEMENT_TABLE}),useOverrideSizeFactory=e=>(0,import_react71.useCallback)((r,n)=>{e(e=>{var t=new Map(e);return null===n?t[\\\"delete\\\"](r):t.set(r,n),t})},[e]),useOverrideColSize=()=>{var e=useTableStore().set.colSizeOverrides();return useOverrideSizeFactory(e)},useOverrideRowSize=()=>{var e=useTableStore().set.rowSizeOverrides();return useOverrideSizeFactory(e)},useOverrideMarginLeft=()=>useTableStore().set.marginLeftOverride(),useTableColSizes=(t,{disableOverrides:e=!1}={})=>{const r=usePlateEditorRef();var n=useTableStore().get.colSizeOverrides();const o=getPluginOptions(r,ELEMENT_TABLE)[\\\"enableUnsetSingleColSize\\\"];n=getTableOverriddenColSizes(t,e?void 0:n);const a=getTableColumnCount(t);return(0,import_react71.useEffect)(()=>{var e;o&&a\u003C2&&null!=(e=t.colSizes)&&e.length&&unsetNodes3(r,\\\"colSizes\\\",{at:findNodePath(r,t)})},[a,o,r,t]),n},roundCellSizeToStep=(e,t)=>t?Math.round(e/t)*t:e,useTableCellElementResizableState=({colIndex:e,rowIndex:t,step:r,stepX:n=r,stepY:o=r})=>{var a=usePlateEditorRef(),a=getPluginOptions(a,ELEMENT_TABLE)[\\\"disableMarginLeft\\\"];return{disableMarginLeft:a,colIndex:e,rowIndex:t,stepX:n,stepY:o}},useTableCellElementResizable=({disableMarginLeft:e,colIndex:s,rowIndex:r,stepX:c,stepY:n})=>{const o=usePlateEditorRef(),a=useElement();var t=useElement(ELEMENT_TABLE);const{minColumnWidth:l=0}=getPluginOptions(o,ELEMENT_TABLE),[i,u]=useTableStore().use.hoveredColIndex(),d=useTableColSizes(t,{disableOverrides:!0}),{marginLeft:p=0}=t,f=useOverrideColSize(),g=useOverrideRowSize(),m=useOverrideMarginLeft(),h=(0,import_react71.useCallback)((e,t)=>{setTableColSize(o,{colIndex:e,width:t},{at:findNodePath(o,a)}),setTimeout(()=>f(e,null),0)},[o,a,f]),_=(0,import_react71.useCallback)((e,t)=>{setTableRowSize(o,{rowIndex:e,height:t},{at:findNodePath(o,a)}),setTimeout(()=>g(e,null),0)},[o,a,g]),v=(0,import_react71.useCallback)(e=>{setTableMarginLeft(o,{marginLeft:e},{at:findNodePath(o,a)}),setTimeout(()=>m(null),0)},[o,a,m]);var t=(0,import_react71.useCallback)(({initialSize:t,delta:e,finished:r})=>{const n=d[s+1];var o=e=>t+n-e,a=roundCellSizeToStep(resizeLengthClampStatic(t+e,{min:l,max:n?o(l):void 0}),c),o=n?o(a):void 0,i=r?h:f;i(s,a),o&&i(s+1,o)},[s,d,l,f,h,c]),y=(0,import_react71.useCallback)(e=>{var t=roundCellSizeToStep(e.initialSize+e.delta,n);(e.finished?_:g)(r,t)},[g,r,_,n]),b=(0,import_react71.useCallback)(e=>{const t=d[s];var r=e=>t+p-e,n=roundCellSizeToStep(resizeLengthClampStatic(p+e.delta,{min:0,max:r(l)}),c),r=r(n);(e.finished?(v(n),h):(m(n),f))(s,r)},[s,d,p,l,f,m,h,v,c]),E=e=>({onHover:()=>{null===i&&u(e)},onHoverEnd:()=>{i===e&&u(null)}}),T=0===s&&!e;return{rightProps:{options:{direction:\\\"right\\\",onResize:t,...E(s)}},bottomProps:{options:{direction:\\\"bottom\\\",onResize:y}},hiddenLeft:!T,leftProps:{options:{direction:\\\"left\\\",onResize:b,...E(-1)}}}},getOnSelectTableBorderFactory=(r,n)=>t=>()=>{var e;n||(\\\"none\\\"===t?setBorderSize(r,0,{border:\\\"all\\\"}):\\\"outer\\\"===t?setBorderSize(r,1,{border:\\\"all\\\"}):(e=isTableBorderHidden(r,t)?1:0,setBorderSize(r,e,{border:t})),setTimeout(()=>{focusEditor(r)},50))},getTableCellBorders=(n,{isFirstCell:e,isFirstRow:t,defaultBorder:o={size:1,style:\\\"solid\\\",color:\\\"rgb(209 213 219)\\\"}}={})=>{var r=e=>{var t,r=null==(r=n.borders)?void 0:r[e];return{size:null!=(t=null==r?void 0:r.size)?t:o.size,style:null!=(t=null==r?void 0:r.style)?t:o.style,color:null!=(t=null==r?void 0:r.color)?t:o.color}};return{bottom:r(\\\"bottom\\\"),right:r(\\\"right\\\"),left:e?r(\\\"left\\\"):void 0,top:t?r(\\\"top\\\"):void 0}},useIsCellSelected=e=>{const t=useTableStore().get.selectedCells();return(0,import_react71.useMemo)(()=>!(null===t||void 0===t||!t.includes(e)),[e,t])},useTableBordersDropdownMenuContentState=()=>{var e=usePlateEditorState(),t=useTableStore().get.selectedCells(),r=!isTableBorderHidden(e,\\\"bottom\\\"),n=!isTableBorderHidden(e,\\\"top\\\"),o=!isTableBorderHidden(e,\\\"left\\\"),a=!isTableBorderHidden(e,\\\"right\\\");return{hasBottomBorder:r,hasTopBorder:n,hasLeftBorder:o,hasRightBorder:a,hasNoBorders:!(r||n||o||a),hasOuterBorders:r&&n&&o&&a,getOnSelectTableBorder:getOnSelectTableBorderFactory(e,t)}},useTableCellElementState=({ignoreReadOnly:e}={})=>{var t=usePlateEditorRef(),r=useElement(),n=getTableColumnIndex(t,r),t=getTableRowIndex(t,r),o=useReadOnly(),a=useIsCellSelected(r),i=useTableStore().get.hoveredColIndex(),s=useTableStore().get.selectedCells(),c=useElement(ELEMENT_TABLE),l=useElement(ELEMENT_TR),u=null!=(u=null!=(u=useTableStore().get.rowSizeOverrides().get(t))?u:null==l?void 0:l.size)?u:void 0,d=0===n,c=(null==(c=c.children)?void 0:c[0])===l;return{colIndex:n,rowIndex:t,readOnly:!e&&o,selected:a,hovered:i===n,hoveredLeft:d&&-1===i,rowSize:u,borders:getTableCellBorders(r,{isFirstCell:d,isFirstRow:c}),isSelectingCell:!!s}},useTableCellElement=({element:e})=>{const t=useTableStore().set.hoveredColIndex();return(0,import_react71.useEffect)(()=>{t(null)},[e,t]),{props:{colSpan:e.colSpan}}},useSelectedCells=()=>{const t=useReadOnly(),e=useSelected(),r=usePlateEditorRef(),[n,o]=useTableStore().use.selectedCells();(0,import_react71.useEffect)(()=>{e&&!t||o(null)},[e,r,o,t]),(0,import_react71.useEffect)(()=>{var e;t||(1\u003C(e=getTableGridAbove(r,{format:\\\"cell\\\"})).length?(e=e.map(e=>e[0]),JSON.stringify(e)!==JSON.stringify(n)&&o(e)):n&&o(null))},[r,null===r||void 0===r?void 0:r.selection,t,n,o])},useTableElementState=({transformColSizes:e}={})=>{var t=usePlateEditorRef(),{minColumnWidth:t,disableMarginLeft:r}=getPluginOptions(t,ELEMENT_TABLE),n=useElement(),o=useTableStore().get.selectedCells(),a=useTableStore().get.marginLeftOverride(),a=!r&&null!=(r=null!=a?a:n.marginLeft)?r:0;let i=useTableColSizes(n);return(i=e?e(i):i).includes(0)||i.push(\\\"100%\\\"),{colSizes:i,isSelectingCell:!!o,minColumnWidth:t,marginLeft:a}},useTableElement=()=>{const e=usePlateEditorRef(),t=useTableStore().get.selectedCells();return useSelectedCells(),{props:{onMouseDown:()=>{t&&collapseSelection(e)}},colGroupProps:{contentEditable:!1,style:{width:\\\"100%\\\"}}}},createAdvancedBlockPlugin=(init_esbuild_inject(),init_esbuild_inject(),createPluginFactory({key:\\\"advanced_block\\\",handlers:{}})),import_react73=(init_esbuild_inject(),init_esbuild_inject(),require(\\\"react\\\")),import_styled_components5=__toESM(require_styled_components_browser_cjs()),import_react72=(init_esbuild_inject(),__toESM(require(\\\"react\\\"))),import_styled_components4=__toESM(require_styled_components_browser_cjs()),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),CodeSyntaxSelect=import_styled_components4[\\\"default\\\"].select`\\n opacity: 20%;\\n &:hover {\\n opacity: 100%;\\n }\\n transition: opacity 0.2s;\\n`;function CodeBlockSelectElement({language:e,onChange:t,...r}){const[n,o]=import_react72[\\\"default\\\"].useState(e);var a=useEditorRef();return useReadOnly()?null:(a=getPluginOptions(a,ELEMENT_CODE_BLOCK)[\\\"syntaxPopularFirst\\\"],(0,import_jsx_runtime.jsxs)(CodeSyntaxSelect,{value:n&&normalizeLanguage(n),style:{\\\"float\\\":\\\"right\\\"},onClick:e=>{e.stopPropagation()},onChange:e=>{t(e.target.value),o(e.target.value)},contentEditable:!1,...r,children:[(0,import_jsx_runtime.jsx)(\\\"option\\\",{value:\\\"\\\",children:\\\"txt\\\"}),a&&CODE_BLOCK_LANGUAGES_POPULAR.map(e=>{var t=CODE_BLOCK_LANGUAGES[e],t=Array.isArray(t)?t[0]:t;return(0,import_jsx_runtime.jsx)(\\\"option\\\",{value:t,children:e},e)}),Object.entries(CODE_BLOCK_LANGUAGES).map(([e,t])=>{var r=Array.isArray(t)?t[0]:t;return(0,import_jsx_runtime.jsx)(\\\"option\\\",{value:r,children:e},e)})]}))}var import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),CodeContainer=import_styled_components5[\\\"default\\\"].div`\\n margin-top: 1em;\\n margin-bottom: 1em;\\n`,CodeTextArea=import_styled_components5[\\\"default\\\"].textarea`\\n width: 100%;\\n height: max-content;\\n`;function useCodeMirror(t,r){const n=(0,import_react73.useRef)(null),o=(0,import_react73.useRef)(!1);return(0,import_react73.useEffect)(()=>{var e;\\\"CodeMirror\\\"in window&&null!==t.current&&!o.current&&(e={lineNumbers:\\\"true\\\"===$tw.wiki.getTiddlerText(\\\"$:/config/codemirror/lineNumbers\\\"),keyMap:$tw.wiki.getTiddlerText(\\\"$:/config/codemirror/keyMap\\\"),lineWrapping:\\\"true\\\"===$tw.wiki.getTiddlerText(\\\"$:/config/codemirror/lineWrapping\\\"),theme:$tw.wiki.getTiddlerText(\\\"$:/config/codemirror/theme\\\"),autofocus:!1,readOnly:!1,cursorBlinkRate:Number(null!=(e=$tw.wiki.getTiddlerText(\\\"$:/config/codemirror/cursorBlinkRate\\\"))?e:\\\"500\\\"),indentUnit:Number(null!=(e=$tw.wiki.getTiddlerText(\\\"$:/config/codemirror/indentUnit\\\"))?e:\\\"2\\\"),indentWithTabs:\\\"true\\\"===$tw.wiki.getTiddlerText(\\\"$:/config/codemirror/indentWithTabs\\\"),showCursorWhenSelecting:\\\"true\\\"===$tw.wiki.getTiddlerText(\\\"$:/config/codemirror/showCursorWhenSelecting\\\")},e=window.CodeMirror.fromTextArea(t.current,{...e,...r}),n.current=e,o.current=!0)},[t,r]),n}function useCodeMirrorEventListenerSettled(r,e){const t=(0,import_react73.useRef)(!1);(0,import_react73.useEffect)(()=>{null===(null==e?void 0:e.current)||t.current||(e.current.on(\\\"change\\\",e=>{var t=e.getDoc().getValue();r(t)}),t.current=!0)},[r,e])}function CodeBlockElement(e){const{attributes:t,nodeProps:r,element:n,children:o,editor:a}=e;var i=getRootProps(e),s=(0,import_react73.useRef)(null);const{language:c,code:l}=n;var u=getPluginOptions(a,ELEMENT_CODE_BLOCK)[\\\"showSyntaxSwitcher\\\"];const d=useCodeMirror(s,(0,import_react73.useMemo)(()=>({mode:c&&normalizeLanguage(c),value:l}),[c,l])),p=(0,import_react73.useMemo)(()=>findNodePath(a,n),[a,n]);var f=(0,import_react73.useCallback)(e=>{var t;void 0!==p&&(setNodes3(a,{language:e},{at:p}),null!=(t=d.current))&&t.setOption(\\\"mode\\\",e)},[a,p,d]),g=useDebouncedCallback_default(e=>{void 0!==p&&setNodes3(a,{code:\\\"string\\\"==typeof e?e:e.target.value},{at:p})},[a,p]);return useCodeMirrorEventListenerSettled(g,d),(0,import_jsx_runtime.jsxs)(\\\"div\\\",{...t,...i,...r,children:[!0===u&&(0,import_jsx_runtime.jsx)(CodeBlockSelectElement,{\\\"data-testid\\\":\\\"CodeBlockSelectElement\\\",language:c,onChange:f}),(0,import_jsx_runtime.jsx)(CodeContainer,{style:{userSelect:\\\"none\\\"},contentEditable:!1,className:\\\"tw-codeblock-container\\\",children:(0,import_jsx_runtime.jsx)(CodeTextArea,{ref:s,onChange:g,defaultValue:l,className:\\\"CodeMirror\\\"})}),o]})}init_esbuild_inject();var createCodeBlockPlugin=createPluginFactory({key:ELEMENT_CODE_BLOCK,isElement:!0,isVoid:!0,handlers:{},options:{syntaxPopularFirst:!0,showSyntaxSwitcher:!0}}),onKeyDownCombobox2=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),s=>e=>{var t,r,n,o=null==(a=(o=useAutoCompletePluginStore.get).activeId)?void 0:a.call(o),a=null==(i=(a=useAutoCompletePluginStore.get).highlightedIndex)?void 0:i.call(a),i=null!=(i=useAutoCompletePluginStore.get.filteredItems()[null!=o?o:\\\"\\\"])?i:[];void 0!==o&&(t=getAutoCompleteOnSelectItem({key:o}),({keepTrigger:o,trigger:r}=getPlugin(s,o)[\\\"options\\\"]),\\\"ArrowDown\\\"===e.key?(e.preventDefault(),n=getNextWrappingIndex(1,a,i.length,()=>{},!0),useAutoCompletePluginStore.set.highlightedIndex(n)):\\\"ArrowUp\\\"===e.key?(e.preventDefault(),n=getNextWrappingIndex(-1,a,i.length,()=>{},!0),useAutoCompletePluginStore.set.highlightedIndex(n)):\\\"Escape\\\"===e.key?(e.preventDefault(),removeAutoCompleteInputFromCurrentSelection(s),!0!==o&&insertText3(s,null!=r?r:\\\"\\\"),useAutoCompletePluginStore.set.reset()):[\\\"Tab\\\",\\\"Enter\\\"].includes(e.key)&&(e.preventDefault(),e.stopPropagation(),void 0!==(n=i[a]))&&null!=t&&t(s,n))}),KEY_COMBOBOX2=\\\"combobox\\\",createComboBoxPlugin=createPluginFactory({key:KEY_COMBOBOX2,handlers:{onKeyDown:onKeyDownCombobox2}});function postDropListNormalize(t,r){\\\"parentType\\\"in r&&(\\\"li\\\"!==r.type||\\\"ol\\\"!==r.parentType&&\\\"ul\\\"!==r.parentType||setTimeout(()=>{var e=findNode(t,{at:[],match:{id:r.id}});void 0!==e&&(([,e]=e),wrapNodes3(t,{type:r.parentType,children:[]},{at:e}))},0))}init_esbuild_inject();var dropHandlerToFixList=(e,t)=>{var r,n=t[\\\"dragItem\\\"],n=n[\\\"id\\\"],o=findNode(e,{at:[],match:{id:n}});return void 0!==o&&(([o,r]=o),void 0!==(r=getParentNode(e,r)))&&(([r]=r),postDropListNormalize(e,{id:n,parentType:r.type,type:o.type})),!1};function addDropHandlers(e){for(const t of e){null!=t.draggableProps||(t.draggableProps={});const o=t.draggableProps.onDropHandler;void 0===o?t.draggableProps.onDropHandler=dropHandlerToFixList:t.draggableProps.onDropHandler=(e,t)=>{var r=o(e,t),n=dropHandlerToFixList(e,t);return r||n}}}init_esbuild_inject();var createHeadingPlugin2=createPluginFactory({key:\\\"heading\\\",options:{levels:6},then:(e,{options:{levels:t=0}={}})=>{var r=[];for(let o=1;o\u003C=t;o++){var n={key:KEYS_HEADING[o-1],isElement:!0,deserializeHtml:{rules:[{validNodeName:\\\"H\\\"+o}]},handlers:{onKeyDown:onKeyDownToggleElement},options:{hotkey:[\\\"ctrl+\\\"+o,\\\"mod+shift+\\\"+o]}};r.push(n)}return{plugins:r}}}),getIdFactory=(init_esbuild_inject(),e=>{let t=1;return()=>e+\\\"-\\\"+t++}),import_react74=(init_esbuild_inject(),require(\\\"react\\\")),import_tw_react2=__toESM(require_tw_react()),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),LinkElement=e=>{const{attributes:o,children:t,nodeProps:r,element:a}=e;var n=getRootProps(e);const i=(0,import_react74.useContext)(import_tw_react2.ParentWidgetContext);var s=(0,import_react74.useCallback)(e=>{var t,r,n;void 0!==i&&void 0!==(t=o.ref.current)&&(e.stopPropagation(),null!=(r=null==(r=a.attributes)?void 0:r.to)&&r.value?(r=t.getBoundingClientRect(),n={type:\\\"tm-navigate\\\",navigateTo:null==(n=null==(n=a.attributes)?void 0:n.to)?void 0:n.value,navigateFromTitle:i.getVariable(\\\"storyTiddler\\\"),navigateFromNode:i,navigateFromClientRect:{top:r.top,left:r.left,width:r.width,right:r.right,bottom:r.bottom,height:r.height},navigateFromClientTop:r.top,navigateFromClientLeft:r.left,navigateFromClientWidth:r.width,navigateFromClientRight:r.right,navigateFromClientBottom:r.bottom,navigateFromClientHeight:r.height,navigateSuppressNavigation:e.metaKey||e.ctrlKey||1===e.button,metaKey:e.metaKey,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey,event:e.nativeEvent},i.dispatchEvent(n)):t.hasAttribute(\\\"href\\\")&&(e.preventDefault(),window.open(t.href,\\\"_blank\\\",\\\"noopener,noreferrer\\\")))},[i]);const c=(0,import_react74.useMemo)(()=>{var e,t;return!(null!=(t=null==(e=null==i?void 0:i.wiki)?void 0:e.tiddlerExists(null!=(t=null==(t=null==(t=a.attributes)?void 0:t.to)?void 0:t.value)?t:\\\"\\\"))&&t)},[null==(u=null==(u=a.attributes)?void 0:u.to)?void 0:u.value,null==i?void 0:i.wiki]),l=(0,import_react74.useMemo)(()=>{var e,t;return null==(t=null==i?void 0:i.wiki)?void 0:t.isShadowTiddler(null!=(e=null==(e=null==(e=a.attributes)?void 0:e.to)?void 0:e.value)?e:\\\"\\\")},[null==(u=null==(u=a.attributes)?void 0:u.to)?void 0:u.value,null==i?void 0:i.wiki]);var u=(0,import_react74.useMemo)(()=>{var e;const t={};return Object.keys(null!=(e=a.attributes)?e:{}).forEach(e=>{t[e]=a.attributes[e].value}),t},[a.attributes]),d=(0,import_react74.useMemo)(()=>{var e,t=[];return void 0===(null==(e=null==(e=a.attributes)?void 0:e.overrideClasses)?void 0:e.value)?(t.push(\\\"tc-tiddlylink\\\"),l&&t.push(\\\"tc-tiddlylink-shadow\\\"),c&&!l?t.push(\\\"tc-tiddlylink-missing\\\"):c||t.push(\\\"tc-tiddlylink-resolves\\\"),null!=(e=null==(e=a.attributes)?void 0:e[\\\"class\\\"])&&e.value&&t.push(null==(e=null==(e=a.attributes)?void 0:e[\\\"class\\\"])?void 0:e.value)):t.push(null==(e=null==(e=a.attributes)?void 0:e.overrideClasses)?void 0:e.value),t.join(\\\" \\\")},[a.attributes,l,c]);return(0,import_jsx_runtime.jsx)(\\\"a\\\",{onClick:s,...o,href:a.url,...n,...r,...u,className:`${null!=(s=n.className)?s:\\\"\\\"} `+d,style:{cursor:\\\"pointer\\\"},children:t})},import_react78=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),require(\\\"react\\\")),import_react75=(init_esbuild_inject(),require(\\\"react\\\")),$89eedd556c436f6a$var$DEFAULT_ORIENTATION=\\\"horizontal\\\",$89eedd556c436f6a$var$ORIENTATIONS=[\\\"horizontal\\\",\\\"vertical\\\"],$89eedd556c436f6a$export$1ff3c3f08ae963c0=(0,import_react75.forwardRef)((e,t)=>{const{decorative:r,orientation:n=$89eedd556c436f6a$var$DEFAULT_ORIENTATION,...o}=e;var a=$89eedd556c436f6a$var$isValidOrientation(n)?n:$89eedd556c436f6a$var$DEFAULT_ORIENTATION;return(0,import_react75.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends2({\\\"data-orientation\\\":a},r?{role:\\\"none\\\"}:{\\\"aria-orientation\\\":\\\"vertical\\\"===a?a:void 0,role:\\\"separator\\\"},o,{ref:t}))});function $89eedd556c436f6a$var$getInvalidOrientationError(e,t){return`Invalid prop \\\\`orientation\\\\` of value \\\\`${e}\\\\` supplied to \\\\`${t}\\\\`, expected one of:\\n - horizontal\\n - vertical\\n\\nDefaulting to \\\\`${$89eedd556c436f6a$var$DEFAULT_ORIENTATION}\\\\`.`}function $89eedd556c436f6a$var$isValidOrientation(e){return $89eedd556c436f6a$var$ORIENTATIONS.includes(e)}$89eedd556c436f6a$export$1ff3c3f08ae963c0.propTypes={orientation(e,t,r){var n=e[t],o=String(n);return n&&!$89eedd556c436f6a$var$isValidOrientation(n)?new Error($89eedd556c436f6a$var$getInvalidOrientationError(o,r)):null}};var $89eedd556c436f6a$export$be92b6f5f03c0fe9=$89eedd556c436f6a$export$1ff3c3f08ae963c0,import_react77=(init_esbuild_inject(),__toESM(require(\\\"react\\\"),1)),import_react76=(init_esbuild_inject(),require(\\\"react\\\")),$b3bbe2732c13b576$export$bea8ebba691c5813=(0,import_react76.forwardRef)((e,t)=>{const{pressed:r,defaultPressed:n=!1,onPressedChange:o,...a}=e,[i=!1,s]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:r,onChange:o,defaultProp:n});return(0,import_react76.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.button,_extends2({type:\\\"button\\\",\\\"aria-pressed\\\":i,\\\"data-state\\\":i?\\\"on\\\":\\\"off\\\",\\\"data-disabled\\\":e.disabled?\\\"\\\":void 0},a,{ref:t,onClick:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onClick,()=>{e.disabled||s(!i)})}))}),$b3bbe2732c13b576$export$be92b6f5f03c0fe9=$b3bbe2732c13b576$export$bea8ebba691c5813,$6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME=\\\"ToggleGroup\\\",[$6c1fd9e6a8969628$var$createToggleGroupContext,$6c1fd9e6a8969628$export$d1c7c4bcd9f26dd4]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME,[$d7bdfb9eb0fdf311$export$c7109489551a4f4]),$6c1fd9e6a8969628$var$useRovingFocusGroupScope=$d7bdfb9eb0fdf311$export$c7109489551a4f4(),$6c1fd9e6a8969628$export$af3ec21f6cfb5e30=import_react77[\\\"default\\\"].forwardRef((e,t)=>{const{type:r,...n}=e;var o;if(\\\"single\\\"===r)return o=n,import_react77[\\\"default\\\"].createElement($6c1fd9e6a8969628$var$ToggleGroupImplSingle,_extends2({},o,{ref:t}));if(\\\"multiple\\\"===r)return o=n,import_react77[\\\"default\\\"].createElement($6c1fd9e6a8969628$var$ToggleGroupImplMultiple,_extends2({},o,{ref:t}));throw new Error(`Missing prop \\\\`type\\\\` expected on \\\\`${$6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME}\\\\``)}),[$6c1fd9e6a8969628$var$ToggleGroupValueProvider,$6c1fd9e6a8969628$var$useToggleGroupValueContext]=$6c1fd9e6a8969628$var$createToggleGroupContext($6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME),$6c1fd9e6a8969628$var$ToggleGroupImplSingle=import_react77[\\\"default\\\"].forwardRef((e,t)=>{const{value:r,defaultValue:n,onValueChange:o=()=>{},...a}=e,[i,s]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:r,defaultProp:n,onChange:o});return import_react77[\\\"default\\\"].createElement($6c1fd9e6a8969628$var$ToggleGroupValueProvider,{scope:e.__scopeToggleGroup,type:\\\"single\\\",value:i?[i]:[],onItemActivate:s,onItemDeactivate:import_react77[\\\"default\\\"].useCallback(()=>s(\\\"\\\"),[s])},import_react77[\\\"default\\\"].createElement($6c1fd9e6a8969628$var$ToggleGroupImpl,_extends2({},a,{ref:t})))}),$6c1fd9e6a8969628$var$ToggleGroupImplMultiple=import_react77[\\\"default\\\"].forwardRef((e,t)=>{const{value:r,defaultValue:n,onValueChange:o=()=>{},...a}=e,[i=[],s]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:r,defaultProp:n,onChange:o});var c=import_react77[\\\"default\\\"].useCallback(t=>s((e=[])=>[...e,t]),[s]),l=import_react77[\\\"default\\\"].useCallback(t=>s((e=[])=>e.filter(e=>e!==t)),[s]);return import_react77[\\\"default\\\"].createElement($6c1fd9e6a8969628$var$ToggleGroupValueProvider,{scope:e.__scopeToggleGroup,type:\\\"multiple\\\",value:i,onItemActivate:c,onItemDeactivate:l},import_react77[\\\"default\\\"].createElement($6c1fd9e6a8969628$var$ToggleGroupImpl,_extends2({},a,{ref:t})))}),[$6c1fd9e6a8969628$var$ToggleGroupContext,$6c1fd9e6a8969628$var$useToggleGroupContext]=$6c1fd9e6a8969628$var$createToggleGroupContext($6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME),$6c1fd9e6a8969628$var$ToggleGroupImpl=import_react77[\\\"default\\\"].forwardRef((e,t)=>{const{__scopeToggleGroup:r,disabled:n=!1,rovingFocus:o=!0,orientation:a,dir:i,loop:s=!0,...c}=e;var l=$6c1fd9e6a8969628$var$useRovingFocusGroupScope(r),u=$f631663db3294ace$export$b39126d51d94e6f3(i),d={role:\\\"group\\\",dir:u,...c};return import_react77[\\\"default\\\"].createElement($6c1fd9e6a8969628$var$ToggleGroupContext,{scope:r,rovingFocus:o,disabled:n},o?import_react77[\\\"default\\\"].createElement($d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9,_extends2({asChild:!0},l,{orientation:a,dir:u,loop:s}),import_react77[\\\"default\\\"].createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends2({},d,{ref:t}))):import_react77[\\\"default\\\"].createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends2({},d,{ref:t})))}),$6c1fd9e6a8969628$var$ITEM_NAME=\\\"ToggleGroupItem\\\",$6c1fd9e6a8969628$export$b453109e13abe10b=import_react77[\\\"default\\\"].forwardRef((e,t)=>{var r=$6c1fd9e6a8969628$var$useToggleGroupValueContext($6c1fd9e6a8969628$var$ITEM_NAME,e.__scopeToggleGroup),n=$6c1fd9e6a8969628$var$useToggleGroupContext($6c1fd9e6a8969628$var$ITEM_NAME,e.__scopeToggleGroup),o=$6c1fd9e6a8969628$var$useRovingFocusGroupScope(e.__scopeToggleGroup),r=r.value.includes(e.value),a=n.disabled||e.disabled,i={...e,pressed:r,disabled:a},s=import_react77[\\\"default\\\"].useRef(null);return n.rovingFocus?import_react77[\\\"default\\\"].createElement($d7bdfb9eb0fdf311$export$6d08773d2e66f8f2,_extends2({asChild:!0},o,{focusable:!a,active:r,ref:s}),import_react77[\\\"default\\\"].createElement($6c1fd9e6a8969628$var$ToggleGroupItemImpl,_extends2({},i,{ref:t}))):import_react77[\\\"default\\\"].createElement($6c1fd9e6a8969628$var$ToggleGroupItemImpl,_extends2({},i,{ref:t}))}),$6c1fd9e6a8969628$var$ToggleGroupItemImpl=import_react77[\\\"default\\\"].forwardRef((e,t)=>{const{__scopeToggleGroup:r,value:n,...o}=e,a=$6c1fd9e6a8969628$var$useToggleGroupValueContext($6c1fd9e6a8969628$var$ITEM_NAME,r);var i={role:\\\"radio\\\",\\\"aria-checked\\\":e.pressed,\\\"aria-pressed\\\":void 0},i=\\\"single\\\"===a.type?i:void 0;return import_react77[\\\"default\\\"].createElement($b3bbe2732c13b576$export$bea8ebba691c5813,_extends2({},i,o,{ref:t,onPressedChange:e=>{e?a.onItemActivate(n):a.onItemDeactivate(n)}}))}),$6c1fd9e6a8969628$export$be92b6f5f03c0fe9=$6c1fd9e6a8969628$export$af3ec21f6cfb5e30,$6c1fd9e6a8969628$export$6d08773d2e66f8f2=$6c1fd9e6a8969628$export$b453109e13abe10b,$3dc4ded751c8bdfb$var$TOOLBAR_NAME=\\\"Toolbar\\\",[$3dc4ded751c8bdfb$var$createToolbarContext,$3dc4ded751c8bdfb$export$233e637670877d91]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($3dc4ded751c8bdfb$var$TOOLBAR_NAME,[$d7bdfb9eb0fdf311$export$c7109489551a4f4,$6c1fd9e6a8969628$export$d1c7c4bcd9f26dd4]),$3dc4ded751c8bdfb$var$useRovingFocusGroupScope=$d7bdfb9eb0fdf311$export$c7109489551a4f4(),$3dc4ded751c8bdfb$var$useToggleGroupScope=$6c1fd9e6a8969628$export$d1c7c4bcd9f26dd4(),[$3dc4ded751c8bdfb$var$ToolbarProvider,$3dc4ded751c8bdfb$var$useToolbarContext]=$3dc4ded751c8bdfb$var$createToolbarContext($3dc4ded751c8bdfb$var$TOOLBAR_NAME),$3dc4ded751c8bdfb$export$4c260019440d418f=(0,import_react78.forwardRef)((e,t)=>{const{__scopeToolbar:r,orientation:n=\\\"horizontal\\\",dir:o,loop:a=!0,...i}=e;var s=$3dc4ded751c8bdfb$var$useRovingFocusGroupScope(r),c=$f631663db3294ace$export$b39126d51d94e6f3(o);return(0,import_react78.createElement)($3dc4ded751c8bdfb$var$ToolbarProvider,{scope:r,orientation:n,dir:c},(0,import_react78.createElement)($d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9,_extends2({asChild:!0},s,{orientation:n,dir:c,loop:a}),(0,import_react78.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends2({role:\\\"toolbar\\\",\\\"aria-orientation\\\":n,dir:c},i,{ref:t}))))}),$3dc4ded751c8bdfb$var$SEPARATOR_NAME=\\\"ToolbarSeparator\\\",$3dc4ded751c8bdfb$export$291e1a31e8ec7868=(0,import_react78.forwardRef)((e,t)=>{const{__scopeToolbar:r,...n}=e;var o=$3dc4ded751c8bdfb$var$useToolbarContext($3dc4ded751c8bdfb$var$SEPARATOR_NAME,r);return(0,import_react78.createElement)($89eedd556c436f6a$export$be92b6f5f03c0fe9,_extends2({orientation:\\\"horizontal\\\"===o.orientation?\\\"vertical\\\":\\\"horizontal\\\"},n,{ref:t}))}),$3dc4ded751c8bdfb$export$e5c1a33878e86e9e=(0,import_react78.forwardRef)((e,t)=>{const{__scopeToolbar:r,...n}=e;var o=$3dc4ded751c8bdfb$var$useRovingFocusGroupScope(r);return(0,import_react78.createElement)($d7bdfb9eb0fdf311$export$6d08773d2e66f8f2,_extends2({asChild:!0},o,{focusable:!e.disabled}),(0,import_react78.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.button,_extends2({type:\\\"button\\\"},n,{ref:t})))}),$3dc4ded751c8bdfb$export$ff5714eba66809fd=(0,import_react78.forwardRef)((e,t)=>{const{__scopeToolbar:r,...n}=e;var o=$3dc4ded751c8bdfb$var$useRovingFocusGroupScope(r);return(0,import_react78.createElement)($d7bdfb9eb0fdf311$export$6d08773d2e66f8f2,_extends2({asChild:!0},o,{focusable:!0}),(0,import_react78.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.a,_extends2({},n,{ref:t,onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onKeyDown,e=>{\\\" \\\"===e.key&&e.currentTarget.click()})})))}),$3dc4ded751c8bdfb$var$TOGGLE_GROUP_NAME=\\\"ToolbarToggleGroup\\\",$3dc4ded751c8bdfb$export$aeae28cb17562c0b=(0,import_react78.forwardRef)((e,t)=>{const{__scopeToolbar:r,...n}=e;var o=$3dc4ded751c8bdfb$var$useToolbarContext($3dc4ded751c8bdfb$var$TOGGLE_GROUP_NAME,r),a=$3dc4ded751c8bdfb$var$useToggleGroupScope(r);return(0,import_react78.createElement)($6c1fd9e6a8969628$export$be92b6f5f03c0fe9,_extends2({\\\"data-orientation\\\":o.orientation,dir:o.dir},a,n,{ref:t,rovingFocus:!1}))}),$3dc4ded751c8bdfb$export$546b879b639844a1=(0,import_react78.forwardRef)((e,t)=>{const{__scopeToolbar:r,...n}=e;var o=$3dc4ded751c8bdfb$var$useToggleGroupScope(r),a={__scopeToolbar:e.__scopeToolbar};return(0,import_react78.createElement)($3dc4ded751c8bdfb$export$e5c1a33878e86e9e,_extends2({asChild:!0},a),(0,import_react78.createElement)($6c1fd9e6a8969628$export$6d08773d2e66f8f2,_extends2({},o,n,{ref:t})))}),$3dc4ded751c8bdfb$export$be92b6f5f03c0fe9=$3dc4ded751c8bdfb$export$4c260019440d418f,$3dc4ded751c8bdfb$export$1ff3c3f08ae963c0=$3dc4ded751c8bdfb$export$291e1a31e8ec7868,$3dc4ded751c8bdfb$export$353f5b6fc5456de1=$3dc4ded751c8bdfb$export$e5c1a33878e86e9e,$3dc4ded751c8bdfb$export$a6c7ac8248d6e38a=$3dc4ded751c8bdfb$export$ff5714eba66809fd,$3dc4ded751c8bdfb$export$af3ec21f6cfb5e30=$3dc4ded751c8bdfb$export$aeae28cb17562c0b,$3dc4ded751c8bdfb$export$920ad4cf87b18fc7=$3dc4ded751c8bdfb$export$546b879b639844a1;function r8(e){var t,r,n=\\\"\\\";if(\\\"string\\\"==typeof e||\\\"number\\\"==typeof e)n+=e;else if(\\\"object\\\"==typeof e)if(Array.isArray(e))for(t=0;t\u003Ce.length;t++)e[t]&&(r=r8(e[t]))&&(n&&(n+=\\\" \\\"),n+=r);else for(t in e)e[t]&&(n&&(n+=\\\" \\\"),n+=t);return n}function clsx3(){for(var e,t=0,r=\\\"\\\";t\u003Carguments.length;)(e=arguments[t++])&&(e=r8(e))&&(r&&(r+=\\\" \\\"),r+=e);return r}init_esbuild_inject(),init_esbuild_inject();var falsyToString=e=>\\\"boolean\\\"==typeof e?\\\"\\\".concat(e):0===e?\\\"0\\\":e,cx=clsx3,cva=(r,s)=>n=>{if(null==(null==s?void 0:s.variants))return cx(r,null==n?void 0:n[\\\"class\\\"],null==n?void 0:n.className);const{variants:o,defaultVariants:a}=s;var e=Object.keys(o).map(e=>{var t=null==n?void 0:n[e],r=null===a||void 0===a?void 0:a[e];return null===t?null:(t=falsyToString(t)||falsyToString(r),o[e][t])});const i=n&&Object.entries(n).reduce((e,t)=>{var[r,n]=t;return void 0!==n&&(e[r]=n),e},{});var t=null==s||null==(t=s.compoundVariants)?void 0:t.reduce((e,t)=>{let{\\\"class\\\":r,className:n,...o}=t;return Object.entries(o).every(e=>{var[t,r]=e;return Array.isArray(r)?r.includes({...a,...i}[t]):{...a,...i}[t]===r})?[...e,r,n]:e},[]);return cx(r,e,t,null==n?void 0:n[\\\"class\\\"],null==n?void 0:n.className)},React31=__toESM(require(\\\"react\\\"));function twJoin(){for(var e,t=0,r=\\\"\\\";t\u003Carguments.length;)(e=arguments[t++])&&(e=toValue(e))&&(r&&(r+=\\\" \\\"),r+=e);return r}function toValue(e){if(\\\"string\\\"==typeof e)return e;for(var t,r=\\\"\\\",n=0;n\u003Ce.length;n++)e[n]&&(t=toValue(e[n]))&&(r&&(r+=\\\" \\\"),r+=t);return r}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var CLASS_PART_SEPARATOR=\\\"-\\\";function createClassUtils(e){var r=createClassMap(e),n=e.conflictingClassGroups,t=e.conflictingClassGroupModifiers,o=void 0===t?{}:t;return{getClassGroupId:function(e){var t=e.split(CLASS_PART_SEPARATOR);return\\\"\\\"===t[0]&&1!==t.length&&t.shift(),getGroupRecursive(t,r)||getGroupIdForArbitraryProperty(e)},getConflictingClassGroupIds:function(e,t){var r=n[e]||[];return t&&o[e]?[].concat(r,o[e]):r}}}function getGroupRecursive(e,t){var r,n;return 0===e.length?t.classGroupId:(r=e[0],((r=t.nextPart.get(r))?getGroupRecursive(e.slice(1),r):void 0)||(0===t.validators.length||(n=e.join(CLASS_PART_SEPARATOR),null==(r=t.validators.find(function(e){return(0,e.validator)(n)})))?void 0:r.classGroupId))}var arbitraryPropertyRegex=/^\\\\[(.+)\\\\]$/;function getGroupIdForArbitraryProperty(e){if(arbitraryPropertyRegex.test(e)){var t=arbitraryPropertyRegex.exec(e)[1],t=null==t?void 0:t.substring(0,t.indexOf(\\\":\\\"));if(t)return\\\"arbitrary..\\\"+t}}function createClassMap(e){var r=e.theme,t=e.prefix,n={nextPart:new Map,validators:[]};return getPrefixedClassGroupEntries(Object.entries(e.classGroups),t).forEach(function(e){var t=e[0];processClassesRecursively(e[1],n,t,r)}),n}function processClassesRecursively(e,r,n,o){e.forEach(function(e){if(\\\"string\\\"!=typeof e)return\\\"function\\\"==typeof e?isThemeGetter(e)?void processClassesRecursively(e(o),r,n,o):void r.validators.push({validator:e,classGroupId:n}):void Object.entries(e).forEach(function(e){var t=e[0];processClassesRecursively(e[1],getPart(r,t),n,o)});(\\\"\\\"===e?r:getPart(r,e)).classGroupId=n})}function getPart(e,t){var r=e;return t.split(CLASS_PART_SEPARATOR).forEach(function(e){r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r}function isThemeGetter(e){return e.isThemeGetter}function getPrefixedClassGroupEntries(e,n){return n?e.map(function(e){return[e[0],e[1].map(function(e){return\\\"string\\\"==typeof e?n+e:\\\"object\\\"==typeof e?Object.fromEntries(Object.entries(e).map(function(e){var t=e[0],r=e[1];return[n+t,r]})):e})]}):e}function createLruCache(r){var n,o,a;return r\u003C1?{get:function(){},set:function(){}}:(n=0,o=new Map,a=new Map,{get:function(e){var t=o.get(e);return void 0!==t?t:void 0!==(t=a.get(e))?(i(e,t),t):void 0},set:function(e,t){o.has(e)?o.set(e,t):i(e,t)}});function i(e,t){o.set(e,t),r\u003C++n&&(n=0,a=o,o=new Map)}}init_esbuild_inject(),init_esbuild_inject();var IMPORTANT_MODIFIER=\\\"!\\\";function createSplitModifiers(e){var l=e.separator||\\\":\\\",u=1===l.length,d=l[0],p=l.length;return function(e){for(var t,r=[],n=0,o=0,a=0;a\u003Ce.length;a++){var i=e[a];if(0===n){if(i===d&&(u||e.slice(a,a+p)===l)){r.push(e.slice(o,a)),o=a+p;continue}if(\\\"/\\\"===i){t=a;continue}}\\\"[\\\"===i?n++:\\\"]\\\"===i&&n--}var s=0===r.length?e:e.substring(o),c=s.startsWith(IMPORTANT_MODIFIER);return{modifiers:r,hasImportantModifier:c,baseClassName:c?s.substring(1):s,maybePostfixModifierPosition:t&&o\u003Ct?t-o:void 0}}}function sortModifiers(e){var t,r;return e.length\u003C=1?e:(t=[],r=[],e.forEach(function(e){\\\"[\\\"===e[0]?(t.push.apply(t,r.sort().concat([e])),r=[]):r.push(e)}),t.push.apply(t,r.sort()),t)}function createConfigUtils(e){return{cache:createLruCache(e.cacheSize),splitModifiers:createSplitModifiers(e),...createClassUtils(e)}}init_esbuild_inject();var SPLIT_CLASSES_REGEX=/\\\\s+/;function mergeClassList(e,t){var s=t.splitModifiers,c=t.getClassGroupId,a=t.getConflictingClassGroupIds,i=new Set;return e.trim().split(SPLIT_CLASSES_REGEX).map(function(e){var t=s(e),r=t.modifiers,n=t.hasImportantModifier,o=t.baseClassName,t=t.maybePostfixModifierPosition,a=c(t?o.substring(0,t):o),i=Boolean(t);if(!a){if(!t)return{isTailwindClass:!1,originalClassName:e};if(!(a=c(o)))return{isTailwindClass:!1,originalClassName:e};i=!1}t=sortModifiers(r).join(\\\":\\\");return{isTailwindClass:!0,modifierId:n?t+IMPORTANT_MODIFIER:t,classGroupId:a,originalClassName:e,hasPostfixModifier:i}}).reverse().filter(function(e){if(e.isTailwindClass){var t=e.modifierId,r=e.classGroupId,n=e.hasPostfixModifier,o=t+r;if(i.has(o))return!1;i.add(o),a(r,n).forEach(function(e){return i.add(t+e)})}return!0}).reverse().map(function(e){return e.originalClassName}).join(\\\" \\\")}function createTailwindMerge(){for(var r,n,o,e=arguments.length,a=new Array(e),t=0;t\u003Ce;t++)a[t]=arguments[t];var i=function(e){var t=a[0],t=a.slice(1).reduce(function(e,t){return t(e)},t());return r=createConfigUtils(t),n=r.cache.get,o=r.cache.set,(i=s)(e)};function s(e){var t=n(e);return t||(t=mergeClassList(e,r),o(e,t),t)}return function(){return i(twJoin.apply(null,arguments))}}function fromTheme(t){var e=function(e){return e[t]||[]};return e.isThemeGetter=!0,e}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var arbitraryValueRegex=/^\\\\[(?:([a-z-]+):)?(.+)\\\\]$/i,fractionRegex=/^\\\\d+\\\\/\\\\d+$/,stringLengths=new Set([\\\"px\\\",\\\"full\\\",\\\"screen\\\"]),tshirtUnitRegex=/^(\\\\d+(\\\\.\\\\d+)?)?(xs|sm|md|lg|xl)$/,lengthUnitRegex=/\\\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\\\b(calc|min|max|clamp)\\\\(.+\\\\)|^0$/,shadowRegex=/^-?((\\\\d+)?\\\\.?(\\\\d+)[a-z]+|0)_-?((\\\\d+)?\\\\.?(\\\\d+)[a-z]+|0)/;function isLength7(e){return isNumber(e)||stringLengths.has(e)||fractionRegex.test(e)||isArbitraryLength(e)}function isArbitraryLength(e){return getIsArbitraryValue(e,\\\"length\\\",isLengthOnly)}function isArbitrarySize(e){return getIsArbitraryValue(e,\\\"size\\\",isNever)}function isArbitraryPosition(e){return getIsArbitraryValue(e,\\\"position\\\",isNever)}function isArbitraryUrl(e){return getIsArbitraryValue(e,\\\"url\\\",isUrl2)}function isArbitraryNumber(e){return getIsArbitraryValue(e,\\\"number\\\",isNumber)}function isNumber(e){return!Number.isNaN(Number(e))}function isPercent(e){return e.endsWith(\\\"%\\\")&&isNumber(e.slice(0,-1))}function isInteger(e){return isIntegerOnly(e)||getIsArbitraryValue(e,\\\"number\\\",isIntegerOnly)}function isArbitraryValue(e){return arbitraryValueRegex.test(e)}function isAny(){return!0}function isTshirtSize(e){return tshirtUnitRegex.test(e)}function isArbitraryShadow(e){return getIsArbitraryValue(e,\\\"\\\",isShadow)}function getIsArbitraryValue(e,t,r){var n=arbitraryValueRegex.exec(e);return!!n&&(n[1]?n[1]===t:r(n[2]))}function isLengthOnly(e){return lengthUnitRegex.test(e)}function isNever(){return!1}function isUrl2(e){return e.startsWith(\\\"url(\\\")}function isIntegerOnly(e){return Number.isInteger(Number(e))}function isShadow(e){return shadowRegex.test(e)}function getDefaultConfig(){var e=fromTheme(\\\"colors\\\"),t=fromTheme(\\\"spacing\\\"),r=fromTheme(\\\"blur\\\"),n=fromTheme(\\\"brightness\\\"),o=fromTheme(\\\"borderColor\\\"),a=fromTheme(\\\"borderRadius\\\"),i=fromTheme(\\\"borderSpacing\\\"),s=fromTheme(\\\"borderWidth\\\"),c=fromTheme(\\\"contrast\\\"),l=fromTheme(\\\"grayscale\\\"),u=fromTheme(\\\"hueRotate\\\"),d=fromTheme(\\\"invert\\\"),p=fromTheme(\\\"gap\\\"),f=fromTheme(\\\"gradientColorStops\\\"),g=fromTheme(\\\"gradientColorStopPositions\\\"),m=fromTheme(\\\"inset\\\"),h=fromTheme(\\\"margin\\\"),_=fromTheme(\\\"opacity\\\"),v=fromTheme(\\\"padding\\\"),y=fromTheme(\\\"saturate\\\"),b=fromTheme(\\\"scale\\\"),E=fromTheme(\\\"sepia\\\"),T=fromTheme(\\\"skew\\\"),C=fromTheme(\\\"space\\\"),w=fromTheme(\\\"translate\\\"),S=function(){return[\\\"auto\\\",\\\"contain\\\",\\\"none\\\"]},x=function(){return[\\\"auto\\\",\\\"hidden\\\",\\\"clip\\\",\\\"visible\\\",\\\"scroll\\\"]},D=function(){return[\\\"auto\\\",isArbitraryValue,t]},$=function(){return[isArbitraryValue,t]},A=function(){return[\\\"\\\",isLength7]},O=function(){return[\\\"auto\\\",isNumber,isArbitraryValue]},N=function(){return[\\\"bottom\\\",\\\"center\\\",\\\"left\\\",\\\"left-bottom\\\",\\\"left-top\\\",\\\"right\\\",\\\"right-bottom\\\",\\\"right-top\\\",\\\"top\\\"]},P=function(){return[\\\"solid\\\",\\\"dashed\\\",\\\"dotted\\\",\\\"double\\\",\\\"none\\\"]},M=function(){return[\\\"normal\\\",\\\"multiply\\\",\\\"screen\\\",\\\"overlay\\\",\\\"darken\\\",\\\"lighten\\\",\\\"color-dodge\\\",\\\"color-burn\\\",\\\"hard-light\\\",\\\"soft-light\\\",\\\"difference\\\",\\\"exclusion\\\",\\\"hue\\\",\\\"saturation\\\",\\\"color\\\",\\\"luminosity\\\",\\\"plus-lighter\\\"]},I=function(){return[\\\"start\\\",\\\"end\\\",\\\"center\\\",\\\"between\\\",\\\"around\\\",\\\"evenly\\\",\\\"stretch\\\"]},j=function(){return[\\\"\\\",\\\"0\\\",isArbitraryValue]},B=function(){return[\\\"auto\\\",\\\"avoid\\\",\\\"all\\\",\\\"avoid-page\\\",\\\"page\\\",\\\"left\\\",\\\"right\\\",\\\"column\\\"]},R=function(){return[isNumber,isArbitraryNumber]},k=function(){return[isNumber,isArbitraryValue]};return{cacheSize:500,theme:{colors:[isAny],spacing:[isLength7],blur:[\\\"none\\\",\\\"\\\",isTshirtSize,isArbitraryValue],brightness:R(),borderColor:[e],borderRadius:[\\\"none\\\",\\\"\\\",\\\"full\\\",isTshirtSize,isArbitraryValue],borderSpacing:$(),borderWidth:A(),contrast:R(),grayscale:j(),hueRotate:k(),invert:j(),gap:$(),gradientColorStops:[e],gradientColorStopPositions:[isPercent,isArbitraryLength],inset:D(),margin:D(),opacity:R(),padding:$(),saturate:R(),scale:R(),sepia:j(),skew:k(),space:$(),translate:$()},classGroups:{aspect:[{aspect:[\\\"auto\\\",\\\"square\\\",\\\"video\\\",isArbitraryValue]}],container:[\\\"container\\\"],columns:[{columns:[isTshirtSize]}],\\\"break-after\\\":[{\\\"break-after\\\":B()}],\\\"break-before\\\":[{\\\"break-before\\\":B()}],\\\"break-inside\\\":[{\\\"break-inside\\\":[\\\"auto\\\",\\\"avoid\\\",\\\"avoid-page\\\",\\\"avoid-column\\\"]}],\\\"box-decoration\\\":[{\\\"box-decoration\\\":[\\\"slice\\\",\\\"clone\\\"]}],box:[{box:[\\\"border\\\",\\\"content\\\"]}],display:[\\\"block\\\",\\\"inline-block\\\",\\\"inline\\\",\\\"flex\\\",\\\"inline-flex\\\",\\\"table\\\",\\\"inline-table\\\",\\\"table-caption\\\",\\\"table-cell\\\",\\\"table-column\\\",\\\"table-column-group\\\",\\\"table-footer-group\\\",\\\"table-header-group\\\",\\\"table-row-group\\\",\\\"table-row\\\",\\\"flow-root\\\",\\\"grid\\\",\\\"inline-grid\\\",\\\"contents\\\",\\\"list-item\\\",\\\"hidden\\\"],\\\"float\\\":[{\\\"float\\\":[\\\"right\\\",\\\"left\\\",\\\"none\\\"]}],clear:[{clear:[\\\"left\\\",\\\"right\\\",\\\"both\\\",\\\"none\\\"]}],isolation:[\\\"isolate\\\",\\\"isolation-auto\\\"],\\\"object-fit\\\":[{object:[\\\"contain\\\",\\\"cover\\\",\\\"fill\\\",\\\"none\\\",\\\"scale-down\\\"]}],\\\"object-position\\\":[{object:[].concat(N(),[isArbitraryValue])}],overflow:[{overflow:x()}],\\\"overflow-x\\\":[{\\\"overflow-x\\\":x()}],\\\"overflow-y\\\":[{\\\"overflow-y\\\":x()}],overscroll:[{overscroll:S()}],\\\"overscroll-x\\\":[{\\\"overscroll-x\\\":S()}],\\\"overscroll-y\\\":[{\\\"overscroll-y\\\":S()}],position:[\\\"static\\\",\\\"fixed\\\",\\\"absolute\\\",\\\"relative\\\",\\\"sticky\\\"],inset:[{inset:[m]}],\\\"inset-x\\\":[{\\\"inset-x\\\":[m]}],\\\"inset-y\\\":[{\\\"inset-y\\\":[m]}],start:[{start:[m]}],end:[{end:[m]}],top:[{top:[m]}],right:[{right:[m]}],bottom:[{bottom:[m]}],left:[{left:[m]}],visibility:[\\\"visible\\\",\\\"invisible\\\",\\\"collapse\\\"],z:[{z:[\\\"auto\\\",isInteger]}],basis:[{basis:D()}],\\\"flex-direction\\\":[{flex:[\\\"row\\\",\\\"row-reverse\\\",\\\"col\\\",\\\"col-reverse\\\"]}],\\\"flex-wrap\\\":[{flex:[\\\"wrap\\\",\\\"wrap-reverse\\\",\\\"nowrap\\\"]}],flex:[{flex:[\\\"1\\\",\\\"auto\\\",\\\"initial\\\",\\\"none\\\",isArbitraryValue]}],grow:[{grow:j()}],shrink:[{shrink:j()}],order:[{order:[\\\"first\\\",\\\"last\\\",\\\"none\\\",isInteger]}],\\\"grid-cols\\\":[{\\\"grid-cols\\\":[isAny]}],\\\"col-start-end\\\":[{col:[\\\"auto\\\",{span:[\\\"full\\\",isInteger]},isArbitraryValue]}],\\\"col-start\\\":[{\\\"col-start\\\":O()}],\\\"col-end\\\":[{\\\"col-end\\\":O()}],\\\"grid-rows\\\":[{\\\"grid-rows\\\":[isAny]}],\\\"row-start-end\\\":[{row:[\\\"auto\\\",{span:[isInteger]},isArbitraryValue]}],\\\"row-start\\\":[{\\\"row-start\\\":O()}],\\\"row-end\\\":[{\\\"row-end\\\":O()}],\\\"grid-flow\\\":[{\\\"grid-flow\\\":[\\\"row\\\",\\\"col\\\",\\\"dense\\\",\\\"row-dense\\\",\\\"col-dense\\\"]}],\\\"auto-cols\\\":[{\\\"auto-cols\\\":[\\\"auto\\\",\\\"min\\\",\\\"max\\\",\\\"fr\\\",isArbitraryValue]}],\\\"auto-rows\\\":[{\\\"auto-rows\\\":[\\\"auto\\\",\\\"min\\\",\\\"max\\\",\\\"fr\\\",isArbitraryValue]}],gap:[{gap:[p]}],\\\"gap-x\\\":[{\\\"gap-x\\\":[p]}],\\\"gap-y\\\":[{\\\"gap-y\\\":[p]}],\\\"justify-content\\\":[{justify:[\\\"normal\\\"].concat(I())}],\\\"justify-items\\\":[{\\\"justify-items\\\":[\\\"start\\\",\\\"end\\\",\\\"center\\\",\\\"stretch\\\"]}],\\\"justify-self\\\":[{\\\"justify-self\\\":[\\\"auto\\\",\\\"start\\\",\\\"end\\\",\\\"center\\\",\\\"stretch\\\"]}],\\\"align-content\\\":[{content:[\\\"normal\\\"].concat(I(),[\\\"baseline\\\"])}],\\\"align-items\\\":[{items:[\\\"start\\\",\\\"end\\\",\\\"center\\\",\\\"baseline\\\",\\\"stretch\\\"]}],\\\"align-self\\\":[{self:[\\\"auto\\\",\\\"start\\\",\\\"end\\\",\\\"center\\\",\\\"stretch\\\",\\\"baseline\\\"]}],\\\"place-content\\\":[{\\\"place-content\\\":[].concat(I(),[\\\"baseline\\\"])}],\\\"place-items\\\":[{\\\"place-items\\\":[\\\"start\\\",\\\"end\\\",\\\"center\\\",\\\"baseline\\\",\\\"stretch\\\"]}],\\\"place-self\\\":[{\\\"place-self\\\":[\\\"auto\\\",\\\"start\\\",\\\"end\\\",\\\"center\\\",\\\"stretch\\\"]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[h]}],mx:[{mx:[h]}],my:[{my:[h]}],ms:[{ms:[h]}],me:[{me:[h]}],mt:[{mt:[h]}],mr:[{mr:[h]}],mb:[{mb:[h]}],ml:[{ml:[h]}],\\\"space-x\\\":[{\\\"space-x\\\":[C]}],\\\"space-x-reverse\\\":[\\\"space-x-reverse\\\"],\\\"space-y\\\":[{\\\"space-y\\\":[C]}],\\\"space-y-reverse\\\":[\\\"space-y-reverse\\\"],w:[{w:[\\\"auto\\\",\\\"min\\\",\\\"max\\\",\\\"fit\\\",isArbitraryValue,t]}],\\\"min-w\\\":[{\\\"min-w\\\":[\\\"min\\\",\\\"max\\\",\\\"fit\\\",isArbitraryValue,isLength7]}],\\\"max-w\\\":[{\\\"max-w\\\":[\\\"0\\\",\\\"none\\\",\\\"full\\\",\\\"min\\\",\\\"max\\\",\\\"fit\\\",\\\"prose\\\",{screen:[isTshirtSize]},isTshirtSize,isArbitraryValue]}],h:[{h:[isArbitraryValue,t,\\\"auto\\\",\\\"min\\\",\\\"max\\\",\\\"fit\\\"]}],\\\"min-h\\\":[{\\\"min-h\\\":[\\\"min\\\",\\\"max\\\",\\\"fit\\\",isArbitraryValue,isLength7]}],\\\"max-h\\\":[{\\\"max-h\\\":[isArbitraryValue,t,\\\"min\\\",\\\"max\\\",\\\"fit\\\"]}],\\\"font-size\\\":[{text:[\\\"base\\\",isTshirtSize,isArbitraryLength]}],\\\"font-smoothing\\\":[\\\"antialiased\\\",\\\"subpixel-antialiased\\\"],\\\"font-style\\\":[\\\"italic\\\",\\\"not-italic\\\"],\\\"font-weight\\\":[{font:[\\\"thin\\\",\\\"extralight\\\",\\\"light\\\",\\\"normal\\\",\\\"medium\\\",\\\"semibold\\\",\\\"bold\\\",\\\"extrabold\\\",\\\"black\\\",isArbitraryNumber]}],\\\"font-family\\\":[{font:[isAny]}],\\\"fvn-normal\\\":[\\\"normal-nums\\\"],\\\"fvn-ordinal\\\":[\\\"ordinal\\\"],\\\"fvn-slashed-zero\\\":[\\\"slashed-zero\\\"],\\\"fvn-figure\\\":[\\\"lining-nums\\\",\\\"oldstyle-nums\\\"],\\\"fvn-spacing\\\":[\\\"proportional-nums\\\",\\\"tabular-nums\\\"],\\\"fvn-fraction\\\":[\\\"diagonal-fractions\\\",\\\"stacked-fractons\\\"],tracking:[{tracking:[\\\"tighter\\\",\\\"tight\\\",\\\"normal\\\",\\\"wide\\\",\\\"wider\\\",\\\"widest\\\",isArbitraryValue]}],\\\"line-clamp\\\":[{\\\"line-clamp\\\":[\\\"none\\\",isNumber,isArbitraryNumber]}],leading:[{leading:[\\\"none\\\",\\\"tight\\\",\\\"snug\\\",\\\"normal\\\",\\\"relaxed\\\",\\\"loose\\\",isArbitraryValue,isLength7]}],\\\"list-image\\\":[{\\\"list-image\\\":[\\\"none\\\",isArbitraryValue]}],\\\"list-style-type\\\":[{list:[\\\"none\\\",\\\"disc\\\",\\\"decimal\\\",isArbitraryValue]}],\\\"list-style-position\\\":[{list:[\\\"inside\\\",\\\"outside\\\"]}],\\\"placeholder-color\\\":[{placeholder:[e]}],\\\"placeholder-opacity\\\":[{\\\"placeholder-opacity\\\":[_]}],\\\"text-alignment\\\":[{text:[\\\"left\\\",\\\"center\\\",\\\"right\\\",\\\"justify\\\",\\\"start\\\",\\\"end\\\"]}],\\\"text-color\\\":[{text:[e]}],\\\"text-opacity\\\":[{\\\"text-opacity\\\":[_]}],\\\"text-decoration\\\":[\\\"underline\\\",\\\"overline\\\",\\\"line-through\\\",\\\"no-underline\\\"],\\\"text-decoration-style\\\":[{decoration:[].concat(P(),[\\\"wavy\\\"])}],\\\"text-decoration-thickness\\\":[{decoration:[\\\"auto\\\",\\\"from-font\\\",isLength7]}],\\\"underline-offset\\\":[{\\\"underline-offset\\\":[\\\"auto\\\",isArbitraryValue,isLength7]}],\\\"text-decoration-color\\\":[{decoration:[e]}],\\\"text-transform\\\":[\\\"uppercase\\\",\\\"lowercase\\\",\\\"capitalize\\\",\\\"normal-case\\\"],\\\"text-overflow\\\":[\\\"truncate\\\",\\\"text-ellipsis\\\",\\\"text-clip\\\"],indent:[{indent:$()}],\\\"vertical-align\\\":[{align:[\\\"baseline\\\",\\\"top\\\",\\\"middle\\\",\\\"bottom\\\",\\\"text-top\\\",\\\"text-bottom\\\",\\\"sub\\\",\\\"super\\\",isArbitraryValue]}],whitespace:[{whitespace:[\\\"normal\\\",\\\"nowrap\\\",\\\"pre\\\",\\\"pre-line\\\",\\\"pre-wrap\\\",\\\"break-spaces\\\"]}],\\\"break\\\":[{\\\"break\\\":[\\\"normal\\\",\\\"words\\\",\\\"all\\\",\\\"keep\\\"]}],hyphens:[{hyphens:[\\\"none\\\",\\\"manual\\\",\\\"auto\\\"]}],content:[{content:[\\\"none\\\",isArbitraryValue]}],\\\"bg-attachment\\\":[{bg:[\\\"fixed\\\",\\\"local\\\",\\\"scroll\\\"]}],\\\"bg-clip\\\":[{\\\"bg-clip\\\":[\\\"border\\\",\\\"padding\\\",\\\"content\\\",\\\"text\\\"]}],\\\"bg-opacity\\\":[{\\\"bg-opacity\\\":[_]}],\\\"bg-origin\\\":[{\\\"bg-origin\\\":[\\\"border\\\",\\\"padding\\\",\\\"content\\\"]}],\\\"bg-position\\\":[{bg:[].concat(N(),[isArbitraryPosition])}],\\\"bg-repeat\\\":[{bg:[\\\"no-repeat\\\",{repeat:[\\\"\\\",\\\"x\\\",\\\"y\\\",\\\"round\\\",\\\"space\\\"]}]}],\\\"bg-size\\\":[{bg:[\\\"auto\\\",\\\"cover\\\",\\\"contain\\\",isArbitrarySize]}],\\\"bg-image\\\":[{bg:[\\\"none\\\",{\\\"gradient-to\\\":[\\\"t\\\",\\\"tr\\\",\\\"r\\\",\\\"br\\\",\\\"b\\\",\\\"bl\\\",\\\"l\\\",\\\"tl\\\"]},isArbitraryUrl]}],\\\"bg-color\\\":[{bg:[e]}],\\\"gradient-from-pos\\\":[{from:[g]}],\\\"gradient-via-pos\\\":[{via:[g]}],\\\"gradient-to-pos\\\":[{to:[g]}],\\\"gradient-from\\\":[{from:[f]}],\\\"gradient-via\\\":[{via:[f]}],\\\"gradient-to\\\":[{to:[f]}],rounded:[{rounded:[a]}],\\\"rounded-s\\\":[{\\\"rounded-s\\\":[a]}],\\\"rounded-e\\\":[{\\\"rounded-e\\\":[a]}],\\\"rounded-t\\\":[{\\\"rounded-t\\\":[a]}],\\\"rounded-r\\\":[{\\\"rounded-r\\\":[a]}],\\\"rounded-b\\\":[{\\\"rounded-b\\\":[a]}],\\\"rounded-l\\\":[{\\\"rounded-l\\\":[a]}],\\\"rounded-ss\\\":[{\\\"rounded-ss\\\":[a]}],\\\"rounded-se\\\":[{\\\"rounded-se\\\":[a]}],\\\"rounded-ee\\\":[{\\\"rounded-ee\\\":[a]}],\\\"rounded-es\\\":[{\\\"rounded-es\\\":[a]}],\\\"rounded-tl\\\":[{\\\"rounded-tl\\\":[a]}],\\\"rounded-tr\\\":[{\\\"rounded-tr\\\":[a]}],\\\"rounded-br\\\":[{\\\"rounded-br\\\":[a]}],\\\"rounded-bl\\\":[{\\\"rounded-bl\\\":[a]}],\\\"border-w\\\":[{border:[s]}],\\\"border-w-x\\\":[{\\\"border-x\\\":[s]}],\\\"border-w-y\\\":[{\\\"border-y\\\":[s]}],\\\"border-w-s\\\":[{\\\"border-s\\\":[s]}],\\\"border-w-e\\\":[{\\\"border-e\\\":[s]}],\\\"border-w-t\\\":[{\\\"border-t\\\":[s]}],\\\"border-w-r\\\":[{\\\"border-r\\\":[s]}],\\\"border-w-b\\\":[{\\\"border-b\\\":[s]}],\\\"border-w-l\\\":[{\\\"border-l\\\":[s]}],\\\"border-opacity\\\":[{\\\"border-opacity\\\":[_]}],\\\"border-style\\\":[{border:[].concat(P(),[\\\"hidden\\\"])}],\\\"divide-x\\\":[{\\\"divide-x\\\":[s]}],\\\"divide-x-reverse\\\":[\\\"divide-x-reverse\\\"],\\\"divide-y\\\":[{\\\"divide-y\\\":[s]}],\\\"divide-y-reverse\\\":[\\\"divide-y-reverse\\\"],\\\"divide-opacity\\\":[{\\\"divide-opacity\\\":[_]}],\\\"divide-style\\\":[{divide:P()}],\\\"border-color\\\":[{border:[o]}],\\\"border-color-x\\\":[{\\\"border-x\\\":[o]}],\\\"border-color-y\\\":[{\\\"border-y\\\":[o]}],\\\"border-color-t\\\":[{\\\"border-t\\\":[o]}],\\\"border-color-r\\\":[{\\\"border-r\\\":[o]}],\\\"border-color-b\\\":[{\\\"border-b\\\":[o]}],\\\"border-color-l\\\":[{\\\"border-l\\\":[o]}],\\\"divide-color\\\":[{divide:[o]}],\\\"outline-style\\\":[{outline:[\\\"\\\"].concat(P())}],\\\"outline-offset\\\":[{\\\"outline-offset\\\":[isArbitraryValue,isLength7]}],\\\"outline-w\\\":[{outline:[isLength7]}],\\\"outline-color\\\":[{outline:[e]}],\\\"ring-w\\\":[{ring:A()}],\\\"ring-w-inset\\\":[\\\"ring-inset\\\"],\\\"ring-color\\\":[{ring:[e]}],\\\"ring-opacity\\\":[{\\\"ring-opacity\\\":[_]}],\\\"ring-offset-w\\\":[{\\\"ring-offset\\\":[isLength7]}],\\\"ring-offset-color\\\":[{\\\"ring-offset\\\":[e]}],shadow:[{shadow:[\\\"\\\",\\\"inner\\\",\\\"none\\\",isTshirtSize,isArbitraryShadow]}],\\\"shadow-color\\\":[{shadow:[isAny]}],opacity:[{opacity:[_]}],\\\"mix-blend\\\":[{\\\"mix-blend\\\":M()}],\\\"bg-blend\\\":[{\\\"bg-blend\\\":M()}],filter:[{filter:[\\\"\\\",\\\"none\\\"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[c]}],\\\"drop-shadow\\\":[{\\\"drop-shadow\\\":[\\\"\\\",\\\"none\\\",isTshirtSize,isArbitraryValue]}],grayscale:[{grayscale:[l]}],\\\"hue-rotate\\\":[{\\\"hue-rotate\\\":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[y]}],sepia:[{sepia:[E]}],\\\"backdrop-filter\\\":[{\\\"backdrop-filter\\\":[\\\"\\\",\\\"none\\\"]}],\\\"backdrop-blur\\\":[{\\\"backdrop-blur\\\":[r]}],\\\"backdrop-brightness\\\":[{\\\"backdrop-brightness\\\":[n]}],\\\"backdrop-contrast\\\":[{\\\"backdrop-contrast\\\":[c]}],\\\"backdrop-grayscale\\\":[{\\\"backdrop-grayscale\\\":[l]}],\\\"backdrop-hue-rotate\\\":[{\\\"backdrop-hue-rotate\\\":[u]}],\\\"backdrop-invert\\\":[{\\\"backdrop-invert\\\":[d]}],\\\"backdrop-opacity\\\":[{\\\"backdrop-opacity\\\":[_]}],\\\"backdrop-saturate\\\":[{\\\"backdrop-saturate\\\":[y]}],\\\"backdrop-sepia\\\":[{\\\"backdrop-sepia\\\":[E]}],\\\"border-collapse\\\":[{border:[\\\"collapse\\\",\\\"separate\\\"]}],\\\"border-spacing\\\":[{\\\"border-spacing\\\":[i]}],\\\"border-spacing-x\\\":[{\\\"border-spacing-x\\\":[i]}],\\\"border-spacing-y\\\":[{\\\"border-spacing-y\\\":[i]}],\\\"table-layout\\\":[{table:[\\\"auto\\\",\\\"fixed\\\"]}],caption:[{caption:[\\\"top\\\",\\\"bottom\\\"]}],transition:[{transition:[\\\"none\\\",\\\"all\\\",\\\"\\\",\\\"colors\\\",\\\"opacity\\\",\\\"shadow\\\",\\\"transform\\\",isArbitraryValue]}],duration:[{duration:k()}],ease:[{ease:[\\\"linear\\\",\\\"in\\\",\\\"out\\\",\\\"in-out\\\",isArbitraryValue]}],delay:[{delay:k()}],animate:[{animate:[\\\"none\\\",\\\"spin\\\",\\\"ping\\\",\\\"pulse\\\",\\\"bounce\\\",isArbitraryValue]}],transform:[{transform:[\\\"\\\",\\\"gpu\\\",\\\"none\\\"]}],scale:[{scale:[b]}],\\\"scale-x\\\":[{\\\"scale-x\\\":[b]}],\\\"scale-y\\\":[{\\\"scale-y\\\":[b]}],rotate:[{rotate:[isInteger,isArbitraryValue]}],\\\"translate-x\\\":[{\\\"translate-x\\\":[w]}],\\\"translate-y\\\":[{\\\"translate-y\\\":[w]}],\\\"skew-x\\\":[{\\\"skew-x\\\":[T]}],\\\"skew-y\\\":[{\\\"skew-y\\\":[T]}],\\\"transform-origin\\\":[{origin:[\\\"center\\\",\\\"top\\\",\\\"top-right\\\",\\\"right\\\",\\\"bottom-right\\\",\\\"bottom\\\",\\\"bottom-left\\\",\\\"left\\\",\\\"top-left\\\",isArbitraryValue]}],accent:[{accent:[\\\"auto\\\",e]}],appearance:[\\\"appearance-none\\\"],cursor:[{cursor:[\\\"auto\\\",\\\"default\\\",\\\"pointer\\\",\\\"wait\\\",\\\"text\\\",\\\"move\\\",\\\"help\\\",\\\"not-allowed\\\",\\\"none\\\",\\\"context-menu\\\",\\\"progress\\\",\\\"cell\\\",\\\"crosshair\\\",\\\"vertical-text\\\",\\\"alias\\\",\\\"copy\\\",\\\"no-drop\\\",\\\"grab\\\",\\\"grabbing\\\",\\\"all-scroll\\\",\\\"col-resize\\\",\\\"row-resize\\\",\\\"n-resize\\\",\\\"e-resize\\\",\\\"s-resize\\\",\\\"w-resize\\\",\\\"ne-resize\\\",\\\"nw-resize\\\",\\\"se-resize\\\",\\\"sw-resize\\\",\\\"ew-resize\\\",\\\"ns-resize\\\",\\\"nesw-resize\\\",\\\"nwse-resize\\\",\\\"zoom-in\\\",\\\"zoom-out\\\",isArbitraryValue]}],\\\"caret-color\\\":[{caret:[e]}],\\\"pointer-events\\\":[{\\\"pointer-events\\\":[\\\"none\\\",\\\"auto\\\"]}],resize:[{resize:[\\\"none\\\",\\\"y\\\",\\\"x\\\",\\\"\\\"]}],\\\"scroll-behavior\\\":[{scroll:[\\\"auto\\\",\\\"smooth\\\"]}],\\\"scroll-m\\\":[{\\\"scroll-m\\\":$()}],\\\"scroll-mx\\\":[{\\\"scroll-mx\\\":$()}],\\\"scroll-my\\\":[{\\\"scroll-my\\\":$()}],\\\"scroll-ms\\\":[{\\\"scroll-ms\\\":$()}],\\\"scroll-me\\\":[{\\\"scroll-me\\\":$()}],\\\"scroll-mt\\\":[{\\\"scroll-mt\\\":$()}],\\\"scroll-mr\\\":[{\\\"scroll-mr\\\":$()}],\\\"scroll-mb\\\":[{\\\"scroll-mb\\\":$()}],\\\"scroll-ml\\\":[{\\\"scroll-ml\\\":$()}],\\\"scroll-p\\\":[{\\\"scroll-p\\\":$()}],\\\"scroll-px\\\":[{\\\"scroll-px\\\":$()}],\\\"scroll-py\\\":[{\\\"scroll-py\\\":$()}],\\\"scroll-ps\\\":[{\\\"scroll-ps\\\":$()}],\\\"scroll-pe\\\":[{\\\"scroll-pe\\\":$()}],\\\"scroll-pt\\\":[{\\\"scroll-pt\\\":$()}],\\\"scroll-pr\\\":[{\\\"scroll-pr\\\":$()}],\\\"scroll-pb\\\":[{\\\"scroll-pb\\\":$()}],\\\"scroll-pl\\\":[{\\\"scroll-pl\\\":$()}],\\\"snap-align\\\":[{snap:[\\\"start\\\",\\\"end\\\",\\\"center\\\",\\\"align-none\\\"]}],\\\"snap-stop\\\":[{snap:[\\\"normal\\\",\\\"always\\\"]}],\\\"snap-type\\\":[{snap:[\\\"none\\\",\\\"x\\\",\\\"y\\\",\\\"both\\\"]}],\\\"snap-strictness\\\":[{snap:[\\\"mandatory\\\",\\\"proximity\\\"]}],touch:[{touch:[\\\"auto\\\",\\\"none\\\",\\\"pinch-zoom\\\",\\\"manipulation\\\",{pan:[\\\"x\\\",\\\"left\\\",\\\"right\\\",\\\"y\\\",\\\"up\\\",\\\"down\\\"]}]}],select:[{select:[\\\"none\\\",\\\"text\\\",\\\"all\\\",\\\"auto\\\"]}],\\\"will-change\\\":[{\\\"will-change\\\":[\\\"auto\\\",\\\"scroll\\\",\\\"contents\\\",\\\"transform\\\",isArbitraryValue]}],fill:[{fill:[e,\\\"none\\\"]}],\\\"stroke-w\\\":[{stroke:[isLength7,isArbitraryNumber]}],stroke:[{stroke:[e,\\\"none\\\"]}],sr:[\\\"sr-only\\\",\\\"not-sr-only\\\"]},conflictingClassGroups:{overflow:[\\\"overflow-x\\\",\\\"overflow-y\\\"],overscroll:[\\\"overscroll-x\\\",\\\"overscroll-y\\\"],inset:[\\\"inset-x\\\",\\\"inset-y\\\",\\\"start\\\",\\\"end\\\",\\\"top\\\",\\\"right\\\",\\\"bottom\\\",\\\"left\\\"],\\\"inset-x\\\":[\\\"right\\\",\\\"left\\\"],\\\"inset-y\\\":[\\\"top\\\",\\\"bottom\\\"],flex:[\\\"basis\\\",\\\"grow\\\",\\\"shrink\\\"],gap:[\\\"gap-x\\\",\\\"gap-y\\\"],p:[\\\"px\\\",\\\"py\\\",\\\"ps\\\",\\\"pe\\\",\\\"pt\\\",\\\"pr\\\",\\\"pb\\\",\\\"pl\\\"],px:[\\\"pr\\\",\\\"pl\\\"],py:[\\\"pt\\\",\\\"pb\\\"],m:[\\\"mx\\\",\\\"my\\\",\\\"ms\\\",\\\"me\\\",\\\"mt\\\",\\\"mr\\\",\\\"mb\\\",\\\"ml\\\"],mx:[\\\"mr\\\",\\\"ml\\\"],my:[\\\"mt\\\",\\\"mb\\\"],\\\"font-size\\\":[\\\"leading\\\"],\\\"fvn-normal\\\":[\\\"fvn-ordinal\\\",\\\"fvn-slashed-zero\\\",\\\"fvn-figure\\\",\\\"fvn-spacing\\\",\\\"fvn-fraction\\\"],\\\"fvn-ordinal\\\":[\\\"fvn-normal\\\"],\\\"fvn-slashed-zero\\\":[\\\"fvn-normal\\\"],\\\"fvn-figure\\\":[\\\"fvn-normal\\\"],\\\"fvn-spacing\\\":[\\\"fvn-normal\\\"],\\\"fvn-fraction\\\":[\\\"fvn-normal\\\"],rounded:[\\\"rounded-s\\\",\\\"rounded-e\\\",\\\"rounded-t\\\",\\\"rounded-r\\\",\\\"rounded-b\\\",\\\"rounded-l\\\",\\\"rounded-ss\\\",\\\"rounded-se\\\",\\\"rounded-ee\\\",\\\"rounded-es\\\",\\\"rounded-tl\\\",\\\"rounded-tr\\\",\\\"rounded-br\\\",\\\"rounded-bl\\\"],\\\"rounded-s\\\":[\\\"rounded-ss\\\",\\\"rounded-es\\\"],\\\"rounded-e\\\":[\\\"rounded-se\\\",\\\"rounded-ee\\\"],\\\"rounded-t\\\":[\\\"rounded-tl\\\",\\\"rounded-tr\\\"],\\\"rounded-r\\\":[\\\"rounded-tr\\\",\\\"rounded-br\\\"],\\\"rounded-b\\\":[\\\"rounded-br\\\",\\\"rounded-bl\\\"],\\\"rounded-l\\\":[\\\"rounded-tl\\\",\\\"rounded-bl\\\"],\\\"border-spacing\\\":[\\\"border-spacing-x\\\",\\\"border-spacing-y\\\"],\\\"border-w\\\":[\\\"border-w-s\\\",\\\"border-w-e\\\",\\\"border-w-t\\\",\\\"border-w-r\\\",\\\"border-w-b\\\",\\\"border-w-l\\\"],\\\"border-w-x\\\":[\\\"border-w-r\\\",\\\"border-w-l\\\"],\\\"border-w-y\\\":[\\\"border-w-t\\\",\\\"border-w-b\\\"],\\\"border-color\\\":[\\\"border-color-t\\\",\\\"border-color-r\\\",\\\"border-color-b\\\",\\\"border-color-l\\\"],\\\"border-color-x\\\":[\\\"border-color-r\\\",\\\"border-color-l\\\"],\\\"border-color-y\\\":[\\\"border-color-t\\\",\\\"border-color-b\\\"],\\\"scroll-m\\\":[\\\"scroll-mx\\\",\\\"scroll-my\\\",\\\"scroll-ms\\\",\\\"scroll-me\\\",\\\"scroll-mt\\\",\\\"scroll-mr\\\",\\\"scroll-mb\\\",\\\"scroll-ml\\\"],\\\"scroll-mx\\\":[\\\"scroll-mr\\\",\\\"scroll-ml\\\"],\\\"scroll-my\\\":[\\\"scroll-mt\\\",\\\"scroll-mb\\\"],\\\"scroll-p\\\":[\\\"scroll-px\\\",\\\"scroll-py\\\",\\\"scroll-ps\\\",\\\"scroll-pe\\\",\\\"scroll-pt\\\",\\\"scroll-pr\\\",\\\"scroll-pb\\\",\\\"scroll-pl\\\"],\\\"scroll-px\\\":[\\\"scroll-pr\\\",\\\"scroll-pl\\\"],\\\"scroll-py\\\":[\\\"scroll-pt\\\",\\\"scroll-pb\\\"]},conflictingClassGroupModifiers:{\\\"font-size\\\":[\\\"leading\\\"]}}}init_esbuild_inject();var twMerge=createTailwindMerge(getDefaultConfig);function cn2(...e){return twMerge(clsx3(e))}init_esbuild_inject();var React27=__toESM(require(\\\"react\\\"));function _objectWithoutPropertiesLoose5(e,t){if(null==e)return{};for(var r,n={},o=Object.keys(e),a=0;a\u003Co.length;a++)r=o[a],0\u003C=t.indexOf(r)||(n[r]=e[r]);return n}function _objectWithoutProperties4(e,t){if(null==e)return{};var r,n=_objectWithoutPropertiesLoose5(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a\u003Co.length;a++)r=o[a],0\u003C=t.indexOf(r)||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r]);return n}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var React26=__toESM(require(\\\"react\\\")),import_styled_components6=__toESM(require_styled_components_browser_cjs()),_excluded4=[\\\"children\\\",\\\"iconAttrs\\\",\\\"iconVerticalAlign\\\",\\\"iconViewBox\\\",\\\"size\\\",\\\"title\\\"];function ownKeys4(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread9(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys4(Object(r),!0).forEach(function(e){_defineProperty5(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys4(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var StyledIconBaseBase=React26.forwardRef(function(e,t){var r=e.children,n=e.iconAttrs,o=(e.iconVerticalAlign,e.iconViewBox),a=e.size,i=e.title,s=_objectWithoutProperties4(e,_excluded4),o=_objectSpread9(_objectSpread9({viewBox:o,height:void 0!==e.height?e.height:a,width:void 0!==e.width?e.width:a,\\\"aria-hidden\\\":null==i?\\\"true\\\":void 0,focusable:\\\"false\\\",role:null!=i?\\\"img\\\":void 0},n),s);return React26.createElement(\\\"svg\\\",_extends2({},o,{ref:t}),i&&React26.createElement(\\\"title\\\",{key:\\\"icon-title\\\"},i),r)}),StyledIconBase=(0,import_styled_components6[\\\"default\\\"])(StyledIconBaseBase).withConfig({displayName:\\\"StyledIconBase\\\",componentId:\\\"sc-ea9ulj-0\\\"})([\\\"display:inline-block;vertical-align:\\\",\\\";overflow:hidden;\\\"],function(e){return e.iconVerticalAlign}),ArrowDown=React27.forwardRef(function(e,t){return React27.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 100 100\\\"},e,{ref:t}),React27.createElement(\\\"path\\\",{d:\\\"m21.984 50.868 26.055 36.418a2.516 2.516 0 0 0 2.043 1.051h.006a2.52 2.52 0 0 0 2.048-1.059l25.887-36.417a2.513 2.513 0 0 0 .183-2.612 2.509 2.509 0 0 0-2.236-1.361H63.787l.001-32.709a2.514 2.514 0 0 0-2.516-2.515l-22.541.001a2.515 2.515 0 0 0-2.516 2.516v32.705H24.029c-.94 0-1.803.53-2.237 1.367a2.51 2.51 0 0 0 .192 2.615z\\\"}))}),React28=(ArrowDown.displayName=\\\"ArrowDown\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),Separator=React28.forwardRef(({className:e,orientation:t=\\\"horizontal\\\",decorative:r=!0,...n},o)=>(0,import_jsx_runtime.jsx)($89eedd556c436f6a$export$be92b6f5f03c0fe9,{ref:o,decorative:r,orientation:t,className:cn2(\\\"shrink-0 bg-slate-200 dark:bg-slate-800\\\",\\\"horizontal\\\"===t?\\\"h-[1px] w-full\\\":\\\"h-full w-[1px]\\\",e),...n})),React29=(Separator.displayName=$89eedd556c436f6a$export$be92b6f5f03c0fe9.displayName,init_esbuild_inject(),__toESM(require(\\\"react\\\"))),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),toggleVariants=cva(cn2(\\\"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 dark:ring-offset-slate-950 dark:focus-visible:ring-slate-800\\\",\\\"[&_svg:not([data-icon])]:h-5 [&_svg:not([data-icon])]:w-5\\\"),{variants:{variant:{\\\"default\\\":\\\"bg-transparent hover:bg-slate-100 hover:text-slate-500 data-[state=on]:bg-slate-100 data-[state=on]:text-slate-900 dark:hover:bg-slate-800 dark:hover:text-slate-400 dark:data-[state=on]:bg-slate-800 dark:data-[state=on]:text-slate-50\\\",outline:\\\"border border-slate-200 bg-transparent hover:bg-slate-100 hover:text-slate-900 dark:border-slate-800 dark:hover:bg-slate-800 dark:hover:text-slate-50\\\",floating:\\\"rounded-full bg-slate-900 text-slate-50 dark:bg-slate-50 dark:text-slate-900\\\"},size:{\\\"default\\\":\\\"h-10 px-3\\\",sm:\\\"h-9 px-2\\\",lg:\\\"h-11 px-5\\\",circle:\\\"p-3\\\"}},defaultVariants:{variant:\\\"default\\\",size:\\\"default\\\"}}),Toggle=React29.forwardRef(({className:e,variant:t,size:r,...n},o)=>(0,import_jsx_runtime.jsx)($b3bbe2732c13b576$export$be92b6f5f03c0fe9,{ref:o,className:cn2(toggleVariants({variant:t,size:r,className:e})),...n})),import_react80=(Toggle.displayName=$b3bbe2732c13b576$export$be92b6f5f03c0fe9.displayName,init_esbuild_inject(),init_esbuild_inject(),require(\\\"react\\\")),import_react79=(init_esbuild_inject(),require(\\\"react\\\")),$ea1ef594cf570d83$export$439d29a4e110a164=(0,import_react79.forwardRef)((e,t)=>(0,import_react79.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.span,_extends2({},e,{ref:t,style:{position:\\\"absolute\\\",border:0,width:1,height:1,padding:0,margin:-1,overflow:\\\"hidden\\\",clip:\\\"rect(0, 0, 0, 0)\\\",whiteSpace:\\\"nowrap\\\",wordWrap:\\\"normal\\\",...e.style}}))),$ea1ef594cf570d83$export$be92b6f5f03c0fe9=$ea1ef594cf570d83$export$439d29a4e110a164,[$a093c7e1ec25a057$var$createTooltipContext,$a093c7e1ec25a057$export$1c540a2224f0d865]=$c512c27ab02ef895$export$50c7b4e9d9f19c1(\\\"Tooltip\\\",[$cf1ac5d9fe0e8206$export$722aac194ae923]),$a093c7e1ec25a057$var$usePopperScope=$cf1ac5d9fe0e8206$export$722aac194ae923(),$a093c7e1ec25a057$var$PROVIDER_NAME=\\\"TooltipProvider\\\",$a093c7e1ec25a057$var$DEFAULT_DELAY_DURATION=700,$a093c7e1ec25a057$var$TOOLTIP_OPEN=\\\"tooltip.open\\\",[$a093c7e1ec25a057$var$TooltipProviderContextProvider,$a093c7e1ec25a057$var$useTooltipProviderContext]=$a093c7e1ec25a057$var$createTooltipContext($a093c7e1ec25a057$var$PROVIDER_NAME),$a093c7e1ec25a057$export$f78649fb9ca566b8=e=>{const{__scopeTooltip:t,delayDuration:r=$a093c7e1ec25a057$var$DEFAULT_DELAY_DURATION,skipDelayDuration:n=300,disableHoverableContent:o=!1,children:a}=e,[i,s]=(0,import_react80.useState)(!0),c=(0,import_react80.useRef)(!1),l=(0,import_react80.useRef)(0);return(0,import_react80.useEffect)(()=>{const e=l.current;return()=>window.clearTimeout(e)},[]),(0,import_react80.createElement)($a093c7e1ec25a057$var$TooltipProviderContextProvider,{scope:t,isOpenDelayed:i,delayDuration:r,onOpen:(0,import_react80.useCallback)(()=>{window.clearTimeout(l.current),s(!1)},[]),onClose:(0,import_react80.useCallback)(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>s(!0),n)},[n]),isPointerInTransitRef:c,onPointerInTransitChange:(0,import_react80.useCallback)(e=>{c.current=e},[]),disableHoverableContent:o},a)},$a093c7e1ec25a057$var$TOOLTIP_NAME=\\\"Tooltip\\\",[$a093c7e1ec25a057$var$TooltipContextProvider,$a093c7e1ec25a057$var$useTooltipContext]=$a093c7e1ec25a057$var$createTooltipContext($a093c7e1ec25a057$var$TOOLTIP_NAME),$a093c7e1ec25a057$export$28c660c63b792dea=e=>{const{__scopeTooltip:t,children:r,open:n,defaultOpen:o=!1,onOpenChange:a,disableHoverableContent:i,delayDuration:s}=e,c=$a093c7e1ec25a057$var$useTooltipProviderContext($a093c7e1ec25a057$var$TOOLTIP_NAME,e.__scopeTooltip);var l=$a093c7e1ec25a057$var$usePopperScope(t),[u,d]=(0,import_react80.useState)(null),p=$1746a345f3d73bb7$export$f680877a34711e37();const f=(0,import_react80.useRef)(0),g=null!=i?i:c.disableHoverableContent,m=null!=s?s:c.delayDuration,h=(0,import_react80.useRef)(!1),[_=!1,v]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:n,defaultProp:o,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent($a093c7e1ec25a057$var$TOOLTIP_OPEN))):c.onClose(),null!==a&&void 0!==a&&a(e)}});var y=(0,import_react80.useMemo)(()=>_?h.current?\\\"delayed-open\\\":\\\"instant-open\\\":\\\"closed\\\",[_]);const b=(0,import_react80.useCallback)(()=>{window.clearTimeout(f.current),h.current=!1,v(!0)},[v]),E=(0,import_react80.useCallback)(()=>{window.clearTimeout(f.current),v(!1)},[v]),T=(0,import_react80.useCallback)(()=>{window.clearTimeout(f.current),f.current=window.setTimeout(()=>{h.current=!0,v(!0)},m)},[m,v]);return(0,import_react80.useEffect)(()=>()=>window.clearTimeout(f.current),[]),(0,import_react80.createElement)($cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9,l,(0,import_react80.createElement)($a093c7e1ec25a057$var$TooltipContextProvider,{scope:t,contentId:p,open:_,stateAttribute:y,trigger:u,onTriggerChange:d,onTriggerEnter:(0,import_react80.useCallback)(()=>{(c.isOpenDelayed?T:b)()},[c.isOpenDelayed,T,b]),onTriggerLeave:(0,import_react80.useCallback)(()=>{g?E():window.clearTimeout(f.current)},[E,g]),onOpen:b,onClose:E,disableHoverableContent:g},r))},$a093c7e1ec25a057$var$TRIGGER_NAME=\\\"TooltipTrigger\\\",$a093c7e1ec25a057$export$8c610744efcf8a1d=(0,import_react80.forwardRef)((e,t)=>{const{__scopeTooltip:r,...n}=e,o=$a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$TRIGGER_NAME,r),a=$a093c7e1ec25a057$var$useTooltipProviderContext($a093c7e1ec25a057$var$TRIGGER_NAME,r);var i=$a093c7e1ec25a057$var$usePopperScope(r),s=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,(0,import_react80.useRef)(null),o.onTriggerChange);const c=(0,import_react80.useRef)(!1),l=(0,import_react80.useRef)(!1),u=(0,import_react80.useCallback)(()=>c.current=!1,[]);return(0,import_react80.useEffect)(()=>()=>document.removeEventListener(\\\"pointerup\\\",u),[u]),(0,import_react80.createElement)($cf1ac5d9fe0e8206$export$b688253958b8dfe7,_extends2({asChild:!0},i),(0,import_react80.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.button,_extends2({\\\"aria-describedby\\\":o.open?o.contentId:void 0,\\\"data-state\\\":o.stateAttribute},n,{ref:s,onPointerMove:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerMove,e=>{\\\"touch\\\"===e.pointerType||l.current||a.isPointerInTransitRef.current||(o.onTriggerEnter(),l.current=!0)}),onPointerLeave:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerLeave,()=>{o.onTriggerLeave(),l.current=!1}),onPointerDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerDown,()=>{c.current=!0,document.addEventListener(\\\"pointerup\\\",u,{once:!0})}),onFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocus,()=>{c.current||o.onOpen()}),onBlur:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onBlur,o.onClose),onClick:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onClick,o.onClose)})))}),$a093c7e1ec25a057$var$PORTAL_NAME=\\\"TooltipPortal\\\",[$a093c7e1ec25a057$var$PortalProvider,$a093c7e1ec25a057$var$usePortalContext]=$a093c7e1ec25a057$var$createTooltipContext($a093c7e1ec25a057$var$PORTAL_NAME,{forceMount:void 0}),$a093c7e1ec25a057$export$7b36b8f925ab7497=e=>{var{__scopeTooltip:t,forceMount:r,children:n,container:o}=e,a=$a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$PORTAL_NAME,t);return(0,import_react80.createElement)($a093c7e1ec25a057$var$PortalProvider,{scope:t,forceMount:r},(0,import_react80.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:r||a.open},(0,import_react80.createElement)($f1701beae083dbae$export$602eac185826482c,{asChild:!0,container:o},n)))},$a093c7e1ec25a057$var$CONTENT_NAME=\\\"TooltipContent\\\",$a093c7e1ec25a057$export$e9003e2be37ec060=(0,import_react80.forwardRef)((e,t)=>{var r=$a093c7e1ec25a057$var$usePortalContext($a093c7e1ec25a057$var$CONTENT_NAME,e.__scopeTooltip);const{forceMount:n=r.forceMount,side:o=\\\"top\\\",...a}=e;r=$a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$CONTENT_NAME,e.__scopeTooltip);return(0,import_react80.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:n||r.open},r.disableHoverableContent?(0,import_react80.createElement)($a093c7e1ec25a057$var$TooltipContentImpl,_extends2({side:o},a,{ref:t})):(0,import_react80.createElement)($a093c7e1ec25a057$var$TooltipContentHoverable,_extends2({side:o},a,{ref:t})))}),$a093c7e1ec25a057$var$TooltipContentHoverable=(0,import_react80.forwardRef)((e,t)=>{var r=$a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$CONTENT_NAME,e.__scopeTooltip),n=$a093c7e1ec25a057$var$useTooltipProviderContext($a093c7e1ec25a057$var$CONTENT_NAME,e.__scopeTooltip),o=(0,import_react80.useRef)(null),a=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,o);const[i,s]=(0,import_react80.useState)(null),{trigger:c,onClose:l}=r,u=o.current,d=n[\\\"onPointerInTransitChange\\\"],p=(0,import_react80.useCallback)(()=>{s(null),d(!1)},[d]),f=(0,import_react80.useCallback)((e,t)=>{var r=e.currentTarget,n={x:e.clientX,y:e.clientY},n=$a093c7e1ec25a057$var$getPaddedExitPoints(n,$a093c7e1ec25a057$var$getExitSideFromRect(n,r.getBoundingClientRect())),r=$a093c7e1ec25a057$var$getPointsFromRect(t.getBoundingClientRect()),n=$a093c7e1ec25a057$var$getHull([...n,...r]);s(n),d(!0)},[d]);return(0,import_react80.useEffect)(()=>()=>p(),[p]),(0,import_react80.useEffect)(()=>{if(c&&u){const e=e=>f(e,u),t=e=>f(e,c);return c.addEventListener(\\\"pointerleave\\\",e),u.addEventListener(\\\"pointerleave\\\",t),()=>{c.removeEventListener(\\\"pointerleave\\\",e),u.removeEventListener(\\\"pointerleave\\\",t)}}},[c,u,f,p]),(0,import_react80.useEffect)(()=>{if(i){const e=e=>{var t=e.target,r={x:e.clientX,y:e.clientY},t=(null===c||void 0===c?void 0:c.contains(t))||(null===u||void 0===u?void 0:u.contains(t)),r=!$a093c7e1ec25a057$var$isPointInPolygon(r,i);t?p():r&&(p(),l())};return document.addEventListener(\\\"pointermove\\\",e),()=>document.removeEventListener(\\\"pointermove\\\",e)}},[c,u,i,l,p]),(0,import_react80.createElement)($a093c7e1ec25a057$var$TooltipContentImpl,_extends2({},e,{ref:a}))}),[$a093c7e1ec25a057$var$VisuallyHiddenContentContextProvider,$a093c7e1ec25a057$var$useVisuallyHiddenContentContext]=$a093c7e1ec25a057$var$createTooltipContext($a093c7e1ec25a057$var$TOOLTIP_NAME,{isInside:!1}),$a093c7e1ec25a057$var$TooltipContentImpl=(0,import_react80.forwardRef)((e,t)=>{const{__scopeTooltip:r,children:n,\\\"aria-label\\\":o,onEscapeKeyDown:a,onPointerDownOutside:i,...s}=e,c=$a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$CONTENT_NAME,r);var l=$a093c7e1ec25a057$var$usePopperScope(r);const u=c[\\\"onClose\\\"];return(0,import_react80.useEffect)(()=>(document.addEventListener($a093c7e1ec25a057$var$TOOLTIP_OPEN,u),()=>document.removeEventListener($a093c7e1ec25a057$var$TOOLTIP_OPEN,u)),[u]),(0,import_react80.useEffect)(()=>{if(c.trigger){const e=e=>{var t=e.target;null!=t&&t.contains(c.trigger)&&u()};return window.addEventListener(\\\"scroll\\\",e,{capture:!0}),()=>window.removeEventListener(\\\"scroll\\\",e,{capture:!0})}},[c.trigger,u]),(0,import_react80.createElement)($5cb92bef7577960e$export$177fb62ff3ec1f22,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:e=>e.preventDefault(),onDismiss:u},(0,import_react80.createElement)($cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2,_extends2({\\\"data-state\\\":c.stateAttribute},l,s,{ref:t,style:{...s.style,\\\"--radix-tooltip-content-transform-origin\\\":\\\"var(--radix-popper-transform-origin)\\\",\\\"--radix-tooltip-content-available-width\\\":\\\"var(--radix-popper-available-width)\\\",\\\"--radix-tooltip-content-available-height\\\":\\\"var(--radix-popper-available-height)\\\",\\\"--radix-tooltip-trigger-width\\\":\\\"var(--radix-popper-anchor-width)\\\",\\\"--radix-tooltip-trigger-height\\\":\\\"var(--radix-popper-anchor-height)\\\"}}),(0,import_react80.createElement)($5e63c961fc1ce211$export$d9f1ccf0bdb05d45,null,n),(0,import_react80.createElement)($a093c7e1ec25a057$var$VisuallyHiddenContentContextProvider,{scope:r,isInside:!0},(0,import_react80.createElement)($ea1ef594cf570d83$export$be92b6f5f03c0fe9,{id:c.contentId,role:\\\"tooltip\\\"},o||n))))});function $a093c7e1ec25a057$var$getExitSideFromRect(e,t){var r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(r,n,o,a)){case a:return\\\"left\\\";case o:return\\\"right\\\";case r:return\\\"top\\\";case n:return\\\"bottom\\\";default:throw new Error(\\\"unreachable\\\")}}function $a093c7e1ec25a057$var$getPaddedExitPoints(e,t,r=5){var n=[];switch(t){case\\\"top\\\":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case\\\"bottom\\\":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case\\\"left\\\":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case\\\"right\\\":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}function $a093c7e1ec25a057$var$getPointsFromRect(e){var{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}function $a093c7e1ec25a057$var$isPointInPolygon(e,t){var{x:r,y:n}=e;let o=!1;for(let l=0,u=t.length-1;l\u003Ct.length;u=l++){var a=t[l].x,i=t[l].y,s=t[u].x,c=t[u].y;n\u003Ci!=n\u003Cc&&r\u003C(s-a)*(n-i)/(c-i)+a&&(o=!o)}return o}function $a093c7e1ec25a057$var$getHull(e){var t=e.slice();return t.sort((e,t)=>e.x\u003Ct.x?-1:e.x>t.x?1:e.y\u003Ct.y?-1:e.y>t.y?1:0),$a093c7e1ec25a057$var$getHullPresorted(t)}function $a093c7e1ec25a057$var$getHullPresorted(e){if(e.length\u003C=1)return e.slice();var t=[];for(let l=0;l\u003Ce.length;l++){for(var r=e[l];2\u003C=t.length;){var n=t[t.length-1],o=t[t.length-2];if(!((n.x-o.x)*(r.y-o.y)>=(n.y-o.y)*(r.x-o.x)))break;t.pop()}t.push(r)}t.pop();var a=[];for(let u=e.length-1;0\u003C=u;u--){for(var i=e[u];2\u003C=a.length;){var s=a[a.length-1],c=a[a.length-2];if(!((s.x-c.x)*(i.y-c.y)>=(s.y-c.y)*(i.x-c.x)))break;a.pop()}a.push(i)}return a.pop(),1===t.length&&1===a.length&&t[0].x===a[0].x&&t[0].y===a[0].y?t:t.concat(a)}var $a093c7e1ec25a057$export$2881499e37b75b9a=$a093c7e1ec25a057$export$f78649fb9ca566b8,$a093c7e1ec25a057$export$be92b6f5f03c0fe9=$a093c7e1ec25a057$export$28c660c63b792dea,$a093c7e1ec25a057$export$41fb9f06171c75f4=$a093c7e1ec25a057$export$8c610744efcf8a1d,$a093c7e1ec25a057$export$602eac185826482c=$a093c7e1ec25a057$export$7b36b8f925ab7497,$a093c7e1ec25a057$export$7c6e2c02157bb7d2=$a093c7e1ec25a057$export$e9003e2be37ec060,React30=__toESM(require(\\\"react\\\")),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),TooltipProvider=$a093c7e1ec25a057$export$2881499e37b75b9a,Tooltip=$a093c7e1ec25a057$export$be92b6f5f03c0fe9,TooltipTrigger=$a093c7e1ec25a057$export$41fb9f06171c75f4,TooltipPortal=$a093c7e1ec25a057$export$602eac185826482c,TooltipContent=React30.forwardRef(({className:e,sideOffset:t=4,...r},n)=>(0,import_jsx_runtime.jsx)($a093c7e1ec25a057$export$7c6e2c02157bb7d2,{ref:n,sideOffset:t,className:cn2(\\\"z-50 overflow-hidden rounded-md border border-slate-200 bg-white px-3 py-1.5 text-sm text-slate-950 shadow-md dark:border-slate-800 dark:bg-slate-950 dark:text-slate-50\\\",e),...r})),import_jsx_runtime=(TooltipContent.displayName=$a093c7e1ec25a057$export$7c6e2c02157bb7d2.displayName,require(\\\"react/jsx-runtime\\\")),toolbarVariants=cva(\\\"relative flex select-none items-stretch gap-1 bg-white dark:bg-slate-950\\\"),linkVariants=cva(\\\"font-medium underline underline-offset-4\\\"),ToolbarToggleGroup=$3dc4ded751c8bdfb$export$af3ec21f6cfb5e30,Toolbar=React31.forwardRef(({className:e,...t},r)=>(0,import_jsx_runtime.jsx)($3dc4ded751c8bdfb$export$be92b6f5f03c0fe9,{ref:r,className:cn2(toolbarVariants(),e),...t})),ToolbarLink=(Toolbar.displayName=$3dc4ded751c8bdfb$export$be92b6f5f03c0fe9.displayName,React31.forwardRef(({className:e,...t},r)=>(0,import_jsx_runtime.jsx)($3dc4ded751c8bdfb$export$a6c7ac8248d6e38a,{ref:r,className:cn2(linkVariants(),e),...t}))),ToolbarSeparator=(ToolbarLink.displayName=$3dc4ded751c8bdfb$export$a6c7ac8248d6e38a.displayName,React31.forwardRef(({className:e,...t},r)=>(0,import_jsx_runtime.jsx)($3dc4ded751c8bdfb$export$1ff3c3f08ae963c0,{ref:r,className:cn2(\\\"shrink-0 bg-slate-200 dark:bg-slate-800\\\",\\\"my-1 w-[1px]\\\",e),...t}))),ToolbarButton=(ToolbarSeparator.displayName=$3dc4ded751c8bdfb$export$1ff3c3f08ae963c0.displayName,React31.forwardRef(({className:e,variant:t,size:r=\\\"sm\\\",isDropdown:n,children:o,pressed:a,value:i,tooltip:s,...c},l)=>{const[u,d]=React31.useState(!1);React31.useEffect(()=>{d(!0)},[]);var p=\\\"boolean\\\"==typeof a?(0,import_jsx_runtime.jsx)(ToolbarToggleGroup,{type:\\\"single\\\",value:a?\\\"single\\\":void 0,children:(0,import_jsx_runtime.jsxs)(ToolbarToggleItem,{ref:l,className:cn2(toggleVariants({variant:t,size:r}),n&&\\\"my-1 justify-between pr-1\\\",e),value:\\\"single\\\",...c,children:[(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:\\\"flex flex-1\\\",children:o}),(0,import_jsx_runtime.jsx)(\\\"div\\\",{children:n&&(0,import_jsx_runtime.jsx)(ArrowDown,{className:\\\"ml-0.5 h-4 w-4\\\",\\\"data-icon\\\":!0})})]})}):(0,import_jsx_runtime.jsx)($3dc4ded751c8bdfb$export$353f5b6fc5456de1,{ref:l,className:cn2(toggleVariants({variant:t,size:r}),n&&\\\"pr-1\\\",e),...c,children:o});return u&&s?(0,import_jsx_runtime.jsxs)(Tooltip,{children:[(0,import_jsx_runtime.jsx)(TooltipTrigger,{children:p}),(0,import_jsx_runtime.jsx)(TooltipPortal,{children:(0,import_jsx_runtime.jsx)(TooltipContent,{className:\\\"z-200\\\",children:s})})]}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:p})})),ToolbarToggleItem=(ToolbarButton.displayName=$3dc4ded751c8bdfb$export$353f5b6fc5456de1.displayName,React31.forwardRef(({className:e,variant:t,size:r,...n},o)=>(0,import_jsx_runtime.jsx)($3dc4ded751c8bdfb$export$920ad4cf87b18fc7,{ref:o,className:cn2(toggleVariants({variant:t,size:r}),e),...n}))),ToolbarGroup=(ToolbarToggleItem.displayName=$3dc4ded751c8bdfb$export$920ad4cf87b18fc7.displayName,React31.forwardRef(({noSeparator:e,className:t,children:r},n)=>{var o=React31.Children.map(r,e=>e);return o&&0!==o.length?(0,import_jsx_runtime.jsxs)(\\\"div\\\",{ref:n,className:cn2(\\\"flex\\\",t),children:[!e&&(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:\\\"h-full py-1\\\",children:(0,import_jsx_runtime.jsx)(Separator,{orientation:\\\"vertical\\\"})}),(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:\\\"mx-1 flex items-center gap-1\\\",children:r})]}):null})),wrapLink2=(ToolbarGroup.displayName=\\\"ToolbarGroup\\\",init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),(e,{url:t,target:r,...n})=>{wrapNodes3(e,{type:getPluginType(e,ELEMENT_LINK),url:t,target:r,children:[],\\\"tw-type\\\":\\\"link\\\"},{split:!0,...n})}),upsertLinkAtSelection=(e,{url:t,wrap:r})=>{var n,o;e.selection&&(n=getPluginType(e,ELEMENT_LINK),!r&&isCollapsed(e.selection)?insertNodes3(e,{type:n,url:t,children:[{text:t}],\\\"tw-type\\\":\\\"link\\\"}):(r&&isCollapsed(e.selection)&&(([,o]=getLeafNode(e,e.selection)),select2(e,o)),unwrapNodes3(e,{at:e.selection,match:{type:n}}),wrapLink2(e,{at:e.selection,url:t}),collapseSelection(e,{edge:\\\"end\\\"})))},getAndUpsertLink=async(e,t)=>{var r=getPluginType(e,ELEMENT_LINK);let n=\\\"\\\";var o=null===e.selection?\\\"\\\":Editor.string(e,e.selection),r=getAboveNode(e,{match:{type:r}});void 0!==r&&(n=r[0].url);let a=null;null!==(a=void 0===t?window.prompt(\\\"Enter the URL of the link:\\\",n||o):await t(n))&&(\\\"\\\"===a&&void 0!==e.selection&&null!==e.selection?unwrapNodes3(e,{at:e.selection,match:{type:getPluginType(e,ELEMENT_LINK)}}):(o=void 0!==r&&isCollapsed(e.selection),upsertLinkAtSelection(e,{url:a,wrap:o})))},import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),LinkToolbarButton=withPlateProvider(({id:e,getLinkUrl:t,...r})=>{e=String(useEventPlateId(e));const n=usePlateEditorState(e);var o=getPluginType(n,ELEMENT_LINK),o=!(void 0===(null==n?void 0:n.selection))&&someNode(n,{match:{type:o}});return(0,import_jsx_runtime.jsx)(ToolbarButton,{pressed:o,onMouseDown:e=>{n&&(e.preventDefault(),getAndUpsertLink(n,t))},...r})}),ELEMENT_MACRO2=(init_esbuild_inject(),\\\"macro\\\"),createMacroPlugin=createPluginFactory({key:ELEMENT_MACRO2,isElement:!0,isVoid:!0}),ELEMENT_SET2=(init_esbuild_inject(),\\\"set\\\"),createSetVariablePlugin=createPluginFactory({key:ELEMENT_SET2,isElement:!0,isVoid:!0}),import_react83=(init_esbuild_inject(),require(\\\"react\\\")),import_styled_components8=__toESM(require_styled_components_browser_cjs()),import_tw_react3=__toESM(require_tw_react()),import_typescript_styled_is2=__toESM(require_dist()),import_react82=(init_esbuild_inject(),require(\\\"react\\\")),import_styled_components7=__toESM(require_styled_components_browser_cjs()),useWidgetCodeBlockStore=(init_esbuild_inject(),createStore4(\\\"use-widget\\\")({previousActiveId:void 0,previousCodeMirrorSelection:void 0})),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),CodeBlockWrapper=import_styled_components7[\\\"default\\\"].div`\\n position: absolute;\\n z-index: 1;\\n /** placed on the bottom of widget by default */\\n /* top: calc(100% + ${({top:e})=>e}px);\\n left: ${({left:e})=>e}px;\\n opacity: ${({opacity:e})=>e}; */\\n`,CodeBlockContainer=import_styled_components7[\\\"default\\\"].div`\\n user-select: none;\\n display: flex;\\n flex-direction: row;\\n`,CodeTextArea2=import_styled_components7[\\\"default\\\"].textarea`\\n width: 100%;\\n height: max-content;\\n`,SaveButton=import_styled_components7[\\\"default\\\"].button``,SaveButtonText=$tw.wiki.getTiddlerText(\\\"$:/language/Buttons/SaveWiki/Hint\\\");function useCodeMirrorOnCmdEnter(e,t){const r=(0,import_react82.useRef)(!1);(0,import_react82.useEffect)(()=>{null===(null==t?void 0:t.current)||r.current||(t.current.addKeyMap({\\\"Ctrl-Enter\\\":e,\\\"Cmd-Enter\\\":e}),r.current=!0)},[t,e])}function WidgetCodeEditor(e){var t,r;const{element:a,children:n,editor:i}=e;var o=(0,import_react82.useRef)(null);const s=(0,import_react82.useMemo)(()=>wikiAstToWikiText(a.node),[a.node]),c=useCodeMirror(o,(0,import_react82.useMemo)(()=>({mode:CODE_BLOCK_LANGUAGES.TiddlyWiki[0],value:s}),[s])),l=(0,import_react82.useMemo)(()=>findNodePath(i,a),[i,a]),u=(0,import_react82.useRef)(s);var d=(0,import_react82.useCallback)(e=>{var t=\\\"string\\\"==typeof e?e:e.target.value;u.current=t},[]),p=useDebouncedCallback_default(()=>{var e,t,r;if(void 0!==l){const n=deserialize(u.current),o=i.selection;null!=(r=(t=useWidgetCodeBlockStore.set).previousActiveId)&&r.call(t,a.id),null!=(r=(t=useWidgetCodeBlockStore.set).previousCodeMirrorSelection)&&r.call(t,null!=(t=null==(e=null==(t=c.current)?void 0:t.getCursor)?void 0:e.call(t,\\\"from\\\"))?t:void 0),withoutNormalizing2(i,()=>{removeNodes3(i,{at:l}),insertNodes3(i,n,{at:l}),setNodes3(i,{id:a.id},{at:l}),i.selection=o})}},[i,l,c]);useCodeMirrorEventListenerSettled(d,c),useCodeMirrorOnCmdEnter(p,c);const f=null==(r=(t=useWidgetCodeBlockStore.get).previousActiveId)?void 0:r.call(t),g=null==(r=(t=useWidgetCodeBlockStore.get).previousCodeMirrorSelection)?void 0:r.call(t);return(0,import_react82.useEffect)(()=>{var e,t;null!=(t=null==(e=c.current)?void 0:e.focus)&&t.call(e),f===a.id&&void 0!==g&&null!=(t=null==(e=c.current)?void 0:e.setSelection)&&t.call(e,g)},[c,a.id,f,g]),(0,import_jsx_runtime.jsxs)(CodeBlockWrapper,{children:[(0,import_jsx_runtime.jsxs)(CodeBlockContainer,{contentEditable:!1,children:[(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:\\\"tw-widget-code-editor-container\\\",children:(0,import_jsx_runtime.jsx)(CodeTextArea2,{ref:o,onChange:d,defaultValue:s,className:\\\"CodeMirror\\\"})}),(0,import_jsx_runtime.jsx)(tippy_react_esm_default,{content:\\\"(⌃/⌘ + ⏎)\\\",children:(0,import_jsx_runtime.jsx)(SaveButton,{onClick:p,children:SaveButtonText})})]}),n]})}var import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),TwWidgetContainerOuter=import_styled_components8[\\\"default\\\"].div``,TwWidgetContainerInner=import_styled_components8[\\\"default\\\"].div`\\n user-select: normal;\\n white-space: normal;\\n`,TwWidgetCodeContainer=import_styled_components8[\\\"default\\\"].div`\\n opacity: 0;\\n ${(0,import_typescript_styled_is2[\\\"default\\\"])(\\\"$selected\\\")`\\n opacity: 1;\\n `}\\n transition: opacity 0.1s;\\n`;function WidgetBlock(e){var{attributes:t,element:r,children:n}=e,o=(0,import_react83.useRef)(null),r=((0,import_tw_react3.useWidget)(r.node,o),getRootProps(e)),a=useSelected();return(0,import_jsx_runtime.jsxs)(TwWidgetContainerOuter,{\\\"data-role\\\":\\\"tw-widget-container\\\",...t,...r,as:r.as,children:[(0,import_jsx_runtime.jsx)(TwWidgetContainerInner,{contentEditable:!1,children:(0,import_jsx_runtime.jsx)(\\\"div\\\",{ref:o})}),n,(0,import_jsx_runtime.jsx)(TwWidgetCodeContainer,{$selected:a,children:a&&(0,import_jsx_runtime.jsx)(WidgetCodeEditor,{...e})})]})}init_esbuild_inject();var import_react84=__toESM(require(\\\"react\\\")),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),BlockquoteElement=import_react84[\\\"default\\\"].forwardRef(({className:e,children:t,...r},n)=>(0,import_jsx_runtime.jsx)(PlateElement,{asChild:!0,ref:n,className:cn2(\\\"my-1 border-l-2 pl-6 italic\\\",e),...r,children:(0,import_jsx_runtime.jsx)(\\\"blockquote\\\",{children:t})})),import_react85=(BlockquoteElement.displayName=\\\"BlockquoteElement\\\",init_esbuild_inject(),require(\\\"react\\\")),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),MentionElement=(0,import_react85.forwardRef)(({prefix:e,renderLabel:t,className:r,onClick:n,...o},a)=>{var{children:i,element:s}=o,c=useSelected(),l=useFocused();return(0,import_jsx_runtime.jsxs)(PlateElement,{ref:a,className:cn2(\\\"inline-block cursor-pointer rounded-md bg-slate-100 px-1.5 py-0.5 align-baseline text-sm font-medium dark:bg-slate-800\\\",c&&l&&\\\"ring-2 ring-slate-400 dark:ring-slate-800\\\",r),\\\"data-slate-value\\\":s.value,contentEditable:!1,onClick:getHandler(n,s),...o,children:[e,void 0===t?s.value:t(s),i]})}),import_react86=(MentionElement.displayName=\\\"MentionElement\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),MentionInputElement=import_react86[\\\"default\\\"].forwardRef(({className:e,onClick:t,...r},n)=>{var{children:o,element:a}=r,i=useSelected(),s=useFocused();return(0,import_jsx_runtime.jsx)(PlateElement,{asChild:!0,ref:n,\\\"data-slate-value\\\":a.value,className:cn2(\\\"inline-block rounded-md bg-slate-100 px-1.5 py-0.5 align-baseline text-sm dark:bg-slate-800\\\",i&&s&&\\\"ring-2 ring-slate-400 dark:ring-slate-800\\\",e),onClick:getHandler(t,a),...r,children:(0,import_jsx_runtime.jsx)(\\\"span\\\",{children:o})})}),import_react88=(MentionInputElement.displayName=\\\"MentionInputElement\\\",init_esbuild_inject(),require(\\\"react\\\")),draggableComponents=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),[{keys:[ELEMENT_LI],draggableProps:{classNames:{gutterLeft:\\\"-translate-x-11\\\",block:\\\"overflow-visible\\\"}},level:null},{key:ELEMENT_H1,draggableProps:{classNames:{gutterLeft:\\\"px-0 pb-1 text-[1.875em]\\\",blockToolbarWrapper:\\\"h-auto\\\"}}},{key:ELEMENT_H2,draggableProps:{classNames:{gutterLeft:\\\"px-0 pb-px text-[1.5em]\\\",blockToolbarWrapper:\\\"h-auto\\\"}}},{key:ELEMENT_H3,draggableProps:{classNames:{gutterLeft:\\\"px-0 pb-px text-[1.25em]\\\",blockToolbarWrapper:\\\"h-auto\\\"}}},{key:ELEMENT_H4,draggableProps:{classNames:{gutterLeft:\\\"px-0 pb-0 text-[0.9em]\\\",blockToolbarWrapper:\\\"h-auto\\\"}}},{keys:[ELEMENT_H5,ELEMENT_H6],draggableProps:{classNames:{gutterLeft:\\\"px-0 -mt-1\\\"}}},{keys:[ELEMENT_PARAGRAPH],draggableProps:{classNames:{gutterLeft:\\\"px-0\\\"}}},{key:ELEMENT_BLOCKQUOTE},{key:ELEMENT_CODE_BLOCK,draggableProps:{classNames:{gutterLeft:\\\"pt-[0.2em]\\\"}}},{keys:[ELEMENT_WIDGET,ELEMENT_MACRO2],level:0}]);function unwrapExports8(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\\\"default\\\")?e[\\\"default\\\"]:e}function createCommonjsModule11(e,t){return e(t={exports:{}},t.exports),t.exports}addDropHandlers(draggableComponents),init_esbuild_inject(),init_esbuild_inject();var lib8=createCommonjsModule11(function(e,t){Object.defineProperty(t,\\\"__esModule\\\",{value:!0});for(var h={alt:\\\"altKey\\\",control:\\\"ctrlKey\\\",meta:\\\"metaKey\\\",shift:\\\"shiftKey\\\"},r=()=>({add:\\\"+\\\",\\\"break\\\":\\\"pause\\\",cmd:\\\"meta\\\",command:\\\"meta\\\",ctl:\\\"control\\\",ctrl:\\\"control\\\",del:\\\"delete\\\",down:\\\"arrowdown\\\",esc:\\\"escape\\\",ins:\\\"insert\\\",left:\\\"arrowleft\\\",mod:\\\"undefined\\\"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform)?\\\"meta\\\":\\\"control\\\",opt:\\\"alt\\\",option:\\\"alt\\\",\\\"return\\\":\\\"enter\\\",right:\\\"arrowright\\\",space:\\\" \\\",spacebar:\\\" \\\",up:\\\"arrowup\\\",win:\\\"meta\\\",windows:\\\"meta\\\"}),n={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27,\\\" \\\":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,\\\"delete\\\":46,meta:91,numlock:144,scrolllock:145,\\\";\\\":186,\\\"=\\\":187,\\\",\\\":188,\\\"-\\\":189,\\\".\\\":190,\\\"/\\\":191,\\\"`\\\":192,\\\"[\\\":219,\\\"\\\\\\\\\\\":220,\\\"]\\\":221,\\\"'\\\":222},o=1;o\u003C20;o++)n[\\\"f\\\"+o]=111+o;function a(e,t,r){!t||\\\"byKey\\\"in t||(r=t,t=null);var n=(e=Array.isArray(e)?e:[e]).map(function(e){return i(e,t)}),o=function(t){return n.some(function(e){return s(e,t)})};return null==r?o:o(r)}function i(e,t){var r,n=t&&t.byKey,o={},a=(e=e.replace(\\\"++\\\",\\\"+add\\\")).split(\\\"+\\\"),i=a.length;for(r in h)o[h[r]]=!1;var s=!0,c=!1,l=void 0;try{for(var u,d=a[Symbol.iterator]();!(s=(u=d.next()).done);s=!0){var p=u.value,f=p.endsWith(\\\"?\\\")&&1\u003Cp.length,g=v(p=f?p.slice(0,-1):p),m=h[g];1!==i&&m||(n?o.key=g:o.which=_(p)),m&&(o[m]=!f||null)}}catch(err){c=!0,l=err}finally{try{!s&&d[\\\"return\\\"]&&d[\\\"return\\\"]()}finally{if(c)throw l}}return o}function s(e,t){for(var r in e){var n=e[r],o=void 0;if(null!=n&&((null!=(o=\\\"key\\\"===r&&null!=t.key?t.key.toLowerCase():\\\"which\\\"===r?91===n&&93===t.which?91:t.which:t[r])||!1!==n)&&o!==n))return!1}return!0}function _(e){return e=v(e),n[e]||e.toUpperCase().charCodeAt(0)}function v(e){return e=e.toLowerCase(),e=r()[e]||e}t[\\\"default\\\"]=a,t.isHotkey=a,t.isCodeHotkey=function(e,t){return a(e,t)},t.isKeyHotkey=function(e,t){return a(e,{byKey:!0},t)},t.parseHotkey=i,t.compareHotkey=s,t.toKeyCode=_,t.toKeyName=v}),isHotkey8=unwrapExports8(lib8),onKeyDownAutoformat=(lib8.isHotkey,lib8.isCodeHotkey,lib8.isKeyHotkey,lib8.parseHotkey,lib8.compareHotkey,lib8.toKeyCode,lib8.toKeyName,(o,{options:{rules:a,enableUndoOnDelete:i}})=>e=>{if(e.defaultPrevented)return!1;if(!isHotkey8(\\\"backspace\\\",{byKey:!0},e))return!1;if(!a)return!1;if(!i)return!1;var t=o[\\\"selection\\\"];if(t&&Range.isCollapsed(t)){var[t,r]=Range.edges(t),r=getPointBefore(o,r,{unit:\\\"character\\\",distance:1});if(!t)return!1;if(!r)return!1;r={anchor:r,focus:t};const n=getEditorString(o,r);if(!n)return!1;t=[...a].filter(e=>{return!!e&&\\\"text\\\"===e.mode&&e.format===n});if(!t||0===t.length)return!1;e.preventDefault(),deleteBackward2(o,{unit:\\\"character\\\"});r=t[0];return r&&\\\"string\\\"==typeof r.match?insertText3(o,r.match):(t=r.match)&&0\u003Ct.length&&insertText3(o,t[0]),!0}}),isArray10=Array.isArray,isArray_19=isArray10;function castArray7(){var e;return arguments.length?isArray_19(e=arguments[0])?e:[e]:[]}var castArray_17=castArray7,getMatchRange=({match:e,trigger:t})=>{let r,n;n=\\\"object\\\"==typeof e?(r=e.start,e.end):(r=e).split(\\\"\\\").reverse().join(\\\"\\\");var o=t?castArray_17(t):[n.slice(-1)];return n=t?n:n.slice(0,-1),{start:r,end:n,triggers:o}},autoformatBlock=(t,{text:e,trigger:r,match:n,type:o=ELEMENT_DEFAULT,allowSameTypeAbove:a=!1,preFormat:i,format:s,triggerAtBlockStart:c=!0})=>{for(const d of castArray_17(n)){var{end:l,triggers:u}=getMatchRange({match:{start:\\\"\\\",end:d},trigger:r});if(u.includes(e)){let e;if(c){if(e=getRangeFromBlockStart(t),someNode(t,{at:e,match:e=>isVoid(t,e)}))continue;if(l!==getEditorString(t,e))continue}else if(!(e=getRangeBefore(t,t.selection,{matchString:l})))continue;if(!a)if(someNode(t,{match:{type:o}}))continue;return 1\u003Cd.length&&deleteText3(t,{at:e}),i&&i(t),s?s(t):setElements(t,{type:o},{match:e=>isBlock2(t,e)}),!0}}return!1},isPreviousCharacterEmpty=(e,t)=>{var r=getRangeBefore(e,t);if(r){var n,r=getEditorString(e,r);if(r)return n=new RegExp(\\\"\\\\\\\\S+\\\"),!r.match(n)}return!0},getMatchPoints=(r,{start:n,end:e})=>{var t=r.selection;let o=t.anchor;if(!e||(o=getPointBeforeLocation(r,t,{matchString:e}))){let e,t;if(n){if(!(e=getPointBeforeLocation(r,o,{matchString:n,skipInvalid:!0,afterMatch:!0})))return;if(t=getPointBeforeLocation(r,o,{matchString:n,skipInvalid:!0}),!isPreviousCharacterEmpty(r,t))return}return{afterStartMatchPoint:e,beforeStartMatchPoint:t,beforeEndMatchPoint:o}}},autoformatMark=(t,{type:e,text:r,trigger:n,match:o,ignoreTrim:a})=>{if(e){var i=t.selection;for(const f of castArray_17(o)){var{start:s,end:c,triggers:l}=getMatchRange({match:f,trigger:n});if(l.includes(r)){l=getMatchPoints(t,{start:s,end:c});if(l){var{afterStartMatchPoint:s,beforeEndMatchPoint:l,beforeStartMatchPoint:u}=l,d={anchor:s,focus:l};if(!a){var p=getEditorString(t,d);if(p.trim()!==p)continue}c&&deleteText3(t,{at:{anchor:l,focus:i.anchor}});p=castArray_17(e);return select2(t,d),p.forEach(e=>{t.addMark(e,!0)}),collapseSelection(t,{edge:\\\"end\\\"}),removeMark2(t,{key:p,shouldChange:!1}),deleteText3(t,{at:{anchor:u,focus:s}}),!0}}}}return!1},autoformatText=(e,{text:t,match:r,trigger:n,format:o})=>{var a=e.selection;for(const d of castArray_17(r)){var{start:i,end:s,triggers:c}=getMatchRange({match:Array.isArray(o)?d:{start:\\\"\\\",end:d},trigger:n});if(c.includes(t)){var l,u,c=getMatchPoints(e,{start:i,end:s});if(c)return({afterStartMatchPoint:i,beforeEndMatchPoint:u,beforeStartMatchPoint:l}=c),s&&deleteText3(e,{at:{anchor:u,focus:a.anchor}}),\\\"function\\\"==typeof o?o(e,c):(s=Array.isArray(o)?o[1]:o,e.insertText(s),l&&(u=Array.isArray(o)?o[0]:o,deleteText3(e,{at:{anchor:l,focus:i}}),insertText3(e,u,{at:l}))),!0}}return!1},withAutoformat=(a,{options:{rules:i}})=>{const s=a[\\\"insertText\\\"];return a.insertText=e=>{if(!isCollapsed(a.selection))return s(e);for(const o of i){var{mode:t=\\\"text\\\",insertTrigger:r,query:n}=o;if(!n||n(a,{...o,text:e})){n={block:autoformatBlock,mark:autoformatMark,text:autoformatText};if(null!=(t=n[t])&&t.call(n,a,{...o,text:e}))return r&&s(e)}}s(e)},a},KEY_AUTOFORMAT=\\\"autoformat\\\",createAutoformatPlugin=createPluginFactory({key:KEY_AUTOFORMAT,withOverrides:withAutoformat,handlers:{onKeyDown:onKeyDownAutoformat},options:{rules:[]}}),autoformatComparison=[{mode:\\\"text\\\",match:\\\"!>\\\",format:\\\"≯\\\"},{mode:\\\"text\\\",match:\\\"!\u003C\\\",format:\\\"≮\\\"},{mode:\\\"text\\\",match:\\\">=\\\",format:\\\"≥\\\"},{mode:\\\"text\\\",match:\\\"\u003C=\\\",format:\\\"≤\\\"},{mode:\\\"text\\\",match:\\\"!>=\\\",format:\\\"≱\\\"},{mode:\\\"text\\\",match:\\\"!\u003C=\\\",format:\\\"≰\\\"}],autoformatEquality=[{mode:\\\"text\\\",match:\\\"!=\\\",format:\\\"≠\\\"},{mode:\\\"text\\\",match:\\\"==\\\",format:\\\"≡\\\"},{mode:\\\"text\\\",match:[\\\"!==\\\",\\\"≠=\\\"],format:\\\"≢\\\"},{mode:\\\"text\\\",match:\\\"~=\\\",format:\\\"≈\\\"},{mode:\\\"text\\\",match:\\\"!~=\\\",format:\\\"≉\\\"}],autoformatFraction=[{mode:\\\"text\\\",match:\\\"1/2\\\",format:\\\"½\\\"},{mode:\\\"text\\\",match:\\\"1/3\\\",format:\\\"⅓\\\"},{mode:\\\"text\\\",match:\\\"1/4\\\",format:\\\"¼\\\"},{mode:\\\"text\\\",match:\\\"1/5\\\",format:\\\"⅕\\\"},{mode:\\\"text\\\",match:\\\"1/6\\\",format:\\\"⅙\\\"},{mode:\\\"text\\\",match:\\\"1/7\\\",format:\\\"⅐\\\"},{mode:\\\"text\\\",match:\\\"1/8\\\",format:\\\"⅛\\\"},{mode:\\\"text\\\",match:\\\"1/9\\\",format:\\\"⅑\\\"},{mode:\\\"text\\\",match:\\\"1/10\\\",format:\\\"⅒\\\"},{mode:\\\"text\\\",match:\\\"2/3\\\",format:\\\"⅔\\\"},{mode:\\\"text\\\",match:\\\"2/5\\\",format:\\\"⅖\\\"},{mode:\\\"text\\\",match:\\\"3/4\\\",format:\\\"¾\\\"},{mode:\\\"text\\\",match:\\\"3/5\\\",format:\\\"⅗\\\"},{mode:\\\"text\\\",match:\\\"3/8\\\",format:\\\"⅜\\\"},{mode:\\\"text\\\",match:\\\"4/5\\\",format:\\\"⅘\\\"},{mode:\\\"text\\\",match:\\\"5/6\\\",format:\\\"⅚\\\"},{mode:\\\"text\\\",match:\\\"5/8\\\",format:\\\"⅝\\\"},{mode:\\\"text\\\",match:\\\"7/8\\\",format:\\\"⅞\\\"}],autoformatDivision=[{mode:\\\"text\\\",match:\\\"//\\\",format:\\\"÷\\\"}],autoformatOperation=[{mode:\\\"text\\\",match:\\\"+-\\\",format:\\\"±\\\"},{mode:\\\"text\\\",match:\\\"%%\\\",format:\\\"‰\\\"},{mode:\\\"text\\\",match:[\\\"%%%\\\",\\\"‰%\\\"],format:\\\"‱\\\"},...autoformatDivision],autoformatSubscriptNumbers=[{mode:\\\"text\\\",match:\\\"~0\\\",format:\\\"₀\\\"},{mode:\\\"text\\\",match:\\\"~1\\\",format:\\\"₁\\\"},{mode:\\\"text\\\",match:\\\"~2\\\",format:\\\"₂\\\"},{mode:\\\"text\\\",match:\\\"~3\\\",format:\\\"₃\\\"},{mode:\\\"text\\\",match:\\\"~4\\\",format:\\\"₄\\\"},{mode:\\\"text\\\",match:\\\"~5\\\",format:\\\"₅\\\"},{mode:\\\"text\\\",match:\\\"~6\\\",format:\\\"₆\\\"},{mode:\\\"text\\\",match:\\\"~7\\\",format:\\\"₇\\\"},{mode:\\\"text\\\",match:\\\"~8\\\",format:\\\"₈\\\"},{mode:\\\"text\\\",match:\\\"~9\\\",format:\\\"₉\\\"}],autoformatSubscriptSymbols=[{mode:\\\"text\\\",match:\\\"~+\\\",format:\\\"₊\\\"},{mode:\\\"text\\\",match:\\\"~-\\\",format:\\\"₋\\\"}],autoformatSuperscriptNumbers=[{mode:\\\"text\\\",match:\\\"^0\\\",format:\\\"⁰\\\"},{mode:\\\"text\\\",match:\\\"^1\\\",format:\\\"¹\\\"},{mode:\\\"text\\\",match:\\\"^2\\\",format:\\\"²\\\"},{mode:\\\"text\\\",match:\\\"^3\\\",format:\\\"³\\\"},{mode:\\\"text\\\",match:\\\"^4\\\",format:\\\"⁴\\\"},{mode:\\\"text\\\",match:\\\"^5\\\",format:\\\"⁵\\\"},{mode:\\\"text\\\",match:\\\"^6\\\",format:\\\"⁶\\\"},{mode:\\\"text\\\",match:\\\"^7\\\",format:\\\"⁷\\\"},{mode:\\\"text\\\",match:\\\"^8\\\",format:\\\"⁸\\\"},{mode:\\\"text\\\",match:\\\"^9\\\",format:\\\"⁹\\\"}],autoformatSuperscriptSymbols=[{mode:\\\"text\\\",match:\\\"^o\\\",format:\\\"°\\\"},{mode:\\\"text\\\",match:\\\"^+\\\",format:\\\"⁺\\\"},{mode:\\\"text\\\",match:\\\"^-\\\",format:\\\"⁻\\\"}],autoformatMath=[...autoformatComparison,...autoformatEquality,...autoformatOperation,...autoformatFraction,...autoformatSuperscriptSymbols,...autoformatSubscriptSymbols,...autoformatSuperscriptNumbers,...autoformatSubscriptNumbers];function unwrapExports9(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\\\"default\\\")?e[\\\"default\\\"]:e}function createCommonjsModule12(e,t){return e(t={exports:{}},t.exports),t.exports}init_esbuild_inject();var lib9=createCommonjsModule12(function(e,t){Object.defineProperty(t,\\\"__esModule\\\",{value:!0});for(var h={alt:\\\"altKey\\\",control:\\\"ctrlKey\\\",meta:\\\"metaKey\\\",shift:\\\"shiftKey\\\"},r=()=>({add:\\\"+\\\",\\\"break\\\":\\\"pause\\\",cmd:\\\"meta\\\",command:\\\"meta\\\",ctl:\\\"control\\\",ctrl:\\\"control\\\",del:\\\"delete\\\",down:\\\"arrowdown\\\",esc:\\\"escape\\\",ins:\\\"insert\\\",left:\\\"arrowleft\\\",mod:\\\"undefined\\\"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform)?\\\"meta\\\":\\\"control\\\",opt:\\\"alt\\\",option:\\\"alt\\\",\\\"return\\\":\\\"enter\\\",right:\\\"arrowright\\\",space:\\\" \\\",spacebar:\\\" \\\",up:\\\"arrowup\\\",win:\\\"meta\\\",windows:\\\"meta\\\"}),n={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27,\\\" \\\":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,\\\"delete\\\":46,meta:91,numlock:144,scrolllock:145,\\\";\\\":186,\\\"=\\\":187,\\\",\\\":188,\\\"-\\\":189,\\\".\\\":190,\\\"/\\\":191,\\\"`\\\":192,\\\"[\\\":219,\\\"\\\\\\\\\\\":220,\\\"]\\\":221,\\\"'\\\":222},o=1;o\u003C20;o++)n[\\\"f\\\"+o]=111+o;function a(e,t,r){!t||\\\"byKey\\\"in t||(r=t,t=null);var n=(e=Array.isArray(e)?e:[e]).map(function(e){return i(e,t)}),o=function(t){return n.some(function(e){return s(e,t)})};return null==r?o:o(r)}function i(e,t){var r,n=t&&t.byKey,o={},a=(e=e.replace(\\\"++\\\",\\\"+add\\\")).split(\\\"+\\\"),i=a.length;for(r in h)o[h[r]]=!1;var s=!0,c=!1,l=void 0;try{for(var u,d=a[Symbol.iterator]();!(s=(u=d.next()).done);s=!0){var p=u.value,f=p.endsWith(\\\"?\\\")&&1\u003Cp.length,g=v(p=f?p.slice(0,-1):p),m=h[g];1!==i&&m||(n?o.key=g:o.which=_(p)),m&&(o[m]=!f||null)}}catch(err){c=!0,l=err}finally{try{!s&&d[\\\"return\\\"]&&d[\\\"return\\\"]()}finally{if(c)throw l}}return o}function s(e,t){for(var r in e){var n=e[r],o=void 0;if(null!=n&&((null!=(o=\\\"key\\\"===r&&null!=t.key?t.key.toLowerCase():\\\"which\\\"===r?91===n&&93===t.which?91:t.which:t[r])||!1!==n)&&o!==n))return!1}return!0}function _(e){return e=v(e),n[e]||e.toUpperCase().charCodeAt(0)}function v(e){return e=e.toLowerCase(),e=r()[e]||e}t[\\\"default\\\"]=a,t.isHotkey=a,t.isCodeHotkey=function(e,t){return a(e,t)},t.isKeyHotkey=function(e,t){return a(e,{byKey:!0},t)},t.parseHotkey=i,t.compareHotkey=s,t.toKeyCode=_,t.toKeyName=v}),isHotkey9=unwrapExports9(lib9),exitBreakAtEdges=(lib9.isHotkey,lib9.isCodeHotkey,lib9.isKeyHotkey,lib9.parseHotkey,lib9.compareHotkey,lib9.toKeyCode,lib9.toKeyName,(e,{start:t,end:r})=>{let n=!1,o=!1,a=!1;return(t||r)&&(n=!0,t&&isSelectionAtBlockStart2(e)&&(o=!0,a=!0),o=!(!r||!isSelectionAtBlockEnd(e))||o)&&isExpanded(e.selection)&&e.deleteFragment(),{queryEdge:n,isEdge:o,isStart:a}}),exitBreak=(e,{level:t=0,relative:r=!1,defaultType:n=getPluginType(e,ELEMENT_DEFAULT),query:o={},before:a})=>{if(e.selection){var{queryEdge:i,isEdge:s,isStart:c}=exitBreakAtEdges(e,o);if(c&&(a=!0),!i||s)return i=getPath(e,e.selection),s=r?i.slice(0,-t):i.slice(0,t+1),i=a?s:Path.next(s),insertElements(e,{type:n,children:[{text:\\\"\\\"}]},{at:i,select:!c}),!0}},onKeyDownExitBreak=(o,{options:{rules:e=[]}})=>r=>{if(!r.defaultPrevented){const n=getBlockAbove2(o);n&&e.forEach(({hotkey:e,...t})=>{isHotkey9(e,r)&&queryNode(n,t.query)&&exitBreak(o,t)&&(r.preventDefault(),r.stopPropagation())})}},KEY_EXIT_BREAK=\\\"exitBreak\\\",createExitBreakPlugin=createPluginFactory({key:KEY_EXIT_BREAK,handlers:{onKeyDown:onKeyDownExitBreak},options:{rules:[{hotkey:\\\"mod+enter\\\"},{hotkey:\\\"mod+shift+enter\\\",before:!0}]}}),onKeyDownSingleLine=()=>e=>{e.defaultPrevented||Hotkeys2.isSplitBlock(e)&&e.preventDefault()},withSingleLine=t=>{const r=t[\\\"normalizeNode\\\"];return t.insertBreak=()=>null,t.normalizeNode=e=>{0===e[1].length&&1\u003Ct.children.length&&removeNodes3(t,{at:[],mode:\\\"highest\\\",match:(e,t)=>1===t.length&&0\u003Ct[0]}),r(e)},t},KEY_SINGLE_LINE=\\\"singleLine\\\",createSingleLinePlugin=createPluginFactory({key:KEY_SINGLE_LINE,handlers:{onKeyDown:onKeyDownSingleLine},withOverrides:withSingleLine}),onKeyDownSoftBreak=(o,{options:{rules:e=[]}})=>r=>{if(!r.defaultPrevented){const n=getBlockAbove2(o);n&&e.forEach(({hotkey:e,query:t})=>{isHotkey9(e,r)&&queryNode(n,t)&&(r.preventDefault(),r.stopPropagation(),o.insertText(\\\"\\\\n\\\"))})}},KEY_SOFT_BREAK=\\\"softBreak\\\",createSoftBreakPlugin=createPluginFactory({key:KEY_SOFT_BREAK,handlers:{onKeyDown:onKeyDownSoftBreak},options:{rules:[{hotkey:\\\"shift+enter\\\"}]}}),withSelectOnBackspace=(init_esbuild_inject(),(n,{options:{query:o}})=>{const a=n[\\\"deleteBackward\\\"];return n.deleteBackward=e=>{var t=n[\\\"selection\\\"];if(\\\"character\\\"===e&&isCollapsed(t)){const r=getPointBefore(n,t,{unit:e});r&&(([t]=getNodeEntries(n,{match:e=>queryNode([e,r.path],o),at:r})),t)&&r?select2(n,r):a(e)}else a(e)},n}),KEY_SELECT_ON_BACKSPACE=\\\"selectOnBackspace\\\",createSelectOnBackspacePlugin=createPluginFactory({key:KEY_SELECT_ON_BACKSPACE,withOverrides:withSelectOnBackspace}),import_react87=(init_esbuild_inject(),__toESM(require(\\\"react\\\"))),import_raf=__toESM(require_raf());function _extends5(){return(_extends5=Object.assign?Object.assign.bind():function(e){for(var t=1;t\u003Carguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var dndStore=createStore4(\\\"dnd\\\")({isDragging:!1});function isObject9(e){var t=typeof e;return null!=e&&(\\\"object\\\"==t||\\\"function\\\"==t)}var isObject_17=isObject9,commonjsGlobal8=\\\"undefined\\\"!=typeof globalThis?globalThis:\\\"undefined\\\"!=typeof window?window:\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:{},freeGlobal7=\\\"object\\\"==typeof commonjsGlobal8&&commonjsGlobal8&&commonjsGlobal8.Object===Object&&commonjsGlobal8,_freeGlobal7=freeGlobal7,freeSelf7=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,root7=_freeGlobal7||freeSelf7||Function(\\\"return this\\\")(),_root7=root7,now=function(){return _root7.Date.now()},now_1=now,reWhitespace=/\\\\s/;function trimmedEndIndex(e){for(var t=e.length;t--&&reWhitespace.test(e.charAt(t)););return t}var _trimmedEndIndex=trimmedEndIndex,reTrimStart=/^\\\\s+/;function baseTrim(e){return e&&e.slice(0,_trimmedEndIndex(e)+1).replace(reTrimStart,\\\"\\\")}var _baseTrim=baseTrim,Symbol5=_root7.Symbol,_Symbol7=Symbol5,objectProto$17=Object.prototype,hasOwnProperty8=objectProto$17.hasOwnProperty,nativeObjectToString$17=objectProto$17.toString,symToStringTag$17=_Symbol7?_Symbol7.toStringTag:void 0;function getRawTag7(e){var t=hasOwnProperty8.call(e,symToStringTag$17),r=e[symToStringTag$17];try{var n=!(e[symToStringTag$17]=void 0)}catch(a){}var o=nativeObjectToString$17.call(e);return n&&(t?e[symToStringTag$17]=r:delete e[symToStringTag$17]),o}var _getRawTag7=getRawTag7,objectProto7=Object.prototype,nativeObjectToString7=objectProto7.toString;function objectToString7(e){return nativeObjectToString7.call(e)}var _objectToString7=objectToString7,nullTag7=\\\"[object Null]\\\",undefinedTag7=\\\"[object Undefined]\\\",symToStringTag7=_Symbol7?_Symbol7.toStringTag:void 0;function baseGetTag7(e){return null==e?void 0===e?undefinedTag7:nullTag7:(symToStringTag7&&symToStringTag7 in Object(e)?_getRawTag7:_objectToString7)(e)}var _baseGetTag7=baseGetTag7;function isObjectLike7(e){return null!=e&&\\\"object\\\"==typeof e}var isObjectLike_17=isObjectLike7,symbolTag5=\\\"[object Symbol]\\\";function isSymbol3(e){return\\\"symbol\\\"==typeof e||isObjectLike_17(e)&&_baseGetTag7(e)==symbolTag5}var isSymbol_13=isSymbol3,NAN=NaN,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber(e){if(\\\"number\\\"==typeof e)return e;if(isSymbol_13(e))return NAN;if(isObject_17(e)&&(t=\\\"function\\\"==typeof e.valueOf?e.valueOf():e,e=isObject_17(t)?t+\\\"\\\":t),\\\"string\\\"!=typeof e)return 0===e?e:+e;e=_baseTrim(e);var t=reIsBinary.test(e);return t||reIsOctal.test(e)?freeParseInt(e.slice(2),t?2:8):reIsBadHex.test(e)?NAN:+e}var toNumber_1=toNumber,FUNC_ERROR_TEXT$1=\\\"Expected a function\\\",nativeMax3=Math.max,nativeMin=Math.min;function debounce6(n,o,e){var a,i,r,s,c,l,u=0,d=!1,p=!1,t=!0;if(\\\"function\\\"!=typeof n)throw new TypeError(FUNC_ERROR_TEXT$1);function f(e){var t=a,r=i;return a=i=void 0,u=e,s=n.apply(r,t)}function g(e){var t=e-l;return void 0===l||o\u003C=t||t\u003C0||p&&r\u003C=e-u}function m(){var e,t=now_1();if(g(t))return h(t);c=setTimeout(m,(t=o-((e=t)-l),p?nativeMin(t,r-(e-u)):t))}function h(e){return c=void 0,t&&a?f(e):(a=i=void 0,s)}function _(){var e,t=now_1(),r=g(t);if(a=arguments,i=this,l=t,r){if(void 0===c)return u=e=l,c=setTimeout(m,o),d?f(e):s;if(p)return clearTimeout(c),c=setTimeout(m,o),f(l)}return void 0===c&&(c=setTimeout(m,o)),s}return o=toNumber_1(o)||0,isObject_17(e)&&(d=!!e.leading,p=\\\"maxWait\\\"in e,r=p?nativeMax3(toNumber_1(e.maxWait)||0,o):r,t=\\\"trailing\\\"in e?!!e.trailing:t),_.cancel=function(){void 0!==c&&clearTimeout(c),a=l=i=c=void(u=0)},_.flush=function(){return void 0===c?s:h(now_1())},_}var debounce_1=debounce6,FUNC_ERROR_TEXT4=\\\"Expected a function\\\";function throttle2(e,t,r){var n=!0,o=!0;if(\\\"function\\\"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT4);return isObject_17(r)&&(n=\\\"leading\\\"in r?!!r.leading:n,o=\\\"trailing\\\"in r?!!r.trailing:o),debounce_1(e,t,{leading:n,maxWait:t,trailing:o})}var throttle_1=throttle2,getCoords=e=>\\\"touchmove\\\"===e.type?{x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY}:{x:e.clientX,y:e.clientY};function ScrollArea({placement:e,enabled:t=!0,height:r=100,zIndex:n=1e4,minStrength:a=.15,strengthMultiplier:i=25,containerRef:s,scrollAreaProps:o}){const c=(0,import_react87.useRef)(),l=(0,import_react87.useRef)(0),u=(0,import_react87.useRef)(null),d=\\\"top\\\"===e?-1:1;var p={position:\\\"fixed\\\",height:r,width:\\\"100%\\\",opacity:0,zIndex:n,...null==o?void 0:o.style};\\\"top\\\"===e?p.top=0:\\\"bottom\\\"===e&&(p.bottom=0);const f=()=>{l.current=0,u.current&&(import_raf[\\\"default\\\"].cancel(u.current),u.current=null)},g=throttle_1(e=>{var t=c.current;if(t){var{top:t,height:r}=t.getBoundingClientRect(),n=getCoords(e),n=Math.max(Math.max(n.y-t,0)/r,a);if(l.current=-1==d?1-n:n,!u.current&&l.current){const o=()=>{var e,t=l.current;0===i||0===t?f():((null!=(e=null==s?void 0:s.current)?e:window).scrollBy(0,t*i*d),u.current=(0,import_raf[\\\"default\\\"])(o))};o()}}},100,{trailing:!1});var m=e=>{g(e)};return(0,import_react87.useEffect)(()=>{t||f()},[t]),t?import_react87[\\\"default\\\"].createElement(\\\"div\\\",_extends5({ref:c,style:p,onDragOver:m,onDragLeave:f,onDragEnd:f,onTouchMove:m},o)):null}function Scroller(e){return import_react87[\\\"default\\\"].createElement(import_react87[\\\"default\\\"].Fragment,null,import_react87[\\\"default\\\"].createElement(ScrollArea,_extends5({placement:\\\"top\\\"},e)),import_react87[\\\"default\\\"].createElement(ScrollArea,_extends5({placement:\\\"bottom\\\"},e)))}function DndScroller(e){const t=dndStore.use.isDragging(),[r,n]=import_react87[\\\"default\\\"].useState(!1);return(0,import_react87.useEffect)(()=>{if(t){const e=setTimeout(()=>{n(!0)},100);return()=>clearTimeout(e)}n(!1)},[t,r]),import_react87[\\\"default\\\"].createElement(Scroller,_extends5({enabled:t&&r},e))}var KEY_DND=\\\"dnd\\\",createDndPlugin=createPluginFactory({key:KEY_DND,handlers:{onDragStart:()=>()=>dndStore.set.isDragging(!0),onDragEnd:()=>()=>dndStore.set.isDragging(!1),onDrop:e=>()=>e.isDragging},then:(e,{options:t})=>({renderAfterEditable:t.enableScroller?()=>import_react87[\\\"default\\\"].createElement(DndScroller,null==t?void 0:t.scrollerProps):void 0})}),useDraggableState=e=>{var{element:t,onDropHandler:r}=e,n=(0,import_react87.useRef)(null),{dropLine:t,isDragging:r,dragRef:o}=useDndBlock({id:t.id,nodeRef:n,onDropHandler:r});return{dropLine:t,isDragging:r,nodeRef:n,dragRef:o}},useDraggable=e=>({previewRef:e.nodeRef,handleRef:e.dragRef,droplineProps:{contentEditable:!1},gutterLeftProps:{contentEditable:!1}}),useWithDraggable=({editor:e,level:t=0,filter:r,element:n,allowReadOnly:o=!1,draggableProps:a})=>{var i=useReadOnly();const s=(0,import_react87.useMemo)(()=>findNodePath(e,n),[e,n]);return{disabled:(0,import_react87.useMemo)(()=>s&&(Number.isInteger(t)&&t!==s.length-1||r&&r(e,s)),[s,t,r,e])||!o&&i,draggableProps:{editor:e,element:n,...a}}},withDraggable=(o,a,i)=>(0,import_react87.forwardRef)((e,t)=>{var{disabled:r,draggableProps:n}=useWithDraggable({...i,...e});return r?import_react87[\\\"default\\\"].createElement(a,e):import_react87[\\\"default\\\"].createElement(o,_extends5({ref:t},n),import_react87[\\\"default\\\"].createElement(a,e))}),useDragNode=(r,{id:n,item:o,...e})=>useDrag(()=>({item(e){dndStore.set.isDragging(!0),r.isDragging=!0,document.body.classList.add(\\\"dragging\\\");var t=\\\"function\\\"==typeof o?o(e):o;return{id:n,editorId:r.id,...t}},collect:e=>({isDragging:e.isDragging()}),end:()=>{dndStore.set.isDragging(!1),r.isDragging=!1,document.body.classList.remove(\\\"dragging\\\")},...e}),[]),getHoverDirection=({dragItem:e,id:t,monitor:r,nodeRef:n})=>{if(n.current){var o=e.id;if(o!==t){var o=null==(o=n.current)?void 0:o.getBoundingClientRect(),a=(o.bottom-o.top)/2,i=r.getClientOffset();if(i)return(i=i.y-o.top)\u003Ca?\\\"top\\\":a\u003C=i?\\\"bottom\\\":void 0}}},getNewDirection=(e,t)=>!t&&e?\\\"\\\":\\\"top\\\"===t&&\\\"top\\\"!==e?\\\"top\\\":\\\"bottom\\\"===t&&\\\"bottom\\\"!==e?\\\"bottom\\\":void 0,onDropNode=(t,{dragItem:e,monitor:r,nodeRef:n,id:o})=>{var a=getHoverDirection({dragItem:e,monitor:r,nodeRef:n,id:o});if(a){var i=findNode(t,{at:[],match:{id:e.id}});if(i){var[,i]=i;focusEditor(t);let e;if(\\\"bottom\\\"===a){if(!(e=null==(s=findNode(t,{at:[],match:{id:o}}))?void 0:s[1]))return;if(Path.equals(i,Path.next(e)))return}if(\\\"top\\\"===a){var s=null==(s=findNode(t,{at:[],match:{id:o}}))?void 0:s[1];if(!s)return;if(e=[...s.slice(0,-1),s.at(-1)-1],Path.equals(i,e))return}a&&(s=e,a=Path.isBefore(i,s)&&Path.isSibling(i,s)?s:Path.next(s),moveNodes2(t,{at:i,to:a}))}}},onHoverNode=(e,{dragItem:t,monitor:r,nodeRef:n,onChangeDropLine:o,dropLine:a,id:i})=>{var s=getHoverDirection({dragItem:t,monitor:r,nodeRef:n,id:i}),c=getNewDirection(a,s);c&&o(c),s&&isExpanded(e.selection)&&(focusEditor(e),collapseSelection(e))},useDropNode=(r,{nodeRef:n,id:o,dropLine:a,onChangeDropLine:i,onDropHandler:s,...e})=>useDrop({drop:(e,t)=>{!!s&&s(r,{nodeRef:n,id:o,dragItem:e,monitor:t})||onDropNode(r,{nodeRef:n,id:o,dragItem:e,monitor:t})},collect:e=>({isOver:e.isOver()}),hover(e,t){onHoverNode(r,{nodeRef:n,id:o,dropLine:a,onChangeDropLine:i,dragItem:e,monitor:t})},...e}),useDndNode=({id:e,type:t,nodeRef:r,preview:n={},drag:o,drop:a,onDropHandler:i})=>{var s=usePlateEditorRef(),[c,l]=(0,import_react87.useState)(\\\"\\\"),[{isDragging:u},d,p]=useDragNode(s,{id:e,type:t,...o}),[{isOver:s},f]=useDropNode(s,{accept:t,id:e,nodeRef:r,dropLine:c,onChangeDropLine:l,onDropHandler:i,...a});return n.disable?(f(r),p(getEmptyImage(),{captureDraggingState:!0})):n.ref?(f(r),p(n.ref)):p(f(r)),!s&&c&&l(\\\"\\\"),{isDragging:u,isOver:s,dropLine:c,dragRef:d}},DRAG_ITEM_BLOCK=\\\"block\\\",useDndBlock=e=>useDndNode({type:DRAG_ITEM_BLOCK,...e}),withTrailingBlock=(init_esbuild_inject(),(o,{options:{type:a=getPluginType(o,ELEMENT_DEFAULT),level:i,...s}})=>{const c=o[\\\"normalizeNode\\\"];return o.normalizeNode=([e,t])=>{if(0===t.length){var r=getLastNodeByLevel(o,i),n=null==r?void 0:r[0];if(!n||n.type!==a&&queryNode(r,s))return n=r?Path.next(r[1]):[0],void insertElements(o,o.blockFactory({},n),{at:n})}return c([e,t])},o}),KEY_TRAILING_BLOCK=\\\"trailingBlock\\\",createTrailingBlockPlugin=createPluginFactory({key:KEY_TRAILING_BLOCK,withOverrides:withTrailingBlock,options:{level:0},then:e=>({type:getPluginType(e,ELEMENT_DEFAULT)})}),basicElements=createPlugins([createBlockquotePlugin(),createCodeBlockPlugin(),createHeadingPlugin2(),createParagraphPlugin(),createHorizontalRulePlugin(),createListPlugin(),createLinkPlugin()]),basicMarks=createPlugins([createBoldPlugin(),createCodePlugin(),createItalicPlugin(),createStrikethroughPlugin(),createSubscriptPlugin(),createSuperscriptPlugin(),createUnderlinePlugin()]),utils=createPlugins([createComboBoxPlugin(),createAutoCompletePlugin(CONFIG.snippetComboBox),createAutoCompletePlugin(CONFIG.wikiLinkComboBox),createAutoCompletePlugin(CONFIG.wikiTransclusionComboBox),createAutoCompletePlugin(CONFIG.macrosComboBox),createAutoCompletePlugin(CONFIG.widgetComboBox),createSelectOnBackspacePlugin(CONFIG.selectOnBackspace),createSoftBreakPlugin(CONFIG.softBreak),createExitBreakPlugin(CONFIG.exitBreak),createAutoformatPlugin(CONFIG.autoformat),createDndPlugin({options:{enableScroller:!0}}),createKbdPlugin(),createInlineVoidPlugin(),createTrailingBlockPlugin()]),twAdvancedElements=createPlugins([createWidgetPlugin(),createMacroPlugin(),createSetVariablePlugin()]),placeHoldersComponents=(init_esbuild_inject(),[{key:ELEMENT_PARAGRAPH,placeholder:\\\"Type / for commands\\\",hideOnBlur:!0}]),Placeholder=e=>{const{children:t,placeholder:r,nodeProps:n}=e,o=usePlaceholderState(e)[\\\"enabled\\\"];return import_react88.Children.map(t,e=>(0,import_react88.cloneElement)(e,{className:e.props.className,nodeProps:{...n,className:cn2(o&&\\\"before:absolute before:cursor-text before:opacity-30 before:content-[attr(placeholder)]\\\"),placeholder:r}}))},withPlaceholder=createNodeHOC(Placeholder),withPlaceholdersPrimitive=createNodesHOC(Placeholder),withPlaceholders=e=>withPlaceholdersPrimitive(e,placeHoldersComponents),import_react90=(init_esbuild_inject(),__toESM(require(\\\"react\\\"))),import_react89=(init_esbuild_inject(),__toESM(require(\\\"react\\\"))),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),mediaResizeHandleVariants=cva(cn2(\\\"top-0 flex w-6 select-none flex-col justify-center\\\",\\\"after:flex after:h-16 after:w-[3px] after:rounded-[6px] after:bg-slate-400 after:opacity-0 after:content-[_] group-hover:after:opacity-100 dark:after:bg-slate-800\\\"),{variants:{direction:{left:\\\"-left-3 -ml-3 pl-3\\\",right:\\\"-right-3 -mr-3 items-end pr-3\\\"}}}),resizeHandleVariants=cva(cn2(\\\"absolute z-40\\\"),{variants:{direction:{left:\\\"h-full cursor-col-resize\\\",right:\\\"h-full cursor-col-resize\\\",top:\\\"w-full cursor-row-resize\\\",bottom:\\\"w-full cursor-row-resize\\\"}}}),ResizeHandle2=import_react89[\\\"default\\\"].forwardRef(({className:e,...t},r)=>{var n;return(0,import_jsx_runtime.jsx)(ResizeHandle,{ref:r,className:cn2(resizeHandleVariants({direction:null==(n=t.options)?void 0:n.direction}),e),...t})}),resizableVariants=(ResizeHandle2.displayName=\\\"ResizeHandle\\\",cva(\\\"\\\",{variants:{align:{left:\\\"mr-auto\\\",center:\\\"mx-auto\\\",right:\\\"ml-auto\\\"}}})),Resizable2=import_react89[\\\"default\\\"].forwardRef(({className:e,align:t,...r},n)=>(0,import_jsx_runtime.jsx)(Resizable,{ref:n,className:cn2(resizableVariants({align:t}),e),...r})),import_jsx_runtime=(Resizable2.displayName=\\\"Resizable\\\",require(\\\"react/jsx-runtime\\\")),TableCellElement=import_react90[\\\"default\\\"].forwardRef(({children:e,className:t,style:r,hideBorder:n,isHeader:o,...a},i)=>{var s=a[\\\"element\\\"],{colIndex:c,rowIndex:l,readOnly:u,selected:d,hovered:p,hoveredLeft:f,rowSize:g,borders:m,isSelectingCell:h}=useTableCellElementState(),_=useTableCellElement({element:s})[\\\"props\\\"],c=useTableCellElementResizableState({colIndex:c,rowIndex:l}),{rightProps:l,bottomProps:c,leftProps:v,hiddenLeft:y}=useTableCellElementResizable(c),b=o?\\\"th\\\":\\\"td\\\";return(0,import_jsx_runtime.jsx)(PlateElement,{asChild:!0,ref:i,className:cn2(\\\"relative overflow-visible border-none bg-white p-0 dark:bg-slate-950\\\",n&&\\\"before:border-none\\\",s.background?\\\"bg-[--cellBackground]\\\":\\\"bg-white dark:bg-slate-950\\\",!n&&cn2(o&&\\\"text-left [&_>_*]:m-0\\\",\\\"before:h-full before:w-full\\\",d&&\\\"before:z-10 before:bg-slate-100 dark:before:bg-slate-800\\\",\\\"before:absolute before:box-border before:select-none before:content-[]\\\",m&&cn2((null==(d=m.bottom)?void 0:d.size)&&\\\"before:border-b before:border-b-border\\\",(null==(d=m.right)?void 0:d.size)&&\\\"before:border-r before:border-r-border\\\",(null==(d=m.left)?void 0:d.size)&&\\\"before:border-l before:border-l-border\\\",(null==(d=m.top)?void 0:d.size)&&\\\"before:border-t before:border-t-border\\\")),t),..._,...a,style:{\\\"--cellBackground\\\":s.background,...r},children:(0,import_jsx_runtime.jsxs)(b,{children:[(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:\\\"relative z-20 box-border h-full px-3 py-2\\\",style:{minHeight:g},children:e}),!h&&(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:\\\"group absolute top-0 h-full w-full select-none\\\",contentEditable:!1,suppressContentEditableWarning:!0,children:!u&&(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(ResizeHandle2,{...l,className:\\\"-top-3 right-[-5px] w-[10px]\\\"}),(0,import_jsx_runtime.jsx)(ResizeHandle2,{...c,className:\\\"bottom-[-5px] h-[10px]\\\"}),!y&&(0,import_jsx_runtime.jsx)(ResizeHandle2,{...v,className:\\\"-top-3 left-[-5px] w-[10px]\\\"}),p&&(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:cn2(\\\"absolute -top-3 z-30 h-[calc(100%_+_12px)] w-1 bg-slate-400 dark:bg-slate-800\\\",\\\"right-[-1.5px]\\\")}),f&&(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:cn2(\\\"absolute -top-3 z-30 h-[calc(100%_+_12px)] w-1 bg-slate-400 dark:bg-slate-800\\\",\\\"left-[-1.5px]\\\")})]})})]})})}),TableCellHeaderElement=(TableCellElement.displayName=\\\"TableCellElement\\\",import_react90[\\\"default\\\"].forwardRef((e,t)=>(0,import_jsx_runtime.jsx)(TableCellElement,{ref:t,...e,isHeader:!0}))),import_react91=(TableCellHeaderElement.displayName=\\\"TableCellHeaderElement\\\",init_esbuild_inject(),init_esbuild_inject(),require(\\\"react\\\")),$cb5cc270b50c6fcd$var$POPOVER_NAME=\\\"Popover\\\",[$cb5cc270b50c6fcd$var$createPopoverContext,$cb5cc270b50c6fcd$export$c8393c9e73286932]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($cb5cc270b50c6fcd$var$POPOVER_NAME,[$cf1ac5d9fe0e8206$export$722aac194ae923]),$cb5cc270b50c6fcd$var$usePopperScope=$cf1ac5d9fe0e8206$export$722aac194ae923(),[$cb5cc270b50c6fcd$var$PopoverProvider,$cb5cc270b50c6fcd$var$usePopoverContext]=$cb5cc270b50c6fcd$var$createPopoverContext($cb5cc270b50c6fcd$var$POPOVER_NAME),$cb5cc270b50c6fcd$export$5b6b19405a83ff9d=e=>{var{__scopePopover:t,children:r,open:n,defaultOpen:o,onOpenChange:a,modal:i=!1}=e,s=$cb5cc270b50c6fcd$var$usePopperScope(t),c=(0,import_react91.useRef)(null);const[l,u]=(0,import_react91.useState)(!1),[d=!1,p]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:n,defaultProp:o,onChange:a});return(0,import_react91.createElement)($cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9,s,(0,import_react91.createElement)($cb5cc270b50c6fcd$var$PopoverProvider,{scope:t,contentId:$1746a345f3d73bb7$export$f680877a34711e37(),triggerRef:c,open:d,onOpenChange:p,onOpenToggle:(0,import_react91.useCallback)(()=>p(e=>!e),[p]),hasCustomAnchor:l,onCustomAnchorAdd:(0,import_react91.useCallback)(()=>u(!0),[]),onCustomAnchorRemove:(0,import_react91.useCallback)(()=>u(!1),[]),modal:i},r))},$cb5cc270b50c6fcd$var$ANCHOR_NAME=\\\"PopoverAnchor\\\",$cb5cc270b50c6fcd$export$96e5381f42521a79=(0,import_react91.forwardRef)((e,t)=>{const{__scopePopover:r,...n}=e;var o=$cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$ANCHOR_NAME,r),a=$cb5cc270b50c6fcd$var$usePopperScope(r);const{onCustomAnchorAdd:i,onCustomAnchorRemove:s}=o;return(0,import_react91.useEffect)(()=>(i(),()=>s()),[i,s]),(0,import_react91.createElement)($cf1ac5d9fe0e8206$export$b688253958b8dfe7,_extends2({},a,n,{ref:t}))}),$cb5cc270b50c6fcd$var$PORTAL_NAME=\\\"PopoverPortal\\\",[$cb5cc270b50c6fcd$var$PortalProvider,$cb5cc270b50c6fcd$var$usePortalContext]=$cb5cc270b50c6fcd$var$createPopoverContext($cb5cc270b50c6fcd$var$PORTAL_NAME,{forceMount:void 0}),$cb5cc270b50c6fcd$export$dd679ffb4362d2d4=e=>{var{__scopePopover:t,forceMount:r,children:n,container:o}=e,a=$cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$PORTAL_NAME,t);return(0,import_react91.createElement)($cb5cc270b50c6fcd$var$PortalProvider,{scope:t,forceMount:r},(0,import_react91.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:r||a.open},(0,import_react91.createElement)($f1701beae083dbae$export$602eac185826482c,{asChild:!0,container:o},n)))},$cb5cc270b50c6fcd$var$CONTENT_NAME=\\\"PopoverContent\\\",$cb5cc270b50c6fcd$export$d7e1f420b25549ff=(0,import_react91.forwardRef)((e,t)=>{var r=$cb5cc270b50c6fcd$var$usePortalContext($cb5cc270b50c6fcd$var$CONTENT_NAME,e.__scopePopover);const{forceMount:n=r.forceMount,...o}=e;r=$cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME,e.__scopePopover);return(0,import_react91.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:n||r.open},r.modal?(0,import_react91.createElement)($cb5cc270b50c6fcd$var$PopoverContentModal,_extends2({},o,{ref:t})):(0,import_react91.createElement)($cb5cc270b50c6fcd$var$PopoverContentNonModal,_extends2({},o,{ref:t})))}),$cb5cc270b50c6fcd$var$PopoverContentModal=(0,import_react91.forwardRef)((e,t)=>{const r=$cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME,e.__scopePopover),n=(0,import_react91.useRef)(null);var o=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,n);const a=(0,import_react91.useRef)(!1);return(0,import_react91.useEffect)(()=>{var e=n.current;if(e)return hideOthers(e)},[]),(0,import_react91.createElement)(Combination_default,{as:$5e63c961fc1ce211$export$8c6ed5c666ac1360,allowPinchZoom:!0},(0,import_react91.createElement)($cb5cc270b50c6fcd$var$PopoverContentImpl,_extends2({},e,{ref:o,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),a.current||null!=(t=r.triggerRef.current)&&t.focus()}),onPointerDownOutside:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerDownOutside,e=>{var t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey,t=2===t.button||r;a.current=t},{checkForDefaultPrevented:!1}),onFocusOutside:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})))}),$cb5cc270b50c6fcd$var$PopoverContentNonModal=(0,import_react91.forwardRef)((n,e)=>{const o=$cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME,n.__scopePopover),a=(0,import_react91.useRef)(!1),i=(0,import_react91.useRef)(!1);return(0,import_react91.createElement)($cb5cc270b50c6fcd$var$PopoverContentImpl,_extends2({},n,{ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:e=>{var t;null!=(t=n.onCloseAutoFocus)&&t.call(n,e),e.defaultPrevented||(a.current||null!=(t=o.triggerRef.current)&&t.focus(),e.preventDefault()),a.current=!1,i.current=!1},onInteractOutside:e=>{null!=(r=n.onInteractOutside)&&r.call(n,e),e.defaultPrevented||(a.current=!0,\\\"pointerdown\\\"===e.detail.originalEvent.type&&(i.current=!0));var t,r=e.target;(null==(t=o.triggerRef.current)?void 0:t.contains(r))&&e.preventDefault(),\\\"focusin\\\"===e.detail.originalEvent.type&&i.current&&e.preventDefault()}}))}),$cb5cc270b50c6fcd$var$PopoverContentImpl=(0,import_react91.forwardRef)((e,t)=>{const{__scopePopover:r,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:a,disableOutsidePointerEvents:i,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,p=$cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME,r);var f=$cb5cc270b50c6fcd$var$usePopperScope(r);return $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c(),(0,import_react91.createElement)($d3863c46a17e8a28$export$20e40289641fbbb6,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:o,onUnmountAutoFocus:a},(0,import_react91.createElement)($5cb92bef7577960e$export$177fb62ff3ec1f22,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>p.onOpenChange(!1)},(0,import_react91.createElement)($cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2,_extends2({\\\"data-state\\\":$cb5cc270b50c6fcd$var$getState(p.open),role:\\\"dialog\\\",id:p.contentId},f,d,{ref:t,style:{...d.style,\\\"--radix-popover-content-transform-origin\\\":\\\"var(--radix-popper-transform-origin)\\\",\\\"--radix-popover-content-available-width\\\":\\\"var(--radix-popper-available-width)\\\",\\\"--radix-popover-content-available-height\\\":\\\"var(--radix-popper-available-height)\\\",\\\"--radix-popover-trigger-width\\\":\\\"var(--radix-popper-anchor-width)\\\",\\\"--radix-popover-trigger-height\\\":\\\"var(--radix-popper-anchor-height)\\\"}}))))});function $cb5cc270b50c6fcd$var$getState(e){return e?\\\"open\\\":\\\"closed\\\"}var $cb5cc270b50c6fcd$export$be92b6f5f03c0fe9=$cb5cc270b50c6fcd$export$5b6b19405a83ff9d,$cb5cc270b50c6fcd$export$602eac185826482c=$cb5cc270b50c6fcd$export$dd679ffb4362d2d4,$cb5cc270b50c6fcd$export$7c6e2c02157bb7d2=$cb5cc270b50c6fcd$export$d7e1f420b25549ff,import_react93=__toESM(require(\\\"react\\\")),React40=(init_esbuild_inject(),init_esbuild_inject(),__toESM(require(\\\"react\\\"))),BorderNone=React40.forwardRef(function(e,t){return React40.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React40.createElement(\\\"path\\\",{d:\\\"M19 19h2v2h-2zm-8 0h2v2h-2zm4 0h2v2h-2zm-8 0h2v2H7zm-4 0h2v2H3zM3 7h2v2H3zm0 8h2v2H3zm0-4h2v2H3zm0-8h2v2H3zm4 0h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2zm4 0h2v2h-2zm0 4h2v2h-2zm0 4h2v2h-2zm0 4h2v2h-2zm-8-8h2v2h-2zm0 8h2v2h-2zm-4-4h2v2H7zm8 0h2v2h-2zm-4 0h2v2h-2z\\\"}))}),React41=(BorderNone.displayName=\\\"BorderNone\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),Bracket=React41.forwardRef(function(e,t){return React41.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React41.createElement(\\\"path\\\",{d:\\\"M10 4V2H4v20h6v-2H6V4zm4 16v2h6V2h-6v2h4v16z\\\"}))}),React42=(Bracket.displayName=\\\"Bracket\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),CodeAlt=React42.forwardRef(function(e,t){return React42.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React42.createElement(\\\"path\\\",{d:\\\"m7.375 16.781 1.25-1.562L4.601 12l4.024-3.219-1.25-1.562-5 4a1 1 0 0 0 0 1.562l5 4zm9.25-9.562-1.25 1.562L19.399 12l-4.024 3.219 1.25 1.562 5-4a1 1 0 0 0 0-1.562l-5-4zm-1.649-4.003-4 18-1.953-.434 4-18z\\\"}))}),React43=(CodeAlt.displayName=\\\"CodeAlt\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),Paragraph=React43.forwardRef(function(e,t){return React43.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React43.createElement(\\\"path\\\",{d:\\\"M9 16h2v4h2V6h2v14h2V6h3V4H9c-3.309 0-6 2.691-6 6s2.691 6 6 6zM9 6h2v8H9c-2.206 0-4-1.794-4-4s1.794-4 4-4z\\\"}))}),React44=(Paragraph.displayName=\\\"Paragraph\\\",init_esbuild_inject(),init_esbuild_inject(),__toESM(require(\\\"react\\\"))),BorderAll=React44.forwardRef(function(e,t){return React44.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React44.createElement(\\\"path\\\",{d:\\\"M3 3v18h18V3H3zm8 16H5v-6h6v6zm0-8H5V5h6v6zm8 8h-6v-6h6v6zm0-8h-6V5h6v6z\\\"}))}),React45=(BorderAll.displayName=\\\"BorderAll\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),BorderBottom=React45.forwardRef(function(e,t){return React45.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React45.createElement(\\\"path\\\",{d:\\\"M9 11H7v2h2v-2zm4 4h-2v2h2v-2zM9 3H7v2h2V3zm4 8h-2v2h2v-2zM5 3H3v2h2V3zm8 4h-2v2h2V7zm4 4h-2v2h2v-2zm-4-8h-2v2h2V3zm4 0h-2v2h2V3zm2 10h2v-2h-2v2zm0 4h2v-2h-2v2zM5 7H3v2h2V7zm14-4v2h2V3h-2zm0 6h2V7h-2v2zM5 11H3v2h2v-2zM3 21h18v-2H3v2zm2-6H3v2h2v-2z\\\"}))}),React46=(BorderBottom.displayName=\\\"BorderBottom\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),BorderLeft=React46.forwardRef(function(e,t){return React46.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React46.createElement(\\\"path\\\",{d:\\\"M11 21h2v-2h-2v2zm0-4h2v-2h-2v2zm0-12h2V3h-2v2zm0 4h2V7h-2v2zm0 4h2v-2h-2v2zm-4 8h2v-2H7v2zM7 5h2V3H7v2zm0 8h2v-2H7v2zm-4 8h2V3H3v18zM19 9h2V7h-2v2zm-4 12h2v-2h-2v2zm4-4h2v-2h-2v2zm0-14v2h2V3h-2zm0 10h2v-2h-2v2zm0 8h2v-2h-2v2zm-4-8h2v-2h-2v2zm0-8h2V3h-2v2z\\\"}))}),React47=(BorderLeft.displayName=\\\"BorderLeft\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),BorderRight=React47.forwardRef(function(e,t){return React47.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React47.createElement(\\\"path\\\",{d:\\\"M7 21h2v-2H7v2zM3 5h2V3H3v2zm4 0h2V3H7v2zm0 8h2v-2H7v2zm-4 8h2v-2H3v2zm8 0h2v-2h-2v2zm-8-8h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm8 8h2v-2h-2v2zm4-4h2v-2h-2v2zm4-10v18h2V3h-2zm-4 18h2v-2h-2v2zm0-16h2V3h-2v2zm-4 8h2v-2h-2v2zm0-8h2V3h-2v2zm0 4h2V7h-2v2z\\\"}))}),React48=(BorderRight.displayName=\\\"BorderRight\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),BorderTop=React48.forwardRef(function(e,t){return React48.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React48.createElement(\\\"path\\\",{d:\\\"M7 21h2v-2H7v2zm0-8h2v-2H7v2zm4 0h2v-2h-2v2zm0 8h2v-2h-2v2zm-8-4h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2v-2H3v2zm0-4h2V7H3v2zm8 8h2v-2h-2v2zm8-8h2V7h-2v2zm0 4h2v-2h-2v2zM3 3v2h18V3H3zm16 14h2v-2h-2v2zm-4 4h2v-2h-2v2zM11 9h2V7h-2v2zm8 12h2v-2h-2v2zm-4-8h2v-2h-2v2z\\\"}))}),React49=(BorderTop.displayName=\\\"BorderTop\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),Check=React49.forwardRef(function(e,t){return React49.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React49.createElement(\\\"path\\\",{d:\\\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\\\"}))}),React50=(Check.displayName=\\\"Check\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),ChevronRight=React50.forwardRef(function(e,t){return React50.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React50.createElement(\\\"path\\\",{d:\\\"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\\\"}))}),React51=(ChevronRight.displayName=\\\"ChevronRight\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),Delete=React51.forwardRef(function(e,t){return React51.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React51.createElement(\\\"path\\\",{d:\\\"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\\\"}))}),React52=(Delete.displayName=\\\"Delete\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),DragHandle=React52.forwardRef(function(e,t){return React52.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React52.createElement(\\\"path\\\",{d:\\\"M20 9H4v2h16V9zM4 15h16v-2H4v2z\\\"}))}),React53=(DragHandle.displayName=\\\"DragHandle\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),FormatBold=React53.forwardRef(function(e,t){return React53.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React53.createElement(\\\"path\\\",{d:\\\"M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z\\\"}))}),React54=(FormatBold.displayName=\\\"FormatBold\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),FormatItalic=React54.forwardRef(function(e,t){return React54.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React54.createElement(\\\"path\\\",{d:\\\"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z\\\"}))}),React55=(FormatItalic.displayName=\\\"FormatItalic\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),FormatListBulleted=React55.forwardRef(function(e,t){return React55.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React55.createElement(\\\"path\\\",{d:\\\"M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z\\\"}))}),React56=(FormatListBulleted.displayName=\\\"FormatListBulleted\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),FormatListNumbered=React56.forwardRef(function(e,t){return React56.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React56.createElement(\\\"path\\\",{d:\\\"M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z\\\"}))}),React57=(FormatListNumbered.displayName=\\\"FormatListNumbered\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),FormatQuote=React57.forwardRef(function(e,t){return React57.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React57.createElement(\\\"path\\\",{d:\\\"M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z\\\"}))}),React58=(FormatQuote.displayName=\\\"FormatQuote\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),FormatStrikethrough=React58.forwardRef(function(e,t){return React58.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React58.createElement(\\\"path\\\",{d:\\\"M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z\\\"}))}),React59=(FormatStrikethrough.displayName=\\\"FormatStrikethrough\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),FormatUnderlined=React59.forwardRef(function(e,t){return React59.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React59.createElement(\\\"path\\\",{d:\\\"M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z\\\"}))}),React60=(FormatUnderlined.displayName=\\\"FormatUnderlined\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),Link=React60.forwardRef(function(e,t){return React60.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React60.createElement(\\\"path\\\",{d:\\\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\\\"}))}),React61=(Link.displayName=\\\"Link\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),Looks3=React61.forwardRef(function(e,t){return React61.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React61.createElement(\\\"path\\\",{d:\\\"M19.01 3h-14c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 7.5c0 .83-.67 1.5-1.5 1.5.83 0 1.5.67 1.5 1.5V15a2 2 0 0 1-2 2h-4v-2h4v-2h-2v-2h2V9h-4V7h4a2 2 0 0 1 2 2v1.5z\\\"}))}),React62=(Looks3.displayName=\\\"Looks3\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),Looks4=React62.forwardRef(function(e,t){return React62.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React62.createElement(\\\"path\\\",{d:\\\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 14h-2v-4H9V7h2v4h2V7h2v10z\\\"}))}),React63=(Looks4.displayName=\\\"Looks4\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),Looks5=React63.forwardRef(function(e,t){return React63.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React63.createElement(\\\"path\\\",{d:\\\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-4v2h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H9v-2h4v-2H9V7h6v2z\\\"}))}),React64=(Looks5.displayName=\\\"Looks5\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),Looks6=React64.forwardRef(function(e,t){return React64.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React64.createElement(\\\"path\\\",{d:\\\"M11 15h2v-2h-2v2zm8-12H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-4v2h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h4v2z\\\"}))}),React65=(Looks6.displayName=\\\"Looks6\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),LooksOne=React65.forwardRef(function(e,t){return React65.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React65.createElement(\\\"path\\\",{d:\\\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14h-2V9h-2V7h4v10z\\\"}))}),React66=(LooksOne.displayName=\\\"LooksOne\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),LooksTwo=React66.forwardRef(function(e,t){return React66.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React66.createElement(\\\"path\\\",{d:\\\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8a2 2 0 0 1-2 2h-2v2h4v2H9v-4a2 2 0 0 1 2-2h2V9H9V7h4a2 2 0 0 1 2 2v2z\\\"}))}),React67=(LooksTwo.displayName=\\\"LooksTwo\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),More=React67.forwardRef(function(e,t){return React67.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React67.createElement(\\\"path\\\",{d:\\\"M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.97.89 1.66.89H22c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 13.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm5 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm5 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z\\\"}))}),React68=(More.displayName=\\\"More\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),Subscript=React68.forwardRef(function(e,t){return React68.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React68.createElement(\\\"path\\\",{d:\\\"M22 18h-2v1h3v1h-4v-2c0-.55.45-1 1-1h2v-1h-3v-1h3c.55 0 1 .45 1 1v1c0 .55-.45 1-1 1zM5.88 18h2.66l3.4-5.42h.12l3.4 5.42h2.66l-4.65-7.27L17.81 4h-2.68l-3.07 4.99h-.12L8.85 4H6.19l4.32 6.73L5.88 18z\\\"}))}),React69=(Subscript.displayName=\\\"Subscript\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),Superscript=React69.forwardRef(function(e,t){return React69.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 24 24\\\"},e,{ref:t}),React69.createElement(\\\"path\\\",{d:\\\"M22 7h-2v1h3v1h-4V7c0-.55.45-1 1-1h2V5h-3V4h3c.55 0 1 .45 1 1v1c0 .55-.45 1-1 1zM5.88 20h2.66l3.4-5.42h.12l3.4 5.42h2.66l-4.65-7.27L17.81 6h-2.68l-3.07 4.99h-.12L8.85 6H6.19l4.32 6.73L5.88 20z\\\"}))}),iconVariants=(Superscript.displayName=\\\"Superscript\\\",init_esbuild_inject(),cva(\\\"\\\",{variants:{variant:{toolbar:\\\"h-5 w-5\\\",menuItem:\\\"mr-2 h-5 w-5\\\"},size:{sm:\\\"mr-2 h-4 w-4\\\",md:\\\"mr-2 h-6 w-6\\\"}},defaultVariants:{}})),React70=(init_esbuild_inject(),__toESM(require(\\\"react\\\"))),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),buttonVariants=cva(\\\"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 dark:ring-offset-slate-950 dark:focus-visible:ring-slate-800\\\",{variants:{variant:{\\\"default\\\":\\\"bg-slate-900 text-slate-50 hover:bg-slate-900/90 dark:bg-slate-50 dark:text-slate-900 dark:hover:bg-slate-50/90\\\",destructive:\\\"bg-red-500 text-slate-50 hover:bg-red-500/90 dark:bg-red-900 dark:text-red-50 dark:hover:bg-red-900/90\\\",outline:\\\"border border-slate-200 bg-white hover:bg-slate-100 hover:text-slate-900 dark:border-slate-800 dark:bg-slate-950 dark:hover:bg-slate-800 dark:hover:text-slate-50\\\",secondary:\\\"bg-slate-100 text-slate-900 hover:bg-slate-100/80 dark:bg-slate-800 dark:text-slate-50 dark:hover:bg-slate-800/80\\\",ghost:\\\"hover:bg-slate-100 hover:text-slate-900 dark:hover:bg-slate-800 dark:hover:text-slate-50\\\",link:\\\"text-slate-900 underline-offset-4 hover:underline dark:text-slate-50\\\"},size:{\\\"default\\\":\\\"h-10 px-4 py-2\\\",xs:\\\"h-8 rounded-md px-3\\\",sm:\\\"h-9 rounded-md px-3\\\",sms:\\\"h-9 w-9 rounded-md px-0\\\",lg:\\\"h-11 rounded-md px-8\\\",icon:\\\"h-10 w-10\\\"},isMenu:{\\\"true\\\":\\\"h-auto w-full cursor-pointer justify-start\\\"}},defaultVariants:{variant:\\\"default\\\",size:\\\"default\\\"}}),Button=React70.forwardRef(({className:e,isMenu:t,variant:r,size:n,asChild:o=!1,...a},i)=>{return(0,import_jsx_runtime.jsx)(o?$5e63c961fc1ce211$export$8c6ed5c666ac1360:\\\"button\\\",{className:cn2(buttonVariants({isMenu:t,variant:r,size:n,className:e})),ref:i,...a})}),React71=(Button.displayName=\\\"Button\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),import_react92=require(\\\"react\\\"),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),DropdownMenu=$d08ef79370b62062$export$be92b6f5f03c0fe9,DropdownMenuTrigger=$d08ef79370b62062$export$41fb9f06171c75f4,DropdownMenuPortal=$d08ef79370b62062$export$602eac185826482c,DropdownMenuRadioGroup=$d08ef79370b62062$export$a98f0dcb43a68a25,DropdownMenuSubTrigger=React71.forwardRef(({className:e,inset:t,children:r,...n},o)=>(0,import_jsx_runtime.jsxs)($d08ef79370b62062$export$2ea8a7a591ac5eac,{ref:o,className:cn2(\\\"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100 dark:focus:bg-slate-800 dark:data-[state=open]:bg-slate-800\\\",\\\"data-[disabled]:pointer-events-none data-[disabled]:opacity-50\\\",t&&\\\"pl-8\\\",e),...n,children:[r,(0,import_jsx_runtime.jsx)(ChevronRight,{className:\\\"ml-auto h-4 w-4\\\"})]})),DropdownMenuSubContent=(DropdownMenuSubTrigger.displayName=$d08ef79370b62062$export$2ea8a7a591ac5eac.displayName,React71.forwardRef(({className:e,...t},r)=>(0,import_jsx_runtime.jsx)($d08ef79370b62062$export$6d4de93b380beddf,{ref:r,className:cn2(\\\"z-50 min-w-[8rem] overflow-hidden rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-slate-800 dark:bg-slate-950 dark:text-slate-50\\\",e),...t}))),DropdownMenuContent=(DropdownMenuSubContent.displayName=$d08ef79370b62062$export$6d4de93b380beddf.displayName,React71.forwardRef(({className:e,sideOffset:t=4,...r},n)=>(0,import_jsx_runtime.jsx)($d08ef79370b62062$export$602eac185826482c,{children:(0,import_jsx_runtime.jsx)($d08ef79370b62062$export$7c6e2c02157bb7d2,{ref:n,sideOffset:t,className:cn2(\\\"z-50 min-w-[8rem] overflow-hidden rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-slate-800 dark:bg-slate-950 dark:text-slate-50\\\",e),...r})}))),menuItemVariants=(DropdownMenuContent.displayName=$d08ef79370b62062$export$7c6e2c02157bb7d2.displayName,cva(cn2(\\\"relative flex h-9 cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors\\\",\\\"focus:bg-slate-100 focus:text-slate-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-slate-800 dark:focus:text-slate-50\\\"),{variants:{inset:{\\\"true\\\":\\\"pl-8\\\"}}})),DropdownMenuItem=React71.forwardRef(({className:e,inset:t,...r},n)=>(0,import_jsx_runtime.jsx)($d08ef79370b62062$export$6d08773d2e66f8f2,{ref:n,className:cn2(menuItemVariants({inset:t}),e),...r})),DropdownMenuCheckboxItem=(DropdownMenuItem.displayName=$d08ef79370b62062$export$6d08773d2e66f8f2.displayName,React71.forwardRef(({className:e,children:t,checked:r,...n},o)=>(0,import_jsx_runtime.jsxs)($d08ef79370b62062$export$16ce288f89fa631c,{ref:o,className:cn2(\\\"relative flex select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-slate-100 focus:text-slate-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-slate-800 dark:focus:text-slate-50\\\",\\\"cursor-pointer\\\",e),checked:r,...n,children:[(0,import_jsx_runtime.jsx)(\\\"span\\\",{className:\\\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\\\",children:(0,import_jsx_runtime.jsx)($d08ef79370b62062$export$c3468e2714d175fa,{children:(0,import_jsx_runtime.jsx)(Check,{className:\\\"h-4 w-4\\\"})})}),t]}))),DropdownMenuRadioItem=(DropdownMenuCheckboxItem.displayName=$d08ef79370b62062$export$16ce288f89fa631c.displayName,React71.forwardRef(({className:e,children:t,hideIcon:r,...n},o)=>(0,import_jsx_runtime.jsxs)($d08ef79370b62062$export$371ab307eab489c0,{ref:o,className:cn2(\\\"relative flex select-none items-center rounded-sm pl-8 pr-2 text-sm outline-none transition-colors focus:bg-slate-100 focus:text-slate-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-slate-800 dark:focus:text-slate-50\\\",\\\"h-9 cursor-pointer px-2 data-[state=checked]:bg-slate-100 data-[state=checked]:text-slate-900 dark:data-[state=checked]:bg-slate-800 dark:data-[state=checked]:text-slate-50\\\",e),...n,children:[!r&&(0,import_jsx_runtime.jsx)(\\\"span\\\",{className:\\\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\\\",children:(0,import_jsx_runtime.jsx)($d08ef79370b62062$export$c3468e2714d175fa,{children:(0,import_jsx_runtime.jsx)(Check,{className:\\\"h-4 w-4\\\"})})}),t]}))),DropdownMenuLabel=(DropdownMenuRadioItem.displayName=$d08ef79370b62062$export$371ab307eab489c0.displayName,React71.forwardRef(({className:e,inset:t,...r},n)=>(0,import_jsx_runtime.jsx)($d08ef79370b62062$export$b04be29aa201d4f5,{ref:n,className:cn2(\\\"select-none px-2 py-1.5 text-sm font-semibold\\\",t&&\\\"pl-8\\\",e),...r}))),DropdownMenuSeparator=(DropdownMenuLabel.displayName=$d08ef79370b62062$export$b04be29aa201d4f5.displayName,React71.forwardRef(({className:e,...t},r)=>(0,import_jsx_runtime.jsx)($d08ef79370b62062$export$1ff3c3f08ae963c0,{ref:r,className:cn2(\\\"-mx-1 my-1 h-px bg-slate-100 dark:bg-slate-800\\\",e),...t})));function DropdownMenuShortcut({className:e,...t}){return(0,import_jsx_runtime.jsx)(\\\"span\\\",{className:cn2(\\\"ml-auto text-xs tracking-widest opacity-60\\\",e),...t})}DropdownMenuSeparator.displayName=$d08ef79370b62062$export$1ff3c3f08ae963c0.displayName,DropdownMenuShortcut.displayName=\\\"DropdownMenuShortcut\\\";var useOpenState=()=>{const[t,r]=(0,import_react92.useState)(!1);var e=(0,import_react92.useCallback)((e=!t)=>{r(e)},[t]);return{open:t,onOpenChange:e}},React72=(init_esbuild_inject(),__toESM(require(\\\"react\\\"))),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),Popover=$cb5cc270b50c6fcd$export$be92b6f5f03c0fe9,popoverVariants=cva(\\\"z-[100] w-72 rounded-md border border-slate-200 bg-white p-4 text-slate-950 shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-slate-800 dark:bg-slate-950 dark:text-slate-50\\\"),PopoverContent=React72.forwardRef(({className:e,align:t=\\\"center\\\",sideOffset:r=4,...n},o)=>(0,import_jsx_runtime.jsx)($cb5cc270b50c6fcd$export$602eac185826482c,{children:(0,import_jsx_runtime.jsx)($cb5cc270b50c6fcd$export$7c6e2c02157bb7d2,{ref:o,align:t,sideOffset:r,className:cn2(popoverVariants(),e),...n})})),import_jsx_runtime=(PopoverContent.displayName=$cb5cc270b50c6fcd$export$7c6e2c02157bb7d2.displayName,require(\\\"react/jsx-runtime\\\")),TableBordersDropdownMenuContent=(0,import_react93.forwardRef)((e,t)=>{var{getOnSelectTableBorder:r,hasOuterBorders:n,hasBottomBorder:o,hasLeftBorder:a,hasNoBorders:i,hasRightBorder:s,hasTopBorder:c}=useTableBordersDropdownMenuContentState();return(0,import_jsx_runtime.jsxs)(DropdownMenuContent,{ref:t,className:cn2(\\\"min-w-[220px]\\\",\\\"z-200\\\"),side:\\\"right\\\",align:\\\"start\\\",sideOffset:0,...e,children:[(0,import_jsx_runtime.jsxs)(DropdownMenuCheckboxItem,{checked:o,onCheckedChange:r(\\\"bottom\\\"),children:[(0,import_jsx_runtime.jsx)(BorderBottom,{className:iconVariants({size:\\\"sm\\\"})}),(0,import_jsx_runtime.jsx)(\\\"div\\\",{children:\\\"Bottom Border\\\"})]}),(0,import_jsx_runtime.jsxs)(DropdownMenuCheckboxItem,{checked:c,onCheckedChange:r(\\\"top\\\"),children:[(0,import_jsx_runtime.jsx)(BorderTop,{className:iconVariants({size:\\\"sm\\\"})}),(0,import_jsx_runtime.jsx)(\\\"div\\\",{children:\\\"Top Border\\\"})]}),(0,import_jsx_runtime.jsxs)(DropdownMenuCheckboxItem,{checked:a,onCheckedChange:r(\\\"left\\\"),children:[(0,import_jsx_runtime.jsx)(BorderLeft,{className:iconVariants({size:\\\"sm\\\"})}),(0,import_jsx_runtime.jsx)(\\\"div\\\",{children:\\\"Left Border\\\"})]}),(0,import_jsx_runtime.jsxs)(DropdownMenuCheckboxItem,{checked:s,onCheckedChange:r(\\\"right\\\"),children:[(0,import_jsx_runtime.jsx)(BorderRight,{className:iconVariants({size:\\\"sm\\\"})}),(0,import_jsx_runtime.jsx)(\\\"div\\\",{children:\\\"Right Border\\\"})]}),(0,import_jsx_runtime.jsx)(Separator,{}),(0,import_jsx_runtime.jsxs)(DropdownMenuCheckboxItem,{checked:i,onCheckedChange:r(\\\"none\\\"),children:[(0,import_jsx_runtime.jsx)(BorderNone,{className:iconVariants({size:\\\"sm\\\"})}),(0,import_jsx_runtime.jsx)(\\\"div\\\",{children:\\\"No Border\\\"})]}),(0,import_jsx_runtime.jsxs)(DropdownMenuCheckboxItem,{checked:n,onCheckedChange:r(\\\"outer\\\"),children:[(0,import_jsx_runtime.jsx)(BorderAll,{className:iconVariants({size:\\\"sm\\\"})}),(0,import_jsx_runtime.jsx)(\\\"div\\\",{children:\\\"Outside Borders\\\"})]})]})}),TableFloatingToolbar=(TableBordersDropdownMenuContent.displayName=\\\"TableBordersDropdownMenuContent\\\",import_react93[\\\"default\\\"].forwardRef(({children:e,...t},r)=>{const n=useElement();var o=useRemoveNodeButton({element:n})[\\\"props\\\"],a=useReadOnly(),i=usePlateEditorState(),a=!a&&someNode(i,{match:e=>e===n})&&isCollapsed(i.selection);return(0,import_jsx_runtime.jsxs)(Popover,{open:a,modal:!1,children:[(0,import_jsx_runtime.jsx)($cb5cc270b50c6fcd$export$96e5381f42521a79,{asChild:!0,children:e}),(0,import_jsx_runtime.jsxs)(PopoverContent,{ref:r,className:cn2(popoverVariants(),\\\"flex w-[220px] flex-col gap-1 p-1\\\"),onOpenAutoFocus:e=>{e.preventDefault()},...t,children:[(0,import_jsx_runtime.jsxs)(DropdownMenu,{modal:!1,children:[(0,import_jsx_runtime.jsx)(DropdownMenuTrigger,{asChild:!0,children:(0,import_jsx_runtime.jsxs)(Button,{variant:\\\"ghost\\\",isMenu:!0,children:[(0,import_jsx_runtime.jsx)(BorderAll,{className:\\\"mr-2 h-4 w-4\\\"}),\\\"Borders\\\"]})}),(0,import_jsx_runtime.jsx)(DropdownMenuPortal,{children:(0,import_jsx_runtime.jsx)(TableBordersDropdownMenuContent,{})})]}),(0,import_jsx_runtime.jsxs)(Button,{contentEditable:!1,variant:\\\"ghost\\\",isMenu:!0,...o,children:[(0,import_jsx_runtime.jsx)(Delete,{className:\\\"mr-2 h-4 w-4\\\"}),\\\"Delete\\\"]})]})]})})),TableElement=(TableFloatingToolbar.displayName=\\\"TableFloatingToolbar\\\",import_react93[\\\"default\\\"].forwardRef(({className:e,children:t,...r},n)=>{const{colSizes:o,isSelectingCell:a,minColumnWidth:i,marginLeft:s}=useTableElementState();var{props:c,colGroupProps:l}=useTableElement();return(0,import_jsx_runtime.jsx)(TableFloatingToolbar,{children:(0,import_jsx_runtime.jsx)(\\\"div\\\",{style:{paddingLeft:s},children:(0,import_jsx_runtime.jsx)(PlateElement,{asChild:!0,ref:n,className:cn2(\\\"my-4 ml-px mr-0 table h-px w-full table-fixed border-collapse\\\",a&&\\\"[&_*::selection]:bg-none\\\",e),...c,...r,children:(0,import_jsx_runtime.jsxs)(\\\"table\\\",{children:[(0,import_jsx_runtime.jsx)(\\\"colgroup\\\",{...l,children:o.map((e,t)=>(0,import_jsx_runtime.jsx)(\\\"col\\\",{style:{minWidth:i,width:e||void 0}},t))}),(0,import_jsx_runtime.jsx)(\\\"tbody\\\",{className:\\\"min-w-full\\\",children:t})]})})})})})),import_react94=(TableElement.displayName=\\\"TableElement\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),TableRowElement=import_react94[\\\"default\\\"].forwardRef(({hideBorder:e,children:t,...r},n)=>(0,import_jsx_runtime.jsx)(PlateElement,{asChild:!0,ref:n,className:cn2(\\\"h-full\\\",e&&\\\"border-none\\\"),...r,children:(0,import_jsx_runtime.jsx)(\\\"tr\\\",{children:t})})),import_react95=(TableRowElement.displayName=\\\"TableRowElement\\\",init_esbuild_inject(),init_esbuild_inject(),require(\\\"react\\\")),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),Draggable=(0,import_react95.forwardRef)(({className:e,classNames:t={},onDropHandler:r,...n},o)=>{var{children:a,element:i}=n,i=useDraggableState({element:i,onDropHandler:r});const{dropLine:s,isDragging:c}=i;var{droplineProps:i,gutterLeftProps:l,previewRef:u,handleRef:d}=useDraggable(i);return(0,import_react95.useEffect)(()=>{$tw.dragInProgress=c},[c]),(0,import_jsx_runtime.jsxs)(\\\"div\\\",{className:cn2(\\\"relative\\\",c&&\\\"opacity-50\\\",\\\"group\\\",e),ref:o,children:[(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:cn2(\\\"pointer-events-none absolute top-0 flex h-full -translate-x-full cursor-text opacity-0 group-hover:opacity-100\\\",t.gutterLeft),...l,children:(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:cn2(\\\"flex h-[1.5em]\\\",t.blockToolbarWrapper),children:(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:cn2(\\\"pointer-events-auto mr-1 flex items-center tw-slate-write-drag-handle\\\",t.blockToolbar),children:(0,import_jsx_runtime.jsxs)(Tooltip,{children:[(0,import_jsx_runtime.jsx)(TooltipTrigger,{ref:d,children:(0,import_jsx_runtime.jsx)(DragHandle,{className:\\\"h-4 w-4 text-slate-500 dark:text-slate-400\\\"})}),(0,import_jsx_runtime.jsx)(TooltipContent,{align:\\\"end\\\",children:\\\"Drag to move\\\"})]})})})}),(0,import_jsx_runtime.jsxs)(\\\"div\\\",{className:cn2(\\\"\\\",t.blockWrapper),ref:u,children:[a,!!s&&(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:cn2(\\\"absolute inset-x-0 h-0.5 opacity-100\\\",\\\"bg-slate-400 dark:bg-slate-800\\\",\\\"top\\\"===s&&\\\"-top-px\\\",\\\"bottom\\\"===s&&\\\"-bottom-px\\\",t.dropLine),...i})]})]})}),withDraggable2=(Draggable.displayName=\\\"Draggable\\\",(e,t)=>withDraggable(Draggable,e,t)),withDraggablesPrimitive=createNodesWithHOC(withDraggable2),withDraggables=e=>withDraggablesPrimitive(e,draggableComponents),createPlateUI=r=>{const n={};return void 0!==r&&Object.keys(r).forEach(e=>{var t=r[e];void 0!==t&&(n[e]=t)}),n},rawComponents=createPlateUI({[ELEMENT_AUTO_COMPLETE]:MentionElement,[ELEMENT_AUTO_COMPLETE_INPUT]:MentionInputElement,[ELEMENT_WIDGET]:WidgetBlock,[ELEMENT_MACRO2]:WidgetBlock,[ELEMENT_LINK]:LinkElement,[ELEMENT_CODE_BLOCK2]:CodeBlockElement,[ELEMENT_PARAGRAPH]:withProps(PlateElement,{as:\\\"p\\\"}),[ELEMENT_BLOCKQUOTE]:BlockquoteElement,[ELEMENT_H1]:withProps(PlateElement,{as:\\\"h1\\\"}),[ELEMENT_H2]:withProps(PlateElement,{as:\\\"h2\\\"}),[ELEMENT_H3]:withProps(PlateElement,{as:\\\"h3\\\"}),[ELEMENT_H4]:withProps(PlateElement,{as:\\\"h4\\\"}),[ELEMENT_H5]:withProps(PlateElement,{as:\\\"h5\\\"}),[ELEMENT_H6]:withProps(PlateElement,{as:\\\"h6\\\"}),[ELEMENT_LI]:withProps(PlateElement,{as:\\\"li\\\"}),[ELEMENT_UL]:withProps(PlateElement,{as:\\\"ul\\\"}),[ELEMENT_OL]:withProps(PlateElement,{as:\\\"ol\\\"}),[ELEMENT_TABLE]:TableElement,[ELEMENT_TD]:TableCellElement,[ELEMENT_TH]:withProps(PlateElement,{as:\\\"th\\\"}),[ELEMENT_TR]:TableRowElement,[MARK_BOLD]:withProps(PlateLeaf,{as:\\\"strong\\\"}),[MARK_CODE]:withProps(PlateLeaf,{as:\\\"code\\\"}),[MARK_HIGHLIGHT]:withProps(PlateLeaf,{as:\\\"mark\\\",style:{backgroundColor:\\\"#fef3b7\\\"}}),[MARK_ITALIC]:withProps(PlateLeaf,{as:\\\"em\\\"}),[MARK_KBD]:withProps(PlateLeaf,{as:\\\"kbd\\\"}),[MARK_STRIKETHROUGH]:withProps(PlateLeaf,{as:\\\"s\\\"}),[MARK_SUBSCRIPT$1]:withProps(PlateLeaf,{as:\\\"sub\\\"}),[MARK_SUPERSCRIPT]:withProps(PlateLeaf,{as:\\\"sup\\\"}),[MARK_UNDERLINE]:withProps(PlateLeaf,{as:\\\"u\\\"})}),components=withDraggables(withPlaceholders(rawComponents)),import_react96=(init_esbuild_inject(),__toESM(require(\\\"react\\\"))),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),LinkElement2=import_react96[\\\"default\\\"].forwardRef(({className:e,children:t,...r},n)=>{var o=useLink({element:r.element})[\\\"props\\\"];return(0,import_jsx_runtime.jsx)(PlateElement,{asChild:!0,ref:n,className:cn2(\\\"font-medium underline underline-offset-4\\\",e),...o,...r,children:(0,import_jsx_runtime.jsx)(\\\"a\\\",{children:t})})}),import_jsx_runtime=(LinkElement2.displayName=\\\"LinkElement\\\",init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),listVariants=cva(\\\"m-0 ps-6\\\",{variants:{variant:{ul:\\\"list-disc [&_ul]:list-[circle] [&_ul_ul]:list-[square]\\\",ol:\\\"list-decimal\\\"}}}),import_react97=(init_esbuild_inject(),__toESM(require(\\\"react\\\"))),import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),ParagraphElement=import_react97[\\\"default\\\"].forwardRef(({className:e,children:t,...r},n)=>(0,import_jsx_runtime.jsx)(PlateElement,{ref:n,className:cn2(\\\"m-0 px-0 py-1\\\",e),...r,children:t})),React78=(ParagraphElement.displayName=\\\"ParagraphElement\\\",init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),__toESM(require(\\\"react\\\"))),Subscript2=React78.forwardRef(function(e,t){return React78.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 100 100\\\"},e,{ref:t}),React78.createElement(\\\"path\\\",{d:\\\"M90.694 76.981a.99.99 0 0 0-.703-.291v-.012h-5.208c3.816-2.52 5.064-4.32 5.064-6.504 0-3.216-2.712-5.521-6.865-5.521-2.138 0-4.685.695-6.521 2.481-.043.031-.092.048-.13.087-.027.027-.038.063-.062.093-.018.018-.038.033-.055.052l.012.014a.967.967 0 0 0 .005 1.096l-.016.01 1.367 1.995h.001a.98.98 0 0 0 1.265.092l.007.009c.036-.03.072-.056.108-.085.007-.007.017-.009.025-.016l.005-.007c1.184-.965 2.446-1.548 4.088-1.548 1.032 0 1.848.48 1.848 1.248 0 1.2-.696 1.8-8.017 6.96v.022c-.067.041-.139.073-.197.131a.97.97 0 0 0-.267.578h-.024v2.609c0 .241.195.437.437.437.018 0 .034-.008.052-.01v.004h13.082a.992.992 0 0 0 .994-.994v-2.225a1.013 1.013 0 0 0-.295-.705zM70.495 33.34l-3.389-3.39a2.604 2.604 0 0 0-3.683 0l-.016-.016-13.033 13.034L37.34 29.934a2.604 2.604 0 0 0-3.683 0l-3.389 3.389a2.604 2.604 0 0 0 0 3.683l-.016.016 13.033 13.033L30.252 63.09l.016.016a2.604 2.604 0 0 0 0 3.683l3.389 3.389a2.604 2.604 0 0 0 3.683 0l13.033-13.033 13.033 13.033.016-.016a2.604 2.604 0 0 0 3.683 0l3.389-3.389a2.604 2.604 0 0 0 0-3.683L57.462 50.056l13.033-13.033a2.603 2.603 0 0 0 0-3.683z\\\"}))}),React79=(Subscript2.displayName=\\\"Subscript\\\",init_esbuild_inject(),__toESM(require(\\\"react\\\"))),Superscript2=React79.forwardRef(function(e,t){return React79.createElement(StyledIconBase,_extends2({iconAttrs:{fill:\\\"currentColor\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\"},iconVerticalAlign:\\\"middle\\\",iconViewBox:\\\"0 0 100 100\\\"},e,{ref:t}),React79.createElement(\\\"path\\\",{d:\\\"M90.478 31.418a.99.99 0 0 0-.703-.291v-.011h-5.208c3.816-2.52 5.064-4.32 5.064-6.504 0-3.216-2.712-5.521-6.865-5.521-2.138 0-4.685.695-6.521 2.481-.043.031-.092.048-.13.087-.027.027-.038.063-.062.093-.018.018-.038.033-.055.052l.012.014a.965.965 0 0 0 .005 1.095l-.016.01 1.367 1.995h.001a.982.982 0 0 0 1.265.093l.007.009c.036-.03.072-.056.108-.085.007-.007.017-.009.025-.016l.005-.007c1.184-.965 2.446-1.548 4.088-1.548 1.032 0 1.848.48 1.848 1.248 0 1.2-.696 1.8-8.017 6.96v.022c-.067.041-.139.073-.197.131a.97.97 0 0 0-.267.578h-.024v2.609c0 .241.195.437.437.437.018 0 .034-.008.052-.01v.004h13.082a.992.992 0 0 0 .994-.994v-2.225a1.013 1.013 0 0 0-.295-.706zm-20.199 2.049-3.389-3.39a2.604 2.604 0 0 0-3.683 0l-.016-.016-13.034 13.034-13.033-13.034a2.604 2.604 0 0 0-3.683 0l-3.389 3.389a2.604 2.604 0 0 0 0 3.683l-.016.016 13.033 13.033-13.034 13.035.016.016a2.604 2.604 0 0 0 0 3.683l3.389 3.389a2.604 2.604 0 0 0 3.683 0l13.033-13.033 13.033 13.033.016-.016a2.604 2.604 0 0 0 3.683 0l3.389-3.389a2.604 2.604 0 0 0 0-3.683L57.246 50.183 70.279 37.15a2.604 2.604 0 0 0 0-3.683z\\\"}))}),import_jsx_runtime=(Superscript2.displayName=\\\"Superscript\\\",init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function ListToolbarButton({nodeType:e=ELEMENT_UL}){var t=useListToolbarButtonState({nodeType:e}),t=useListToolbarButton(t)[\\\"props\\\"];return(0,import_jsx_runtime.jsx)(ToolbarButton,{tooltip:e===ELEMENT_UL?\\\"UnorderedList (-) (*)\\\":\\\"OrderedList (#) (1.)\\\",...t,children:e===ELEMENT_UL?(0,import_jsx_runtime.jsx)(FormatListBulleted,{}):(0,import_jsx_runtime.jsx)(FormatListNumbered,{})})}init_esbuild_inject();import_jsx_runtime=require(\\\"react/jsx-runtime\\\");function MarkToolbarButton({clear:e,nodeType:t,...r}){var n=useMarkToolbarButtonState({clear:e,nodeType:t}),n=useMarkToolbarButton(n)[\\\"props\\\"];return(0,import_jsx_runtime.jsx)(ToolbarButton,{...n,...r})}init_esbuild_inject();import_jsx_runtime=require(\\\"react/jsx-runtime\\\");function MoreDropdownMenu(e){const t=usePlateEditorState();var r=useOpenState();return(0,import_jsx_runtime.jsxs)(DropdownMenu,{modal:!1,...r,...e,children:[(0,import_jsx_runtime.jsx)(DropdownMenuTrigger,{asChild:!0,children:(0,import_jsx_runtime.jsx)(ToolbarButton,{pressed:r.open,tooltip:\\\"Insert\\\",children:(0,import_jsx_runtime.jsx)(More,{})})}),(0,import_jsx_runtime.jsxs)(DropdownMenuContent,{align:\\\"start\\\",className:\\\"flex max-h-[500px] min-w-[180px] flex-col gap-0.5 overflow-y-auto z-200\\\",children:[(0,import_jsx_runtime.jsxs)(DropdownMenuItem,{onSelect:()=>{toggleMark(t,{key:MARK_SUBSCRIPT$1,clear:MARK_SUPERSCRIPT}),focusEditor(t)},children:[(0,import_jsx_runtime.jsx)(Superscript,{className:\\\"mr-2 h-5 w-5\\\"}),\\\"Superscript\\\"]}),(0,import_jsx_runtime.jsxs)(DropdownMenuItem,{onSelect:()=>{toggleMark(t,{key:MARK_SUPERSCRIPT,clear:MARK_SUBSCRIPT$1}),focusEditor(t)},children:[(0,import_jsx_runtime.jsx)(Subscript,{className:\\\"mr-2 h-5 w-5\\\"}),\\\"Subscript\\\"]})]})]})}init_esbuild_inject();var import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),items=[{value:ELEMENT_PARAGRAPH,label:\\\"Paragraph\\\",description:\\\"Paragraph\\\",icon:Paragraph},{value:ELEMENT_H1,label:\\\"Heading 1\\\",description:\\\"Heading 1\\\",icon:LooksOne},{value:ELEMENT_H2,label:\\\"Heading 2\\\",description:\\\"Heading 2\\\",icon:LooksTwo},{value:ELEMENT_H3,label:\\\"Heading 3\\\",description:\\\"Heading 3\\\",icon:Looks3},{value:ELEMENT_H4,label:\\\"Heading 4\\\",description:\\\"Heading 4\\\",icon:Looks4},{value:ELEMENT_H5,label:\\\"Heading 5\\\",description:\\\"Heading 5\\\",icon:Looks5},{value:ELEMENT_H6,label:\\\"Heading 6\\\",description:\\\"Heading 6\\\",icon:Looks6},{value:ELEMENT_BLOCKQUOTE,label:\\\"Quote\\\",description:\\\"Quote (⌘+⇧+.)\\\",icon:FormatQuote}],defaultItem=items.find(e=>e.value===ELEMENT_PARAGRAPH);function TurnIntoDropdownMenu(e){const t=usePlateEditorState();var r=useOpenState();let n=ELEMENT_PARAGRAPH;if(isCollapsed(null==t?void 0:t.selection)){const i=findNode(t,{match:e=>isBlock(t,e)});void 0!==i&&(n=null!=(o=null==(o=items.find(e=>e.value===i[0].type))?void 0:o.value)?o:ELEMENT_PARAGRAPH)}var{icon:o,label:a}=null!=(o=items.find(e=>e.value===n))?o:defaultItem;return(0,import_jsx_runtime.jsxs)(DropdownMenu,{modal:!1,...r,...e,children:[(0,import_jsx_runtime.jsx)(DropdownMenuTrigger,{asChild:!0,children:(0,import_jsx_runtime.jsxs)(ToolbarButton,{pressed:r.open,tooltip:\\\"Turn into\\\",isDropdown:!0,className:\\\"lg:min-w-[130px]\\\",children:[(0,import_jsx_runtime.jsx)(o,{className:\\\"h-5 w-5 lg:hidden\\\"}),(0,import_jsx_runtime.jsx)(\\\"span\\\",{className:\\\"max-lg:hidden\\\",children:a})]})}),(0,import_jsx_runtime.jsxs)(DropdownMenuContent,{align:\\\"start\\\",className:\\\"min-w-0 z-200\\\",children:[(0,import_jsx_runtime.jsx)(DropdownMenuLabel,{children:\\\"Turn into\\\"}),(0,import_jsx_runtime.jsx)(DropdownMenuRadioGroup,{className:\\\"flex flex-col gap-0.5\\\",value:n,onValueChange:e=>{toggleNodeType(t,{activeType:e}),collapseSelection(t),focusEditor(t)},children:items.map(({value:e,label:t,icon:r})=>(0,import_jsx_runtime.jsxs)(DropdownMenuRadioItem,{value:e,className:\\\"min-w-[180px]\\\",children:[(0,import_jsx_runtime.jsx)(r,{className:\\\"mr-2 h-5 w-5\\\"}),t]},e))})]})]})}var import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),BasicElementToolbarButtons=()=>{const t=usePlateEditorRef();return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(LinkToolbarButton,{tooltip:\\\"Link to (Ctrl+L) ([[)\\\",children:(0,import_jsx_runtime.jsx)(Link,{})}),(0,import_jsx_runtime.jsx)(LinkToolbarButton,{getLinkUrl:e=>null===t.selection?null!=e?e:\\\"\\\":Editor.string(t,t.selection),tooltip:\\\"WikiLink ([[)\\\",children:(0,import_jsx_runtime.jsx)(Bracket,{})})]})},ListToolbarButtons=()=>(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(ListToolbarButton,{nodeType:ELEMENT_UL}),(0,import_jsx_runtime.jsx)(ListToolbarButton,{nodeType:ELEMENT_OL})]}),BasicMarkToolbarButtons=()=>{var e=usePlateEditorRef();return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(MarkToolbarButton,{nodeType:MARK_BOLD,tooltip:\\\"Bold (⌘B) ('')\\\",children:(0,import_jsx_runtime.jsx)(FormatBold,{})}),(0,import_jsx_runtime.jsx)(MarkToolbarButton,{nodeType:MARK_ITALIC,tooltip:\\\"Italic (⌘I) (//)\\\",children:(0,import_jsx_runtime.jsx)(FormatItalic,{})}),(0,import_jsx_runtime.jsx)(MarkToolbarButton,{nodeType:MARK_UNDERLINE,tooltip:\\\"Underline (⌘U) (__)\\\",children:(0,import_jsx_runtime.jsx)(FormatUnderlined,{})}),(0,import_jsx_runtime.jsx)(MarkToolbarButton,{nodeType:MARK_STRIKETHROUGH,tooltip:\\\"Delete (~~)\\\",children:(0,import_jsx_runtime.jsx)(FormatStrikethrough,{})}),(0,import_jsx_runtime.jsx)(MarkToolbarButton,{nodeType:MARK_CODE,tooltip:\\\"Code (```)\\\",children:(0,import_jsx_runtime.jsx)(CodeAlt,{})}),(0,import_jsx_runtime.jsx)(MarkToolbarButton,{nodeType:MARK_SUPERSCRIPT,clear:getPluginType(e,MARK_SUBSCRIPT$1),tooltip:\\\"SuperScript (^^)\\\",children:(0,import_jsx_runtime.jsx)(Superscript2,{})}),(0,import_jsx_runtime.jsx)(MarkToolbarButton,{nodeType:MARK_SUBSCRIPT$1,clear:getPluginType(e,MARK_SUPERSCRIPT),tooltip:\\\"SubScript (,,)\\\",children:(0,import_jsx_runtime.jsx)(Subscript2,{})})]})},FloatingToolbarButtons=()=>{return usePlateReadOnly()?null:(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(TurnIntoDropdownMenu,{}),(0,import_jsx_runtime.jsx)(BasicMarkToolbarButtons,{}),(0,import_jsx_runtime.jsx)(BasicElementToolbarButtons,{}),(0,import_jsx_runtime.jsx)(ListToolbarButtons,{}),(0,import_jsx_runtime.jsx)(MoreDropdownMenu,{})]})},defaultPlugins=createPlugins([...basicElements,...basicMarks,...utils,...twAdvancedElements],{components:components});function usePlugins({idCreator:e}){const t=(0,import_react98.useMemo)(()=>createNodeIdPlugin({options:{idCreator:e}}),[e]);return(0,import_react98.useMemo)(()=>createPlugins([...defaultPlugins,t]),[t])}init_esbuild_inject(),init_esbuild_inject();import_jsx_runtime=require(\\\"react/jsx-runtime\\\");function FloatingToolbar({portalElement:e,floatingOptions:t,ignoreReadOnly:r,hideToolbar:n,children:o,...a}){var{refs:i,style:s,open:c}=useFloatingToolbar({floatingOptions:t,ignoreReadOnly:r,hideToolbar:n});return c?(0,import_jsx_runtime.jsx)(PortalBody,{element:e,children:(0,import_jsx_runtime.jsx)(Toolbar,{className:cn2(\\\"absolute z-200 whitespace-nowrap border border-slate-200 bg-white px-1 opacity-100 shadow-md dark:border-slate-800 dark:bg-slate-950\\\"),ref:i.setFloating,style:s,...a,children:o})}):null}import_jsx_runtime=require(\\\"react/jsx-runtime\\\");function Editor2(e){var{currentTiddler:t,currentAstReference:r,initialTiddlerText:n,saver:o,idCreator:a}=e;return useOnChange({editorID:t,initialTiddlerText:n,saver:o,idCreator:a,currentAstReference:r}),(0,import_jsx_runtime.jsxs)(Plate,{id:t,editableProps:{...CONFIG.editableProps},onChange:console.log,children:[(0,import_jsx_runtime.jsx)(FloatingToolbar,{floatingOptions:{placement:\\\"top-end\\\"},children:(0,import_jsx_runtime.jsx)(FloatingToolbarButtons,{})}),(0,import_jsx_runtime.jsx)(SnippetCombobox,{id:t,pluginKey:\\\"/\\\"}),(0,import_jsx_runtime.jsx)(WikiLinkCombobox,{id:t,pluginKey:\\\"[[\\\"}),(0,import_jsx_runtime.jsx)(WikiLinkCombobox,{id:t,pluginKey:\\\"{{\\\"}),(0,import_jsx_runtime.jsx)(MacrosCombobox,{id:t,pluginKey:\\\"\u003C\u003C\\\"}),(0,import_jsx_runtime.jsx)(WidgetCombobox,{id:t,pluginKey:\\\"\u003C$\\\"})]})}function App(e){const t=e.currentTiddler;var r=(0,import_react99.useMemo)(()=>getIdFactory(t),[t]),n=useInitialValue({editorID:t,initialTiddlerText:e.initialTiddlerText,saver:e.saver,idCreator:r}),o=usePlugins({idCreator:r});return\\\"undefined\\\"==typeof document?(0,import_jsx_runtime.jsx)(\\\"div\\\",{children:\\\"Loading...\\\"}):(0,import_jsx_runtime.jsxs)(import_tw_react4.ParentWidgetContext.Provider,{value:e.parentWidget,children:[(0,import_jsx_runtime.jsx)(GlobalStyle,{}),(0,import_jsx_runtime.jsx)(DndProvider,{backend:HTML5Backend,children:(0,import_jsx_runtime.jsx)(TooltipProvider,{disableHoverableContent:!0,delayDuration:500,skipDelayDuration:0,children:(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:\\\"tw-slate-write-container\\\",children:(0,import_jsx_runtime.jsx)(PlateProvider,{id:t,initialValue:n.current,plugins:o,children:(0,import_jsx_runtime.jsx)(Editor2,{...e,currentAstReference:n,idCreator:r})})})})})]})}var import_widget11=require(\\\"$:/plugins/linonetwo/tw-react/widget.js\\\"),DEFAULT_MIN_TEXT_AREA_HEIGHT=\\\"100px\\\",HEIGHT_MODE_TITLE=\\\"$:/config/TextEditor/EditorHeight/Mode\\\",ENABLE_TOOLBAR_TITLE=\\\"$:/config/TextEditor/EnableToolbar\\\",SlateWriteWidget=class extends import_widget11.widget{constructor(e,t){super(e,t),this.editorOperations={},this.reactComponent=App,this.getProps=()=>{var e;return{currentTiddler:null!=(e=this.editTitle)?e:this.getVariable(\\\"currentTiddler\\\"),initialTiddlerText:null!=(e=this.editTitle&&$tw.wiki.getTiddlerText(this.editTitle))?e:\\\"\\\",saver:{lock:this.lock,onSave:e=>{var t;this.editTitle&&(null!=(t=$tw.wiki.getTiddlerText(this.editTitle))?t:\\\"\\\")!==e&&($tw.wiki.setText(this.editTitle,void 0,void 0,e),notifyNavigatorSaveTiddler(this.editTitle,this.parentWidget),this.unlock())},interval:SAVE_DEBOUNCE_INTERVAL}}},this.isUpdatingByUserInput=!1,this.lock=()=>{this.isUpdatingByUserInput=!0;var e=null==(e=this.editIconElement)?void 0:e.querySelector(\\\"text\\\");e&&(e.innerHTML=\\\".....\\\"),void 0!==this.updatingLockTimeoutHandle&&clearTimeout(this.updatingLockTimeoutHandle)},this.unlock=()=>{this.updatingLockTimeoutHandle=setTimeout(()=>{this.isUpdatingByUserInput=!1;var e=null==(e=this.editIconElement)?void 0:e.querySelector(\\\"text\\\");e&&(e.innerHTML=\\\"T\\\")})},$tw.modules.applyMethods(\\\"texteditoroperation\\\",this.editorOperations)}get editIconElement(){var e;return null==(e=this.parentDomNode.closest(\\\".tc-tiddler-exists\\\"))?void 0:e.querySelector(\\\".tc-image-wysiwyg-edit-button\\\")}execute(){this.editTitle=this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\")),this.editField=this.getAttribute(\\\"field\\\",\\\"text\\\"),this.editIndex=this.getAttribute(\\\"index\\\"),this.editDefault=this.getAttribute(\\\"default\\\"),this.editClass=this.getAttribute(\\\"class\\\"),this.editPlaceholder=this.getAttribute(\\\"placeholder\\\"),this.editSize=this.getAttribute(\\\"size\\\"),this.editRows=this.getAttribute(\\\"rows\\\");var e=$tw.wiki.getTiddlerText(HEIGHT_MODE_TITLE,\\\"auto\\\"),e=(this.editAutoHeight=\\\"yes\\\"===this.getAttribute(\\\"autoHeight\\\",\\\"auto\\\"===e?\\\"yes\\\":\\\"no\\\"),this.editMinHeight=this.getAttribute(\\\"minHeight\\\",DEFAULT_MIN_TEXT_AREA_HEIGHT),this.editFocusPopup=this.getAttribute(\\\"focusPopup\\\"),this.editFocus=this.getAttribute(\\\"focus\\\"),this.editTabIndex=this.getAttribute(\\\"tabindex\\\"),this.editCancelPopups=\\\"yes\\\"===this.getAttribute(\\\"cancelPopups\\\",\\\"\\\"),this.editInputActions=this.getAttribute(\\\"inputActions\\\"),this.editRefreshTitle=this.getAttribute(\\\"refreshTitle\\\"),this.editAutoComplete=this.getAttribute(\\\"autocomplete\\\"),this.isDisabled=this.getAttribute(\\\"disabled\\\",\\\"no\\\"),this.isFileDropEnabled=\\\"yes\\\"===this.getAttribute(\\\"fileDrop\\\",\\\"no\\\"),this.makeChildWidgets(),$tw.wiki.getTiddlerText(ENABLE_TOOLBAR_TITLE,\\\"yes\\\"));this.editShowToolbar=\\\"yes\\\"===e&&!!(this.children&&0\u003Cthis.children.length)}refresh(e){var t=this.computeAttributes();return!this.isUpdatingByUserInput&&!!(t.tiddler||t.field||t.index||t[\\\"default\\\"]||t[\\\"class\\\"]||t.placeholder||0\u003Ct.size||t.autoHeight||t.minHeight||t.focusPopup||t.rows||t.tabindex||t.cancelPopups||t.inputActions||t.refreshTitle||t.autocomplete||e[HEIGHT_MODE_TITLE]||e[ENABLE_TOOLBAR_TITLE]||t.disabled||t.fileDrop||void 0!==this.editRefreshTitle&&e[this.editRefreshTitle]||this.editTitle&&null!=(t=e[this.editTitle])&&t.modified)&&(this.refreshSelf(),this.refreshChildren(e))}};function notifyNavigatorSaveTiddler(e,t){window.requestIdleCallback(()=>{null!=t&&t.dispatchEvent({type:\\\"tm-save-tiddler\\\",paramObject:{suppressNavigation:\\\"yes\\\"},tiddlerTitle:e}),null!=t&&t.dispatchEvent({type:\\\"tm-auto-save-wiki\\\"})},{timeout:2e3})}exports.widget=SlateWriteWidget;\"},\"$:/plugins/linonetwo/slate-write/editor/index.css\":{\"title\":\"$:/plugins/linonetwo/slate-write/editor/index.css\",\"tags\":[\"$:/tags/Stylesheet\"],\"type\":\"text/css\",\"Modern.TiddlyDev#Origin\":\"../../temp_stylePlugin:ni:sha-256;tB43nrY88hWlKuFZ8hDb5Yq55tmz6E9skI0-gNp6PBQ\",\"text\":\".tippy-box[data-animation=scale][data-placement^=top]{transform-origin:bottom}.tippy-box[data-animation=scale][data-placement^=bottom]{transform-origin:top}.tippy-box[data-animation=scale][data-placement^=left]{transform-origin:right}.tippy-box[data-animation=scale][data-placement^=right]{transform-origin:left}.tippy-box[data-animation=scale][data-state=hidden]{transform:scale(.5);opacity:0}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:\\\"\\\";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}*,::after,::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.absolute{position:absolute}.relative{position:relative}.inset-x-0{left:0;right:0}.-bottom-px{bottom:-1px}.-left-3{left:-.75rem}.-right-3{right:-.75rem}.-top-3{top:-.75rem}.-top-px{top:-1px}.bottom-\\\\[-5px\\\\]{bottom:-5px}.left-2{left:.5rem}.left-\\\\[-1\\\\.5px\\\\]{left:-1.5px}.left-\\\\[-5px\\\\]{left:-5px}.right-2{right:.5rem}.right-\\\\[-1\\\\.5px\\\\]{right:-1.5px}.right-\\\\[-5px\\\\]{right:-5px}.top-0{top:0}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\\\\[100\\\\]{z-index:100}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-ml-3{margin-left:-.75rem}.-mr-3{margin-right:-.75rem}.-mt-1{margin-top:-.25rem}.ml-0{margin-left:0}.ml-0\\\\.5{margin-left:.125rem}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.h-0{height:0}.h-0\\\\.5{height:.125rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-3{height:.75rem}.h-3\\\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\\\\[1\\\\.5em\\\\]{height:1.5em}.h-\\\\[10px\\\\]{height:10px}.h-\\\\[1px\\\\]{height:1px}.h-\\\\[calc\\\\(100\\\\%_\\\\+_12px\\\\)\\\\]{height:calc(100% + 12px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\\\\[500px\\\\]{max-height:500px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-3{width:.75rem}.w-3\\\\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-72{width:18rem}.w-9{width:2.25rem}.w-\\\\[10px\\\\]{width:10px}.w-\\\\[1px\\\\]{width:1px}.w-\\\\[220px\\\\]{width:220px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\\\\[180px\\\\]{min-width:180px}.min-w-\\\\[220px\\\\]{min-width:220px}.min-w-\\\\[8rem\\\\]{min-width:8rem}.min-w-full{min-width:100%}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-11{--tw-translate-x:-2.75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\\\\.5{gap:.125rem}.gap-1{gap:.25rem}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-l-2{border-left-width:2px}.border-none{border-style:none}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240 / var(--tw-border-opacity))}.bg-\\\\[--cellBackground\\\\]{background-color:var(--cellBackground)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-0{padding:0}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\\\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-px{padding-bottom:1px}.pl-3{padding-left:.75rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.ps-6{-webkit-padding-start:1.5rem;padding-inline-start:1.5rem}.pt-\\\\[0\\\\.2em\\\\]{padding-top:.2em}.text-left{text-align:left}.align-baseline{vertical-align:baseline}.text-\\\\[0\\\\.9em\\\\]{font-size:.9em}.text-\\\\[1\\\\.25em\\\\]{font-size:1.25em}.text-\\\\[1\\\\.5em\\\\]{font-size:1.5em}.text-\\\\[1\\\\.875em\\\\]{font-size:1.875em}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.tracking-widest{letter-spacing:.1em}.text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:transparent solid 2px;outline-offset:2px}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-slate-400{--tw-ring-opacity:1;--tw-ring-color:rgb(148 163 184 / var(--tw-ring-opacity))}.ring-offset-white{--tw-ring-offset-color:#fff}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}@keyframes enter{from{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.z-200{z-index:200}.before\\\\:absolute::before{content:var(--tw-content);position:absolute}.before\\\\:z-10::before{content:var(--tw-content);z-index:10}.before\\\\:box-border::before{content:var(--tw-content);box-sizing:border-box}.before\\\\:h-full::before{content:var(--tw-content);height:100%}.before\\\\:w-full::before{content:var(--tw-content);width:100%}.before\\\\:cursor-text::before{content:var(--tw-content);cursor:text}.before\\\\:select-none::before{content:var(--tw-content);-webkit-user-select:none;-moz-user-select:none;user-select:none}.before\\\\:border-b::before{content:var(--tw-content);border-bottom-width:1px}.before\\\\:border-l::before{content:var(--tw-content);border-left-width:1px}.before\\\\:border-r::before{content:var(--tw-content);border-right-width:1px}.before\\\\:border-t::before{content:var(--tw-content);border-top-width:1px}.before\\\\:border-none::before{content:var(--tw-content);border-style:none}.before\\\\:bg-slate-100::before{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.before\\\\:opacity-30::before{content:var(--tw-content);opacity:.3}.before\\\\:content-\\\\[\\\\]::before{--tw-content: ;content:var(--tw-content)}.before\\\\:content-\\\\[attr\\\\(placeholder\\\\)\\\\]::before{--tw-content:attr(placeholder);content:var(--tw-content)}.after\\\\:flex::after{content:var(--tw-content);display:flex}.after\\\\:h-16::after{content:var(--tw-content);height:4rem}.after\\\\:w-\\\\[3px\\\\]::after{content:var(--tw-content);width:3px}.after\\\\:rounded-\\\\[6px\\\\]::after{content:var(--tw-content);border-radius:6px}.after\\\\:bg-slate-400::after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.after\\\\:opacity-0::after{content:var(--tw-content);opacity:0}.after\\\\:content-\\\\[_\\\\]::after{--tw-content: ;content:var(--tw-content)}.hover\\\\:bg-red-500\\\\/90:hover{background-color:rgb(239 68 68 / .9)}.hover\\\\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.hover\\\\:bg-slate-100\\\\/80:hover{background-color:rgb(241 245 249 / .8)}.hover\\\\:bg-slate-900\\\\/90:hover{background-color:rgb(15 23 42 / .9)}.hover\\\\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\\\\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.hover\\\\:underline:hover{text-decoration-line:underline}.focus\\\\:bg-slate-100:focus{--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.focus\\\\:text-slate-900:focus{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.focus-visible\\\\:outline-none:focus-visible{outline:transparent solid 2px;outline-offset:2px}.focus-visible\\\\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\\\:ring-slate-400:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(148 163 184 / var(--tw-ring-opacity))}.focus-visible\\\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\\\\:pointer-events-none:disabled{pointer-events:none}.disabled\\\\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\\\\:opacity-100{opacity:1}.group:hover .group-hover\\\\:after\\\\:opacity-100::after{content:var(--tw-content);opacity:1}.data-\\\\[disabled\\\\]\\\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\\\[state\\\\=checked\\\\]\\\\:bg-slate-100[data-state=checked],.data-\\\\[state\\\\=on\\\\]\\\\:bg-slate-100[data-state=on],.data-\\\\[state\\\\=open\\\\]\\\\:bg-slate-100[data-state=open]{--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.data-\\\\[state\\\\=checked\\\\]\\\\:text-slate-900[data-state=checked],.data-\\\\[state\\\\=on\\\\]\\\\:text-slate-900[data-state=on]{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.data-\\\\[disabled\\\\]\\\\:opacity-50[data-disabled]{opacity:.5}.data-\\\\[state\\\\=open\\\\]\\\\:animate-in[data-state=open]{animation-name:enter;animation-duration:150ms;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\\\\[state\\\\=closed\\\\]\\\\:animate-out[data-state=closed]{animation-name:exit;animation-duration:150ms;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\\\\[state\\\\=closed\\\\]\\\\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\\\\[state\\\\=open\\\\]\\\\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\\\\[state\\\\=closed\\\\]\\\\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\\\\[state\\\\=open\\\\]\\\\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\\\\[side\\\\=bottom\\\\]\\\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\\\\[side\\\\=left\\\\]\\\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\\\\[side\\\\=right\\\\]\\\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\\\\[side\\\\=top\\\\]\\\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}:is(.dark .dark\\\\:border-slate-800){--tw-border-opacity:1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}:is(.dark .dark\\\\:bg-red-900){--tw-bg-opacity:1;background-color:rgb(127 29 29 / var(--tw-bg-opacity))}:is(.dark .dark\\\\:bg-slate-50){--tw-bg-opacity:1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}:is(.dark .dark\\\\:bg-slate-800){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\\\\:bg-slate-950){--tw-bg-opacity:1;background-color:rgb(2 6 23 / var(--tw-bg-opacity))}:is(.dark .dark\\\\:text-red-50){--tw-text-opacity:1;color:rgb(254 242 242 / var(--tw-text-opacity))}:is(.dark .dark\\\\:text-slate-400){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark .dark\\\\:text-slate-50){--tw-text-opacity:1;color:rgb(248 250 252 / var(--tw-text-opacity))}:is(.dark .dark\\\\:text-slate-900){--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark .dark\\\\:ring-slate-800){--tw-ring-opacity:1;--tw-ring-color:rgb(30 41 59 / var(--tw-ring-opacity))}:is(.dark .dark\\\\:ring-offset-slate-950){--tw-ring-offset-color:#020617}:is(.dark .dark\\\\:before\\\\:bg-slate-800)::before{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\\\\:after\\\\:bg-slate-800)::after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\\\\:hover\\\\:bg-red-900\\\\/90:hover){background-color:rgb(127 29 29 / .9)}:is(.dark .dark\\\\:hover\\\\:bg-slate-50\\\\/90:hover){background-color:rgb(248 250 252 / .9)}:is(.dark .dark\\\\:hover\\\\:bg-slate-800:hover){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\\\\:hover\\\\:bg-slate-800\\\\/80:hover){background-color:rgb(30 41 59 / .8)}:is(.dark .dark\\\\:hover\\\\:text-slate-400:hover){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark .dark\\\\:hover\\\\:text-slate-50:hover){--tw-text-opacity:1;color:rgb(248 250 252 / var(--tw-text-opacity))}:is(.dark .dark\\\\:focus\\\\:bg-slate-800:focus){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\\\\:focus\\\\:text-slate-50:focus){--tw-text-opacity:1;color:rgb(248 250 252 / var(--tw-text-opacity))}:is(.dark .dark\\\\:focus-visible\\\\:ring-slate-800:focus-visible){--tw-ring-opacity:1;--tw-ring-color:rgb(30 41 59 / var(--tw-ring-opacity))}:is(.dark .dark\\\\:data-\\\\[state\\\\=checked\\\\]\\\\:bg-slate-800[data-state=checked]){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\\\\:data-\\\\[state\\\\=on\\\\]\\\\:bg-slate-800[data-state=on]){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\\\\:data-\\\\[state\\\\=open\\\\]\\\\:bg-slate-800[data-state=open]){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\\\\:data-\\\\[state\\\\=checked\\\\]\\\\:text-slate-50[data-state=checked]){--tw-text-opacity:1;color:rgb(248 250 252 / var(--tw-text-opacity))}:is(.dark .dark\\\\:data-\\\\[state\\\\=on\\\\]\\\\:text-slate-50[data-state=on]){--tw-text-opacity:1;color:rgb(248 250 252 / var(--tw-text-opacity))}@media not all and (min-width:1024px){.max-lg\\\\:hidden{display:none}}@media (min-width:1024px){.lg\\\\:hidden{display:none}.lg\\\\:min-w-\\\\[130px\\\\]{min-width:130px}}.\\\\[\\\\&_\\\\*\\\\:\\\\:selection\\\\]\\\\:bg-none ::-moz-selection{background-image:none}.\\\\[\\\\&_\\\\*\\\\:\\\\:selection\\\\]\\\\:bg-none ::selection{background-image:none}.\\\\[\\\\&_\\\\>_\\\\*\\\\]\\\\:m-0>*{margin:0}.\\\\[\\\\&_svg\\\\:not\\\\(\\\\[data-icon\\\\]\\\\)\\\\]\\\\:h-5 svg:not([data-icon]){height:1.25rem}.\\\\[\\\\&_svg\\\\:not\\\\(\\\\[data-icon\\\\]\\\\)\\\\]\\\\:w-5 svg:not([data-icon]){width:1.25rem}.\\\\[\\\\&_ul\\\\]\\\\:list-\\\\[circle\\\\] ul{list-style-type:circle}.\\\\[\\\\&_ul_ul\\\\]\\\\:list-\\\\[square\\\\] ul ul{list-style-type:square}\"},\"$:/plugins/linonetwo/slate-write/event-listener/listen-edit-wysiwyg-button-click.js\":{\"creator\":\"LinOnetwo\",\"title\":\"$:/plugins/linonetwo/slate-write/event-listener/listen-edit-wysiwyg-button-click.js\",\"type\":\"application/javascript\",\"module-type\":\"startup\",\"Modern.TiddlyDev#Origin\":\"event-listeners/listen-edit-wysiwyg-button-click.ts\",\"text\":\"\\\"use strict\\\";var isUnmodifiedShadow=i=>$tw.wiki.isShadowTiddler(i)&&!$tw.wiki.tiddlerExists(i);function handleEditWYSIWYGTiddlerEvent(i){var e,d,t;void 0===$tw.hooks.invokeHook(\\\"th-editing-wysiwyg-tiddler\\\",i)||!(e=null!=(e=null==i?void 0:i.param)?e:null==i?void 0:i.tiddlerTitle)||isUnmodifiedShadow(e)&&(d=e,null==(t=null!=i&&i.event&&\\\"view\\\"in i.event&&void 0!==i.event.view?i.event.view:window)||!t.confirm($tw.language.getString(\\\"ConfirmEditShadowTiddler\\\",{variables:{title:d}})))||void 0!==(null==i?void 0:i.paramObject)&&\\\"yes\\\"===i.paramObject.suppressNavigation||(t=$tw.wiki.getTiddler(e),$tw.wiki.addTiddler({...null==t?void 0:t.fields,wysiwyg:\\\"yes\\\"===(null==(e=null==t?void 0:t.fields)?void 0:e.wysiwyg)?void 0:\\\"yes\\\"}))}exports.name=\\\"th-editing-wysiwyg-tiddler-listener\\\",exports.platforms=[\\\"browser\\\"],exports.after=[\\\"render\\\"],exports.startup=()=>{$tw.rootWidget.addEventListener(\\\"tm-edit-wysiwyg-tiddler\\\",handleEditWYSIWYGTiddlerEvent)};\"}}}","title":"$:/plugins/linonetwo/slate-write","type":"application/json","version":"0.5.1","Modern.TiddlyDev#SHA256-Hashed":"2692550a75cdcbca81b82a7378d886568ecb371c27cf3dfc93dfd7aebaa07d02"}, {"author":"LinOnetwo","core-version":">=5.3.0","dependents":"$:/plugins/kixam/datepicker $:/plugins/tiddlywiki/browser-sniff $:/plugins/linonetwo/tag-tree-picker-macro","description":"Widget and Page Layout displaying tiddlers on calendar and agenda, based on created, modified, startDate and endDate fields. ","list":"readme tiddlywiki-ui/ControlPanel/Settings tree","plugin-type":"plugin","text":"{\"tiddlers\":{\"$:/plugins/linonetwo/tw-calendar/calendar-widget/widget-loader.js\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/widget-loader.js\",\"text\":\"!function slateWriteWidgetIIFE(){var e;$tw.browser&&(e=require(\\\"$:/plugins/linonetwo/tw-calendar/calendar-widget/widget.js\\\")[\\\"widget\\\"],exports.calendar=e)}();\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/widgetDynamicCss.css\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/widgetDynamicCss.css\",\"tags\":\"$:/tags/Stylesheet\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C$importvariables filter=\\\"[[$:/themes/tiddlywiki/vanilla/base]]\\\">\\n.tiddlywiki-calendar-widget-event-preview {\\n background-color: \u003C\u003Ccolour modal-background>>;\\n}\\n\u003C/$importvariables>\"},\"$:/plugins/linonetwo/tw-calendar/date-duration-macro\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/date-duration-macro\",\"text\":\"exports.name=\\\"date-duration-macro\\\";const msPerHour=36e5,msPerMinute=6e4;exports.params=[{name:\\\"startDate\\\",\\\"default\\\":\\\"\\\"},{name:\\\"endDate\\\",\\\"default\\\":\\\"\\\"}],exports.run=(t,r)=>{var e=$tw.utils.parseDate(t),e=$tw.utils.parseDate(r)-e;return String(Math.floor(e/msPerHour)).padStart(2,\\\"0\\\")+\\\":\\\"+String(Math.floor(e%msPerHour/msPerMinute)).padStart(2,\\\"0\\\")};\",\"tags\":\"$:/tags/Macro\",\"type\":\"application/javascript\",\"module-type\":\"macro\"},\"$:/plugins/linonetwo/tw-calendar/readme\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/readme\",\"creator\":\"LinOnetwo\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"# Provides a calendar widget, use it like `\u003C$calendar />`\\n# Use the whole wiki as a data source, aggregate tiddler based on their `created` `modified` `startDate` and `endDate` field\\n# Drag to create new event with `startDate` and `endDate` field\\n# Provides a calendar view, use `ctrl+shift+L` to switch to this view, you can click `Home` button to go back\\n# Add `color` field to change color. When `color` field missing, it will try get color from tags on it.\"},\"$:/plugins/linonetwo/tw-calendar/Snippets/baseCalendarWithFilter\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/Snippets/baseCalendarWithFilter\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"Calendar widget with filter\",\"text\":\"\u003C$calendar filter=\\\"[all[]tag[Todo]]\\\" />\"},\"$:/plugins/linonetwo/tw-calendar/Snippets/calendarFilterWithCurrentTiddler\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/Snippets/calendarFilterWithCurrentTiddler\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"Sometimes currentTiddler is \\\"\\\" empty string in filter, we can use macrocall to avoid this\",\"text\":\"\\\\define calendarWithCurrentTiddler(currentTag)\\n\u003C$calendar filter=\\\"[all[]tag[$currentTag$]field:calendarEntry[yes]]\\\" readonly=\\\"yes\\\" initialView=\\\"listWeek\\\" hideToolbar=\\\"yes\\\" />\\n\\\\end\\n\\n\u003C$macrocall $name=\\\"calendarWithCurrentTiddler\\\" currentTag=\u003C\u003CcurrentTiddler>>/>\"},\"$:/plugins/linonetwo/tw-calendar/Snippets/calendarWithTimeZone\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/Snippets/calendarWithTimeZone\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"Calendar widget with time zone\",\"text\":\"\u003C$calendar timeZone=\\\"Asia/Shanghai\\\" initialView=\\\"timeGridDay\\\" hideToolbar=\\\"yes\\\" width=\\\"40%\\\" height=\\\"600px\\\" readonly=\\\"yes\\\" />\"},\"$:/plugins/linonetwo/tw-calendar/Snippets/countTodayEventHours\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/Snippets/countTodayEventHours\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"Filter to display the total hours of today's XXX events (define need to be moved to top of the tiddler)\",\"text\":\"\\\\define getTimeForEntry() [{!!startDate}format:date[TIMESTAMP]] :map[\u003C..currentTiddler>get[endDate]format:date[TIMESTAMP]subtract\u003CcurrentTiddler>]\\n\\n{{{ \\n [all[]days:startDate[0]field:calendarEntry[yes]tag[XXX]]\\n :map[subfilter\u003CgetTimeForEntry>]\\n :and[sum[]divide[1000]divide[3600]]\\n}}}\"},\"$:/plugins/linonetwo/tw-calendar/Snippets/dueDateFieldCalendarWithFishingFilter\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/Snippets/dueDateFieldCalendarWithFishingFilter\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"Calendar widget use `due` and `dueEnd` field to show event from oflg/fishing plugin\",\"text\":\"\u003C$calendar filter=\\\"[all[]tag[?]]\\\" startDateFields=\\\"due\\\" endDateFields=\\\"dueEnd\\\" />\"},\"$:/plugins/linonetwo/tw-calendar/Snippets/listDayCalendar\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/Snippets/listDayCalendar\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"List all events today in a compact view. listYear or listMonth can also be used.\",\"text\":\"\u003C$calendar filter=\\\"[all[]tag[Todo]]\\\" readonly=\\\"yes\\\" initialView=\\\"listDay\\\" />\"},\"$:/plugins/linonetwo/tw-calendar/Snippets/listWeekCalendar\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/Snippets/listWeekCalendar\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"List all events this week in a compact view. listYear or listMonth can also be used.\",\"text\":\"\u003C$calendar filter=\\\"[all[]tag[Todo]]\\\" readonly=\\\"yes\\\" initialView=\\\"listWeek\\\" />\"},\"$:/plugins/linonetwo/tw-calendar/Snippets/monthCalendar\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/Snippets/monthCalendar\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"Monthly Calendar widget hideToolbar, set width and height\",\"text\":\"\u003C$calendar initialView=\\\"dayGridMonth\\\" hideToolbar=\\\"yes\\\" width=\\\"300px\\\" height=\\\"300px\\\" />\"},\"$:/plugins/linonetwo/tw-calendar/Snippets/readonlyCalendarWithFilter\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/Snippets/readonlyCalendarWithFilter\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"Readonly Calendar widget\",\"text\":\"\u003C$calendar filter=\\\"[all[]tag[Todo]]\\\" readonly=\\\"yes\\\" />\"},\"$:/plugins/linonetwo/tw-calendar/style.css\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/style.css\",\"creator\":\"LinOnetwo\",\"tags\":\"$:/tags/Stylesheet\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"/** make it possible to drag the app using this bar in TidGi, when titleBar is closed */\\n\u003C$reveal type=\\\"match\\\" state=\\\"$:/state/titleBarOpened\\\" text=\\\"no\\\">\\n.fc-header-toolbar, .fc-scrollgrid-section-header {\\n cursor: grab;\\n -webkit-app-region: drag;\\n}\\n.fc-header-toolbar .fc-toolbar-chunk {\\n -webkit-app-region: no-drag;\\n}\\n.fc-scrollgrid-section-header a {\\n -webkit-app-region: no-drag;\\n}\\n\u003C/$reveal>\\n\\n.tiddlywiki-calendar-widget-container {\\n min-height: 400px;\\n height: 100%;\\n}\\n.tiddlywiki-calendar-widget-container table {\\n margin: unset;\\n}\\n\\n.fc-timegrid-event-harness {\\n overflow: hidden;\\n}\\n.fc-event-main-tags {\\n overflow: hidden;\\n}\\n.fc-event-main-tags > span {\\n word-break: break-all;\\n border: 1px solid;\\n padding: 1px;\\n margin: 1px;\\n margin-right: 2px;\\n margin-bottom: 0px;\\n line-height: 2em;\\n}\\n\\n.fc-event-title-with-text {\\n text-decoration: underline;\\n text-decoration-thickness: 2px;\\n text-underline-offset: 15%;\\n}\\n\\n.fc-event {\\n cursor: pointer;\\n}\\n\\n.fc-daygrid-event > div {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n\\n.tiddlywiki-calendar-widget-event-preview {\\n width: min-content;\\n min-width: 30vw;\\n\\n max-height: 80vh;\\n overflow: auto;\\n position: absolute;\\n top: 0;\\n left: 0;\\n padding: 5px;\\n border-radius: 4px;\\n z-index: 100;\\n\\n opacity: 0.9;\\n backdrop-filter: blur(10px);\\n}\\n\\n.fc button.fc-button-primary > svg.tc-image-button {\\n fill: #fff;\\n}\"},\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/GoToEventsCalendarLayoutButton\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/GoToEventsCalendarLayoutButton\",\"tags\":\"$:/tags/PageControls\",\"caption\":\"{{$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/Images/GoToCalendarImage}} {{$:/language/Buttons/GoToEventsCalendarLayoutButton/Caption}}\",\"description\":\"{{$:/language/Buttons/GoToEventsCalendarLayoutButton/Description}}\",\"text\":\"\\\\whitespace trim\\n\u003C$button tooltip={{$:/language/Buttons/GoToEventsCalendarLayoutButton/Hint}} aria-label={{$:/language/Buttons/GoToEventsCalendarLayoutButton/Caption}} class=\u003C\u003Ctv-config-toolbar-class>>>\\n \u003C$action-setfield $tiddler=\\\"$:/layout\\\" text=\\\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarLayout\\\"/>\\n \u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n {{$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/Images/GoToCalendarImage}}\\n \u003C/$list>\\n \u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n \u003Cspan class=\\\"tc-btn-text\\\">\u003C$text text={{$:/language/Buttons/GoToEventsCalendarLayoutButton/Caption}}/>\u003C/span>\\n \u003C/$list>\\n\u003C/$button>\"},\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/GoToTiddlersCalendarLayoutButton\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/GoToTiddlersCalendarLayoutButton\",\"tags\":\"$:/tags/PageControls\",\"caption\":\"{{$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/Images/GoToCalendarImage}} {{$:/language/Buttons/GoToTiddlersCalendarLayoutButton/Caption}}\",\"description\":\"{{$:/language/Buttons/GoToTiddlersCalendarLayoutButton/Description}}\",\"text\":\"\\\\whitespace trim\\n\u003C$button tooltip={{$:/language/Buttons/GoToTiddlersCalendarLayoutButton/Hint}} aria-label={{$:/language/Buttons/GoToTiddlersCalendarLayoutButton/Caption}} class=\u003C\u003Ctv-config-toolbar-class>>>\\n \u003C$action-setfield $tiddler=\\\"$:/layout\\\" text=\\\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/TiddlersCalendarLayout\\\"/>\\n \u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n {{$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/Images/GoToCalendarImage}}\\n \u003C/$list>\\n \u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n \u003Cspan class=\\\"tc-btn-text\\\">\u003C$text text={{$:/language/Buttons/GoToTiddlersCalendarLayoutButton/Caption}}/>\u003C/span>\\n \u003C/$list>\\n\u003C/$button>\"},\"$:/language/Buttons/GoToEventsCalendarLayoutButton/Caption\":{\"title\":\"$:/language/Buttons/GoToEventsCalendarLayoutButton/Caption\",\"text\":\"Events Calendar\"},\"$:/language/Buttons/GoToEventsCalendarLayoutButton/Hint\":{\"title\":\"$:/language/Buttons/GoToEventsCalendarLayoutButton/Hint\",\"text\":\"Go to Events Calendar Layout\"},\"$:/language/Buttons/GoToEventsCalendarLayoutButton/Description\":{\"title\":\"$:/language/Buttons/GoToEventsCalendarLayoutButton/Description\",\"text\":\"Click on this button will go to Events Calendar Layout (without normal tiddlers)\"},\"$:/language/Buttons/GoToTiddlersCalendarLayoutButton/Caption\":{\"title\":\"$:/language/Buttons/GoToTiddlersCalendarLayoutButton/Caption\",\"text\":\"Tiddlers Calendar\"},\"$:/language/Buttons/GoToTiddlersCalendarLayoutButton/Hint\":{\"title\":\"$:/language/Buttons/GoToTiddlersCalendarLayoutButton/Hint\",\"text\":\"Go to Tiddlers Calendar Layout\"},\"$:/language/Buttons/GoToTiddlersCalendarLayoutButton/Description\":{\"title\":\"$:/language/Buttons/GoToTiddlersCalendarLayoutButton/Description\",\"text\":\"Click on this button will go to Tiddlers Calendar Layout, view all tiddlers in agenda or calendar by their date related fields\"},\"$:/config/PageControlButtons/Visibility/$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/GoToTiddlersCalendarLayoutButton\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/GoToTiddlersCalendarLayoutButton\",\"text\":\"hide\"},\"$:/plugins/linonetwo/tw-calendar/settings/firstDay\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/settings/firstDay\",\"text\":\"1\"},\"$:/plugins/linonetwo/tw-calendar/settings/searchPageLimit\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/settings/searchPageLimit\",\"text\":\"10\"},\"$:/plugins/linonetwo/tw-calendar/settings/slotDuration\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/settings/slotDuration\",\"text\":\"00:15:00\"},\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/ControlPanel/Settings\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/ControlPanel/Settings\",\"caption\":\"Calendar\",\"tags\":\"$:/tags/ControlPanel/SettingsTab\",\"text\":\"\\\\define tag-tree-button-action(tagName)\\n\u003C$action-navigate $to=\\\"$tagName$\\\" />\\n\\\\end\\n\\nThese settings let you customise the behaviour of Calendar plugin.\\n\\n---\\n\\n!! Add Event Tiddler Modal\\n\\nThe modal dialog shown when you drag/click on calendar to create a new event.\\n\\n!!! Frequently used tags\\n\\nAdd tags to be displayed on the create event tiddler popup, so you can click on them to add tag to new tiddler quickly.\\n\\nTags can have `caption` field as displayed name. And if tags here form a tag tree, they will be displayed as a tree.\\n\\n\u003C$vars currentTiddler=\\\"$:/plugins/linonetwo/tw-calendar/settings/frequently-used-tags\\\" tagField=\\\"text\\\">\\n\\t{{||$:/core/ui/EditTemplate/tags}}\\n\u003C/$vars>\\n\\n\u003C$transclude\\n\\t$variable=\\\"tag-tree-picker\\\"\\n\\ttags={{$:/plugins/linonetwo/tw-calendar/settings/frequently-used-tags}}\\n/>\\n\\n!!! Prefix\\n\\nAuto add prefix to all created event.\\n\\n\u003C$edit-text\\n\\ttiddler=\\\"$:/plugins/linonetwo/tw-calendar/settings/prefix\\\"\\n\\tfield=\\\"text\\\"\\n\\tdefault=\\\"\\\"\\n\\ttabindex=-1\\n\\tfocus=false\\n\\tcancelPopups=\\\"yes\\\"\\n\\tfileDrop=no\\n\\ttag=\\\"input\\\"\\n/>\\n\\n!! Appearance\\n\\n;24 Hour Format:\\n:\u003C$checkbox tiddler=\\\"$:/plugins/linonetwo/tw-calendar/settings/24hour\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"\\\"> Show 24 hour format in calendar left slot label and events\u003C/$checkbox>\\n;First Day: The frequency for displaying time slots.\\n:\u003C$select tiddler='$:/plugins/linonetwo/tw-calendar/settings/firstDay'>\\n\\t\u003Coption value='0'>Sunday\u003C/option>\\n\\t\u003Coption value='1'>Monday\u003C/option>\\n\\t\u003Coption value='2'>Tuesday\u003C/option>\\n\\t\u003Coption value='3'>Wednesday\u003C/option>\\n\\t\u003Coption value='4'>Thursday\u003C/option>\\n\\t\u003Coption value='5'>Friday\u003C/option>\\n\\t\u003Coption value='6'>Saturday\u003C/option>\\n\u003C/$select>\\n;SlotDuration: The frequency for displaying time slots.\\n:\u003C$edit-text tiddler=\\\"$:/plugins/linonetwo/tw-calendar/settings/slotDuration\\\" tabindex=-1 focus=false cancelPopups=\\\"yes\\\" fileDrop=no tag=\\\"input\\\" />\\n;Search Page Limit: In search layout, the maximum number of events to display in the list. (Too large will have performance impact).\\n:\u003C$edit-text tiddler=\\\"$:/plugins/linonetwo/tw-calendar/settings/searchPageLimit\\\" type=\\\"number\\\" min=\\\"0\\\" step=\\\"1\\\" tabindex=-1 focus=false cancelPopups=\\\"yes\\\" fileDrop=no tag=\\\"input\\\" />\"},\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/EditTemplate/TitleStyle.css\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/EditTemplate/TitleStyle.css\",\"type\":\"text/vnd.tiddlywiki\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"/**\\n * There will be two inputs, and we select the nearest div to the title input and input.tiddlywiki-calendar-caption-edit, then select the first input that is followed by the title preview element `tc-tiddler-title`\\n */\\ndiv.tc-tiddler-edit-frame div:has(>.tiddlywiki-calendar-caption-edit) .tc-tiddler-title + input {\\n font-size: unset;\\n}\"},\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/EditTemplate/caption\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/EditTemplate/caption\",\"tags\":\"$:/tags/EditTemplate\",\"list-after\":\"$:/core/ui/EditTemplate/title\",\"code-body\":\"yes\",\"text\":\"\u003C$list filter=\\\"[all[current]field:calendarEntry[yes]]\\\">\\n\\n\u003C$edit-text tiddler=\u003C\u003CcurrentTiddler>> field=\\\"caption\\\" focus=\\\"yes\\\" class=\\\"tc-titlebar tc-edit-texteditor tiddlywiki-calendar-caption-edit\\\"/>\\n\\n\u003C/$list>\"},\"$:/plugins/linonetwo/tw-calendar/Images/CalendarEdit\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/Images/CalendarEdit\",\"tags\":\"$:/tags/Image\",\"text\":\"\u003Csvg width=\\\"22pt\\\" height=\\\"22pt\\\" class=\\\"tc-image-tmd-calendar-text tc-image-button\\\" viewBox=\\\"0 0 24 24\\\">\u003Cpath d=\\\"M14,14H7V16H14M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M17,10H7V12H17V10Z\\\" />\u003C/svg>\"},\"$:/plugins/linonetwo/tw-calendar/Images/CalendarList\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/Images/CalendarList\",\"tags\":\"$:/tags/Image\",\"text\":\"\u003Csvg width=\\\"22pt\\\" height=\\\"22pt\\\" class=\\\"tc-image-tmd-calendar-text tc-image-button\\\" viewBox=\\\"0 0 24 24\\\">\u003Cpath d=\\\"M14,14H7V16H14M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M17,10H7V12H17V10Z\\\" />\u003C/svg>\"},\"$:/plugins/linonetwo/tw-calendar/Images/CalendarMonth\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/Images/CalendarMonth\",\"tags\":\"$:/tags/Image\",\"text\":\"\u003Csvg class=\\\"tc-image-calendar-31 tc-image-button\\\" width=\\\"22pt\\\" height=\\\"22pt\\\" viewBox=\\\"0 0 40.00599670410156 39.0050048828125\\\">\u003Cpath d=\\\"M8.078 28.461l3.63-.444c.103.927.38 1.637.833 2.127.453.491 1 .736 1.643.736.69 0 1.27-.265 1.743-.797.472-.531.709-1.248.709-2.151 0-.854-.212-1.531-.636-2.03-.425-.499-.942-.748-1.552-.748-.403 0-.884.088-1.443.264l.332-3.128c.819.025 1.444-.171 1.874-.587.431-.417.647-.968.647-1.654 0-.585-.165-1.053-.495-1.401-.33-.349-.768-.523-1.317-.523-.537 0-.997.2-1.38.598-.381.399-.614.98-.698 1.745l-3.63-.525c.226-1.144.568-2.058 1.025-2.741.456-.683 1.093-1.22 1.91-1.613.817-.392 1.732-.587 2.745-.587 1.737 0 3.128.558 4.173 1.675.865.917 1.297 1.951 1.297 3.104 0 1.635-.905 2.94-2.715 3.913 1.06.227 1.906.738 2.54 1.533.636.794.953 1.754.953 2.88 0 1.632-.588 3.023-1.764 4.173-1.177 1.15-2.64 1.724-4.39 1.724-1.662 0-3.039-.51-4.131-1.533-1.093-1.022-1.727-2.36-1.903-4.01zm21.925 5.543h-3V20.502c-1.34 1.391-2.848 2.28-4.664 2.945v-3.695c.959-.308 2-.89 3.122-1.748 1.123-.858 1.894-1.859 2.313-3.002h2.229v19.002zM0 39.005V5h5.001V2a2 2 0 0 1 2-2h4.001a2 2 0 0 1 2 2v3h14.002V2a2 2 0 0 1 2-2h4.001a2 2 0 0 1 2 2v3h5.001v34.005H0zm3-3h34.006V13.001H3.001v23.004zM30.505 2a1.5 1.5 0 0 0-1.5 1.5v3a1.5 1.5 0 0 0 1.5 1.5h1a1.5 1.5 0 0 0 1.5-1.5v-3a1.5 1.5 0 0 0-1.5-1.5h-1zM8.502 2a1.5 1.5 0 0 0-1.5 1.5v3a1.5 1.5 0 0 0 1.5 1.5h1a1.5 1.5 0 0 0 1.5-1.5v-3a1.5 1.5 0 0 0-1.5-1.5h-1z\\\"/>\u003C/svg>\"},\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/Images/CalendarSearchImage\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/Images/CalendarSearchImage\",\"tags\":\"$:/tags/Image\",\"text\":\"\u003Csvg width=\\\"22pt\\\" height=\\\"22pt\\\" class=\\\"tc-image-tmd-calendar-search tc-image-button\\\" viewBox=\\\"0 0 24 24\\\">\u003Cpath d=\\\"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M19,8H5V19H9.5C9.81,19.75 10.26,20.42 10.81,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V13.03C20.5,12.22 19.8,11.54 19,11V8Z\\\" />\u003C/svg>\"},\"$:/plugins/linonetwo/tw-calendar/Images/CalendarWeek\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/Images/CalendarWeek\",\"tags\":\"$:/tags/Image\",\"text\":\"\u003Csvg width=\\\"22pt\\\" height=\\\"22pt\\\" class=\\\"tc-image-bts-calendar-day tc-image-button\\\" viewBox=\\\"0 0 16 16\\\">\u003Cpath d=\\\"M4.684 11.523v-2.3h2.261v-.61H4.684V6.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V8.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105zm2.805-5.093c0 .238.192.425.43.425a.428.428 0 1 0 0-.855.426.426 0 0 0-.43.43zm.094 5.093h.672V7.418h-.672v4.105z\\\"/>\u003Cpath d=\\\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\\\"/>\u003C/svg>\"},\"$:/plugins/linonetwo/tw-calendar/Images/ExitLayout\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/Images/ExitLayout\",\"tags\":\"$:/tags/Image\",\"text\":\"\u003Csvg class=\\\"tc-image-reset-layout-button tc-image-button\\\" width=\\\"22pt\\\" height=\\\"22pt\\\" viewBox=\\\"0 0 38 38\\\">\u003Cpath d=\\\"M0 0v38h38V0H0zm35 35H3V3h32v32zM33 5H21v28h12V5zM19 17h-8.667L14 12h-4l-5 7 5 7h4l-3.667-5H19v-4z\\\"/>\u003C/svg>\"},\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/Images/GoToCalendarImage\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/Images/GoToCalendarImage\",\"tags\":\"$:/tags/Image\",\"text\":\"\u003Csvg width=\\\"22pt\\\" height=\\\"22pt\\\" class=\\\"tc-image-tmd-calendar-cursor tc-image-button\\\" viewBox=\\\"0 0 24 24\\\">\u003Cpath d=\\\"M21.7 20.26L20.29 21.67L17.06 18.5L16 20.97L14 14L21 16L18.47 17.03L21.7 20.26M19 8H5V19H13.41L13.97 21H5C3.89 21 3 20.1 3 19L3 5C3 3.9 3.89 3 5 3H6V1H8V3H16V1H18V3H19C20.1 3 21 3.9 21 5V13.95L19 13.35V8M12 10V15H7V10H12Z\\\" />\u003C/svg>\"},\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/CalendarLayout.css\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/CalendarLayout.css\",\"text\":\"div.tc-page-container.tw-calendar-layout-container {\\n margin-top: 0px;\\n height: 100vh;\\n width: 100%;\\n}\\n.tw-calendar-layout-main-area {\\n height: 100%;\\n width: 100%;\\n}\\n\\n.tw-calendar-draggable-region {\\n cursor: grab;\\n -webkit-app-region: drag;\\n}\\n\\n.tw-calendar-search-layout-main-area {\\n height: 100%;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n}\\n.tw-calendar-search-layout-main-area .tw-calendar-search-bar {\\n height: 4em;\\n width: 100%;\\n display: flex;\\n flex-direction: row;\\n}\\n.tw-calendar-search-layout-main-area .tw-calendar-search-calendar-container {\\n height: calc(100vh - 4em);\\n}\\n.tw-calendar-search-bar .tw-calendar-search-bar-icon {\\n height: 100%;\\n aspect-ratio: 1;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n}\\n.tw-calendar-search-bar .tw-calendar-search-bar-pagination {\\n height: 100%;\\n padding: 0 1em;\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n}\\n.tw-calendar-search-bar .tw-calendar-search-bar-text-field {\\n width: 100%;\\n display: flex;\\n margin: 0.1em;\\n margin-left: 0;\\n}\\n\\n.tw-calendar-layout-container p {\\n margin: 0;\\n height: 100%;\\n width: 100%;\\n}\\n\\n.tc-page-controls svg.tc-image-tmd-calendar-cursor {\\n fill: \u003C\u003Ccolour toolbar-options-button>>;\\n}\\n\",\"type\":\"text/vnd.tiddlywiki\",\"tags\":\"$:/tags/Stylesheet\"},\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarLayout\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarLayout\",\"name\":\"Events Calendar\",\"description\":\"view events in agenda or calendar (without normal tiddlers)\",\"tags\":\"$:/tags/Layout\",\"icon\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/Images/GoToCalendarImage\",\"text\":\"\\\\whitespace trim\\n\\\\define containerClasses()\\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$ tw-calendar-layout-container\\n\\\\end\\n\\\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\\n\\n\u003C$vars\\n\\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\\n\\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\\n\\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\\n\\ttv-show-missing-links={{$:/config/MissingLinks}}\\n\\tstoryviewTitle={{$:/view}}\\n\\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\\n\\n\u003Cdiv class=\u003C\u003CcontainerClasses>>>\\n\\n\u003C$navigator story=\\\"$:/StoryList\\\" history=\\\"$:/HistoryList\\\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\n\u003Cmain class=\\\"tw-calendar-layout-main-area\\\">\\n\\t\u003C$calendar height=\\\"100vh\\\" filter=\\\"[all[tiddlers]!is[system]field:calendarEntry[yes]]\\\" />\\n\u003C/main>\\n\\n\u003C/$navigator>\\n\\n\u003C/div>\\n\\n\u003C/$vars>\"},\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout\",\"name\":\"Search Events Calendar\",\"description\":\"Search events in calendar (without normal tiddlers), show as list\",\"tags\":\"$:/tags/Layout\",\"icon\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/Images/CalendarSearchImage\",\"throttle.refresh\":\"true\",\"text\":\"\\\\whitespace trim\\n\\\\define containerClasses()\\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$ tw-calendar-layout-container\\n\\\\end\\n\\\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\\n\\n\u003C$vars\\n\\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\\n\\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\\n\\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\\n\\ttv-show-missing-links={{$:/config/MissingLinks}}\\n\\tstoryviewTitle={{$:/view}}\\n\\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\\n\\n\u003Cdiv class=\u003C\u003CcontainerClasses>>>\\n\\n\u003C$navigator story=\\\"$:/StoryList\\\" history=\\\"$:/HistoryList\\\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\n\u003Cmain class=\\\"tw-calendar-search-layout-main-area\\\">\\n\\n\\t\u003Cdiv class=\\\"tw-calendar-search-bar\\\">\\n\\t\\t\u003Cdiv class=\\\"tw-calendar-search-bar-icon\\\">\\n\\t\\t\\t\u003C$button to=\u003C\u003CcurrentTiddler>> tooltip={{$:/language/Buttons/FullScreen/Hint}} style=\\\"width: 85%;height: 85%;\\\">\\n\\t\\t\\t\\t{{$:/plugins/linonetwo/tw-calendar/Images/ExitLayout}}\\n\\t\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/layout\\\" text=\\\"\\\" />\\n\\t\\t\\t\u003C/$button>\\n\\t\\t\u003C/div>\\n\\t\\t\u003C!-- don't wrap edit-text widget with set or let, otherwise it will keeps refreshing and auto select all text, cause old chars get deleted. -->\\n\\t\\t\u003C$edit-text tag=\\\"input\\\" tiddler=\\\"$:/temp/volatile/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout/keywords\\\" field=\\\"text\\\" focus=\\\"yes\\\" class=\\\"tc-titlebar tc-edit-texteditor tw-calendar-search-bar-text-field\\\"/>\\n\\n\\t\\t\u003C$set name=\\\"pagination\\\" value={{$:/state/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout/pagination}} emptyValue=\\\"0\\\">\\n\\t\\t\\t\u003C$let paginationTo={{{ [\u003Cpagination>add{$:/plugins/linonetwo/tw-calendar/settings/searchPageLimit}] }}} limit={{$:/plugins/linonetwo/tw-calendar/settings/searchPageLimit}} >\\n\\t\\t\\t\\t\u003Cdiv class=\\\"tw-calendar-search-bar-pagination tw-calendar-draggable-region\\\">\\n\\t\\t\\t\\t\\t\u003C$button style=\\\"width: 85%;height: 85%;\\\">\\n\\t\\t\\t\\t\\t\\t{{$:/core/images/chevron-left}}\\n\\t\\t\\t\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout/pagination\\\" text={{{ [\u003Cpagination>subtract{$:/plugins/linonetwo/tw-calendar/settings/searchPageLimit}] }}} />\\n\\t\\t\\t\\t\\t\u003C/$button>\\n\\n\\t\\t\\t\\t\\t\u003C$set name=\\\"count\\\" value={{{ [{$:/temp/volatile/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout/keywords}length[]compare:number:gt[0]] :then[all[tiddlers]!is[system]field:calendarEntry[yes]search:caption,text,keywords:words{$:/temp/volatile/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout/keywords}count[]] }}} emptyValue=\\\"0\\\">\\n\\t\\t\\t\\t\\t\\t\u003C\u003Cpagination>> ~ \u003C$text text=\u003C\u003CpaginationTo>> /> / \u003C$text text=\u003C\u003Ccount>> />\\n\\t\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\\t\\t\u003C$button style=\\\"width: 85%;height: 85%;\\\">\\n\\t\\t\\t\\t\\t\\t{{$:/core/images/chevron-right}}\\n\\t\\t\\t\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout/pagination\\\" text=\u003C\u003CpaginationTo>> />\\n\\t\\t\\t\\t\\t\u003C/$button>\\n\\t\\t\\t\\t\u003C/div>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C/$set>\\n\\t\\t\u003Cdiv class=\\\"tw-calendar-search-bar-icon tw-calendar-draggable-region\\\">\\n\\t\\t\\t{{$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/Images/CalendarSearchImage}}\\n\\t\\t\u003C/div>\\n\\t\u003C/div>\\n\\n\\t\u003C$set name=\\\"pagination\\\" value={{$:/state/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout/pagination}} emptyValue=\\\"0\\\">\\n\\t\\t\\t\u003C$let paginationTo={{{ [\u003Cpagination>add{$:/plugins/linonetwo/tw-calendar/settings/searchPageLimit}] }}} limit={{$:/plugins/linonetwo/tw-calendar/settings/searchPageLimit}} >\\n\\t\\t\\t\\t\u003Cdiv class=\\\"tw-calendar-search-calendar-container\\\">\\n\\t\\t\\t\\t\\t\u003C$calendar height=\\\"100%\\\" filter=\\\"[{$:/temp/volatile/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout/keywords}length[]compare:number:gt[0]] :then[all[tiddlers]!is[system]field:calendarEntry[yes]search:caption,text,keywords,tags:words{$:/temp/volatile/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout/keywords}!sort[startDate]rest\u003Cpagination>first\u003Climit>]\\\" />\\n\\t\\t\\t\\t\u003C/div>\\n\\t\\t\\t\u003C/$let>\\n\\t\u003C/$set>\\n\u003C/main>\\n\\n\u003C/$navigator>\\n\\n\u003C/div>\\n\\n\u003C/$vars>\"},\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/TiddlersCalendarLayout\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/TiddlersCalendarLayout\",\"name\":\"Tiddlers Calendar\",\"description\":\"view all tiddlers in agenda or calendar by their date related fields\",\"tags\":\"$:/tags/Layout\",\"icon\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/Images/GoToCalendarImage\",\"text\":\"\\\\whitespace trim\\n\\\\define containerClasses()\\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$ tw-calendar-layout-container\\n\\\\end\\n\\\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\\n\\n\u003C$vars\\n\\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\\n\\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\\n\\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\\n\\ttv-show-missing-links={{$:/config/MissingLinks}}\\n\\tstoryviewTitle={{$:/view}}\\n\\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\\n\\n\u003Cdiv class=\u003C\u003CcontainerClasses>>>\\n\\n\u003C$navigator story=\\\"$:/StoryList\\\" history=\\\"$:/HistoryList\\\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\n\u003Cmain class=\\\"tw-calendar-layout-main-area\\\">\\n\\t\u003C$calendar height=\\\"100vh\\\" />\\n\u003C/main>\\n\\n\u003C/$navigator>\\n\\n\u003C/div>\\n\\n\u003C/$vars>\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/ViewTemplate/EditTime\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/ViewTemplate/EditTime\",\"tags\":\"$:/tags/ViewTemplate\",\"text\":\"\u003C$list filter=\\\"[all[current]field:calendarEntry[yes]]\\\">\\n\\n{{||$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EditTime}}\\n\\n\u003C/$list>\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/ViewTemplate/caption\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/ViewTemplate/caption\",\"code-body\":\"yes\",\"text\":\"\u003C\u003Ctoc-caption>>\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/ViewTemplate/captionCascade\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/ViewTemplate/captionCascade\",\"tags\":\"$:/tags/ViewTemplateTitleFilter\",\"list-before\":\"$:/config/ViewTemplateTitleFilters/system\",\"text\":\"[field:calendarEntry[yes]then[$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/ViewTemplate/caption]]\"},\"$:/plugins/linonetwo/tw-calendar/lib/TiddlyTools/Time/Alarms\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/lib/TiddlyTools/Time/Alarms\",\"alarms\":\"\",\"caption\":\"Alarms\",\"created\":\"20200811043857487\",\"modified\":\"20220725122018915\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"original-source\":\"http://TiddlyTools.com\",\"author\":\"EricShulman\",\"text\":\"\\\\define alarms_input() $:/temp/time/alarms_input/$(currentTiddler)$\\n\\\\define alarms_msg() $:/temp/time/alarms_msg/$(freq)$/$(this_time)$\\n\\\\define alarms_defaultmsg() BEEP! BEEP! BEEP!\\n\\n\\\\define alarms_form()\\n\u003Cstyle> .alarmEdit { width:3em; text-align:center; } \u003C/style>\\n\u003C\u003Calarms_form_freq>>\\n at \\n\u003C\u003Calarms_form_time>>\\n\u003Cspan style={{{ [\u003Calarms_input>get[freq]match[monthly]then[position:absolute]else[display:none;]] }}}>\\n on the \u003C\u003Calarms_form_day>> day of the month\u003C/span>\\n\u003Cspan style={{{ [\u003Calarms_input>!has[freq]] [\u003Calarms_input>get[freq]match[once]] +[limit[1]] +[else[visibility:hidden;]] }}}>\\n on \u003C\u003Calarms_form_year>> \u003C\u003Calarms_form_month>> \u003C\u003Calarms_form_day>>\u003C/span>\\n\u003Cbr>\\n\u003C\u003Calarms_form_msg>>\\n\u003Cbr>\\n\u003Cdiv style=\\\"display:flex;flex-direction:row;align-items:center;justify-content:center; margin-top: 0.5em;\\\">\\n \u003C\u003Calarms_add>> \u003C\u003Calarms_reset>>\\n\u003C/div>\\n\\\\end\\n\\n\\\\define alarms_form_freq()\\n\u003C$select tiddler=\u003C\u003Calarms_input>> field=\\\"freq\\\" default=\\\"once\\\" actions=\\\"\u003C$action-deletefield $tiddler=\u003C\u003Calarms_input>> year month day />\\\">\\n \u003Coption value=\\\"once\\\">Once\u003C/option>\\n \u003Coption value=\\\"monthly\\\">Monthly\u003C/option>\\n \u003Coption value=\\\"daily\\\">Daily\u003C/option>\\n \u003C$list filter=\\\"[all[shadows]prefix[$:/language/Date/Long/Day/]]\\\">\\n \u003Coption value={{{ [\u003CcurrentTiddler>get[text]] }}}>\\n {{{ [\u003CcurrentTiddler>get[text]] }}}s\\n \u003C/option>\\n \u003C/$list>\\n\u003C/$select>\\n\\\\end\\n\\n\\\\define alarms_form_year()\\n\u003C$edit-text tag=\\\"input\\\" class=\\\"alarmEdit alarmEditYear\\\" tiddler=\u003C\u003Calarms_input>> field=\\\"year\\\" default=\u003C\u003Cnow YYYY>> placeholder=\u003C\u003Cnow YYYY>> />\\n\\\\end\\n\\n\\\\define alarms_form_month()\\n\u003C$select tiddler=\u003C\u003Calarms_input>> field=\\\"month\\\" default=\u003C\u003Cnow 0MM>>>\\n \u003C$list filter=\\\"[range[1,12]]\\\">\\n \u003Coption value={{{ [\u003CcurrentTiddler>pad[2]] }}}>\\n {{{ [\u003CcurrentTiddler>addprefix[$:/language/Date/Long/Month/]get[text]] }}}\\n \u003C/option>\\n \u003C/$list>\\n\u003C/$select>\\n\\\\end\\n\\n\\\\define alarms_form_day()\\n\u003C!-- CALCULATE DAYS FOR SELECTED MONTH (ADJUST FOR LEAP YEARS) -->\\n\u003C$set name=\\\"freq\\\" value={{{ [\u003Calarms_input>get[freq]] }}}>\\n\u003C$set name=\\\"year\\\" value={{{ [\u003Calarms_input>get[year]] ~[\u003Cnow YYYY>] }}}>\\n\u003C$set name=\\\"month\\\" value={{{ [\u003Calarms_input>get[month]] ~[\u003Cnow MM>] }}}>\\n\u003C$set name=\\\"leap\\\" value={{{ [\u003Cyear>remainder[4]match[0]then[yes]] }}}>\\n\u003C$set name=\\\"dpm\\\" value=\\\"31 28 31 30 31 30 31 31 30 31 30 31\\\"> \u003C!-- days per month -->\\n\u003C$set name=\\\"dpm\\\" filter=\\\"[\u003Cleap>!match[]]\\\" value=\\\"31 29 31 30 31 30 31 31 30 31 30 31\\\" emptyValue=\u003C\u003Cdpm>>>\\n\u003C$set name=\\\"dm\\\" value={{{ [\u003Cdpm>split[ ]nth\u003Cmonth>] }}}> \u003C!-- days in this month -->\\n\u003C$set name=\\\"dm\\\" filter=\\\"[\u003Cfreq>match[monthly]]\\\" value=\\\"31\\\" emptyValue=\u003C\u003Cdm>>>\\n\u003C$select tiddler=\u003C\u003Calarms_input>> field=\\\"day\\\" default=\u003C\u003Cnow 0DD>>>\\n \u003C$list filter=\\\"[range\u003Cdm>]\\\">\\n \u003Coption value={{{ [\u003CcurrentTiddler>pad[2]] }}}>\\n \u003C\u003CcurrentTiddler>>\u003C$transclude tiddler={{{ [[$:/language/Date/DaySuffix/]addsuffix\u003CcurrentTiddler>] }}}/>\\n \u003C/option>\\n \u003C/$list>\\n\u003C/$select>\\n\\\\end\\n\\n\\\\define alarms_form_time()\\n\u003C$edit-text\\n tag=\\\"input\\\"\\n class=\\\"alarmEdit\\\"\\n tiddler=\u003C\u003Calarms_input>>\\n field=\\\"hour\\\"\\n default={{{[\u003CcurrentTiddler>get[startDate]format:date[TIMESTAMP]subtract[900000]parsedate:number[0hh]]}}}\\n placeholder=\\\"hh\\\"\\n/>\\n\u003C$edit-text\\n tag=\\\"input\\\"\\n class=\\\"alarmEdit\\\"\\n tiddler=\u003C\u003Calarms_input>>\\n field=\\\"min\\\"\\n default={{{[\u003CcurrentTiddler>get[startDate]format:date[TIMESTAMP]subtract[900000]parsedate:number[0mm]]}}}\\n placeholder=\\\"mm\\\"\\n/>\\n\u003C$edit-text\\n tag=\\\"input\\\"\\n class=\\\"alarmEdit\\\"\\n tiddler=\u003C\u003Calarms_input>>\\n field=\\\"sec\\\"\\n default=\\\"00\\\"\\n placeholder=\\\"ss\\\"\\n/>\\n\\\\end\\n\\n\\\\define alarms_form_msg()\\n\u003Cstyle> .alarmMsg { width:calc(100% - 4.5em); } \u003C/style>\\n\u003C$edit-text tag=\\\"input\\\" class=\\\"alarmMsg\\\" tiddler=\u003C\u003Calarms_input>> field=\\\"msg\\\" default=\\\"\\\" placeholder=\\\"enter a message\\\" />\\n\\\\end\\n\\n\\\\define alarms_add()\\n\u003C!-- DEFAULTS -->\\n\u003C$vars freq=\\\"once\\\" year=\u003C\u003Cnow YYYY>> month=\u003C\u003Cnow 0MM>> day=\u003C\u003Cnow 0DD>> hour={{{[\u003CcurrentTiddler>get[startDate]format:date[TIMESTAMP]subtract[900000]parsedate:number[0hh]]}}} min={{{[\u003CcurrentTiddler>get[startDate]format:date[TIMESTAMP]subtract[900000]parsedate:number[0mm]]}}} sec=\\\"00\\\">\\n\u003C!-- INPUTS -->\\n\u003C$vars freq={{{ [\u003Calarms_input>get[freq]] ~[\u003Cfreq>] }}}>\\n\u003C$vars year={{{ [\u003Calarms_input>get[year]] ~[\u003Cyear>] }}}>\\n\u003C$vars month={{{ [\u003Calarms_input>get[month]] ~[\u003Cmonth>] }}}>\\n\u003C$vars day={{{ [\u003Calarms_input>get[day]] ~[\u003Cday>] }}}>\\n\u003C$vars hour={{{ [\u003Calarms_input>get[hour]] ~[\u003Chour>] }}}>\\n\u003C$vars min={{{ [\u003Calarms_input>get[min]] ~[\u003Cmin>] }}}>\\n\u003C$vars sec={{{ [\u003Calarms_input>get[sec]] ~[\u003Csec>] }}}>\\n\u003C$vars msg={{{ [\u003Calarms_input>get[msg]] +[encodeuricomponent[]search-replace:g[%20],[ ]] }}}>\\n\u003C!-- ASSEMBLE NEW DATE -->\\n\u003C$vars date={{{ [\u003Cyear>addsuffix[-]addsuffix\u003Cmonth>addsuffix[-]addsuffix\u003Cday>] }}}>\\n\u003C$set name=\\\"date\\\" filter=\\\"[\u003Cfreq>match[once]]\\\" value=\u003C\u003Cdate>> emptyValue=\\\"\\\">\\n\u003C$set name=\\\"date\\\" filter=\\\"[\u003Cfreq>match[monthly]]\\\" value={{{ [[....-..-]addsuffix\u003Cday>] }}} emptyValue=\u003C\u003Cdate>>>\\n\u003C!-- ASSEMBLE NEW TIME (ZERO-PADDED) -->\\n\u003C$vars hour={{{ [\u003Chour>pad[2]] }}} min={{{ [\u003Cmin>pad[2]] }}} sec={{{ [\u003Csec>pad[2]] }}}>\\n\u003C$vars time={{{ [\u003Chour>addsuffix[:]addsuffix\u003Cmin>addsuffix[:]addsuffix\u003Csec>] }}}>\\n\u003C$vars time={{{ [\u003Ctime>!match[--:--:--]search-replace:g[--],[00]else\u003Ctime>] }}}>\\n\u003C!-- ASSEMBLE NEW ALARM -->\\n\u003C$vars newalarm={{{ [\u003Cfreq>addsuffix[;]addsuffix\u003Cdate>addsuffix[;]addsuffix\u003Ctime>addsuffix[;]addsuffix\u003Cmsg>] }}}>\\n\u003C!-- ADD/UPDATE ALARMS -->\\n\u003C$vars old_alarm={{{ [\u003Calarms_input>get[old_alarm]] }}}>\\n\u003C$reveal default=\u003C\u003Cold_alarm>> type=\\\"match\\\" text=\\\"\\\" style=\\\"flex:1;margin-right:1em;\\\">\\n \u003C$button class=\\\"tc-button tt-button\\\" style=\\\"width:100%\\\" tooltip=\\\"add alarm\\\">\\n {{$:/core/images/new-button}}\\n \u003C$action-listops $tiddler=\u003C\u003CcurrentTiddler>> $field=\\\"alarms\\\" $subfilter=\\\"[\u003Cnewalarm>]\\\" />\\n \u003C$action-deletetiddler $tiddler=\u003C\u003Calarms_input>> />\\n \u003C/$button>\\n\u003C/$reveal>\\n\u003C$reveal default=\u003C\u003Cold_alarm>> type=\\\"nomatch\\\" text=\\\"\\\" style=\\\"flex:1;margin-right:1em;\\\">\\n \u003C$button class=\\\"tc-button tt-button\\\" tooltip=\\\"update alarm\\\" style=\\\"width:100%\\\">\\n {{$:/core/images/done-button}}\\n \u003C$action-listops $tiddler=\u003C\u003CcurrentTiddler>> $field=\\\"alarms\\\" $subfilter=\\\"[\u003Cnewalarm>] +[replace\u003Cold_alarm>]\\\" />\\n \u003C$action-deletetiddler $tiddler=\u003C\u003Calarms_input>> />\\n \u003C/$button>\\n\u003C/$reveal>\\n\u003C/$vars>\\n\\\\end\\n\\n\\\\define alarms_reset()\\n\u003C$button class=\\\"tc-button tt-button\\\" style=\\\"flex:1;margin-left:1em\\\" tooltip=\\\"reset input\\\">\\n {{$:/core/images/close-button}}\\n \u003C$action-deletetiddler $tiddler=\u003C\u003Calarms_input>> />\\n\u003C/$button>\\n\\\\end\\n\\n\\\\define alarms_edit()\\n\u003C$button class=\\\"tc-button tt-button\\\" tooltip=\\\"edit this alarm\\\" actions=\u003C\u003Calarms_edit_actions>>>\\n {{$:/core/images/edit-button}}\\n\u003C/$button>\\n\\\\end\\n\\n\\\\define alarms_edit_actions()\\n\u003C$vars this_year=\u003C\u003Cnow \\\"YYYY\\\">> this_month=\u003C\u003Cnow \\\"0MM\\\">> this_day=\u003C\u003Cnow \\\"0DD\\\">>>\\n\u003C$vars freq={{{ [\u003Cthis_alarm>split[;]nth[1]split[@]nth[1]] }}}>\\n\u003C$vars year={{{ [\u003Cthis_alarm>split[;]nth[2]split[-]nth[1]] ~[\u003Cthis_year>] +[!match[....]] }}}>\\n\u003C$vars month={{{ [\u003Cthis_alarm>split[;]nth[2]split[-]nth[2]] ~[\u003Cthis_month>] +[!match[..]] }}}>\\n\u003C$vars day={{{ [\u003Cthis_alarm>split[;]nth[2]split[-]nth[3]] ~[\u003Cthis_day>] +[!match[..]] }}}>\\n\u003C$vars hour={{{ [\u003Cthis_alarm>split[;]nth[3]split[:]nth[1]] +[!match[--]] }}}>\\n\u003C$vars min={{{ [\u003Cthis_alarm>split[;]nth[3]split[:]nth[2]] +[!match[--]] }}}>\\n\u003C$vars sec={{{ [\u003Cthis_alarm>split[;]nth[3]split[:]nth[3]] +[!match[--]] }}}>\\n\u003C$vars msg={{{ [\u003Cthis_alarm>split[;]nth[4]] +[decodeuricomponent[]] }}}>\\n\u003C$action-setfield $tiddler=\u003C\u003Calarms_input>> old_alarm=\u003C\u003Cthis_alarm>> freq=\u003C\u003Cfreq>>\\n year=\u003C\u003Cyear>> month=\u003C\u003Cmonth>> day=\u003C\u003Cday>> hour=\u003C\u003Chour>> min=\u003C\u003Cmin>> sec=\u003C\u003Csec>> msg=\u003C\u003Cmsg>> />\\n\\\\end\\n\\n\\\\define alarms_delete()\\n\u003C$button class=\\\"tc-button tt-button\\\" tooltip=\\\"delete this alarm\\\"> {{$:/core/images/delete-button}}\\n \u003C$action-setfield $tiddler=\\\"$(alarms_msg)$\\\"\\n subtitle=\\\"\\\"\\\"Confirm: delete alarm\\\"\\\"\\\"\\n text=\\\"\\\"\\\"\\n \u003C$vars this_alarm=\\\"$(this_alarm)$\\\">\\n \u003C$vars msg={{{ [\u003Cthis_alarm>split[;]nth[4]] }}}>\\n \u003C$importvariables filter=\\\"TiddlyTools/Time/Alarms\\\">\\n @@font-size:2em; ''\u003C\u003Calarms_show>>'' @@\u003Cbr>\\n @@font-size:1.25em; ''\u003C$text text={{{ [\u003Cmsg>!match[]else\u003Calarms_defaultmsg>] }}} />''@@\\n \u003C/$importvariables>\\n \u003C/$vars>\\n \u003C/$vars>\\n \u003Cbr> \u003Cbr>\\n @@font-size:1.5em; Are you sure you want to delete this alarm? @@\\n \\\"\\\"\\\"\\n footer=\\\"\\\"\\\"\\n \u003C$button class=\\\"tc-button tt-button\\\" message=\\\"tm-close-tiddler\\\"> cancel\\n \u003C$action-deletetiddler $tiddler=\\\"$(alarms_msg)$\\\" />\\n \u003C/$button>\\n \u003C$button class=\\\"tc-button tt-button\\\" message=\\\"tm-close-tiddler\\\"> delete\\n \u003C$action-listops $tiddler=\\\"$(currentTiddler)$\\\" $field=\\\"alarms\\\" $subfilter=\\\"-[[$(this_alarm)$]]\\\" />\\n \u003C$action-deletetiddler $tiddler=\\\"$(alarms_msg)$\\\" />\\n \u003C/$button>\\n \\\"\\\"\\\" />\\n \u003C$action-sendmessage $message=\\\"tm-modal\\\" $param=\\\"$(alarms_msg)$\\\" />\\n\u003C/$button>\\n\\\\end\\n\\n\\\\define alarms_deleteall()\\n\u003C$list filter=\\\"[\u003CcurrentTiddler>!has[alarms]!has[draft.of]]\\\">\\n \u003C$button class=\\\"tc-btn-invisible\\\" tooltip=\\\"delete all alarms\\\"> @@fill:gray;{{$:/core/images/delete-button}}@@ \u003C/$button>\\n\u003C/$list>\\n\u003C$list filter=\\\"[\u003CcurrentTiddler>has[alarms]!has[draft.of]]\\\">\\n\u003C$button class=\\\"tc-btn-invisible\\\" tooltip=\\\"delete all alarms\\\"> {{$:/core/images/delete-button}}\\n \u003C$action-setfield $tiddler=\\\"$(alarms_msg)$\\\"\\n subtitle=\\\"\\\"\\\"Confirm: delete all alarms\\\"\\\"\\\"\\n text=\\\"\\\"\\\"@@font-size:1.5em; Are you sure you want to delete all alarms?@@\\\"\\\"\\\"\\n footer=\\\"\\\"\\\"\\n \u003C$button class=\\\"tc-button tt-button\\\" message=\\\"tm-close-tiddler\\\"> cancel\\n \u003C$action-deletetiddler $tiddler=\\\"$(alarms_msg)$\\\" />\\n \u003C/$button>\\n \u003C$button class=\\\"tc-button tt-button\\\" message=\\\"tm-close-tiddler\\\"> delete\\n \u003C$action-setfield $tiddler=\\\"$(currentTiddler)$\\\" alarms=\\\"\\\" />\\n \u003C$action-deletetiddler $tiddler=\\\"$(alarms_input)$\\\" />\\n \u003C$action-deletetiddler $tiddler=\\\"$(alarms_msg)$\\\" />\\n \u003C/$button>\\n \\\"\\\"\\\" />\\n \u003C$action-sendmessage $message=\\\"tm-modal\\\" $param=\\\"$(alarms_msg)$\\\" />\\n\u003C/$button>\\n\\\\end\\n\\n\\\\define alarms_toggle()\\n\\\\whitespace trim\\n\u003C$vars freq={{{ [\u003Cthis_alarm>split[;]nth[1]split[@]first[]] }}}\\n paused={{{ [\u003Cthis_alarm>split[;]nth[1]split[@]rest[]] }}}\\n date={{{ [\u003Cthis_alarm>split[;]nth[2]] }}}\\n time={{{ [\u003Cthis_alarm>split[;]nth[3]] }}}\\n msg={{{ [\u003Cthis_alarm>split[;]nth[4]] }}}>\\n\u003C$reveal default=\u003C\u003Cpaused>> type=\\\"match\\\" text=\\\"\\\">\\n \u003C$button class=\\\"tc-btn-invisible\\\" tooltip=\\\"this alarm is active... click to pause\\\" actions=\u003C\u003Calarms_pause>>>\\n ''\u003C\u003Calarms_show>>'' {{$:/core/images/timestamp-on}}\\n \u003C/$button>\\n\u003C/$reveal>\\n\u003C$reveal default=\u003C\u003Cpaused>> type=\\\"nomatch\\\" text=\\\"\\\">\\n \u003C$reveal default=\u003C\u003Cpaused>> type=\\\"match\\\" text=\\\"paused\\\">\\n \u003C$button class=\\\"tc-btn-invisible\\\" tooltip=\\\"this alarm is paused... click to resume\\\" actions=\u003C\u003Calarms_resume>>>\\n @@color:#999;fill:#999; ''\u003C\u003Calarms_show>>''@@ {{$:/core/images/timestamp-off}}\\n \u003C/$button>\\n \u003C/$reveal>\\n \u003C$reveal default=\u003C\u003Cpaused>> type=\\\"match\\\" text=\\\"expired\\\">\\n \u003C$button class=\\\"tc-btn-invisible\\\" tooltip=\\\"this alarm has expired... click to edit\\\" actions=\u003C\u003Calarms_edit_actions>>>\\n @@color:#999;fill:#999; ''\u003C\u003Calarms_show>>''@@ {{$:/core/images/done-button}}\\n \u003C/$button>\\n \u003C/$reveal>\\n\u003C/$reveal>\\n\\\\end\\n\\n\\\\define alarms_pause()\\n\u003C$vars new_alarm={{{ [\u003Cfreq>addsuffix[@paused]] [\u003Cdate>] [\u003Ctime>] [\u003Cmsg>] +[join[;]] }}}>\\n\u003C$action-setfield $timestamp=\\\"no\\\" $tiddler=\u003C\u003CcurrentTiddler>> $field=\\\"alarms\\\" $value={{{ [\u003CcurrentTiddler>get[alarms]search-replace\u003Cthis_alarm>,\u003Cnew_alarm>] }}} />\\n\\\\end\\n\\n\\\\define alarms_expire()\\n\u003C$vars new_alarm={{{ [\u003Cfreq>addsuffix[@expired]] [\u003Cdate>] [\u003Ctime>] [\u003Cmsg>] +[join[;]] }}}>\\n\u003C$action-setfield $timestamp=\\\"no\\\" $tiddler=\u003C\u003CcurrentTiddler>> $field=\\\"alarms\\\" $value={{{ [\u003CcurrentTiddler>get[alarms]search-replace\u003Cthis_alarm>,\u003Cnew_alarm>] }}} />\\n\\\\end\\n\\n\\\\define alarms_resume()\\n\u003C$vars new_alarm={{{ [\u003Cfreq>] [\u003Cdate>] [\u003Ctime>] [\u003Cmsg>] +[join[;]] }}}>\\n\u003C$action-setfield $timestamp=\\\"no\\\" $tiddler=\u003C\u003CcurrentTiddler>> $field=\\\"alarms\\\" $value={{{ [\u003CcurrentTiddler>get[alarms]search-replace\u003Cthis_alarm>,\u003Cnew_alarm>] }}} />\\n\\\\end\\n\\n\\\\define alarms_heading()\\n\u003C$vars time=\u003C\u003Cnow \\\"DDD, MMM DDth YYYY 0hh:0mm:0ss\\\">>>\\n\u003Cspan style=\\\"float:right;font-size:80%;\\\">''\u003C\u003Ctime>>''\u003C/span>\\n\u003Cspan title={{{ [[open ]addsuffix\u003CcurrentTiddler>] }}}>\\n\u003C$link>''\u003C$view field=\\\"caption\\\">Alarms\u003C/$view>''\u003C/$link>\\n\u003C\u003Calarms_deleteall>>\\n\\\\end\\n\\n\\\\define alarms_list()\\n\u003Cstyle> .alarmTable table, .alarmTable tr, .alarmTable td { border:0;padding:0;margin:0; } \u003C/style>\\n\u003Cdiv class=\\\"alarmTable tt-shadowbox inset\\\">\\n\u003Ctable>\\n\u003C$list filter={{!!alarms}} variable=\\\"this_alarm\\\">\\n \u003Ctr style=\\\"vertical-align:top;\\\">\\n \u003Ctd style=\\\"white-space:nowrap;\\\"> \u003C\u003Calarms_edit>> \u003C\u003Calarms_delete>> \u003C/td>\\n \u003Ctd style=\\\"white-space:nowrap;text-align:right;padding:0 0.5em;\\\"> \u003C\u003Calarms_toggle>> \u003C/td>\\n \u003Ctd>\\n \u003C$vars msg={{{ [\u003Cthis_alarm>split[;]nth[4]decodeuricomponent[]] }}}>\\n \u003C$list filter=\\\"[\u003Cmsg>is[tiddler]]\\\"> Action: \u003C$link to=\u003C\u003Cmsg>> /> \u003C/$list>\\n \u003C$list filter=\\\"[\u003Cmsg>!is[tiddler]]\\\"> \u003C$text text={{{ [\u003Cmsg>!match[]else\u003Calarms_defaultmsg>] }}} /> \u003C/$list>\\n \u003C/$vars>\\n \u003C/td>\\n \u003C/tr>\\n\u003C/$list>\\n\u003C/table>\\n\u003C/div>\\n\\\\end\\n\\n\\\\define alarms_show()\\n\u003C$vars freq={{{ [\u003Cthis_alarm>split[;]nth[1]split[@]first[]] }}}\\n date={{{ [\u003Cthis_alarm>split[;]nth[2]] }}}\\n day={{{ [\u003Cthis_alarm>split[;]nth[2]split[-]nth[3]trim:prefix[0]] }}}\\n time={{{ [\u003Cthis_alarm>split[;]nth[3]] }}}>\\n\u003C$vars suffix={{{ [[$:/language/Date/DaySuffix/]addsuffix\u003Cday>get[text]] }}}>\\n\u003C$list filter=\\\"[\u003Cfreq>match[once]]\\\" > \u003C\u003Cdate>> at \u003C/$list>\\n\u003C$list filter=\\\"[\u003Cfreq>match[daily]]\\\" > Every day at \u003C/$list>\\n\u003C$list filter=\\\"[\u003Cfreq>match[monthly]]\\\" > \u003C\u003Cday>>\u003C\u003Csuffix>> of the month at \u003C/$list>\\n\u003C$list filter=\\\"[\u003Cfreq>!match[once]then\u003Cfreq>!match[monthly]then\u003Cfreq>!match[daily]]\\\"> \u003C\u003Cfreq>>s at \u003C/$list>\\n\u003C$list filter=\\\"[\u003Ctime>!match[--:--:--]]\\\"> \u003C\u003Ctime>> \u003C/$list>\\n\u003C$list filter=\\\"[\u003Ctime>match[--:--:--]]\\\"> startup \u003C/$list>\\n\\\\end\\n\\n\\\\define alarms_tick()\\n\u003C!-- CALLED EVERY SECOND FROM TiddlyTools/Time/Ticker -->\\n\u003C$vars this_date=\u003C\u003Cnow \\\"YYYY-0MM-0DD\\\">> this_time=\u003C\u003Cnow \\\"0hh:0mm:0ss\\\">> this_day=\u003C\u003Cnow \\\"DDD\\\">> this_daynum=\u003C\u003Cnow \\\"0DD\\\">>>\\n\u003C$list filter=\\\"[has[alarms]!has[draft.of]]\\\">\\n\u003C$list filter=\\\"[\u003CcurrentTiddler>enlist{!!alarms}]\\\" variable=\\\"this_alarm\\\">\\n \u003C$vars freq={{{ [\u003Cthis_alarm>split[;]nth[1]] }}}\\n date={{{ [\u003Cthis_alarm>split[;]nth[2]] }}}\\n daynum={{{ [\u003Cthis_alarm>split[;]nth[2]split[-]nth[3]] }}}\\n time={{{ [\u003Cthis_alarm>split[;]nth[3]] }}}\\n msg={{{ [\u003Cthis_alarm>split[;]nth[4]decodeuricomponent[]] }}}>\\n \u003C$reveal default=\u003C\u003Cfreq>> type=\\\"match\\\" text=\\\"once\\\">\\n \u003C$reveal default=\u003C\u003Cdate>> type=\\\"match\\\" text=\u003C\u003Cthis_date>>>\\n \u003C$reveal default=\u003C\u003Ctime>> type=\\\"match\\\" text=\u003C\u003Cthis_time>>> \u003C\u003Calarms_trigger>> \u003C/$reveal>\\n \u003C/$reveal>\\n \u003C$vars when={{{ [\u003Cdate>search-replace:g[-],[]] [\u003Ctime>search-replace:g[--],[00]search-replace:g[:],[]] +[join[]addsuffix[000]] }}}>\\n \u003C$reveal default=\u003C\u003Cwhen>> type=\\\"lt\\\" text=\u003C\u003Cnow \\\"YYYY0MM0DD0hh0mm0ss000\\\">>> \u003C\u003Calarms_expire>> \u003C/$reveal>\\n \u003C/$vars>\\n \u003C/$reveal>\\n \u003C$reveal default=\u003C\u003Cfreq>> type=\\\"match\\\" text=\\\"monthly\\\">\\n \u003C$reveal default=\u003C\u003Cdaynum>> type=\\\"match\\\" text=\u003C\u003Cthis_daynum>>>\\n \u003C$reveal default=\u003C\u003Ctime>> type=\\\"match\\\" text=\u003C\u003Cthis_time>>> \u003C\u003Calarms_trigger>> \u003C/$reveal>\\n \u003C/$reveal>\\n \u003C/$reveal>\\n \u003C$reveal default=\u003C\u003Cfreq>> type=\\\"match\\\" text=\\\"daily\\\">\\n \u003C$reveal default=\u003C\u003Ctime>> type=\\\"match\\\" text=\u003C\u003Cthis_time>>> \u003C\u003Calarms_trigger>> \u003C/$reveal>\\n \u003C/$reveal>\\n \u003C$reveal default=\u003C\u003Cfreq>> type=\\\"match\\\" text=\u003C\u003Cthis_day>>>\\n \u003C$reveal default=\u003C\u003Ctime>> type=\\\"match\\\" text=\u003C\u003Cthis_time>>> \u003C\u003Calarms_trigger>> \u003C/$reveal>\\n \u003C/$reveal>\\n \u003C/$vars>\\n\u003C/$list>\\n\u003C/$list>\\n\\\\end\\n\\n\\\\define alarms_startup()\\n\u003C!-- CALLED AT STARTUP FROM TiddlyTools/Time/Ticker -->\\n\u003C$vars this_date=\u003C\u003Cnow \\\"YYYY-0MM-0DD\\\">> this_day=\u003C\u003Cnow \\\"DDD\\\">> this_daynum=\u003C\u003Cnow \\\"0DD\\\">>>\\n\u003C$list filter=\\\"[has[alarms]!has[draft.of]]\\\">\\n\u003C$list filter=\\\"[\u003CcurrentTiddler>enlist{!!alarms}]\\\" variable=\\\"this_alarm\\\">\\n \u003C$vars freq={{{ [\u003Cthis_alarm>split[;]nth[1]] }}}\\n date={{{ [\u003Cthis_alarm>split[;]nth[2]] }}}\\n daynum={{{ [\u003Cthis_alarm>split[;]nth[2]split[-]nth[3]] }}}\\n time={{{ [\u003Cthis_alarm>split[;]nth[3]] }}}\\n msg={{{ [\u003Cthis_alarm>split[;]nth[4]decodeuricomponent[]] }}}>\\n \u003C$reveal default=\u003C\u003Ctime>> type=\\\"match\\\" text=\\\"--:--:--\\\">\\n \u003C$reveal default=\u003C\u003Cfreq>> type=\\\"match\\\" text=\\\"once\\\">\\n \u003C$reveal default=\u003C\u003Cdate>> type=\\\"match\\\" text=\u003C\u003Cthis_date>>> \u003C\u003Calarms_trigger>> \u003C/$reveal>\\n \u003C$vars when={{{ [\u003Cdate>search-replace:g[-],[]addsuffix[000000000]] }}}>\\n \u003C$reveal default=\u003C\u003Cwhen>> type=\\\"lt\\\" text=\u003C\u003Cnow \\\"YYYY0MM0DD0hh0mm0ss000\\\">>> \u003C\u003Calarms_expire>> \u003C/$reveal>\\n \u003C/$vars>\\n \u003C/$reveal>\\n \u003C$reveal default=\u003C\u003Cfreq>> type=\\\"match\\\" text=\\\"monthly\\\">\\n \u003C$reveal default=\u003C\u003Cdaynum>> type=\\\"match\\\" text=\u003C\u003Cthis_daynum>>> \u003C\u003Calarms_trigger>> \u003C/$reveal>\\n \u003C/$reveal>\\n \u003C$reveal default=\u003C\u003Cfreq>> type=\\\"match\\\" text=\\\"daily\\\" > \u003C\u003Calarms_trigger>> \u003C/$reveal>\\n \u003C$reveal default=\u003C\u003Cfreq>> type=\\\"match\\\" text=\u003C\u003Cthis_day>>> \u003C\u003Calarms_trigger>> \u003C/$reveal>\\n \u003C/$reveal>\\n \u003C/$vars>\\n\u003C/$list>\\n\u003C/$list>\\n\\\\end\\n\\n\\\\define alarms_trigger()\\n\u003C$vars when=\u003C\u003Cnow \\\"DDD, YYYY-0MM-0DD at 0hh:0mm:0ss\\\">>>\\n\u003C$list filter=\\\"[\u003Cmsg>is[tiddler]]\\\" variable=\\\"do_action\\\"> \u003C$transclude tiddler=\u003C\u003Cmsg>> /> \u003C/$list>\\n\u003C$list filter=\\\"[\u003Cmsg>!is[tiddler]]\\\" variable=\\\"do_message\\\"> \u003C\u003Calarms_message msg:\\\"\\\"\\\"$(msg)$\\\"\\\"\\\">> \u003C/$list>\\n\u003C$vars>\\n\\\\end\\n\\n\\\\define alarms_message(msg)\\n\u003C$reveal state=\u003C\u003Calarms_msg>> type=\\\"match\\\" text=\\\"\\\">\\n \u003C$action-setfield $tiddler=\u003C\u003Calarms_msg>>\\n subtitle=\\\"\\\"\\\"\u003Cspan style=\\\"font-size:1.5em;\\\"> \u003C$text text={{{ [[$(currentTiddler)$]get[caption]else[$(currentTiddler)$]] }}} /> \u003C/span>\\\"\\\"\\\"\\n text={{{ [[$msg$]!match[]else\u003Calarms_defaultmsg>addprefix[@@font-size:2em;]addsuffix[@@]addprefix[\u003Cbr> \u003Cbr>]addprefix\u003Cwhen>] }}}\\n footer=\\\"\\\"\\\"\\n \u003C$button class=\\\"tc-button tt-button\\\" message=\\\"tm-close-tiddler\\\">\\n view \u003C$action-deletetiddler $tiddler=\\\"$(alarms_msg)$\\\" />\\n \u003C$list filter=\\\"[[$:/StoryList]!contains[$(currentTiddler)$]]\\\">\\n \u003C$action-listops $subfilter=\\\"[[$(currentTiddler)$]] +[putfirst[]]\\\" />\\n \u003C/$list>\\n \u003C$action-navigate $to=\\\"$(currentTiddler)$\\\"/>\\n \u003C/$button>\\n \u003C$button class=\\\"tc-button tt-button\\\" message=\\\"tm-close-tiddler\\\">\\n close \u003C$action-deletetiddler $tiddler=\\\"$(alarms_msg)$\\\" />\\n \u003C/$button>\\n \\\"\\\"\\\" />\\n \u003C$action-sendmessage $message=\\\"tm-modal\\\" $param=\u003C\u003Calarms_msg>> />\\n \u003C$action-sendmessage $message=\\\"tm-notify\\\" $param=\u003C\u003Calarms_msg>> />\\n\u003C/$reveal>\\n\\\\end\\n\\n\u003Cdiv style=\\\"display:inline-block;white-space:nowrap;margin-bottom:0.25em;\\\">\\n \u003C\u003Calarms_heading>>\u003Cbr>\\n \u003C\u003Calarms_form>>\\n\u003C/div>\\n\u003C$list filter=\\\"[{!!alarms}!match[]]\\\" variable=\\\"has_alarms\\\">\\n \u003C\u003Calarms_list>>\\n\u003C/$list>\"},\"$:/plugins/linonetwo/tw-calendar/lib/TiddlyTools/Time/ParseDate\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/lib/TiddlyTools/Time/ParseDate\",\"text\":\"!function(){\\\"use strict\\\";exports.parsedate=function(t,n,e){var r,i=n.operand||\\\"[UTC]YYYY0MM0DD0hh0mm0ss0XXX\\\",a=[];return t(function(t,e){r=e.match(/^-?\\\\d+$/)?\\\"unixtime\\\"==n.suffix||\\\"number\\\"==n.suffix?new Date(Number(e)):$tw.utils.parseDate(e):new Date(e.replace(/(\\\\d+)(st|nd|rd|th)/g,\\\"$1\\\").replace(/,/g,\\\"\\\")),a.push(\\\"unixtime\\\"==i||\\\"number\\\"==i?r.getTime().toString():$tw.utils.formatDateString(r,i))}),a},exports.unixtime=function(t,e,n){var r,i=e.operand||\\\"\\\",a=[];return t(function(t,e){r=e.match(/^-?\\\\d+$/)?new Date(Number(e)):new Date(e.replace(/(\\\\d+)(st|nd|rd|th)/g,\\\"$1\\\").replace(/,/g,\\\"\\\")),a.push(\\\"\\\"==i?r.getTime().toString():$tw.utils.formatDateString(r,i))}),a}}();\",\"created\":\"20210813204917931\",\"modified\":\"20220814145141332\",\"module-type\":\"filteroperator\",\"tags\":\"\",\"type\":\"application/javascript\",\"original-source\":\"http://TiddlyTools.com\",\"author\":\"EricShulman\"},\"$:/plugins/linonetwo/tw-calendar/lib/TiddlyTools/Time/Ticker\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/lib/TiddlyTools/Time/Ticker\",\"created\":\"20200814085053745\",\"modified\":\"20220124105540968\",\"tags\":\"$:/tags/StartupAction/Browser\",\"original-source\":\"http://TiddlyTools.com\",\"author\":\"EricShulman\",\"text\":\"\u003C!-- don't forget to change title here to prefix with `$:/plugins/linonetwo/tw-calendar/lib/TiddlyTools/` -->\\n\\n\\\\define startup_actions()\\n\u003C$importvariables filter=\\\"$:/plugins/linonetwo/tw-calendar/lib/TiddlyTools/Time/Alarms\\\">\\n \u003C\u003Calarms_startup>>\\n\u003C/$importvariables>\\n\\\\end\\n\\n\\\\define ticker_actions()\\n\u003C$action-setfield $tiddler=\\\"$:/temp/time/ticker\\\" text=\u003C\u003Cnow [UTC]YYYY0MM0DD0hh0mm0ss0XXX>> />\\n\u003C$importvariables filter=\\\"$:/plugins/linonetwo/tw-calendar/lib/TiddlyTools/Time/Alarms\\\">\\n \u003C\u003Calarms_tick>>\\n\u003C/$importvariables>\\n\\\\end\\n\\n\u003C$action-timeout delay=\\\"1000\\\" actions=\u003C\u003Cstartup_actions>>/>\\n\u003C!-- Here is modified to fix https://github.com/tiddly-gittly/tiddlywiki-calendar/issues/39 -->\\n\u003C$action-timeout interval=\\\"900000\\\" actions=\u003C\u003Cticker_actions>> />\\n\"},\"$:/plugins/linonetwo/tw-calendar/lib/TiddlyTools/Time/action-timeout.js\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/lib/TiddlyTools/Time/action-timeout.js\",\"text\":\"!function(){\\\"use strict\\\";var t=require(\\\"$:/core/modules/widgets/widget.js\\\").widget,i=function(t,i){this.initialise(t,i)};(i.prototype=new t).render=function(t,i){this.computeAttributes(),this.execute()},i.prototype.execute=function(){this.tid=this.getAttribute(\\\"tid\\\",\\\"\\\"),this.field=this.getAttribute(\\\"field\\\",\\\"text\\\"),this.clear=this.getAttribute(\\\"clear\\\",\\\"\\\"),this.delay=this.getAttribute(\\\"delay\\\",\\\"\\\"),this.interval=this.getAttribute(\\\"interval\\\",\\\"\\\"),this.actions=this.getAttribute(\\\"actions\\\",\\\"\\\"),this.getAttribute(\\\"autostart\\\")&&this.invokeAction()},i.prototype.refresh=function(t){var i=this.computeAttributes();return 0\u003CObject.keys(i).length?(this.refreshSelf(),!0):this.refreshChildren(t)},i.prototype.allowActionPropagation=function(){return!1},i.prototype.invokeAction=function(t,i){var e,n=this;return n.clear?(n.invokeActionString(n.actions,n,i),clearTimeout(n.clear)):(n.delay&&(e=setTimeout(function(){n.invokeActionString(n.actions,n,i)},n.delay)),n.interval&&(e=setInterval(function(){n.invokeActionString(n.actions,n,i)},n.interval)),n.tid&&e&&$tw.wiki.setText(n.tid,n.field,null,e.toString()),!0)},exports[\\\"action-timeout\\\"]=i}();\",\"author\":\"EricShulman\",\"revision\":\"1.6\",\"created\":\"20150728060155235\",\"modified\":\"20220424071912984\",\"module-type\":\"widget\",\"tags\":\"\",\"type\":\"application/javascript\",\"original-source\":\"http://TiddlyTools.com\"},\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/CreateNewTiddlerPopup.css\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/CreateNewTiddlerPopup.css\",\"text\":\".tw-calendar-layout-create-new-tiddler-popup {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: flex-start;\\n width: 100%;\\n}\\n.tw-calendar-layout-create-new-tiddler-popup .tw-calendar-title-input {\\n width: 100%;\\n}\\n.tw-calendar-layout-create-new-tiddler-popup .tw-calendar-time-range-preview {\\n margin-top: 15px;\\n}\\n.tw-calendar-layout-create-new-tiddler-popup {\\n margin: 10px 0;\\n}\\n.tw-calendar-layout-create-new-tiddler-popup .tw-calendar-tags-input {\\n display: flex;\\n flex-direction: row;\\n align-items: flex-start;\\n max-width: 100%;\\n overflow-x: auto;\\n overflow-y: hidden;\\n width: 100%;\\n}\\n.tw-calendar-layout-create-new-tiddler-popup .tw-calendar-tags-input .tw-calendar-frequently-used-tags {\\n max-width: 180%;\\n}\\n.tw-calendar-layout-create-new-tiddler-popup .tw-calendar-tags-input .tc-edit-tags {\\n padding-left: 0;\\n border: unset;\\n width: 180%;\\n}\\n.tw-calendar-empty-list-help-text {\\n margin: 0;\\n}\\n.tw-calendar-layout-create-new-tiddler-popup .tc-edit-texteditor {\\n width: 100%;\\n}\\n\\n.tw-calendar-footer-buttons {\\n display: flex;\\n justify-content: space-between;\\n}\\n.tw-calendar-footer-button {\\n width: 50%;\\n height: 3em;\\n margin-top: 10px;\\n}\\n\\nspan.tc-add-tag-name input {\\n min-width: 5em;\\n}\\n.tw-calendar-alarms {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n margin-top: 2em;\\n}\\n.tw-calendar-alarms input.alarmMsg {\\n margin-top: 0.5em;\\n width: 100%;\\n}\\n.tw-calendar-alarms input.alarmEdit {\\n width: 2em;\\n}\\n.tw-calendar-alarms input.alarmEdit.alarmEditYear {\\n width: 4em;\\n}\\n.tw-calendar-alarms .alarmTable td {\\n vertical-align: middle;\\n}\",\"type\":\"text/vnd.tiddlywiki\",\"tags\":\"$:/tags/Stylesheet\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/CreateNewTiddlerPopup\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/CreateNewTiddlerPopup\",\"subtitle\":\"Create Tiddler\",\"footer\":\"{{$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/CreateNewTiddlerPopupFooter}}\",\"text\":\"\u003Cdiv class=\\\"tw-calendar-layout-create-new-tiddler-popup\\\">\\n \u003Csmall>Title:{{$:/plugins/linonetwo/tw-calendar/settings/prefix}}{{$:/state/Calendar/PageLayout/create-tiddler!!draft.title}}\u003C/small>\\n Caption:{{$:/state/Calendar/PageLayout/create-tiddler-caption||$:/core/ui/EditTemplate/title}}\\n Text:\\n \u003C$let currentTiddler=\\\"$:/state/Calendar/PageLayout/create-tiddler\\\">\\n \u003C$edit-text\\n field=\\\"text\\\"\\n class=\\\"tc-edit-texteditor tc-edit-texteditor-body\\\"\\n default=\\\"\\\"\\n placeholder={{$:/language/EditTemplate/Body/Placeholder}}\\n tabindex=-1\\n focus=false\\n cancelPopups=\\\"yes\\\"\\n fileDrop=no\\n minHeight=\\\"30px\\\"\\n />\\n \u003Cdiv class=\\\"tw-calendar-time-range-preview\\\">\\n \u003C$edit-date showTime showSeconds use24hour field=\\\"startDate\\\"/>\\n \u003C$text text=\\\" -| \\\" />\\n \u003C$macrocall $name=\\\"date-duration-macro\\\" startDate={{!!startDate}} endDate={{!!endDate}} />\\n \u003C$text text=\\\" |-> \\\" />\\n \u003C$edit-date showTime showSeconds use24hour field=\\\"endDate\\\"/>\\n \u003C/div>\\n \u003Cdiv class=\\\"tw-calendar-tags-input\\\">\\n {{||$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/FrequentlyUsedTagsList}}\\n \u003Cdiv class=\\\"tw-calendar-tags-input-new-tag\\\">\\n {{||$:/core/ui/EditTemplate/tags}}\\n \u003C/div>\\n \u003C/div>\\n \u003Cdiv class=\\\"tw-calendar-alarms\\\">\\n {{||$:/plugins/linonetwo/tw-calendar/lib/TiddlyTools/Time/Alarms}}\\n \u003C/div>\\n {{||$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview/PluginDefaultViewTemplate}}\\n \u003C/$let>\\n\u003C/div>\\n\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/CreateNewTiddlerPopupFooter\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/CreateNewTiddlerPopupFooter\",\"text\":\"\\\\define cleanUpAction()\\n\u003C$action-setfield\\n $tiddler=\\\"$:/state/Calendar/PageLayout/create-tiddler\\\"\\n text=\\\"\\\"\\n tags=\\\"\\\"\\n draft.title=\\\"\\\"\\n startDate=\\\"\\\"\\n endDate=\\\"\\\"\\n/>\\n\u003C$action-setfield\\n $tiddler=\\\"$:/state/Calendar/PageLayout/create-tiddler-caption\\\"\\n draft.title=\\\"\\\"\\n/>\\n\u003C!-- alarm -->\\n\u003C$action-setfield $tiddler=\\\"$:/state/Calendar/PageLayout/create-tiddler\\\" alarms=\\\"\\\" />\\n\u003C$action-deletetiddler $tiddler=\\\"$:/temp/time/alarms_input/$:/state/Calendar/PageLayout/create-tiddler\\\" />\\n\u003C$action-deletetiddler $tiddler=\\\"$:/temp/time/alarms_msg/$:/state/Calendar/PageLayout/create-tiddler\\\" />\\n\\\\end\\n\\n\u003C!-- learn this from twMat https://groups.google.com/g/tiddlywiki/c/XXbzgRmcXF0 -->\\n\u003C$wikify name=\\\"newtitle\\\" text=\\\"{{$:/plugins/linonetwo/tw-calendar/settings/prefix}}{{$:/state/Calendar/PageLayout/create-tiddler!!draft.title}}\\\" >\\n\\n\u003Cdiv class=\\\"tw-calendar-footer-buttons\\\">\\n \u003C$button class=\\\"tw-calendar-footer-button\\\" message=\\\"tm-close-tiddler\\\">\\n Close\\n \u003C\u003CcleanUpAction>>\\n \u003C/$button>\\n \\n\\n \u003C$button class=\\\"tw-calendar-footer-button\\\" message=\\\"tm-close-tiddler\\\">\\n Create\\n \u003C$action-createtiddler\\n $basetitle=\u003C\u003Cnewtitle>>\\n $template=\\\"$:/state/Calendar/PageLayout/create-tiddler\\\"\\n draft.title=\\\"\\\"\\n caption={{$:/state/Calendar/PageLayout/create-tiddler-caption!!draft.title}}\\n type=\\\"text/vnd.tiddlywiki\\\"\\n />\\n \u003C$let currentTiddler=\u003C\u003CcreateTiddler-title>> >\\n \u003C$action-sendmessage $message=\\\"tm-save-tiddler\\\" $param=\u003C\u003CcurrentTiddler>> />\\n \u003C$action-sendmessage $message=\\\"tm-auto-save-wiki\\\" />\\n \u003C/$let>\\n \u003C\u003CcleanUpAction>>\\n \u003C/$button>\\n\u003C/div>\\n\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/BottomButtons\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/BottomButtons\",\"tags\":\"$:/tw-calendar/EventPreviewMiniViewTemplate\",\"text\":\"\\\\import [[$:/core/ui/EditTemplate]]\\n\\n\u003Cdiv class=\\\"tw-calendar-layout-event-preview-bottom-buttons\\\">\\n \u003C$button tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=\\\"tw-calendar-layout-event-preview-close-button\\\">\\n \u003C$text text={{$:/language/Buttons/Delete/Caption}}/> {{$:/core/images/delete-button}}\\n \u003C$action-sendmessage $message=\\\"tm-delete-tiddler\\\" param=\u003C\u003CcurrentTiddler>>/>\\n \u003C/$button>\\n\u003C/div>\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EditAlarm\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EditAlarm\",\"tags\":\"$:/tw-calendar/EventPreviewMiniViewTemplate\",\"text\":\"\u003Cdiv class=\\\"tw-calendar-alarms\\\">\\n {{||$:/plugins/linonetwo/tw-calendar/lib/TiddlyTools/Time/Alarms}}\\n\u003C/div>\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview/EditTags\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview/EditTags\",\"tags\":\"$:/tw-calendar/EventPreviewMiniViewTemplate\",\"text\":\"\u003Cdiv class=\\\"tw-calendar-tags-input\\\">\\n \u003Cdiv class=\\\"tw-calendar-tags-input-new-tag\\\">\\n {{||$:/core/ui/EditTemplate/tags}}\\n \u003C/div>\\n {{||$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/FrequentlyUsedTagsList}}\\n\u003C/div>\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EditTime\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EditTime\",\"tags\":\"$:/tw-calendar/EventPreviewMiniViewTemplate\",\"text\":\"\u003Cdiv class=\\\"tw-calendar-time-range-preview\\\">\\n \u003C$edit-date showTime showSeconds use24hour field=\\\"startDate\\\"/>\\n \u003Cspan>\\n \u003C$text text=\\\" -| \\\" />\\n \u003C$macrocall $name=\\\"date-duration-macro\\\" startDate={{!!startDate}} endDate={{!!endDate}} />\\n \u003C$text text=\\\" |-> \\\" />\\n \u003C/span>\\n \u003C$edit-date showTime showSeconds use24hour field=\\\"endDate\\\"/>\\n\u003C/div>\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview/EditTitleAndText\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview/EditTitleAndText\",\"tags\":\"$:/tw-calendar/EventPreviewMiniViewTemplate\",\"text\":\"\u003C$edit-text\\n field=\\\"caption\\\"\\n class=\\\"tc-titlebar tc-edit-texteditor\\\"\\n tabindex=1\\n focus={{{ [{$:/config/AutoFocus}match[title]then[true]] ~[[false]] }}}\\n tabindex={{$:/config/EditTabIndex}}\\n cancelPopups=\\\"yes\\\"\\n fileDrop=no\\n/>\\nText:\\n\u003C$edit-text\\n field=\\\"text\\\"\\n class=\\\"tc-edit-texteditor tc-edit-texteditor-body\\\"\\n default=\\\"\\\"\\n placeholder={{$:/language/EditTemplate/Body/Placeholder}}\\n tabindex=-1\\n focus=false\\n cancelPopups=\\\"yes\\\"\\n fileDrop=no\\n minHeight=\\\"30px\\\"\\n/>\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview\",\"text\":\"\\\\whitespace trim\\n\\\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View]!is[draft]]\\n\\n\u003Cdiv class=\\\"tw-calendar-layout-event-preview-container\\\">\\n\u003C$vars storyTiddler=\u003C\u003CcurrentTiddler>> tiddlerInfoState=\u003C\u003Cqualify \\\"$:/state/popup/tiddler-info\\\">>>\\n \u003Cdiv\\n data-tiddler-title=\u003C\u003CcurrentTiddler>>\\n data-tags={{!!tags}}\\n class={{{ tc-tiddler-exists tc-tiddler-frame tc-tiddler-view-frame [{!!class}] +[join[ ]] }}}\\n role=\\\"article\\\"\\n >\\n \u003C!-- ignore system view templates (for example title and text, which already exist as input, so don't need them), only support UI added by other plugins (for example SuperTag) -->\\n \u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tw-calendar/EventPreviewMiniViewTemplate]!is[draft]]\\\" variable=\\\"listItem\\\">\\n \u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n \u003C/$list>\\n \u003C/div>\\n\u003C/$vars>\\n\\n\u003C/div>\\n\"},\"$:/tw-calendar/EventPreviewMiniViewTemplate\":{\"title\":\"$:/tw-calendar/EventPreviewMiniViewTemplate\",\"list\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview/TopButtons $:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview/EditTitleAndText $:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EditTime $:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview/EditTags $:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EditAlarm $:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview/PluginDefaultViewTemplate $:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/BottomButtons\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreviewStyle.css\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreviewStyle.css\",\"creator\":\"LinOnetwo\",\"tags\":\"$:/tags/Stylesheet\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\".tw-calendar-layout-event-preview-container {\\n display: flex;\\n flex-direction: column;\\n align-items: flex-start;\\n}\\n.tw-calendar-layout-event-preview-container .tc-tiddler-frame {\\n padding: 1em;\\n margin: 0;\\n}\\n.tw-calendar-layout-event-preview-container .tw-calendar-layout-event-preview-top-buttons {\\n width: 100%;\\n height: 40px;\\n display: flex;\\n flex-direction: row;\\n}\\n.tw-calendar-layout-event-preview-container input, .tw-calendar-layout-event-preview-container textarea {\\n width: 100%;\\n}\\n.tw-calendar-layout-event-preview-container .tc-titlebar {\\n margin-top: 5px;\\n}\\n.tw-calendar-layout-event-preview-container .tw-calendar-time-range-preview {\\n margin-top: 15px;\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n}\\n.tw-calendar-layout-event-preview-container .tw-calendar-time-range-preview input {\\n width: unset;\\n}\\n.tw-calendar-layout-event-preview-container .tw-calendar-layout-event-preview-bottom-buttons {\\n width: 100%;\\n height: 30px;\\n display: flex;\\n flex-direction: row-reverse;\\n margin-top: 2em;\\n}\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview/PluginDefaultViewTemplate\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview/PluginDefaultViewTemplate\",\"tags\":\"$:/tw-calendar/EventPreviewMiniViewTemplate\",\"text\":\"\u003C!-- ignore system view templates (for example title and text, which already exist as input, so don't need them), only support UI added by other plugins (for example SuperTag) -->\\n\u003C$list filter=\\\"[all[shadows]tag[$:/tags/ViewTemplate]prefix[$:/plugins/]] [all[tiddlers]tag[$:/tags/ViewTemplate]!is[draft]]\\\" variable=\\\"listItem\\\">\\n \u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\u003C/$list>\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview/TopButtons\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview/TopButtons\",\"tags\":\"$:/tw-calendar/EventPreviewMiniViewTemplate\",\"text\":\"\u003Cdiv class=\\\"tw-calendar-layout-event-preview-top-buttons\\\">\\n \u003C$button to=\u003C\u003CcurrentTiddler>> style=\\\"flex: 5;\\\" class=\\\"tw-calendar-layout-event-preview-close-button\\\">\\n Open\\n \u003C$action-setfield $tiddler=\\\"$:/layout\\\" text=\\\"\\\">\\n \u003C$action-navigate $to=\u003C\u003CcurrentTiddler>> />\\n \u003C/$action-setfield>\\n \u003C/$button>\\n \u003C$button style=\\\"flex: 1;\\\" class=\\\"tw-calendar-layout-event-preview-close-button\\\" >\\n X\\n \u003C/$button>\\n\u003C/div>\\n\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/FrequentlyUsedTagsList\":{\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/FrequentlyUsedTagsList\",\"text\":\"\\\\define tag-tree-button-action(tagName)\\n\u003C$action-listops $tags=\\\"[[$tagName$]]\\\" $tiddler=\\\"\\\"\\\"$(targetTiddler)$\\\"\\\"\\\" />\\n\\\\end\\n\\n\\\\define empty-list-help-text()\\n\u003Cp class=\\\"tw-calendar-empty-list-help-text\\\">\\nYou can goto \u003Ca href=\\\"/#%24%3A%2Fplugins%2Flinonetwo%2Ftw-calendar%2Ftiddlywiki-ui%2FControlPanel%2FSettings\\\">Plugin Setting\u003C/a> in control panel or plugin page, add frequently used tags here.\\n\u003C/p>\\n\\\\end\\n\\n\u003Cdiv class=\\\"tw-calendar-frequently-used-tags\\\">\\n \u003C$let targetTiddler=\u003C\u003CcurrentTiddler>> >\\n \u003C$list filter=\\\"[list[$:/plugins/linonetwo/tw-calendar/settings/frequently-used-tags!!text]first[]then[yes]]\\\" storyview=\\\"pop\\\" emptyMessage=\u003C\u003Cempty-list-help-text>>>\\n \u003Cdiv class=\\\"tc-edit-tags\\\">\\n \u003C$transclude\\n $variable=\\\"tag-tree-picker\\\"\\n tags={{$:/plugins/linonetwo/tw-calendar/settings/frequently-used-tags}}\\n />\\n \u003C/div>\\n \u003C/$list>\\n \u003C/$let>\\n\u003C/div>\"},\"$:/plugins/linonetwo/health-buff-debuff-tracker/tree\":{\"title\":\"$:/plugins/linonetwo/health-buff-debuff-tracker/tree\",\"creator\":\"LinOnetwo\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C\u003Ctree prefix:\\\"$:/plugins/linonetwo/health-buff-debuff-tracker/\\\">>\"},\"$:/plugins/linonetwo/tw-calendar/calendar-widget/widget.js\":{\"creator\":\"LinOnetwo\",\"title\":\"$:/plugins/linonetwo/tw-calendar/calendar-widget/widget.js\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"hide-body\":\"yes\",\"Modern.TiddlyDev#Origin\":\"calendar-widget/widget.ts\",\"text\":\"\\\"use strict\\\";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__esm=(M,e)=>function(){return e=M?(0,M[__getOwnPropNames(M)[0]])(M=0):e},__commonJS=(M,e)=>function(){return e||(0,M[__getOwnPropNames(M)[0]])((e={exports:{}}).exports,e),e.exports},__copyProps=(e,b,z,p)=>{if(b&&\\\"object\\\"==typeof b||\\\"function\\\"==typeof b)for(let M of __getOwnPropNames(b))__hasOwnProp.call(e,M)||M===z||__defProp(e,M,{get:()=>b[M],enumerable:!(p=__getOwnPropDesc(b,M))||p.enumerable});return e},__toESM=(M,e,b)=>(b=null!=M?__create(__getProtoOf(M)):{},__copyProps(!e&&M&&M.__esModule?b:__defProp(b,\\\"default\\\",{value:M,enumerable:!0}),M)),__accessCheck=(M,e,b)=>{if(!e.has(M))throw TypeError(\\\"Cannot \\\"+b)},__privateGet=(M,e,b)=>(__accessCheck(M,e,\\\"read from private field\\\"),b?b.call(M):e.get(M)),__privateAdd=(M,e,b)=>{if(e.has(M))throw TypeError(\\\"Cannot add the same private member more than once\\\");e instanceof WeakSet?e.add(M):e.set(M,b)},__privateSet=(M,e,b,z)=>(__accessCheck(M,e,\\\"write to private field\\\"),z?z.call(M,b):e.set(M,b),b),init_esbuild_inject=__esm({\\\"node_modules/.pnpm/tiddlywiki-plugin-dev@0.0.39_postcss@8.4.28_ts-node@10.9.1/node_modules/tiddlywiki-plugin-dev/dist/js/esbuild-inject.js\\\"(){}}),require_moment=__commonJS({\\\"node_modules/.pnpm/moment@2.29.4/node_modules/moment/moment.js\\\"(M,E2){var e;init_esbuild_inject(),e=function(){var _;function d(){return _.apply(null,arguments)}function q(M){return M instanceof Array||\\\"[object Array]\\\"===Object.prototype.toString.call(M)}function w(M){return null!=M&&\\\"[object Object]\\\"===Object.prototype.toString.call(M)}function A(M,e){return Object.prototype.hasOwnProperty.call(M,e)}function k(M){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(M).length;for(var e in M)if(A(M,e))return;return 1}function l(M){return void 0===M}function u(M){return\\\"number\\\"==typeof M||\\\"[object Number]\\\"===Object.prototype.toString.call(M)}function x(M){return M instanceof Date||\\\"[object Date]\\\"===Object.prototype.toString.call(M)}function P(M,e){for(var b=[],z=M.length,p=0;p\u003Cz;++p)b.push(e(M[p],p));return b}function I(M,e){for(var b in e)A(e,b)&&(M[b]=e[b]);return A(e,\\\"toString\\\")&&(M.toString=e.toString),A(e,\\\"valueOf\\\")&&(M.valueOf=e.valueOf),M}function n(M,e,b,z){return T1(M,e,b,z,!0).utc()}function W(M){return null==M._pf&&(M._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),M._pf}function H(M){if(null==M._isValid){var e=W(M),b=F.call(e.parsedDateParts,function(M){return null!=M}),b=!isNaN(M._d.getTime())&&e.overflow\u003C0&&!e.empty&&!e.invalidEra&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&b);if(M._strict&&(b=b&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(M))return b;M._isValid=b}return M._isValid}function U(M){var e=n(NaN);return null!=M?I(W(e),M):W(e).userInvalidated=!0,e}var F=Array.prototype.some||function(M){for(var e=Object(this),b=e.length>>>0,z=0;z\u003Cb;z++)if(z in e&&M.call(this,e[z],z,e))return!0;return!1},j=d.momentProperties=[],V=!1;function G(M,e){var b,z,p,t=j.length;if(l(e._isAMomentObject)||(M._isAMomentObject=e._isAMomentObject),l(e._i)||(M._i=e._i),l(e._f)||(M._f=e._f),l(e._l)||(M._l=e._l),l(e._strict)||(M._strict=e._strict),l(e._tzm)||(M._tzm=e._tzm),l(e._isUTC)||(M._isUTC=e._isUTC),l(e._offset)||(M._offset=e._offset),l(e._pf)||(M._pf=W(e)),l(e._locale)||(M._locale=e._locale),0\u003Ct)for(b=0;b\u003Ct;b++)l(p=e[z=j[b]])||(M[z]=p);return M}function Y(M){G(this,M),this._d=new Date(null!=M._d?M._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===V&&(V=!0,d.updateOffset(this),V=!1)}function f(M){return M instanceof Y||null!=M&&null!=M._isAMomentObject}function Q(M){!1===d.suppressDeprecationWarnings&&\\\"undefined\\\"!=typeof console&&console.warn&&console.warn(\\\"Deprecation warning: \\\"+M)}function M(t,o){var O=!0;return I(function(){if(null!=d.deprecationHandler&&d.deprecationHandler(null,t),O){for(var M,e,b=[],z=arguments.length,p=0;p\u003Cz;p++){if(M=\\\"\\\",\\\"object\\\"==typeof arguments[p]){for(e in M+=\\\"\\\\n[\\\"+p+\\\"] \\\",arguments[0])A(arguments[0],e)&&(M+=e+\\\": \\\"+arguments[0][e]+\\\", \\\");M=M.slice(0,-2)}else M=arguments[p];b.push(M)}Q(t+\\\"\\\\nArguments: \\\"+Array.prototype.slice.call(b).join(\\\"\\\")+\\\"\\\\n\\\"+(new Error).stack),O=!1}return o.apply(this,arguments)},o)}var K={};function Z(M,e){null!=d.deprecationHandler&&d.deprecationHandler(M,e),K[M]||(Q(e),K[M]=!0)}function o(M){return\\\"undefined\\\"!=typeof Function&&M instanceof Function||\\\"[object Function]\\\"===Object.prototype.toString.call(M)}function J(M,e){var b,z=I({},M);for(b in e)A(e,b)&&(w(M[b])&&w(e[b])?(z[b]={},I(z[b],M[b]),I(z[b],e[b])):null!=e[b]?z[b]=e[b]:delete z[b]);for(b in M)A(M,b)&&!A(e,b)&&w(M[b])&&(z[b]=I({},z[b]));return z}function $(M){null!=M&&this.set(M)}d.suppressDeprecationWarnings=!1,d.deprecationHandler=null;var M0=Object.keys||function(M){var e,b=[];for(e in M)A(M,e)&&b.push(e);return b};function t(M,e,b){var z=\\\"\\\"+Math.abs(M);return(0\u003C=M?b?\\\"+\\\":\\\"\\\":\\\"-\\\")+Math.pow(10,Math.max(0,e-z.length)).toString().substr(1)+z}var e0=/(\\\\[[^\\\\[]*\\\\])|(\\\\\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,b0=/(\\\\[[^\\\\[]*\\\\])|(\\\\\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,z0={},p0={};function z(M,e,b,z){var p=\\\"string\\\"==typeof z?function(){return this[z]()}:z;M&&(p0[M]=p),e&&(p0[e[0]]=function(){return t(p.apply(this,arguments),e[1],e[2])}),b&&(p0[b]=function(){return this.localeData().ordinal(p.apply(this,arguments),M)})}function t0(M,e){return M.isValid()?(e=o0(e,M.localeData()),z0[e]=z0[e]||function(z){for(var M,p=z.match(e0),e=0,t=p.length;e\u003Ct;e++)p0[p[e]]?p[e]=p0[p[e]]:p[e]=(M=p[e]).match(/\\\\[[\\\\s\\\\S]/)?M.replace(/^\\\\[|\\\\]$/g,\\\"\\\"):M.replace(/\\\\\\\\/g,\\\"\\\");return function(M){for(var e=\\\"\\\",b=0;b\u003Ct;b++)e+=o(p[b])?p[b].call(M,z):p[b];return e}}(e),z0[e](M)):M.localeData().invalidDate()}function o0(M,e){var b=5;function z(M){return e.longDateFormat(M)||M}for(b0.lastIndex=0;0\u003C=b&&b0.test(M);)M=M.replace(b0,z),b0.lastIndex=0,--b;return M}var O0={};function e(M,e){var b=M.toLowerCase();O0[b]=O0[b+\\\"s\\\"]=O0[e]=M}function O(M){return\\\"string\\\"==typeof M?O0[M]||O0[M.toLowerCase()]:void 0}function c0(M){var e,b,z={};for(b in M)A(M,b)&&(e=O(b))&&(z[e]=M[b]);return z}var n0={};function b(M,e){n0[M]=e}function i0(M){return M%4==0&&M%100!=0||M%400==0}function r(M){return M\u003C0?Math.ceil(M)||0:Math.floor(M)}function a(M){var e=+M,b=0;return b=0!=e&&isFinite(e)?r(e):b}function r0(e,b){return function(M){return null!=M?(A0(this,e,M),d.updateOffset(this,b),this):a0(this,e)}}function a0(M,e){return M.isValid()?M._d[\\\"get\\\"+(M._isUTC?\\\"UTC\\\":\\\"\\\")+e]():NaN}function A0(M,e,b){M.isValid()&&!isNaN(b)&&(\\\"FullYear\\\"===e&&i0(M.year())&&1===M.month()&&29===M.date()?(b=a(b),M._d[\\\"set\\\"+(M._isUTC?\\\"UTC\\\":\\\"\\\")+e](b,M.month(),X0(b,M.month()))):M._d[\\\"set\\\"+(M._isUTC?\\\"UTC\\\":\\\"\\\")+e](b))}var p=/\\\\d/,c=/\\\\d\\\\d/,s0=/\\\\d{3}/,d0=/\\\\d{4}/,q0=/[+-]?\\\\d{6}/,i=/\\\\d\\\\d?/,l0=/\\\\d\\\\d\\\\d\\\\d?/,u0=/\\\\d\\\\d\\\\d\\\\d\\\\d\\\\d?/,W0=/\\\\d{1,3}/,f0=/\\\\d{1,4}/,R0=/[+-]?\\\\d{1,6}/,h0=/\\\\d+/,g0=/[+-]?\\\\d+/,m0=/Z|[+-]\\\\d\\\\d:?\\\\d\\\\d/gi,L0=/Z|[+-]\\\\d\\\\d(?::?\\\\d\\\\d)?/gi,s=/[0-9]{0,256}['a-z\\\\u00A0-\\\\u05FF\\\\u0700-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFF07\\\\uFF10-\\\\uFFEF]{1,256}|[\\\\u0600-\\\\u06FF\\\\/]{1,256}(\\\\s*?[\\\\u0600-\\\\u06FF]{1,256}){1,2}/i;function R(M,b,z){N0[M]=o(b)?b:function(M,e){return M&&z?z:b}}function v0(M,e){return A(N0,M)?N0[M](e._strict,e._locale):new RegExp(h(M.replace(\\\"\\\\\\\\\\\",\\\"\\\").replace(/\\\\\\\\(\\\\[)|\\\\\\\\(\\\\])|\\\\[([^\\\\]\\\\[]*)\\\\]|\\\\\\\\(.)/g,function(M,e,b,z,p){return e||b||z||p})))}function h(M){return M.replace(/[-\\\\/\\\\\\\\^$*+?.()|[\\\\]{}]/g,\\\"\\\\\\\\$&\\\")}var N0={},y0={};function g(M,b){var e,z,p=b;for(\\\"string\\\"==typeof M&&(M=[M]),u(b)&&(p=function(M,e){e[b]=a(M)}),z=M.length,e=0;e\u003Cz;e++)y0[M[e]]=p}function B0(M,p){g(M,function(M,e,b,z){b._w=b._w||{},p(M,b._w,b,z)})}var m,L=0,v=1,N=2,y=3,B=4,E=5,E0=6,T0=7,S0=8;function X0(M,e){var b,z;return isNaN(M)||isNaN(e)?NaN:(b=(e%(z=12)+z)%z,M+=(e-b)/12,1==b?i0(M)?29:28:31-b%7%2)}m=Array.prototype.indexOf||function(M){for(var e=0;e\u003Cthis.length;++e)if(this[e]===M)return e;return-1},z(\\\"M\\\",[\\\"MM\\\",2],\\\"Mo\\\",function(){return this.month()+1}),z(\\\"MMM\\\",0,0,function(M){return this.localeData().monthsShort(this,M)}),z(\\\"MMMM\\\",0,0,function(M){return this.localeData().months(this,M)}),e(\\\"month\\\",\\\"M\\\"),b(\\\"month\\\",8),R(\\\"M\\\",i),R(\\\"MM\\\",i,c),R(\\\"MMM\\\",function(M,e){return e.monthsShortRegex(M)}),R(\\\"MMMM\\\",function(M,e){return e.monthsRegex(M)}),g([\\\"M\\\",\\\"MM\\\"],function(M,e){e[v]=a(M)-1}),g([\\\"MMM\\\",\\\"MMMM\\\"],function(M,e,b,z){var p=b._locale.monthsParse(M,z,b._strict);null!=p?e[v]=p:W(b).invalidMonth=M});var D0=\\\"January_February_March_April_May_June_July_August_September_October_November_December\\\".split(\\\"_\\\"),C0=\\\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\\\".split(\\\"_\\\"),_0=/D[oD]?(\\\\[[^\\\\[\\\\]]*\\\\]|\\\\s)+MMMM?/,w0=s,k0=s;function x0(M,e){var b;if(M.isValid()){if(\\\"string\\\"==typeof e)if(/^\\\\d+$/.test(e))e=a(e);else if(!u(e=M.localeData().monthsParse(e)))return;b=Math.min(M.date(),X0(M.year(),e)),M._d[\\\"set\\\"+(M._isUTC?\\\"UTC\\\":\\\"\\\")+\\\"Month\\\"](e,b)}}function P0(M){return null!=M?(x0(this,M),d.updateOffset(this,!0),this):a0(this,\\\"Month\\\")}function I0(){function M(M,e){return e.length-M.length}for(var e,b=[],z=[],p=[],t=0;t\u003C12;t++)e=n([2e3,t]),b.push(this.monthsShort(e,\\\"\\\")),z.push(this.months(e,\\\"\\\")),p.push(this.months(e,\\\"\\\")),p.push(this.monthsShort(e,\\\"\\\"));for(b.sort(M),z.sort(M),p.sort(M),t=0;t\u003C12;t++)b[t]=h(b[t]),z[t]=h(z[t]);for(t=0;t\u003C24;t++)p[t]=h(p[t]);this._monthsRegex=new RegExp(\\\"^(\\\"+p.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(\\\"^(\\\"+z.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._monthsShortStrictRegex=new RegExp(\\\"^(\\\"+b.join(\\\"|\\\")+\\\")\\\",\\\"i\\\")}function H0(M){return i0(M)?366:365}z(\\\"Y\\\",0,0,function(){var M=this.year();return M\u003C=9999?t(M,4):\\\"+\\\"+M}),z(0,[\\\"YY\\\",2],0,function(){return this.year()%100}),z(0,[\\\"YYYY\\\",4],0,\\\"year\\\"),z(0,[\\\"YYYYY\\\",5],0,\\\"year\\\"),z(0,[\\\"YYYYYY\\\",6,!0],0,\\\"year\\\"),e(\\\"year\\\",\\\"y\\\"),b(\\\"year\\\",1),R(\\\"Y\\\",g0),R(\\\"YY\\\",i,c),R(\\\"YYYY\\\",f0,d0),R(\\\"YYYYY\\\",R0,q0),R(\\\"YYYYYY\\\",R0,q0),g([\\\"YYYYY\\\",\\\"YYYYYY\\\"],L),g(\\\"YYYY\\\",function(M,e){e[L]=2===M.length?d.parseTwoDigitYear(M):a(M)}),g(\\\"YY\\\",function(M,e){e[L]=d.parseTwoDigitYear(M)}),g(\\\"Y\\\",function(M,e){e[L]=parseInt(M,10)}),d.parseTwoDigitYear=function(M){return a(M)+(68\u003Ca(M)?1900:2e3)};var U0=r0(\\\"FullYear\\\",!0);function F0(M,e,b,z,p,t,o){var O;return M\u003C100&&0\u003C=M?(O=new Date(M+400,e,b,z,p,t,o),isFinite(O.getFullYear())&&O.setFullYear(M)):O=new Date(M,e,b,z,p,t,o),O}function j0(M){var e;return M\u003C100&&0\u003C=M?((e=Array.prototype.slice.call(arguments))[0]=M+400,e=new Date(Date.UTC.apply(null,e)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(M)):e=new Date(Date.UTC.apply(null,arguments)),e}function V0(M,e,b){var z=7+e-b;return z-(7+j0(M,0,z).getUTCDay()-e)%7-1}function G0(M,e,b,z,p){var t,o=1+7*(e-1)+(7+b-z)%7+V0(M,z,p),o=o\u003C=0?H0(t=M-1)+o:o>H0(M)?(t=M+1,o-H0(M)):(t=M,o);return{year:t,dayOfYear:o}}function Y0(M,e,b){var z,p,t=V0(M.year(),e,b),t=Math.floor((M.dayOfYear()-t-1)/7)+1;return t\u003C1?z=t+T(p=M.year()-1,e,b):t>T(M.year(),e,b)?(z=t-T(M.year(),e,b),p=M.year()+1):(p=M.year(),z=t),{week:z,year:p}}function T(M,e,b){var z=V0(M,e,b),p=V0(M+1,e,b);return(H0(M)-z+p)/7}z(\\\"w\\\",[\\\"ww\\\",2],\\\"wo\\\",\\\"week\\\"),z(\\\"W\\\",[\\\"WW\\\",2],\\\"Wo\\\",\\\"isoWeek\\\"),e(\\\"week\\\",\\\"w\\\"),e(\\\"isoWeek\\\",\\\"W\\\"),b(\\\"week\\\",5),b(\\\"isoWeek\\\",5),R(\\\"w\\\",i),R(\\\"ww\\\",i,c),R(\\\"W\\\",i),R(\\\"WW\\\",i,c),B0([\\\"w\\\",\\\"ww\\\",\\\"W\\\",\\\"WW\\\"],function(M,e,b,z){e[z.substr(0,1)]=a(M)});function Q0(M,e){return M.slice(e,7).concat(M.slice(0,e))}z(\\\"d\\\",0,\\\"do\\\",\\\"day\\\"),z(\\\"dd\\\",0,0,function(M){return this.localeData().weekdaysMin(this,M)}),z(\\\"ddd\\\",0,0,function(M){return this.localeData().weekdaysShort(this,M)}),z(\\\"dddd\\\",0,0,function(M){return this.localeData().weekdays(this,M)}),z(\\\"e\\\",0,0,\\\"weekday\\\"),z(\\\"E\\\",0,0,\\\"isoWeekday\\\"),e(\\\"day\\\",\\\"d\\\"),e(\\\"weekday\\\",\\\"e\\\"),e(\\\"isoWeekday\\\",\\\"E\\\"),b(\\\"day\\\",11),b(\\\"weekday\\\",11),b(\\\"isoWeekday\\\",11),R(\\\"d\\\",i),R(\\\"e\\\",i),R(\\\"E\\\",i),R(\\\"dd\\\",function(M,e){return e.weekdaysMinRegex(M)}),R(\\\"ddd\\\",function(M,e){return e.weekdaysShortRegex(M)}),R(\\\"dddd\\\",function(M,e){return e.weekdaysRegex(M)}),B0([\\\"dd\\\",\\\"ddd\\\",\\\"dddd\\\"],function(M,e,b,z){var p=b._locale.weekdaysParse(M,z,b._strict);null!=p?e.d=p:W(b).invalidWeekday=M}),B0([\\\"d\\\",\\\"e\\\",\\\"E\\\"],function(M,e,b,z){e[z]=a(M)});var K0=\\\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\\\".split(\\\"_\\\"),Z0=\\\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\\\".split(\\\"_\\\"),J0=\\\"Su_Mo_Tu_We_Th_Fr_Sa\\\".split(\\\"_\\\"),$0=s,M1=s,e1=s;function b1(){function M(M,e){return e.length-M.length}for(var e,b,z,p=[],t=[],o=[],O=[],c=0;c\u003C7;c++)z=n([2e3,1]).day(c),e=h(this.weekdaysMin(z,\\\"\\\")),b=h(this.weekdaysShort(z,\\\"\\\")),z=h(this.weekdays(z,\\\"\\\")),p.push(e),t.push(b),o.push(z),O.push(e),O.push(b),O.push(z);p.sort(M),t.sort(M),o.sort(M),O.sort(M),this._weekdaysRegex=new RegExp(\\\"^(\\\"+O.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\\\"^(\\\"+o.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._weekdaysShortStrictRegex=new RegExp(\\\"^(\\\"+t.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._weekdaysMinStrictRegex=new RegExp(\\\"^(\\\"+p.join(\\\"|\\\")+\\\")\\\",\\\"i\\\")}function z1(){return this.hours()%12||12}function p1(M,e){z(M,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function t1(M,e){return e._meridiemParse}z(\\\"H\\\",[\\\"HH\\\",2],0,\\\"hour\\\"),z(\\\"h\\\",[\\\"hh\\\",2],0,z1),z(\\\"k\\\",[\\\"kk\\\",2],0,function(){return this.hours()||24}),z(\\\"hmm\\\",0,0,function(){return\\\"\\\"+z1.apply(this)+t(this.minutes(),2)}),z(\\\"hmmss\\\",0,0,function(){return\\\"\\\"+z1.apply(this)+t(this.minutes(),2)+t(this.seconds(),2)}),z(\\\"Hmm\\\",0,0,function(){return\\\"\\\"+this.hours()+t(this.minutes(),2)}),z(\\\"Hmmss\\\",0,0,function(){return\\\"\\\"+this.hours()+t(this.minutes(),2)+t(this.seconds(),2)}),p1(\\\"a\\\",!0),p1(\\\"A\\\",!1),e(\\\"hour\\\",\\\"h\\\"),b(\\\"hour\\\",13),R(\\\"a\\\",t1),R(\\\"A\\\",t1),R(\\\"H\\\",i),R(\\\"h\\\",i),R(\\\"k\\\",i),R(\\\"HH\\\",i,c),R(\\\"hh\\\",i,c),R(\\\"kk\\\",i,c),R(\\\"hmm\\\",l0),R(\\\"hmmss\\\",u0),R(\\\"Hmm\\\",l0),R(\\\"Hmmss\\\",u0),g([\\\"H\\\",\\\"HH\\\"],y),g([\\\"k\\\",\\\"kk\\\"],function(M,e,b){var z=a(M);e[y]=24===z?0:z}),g([\\\"a\\\",\\\"A\\\"],function(M,e,b){b._isPm=b._locale.isPM(M),b._meridiem=M}),g([\\\"h\\\",\\\"hh\\\"],function(M,e,b){e[y]=a(M),W(b).bigHour=!0}),g(\\\"hmm\\\",function(M,e,b){var z=M.length-2;e[y]=a(M.substr(0,z)),e[B]=a(M.substr(z)),W(b).bigHour=!0}),g(\\\"hmmss\\\",function(M,e,b){var z=M.length-4,p=M.length-2;e[y]=a(M.substr(0,z)),e[B]=a(M.substr(z,2)),e[E]=a(M.substr(p)),W(b).bigHour=!0}),g(\\\"Hmm\\\",function(M,e,b){var z=M.length-2;e[y]=a(M.substr(0,z)),e[B]=a(M.substr(z))}),g(\\\"Hmmss\\\",function(M,e,b){var z=M.length-4,p=M.length-2;e[y]=a(M.substr(0,z)),e[B]=a(M.substr(z,2)),e[E]=a(M.substr(p))});s=r0(\\\"Hours\\\",!0);var o1,O1={calendar:{sameDay:\\\"[Today at] LT\\\",nextDay:\\\"[Tomorrow at] LT\\\",nextWeek:\\\"dddd [at] LT\\\",lastDay:\\\"[Yesterday at] LT\\\",lastWeek:\\\"[Last] dddd [at] LT\\\",sameElse:\\\"L\\\"},longDateFormat:{LTS:\\\"h:mm:ss A\\\",LT:\\\"h:mm A\\\",L:\\\"MM/DD/YYYY\\\",LL:\\\"MMMM D, YYYY\\\",LLL:\\\"MMMM D, YYYY h:mm A\\\",LLLL:\\\"dddd, MMMM D, YYYY h:mm A\\\"},invalidDate:\\\"Invalid date\\\",ordinal:\\\"%d\\\",dayOfMonthOrdinalParse:/\\\\d{1,2}/,relativeTime:{future:\\\"in %s\\\",past:\\\"%s ago\\\",s:\\\"a few seconds\\\",ss:\\\"%d seconds\\\",m:\\\"a minute\\\",mm:\\\"%d minutes\\\",h:\\\"an hour\\\",hh:\\\"%d hours\\\",d:\\\"a day\\\",dd:\\\"%d days\\\",w:\\\"a week\\\",ww:\\\"%d weeks\\\",M:\\\"a month\\\",MM:\\\"%d months\\\",y:\\\"a year\\\",yy:\\\"%d years\\\"},months:D0,monthsShort:C0,week:{dow:0,doy:6},weekdays:K0,weekdaysMin:J0,weekdaysShort:Z0,meridiemParse:/[ap]\\\\.?m?\\\\.?/i},S={},c1={};function n1(M){return M&&M.toLowerCase().replace(\\\"_\\\",\\\"-\\\")}function i1(M){for(var e,b,z,p,t=0;t\u003CM.length;){for(e=(p=n1(M[t]).split(\\\"-\\\")).length,b=(b=n1(M[t+1]))?b.split(\\\"-\\\"):null;0\u003Ce;){if(z=r1(p.slice(0,e).join(\\\"-\\\")))return z;if(b&&b.length>=e&&function(M,e){for(var b=Math.min(M.length,e.length),z=0;z\u003Cb;z+=1)if(M[z]!==e[z])return z;return b}(p,b)>=e-1)break;e--}t++}return o1}function r1(M){var e;if(void 0===S[M]&&void 0!==E2&&E2&&E2.exports&&null!=M.match(\\\"^[^/\\\\\\\\\\\\\\\\]*$\\\"))try{e=o1._abbr,require(\\\"./locale/\\\"+M),a1(e)}catch(b){S[M]=null}return S[M]}function a1(M,e){var b;return M&&((b=l(e)?s1(M):A1(M,e))?o1=b:\\\"undefined\\\"!=typeof console&&console.warn&&console.warn(\\\"Locale \\\"+M+\\\" not found. Did you forget to load it?\\\")),o1._abbr}function A1(M,e){if(null===e)return delete S[M],null;var b,z=O1;if(e.abbr=M,null!=S[M])Z(\\\"defineLocaleOverride\\\",\\\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\\\"),z=S[M]._config;else if(null!=e.parentLocale)if(null!=S[e.parentLocale])z=S[e.parentLocale]._config;else{if(null==(b=r1(e.parentLocale)))return c1[e.parentLocale]||(c1[e.parentLocale]=[]),c1[e.parentLocale].push({name:M,config:e}),null;z=b._config}return S[M]=new $(J(z,e)),c1[M]&&c1[M].forEach(function(M){A1(M.name,M.config)}),a1(M),S[M]}function s1(M){var e;if(!(M=M&&M._locale&&M._locale._abbr?M._locale._abbr:M))return o1;if(!q(M)){if(e=r1(M))return e;M=[M]}return i1(M)}function d1(M){var e=M._a;return e&&-2===W(M).overflow&&(e=e[v]\u003C0||11\u003Ce[v]?v:e[N]\u003C1||e[N]>X0(e[L],e[v])?N:e[y]\u003C0||24\u003Ce[y]||24===e[y]&&(0!==e[B]||0!==e[E]||0!==e[E0])?y:e[B]\u003C0||59\u003Ce[B]?B:e[E]\u003C0||59\u003Ce[E]?E:e[E0]\u003C0||999\u003Ce[E0]?E0:-1,W(M)._overflowDayOfYear&&(e\u003CL||N\u003Ce)&&(e=N),W(M)._overflowWeeks&&-1===e&&(e=T0),W(M)._overflowWeekday&&-1===e&&(e=S0),W(M).overflow=e),M}var q1=/^\\\\s*((?:[+-]\\\\d{6}|\\\\d{4})-(?:\\\\d\\\\d-\\\\d\\\\d|W\\\\d\\\\d-\\\\d|W\\\\d\\\\d|\\\\d\\\\d\\\\d|\\\\d\\\\d))(?:(T| )(\\\\d\\\\d(?::\\\\d\\\\d(?::\\\\d\\\\d(?:[.,]\\\\d+)?)?)?)([+-]\\\\d\\\\d(?::?\\\\d\\\\d)?|\\\\s*Z)?)?$/,l1=/^\\\\s*((?:[+-]\\\\d{6}|\\\\d{4})(?:\\\\d\\\\d\\\\d\\\\d|W\\\\d\\\\d\\\\d|W\\\\d\\\\d|\\\\d\\\\d\\\\d|\\\\d\\\\d|))(?:(T| )(\\\\d\\\\d(?:\\\\d\\\\d(?:\\\\d\\\\d(?:[.,]\\\\d+)?)?)?)([+-]\\\\d\\\\d(?::?\\\\d\\\\d)?|\\\\s*Z)?)?$/,u1=/Z|[+-]\\\\d\\\\d(?::?\\\\d\\\\d)?/,W1=[[\\\"YYYYYY-MM-DD\\\",/[+-]\\\\d{6}-\\\\d\\\\d-\\\\d\\\\d/],[\\\"YYYY-MM-DD\\\",/\\\\d{4}-\\\\d\\\\d-\\\\d\\\\d/],[\\\"GGGG-[W]WW-E\\\",/\\\\d{4}-W\\\\d\\\\d-\\\\d/],[\\\"GGGG-[W]WW\\\",/\\\\d{4}-W\\\\d\\\\d/,!1],[\\\"YYYY-DDD\\\",/\\\\d{4}-\\\\d{3}/],[\\\"YYYY-MM\\\",/\\\\d{4}-\\\\d\\\\d/,!1],[\\\"YYYYYYMMDD\\\",/[+-]\\\\d{10}/],[\\\"YYYYMMDD\\\",/\\\\d{8}/],[\\\"GGGG[W]WWE\\\",/\\\\d{4}W\\\\d{3}/],[\\\"GGGG[W]WW\\\",/\\\\d{4}W\\\\d{2}/,!1],[\\\"YYYYDDD\\\",/\\\\d{7}/],[\\\"YYYYMM\\\",/\\\\d{6}/,!1],[\\\"YYYY\\\",/\\\\d{4}/,!1]],f1=[[\\\"HH:mm:ss.SSSS\\\",/\\\\d\\\\d:\\\\d\\\\d:\\\\d\\\\d\\\\.\\\\d+/],[\\\"HH:mm:ss,SSSS\\\",/\\\\d\\\\d:\\\\d\\\\d:\\\\d\\\\d,\\\\d+/],[\\\"HH:mm:ss\\\",/\\\\d\\\\d:\\\\d\\\\d:\\\\d\\\\d/],[\\\"HH:mm\\\",/\\\\d\\\\d:\\\\d\\\\d/],[\\\"HHmmss.SSSS\\\",/\\\\d\\\\d\\\\d\\\\d\\\\d\\\\d\\\\.\\\\d+/],[\\\"HHmmss,SSSS\\\",/\\\\d\\\\d\\\\d\\\\d\\\\d\\\\d,\\\\d+/],[\\\"HHmmss\\\",/\\\\d\\\\d\\\\d\\\\d\\\\d\\\\d/],[\\\"HHmm\\\",/\\\\d\\\\d\\\\d\\\\d/],[\\\"HH\\\",/\\\\d\\\\d/]],R1=/^\\\\/?Date\\\\((-?\\\\d+)/i,h1=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\\\s)?(\\\\d{1,2})\\\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\\\s(\\\\d{2,4})\\\\s(\\\\d\\\\d):(\\\\d\\\\d)(?::(\\\\d\\\\d))?\\\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\\\d{4}))$/,g1={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function m1(M){var e,b,z,p,t,o,O=M._i,c=q1.exec(O)||l1.exec(O),O=W1.length,n=f1.length;if(c){for(W(M).iso=!0,e=0,b=O;e\u003Cb;e++)if(W1[e][1].exec(c[1])){p=W1[e][0],z=!1!==W1[e][2];break}if(null==p)M._isValid=!1;else{if(c[3]){for(e=0,b=n;e\u003Cb;e++)if(f1[e][1].exec(c[3])){t=(c[2]||\\\" \\\")+f1[e][0];break}if(null==t)return void(M._isValid=!1)}if(z||null==t){if(c[4]){if(!u1.exec(c[4]))return void(M._isValid=!1);o=\\\"Z\\\"}M._f=p+(t||\\\"\\\")+(o||\\\"\\\"),B1(M)}else M._isValid=!1}}else M._isValid=!1}function L1(M,e,b,z,p,t){var o=[function(M){var e=parseInt(M,10);{if(e\u003C=49)return 2e3+e;if(e\u003C=999)return 1900+e}return e}(M),C0.indexOf(e),parseInt(b,10),parseInt(z,10),parseInt(p,10)];return t&&o.push(parseInt(t,10)),o}function v1(M){var e,b,z,p,t=h1.exec(M._i.replace(/\\\\([^()]*\\\\)|[\\\\n\\\\t]/g,\\\" \\\").replace(/(\\\\s\\\\s+)/g,\\\" \\\").replace(/^\\\\s\\\\s*/,\\\"\\\").replace(/\\\\s\\\\s*$/,\\\"\\\"));t?(p=L1(t[4],t[3],t[2],t[5],t[6],t[7]),function(M,e,b){if(!M||Z0.indexOf(M)===new Date(e[0],e[1],e[2]).getDay())return 1;W(b).weekdayMismatch=!0,b._isValid=!1}(t[1],p,M)&&(M._a=p,M._tzm=(e=t[8],b=t[9],z=t[10],e?g1[e]:b?0:60*(((p=parseInt(z,10))-(p=p%100))/100)+p),M._d=j0.apply(null,M._a),M._d.setUTCMinutes(M._d.getUTCMinutes()-M._tzm),W(M).rfc2822=!0)):M._isValid=!1}function N1(M,e,b){return null!=M?M:null!=e?e:b}function y1(M){var e,b,z,p,t,o,O,c,n,i,r,a=[];if(!M._d){for(z=M,p=new Date(d.now()),b=z._useUTC?[p.getUTCFullYear(),p.getUTCMonth(),p.getUTCDate()]:[p.getFullYear(),p.getMonth(),p.getDate()],M._w&&null==M._a[N]&&null==M._a[v]&&(null!=(p=(z=M)._w).GG||null!=p.W||null!=p.E?(c=1,n=4,t=N1(p.GG,z._a[L],Y0(X(),1,4).year),o=N1(p.W,1),((O=N1(p.E,1))\u003C1||7\u003CO)&&(i=!0)):(c=z._locale._week.dow,n=z._locale._week.doy,r=Y0(X(),c,n),t=N1(p.gg,z._a[L],r.year),o=N1(p.w,r.week),null!=p.d?((O=p.d)\u003C0||6\u003CO)&&(i=!0):null!=p.e?(O=p.e+c,(p.e\u003C0||6\u003Cp.e)&&(i=!0)):O=c),o\u003C1||o>T(t,c,n)?W(z)._overflowWeeks=!0:null!=i?W(z)._overflowWeekday=!0:(r=G0(t,o,O,c,n),z._a[L]=r.year,z._dayOfYear=r.dayOfYear)),null!=M._dayOfYear&&(p=N1(M._a[L],b[L]),(M._dayOfYear>H0(p)||0===M._dayOfYear)&&(W(M)._overflowDayOfYear=!0),i=j0(p,0,M._dayOfYear),M._a[v]=i.getUTCMonth(),M._a[N]=i.getUTCDate()),e=0;e\u003C3&&null==M._a[e];++e)M._a[e]=a[e]=b[e];for(;e\u003C7;e++)M._a[e]=a[e]=null==M._a[e]?2===e?1:0:M._a[e];24===M._a[y]&&0===M._a[B]&&0===M._a[E]&&0===M._a[E0]&&(M._nextDay=!0,M._a[y]=0),M._d=(M._useUTC?j0:F0).apply(null,a),t=M._useUTC?M._d.getUTCDay():M._d.getDay(),null!=M._tzm&&M._d.setUTCMinutes(M._d.getUTCMinutes()-M._tzm),M._nextDay&&(M._a[y]=24),M._w&&\\\"undefined\\\"!=typeof M._w.d&&M._w.d!==t&&(W(M).weekdayMismatch=!0)}}function B1(M){if(M._f===d.ISO_8601)m1(M);else if(M._f===d.RFC_2822)v1(M);else{M._a=[],W(M).empty=!0;for(var e,b,z,p,t,o,O=\\\"\\\"+M._i,c=O.length,n=0,i=o0(M._f,M._locale).match(e0)||[],r=i.length,a=0;a\u003Cr;a++)b=i[a],(e=(O.match(v0(b,M))||[])[0])&&(0\u003C(z=O.substr(0,O.indexOf(e))).length&&W(M).unusedInput.push(z),O=O.slice(O.indexOf(e)+e.length),n+=e.length),p0[b]?(e?W(M).empty=!1:W(M).unusedTokens.push(b),p=b,o=M,null!=(t=e)&&A(y0,p)&&y0[p](t,o._a,o,p)):M._strict&&!e&&W(M).unusedTokens.push(b);W(M).charsLeftOver=c-n,0\u003CO.length&&W(M).unusedInput.push(O),M._a[y]\u003C=12&&!0===W(M).bigHour&&0\u003CM._a[y]&&(W(M).bigHour=void 0),W(M).parsedDateParts=M._a.slice(0),W(M).meridiem=M._meridiem,M._a[y]=function(M,e,b){var z;if(null==b)return e;return null!=M.meridiemHour?M.meridiemHour(e,b):null!=M.isPM?((z=M.isPM(b))&&e\u003C12&&(e+=12),e=z||12!==e?e:0):e}(M._locale,M._a[y],M._meridiem),null!==(c=W(M).era)&&(M._a[L]=M._locale.erasConvertYear(c,M._a[L])),y1(M),d1(M)}}function E1(M){var e,b,z,p=M._i,t=M._f;if(M._locale=M._locale||s1(M._l),null===p||void 0===t&&\\\"\\\"===p)return U({nullInput:!0});if(\\\"string\\\"==typeof p&&(M._i=p=M._locale.preparse(p)),f(p))return new Y(d1(p));if(x(p))M._d=p;else if(q(t)){var o,O,c,n,i,r,a=M,A=!1,s=a._f.length;if(0===s)W(a).invalidFormat=!0,a._d=new Date(NaN);else{for(n=0;n\u003Cs;n++)i=0,r=!1,o=G({},a),null!=a._useUTC&&(o._useUTC=a._useUTC),o._f=a._f[n],B1(o),H(o)&&(r=!0),i=(i+=W(o).charsLeftOver)+10*W(o).unusedTokens.length,W(o).score=i,A?i\u003Cc&&(c=i,O=o):(null==c||i\u003Cc||r)&&(c=i,O=o,r)&&(A=!0);I(a,O||o)}}else if(t)B1(M);else if(l(p=(z=M)._i))z._d=new Date(d.now());else x(p)?z._d=new Date(p.valueOf()):\\\"string\\\"==typeof p?(e=z,null!==(t=R1.exec(e._i))?e._d=new Date(+t[1]):(m1(e),!1===e._isValid&&(delete e._isValid,v1(e),!1===e._isValid)&&(delete e._isValid,e._strict?e._isValid=!1:d.createFromInputFallback(e)))):q(p)?(z._a=P(p.slice(0),function(M){return parseInt(M,10)}),y1(z)):w(p)?(e=z)._d||(b=void 0===(t=c0(e._i)).day?t.date:t.day,e._a=P([t.year,t.month,b,t.hour,t.minute,t.second,t.millisecond],function(M){return M&&parseInt(M,10)}),y1(e)):u(p)?z._d=new Date(p):d.createFromInputFallback(z);return H(M)||(M._d=null),M}function T1(M,e,b,z,p){var t={};return!0!==e&&!1!==e||(z=e,e=void 0),!0!==b&&!1!==b||(z=b,b=void 0),(w(M)&&k(M)||q(M)&&0===M.length)&&(M=void 0),t._isAMomentObject=!0,t._useUTC=t._isUTC=p,t._l=b,t._i=M,t._f=e,t._strict=z,(t=new Y(d1(E1(t))))._nextDay&&(t.add(1,\\\"d\\\"),t._nextDay=void 0),t}function X(M,e,b,z){return T1(M,e,b,z,!1)}d.createFromInputFallback=M(\\\"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.\\\",function(M){M._d=new Date(M._i+(M._useUTC?\\\" UTC\\\":\\\"\\\"))}),d.ISO_8601=function(){},d.RFC_2822=function(){};l0=M(\\\"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/\\\",function(){var M=X.apply(null,arguments);return this.isValid()&&M.isValid()?M\u003Cthis?this:M:U()}),u0=M(\\\"moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/\\\",function(){var M=X.apply(null,arguments);return this.isValid()&&M.isValid()?this\u003CM?this:M:U()});function S1(M,e){var b,z;if(!(e=1===e.length&&q(e[0])?e[0]:e).length)return X();for(b=e[0],z=1;z\u003Ce.length;++z)e[z].isValid()&&!e[z][M](b)||(b=e[z]);return b}var X1=[\\\"year\\\",\\\"quarter\\\",\\\"month\\\",\\\"week\\\",\\\"day\\\",\\\"hour\\\",\\\"minute\\\",\\\"second\\\",\\\"millisecond\\\"];function D1(M){var e=c0(M),b=e.year||0,z=e.quarter||0,p=e.month||0,t=e.week||e.isoWeek||0,o=e.day||0,O=e.hour||0,c=e.minute||0,n=e.second||0,i=e.millisecond||0;this._isValid=function(M){var e,b,z=!1,p=X1.length;for(e in M)if(A(M,e)&&(-1===m.call(X1,e)||null!=M[e]&&isNaN(M[e])))return!1;for(b=0;b\u003Cp;++b)if(M[X1[b]]){if(z)return!1;parseFloat(M[X1[b]])!==a(M[X1[b]])&&(z=!0)}return!0}(e),this._milliseconds=+i+1e3*n+6e4*c+1e3*O*60*60,this._days=+o+7*t,this._months=+p+3*z+12*b,this._data={},this._locale=s1(),this._bubble()}function C1(M){return M instanceof D1}function _1(M){return M\u003C0?-1*Math.round(-1*M):Math.round(M)}function w1(M,b){z(M,0,0,function(){var M=this.utcOffset(),e=\\\"+\\\";return M\u003C0&&(M=-M,e=\\\"-\\\"),e+t(~~(M/60),2)+b+t(~~M%60,2)})}w1(\\\"Z\\\",\\\":\\\"),w1(\\\"ZZ\\\",\\\"\\\"),R(\\\"Z\\\",L0),R(\\\"ZZ\\\",L0),g([\\\"Z\\\",\\\"ZZ\\\"],function(M,e,b){b._useUTC=!0,b._tzm=x1(L0,M)});var k1=/([\\\\+\\\\-]|\\\\d\\\\d)/gi;function x1(M,e){var b,z=(e||\\\"\\\").match(M);return null===z?null:0===(b=60*(z=((z[z.length-1]||[])+\\\"\\\").match(k1)||[\\\"-\\\",0,0])[1]+a(z[2]))?0:\\\"+\\\"===z[0]?b:-b}function P1(M,e){var b,z;return e._isUTC?(b=e.clone(),z=(f(M)||x(M)?M:X(M)).valueOf()-b.valueOf(),b._d.setTime(b._d.valueOf()+z),d.updateOffset(b,!1),b):X(M).local()}function I1(M){return-Math.round(M._d.getTimezoneOffset())}function H1(){return!!this.isValid()&&this._isUTC&&0===this._offset}d.updateOffset=function(){};var U1=/^(-|\\\\+)?(?:(\\\\d*)[. ])?(\\\\d+):(\\\\d+)(?::(\\\\d+)(\\\\.\\\\d*)?)?$/,F1=/^(-|\\\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function D(M,e){var b,z,p=M;return C1(M)?p={ms:M._milliseconds,d:M._days,M:M._months}:u(M)||!isNaN(+M)?(p={},e?p[e]=+M:p.milliseconds=+M):(z=U1.exec(M))?(b=\\\"-\\\"===z[1]?-1:1,p={y:0,d:a(z[N])*b,h:a(z[y])*b,m:a(z[B])*b,s:a(z[E])*b,ms:a(_1(1e3*z[E0]))*b}):(z=F1.exec(M))?(b=\\\"-\\\"===z[1]?-1:1,p={y:j1(z[2],b),M:j1(z[3],b),w:j1(z[4],b),d:j1(z[5],b),h:j1(z[6],b),m:j1(z[7],b),s:j1(z[8],b)}):null==p?p={}:\\\"object\\\"==typeof p&&(\\\"from\\\"in p||\\\"to\\\"in p)&&(z=function(M,e){var b;if(!M.isValid()||!e.isValid())return{milliseconds:0,months:0};e=P1(e,M),M.isBefore(e)?b=V1(M,e):((b=V1(e,M)).milliseconds=-b.milliseconds,b.months=-b.months);return b}(X(p.from),X(p.to)),(p={}).ms=z.milliseconds,p.M=z.months),b=new D1(p),C1(M)&&A(M,\\\"_locale\\\")&&(b._locale=M._locale),C1(M)&&A(M,\\\"_isValid\\\")&&(b._isValid=M._isValid),b}function j1(M,e){var b=M&&parseFloat(M.replace(\\\",\\\",\\\".\\\"));return(isNaN(b)?0:b)*e}function V1(M,e){var b={};return b.months=e.month()-M.month()+12*(e.year()-M.year()),M.clone().add(b.months,\\\"M\\\").isAfter(e)&&--b.months,b.milliseconds=+e-+M.clone().add(b.months,\\\"M\\\"),b}function G1(z,p){return function(M,e){var b;return null===e||isNaN(+e)||(Z(p,\\\"moment().\\\"+p+\\\"(period, number) is deprecated. Please use moment().\\\"+p+\\\"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.\\\"),b=M,M=e,e=b),Y1(this,D(M,e),z),this}}function Y1(M,e,b,z){var p=e._milliseconds,t=_1(e._days),o=_1(e._months);M.isValid()&&(z=null==z||z,o&&x0(M,a0(M,\\\"Month\\\")+o*b),t&&A0(M,\\\"Date\\\",a0(M,\\\"Date\\\")+t*b),p&&M._d.setTime(M._d.valueOf()+p*b),z)&&d.updateOffset(M,t||o)}D.fn=D1.prototype,D.invalid=function(){return D(NaN)};D0=G1(1,\\\"add\\\"),K0=G1(-1,\\\"subtract\\\");function Q1(M){return\\\"string\\\"==typeof M||M instanceof String}function K1(M){return f(M)||x(M)||Q1(M)||u(M)||function(e){var M=q(e),b=!1;M&&(b=0===e.filter(function(M){return!u(M)&&Q1(e)}).length);return M&&b}(M)||function(M){var e,b,z=w(M)&&!k(M),p=!1,t=[\\\"years\\\",\\\"year\\\",\\\"y\\\",\\\"months\\\",\\\"month\\\",\\\"M\\\",\\\"days\\\",\\\"day\\\",\\\"d\\\",\\\"dates\\\",\\\"date\\\",\\\"D\\\",\\\"hours\\\",\\\"hour\\\",\\\"h\\\",\\\"minutes\\\",\\\"minute\\\",\\\"m\\\",\\\"seconds\\\",\\\"second\\\",\\\"s\\\",\\\"milliseconds\\\",\\\"millisecond\\\",\\\"ms\\\"],o=t.length;for(e=0;e\u003Co;e+=1)b=t[e],p=p||A(M,b);return z&&p}(M)||null==M}function Z1(M,e){var b,z;return M.date()\u003Ce.date()?-Z1(e,M):-((b=12*(e.year()-M.year())+(e.month()-M.month()))+(e-(z=M.clone().add(b,\\\"months\\\"))\u003C0?(e-z)/(z-M.clone().add(b-1,\\\"months\\\")):(e-z)/(M.clone().add(1+b,\\\"months\\\")-z)))||0}function J1(M){var e;return void 0===M?this._locale._abbr:(null!=(e=s1(M))&&(this._locale=e),this)}d.defaultFormat=\\\"YYYY-MM-DDTHH:mm:ssZ\\\",d.defaultFormatUtc=\\\"YYYY-MM-DDTHH:mm:ss[Z]\\\";J0=M(\\\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\\\",function(M){return void 0===M?this.localeData():this.locale(M)});function $1(){return this._locale}var M2=126227808e5;function e2(M,e){return(M%e+e)%e}function b2(M,e,b){return M\u003C100&&0\u003C=M?new Date(M+400,e,b)-M2:new Date(M,e,b).valueOf()}function z2(M,e,b){return M\u003C100&&0\u003C=M?Date.UTC(M+400,e,b)-M2:Date.UTC(M,e,b)}function p2(M,e){return e.erasAbbrRegex(M)}function t2(){for(var M=[],e=[],b=[],z=[],p=this.eras(),t=0,o=p.length;t\u003Co;++t)e.push(h(p[t].name)),M.push(h(p[t].abbr)),b.push(h(p[t].narrow)),z.push(h(p[t].name)),z.push(h(p[t].abbr)),z.push(h(p[t].narrow));this._erasRegex=new RegExp(\\\"^(\\\"+z.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._erasNameRegex=new RegExp(\\\"^(\\\"+e.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._erasAbbrRegex=new RegExp(\\\"^(\\\"+M.join(\\\"|\\\")+\\\")\\\",\\\"i\\\"),this._erasNarrowRegex=new RegExp(\\\"^(\\\"+b.join(\\\"|\\\")+\\\")\\\",\\\"i\\\")}function o2(M,e){z(0,[M,M.length],0,e)}function O2(M,e,b,z,p){var t;return null==M?Y0(this,z,p).year:(t=T(M,z,p),(function(M,e,b,z,p){var t=G0(M,e,b,z,p),t=j0(t.year,0,t.dayOfYear);return this.year(t.getUTCFullYear()),this.month(t.getUTCMonth()),this.date(t.getUTCDate()),this}).call(this,M,e=t\u003Ce?t:e,b,z,p))}z(\\\"N\\\",0,0,\\\"eraAbbr\\\"),z(\\\"NN\\\",0,0,\\\"eraAbbr\\\"),z(\\\"NNN\\\",0,0,\\\"eraAbbr\\\"),z(\\\"NNNN\\\",0,0,\\\"eraName\\\"),z(\\\"NNNNN\\\",0,0,\\\"eraNarrow\\\"),z(\\\"y\\\",[\\\"y\\\",1],\\\"yo\\\",\\\"eraYear\\\"),z(\\\"y\\\",[\\\"yy\\\",2],0,\\\"eraYear\\\"),z(\\\"y\\\",[\\\"yyy\\\",3],0,\\\"eraYear\\\"),z(\\\"y\\\",[\\\"yyyy\\\",4],0,\\\"eraYear\\\"),R(\\\"N\\\",p2),R(\\\"NN\\\",p2),R(\\\"NNN\\\",p2),R(\\\"NNNN\\\",function(M,e){return e.erasNameRegex(M)}),R(\\\"NNNNN\\\",function(M,e){return e.erasNarrowRegex(M)}),g([\\\"N\\\",\\\"NN\\\",\\\"NNN\\\",\\\"NNNN\\\",\\\"NNNNN\\\"],function(M,e,b,z){var p=b._locale.erasParse(M,z,b._strict);p?W(b).era=p:W(b).invalidEra=M}),R(\\\"y\\\",h0),R(\\\"yy\\\",h0),R(\\\"yyy\\\",h0),R(\\\"yyyy\\\",h0),R(\\\"yo\\\",function(M,e){return e._eraYearOrdinalRegex||h0}),g([\\\"y\\\",\\\"yy\\\",\\\"yyy\\\",\\\"yyyy\\\"],L),g([\\\"yo\\\"],function(M,e,b,z){var p;b._locale._eraYearOrdinalRegex&&(p=M.match(b._locale._eraYearOrdinalRegex)),b._locale.eraYearOrdinalParse?e[L]=b._locale.eraYearOrdinalParse(M,p):e[L]=parseInt(M,10)}),z(0,[\\\"gg\\\",2],0,function(){return this.weekYear()%100}),z(0,[\\\"GG\\\",2],0,function(){return this.isoWeekYear()%100}),o2(\\\"gggg\\\",\\\"weekYear\\\"),o2(\\\"ggggg\\\",\\\"weekYear\\\"),o2(\\\"GGGG\\\",\\\"isoWeekYear\\\"),o2(\\\"GGGGG\\\",\\\"isoWeekYear\\\"),e(\\\"weekYear\\\",\\\"gg\\\"),e(\\\"isoWeekYear\\\",\\\"GG\\\"),b(\\\"weekYear\\\",1),b(\\\"isoWeekYear\\\",1),R(\\\"G\\\",g0),R(\\\"g\\\",g0),R(\\\"GG\\\",i,c),R(\\\"gg\\\",i,c),R(\\\"GGGG\\\",f0,d0),R(\\\"gggg\\\",f0,d0),R(\\\"GGGGG\\\",R0,q0),R(\\\"ggggg\\\",R0,q0),B0([\\\"gggg\\\",\\\"ggggg\\\",\\\"GGGG\\\",\\\"GGGGG\\\"],function(M,e,b,z){e[z.substr(0,2)]=a(M)}),B0([\\\"gg\\\",\\\"GG\\\"],function(M,e,b,z){e[z]=d.parseTwoDigitYear(M)}),z(\\\"Q\\\",0,\\\"Qo\\\",\\\"quarter\\\"),e(\\\"quarter\\\",\\\"Q\\\"),b(\\\"quarter\\\",7),R(\\\"Q\\\",p),g(\\\"Q\\\",function(M,e){e[v]=3*(a(M)-1)}),z(\\\"D\\\",[\\\"DD\\\",2],\\\"Do\\\",\\\"date\\\"),e(\\\"date\\\",\\\"D\\\"),b(\\\"date\\\",9),R(\\\"D\\\",i),R(\\\"DD\\\",i,c),R(\\\"Do\\\",function(M,e){return M?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),g([\\\"D\\\",\\\"DD\\\"],N),g(\\\"Do\\\",function(M,e){e[N]=a(M.match(i)[0])});f0=r0(\\\"Date\\\",!0);z(\\\"DDD\\\",[\\\"DDDD\\\",3],\\\"DDDo\\\",\\\"dayOfYear\\\"),e(\\\"dayOfYear\\\",\\\"DDD\\\"),b(\\\"dayOfYear\\\",4),R(\\\"DDD\\\",W0),R(\\\"DDDD\\\",s0),g([\\\"DDD\\\",\\\"DDDD\\\"],function(M,e,b){b._dayOfYear=a(M)}),z(\\\"m\\\",[\\\"mm\\\",2],0,\\\"minute\\\"),e(\\\"minute\\\",\\\"m\\\"),b(\\\"minute\\\",14),R(\\\"m\\\",i),R(\\\"mm\\\",i,c),g([\\\"m\\\",\\\"mm\\\"],B);var c2,d0=r0(\\\"Minutes\\\",!1),R0=(z(\\\"s\\\",[\\\"ss\\\",2],0,\\\"second\\\"),e(\\\"second\\\",\\\"s\\\"),b(\\\"second\\\",15),R(\\\"s\\\",i),R(\\\"ss\\\",i,c),g([\\\"s\\\",\\\"ss\\\"],E),r0(\\\"Seconds\\\",!1));for(z(\\\"S\\\",0,0,function(){return~~(this.millisecond()/100)}),z(0,[\\\"SS\\\",2],0,function(){return~~(this.millisecond()/10)}),z(0,[\\\"SSS\\\",3],0,\\\"millisecond\\\"),z(0,[\\\"SSSS\\\",4],0,function(){return 10*this.millisecond()}),z(0,[\\\"SSSSS\\\",5],0,function(){return 100*this.millisecond()}),z(0,[\\\"SSSSSS\\\",6],0,function(){return 1e3*this.millisecond()}),z(0,[\\\"SSSSSSS\\\",7],0,function(){return 1e4*this.millisecond()}),z(0,[\\\"SSSSSSSS\\\",8],0,function(){return 1e5*this.millisecond()}),z(0,[\\\"SSSSSSSSS\\\",9],0,function(){return 1e6*this.millisecond()}),e(\\\"millisecond\\\",\\\"ms\\\"),b(\\\"millisecond\\\",16),R(\\\"S\\\",W0,p),R(\\\"SS\\\",W0,c),R(\\\"SSS\\\",W0,s0),c2=\\\"SSSS\\\";c2.length\u003C=9;c2+=\\\"S\\\")R(c2,h0);function n2(M,e){e[E0]=a(1e3*(\\\"0.\\\"+M))}for(c2=\\\"S\\\";c2.length\u003C=9;c2+=\\\"S\\\")g(c2,n2);q0=r0(\\\"Milliseconds\\\",!1),z(\\\"z\\\",0,0,\\\"zoneAbbr\\\"),z(\\\"zz\\\",0,0,\\\"zoneName\\\");p=Y.prototype;function i2(M){return M}p.add=D0,p.calendar=function(M,e){1===arguments.length&&(arguments[0]?K1(arguments[0])?(M=arguments[0],e=void 0):function(M){for(var e=w(M)&&!k(M),b=!1,z=[\\\"sameDay\\\",\\\"nextDay\\\",\\\"lastDay\\\",\\\"nextWeek\\\",\\\"lastWeek\\\",\\\"sameElse\\\"],p=0;p\u003Cz.length;p+=1)b=b||A(M,z[p]);return e&&b}(arguments[0])&&(e=arguments[0],M=void 0):e=M=void 0);var b=M||X(),z=P1(b,this).startOf(\\\"day\\\"),z=d.calendarFormat(this,z)||\\\"sameElse\\\",p=e&&(o(e[z])?e[z].call(this,b):e[z]);return this.format(p||this.localeData().calendar(z,this,X(b)))},p.clone=function(){return new Y(this)},p.diff=function(M,e,b){var z,p,t;if(!this.isValid())return NaN;if(!(z=P1(M,this)).isValid())return NaN;switch(p=6e4*(z.utcOffset()-this.utcOffset()),e=O(e)){case\\\"year\\\":t=Z1(this,z)/12;break;case\\\"month\\\":t=Z1(this,z);break;case\\\"quarter\\\":t=Z1(this,z)/3;break;case\\\"second\\\":t=(this-z)/1e3;break;case\\\"minute\\\":t=(this-z)/6e4;break;case\\\"hour\\\":t=(this-z)/36e5;break;case\\\"day\\\":t=(this-z-p)/864e5;break;case\\\"week\\\":t=(this-z-p)/6048e5;break;default:t=this-z}return b?t:r(t)},p.endOf=function(M){var e,b;if(void 0!==(M=O(M))&&\\\"millisecond\\\"!==M&&this.isValid()){switch(b=this._isUTC?z2:b2,M){case\\\"year\\\":e=b(this.year()+1,0,1)-1;break;case\\\"quarter\\\":e=b(this.year(),this.month()-this.month()%3+3,1)-1;break;case\\\"month\\\":e=b(this.year(),this.month()+1,1)-1;break;case\\\"week\\\":e=b(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case\\\"isoWeek\\\":e=b(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case\\\"day\\\":case\\\"date\\\":e=b(this.year(),this.month(),this.date()+1)-1;break;case\\\"hour\\\":e=this._d.valueOf(),e+=36e5-e2(e+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case\\\"minute\\\":e=this._d.valueOf(),e+=6e4-e2(e,6e4)-1;break;case\\\"second\\\":e=this._d.valueOf(),e+=1e3-e2(e,1e3)-1}this._d.setTime(e),d.updateOffset(this,!0)}return this},p.format=function(M){M=M||(this.isUtc()?d.defaultFormatUtc:d.defaultFormat);var e=t0(this,M);return this.localeData().postformat(e)},p.from=function(M,e){return this.isValid()&&(f(M)&&M.isValid()||X(M).isValid())?D({to:this,from:M}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},p.fromNow=function(M){return this.from(X(),M)},p.to=function(M,e){return this.isValid()&&(f(M)&&M.isValid()||X(M).isValid())?D({from:this,to:M}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},p.toNow=function(M){return this.to(X(),M)},p.get=function(M){return o(this[M=O(M)])?this[M]():this},p.invalidAt=function(){return W(this).overflow},p.isAfter=function(M,e){var b=f(M)?M:X(M);return!(!this.isValid()||!b.isValid())&&(\\\"millisecond\\\"===(e=O(e)||\\\"millisecond\\\")?this.valueOf()>b.valueOf():b.valueOf()\u003Cthis.clone().startOf(e).valueOf())},p.isBefore=function(M,e){var b=f(M)?M:X(M);return!(!this.isValid()||!b.isValid())&&(\\\"millisecond\\\"===(e=O(e)||\\\"millisecond\\\")?this.valueOf()\u003Cb.valueOf():this.clone().endOf(e).valueOf()\u003Cb.valueOf())},p.isBetween=function(M,e,b,z){var p=f(M)?M:X(M),t=f(e)?e:X(e);return!!(this.isValid()&&p.isValid()&&t.isValid())&&(\\\"(\\\"===(z=z||\\\"()\\\")[0]?this.isAfter(p,b):!this.isBefore(p,b))&&(\\\")\\\"===z[1]?this.isBefore(t,b):!this.isAfter(t,b))},p.isSame=function(M,e){var b=f(M)?M:X(M);return!(!this.isValid()||!b.isValid())&&(\\\"millisecond\\\"===(e=O(e)||\\\"millisecond\\\")?this.valueOf()===b.valueOf():(b=b.valueOf(),this.clone().startOf(e).valueOf()\u003C=b&&b\u003C=this.clone().endOf(e).valueOf()))},p.isSameOrAfter=function(M,e){return this.isSame(M,e)||this.isAfter(M,e)},p.isSameOrBefore=function(M,e){return this.isSame(M,e)||this.isBefore(M,e)},p.isValid=function(){return H(this)},p.lang=J0,p.locale=J1,p.localeData=$1,p.max=u0,p.min=l0,p.parsingFlags=function(){return I({},W(this))},p.set=function(M,e){if(\\\"object\\\"==typeof M)for(var b=function(M){var e,b=[];for(e in M)A(M,e)&&b.push({unit:e,priority:n0[e]});return b.sort(function(M,e){return M.priority-e.priority}),b}(M=c0(M)),z=b.length,p=0;p\u003Cz;p++)this[b[p].unit](M[b[p].unit]);else if(o(this[M=O(M)]))return this[M](e);return this},p.startOf=function(M){var e,b;if(void 0!==(M=O(M))&&\\\"millisecond\\\"!==M&&this.isValid()){switch(b=this._isUTC?z2:b2,M){case\\\"year\\\":e=b(this.year(),0,1);break;case\\\"quarter\\\":e=b(this.year(),this.month()-this.month()%3,1);break;case\\\"month\\\":e=b(this.year(),this.month(),1);break;case\\\"week\\\":e=b(this.year(),this.month(),this.date()-this.weekday());break;case\\\"isoWeek\\\":e=b(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case\\\"day\\\":case\\\"date\\\":e=b(this.year(),this.month(),this.date());break;case\\\"hour\\\":e=this._d.valueOf(),e-=e2(e+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case\\\"minute\\\":e=this._d.valueOf(),e-=e2(e,6e4);break;case\\\"second\\\":e=this._d.valueOf(),e-=e2(e,1e3)}this._d.setTime(e),d.updateOffset(this,!0)}return this},p.subtract=K0,p.toArray=function(){var M=this;return[M.year(),M.month(),M.date(),M.hour(),M.minute(),M.second(),M.millisecond()]},p.toObject=function(){var M=this;return{years:M.year(),months:M.month(),date:M.date(),hours:M.hours(),minutes:M.minutes(),seconds:M.seconds(),milliseconds:M.milliseconds()}},p.toDate=function(){return new Date(this.valueOf())},p.toISOString=function(M){var e,b;return this.isValid()?(b=(e=!0!==M)?this.clone().utc():this).year()\u003C0||9999\u003Cb.year()?t0(b,e?\\\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\\\":\\\"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ\\\"):o(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace(\\\"Z\\\",t0(b,\\\"Z\\\")):t0(b,e?\\\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\\\":\\\"YYYY-MM-DD[T]HH:mm:ss.SSSZ\\\"):null},p.inspect=function(){var M,e,b;return this.isValid()?(e=\\\"moment\\\",M=\\\"\\\",this.isLocal()||(e=0===this.utcOffset()?\\\"moment.utc\\\":\\\"moment.parseZone\\\",M=\\\"Z\\\"),e=\\\"[\\\"+e+'(\\\"]',b=0\u003C=this.year()&&this.year()\u003C=9999?\\\"YYYY\\\":\\\"YYYYYY\\\",this.format(e+b+\\\"-MM-DD[T]HH:mm:ss.SSS\\\"+(M+'[\\\")]'))):\\\"moment.invalid(/* \\\"+this._i+\\\" */)\\\"},\\\"undefined\\\"!=typeof Symbol&&null!=Symbol[\\\"for\\\"]&&(p[Symbol[\\\"for\\\"](\\\"nodejs.util.inspect.custom\\\")]=function(){return\\\"Moment\u003C\\\"+this.format()+\\\">\\\"}),p.toJSON=function(){return this.isValid()?this.toISOString():null},p.toString=function(){return this.clone().locale(\\\"en\\\").format(\\\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\\\")},p.unix=function(){return Math.floor(this.valueOf()/1e3)},p.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},p.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},p.eraName=function(){for(var M,e=this.localeData().eras(),b=0,z=e.length;b\u003Cz;++b){if(M=this.clone().startOf(\\\"day\\\").valueOf(),e[b].since\u003C=M&&M\u003C=e[b].until)return e[b].name;if(e[b].until\u003C=M&&M\u003C=e[b].since)return e[b].name}return\\\"\\\"},p.eraNarrow=function(){for(var M,e=this.localeData().eras(),b=0,z=e.length;b\u003Cz;++b){if(M=this.clone().startOf(\\\"day\\\").valueOf(),e[b].since\u003C=M&&M\u003C=e[b].until)return e[b].narrow;if(e[b].until\u003C=M&&M\u003C=e[b].since)return e[b].narrow}return\\\"\\\"},p.eraAbbr=function(){for(var M,e=this.localeData().eras(),b=0,z=e.length;b\u003Cz;++b){if(M=this.clone().startOf(\\\"day\\\").valueOf(),e[b].since\u003C=M&&M\u003C=e[b].until)return e[b].abbr;if(e[b].until\u003C=M&&M\u003C=e[b].since)return e[b].abbr}return\\\"\\\"},p.eraYear=function(){for(var M,e,b=this.localeData().eras(),z=0,p=b.length;z\u003Cp;++z)if(M=b[z].since\u003C=b[z].until?1:-1,e=this.clone().startOf(\\\"day\\\").valueOf(),b[z].since\u003C=e&&e\u003C=b[z].until||b[z].until\u003C=e&&e\u003C=b[z].since)return(this.year()-d(b[z].since).year())*M+b[z].offset;return this.year()},p.year=U0,p.isLeapYear=function(){return i0(this.year())},p.weekYear=function(M){return O2.call(this,M,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},p.isoWeekYear=function(M){return O2.call(this,M,this.isoWeek(),this.isoWeekday(),1,4)},p.quarter=p.quarters=function(M){return null==M?Math.ceil((this.month()+1)/3):this.month(3*(M-1)+this.month()%3)},p.month=P0,p.daysInMonth=function(){return X0(this.year(),this.month())},p.week=p.weeks=function(M){var e=this.localeData().week(this);return null==M?e:this.add(7*(M-e),\\\"d\\\")},p.isoWeek=p.isoWeeks=function(M){var e=Y0(this,1,4).week;return null==M?e:this.add(7*(M-e),\\\"d\\\")},p.weeksInYear=function(){var M=this.localeData()._week;return T(this.year(),M.dow,M.doy)},p.weeksInWeekYear=function(){var M=this.localeData()._week;return T(this.weekYear(),M.dow,M.doy)},p.isoWeeksInYear=function(){return T(this.year(),1,4)},p.isoWeeksInISOWeekYear=function(){return T(this.isoWeekYear(),1,4)},p.date=f0,p.day=p.days=function(M){var e,b,z;return this.isValid()?(e=this._isUTC?this._d.getUTCDay():this._d.getDay(),null!=M?(b=M,z=this.localeData(),M=\\\"string\\\"!=typeof b?b:isNaN(b)?\\\"number\\\"==typeof(b=z.weekdaysParse(b))?b:null:parseInt(b,10),this.add(M-e,\\\"d\\\")):e):null!=M?this:NaN},p.weekday=function(M){var e;return this.isValid()?(e=(this.day()+7-this.localeData()._week.dow)%7,null==M?e:this.add(M-e,\\\"d\\\")):null!=M?this:NaN},p.isoWeekday=function(M){var e,b,z;return this.isValid()?null!=M?(b=M,z=this.localeData(),e=\\\"string\\\"==typeof b?z.weekdaysParse(b)%7||7:isNaN(b)?null:b,this.day(this.day()%7?e:e-7)):this.day()||7:null!=M?this:NaN},p.dayOfYear=function(M){var e=Math.round((this.clone().startOf(\\\"day\\\")-this.clone().startOf(\\\"year\\\"))/864e5)+1;return null==M?e:this.add(M-e,\\\"d\\\")},p.hour=p.hours=s,p.minute=p.minutes=d0,p.second=p.seconds=R0,p.millisecond=p.milliseconds=q0,p.utcOffset=function(M,e,b){var z,p=this._offset||0;if(!this.isValid())return null!=M?this:NaN;if(null==M)return this._isUTC?p:I1(this);if(\\\"string\\\"==typeof M){if(null===(M=x1(L0,M)))return this}else Math.abs(M)\u003C16&&!b&&(M*=60);return!this._isUTC&&e&&(z=I1(this)),this._offset=M,this._isUTC=!0,null!=z&&this.add(z,\\\"m\\\"),p!==M&&(!e||this._changeInProgress?Y1(this,D(M-p,\\\"m\\\"),1,!1):this._changeInProgress||(this._changeInProgress=!0,d.updateOffset(this,!0),this._changeInProgress=null)),this},p.utc=function(M){return this.utcOffset(0,M)},p.local=function(M){return this._isUTC&&(this.utcOffset(0,M),this._isUTC=!1,M)&&this.subtract(I1(this),\\\"m\\\"),this},p.parseZone=function(){var M;return null!=this._tzm?this.utcOffset(this._tzm,!1,!0):\\\"string\\\"==typeof this._i&&(null!=(M=x1(m0,this._i))?this.utcOffset(M):this.utcOffset(0,!0)),this},p.hasAlignedHourOffset=function(M){return!!this.isValid()&&(M=M?X(M).utcOffset():0,(this.utcOffset()-M)%60==0)},p.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},p.isLocal=function(){return!!this.isValid()&&!this._isUTC},p.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},p.isUtc=H1,p.isUTC=H1,p.zoneAbbr=function(){return this._isUTC?\\\"UTC\\\":\\\"\\\"},p.zoneName=function(){return this._isUTC?\\\"Coordinated Universal Time\\\":\\\"\\\"},p.dates=M(\\\"dates accessor is deprecated. Use date instead.\\\",f0),p.months=M(\\\"months accessor is deprecated. Use month instead\\\",P0),p.years=M(\\\"years accessor is deprecated. Use year instead\\\",U0),p.zone=M(\\\"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\\\",function(M,e){return null!=M?(this.utcOffset(M=\\\"string\\\"!=typeof M?-M:M,e),this):-this.utcOffset()}),p.isDSTShifted=M(\\\"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\\\",function(){var M,e;return l(this._isDSTShifted)&&(G(M={},this),(M=E1(M))._a?(e=(M._isUTC?n:X)(M._a),this._isDSTShifted=this.isValid()&&0\u003Cfunction(M,e,b){for(var z=Math.min(M.length,e.length),p=Math.abs(M.length-e.length),t=0,o=0;o\u003Cz;o++)(b&&M[o]!==e[o]||!b&&a(M[o])!==a(e[o]))&&t++;return t+p}(M._a,e.toArray())):this._isDSTShifted=!1),this._isDSTShifted});c=$.prototype;function r2(M,e,b,z){var p=s1(),t=n().set(z,e);return p[b](t,M)}function a2(M,e,b){if(u(M)&&(e=M,M=void 0),M=M||\\\"\\\",null!=e)return r2(M,e,b,\\\"month\\\");for(var z=[],p=0;p\u003C12;p++)z[p]=r2(M,p,b,\\\"month\\\");return z}function A2(M,e,b,z){e=(\\\"boolean\\\"==typeof M?u(e)&&(b=e,e=void 0):(e=M,M=!1,u(b=e)&&(b=e,e=void 0)),e||\\\"\\\");var p,t=s1(),o=M?t._week.dow:0,O=[];if(null!=b)return r2(e,(b+o)%7,z,\\\"day\\\");for(p=0;p\u003C7;p++)O[p]=r2(e,(p+o)%7,z,\\\"day\\\");return O}c.calendar=function(M,e,b){var z=this._calendar[M]||this._calendar.sameElse;return o(z)?z.call(e,b):z},c.longDateFormat=function(M){var e=this._longDateFormat[M],b=this._longDateFormat[M.toUpperCase()];return e||!b?e:(this._longDateFormat[M]=b.match(e0).map(function(M){return\\\"MMMM\\\"===M||\\\"MM\\\"===M||\\\"DD\\\"===M||\\\"dddd\\\"===M?M.slice(1):M}).join(\\\"\\\"),this._longDateFormat[M])},c.invalidDate=function(){return this._invalidDate},c.ordinal=function(M){return this._ordinal.replace(\\\"%d\\\",M)},c.preparse=i2,c.postformat=i2,c.relativeTime=function(M,e,b,z){var p=this._relativeTime[b];return o(p)?p(M,e,b,z):p.replace(/%d/i,M)},c.pastFuture=function(M,e){var b=this._relativeTime[0\u003CM?\\\"future\\\":\\\"past\\\"];return o(b)?b(e):b.replace(/%s/i,e)},c.set=function(M){var e,b;for(b in M)A(M,b)&&(o(e=M[b])?this[b]=e:this[\\\"_\\\"+b]=e);this._config=M,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+\\\"|\\\"+/\\\\d{1,2}/.source)},c.eras=function(M,e){for(var b,z=this._eras||s1(\\\"en\\\")._eras,p=0,t=z.length;p\u003Ct;++p)switch(\\\"string\\\"==typeof z[p].since&&(b=d(z[p].since).startOf(\\\"day\\\"),z[p].since=b.valueOf()),typeof z[p].until){case\\\"undefined\\\":z[p].until=Infinity;break;case\\\"string\\\":b=d(z[p].until).startOf(\\\"day\\\").valueOf(),z[p].until=b.valueOf()}return z},c.erasParse=function(M,e,b){var z,p,t,o,O,c=this.eras();for(M=M.toUpperCase(),z=0,p=c.length;z\u003Cp;++z)if(t=c[z].name.toUpperCase(),o=c[z].abbr.toUpperCase(),O=c[z].narrow.toUpperCase(),b)switch(e){case\\\"N\\\":case\\\"NN\\\":case\\\"NNN\\\":if(o===M)return c[z];break;case\\\"NNNN\\\":if(t===M)return c[z];break;case\\\"NNNNN\\\":if(O===M)return c[z]}else if(0\u003C=[t,o,O].indexOf(M))return c[z]},c.erasConvertYear=function(M,e){var b=M.since\u003C=M.until?1:-1;return void 0===e?d(M.since).year():d(M.since).year()+(e-M.offset)*b},c.erasAbbrRegex=function(M){return A(this,\\\"_erasAbbrRegex\\\")||t2.call(this),M?this._erasAbbrRegex:this._erasRegex},c.erasNameRegex=function(M){return A(this,\\\"_erasNameRegex\\\")||t2.call(this),M?this._erasNameRegex:this._erasRegex},c.erasNarrowRegex=function(M){return A(this,\\\"_erasNarrowRegex\\\")||t2.call(this),M?this._erasNarrowRegex:this._erasRegex},c.months=function(M,e){return M?(q(this._months)?this._months:this._months[(this._months.isFormat||_0).test(e)?\\\"format\\\":\\\"standalone\\\"])[M.month()]:q(this._months)?this._months:this._months.standalone},c.monthsShort=function(M,e){return M?(q(this._monthsShort)?this._monthsShort:this._monthsShort[_0.test(e)?\\\"format\\\":\\\"standalone\\\"])[M.month()]:q(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},c.monthsParse=function(M,e,b){var z,p;if(this._monthsParseExact)return(function(M,e,b){var z,p,t,o=M.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],z=0;z\u003C12;++z)t=n([2e3,z]),this._shortMonthsParse[z]=this.monthsShort(t,\\\"\\\").toLocaleLowerCase(),this._longMonthsParse[z]=this.months(t,\\\"\\\").toLocaleLowerCase();return b?\\\"MMM\\\"===e?-1!==(p=m.call(this._shortMonthsParse,o))?p:null:-1!==(p=m.call(this._longMonthsParse,o))?p:null:\\\"MMM\\\"===e?-1!==(p=m.call(this._shortMonthsParse,o))||-1!==(p=m.call(this._longMonthsParse,o))?p:null:-1!==(p=m.call(this._longMonthsParse,o))||-1!==(p=m.call(this._shortMonthsParse,o))?p:null}).call(this,M,e,b);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),z=0;z\u003C12;z++){if(p=n([2e3,z]),b&&!this._longMonthsParse[z]&&(this._longMonthsParse[z]=new RegExp(\\\"^\\\"+this.months(p,\\\"\\\").replace(\\\".\\\",\\\"\\\")+\\\"$\\\",\\\"i\\\"),this._shortMonthsParse[z]=new RegExp(\\\"^\\\"+this.monthsShort(p,\\\"\\\").replace(\\\".\\\",\\\"\\\")+\\\"$\\\",\\\"i\\\")),b||this._monthsParse[z]||(p=\\\"^\\\"+this.months(p,\\\"\\\")+\\\"|^\\\"+this.monthsShort(p,\\\"\\\"),this._monthsParse[z]=new RegExp(p.replace(\\\".\\\",\\\"\\\"),\\\"i\\\")),b&&\\\"MMMM\\\"===e&&this._longMonthsParse[z].test(M))return z;if(b&&\\\"MMM\\\"===e&&this._shortMonthsParse[z].test(M))return z;if(!b&&this._monthsParse[z].test(M))return z}},c.monthsRegex=function(M){return this._monthsParseExact?(A(this,\\\"_monthsRegex\\\")||I0.call(this),M?this._monthsStrictRegex:this._monthsRegex):(A(this,\\\"_monthsRegex\\\")||(this._monthsRegex=k0),this._monthsStrictRegex&&M?this._monthsStrictRegex:this._monthsRegex)},c.monthsShortRegex=function(M){return this._monthsParseExact?(A(this,\\\"_monthsRegex\\\")||I0.call(this),M?this._monthsShortStrictRegex:this._monthsShortRegex):(A(this,\\\"_monthsShortRegex\\\")||(this._monthsShortRegex=w0),this._monthsShortStrictRegex&&M?this._monthsShortStrictRegex:this._monthsShortRegex)},c.week=function(M){return Y0(M,this._week.dow,this._week.doy).week},c.firstDayOfYear=function(){return this._week.doy},c.firstDayOfWeek=function(){return this._week.dow},c.weekdays=function(M,e){var b=q(this._weekdays)?this._weekdays:this._weekdays[M&&!0!==M&&this._weekdays.isFormat.test(e)?\\\"format\\\":\\\"standalone\\\"];return!0===M?Q0(b,this._week.dow):M?b[M.day()]:b},c.weekdaysMin=function(M){return!0===M?Q0(this._weekdaysMin,this._week.dow):M?this._weekdaysMin[M.day()]:this._weekdaysMin},c.weekdaysShort=function(M){return!0===M?Q0(this._weekdaysShort,this._week.dow):M?this._weekdaysShort[M.day()]:this._weekdaysShort},c.weekdaysParse=function(M,e,b){var z,p;if(this._weekdaysParseExact)return(function(M,e,b){var z,p,t,o=M.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],z=0;z\u003C7;++z)t=n([2e3,1]).day(z),this._minWeekdaysParse[z]=this.weekdaysMin(t,\\\"\\\").toLocaleLowerCase(),this._shortWeekdaysParse[z]=this.weekdaysShort(t,\\\"\\\").toLocaleLowerCase(),this._weekdaysParse[z]=this.weekdays(t,\\\"\\\").toLocaleLowerCase();return b?\\\"dddd\\\"===e?-1!==(p=m.call(this._weekdaysParse,o))?p:null:\\\"ddd\\\"===e?-1!==(p=m.call(this._shortWeekdaysParse,o))?p:null:-1!==(p=m.call(this._minWeekdaysParse,o))?p:null:\\\"dddd\\\"===e?-1!==(p=m.call(this._weekdaysParse,o))||-1!==(p=m.call(this._shortWeekdaysParse,o))||-1!==(p=m.call(this._minWeekdaysParse,o))?p:null:\\\"ddd\\\"===e?-1!==(p=m.call(this._shortWeekdaysParse,o))||-1!==(p=m.call(this._weekdaysParse,o))||-1!==(p=m.call(this._minWeekdaysParse,o))?p:null:-1!==(p=m.call(this._minWeekdaysParse,o))||-1!==(p=m.call(this._weekdaysParse,o))||-1!==(p=m.call(this._shortWeekdaysParse,o))?p:null}).call(this,M,e,b);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),z=0;z\u003C7;z++){if(p=n([2e3,1]).day(z),b&&!this._fullWeekdaysParse[z]&&(this._fullWeekdaysParse[z]=new RegExp(\\\"^\\\"+this.weekdays(p,\\\"\\\").replace(\\\".\\\",\\\"\\\\\\\\.?\\\")+\\\"$\\\",\\\"i\\\"),this._shortWeekdaysParse[z]=new RegExp(\\\"^\\\"+this.weekdaysShort(p,\\\"\\\").replace(\\\".\\\",\\\"\\\\\\\\.?\\\")+\\\"$\\\",\\\"i\\\"),this._minWeekdaysParse[z]=new RegExp(\\\"^\\\"+this.weekdaysMin(p,\\\"\\\").replace(\\\".\\\",\\\"\\\\\\\\.?\\\")+\\\"$\\\",\\\"i\\\")),this._weekdaysParse[z]||(p=\\\"^\\\"+this.weekdays(p,\\\"\\\")+\\\"|^\\\"+this.weekdaysShort(p,\\\"\\\")+\\\"|^\\\"+this.weekdaysMin(p,\\\"\\\"),this._weekdaysParse[z]=new RegExp(p.replace(\\\".\\\",\\\"\\\"),\\\"i\\\")),b&&\\\"dddd\\\"===e&&this._fullWeekdaysParse[z].test(M))return z;if(b&&\\\"ddd\\\"===e&&this._shortWeekdaysParse[z].test(M))return z;if(b&&\\\"dd\\\"===e&&this._minWeekdaysParse[z].test(M))return z;if(!b&&this._weekdaysParse[z].test(M))return z}},c.weekdaysRegex=function(M){return this._weekdaysParseExact?(A(this,\\\"_weekdaysRegex\\\")||b1.call(this),M?this._weekdaysStrictRegex:this._weekdaysRegex):(A(this,\\\"_weekdaysRegex\\\")||(this._weekdaysRegex=$0),this._weekdaysStrictRegex&&M?this._weekdaysStrictRegex:this._weekdaysRegex)},c.weekdaysShortRegex=function(M){return this._weekdaysParseExact?(A(this,\\\"_weekdaysRegex\\\")||b1.call(this),M?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(A(this,\\\"_weekdaysShortRegex\\\")||(this._weekdaysShortRegex=M1),this._weekdaysShortStrictRegex&&M?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},c.weekdaysMinRegex=function(M){return this._weekdaysParseExact?(A(this,\\\"_weekdaysRegex\\\")||b1.call(this),M?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(A(this,\\\"_weekdaysMinRegex\\\")||(this._weekdaysMinRegex=e1),this._weekdaysMinStrictRegex&&M?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},c.isPM=function(M){return\\\"p\\\"===(M+\\\"\\\").toLowerCase().charAt(0)},c.meridiem=function(M,e,b){return 11\u003CM?b?\\\"pm\\\":\\\"PM\\\":b?\\\"am\\\":\\\"AM\\\"},a1(\\\"en\\\",{eras:[{since:\\\"0001-01-01\\\",until:Infinity,offset:1,name:\\\"Anno Domini\\\",narrow:\\\"AD\\\",abbr:\\\"AD\\\"},{since:\\\"0000-12-31\\\",until:-Infinity,offset:1,name:\\\"Before Christ\\\",narrow:\\\"BC\\\",abbr:\\\"BC\\\"}],dayOfMonthOrdinalParse:/\\\\d{1,2}(th|st|nd|rd)/,ordinal:function(M){var e=M%10;return M+(1===a(M%100/10)?\\\"th\\\":1==e?\\\"st\\\":2==e?\\\"nd\\\":3==e?\\\"rd\\\":\\\"th\\\")}}),d.lang=M(\\\"moment.lang is deprecated. Use moment.locale instead.\\\",a1),d.langData=M(\\\"moment.langData is deprecated. Use moment.localeData instead.\\\",s1);var s2=Math.abs;function d2(M,e,b,z){var p=D(e,b);return M._milliseconds+=z*p._milliseconds,M._days+=z*p._days,M._months+=z*p._months,M._bubble()}function q2(M){return M\u003C0?Math.floor(M):Math.ceil(M)}function l2(M){return 4800*M/146097}function u2(M){return 146097*M/4800}function W2(M){return function(){return this.as(M)}}W0=W2(\\\"ms\\\"),s0=W2(\\\"s\\\"),D0=W2(\\\"m\\\"),u0=W2(\\\"h\\\"),l0=W2(\\\"d\\\"),K0=W2(\\\"w\\\"),s=W2(\\\"M\\\"),d0=W2(\\\"Q\\\"),R0=W2(\\\"y\\\");function f2(M){return function(){return this.isValid()?this._data[M]:NaN}}var q0=f2(\\\"milliseconds\\\"),f0=f2(\\\"seconds\\\"),U0=f2(\\\"minutes\\\"),c=f2(\\\"hours\\\"),R2=f2(\\\"days\\\"),h2=f2(\\\"months\\\"),g2=f2(\\\"years\\\");var m2=Math.round,L2={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function v2(M,e,b,z){var p=D(M).abs(),t=m2(p.as(\\\"s\\\")),o=m2(p.as(\\\"m\\\")),O=m2(p.as(\\\"h\\\")),c=m2(p.as(\\\"d\\\")),n=m2(p.as(\\\"M\\\")),i=m2(p.as(\\\"w\\\")),p=m2(p.as(\\\"y\\\")),t=(t\u003C=b.ss?[\\\"s\\\",t]:t\u003Cb.s&&[\\\"ss\\\",t])||(o\u003C=1?[\\\"m\\\"]:o\u003Cb.m&&[\\\"mm\\\",o])||(O\u003C=1?[\\\"h\\\"]:O\u003Cb.h&&[\\\"hh\\\",O])||(c\u003C=1?[\\\"d\\\"]:c\u003Cb.d&&[\\\"dd\\\",c]);return(t=(t=null!=b.w?t||(i\u003C=1?[\\\"w\\\"]:i\u003Cb.w&&[\\\"ww\\\",i]):t)||(n\u003C=1?[\\\"M\\\"]:n\u003Cb.M&&[\\\"MM\\\",n])||(p\u003C=1?[\\\"y\\\"]:[\\\"yy\\\",p]))[2]=e,t[3]=0\u003C+M,t[4]=z,(function(M,e,b,z,p){return p.relativeTime(e||1,!!b,M,z)}).apply(null,t)}var N2=Math.abs;function y2(M){return(0\u003CM)-(M\u003C0)||+M}function B2(){var M,e,b,z,p,t,o,O,c,n,i;return this.isValid()?(M=N2(this._milliseconds)/1e3,e=N2(this._days),b=N2(this._months),(O=this.asSeconds())?(z=r(M/60),p=r(z/60),M%=60,z%=60,t=r(b/12),b%=12,o=M?M.toFixed(3).replace(/\\\\.?0+$/,\\\"\\\"):\\\"\\\",c=y2(this._months)!==y2(O)?\\\"-\\\":\\\"\\\",n=y2(this._days)!==y2(O)?\\\"-\\\":\\\"\\\",i=y2(this._milliseconds)!==y2(O)?\\\"-\\\":\\\"\\\",(O\u003C0?\\\"-\\\":\\\"\\\")+\\\"P\\\"+(t?c+t+\\\"Y\\\":\\\"\\\")+(b?c+b+\\\"M\\\":\\\"\\\")+(e?n+e+\\\"D\\\":\\\"\\\")+(p||z||M?\\\"T\\\":\\\"\\\")+(p?i+p+\\\"H\\\":\\\"\\\")+(z?i+z+\\\"M\\\":\\\"\\\")+(M?i+o+\\\"S\\\":\\\"\\\")):\\\"P0D\\\"):this.localeData().invalidDate()}var C=D1.prototype;return C.isValid=function(){return this._isValid},C.abs=function(){var M=this._data;return this._milliseconds=s2(this._milliseconds),this._days=s2(this._days),this._months=s2(this._months),M.milliseconds=s2(M.milliseconds),M.seconds=s2(M.seconds),M.minutes=s2(M.minutes),M.hours=s2(M.hours),M.months=s2(M.months),M.years=s2(M.years),this},C.add=function(M,e){return d2(this,M,e,1)},C.subtract=function(M,e){return d2(this,M,e,-1)},C.as=function(M){if(!this.isValid())return NaN;var e,b,z=this._milliseconds;if(\\\"month\\\"===(M=O(M))||\\\"quarter\\\"===M||\\\"year\\\"===M)switch(e=this._days+z/864e5,b=this._months+l2(e),M){case\\\"month\\\":return b;case\\\"quarter\\\":return b/3;case\\\"year\\\":return b/12}else switch(e=this._days+Math.round(u2(this._months)),M){case\\\"week\\\":return e/7+z/6048e5;case\\\"day\\\":return e+z/864e5;case\\\"hour\\\":return 24*e+z/36e5;case\\\"minute\\\":return 1440*e+z/6e4;case\\\"second\\\":return 86400*e+z/1e3;case\\\"millisecond\\\":return Math.floor(864e5*e)+z;default:throw new Error(\\\"Unknown unit \\\"+M)}},C.asMilliseconds=W0,C.asSeconds=s0,C.asMinutes=D0,C.asHours=u0,C.asDays=l0,C.asWeeks=K0,C.asMonths=s,C.asQuarters=d0,C.asYears=R0,C.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*a(this._months/12):NaN},C._bubble=function(){var M=this._milliseconds,e=this._days,b=this._months,z=this._data;return 0\u003C=M&&0\u003C=e&&0\u003C=b||M\u003C=0&&e\u003C=0&&b\u003C=0||(M+=864e5*q2(u2(b)+e),b=e=0),z.milliseconds=M%1e3,M=r(M/1e3),z.seconds=M%60,M=r(M/60),z.minutes=M%60,M=r(M/60),z.hours=M%24,e+=r(M/24),b+=M=r(l2(e)),e-=q2(u2(M)),M=r(b/12),b%=12,z.days=e,z.months=b,z.years=M,this},C.clone=function(){return D(this)},C.get=function(M){return M=O(M),this.isValid()?this[M+\\\"s\\\"]():NaN},C.milliseconds=q0,C.seconds=f0,C.minutes=U0,C.hours=c,C.days=R2,C.weeks=function(){return r(this.days()/7)},C.months=h2,C.years=g2,C.humanize=function(M,e){var b,z,p;return this.isValid()?(b=!1,p=L2,\\\"object\\\"==typeof M&&(e=M,M=!1),\\\"boolean\\\"==typeof M&&(b=M),\\\"object\\\"==typeof e&&(p=Object.assign({},L2,e),null!=e.s)&&null==e.ss&&(p.ss=e.s-1),z=this.localeData(),p=v2(this,!b,p,z),b&&(p=z.pastFuture(+this,p)),z.postformat(p)):this.localeData().invalidDate()},C.toISOString=B2,C.toString=B2,C.toJSON=B2,C.locale=J1,C.localeData=$1,C.toIsoString=M(\\\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\\\",B2),C.lang=J0,z(\\\"X\\\",0,0,\\\"unix\\\"),z(\\\"x\\\",0,0,\\\"valueOf\\\"),R(\\\"x\\\",g0),R(\\\"X\\\",/[+-]?\\\\d+(\\\\.\\\\d{1,3})?/),g(\\\"X\\\",function(M,e,b){b._d=new Date(1e3*parseFloat(M))}),g(\\\"x\\\",function(M,e,b){b._d=new Date(a(M))}),d.version=\\\"2.29.4\\\",_=X,d.fn=p,d.min=function(){return S1(\\\"isBefore\\\",[].slice.call(arguments,0))},d.max=function(){return S1(\\\"isAfter\\\",[].slice.call(arguments,0))},d.now=function(){return Date.now?Date.now():+new Date},d.utc=n,d.unix=function(M){return X(1e3*M)},d.months=function(M,e){return a2(M,e,\\\"months\\\")},d.isDate=x,d.locale=a1,d.invalid=U,d.duration=D,d.isMoment=f,d.weekdays=function(M,e,b){return A2(M,e,b,\\\"weekdays\\\")},d.parseZone=function(){return X.apply(null,arguments).parseZone()},d.localeData=s1,d.isDuration=C1,d.monthsShort=function(M,e){return a2(M,e,\\\"monthsShort\\\")},d.weekdaysMin=function(M,e,b){return A2(M,e,b,\\\"weekdaysMin\\\")},d.defineLocale=A1,d.updateLocale=function(M,e){var b,z;return null!=e?(z=O1,null!=S[M]&&null!=S[M].parentLocale?S[M].set(J(S[M]._config,e)):(e=J(z=null!=(b=r1(M))?b._config:z,e),null==b&&(e.abbr=M),(z=new $(e)).parentLocale=S[M],S[M]=z),a1(M)):null!=S[M]&&(null!=S[M].parentLocale?(S[M]=S[M].parentLocale,M===a1()&&a1(M)):null!=S[M]&&delete S[M]),S[M]},d.locales=function(){return M0(S)},d.weekdaysShort=function(M,e,b){return A2(M,e,b,\\\"weekdaysShort\\\")},d.normalizeUnits=O,d.relativeTimeRounding=function(M){return void 0===M?m2:\\\"function\\\"==typeof M&&(m2=M,!0)},d.relativeTimeThreshold=function(M,e){return void 0!==L2[M]&&(void 0===e?L2[M]:(L2[M]=e,\\\"s\\\"===M&&(L2.ss=e-1),!0))},d.calendarFormat=function(M,e){var b=M.diff(e,\\\"days\\\",!0);return b\u003C-6?\\\"sameElse\\\":b\u003C-1?\\\"lastWeek\\\":b\u003C0?\\\"lastDay\\\":b\u003C1?\\\"sameDay\\\":b\u003C2?\\\"nextDay\\\":b\u003C7?\\\"nextWeek\\\":\\\"sameElse\\\"},d.prototype=p,d.HTML5_FMT={DATETIME_LOCAL:\\\"YYYY-MM-DDTHH:mm\\\",DATETIME_LOCAL_SECONDS:\\\"YYYY-MM-DDTHH:mm:ss\\\",DATETIME_LOCAL_MS:\\\"YYYY-MM-DDTHH:mm:ss.SSS\\\",DATE:\\\"YYYY-MM-DD\\\",TIME:\\\"HH:mm\\\",TIME_SECONDS:\\\"HH:mm:ss\\\",TIME_MS:\\\"HH:mm:ss.SSS\\\",WEEK:\\\"GGGG-[W]WW\\\",MONTH:\\\"YYYY-MM\\\"},d},\\\"object\\\"==typeof(M=M)&&void 0!==E2?E2.exports=e():\\\"function\\\"==typeof define&&define.amd?define(e):M.moment=e()}}),require_moment_timezone=__commonJS({\\\"node_modules/.pnpm/moment-timezone@0.5.43/node_modules/moment-timezone/moment-timezone.js\\\"(M,e){var b;init_esbuild_inject(),M=M,b=function(p){void 0===p.version&&p[\\\"default\\\"]&&(p=p[\\\"default\\\"]);var e,n={},t={},o={},i={},r={},M=(p&&\\\"string\\\"==typeof p.version||y(\\\"Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/\\\"),p.version.split(\\\".\\\")),b=+M[0],z=+M[1];function O(M){return 96\u003CM?M-87:64\u003CM?M-29:M-48}function c(M){var e=0,b=M.split(\\\".\\\"),z=b[0],p=b[1]||\\\"\\\",t=1,o=0,b=1;for(45===M.charCodeAt(0)&&(b=-(e=1));e\u003Cz.length;e++)o=60*o+O(z.charCodeAt(e));for(e=0;e\u003Cp.length;e++)t/=60,o+=O(p.charCodeAt(e))*t;return o*b}function a(M){for(var e=0;e\u003CM.length;e++)M[e]=c(M[e])}function A(M,e){for(var b=[],z=0;z\u003Ce.length;z++)b[z]=M[e[z]];return b}function s(M){for(var e=M.split(\\\"|\\\"),b=e[2].split(\\\" \\\"),z=e[3].split(\\\"\\\"),p=e[4].split(\\\" \\\"),t=(a(b),a(z),a(p),p),o=z.length,O=0;O\u003Co;O++)t[O]=Math.round((t[O-1]||0)+6e4*t[O]);return t[o-1]=Infinity,{name:e[0],abbrs:A(e[1].split(\\\" \\\"),z),offsets:A(b,z),untils:p,population:0|e[5]}}function d(M){M&&this._set(s(M))}function q(M,e){this.name=M,this.zones=e}function l(M){var e=M.toTimeString(),b=e.match(/\\\\([a-z ]+\\\\)/i);\\\"GMT\\\"===(b=b&&b[0]?(b=b[0].match(/[A-Z]/g))?b.join(\\\"\\\"):void 0:(b=e.match(/[A-Z]{3,5}/g))?b[0]:void 0)&&(b=void 0),this.at=+M,this.abbr=b,this.offset=M.getTimezoneOffset()}function u(M){this.zone=M,this.offsetScore=0,this.abbrScore=0}function W(){for(var M,e,b=(new Date).getFullYear()-2,z=new l(new Date(b,0,1)),p=[z],t=1;t\u003C48;t++)(e=new l(new Date(b,t,1))).offset!==z.offset&&(M=function(M,e){for(var b;b=6e4*((e.at-M.at)/12e4|0);)(b=new l(new Date(M.at+b))).offset===M.offset?M=b:e=b;return M}(z,e),p.push(M),p.push(new l(new Date(M.at+6e4)))),z=e;for(t=0;t\u003C4;t++)p.push(new l(new Date(b+t,0,1))),p.push(new l(new Date(b+t,6,1)));return p}function f(M,e){return M.offsetScore!==e.offsetScore?M.offsetScore-e.offsetScore:M.abbrScore!==e.abbrScore?M.abbrScore-e.abbrScore:M.zone.population!==e.zone.population?e.zone.population-M.zone.population:e.zone.name.localeCompare(M.zone.name)}function R(){try{var M=Intl.DateTimeFormat().resolvedOptions().timeZone;if(M&&3\u003CM.length){var e=i[h(M)];if(e)return e;y(\\\"Moment Timezone found \\\"+M+\\\" from the Intl api, but did not have that data loaded.\\\")}}catch(n){}for(var b,z,p=W(),t=p.length,o=function(M){for(var e,b,z=M.length,p={},t=[],o=0;o\u003Cz;o++)for(e in b=r[M[o].offset]||{})b.hasOwnProperty(e)&&(p[e]=!0);for(o in p)p.hasOwnProperty(o)&&t.push(i[o]);return t}(p),O=[],c=0;c\u003Co.length;c++){for(b=new u(m(o[c])),z=0;z\u003Ct;z++)b.scoreOffsetAt(p[z]);O.push(b)}return O.sort(f),0\u003CO.length?O[0].zone.name:void 0}function h(M){return(M||\\\"\\\").toLowerCase().replace(/\\\\//g,\\\"_\\\")}function g(M){var e,b,z,p;for(\\\"string\\\"==typeof M&&(M=[M]),e=0;e\u003CM.length;e++){p=h(b=(z=M[e].split(\\\"|\\\"))[0]),n[p]=M[e],i[p]=b,o=t=c=O=void 0;var t,o,O=p,c=z[2].split(\\\" \\\");for(a(c),t=0;t\u003Cc.length;t++)o=c[t],r[o]=r[o]||{},r[o][O]=!0}}function m(M,e){M=h(M);var b,z=n[M];return z instanceof d?z:\\\"string\\\"==typeof z?(z=new d(z),n[M]=z):t[M]&&e!==m&&(b=m(t[M],m))?((z=n[M]=new d)._set(b),z.name=i[M],z):null}function L(M){var e,b,z,p;for(\\\"string\\\"==typeof M&&(M=[M]),e=0;e\u003CM.length;e++)z=h((b=M[e].split(\\\"|\\\"))[0]),p=h(b[1]),t[z]=p,i[z]=b[0],t[p]=z,i[p]=b[1]}function v(M){return v.didShowError||(v.didShowError=!0,y(\\\"moment.tz.zoneExists('\\\"+M+\\\"') has been deprecated in favor of !moment.tz.zone('\\\"+M+\\\"')\\\")),!!m(M)}function N(M){var e=\\\"X\\\"===M._f||\\\"x\\\"===M._f;return!(!M._a||void 0!==M._tzm||e)}function y(M){\\\"undefined\\\"!=typeof console&&\\\"function\\\"==typeof console.error&&console.error(M)}function B(M){var e=Array.prototype.slice.call(arguments,0,-1),b=arguments[arguments.length-1],z=m(b),e=p.utc.apply(null,e);return z&&!p.isMoment(M)&&N(e)&&e.add(z.parse(e),\\\"minutes\\\"),e.tz(b),e}(b\u003C2||2==b&&z\u003C6)&&y(\\\"Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js \\\"+p.version+\\\". See momentjs.com\\\"),d.prototype={_set:function(M){this.name=M.name,this.abbrs=M.abbrs,this.untils=M.untils,this.offsets=M.offsets,this.population=M.population},_index:function(M){for(var e=+M,b=this.untils,z=0;z\u003Cb.length;z++)if(e\u003Cb[z])return z},countries:function(){var e=this.name;return Object.keys(o).filter(function(M){return-1!==o[M].zones.indexOf(e)})},parse:function(M){for(var e,b,z,p=+M,t=this.offsets,o=this.untils,O=o.length-1,c=0;c\u003CO;c++)if(e=t[c],b=t[c+1],z=t[c&&c-1],e\u003Cb&&B.moveAmbiguousForward?e=b:z\u003Ce&&B.moveInvalidForward&&(e=z),p\u003Co[c]-6e4*e)return t[c];return t[O]},abbr:function(M){return this.abbrs[this._index(M)]},offset:function(M){return y(\\\"zone.offset has been deprecated in favor of zone.utcOffset\\\"),this.offsets[this._index(M)]},utcOffset:function(M){return this.offsets[this._index(M)]}},u.prototype.scoreOffsetAt=function(M){this.offsetScore+=Math.abs(this.zone.utcOffset(M.at)-M.offset),this.zone.abbr(M.at).replace(/[^A-Z]/g,\\\"\\\")!==M.abbr&&this.abbrScore++},B.version=\\\"0.5.43\\\",B.dataVersion=\\\"\\\",B._zones=n,B._links=t,B._names=i,B._countries=o,B.add=g,B.link=L,B.load=function(M){g(M.zones),L(M.links);var e,b,z,p=M.countries;if(p&&p.length)for(e=0;e\u003Cp.length;e++)b=(z=p[e].split(\\\"|\\\"))[0].toUpperCase(),z=z[1].split(\\\" \\\"),o[b]=new q(b,z);B.dataVersion=M.version},B.zone=m,B.zoneExists=v,B.guess=function(M){return e=e&&!M?e:R()},B.names=function(){var M,e=[];for(M in i)i.hasOwnProperty(M)&&(n[M]||n[t[M]])&&i[M]&&e.push(i[M]);return e.sort()},B.Zone=d,B.unpack=s,B.unpackBase60=c,B.needsOffset=N,B.moveInvalidForward=!0,B.moveAmbiguousForward=!1,B.countries=function(){return Object.keys(o)},B.zonesForCountry=function(M,e){var b,z;return b=(b=M).toUpperCase(),(M=o[b]||null)?(z=M.zones.sort(),e?z.map(function(M){return{name:M,offset:m(M).utcOffset(new Date)}}):z):null};var E,M=p.fn;function T(M){return function(){return this._z?this._z.abbr(this):M.call(this)}}function S(M){return function(){return this._z=null,M.apply(this,arguments)}}p.tz=B,p.defaultZone=null,p.updateOffset=function(M,e){var b,z=p.defaultZone;void 0===M._z&&(z&&N(M)&&!M._isUTC&&(M._d=p.utc(M._a)._d,M.utc().add(z.parse(M),\\\"minutes\\\")),M._z=z),M._z&&(z=M._z.utcOffset(M),Math.abs(z)\u003C16&&(z/=60),void 0!==M.utcOffset?(b=M._z,M.utcOffset(-z,e),M._z=b):M.zone(z,e))},M.tz=function(M,e){if(M){if(\\\"string\\\"!=typeof M)throw new Error(\\\"Time zone name must be a string, got \\\"+M+\\\" [\\\"+typeof M+\\\"]\\\");return this._z=m(M),this._z?p.updateOffset(this,e):y(\\\"Moment Timezone has no data for \\\"+M+\\\". See http://momentjs.com/timezone/docs/#/data-loading/.\\\"),this}if(this._z)return this._z.name},M.zoneName=T(M.zoneName),M.zoneAbbr=T(M.zoneAbbr),M.utc=S(M.utc),M.local=S(M.local),M.utcOffset=(E=M.utcOffset,function(){return 0\u003Carguments.length&&(this._z=null),E.apply(this,arguments)}),p.tz.setDefault=function(M){return(b\u003C2||2==b&&z\u003C9)&&y(\\\"Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js \\\"+p.version+\\\".\\\"),p.defaultZone=M?m(M):null,p};M=p.momentProperties;return\\\"[object Array]\\\"===Object.prototype.toString.call(M)?(M.push(\\\"_z\\\"),M.push(\\\"_a\\\")):M&&(M._z=null),p},\\\"object\\\"==typeof e&&e.exports?e.exports=b(require_moment()):\\\"function\\\"==typeof define&&define.amd?define([\\\"moment\\\"],b):b(M.moment)}}),require_latest=__commonJS({\\\"node_modules/.pnpm/moment-timezone@0.5.43/node_modules/moment-timezone/data/packed/latest.json\\\"(M,e){e.exports={version:\\\"2023c\\\",zones:[\\\"Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5\\\",\\\"Africa/Nairobi|LMT +0230 EAT +0245|-2r.g -2u -30 -2J|012132|-2ua2r.g N6nV.g 3Fbu h1cu dzbJ|47e5\\\",\\\"Africa/Algiers|LMT PMT WET WEST CET CEST|-c.c -9.l 0 -10 -10 -20|01232323232323232454542423234542324|-3bQ0c.c MDA2.P cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5\\\",\\\"Africa/Lagos|LMT GMT +0030 WAT|-d.z 0 -u -10|01023|-2B40d.z 7iod.z dnXK.p dLzH.z|17e6\\\",\\\"Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4\\\",\\\"Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5\\\",\\\"Africa/Cairo|LMT EET EEST|-25.9 -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2MBC5.9 1AQM5.9 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0 kSp0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0|15e6\\\",\\\"Africa/Casablanca|LMT +00 +01|u.k 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0|32e5\\\",\\\"Africa/Ceuta|LMT WET WEST CET CEST|l.g 0 -10 -10 -20|0121212121212121212121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2M0M0 GdX0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|85e3\\\",\\\"Africa/El_Aaiun|LMT -01 +00 +01|Q.M 10 0 -10|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0|20e4\\\",\\\"Africa/Johannesburg|LMT SAST SAST SAST|-1Q -1u -20 -30|0123232|-39EpQ qTcm 1Ajdu 1cL0 1cN0 1cL0|84e5\\\",\\\"Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|012121212121212121212121212121212131|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 PeX0|\\\",\\\"Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5\\\",\\\"Africa/Monrovia|LMT MMT MMT GMT|H.8 H.8 I.u 0|0123|-3ygng.Q 1usM0 28G01.m|11e5\\\",\\\"Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5\\\",\\\"Africa/Sao_Tome|LMT LMT GMT WAT|-q.U A.J 0 -10|01232|-3tooq.U 18aoq.U 4i6N0 2q00|\\\",\\\"Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5\\\",\\\"Africa/Tunis|LMT PMT CET CEST|-E.I -9.l -10 -20|01232323232323232323232323232323232|-3zO0E.I 1cBAv.n 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5\\\",\\\"Africa/Windhoek|LMT +0130 SAST SAST CAT WAT|-18.o -1u -20 -30 -20 -10|012324545454545454545454545454545454545454545454545454|-39Ep8.o qTbC.o 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4\\\",\\\"America/Adak|LMT LMT NST NWT NPT BST BDT AHST HST HDT|-cd.m bK.C b0 a0 a0 b0 a0 a0 a0 90|01234256565656565656565656565656565678989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVzf.p 1EX1d.m 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326\\\",\\\"America/Anchorage|LMT LMT AST AWT APT AHST AHDT YST AKST AKDT|-e0.o 9X.A a0 90 90 a0 90 90 90 80|01234256565656565656565656565656565678989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVxs.n 1EX20.o 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4\\\",\\\"America/Puerto_Rico|LMT AST AWT APT|4o.p 40 30 30|01231|-2Qi7z.z 1IUbz.z 7XT0 iu0|24e5\\\",\\\"America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4\\\",\\\"America/Argentina/Buenos_Aires|LMT CMT -04 -03 -02|3R.M 4g.M 40 30 20|012323232323232323232323232323232323232323234343434343434343|-331U6.c 125cn pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0|\\\",\\\"America/Argentina/Catamarca|LMT CMT -04 -03 -02|4n.8 4g.M 40 30 20|012323232323232323232323232323232323232323234343434243432343|-331TA.Q 125bR.E pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0|\\\",\\\"America/Argentina/Cordoba|LMT CMT -04 -03 -02|4g.M 4g.M 40 30 20|012323232323232323232323232323232323232323234343434243434343|-331TH.c 125c0 pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0|\\\",\\\"America/Argentina/Jujuy|LMT CMT -04 -03 -02|4l.c 4g.M 40 30 20|0123232323232323232323232323232323232323232343434232434343|-331TC.M 125bT.A pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0|\\\",\\\"America/Argentina/La_Rioja|LMT CMT -04 -03 -02|4r.o 4g.M 40 30 20|0123232323232323232323232323232323232323232343434342343432343|-331Tw.A 125bN.o pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|\\\",\\\"America/Argentina/Mendoza|LMT CMT -04 -03 -02|4z.g 4g.M 40 30 20|012323232323232323232323232323232323232323234343423232432343|-331To.I 125bF.w pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0|\\\",\\\"America/Argentina/Rio_Gallegos|LMT CMT -04 -03 -02|4A.Q 4g.M 40 30 20|012323232323232323232323232323232323232323234343434343432343|-331Tn.8 125bD.U pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|\\\",\\\"America/Argentina/Salta|LMT CMT -04 -03 -02|4l.E 4g.M 40 30 20|0123232323232323232323232323232323232323232343434342434343|-331TC.k 125bT.8 pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0|\\\",\\\"America/Argentina/San_Juan|LMT CMT -04 -03 -02|4y.4 4g.M 40 30 20|0123232323232323232323232323232323232323232343434342343432343|-331Tp.U 125bG.I pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0|\\\",\\\"America/Argentina/San_Luis|LMT CMT -04 -03 -02|4p.o 4g.M 40 30 20|0123232323232323232323232323232323232323232343434232323432323|-331Ty.A 125bP.o pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0|\\\",\\\"America/Argentina/Tucuman|LMT CMT -04 -03 -02|4k.Q 4g.M 40 30 20|01232323232323232323232323232323232323232323434343424343234343|-331TD.8 125bT.U pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0|\\\",\\\"America/Argentina/Ushuaia|LMT CMT -04 -03 -02|4x.c 4g.M 40 30 20|012323232323232323232323232323232323232323234343434343432343|-331Tq.M 125bH.A pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0|\\\",\\\"America/Asuncion|LMT AMT -04 -03|3O.E 3O.E 40 30|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-3eLw9.k 1FGo0 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0|28e5\\\",\\\"America/Panama|LMT CMT EST|5i.8 5j.A 50|012|-3eLuF.Q Iy01.s|15e5\\\",\\\"America/Bahia_Banderas|LMT MST CST MDT PST CDT|71 70 60 60 80 50|0121312141313131313131313131313131313152525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|84e3\\\",\\\"America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5\\\",\\\"America/Barbados|LMT AST ADT -0330|3W.t 40 30 3u|0121213121212121|-2m4k1.v 1eAN1.v RB0 1Bz0 Op0 1rb0 11d0 1jJc0 IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4\\\",\\\"America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5\\\",\\\"America/Belize|LMT CST -0530 CWT CPT CDT|5Q.M 60 5u 50 50 50|012121212121212121212121212121212121212121212121213412121212121212121212121212121212121212121215151|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu Rcu 7Bt0 Ni0 4nd0 Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu e9Au qn0 lxB0 mn0|57e3\\\",\\\"America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2\\\",\\\"America/Bogota|LMT BMT -05 -04|4U.g 4U.g 50 40|01232|-3sTv3.I 1eIo0 38yo3.I 1PX0|90e5\\\",\\\"America/Boise|LMT PST PDT MST MWT MPT MDT|7I.N 80 70 70 60 60 60|01212134536363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-3tFE0 1nEe0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4\\\",\\\"America/Cambridge_Bay|-00 MST MWT MPT MDT CST CDT EST|0 70 60 60 60 60 50 50|012314141414141414141414141414141414141414141414141414141414567541414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-21Jc0 RO90 8x20 ix0 14HB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2\\\",\\\"America/Campo_Grande|LMT -04 -03|3C.s 40 30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4\\\",\\\"America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4\\\",\\\"America/Caracas|LMT CMT -0430 -04|4r.I 4r.E 4u 40|012323|-3eLvw.g ROnX.U 28KM2.k 1IwOu kqo0|29e5\\\",\\\"America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3\\\",\\\"America/Chicago|LMT CST CDT EST CWT CPT|5O.A 60 50 50 50 50|012121212121212121212121212121212121213121212121214512121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFG0 1nEe0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5\\\",\\\"America/Chihuahua|LMT MST CST MDT CDT|74.k 70 60 60 50|0121312424231313131313131313131313131313131313131313131313132|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|81e4\\\",\\\"America/Ciudad_Juarez|LMT MST CST MDT CDT|75.U 70 60 60 50|0121312424231313131313131313131313131313131313131313131313132131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 cm0 EP0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|\\\",\\\"America/Costa_Rica|LMT SJMT CST CDT|5A.d 5A.d 60 50|01232323232|-3eLun.L 1fyo0 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5\\\",\\\"America/Phoenix|LMT MST MDT MWT|7s.i 70 60 60|012121313121|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5\\\",\\\"America/Cuiaba|LMT -04 -03|3I.k 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|54e4\\\",\\\"America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8\\\",\\\"America/Dawson_Creek|LMT PST PDT PWT PPT MST|80.U 80 70 70 70 70|01213412121212121212121212121212121212121212121212121212125|-3tofX.4 1nspX.4 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3\\\",\\\"America/Dawson|LMT YST YDT YWT YPT YDDT PST PDT MST|9h.E 90 80 80 80 70 80 70 70|0121213415167676767676767676767676767676767676767676767676767676767676767676767676767676767678|-2MSeG.k GWpG.k 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|13e2\\\",\\\"America/Denver|LMT MST MDT MWT MPT|6X.U 70 60 60 60|012121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFF0 1nEe0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5\\\",\\\"America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|0123425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 JxX1 SMX 1cN0 1cL0 aW10 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5\\\",\\\"America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|0121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 XQp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5\\\",\\\"America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3\\\",\\\"America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5\\\",\\\"America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 4Q00 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5\\\",\\\"America/Fort_Nelson|LMT PST PDT PWT PPT MST|8a.L 80 70 70 70 70|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121215|-3tofN.d 1nspN.d 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2\\\",\\\"America/Fort_Wayne|LMT CST CDT CWT CPT EST EDT|5I.C 60 50 50 50 50 40|0121212134121212121212121212151565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5\\\",\\\"America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3\\\",\\\"America/Godthab|LMT -03 -02 -01|3q.U 30 20 10|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 2so0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|17e3\\\",\\\"America/Goose_Bay|LMT NST NDT NST NDT NWT NPT AST ADT ADDT|41.E 3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|0121343434343434356343434343434343434343434343434343434343437878787878787878787878787878787878787878787879787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787|-3tojW.k 1nspt.c 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2\\\",\\\"America/Grand_Turk|LMT KMT EST EDT AST|4I.w 57.a 50 40 40|01232323232323232323232323232323232323232323232323232323232323232323232323243232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3eLvf.s RK0m.C 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 7jA0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2\\\",\\\"America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5\\\",\\\"America/Guayaquil|LMT QMT -05 -04|5j.k 5e 50 40|01232|-3eLuE.E 1DNzS.E 2uILK rz0|27e5\\\",\\\"America/Guyana|LMT -04 -0345 -03|3Q.D 40 3J 30|01231|-2mf87.l 8Hc7.l 2r7bJ Ey0f|80e4\\\",\\\"America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4\\\",\\\"America/Havana|LMT HMT CST CDT|5t.s 5t.A 50 40|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3eLuu.w 1qx00.8 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5\\\",\\\"America/Hermosillo|LMT MST CST MDT PST|7n.Q 70 60 60 80|0121312141313131|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4\\\",\\\"America/Indiana/Knox|LMT CST CDT CWT CPT EST|5K.u 60 50 50 50 50|01212134121212121212121212121212121212151212121212121212121212121212121212121212121212121252121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"America/Indiana/Marengo|LMT CST CDT CWT CPT EST EDT|5J.n 60 50 50 50 50 40|01212134121212121212121215656565656525656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"America/Indiana/Petersburg|LMT CST CDT CWT CPT EST EDT|5N.7 60 50 50 50 50 40|01212134121212121212121212121512121212121212121212125212565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"America/Indiana/Tell_City|LMT CST CDT CWT CPT EST EDT|5L.3 60 50 50 50 50 40|012121341212121212121212121512165652121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 8wn0 1cN0 1cL0 1cN0 1cK0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"America/Indiana/Vevay|LMT CST CDT CWT CPT EST EDT|5E.g 60 50 50 50 50 40|0121213415656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"America/Indiana/Vincennes|LMT CST CDT CWT CPT EST EDT|5O.7 60 50 50 50 50 40|01212134121212121212121212121212156565212565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"America/Indiana/Winamac|LMT CST CDT CWT CPT EST EDT|5K.p 60 50 50 50 50 40|012121341212121212121212121212121212121565652165656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"America/Inuvik|-00 PST PDT MDT MST|0 80 70 60 70|01212121212121213434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-FnA0 L3K0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2\\\",\\\"America/Iqaluit|-00 EWT EPT EST EDT CST CDT|0 40 40 50 40 60 50|0123434343434343434343434343434343434343434343434343434343456343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-16K00 7nX0 iv0 14HB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2\\\",\\\"America/Jamaica|LMT KMT EST EDT|57.a 57.a 50 40|01232323232323232323232|-3eLuQ.O RK00 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4\\\",\\\"America/Juneau|LMT LMT PST PWT PPT PDT YDT YST AKST AKDT|-f2.j 8V.F 80 70 70 70 80 90 90 80|0123425252525252525252525252625252578989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVwq.s 1EX12.j 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3\\\",\\\"America/Kentucky/Louisville|LMT CST CDT CWT CPT EST EDT|5H.2 60 50 50 50 50 40|01212121213412121212121212121212121212565656565656525656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 1nX1 e0X 9vd0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"America/Kentucky/Monticello|LMT CST CDT CWT CPT EST EDT|5D.o 60 50 50 50 50 40|01212134121212121212121212121212121212121212121212121212121212121212121212565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"America/La_Paz|LMT CMT BST -04|4w.A 4w.A 3w.A 40|0123|-3eLvr.o 1FIo0 13b0|19e5\\\",\\\"America/Lima|LMT LMT -05 -04|58.c 58.A 50 40|01232323232323232|-3eLuP.M JcM0.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6\\\",\\\"America/Los_Angeles|LMT PST PDT PWT PPT|7Q.W 80 70 70 70|0121213412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFE0 1nEe0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6\\\",\\\"America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4\\\",\\\"America/Managua|LMT MMT CST EST CDT|5J.8 5J.c 60 50 50|01232424232324242|-3eLue.Q 1Mhc0.4 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5\\\",\\\"America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5\\\",\\\"America/Martinique|LMT FFMT AST ADT|44.k 44.k 40 30|01232|-3eLvT.E PTA0 2LPbT.E 19X0|39e4\\\",\\\"America/Matamoros|LMT CST CDT|6u 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4\\\",\\\"America/Mazatlan|LMT MST CST MDT PST|75.E 70 60 60 80|0121312141313131313131313131313131313131313131313131313131313131|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|44e4\\\",\\\"America/Menominee|LMT CST CDT CWT CPT EST|5O.r 60 50 50 50 50|012121341212152121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3pdG9.x 1jce9.x 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2\\\",\\\"America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|11e5\\\",\\\"America/Metlakatla|LMT LMT PST PWT PPT PDT AKST AKDT|-fd.G 8K.i 80 70 70 70 90 80|0123425252525252525252525252525252526767672676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-48Pzs.L 1jVwf.5 1EX1d.G 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2\\\",\\\"America/Mexico_City|LMT MST CST MDT CDT CWT|6A.A 70 60 60 50 50|012131242425242424242424242424242424242424242424242424242424242424242|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|20e6\\\",\\\"America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2\\\",\\\"America/Moncton|LMT EST AST ADT AWT APT|4j.8 50 40 30 30 30|0123232323232323232323245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3txvE.Q J4ME.Q CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3\\\",\\\"America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|41e5\\\",\\\"America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5\\\",\\\"America/Toronto|LMT EST EDT EWT EPT|5h.w 50 40 40 40|012121212121212121212121212121212121212121212123412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-32B6G.s UFdG.s 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5\\\",\\\"America/New_York|LMT EST EDT EWT EPT|4U.2 50 40 40 40|012121212121212121212121212121212121212121212121213412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFH0 1nEe0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6\\\",\\\"America/Nome|LMT LMT NST NWT NPT BST BDT YST AKST AKDT|-cW.m b1.C b0 a0 a0 b0 a0 90 90 80|01234256565656565656565656565656565678989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVyu.p 1EX1W.m 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2\\\",\\\"America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2\\\",\\\"America/North_Dakota/Beulah|LMT MST MDT MWT MPT CST CDT|6L.7 70 60 60 60 60 50|012121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0|\\\",\\\"America/North_Dakota/Center|LMT MST MDT MWT MPT CST CDT|6J.c 70 60 60 60 60 50|0121213412121212121212121212121212121212121212121212121212125656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"America/North_Dakota/New_Salem|LMT MST MDT MWT MPT CST CDT|6J.D 70 60 60 60 60 50|0121213412121212121212121212121212121212121212121212121212121212121212121212121212565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"America/Ojinaga|LMT MST CST MDT CDT|6V.E 70 60 60 50|0121312424231313131313131313131313131313131313131313131313132424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 Rc0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3\\\",\\\"America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4\\\",\\\"America/Port-au-Prince|LMT PPMT EST EDT|4N.k 4N 50 40|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3eLva.E 15RLX.E 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5\\\",\\\"America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4\\\",\\\"America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4\\\",\\\"America/Punta_Arenas|LMT SMT -05 -04 -03|4H.E 4G.J 50 40 30|01213132323232323232343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-3eLvg.k MJbX.5 fJAh.f 5knG.J 1Vzh.f jRAG.J 1pbh.f 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|\\\",\\\"America/Winnipeg|LMT CST CDT CWT CPT|6s.A 60 50 50 50|0121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3kLtv.o 1a3bv.o WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4\\\",\\\"America/Rankin_Inlet|-00 CST CDT EST|0 60 50 50|01212121212121212121212121212121212121212121212121212121212321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-vDc0 Bjk0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2\\\",\\\"America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5\\\",\\\"America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4\\\",\\\"America/Resolute|-00 CST CDT EST|0 60 50 50|01212121212121212121212121212121212121212121212121212121212321212121212321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-SnA0 103I0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229\\\",\\\"America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4\\\",\\\"America/Santiago|LMT SMT -05 -04 -03|4G.J 4G.J 50 40 30|0121313232323232323432343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-3eLvh.f MJc0 fJAh.f 5knG.J 1Vzh.f jRAG.J 1pbh.f 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 hX0 1q10 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0|62e5\\\",\\\"America/Santo_Domingo|LMT SDMT EST EDT -0430 AST|4D.A 4E 50 40 4u 40|012324242424242525|-3eLvk.o 1Jic0.o 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5\\\",\\\"America/Sao_Paulo|LMT -03 -02|36.s 30 20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6\\\",\\\"America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|452\\\",\\\"America/Sitka|LMT LMT PST PWT PPT PDT YST AKST AKDT|-eW.L 91.d 80 70 70 70 90 90 80|0123425252525252525252525252525252567878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787|-48Pzs.L 1jVwu 1EX0W.L 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2\\\",\\\"America/St_Johns|LMT NST NDT NST NDT NWT NPT NDDT|3u.Q 3u.Q 2u.Q 3u 2u 2u 2u 1u|012121212121212121212121212121212121213434343434343435634343434343434343434343434343434343434343434343434343434343434343434343434343434343437343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3tokt.8 1l020 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4\\\",\\\"America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3\\\",\\\"America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5\\\",\\\"America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656\\\",\\\"America/Vancouver|LMT PST PDT PWT PPT|8c.s 80 70 70 70|01213412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tofL.w 1nspL.w 1in0 UGp0 8x10 iy0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5\\\",\\\"America/Whitehorse|LMT YST YDT YWT YPT YDDT PST PDT MST|90.c 90 80 80 80 70 80 70 70|0121213415167676767676767676767676767676767676767676767676767676767676767676767676767676767678|-2MSeX.M GWpX.M 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 LA0 ytd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|23e3\\\",\\\"America/Yakutat|LMT LMT YST YWT YPT YDT AKST AKDT|-eF.5 9i.T 90 80 80 80 90 80|0123425252525252525252525252525252526767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-48Pzs.L 1jVwL.G 1EX1F.5 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642\\\",\\\"Antarctica/Casey|-00 +08 +11|0 -80 -b0|0121212121212|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10 1o30 14k0 1kr0 12l0 1o01|10\\\",\\\"Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70\\\",\\\"Pacific/Port_Moresby|LMT PMMT +10|-9M.E -9M.w -a0|012|-3D8VM.E AvA0.8|25e4\\\",\\\"Antarctica/Macquarie|-00 AEST AEDT|0 -a0 -b0|0121012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2OPc0 Fb40 1a00 4SK0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 3Co0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|1\\\",\\\"Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60\\\",\\\"Pacific/Auckland|LMT NZMT NZST NZST NZDT|-bD.4 -bu -cu -c0 -d0|012131313131313131313131313134343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-46jLD.4 2nEO9.4 Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00|14e5\\\",\\\"Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40\\\",\\\"Antarctica/Rothera|-00 -03|0 30|01|gOo0|130\\\",\\\"Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5\\\",\\\"Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|40\\\",\\\"Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5\\\",\\\"Europe/Berlin|LMT CET CEST CEMT|-R.s -10 -20 -30|012121212121212321212321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-36RcR.s UbWR.s 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|41e5\\\",\\\"Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5\\\",\\\"Asia/Amman|LMT EET EEST +03|-2n.I -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212123|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 LA0 1C00|25e5\\\",\\\"Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3\\\",\\\"Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4\\\",\\\"Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4\\\",\\\"Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4\\\",\\\"Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|\\\",\\\"Asia/Baghdad|LMT BMT +03 +04|-2V.E -2V.A -30 -40|0123232323232323232323232323232323232323232323232323232|-3eLCV.E 18ao0.4 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5\\\",\\\"Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4\\\",\\\"Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5\\\",\\\"Asia/Bangkok|LMT BMT +07|-6G.4 -6G.4 -70|012|-3D8SG.4 1C000|15e6\\\",\\\"Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|\\\",\\\"Asia/Beirut|LMT EET EEST|-2m -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3D8Om 1BWom 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|22e5\\\",\\\"Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4\\\",\\\"Asia/Brunei|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|42e4\\\",\\\"Asia/Kolkata|LMT HMT MMT IST +0630|-5R.s -5R.k -5l.a -5u -6u|01234343|-4Fg5R.s BKo0.8 1rDcw.a 1r2LP.a 1un0 HB0 7zX0|15e6\\\",\\\"Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4\\\",\\\"Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3\\\",\\\"Asia/Shanghai|LMT CST CDT|-85.H -80 -90|012121212121212121212121212121|-2M0U5.H Iuo5.H 18n0 OjB0 Rz0 11d0 1wL0 A10 8HX0 1G10 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 aL0 1tU30 Rb0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6\\\",\\\"Asia/Colombo|LMT MMT +0530 +06 +0630|-5j.o -5j.w -5u -60 -6u|012342432|-3D8Rj.o 13inX.Q 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5\\\",\\\"Asia/Dhaka|LMT HMT +0630 +0530 +06 +07|-61.E -5R.k -6u -5u -60 -70|01232454|-3eLG1.E 26008.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6\\\",\\\"Asia/Damascus|LMT EET EEST +03|-2p.c -20 -30 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212123|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0|26e5\\\",\\\"Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4\\\",\\\"Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5\\\",\\\"Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4\\\",\\\"Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|\\\",\\\"Asia/Gaza|LMT EET EEST IST IDT|-2h.Q -20 -30 -20 -30|01212121212121212121212121212121212343434343434343434343434343434312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2MBCh.Q 1Azeh.Q MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 pBa0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1qp0 1cN0 1cL0 17d0 1in0 14p0 1lb0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1lb0 14p0 1in0 17d0 1cL0 1cN0 19X0 e10 2L0 WN0 14n0 gN0 5z0 11B0 WL0 e10 bb0 11B0 TX0 e10 dX0 11B0 On0 gN0 gL0 11B0 Lz0 e10 pb0 WN0 IL0 e10 rX0 WN0 Db0 gN0 uL0 11B0 xz0 e10 An0 11B0 rX0 gN0 Db0 11B0 pb0 e10 Lz0 WN0 mn0 e10 On0 WN0 gL0 gN0 Rb0 11B0 bb0 e10 WL0 11B0 5z0 gN0 11z0 11B0 2L0 gN0 14n0 1fB0 1cL0 1a10 1fz0 14p0 1lb0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1nX0 14p0 1in0 17d0 1fz0 1a10 19X0 1fB0 17b0 e10 28L0 e10 25X0 gN0 25X0 e10 gL0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|18e5\\\",\\\"Asia/Hebron|LMT EET EEST IST IDT|-2k.n -20 -30 -20 -30|0121212121212121212121212121212121234343434343434343434343434343431212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2MBCk.n 1Azek.n MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 pBa0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1qp0 1cN0 1cL0 17d0 1in0 14p0 1lb0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1lb0 14p0 1in0 17d0 1cL0 1cN0 19X0 e10 2L0 WN0 14n0 gN0 5z0 11B0 WL0 e10 bb0 11B0 TX0 e10 dX0 11B0 On0 gN0 gL0 11B0 Lz0 e10 pb0 WN0 IL0 e10 rX0 WN0 Db0 gN0 uL0 11B0 xz0 e10 An0 11B0 rX0 gN0 Db0 11B0 pb0 e10 Lz0 WN0 mn0 e10 On0 WN0 gL0 gN0 Rb0 11B0 bb0 e10 WL0 11B0 5z0 gN0 11z0 11B0 2L0 gN0 14n0 1fB0 1cL0 1a10 1fz0 14p0 1lb0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1nX0 14p0 1in0 17d0 1fz0 1a10 19X0 1fB0 17b0 e10 28L0 e10 25X0 gN0 25X0 e10 gL0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|25e4\\\",\\\"Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.u -76.u -70 -80 -90|0123423232|-2yC76.u bK00 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5\\\",\\\"Asia/Hong_Kong|LMT HKT HKST HKWT JST|-7A.G -80 -90 -8u -90|0123412121212121212121212121212121212121212121212121212121212121212121|-2CFH0 1taO0 Hc0 xUu 9tBu 11z0 1tDu Rc0 1wo0 11A0 1cM0 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5\\\",\\\"Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3\\\",\\\"Asia/Irkutsk|LMT IMT +07 +08 +09|-6V.5 -6V.5 -70 -80 -90|012343434343434343434343234343434343434343434343434343434343434343|-3D8SV.5 1Bxc0 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4\\\",\\\"Europe/Istanbul|LMT IMT EET EEST +03 +04|-1T.Q -1U.U -20 -30 -30 -40|01232323232323232323232323232323232323232323232345423232323232323232323232323232323232323232323232323232323232323234|-3D8NT.Q 1ePXW.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSN0 CL0 mp0 1Vz0 1gN0 8yn0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1ip0 19X0 1ip0 17b0 qdB0 38L0 1jd0 Tz0 l6O0 11A0 WN0 1qL0 TB0 1tX0 U10 1tz0 11B0 1in0 17d0 z90 cne0 pb0 2Cp0 1800 14o0 1dc0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6\\\",\\\"Asia/Jakarta|LMT BMT +0720 +0730 +09 +08 WIB|-77.c -77.c -7k -7u -90 -80 -70|012343536|-49jH7.c 2hiLL.c luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6\\\",\\\"Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4\\\",\\\"Asia/Jerusalem|LMT JMT IST IDT IDDT|-2k.S -2k.E -20 -30 -40|012323232323232432323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3D8Ok.S 1wvA0.e SyOk.E MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 3LA0 Eo0 oo0 1co0 1dA0 16o0 10M0 1jc0 1tA0 14o0 1cM0 1a00 11A0 1Nc0 Ao0 1Nc0 Ao0 1Ko0 LA0 1o00 WM0 EQK0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0|81e4\\\",\\\"Asia/Kabul|LMT +04 +0430|-4A.M -40 -4u|012|-3eLEA.M 2dTcA.M|46e5\\\",\\\"Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4\\\",\\\"Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6\\\",\\\"Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5\\\",\\\"Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2\\\",\\\"Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5\\\",\\\"Asia/Kuala_Lumpur|LMT SMT +07 +0720 +0730 +09 +08|-6T.p -6T.p -70 -7k -7u -90 -80|01234546|-2M0ST.p aIM0 17anT.p l5XE 17bO 8Fyu 1so10|71e5\\\",\\\"Asia/Macau|LMT CST +09 +10 CDT|-7y.a -80 -90 -a0 -90|012323214141414141414141414141414141414141414141414141414141414141414141|-2CFHy.a 1uqKy.a PX0 1kn0 15B0 11b0 4Qq0 1oM0 11c0 1ko0 1u00 11A0 1cM0 11c0 1o00 11A0 1o00 11A0 1oo0 1400 1o00 11A0 1o00 U00 1tA0 U00 1wo0 Rc0 1wru U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cK0 1cO0 1cK0 1cO0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|57e4\\\",\\\"Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3\\\",\\\"Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5\\\",\\\"Asia/Manila|LMT LMT PST PDT JST|fU -84 -80 -90 -90|01232423232|-54m84 2clc0 1vfc4 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6\\\",\\\"Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|32e4\\\",\\\"Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4\\\",\\\"Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5\\\",\\\"Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5\\\",\\\"Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4\\\",\\\"Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4\\\",\\\"Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BA0|29e5\\\",\\\"Asia/Qostanay|LMT +04 +05 +06|-4e.s -40 -50 -60|012323232323232323232123232323232323232323232323|-1Pc4e.s eUoe.s 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|\\\",\\\"Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|01232323232323232323232323232323232323232323232|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 zQl0|73e4\\\",\\\"Asia/Rangoon|LMT RMT +0630 +09|-6o.L -6o.L -6u -90|01232|-3D8So.L 1BnA0 SmnS.L 7j9u|48e5\\\",\\\"Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4\\\",\\\"Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4\\\",\\\"Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -a0 -9u|012343434343151515151515134343|-2um8r.Q 97XV.Q 1m1zu 6CM0 Fz0 1kN0 14n0 1kN0 14L0 1zd0 On0 69B0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6\\\",\\\"Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2\\\",\\\"Asia/Taipei|LMT CST JST CDT|-86 -80 -90 -90|012131313131313131313131313131313131313131|-30bk6 1FDc6 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5\\\",\\\"Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5\\\",\\\"Asia/Tbilisi|LMT TBMT +03 +04 +05|-2X.b -2X.b -30 -40 -50|01234343434343434343434323232343434343434343434323|-3D8OX.b 1LUM0 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5\\\",\\\"Asia/Tehran|LMT TMT +0330 +0430 +04 +05|-3p.I -3p.I -3u -4u -40 -50|012345423232323232323232323232323232323232323232323232323232323232323232|-2btDp.I Llc0 1FHaT.I 1pc0 120u Rc0 XA0 Wou JX0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6\\\",\\\"Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3\\\",\\\"Asia/Tokyo|LMT JST JDT|-9i.X -90 -a0|0121212121|-3jE90 2qSo0 Rc0 1lc0 14o0 1zc0 Oo0 1zc0 Oo0|38e6\\\",\\\"Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5\\\",\\\"Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5\\\",\\\"Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2\\\",\\\"Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4\\\",\\\"Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4\\\",\\\"Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5\\\",\\\"Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5\\\",\\\"Atlantic/Azores|LMT HMT -02 -01 +00 WET|1G.E 1S.w 20 10 0 0|01232323232323232323232323232323232323232323234323432343234323232323232323232323232323232323232323232343434343434343434343434343434345434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3tomh.k 18aoh.k aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|25e4\\\",\\\"Atlantic/Bermuda|LMT BMT BST AST ADT|4j.i 4j.i 3j.i 40 30|0121213434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3eLvE.G 16mo0 1bb0 1i10 11X0 ru30 thbE.G 1PX0 11B0 1tz0 Rd0 1zb0 Op0 1zb0 3I10 Lz0 1EN0 FX0 1HB0 FX0 1Kp0 Db0 1Kp0 Db0 1Kp0 FX0 93d0 11z0 GAp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3\\\",\\\"Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|54e4\\\",\\\"Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4\\\",\\\"Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|49e3\\\",\\\"Atlantic/Madeira|LMT FMT -01 +00 +01 WET WEST|17.A 17.A 10 0 -10 0 -10|01232323232323232323232323232323232323232323234323432343234323232323232323232323232323232323232323232565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tomQ.o 18anQ.o aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e4\\\",\\\"Atlantic/South_Georgia|LMT -02|2q.8 20|01|-3eLxx.Q|30\\\",\\\"Atlantic/Stanley|LMT SMT -04 -03 -02|3P.o 3P.o 40 30 20|0123232323232323434323232323232323232323232323232323232323232323232323|-3eLw8.A S200 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2\\\",\\\"Australia/Sydney|LMT AEST AEDT|-a4.Q -a0 -b0|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-32oW4.Q RlC4.Q xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|40e5\\\",\\\"Australia/Adelaide|LMT ACST ACST ACDT|-9e.k -90 -9u -au|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-32oVe.k ak0e.k H1Bu xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|11e5\\\",\\\"Australia/Brisbane|LMT AEST AEDT|-ac.8 -a0 -b0|012121212121212121|-32Bmc.8 Ry2c.8 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5\\\",\\\"Australia/Broken_Hill|LMT AEST ACST ACST ACDT|-9p.M -a0 -90 -9u -au|0123434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-32oVp.M 3Lzp.M 6wp0 H1Bu xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|18e3\\\",\\\"Australia/Hobart|LMT AEST AEDT|-9N.g -a0 -b0|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-3109N.g Pk1N.g 1a00 1qM0 Oo0 1zc0 Oo0 TAo0 yM0 1cM0 1cM0 1fA0 1a00 VfA0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|21e4\\\",\\\"Australia/Darwin|LMT ACST ACST ACDT|-8H.k -90 -9u -au|01232323232|-32oUH.k ajXH.k H1Bu xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00|12e4\\\",\\\"Australia/Eucla|LMT +0845 +0945|-8z.s -8J -9J|01212121212121212121|-30nIz.s PkpO.s xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368\\\",\\\"Australia/Lord_Howe|LMT AEST +1030 +1130 +11|-aA.k -a0 -au -bu -b0|01232323232424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424|-32oWA.k 3tzAA.k 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu|347\\\",\\\"Australia/Lindeman|LMT AEST AEDT|-9T.U -a0 -b0|0121212121212121212121|-32BlT.U Ry1T.U xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10\\\",\\\"Australia/Melbourne|LMT AEST AEDT|-9D.Q -a0 -b0|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-32oVD.Q RlBD.Q xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|39e5\\\",\\\"Australia/Perth|LMT AWST AWDT|-7H.o -80 -90|01212121212121212121|-30nHH.o PkpH.o xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5\\\",\\\"CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|\\\",\\\"Pacific/Easter|LMT EMT -07 -06 -05|7h.s 7h.s 70 60 50|0123232323232323232323232323234343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-3eLsG.w 1HRc0 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0|30e2\\\",\\\"CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|\\\",\\\"Europe/Dublin|LMT DMT IST GMT BST IST|p.l p.l -y.D 0 -10 -10|012343434343435353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353|-3BHby.D 1ra20 Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5\\\",\\\"EST|EST|50|0||\\\",\\\"EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"Etc/GMT-0|GMT|0|0||\\\",\\\"Etc/GMT-1|+01|-10|0||\\\",\\\"Etc/GMT-10|+10|-a0|0||\\\",\\\"Etc/GMT-11|+11|-b0|0||\\\",\\\"Etc/GMT-12|+12|-c0|0||\\\",\\\"Etc/GMT-13|+13|-d0|0||\\\",\\\"Etc/GMT-14|+14|-e0|0||\\\",\\\"Etc/GMT-2|+02|-20|0||\\\",\\\"Etc/GMT-3|+03|-30|0||\\\",\\\"Etc/GMT-4|+04|-40|0||\\\",\\\"Etc/GMT-5|+05|-50|0||\\\",\\\"Etc/GMT-6|+06|-60|0||\\\",\\\"Etc/GMT-7|+07|-70|0||\\\",\\\"Etc/GMT-8|+08|-80|0||\\\",\\\"Etc/GMT-9|+09|-90|0||\\\",\\\"Etc/GMT+1|-01|10|0||\\\",\\\"Etc/GMT+10|-10|a0|0||\\\",\\\"Etc/GMT+11|-11|b0|0||\\\",\\\"Etc/GMT+12|-12|c0|0||\\\",\\\"Etc/GMT+2|-02|20|0||\\\",\\\"Etc/GMT+3|-03|30|0||\\\",\\\"Etc/GMT+4|-04|40|0||\\\",\\\"Etc/GMT+5|-05|50|0||\\\",\\\"Etc/GMT+6|-06|60|0||\\\",\\\"Etc/GMT+7|-07|70|0||\\\",\\\"Etc/GMT+8|-08|80|0||\\\",\\\"Etc/GMT+9|-09|90|0||\\\",\\\"Etc/UTC|UTC|0|0||\\\",\\\"Europe/Brussels|LMT BMT WET CET CEST WEST|-h.u -h.u 0 -10 -20 -10|012343434325252525252525252525252525252525252525252525434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3D8Mh.u u1Ah.u SO00 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|21e5\\\",\\\"Europe/Andorra|LMT WET CET CEST|-6.4 0 -10 -20|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2M0M6.4 1Pnc6.4 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|79e3\\\",\\\"Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|10e5\\\",\\\"Europe/Athens|LMT AMT EET EEST CEST CET|-1y.Q -1y.Q -20 -30 -20 -10|0123234545232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-30SNy.Q OMM1 CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|35e5\\\",\\\"Europe/London|LMT GMT BST BDST|1.f 0 -10 -20|01212121212121212121212121212121212121212121212121232323232321212321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-4VgnW.J 2KHdW.J Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|10e6\\\",\\\"Europe/Belgrade|LMT CET CEST|-1m -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3topm 2juLm 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5\\\",\\\"Europe/Prague|LMT PMT CET CEST GMT|-V.I -V.I -10 -20 0|0123232323232323232423232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-4QbAV.I 1FDc0 XPaV.I 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|13e5\\\",\\\"Europe/Bucharest|LMT BMT EET EEST|-1I.o -1I.o -20 -30|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3awpI.o 1AU00 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|19e5\\\",\\\"Europe/Budapest|LMT CET CEST|-1g.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3cK1g.k 124Lg.k 11d0 1iO0 11A0 1o00 11A0 1oo0 11c0 1lc0 17c0 O1V0 3Nf0 WM0 1fA0 1cM0 1cM0 1oJ0 1dd0 1020 1fX0 1cp0 1cM0 1cM0 1cM0 1fA0 1a00 bhy0 Rb0 1wr0 Rc0 1C00 LA0 1C00 LA0 SNW0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cO0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|17e5\\\",\\\"Europe/Zurich|LMT BMT CET CEST|-y.8 -t.K -10 -20|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-4HyMy.8 1Dw04.m 1SfAt.K 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|38e4\\\",\\\"Europe/Chisinau|LMT CMT BMT EET EEST CEST CET MSK MSD|-1T.k -1T -1I.o -20 -30 -20 -10 -30 -40|0123434343434343434345656578787878787878787878434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3D8NT.k 1wNA0.k wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|67e4\\\",\\\"Europe/Gibraltar|LMT GMT BST BDST CET CEST|l.o 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123232323232121232121212121212121212145454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-3BHbC.A 1ra1C.A Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|30e3\\\",\\\"Europe/Helsinki|LMT HMT EET EEST|-1D.N -1D.N -20 -30|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3H0ND.N 1Iu00 OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5\\\",\\\"Europe/Kaliningrad|LMT CET CEST EET EEST MSK MSD +03|-1m -10 -20 -20 -30 -30 -40 -30|012121212121212343565656565656565654343434343434343434343434343434343434343434373|-36Rdm UbXm 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 390 7A0 1en0 12N0 1pbb0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4\\\",\\\"Europe/Kiev|LMT KMT EET MSK CEST CET MSD EEST|-22.4 -22.4 -20 -30 -20 -10 -40 -30|01234545363636363636363636367272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-3D8O2.4 1LUM0 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o10 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|34e5\\\",\\\"Europe/Kirov|LMT +03 +04 +05 MSD MSK MSK|-3i.M -30 -40 -50 -40 -30 -40|0123232323232323232454524545454545454545454545454545454545454565|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 2pz0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4\\\",\\\"Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5\\\",\\\"Europe/Madrid|LMT WET WEST WEMT CET CEST|e.I 0 -10 -20 -10 -20|0121212121212121212321454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2M0M0 G5z0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|62e5\\\",\\\"Europe/Malta|LMT CET CEST|-W.4 -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-35rcW.4 SXzW.4 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|42e4\\\",\\\"Europe/Minsk|LMT MMT EET MSK CEST CET MSD EEST +03|-1O.g -1O -20 -30 -20 -10 -40 -30 -30|012345454363636363636363636372727272727272727272727272727272727272728|-3D8NO.g 1LUM0.g eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5\\\",\\\"Europe/Paris|LMT PMT WET WEST CEST CET WEMT|-9.l -9.l 0 -10 -20 -10 -20|01232323232323232323232323232323232323232323232323234545463654545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-3bQ09.l MDA0 cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|11e6\\\",\\\"Europe/Moscow|LMT MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|01232434565756865656565656565656565698656565656565656565656565656565656565656a6|-3D8Ou.h 1sQM0 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6\\\",\\\"Europe/Riga|LMT RMT LST EET MSK CEST CET MSD EEST|-1A.y -1A.y -2A.y -20 -30 -20 -10 -40 -30|0121213456565647474747474747474838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383|-3D8NA.y 1xde0 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|64e4\\\",\\\"Europe/Rome|LMT RMT CET CEST|-N.U -N.U -10 -20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-4aU0N.U 15snN.U T000 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|39e5\\\",\\\"Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5\\\",\\\"Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810|\\\",\\\"Europe/Simferopol|LMT SMT EET MSK CEST CET MSD EEST MSK|-2g.o -2g -20 -30 -20 -10 -40 -30 -40|0123454543636363636363636363272727636363727272727272727272727272727272727283|-3D8Og.o 1LUM0.o eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eN0 1cM0 1cM0 1cM0 1cM0 dV0 WO0 1cM0 1cM0 1fy0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4\\\",\\\"Europe/Sofia|LMT IMT EET CET CEST EEST|-1x.g -1U.U -20 -10 -20 -30|0123434325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-3D8Nx.g AiLA.k 1UFeU.U WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5\\\",\\\"Europe/Tallinn|LMT TMT CET CEST EET MSK MSD EEST|-1D -1D -10 -20 -20 -30 -40 -30|0123214532323565656565656565657474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474|-3D8ND 1wI00 teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|41e4\\\",\\\"Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|42e4\\\",\\\"Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|13e5\\\",\\\"Europe/Vienna|LMT CET CEST|-15.l -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-36Rd5.l UbX5.l 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1ao0 1co0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|18e5\\\",\\\"Europe/Vilnius|LMT WMT KMT CET EET MSK CEST MSD EEST|-1F.g -1o -1z.A -10 -20 -30 -20 -40 -30|0123435636365757575757575757584848484848484848463648484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484|-3D8NF.g 1u5Ah.g 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|54e4\\\",\\\"Europe/Volgograd|LMT +03 +04 +05 MSD MSK MSK|-2V.E -30 -40 -50 -40 -30 -40|012323232323232324545452454545454545454545454545454545454545456525|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1fA0 1cM0 2pz0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 9Jd0 5gn0|10e5\\\",\\\"Europe/Warsaw|LMT WMT CET CEST EET EEST|-1o -1o -10 -20 -20 -30|0123232345423232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3D8No 1qDA0 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|17e5\\\",\\\"HST|HST|a0|0||\\\",\\\"Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2\\\",\\\"Indian/Maldives|LMT MMT +05|-4S -4S -50|012|-3D8QS 3eLA0|35e4\\\",\\\"Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4\\\",\\\"Pacific/Kwajalein|LMT +11 +10 +09 -12 +12|-b9.k -b0 -a0 -90 c0 -c0|0123145|-2M0X9.k 1rDA9.k akp0 6Up0 12ry0 Wan0|14e3\\\",\\\"MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|\\\",\\\"MST|MST|70|0||\\\",\\\"MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"Pacific/Chatham|LMT +1215 +1245 +1345|-cd.M -cf -cJ -dJ|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-46jMd.M 37RbW.M 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00|600\\\",\\\"Pacific/Apia|LMT LMT -1130 -11 -10 +14 +13|-cx.4 bq.U bu b0 a0 -e0 -d0|012343456565656565656565656|-38Fox.4 J1A0 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0|37e3\\\",\\\"Pacific/Bougainville|LMT PMMT +10 +09 +11|-am.g -9M.w -a0 -90 -b0|012324|-3D8Wm.g AvAx.I 1TCLM.w 7CN0 2MQp0|18e4\\\",\\\"Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|012121212121212121212121|-2l9nd.g 2uNXd.g Dc0 n610 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3\\\",\\\"Pacific/Enderbury|-00 -12 -11 +13|0 c0 b0 -d0|0123|-1iIo0 1GsA0 B7X0|1\\\",\\\"Pacific/Fakaofo|LMT -11 +13|bo.U b0 -d0|012|-2M0Az.4 4ufXz.4|483\\\",\\\"Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|012121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 2hc0 bc0|88e4\\\",\\\"Pacific/Tarawa|LMT +12|-bw.4 -c0|01|-2M0Xw.4|29e3\\\",\\\"Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3\\\",\\\"Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125\\\",\\\"Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4\\\",\\\"Pacific/Guam|LMT LMT GST +09 GDT ChST|el -9D -a0 -90 -b0 -a0|0123242424242424242425|-54m9D 2glc0 1DFbD 6pB0 AhB0 3QL0 g2p0 3p91 WOX rX0 1zd0 Rb0 1wp0 Rb0 5xd0 rX0 5sN0 zb1 1C0X On0 ULb0|17e4\\\",\\\"Pacific/Honolulu|LMT HST HDT HWT HPT HST|av.q au 9u 9u 9u a0|01213415|-3061s.y 1uMdW.y 8x0 lef0 8wWu iAu 46p0|37e4\\\",\\\"Pacific/Kiritimati|LMT -1040 -10 +14|at.k aE a0 -e0|0123|-2M0Bu.E 3bIMa.E B7Xk|51e2\\\",\\\"Pacific/Kosrae|LMT LMT +11 +09 +10 +12|d8.4 -aP.U -b0 -90 -a0 -c0|0123243252|-54maP.U 2glc0 xsnP.U axC0 HBy0 akp0 axd0 WOK0 1bdz0|66e2\\\",\\\"Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2\\\",\\\"Pacific/Pago_Pago|LMT LMT SST|-cB.c bm.M b0|012|-38FoB.c J1A0|37e2\\\",\\\"Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E QCnB.E 7mqu 1lnbu|10e3\\\",\\\"Pacific/Niue|LMT -1120 -11|bj.E bk b0|012|-FScE.k suo0.k|12e2\\\",\\\"Pacific/Norfolk|LMT +1112 +1130 +1230 +11 +12|-bb.Q -bc -bu -cu -b0 -c0|0123245454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2M0Xb.Q 21ILX.Q W01G Oo0 1COo0 9Jcu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|25e4\\\",\\\"Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3\\\",\\\"Pacific/Palau|LMT LMT +09|f2.4 -8V.U -90|012|-54m8V.U 2glc0|21e3\\\",\\\"Pacific/Pitcairn|LMT -0830 -08|8E.k 8u 80|012|-2M0Dj.E 3UVXN.E|56\\\",\\\"Pacific/Rarotonga|LMT LMT -1030 -0930 -10|-dk.U aD.4 au 9u a0|01234343434343434343434343434|-2Otpk.U 28zc0 13tbO.U IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3\\\",\\\"Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4\\\",\\\"Pacific/Tongatapu|LMT +1220 +13 +14|-cj.c -ck -d0 -e0|01232323232|-XbMj.c BgLX.c 1yndk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3\\\",\\\"PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\\\",\\\"WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|\\\"],links:[\\\"Africa/Abidjan|Africa/Accra\\\",\\\"Africa/Abidjan|Africa/Bamako\\\",\\\"Africa/Abidjan|Africa/Banjul\\\",\\\"Africa/Abidjan|Africa/Conakry\\\",\\\"Africa/Abidjan|Africa/Dakar\\\",\\\"Africa/Abidjan|Africa/Freetown\\\",\\\"Africa/Abidjan|Africa/Lome\\\",\\\"Africa/Abidjan|Africa/Nouakchott\\\",\\\"Africa/Abidjan|Africa/Ouagadougou\\\",\\\"Africa/Abidjan|Africa/Timbuktu\\\",\\\"Africa/Abidjan|Atlantic/Reykjavik\\\",\\\"Africa/Abidjan|Atlantic/St_Helena\\\",\\\"Africa/Abidjan|Iceland\\\",\\\"Africa/Cairo|Egypt\\\",\\\"Africa/Johannesburg|Africa/Maseru\\\",\\\"Africa/Johannesburg|Africa/Mbabane\\\",\\\"Africa/Lagos|Africa/Bangui\\\",\\\"Africa/Lagos|Africa/Brazzaville\\\",\\\"Africa/Lagos|Africa/Douala\\\",\\\"Africa/Lagos|Africa/Kinshasa\\\",\\\"Africa/Lagos|Africa/Libreville\\\",\\\"Africa/Lagos|Africa/Luanda\\\",\\\"Africa/Lagos|Africa/Malabo\\\",\\\"Africa/Lagos|Africa/Niamey\\\",\\\"Africa/Lagos|Africa/Porto-Novo\\\",\\\"Africa/Maputo|Africa/Blantyre\\\",\\\"Africa/Maputo|Africa/Bujumbura\\\",\\\"Africa/Maputo|Africa/Gaborone\\\",\\\"Africa/Maputo|Africa/Harare\\\",\\\"Africa/Maputo|Africa/Kigali\\\",\\\"Africa/Maputo|Africa/Lubumbashi\\\",\\\"Africa/Maputo|Africa/Lusaka\\\",\\\"Africa/Nairobi|Africa/Addis_Ababa\\\",\\\"Africa/Nairobi|Africa/Asmara\\\",\\\"Africa/Nairobi|Africa/Asmera\\\",\\\"Africa/Nairobi|Africa/Dar_es_Salaam\\\",\\\"Africa/Nairobi|Africa/Djibouti\\\",\\\"Africa/Nairobi|Africa/Kampala\\\",\\\"Africa/Nairobi|Africa/Mogadishu\\\",\\\"Africa/Nairobi|Indian/Antananarivo\\\",\\\"Africa/Nairobi|Indian/Comoro\\\",\\\"Africa/Nairobi|Indian/Mayotte\\\",\\\"Africa/Tripoli|Libya\\\",\\\"America/Adak|America/Atka\\\",\\\"America/Adak|US/Aleutian\\\",\\\"America/Anchorage|US/Alaska\\\",\\\"America/Argentina/Buenos_Aires|America/Buenos_Aires\\\",\\\"America/Argentina/Catamarca|America/Argentina/ComodRivadavia\\\",\\\"America/Argentina/Catamarca|America/Catamarca\\\",\\\"America/Argentina/Cordoba|America/Cordoba\\\",\\\"America/Argentina/Cordoba|America/Rosario\\\",\\\"America/Argentina/Jujuy|America/Jujuy\\\",\\\"America/Argentina/Mendoza|America/Mendoza\\\",\\\"America/Chicago|US/Central\\\",\\\"America/Denver|America/Shiprock\\\",\\\"America/Denver|Navajo\\\",\\\"America/Denver|US/Mountain\\\",\\\"America/Detroit|US/Michigan\\\",\\\"America/Edmonton|America/Yellowknife\\\",\\\"America/Edmonton|Canada/Mountain\\\",\\\"America/Fort_Wayne|America/Indiana/Indianapolis\\\",\\\"America/Fort_Wayne|America/Indianapolis\\\",\\\"America/Fort_Wayne|US/East-Indiana\\\",\\\"America/Godthab|America/Nuuk\\\",\\\"America/Halifax|Canada/Atlantic\\\",\\\"America/Havana|Cuba\\\",\\\"America/Indiana/Knox|America/Knox_IN\\\",\\\"America/Indiana/Knox|US/Indiana-Starke\\\",\\\"America/Iqaluit|America/Pangnirtung\\\",\\\"America/Jamaica|Jamaica\\\",\\\"America/Kentucky/Louisville|America/Louisville\\\",\\\"America/Los_Angeles|US/Pacific\\\",\\\"America/Manaus|Brazil/West\\\",\\\"America/Mazatlan|Mexico/BajaSur\\\",\\\"America/Mexico_City|Mexico/General\\\",\\\"America/New_York|US/Eastern\\\",\\\"America/Noronha|Brazil/DeNoronha\\\",\\\"America/Panama|America/Atikokan\\\",\\\"America/Panama|America/Cayman\\\",\\\"America/Panama|America/Coral_Harbour\\\",\\\"America/Phoenix|America/Creston\\\",\\\"America/Phoenix|US/Arizona\\\",\\\"America/Puerto_Rico|America/Anguilla\\\",\\\"America/Puerto_Rico|America/Antigua\\\",\\\"America/Puerto_Rico|America/Aruba\\\",\\\"America/Puerto_Rico|America/Blanc-Sablon\\\",\\\"America/Puerto_Rico|America/Curacao\\\",\\\"America/Puerto_Rico|America/Dominica\\\",\\\"America/Puerto_Rico|America/Grenada\\\",\\\"America/Puerto_Rico|America/Guadeloupe\\\",\\\"America/Puerto_Rico|America/Kralendijk\\\",\\\"America/Puerto_Rico|America/Lower_Princes\\\",\\\"America/Puerto_Rico|America/Marigot\\\",\\\"America/Puerto_Rico|America/Montserrat\\\",\\\"America/Puerto_Rico|America/Port_of_Spain\\\",\\\"America/Puerto_Rico|America/St_Barthelemy\\\",\\\"America/Puerto_Rico|America/St_Kitts\\\",\\\"America/Puerto_Rico|America/St_Lucia\\\",\\\"America/Puerto_Rico|America/St_Thomas\\\",\\\"America/Puerto_Rico|America/St_Vincent\\\",\\\"America/Puerto_Rico|America/Tortola\\\",\\\"America/Puerto_Rico|America/Virgin\\\",\\\"America/Regina|Canada/Saskatchewan\\\",\\\"America/Rio_Branco|America/Porto_Acre\\\",\\\"America/Rio_Branco|Brazil/Acre\\\",\\\"America/Santiago|Chile/Continental\\\",\\\"America/Sao_Paulo|Brazil/East\\\",\\\"America/St_Johns|Canada/Newfoundland\\\",\\\"America/Tijuana|America/Ensenada\\\",\\\"America/Tijuana|America/Santa_Isabel\\\",\\\"America/Tijuana|Mexico/BajaNorte\\\",\\\"America/Toronto|America/Montreal\\\",\\\"America/Toronto|America/Nassau\\\",\\\"America/Toronto|America/Nipigon\\\",\\\"America/Toronto|America/Thunder_Bay\\\",\\\"America/Toronto|Canada/Eastern\\\",\\\"America/Vancouver|Canada/Pacific\\\",\\\"America/Whitehorse|Canada/Yukon\\\",\\\"America/Winnipeg|America/Rainy_River\\\",\\\"America/Winnipeg|Canada/Central\\\",\\\"Asia/Ashgabat|Asia/Ashkhabad\\\",\\\"Asia/Bangkok|Asia/Phnom_Penh\\\",\\\"Asia/Bangkok|Asia/Vientiane\\\",\\\"Asia/Bangkok|Indian/Christmas\\\",\\\"Asia/Brunei|Asia/Kuching\\\",\\\"Asia/Dhaka|Asia/Dacca\\\",\\\"Asia/Dubai|Asia/Muscat\\\",\\\"Asia/Dubai|Indian/Mahe\\\",\\\"Asia/Dubai|Indian/Reunion\\\",\\\"Asia/Ho_Chi_Minh|Asia/Saigon\\\",\\\"Asia/Hong_Kong|Hongkong\\\",\\\"Asia/Jerusalem|Asia/Tel_Aviv\\\",\\\"Asia/Jerusalem|Israel\\\",\\\"Asia/Kathmandu|Asia/Katmandu\\\",\\\"Asia/Kolkata|Asia/Calcutta\\\",\\\"Asia/Kuala_Lumpur|Asia/Singapore\\\",\\\"Asia/Kuala_Lumpur|Singapore\\\",\\\"Asia/Macau|Asia/Macao\\\",\\\"Asia/Makassar|Asia/Ujung_Pandang\\\",\\\"Asia/Nicosia|Europe/Nicosia\\\",\\\"Asia/Qatar|Asia/Bahrain\\\",\\\"Asia/Rangoon|Asia/Yangon\\\",\\\"Asia/Rangoon|Indian/Cocos\\\",\\\"Asia/Riyadh|Antarctica/Syowa\\\",\\\"Asia/Riyadh|Asia/Aden\\\",\\\"Asia/Riyadh|Asia/Kuwait\\\",\\\"Asia/Seoul|ROK\\\",\\\"Asia/Shanghai|Asia/Chongqing\\\",\\\"Asia/Shanghai|Asia/Chungking\\\",\\\"Asia/Shanghai|Asia/Harbin\\\",\\\"Asia/Shanghai|PRC\\\",\\\"Asia/Taipei|ROC\\\",\\\"Asia/Tehran|Iran\\\",\\\"Asia/Thimphu|Asia/Thimbu\\\",\\\"Asia/Tokyo|Japan\\\",\\\"Asia/Ulaanbaatar|Asia/Ulan_Bator\\\",\\\"Asia/Urumqi|Antarctica/Vostok\\\",\\\"Asia/Urumqi|Asia/Kashgar\\\",\\\"Atlantic/Faroe|Atlantic/Faeroe\\\",\\\"Australia/Adelaide|Australia/South\\\",\\\"Australia/Brisbane|Australia/Queensland\\\",\\\"Australia/Broken_Hill|Australia/Yancowinna\\\",\\\"Australia/Darwin|Australia/North\\\",\\\"Australia/Hobart|Australia/Currie\\\",\\\"Australia/Hobart|Australia/Tasmania\\\",\\\"Australia/Lord_Howe|Australia/LHI\\\",\\\"Australia/Melbourne|Australia/Victoria\\\",\\\"Australia/Perth|Australia/West\\\",\\\"Australia/Sydney|Australia/ACT\\\",\\\"Australia/Sydney|Australia/Canberra\\\",\\\"Australia/Sydney|Australia/NSW\\\",\\\"Etc/GMT-0|Etc/GMT\\\",\\\"Etc/GMT-0|Etc/GMT+0\\\",\\\"Etc/GMT-0|Etc/GMT0\\\",\\\"Etc/GMT-0|Etc/Greenwich\\\",\\\"Etc/GMT-0|GMT\\\",\\\"Etc/GMT-0|GMT+0\\\",\\\"Etc/GMT-0|GMT-0\\\",\\\"Etc/GMT-0|GMT0\\\",\\\"Etc/GMT-0|Greenwich\\\",\\\"Etc/UTC|Etc/UCT\\\",\\\"Etc/UTC|Etc/Universal\\\",\\\"Etc/UTC|Etc/Zulu\\\",\\\"Etc/UTC|UCT\\\",\\\"Etc/UTC|UTC\\\",\\\"Etc/UTC|Universal\\\",\\\"Etc/UTC|Zulu\\\",\\\"Europe/Belgrade|Europe/Ljubljana\\\",\\\"Europe/Belgrade|Europe/Podgorica\\\",\\\"Europe/Belgrade|Europe/Sarajevo\\\",\\\"Europe/Belgrade|Europe/Skopje\\\",\\\"Europe/Belgrade|Europe/Zagreb\\\",\\\"Europe/Berlin|Arctic/Longyearbyen\\\",\\\"Europe/Berlin|Atlantic/Jan_Mayen\\\",\\\"Europe/Berlin|Europe/Copenhagen\\\",\\\"Europe/Berlin|Europe/Oslo\\\",\\\"Europe/Berlin|Europe/Stockholm\\\",\\\"Europe/Brussels|Europe/Amsterdam\\\",\\\"Europe/Brussels|Europe/Luxembourg\\\",\\\"Europe/Chisinau|Europe/Tiraspol\\\",\\\"Europe/Dublin|Eire\\\",\\\"Europe/Helsinki|Europe/Mariehamn\\\",\\\"Europe/Istanbul|Asia/Istanbul\\\",\\\"Europe/Istanbul|Turkey\\\",\\\"Europe/Kiev|Europe/Kyiv\\\",\\\"Europe/Kiev|Europe/Uzhgorod\\\",\\\"Europe/Kiev|Europe/Zaporozhye\\\",\\\"Europe/Lisbon|Portugal\\\",\\\"Europe/London|Europe/Belfast\\\",\\\"Europe/London|Europe/Guernsey\\\",\\\"Europe/London|Europe/Isle_of_Man\\\",\\\"Europe/London|Europe/Jersey\\\",\\\"Europe/London|GB\\\",\\\"Europe/London|GB-Eire\\\",\\\"Europe/Moscow|W-SU\\\",\\\"Europe/Paris|Europe/Monaco\\\",\\\"Europe/Prague|Europe/Bratislava\\\",\\\"Europe/Rome|Europe/San_Marino\\\",\\\"Europe/Rome|Europe/Vatican\\\",\\\"Europe/Warsaw|Poland\\\",\\\"Europe/Zurich|Europe/Busingen\\\",\\\"Europe/Zurich|Europe/Vaduz\\\",\\\"Indian/Maldives|Indian/Kerguelen\\\",\\\"Pacific/Auckland|Antarctica/McMurdo\\\",\\\"Pacific/Auckland|Antarctica/South_Pole\\\",\\\"Pacific/Auckland|NZ\\\",\\\"Pacific/Chatham|NZ-CHAT\\\",\\\"Pacific/Easter|Chile/EasterIsland\\\",\\\"Pacific/Enderbury|Pacific/Kanton\\\",\\\"Pacific/Guadalcanal|Pacific/Pohnpei\\\",\\\"Pacific/Guadalcanal|Pacific/Ponape\\\",\\\"Pacific/Guam|Pacific/Saipan\\\",\\\"Pacific/Honolulu|Pacific/Johnston\\\",\\\"Pacific/Honolulu|US/Hawaii\\\",\\\"Pacific/Kwajalein|Kwajalein\\\",\\\"Pacific/Pago_Pago|Pacific/Midway\\\",\\\"Pacific/Pago_Pago|Pacific/Samoa\\\",\\\"Pacific/Pago_Pago|US/Samoa\\\",\\\"Pacific/Port_Moresby|Antarctica/DumontDUrville\\\",\\\"Pacific/Port_Moresby|Pacific/Chuuk\\\",\\\"Pacific/Port_Moresby|Pacific/Truk\\\",\\\"Pacific/Port_Moresby|Pacific/Yap\\\",\\\"Pacific/Tarawa|Pacific/Funafuti\\\",\\\"Pacific/Tarawa|Pacific/Majuro\\\",\\\"Pacific/Tarawa|Pacific/Wake\\\",\\\"Pacific/Tarawa|Pacific/Wallis\\\"],countries:[\\\"AD|Europe/Andorra\\\",\\\"AE|Asia/Dubai\\\",\\\"AF|Asia/Kabul\\\",\\\"AG|America/Puerto_Rico America/Antigua\\\",\\\"AI|America/Puerto_Rico America/Anguilla\\\",\\\"AL|Europe/Tirane\\\",\\\"AM|Asia/Yerevan\\\",\\\"AO|Africa/Lagos Africa/Luanda\\\",\\\"AQ|Antarctica/Casey Antarctica/Davis Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Troll Asia/Urumqi Pacific/Auckland Pacific/Port_Moresby Asia/Riyadh Antarctica/McMurdo Antarctica/DumontDUrville Antarctica/Syowa Antarctica/Vostok\\\",\\\"AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia\\\",\\\"AS|Pacific/Pago_Pago\\\",\\\"AT|Europe/Vienna\\\",\\\"AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla\\\",\\\"AW|America/Puerto_Rico America/Aruba\\\",\\\"AX|Europe/Helsinki Europe/Mariehamn\\\",\\\"AZ|Asia/Baku\\\",\\\"BA|Europe/Belgrade Europe/Sarajevo\\\",\\\"BB|America/Barbados\\\",\\\"BD|Asia/Dhaka\\\",\\\"BE|Europe/Brussels\\\",\\\"BF|Africa/Abidjan Africa/Ouagadougou\\\",\\\"BG|Europe/Sofia\\\",\\\"BH|Asia/Qatar Asia/Bahrain\\\",\\\"BI|Africa/Maputo Africa/Bujumbura\\\",\\\"BJ|Africa/Lagos Africa/Porto-Novo\\\",\\\"BL|America/Puerto_Rico America/St_Barthelemy\\\",\\\"BM|Atlantic/Bermuda\\\",\\\"BN|Asia/Kuching Asia/Brunei\\\",\\\"BO|America/La_Paz\\\",\\\"BQ|America/Puerto_Rico America/Kralendijk\\\",\\\"BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco\\\",\\\"BS|America/Toronto America/Nassau\\\",\\\"BT|Asia/Thimphu\\\",\\\"BW|Africa/Maputo Africa/Gaborone\\\",\\\"BY|Europe/Minsk\\\",\\\"BZ|America/Belize\\\",\\\"CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Toronto America/Iqaluit America/Winnipeg America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Inuvik America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver America/Panama America/Puerto_Rico America/Phoenix America/Blanc-Sablon America/Atikokan America/Creston\\\",\\\"CC|Asia/Yangon Indian/Cocos\\\",\\\"CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi\\\",\\\"CF|Africa/Lagos Africa/Bangui\\\",\\\"CG|Africa/Lagos Africa/Brazzaville\\\",\\\"CH|Europe/Zurich\\\",\\\"CI|Africa/Abidjan\\\",\\\"CK|Pacific/Rarotonga\\\",\\\"CL|America/Santiago America/Punta_Arenas Pacific/Easter\\\",\\\"CM|Africa/Lagos Africa/Douala\\\",\\\"CN|Asia/Shanghai Asia/Urumqi\\\",\\\"CO|America/Bogota\\\",\\\"CR|America/Costa_Rica\\\",\\\"CU|America/Havana\\\",\\\"CV|Atlantic/Cape_Verde\\\",\\\"CW|America/Puerto_Rico America/Curacao\\\",\\\"CX|Asia/Bangkok Indian/Christmas\\\",\\\"CY|Asia/Nicosia Asia/Famagusta\\\",\\\"CZ|Europe/Prague\\\",\\\"DE|Europe/Zurich Europe/Berlin Europe/Busingen\\\",\\\"DJ|Africa/Nairobi Africa/Djibouti\\\",\\\"DK|Europe/Berlin Europe/Copenhagen\\\",\\\"DM|America/Puerto_Rico America/Dominica\\\",\\\"DO|America/Santo_Domingo\\\",\\\"DZ|Africa/Algiers\\\",\\\"EC|America/Guayaquil Pacific/Galapagos\\\",\\\"EE|Europe/Tallinn\\\",\\\"EG|Africa/Cairo\\\",\\\"EH|Africa/El_Aaiun\\\",\\\"ER|Africa/Nairobi Africa/Asmara\\\",\\\"ES|Europe/Madrid Africa/Ceuta Atlantic/Canary\\\",\\\"ET|Africa/Nairobi Africa/Addis_Ababa\\\",\\\"FI|Europe/Helsinki\\\",\\\"FJ|Pacific/Fiji\\\",\\\"FK|Atlantic/Stanley\\\",\\\"FM|Pacific/Kosrae Pacific/Port_Moresby Pacific/Guadalcanal Pacific/Chuuk Pacific/Pohnpei\\\",\\\"FO|Atlantic/Faroe\\\",\\\"FR|Europe/Paris\\\",\\\"GA|Africa/Lagos Africa/Libreville\\\",\\\"GB|Europe/London\\\",\\\"GD|America/Puerto_Rico America/Grenada\\\",\\\"GE|Asia/Tbilisi\\\",\\\"GF|America/Cayenne\\\",\\\"GG|Europe/London Europe/Guernsey\\\",\\\"GH|Africa/Abidjan Africa/Accra\\\",\\\"GI|Europe/Gibraltar\\\",\\\"GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule\\\",\\\"GM|Africa/Abidjan Africa/Banjul\\\",\\\"GN|Africa/Abidjan Africa/Conakry\\\",\\\"GP|America/Puerto_Rico America/Guadeloupe\\\",\\\"GQ|Africa/Lagos Africa/Malabo\\\",\\\"GR|Europe/Athens\\\",\\\"GS|Atlantic/South_Georgia\\\",\\\"GT|America/Guatemala\\\",\\\"GU|Pacific/Guam\\\",\\\"GW|Africa/Bissau\\\",\\\"GY|America/Guyana\\\",\\\"HK|Asia/Hong_Kong\\\",\\\"HN|America/Tegucigalpa\\\",\\\"HR|Europe/Belgrade Europe/Zagreb\\\",\\\"HT|America/Port-au-Prince\\\",\\\"HU|Europe/Budapest\\\",\\\"ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura\\\",\\\"IE|Europe/Dublin\\\",\\\"IL|Asia/Jerusalem\\\",\\\"IM|Europe/London Europe/Isle_of_Man\\\",\\\"IN|Asia/Kolkata\\\",\\\"IO|Indian/Chagos\\\",\\\"IQ|Asia/Baghdad\\\",\\\"IR|Asia/Tehran\\\",\\\"IS|Africa/Abidjan Atlantic/Reykjavik\\\",\\\"IT|Europe/Rome\\\",\\\"JE|Europe/London Europe/Jersey\\\",\\\"JM|America/Jamaica\\\",\\\"JO|Asia/Amman\\\",\\\"JP|Asia/Tokyo\\\",\\\"KE|Africa/Nairobi\\\",\\\"KG|Asia/Bishkek\\\",\\\"KH|Asia/Bangkok Asia/Phnom_Penh\\\",\\\"KI|Pacific/Tarawa Pacific/Kanton Pacific/Kiritimati\\\",\\\"KM|Africa/Nairobi Indian/Comoro\\\",\\\"KN|America/Puerto_Rico America/St_Kitts\\\",\\\"KP|Asia/Pyongyang\\\",\\\"KR|Asia/Seoul\\\",\\\"KW|Asia/Riyadh Asia/Kuwait\\\",\\\"KY|America/Panama America/Cayman\\\",\\\"KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral\\\",\\\"LA|Asia/Bangkok Asia/Vientiane\\\",\\\"LB|Asia/Beirut\\\",\\\"LC|America/Puerto_Rico America/St_Lucia\\\",\\\"LI|Europe/Zurich Europe/Vaduz\\\",\\\"LK|Asia/Colombo\\\",\\\"LR|Africa/Monrovia\\\",\\\"LS|Africa/Johannesburg Africa/Maseru\\\",\\\"LT|Europe/Vilnius\\\",\\\"LU|Europe/Brussels Europe/Luxembourg\\\",\\\"LV|Europe/Riga\\\",\\\"LY|Africa/Tripoli\\\",\\\"MA|Africa/Casablanca\\\",\\\"MC|Europe/Paris Europe/Monaco\\\",\\\"MD|Europe/Chisinau\\\",\\\"ME|Europe/Belgrade Europe/Podgorica\\\",\\\"MF|America/Puerto_Rico America/Marigot\\\",\\\"MG|Africa/Nairobi Indian/Antananarivo\\\",\\\"MH|Pacific/Tarawa Pacific/Kwajalein Pacific/Majuro\\\",\\\"MK|Europe/Belgrade Europe/Skopje\\\",\\\"ML|Africa/Abidjan Africa/Bamako\\\",\\\"MM|Asia/Yangon\\\",\\\"MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan\\\",\\\"MO|Asia/Macau\\\",\\\"MP|Pacific/Guam Pacific/Saipan\\\",\\\"MQ|America/Martinique\\\",\\\"MR|Africa/Abidjan Africa/Nouakchott\\\",\\\"MS|America/Puerto_Rico America/Montserrat\\\",\\\"MT|Europe/Malta\\\",\\\"MU|Indian/Mauritius\\\",\\\"MV|Indian/Maldives\\\",\\\"MW|Africa/Maputo Africa/Blantyre\\\",\\\"MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Chihuahua America/Ciudad_Juarez America/Ojinaga America/Mazatlan America/Bahia_Banderas America/Hermosillo America/Tijuana\\\",\\\"MY|Asia/Kuching Asia/Singapore Asia/Kuala_Lumpur\\\",\\\"MZ|Africa/Maputo\\\",\\\"NA|Africa/Windhoek\\\",\\\"NC|Pacific/Noumea\\\",\\\"NE|Africa/Lagos Africa/Niamey\\\",\\\"NF|Pacific/Norfolk\\\",\\\"NG|Africa/Lagos\\\",\\\"NI|America/Managua\\\",\\\"NL|Europe/Brussels Europe/Amsterdam\\\",\\\"NO|Europe/Berlin Europe/Oslo\\\",\\\"NP|Asia/Kathmandu\\\",\\\"NR|Pacific/Nauru\\\",\\\"NU|Pacific/Niue\\\",\\\"NZ|Pacific/Auckland Pacific/Chatham\\\",\\\"OM|Asia/Dubai Asia/Muscat\\\",\\\"PA|America/Panama\\\",\\\"PE|America/Lima\\\",\\\"PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier\\\",\\\"PG|Pacific/Port_Moresby Pacific/Bougainville\\\",\\\"PH|Asia/Manila\\\",\\\"PK|Asia/Karachi\\\",\\\"PL|Europe/Warsaw\\\",\\\"PM|America/Miquelon\\\",\\\"PN|Pacific/Pitcairn\\\",\\\"PR|America/Puerto_Rico\\\",\\\"PS|Asia/Gaza Asia/Hebron\\\",\\\"PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores\\\",\\\"PW|Pacific/Palau\\\",\\\"PY|America/Asuncion\\\",\\\"QA|Asia/Qatar\\\",\\\"RE|Asia/Dubai Indian/Reunion\\\",\\\"RO|Europe/Bucharest\\\",\\\"RS|Europe/Belgrade\\\",\\\"RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Volgograd Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr\\\",\\\"RW|Africa/Maputo Africa/Kigali\\\",\\\"SA|Asia/Riyadh\\\",\\\"SB|Pacific/Guadalcanal\\\",\\\"SC|Asia/Dubai Indian/Mahe\\\",\\\"SD|Africa/Khartoum\\\",\\\"SE|Europe/Berlin Europe/Stockholm\\\",\\\"SG|Asia/Singapore\\\",\\\"SH|Africa/Abidjan Atlantic/St_Helena\\\",\\\"SI|Europe/Belgrade Europe/Ljubljana\\\",\\\"SJ|Europe/Berlin Arctic/Longyearbyen\\\",\\\"SK|Europe/Prague Europe/Bratislava\\\",\\\"SL|Africa/Abidjan Africa/Freetown\\\",\\\"SM|Europe/Rome Europe/San_Marino\\\",\\\"SN|Africa/Abidjan Africa/Dakar\\\",\\\"SO|Africa/Nairobi Africa/Mogadishu\\\",\\\"SR|America/Paramaribo\\\",\\\"SS|Africa/Juba\\\",\\\"ST|Africa/Sao_Tome\\\",\\\"SV|America/El_Salvador\\\",\\\"SX|America/Puerto_Rico America/Lower_Princes\\\",\\\"SY|Asia/Damascus\\\",\\\"SZ|Africa/Johannesburg Africa/Mbabane\\\",\\\"TC|America/Grand_Turk\\\",\\\"TD|Africa/Ndjamena\\\",\\\"TF|Asia/Dubai Indian/Maldives Indian/Kerguelen\\\",\\\"TG|Africa/Abidjan Africa/Lome\\\",\\\"TH|Asia/Bangkok\\\",\\\"TJ|Asia/Dushanbe\\\",\\\"TK|Pacific/Fakaofo\\\",\\\"TL|Asia/Dili\\\",\\\"TM|Asia/Ashgabat\\\",\\\"TN|Africa/Tunis\\\",\\\"TO|Pacific/Tongatapu\\\",\\\"TR|Europe/Istanbul\\\",\\\"TT|America/Puerto_Rico America/Port_of_Spain\\\",\\\"TV|Pacific/Tarawa Pacific/Funafuti\\\",\\\"TW|Asia/Taipei\\\",\\\"TZ|Africa/Nairobi Africa/Dar_es_Salaam\\\",\\\"UA|Europe/Simferopol Europe/Kyiv\\\",\\\"UG|Africa/Nairobi Africa/Kampala\\\",\\\"UM|Pacific/Pago_Pago Pacific/Tarawa Pacific/Midway Pacific/Wake\\\",\\\"US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu\\\",\\\"UY|America/Montevideo\\\",\\\"UZ|Asia/Samarkand Asia/Tashkent\\\",\\\"VA|Europe/Rome Europe/Vatican\\\",\\\"VC|America/Puerto_Rico America/St_Vincent\\\",\\\"VE|America/Caracas\\\",\\\"VG|America/Puerto_Rico America/Tortola\\\",\\\"VI|America/Puerto_Rico America/St_Thomas\\\",\\\"VN|Asia/Bangkok Asia/Ho_Chi_Minh\\\",\\\"VU|Pacific/Efate\\\",\\\"WF|Pacific/Tarawa Pacific/Wallis\\\",\\\"WS|Pacific/Apia\\\",\\\"YE|Asia/Riyadh Asia/Aden\\\",\\\"YT|Africa/Nairobi Indian/Mayotte\\\",\\\"ZA|Africa/Johannesburg\\\",\\\"ZM|Africa/Maputo Africa/Lusaka\\\",\\\"ZW|Africa/Maputo Africa/Harare\\\"]}}}),require_moment_timezone2=__commonJS({\\\"node_modules/.pnpm/moment-timezone@0.5.43/node_modules/moment-timezone/index.js\\\"(M,e){init_esbuild_inject(),(e.exports=require_moment_timezone()).tz.load(require_latest())}}),require_compact=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/compact.js\\\"(M,e){init_esbuild_inject(),e.exports=function(M){for(var e=-1,b=null==M?0:M.length,z=0,p=[];++e\u003Cb;){var t=M[e];t&&(p[z++]=t)}return p}}});function changedTiddlerInViewRange(M,e,b=\\\"endDate\\\"){var z,p=$tw.wiki.getTiddler(M);if(!(\\\"yes\\\"===(null==(z=null==p?void 0:p.fields)?void 0:z.calendarEntry)))return!1;let t=null==(z=null==p?void 0:p.fields)?void 0:z.modified,o=null==(z=null==p?void 0:p.fields)?void 0:z[b];return\\\"string\\\"==typeof t&&(t=$tw.utils.parseDate(t)),\\\"string\\\"==typeof o&&(o=$tw.utils.parseDate(o)),null!==t&&null!==o&&(({activeStart:z,activeEnd:p}=null!=(p=null==e?void 0:e.view)?p:{}),void 0!==z)&&void 0!==p&&(void 0!==t&&t>z&&t\u003Cp||void 0!==o&&o>z&&o\u003Cp)}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var n,l,u,i,t,r,o,f,e,t2,r2,u2,i2,import_moment_timezone=__toESM(require_moment_timezone2()),officialCalendarLayouts=[\\\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarLayout\\\",\\\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/TiddlersCalendarLayout\\\",\\\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout\\\"],getInCalendarLayout=()=>{var M;return officialCalendarLayouts.includes(null!=(M=$tw.wiki.getTiddlerText(\\\"$:/layout\\\"))?M:\\\"\\\")},getIsSmallScreen=()=>window.innerWidth\u003C=600,tiddlerEventSourceID=\\\"tiddlers\\\",timeZoneOffset=import_moment_timezone[\\\"default\\\"].duration({minutes:(new Date).getTimezoneOffset()}),allowedTiddlerTypeToPreview=[\\\"\\\",\\\"text/vnd.tiddlywiki\\\",\\\"text/plain\\\",\\\"text/x-markdown\\\",\\\"text/markdown\\\",\\\"text/x-tiddlywiki\\\"],isMobile=\\\"yes\\\"===$tw.wiki.getTiddlerText(\\\"$:/info/browser/is/mobile\\\"),DURATION_THRESHOLD_FOR_SHOWING_TIME_AT_BOTTOM=108e5,getIsSearchMode=()=>\\\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout\\\"===$tw.wiki.getTiddlerText(\\\"$:/layout\\\"),c=(init_esbuild_inject(),init_esbuild_inject(),window.requestIdleCallback=window.requestIdleCallback||function(M){var e=Date.now();return setTimeout(function(){M({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-e))}})},1)},window.cancelIdleCallback=window.cancelIdleCallback||function(M){clearTimeout(M)},init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),{}),s=[],a=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function h(M,e){for(var b in e)M[b]=e[b];return M}function v(M){var e=M.parentNode;e&&e.removeChild(M)}function y(M,e,b){var z,t,o,O={};for(o in e)\\\"key\\\"==o?z=e[o]:\\\"ref\\\"==o?t=e[o]:O[o]=e[o];if(2\u003Carguments.length&&(O.children=3\u003Carguments.length?n.call(arguments,2):b),\\\"function\\\"==typeof M&&null!=M.defaultProps)for(o in M.defaultProps)void 0===O[o]&&(O[o]=M.defaultProps[o]);return p(M,O,z,t,null)}function p(M,e,b,z,p){var t={type:M,props:e,key:b,ref:z,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==p?++u:p};return null==p&&null!=l.vnode&&l.vnode(t),t}function d(){return{current:null}}function _(M){return M.children}function k(M,e,b,z,p){for(var t in b)\\\"children\\\"===t||\\\"key\\\"===t||t in e||g(M,t,null,b[t],z);for(t in e)p&&\\\"function\\\"!=typeof e[t]||\\\"children\\\"===t||\\\"key\\\"===t||\\\"value\\\"===t||\\\"checked\\\"===t||b[t]===e[t]||g(M,t,e[t],b[t],z)}function b(M,e,b){\\\"-\\\"===e[0]?M.setProperty(e,null==b?\\\"\\\":b):M[e]=null==b?\\\"\\\":\\\"number\\\"!=typeof b||a.test(e)?b:b+\\\"px\\\"}function g(M,e,z,p,t){var o;M:if(\\\"style\\\"===e)if(\\\"string\\\"==typeof z)M.style.cssText=z;else{if(\\\"string\\\"==typeof p&&(M.style.cssText=p=\\\"\\\"),p)for(e in p)z&&e in z||b(M.style,e,\\\"\\\");if(z)for(e in z)p&&z[e]===p[e]||b(M.style,e,z[e])}else if(\\\"o\\\"===e[0]&&\\\"n\\\"===e[1])o=e!==(e=e.replace(/Capture$/,\\\"\\\")),e=(e.toLowerCase()in M?e.toLowerCase():e).slice(2),M.l||(M.l={}),(M.l[e+o]=z)?p||M.addEventListener(e,o?w:m,o):M.removeEventListener(e,o?w:m,o);else if(\\\"dangerouslySetInnerHTML\\\"!==e){if(t)e=e.replace(/xlink(H|:h)/,\\\"h\\\").replace(/sName$/,\\\"s\\\");else if(\\\"width\\\"!==e&&\\\"height\\\"!==e&&\\\"href\\\"!==e&&\\\"list\\\"!==e&&\\\"form\\\"!==e&&\\\"tabIndex\\\"!==e&&\\\"download\\\"!==e&&e in M)try{M[e]=null==z?\\\"\\\":z;break M}catch(O){}\\\"function\\\"!=typeof z&&(null==z||!1===z&&-1==e.indexOf(\\\"-\\\")?M.removeAttribute(e):M.setAttribute(e,z))}}function m(M){t=!0;try{return this.l[M.type+!1](l.event?l.event(M):M)}finally{t=!1}}function w(M){t=!0;try{return this.l[M.type+!0](l.event?l.event(M):M)}finally{t=!1}}function x(M,e){this.props=M,this.context=e}function A(M,e){if(null==e)return M.__?A(M.__,M.__.__k.indexOf(M)+1):null;for(var b;e\u003CM.__k.length;e++)if(null!=(b=M.__k[e])&&null!=b.__e)return b.__e;return\\\"function\\\"==typeof M.type?A(M):null}function P(M){var e,b;if(null!=(M=M.__)&&null!=M.__c){for(M.__e=M.__c.base=null,e=0;e\u003CM.__k.length;e++)if(null!=(b=M.__k[e])&&null!=b.__e){M.__e=M.__c.base=b.__e;break}return P(M)}}function C(M){(t?setTimeout:f)(M)}function T(M){(M.__d||(M.__d=!0,!r.push(M))||$.__r++)&&o===l.debounceRendering||((o=l.debounceRendering)||C)($)}function $(){var e,b,z,p,t,o,O;for(r.sort(function(M,e){return M.__v.__b-e.__v.__b});b=r.shift();)b.__d&&(e=r.length,p=void 0,o=(t=(b=b).__v).__e,(O=b.__P)&&(z=[],(p=h({},t)).__v=t.__v+1,M(O,t,p,b.__n,void 0!==O.ownerSVGElement,null!=t.__h?[o]:null,z,null==o?A(t):o,t.__h),N(z,t),t.__e!=o)&&P(t),r.length>e)&&r.sort(function(M,e){return M.__v.__b-e.__v.__b});$.__r=0}function H(e,b,t,o,O,n,i,r,a,d){var l,u,W,f,R,h,g,m=o&&o.__k||s,v=m.length;for(t.__k=[],l=0;l\u003Cb.length;l++)if(null!=(f=t.__k[l]=null==(f=b[l])||\\\"boolean\\\"==typeof f?null:\\\"string\\\"==typeof f||\\\"number\\\"==typeof f||\\\"bigint\\\"==typeof f?p(null,f,null,null,f):Array.isArray(f)?p(_,{children:f},null,null,null):0\u003Cf.__b?p(f.type,f.props,f.key,f.ref||null,f.__v):f)){if(f.__=t,f.__b=t.__b+1,null===(W=m[l])||W&&f.key==W.key&&f.type===W.type)m[l]=void 0;else for(u=0;u\u003Cv;u++){if((W=m[u])&&f.key==W.key&&f.type===W.type){m[u]=void 0;break}W=null}M(e,f,W=W||c,O,n,i,r,a,d),R=f.__e,(u=f.ref)&&W.ref!=u&&(g=g||[],W.ref&&g.push(W.ref,null,f),g.push(u,f.__c||R,f)),null!=R?(null==h&&(h=R),\\\"function\\\"==typeof f.type&&f.__k===W.__k?f.__d=a=I(f,a,e):a=z(e,f,W,m,R,a),\\\"function\\\"==typeof t.type&&(t.__d=a)):a&&W.__e==a&&a.parentNode!=e&&(a=A(W))}for(t.__e=h,l=v;l--;)null!=m[l]&&(\\\"function\\\"==typeof t.type&&null!=m[l].__e&&m[l].__e==t.__d&&(t.__d=L(o).nextSibling),q(m[l],m[l]));if(g)for(l=0;l\u003Cg.length;l++)S(g[l],g[++l],g[++l])}function I(M,e,b){for(var p,t=M.__k,o=0;t&&o\u003Ct.length;o++)(p=t[o])&&(p.__=M,e=\\\"function\\\"==typeof p.type?I(p,e,b):z(b,p,p,t,p.__e,e));return e}function j(M,e){return e=e||[],null!=M&&\\\"boolean\\\"!=typeof M&&(Array.isArray(M)?M.some(function(M){j(M,e)}):e.push(M)),e}function z(M,e,b,z,p,t){var o,O,c;if(void 0!==e.__d)o=e.__d,e.__d=void 0;else if(null==b||p!=t||null==p.parentNode)M:if(null==t||t.parentNode!==M)M.appendChild(p),o=null;else{for(O=t,c=0;(O=O.nextSibling)&&c\u003Cz.length;c+=1)if(O==p)break M;M.insertBefore(p,t),o=t}return void 0!==o?o:p.nextSibling}function L(M){var e,b;if(null==M.type||\\\"string\\\"==typeof M.type)return M.__e;if(M.__k)for(e=M.__k.length-1;0\u003C=e;e--)if((b=M.__k[e])&&(b=L(b)))return b;return null}function M(M,e,b,z,p,t,o,c,n){var i,r,a,A,s,d,q,u,W,f,R,g,m,L,v,N=e.type;if(void 0!==e.constructor)return null;null!=b.__h&&(n=b.__h,c=e.__e=b.__e,e.__h=null,t=[c]),(i=l.__b)&&i(e);try{M:if(\\\"function\\\"==typeof N){if(u=e.props,W=(i=N.contextType)&&z[i.__c],f=i?W?W.props.value:i.__:z,b.__c?q=(r=e.__c=b.__c).__=r.__E:(\\\"prototype\\\"in N&&N.prototype.render?e.__c=r=new N(u,f):(e.__c=r=new x(u,f),r.constructor=N,r.render=B),W&&W.sub(r),r.props=u,r.state||(r.state={}),r.context=f,r.__n=z,a=r.__d=!0,r.__h=[],r._sb=[]),null==r.__s&&(r.__s=r.state),null!=N.getDerivedStateFromProps&&(r.__s==r.state&&(r.__s=h({},r.__s)),h(r.__s,N.getDerivedStateFromProps(u,r.__s))),A=r.props,s=r.state,r.__v=e,a)null==N.getDerivedStateFromProps&&null!=r.componentWillMount&&r.componentWillMount(),null!=r.componentDidMount&&r.__h.push(r.componentDidMount);else{if(null==N.getDerivedStateFromProps&&u!==A&&null!=r.componentWillReceiveProps&&r.componentWillReceiveProps(u,f),!r.__e&&null!=r.shouldComponentUpdate&&!1===r.shouldComponentUpdate(u,r.__s,f)||e.__v===b.__v){for(e.__v!==b.__v&&(r.props=u,r.state=r.__s,r.__d=!1),e.__e=b.__e,e.__k=b.__k,e.__k.forEach(function(M){M&&(M.__=e)}),R=0;R\u003Cr._sb.length;R++)r.__h.push(r._sb[R]);r._sb=[],r.__h.length&&o.push(r);break M}null!=r.componentWillUpdate&&r.componentWillUpdate(u,r.__s,f),null!=r.componentDidUpdate&&r.__h.push(function(){r.componentDidUpdate(A,s,d)})}if(r.context=f,r.props=u,r.__P=M,g=l.__r,m=0,\\\"prototype\\\"in N&&N.prototype.render){for(r.state=r.__s,r.__d=!1,g&&g(e),i=r.render(r.props,r.state,r.context),L=0;L\u003Cr._sb.length;L++)r.__h.push(r._sb[L]);r._sb=[]}else for(;r.__d=!1,g&&g(e),i=r.render(r.props,r.state,r.context),r.state=r.__s,r.__d&&++m\u003C25;);r.state=r.__s,null!=r.getChildContext&&(z=h(h({},z),r.getChildContext())),a||null==r.getSnapshotBeforeUpdate||(d=r.getSnapshotBeforeUpdate(A,s)),v=null!=i&&i.type===_&&null==i.key?i.props.children:i,H(M,Array.isArray(v)?v:[v],e,b,z,p,t,o,c,n),r.base=e.__e,e.__h=null,r.__h.length&&o.push(r),q&&(r.__E=r.__=null),r.__e=!1}else null==t&&e.__v===b.__v?(e.__k=b.__k,e.__e=b.__e):e.__e=O(b.__e,e,b,z,p,t,o,n);(i=l.diffed)&&i(e)}catch(y){e.__v=null,!n&&null==t||(e.__e=c,e.__h=!!n,t[t.indexOf(c)]=null),l.__e(y,e,b)}}function N(b,M){l.__c&&l.__c(M,b),b.some(function(e){try{b=e.__h,e.__h=[],b.some(function(M){M.call(e)})}catch(M){l.__e(M,e.__v)}})}function O(M,e,b,z,p,t,o,O){var i,r,a,s=b.props,d=e.props,q=e.type,l=0;if(\\\"svg\\\"===q&&(p=!0),null!=t)for(;l\u003Ct.length;l++)if((i=t[l])&&\\\"setAttribute\\\"in i==!!q&&(q?i.localName===q:3===i.nodeType)){M=i,t[l]=null;break}if(null==M){if(null===q)return document.createTextNode(d);M=p?document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",q):document.createElement(q,d.is&&d),t=null,O=!1}if(null===q)s===d||O&&M.data===d||(M.data=d);else{if(t=t&&n.call(M.childNodes),r=(s=b.props||c).dangerouslySetInnerHTML,a=d.dangerouslySetInnerHTML,!O){if(null!=t)for(s={},l=0;l\u003CM.attributes.length;l++)s[M.attributes[l].name]=M.attributes[l].value;!a&&!r||a&&(r&&a.__html==r.__html||a.__html===M.innerHTML)||(M.innerHTML=a&&a.__html||\\\"\\\")}if(k(M,d,s,p,O),a)e.__k=[];else if(l=e.props.children,H(M,Array.isArray(l)?l:[l],e,b,z,p&&\\\"foreignObject\\\"!==q,t,o,t?t[0]:b.__k&&A(b,0),O),null!=t)for(l=t.length;l--;)null!=t[l]&&v(t[l]);O||(\\\"value\\\"in d&&void 0!==(l=d.value)&&(l!==M.value||\\\"progress\\\"===q&&!l||\\\"option\\\"===q&&l!==s.value)&&g(M,\\\"value\\\",l,s.value,!1),\\\"checked\\\"in d&&void 0!==(l=d.checked)&&l!==M.checked&&g(M,\\\"checked\\\",l,s.checked,!1))}return M}function S(M,e,b){try{\\\"function\\\"==typeof M?M(e):M.current=e}catch(z){l.__e(z,b)}}function q(M,e,b){var z,p;if(l.unmount&&l.unmount(M),!(z=M.ref)||z.current&&z.current!==M.__e||S(z,null,e),null!=(z=M.__c)){if(z.componentWillUnmount)try{z.componentWillUnmount()}catch(t){l.__e(t,e)}z.base=z.__P=null,M.__c=void 0}if(z=M.__k)for(p=0;p\u003Cz.length;p++)z[p]&&q(z[p],e,b||\\\"function\\\"!=typeof M.type);b||null==M.__e||v(M.__e),M.__=M.__e=M.__d=void 0}function B(M,e,b){return this.constructor(M,b)}function D(e,b,z){var p,t,o;l.__&&l.__(e,b),t=(p=\\\"function\\\"==typeof z)?null:z&&z.__k||b.__k,o=[],M(b,e=(!p&&z||b).__k=y(_,null,[e]),t||c,c,void 0!==b.ownerSVGElement,!p&&z?[z]:!t&&b.firstChild?n.call(b.childNodes):null,o,!p&&z?z:t?t.__e:b.firstChild,p),N(o,e)}function G(M,z){var b={__c:z=\\\"__cC\\\"+e++,__:M,Consumer:function(M,e){return M.children(e)},Provider:function(M){var b,e;return this.getChildContext||(b=[],((e={})[z]=this).getChildContext=function(){return e},this.shouldComponentUpdate=function(M){this.props.value!==M.value&&b.some(function(M){M.__e=!0,T(M)})},this.sub=function(M){b.push(M);var e=M.componentWillUnmount;M.componentWillUnmount=function(){b.splice(b.indexOf(M),1),e&&e.call(M)}}),M.children}};return b.Provider.__=b.Consumer.contextType=b}n=s.slice,l={__e:function(M,e,b,z){for(var p,t,o;e=e.__;)if((p=e.__c)&&!p.__)try{if((t=p.constructor)&&null!=t.getDerivedStateFromError&&(p.setState(t.getDerivedStateFromError(M)),o=p.__d),null!=p.componentDidCatch&&(p.componentDidCatch(M,z||{}),o=p.__d),o)return p.__E=p}catch(O){M=O}throw M}},u=0,t=!(i=function(M){return null!=M&&void 0===M.constructor}),x.prototype.setState=function(M,e){var b=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=h({},this.state);(M=\\\"function\\\"==typeof M?M(h({},b),this.props):M)&&h(b,M),null!=M&&this.__v&&(e&&this._sb.push(e),T(this))},x.prototype.forceUpdate=function(M){this.__v&&(this.__e=!0,M&&this.__h.push(M),T(this))},x.prototype.render=_,r=[],f=\\\"function\\\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,$.__r=0,e=0,init_esbuild_inject(),init_esbuild_inject();var f2=[],c2=[],e2=l.__b,a2=l.__r,v2=l.diffed,l2=l.__c,m2=l.unmount;function b2(){for(var M;M=f2.shift();)if(M.__P&&M.__H)try{M.__H.__h.forEach(k2),M.__H.__h.forEach(w2),M.__H.__h=[]}catch(e){M.__H.__h=[],l.__e(e,M.__v)}}l.__b=function(M){r2=null,e2&&e2(M)},l.__r=function(M){a2&&a2(M),t2=0;var e=(r2=M.__c).__H;e&&(u2===r2?(e.__h=[],r2.__h=[],e.__.forEach(function(M){M.__N&&(M.__=M.__N),M.__V=c2,M.__N=M.i=void 0})):(e.__h.forEach(k2),e.__h.forEach(w2),e.__h=[])),u2=r2},l.diffed=function(M){v2&&v2(M);var e=M.__c;e&&e.__H&&(!e.__H.__h.length||1!==f2.push(e)&&i2===l.requestAnimationFrame||((i2=l.requestAnimationFrame)||j2)(b2),e.__H.__.forEach(function(M){M.i&&(M.__H=M.i),M.__V!==c2&&(M.__=M.__V),M.i=void 0,M.__V=c2})),u2=r2=null},l.__c=function(M,b){b.some(function(M){try{M.__h.forEach(k2),M.__h=M.__h.filter(function(M){return!M.__||w2(M)})}catch(e){b.some(function(M){M.__h&&(M.__h=[])}),b=[],l.__e(e,M.__v)}}),l2&&l2(M,b)},l.unmount=function(M){m2&&m2(M);var b,e=M.__c;e&&e.__H&&(e.__H.__.forEach(function(M){try{k2(M)}catch(e){b=e}}),e.__H=void 0,b)&&l.__e(b,e.__v)};var g2=\\\"function\\\"==typeof requestAnimationFrame;function j2(M){var e,b=function(){clearTimeout(z),g2&&cancelAnimationFrame(e),setTimeout(M)},z=setTimeout(b,100);g2&&(e=requestAnimationFrame(b))}function k2(M){var e=r2,b=M.__c;\\\"function\\\"==typeof b&&(M.__c=void 0,b()),r2=e}function w2(M){var e=r2;M.__c=M.__(),r2=e}function g3(M,e){for(var b in e)M[b]=e[b];return M}function C2(M,e){for(var b in M)if(\\\"__source\\\"!==b&&!(b in e))return!0;for(var z in e)if(\\\"__source\\\"!==z&&M[z]!==e[z])return!0;return!1}function w3(M){this.props=M}(w3.prototype=new x).isPureReactComponent=!0,w3.prototype.shouldComponentUpdate=function(M,e){return C2(this.props,M)||C2(this.state,e)};var x3=l.__b,N2=(l.__b=function(M){M.type&&M.type.__f&&M.ref&&(M.props.ref=M.ref,M.ref=null),x3&&x3(M)},\\\"undefined\\\"!=typeof Symbol&&Symbol[\\\"for\\\"]&&Symbol[\\\"for\\\"](\\\"react.forward_ref\\\")||3911),T3=l.__e,I2=(l.__e=function(M,e,b,z){if(M.then)for(var p,t=e;t=t.__;)if((p=t.__c)&&p.__c)return null==e.__e&&(e.__e=b.__e,e.__k=b.__k),p.__c(M,e);T3(M,e,b,z)},l.unmount);function L2(M,e,b){return M&&(M.__c&&M.__c.__H&&(M.__c.__H.__.forEach(function(M){\\\"function\\\"==typeof M.__c&&M.__c()}),M.__c.__H=null),null!=(M=g3({},M)).__c&&(M.__c.__P===b&&(M.__c.__P=e),M.__c=null),M.__k=M.__k&&M.__k.map(function(M){return L2(M,e,b)})),M}function U(M,e,b){return M&&(M.__v=null,M.__k=M.__k&&M.__k.map(function(M){return U(M,e,b)}),M.__c)&&M.__c.__P===e&&(M.__e&&b.insertBefore(M.__e,M.__d),M.__c.__e=!0,M.__c.__P=b),M}function D2(){this.__u=0,this.t=null,this.__b=null}function F3(M){var e=M.__.__c;return e&&e.__a&&e.__a(M)}function V2(){this.u=null,this.o=null}l.unmount=function(M){var e=M.__c;e&&e.__R&&e.__R(),e&&!0===M.__h&&(M.type=null),I2&&I2(M)},(D2.prototype=new x).__c=function(M,e){var b=e.__c,z=this,p=(null==z.t&&(z.t=[]),z.t.push(b),F3(z.__v)),t=!1,o=function(){t||(t=!0,b.__R=null,p?p(O):O())},O=(b.__R=o,function(){var M,e;if(!--z.__u)for(z.state.__a&&(M=z.state.__a,z.__v.__k[0]=U(M,M.__c.__P,M.__c.__O)),z.setState({__a:z.__b=null});e=z.t.pop();)e.forceUpdate()}),c=!0===e.__h;z.__u++||c||z.setState({__a:z.__b=z.__v.__k[0]}),M.then(o,o)},D2.prototype.componentWillUnmount=function(){this.t=[]},D2.prototype.render=function(M,e){this.__b&&(this.__v.__k&&(z=document.createElement(\\\"div\\\"),b=this.__v.__k[0].__c,this.__v.__k[0]=L2(this.__b,z,b.__O=b.__P)),this.__b=null);var b,z=e.__a&&y(_,null,M.fallback);return z&&(z.__h=null),[y(_,null,e.__a?null:M.children),z]};var W=function(M,e,b){if(++b[1]===b[0]&&M.o[\\\"delete\\\"](e),M.props.revealOrder&&(\\\"t\\\"!==M.props.revealOrder[0]||!M.o.size))for(b=M.u;b;){for(;3\u003Cb.length;)b.pop()();if(b[1]\u003Cb[0])break;M.u=b=b[2]}};function P2(M){return this.getChildContext=function(){return M.context},M.children}function $2(M){var b=this,e=M.i;b.componentWillUnmount=function(){D(null,b.l),b.l=null,b.i=null},b.i&&b.i!==e&&b.componentWillUnmount(),M.__v?(b.l||(b.i=e,b.l={nodeType:1,parentNode:e,childNodes:[],appendChild:function(M){this.childNodes.push(M),b.i.appendChild(M)},insertBefore:function(M,e){this.childNodes.push(M),b.i.appendChild(M)},removeChild:function(M){this.childNodes.splice(this.childNodes.indexOf(M)>>>1,1),b.i.removeChild(M)}}),D(y(P2,{context:b.context},M.__v),b.l)):b.l&&b.componentWillUnmount()}function j3(M,e){var b=y($2,{__v:M,i:e});return b.containerInfo=e,b}(V2.prototype=new x).__a=function(b){var z=this,p=F3(z.__v),t=z.o.get(b);return t[0]++,function(M){var e=function(){z.props.revealOrder?(t.push(M),W(z,b,t)):M()};p?p(e):e()}},V2.prototype.render=function(M){this.u=null,this.o=new Map;var e=j(M.children);M.revealOrder&&\\\"b\\\"===M.revealOrder[0]&&e.reverse();for(var b=e.length;b--;)this.o.set(e[b],this.u=[1,0,this.u]);return M.children},V2.prototype.componentDidUpdate=V2.prototype.componentDidMount=function(){var b=this;this.o.forEach(function(M,e){W(b,e,M)})};var X,z2=\\\"undefined\\\"!=typeof Symbol&&Symbol[\\\"for\\\"]&&Symbol[\\\"for\\\"](\\\"react.element\\\")||60103,B2=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,H2=\\\"undefined\\\"!=typeof document,Z=function(M){return(\\\"undefined\\\"!=typeof Symbol&&\\\"symbol\\\"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(M)},G2=(x.prototype.isReactComponent={},[\\\"componentWillMount\\\",\\\"componentWillReceiveProps\\\",\\\"componentWillUpdate\\\"].forEach(function(e){Object.defineProperty(x.prototype,e,{configurable:!0,get:function(){return this[\\\"UNSAFE_\\\"+e]},set:function(M){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:M})}})}),l.event);function J(){}function K(){return this.cancelBubble}function Q(){return this.defaultPrevented}l.event=function(M){return(M=G2?G2(M):M).persist=J,M.isPropagationStopped=K,M.isDefaultPrevented=Q,M.nativeEvent=M};var queriedNonceValue,nn={configurable:!0,get:function(){return this[\\\"class\\\"]}},tn=l.vnode,en=(l.vnode=function(M){var e=M.type,b=M.props,z=b;if(\\\"string\\\"==typeof e){var p,t=-1===e.indexOf(\\\"-\\\"),z={};for(p in b){var o=b[p];H2&&\\\"children\\\"===p&&\\\"noscript\\\"===e||\\\"value\\\"===p&&\\\"defaultValue\\\"in b&&null==o||(\\\"defaultValue\\\"===p&&\\\"value\\\"in b&&null==b.value?p=\\\"value\\\":\\\"download\\\"===p&&!0===o?o=\\\"\\\":/ondoubleclick/i.test(p)?p=\\\"ondblclick\\\":/^onchange(textarea|input)/i.test(p+e)&&!Z(b.type)?p=\\\"oninput\\\":/^onfocus$/i.test(p)?p=\\\"onfocusin\\\":/^onblur$/i.test(p)?p=\\\"onfocusout\\\":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(p)?p=p.toLowerCase():t&&B2.test(p)?p=p.replace(/[A-Z0-9]/g,\\\"-$&\\\").toLowerCase():null===o&&(o=void 0),/^oninput$/i.test(p)&&(p=p.toLowerCase(),z[p])&&(p=\\\"oninputCapture\\\"),z[p]=o)}\\\"select\\\"==e&&z.multiple&&Array.isArray(z.value)&&(z.value=j(b.children).forEach(function(M){M.props.selected=-1!=z.value.indexOf(M.props.value)})),\\\"select\\\"==e&&null!=z.defaultValue&&(z.value=j(b.children).forEach(function(M){M.props.selected=z.multiple?-1!=z.defaultValue.indexOf(M.props.value):z.defaultValue==M.props.value})),M.props=z,b[\\\"class\\\"]!=b.className&&(nn.enumerable=\\\"className\\\"in b,null!=b.className&&(z[\\\"class\\\"]=b.className),Object.defineProperty(z,\\\"className\\\",nn))}M.$$typeof=z2,tn&&tn(M)},l.__r),styleTexts=(l.__r=function(M){en&&en(M),X=M.__c},[]),styleEls=new Map;function injectStyles(e){styleTexts.push(e),styleEls.forEach(M=>{appendStylesTo(M,e)})}function ensureElHasStyles(M){M.isConnected&®isterStylesRoot(M.getRootNode())}function registerStylesRoot(M){let e=styleEls.get(M);var b,z;e&&e.isConnected||((e=M.querySelector(\\\"style[data-fullcalendar]\\\"))||((e=document.createElement(\\\"style\\\")).setAttribute(\\\"data-fullcalendar\\\",\\\"\\\"),(b=getNonceValue())&&(e.nonce=b),b=M===document?document.head:M,z=M===document?b.querySelector(\\\"script,link[rel=stylesheet],link[as=style],style\\\"):b.firstChild,b.insertBefore(e,z)),styleEls.set(M,e),hydrateStylesRoot(e))}function hydrateStylesRoot(M){for(const e of styleTexts)appendStylesTo(M,e)}function appendStylesTo(M,e){const b=M[\\\"sheet\\\"],z=b.cssRules.length;e.split(\\\"}\\\").forEach((M,e)=>{(M=M.trim())&&b.insertRule(M+\\\"}\\\",z+e)})}function getNonceValue(){return queriedNonceValue=void 0===queriedNonceValue?queryNonceValue():queriedNonceValue}function queryNonceValue(){var M=document.querySelector('meta[name=\\\"csp-nonce\\\"]');return M&&M.hasAttribute(\\\"content\\\")?M.getAttribute(\\\"content\\\"):(M=document.querySelector(\\\"script[nonce]\\\"))&&M.nonce||\\\"\\\"}\\\"undefined\\\"!=typeof document&®isterStylesRoot(document);var css_248z=':root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url(\\\"data:application/x-font-ttf;charset=utf-8;base64,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\\\") format(\\\"truetype\\\")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:\\\"\\\\\\\\e900\\\"}.fc-icon-chevron-right:before{content:\\\"\\\\\\\\e901\\\"}.fc-icon-chevrons-left:before{content:\\\"\\\\\\\\e902\\\"}.fc-icon-chevrons-right:before{content:\\\"\\\\\\\\e903\\\"}.fc-icon-minus-square:before{content:\\\"\\\\\\\\e904\\\"}.fc-icon-plus-square:before{content:\\\"\\\\\\\\e905\\\"}.fc-icon-x:before{content:\\\"\\\\\\\\e906\\\"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:\\\"\\\";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:\\\"\\\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\\\"\\\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}';function removeElement(M){M.parentNode&&M.parentNode.removeChild(M)}function elementClosest(M,e){if(M.closest)return M.closest(e);if(document.documentElement.contains(M))do{if(elementMatches(M,e))return M}while(null!==(M=M.parentElement||M.parentNode)&&1===M.nodeType);return null}function elementMatches(M,e){return(M.matches||M.matchesSelector||M.msMatchesSelector).call(M,e)}function findElements(M,e){var b=M instanceof HTMLElement?[M]:M,z=[];for(let t=0;t\u003Cb.length;t+=1){var p=b[t].querySelectorAll(e);for(let M=0;M\u003Cp.length;M+=1)z.push(p[M])}return z}injectStyles(css_248z);var PIXEL_PROP_RE=/(top|left|right|bottom|width|height)$/i;function applyStyle(M,e){for(var b in e)applyStyleProp(M,b,e[b])}function applyStyleProp(M,e,b){null==b?M.style[e]=\\\"\\\":\\\"number\\\"==typeof b&&PIXEL_PROP_RE.test(e)?M.style[e]=b+\\\"px\\\":M.style[e]=b}function getEventTargetViaRoot(M){var e;return null!=(e=null==(e=M.composedPath)?void 0:e.call(M)[0])?e:M.target}var guid$1=0;function getUniqueDomId(){return\\\"fc-dom-\\\"+(guid$1+=1)}function preventDefault(M){M.preventDefault()}function buildDelegationHandler(b,z){return M=>{var e=elementClosest(M.target,b);e&&z.call(e,M,e)}}function listenBySelector(M,e,b,z){let p=buildDelegationHandler(b,z);return M.addEventListener(e,p),()=>{M.removeEventListener(e,p)}}function listenToHoverBySelector(M,e,z,p){let t;return listenBySelector(M,\\\"mouseover\\\",e,(M,b)=>{if(b!==t){t=b,z(M,b);let e=M=>{t=null,p(M,b),b.removeEventListener(\\\"mouseleave\\\",e)};b.addEventListener(\\\"mouseleave\\\",e)}})}var transitionEventNames=[\\\"webkitTransitionEnd\\\",\\\"otransitionend\\\",\\\"oTransitionEnd\\\",\\\"msTransitionEnd\\\",\\\"transitionend\\\"];function whenTransitionDone(e,b){let z=M=>{b(M),transitionEventNames.forEach(M=>{e.removeEventListener(M,z)})};transitionEventNames.forEach(M=>{e.addEventListener(M,z)})}function createAriaClickAttrs(M){return Object.assign({onClick:M},createAriaKeyboardAttrs(M))}function createAriaKeyboardAttrs(e){return{tabIndex:0,onKeyDown(M){\\\"Enter\\\"!==M.key&&\\\" \\\"!==M.key||(e(M),M.preventDefault())}}}var guidNumber=0;function guid(){return guidNumber+=1,String(guidNumber)}function disableCursor(){document.body.classList.add(\\\"fc-not-allowed\\\")}function enableCursor(){document.body.classList.remove(\\\"fc-not-allowed\\\")}function preventSelection(M){M.style.userSelect=\\\"none\\\",M.addEventListener(\\\"selectstart\\\",preventDefault)}function allowSelection(M){M.style.userSelect=\\\"\\\",M.removeEventListener(\\\"selectstart\\\",preventDefault)}function preventContextMenu(M){M.addEventListener(\\\"contextmenu\\\",preventDefault)}function allowContextMenu(M){M.removeEventListener(\\\"contextmenu\\\",preventDefault)}function parseFieldSpecs(M){var e,b=[];let z=[],p;for(\\\"string\\\"==typeof M?z=M.split(/\\\\s*,\\\\s*/):\\\"function\\\"==typeof M?z=[M]:Array.isArray(M)&&(z=M),p=0;p\u003Cz.length;p+=1)\\\"string\\\"==typeof(e=z[p])?b.push(\\\"-\\\"===e.charAt(0)?{field:e.substring(1),order:-1}:{field:e,order:1}):\\\"function\\\"==typeof e&&b.push({func:e});return b}function compareByFieldSpecs(M,e,b){let z;var p;for(z=0;z\u003Cb.length;z+=1)if(p=compareByFieldSpec(M,e,b[z]))return p;return 0}function compareByFieldSpec(M,e,b){return b.func?b.func(M,e):flexibleCompare(M[b.field],e[b.field])*(b.order||1)}function flexibleCompare(M,e){return M||e?null==e?-1:null==M?1:\\\"string\\\"==typeof M||\\\"string\\\"==typeof e?String(M).localeCompare(String(e)):M-e:0}function padStart(M,e){var b=String(M);return\\\"000\\\".substr(0,e-b.length)+b}function formatWithOrdinals(M,e,b){return\\\"function\\\"==typeof M?M(...e):\\\"string\\\"==typeof M?e.reduce((M,e,b)=>M.replace(\\\"$\\\"+b,e||\\\"\\\"),M):b}function compareNumbers(M,e){return M-e}function isInt(M){return M%1==0}function computeSmallestCellWidth(M){var e=M.querySelector(\\\".fc-scrollgrid-shrink-frame\\\"),b=M.querySelector(\\\".fc-scrollgrid-shrink-cushion\\\");if(!e)throw new Error(\\\"needs fc-scrollgrid-shrink-frame className\\\");if(b)return M.getBoundingClientRect().width-e.getBoundingClientRect().width+b.getBoundingClientRect().width;throw new Error(\\\"needs fc-scrollgrid-shrink-cushion className\\\")}var INTERNAL_UNITS=[\\\"years\\\",\\\"months\\\",\\\"days\\\",\\\"milliseconds\\\"],PARSE_RE=/^(-?)(?:(\\\\d+)\\\\.)?(\\\\d+):(\\\\d\\\\d)(?::(\\\\d\\\\d)(?:\\\\.(\\\\d\\\\d\\\\d))?)?/;function createDuration(M,e){return\\\"string\\\"==typeof M?parseString(M):\\\"object\\\"==typeof M&&M?parseObject(M):\\\"number\\\"==typeof M?parseObject({[e||\\\"milliseconds\\\"]:M}):null}function parseString(M){var e,b=PARSE_RE.exec(M);return b?{years:0,months:0,days:(e=b[1]?-1:1)*(b[2]?parseInt(b[2],10):0),milliseconds:e*(60*(b[3]?parseInt(b[3],10):0)*60*1e3+60*(b[4]?parseInt(b[4],10):0)*1e3+1e3*(b[5]?parseInt(b[5],10):0)+(b[6]?parseInt(b[6],10):0))}:null}function parseObject(M){var e={years:M.years||M.year||0,months:M.months||M.month||0,days:M.days||M.day||0,milliseconds:60*(M.hours||M.hour||0)*60*1e3+60*(M.minutes||M.minute||0)*1e3+1e3*(M.seconds||M.second||0)+(M.milliseconds||M.millisecond||M.ms||0)},b=M.weeks||M.week;return b&&(e.days+=7*b,e.specifiedWeeks=!0),e}function durationsEqual(M,e){return M.years===e.years&&M.months===e.months&&M.days===e.days&&M.milliseconds===e.milliseconds}function addDurations(M,e){return{years:M.years+e.years,months:M.months+e.months,days:M.days+e.days,milliseconds:M.milliseconds+e.milliseconds}}function subtractDurations(M,e){return{years:M.years-e.years,months:M.months-e.months,days:M.days-e.days,milliseconds:M.milliseconds-e.milliseconds}}function multiplyDuration(M,e){return{years:M.years*e,months:M.months*e,days:M.days*e,milliseconds:M.milliseconds*e}}function asRoughYears(M){return asRoughDays(M)/365}function asRoughMonths(M){return asRoughDays(M)/30}function asRoughDays(M){return asRoughMs(M)/864e5}function asRoughMs(M){return 31536e6*M.years+2592e6*M.months+864e5*M.days+M.milliseconds}function wholeDivideDurations(M,e){let b=null;for(let t=0;t\u003CINTERNAL_UNITS.length;t+=1){var z=INTERNAL_UNITS[t];if(e[z]){var p=M[z]/e[z];if(!isInt(p)||null!==b&&b!==p)return null;b=p}else if(M[z])return null}return b}function greatestDurationDenominator(M){var e=M.milliseconds;if(e){if(e%1e3!=0)return{unit:\\\"millisecond\\\",value:e};if(e%6e4!=0)return{unit:\\\"second\\\",value:e/1e3};if(e%36e5!=0)return{unit:\\\"minute\\\",value:e/6e4};if(e)return{unit:\\\"hour\\\",value:e/36e5}}return M.days?M.specifiedWeeks&&M.days%7==0?{unit:\\\"week\\\",value:M.days/7}:{unit:\\\"day\\\",value:M.days}:M.months?{unit:\\\"month\\\",value:M.months}:M.years?{unit:\\\"year\\\",value:M.years}:{unit:\\\"millisecond\\\",value:0}}var hasOwnProperty=Object.prototype[\\\"hasOwnProperty\\\"];function mergeProps(e,M){var b={};if(M)for(var z in M)if(M[z]===isMaybeObjectsEqual){var p=[];for(let M=e.length-1;0\u003C=M;--M){var t=e[M][z];if(\\\"object\\\"==typeof t&&t)p.unshift(t);else if(void 0!==t){b[z]=t;break}}p.length&&(b[z]=mergeProps(p))}for(let c=e.length-1;0\u003C=c;--c){var o,O=e[c];for(o in O)o in b||(b[o]=O[o])}return b}function filterHash(M,e){var b,z={};for(b in M)e(M[b],b)&&(z[b]=M[b]);return z}function mapHash(M,e){var b,z={};for(b in M)z[b]=e(M[b],b);return z}function arrayToHash(M){var e,b={};for(e of M)b[e]=!0;return b}function hashValuesToArray(M){var e,b=[];for(e in M)b.push(M[e]);return b}function isPropsEqual(M,e){if(M!==e){for(var b in M)if(hasOwnProperty.call(M,b)&&!(b in e))return!1;for(var z in e)if(hasOwnProperty.call(e,z)&&M[z]!==e[z])return!1}return!0}var HANDLER_RE=/^on[A-Z]/;function isNonHandlerPropsEqual(M,e){var b;for(b of getUnequalProps(M,e))if(!HANDLER_RE.test(b))return!1;return!0}function getUnequalProps(M,e){var b,z,p=[];for(b in M)!hasOwnProperty.call(M,b)||b in e||p.push(b);for(z in e)hasOwnProperty.call(e,z)&&M[z]!==e[z]&&p.push(z);return p}function compareObjs(M,e,b={}){if(M!==e){for(var z in e)if(!(z in M&&isObjValsEqual(M[z],e[z],b[z])))return!1;for(var p in M)if(!(p in e))return!1}return!0}function isObjValsEqual(M,e,b){return M===e||!0===b||!!b&&b(M,e)}function collectFromHash(M,e=0,b,z=1){var p=[];null==b&&(b=Object.keys(M).length);for(let o=e;o\u003Cb;o+=z){var t=M[o];void 0!==t&&p.push(t)}return p}function removeExact(M,e){let b=0,z=0;for(;z\u003CM.length;)M[z]===e?(M.splice(z,1),b+=1):z+=1;return b}function isArraysEqual(e,b,z){if(e!==b){var p=e.length;let M;if(p!==b.length)return!1;for(M=0;M\u003Cp;M+=1)if(!(z?z(e[M],b[M]):e[M]===b[M]))return!1}return!0}var DAY_IDS=[\\\"sun\\\",\\\"mon\\\",\\\"tue\\\",\\\"wed\\\",\\\"thu\\\",\\\"fri\\\",\\\"sat\\\"];function addWeeks(M,e){var b=dateToUtcArray(M);return b[2]+=7*e,arrayToUtcDate(b)}function addDays(M,e){var b=dateToUtcArray(M);return b[2]+=e,arrayToUtcDate(b)}function addMs(M,e){var b=dateToUtcArray(M);return b[6]+=e,arrayToUtcDate(b)}function diffWeeks(M,e){return diffDays(M,e)/7}function diffDays(M,e){return(e.valueOf()-M.valueOf())/864e5}function diffHours(M,e){return(e.valueOf()-M.valueOf())/36e5}function diffMinutes(M,e){return(e.valueOf()-M.valueOf())/6e4}function diffSeconds(M,e){return(e.valueOf()-M.valueOf())/1e3}function diffDayAndTime(M,e){var b=startOfDay(M),z=startOfDay(e);return{years:0,months:0,days:Math.round(diffDays(b,z)),milliseconds:e.valueOf()-z.valueOf()-(M.valueOf()-b.valueOf())}}function diffWholeWeeks(M,e){var b=diffWholeDays(M,e);return null!==b&&b%7==0?b/7:null}function diffWholeDays(M,e){return timeAsMs(M)===timeAsMs(e)?Math.round(diffDays(M,e)):null}function startOfDay(M){return arrayToUtcDate([M.getUTCFullYear(),M.getUTCMonth(),M.getUTCDate()])}function startOfHour(M){return arrayToUtcDate([M.getUTCFullYear(),M.getUTCMonth(),M.getUTCDate(),M.getUTCHours()])}function startOfMinute(M){return arrayToUtcDate([M.getUTCFullYear(),M.getUTCMonth(),M.getUTCDate(),M.getUTCHours(),M.getUTCMinutes()])}function startOfSecond(M){return arrayToUtcDate([M.getUTCFullYear(),M.getUTCMonth(),M.getUTCDate(),M.getUTCHours(),M.getUTCMinutes(),M.getUTCSeconds()])}function weekOfYear(M,e,b){var z=M.getUTCFullYear(),p=weekOfGivenYear(M,z,e,b);return p\u003C1?weekOfGivenYear(M,z-1,e,b):1\u003C=(z=weekOfGivenYear(M,z+1,e,b))?Math.min(p,z):p}function weekOfGivenYear(M,e,b,z){var p=arrayToUtcDate([e,0,1+firstWeekOffset(e,b,z)]),t=startOfDay(M),p=Math.round(diffDays(p,t));return Math.floor(p/7)+1}function firstWeekOffset(M,e,b){var z=7+e-b;return z-(7+arrayToUtcDate([M,0,z]).getUTCDay()-e)%7-1}function dateToLocalArray(M){return[M.getFullYear(),M.getMonth(),M.getDate(),M.getHours(),M.getMinutes(),M.getSeconds(),M.getMilliseconds()]}function arrayToLocalDate(M){return new Date(M[0],M[1]||0,null==M[2]?1:M[2],M[3]||0,M[4]||0,M[5]||0)}function dateToUtcArray(M){return[M.getUTCFullYear(),M.getUTCMonth(),M.getUTCDate(),M.getUTCHours(),M.getUTCMinutes(),M.getUTCSeconds(),M.getUTCMilliseconds()]}function arrayToUtcDate(M){return 1===M.length&&(M=M.concat([0])),new Date(Date.UTC(...M))}function isValidDate(M){return!isNaN(M.valueOf())}function timeAsMs(M){return 1e3*M.getUTCHours()*60*60+1e3*M.getUTCMinutes()*60+1e3*M.getUTCSeconds()+M.getUTCMilliseconds()}function buildIsoString(M,e,b=!1){let z=M.toISOString();return z=z.replace(\\\".000\\\",\\\"\\\"),10\u003C(z=b?z.replace(\\\"T00:00:00Z\\\",\\\"\\\"):z).length&&(null==e?z=z.replace(\\\"Z\\\",\\\"\\\"):0!==e&&(z=z.replace(\\\"Z\\\",formatTimeZoneOffset(e,!0)))),z}function formatDayString(M){return M.toISOString().replace(/T.*$/,\\\"\\\")}function formatIsoMonthStr(M){return M.toISOString().match(/^\\\\d{4}-\\\\d{2}/)[0]}function formatIsoTimeString(M){return padStart(M.getUTCHours(),2)+\\\":\\\"+padStart(M.getUTCMinutes(),2)+\\\":\\\"+padStart(M.getUTCSeconds(),2)}function formatTimeZoneOffset(M,e=!1){var b=M\u003C0?\\\"-\\\":\\\"+\\\",z=Math.abs(M),p=Math.floor(z/60),z=Math.round(z%60);return e?b+padStart(p,2)+\\\":\\\"+padStart(z,2):\\\"GMT\\\"+b+p+(z?\\\":\\\"+padStart(z,2):\\\"\\\")}function memoize(b,z,p){let t,o;return function(...M){var e;return t?isArraysEqual(t,M)||(p&&p(o),e=b.apply(this,M),z&&z(e,o))||(o=e):o=b.apply(this,M),t=M,o}}function memoizeObjArg(b,z,p){let t,o;return M=>{var e;return t?isPropsEqual(t,M)||(p&&p(o),e=b.call(this,M),z&&z(e,o))||(o=e):o=b.call(this,M),t=M,o}}var EXTENDED_SETTINGS_AND_SEVERITIES={week:3,separator:0,omitZeroMinute:0,meridiem:0,omitCommas:0},STANDARD_DATE_PROP_SEVERITIES={timeZoneName:7,era:6,year:5,month:4,day:2,weekday:2,hour:1,minute:1,second:1},MERIDIEM_RE=/\\\\s*([ap])\\\\.?m\\\\.?/i,COMMA_RE=/,/g,MULTI_SPACE_RE=/\\\\s+/g,LTR_RE=/\\\\u200e/g,UTC_RE=/UTC|GMT/,NativeFormatter=class{constructor(M){var e,b={},z={};let p=0;for(e in M)e in EXTENDED_SETTINGS_AND_SEVERITIES?(z[e]=M[e],p=Math.max(EXTENDED_SETTINGS_AND_SEVERITIES[e],p)):(b[e]=M[e],e in STANDARD_DATE_PROP_SEVERITIES&&(p=Math.max(STANDARD_DATE_PROP_SEVERITIES[e],p)));this.standardDateProps=b,this.extendedSettings=z,this.severity=p,this.buildFormattingFunc=memoize(buildFormattingFunc)}format(M,e){return this.buildFormattingFunc(this.standardDateProps,this.extendedSettings,e)(M)}formatRange(M,e,b,z){var{standardDateProps:p,extendedSettings:t}=this,o=computeMarkerDiffSeverity(M.marker,e.marker,b.calendarSystem);if(!o)return this.format(M,b);let O=o;!(1\u003CO)||\\\"numeric\\\"!==p.year&&\\\"2-digit\\\"!==p.year||\\\"numeric\\\"!==p.month&&\\\"2-digit\\\"!==p.month||\\\"numeric\\\"!==p.day&&\\\"2-digit\\\"!==p.day||(O=1);var c,n,o=this.format(M,b),i=this.format(e,b);return o===i?o:(n=findCommonInsertion(o,c=(p=buildFormattingFunc(computePartialFormattingOptions(p,O),t,b))(M),i,p=p(e)),t=t.separator||z||b.defaultSeparator||\\\"\\\",n?n.before+c+t+p+n.after:o+t+i)}getLargestUnit(){switch(this.severity){case 7:case 6:case 5:return\\\"year\\\";case 4:return\\\"month\\\";case 3:return\\\"week\\\";case 2:return\\\"day\\\";default:return\\\"time\\\"}}};function buildFormattingFunc(M,e,b){var z=Object.keys(M).length;return 1===z&&\\\"short\\\"===M.timeZoneName?M=>formatTimeZoneOffset(M.timeZoneOffset):0===z&&e.week?M=>formatWeekNumber(b.computeWeekNumber(M.marker),b.weekText,b.weekTextLong,b.locale,e.week):buildNativeFormattingFunc(M,e,b)}function buildNativeFormattingFunc(z,p,t){z=Object.assign({},z),p=Object.assign({},p),sanitizeSettings(z,p),z.timeZone=\\\"UTC\\\";let o=new Intl.DateTimeFormat(t.locale.codes,z),O;var M;return p.omitZeroMinute&&(delete(M=Object.assign({},z)).minute,O=new Intl.DateTimeFormat(t.locale.codes,M)),M=>{var e=M[\\\"marker\\\"];let b;return postProcess((b=O&&!e.getUTCMinutes()?O:o).format(e),M,z,p,t)}}function sanitizeSettings(M,e){M.timeZoneName&&(M.hour||(M.hour=\\\"2-digit\\\"),M.minute||(M.minute=\\\"2-digit\\\")),\\\"long\\\"===M.timeZoneName&&(M.timeZoneName=\\\"short\\\"),e.omitZeroMinute&&(M.second||M.millisecond)&&delete e.omitZeroMinute}function postProcess(M,e,b,z,p){return M=M.replace(LTR_RE,\\\"\\\"),\\\"short\\\"===b.timeZoneName&&(M=injectTzoStr(M,\\\"UTC\\\"===p.timeZone||null==e.timeZoneOffset?\\\"UTC\\\":formatTimeZoneOffset(e.timeZoneOffset))),z.omitCommas&&(M=M.replace(COMMA_RE,\\\"\\\").trim()),z.omitZeroMinute&&(M=M.replace(\\\":00\\\",\\\"\\\")),!1===z.meridiem?M=M.replace(MERIDIEM_RE,\\\"\\\").trim():\\\"narrow\\\"===z.meridiem?M=M.replace(MERIDIEM_RE,(M,e)=>e.toLocaleLowerCase()):\\\"short\\\"===z.meridiem?M=M.replace(MERIDIEM_RE,(M,e)=>e.toLocaleLowerCase()+\\\"m\\\"):\\\"lowercase\\\"===z.meridiem&&(M=M.replace(MERIDIEM_RE,M=>M.toLocaleLowerCase())),M=(M=M.replace(MULTI_SPACE_RE,\\\" \\\")).trim()}function injectTzoStr(M,e){let b=!1;return M=M.replace(UTC_RE,()=>(b=!0,e)),b||(M+=\\\" \\\"+e),M}function formatWeekNumber(M,e,b,z,p){var t=[];return\\\"long\\\"===p?t.push(b):\\\"short\\\"!==p&&\\\"narrow\\\"!==p||t.push(e),\\\"long\\\"!==p&&\\\"short\\\"!==p||t.push(\\\" \\\"),t.push(z.simpleNumberFormat.format(M)),\\\"rtl\\\"===z.options.direction&&t.reverse(),t.join(\\\"\\\")}function computeMarkerDiffSeverity(M,e,b){return b.getMarkerYear(M)!==b.getMarkerYear(e)?5:b.getMarkerMonth(M)!==b.getMarkerMonth(e)?4:b.getMarkerDay(M)!==b.getMarkerDay(e)?2:timeAsMs(M)!==timeAsMs(e)?1:0}function computePartialFormattingOptions(M,e){var b,z={};for(b in M)b in STANDARD_DATE_PROP_SEVERITIES&&!(STANDARD_DATE_PROP_SEVERITIES[b]\u003C=e)||(z[b]=M[b]);return z}function findCommonInsertion(e,b,z,p){let t=0;for(;t\u003Ce.length;){var o=e.indexOf(b,t);if(-1===o)break;var O=e.substr(0,o),c=(t=o+b.length,e.substr(t));let M=0;for(;M\u003Cz.length;){var n=z.indexOf(p,M);if(-1===n)break;var i=z.substr(0,n),n=(M=n+p.length,z.substr(M));if(O===i&&c===n)return{before:O,after:c}}}return null}function expandZonedMarker(M,e){var b=e.markerToArray(M.marker);return{marker:M.marker,timeZoneOffset:M.timeZoneOffset,array:b,year:b[0],month:b[1],day:b[2],hour:b[3],minute:b[4],second:b[5],millisecond:b[6]}}function createVerboseFormattingArg(M,e,b,z){var p=expandZonedMarker(M,b.calendarSystem);return{date:p,start:p,end:e?expandZonedMarker(e,b.calendarSystem):null,timeZone:b.timeZone,localeCodes:b.locale.codes,defaultSeparator:z||b.defaultSeparator}}var CmdFormatter=class{constructor(M){this.cmdStr=M}format(M,e,b){return e.cmdFormatter(this.cmdStr,createVerboseFormattingArg(M,null,e,b))}formatRange(M,e,b,z){return b.cmdFormatter(this.cmdStr,createVerboseFormattingArg(M,e,b,z))}},FuncFormatter=class{constructor(M){this.func=M}format(M,e,b){return this.func(createVerboseFormattingArg(M,null,e,b))}formatRange(M,e,b,z){return this.func(createVerboseFormattingArg(M,e,b,z))}};function createFormatter(M){return\\\"object\\\"==typeof M&&M?new NativeFormatter(M):\\\"string\\\"==typeof M?new CmdFormatter(M):\\\"function\\\"==typeof M?new FuncFormatter(M):null}var BASE_OPTION_REFINERS={navLinkDayClick:identity,navLinkWeekClick:identity,duration:createDuration,bootstrapFontAwesome:identity,buttonIcons:identity,customButtons:identity,defaultAllDayEventDuration:createDuration,defaultTimedEventDuration:createDuration,nextDayThreshold:createDuration,scrollTime:createDuration,scrollTimeReset:Boolean,slotMinTime:createDuration,slotMaxTime:createDuration,dayPopoverFormat:createFormatter,slotDuration:createDuration,snapDuration:createDuration,headerToolbar:identity,footerToolbar:identity,defaultRangeSeparator:String,titleRangeSeparator:String,forceEventDuration:Boolean,dayHeaders:Boolean,dayHeaderFormat:createFormatter,dayHeaderClassNames:identity,dayHeaderContent:identity,dayHeaderDidMount:identity,dayHeaderWillUnmount:identity,dayCellClassNames:identity,dayCellContent:identity,dayCellDidMount:identity,dayCellWillUnmount:identity,initialView:String,aspectRatio:Number,weekends:Boolean,weekNumberCalculation:identity,weekNumbers:Boolean,weekNumberClassNames:identity,weekNumberContent:identity,weekNumberDidMount:identity,weekNumberWillUnmount:identity,editable:Boolean,viewClassNames:identity,viewDidMount:identity,viewWillUnmount:identity,nowIndicator:Boolean,nowIndicatorClassNames:identity,nowIndicatorContent:identity,nowIndicatorDidMount:identity,nowIndicatorWillUnmount:identity,showNonCurrentDates:Boolean,lazyFetching:Boolean,startParam:String,endParam:String,timeZoneParam:String,timeZone:String,locales:identity,locale:identity,themeSystem:String,dragRevertDuration:Number,dragScroll:Boolean,allDayMaintainDuration:Boolean,unselectAuto:Boolean,dropAccept:identity,eventOrder:parseFieldSpecs,eventOrderStrict:Boolean,handleWindowResize:Boolean,windowResizeDelay:Number,longPressDelay:Number,eventDragMinDistance:Number,expandRows:Boolean,height:identity,contentHeight:identity,direction:String,weekNumberFormat:createFormatter,eventResizableFromStart:Boolean,displayEventTime:Boolean,displayEventEnd:Boolean,weekText:String,weekTextLong:String,progressiveEventRendering:Boolean,businessHours:identity,initialDate:identity,now:identity,eventDataTransform:identity,stickyHeaderDates:identity,stickyFooterScrollbar:identity,viewHeight:identity,defaultAllDay:Boolean,eventSourceFailure:identity,eventSourceSuccess:identity,eventDisplay:String,eventStartEditable:Boolean,eventDurationEditable:Boolean,eventOverlap:identity,eventConstraint:identity,eventAllow:identity,eventBackgroundColor:String,eventBorderColor:String,eventTextColor:String,eventColor:String,eventClassNames:identity,eventContent:identity,eventDidMount:identity,eventWillUnmount:identity,selectConstraint:identity,selectOverlap:identity,selectAllow:identity,droppable:Boolean,unselectCancel:String,slotLabelFormat:identity,slotLaneClassNames:identity,slotLaneContent:identity,slotLaneDidMount:identity,slotLaneWillUnmount:identity,slotLabelClassNames:identity,slotLabelContent:identity,slotLabelDidMount:identity,slotLabelWillUnmount:identity,dayMaxEvents:identity,dayMaxEventRows:identity,dayMinWidth:Number,slotLabelInterval:createDuration,allDayText:String,allDayClassNames:identity,allDayContent:identity,allDayDidMount:identity,allDayWillUnmount:identity,slotMinWidth:Number,navLinks:Boolean,eventTimeFormat:createFormatter,rerenderDelay:Number,moreLinkText:identity,moreLinkHint:identity,selectMinDistance:Number,selectable:Boolean,selectLongPressDelay:Number,eventLongPressDelay:Number,selectMirror:Boolean,eventMaxStack:Number,eventMinHeight:Number,eventMinWidth:Number,eventShortHeight:Number,slotEventOverlap:Boolean,plugins:identity,firstDay:Number,dayCount:Number,dateAlignment:String,dateIncrement:createDuration,hiddenDays:identity,fixedWeekCount:Boolean,validRange:identity,visibleRange:identity,titleFormat:identity,eventInteractive:Boolean,noEventsText:String,viewHint:identity,navLinkHint:identity,closeHint:String,timeHint:String,eventHint:String,moreLinkClick:identity,moreLinkClassNames:identity,moreLinkContent:identity,moreLinkDidMount:identity,moreLinkWillUnmount:identity,monthStartFormat:createFormatter,handleCustomRendering:identity,customRenderingMetaMap:identity,customRenderingReplacesEl:Boolean},BASE_OPTION_DEFAULTS={eventDisplay:\\\"auto\\\",defaultRangeSeparator:\\\" - \\\",titleRangeSeparator:\\\" – \\\",defaultTimedEventDuration:\\\"01:00:00\\\",defaultAllDayEventDuration:{day:1},forceEventDuration:!1,nextDayThreshold:\\\"00:00:00\\\",dayHeaders:!0,initialView:\\\"\\\",aspectRatio:1.35,headerToolbar:{start:\\\"title\\\",center:\\\"\\\",end:\\\"today prev,next\\\"},weekends:!0,weekNumbers:!1,weekNumberCalculation:\\\"local\\\",editable:!1,nowIndicator:!1,scrollTime:\\\"06:00:00\\\",scrollTimeReset:!0,slotMinTime:\\\"00:00:00\\\",slotMaxTime:\\\"24:00:00\\\",showNonCurrentDates:!0,lazyFetching:!0,startParam:\\\"start\\\",endParam:\\\"end\\\",timeZoneParam:\\\"timeZone\\\",timeZone:\\\"local\\\",locales:[],locale:\\\"\\\",themeSystem:\\\"standard\\\",dragRevertDuration:500,dragScroll:!0,allDayMaintainDuration:!1,unselectAuto:!0,dropAccept:\\\"*\\\",eventOrder:\\\"start,-duration,allDay,title\\\",dayPopoverFormat:{month:\\\"long\\\",day:\\\"numeric\\\",year:\\\"numeric\\\"},handleWindowResize:!0,windowResizeDelay:100,longPressDelay:1e3,eventDragMinDistance:5,expandRows:!1,navLinks:!1,selectable:!1,eventMinHeight:15,eventMinWidth:30,eventShortHeight:30,monthStartFormat:{month:\\\"long\\\",day:\\\"numeric\\\"}},CALENDAR_LISTENER_REFINERS={datesSet:identity,eventsSet:identity,eventAdd:identity,eventChange:identity,eventRemove:identity,windowResize:identity,eventClick:identity,eventMouseEnter:identity,eventMouseLeave:identity,select:identity,unselect:identity,loading:identity,_unmount:identity,_beforeprint:identity,_afterprint:identity,_noEventDrop:identity,_noEventResize:identity,_resize:identity,_scrollRequest:identity},CALENDAR_OPTION_REFINERS={buttonText:identity,buttonHints:identity,views:identity,plugins:identity,initialEvents:identity,events:identity,eventSources:identity},COMPLEX_OPTION_COMPARATORS={headerToolbar:isMaybeObjectsEqual,footerToolbar:isMaybeObjectsEqual,buttonText:isMaybeObjectsEqual,buttonHints:isMaybeObjectsEqual,buttonIcons:isMaybeObjectsEqual,dateIncrement:isMaybeObjectsEqual,plugins:isMaybeArraysEqual,events:isMaybeArraysEqual,eventSources:isMaybeArraysEqual,resources:isMaybeArraysEqual};function isMaybeObjectsEqual(M,e){return\\\"object\\\"==typeof M&&\\\"object\\\"==typeof e&&M&&e?isPropsEqual(M,e):M===e}function isMaybeArraysEqual(M,e){return Array.isArray(M)&&Array.isArray(e)?isArraysEqual(M,e):M===e}var VIEW_OPTION_REFINERS={type:String,component:identity,buttonText:String,buttonTextKey:String,dateProfileGeneratorClass:identity,usesMinMaxTime:Boolean,classNames:identity,content:identity,didMount:identity,willUnmount:identity};function mergeRawOptions(M){return mergeProps(M,COMPLEX_OPTION_COMPARATORS)}function refineProps(M,e){var b,z,p={},t={};for(b in e)b in M&&(p[b]=e[b](M[b]));for(z in M)z in e||(t[z]=M[z]);return{refined:p,extra:t}}function identity(M){return M}function createEventInstance(M,e,b,z){return{instanceId:guid(),defId:M,range:e,forcedStartTzo:null==b?null:b,forcedEndTzo:null==z?null:z}}function parseRecurring(e,b,M,z){for(let t=0;t\u003Cz.length;t+=1){var p=z[t].parse(e,M);if(p){let M=e[\\\"allDay\\\"];return{allDay:M=null==M&&null==(M=b)&&null==(M=p.allDayGuess)?!1:M,duration:p.duration,typeData:p.typeData,typeId:t}}}return null}function expandRecurring(M,e,b){var z,{dateEnv:p,pluginHooks:t,options:o}=b;let{defs:O,instances:c}=M;for(z in c=filterHash(c,M=>!O[M.defId].recurringDef),O){var n,i=O[z];if(i.recurringDef){let M=i.recurringDef[\\\"duration\\\"];for(n of expandRecurringRanges(i,M=M||(i.allDay?o.defaultAllDayEventDuration:o.defaultTimedEventDuration),e,p,t.recurringTypes)){var r=createEventInstance(z,{start:n,end:p.add(n,M)});c[r.instanceId]=r}}}return{defs:O,instances:c}}function expandRecurringRanges(M,e,b,z,p){let t=p[M.recurringDef.typeId].expand(M.recurringDef.typeData,{start:z.subtract(b.start,e),end:b.end},z);return t=M.allDay?t.map(startOfDay):t}function parseEvents(M,e,b,z,p,t){var o,O=createEmptyEventStore(),c=buildEventRefiners(b);for(o of M){var n=parseEvent(o,e,b,z,c,p,t);n&&eventTupleToStore(n,O)}return O}function eventTupleToStore(M,e=createEmptyEventStore()){return e.defs[M.def.defId]=M.def,M.instance&&(e.instances[M.instance.instanceId]=M.instance),e}function getRelevantEvents(M,e){var b=M.instances[e];if(b){let e=M.defs[b.defId];var z=filterEventStoreDefs(M,M=>isEventDefsGrouped(e,M));return z.defs[e.defId]=e,z.instances[b.instanceId]=b,z}return createEmptyEventStore()}function isEventDefsGrouped(M,e){return Boolean(M.groupId&&M.groupId===e.groupId)}function createEmptyEventStore(){return{defs:{},instances:{}}}function mergeEventStores(M,e){return{defs:Object.assign(Object.assign({},M.defs),e.defs),instances:Object.assign(Object.assign({},M.instances),e.instances)}}function filterEventStoreDefs(M,e){let b=filterHash(M.defs,e);var z=filterHash(M.instances,M=>b[M.defId]);return{defs:b,instances:z}}function excludeSubEventStore(M,e){var b,z,{defs:p,instances:t}=M,o={},O={};for(b in p)e.defs[b]||(o[b]=p[b]);for(z in t)!e.instances[z]&&o[t[z].defId]&&(O[z]=t[z]);return{defs:o,instances:O}}function normalizeConstraint(M,e){return Array.isArray(M)?parseEvents(M,null,e,!0):\\\"object\\\"==typeof M&&M?parseEvents([M],null,e,!0):null!=M?String(M):null}function parseClassNames(M){return Array.isArray(M)?M:\\\"string\\\"==typeof M?M.split(/\\\\s+/):[]}var EVENT_UI_REFINERS={display:String,editable:Boolean,startEditable:Boolean,durationEditable:Boolean,constraint:identity,overlap:identity,allow:identity,className:parseClassNames,classNames:parseClassNames,color:String,backgroundColor:String,borderColor:String,textColor:String},EMPTY_EVENT_UI={display:null,startEditable:null,durationEditable:null,constraints:[],overlap:null,allows:[],backgroundColor:\\\"\\\",borderColor:\\\"\\\",textColor:\\\"\\\",classNames:[]};function createEventUi(M,e){var b=normalizeConstraint(M.constraint,e);return{display:M.display||null,startEditable:null!=M.startEditable?M.startEditable:M.editable,durationEditable:null!=M.durationEditable?M.durationEditable:M.editable,constraints:null!=b?[b]:[],overlap:null!=M.overlap?M.overlap:null,allows:null!=M.allow?[M.allow]:[],backgroundColor:M.backgroundColor||M.color||\\\"\\\",borderColor:M.borderColor||M.color||\\\"\\\",textColor:M.textColor||\\\"\\\",classNames:(M.className||[]).concat(M.classNames||[])}}function combineEventUis(M){return M.reduce(combineTwoEventUis,EMPTY_EVENT_UI)}function combineTwoEventUis(M,e){return{display:(null!=e.display?e:M).display,startEditable:(null!=e.startEditable?e:M).startEditable,durationEditable:(null!=e.durationEditable?e:M).durationEditable,constraints:M.constraints.concat(e.constraints),overlap:(\\\"boolean\\\"==typeof e.overlap?e:M).overlap,allows:M.allows.concat(e.allows),backgroundColor:e.backgroundColor||M.backgroundColor,borderColor:e.borderColor||M.borderColor,textColor:e.textColor||M.textColor,classNames:M.classNames.concat(e.classNames)}}var EVENT_NON_DATE_REFINERS={id:String,groupId:String,title:String,url:String,interactive:Boolean},EVENT_DATE_REFINERS={start:identity,end:identity,date:identity,allDay:Boolean},EVENT_REFINERS=Object.assign(Object.assign(Object.assign({},EVENT_NON_DATE_REFINERS),EVENT_DATE_REFINERS),{extendedProps:identity});function parseEvent(M,e,b,z,p=buildEventRefiners(b),t,o){var O,{refined:c,extra:n}=refineEventDef(M,b,p),i=computeIsDefaultAllDay(e,b),r=parseRecurring(c,i,b.dateEnv,b.pluginHooks.recurringTypes);return r?((O=parseEventDef(c,n,e?e.sourceId:\\\"\\\",r.allDay,Boolean(r.duration),b,t)).recurringDef={typeId:r.typeId,typeData:r.typeData,duration:r.duration},{def:O,instance:null}):(r=parseSingle(c,i,b,z))?(i=createEventInstance((O=parseEventDef(c,n,e?e.sourceId:\\\"\\\",r.allDay,r.hasEnd,b,t)).defId,r.range,r.forcedStartTzo,r.forcedEndTzo),o&&O.publicId&&o[O.publicId]&&(i.instanceId=o[O.publicId]),{def:O,instance:i}):null}function refineEventDef(M,e,b=buildEventRefiners(e)){return refineProps(M,b)}function buildEventRefiners(M){return Object.assign(Object.assign(Object.assign({},EVENT_UI_REFINERS),EVENT_REFINERS),M.pluginHooks.eventRefiners)}function parseEventDef(M,e,b,z,p,t,o){var O,c={title:M.title||\\\"\\\",groupId:M.groupId||\\\"\\\",publicId:M.id||\\\"\\\",url:M.url||\\\"\\\",recurringDef:null,defId:(o&&M.id?o[M.id]:\\\"\\\")||guid(),sourceId:b,allDay:z,hasEnd:p,interactive:M.interactive,ui:createEventUi(M,t),extendedProps:Object.assign(Object.assign({},M.extendedProps||{}),e)};for(O of t.pluginHooks.eventDefMemberAdders)Object.assign(c,O(M));return Object.freeze(c.ui.classNames),Object.freeze(c.extendedProps),c}function parseSingle(M,e,b,z){let p=M[\\\"allDay\\\"];let t=null,o=!1,O,c=null;var n=null!=M.start?M.start:M.date;if(n=b.dateEnv.createMarkerMeta(n))t=n.marker;else if(!z)return null;return null!=M.end&&(O=b.dateEnv.createMarkerMeta(M.end)),(p=null==p?null!=e?e:(!n||n.isTimeUnspecified)&&(!O||O.isTimeUnspecified):p)&&(t=t&&startOfDay(t)),(c=O&&(c=O.marker,p&&(c=startOfDay(c)),t)&&c\u003C=t?null:c)?o=!0:z||(o=b.options.forceEventDuration||!1,c=b.dateEnv.add(t,p?b.options.defaultAllDayEventDuration:b.options.defaultTimedEventDuration)),{allDay:p,hasEnd:o,range:{start:t,end:c},forcedStartTzo:n?n.forcedTzo:null,forcedEndTzo:O?O.forcedTzo:null}}function computeIsDefaultAllDay(M,e){let b=null;return b=null==(b=M?M.defaultAllDay:b)?e.options.defaultAllDay:b}var canVGrowWithinCell,DEF_DEFAULTS={startTime:\\\"09:00\\\",endTime:\\\"17:00\\\",daysOfWeek:[1,2,3,4,5],display:\\\"inverse-background\\\",classNames:\\\"fc-non-business\\\",groupId:\\\"_businessHours\\\"};function parseBusinessHours(M,e){return parseEvents(refineInputs(M),null,e)}function refineInputs(M){let e;return e=(e=!0===M?[{}]:Array.isArray(M)?M.filter(M=>M.daysOfWeek):\\\"object\\\"==typeof M&&M?[M]:[]).map(M=>Object.assign(Object.assign({},DEF_DEFAULTS),M))}function computeAlignedDayRange(M){var e=Math.floor(diffDays(M.start,M.end))||1,b=startOfDay(M.start);return{start:b,end:addDays(b,e)}}function computeVisibleDayRange(M,e=createDuration(0)){let b=null,z=null;var p;return M.end&&(z=startOfDay(M.end),p=M.end.valueOf()-z.valueOf())&&p>=asRoughMs(e)&&(z=addDays(z,1)),M.start&&(b=startOfDay(M.start),z)&&z\u003C=b&&(z=addDays(b,1)),{start:b,end:z}}function isMultiDayRange(M){var e=computeVisibleDayRange(M);return 1\u003CdiffDays(e.start,e.end)}function diffDates(M,e,b,z){return\\\"year\\\"===z?createDuration(b.diffWholeYears(M,e),\\\"year\\\"):\\\"month\\\"===z?createDuration(b.diffWholeMonths(M,e),\\\"month\\\"):diffDayAndTime(M,e)}function pointInsideRect(M,e){return M.left>=e.left&&M.left\u003Ce.right&&M.top>=e.top&&M.top\u003Ce.bottom}function intersectRects(M,e){var b={left:Math.max(M.left,e.left),right:Math.min(M.right,e.right),top:Math.max(M.top,e.top),bottom:Math.min(M.bottom,e.bottom)};return b.left\u003Cb.right&&b.top\u003Cb.bottom&&b}function constrainPoint(M,e){return{left:Math.min(Math.max(M.left,e.left),e.right),top:Math.min(Math.max(M.top,e.top),e.bottom)}}function getRectCenter(M){return{left:(M.left+M.right)/2,top:(M.top+M.bottom)/2}}function diffPoints(M,e){return{left:M.left-e.left,top:M.top-e.top}}function getCanVGrowWithinCell(){return canVGrowWithinCell=null==canVGrowWithinCell?computeCanVGrowWithinCell():canVGrowWithinCell}function computeCanVGrowWithinCell(){var M,e;return\\\"undefined\\\"==typeof document||((M=document.createElement(\\\"div\\\")).style.position=\\\"absolute\\\",M.style.top=\\\"0px\\\",M.style.left=\\\"0px\\\",M.innerHTML=\\\"\u003Ctable>\u003Ctr>\u003Ctd>\u003Cdiv>\u003C/div>\u003C/td>\u003C/tr>\u003C/table>\\\",M.querySelector(\\\"table\\\").style.height=\\\"100px\\\",M.querySelector(\\\"div\\\").style.height=\\\"100%\\\",document.body.appendChild(M),e=0\u003CM.querySelector(\\\"div\\\").offsetHeight,document.body.removeChild(M),e)}var EMPTY_EVENT_STORE=createEmptyEventStore(),Splitter=class{constructor(){this.getKeysForEventDefs=memoize(this._getKeysForEventDefs),this.splitDateSelection=memoize(this._splitDateSpan),this.splitEventStore=memoize(this._splitEventStore),this.splitIndividualUi=memoize(this._splitIndividualUi),this.splitEventDrag=memoize(this._splitInteraction),this.splitEventResize=memoize(this._splitInteraction),this.eventUiBuilders={}}splitProps(M){var e,b=this.getKeyInfo(M),z=this.getKeysForEventDefs(M.eventStore),p=this.splitDateSelection(M.dateSelection),t=this.splitIndividualUi(M.eventUiBases,z),o=this.splitEventStore(M.eventStore,z),O=this.splitEventDrag(M.eventDrag),c=this.splitEventResize(M.eventResize),n={};for(e in this.eventUiBuilders=mapHash(b,(M,e)=>this.eventUiBuilders[e]||memoize(buildEventUiForKey)),b){var i=b[e],r=o[e]||EMPTY_EVENT_STORE,a=this.eventUiBuilders[e];n[e]={businessHours:i.businessHours||M.businessHours,dateSelection:p[e]||null,eventStore:r,eventUiBases:a(M.eventUiBases[\\\"\\\"],i.ui,t[e]),eventSelection:r.instances[M.eventSelection]?M.eventSelection:\\\"\\\",eventDrag:O[e]||null,eventResize:c[e]||null}}return n}_splitDateSpan(M){var e,b={};if(M)for(e of this.getKeysForDateSpan(M))b[e]=M;return b}_getKeysForEventDefs(M){return mapHash(M.defs,M=>this.getKeysForEventDef(M))}_splitEventStore(M,e){var b,z,{defs:p,instances:t}=M,o={};for(b in p)for(var O of e[b])o[O]||(o[O]=createEmptyEventStore()),o[O].defs[b]=p[b];for(z in t){var c,n=t[z];for(c of e[n.defId])o[c]&&(o[c].instances[z]=n)}return o}_splitIndividualUi(M,e){var b,z={};for(b in M)if(b)for(var p of e[b])z[p]||(z[p]={}),z[p][b]=M[b];return z}_splitInteraction(z){let p={};if(z){let e=this._splitEventStore(z.affectedEvents,this._getKeysForEventDefs(z.affectedEvents));var M=this._getKeysForEventDefs(z.mutatedEvents);let b=this._splitEventStore(z.mutatedEvents,M);var t,o,O=M=>{p[M]||(p[M]={affectedEvents:e[M]||EMPTY_EVENT_STORE,mutatedEvents:b[M]||EMPTY_EVENT_STORE,isEvent:z.isEvent})};for(t in e)O(t);for(o in b)O(o)}return p}};function buildEventUiForKey(M,e,b){var z=[],z=(M&&z.push(M),e&&z.push(e),{\\\"\\\":combineEventUis(z)});return b&&Object.assign(z,b),z}function parseRange(M,e){let b=null,z=null;return M.start&&(b=e.createMarker(M.start)),M.end&&(z=e.createMarker(M.end)),!b&&!z||b&&z&&z\u003Cb?null:{start:b,end:z}}function invertRanges(M,e){var b,z=[];let p=e[\\\"start\\\"],t;for(M.sort(compareRanges),t=0;t\u003CM.length;t+=1)(b=M[t]).start>p&&z.push({start:p,end:b.start}),b.end>p&&(p=b.end);return p\u003Ce.end&&z.push({start:p,end:e.end}),z}function compareRanges(M,e){return M.start.valueOf()-e.start.valueOf()}function intersectRanges(M,e){let{start:b,end:z}=M,p=null;return null!==e.start&&(b=null===b?e.start:new Date(Math.max(b.valueOf(),e.start.valueOf()))),null!=e.end&&(z=null===z?e.end:new Date(Math.min(z.valueOf(),e.end.valueOf()))),p=null===b||null===z||b\u003Cz?{start:b,end:z}:p}function rangesEqual(M,e){return(null===M.start?null:M.start.valueOf())===(null===e.start?null:e.start.valueOf())&&(null===M.end?null:M.end.valueOf())===(null===e.end?null:e.end.valueOf())}function rangesIntersect(M,e){return(null===M.end||null===e.start||M.end>e.start)&&(null===M.start||null===e.end||M.start\u003Ce.end)}function rangeContainsRange(M,e){return(null===M.start||null!==e.start&&e.start>=M.start)&&(null===M.end||null!==e.end&&e.end\u003C=M.end)}function rangeContainsMarker(M,e){return(null===M.start||e>=M.start)&&(null===M.end||e\u003CM.end)}function constrainMarkerToRange(M,e){return null!=e.start&&M\u003Ce.start?e.start:null!=e.end&&M>=e.end?new Date(e.end.valueOf()-1):M}function getDateMeta(M,e,b,z){return{dow:M.getUTCDay(),isDisabled:Boolean(z&&!rangeContainsMarker(z.activeRange,M)),isOther:Boolean(z&&!rangeContainsMarker(z.currentRange,M)),isToday:Boolean(e&&rangeContainsMarker(e,M)),isPast:Boolean(b?M\u003Cb:!!e&&M\u003Ce.start),isFuture:Boolean(b?b\u003CM:!!e&&M>=e.end)}}function getDayClassNames(M,e){var b=[\\\"fc-day\\\",\\\"fc-day-\\\"+DAY_IDS[M.dow]];return M.isDisabled?b.push(\\\"fc-day-disabled\\\"):(M.isToday&&(b.push(\\\"fc-day-today\\\"),b.push(e.getClass(\\\"today\\\"))),M.isPast&&b.push(\\\"fc-day-past\\\"),M.isFuture&&b.push(\\\"fc-day-future\\\"),M.isOther&&b.push(\\\"fc-day-other\\\")),b}var DAY_FORMAT=createFormatter({year:\\\"numeric\\\",month:\\\"long\\\",day:\\\"numeric\\\"}),WEEK_FORMAT=createFormatter({week:\\\"long\\\"});function buildNavLinkAttrs(M,b,z=\\\"day\\\",e=!0){const{dateEnv:p,options:t,calendarApi:o}=M;var O,c,n=p.format(b,\\\"week\\\"===z?WEEK_FORMAT:DAY_FORMAT);return t.navLinks?(O=p.toDate(b),c=M=>{var e=\\\"day\\\"===z?t.navLinkDayClick:\\\"week\\\"===z?t.navLinkWeekClick:null;\\\"function\\\"==typeof e?e.call(o,p.toDate(b),M):(\\\"string\\\"==typeof e&&(z=e),o.zoomTo(b,z))},Object.assign({title:formatWithOrdinals(t.navLinkHint,[n,O],n),\\\"data-navlink\\\":\\\"\\\"},e?createAriaClickAttrs(c):{onClick:c})):{\\\"aria-label\\\":n}}var _scrollbarWidths,_isRtlScrollbarOnLeft=null;function getIsRtlScrollbarOnLeft(){return _isRtlScrollbarOnLeft=null===_isRtlScrollbarOnLeft?computeIsRtlScrollbarOnLeft():_isRtlScrollbarOnLeft}function computeIsRtlScrollbarOnLeft(){var M=document.createElement(\\\"div\\\");applyStyle(M,{position:\\\"absolute\\\",top:-1e3,left:0,border:0,padding:0,overflow:\\\"scroll\\\",direction:\\\"rtl\\\"}),M.innerHTML=\\\"\u003Cdiv>\u003C/div>\\\",document.body.appendChild(M);var e=M.firstChild.getBoundingClientRect().left>M.getBoundingClientRect().left;return removeElement(M),e}function getScrollbarWidths(){return _scrollbarWidths=_scrollbarWidths||computeScrollbarWidths()}function computeScrollbarWidths(){var M=document.createElement(\\\"div\\\"),e=(M.style.overflow=\\\"scroll\\\",M.style.position=\\\"absolute\\\",M.style.top=\\\"-9999px\\\",M.style.left=\\\"-9999px\\\",document.body.appendChild(M),computeScrollbarWidthsForEl(M));return document.body.removeChild(M),e}function computeScrollbarWidthsForEl(M){return{x:M.offsetHeight-M.clientHeight,y:M.offsetWidth-M.clientWidth}}function computeEdges(M,e=!1){var b=window.getComputedStyle(M),z=parseInt(b.borderLeftWidth,10)||0,p=parseInt(b.borderRightWidth,10)||0,t=parseInt(b.borderTopWidth,10)||0,o=parseInt(b.borderBottomWidth,10)||0,O=computeScrollbarWidthsForEl(M),c=O.y-z-p,z={borderLeft:z,borderRight:p,borderTop:t,borderBottom:o,scrollbarBottom:O.x-t-o,scrollbarLeft:0,scrollbarRight:0};return getIsRtlScrollbarOnLeft()&&\\\"rtl\\\"===b.direction?z.scrollbarLeft=c:z.scrollbarRight=c,e&&(z.paddingLeft=parseInt(b.paddingLeft,10)||0,z.paddingRight=parseInt(b.paddingRight,10)||0,z.paddingTop=parseInt(b.paddingTop,10)||0,z.paddingBottom=parseInt(b.paddingBottom,10)||0),z}function computeInnerRect(M,e=!1,b){var z=b?M.getBoundingClientRect():computeRect(M),p=computeEdges(M,e),z={left:z.left+p.borderLeft+p.scrollbarLeft,right:z.right-p.borderRight-p.scrollbarRight,top:z.top+p.borderTop,bottom:z.bottom-p.borderBottom-p.scrollbarBottom};return e&&(z.left+=p.paddingLeft,z.right-=p.paddingRight,z.top+=p.paddingTop,z.bottom-=p.paddingBottom),z}function computeRect(M){var e=M.getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,right:e.right+window.pageXOffset,bottom:e.bottom+window.pageYOffset}}function computeClippedClientRect(M){var e,b=getClippingParents(M);let z=M.getBoundingClientRect();for(e of b){var p=intersectRects(z,e.getBoundingClientRect());if(!p)return null;z=p}return z}function getClippingParents(M){for(var e=[];M instanceof HTMLElement;){var b=window.getComputedStyle(M);if(\\\"fixed\\\"===b.position)break;/(auto|scroll)/.test(b.overflow+b.overflowY+b.overflowX)&&e.push(M),M=M.parentNode}return e}function unpromisify(M,e,b){let z=!1;var p=function(M){z||(z=!0,e(M))},t=function(M){z||(z=!0,b(M))},o=M(p,t);o&&\\\"function\\\"==typeof o.then&&o.then(p,t)}var Emitter=class{constructor(){this.handlers={},this.thisContext=null}setThisContext(M){this.thisContext=M}setOptions(M){this.options=M}on(M,e){addToHash(this.handlers,M,e)}off(M,e){removeFromHash(this.handlers,M,e)}trigger(M,...e){var b,z=this.handlers[M]||[],p=this.options&&this.options[M];for(b of[].concat(p||[],z))b.apply(this.thisContext,e)}hasHandlers(M){return Boolean(this.handlers[M]&&this.handlers[M].length||this.options&&this.options[M])}};function addToHash(M,e,b){(M[e]||(M[e]=[])).push(b)}function removeFromHash(M,e,b){b?M[e]&&(M[e]=M[e].filter(M=>M!==b)):delete M[e]}var PositionCache=class{constructor(M,e,b,z){this.els=e;var p=this.originClientRect=M.getBoundingClientRect();b&&this.buildElHorizontals(p.left),z&&this.buildElVerticals(p.top)}buildElHorizontals(M){var e,b=[],z=[];for(e of this.els){var p=e.getBoundingClientRect();b.push(p.left-M),z.push(p.right-M)}this.lefts=b,this.rights=z}buildElVerticals(M){var e,b=[],z=[];for(e of this.els){var p=e.getBoundingClientRect();b.push(p.top-M),z.push(p.bottom-M)}this.tops=b,this.bottoms=z}leftToIndex(M){var{lefts:e,rights:b}=this,z=e.length;let p;for(p=0;p\u003Cz;p+=1)if(M>=e[p]&&M\u003Cb[p])return p}topToIndex(M){var{tops:e,bottoms:b}=this,z=e.length;let p;for(p=0;p\u003Cz;p+=1)if(M>=e[p]&&M\u003Cb[p])return p}getWidth(M){return this.rights[M]-this.lefts[M]}getHeight(M){return this.bottoms[M]-this.tops[M]}similarTo(M){return similarNumArrays(this.tops||[],M.tops||[])&&similarNumArrays(this.bottoms||[],M.bottoms||[])&&similarNumArrays(this.lefts||[],M.lefts||[])&&similarNumArrays(this.rights||[],M.rights||[])}};function similarNumArrays(M,e){var b=M.length;if(b!==e.length)return!1;for(let z=0;z\u003Cb;z++)if(Math.round(M[z])!==Math.round(e[z]))return!1;return!0}var ScrollController=class{getMaxScrollTop(){return this.getScrollHeight()-this.getClientHeight()}getMaxScrollLeft(){return this.getScrollWidth()-this.getClientWidth()}canScrollVertically(){return 0\u003Cthis.getMaxScrollTop()}canScrollHorizontally(){return 0\u003Cthis.getMaxScrollLeft()}canScrollUp(){return 0\u003Cthis.getScrollTop()}canScrollDown(){return this.getScrollTop()\u003Cthis.getMaxScrollTop()}canScrollLeft(){return 0\u003Cthis.getScrollLeft()}canScrollRight(){return this.getScrollLeft()\u003Cthis.getMaxScrollLeft()}},ElementScrollController=class extends ScrollController{constructor(M){super(),this.el=M}getScrollTop(){return this.el.scrollTop}getScrollLeft(){return this.el.scrollLeft}setScrollTop(M){this.el.scrollTop=M}setScrollLeft(M){this.el.scrollLeft=M}getScrollWidth(){return this.el.scrollWidth}getScrollHeight(){return this.el.scrollHeight}getClientHeight(){return this.el.clientHeight}getClientWidth(){return this.el.clientWidth}},WindowScrollController=class extends ScrollController{getScrollTop(){return window.pageYOffset}getScrollLeft(){return window.pageXOffset}setScrollTop(M){window.scroll(window.pageXOffset,M)}setScrollLeft(M){window.scroll(M,window.pageYOffset)}getScrollWidth(){return document.documentElement.scrollWidth}getScrollHeight(){return document.documentElement.scrollHeight}getClientHeight(){return document.documentElement.clientHeight}getClientWidth(){return document.documentElement.clientWidth}},Theme=class{constructor(M){this.iconOverrideOption&&this.setIconOverride(M[this.iconOverrideOption])}setIconOverride(M){var e;let b;if(\\\"object\\\"==typeof M&&M){for(b in e=Object.assign({},this.iconClasses),M)e[b]=this.applyIconOverridePrefix(M[b]);this.iconClasses=e}else!1===M&&(this.iconClasses={})}applyIconOverridePrefix(M){var e=this.iconOverridePrefix;return M=e&&0!==M.indexOf(e)?e+M:M}getClass(M){return this.classes[M]||\\\"\\\"}getIconClass(M,e){let b;return(b=e&&this.rtlIconClasses&&this.rtlIconClasses[M]||this.iconClasses[M])?this.baseIconClass+\\\" \\\"+b:\\\"\\\"}getCustomButtonIconClass(M){var e;return this.iconOverrideCustomButtonOption&&(e=M[this.iconOverrideCustomButtonOption])?this.baseIconClass+\\\" \\\"+this.applyIconOverridePrefix(e):\\\"\\\"}};function flushSync(M){M();var e=l.debounceRendering;let b=[];for(l.debounceRendering=function(M){b.push(M)},D(y(FakeComponent,{}),document.createElement(\\\"div\\\"));b.length;)b.shift()();l.debounceRendering=e}Theme.prototype.classes={},Theme.prototype.iconClasses={},Theme.prototype.baseIconClass=\\\"\\\",Theme.prototype.iconOverridePrefix=\\\"\\\";var FakeComponent=class extends x{render(){return y(\\\"div\\\",{})}componentDidMount(){this.setState({})}};function createContext(M){var e=G(M);let b=e.Provider;return e.Provider=function(){var M=!this.getChildContext,e=b.apply(this,arguments);if(M){let b=[];this.shouldComponentUpdate=e=>{this.props.value!==e.value&&b.forEach(M=>{M.context=e.value,M.forceUpdate()})},this.sub=M=>{b.push(M);let e=M.componentWillUnmount;M.componentWillUnmount=()=>{b.splice(b.indexOf(M),1),e&&e.call(M)}}}return e},e}var ScrollResponder=class{constructor(M,e,b,z){this.execFunc=M,this.emitter=e,this.scrollTime=b,this.scrollTimeReset=z,this.handleScrollRequest=M=>{this.queuedRequest=Object.assign({},this.queuedRequest||{},M),this.drain()},e.on(\\\"_scrollRequest\\\",this.handleScrollRequest),this.fireInitialScroll()}detach(){this.emitter.off(\\\"_scrollRequest\\\",this.handleScrollRequest)}update(M){M&&this.scrollTimeReset?this.fireInitialScroll():this.drain()}fireInitialScroll(){this.handleScrollRequest({time:this.scrollTime})}drain(){this.queuedRequest&&this.execFunc(this.queuedRequest)&&(this.queuedRequest=null)}},ViewContextType=createContext({});function buildViewContext(M,e,b,z,p,t,o,O,c,n,i,r,a){return{dateEnv:p,options:b,pluginHooks:o,emitter:n,dispatch:O,getCurrentData:c,calendarApi:i,viewSpec:M,viewApi:e,dateProfileGenerator:z,theme:t,isRtl:\\\"rtl\\\"===b.direction,addResizeHandler(M){n.on(\\\"_resize\\\",M)},removeResizeHandler(M){n.off(\\\"_resize\\\",M)},createScrollResponder(M){return new ScrollResponder(M,n,createDuration(b.scrollTime),b.scrollTimeReset)},registerInteractiveComponent:r,unregisterInteractiveComponent:a}}var PureComponent=class extends x{shouldComponentUpdate(M,e){return this.debug&&console.log(getUnequalProps(M,this.props),getUnequalProps(e,this.state)),!compareObjs(this.props,M,this.propEquality)||!compareObjs(this.state,e,this.stateEquality)}safeSetState(M){compareObjs(this.state,Object.assign(Object.assign({},this.state),M),this.stateEquality)||this.setState(M)}},BaseComponent=(PureComponent.addPropsEquality=addPropsEquality,PureComponent.addStateEquality=addStateEquality,PureComponent.contextType=ViewContextType,PureComponent.prototype.propEquality={},PureComponent.prototype.stateEquality={},class extends PureComponent{});function addPropsEquality(M){var e=Object.create(this.prototype.propEquality);Object.assign(e,M),this.prototype.propEquality=e}function addStateEquality(M){var e=Object.create(this.prototype.stateEquality);Object.assign(e,M),this.prototype.stateEquality=e}function setRef(M,e){\\\"function\\\"==typeof M?M(e):M&&(M.current=e)}BaseComponent.contextType=ViewContextType;var DateComponent=class extends BaseComponent{constructor(){super(...arguments),this.uid=guid()}prepareHits(){}queryHit(M,e,b,z){return null}isValidSegDownEl(M){return!this.props.eventDrag&&!this.props.eventResize&&!elementClosest(M,\\\".fc-event-mirror\\\")}isValidDateDownEl(M){return!(elementClosest(M,\\\".fc-event:not(.fc-bg-event)\\\")||elementClosest(M,\\\".fc-more-link\\\")||elementClosest(M,\\\"a[data-navlink]\\\")||elementClosest(M,\\\".fc-popover\\\"))}};function reduceCurrentDate(M,e){return\\\"CHANGE_DATE\\\"!==e.type?M:e.dateMarker}function getInitialDate(M,e){var b=M.initialDate;return null!=b?e.createMarker(b):getNow(M.now,e)}function getNow(M,e){return null==(M=\\\"function\\\"==typeof M?M():M)?e.createNowMarker():e.createMarker(M)}var DateProfileGenerator=class{constructor(M){this.props=M,this.nowDate=getNow(M.nowInput,M.dateEnv),this.initHiddenDays()}buildPrev(M,e,b){var z=this.props[\\\"dateEnv\\\"],z=z.subtract(z.startOf(e,M.currentRangeUnit),M.dateIncrement);return this.build(z,-1,b)}buildNext(M,e,b){var z=this.props[\\\"dateEnv\\\"],z=z.add(z.startOf(e,M.currentRangeUnit),M.dateIncrement);return this.build(z,1,b)}build(M,e,b=!0){var z,p,t,o,O,c=this[\\\"props\\\"];let n;return z=this.buildValidRange(),z=this.trimHiddenDays(z),b&&(M=constrainMarkerToRange(M,z)),p=this.buildCurrentRangeInfo(M,e),t=/^(year|month|week|day)$/.test(p.unit),o=this.buildRenderRange(this.trimHiddenDays(p.range),p.unit,t),o=this.trimHiddenDays(o),n=o,c.showNonCurrentDates||(n=intersectRanges(n,p.range)),n=intersectRanges(n=this.adjustActiveRange(n),z),O=rangesIntersect(p.range,z),{currentDate:M=rangeContainsMarker(o,M)?M:o.start,validRange:z,currentRange:p.range,currentRangeUnit:p.unit,isRangeAllDay:t,activeRange:n,renderRange:o,slotMinTime:c.slotMinTime,slotMaxTime:c.slotMaxTime,isValid:O,dateIncrement:this.buildDateIncrement(p.duration)}}buildValidRange(){var M=this.props.validRangeInput,M=\\\"function\\\"==typeof M?M.call(this.props.calendarApi,this.nowDate):M;return this.refineRange(M)||{start:null,end:null}}buildCurrentRangeInfo(M,e){var b,z=this[\\\"props\\\"];let p=null,t=null,o=null;return z.duration?(p=z.duration,t=z.durationUnit,o=this.buildRangeFromDuration(M,e,p,t)):(b=this.props.dayCount)?(t=\\\"day\\\",o=this.buildRangeFromDayCount(M,e,b)):(o=this.buildCustomVisibleRange(M))?t=z.dateEnv.greatestWholeUnit(o.start,o.end).unit:(p=this.getFallbackDuration(),t=greatestDurationDenominator(p).unit,o=this.buildRangeFromDuration(M,e,p,t)),{duration:p,unit:t,range:o}}getFallbackDuration(){return createDuration({day:1})}adjustActiveRange(M){var{dateEnv:e,usesMinMaxTime:b,slotMinTime:z,slotMaxTime:p}=this.props;let{start:t,end:o}=M;return b&&(asRoughDays(z)\u003C0&&(t=startOfDay(t),t=e.add(t,z)),1\u003CasRoughDays(p))&&(o=addDays(o=startOfDay(o),-1),o=e.add(o,p)),{start:t,end:o}}buildRangeFromDuration(M,e,b,z){let{dateEnv:p,dateAlignment:t}=this.props,o,O,c;var n;function i(){o=p.startOf(M,t),O=p.add(o,b),c={start:o,end:O}}return t||(n=this.props[\\\"dateIncrement\\\"],t=n&&asRoughMs(n)\u003CasRoughMs(b)?greatestDurationDenominator(n).unit:z),asRoughDays(b)\u003C=1&&this.isHiddenDay(o)&&(o=startOfDay(o=this.skipHiddenDays(o,e))),i(),this.trimHiddenDays(c)||(M=this.skipHiddenDays(M,e),i()),c}buildRangeFromDayCount(M,e,b){var{dateEnv:z,dateAlignment:p}=this.props;let t=0,o=M,O;for(o=startOfDay(o=p?z.startOf(o,p):o),o=this.skipHiddenDays(o,e),O=o;O=addDays(O,1),this.isHiddenDay(O)||(t+=1),t\u003Cb;);return{start:o,end:O}}buildCustomVisibleRange(M){var e=this[\\\"props\\\"],b=e.visibleRangeInput,e=\\\"function\\\"==typeof b?b.call(e.calendarApi,e.dateEnv.toDate(M)):b,b=this.refineRange(e);return!b||null!=b.start&&null!=b.end?b:null}buildRenderRange(M,e,b){return M}buildDateIncrement(M){var e=this.props[\\\"dateIncrement\\\"];return e||((e=this.props.dateAlignment)?createDuration(1,e):M||createDuration({days:1}))}refineRange(e){if(e){let M=parseRange(e,this.props.dateEnv);return M=M&&computeVisibleDayRange(M)}return null}initHiddenDays(){var M=this.props.hiddenDays||[],e=[];let b=0,z;for(!1===this.props.weekends&&M.push(0,6),z=0;z\u003C7;z+=1)(e[z]=-1!==M.indexOf(z))||(b+=1);if(!b)throw new Error(\\\"invalid hiddenDays\\\");this.isHiddenDayHash=e}trimHiddenDays(M){let{start:e,end:b}=M;return e=e&&this.skipHiddenDays(e),b=b&&this.skipHiddenDays(b,-1,!0),null==e||null==b||e\u003Cb?{start:e,end:b}:null}isHiddenDay(M){return M instanceof Date&&(M=M.getUTCDay()),this.isHiddenDayHash[M]}skipHiddenDays(M,e=1,b=!1){for(;this.isHiddenDayHash[(M.getUTCDay()+(b?e:0)+7)%7];)M=addDays(M,e);return M}};function triggerDateSelect(M,e,b){b.emitter.trigger(\\\"select\\\",Object.assign(Object.assign({},buildDateSpanApiWithContext(M,b)),{jsEvent:e?e.origEvent:null,view:b.viewApi||b.calendarApi.view}))}function triggerDateUnselect(M,e){e.emitter.trigger(\\\"unselect\\\",{jsEvent:M?M.origEvent:null,view:e.viewApi||e.calendarApi.view})}function buildDateSpanApiWithContext(M,e){var b,z={};for(b of e.pluginHooks.dateSpanTransforms)Object.assign(z,b(M,e));return Object.assign(z,buildDateSpanApi(M,e.dateEnv)),z}function getDefaultEventEnd(M,e,b){var{dateEnv:z,options:p}=b;let t=e;return t=M?(t=startOfDay(t),z.add(t,p.defaultAllDayEventDuration)):z.add(t,p.defaultTimedEventDuration)}function applyMutationToEventStore(M,e,b,z){var p,t,o=compileEventUis(M.defs,e),O=createEmptyEventStore();for(p in M.defs){var c=M.defs[p];O.defs[p]=applyMutationToEventDef(c,o[p],b,z)}for(t in M.instances){var n=M.instances[t],i=O.defs[n.defId];O.instances[t]=applyMutationToEventInstance(n,i,o[n.defId],b,z)}return O}function applyMutationToEventDef(M,e,b,z){var p,t=b.standardProps||{},o=(null==t.hasEnd&&e.durationEditable&&(b.startDelta||b.endDelta)&&(t.hasEnd=!0),Object.assign(Object.assign(Object.assign({},M),t),{ui:Object.assign(Object.assign({},M.ui),t.ui)}));b.extendedProps&&(o.extendedProps=Object.assign(Object.assign({},o.extendedProps),b.extendedProps));for(p of z.pluginHooks.eventDefMutationAppliers)p(o,b,z);return!o.hasEnd&&z.options.forceEventDuration&&(o.hasEnd=!0),o}function applyMutationToEventInstance(M,e,b,z,p){var t=p[\\\"dateEnv\\\"],o=z.standardProps&&!0===z.standardProps.allDay,O=z.standardProps&&!1===z.standardProps.hasEnd,c=Object.assign({},M);return o&&(c.range=computeAlignedDayRange(c.range)),z.datesDelta&&b.startEditable&&(c.range={start:t.add(c.range.start,z.datesDelta),end:t.add(c.range.end,z.datesDelta)}),z.startDelta&&b.durationEditable&&(c.range={start:t.add(c.range.start,z.startDelta),end:c.range.end}),z.endDelta&&b.durationEditable&&(c.range={start:c.range.start,end:t.add(c.range.end,z.endDelta)}),O&&(c.range={start:c.range.start,end:getDefaultEventEnd(e.allDay,c.range.start,p)}),e.allDay&&(c.range={start:startOfDay(c.range.start),end:startOfDay(c.range.end)}),c.range.end\u003Cc.range.start&&(c.range.end=getDefaultEventEnd(e.allDay,c.range.start,p)),c}var EventSourceImpl=class{constructor(M,e){this.context=M,this.internalEventSource=e}remove(){this.context.dispatch({type:\\\"REMOVE_EVENT_SOURCE\\\",sourceId:this.internalEventSource.sourceId})}refetch(){this.context.dispatch({type:\\\"FETCH_EVENT_SOURCES\\\",sourceIds:[this.internalEventSource.sourceId],isRefetch:!0})}get id(){return this.internalEventSource.publicId}get url(){return this.internalEventSource.meta.url}get format(){return this.internalEventSource.meta.format}},EventImpl=class{constructor(M,e,b){this._context=M,this._def=e,this._instance=b||null}setProp(e,b){if(e in EVENT_DATE_REFINERS)console.warn(\\\"Could not set date-related prop 'name'. Use one of the date-related methods instead.\\\");else if(\\\"id\\\"===e)b=EVENT_NON_DATE_REFINERS[e](b),this.mutate({standardProps:{publicId:b}});else if(e in EVENT_NON_DATE_REFINERS)b=EVENT_NON_DATE_REFINERS[e](b),this.mutate({standardProps:{[e]:b}});else if(e in EVENT_UI_REFINERS){let M=EVENT_UI_REFINERS[e](b);M=\\\"color\\\"===e?{backgroundColor:b,borderColor:b}:\\\"editable\\\"===e?{startEditable:b,durationEditable:b}:{[e]:b},this.mutate({standardProps:{ui:M}})}else console.warn(`Could not set prop '${e}'. Use setExtendedProp instead.`)}setExtendedProp(M,e){this.mutate({extendedProps:{[M]:e}})}setStart(M,e={}){var b=this._context[\\\"dateEnv\\\"],z=b.createMarker(M);z&&this._instance&&(z=diffDates(this._instance.range.start,z,b,e.granularity),e.maintainDuration?this.mutate({datesDelta:z}):this.mutate({startDelta:z}))}setEnd(M,e={}){var b=this._context[\\\"dateEnv\\\"];let z;(null==M||(z=b.createMarker(M)))&&this._instance&&(z?(b=diffDates(this._instance.range.end,z,b,e.granularity),this.mutate({endDelta:b})):this.mutate({standardProps:{hasEnd:!1}}))}setDates(M,e,b={}){var z=this._context[\\\"dateEnv\\\"],p={allDay:b.allDay},t=z.createMarker(M);let o;if(t&&(null==e||(o=z.createMarker(e)))&&this._instance){let M=this._instance.range;t=diffDates((M=!0===b.allDay?computeAlignedDayRange(M):M).start,t,z,b.granularity);o?durationsEqual(t,z=diffDates(M.end,o,z,b.granularity))?this.mutate({datesDelta:t,standardProps:p}):this.mutate({startDelta:t,endDelta:z,standardProps:p}):(p.hasEnd=!1,this.mutate({datesDelta:t,standardProps:p}))}}moveStart(M){var e=createDuration(M);e&&this.mutate({startDelta:e})}moveEnd(M){var e=createDuration(M);e&&this.mutate({endDelta:e})}moveDates(M){var e=createDuration(M);e&&this.mutate({datesDelta:e})}setAllDay(M,e={}){var b={allDay:M};let z=e[\\\"maintainDuration\\\"];null==z&&(z=this._context.options.allDayMaintainDuration),this._def.allDay!==M&&(b.hasEnd=z),this.mutate({standardProps:b})}formatRange(M){var e=this._context[\\\"dateEnv\\\"],b=this._instance,z=createFormatter(M);return this._def.hasEnd?e.formatRange(b.range.start,b.range.end,z,{forcedStartTzo:b.forcedStartTzo,forcedEndTzo:b.forcedEndTzo}):e.format(b.range.start,z,{forcedTzo:b.forcedStartTzo})}mutate(b){var z=this._instance;if(z){var p=this._def;let M=this._context,e=M.getCurrentData()[\\\"eventStore\\\"];var t=applyMutationToEventStore(getRelevantEvents(e,z.instanceId),{\\\"\\\":{display:\\\"\\\",startEditable:!0,durationEditable:!0,constraints:[],overlap:null,allows:[],backgroundColor:\\\"\\\",borderColor:\\\"\\\",textColor:\\\"\\\",classNames:[]}},b,M),o=new EventImpl(M,p,z);this._def=t.defs[p.defId],this._instance=t.instances[z.instanceId],M.dispatch({type:\\\"MERGE_EVENTS\\\",eventStore:t}),M.emitter.trigger(\\\"eventChange\\\",{oldEvent:o,event:this,relatedEvents:buildEventApis(t,M,z),revert(){M.dispatch({type:\\\"RESET_EVENTS\\\",eventStore:e})}})}}remove(){let M=this._context,e=eventApiToStore(this);M.dispatch({type:\\\"REMOVE_EVENTS\\\",eventStore:e}),M.emitter.trigger(\\\"eventRemove\\\",{event:this,relatedEvents:[],revert(){M.dispatch({type:\\\"MERGE_EVENTS\\\",eventStore:e})}})}get source(){var M=this._def[\\\"sourceId\\\"];return M?new EventSourceImpl(this._context,this._context.getCurrentData().eventSources[M]):null}get start(){return this._instance?this._context.dateEnv.toDate(this._instance.range.start):null}get end(){return this._instance&&this._def.hasEnd?this._context.dateEnv.toDate(this._instance.range.end):null}get startStr(){var M=this._instance;return M?this._context.dateEnv.formatIso(M.range.start,{omitTime:this._def.allDay,forcedTzo:M.forcedStartTzo}):\\\"\\\"}get endStr(){var M=this._instance;return M&&this._def.hasEnd?this._context.dateEnv.formatIso(M.range.end,{omitTime:this._def.allDay,forcedTzo:M.forcedEndTzo}):\\\"\\\"}get id(){return this._def.publicId}get groupId(){return this._def.groupId}get allDay(){return this._def.allDay}get title(){return this._def.title}get url(){return this._def.url}get display(){return this._def.ui.display||\\\"auto\\\"}get startEditable(){return this._def.ui.startEditable}get durationEditable(){return this._def.ui.durationEditable}get constraint(){return this._def.ui.constraints[0]||null}get overlap(){return this._def.ui.overlap}get allow(){return this._def.ui.allows[0]||null}get backgroundColor(){return this._def.ui.backgroundColor}get borderColor(){return this._def.ui.borderColor}get textColor(){return this._def.ui.textColor}get classNames(){return this._def.ui.classNames}get extendedProps(){return this._def.extendedProps}toPlainObject(M={}){var e=this._def,b=e[\\\"ui\\\"],{startStr:z,endStr:p}=this,t={allDay:e.allDay};return e.title&&(t.title=e.title),z&&(t.start=z),p&&(t.end=p),e.publicId&&(t.id=e.publicId),e.groupId&&(t.groupId=e.groupId),e.url&&(t.url=e.url),b.display&&\\\"auto\\\"!==b.display&&(t.display=b.display),M.collapseColor&&b.backgroundColor&&b.backgroundColor===b.borderColor?t.color=b.backgroundColor:(b.backgroundColor&&(t.backgroundColor=b.backgroundColor),b.borderColor&&(t.borderColor=b.borderColor)),b.textColor&&(t.textColor=b.textColor),b.classNames.length&&(t.classNames=b.classNames),Object.keys(e.extendedProps).length&&(M.collapseExtendedProps?Object.assign(t,e.extendedProps):t.extendedProps=e.extendedProps),t}toJSON(){return this.toPlainObject()}};function eventApiToStore(M){var e=M._def,b=M._instance;return{defs:{[e.defId]:e},instances:b?{[b.instanceId]:b}:{}}}function buildEventApis(M,e,b){var z,{defs:p,instances:t}=M,o=[],O=b?b.instanceId:\\\"\\\";for(z in t){var c=t[z],n=p[c.defId];c.instanceId!==O&&o.push(new EventImpl(e,n,c))}return o}function sliceEventStore(M,e,b,z){var p,t,o,O,c,n,i={},r={},a={},A=[],s=[],d=compileEventUis(M.defs,e);for(p in M.defs){var q=M.defs[p];\\\"inverse-background\\\"===d[q.defId].display&&(q.groupId?(i[q.groupId]=[],a[q.groupId]||(a[q.groupId]=q)):r[p]=[])}for(t in M.instances){var l=M.instances[t],u=M.defs[l.defId],W=d[u.defId],f=l.range,f=!u.allDay&&z?computeVisibleDayRange(f,z):f,R=intersectRanges(f,b);R&&(\\\"inverse-background\\\"===W.display?(u.groupId?i[u.groupId]:r[l.defId]).push(R):\\\"none\\\"!==W.display&&(\\\"background\\\"===W.display?A:s).push({def:u,ui:W,instance:l,range:R,isStart:f.start&&f.start.valueOf()===R.start.valueOf(),isEnd:f.end&&f.end.valueOf()===R.end.valueOf()}))}for(o in i)for(O of invertRanges(i[o],b)){var h=a[o],g=d[h.defId];A.push({def:h,ui:g,instance:null,range:O,isStart:!1,isEnd:!1})}for(c in r)for(n of invertRanges(r[c],b))A.push({def:M.defs[c],ui:d[c],instance:null,range:n,isStart:!1,isEnd:!1});return{bg:A,fg:s}}function hasBgRendering(M){return\\\"background\\\"===M.ui.display||\\\"inverse-background\\\"===M.ui.display}function setElSeg(M,e){M.fcSeg=e}function getElSeg(M){return M.fcSeg||M.parentNode.fcSeg||null}function compileEventUis(M,e){return mapHash(M,M=>compileEventUi(M,e))}function compileEventUi(M,e){var b=[];return e[\\\"\\\"]&&b.push(e[\\\"\\\"]),e[M.defId]&&b.push(e[M.defId]),b.push(M.ui),combineEventUis(b)}function sortEventSegs(M,b){var e=M.map(buildSegCompareObj);return e.sort((M,e)=>compareByFieldSpecs(M,e,b)),e.map(M=>M._seg)}function buildSegCompareObj(M){var e=M[\\\"eventRange\\\"],b=e.def,e=(e.instance||e).range,z=e.start?e.start.valueOf():0,e=e.end?e.end.valueOf():0;return Object.assign(Object.assign(Object.assign({},b.extendedProps),b),{id:b.publicId,start:z,end:e,duration:e-z,allDay:Number(b.allDay),_seg:M})}function computeSegDraggable(M,e){var b,z=e[\\\"pluginHooks\\\"],z=z.isDraggableTransformers,{def:p,ui:t}=M.eventRange;let o=t.startEditable;for(b of z)o=b(o,p,t,e);return o}function computeSegStartResizable(M,e){return M.isStart&&M.eventRange.ui.durationEditable&&e.options.eventResizableFromStart}function computeSegEndResizable(M,e){return M.isEnd&&M.eventRange.ui.durationEditable}function buildSegTimeText(M,e,b,z,p,t,o){var{dateEnv:O,options:c}=b;let{displayEventTime:n,displayEventEnd:i}=c;var c=M.eventRange.def,r=M.eventRange.instance,a=(null==n&&(n=!1!==z),null==i&&(i=!1!==p),r.range.start),A=r.range.end,s=t||M.start||M.eventRange.range.start,d=o||M.end||M.eventRange.range.end,q=startOfDay(a).valueOf()===startOfDay(s).valueOf(),l=startOfDay(addMs(A,-1)).valueOf()===startOfDay(addMs(d,-1)).valueOf();return n&&!c.allDay&&(q||l)?(s=q?a:s,i&&c.hasEnd?O.formatRange(s,l?A:d,e,{forcedStartTzo:t?null:r.forcedStartTzo,forcedEndTzo:o?null:r.forcedEndTzo}):O.format(s,e,{forcedTzo:t?null:r.forcedStartTzo})):\\\"\\\"}function getSegMeta(M,e,b){var z=M.eventRange.range;return{isPast:z.end\u003C(b||e.start),isFuture:z.start>=(b||e.end),isToday:e&&rangeContainsMarker(e,z.start)}}function getEventClassNames(M){var e=[\\\"fc-event\\\"];return M.isMirror&&e.push(\\\"fc-event-mirror\\\"),M.isDraggable&&e.push(\\\"fc-event-draggable\\\"),(M.isStartResizable||M.isEndResizable)&&e.push(\\\"fc-event-resizable\\\"),M.isDragging&&e.push(\\\"fc-event-dragging\\\"),M.isResizing&&e.push(\\\"fc-event-resizing\\\"),M.isSelected&&e.push(\\\"fc-event-selected\\\"),M.isStart&&e.push(\\\"fc-event-start\\\"),M.isEnd&&e.push(\\\"fc-event-end\\\"),M.isPast&&e.push(\\\"fc-event-past\\\"),M.isToday&&e.push(\\\"fc-event-today\\\"),M.isFuture&&e.push(\\\"fc-event-future\\\"),e}function buildEventRangeKey(M){return M.instance?M.instance.instanceId:M.def.defId+\\\":\\\"+M.range.start.toISOString()}function getSegAnchorAttrs(M,e){let{def:b,instance:z}=M.eventRange;var p=b[\\\"url\\\"];if(p)return{href:p};let{emitter:t,options:o}=e,O=o[\\\"eventInteractive\\\"];return(O=null==O&&null==(O=b.interactive)?Boolean(t.hasHandlers(\\\"eventClick\\\")):O)?createAriaKeyboardAttrs(M=>{t.trigger(\\\"eventClick\\\",{el:M.target,event:new EventImpl(e,b,z),jsEvent:M,view:e.viewApi})}):{}}var STANDARD_PROPS={start:identity,end:identity,allDay:Boolean};function parseDateSpan(M,e,b){var z=parseOpenDateSpan(M,e),p=z[\\\"range\\\"];if(!p.start)return null;if(!p.end){if(null==b)return null;p.end=e.add(p.start,b)}return z}function parseOpenDateSpan(M,e){var{refined:b,extra:z}=refineProps(M,STANDARD_PROPS),p=b.start?e.createMarkerMeta(b.start):null,t=b.end?e.createMarkerMeta(b.end):null;let o=b[\\\"allDay\\\"];return null==o&&(o=p&&p.isTimeUnspecified&&(!t||t.isTimeUnspecified)),Object.assign({range:{start:p?p.marker:null,end:t?t.marker:null},allDay:o},z)}function isDateSpansEqual(M,e){return rangesEqual(M.range,e.range)&&M.allDay===e.allDay&&isSpanPropsEqual(M,e)}function isSpanPropsEqual(M,e){for(var b in e)if(\\\"range\\\"!==b&&\\\"allDay\\\"!==b&&M[b]!==e[b])return!1;for(var z in M)if(!(z in e))return!1;return!0}function buildDateSpanApi(M,e){return Object.assign(Object.assign({},buildRangeApi(M.range,e,M.allDay)),{allDay:M.allDay})}function buildRangeApiWithTimeZone(M,e,b){return Object.assign(Object.assign({},buildRangeApi(M,e,b)),{timeZone:e.timeZone})}function buildRangeApi(M,e,b){return{start:e.toDate(M.start),end:e.toDate(M.end),startStr:e.formatIso(M.start,{omitTime:b}),endStr:e.formatIso(M.end,{omitTime:b})}}function fabricateEventRange(M,e,b){var z=refineEventDef({editable:!1},b),z=parseEventDef(z.refined,z.extra,\\\"\\\",M.allDay,!0,b);return{def:z,ui:compileEventUi(z,e),instance:createEventInstance(z.defId,M.range),range:M.range,isStart:!0,isEnd:!0}}var calendarSystemClassMap={};function registerCalendarSystem(M,e){calendarSystemClassMap[M]=e}function createCalendarSystem(M){return new calendarSystemClassMap[M]}var GregorianCalendarSystem=class{getMarkerYear(M){return M.getUTCFullYear()}getMarkerMonth(M){return M.getUTCMonth()}getMarkerDay(M){return M.getUTCDate()}arrayToMarker(M){return arrayToUtcDate(M)}markerToArray(M){return dateToUtcArray(M)}},ISO_RE=(registerCalendarSystem(\\\"gregory\\\",GregorianCalendarSystem),/^\\\\s*(\\\\d{4})(-?(\\\\d{2})(-?(\\\\d{2})([T ](\\\\d{2}):?(\\\\d{2})(:?(\\\\d{2})(\\\\.(\\\\d+))?)?(Z|(([-+])(\\\\d{2})(:?(\\\\d{2}))?))?)?)?)?$/);function parse(M){var e=ISO_RE.exec(M);if(e){var b=new Date(Date.UTC(Number(e[1]),e[3]?Number(e[3])-1:0,Number(e[5]||1),Number(e[7]||0),Number(e[8]||0),Number(e[10]||0),e[12]?1e3*Number(\\\"0.\\\"+e[12]):0));if(isValidDate(b)){let M=null;return e[13]&&(M=(\\\"-\\\"===e[15]?-1:1)*(60*Number(e[16]||0)+Number(e[18]||0))),{marker:b,isTimeUnspecified:!e[6],timeZoneOffset:M}}}return null}var DateEnv=class{constructor(M){var e=this.timeZone=M.timeZone,b=\\\"local\\\"!==e&&\\\"UTC\\\"!==e;M.namedTimeZoneImpl&&b&&(this.namedTimeZoneImpl=new M.namedTimeZoneImpl(e)),this.canComputeOffset=Boolean(!b||this.namedTimeZoneImpl),this.calendarSystem=createCalendarSystem(M.calendarSystem),this.locale=M.locale,this.weekDow=M.locale.week.dow,this.weekDoy=M.locale.week.doy,\\\"ISO\\\"===M.weekNumberCalculation&&(this.weekDow=1,this.weekDoy=4),\\\"number\\\"==typeof M.firstDay&&(this.weekDow=M.firstDay),\\\"function\\\"==typeof M.weekNumberCalculation&&(this.weekNumberFunc=M.weekNumberCalculation),this.weekText=(null!=M.weekText?M:M.locale.options).weekText,this.weekTextLong=(null!=M.weekTextLong?M:M.locale.options).weekTextLong||this.weekText,this.cmdFormatter=M.cmdFormatter,this.defaultSeparator=M.defaultSeparator}createMarker(M){var e=this.createMarkerMeta(M);return null===e?null:e.marker}createNowMarker(){return this.canComputeOffset?this.timestampToMarker((new Date).valueOf()):arrayToUtcDate(dateToLocalArray(new Date))}createMarkerMeta(M){if(\\\"string\\\"==typeof M)return this.parse(M);let e=null;return\\\"number\\\"==typeof M?e=this.timestampToMarker(M):M instanceof Date?(M=M.valueOf(),isNaN(M)||(e=this.timestampToMarker(M))):Array.isArray(M)&&(e=arrayToUtcDate(M)),null!==e&&isValidDate(e)?{marker:e,isTimeUnspecified:!1,forcedTzo:null}:null}parse(M){var e=parse(M);if(null===e)return null;let b=e[\\\"marker\\\"],z=null;return null!==e.timeZoneOffset&&(this.canComputeOffset?b=this.timestampToMarker(b.valueOf()-60*e.timeZoneOffset*1e3):z=e.timeZoneOffset),{marker:b,isTimeUnspecified:e.isTimeUnspecified,forcedTzo:z}}getYear(M){return this.calendarSystem.getMarkerYear(M)}getMonth(M){return this.calendarSystem.getMarkerMonth(M)}getDay(M){return this.calendarSystem.getMarkerDay(M)}add(M,e){var b=this.calendarSystem.markerToArray(M);return b[0]+=e.years,b[1]+=e.months,b[2]+=e.days,b[6]+=e.milliseconds,this.calendarSystem.arrayToMarker(b)}subtract(M,e){var b=this.calendarSystem.markerToArray(M);return b[0]-=e.years,b[1]-=e.months,b[2]-=e.days,b[6]-=e.milliseconds,this.calendarSystem.arrayToMarker(b)}addYears(M,e){var b=this.calendarSystem.markerToArray(M);return b[0]+=e,this.calendarSystem.arrayToMarker(b)}addMonths(M,e){var b=this.calendarSystem.markerToArray(M);return b[1]+=e,this.calendarSystem.arrayToMarker(b)}diffWholeYears(M,e){var b=this[\\\"calendarSystem\\\"];return timeAsMs(M)===timeAsMs(e)&&b.getMarkerDay(M)===b.getMarkerDay(e)&&b.getMarkerMonth(M)===b.getMarkerMonth(e)?b.getMarkerYear(e)-b.getMarkerYear(M):null}diffWholeMonths(M,e){var b=this[\\\"calendarSystem\\\"];return timeAsMs(M)===timeAsMs(e)&&b.getMarkerDay(M)===b.getMarkerDay(e)?b.getMarkerMonth(e)-b.getMarkerMonth(M)+12*(b.getMarkerYear(e)-b.getMarkerYear(M)):null}greatestWholeUnit(M,e){var b=this.diffWholeYears(M,e);return null!==b?{unit:\\\"year\\\",value:b}:null!==(b=this.diffWholeMonths(M,e))?{unit:\\\"month\\\",value:b}:null!==(b=diffWholeWeeks(M,e))?{unit:\\\"week\\\",value:b}:null!==(b=diffWholeDays(M,e))?{unit:\\\"day\\\",value:b}:isInt(b=diffHours(M,e))?{unit:\\\"hour\\\",value:b}:isInt(b=diffMinutes(M,e))?{unit:\\\"minute\\\",value:b}:isInt(b=diffSeconds(M,e))?{unit:\\\"second\\\",value:b}:{unit:\\\"millisecond\\\",value:e.valueOf()-M.valueOf()}}countDurationsBetween(M,e,b){let z;return b.years&&null!==(z=this.diffWholeYears(M,e))?z/asRoughYears(b):b.months&&null!==(z=this.diffWholeMonths(M,e))?z/asRoughMonths(b):b.days&&null!==(z=diffWholeDays(M,e))?z/asRoughDays(b):(e.valueOf()-M.valueOf())/asRoughMs(b)}startOf(M,e){return\\\"year\\\"===e?this.startOfYear(M):\\\"month\\\"===e?this.startOfMonth(M):\\\"week\\\"===e?this.startOfWeek(M):\\\"day\\\"===e?startOfDay(M):\\\"hour\\\"===e?startOfHour(M):\\\"minute\\\"===e?startOfMinute(M):\\\"second\\\"===e?startOfSecond(M):null}startOfYear(M){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(M)])}startOfMonth(M){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(M),this.calendarSystem.getMarkerMonth(M)])}startOfWeek(M){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(M),this.calendarSystem.getMarkerMonth(M),M.getUTCDate()-(M.getUTCDay()-this.weekDow+7)%7])}computeWeekNumber(M){return this.weekNumberFunc?this.weekNumberFunc(this.toDate(M)):weekOfYear(M,this.weekDow,this.weekDoy)}format(M,e,b={}){return e.format({marker:M,timeZoneOffset:null!=b.forcedTzo?b.forcedTzo:this.offsetForMarker(M)},this)}formatRange(M,e,b,z={}){return z.isEndExclusive&&(e=addMs(e,-1)),b.formatRange({marker:M,timeZoneOffset:null!=z.forcedStartTzo?z.forcedStartTzo:this.offsetForMarker(M)},{marker:e,timeZoneOffset:null!=z.forcedEndTzo?z.forcedEndTzo:this.offsetForMarker(e)},this,z.defaultSeparator)}formatIso(M,e={}){let b=null;return buildIsoString(M,b=e.omitTimeZoneOffset?b:null!=e.forcedTzo?e.forcedTzo:this.offsetForMarker(M),e.omitTime)}timestampToMarker(M){return\\\"local\\\"===this.timeZone?arrayToUtcDate(dateToLocalArray(new Date(M))):\\\"UTC\\\"!==this.timeZone&&this.namedTimeZoneImpl?arrayToUtcDate(this.namedTimeZoneImpl.timestampToArray(M)):new Date(M)}offsetForMarker(M){return\\\"local\\\"===this.timeZone?-arrayToLocalDate(dateToUtcArray(M)).getTimezoneOffset():\\\"UTC\\\"===this.timeZone?0:this.namedTimeZoneImpl?this.namedTimeZoneImpl.offsetForArray(dateToUtcArray(M)):null}toDate(M,e){return\\\"local\\\"===this.timeZone?arrayToLocalDate(dateToUtcArray(M)):\\\"UTC\\\"===this.timeZone?new Date(M.valueOf()):this.namedTimeZoneImpl?new Date(M.valueOf()-1e3*this.namedTimeZoneImpl.offsetForArray(dateToUtcArray(M))*60):new Date(M.valueOf()-(e||0))}},NamedTimeZoneImpl=class{constructor(M){this.timeZoneName=M}},SegHierarchy=class{constructor(){this.strictOrder=!1,this.allowReslicing=!1,this.maxCoord=-1,this.maxStackCnt=-1,this.levelCoords=[],this.entriesByLevel=[],this.stackCnts={}}addSegs(M){var e,b=[];for(e of M)this.insertEntry(e,b);return b}insertEntry(M,e){var b=this.findInsertion(M);return this.isInsertionValid(b,M)?(this.insertEntryAt(M,b),1):this.handleInvalidInsertion(b,M,e)}isInsertionValid(M,e){return(-1===this.maxCoord||M.levelCoord+e.thickness\u003C=this.maxCoord)&&(-1===this.maxStackCnt||M.stackCnt\u003Cthis.maxStackCnt)}handleInvalidInsertion(M,e,b){return this.allowReslicing&&M.touchingEntry?this.splitEntry(e,M.touchingEntry,b):(b.push(e),0)}splitEntry(M,e,b){let z=0;var p=[],t=M.span,o=e.span;return t.start\u003Co.start&&(z+=this.insertEntry({index:M.index,thickness:M.thickness,span:{start:t.start,end:o.start}},p)),t.end>o.end&&(z+=this.insertEntry({index:M.index,thickness:M.thickness,span:{start:o.end,end:t.end}},p)),z?(b.push({index:M.index,thickness:M.thickness,span:intersectSpans(o,t)},...p),z):(b.push(M),0)}insertEntryAt(M,e){var{entriesByLevel:b,levelCoords:z}=this;-1===e.lateral?(insertAt(z,e.level,e.levelCoord),insertAt(b,e.level,[M])):insertAt(b[e.level],e.lateral,M),this.stackCnts[buildEntryKey(M)]=e.stackCnt}findInsertion(e){var{levelCoords:b,entriesByLevel:z,strictOrder:p,stackCnts:t}=this,M=b.length;let o=0,O=-1,c=-1,n=null,i=0;for(let u=0;u\u003CM;u+=1){var r=b[u];if(!p&&r>=o+e.thickness)break;var a,A=z[u],s=binarySearch(A,e.span.start,getEntrySpanEnd);let M=s[0]+s[1];for(;(a=A[M])&&a.span.start\u003Ce.span.end;){var d=r+a.thickness;d>o&&(o=d,n=a,O=u,c=M),d===o&&(i=Math.max(i,t[buildEntryKey(a)]+1)),M+=1}}let q=0;if(n)for(q=O+1;q\u003CM&&b[q]\u003Co;)q+=1;let l=-1;return q\u003CM&&b[q]===o&&(l=binarySearch(z[q],e.span.end,getEntrySpanEnd)[0]),{touchingLevel:O,touchingLateral:c,touchingEntry:n,stackCnt:i,levelCoord:o,level:q,lateral:l}}toRects(){var{entriesByLevel:M,levelCoords:e}=this,b=M.length,z=[];for(let O=0;O\u003Cb;O+=1){var p,t=M[O],o=e[O];for(p of t)z.push(Object.assign(Object.assign({},p),{levelCoord:o}))}return z}};function getEntrySpanEnd(M){return M.span.end}function buildEntryKey(M){return M.index+\\\":\\\"+M.span.start}function groupIntersectingEntries(M){let e=[];for(var b of M){var z,p=[];let M={span:b.span,entries:[b]};for(z of e)intersectSpans(z.span,M.span)?M={entries:z.entries.concat(M.entries),span:joinSpans(z.span,M.span)}:p.push(z);p.push(M),e=p}return e}function joinSpans(M,e){return{start:Math.min(M.start,e.start),end:Math.max(M.end,e.end)}}function intersectSpans(M,e){var b=Math.max(M.start,e.start),z=Math.min(M.end,e.end);return b\u003Cz?{start:b,end:z}:null}function insertAt(M,e,b){M.splice(e,0,b)}function binarySearch(M,e,b){let z=0,p=M.length;if(!p||e\u003Cb(M[z]))return[0,0];if(e>b(M[p-1]))return[p,0];for(;z\u003Cp;){var t=Math.floor(z+(p-z)/2),o=b(M[t]);if(e\u003Co)p=t;else{if(!(o\u003Ce))return[t,1];z=t+1}}return[z,0]}var Interaction=class{constructor(M){this.component=M.component,this.isHitComboAllowed=M.isHitComboAllowed||null}destroy(){}};function parseInteractionSettings(M,e){return{component:M,el:e.el,useEventCenter:null==e.useEventCenter||e.useEventCenter,isHitComboAllowed:e.isHitComboAllowed||null}}function interactionSettingsToStore(M){return{[M.component.uid]:M}}var interactionSettingsStore={},ElementDragging=class{constructor(M,e){this.emitter=new Emitter}destroy(){}setMirrorIsVisible(M){}setMirrorNeedsRevert(M){}setAutoScrollEnabled(M){}},config={},CalendarRoot=class extends BaseComponent{constructor(){super(...arguments),this.state={forPrint:!1},this.handleBeforePrint=()=>{this.setState({forPrint:!0})},this.handleAfterPrint=()=>{this.setState({forPrint:!1})}}render(){var M=this[\\\"props\\\"],e=M[\\\"options\\\"],b=this.state[\\\"forPrint\\\"],z=b||\\\"auto\\\"===e.height||\\\"auto\\\"===e.contentHeight,p=z||null==e.height?\\\"\\\":e.height,e=[\\\"fc\\\",b?\\\"fc-media-print\\\":\\\"fc-media-screen\\\",\\\"fc-direction-\\\"+e.direction,M.theme.getClass(\\\"root\\\")];return getCanVGrowWithinCell()||e.push(\\\"fc-liquid-hack\\\"),M.children(e,p,z,b)}componentDidMount(){var M=this.props[\\\"emitter\\\"];M.on(\\\"_beforeprint\\\",this.handleBeforePrint),M.on(\\\"_afterprint\\\",this.handleAfterPrint)}componentWillUnmount(){var M=this.props[\\\"emitter\\\"];M.off(\\\"_beforeprint\\\",this.handleBeforePrint),M.off(\\\"_afterprint\\\",this.handleAfterPrint)}};function computeFallbackHeaderFormat(M,e){return createFormatter(!M||10\u003Ce?{weekday:\\\"short\\\"}:1\u003Ce?{weekday:\\\"short\\\",month:\\\"numeric\\\",day:\\\"numeric\\\",omitCommas:!0}:{weekday:\\\"long\\\"})}var CLASS_NAME=\\\"fc-col-header-cell\\\";function renderInner$1(M){return M.text}var ContentInjector=class extends BaseComponent{constructor(){super(...arguments),this.id=guid(),this.queuedDomNodes=[],this.currentDomNodes=[],this.handleEl=M=>{this.props.elRef&&setRef(this.props.elRef,M)}}render(){var M,{props:e,context:b}=this,b=b[\\\"options\\\"],{customGenerator:z,defaultGenerator:p,renderProps:t}=e,o=buildElAttrs(e);let O=!1,c,n=[],i;return null!=z?!0===(z=\\\"function\\\"==typeof z?z(t,y):z)?O=!0:(M=z&&\\\"object\\\"==typeof z)&&\\\"html\\\"in z?o.dangerouslySetInnerHTML={__html:z.html}:M&&\\\"domNodes\\\"in z?n=Array.prototype.slice.call(z.domNodes):M||\\\"function\\\"==typeof z?i=z:c=z:O=!hasCustomRenderingHandler(e.generatorName,b),O&&p&&(c=p(t)),this.queuedDomNodes=n,this.currentGeneratorMeta=i,y(e.elTag,o,c)}componentDidMount(){this.applyQueueudDomNodes(),this.triggerCustomRendering(!0)}componentDidUpdate(){this.applyQueueudDomNodes(),this.triggerCustomRendering(!0)}componentWillUnmount(){this.triggerCustomRendering(!1)}triggerCustomRendering(M){var e,{props:b,context:z}=this,{handleCustomRendering:z,customRenderingMetaMap:p}=z.options;z&&(e=null!=(e=this.currentGeneratorMeta)?e:null==p?void 0:p[b.generatorName])&&z(Object.assign(Object.assign({id:this.id,isActive:M,containerEl:this.base,reportNewContainerEl:this.handleEl,generatorMeta:e},b),{elClasses:(b.elClasses||[]).filter(isTruthy)}))}applyQueueudDomNodes(){var{queuedDomNodes:M,currentDomNodes:e}=this,b=this.base;if(!isArraysEqual(M,e)){e.forEach(removeElement);for(var z of M)b.appendChild(z);this.currentDomNodes=M}}};function hasCustomRenderingHandler(M,e){var b;return Boolean(e.handleCustomRendering&&M&&(null==(b=e.customRenderingMetaMap)?void 0:b[M]))}function buildElAttrs(M,e){var b=Object.assign(Object.assign({},M.elAttrs),{ref:M.elRef});return(M.elClasses||e)&&(b.className=(M.elClasses||[]).concat(e||[]).concat(b.className||[]).filter(Boolean).join(\\\" \\\")),M.elStyle&&(b.style=M.elStyle),b}function isTruthy(M){return Boolean(M)}ContentInjector.addPropsEquality({elClasses:isArraysEqual,elStyle:isPropsEqual,elAttrs:isNonHandlerPropsEqual,renderProps:isPropsEqual});var RenderId=createContext(0),ContentContainer=class extends x{constructor(){super(...arguments),this.InnerContent=InnerContentInjector.bind(void 0,this),this.handleRootEl=M=>{this.rootEl=M,this.props.elRef&&setRef(this.props.elRef,M)}}render(){var M,e,b=this[\\\"props\\\"],z=generateClassNames(b.classNameGenerator,b.renderProps);return b.children?(M=buildElAttrs(b,z),e=b.children(this.InnerContent,b.renderProps,M),b.elTag?y(b.elTag,M,e):e):y(ContentInjector,Object.assign(Object.assign({},b),{elRef:this.handleRootEl,elTag:b.elTag||\\\"div\\\",elClasses:(b.elClasses||[]).concat(z),renderId:this.context}))}componentDidMount(){var M,e;null!=(e=(M=this.props).didMount)&&e.call(M,Object.assign(Object.assign({},this.props.renderProps),{el:this.rootEl||this.base}))}componentWillUnmount(){var M,e;null!=(e=(M=this.props).willUnmount)&&e.call(M,Object.assign(Object.assign({},this.props.renderProps),{el:this.rootEl||this.base}))}};function InnerContentInjector(M,e){var b=M.props;return y(ContentInjector,Object.assign({renderProps:b.renderProps,generatorName:b.generatorName,customGenerator:b.customGenerator,defaultGenerator:b.defaultGenerator,renderId:M.context},e))}function generateClassNames(M,e){var b=\\\"function\\\"==typeof M?M(e):M||[];return\\\"string\\\"==typeof b?[b]:b}ContentContainer.contextType=RenderId;var TableDateCell=class extends BaseComponent{render(){var{dateEnv:M,options:e,theme:b,viewApi:z}=this.context;let p=this[\\\"props\\\"];var{date:t,dateProfile:o}=p;let O=getDateMeta(t,p.todayRange,null,o);o=[CLASS_NAME].concat(getDayClassNames(O,b)),b=M.format(t,p.dayHeaderFormat);let c=!O.isDisabled&&1\u003Cp.colCnt?buildNavLinkAttrs(this.context,t):{};M=Object.assign(Object.assign(Object.assign({date:M.toDate(t),view:z},p.extraRenderProps),{text:b}),O);return y(ContentContainer,{elTag:\\\"th\\\",elClasses:o,elAttrs:Object.assign({role:\\\"columnheader\\\",colSpan:p.colSpan,\\\"data-date\\\":O.isDisabled?void 0:formatDayString(t)},p.extraDataAttrs),renderProps:M,generatorName:\\\"dayHeaderContent\\\",customGenerator:e.dayHeaderContent,defaultGenerator:renderInner$1,classNameGenerator:e.dayHeaderClassNames,didMount:e.dayHeaderDidMount,willUnmount:e.dayHeaderWillUnmount},M=>y(\\\"div\\\",{className:\\\"fc-scrollgrid-sync-inner\\\"},!O.isDisabled&&y(M,{elTag:\\\"a\\\",elAttrs:c,elClasses:[\\\"fc-col-header-cell-cushion\\\",p.isSticky&&\\\"fc-sticky\\\"]})))}},WEEKDAY_FORMAT=createFormatter({weekday:\\\"long\\\"}),TableDowCell=class extends BaseComponent{render(){let e=this[\\\"props\\\"],{dateEnv:b,theme:M,viewApi:z,options:p}=this.context,t=addDays(new Date(2592e5),e.dow);var o={dow:e.dow,isDisabled:!1,isFuture:!1,isPast:!1,isToday:!1,isOther:!1},O=b.format(t,e.dayHeaderFormat),O=Object.assign(Object.assign(Object.assign(Object.assign({date:t},o),{view:z}),e.extraRenderProps),{text:O});return y(ContentContainer,{elTag:\\\"th\\\",elClasses:[CLASS_NAME,...getDayClassNames(o,M),...e.extraClassNames||[]],elAttrs:Object.assign({role:\\\"columnheader\\\",colSpan:e.colSpan},e.extraDataAttrs),renderProps:O,generatorName:\\\"dayHeaderContent\\\",customGenerator:p.dayHeaderContent,defaultGenerator:renderInner$1,classNameGenerator:p.dayHeaderClassNames,didMount:p.dayHeaderDidMount,willUnmount:p.dayHeaderWillUnmount},M=>y(\\\"div\\\",{className:\\\"fc-scrollgrid-sync-inner\\\"},y(M,{elTag:\\\"a\\\",elClasses:[\\\"fc-col-header-cell-cushion\\\",e.isSticky&&\\\"fc-sticky\\\"],elAttrs:{\\\"aria-label\\\":b.format(t,WEEKDAY_FORMAT)}})))}},NowTimer=class extends x{constructor(M,e){super(M,e),this.initialNowDate=getNow(e.options.now,e.dateEnv),this.initialNowQueriedMs=(new Date).valueOf(),this.state=this.computeTiming().currentState}render(){var{props:M,state:e}=this;return M.children(e.nowDate,e.todayRange)}componentDidMount(){this.setTimeout()}componentDidUpdate(M){M.unit!==this.props.unit&&(this.clearTimeout(),this.setTimeout())}componentWillUnmount(){this.clearTimeout()}computeTiming(){var{props:M,context:e}=this,b=addMs(this.initialNowDate,(new Date).valueOf()-this.initialNowQueriedMs),z=e.dateEnv.startOf(b,M.unit),M=e.dateEnv.add(z,createDuration(1,M.unit)),e=M.valueOf()-b.valueOf(),e=Math.min(864e5,e);return{currentState:{nowDate:z,todayRange:buildDayRange(z)},nextState:{nowDate:M,todayRange:buildDayRange(M)},waitMs:e}}setTimeout(){let{nextState:M,waitMs:e}=this.computeTiming();this.timeoutId=setTimeout(()=>{this.setState(M,()=>{this.setTimeout()})},e)}clearTimeout(){this.timeoutId&&clearTimeout(this.timeoutId)}};function buildDayRange(M){var e=startOfDay(M);return{start:e,end:addDays(e,1)}}NowTimer.contextType=ViewContextType;var DayHeader=class extends BaseComponent{constructor(){super(...arguments),this.createDayHeaderFormatter=memoize(createDayHeaderFormatter)}render(){var M=this[\\\"context\\\"];let{dates:b,dateProfile:z,datesRepDistinctDays:p,renderIntro:t}=this.props,o=this.createDayHeaderFormatter(M.options.dayHeaderFormat,p,b.length);return y(NowTimer,{unit:\\\"day\\\"},(M,e)=>y(\\\"tr\\\",{role:\\\"row\\\"},t&&t(\\\"day\\\"),b.map(M=>p?y(TableDateCell,{key:M.toISOString(),date:M,dateProfile:z,todayRange:e,colCnt:b.length,dayHeaderFormat:o}):y(TableDowCell,{key:M.getUTCDay(),dow:M.getUTCDay(),dayHeaderFormat:o}))))}};function createDayHeaderFormatter(M,e,b){return M||computeFallbackHeaderFormat(e,b)}var DaySeriesModel=class{constructor(M,e){let b=M.start;var z=M[\\\"end\\\"],p=[],t=[];let o=-1;for(;b\u003Cz;)e.isHiddenDay(b)?p.push(o+.5):(o+=1,p.push(o),t.push(b)),b=addDays(b,1);this.dates=t,this.indices=p,this.cnt=t.length}sliceRange(M){var e=this.getDateDayIndex(M.start),b=this.getDateDayIndex(addDays(M.end,-1)),z=Math.max(0,e),p=Math.min(this.cnt-1,b);return(z=Math.ceil(z))\u003C=(p=Math.floor(p))?{firstIndex:z,lastIndex:p,isStart:e===z,isEnd:b===p}:null}getDateDayIndex(M){var e=this[\\\"indices\\\"],b=Math.floor(diffDays(this.dates[0],M));return b\u003C0?e[0]-1:b>=e.length?e[e.length-1]+1:e[b]}},DayTableModel=class{constructor(M,e){var b,z=M[\\\"dates\\\"];let p,t;if(e){for(b=z[0].getUTCDay(),p=1;p\u003Cz.length&&z[p].getUTCDay()!==b;p+=1);t=Math.ceil(z.length/p)}else t=1,p=z.length;this.rowCnt=t,this.colCnt=p,this.daySeries=M,this.cells=this.buildCells(),this.headerDates=this.buildHeaderDates()}buildCells(){var e=[];for(let z=0;z\u003Cthis.rowCnt;z+=1){var b=[];for(let M=0;M\u003Cthis.colCnt;M+=1)b.push(this.buildCell(z,M));e.push(b)}return e}buildCell(M,e){var b=this.daySeries.dates[M*this.colCnt+e];return{key:b.toISOString(),date:b}}buildHeaderDates(){var M=[];for(let e=0;e\u003Cthis.colCnt;e+=1)M.push(this.cells[0][e].date);return M}sliceRange(M){var e=this[\\\"colCnt\\\"],b=this.daySeries.sliceRange(M),z=[];if(b){var{firstIndex:p,lastIndex:t}=b;let M=p;for(;M\u003C=t;){var o=Math.floor(M/e),O=Math.min((o+1)*e,t+1);z.push({row:o,firstCol:M%e,lastCol:(O-1)%e,isStart:b.isStart&&M===p,isEnd:b.isEnd&&O-1===t}),M=O}}return z}},Slicer=class{constructor(){this.sliceBusinessHours=memoize(this._sliceBusinessHours),this.sliceDateSelection=memoize(this._sliceDateSpan),this.sliceEventStore=memoize(this._sliceEventStore),this.sliceEventDrag=memoize(this._sliceInteraction),this.sliceEventResize=memoize(this._sliceInteraction),this.forceDayIfListItem=!1}sliceProps(M,e,b,z,...p){var t=M[\\\"eventUiBases\\\"],o=this.sliceEventStore(M.eventStore,t,e,b,...p);return{dateSelectionSegs:this.sliceDateSelection(M.dateSelection,e,b,t,z,...p),businessHourSegs:this.sliceBusinessHours(M.businessHours,e,b,z,...p),fgEventSegs:o.fg,bgEventSegs:o.bg,eventDrag:this.sliceEventDrag(M.eventDrag,t,e,b,...p),eventResize:this.sliceEventResize(M.eventResize,t,e,b,...p),eventSelection:M.eventSelection}}sliceNowDate(M,e,b,z,...p){return this._sliceDateSpan({range:{start:M,end:addMs(M,1)},allDay:!1},e,b,{},z,...p)}_sliceBusinessHours(M,e,b,z,...p){return M?this._sliceEventStore(expandRecurring(M,computeActiveRange(e,Boolean(b)),z),{},e,b,...p).bg:[]}_sliceEventStore(M,e,b,z,...p){var t;return M?(t=sliceEventStore(M,e,computeActiveRange(b,Boolean(z)),z),{bg:this.sliceEventRanges(t.bg,p),fg:this.sliceEventRanges(t.fg,p)}):{bg:[],fg:[]}}_sliceInteraction(M,e,b,z,...p){var t;return M?(t=sliceEventStore(M.mutatedEvents,e,computeActiveRange(b,Boolean(z)),z),{segs:this.sliceEventRanges(t.fg,p),affectedInstances:M.affectedEvents.instances,isEvent:M.isEvent}):null}_sliceDateSpan(M,e,b,z,p,...t){if(M){var o=computeActiveRange(e,Boolean(b)),o=intersectRanges(M.range,o);if(o){var O,c=fabricateEventRange(M=Object.assign(Object.assign({},M),{range:o}),z,p),o=this.sliceRange(M.range,...t);for(O of o)O.eventRange=c;return o}}return[]}sliceEventRanges(M,e){var b,z=[];for(b of M)z.push(...this.sliceEventRange(b,e));return z}sliceEventRange(M,e){let b=M.range;this.forceDayIfListItem&&\\\"list-item\\\"===M.ui.display&&(b={start:b.start,end:addDays(b.start,1)});var z,p=this.sliceRange(b,...e);for(z of p)z.eventRange=M,z.isStart=M.isStart&&z.isStart,z.isEnd=M.isEnd&&z.isEnd;return p}};function computeActiveRange(M,e){var b=M.activeRange;return e?b:{start:addMs(b.start,M.slotMinTime.milliseconds),end:addMs(b.end,M.slotMaxTime.milliseconds-864e5)}}function reduceEventStore(M,e,b,z,p){switch(e.type){case\\\"RECEIVE_EVENTS\\\":return receiveRawEvents(M,b[e.sourceId],e.fetchId,e.fetchRange,e.rawEvents,p);case\\\"RESET_RAW_EVENTS\\\":return resetRawEvents(M,b[e.sourceId],e.rawEvents,z.activeRange,p);case\\\"ADD_EVENTS\\\":return addEvent(M,e.eventStore,z?z.activeRange:null,p);case\\\"RESET_EVENTS\\\":return e.eventStore;case\\\"MERGE_EVENTS\\\":return mergeEventStores(M,e.eventStore);case\\\"PREV\\\":case\\\"NEXT\\\":case\\\"CHANGE_DATE\\\":case\\\"CHANGE_VIEW_TYPE\\\":return z?expandRecurring(M,z.activeRange,p):M;case\\\"REMOVE_EVENTS\\\":return excludeSubEventStore(M,e.eventStore);case\\\"REMOVE_EVENT_SOURCE\\\":return excludeEventsBySourceId(M,e.sourceId);case\\\"REMOVE_ALL_EVENT_SOURCES\\\":return filterEventStoreDefs(M,M=>!M.sourceId);case\\\"REMOVE_ALL_EVENTS\\\":return createEmptyEventStore();default:return M}}function receiveRawEvents(e,b,M,z,p,t){if(b&&M===b.latestFetchId){let M=parseEvents(transformRawEvents(p,b,t),b,t);return z&&(M=expandRecurring(M,z,t)),mergeEventStores(excludeEventsBySourceId(e,b.sourceId),M)}return e}function resetRawEvents(M,e,b,z,p){var{defIdMap:t,instanceIdMap:o}=buildPublicIdMaps(M);return expandRecurring(parseEvents(transformRawEvents(b,e,p),e,p,!1,t,o),z,p)}function transformRawEvents(M,e,b){var z=b.options.eventDataTransform,p=e?e.eventDataTransform:null;return p&&(M=transformEachRawEvent(M,p)),M=z?transformEachRawEvent(M,z):M}function transformEachRawEvent(M,e){let b;if(e){b=[];for(var z of M){var p=e(z);p?b.push(p):null==p&&b.push(z)}}else b=M;return b}function addEvent(M,e,b,z){return mergeEventStores(M,e=b?expandRecurring(e,b,z):e)}function rezoneEventStoreDates(M,e,b){let z=M[\\\"defs\\\"];var p=mapHash(M.instances,M=>{return z[M.defId].allDay?M:Object.assign(Object.assign({},M),{range:{start:b.createMarker(e.toDate(M.range.start,M.forcedStartTzo)),end:b.createMarker(e.toDate(M.range.end,M.forcedEndTzo))},forcedStartTzo:b.canComputeOffset?null:M.forcedStartTzo,forcedEndTzo:b.canComputeOffset?null:M.forcedEndTzo})});return{defs:z,instances:p}}function excludeEventsBySourceId(M,e){return filterEventStoreDefs(M,M=>M.sourceId!==e)}function excludeInstances(M,e){return{defs:M.defs,instances:filterHash(M.instances,M=>!e[M.instanceId])}}function buildPublicIdMaps(M){var e,b,{defs:z,instances:p}=M,t={},o={};for(e in z){var O=z[e][\\\"publicId\\\"];O&&(t[O]=e)}for(b in p){var c=z[p[b].defId][\\\"publicId\\\"];c&&(o[c]=b)}return{defIdMap:t,instanceIdMap:o}}function isInteractionValid(M,e,b){var z,p=M.mutatedEvents[\\\"instances\\\"];for(z in p)if(!rangeContainsRange(e.validRange,p[z].range))return!1;return isNewPropsValid({eventDrag:M},b)}function isDateSelectionValid(M,e,b){return!!rangeContainsRange(e.validRange,M.range)&&isNewPropsValid({dateSelection:M},b)}function isNewPropsValid(M,e){var b=e.getCurrentData(),b=Object.assign({businessHours:b.businessHours,dateSelection:\\\"\\\",eventStore:b.eventStore,eventUiBases:b.eventUiBases,eventSelection:\\\"\\\",eventDrag:null,eventResize:null},M);return(e.pluginHooks.isPropsValid||isPropsValid)(b,e)}function isPropsValid(M,e,b={},z){return!(M.eventDrag&&!isInteractionPropsValid(M,e,b,z)||M.dateSelection&&!isDateSelectionPropsValid(M,e,b,z))}function isInteractionPropsValid(M,e,b,z){var p=e.getCurrentData(),t=M.eventDrag,o=t.mutatedEvents,O=o.defs,c=o.instances;let n=compileEventUis(O,t.isEvent?M.eventUiBases:{\\\"\\\":p.selectionConfig});z&&(n=mapHash(n,z));var i,r=excludeInstances(M.eventStore,t.affectedEvents.instances),a=r.defs,A=r.instances,s=compileEventUis(a,M.eventUiBases);for(i in c){var d=c[i],q=d.range,l=n[d.defId],u=O[d.defId];if(!allConstraintsPass(l.constraints,q,r,M.businessHours,e))return!1;var W,f=e.options[\\\"eventOverlap\\\"],R=\\\"function\\\"==typeof f?f:null;for(W in A){var h=A[W];if(rangesIntersect(q,h.range)){if(!1===s[h.defId].overlap&&t.isEvent)return!1;if(!1===l.overlap)return!1;if(R&&!R(new EventImpl(e,a[h.defId],h),new EventImpl(e,u,d)))return!1}}var g,m=p.eventStore;for(g of l.allows){var L=Object.assign(Object.assign({},b),{range:d.range,allDay:u.allDay}),v=m.defs[u.defId],N=m.instances[i];let M;if(M=v?new EventImpl(e,v,N):new EventImpl(e,u),!g(buildDateSpanApiWithContext(L,e),M))return!1}}return!0}function isDateSelectionPropsValid(M,e,b,z){var p=M.eventStore,t=p.defs,o=p.instances,O=M.dateSelection,c=O.range;let n=e.getCurrentData()[\\\"selectionConfig\\\"];if(!allConstraintsPass((n=z?z(n):n).constraints,c,p,M.businessHours,e))return!1;var i,r,p=e.options[\\\"selectOverlap\\\"],a=\\\"function\\\"==typeof p?p:null;for(i in o){var A=o[i];if(rangesIntersect(c,A.range)){if(!1===n.overlap)return!1;if(a&&!a(new EventImpl(e,t[A.defId],A),null))return!1}}for(r of n.allows){var s=Object.assign(Object.assign({},b),O);if(!r(buildDateSpanApiWithContext(s,e),null))return!1}return!0}function allConstraintsPass(M,e,b,z,p){for(var t of M)if(!anyRangesContainRange(constraintToRanges(t,e,b,z,p),e))return!1;return!0}function constraintToRanges(e,M,b,z,p){return\\\"businessHours\\\"===e?eventStoreToRanges(expandRecurring(z,M,p)):\\\"string\\\"==typeof e?eventStoreToRanges(filterEventStoreDefs(b,M=>M.groupId===e)):\\\"object\\\"==typeof e&&e?eventStoreToRanges(expandRecurring(e,M,p)):[]}function eventStoreToRanges(M){var e,b=M[\\\"instances\\\"],z=[];for(e in b)z.push(b[e].range);return z}function anyRangesContainRange(M,e){for(var b of M)if(rangeContainsRange(b,e))return!0;return!1}var JsonRequestError=class extends Error{constructor(M,e){super(M),this.response=e}};function requestJson(M,e,b){var z={method:M=M.toUpperCase()};return\\\"GET\\\"===M?e+=(-1===e.indexOf(\\\"?\\\")?\\\"?\\\":\\\"&\\\")+new URLSearchParams(b):(z.body=new URLSearchParams(b),z.headers={\\\"Content-Type\\\":\\\"application/x-www-form-urlencoded\\\"}),fetch(e,z).then(e=>{if(e.ok)return e.json().then(M=>[M,e],()=>{throw new JsonRequestError(\\\"Failure parsing JSON\\\",e)});throw new JsonRequestError(\\\"Request failed\\\",e)})}var DelayedRunner=class{constructor(M){this.drainedOption=M,this.isRunning=!1,this.isDirty=!1,this.pauseDepths={},this.timeoutId=0}request(M){this.isDirty=!0,this.isPaused()||(this.clearTimeout(),null==M?this.tryDrain():this.timeoutId=setTimeout(this.tryDrain.bind(this),M))}pause(M=\\\"\\\"){var e=this[\\\"pauseDepths\\\"];e[M]=(e[M]||0)+1,this.clearTimeout()}resume(M=\\\"\\\",e){var b=this[\\\"pauseDepths\\\"];M in b&&((e||(--b[M],b[M]\u003C=0))&&delete b[M],this.tryDrain())}isPaused(){return Object.keys(this.pauseDepths).length}tryDrain(){if(!this.isRunning&&!this.isPaused()){for(this.isRunning=!0;this.isDirty;)this.isDirty=!1,this.drained();this.isRunning=!1}}clear(){this.clearTimeout(),this.isDirty=!1,this.pauseDepths={}}clearTimeout(){this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=0)}drained(){this.drainedOption&&this.drainedOption()}},VISIBLE_HIDDEN_RE=/^(visible|hidden)$/,Scroller=class extends BaseComponent{constructor(){super(...arguments),this.handleEl=M=>{this.el=M,setRef(this.props.elRef,M)}}render(){var M=this[\\\"props\\\"],{liquid:e,liquidIsAbsolute:b}=M,z=e&&b,p=[\\\"fc-scroller\\\"];return e&&p.push(b?\\\"fc-scroller-liquid-absolute\\\":\\\"fc-scroller-liquid\\\"),y(\\\"div\\\",{ref:this.handleEl,className:p.join(\\\" \\\"),style:{overflowX:M.overflowX,overflowY:M.overflowY,left:z&&-(M.overcomeLeft||0)||\\\"\\\",right:z&&-(M.overcomeRight||0)||\\\"\\\",bottom:z&&-(M.overcomeBottom||0)||\\\"\\\",marginLeft:!z&&-(M.overcomeLeft||0)||\\\"\\\",marginRight:!z&&-(M.overcomeRight||0)||\\\"\\\",marginBottom:!z&&-(M.overcomeBottom||0)||\\\"\\\",maxHeight:M.maxHeight||\\\"\\\"}},M.children)}needsXScrolling(){if(!VISIBLE_HIDDEN_RE.test(this.props.overflowX)){var e=this[\\\"el\\\"],b=this.el.getBoundingClientRect().width-this.getYScrollbarWidth(),z=e[\\\"children\\\"];for(let M=0;M\u003Cz.length;M+=1)if(z[M].getBoundingClientRect().width>b)return!0}return!1}needsYScrolling(){if(!VISIBLE_HIDDEN_RE.test(this.props.overflowY)){var e=this[\\\"el\\\"],b=this.el.getBoundingClientRect().height-this.getXScrollbarWidth(),z=e[\\\"children\\\"];for(let M=0;M\u003Cz.length;M+=1)if(z[M].getBoundingClientRect().height>b)return!0}return!1}getXScrollbarWidth(){return VISIBLE_HIDDEN_RE.test(this.props.overflowX)?0:this.el.offsetHeight-this.el.clientHeight}getYScrollbarWidth(){return VISIBLE_HIDDEN_RE.test(this.props.overflowY)?0:this.el.offsetWidth-this.el.clientWidth}},RefMap=class{constructor(M){this.masterCallback=M,this.currentMap={},this.depths={},this.callbackMap={},this.handleValue=(M,e)=>{var{depths:b,currentMap:z}=this;let p=!1,t=!1;null!==M?(p=e in z,z[e]=M,b[e]=(b[e]||0)+1,t=!0):(--b[e],b[e]||(delete z[e],delete this.callbackMap[e],p=!0)),this.masterCallback&&(p&&this.masterCallback(null,String(e)),t)&&this.masterCallback(M,String(e))}}createRef(e){let M=this.callbackMap[e];return M=M||(this.callbackMap[e]=M=>{this.handleValue(M,String(e))})}collect(M,e,b){return collectFromHash(this.currentMap,M,e,b)}getAll(){return hashValuesToArray(this.currentMap)}};function computeShrinkWidth(M){var e;let b=0;for(e of findElements(M,\\\".fc-scrollgrid-shrink\\\"))b=Math.max(b,computeSmallestCellWidth(e));return Math.ceil(b)}function getSectionHasLiquidHeight(M,e){return M.liquid&&e.liquid}function getAllowYScrolling(M,e){return null!=e.maxHeight||getSectionHasLiquidHeight(M,e)}function renderChunkContent(M,e,b,z){var p=b[\\\"expandRows\\\"];return\\\"function\\\"==typeof e.content?e.content(b):y(\\\"table\\\",{role:\\\"presentation\\\",className:[e.tableClassName,M.syncRowHeights?\\\"fc-scrollgrid-sync-table\\\":\\\"\\\"].join(\\\" \\\"),style:{minWidth:b.tableMinWidth,width:b.clientWidth,height:p?b.clientHeight:\\\"\\\"}},b.tableColGroupNode,y(z?\\\"thead\\\":\\\"tbody\\\",{role:\\\"presentation\\\"},\\\"function\\\"==typeof e.rowContent?e.rowContent(b):e.rowContent))}function isColPropsEqual(M,e){return isArraysEqual(M,e,isPropsEqual)}function renderMicroColGroup(M,e){var b,z=[];for(b of M){var p=b.span||1;for(let M=0;M\u003Cp;M+=1)z.push(y(\\\"col\\\",{style:{width:\\\"shrink\\\"===b.width?sanitizeShrinkWidth(e):b.width||\\\"\\\",minWidth:b.minWidth||\\\"\\\"}}))}return y(\\\"colgroup\\\",{},...z)}function sanitizeShrinkWidth(M){return null==M?4:M}function hasShrinkWidth(M){for(var e of M)if(\\\"shrink\\\"===e.width)return!0;return!1}function getScrollGridClassNames(M,e){var b=[\\\"fc-scrollgrid\\\",e.theme.getClass(\\\"table\\\")];return M&&b.push(\\\"fc-scrollgrid-liquid\\\"),b}function getSectionClassNames(M,e){var b=[\\\"fc-scrollgrid-section\\\",\\\"fc-scrollgrid-section-\\\"+M.type,M.className];return e&&M.liquid&&null==M.maxHeight&&b.push(\\\"fc-scrollgrid-section-liquid\\\"),M.isSticky&&b.push(\\\"fc-scrollgrid-section-sticky\\\"),b}function renderScrollShim(M){return y(\\\"div\\\",{className:\\\"fc-scrollgrid-sticky-shim\\\",style:{width:M.clientWidth,minWidth:M.tableMinWidth}})}function getStickyHeaderDates(M){let e=M[\\\"stickyHeaderDates\\\"];return e=null!=e&&\\\"auto\\\"!==e?e:\\\"auto\\\"===M.height||\\\"auto\\\"===M.viewHeight}function getStickyFooterScrollbar(M){let e=M[\\\"stickyFooterScrollbar\\\"];return e=null!=e&&\\\"auto\\\"!==e?e:\\\"auto\\\"===M.height||\\\"auto\\\"===M.viewHeight}var SimpleScrollGrid=class extends BaseComponent{constructor(){super(...arguments),this.processCols=memoize(M=>M,isColPropsEqual),this.renderMicroColGroup=memoize(renderMicroColGroup),this.scrollerRefs=new RefMap,this.scrollerElRefs=new RefMap(this._handleScrollerEl.bind(this)),this.state={shrinkWidth:null,forceYScrollbars:!1,scrollerClientWidths:{},scrollerClientHeights:{}},this.handleSizing=()=>{this.safeSetState(Object.assign({shrinkWidth:this.computeShrinkWidth()},this.computeScrollerDims()))}}render(){var{props:M,state:e,context:b}=this,z=M.sections||[],p=this.processCols(M.cols),t=this.renderMicroColGroup(p,e.shrinkWidth),p=getScrollGridClassNames(M.liquid,b),o=(M.collapsibleWidth&&p.push(\\\"fc-scrollgrid-collapsible\\\"),z.length);let O=0,c;for(var n=[],i=[],r=[];O\u003Co&&\\\"header\\\"===(c=z[O]).type;)n.push(this.renderSection(c,t,!0)),O+=1;for(;O\u003Co&&\\\"body\\\"===(c=z[O]).type;)i.push(this.renderSection(c,t,!1)),O+=1;for(;O\u003Co&&\\\"footer\\\"===(c=z[O]).type;)r.push(this.renderSection(c,t,!0)),O+=1;e=!getCanVGrowWithinCell(),b={role:\\\"rowgroup\\\"};return y(\\\"table\\\",{role:\\\"grid\\\",className:p.join(\\\" \\\"),style:{height:M.height}},Boolean(!e&&n.length)&&y(\\\"thead\\\",b,...n),Boolean(!e&&i.length)&&y(\\\"tbody\\\",b,...i),Boolean(!e&&r.length)&&y(\\\"tfoot\\\",b,...r),e&&y(\\\"tbody\\\",b,...n,...i,...r))}renderSection(M,e,b){return\\\"outerContent\\\"in M?y(_,{key:M.key},M.outerContent):y(\\\"tr\\\",{key:M.key,role:\\\"presentation\\\",className:getSectionClassNames(M,this.props.liquid).join(\\\" \\\")},this.renderChunkTd(M,e,M.chunk,b))}renderChunkTd(M,e,b,z){var p,t,o,O,c,n;return\\\"outerContent\\\"in b?b.outerContent:(p=this[\\\"props\\\"],({forceYScrollbars:O,scrollerClientWidths:n,scrollerClientHeights:t}=this.state),c=getAllowYScrolling(p,M),o=getSectionHasLiquidHeight(p,M),O=p.liquid?O?\\\"scroll\\\":c?\\\"auto\\\":\\\"hidden\\\":\\\"visible\\\",c=M.key,n=renderChunkContent(M,b,{tableColGroupNode:e,tableMinWidth:\\\"\\\",clientWidth:p.collapsibleWidth||void 0===n[c]?null:n[c],clientHeight:void 0!==t[c]?t[c]:null,expandRows:M.expandRows,syncRowHeights:!1,rowSyncHeights:[],reportRowHeightChange:()=>{}},z),y(z?\\\"th\\\":\\\"td\\\",{ref:b.elRef,role:\\\"presentation\\\"},y(\\\"div\\\",{className:\\\"fc-scroller-harness\\\"+(o?\\\" fc-scroller-harness-liquid\\\":\\\"\\\")},y(Scroller,{ref:this.scrollerRefs.createRef(c),elRef:this.scrollerElRefs.createRef(c),overflowY:O,overflowX:p.liquid?\\\"hidden\\\":\\\"visible\\\",maxHeight:M.maxHeight,liquid:o,liquidIsAbsolute:!0},n))))}_handleScrollerEl(M,e){var b=getSectionByKey(this.props.sections,e);b&&setRef(b.chunk.scrollerElRef,M)}componentDidMount(){this.handleSizing(),this.context.addResizeHandler(this.handleSizing)}componentDidUpdate(){this.handleSizing()}componentWillUnmount(){this.context.removeResizeHandler(this.handleSizing)}computeShrinkWidth(){return hasShrinkWidth(this.props.cols)?computeShrinkWidth(this.scrollerElRefs.getAll()):0}computeScrollerDims(){var M=getScrollbarWidths(),{scrollerRefs:e,scrollerElRefs:b}=this;let z=!1;var p,t,o={},O={};for(p in e.currentMap){var c=e.currentMap[p];if(c&&c.needsYScrolling()){z=!0;break}}for(t of this.props.sections){var n=t.key,i=b.currentMap[n];i&&(i=i.parentNode,o[n]=Math.floor(i.getBoundingClientRect().width-(z?M.y:0)),O[n]=Math.floor(i.getBoundingClientRect().height))}return{forceYScrollbars:z,scrollerClientWidths:o,scrollerClientHeights:O}}};function getSectionByKey(M,e){for(var b of M)if(b.key===e)return b;return null}SimpleScrollGrid.addStateEquality({scrollerClientWidths:isPropsEqual,scrollerClientHeights:isPropsEqual});var EventContainer=class extends BaseComponent{constructor(){super(...arguments),this.handleEl=M=>{(this.el=M)&&setElSeg(M,this.props.seg)}}render(){var{props:M,context:e}=this,b=e[\\\"options\\\"],z=M[\\\"seg\\\"],p=z[\\\"eventRange\\\"],t=p[\\\"ui\\\"],p={event:new EventImpl(e,p.def,p.instance),view:e.viewApi,timeText:M.timeText,textColor:t.textColor,backgroundColor:t.backgroundColor,borderColor:t.borderColor,isDraggable:!M.disableDragging&&computeSegDraggable(z,e),isStartResizable:!M.disableResizing&&computeSegStartResizable(z,e),isEndResizable:!M.disableResizing&&computeSegEndResizable(z),isMirror:Boolean(M.isDragging||M.isResizing||M.isDateSelecting),isStart:Boolean(z.isStart),isEnd:Boolean(z.isEnd),isPast:Boolean(M.isPast),isFuture:Boolean(M.isFuture),isToday:Boolean(M.isToday),isSelected:Boolean(M.isSelected),isDragging:Boolean(M.isDragging),isResizing:Boolean(M.isResizing)};return y(ContentContainer,Object.assign({},M,{elRef:this.handleEl,elClasses:[...getEventClassNames(p),...z.eventRange.ui.classNames,...M.elClasses||[]],renderProps:p,generatorName:\\\"eventContent\\\",customGenerator:b.eventContent,defaultGenerator:M.defaultGenerator,classNameGenerator:b.eventClassNames,didMount:b.eventDidMount,willUnmount:b.eventWillUnmount}))}componentDidUpdate(M){this.el&&this.props.seg!==M.seg&&setElSeg(this.el,this.props.seg)}},StandardEvent=class extends BaseComponent{render(){var{props:M,context:e}=this,b=e[\\\"options\\\"],z=M[\\\"seg\\\"],p=z.eventRange[\\\"ui\\\"],b=buildSegTimeText(z,b.eventTimeFormat||M.defaultTimeFormat,e,M.defaultDisplayEventTime,M.defaultDisplayEventEnd);return y(EventContainer,Object.assign({},M,{elTag:\\\"a\\\",elStyle:{borderColor:p.borderColor,backgroundColor:p.backgroundColor},elAttrs:getSegAnchorAttrs(z,e),defaultGenerator:renderInnerContent$1,timeText:b}),(M,e)=>y(_,null,y(M,{elTag:\\\"div\\\",elClasses:[\\\"fc-event-main\\\"],elStyle:{color:e.textColor}}),Boolean(e.isStartResizable)&&y(\\\"div\\\",{className:\\\"fc-event-resizer fc-event-resizer-start\\\"}),Boolean(e.isEndResizable)&&y(\\\"div\\\",{className:\\\"fc-event-resizer fc-event-resizer-end\\\"})))}};function renderInnerContent$1(M){return y(\\\"div\\\",{className:\\\"fc-event-main-frame\\\"},M.timeText&&y(\\\"div\\\",{className:\\\"fc-event-time\\\"},M.timeText),y(\\\"div\\\",{className:\\\"fc-event-title-container\\\"},y(\\\"div\\\",{className:\\\"fc-event-title fc-sticky\\\"},M.event.title||y(_,null,\\\" \\\"))))}var NowIndicatorContainer=z=>y(ViewContextType.Consumer,null,M=>{var e=M[\\\"options\\\"],b={isAxis:z.isAxis,date:M.dateEnv.toDate(z.date),view:M.viewApi};return y(ContentContainer,Object.assign({},z,{elTag:z.elTag||\\\"div\\\",renderProps:b,generatorName:\\\"nowIndicatorContent\\\",customGenerator:e.nowIndicatorContent,classNameGenerator:e.nowIndicatorClassNames,didMount:e.nowIndicatorDidMount,willUnmount:e.nowIndicatorWillUnmount}))}),DAY_NUM_FORMAT=createFormatter({day:\\\"numeric\\\"}),DayCellContainer=class extends BaseComponent{constructor(){super(...arguments),this.refineRenderProps=memoizeObjArg(refineRenderProps)}render(){var{props:M,context:e}=this,b=e[\\\"options\\\"],z=this.refineRenderProps({date:M.date,dateProfile:M.dateProfile,todayRange:M.todayRange,isMonthStart:M.isMonthStart||!1,showDayNumber:M.showDayNumber,extraRenderProps:M.extraRenderProps,viewApi:e.viewApi,dateEnv:e.dateEnv,monthStartFormat:b.monthStartFormat});return y(ContentContainer,Object.assign({},M,{elClasses:[...getDayClassNames(z,e.theme),...M.elClasses||[]],elAttrs:Object.assign(Object.assign({},M.elAttrs),z.isDisabled?{}:{\\\"data-date\\\":formatDayString(M.date)}),renderProps:z,generatorName:\\\"dayCellContent\\\",customGenerator:b.dayCellContent,defaultGenerator:M.defaultGenerator,classNameGenerator:z.isDisabled?void 0:b.dayCellClassNames,didMount:b.dayCellDidMount,willUnmount:b.dayCellWillUnmount}))}};function hasCustomDayCellContent(M){return Boolean(M.dayCellContent||hasCustomRenderingHandler(\\\"dayCellContent\\\",M))}function refineRenderProps(M){var{date:e,dateEnv:b,dateProfile:z,isMonthStart:p}=M,z=getDateMeta(e,M.todayRange,null,z),t=M.showDayNumber?b.format(e,p?M.monthStartFormat:DAY_NUM_FORMAT):\\\"\\\";return Object.assign(Object.assign(Object.assign({date:b.toDate(e),view:M.viewApi},z),{isMonthStart:p,dayNumberText:t}),M.extraRenderProps)}var BgEvent=class extends BaseComponent{render(){var M=this[\\\"props\\\"],e=M[\\\"seg\\\"];return y(EventContainer,{elTag:\\\"div\\\",elClasses:[\\\"fc-bg-event\\\"],elStyle:{backgroundColor:e.eventRange.ui.backgroundColor},defaultGenerator:renderInnerContent,seg:e,timeText:\\\"\\\",isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,isPast:M.isPast,isFuture:M.isFuture,isToday:M.isToday,disableDragging:!0,disableResizing:!0})}};function renderInnerContent(M){var e=M.event[\\\"title\\\"];return e&&y(\\\"div\\\",{className:\\\"fc-event-title\\\"},M.event.title)}function renderFill(M){return y(\\\"div\\\",{className:\\\"fc-\\\"+M})}var WeekNumberContainer=o=>y(ViewContextType.Consumer,null,M=>{var{dateEnv:e,options:b}=M,z=o[\\\"date\\\"],p=b.weekNumberFormat||o.defaultFormat,t=e.computeWeekNumber(z),p=e.format(z,p);return y(ContentContainer,Object.assign({},o,{renderProps:{num:t,text:p,date:z},generatorName:\\\"weekNumberContent\\\",customGenerator:b.weekNumberContent,defaultGenerator:renderInner,classNameGenerator:b.weekNumberClassNames,didMount:b.weekNumberDidMount,willUnmount:b.weekNumberWillUnmount}))});function renderInner(M){return M.text}var PADDING_FROM_VIEWPORT=10,Popover=class extends BaseComponent{constructor(){super(...arguments),this.state={titleId:getUniqueDomId()},this.handleRootEl=M=>{this.rootEl=M,this.props.elRef&&setRef(this.props.elRef,M)},this.handleDocumentMouseDown=M=>{var e=getEventTargetViaRoot(M);this.rootEl.contains(e)||this.handleCloseClick()},this.handleDocumentKeyDown=M=>{\\\"Escape\\\"===M.key&&this.handleCloseClick()},this.handleCloseClick=()=>{var M=this.props[\\\"onClose\\\"];M&&M()}}render(){var{theme:M,options:e}=this.context,{props:b,state:z}=this,p=[\\\"fc-popover\\\",M.getClass(\\\"popover\\\")].concat(b.extraClassNames||[]);return j3(y(\\\"div\\\",Object.assign({},b.extraAttrs,{id:b.id,className:p.join(\\\" \\\"),\\\"aria-labelledby\\\":z.titleId,ref:this.handleRootEl}),y(\\\"div\\\",{className:\\\"fc-popover-header \\\"+M.getClass(\\\"popoverHeader\\\")},y(\\\"span\\\",{className:\\\"fc-popover-title\\\",id:z.titleId},b.title),y(\\\"span\\\",{className:\\\"fc-popover-close \\\"+M.getIconClass(\\\"close\\\"),title:e.closeHint,onClick:this.handleCloseClick})),y(\\\"div\\\",{className:\\\"fc-popover-body \\\"+M.getClass(\\\"popoverContent\\\")},b.children)),b.parentEl)}componentDidMount(){document.addEventListener(\\\"mousedown\\\",this.handleDocumentMouseDown),document.addEventListener(\\\"keydown\\\",this.handleDocumentKeyDown),this.updateSize()}componentWillUnmount(){document.removeEventListener(\\\"mousedown\\\",this.handleDocumentMouseDown),document.removeEventListener(\\\"keydown\\\",this.handleDocumentKeyDown)}updateSize(){var M,e=this.context[\\\"isRtl\\\"],{alignmentEl:b,alignGridTop:z}=this.props,p=this[\\\"rootEl\\\"],t=computeClippedClientRect(b);t&&(M=p.getBoundingClientRect(),z=(z?elementClosest(b,\\\".fc-scrollgrid\\\").getBoundingClientRect():t).top,b=e?t.right-M.width:t.left,z=Math.max(z,PADDING_FROM_VIEWPORT),b=Math.min(b,document.documentElement.clientWidth-PADDING_FROM_VIEWPORT-M.width),b=Math.max(b,PADDING_FROM_VIEWPORT),e=p.offsetParent.getBoundingClientRect(),applyStyle(p,{top:z-e.top,left:b-e.left}))}},MorePopover=class extends DateComponent{constructor(){super(...arguments),this.handleRootEl=M=>{(this.rootEl=M)?this.context.registerInteractiveComponent(this,{el:M,useEventCenter:!1}):this.context.unregisterInteractiveComponent(this)}}render(){let{options:z,dateEnv:M}=this.context,p=this[\\\"props\\\"];var{startDate:e,todayRange:b,dateProfile:t}=p;let o=M.format(e,z.dayPopoverFormat);return y(DayCellContainer,{elRef:this.handleRootEl,date:e,dateProfile:t,todayRange:b},(M,e,b)=>y(Popover,{elRef:b.ref,id:p.id,title:o,extraClassNames:[\\\"fc-more-popover\\\"].concat(b.className||[]),extraAttrs:b,parentEl:p.parentEl,alignmentEl:p.alignmentEl,alignGridTop:p.alignGridTop,onClose:p.onClose},hasCustomDayCellContent(z)&&y(M,{elTag:\\\"div\\\",elClasses:[\\\"fc-more-popover-misc\\\"]}),p.children))}queryHit(M,e,b,z){var{rootEl:p,props:t}=this;return 0\u003C=M&&M\u003Cb&&0\u003C=e&&e\u003Cz?{dateProfile:t.dateProfile,dateSpan:Object.assign({allDay:!t.forceTimed,range:{start:t.startDate,end:t.endDate}},t.extraDateSpan),dayEl:p,rect:{left:0,top:0,right:b,bottom:z},layer:1}:null}},MoreLinkContainer=class extends BaseComponent{constructor(){super(...arguments),this.state={isPopoverOpen:!1,popoverId:getUniqueDomId()},this.handleLinkEl=M=>{this.linkEl=M,this.props.elRef&&setRef(this.props.elRef,M)},this.handleClick=M=>{let{props:e,context:p}=this,b=p.options[\\\"moreLinkClick\\\"];var z=computeRange(e).start;function t(M){var{def:e,instance:b,range:z}=M.eventRange;return{event:new EventImpl(p,e,b),start:p.dateEnv.toDate(z.start),end:p.dateEnv.toDate(z.end),isStart:M.isStart,isEnd:M.isEnd}}(b=\\\"function\\\"==typeof b?b({date:z,allDay:Boolean(e.allDayDate),allSegs:e.allSegs.map(t),hiddenSegs:e.hiddenSegs.map(t),jsEvent:M,view:p.viewApi}):b)&&\\\"popover\\\"!==b?\\\"string\\\"==typeof b&&p.calendarApi.zoomTo(z,b):this.setState({isPopoverOpen:!0})},this.handlePopoverClose=()=>{this.setState({isPopoverOpen:!1})}}render(){let{props:O,state:c}=this;return y(ViewContextType.Consumer,null,M=>{var{viewApi:e,options:b,calendarApi:z}=M,p=b[\\\"moreLinkText\\\"],t=O[\\\"moreCnt\\\"],o=computeRange(O),z=\\\"function\\\"==typeof p?p.call(z,t):`+${t} `+p,p=formatWithOrdinals(b.moreLinkHint,[t],z),t={num:t,shortText:\\\"+\\\"+t,text:z,view:e};return y(_,null,Boolean(O.moreCnt)&&y(ContentContainer,{elTag:O.elTag||\\\"a\\\",elRef:this.handleLinkEl,elClasses:[...O.elClasses||[],\\\"fc-more-link\\\"],elStyle:O.elStyle,elAttrs:Object.assign(Object.assign(Object.assign({},O.elAttrs),createAriaClickAttrs(this.handleClick)),{title:p,\\\"aria-expanded\\\":c.isPopoverOpen,\\\"aria-controls\\\":c.isPopoverOpen?c.popoverId:\\\"\\\"}),renderProps:t,generatorName:\\\"moreLinkContent\\\",customGenerator:b.moreLinkContent,defaultGenerator:O.defaultGenerator||renderMoreLinkInner,classNameGenerator:b.moreLinkClassNames,didMount:b.moreLinkDidMount,willUnmount:b.moreLinkWillUnmount},O.children),c.isPopoverOpen&&y(MorePopover,{id:c.popoverId,startDate:o.start,endDate:o.end,dateProfile:O.dateProfile,todayRange:O.todayRange,extraDateSpan:O.extraDateSpan,parentEl:this.parentEl,alignmentEl:O.alignmentElRef?O.alignmentElRef.current:this.linkEl,alignGridTop:O.alignGridTop,forceTimed:O.forceTimed,onClose:this.handlePopoverClose},O.popoverContent()))})}componentDidMount(){this.updateParentEl()}componentDidUpdate(){this.updateParentEl()}updateParentEl(){this.linkEl&&(this.parentEl=elementClosest(this.linkEl,\\\".fc-view-harness\\\"))}};function renderMoreLinkInner(M){return M.text}function computeRange(M){var e;return M.allDayDate?{start:M.allDayDate,end:addDays(M.allDayDate,1)}:(e=M[\\\"hiddenSegs\\\"],{start:computeEarliestSegStart(e),end:computeLatestSegEnd(e)})}function computeEarliestSegStart(M){return M.reduce(pickEarliestStart).eventRange.range.start}function pickEarliestStart(M,e){return M.eventRange.range.start\u003Ce.eventRange.range.start?M:e}function computeLatestSegEnd(M){return M.reduce(pickLatestEnd).eventRange.range.end}function pickLatestEnd(M,e){return M.eventRange.range.end>e.eventRange.range.end?M:e}var ViewContainer=class extends BaseComponent{render(){let{props:M,context:e}=this;var b=e[\\\"options\\\"],z={view:e.viewApi};return y(ContentContainer,Object.assign({},M,{elTag:M.elTag||\\\"div\\\",elClasses:[...buildViewClassNames(M.viewSpec),...M.elClasses||[]],renderProps:z,classNameGenerator:b.viewClassNames,generatorName:void 0,didMount:b.viewDidMount,willUnmount:b.viewWillUnmount}),()=>M.children)}};function buildViewClassNames(M){return[`fc-${M.type}-view`,\\\"fc-view\\\"]}var EVENT_SOURCE_REFINERS={id:String,defaultAllDay:Boolean,url:String,format:String,events:identity,eventDataTransform:identity,success:identity,failure:identity};function parseEventSource(M,e,b=buildEventSourceRefiners(e)){let z;if(\\\"string\\\"==typeof M?z={url:M}:\\\"function\\\"==typeof M||Array.isArray(M)?z={events:M}:\\\"object\\\"==typeof M&&M&&(z=M),z){var{refined:p,extra:t}=refineProps(z,b),o=buildEventSourceMeta(p,e);if(o)return{_raw:M,isFetching:!1,latestFetchId:\\\"\\\",fetchRange:null,defaultAllDay:p.defaultAllDay,eventDataTransform:p.eventDataTransform,success:p.success,failure:p.failure,publicId:p.id||\\\"\\\",sourceId:guid(),sourceDefId:o.sourceDefId,meta:o.meta,ui:createEventUi(p,e),extendedProps:t}}return null}function buildEventSourceRefiners(M){return Object.assign(Object.assign(Object.assign({},EVENT_UI_REFINERS),EVENT_SOURCE_REFINERS),M.pluginHooks.eventSourceRefiners)}function buildEventSourceMeta(M,e){var b=e.pluginHooks.eventSourceDefs;for(let p=b.length-1;0\u003C=p;--p){var z=b[p].parseMeta(M);if(z)return{sourceDefId:p,meta:z}}return null}var CalendarImpl=class{getCurrentData(){return this.currentDataManager.getCurrentData()}dispatch(M){this.currentDataManager.dispatch(M)}get view(){return this.getCurrentData().viewApi}batchRendering(M){M()}updateSize(){this.trigger(\\\"_resize\\\",!0)}setOption(M,e){this.dispatch({type:\\\"SET_OPTION\\\",optionName:M,rawOptionValue:e})}getOption(M){return this.currentDataManager.currentCalendarOptionsInput[M]}getAvailableLocaleCodes(){return Object.keys(this.getCurrentData().availableRawLocales)}on(M,e){var b=this[\\\"currentDataManager\\\"];b.currentCalendarOptionsRefiners[M]?b.emitter.on(M,e):console.warn(`Unknown listener name '${M}'`)}off(M,e){this.currentDataManager.emitter.off(M,e)}trigger(M,...e){this.currentDataManager.emitter.trigger(M,...e)}changeView(e,b){this.batchRendering(()=>{var M;this.unselect(),b?b.start&&b.end?(this.dispatch({type:\\\"CHANGE_VIEW_TYPE\\\",viewType:e}),this.dispatch({type:\\\"SET_OPTION\\\",optionName:\\\"visibleRange\\\",rawOptionValue:b})):(M=this.getCurrentData()[\\\"dateEnv\\\"],this.dispatch({type:\\\"CHANGE_VIEW_TYPE\\\",viewType:e,dateMarker:M.createMarker(b)})):this.dispatch({type:\\\"CHANGE_VIEW_TYPE\\\",viewType:e})})}zoomTo(M,e){var b=this.getCurrentData().viewSpecs[e=e||\\\"day\\\"]||this.getUnitViewSpec(e);this.unselect(),b?this.dispatch({type:\\\"CHANGE_VIEW_TYPE\\\",viewType:b.type,dateMarker:M}):this.dispatch({type:\\\"CHANGE_DATE\\\",dateMarker:M})}getUnitViewSpec(M){var e,b,{viewSpecs:z,toolbarConfig:p}=this.getCurrentData(),t=[].concat(p.header?p.header.viewsWithButtons:[],p.footer?p.footer.viewsWithButtons:[]);let o;for(b in z)t.push(b);for(o=0;o\u003Ct.length;o+=1)if((e=z[t[o]])&&e.singleUnit===M)return e;return null}prev(){this.unselect(),this.dispatch({type:\\\"PREV\\\"})}next(){this.unselect(),this.dispatch({type:\\\"NEXT\\\"})}prevYear(){var M=this.getCurrentData();this.unselect(),this.dispatch({type:\\\"CHANGE_DATE\\\",dateMarker:M.dateEnv.addYears(M.currentDate,-1)})}nextYear(){var M=this.getCurrentData();this.unselect(),this.dispatch({type:\\\"CHANGE_DATE\\\",dateMarker:M.dateEnv.addYears(M.currentDate,1)})}today(){var M=this.getCurrentData();this.unselect(),this.dispatch({type:\\\"CHANGE_DATE\\\",dateMarker:getNow(M.calendarOptions.now,M.dateEnv)})}gotoDate(M){var e=this.getCurrentData();this.unselect(),this.dispatch({type:\\\"CHANGE_DATE\\\",dateMarker:e.dateEnv.createMarker(M)})}incrementDate(M){var e=this.getCurrentData(),b=createDuration(M);b&&(this.unselect(),this.dispatch({type:\\\"CHANGE_DATE\\\",dateMarker:e.dateEnv.add(e.currentDate,b)}))}getDate(){var M=this.getCurrentData();return M.dateEnv.toDate(M.currentDate)}formatDate(M,e){var b=this.getCurrentData()[\\\"dateEnv\\\"];return b.format(b.createMarker(M),createFormatter(e))}formatRange(M,e,b){var z=this.getCurrentData()[\\\"dateEnv\\\"];return z.formatRange(z.createMarker(M),z.createMarker(e),createFormatter(b),b)}formatIso(M,e){var b=this.getCurrentData()[\\\"dateEnv\\\"];return b.formatIso(b.createMarker(M),{omitTime:e})}select(M,e){let b;b=null==e?null!=M.start?M:{start:M,end:null}:{start:M,end:e};var z=this.getCurrentData(),p=parseDateSpan(b,z.dateEnv,createDuration({days:1}));p&&(this.dispatch({type:\\\"SELECT_DATES\\\",selection:p}),triggerDateSelect(p,null,z))}unselect(M){var e=this.getCurrentData();e.dateSelection&&(this.dispatch({type:\\\"UNSELECT_DATES\\\"}),triggerDateUnselect(M,e))}addEvent(M,e){if(M instanceof EventImpl)return b=M._def,p=M._instance,this.getCurrentData().eventStore.defs[b.defId]||(this.dispatch({type:\\\"ADD_EVENTS\\\",eventStore:eventTupleToStore({def:b,instance:p})}),this.triggerEventAdd(M)),M;var b=this.getCurrentData();let z;if(e instanceof EventSourceImpl)z=e.internalEventSource;else if(\\\"boolean\\\"==typeof e)e&&([z]=hashValuesToArray(b.eventSources));else if(null!=e){var p=this.getEventSourceById(e);if(!p)return console.warn(`Could not find an event source with ID \\\"${e}\\\"`),null;z=p.internalEventSource}p=parseEvent(M,z,b,!1);return p?(b=new EventImpl(b,p.def,p.def.recurringDef?null:p.instance),this.dispatch({type:\\\"ADD_EVENTS\\\",eventStore:eventTupleToStore(p)}),this.triggerEventAdd(b),b):null}triggerEventAdd(M){var e=this.getCurrentData()[\\\"emitter\\\"];e.trigger(\\\"eventAdd\\\",{event:M,relatedEvents:[],revert:()=>{this.dispatch({type:\\\"REMOVE_EVENTS\\\",eventStore:eventApiToStore(M)})}})}getEventById(M){var e,b=this.getCurrentData(),{defs:z,instances:p}=b.eventStore;for(e in M=String(M),z){var t=z[e];if(t.publicId===M){if(t.recurringDef)return new EventImpl(b,t,null);for(var o in p){o=p[o];if(o.defId===t.defId)return new EventImpl(b,t,o)}}}return null}getEvents(){var M=this.getCurrentData();return buildEventApis(M.eventStore,M)}removeAllEvents(){this.dispatch({type:\\\"REMOVE_ALL_EVENTS\\\"})}getEventSources(){var M,e=this.getCurrentData(),b=e.eventSources,z=[];for(M in b)z.push(new EventSourceImpl(e,b[M]));return z}getEventSourceById(M){var e,b=this.getCurrentData(),z=b.eventSources;for(e in M=String(M),z)if(z[e].publicId===M)return new EventSourceImpl(b,z[e]);return null}addEventSource(M){var e,b=this.getCurrentData();return M instanceof EventSourceImpl?(b.eventSources[M.internalEventSource.sourceId]||this.dispatch({type:\\\"ADD_EVENT_SOURCES\\\",sources:[M.internalEventSource]}),M):(e=parseEventSource(M,b))?(this.dispatch({type:\\\"ADD_EVENT_SOURCES\\\",sources:[e]}),new EventSourceImpl(b,e)):null}removeAllEventSources(){this.dispatch({type:\\\"REMOVE_ALL_EVENT_SOURCES\\\"})}refetchEvents(){this.dispatch({type:\\\"FETCH_EVENT_SOURCES\\\",isRefetch:!0})}scrollToTime(M){var e=createDuration(M);e&&this.trigger(\\\"_scrollRequest\\\",{time:e})}},globalLocales=[],MINIMAL_RAW_EN_LOCALE={code:\\\"en\\\",week:{dow:0,doy:4},direction:\\\"ltr\\\",buttonText:{prev:\\\"prev\\\",next:\\\"next\\\",prevYear:\\\"prev year\\\",nextYear:\\\"next year\\\",year:\\\"year\\\",today:\\\"today\\\",month:\\\"month\\\",week:\\\"week\\\",day:\\\"day\\\",list:\\\"list\\\"},weekText:\\\"W\\\",weekTextLong:\\\"Week\\\",closeHint:\\\"Close\\\",timeHint:\\\"Time\\\",eventHint:\\\"Event\\\",allDayText:\\\"all-day\\\",moreLinkText:\\\"more\\\",noEventsText:\\\"No events to display\\\"},RAW_EN_LOCALE=Object.assign(Object.assign({},MINIMAL_RAW_EN_LOCALE),{buttonHints:{prev:\\\"Previous $0\\\",next:\\\"Next $0\\\",today(M,e){return\\\"day\\\"===e?\\\"Today\\\":\\\"This \\\"+M}},viewHint:\\\"$0 view\\\",navLinkHint:\\\"Go to $0\\\",moreLinkHint(M){return`Show ${M} more event`+(1===M?\\\"\\\":\\\"s\\\")}});function organizeRawLocales(M){var e,b=0\u003CM.length?M[0].code:\\\"en\\\",z=globalLocales.concat(M),p={en:RAW_EN_LOCALE};for(e of z)p[e.code]=e;return{map:p,defaultCode:b}}function buildLocale(M,e){return\\\"object\\\"!=typeof M||Array.isArray(M)?queryLocale(M,e):parseLocale(M.code,[M.code],M)}function queryLocale(M,e){var b=[].concat(M||[]);return parseLocale(M,b,queryRawLocale(b,e)||RAW_EN_LOCALE)}function queryRawLocale(e,b){for(let t=0;t\u003Ce.length;t+=1){var z=e[t].toLocaleLowerCase().split(\\\"-\\\");for(let M=z.length;0\u003CM;--M){var p=z.slice(0,M).join(\\\"-\\\");if(b[p])return b[p]}}return null}function parseLocale(M,e,b){var z=mergeProps([MINIMAL_RAW_EN_LOCALE,b],[\\\"buttonText\\\"]),p=(delete z.code,z)[\\\"week\\\"];return delete z.week,{codeArg:M,codes:e,week:p,simpleNumberFormat:new Intl.NumberFormat(M),options:z}}function createPlugin(M){return{id:guid(),name:M.name,premiumReleaseDate:M.premiumReleaseDate?new Date(M.premiumReleaseDate):void 0,deps:M.deps||[],reducers:M.reducers||[],isLoadingFuncs:M.isLoadingFuncs||[],contextInit:[].concat(M.contextInit||[]),eventRefiners:M.eventRefiners||{},eventDefMemberAdders:M.eventDefMemberAdders||[],eventSourceRefiners:M.eventSourceRefiners||{},isDraggableTransformers:M.isDraggableTransformers||[],eventDragMutationMassagers:M.eventDragMutationMassagers||[],eventDefMutationAppliers:M.eventDefMutationAppliers||[],dateSelectionTransformers:M.dateSelectionTransformers||[],datePointTransforms:M.datePointTransforms||[],dateSpanTransforms:M.dateSpanTransforms||[],views:M.views||{},viewPropsTransformers:M.viewPropsTransformers||[],isPropsValid:M.isPropsValid||null,externalDefTransforms:M.externalDefTransforms||[],viewContainerAppends:M.viewContainerAppends||[],eventDropTransformers:M.eventDropTransformers||[],componentInteractions:M.componentInteractions||[],calendarInteractions:M.calendarInteractions||[],themeClasses:M.themeClasses||{},eventSourceDefs:M.eventSourceDefs||[],cmdFormatter:M.cmdFormatter,recurringTypes:M.recurringTypes||[],namedTimeZonedImpl:M.namedTimeZonedImpl,initialView:M.initialView||\\\"\\\",elementDraggingImpl:M.elementDraggingImpl,optionChangeHandlers:M.optionChangeHandlers||{},scrollGridImpl:M.scrollGridImpl||null,listenerRefiners:M.listenerRefiners||{},optionRefiners:M.optionRefiners||{},propSetHandlers:M.propSetHandlers||{}}}function buildPluginHooks(M,e){let p={},t={premiumReleaseDate:void 0,reducers:[],isLoadingFuncs:[],contextInit:[],eventRefiners:{},eventDefMemberAdders:[],eventSourceRefiners:{},isDraggableTransformers:[],eventDragMutationMassagers:[],eventDefMutationAppliers:[],dateSelectionTransformers:[],datePointTransforms:[],dateSpanTransforms:[],views:{},viewPropsTransformers:[],isPropsValid:null,externalDefTransforms:[],viewContainerAppends:[],eventDropTransformers:[],componentInteractions:[],calendarInteractions:[],themeClasses:{},eventSourceDefs:[],cmdFormatter:null,recurringTypes:[],namedTimeZonedImpl:null,initialView:\\\"\\\",elementDraggingImpl:null,optionChangeHandlers:{},scrollGridImpl:null,listenerRefiners:{},optionRefiners:{},propSetHandlers:{}};function o(M){for(var e of M){var b=e.name,z=p[b];void 0===z?(p[b]=e.id,o(e.deps),t=combineHooks(t,e)):z!==e.id&&console.warn(`Duplicate plugin '${b}'`)}}return M&&o(M),o(e),t}function buildBuildPluginHooks(){let b=[],z=[],p;return(M,e)=>(p&&isArraysEqual(M,b)&&isArraysEqual(e,z)||(p=buildPluginHooks(M,e)),b=M,z=e,p)}function combineHooks(M,e){return{premiumReleaseDate:compareOptionalDates(M.premiumReleaseDate,e.premiumReleaseDate),reducers:M.reducers.concat(e.reducers),isLoadingFuncs:M.isLoadingFuncs.concat(e.isLoadingFuncs),contextInit:M.contextInit.concat(e.contextInit),eventRefiners:Object.assign(Object.assign({},M.eventRefiners),e.eventRefiners),eventDefMemberAdders:M.eventDefMemberAdders.concat(e.eventDefMemberAdders),eventSourceRefiners:Object.assign(Object.assign({},M.eventSourceRefiners),e.eventSourceRefiners),isDraggableTransformers:M.isDraggableTransformers.concat(e.isDraggableTransformers),eventDragMutationMassagers:M.eventDragMutationMassagers.concat(e.eventDragMutationMassagers),eventDefMutationAppliers:M.eventDefMutationAppliers.concat(e.eventDefMutationAppliers),dateSelectionTransformers:M.dateSelectionTransformers.concat(e.dateSelectionTransformers),datePointTransforms:M.datePointTransforms.concat(e.datePointTransforms),dateSpanTransforms:M.dateSpanTransforms.concat(e.dateSpanTransforms),views:Object.assign(Object.assign({},M.views),e.views),viewPropsTransformers:M.viewPropsTransformers.concat(e.viewPropsTransformers),isPropsValid:e.isPropsValid||M.isPropsValid,externalDefTransforms:M.externalDefTransforms.concat(e.externalDefTransforms),viewContainerAppends:M.viewContainerAppends.concat(e.viewContainerAppends),eventDropTransformers:M.eventDropTransformers.concat(e.eventDropTransformers),calendarInteractions:M.calendarInteractions.concat(e.calendarInteractions),componentInteractions:M.componentInteractions.concat(e.componentInteractions),themeClasses:Object.assign(Object.assign({},M.themeClasses),e.themeClasses),eventSourceDefs:M.eventSourceDefs.concat(e.eventSourceDefs),cmdFormatter:e.cmdFormatter||M.cmdFormatter,recurringTypes:M.recurringTypes.concat(e.recurringTypes),namedTimeZonedImpl:e.namedTimeZonedImpl||M.namedTimeZonedImpl,initialView:M.initialView||e.initialView,elementDraggingImpl:M.elementDraggingImpl||e.elementDraggingImpl,optionChangeHandlers:Object.assign(Object.assign({},M.optionChangeHandlers),e.optionChangeHandlers),scrollGridImpl:e.scrollGridImpl||M.scrollGridImpl,listenerRefiners:Object.assign(Object.assign({},M.listenerRefiners),e.listenerRefiners),optionRefiners:Object.assign(Object.assign({},M.optionRefiners),e.optionRefiners),propSetHandlers:Object.assign(Object.assign({},M.propSetHandlers),e.propSetHandlers)}}function compareOptionalDates(M,e){return void 0===M?e:void 0===e?M:new Date(Math.max(M.valueOf(),e.valueOf()))}var StandardTheme=class extends Theme{};function compileViewDefs(M,e){var b={};let z;for(z in M)ensureViewDef(z,b,M,e);for(z in e)ensureViewDef(z,b,M,e);return b}function ensureViewDef(M,e,b,z){var p;return e[M]||((p=buildViewDef(M,e,b,z))&&(e[M]=p),p)}function buildViewDef(M,e,b,z){let p=b[M],t=z[M];var o=M=>p&&null!==p[M]?p[M]:t&&null!==t[M]?t[M]:null;let O=o(\\\"component\\\");o=o(\\\"superType\\\");let c=null;if(o){if(o===M)throw new Error(\\\"Can't have a custom view type that references itself\\\");c=ensureViewDef(o,e,b,z)}return(O=!O&&c?c.component:O)?{type:M,component:O,defaults:Object.assign(Object.assign({},c?c.defaults:{}),p?p.rawOptions:{}),overrides:Object.assign(Object.assign({},c?c.overrides:{}),t?t.rawOptions:{})}:null}function parseViewConfigs(M){return mapHash(M,parseViewConfig)}function parseViewConfig(M){var e=\\\"function\\\"==typeof M?{component:M}:M;let b=e[\\\"component\\\"];return e.content?b=createViewHookComponent(e):!b||b.prototype instanceof BaseComponent||(b=createViewHookComponent(Object.assign(Object.assign({},e),{content:b}))),{superType:e.type,component:b,rawOptions:e}}function createViewHookComponent(b){return e=>y(ViewContextType.Consumer,null,M=>y(ContentContainer,{elTag:\\\"div\\\",elClasses:buildViewClassNames(M.viewSpec),renderProps:Object.assign(Object.assign({},e),{nextDayThreshold:M.options.nextDayThreshold}),generatorName:void 0,customGenerator:b.content,classNameGenerator:b.classNames,didMount:b.didMount,willUnmount:b.willUnmount}))}function buildViewSpecs(M,e,b,z){var p=parseViewConfigs(M);let t=parseViewConfigs(e.views);return mapHash(compileViewDefs(p,t),M=>buildViewSpec(M,t,e,b,z))}function buildViewSpec(z,M,e,b,p){var t=z.overrides.duration||z.defaults.duration||b.duration||e.duration;let o=null,O=\\\"\\\",c=\\\"\\\",n={};t&&(o=createDurationCached(t))&&(t=greatestDurationDenominator(o),O=t.unit,1===t.value)&&(c=O,n=M[O]?M[O].rawOptions:{});var t=M=>{var e=M.buttonText||{},b=z.defaults.buttonTextKey;return null!=b&&null!=e[b]?e[b]:null!=e[z.type]?e[z.type]:null!=e[c]?e[c]:null},i=M=>{var e=M.buttonHints||{},b=z.defaults.buttonTextKey;return null!=b&&null!=e[b]?e[b]:null!=e[z.type]?e[z.type]:null!=e[c]?e[c]:null};return{type:z.type,component:z.component,duration:o,durationUnit:O,singleUnit:c,optionDefaults:z.defaults,optionOverrides:Object.assign(Object.assign({},n),z.overrides),buttonTextOverride:t(b)||t(e)||z.overrides.buttonText,buttonTextDefault:t(p)||z.defaults.buttonText||t(BASE_OPTION_DEFAULTS)||z.type,buttonTitleOverride:i(b)||i(e)||z.overrides.buttonHint,buttonTitleDefault:i(p)||z.defaults.buttonHint||i(BASE_OPTION_DEFAULTS)}}StandardTheme.prototype.classes={root:\\\"fc-theme-standard\\\",tableCellShaded:\\\"fc-cell-shaded\\\",buttonGroup:\\\"fc-button-group\\\",button:\\\"fc-button fc-button-primary\\\",buttonActive:\\\"fc-button-active\\\"},StandardTheme.prototype.baseIconClass=\\\"fc-icon\\\",StandardTheme.prototype.iconClasses={close:\\\"fc-icon-x\\\",prev:\\\"fc-icon-chevron-left\\\",next:\\\"fc-icon-chevron-right\\\",prevYear:\\\"fc-icon-chevrons-left\\\",nextYear:\\\"fc-icon-chevrons-right\\\"},StandardTheme.prototype.rtlIconClasses={prev:\\\"fc-icon-chevron-right\\\",next:\\\"fc-icon-chevron-left\\\",prevYear:\\\"fc-icon-chevrons-right\\\",nextYear:\\\"fc-icon-chevrons-left\\\"},StandardTheme.prototype.iconOverrideOption=\\\"buttonIcons\\\",StandardTheme.prototype.iconOverrideCustomButtonOption=\\\"icon\\\",StandardTheme.prototype.iconOverridePrefix=\\\"fc-icon-\\\";var durationInputMap={};function createDurationCached(M){var e=JSON.stringify(M);let b=durationInputMap[e];return void 0===b&&(b=createDuration(M),durationInputMap[e]=b),b}function reduceViewType(M,e){return M=\\\"CHANGE_VIEW_TYPE\\\"===e.type?e.viewType:M}function reduceDynamicOptionOverrides(M,e){return\\\"SET_OPTION\\\"!==e.type?M:Object.assign(Object.assign({},M),{[e.optionName]:e.rawOptionValue})}function reduceDateProfile(M,e,b,z){let p;switch(e.type){case\\\"CHANGE_VIEW_TYPE\\\":return z.build(e.dateMarker||b);case\\\"CHANGE_DATE\\\":return z.build(e.dateMarker);case\\\"PREV\\\":if((p=z.buildPrev(M,b)).isValid)return p;break;case\\\"NEXT\\\":if((p=z.buildNext(M,b)).isValid)return p}return M}function initEventSources(M,e,b){var z=e?e.activeRange:null;return addSources({},parseInitialSources(M,b),z,b)}function reduceEventSources(M,e,b,z){var p=b?b.activeRange:null;switch(e.type){case\\\"ADD_EVENT_SOURCES\\\":return addSources(M,e.sources,p,z);case\\\"REMOVE_EVENT_SOURCE\\\":return removeSource(M,e.sourceId);case\\\"PREV\\\":case\\\"NEXT\\\":case\\\"CHANGE_DATE\\\":case\\\"CHANGE_VIEW_TYPE\\\":return b?fetchDirtySources(M,p,z):M;case\\\"FETCH_EVENT_SOURCES\\\":return fetchSourcesByIds(M,e.sourceIds?arrayToHash(e.sourceIds):excludeStaticSources(M,z),p,e.isRefetch||!1,z);case\\\"RECEIVE_EVENTS\\\":case\\\"RECEIVE_EVENT_ERROR\\\":return receiveResponse(M,e.sourceId,e.fetchId,e.fetchRange);case\\\"REMOVE_ALL_EVENT_SOURCES\\\":return{};default:return M}}function reduceEventSourcesNewTimeZone(M,e,b){var z=e?e.activeRange:null;return fetchSourcesByIds(M,excludeStaticSources(M,b),z,!0,b)}function computeEventSourcesLoading(M){for(var e in M)if(M[e].isFetching)return!0;return!1}function addSources(M,e,b,z){let p={};for(var t of e)p[t.sourceId]=t;return b&&(p=fetchDirtySources(p,b,z)),Object.assign(Object.assign({},M),p)}function removeSource(M,e){return filterHash(M,M=>M.sourceId!==e)}function fetchDirtySources(M,e,b){return fetchSourcesByIds(M,filterHash(M,M=>isSourceDirty(M,e,b)),e,!1,b)}function isSourceDirty(M,e,b){return doesSourceNeedRange(M,b)?!b.options.lazyFetching||!M.fetchRange||M.isFetching||e.start\u003CM.fetchRange.start||e.end>M.fetchRange.end:!M.latestFetchId}function fetchSourcesByIds(M,e,b,z,p){var t,o={};for(t in M){var O=M[t];e[t]?o[t]=fetchSource(O,b,z,p):o[t]=O}return o}function fetchSource(b,z,M,p){let{options:t,calendarApi:o}=p;var e=p.pluginHooks.eventSourceDefs[b.sourceDefId];let O=guid();return e.fetch({eventSource:b,range:z,isRefetch:M,context:p},M=>{let e=M[\\\"rawEvents\\\"];t.eventSourceSuccess&&(e=t.eventSourceSuccess.call(o,e,M.response)||e),b.success&&(e=b.success.call(o,e,M.response)||e),p.dispatch({type:\\\"RECEIVE_EVENTS\\\",sourceId:b.sourceId,fetchId:O,fetchRange:z,rawEvents:e})},M=>{let e=!1;t.eventSourceFailure&&(t.eventSourceFailure.call(o,M),e=!0),b.failure&&(b.failure(M),e=!0),e||console.warn(M.message,M),p.dispatch({type:\\\"RECEIVE_EVENT_ERROR\\\",sourceId:b.sourceId,fetchId:O,fetchRange:z,error:M})}),Object.assign(Object.assign({},b),{isFetching:!0,latestFetchId:O})}function receiveResponse(M,e,b,z){var p=M[e];return p&&b===p.latestFetchId?Object.assign(Object.assign({},M),{[e]:Object.assign(Object.assign({},p),{isFetching:!1,fetchRange:z})}):M}function excludeStaticSources(M,e){return filterHash(M,M=>doesSourceNeedRange(M,e))}function parseInitialSources(M,e){var b,z=buildEventSourceRefiners(e),p=[].concat(M.eventSources||[]),t=[];M.initialEvents&&p.unshift(M.initialEvents),M.events&&p.unshift(M.events);for(b of p){var o=parseEventSource(b,e,z);o&&t.push(o)}return t}function doesSourceNeedRange(M,e){return!e.pluginHooks.eventSourceDefs[M.sourceDefId].ignoreRange}function reduceDateSelection(M,e){switch(e.type){case\\\"UNSELECT_DATES\\\":return null;case\\\"SELECT_DATES\\\":return e.selection;default:return M}}function reduceSelectedEvent(M,e){switch(e.type){case\\\"UNSELECT_EVENT\\\":return\\\"\\\";case\\\"SELECT_EVENT\\\":return e.eventInstanceId;default:return M}}function reduceEventDrag(M,e){var b;switch(e.type){case\\\"UNSET_EVENT_DRAG\\\":return null;case\\\"SET_EVENT_DRAG\\\":return{affectedEvents:(b=e.state).affectedEvents,mutatedEvents:b.mutatedEvents,isEvent:b.isEvent};default:return M}}function reduceEventResize(M,e){var b;switch(e.type){case\\\"UNSET_EVENT_RESIZE\\\":return null;case\\\"SET_EVENT_RESIZE\\\":return{affectedEvents:(b=e.state).affectedEvents,mutatedEvents:b.mutatedEvents,isEvent:b.isEvent};default:return M}}function parseToolbars(M,e,b,z,p){return{header:M.headerToolbar?parseToolbar(M.headerToolbar,M,e,b,z,p):null,footer:M.footerToolbar?parseToolbar(M.footerToolbar,M,e,b,z,p):null}}function parseToolbar(M,e,b,z,p,t){var o,O={},c=[];let n=!1;for(o in M){var i=parseSection(M[o],e,b,z,p,t);O[o]=i.widgets,c.push(...i.viewsWithButtons),n=n||i.hasTitle}return{sectionWidgets:O,viewsWithButtons:c,hasTitle:n}}function parseSection(M,c,e,n,i,r){let a=\\\"rtl\\\"===c.direction,A=c.customButtons||{},s=e.buttonText||{},d=c.buttonText||{},q=e.buttonHints||{},l=c.buttonHints||{};var b=M?M.split(\\\" \\\"):[];let u=[],W=!1;return{widgets:b.map(M=>M.split(\\\",\\\").map(e=>{if(\\\"title\\\"===e)return W=!0,{buttonName:e};let b;var M,z;let p,t,o,O;return(b=A[e])?(p=M=>{b.click&&b.click.call(M.target,M,M.target)},(t=(t=n.getCustomButtonIconClass(b))||n.getIconClass(e,a))||(o=b.text),O=b.hint||b.text):(z=i[e])?(u.push(e),p=()=>{r.changeView(e)},(o=z.buttonTextOverride)||(t=n.getIconClass(e,a))||(o=z.buttonTextDefault),M=z.buttonTextOverride||z.buttonTextDefault,O=formatWithOrdinals(z.buttonTitleOverride||z.buttonTitleDefault||c.viewHint,[M,e],M)):r[e]&&(p=()=>{r[e]()},(o=s[e])||(t=n.getIconClass(e,a))||(o=d[e]),O=\\\"prevYear\\\"===e||\\\"nextYear\\\"===e?(z=\\\"prevYear\\\"===e?\\\"prev\\\":\\\"next\\\",formatWithOrdinals(q[z]||l[z],[d.year||\\\"year\\\",\\\"year\\\"],d[e])):M=>formatWithOrdinals(q[e]||l[e],[d[M]||M,M],d[e])),{buttonName:e,buttonClick:p,buttonIcon:t,buttonText:o,buttonHint:O}})),viewsWithButtons:u,hasTitle:W}}var ViewImpl=class{constructor(M,e,b){this.type=M,this.getCurrentData=e,this.dateEnv=b}get calendar(){return this.getCurrentData().calendarApi}get title(){return this.getCurrentData().viewTitle}get activeStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.start)}get activeEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.end)}get currentStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.start)}get currentEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.end)}getOption(M){return this.getCurrentData().options[M]}},eventSourceDef$2={ignoreRange:!0,parseMeta(M){return Array.isArray(M.events)?M.events:null},fetch(M,e){e({rawEvents:M.eventSource.meta})}},arrayEventSourcePlugin=createPlugin({name:\\\"array-event-source\\\",eventSourceDefs:[eventSourceDef$2]}),eventSourceDef$1={parseMeta(M){return\\\"function\\\"==typeof M.events?M.events:null},fetch(M,e,b){var z=M.context[\\\"dateEnv\\\"];unpromisify(M.eventSource.meta.bind(null,buildRangeApiWithTimeZone(M.range,z)),M=>e({rawEvents:M}),b)}},funcEventSourcePlugin=createPlugin({name:\\\"func-event-source\\\",eventSourceDefs:[eventSourceDef$1]}),JSON_FEED_EVENT_SOURCE_REFINERS={method:String,extraParams:identity,startParam:String,endParam:String,timeZoneParam:String},eventSourceDef={parseMeta(M){return!M.url||\\\"json\\\"!==M.format&&M.format?null:{url:M.url,format:\\\"json\\\",method:(M.method||\\\"GET\\\").toUpperCase(),extraParams:M.extraParams,startParam:M.startParam,endParam:M.endParam,timeZoneParam:M.timeZoneParam}},fetch(M,b,e){var z=M.eventSource[\\\"meta\\\"],p=buildRequestParams(z,M.range,M.context);requestJson(z.method,z.url,p).then(([M,e])=>{b({rawEvents:M,response:e})},e)}},jsonFeedEventSourcePlugin=createPlugin({name:\\\"json-event-source\\\",eventSourceRefiners:JSON_FEED_EVENT_SOURCE_REFINERS,eventSourceDefs:[eventSourceDef]});function buildRequestParams(M,e,b){var{dateEnv:z,options:p}=b;let t,o,O,c;var n={};return null==(t=M.startParam)&&(t=p.startParam),null==(o=M.endParam)&&(o=p.endParam),null==(O=M.timeZoneParam)&&(O=p.timeZoneParam),c=\\\"function\\\"==typeof M.extraParams?M.extraParams():M.extraParams||{},Object.assign(n,c),n[t]=z.formatIso(e.start),n[o]=z.formatIso(e.end),\\\"local\\\"!==z.timeZone&&(n[O]=z.timeZone),n}var SIMPLE_RECURRING_REFINERS={daysOfWeek:identity,startTime:createDuration,endTime:createDuration,duration:createDuration,startRecur:identity,endRecur:identity},recurring={parse(e,b){if(e.daysOfWeek||e.startTime||e.endTime||e.startRecur||e.endRecur){var z={daysOfWeek:e.daysOfWeek||null,startTime:e.startTime||null,endTime:e.endTime||null,startRecur:e.startRecur?b.createMarker(e.startRecur):null,endRecur:e.endRecur?b.createMarker(e.endRecur):null};let M;return!(M=e.duration?e.duration:M)&&e.startTime&&e.endTime&&(M=subtractDurations(e.endTime,e.startTime)),{allDayGuess:Boolean(!e.startTime&&!e.endTime),duration:M,typeData:z}}return null},expand(M,e,b){var z=intersectRanges(e,{start:M.startRecur,end:M.endRecur});return z?expandRanges(M.daysOfWeek,M.startTime,z,b):[]}},simpleRecurringEventsPlugin=createPlugin({name:\\\"simple-recurring-event\\\",recurringTypes:[recurring],eventRefiners:SIMPLE_RECURRING_REFINERS});function expandRanges(M,e,b,z){var p=M?arrayToHash(M):null;let t=startOfDay(b.start);for(var o=b.end,O=[];t\u003Co;){let M;p&&!p[t.getUTCDay()]||(M=e?z.add(t,e):t,O.push(M)),t=addDays(t,1)}return O}var changeHandlerPlugin=createPlugin({name:\\\"change-handler\\\",optionChangeHandlers:{events(M,e){handleEventSources([M],e)},eventSources:handleEventSources}});function handleEventSources(M,e){var b=hashValuesToArray(e.getCurrentData().eventSources);if(1===b.length&&1===M.length&&Array.isArray(b[0]._raw)&&Array.isArray(M[0]))e.dispatch({type:\\\"RESET_RAW_EVENTS\\\",sourceId:b[0].sourceId,rawEvents:M[0]});else{var z,p,t,o=[];for(z of M){let M=!1;for(let e=0;e\u003Cb.length;e+=1)if(b[e]._raw===z){b.splice(e,1),M=!0;break}M||o.push(z)}for(p of b)e.dispatch({type:\\\"REMOVE_EVENT_SOURCE\\\",sourceId:p.sourceId});for(t of o)e.calendarApi.addEventSource(t)}}function handleDateProfile(M,e){e.emitter.trigger(\\\"datesSet\\\",Object.assign(Object.assign({},buildRangeApiWithTimeZone(M.activeRange,e.dateEnv)),{view:e.viewApi}))}function handleEventStore(M,e){var b=e[\\\"emitter\\\"];b.hasHandlers(\\\"eventsSet\\\")&&b.trigger(\\\"eventsSet\\\",buildEventApis(M,e))}var globalPlugins=[arrayEventSourcePlugin,funcEventSourcePlugin,jsonFeedEventSourcePlugin,simpleRecurringEventsPlugin,changeHandlerPlugin,createPlugin({name:\\\"misc\\\",isLoadingFuncs:[M=>computeEventSourcesLoading(M.eventSources)],propSetHandlers:{dateProfile:handleDateProfile,eventStore:handleEventStore}})],TaskRunner=class{constructor(M,e){this.runTaskOption=M,this.drainedOption=e,this.queue=[],this.delayedRunner=new DelayedRunner(this.drain.bind(this))}request(M,e){this.queue.push(M),this.delayedRunner.request(e)}pause(M){this.delayedRunner.pause(M)}resume(M,e){this.delayedRunner.resume(M,e)}drain(){for(var M=this[\\\"queue\\\"];M.length;){for(var e,b=[];e=M.shift();)this.runTask(e),b.push(e);this.drained(b)}}runTask(M){this.runTaskOption&&this.runTaskOption(M)}drained(M){this.drainedOption&&this.drainedOption(M)}};function buildTitle(M,e,b){let z;return z=/^(year|month)$/.test(M.currentRangeUnit)?M.currentRange:M.activeRange,b.formatRange(z.start,z.end,createFormatter(e.titleFormat||buildTitleFormat(M)),{isEndExclusive:M.isRangeAllDay,defaultSeparator:e.titleRangeSeparator})}function buildTitleFormat(M){var e=M[\\\"currentRangeUnit\\\"];return\\\"year\\\"===e?{year:\\\"numeric\\\"}:\\\"month\\\"===e?{year:\\\"numeric\\\",month:\\\"long\\\"}:null!==(e=diffWholeDays(M.currentRange.start,M.currentRange.end))&&1\u003Ce?{year:\\\"numeric\\\",month:\\\"short\\\",day:\\\"numeric\\\"}:{year:\\\"numeric\\\",month:\\\"long\\\",day:\\\"numeric\\\"}}var CalendarDataManager=class{constructor(M){this.computeCurrentViewData=memoize(this._computeCurrentViewData),this.organizeRawLocales=memoize(organizeRawLocales),this.buildLocale=memoize(buildLocale),this.buildPluginHooks=buildBuildPluginHooks(),this.buildDateEnv=memoize(buildDateEnv$1),this.buildTheme=memoize(buildTheme),this.parseToolbars=memoize(parseToolbars),this.buildViewSpecs=memoize(buildViewSpecs),this.buildDateProfileGenerator=memoizeObjArg(buildDateProfileGenerator),this.buildViewApi=memoize(buildViewApi),this.buildViewUiProps=memoizeObjArg(buildViewUiProps),this.buildEventUiBySource=memoize(buildEventUiBySource,isPropsEqual),this.buildEventUiBases=memoize(buildEventUiBases),this.parseContextBusinessHours=memoizeObjArg(parseContextBusinessHours),this.buildTitle=memoize(buildTitle),this.emitter=new Emitter,this.actionRunner=new TaskRunner(this._handleAction.bind(this),this.updateData.bind(this)),this.currentCalendarOptionsInput={},this.currentCalendarOptionsRefined={},this.currentViewOptionsInput={},this.currentViewOptionsRefined={},this.currentCalendarOptionsRefiners={},this.optionsForRefining=[],this.optionsForHandling=[],this.getCurrentData=()=>this.data,this.dispatch=M=>{this.actionRunner.request(M)},this.props=M,this.actionRunner.pause();var e={},b=this.computeOptionsData(M.optionOverrides,e,M.calendarApi),z=b.calendarOptions.initialView||b.pluginHooks.initialView,p=this.computeCurrentViewData(z,b,M.optionOverrides,e);(M.calendarApi.currentDataManager=this).emitter.setThisContext(M.calendarApi),this.emitter.setOptions(p.options);let t=getInitialDate(b.calendarOptions,b.dateEnv);var o,p=p.dateProfileGenerator.build(t),O=(rangeContainsMarker(p.activeRange,t)||(t=p.currentRange.start),{dateEnv:b.dateEnv,options:b.calendarOptions,pluginHooks:b.pluginHooks,calendarApi:M.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData});for(o of b.pluginHooks.contextInit)o(O);var c,n=initEventSources(b.calendarOptions,p,O),i={dynamicOptionOverrides:e,currentViewType:z,currentDate:t,dateProfile:p,businessHours:this.parseContextBusinessHours(O),eventSources:n,eventUiBases:{},eventStore:createEmptyEventStore(),renderableEventStore:createEmptyEventStore(),dateSelection:null,eventSelection:\\\"\\\",eventDrag:null,eventResize:null,selectionConfig:this.buildViewUiProps(O).selectionConfig},r=Object.assign(Object.assign({},O),i);for(c of b.pluginHooks.reducers)Object.assign(i,c(null,null,r));computeIsLoading(i,O)&&this.emitter.trigger(\\\"loading\\\",!0),this.state=i,this.updateData(),this.actionRunner.resume()}resetOptions(M,e){var b=this[\\\"props\\\"];void 0===e?b.optionOverrides=M:(b.optionOverrides=Object.assign(Object.assign({},b.optionOverrides||{}),M),this.optionsForRefining.push(...e)),void 0!==e&&!e.length||this.actionRunner.request({type:\\\"NOTHING\\\"})}_handleAction(M){var{props:e,state:b,emitter:z}=this,p=reduceDynamicOptionOverrides(b.dynamicOptionOverrides,M),t=this.computeOptionsData(e.optionOverrides,p,e.calendarApi),o=reduceViewType(b.currentViewType,M),O=this.computeCurrentViewData(o,t,e.optionOverrides,p),c=(e.calendarApi.currentDataManager=this,z.setThisContext(e.calendarApi),z.setOptions(O.options),{dateEnv:t.dateEnv,options:t.calendarOptions,pluginHooks:t.pluginHooks,calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:z,getCurrentData:this.getCurrentData});let{currentDate:n,dateProfile:i}=b;this.data&&this.data.dateProfileGenerator!==O.dateProfileGenerator&&(i=O.dateProfileGenerator.build(n)),n=reduceCurrentDate(n,M),i=reduceDateProfile(i,M,n,O.dateProfileGenerator),\\\"PREV\\\"!==M.type&&\\\"NEXT\\\"!==M.type&&rangeContainsMarker(i.currentRange,n)||(n=i.currentRange.start);var r,a=reduceEventSources(b.eventSources,M,i,c),A=reduceEventStore(b.eventStore,M,a,i,c),O=computeEventSourcesLoading(a)&&!O.options.progressiveEventRendering&&b.renderableEventStore||A,{eventUiSingleBase:s,selectionConfig:d}=this.buildViewUiProps(c),q=this.buildEventUiBySource(a),s=this.buildEventUiBases(O.defs,s,q),l={dynamicOptionOverrides:p,currentViewType:o,currentDate:n,dateProfile:i,eventSources:a,eventStore:A,renderableEventStore:O,selectionConfig:d,eventUiBases:s,businessHours:this.parseContextBusinessHours(c),dateSelection:reduceDateSelection(b.dateSelection,M),eventSelection:reduceSelectedEvent(b.eventSelection,M),eventDrag:reduceEventDrag(b.eventDrag,M),eventResize:reduceEventResize(b.eventResize,M)},u=Object.assign(Object.assign({},c),l);for(r of t.pluginHooks.reducers)Object.assign(l,r(b,M,u));q=computeIsLoading(b,c),p=computeIsLoading(l,c);!q&&p?z.trigger(\\\"loading\\\",!0):q&&!p&&z.trigger(\\\"loading\\\",!1),this.state=l,e.onAction&&e.onAction(M)}updateData(){var{props:M,state:e}=this,b=this.data,z=this.computeOptionsData(M.optionOverrides,e.dynamicOptionOverrides,M.calendarApi),p=this.computeCurrentViewData(e.currentViewType,z,M.optionOverrides,e.dynamicOptionOverrides),t=this.data=Object.assign(Object.assign(Object.assign({viewTitle:this.buildTitle(e.dateProfile,p.options,z.dateEnv),calendarApi:M.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData},z),p),e),o=z.pluginHooks.optionChangeHandlers,O=b&&b.calendarOptions,c=z.calendarOptions;if(O&&O!==c)for(var n in O.timeZone!==c.timeZone&&(e.eventSources=t.eventSources=reduceEventSourcesNewTimeZone(t.eventSources,e.dateProfile,t),e.eventStore=t.eventStore=rezoneEventStoreDates(t.eventStore,b.dateEnv,t.dateEnv),e.renderableEventStore=t.renderableEventStore=rezoneEventStoreDates(t.renderableEventStore,b.dateEnv,t.dateEnv)),o)-1===this.optionsForHandling.indexOf(n)&&O[n]===c[n]||o[n](c[n],t);this.optionsForHandling=[],M.onData&&M.onData(t)}computeOptionsData(M,e,b){var z,p,t,o,O,c,n,i;return this.optionsForRefining.length||M!==this.stableOptionOverrides||e!==this.stableDynamicOptionOverrides?(({refinedOptions:z,pluginHooks:p,localeDefaults:t,availableLocaleData:o,extra:O}=this.processRawCalendarOptions(M,e)),warnUnknownOptions(O),O=this.buildDateEnv(z.timeZone,z.locale,z.weekNumberCalculation,z.firstDay,z.weekText,p,o,z.defaultRangeSeparator),c=this.buildViewSpecs(p.views,this.stableOptionOverrides,this.stableDynamicOptionOverrides,t),n=this.buildTheme(z,p),i=this.parseToolbars(z,this.stableOptionOverrides,n,c,b),this.stableCalendarOptionsData={calendarOptions:z,pluginHooks:p,dateEnv:O,viewSpecs:c,theme:n,toolbarConfig:i,localeDefaults:t,availableRawLocales:o.map}):this.stableCalendarOptionsData}processRawCalendarOptions(M,e){var b,{locales:z,locale:p}=mergeRawOptions([BASE_OPTION_DEFAULTS,M,e]),z=this.organizeRawLocales(z),t=z.map,p=this.buildLocale(p||z.defaultCode,t).options,t=this.buildPluginHooks(M.plugins||[],globalPlugins),o=this.currentCalendarOptionsRefiners=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},BASE_OPTION_REFINERS),CALENDAR_LISTENER_REFINERS),CALENDAR_OPTION_REFINERS),t.listenerRefiners),t.optionRefiners),O={},c=mergeRawOptions([BASE_OPTION_DEFAULTS,p,M,e]),n={},i=this.currentCalendarOptionsInput,r=this.currentCalendarOptionsRefined;let a=!1;for(b in c)-1===this.optionsForRefining.indexOf(b)&&(c[b]===i[b]||COMPLEX_OPTION_COMPARATORS[b]&&b in i&&COMPLEX_OPTION_COMPARATORS[b](i[b],c[b]))?n[b]=r[b]:o[b]?(n[b]=o[b](c[b]),a=!0):O[b]=i[b];return a&&(this.currentCalendarOptionsInput=c,this.currentCalendarOptionsRefined=n,this.stableOptionOverrides=M,this.stableDynamicOptionOverrides=e),this.optionsForHandling.push(...this.optionsForRefining),this.optionsForRefining=[],{rawOptions:this.currentCalendarOptionsInput,refinedOptions:this.currentCalendarOptionsRefined,pluginHooks:t,availableLocaleData:z,localeDefaults:p,extra:O}}_computeCurrentViewData(M,e,b,z){var p,t,o=e.viewSpecs[M];if(o)return({refinedOptions:p,extra:t}=this.processRawViewOptions(o,e.pluginHooks,e.localeDefaults,b,z)),warnUnknownOptions(t),{viewSpec:o,options:p,dateProfileGenerator:this.buildDateProfileGenerator({dateProfileGeneratorClass:o.optionDefaults.dateProfileGeneratorClass,duration:o.duration,durationUnit:o.durationUnit,usesMinMaxTime:o.optionDefaults.usesMinMaxTime,dateEnv:e.dateEnv,calendarApi:this.props.calendarApi,slotMinTime:p.slotMinTime,slotMaxTime:p.slotMaxTime,showNonCurrentDates:p.showNonCurrentDates,dayCount:p.dayCount,dateAlignment:p.dateAlignment,dateIncrement:p.dateIncrement,hiddenDays:p.hiddenDays,weekends:p.weekends,nowInput:p.now,validRangeInput:p.validRange,visibleRangeInput:p.visibleRange,fixedWeekCount:p.fixedWeekCount}),viewApi:this.buildViewApi(M,this.getCurrentData,e.dateEnv)};throw new Error(`viewType \\\"${M}\\\" is not available. Please make sure you've loaded all neccessary plugins`)}processRawViewOptions(M,e,b,z,p){var t=mergeRawOptions([BASE_OPTION_DEFAULTS,M.optionDefaults,b,z,M.optionOverrides,p]),o=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},BASE_OPTION_REFINERS),CALENDAR_LISTENER_REFINERS),CALENDAR_OPTION_REFINERS),VIEW_OPTION_REFINERS),e.listenerRefiners),e.optionRefiners),O={},c=this.currentViewOptionsInput,n=this.currentViewOptionsRefined;let i=!1;var r,a={};for(r in t)t[r]===c[r]||COMPLEX_OPTION_COMPARATORS[r]&&COMPLEX_OPTION_COMPARATORS[r](t[r],c[r])?O[r]=n[r]:(t[r]===this.currentCalendarOptionsInput[r]||COMPLEX_OPTION_COMPARATORS[r]&&COMPLEX_OPTION_COMPARATORS[r](t[r],this.currentCalendarOptionsInput[r])?r in this.currentCalendarOptionsRefined&&(O[r]=this.currentCalendarOptionsRefined[r]):o[r]?O[r]=o[r](t[r]):a[r]=t[r],i=!0);return i&&(this.currentViewOptionsInput=t,this.currentViewOptionsRefined=O),{rawOptions:this.currentViewOptionsInput,refinedOptions:this.currentViewOptionsRefined,extra:a}}};function buildDateEnv$1(M,e,b,z,p,t,o,O){var c=buildLocale(e||o.defaultCode,o.map);return new DateEnv({calendarSystem:\\\"gregory\\\",timeZone:M,namedTimeZoneImpl:t.namedTimeZonedImpl,locale:c,weekNumberCalculation:b,firstDay:z,weekText:p,cmdFormatter:t.cmdFormatter,defaultSeparator:O})}function buildTheme(M,e){return new(e.themeClasses[M.themeSystem]||StandardTheme)(M)}function buildDateProfileGenerator(M){return new(M.dateProfileGeneratorClass||DateProfileGenerator)(M)}function buildViewApi(M,e,b){return new ViewImpl(M,e,b)}function buildEventUiBySource(M){return mapHash(M,M=>M.ui)}function buildEventUiBases(M,e,b){var z,p={\\\"\\\":e};for(z in M){var t=M[z];t.sourceId&&b[t.sourceId]&&(p[z]=b[t.sourceId])}return p}function buildViewUiProps(M){var e=M[\\\"options\\\"];return{eventUiSingleBase:createEventUi({display:e.eventDisplay,editable:e.editable,startEditable:e.eventStartEditable,durationEditable:e.eventDurationEditable,constraint:e.eventConstraint,overlap:\\\"boolean\\\"==typeof e.eventOverlap?e.eventOverlap:void 0,allow:e.eventAllow,backgroundColor:e.eventBackgroundColor,borderColor:e.eventBorderColor,textColor:e.eventTextColor,color:e.eventColor},M),selectionConfig:createEventUi({constraint:e.selectConstraint,overlap:\\\"boolean\\\"==typeof e.selectOverlap?e.selectOverlap:void 0,allow:e.selectAllow},M)}}function computeIsLoading(M,e){for(var b of e.pluginHooks.isLoadingFuncs)if(b(M))return!0;return!1}function parseContextBusinessHours(M){return parseBusinessHours(M.options.businessHours,M)}function warnUnknownOptions(M,e){for(var b in M)console.warn(`Unknown option '${b}'`+(e?` for view '${e}'`:\\\"\\\"))}var ToolbarSection=class extends BaseComponent{render(){return y(\\\"div\\\",{className:\\\"fc-toolbar-chunk\\\"},...this.props.widgetGroups.map(M=>this.renderWidgetGroup(M)))}renderWidgetGroup(M){var e,b=this[\\\"props\\\"],z=this.context[\\\"theme\\\"],p=[];let t=!0;for(e of M){var o,O,{buttonName:c,buttonClick:n,buttonText:i,buttonIcon:r,buttonHint:a}=e;\\\"title\\\"===c?(t=!1,p.push(y(\\\"h2\\\",{className:\\\"fc-toolbar-title\\\",id:b.titleId},b.title))):(o=c===b.activeButton,O=!b.isTodayEnabled&&\\\"today\\\"===c||!b.isPrevEnabled&&\\\"prev\\\"===c||!b.isNextEnabled&&\\\"next\\\"===c,c=[`fc-${c}-button`,z.getClass(\\\"button\\\")],o&&c.push(z.getClass(\\\"buttonActive\\\")),p.push(y(\\\"button\\\",{type:\\\"button\\\",title:\\\"function\\\"==typeof a?a(b.navUnit):a,disabled:O,\\\"aria-pressed\\\":o,className:c.join(\\\" \\\"),onClick:n},i||(r?y(\\\"span\\\",{className:r}):\\\"\\\"))))}return 1\u003Cp.length?y(\\\"div\\\",{className:t&&z.getClass(\\\"buttonGroup\\\")||\\\"\\\"},...p):p[0]}},Toolbar=class extends BaseComponent{render(){var{model:M,extraClassName:e}=this.props;let b=!1,z,p;var M=M.sectionWidgets,t=M.center;return z=M.left?(b=!0,M.left):M.start,p=M.right?(b=!0,M.right):M.end,y(\\\"div\\\",{className:[e||\\\"\\\",\\\"fc-toolbar\\\",b?\\\"fc-toolbar-ltr\\\":\\\"\\\"].join(\\\" \\\")},this.renderSection(\\\"start\\\",z||[]),this.renderSection(\\\"center\\\",t||[]),this.renderSection(\\\"end\\\",p||[]))}renderSection(M,e){var b=this[\\\"props\\\"];return y(ToolbarSection,{key:M,widgetGroups:e,title:b.title,navUnit:b.navUnit,activeButton:b.activeButton,isTodayEnabled:b.isTodayEnabled,isPrevEnabled:b.isPrevEnabled,isNextEnabled:b.isNextEnabled,titleId:b.titleId})}},ViewHarness=class extends BaseComponent{constructor(){super(...arguments),this.state={availableWidth:null},this.handleEl=M=>{this.el=M,setRef(this.props.elRef,M),this.updateAvailableWidth()},this.handleResize=()=>{this.updateAvailableWidth()}}render(){var{props:M,state:e}=this,b=M[\\\"aspectRatio\\\"],z=[\\\"fc-view-harness\\\",b||M.liquid||M.height?\\\"fc-view-harness-active\\\":\\\"fc-view-harness-passive\\\"];let p=\\\"\\\",t=\\\"\\\";return b?null!==e.availableWidth?p=e.availableWidth/b:t=1/b*100+\\\"%\\\":p=M.height||\\\"\\\",y(\\\"div\\\",{\\\"aria-labelledby\\\":M.labeledById,ref:this.handleEl,className:z.join(\\\" \\\"),style:{height:p,paddingBottom:t}},M.children)}componentDidMount(){this.context.addResizeHandler(this.handleResize)}componentWillUnmount(){this.context.removeResizeHandler(this.handleResize)}updateAvailableWidth(){this.el&&this.props.aspectRatio&&this.setState({availableWidth:this.el.offsetWidth})}},EventClicking=class extends Interaction{constructor(M){super(M),this.handleSegClick=(M,e)=>{var b,z=this[\\\"component\\\"],p=z[\\\"context\\\"],t=getElSeg(e);t&&z.isValidSegDownEl(M.target)&&(b=(b=elementClosest(M.target,\\\".fc-event-forced-url\\\"))?b.querySelector(\\\"a[href]\\\").href:\\\"\\\",p.emitter.trigger(\\\"eventClick\\\",{el:e,event:new EventImpl(z.context,t.eventRange.def,t.eventRange.instance),jsEvent:M,view:p.viewApi}),b)&&!M.defaultPrevented&&(window.location.href=b)},this.destroy=listenBySelector(M.el,\\\"click\\\",\\\".fc-event\\\",this.handleSegClick)}},EventHovering=class extends Interaction{constructor(M){super(M),this.handleEventElRemove=M=>{M===this.currentSegEl&&this.handleSegLeave(null,this.currentSegEl)},this.handleSegEnter=(M,e)=>{getElSeg(e)&&(this.currentSegEl=e,this.triggerEvent(\\\"eventMouseEnter\\\",M,e))},this.handleSegLeave=(M,e)=>{this.currentSegEl&&(this.currentSegEl=null,this.triggerEvent(\\\"eventMouseLeave\\\",M,e))},this.removeHoverListeners=listenToHoverBySelector(M.el,\\\".fc-event\\\",this.handleSegEnter,this.handleSegLeave)}destroy(){this.removeHoverListeners()}triggerEvent(M,e,b){var z=this[\\\"component\\\"],p=z[\\\"context\\\"],t=getElSeg(b);e&&!z.isValidSegDownEl(e.target)||p.emitter.trigger(M,{el:b,event:new EventImpl(p,t.eventRange.def,t.eventRange.instance),jsEvent:e,view:p.viewApi})}},CalendarContent=class extends PureComponent{constructor(){super(...arguments),this.buildViewContext=memoize(buildViewContext),this.buildViewPropTransformers=memoize(buildViewPropTransformers),this.buildToolbarProps=memoize(buildToolbarProps),this.headerRef=d(),this.footerRef=d(),this.interactionsStore={},this.state={viewLabelId:getUniqueDomId()},this.registerInteractiveComponent=(M,e)=>{let b=parseInteractionSettings(M,e);var z=[EventClicking,EventHovering].concat(this.props.pluginHooks.componentInteractions).map(M=>new M(b));this.interactionsStore[M.uid]=z,interactionSettingsStore[M.uid]=b},this.unregisterInteractiveComponent=M=>{var e=this.interactionsStore[M.uid];if(e){for(var b of e)b.destroy();delete this.interactionsStore[M.uid]}delete interactionSettingsStore[M.uid]},this.resizeRunner=new DelayedRunner(()=>{this.props.emitter.trigger(\\\"_resize\\\",!0),this.props.emitter.trigger(\\\"windowResize\\\",{view:this.props.viewApi})}),this.handleWindowResize=M=>{var e=this.props[\\\"options\\\"];e.handleWindowResize&&M.target===window&&this.resizeRunner.request(e.windowResizeDelay)}}render(){var M=this[\\\"props\\\"],{toolbarConfig:e,options:b}=M,z=this.buildToolbarProps(M.viewSpec,M.dateProfile,M.dateProfileGenerator,M.currentDate,getNow(M.options.now,M.dateEnv),M.viewTitle);let p=!1,t=\\\"\\\",o;M.isHeightAuto||M.forPrint?t=\\\"\\\":null!=b.height?p=!0:null!=b.contentHeight?t=b.contentHeight:o=Math.max(b.aspectRatio,.5);var b=this.buildViewContext(M.viewSpec,M.viewApi,M.options,M.dateProfileGenerator,M.dateEnv,M.theme,M.pluginHooks,M.dispatch,M.getCurrentData,M.emitter,M.calendarApi,this.registerInteractiveComponent,this.unregisterInteractiveComponent),O=e.header&&e.header.hasTitle?this.state.viewLabelId:\\\"\\\";return y(ViewContextType.Provider,{value:b},e.header&&y(Toolbar,Object.assign({ref:this.headerRef,extraClassName:\\\"fc-header-toolbar\\\",model:e.header,titleId:O},z)),y(ViewHarness,{liquid:p,height:t,aspectRatio:o,labeledById:O},this.renderView(M),this.buildAppendContent()),e.footer&&y(Toolbar,Object.assign({ref:this.footerRef,extraClassName:\\\"fc-footer-toolbar\\\",model:e.footer,titleId:\\\"\\\"},z)))}componentDidMount(){let e=this[\\\"props\\\"];this.calendarInteractions=e.pluginHooks.calendarInteractions.map(M=>new M(e)),window.addEventListener(\\\"resize\\\",this.handleWindowResize);var M,b=e.pluginHooks[\\\"propSetHandlers\\\"];for(M in b)b[M](e[M],e)}componentDidUpdate(M){var e,b=this[\\\"props\\\"],z=b.pluginHooks[\\\"propSetHandlers\\\"];for(e in z)b[e]!==M[e]&&z[e](b[e],b)}componentWillUnmount(){window.removeEventListener(\\\"resize\\\",this.handleWindowResize),this.resizeRunner.clear();for(var M of this.calendarInteractions)M.destroy();this.props.emitter.trigger(\\\"_unmount\\\")}buildAppendContent(){let e=this[\\\"props\\\"];return y(_,{},...e.pluginHooks.viewContainerAppends.map(M=>M(e)))}renderView(M){var e,b=M[\\\"pluginHooks\\\"],z=M[\\\"viewSpec\\\"],p={dateProfile:M.dateProfile,businessHours:M.businessHours,eventStore:M.renderableEventStore,eventUiBases:M.eventUiBases,dateSelection:M.dateSelection,eventSelection:M.eventSelection,eventDrag:M.eventDrag,eventResize:M.eventResize,isHeightAuto:M.isHeightAuto,forPrint:M.forPrint};for(e of this.buildViewPropTransformers(b.viewPropsTransformers))Object.assign(p,e.transform(p,M));return y(z.component,Object.assign({},p))}};function buildToolbarProps(M,e,b,z,p,t){var o=b.build(p,void 0,!1),O=b.buildPrev(e,z,!1),c=b.buildNext(e,z,!1);return{title:t,activeButton:M.type,navUnit:M.singleUnit,isTodayEnabled:o.isValid&&!rangeContainsMarker(e.currentRange,p),isPrevEnabled:O.isValid,isNextEnabled:c.isValid}}function buildViewPropTransformers(M){return M.map(M=>new M)}var Calendar=class extends CalendarImpl{constructor(M,e={}){super(),this.isRendering=!1,this.isRendered=!1,this.currentClassNames=[],this.customContentRenderId=0,this.handleAction=M=>{switch(M.type){case\\\"SET_EVENT_DRAG\\\":case\\\"SET_EVENT_RESIZE\\\":this.renderRunner.tryDrain()}},this.handleData=M=>{this.currentData=M,this.renderRunner.request(M.calendarOptions.rerenderDelay)},this.handleRenderRequest=()=>{if(this.isRendering){this.isRendered=!0;let p=this[\\\"currentData\\\"];flushSync(()=>{D(y(CalendarRoot,{options:p.calendarOptions,theme:p.theme,emitter:p.emitter},(M,e,b,z)=>(this.setClassNames(M),this.setHeight(e),y(RenderId.Provider,{value:this.customContentRenderId},y(CalendarContent,Object.assign({isHeightAuto:b,forPrint:z},p))))),this.el)})}else this.isRendered&&(this.isRendered=!1,D(null,this.el),this.setClassNames([]),this.setHeight(\\\"\\\"))},ensureElHasStyles(M),this.el=M,this.renderRunner=new DelayedRunner(this.handleRenderRequest),new CalendarDataManager({optionOverrides:e,calendarApi:this,onAction:this.handleAction,onData:this.handleData})}render(){var M=this.isRendering;M?this.customContentRenderId+=1:this.isRendering=!0,this.renderRunner.request(),M&&this.updateSize()}destroy(){this.isRendering&&(this.isRendering=!1,this.renderRunner.request())}updateSize(){flushSync(()=>{super.updateSize()})}batchRendering(M){this.renderRunner.pause(\\\"batchRendering\\\"),M(),this.renderRunner.resume(\\\"batchRendering\\\")}pauseRendering(){this.renderRunner.pause(\\\"pauseRendering\\\")}resumeRendering(){this.renderRunner.resume(\\\"pauseRendering\\\",!0)}resetOptions(M,e){this.currentDataManager.resetOptions(M,e)}setClassNames(M){if(!isArraysEqual(M,this.currentClassNames)){var e,b,z=this.el[\\\"classList\\\"];for(e of this.currentClassNames)z.remove(e);for(b of M)z.add(b);this.currentClassNames=M}}setHeight(M){applyStyleProp(this.el,\\\"height\\\",M)}},UPGRADE_WINDOW=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),372),INVALID_LICENSE_URL=\\\"https://fullcalendar.io/docs/schedulerLicenseKey#invalid\\\",OUTDATED_LICENSE_URL=\\\"https://fullcalendar.io/docs/schedulerLicenseKey#outdated\\\",PRESET_LICENSE_KEYS=[\\\"GPL-My-Project-Is-Open-Source\\\",\\\"CC-Attribution-NonCommercial-NoDerivatives\\\"],CSS2={position:\\\"absolute\\\",zIndex:99999,bottom:\\\"1px\\\",left:\\\"1px\\\",background:\\\"#eee\\\",borderColor:\\\"#ddd\\\",borderStyle:\\\"solid\\\",borderWidth:\\\"1px 1px 0 0\\\",padding:\\\"2px 4px\\\",fontSize:\\\"12px\\\",borderTopRightRadius:\\\"3px\\\"};function buildLicenseWarning(M){var e=M.options.schedulerLicenseKey;if(!isImmuneUrl(\\\"undefined\\\"!=typeof window?window.location.href:\\\"\\\")){e=processLicenseKey(e,M.pluginHooks.premiumReleaseDate);if(\\\"valid\\\"!==e)return y(\\\"div\\\",{className:\\\"fc-license-message\\\",style:CSS2},\\\"outdated\\\"===e?y(_,null,\\\"Your license key is too old to work with this version. \\\",y(\\\"a\\\",{href:OUTDATED_LICENSE_URL},\\\"More Info\\\")):y(_,null,\\\"Your license key is invalid. \\\",y(\\\"a\\\",{href:INVALID_LICENSE_URL},\\\"More Info\\\")))}return null}function processLicenseKey(M,e){if(-1!==PRESET_LICENSE_KEYS.indexOf(M))return\\\"valid\\\";var b=(M||\\\"\\\").match(/^(\\\\d+)-fcs-(\\\\d+)$/);if(b&&10===b[1].length){var b=new Date(1e3*parseInt(b[2],10)),z=config.mockSchedulerReleaseDate||e;if(isValidDate(z))return addDays(z,-UPGRADE_WINDOW)\u003Cb?\\\"valid\\\":\\\"outdated\\\"}return\\\"invalid\\\"}function isImmuneUrl(M){return/\\\\w+:\\\\/\\\\/fullcalendar\\\\.io\\\\/|\\\\/examples\\\\/[\\\\w-]+\\\\.html$/.test(M)}var OPTION_REFINERS={schedulerLicenseKey:String},index=createPlugin({name:\\\"@fullcalendar/premium-common\\\",premiumReleaseDate:\\\"2023-05-25\\\",optionRefiners:OPTION_REFINERS,viewContainerAppends:[buildLicenseWarning]}),contexts=(config.COLLAPSIBLE_WIDTH_THRESHOLD=1200,[]),undoFuncs=[];function contextInit(M){contexts.length||attachGlobalHandlers(),contexts.push(M),M.calendarApi.on(\\\"_unmount\\\",()=>{removeExact(contexts,M),contexts.length||removeGlobalHandlers()})}function attachGlobalHandlers(){window.addEventListener(\\\"beforeprint\\\",handleBeforePrint),window.addEventListener(\\\"afterprint\\\",handleAfterPrint)}function removeGlobalHandlers(){window.removeEventListener(\\\"beforeprint\\\",handleBeforePrint),window.removeEventListener(\\\"afterprint\\\",handleAfterPrint)}function handleBeforePrint(){for(var M of contexts)M.emitter.trigger(\\\"_beforeprint\\\");flushSync(()=>{undoFuncs.push(freezeScrollgridWidths())})}function handleAfterPrint(){for(var M of contexts)M.emitter.trigger(\\\"_afterprint\\\");flushSync(()=>{for(;undoFuncs.length;)undoFuncs.shift()()})}function freezeScrollgridWidths(){let M=findElements(document.body,\\\".fc-scrollgrid\\\");return M.forEach(freezeScrollGridWidth),()=>M.forEach(unfreezeScrollGridWidth)}function freezeScrollGridWidth(M){var e=M.getBoundingClientRect().width;(!M.classList.contains(\\\"fc-scrollgrid-collapsible\\\")||e\u003Cconfig.COLLAPSIBLE_WIDTH_THRESHOLD)&&(M.style.width=e+\\\"px\\\")}function unfreezeScrollGridWidth(M){M.style.width=\\\"\\\"}var css_248z2=\\\".fc .fc-event,.fc .fc-scrollgrid table tr{-moz-column-break-inside:avoid;break-inside:avoid}.fc-media-print{display:block;max-width:100%}.fc-media-print .fc-bg-event,.fc-media-print .fc-non-business,.fc-media-print .fc-timegrid-axis-chunk,.fc-media-print .fc-timegrid-slots,.fc-media-print .fc-timeline-slots{display:none}.fc-media-print .fc-h-event,.fc-media-print .fc-toolbar button,.fc-media-print .fc-v-event{background:#fff!important;color:#000!important}.fc-media-print .fc-event,.fc-media-print .fc-event-main{color:#000!important}.fc-media-print .fc-timegrid-event{margin:.5em 0}\\\",index2=(injectStyles(css_248z2),createPlugin({name:\\\"@fullcalendar/adaptive\\\",premiumReleaseDate:\\\"2023-05-25\\\",deps:[index],contextInit:contextInit})),l77=(init_esbuild_inject(),{code:\\\"zh-cn\\\",week:{dow:1,doy:4},buttonText:{prev:\\\"上月\\\",next:\\\"下月\\\",today:\\\"今天\\\",year:\\\"年\\\",month:\\\"月\\\",week:\\\"周\\\",day:\\\"日\\\",list:\\\"日程\\\"},weekText:\\\"周\\\",allDayText:\\\"全天\\\",moreLinkText(M){return\\\"另外 \\\"+M+\\\" 个\\\"},noEventsText:\\\"没有事件显示\\\"}),css_248z3=(init_esbuild_inject(),init_esbuild_inject(),':root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{clear:both;content:\\\"\\\";display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-daygrid-day-frame{min-height:100%;position:relative}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{padding:4px;position:relative;z-index:4}.fc .fc-daygrid-month-start{font-size:1.1em;font-weight:700}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{left:0;position:absolute;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{min-height:2em;position:relative}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{left:0;position:absolute;right:0;top:0}.fc .fc-daygrid-bg-harness{bottom:0;position:absolute;top:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{margin-top:1px;z-index:6}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;margin:0 2px}.fc .fc-daygrid-day-bottom:after,.fc .fc-daygrid-day-bottom:before{clear:both;content:\\\"\\\";display:table}.fc .fc-daygrid-more-link{border-radius:3px;cursor:pointer;line-height:1;margin-top:1px;max-width:100%;overflow:hidden;padding:2px;position:relative;white-space:nowrap;z-index:4}.fc .fc-daygrid-more-link:hover{background-color:rgba(0,0,0,.1)}.fc .fc-daygrid-week-number{background-color:var(--fc-neutral-bg-color);color:var(--fc-neutral-text-color);min-width:1.5em;padding:2px;position:absolute;text-align:center;top:0;z-index:5}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-more-link{float:left}.fc-direction-ltr .fc-daygrid-week-number{border-radius:0 0 3px 0;left:0}.fc-direction-rtl .fc-daygrid-more-link{float:right}.fc-direction-rtl .fc-daygrid-week-number{border-radius:0 0 0 3px;right:0}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{border-radius:3px;font-size:var(--fc-small-font-size);position:relative;white-space:nowrap}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{align-items:center;display:flex;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;font-weight:700;min-width:0;overflow:hidden}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-daygrid-event-dot{border:calc(var(--fc-daygrid-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-daygrid-event-dot-width)/2);box-sizing:content-box;height:0;margin:0 4px;width:0}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}');function splitSegsByRow(M,e){var b,z=[];for(let p=0;p\u003Ce;p+=1)z[p]=[];for(b of M)z[b.row].push(b);return z}function splitSegsByFirstCol(M,e){var b,z=[];for(let p=0;p\u003Ce;p+=1)z[p]=[];for(b of M)z[b.firstCol].push(b);return z}function splitInteractionByRow(e,b){var z=[];if(e){for(let M=0;M\u003Cb;M+=1)z[M]={affectedInstances:e.affectedInstances,isEvent:e.isEvent,segs:[]};for(var p of e.segs)z[p.row].segs.push(p)}else for(let M=0;M\u003Cb;M+=1)z[M]=null;return z}injectStyles(css_248z3);var DEFAULT_TABLE_EVENT_TIME_FORMAT=createFormatter({hour:\\\"numeric\\\",minute:\\\"2-digit\\\",omitZeroMinute:!0,meridiem:\\\"narrow\\\"});function hasListItemDisplay(M){var e=M.eventRange.ui[\\\"display\\\"];return\\\"list-item\\\"===e||\\\"auto\\\"===e&&!M.eventRange.def.allDay&&M.firstCol===M.lastCol&&M.isStart&&M.isEnd}var TableBlockEvent=class extends BaseComponent{render(){var M=this[\\\"props\\\"];return y(StandardEvent,Object.assign({},M,{elClasses:[\\\"fc-daygrid-event\\\",\\\"fc-daygrid-block-event\\\",\\\"fc-h-event\\\"],defaultTimeFormat:DEFAULT_TABLE_EVENT_TIME_FORMAT,defaultDisplayEventEnd:M.defaultDisplayEventEnd,disableResizing:!M.seg.eventRange.def.allDay}))}},TableListItemEvent=class extends BaseComponent{render(){var{props:M,context:e}=this,b=e[\\\"options\\\"],z=M[\\\"seg\\\"],z=buildSegTimeText(z,b.eventTimeFormat||DEFAULT_TABLE_EVENT_TIME_FORMAT,e,!0,M.defaultDisplayEventEnd);return y(EventContainer,Object.assign({},M,{elTag:\\\"a\\\",elClasses:[\\\"fc-daygrid-event\\\",\\\"fc-daygrid-dot-event\\\"],elAttrs:getSegAnchorAttrs(M.seg,e),defaultGenerator:renderInnerContent2,timeText:z,isResizing:!1,isDateSelecting:!1}))}};function renderInnerContent2(M){return y(_,null,y(\\\"div\\\",{className:\\\"fc-daygrid-event-dot\\\",style:{borderColor:M.borderColor||M.backgroundColor}}),M.timeText&&y(\\\"div\\\",{className:\\\"fc-event-time\\\"},M.timeText),y(\\\"div\\\",{className:\\\"fc-event-title\\\"},M.event.title||y(_,null,\\\" \\\")))}var TableCellMoreLink=class extends BaseComponent{constructor(){super(...arguments),this.compileSegs=memoize(compileSegs)}render(){let z=this[\\\"props\\\"],{allSegs:M,invisibleSegs:e}=this.compileSegs(z.singlePlacements);return y(MoreLinkContainer,{elClasses:[\\\"fc-daygrid-more-link\\\"],dateProfile:z.dateProfile,todayRange:z.todayRange,allDayDate:z.allDayDate,moreCnt:z.moreCnt,allSegs:M,hiddenSegs:e,alignmentElRef:z.alignmentElRef,alignGridTop:z.alignGridTop,extraDateSpan:z.extraDateSpan,popoverContent:()=>{let b=(z.eventDrag?z.eventDrag.affectedInstances:null)||(z.eventResize?z.eventResize.affectedInstances:null)||{};return y(_,null,M.map(M=>{var e=M.eventRange.instance.instanceId;return y(\\\"div\\\",{className:\\\"fc-daygrid-event-harness\\\",key:e,style:{visibility:b[e]?\\\"hidden\\\":\\\"\\\"}},hasListItemDisplay(M)?y(TableListItemEvent,Object.assign({seg:M,isDragging:!1,isSelected:e===z.eventSelection,defaultDisplayEventEnd:!1},getSegMeta(M,z.todayRange))):y(TableBlockEvent,Object.assign({seg:M,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:e===z.eventSelection,defaultDisplayEventEnd:!1},getSegMeta(M,z.todayRange))))}))}})}};function compileSegs(M){var e,b=[],z=[];for(e of M)b.push(e.seg),e.isVisible||z.push(e.seg);return{allSegs:b,invisibleSegs:z}}var DEFAULT_WEEK_NUM_FORMAT=createFormatter({week:\\\"narrow\\\"}),TableCell=class extends DateComponent{constructor(){super(...arguments),this.rootElRef=d(),this.state={dayNumberId:getUniqueDomId()},this.handleRootEl=M=>{setRef(this.rootElRef,M),setRef(this.props.elRef,M)}}render(){let{context:b,props:z,state:p,rootElRef:t}=this,{options:o,dateEnv:M}=b,{date:O,dateProfile:e}=z;const c=z.showDayNumber&&shouldDisplayMonthStart(O,e.currentRange,M);return y(DayCellContainer,{elTag:\\\"td\\\",elRef:this.handleRootEl,elClasses:[\\\"fc-daygrid-day\\\",...z.extraClassNames||[]],elAttrs:Object.assign(Object.assign(Object.assign({},z.extraDataAttrs),z.showDayNumber?{\\\"aria-labelledby\\\":p.dayNumberId}:{}),{role:\\\"gridcell\\\"}),defaultGenerator:renderTopInner,date:O,dateProfile:e,todayRange:z.todayRange,showDayNumber:z.showDayNumber,isMonthStart:c,extraRenderProps:z.extraRenderProps},(M,e)=>y(\\\"div\\\",{ref:z.innerElRef,className:\\\"fc-daygrid-day-frame fc-scrollgrid-sync-inner\\\",style:{minHeight:z.minHeight}},z.showWeekNumber&&y(WeekNumberContainer,{elTag:\\\"a\\\",elClasses:[\\\"fc-daygrid-week-number\\\"],elAttrs:buildNavLinkAttrs(b,O,\\\"week\\\"),date:O,defaultFormat:DEFAULT_WEEK_NUM_FORMAT}),!e.isDisabled&&(z.showDayNumber||hasCustomDayCellContent(o)||z.forceDayTop)?y(\\\"div\\\",{className:\\\"fc-daygrid-day-top\\\"},y(M,{elTag:\\\"a\\\",elClasses:[\\\"fc-daygrid-day-number\\\",c&&\\\"fc-daygrid-month-start\\\"],elAttrs:Object.assign(Object.assign({},buildNavLinkAttrs(b,O)),{id:p.dayNumberId})})):z.showDayNumber?y(\\\"div\\\",{className:\\\"fc-daygrid-day-top\\\",style:{visibility:\\\"hidden\\\"}},y(\\\"a\\\",{className:\\\"fc-daygrid-day-number\\\"},\\\" \\\")):void 0,y(\\\"div\\\",{className:\\\"fc-daygrid-day-events\\\",ref:z.fgContentElRef},z.fgContent,y(\\\"div\\\",{className:\\\"fc-daygrid-day-bottom\\\",style:{marginTop:z.moreMarginTop}},y(TableCellMoreLink,{allDayDate:O,singlePlacements:z.singlePlacements,moreCnt:z.moreCnt,alignmentElRef:t,alignGridTop:!z.showDayNumber,extraDateSpan:z.extraDateSpan,dateProfile:z.dateProfile,eventSelection:z.eventSelection,eventDrag:z.eventDrag,eventResize:z.eventResize,todayRange:z.todayRange}))),y(\\\"div\\\",{className:\\\"fc-daygrid-day-bg\\\"},z.bgContent)))}};function renderTopInner(M){return M.dayNumberText||y(_,null,\\\" \\\")}function shouldDisplayMonthStart(M,e,b){var{start:z,end:p}=e,t=addMs(p,-1),o=b.getYear(z),O=b.getMonth(z),c=b.getYear(t),t=b.getMonth(t);return!(o===c&&O===t)&&Boolean(M.valueOf()===z.valueOf()||1===b.getDay(M)&&M.valueOf()\u003Cp.valueOf())}function computeFgSegPlacement(e,M,b,z,p,t,o){var O=new DayGridSegHierarchy,c=(O.allowReslicing=!0,O.strictOrder=z,!0===M||!0===b?(O.maxCoord=t,O.hiddenConsumes=!0):\\\"number\\\"==typeof M?O.maxStackCnt=M:\\\"number\\\"==typeof b&&(O.maxStackCnt=b,O.hiddenConsumes=!0),[]),n=[];for(let h=0;h\u003Ce.length;h+=1){var i=e[h],r=i.eventRange.instance[\\\"instanceId\\\"],r=p[r];null!=r?c.push({index:h,thickness:r,span:{start:i.firstCol,end:i.lastCol+1}}):n.push(i)}var a,A,s=O.addSegs(c),{singleColPlacements:d,multiColPlacements:q,leftoverMargins:l}=placeRects(O.toRects(),e,o),u=[],W=[];for(a of n){q[a.firstCol].push({seg:a,isVisible:!1,isAbsolute:!0,absoluteTop:0,marginTop:0});for(let M=a.firstCol;M\u003C=a.lastCol;M+=1)d[M].push({seg:resliceSeg(a,M,M+1,o),isVisible:!1,isAbsolute:!1,absoluteTop:0,marginTop:0})}for(let g=0;g\u003Co.length;g+=1)u.push(0);for(A of s){var f=e[A.index],R=A.span;q[R.start].push({seg:resliceSeg(f,R.start,R.end,o),isVisible:!1,isAbsolute:!0,absoluteTop:0,marginTop:0});for(let M=R.start;M\u003CR.end;M+=1)u[M]+=1,d[M].push({seg:resliceSeg(f,M,M+1,o),isVisible:!1,isAbsolute:!1,absoluteTop:0,marginTop:0})}for(let m=0;m\u003Co.length;m+=1)W.push(l[m]);return{singleColPlacements:d,multiColPlacements:q,moreCnts:u,moreMarginTops:W}}function placeRects(M,b,z){var p=groupRectsByEachCol(M,z.length),t=[],o=[],O=[];for(let l=0;l\u003Cz.length;l+=1){var c,n=p[l],i=[];let M=0,e=0;for(c of n){var r=b[c.index];i.push({seg:resliceSeg(r,l,l+1,z),isVisible:!0,isAbsolute:!1,absoluteTop:c.levelCoord,marginTop:c.levelCoord-M}),M=c.levelCoord+c.thickness}var a,A=[];M=0,e=0;for(a of n){var s=b[a.index],d=1\u003Ca.span.end-a.span.start,q=a.span.start===l;e+=a.levelCoord-M,M=a.levelCoord+a.thickness,d?(e+=a.thickness,q&&A.push({seg:resliceSeg(s,a.span.start,a.span.end,z),isVisible:!0,isAbsolute:!0,absoluteTop:a.levelCoord,marginTop:0})):q&&(A.push({seg:resliceSeg(s,a.span.start,a.span.end,z),isVisible:!0,isAbsolute:!1,absoluteTop:a.levelCoord,marginTop:e}),e=0)}t.push(i),o.push(A),O.push(e)}return{singleColPlacements:t,multiColPlacements:o,leftoverMargins:O}}function groupRectsByEachCol(e,M){var b,z=[];for(let p=0;p\u003CM;p+=1)z.push([]);for(b of e)for(let M=b.span.start;M\u003Cb.span.end;M+=1)z[M].push(b);return z}function resliceSeg(M,e,b,z){var p,t,o;return M.firstCol===e&&M.lastCol===b-1?M:(o=intersectRanges(t=(p=M.eventRange).range,{start:z[e].date,end:addDays(z[b-1].date,1)}),Object.assign(Object.assign({},M),{firstCol:e,lastCol:b-1,eventRange:{def:p.def,ui:Object.assign(Object.assign({},p.ui),{durationEditable:!1}),instance:p.instance,range:o},isStart:M.isStart&&o.start.valueOf()===t.start.valueOf(),isEnd:M.isEnd&&o.end.valueOf()===t.end.valueOf()}))}var DayGridSegHierarchy=class extends SegHierarchy{constructor(){super(...arguments),this.hiddenConsumes=!1,this.forceHidden={}}addSegs(M){var e=super.addSegs(M),b=this[\\\"entriesByLevel\\\"],z=M=>!this.forceHidden[buildEntryKey(M)];for(let p=0;p\u003Cb.length;p+=1)b[p]=b[p].filter(z);return e}handleInvalidInsertion(M,e,b){var z,p,{entriesByLevel:t,forceHidden:o}=this,{touchingEntry:O,touchingLevel:c,touchingLateral:n}=M;return this.hiddenConsumes&&O&&(o[z=buildEntryKey(O)]||(this.allowReslicing?(o[buildEntryKey(p=Object.assign(Object.assign({},O),{span:intersectSpans(O.span,e.span)}))]=!0,t[c][n]=p,this.splitEntry(O,e,b)):(o[z]=!0,b.push(O)))),super.handleInvalidInsertion(M,e,b)}},TableRow=class extends DateComponent{constructor(){super(...arguments),this.cellElRefs=new RefMap,this.frameElRefs=new RefMap,this.fgElRefs=new RefMap,this.segHarnessRefs=new RefMap,this.rootElRef=d(),this.state={framePositions:null,maxContentHeight:null,eventInstanceHeights:{}},this.handleResize=M=>{M&&this.updateSizing(!0)}}render(){let{props:p,state:M,context:e}=this;var b=e[\\\"options\\\"],z=p.cells.length;let t=splitSegsByFirstCol(p.businessHourSegs,z),o=splitSegsByFirstCol(p.bgEventSegs,z),O=splitSegsByFirstCol(this.getHighlightSegs(),z),c=splitSegsByFirstCol(this.getMirrorSegs(),z),{singleColPlacements:n,multiColPlacements:i,moreCnts:r,moreMarginTops:a}=computeFgSegPlacement(sortEventSegs(p.fgEventSegs,b.eventOrder),p.dayMaxEvents,p.dayMaxEventRows,b.eventOrderStrict,M.eventInstanceHeights,M.maxContentHeight,p.cells),A=p.eventDrag&&p.eventDrag.affectedInstances||p.eventResize&&p.eventResize.affectedInstances||{};return y(\\\"tr\\\",{ref:this.rootElRef,role:\\\"row\\\"},p.renderIntro&&p.renderIntro(),p.cells.map((M,e)=>{var b=this.renderFgSegs(e,(p.forPrint?n:i)[e],p.todayRange,A),z=this.renderFgSegs(e,buildMirrorPlacements(c[e],i),p.todayRange,{},Boolean(p.eventDrag),Boolean(p.eventResize),!1);return y(TableCell,{key:M.key,elRef:this.cellElRefs.createRef(M.key),innerElRef:this.frameElRefs.createRef(M.key),dateProfile:p.dateProfile,date:M.date,showDayNumber:p.showDayNumbers,showWeekNumber:p.showWeekNumbers&&0===e,forceDayTop:p.showWeekNumbers,todayRange:p.todayRange,eventSelection:p.eventSelection,eventDrag:p.eventDrag,eventResize:p.eventResize,extraRenderProps:M.extraRenderProps,extraDataAttrs:M.extraDataAttrs,extraClassNames:M.extraClassNames,extraDateSpan:M.extraDateSpan,moreCnt:r[e],moreMarginTop:a[e],singlePlacements:n[e],fgContentElRef:this.fgElRefs.createRef(M.key),fgContent:y(_,null,y(_,null,b),y(_,null,z)),bgContent:y(_,null,this.renderFillSegs(O[e],\\\"highlight\\\"),this.renderFillSegs(t[e],\\\"non-business\\\"),this.renderFillSegs(o[e],\\\"bg-event\\\")),minHeight:p.cellMinHeight})}))}componentDidMount(){this.updateSizing(!0),this.context.addResizeHandler(this.handleResize)}componentDidUpdate(M,e){var b=this.props;this.updateSizing(!isPropsEqual(M,b))}componentWillUnmount(){this.context.removeResizeHandler(this.handleResize)}getHighlightSegs(){var M=this[\\\"props\\\"];return M.eventDrag&&M.eventDrag.segs.length?M.eventDrag.segs:M.eventResize&&M.eventResize.segs.length?M.eventResize.segs:M.dateSelectionSegs}getMirrorSegs(){var M=this[\\\"props\\\"];return M.eventResize&&M.eventResize.segs.length?M.eventResize.segs:[]}renderFgSegs(b,M,z,p,t,o,O){var c=this[\\\"context\\\"],n=this.props[\\\"eventSelection\\\"],i=this.state[\\\"framePositions\\\"],r=1===this.props.cells.length,a=t||o||O,A=[];if(i)for(var s of M){var d=s[\\\"seg\\\"],q=d.eventRange.instance[\\\"instanceId\\\"],l=q+\\\":\\\"+b,u=s.isVisible&&!p[q],W=s.isAbsolute;let M=\\\"\\\",e=\\\"\\\";W&&(c.isRtl?(e=0,M=i.lefts[d.lastCol]-i.lefts[d.firstCol]):(M=0,e=i.rights[d.firstCol]-i.rights[d.lastCol])),A.push(y(\\\"div\\\",{className:\\\"fc-daygrid-event-harness\\\"+(W?\\\" fc-daygrid-event-harness-abs\\\":\\\"\\\"),key:l,ref:a?null:this.segHarnessRefs.createRef(l),style:{visibility:u?\\\"\\\":\\\"hidden\\\",marginTop:W?\\\"\\\":s.marginTop,top:W?s.absoluteTop:\\\"\\\",left:M,right:e}},hasListItemDisplay(d)?y(TableListItemEvent,Object.assign({seg:d,isDragging:t,isSelected:q===n,defaultDisplayEventEnd:r},getSegMeta(d,z))):y(TableBlockEvent,Object.assign({seg:d,isDragging:t,isResizing:o,isDateSelecting:O,isSelected:q===n,defaultDisplayEventEnd:r},getSegMeta(d,z)))))}return A}renderFillSegs(M,e){var b=this.context[\\\"isRtl\\\"],z=this.props[\\\"todayRange\\\"],p=this.state[\\\"framePositions\\\"],t=[];if(p)for(var o of M){var O=b?{right:0,left:p.lefts[o.lastCol]-p.lefts[o.firstCol]}:{left:0,right:p.rights[o.firstCol]-p.rights[o.lastCol]};t.push(y(\\\"div\\\",{key:buildEventRangeKey(o.eventRange),className:\\\"fc-daygrid-bg-harness\\\",style:O},\\\"bg-event\\\"===e?y(BgEvent,Object.assign({seg:o},getSegMeta(o,z))):renderFill(e)))}return y(_,{},...t)}updateSizing(M){let{props:e,state:b,frameElRefs:z}=this;var p,t,o;e.forPrint||null===e.clientWidth||(M&&(o=e.cells.map(M=>z.currentMap[M.key])).length&&(t=this.rootElRef.current,p=new PositionCache(t,o,!0,!1),b.framePositions&&b.framePositions.similarTo(p)||this.setState({framePositions:new PositionCache(t,o,!0,!1)})),p=this.state.eventInstanceHeights,t=this.queryEventInstanceHeights(),o=!0===e.dayMaxEvents||!0===e.dayMaxEventRows,this.safeSetState({eventInstanceHeights:Object.assign(Object.assign({},p),t),maxContentHeight:o?this.computeMaxContentHeight():null}))}queryEventInstanceHeights(){var M,e=this.segHarnessRefs.currentMap,b={};for(M in e){var z=Math.round(e[M].getBoundingClientRect().height),p=M.split(\\\":\\\")[0];b[p]=Math.max(b[p]||0,z)}return b}computeMaxContentHeight(){var M=this.props.cells[0].key,e=this.cellElRefs.currentMap[M],M=this.fgElRefs.currentMap[M];return e.getBoundingClientRect().bottom-M.getBoundingClientRect().top}getCellEls(){let e=this.cellElRefs.currentMap;return this.props.cells.map(M=>e[M.key])}};function buildMirrorPlacements(M,e){if(!M.length)return[];let b=buildAbsoluteTopHash(e);return M.map(M=>({seg:M,isVisible:!0,isAbsolute:!0,absoluteTop:b[M.eventRange.instance.instanceId],marginTop:0}))}function buildAbsoluteTopHash(M){var e,b={};for(e of M)for(var z of e)b[z.seg.eventRange.instance.instanceId]=z.absoluteTop;return b}TableRow.addStateEquality({eventInstanceHeights:isPropsEqual});var TableRows=class extends DateComponent{constructor(){super(...arguments),this.splitBusinessHourSegs=memoize(splitSegsByRow),this.splitBgEventSegs=memoize(splitSegsByRow),this.splitFgEventSegs=memoize(splitSegsByRow),this.splitDateSelectionSegs=memoize(splitSegsByRow),this.splitEventDrag=memoize(splitInteractionByRow),this.splitEventResize=memoize(splitInteractionByRow),this.rowRefs=new RefMap}render(){let{props:z,context:M}=this,p=z.cells.length,t=this.splitBusinessHourSegs(z.businessHourSegs,p),o=this.splitBgEventSegs(z.bgEventSegs,p),O=this.splitFgEventSegs(z.fgEventSegs,p),c=this.splitDateSelectionSegs(z.dateSelectionSegs,p),n=this.splitEventDrag(z.eventDrag,p),i=this.splitEventResize(z.eventResize,p),r=7\u003C=p&&z.clientWidth?z.clientWidth/M.options.aspectRatio/6:null;return y(NowTimer,{unit:\\\"day\\\"},(M,b)=>y(_,null,z.cells.map((M,e)=>y(TableRow,{ref:this.rowRefs.createRef(e),key:M.length?M[0].date.toISOString():e,showDayNumbers:1\u003Cp,showWeekNumbers:z.showWeekNumbers,todayRange:b,dateProfile:z.dateProfile,cells:M,renderIntro:z.renderRowIntro,businessHourSegs:t[e],eventSelection:z.eventSelection,bgEventSegs:o[e].filter(isSegAllDay),fgEventSegs:O[e],dateSelectionSegs:c[e],eventDrag:n[e],eventResize:i[e],dayMaxEvents:z.dayMaxEvents,dayMaxEventRows:z.dayMaxEventRows,clientWidth:z.clientWidth,clientHeight:z.clientHeight,cellMinHeight:r,forPrint:z.forPrint}))))}componentDidMount(){var M=this.rowRefs.currentMap[0].getCellEls()[0];this.rootEl=M?M.closest(\\\".fc-daygrid-body\\\"):null,this.rootEl&&this.context.registerInteractiveComponent(this,{el:this.rootEl,isHitComboAllowed:this.props.isHitComboAllowed})}componentWillUnmount(){this.rootEl&&(this.context.unregisterInteractiveComponent(this),this.rootEl=null)}prepareHits(){this.rowPositions=new PositionCache(this.rootEl,this.rowRefs.collect().map(M=>M.getCellEls()[0]),!1,!0),this.colPositions=new PositionCache(this.rootEl,this.rowRefs.currentMap[0].getCellEls(),!0,!1)}queryHit(M,e){var b,{colPositions:z,rowPositions:p}=this,t=z.leftToIndex(M),o=p.topToIndex(e);return null!=o&&null!=t?(b=this.props.cells[o][t],{dateProfile:this.props.dateProfile,dateSpan:Object.assign({range:this.getCellRange(o,t),allDay:!0},b.extraDateSpan),dayEl:this.getCellEl(o,t),rect:{left:z.lefts[t],right:z.rights[t],top:p.tops[o],bottom:p.bottoms[o]},layer:0}):null}getCellEl(M,e){return this.rowRefs.currentMap[M].getCellEls()[e]}getCellRange(M,e){var b=this.props.cells[M][e].date;return{start:b,end:addDays(b,1)}}};function isSegAllDay(M){return M.eventRange.def.allDay}var Table=class extends DateComponent{constructor(){super(...arguments),this.elRef=d(),this.needsScrollReset=!1}render(){var M=this[\\\"props\\\"];let{dayMaxEventRows:e,dayMaxEvents:b,expandRows:z}=M,p=!0===b||!0===e;p&&!z&&(p=!1,e=null,b=null);var t=[\\\"fc-daygrid-body\\\",p?\\\"fc-daygrid-body-balanced\\\":\\\"fc-daygrid-body-unbalanced\\\",z?\\\"\\\":\\\"fc-daygrid-body-natural\\\"];return y(\\\"div\\\",{ref:this.elRef,className:t.join(\\\" \\\"),style:{width:M.clientWidth,minWidth:M.tableMinWidth}},y(\\\"table\\\",{role:\\\"presentation\\\",className:\\\"fc-scrollgrid-sync-table\\\",style:{width:M.clientWidth,minWidth:M.tableMinWidth,height:z?M.clientHeight:\\\"\\\"}},M.colGroupNode,y(\\\"tbody\\\",{role:\\\"presentation\\\"},y(TableRows,{dateProfile:M.dateProfile,cells:M.cells,renderRowIntro:M.renderRowIntro,showWeekNumbers:M.showWeekNumbers,clientWidth:M.clientWidth,clientHeight:M.clientHeight,businessHourSegs:M.businessHourSegs,bgEventSegs:M.bgEventSegs,fgEventSegs:M.fgEventSegs,dateSelectionSegs:M.dateSelectionSegs,eventSelection:M.eventSelection,eventDrag:M.eventDrag,eventResize:M.eventResize,dayMaxEvents:b,dayMaxEventRows:e,forPrint:M.forPrint,isHitComboAllowed:M.isHitComboAllowed}))))}componentDidMount(){this.requestScrollReset()}componentDidUpdate(M){M.dateProfile!==this.props.dateProfile?this.requestScrollReset():this.flushScrollReset()}requestScrollReset(){this.needsScrollReset=!0,this.flushScrollReset()}flushScrollReset(){var M,e,b;this.needsScrollReset&&this.props.clientWidth&&((b=getScrollSubjectEl(this.elRef.current,this.props.dateProfile))&&(e=(M=b.closest(\\\".fc-daygrid-body\\\")).closest(\\\".fc-scroller\\\"),b=b.getBoundingClientRect().top-M.getBoundingClientRect().top,e.scrollTop=b?1+b:0),this.needsScrollReset=!1)}};function getScrollSubjectEl(M,e){let b;return b=(b=e.currentRangeUnit.match(/year|month/)?M.querySelector(`[data-date=\\\"${formatIsoMonthStr(e.currentDate)}-01\\\"]`):b)||M.querySelector(`[data-date=\\\"${formatDayString(e.currentDate)}\\\"]`)}var DayTableSlicer=class extends Slicer{constructor(){super(...arguments),this.forceDayIfListItem=!0}sliceRange(M,e){return e.sliceRange(M)}},DayTable=class extends DateComponent{constructor(){super(...arguments),this.slicer=new DayTableSlicer,this.tableRef=d()}render(){var{props:M,context:e}=this;return y(Table,Object.assign({ref:this.tableRef},this.slicer.sliceProps(M,M.dateProfile,M.nextDayThreshold,e,M.dayTableModel),{dateProfile:M.dateProfile,cells:M.dayTableModel.cells,colGroupNode:M.colGroupNode,tableMinWidth:M.tableMinWidth,renderRowIntro:M.renderRowIntro,dayMaxEvents:M.dayMaxEvents,dayMaxEventRows:M.dayMaxEventRows,showWeekNumbers:M.showWeekNumbers,expandRows:M.expandRows,headerAlignElRef:M.headerAlignElRef,clientWidth:M.clientWidth,clientHeight:M.clientHeight,forPrint:M.forPrint}))}},TableDateProfileGenerator=class extends DateProfileGenerator{buildRenderRange(M,e,b){var z=this[\\\"props\\\"];return buildDayTableRenderRange({currentRange:super.buildRenderRange(M,e,b),snapToWeek:/^(year|month)$/.test(e),fixedWeekCount:z.fixedWeekCount,dateEnv:z.dateEnv})}};function buildDayTableRenderRange(M){var e,{dateEnv:b,currentRange:z}=M;let{start:p,end:t}=z;return M.snapToWeek&&(p=b.startOfWeek(p),(e=b.startOfWeek(t)).valueOf()!==t.valueOf())&&(t=addWeeks(e,1)),M.fixedWeekCount&&(e=b.startOfWeek(b.startOfMonth(addDays(z.end,-1))),z=Math.ceil(diffWeeks(e,t)),t=addWeeks(t,6-z)),{start:p,end:t}}var TableView=class extends DateComponent{constructor(){super(...arguments),this.headerElRef=d()}renderSimpleLayout(M,e){var{props:b,context:z}=this,p=[],t=getStickyHeaderDates(z.options);return M&&p.push({type:\\\"header\\\",key:\\\"header\\\",isSticky:t,chunk:{elRef:this.headerElRef,tableClassName:\\\"fc-col-header\\\",rowContent:M}}),p.push({type:\\\"body\\\",key:\\\"body\\\",liquid:!0,chunk:{content:e}}),y(ViewContainer,{elClasses:[\\\"fc-daygrid\\\"],viewSpec:z.viewSpec},y(SimpleScrollGrid,{liquid:!b.isHeightAuto&&!b.forPrint,collapsibleWidth:b.forPrint,cols:[],sections:p}))}renderHScrollLayout(M,e,b,z){var p,t,o,O,c,n=this.context.pluginHooks.scrollGridImpl;if(n)return({props:p,context:t}=this),o=!p.forPrint&&getStickyHeaderDates(t.options),O=!p.forPrint&&getStickyFooterScrollbar(t.options),c=[],M&&c.push({type:\\\"header\\\",key:\\\"header\\\",isSticky:o,chunks:[{key:\\\"main\\\",elRef:this.headerElRef,tableClassName:\\\"fc-col-header\\\",rowContent:M}]}),c.push({type:\\\"body\\\",key:\\\"body\\\",liquid:!0,chunks:[{key:\\\"main\\\",content:e}]}),O&&c.push({type:\\\"footer\\\",key:\\\"footer\\\",isSticky:!0,chunks:[{key:\\\"main\\\",content:renderScrollShim}]}),y(ViewContainer,{elClasses:[\\\"fc-daygrid\\\"],viewSpec:t.viewSpec},y(n,{liquid:!p.isHeightAuto&&!p.forPrint,forPrint:p.forPrint,collapsibleWidth:p.forPrint,colGroups:[{cols:[{span:b,minWidth:z}]}],sections:c}));throw new Error(\\\"No ScrollGrid implementation\\\")}},DayTableView=class extends TableView{constructor(){super(...arguments),this.buildDayTableModel=memoize(buildDayTableModel),this.headerRef=d(),this.tableRef=d()}render(){let{options:e,dateProfileGenerator:M}=this.context,b=this[\\\"props\\\"],z=this.buildDayTableModel(b.dateProfile,M);var p=e.dayHeaders&&y(DayHeader,{ref:this.headerRef,dateProfile:b.dateProfile,dates:z.headerDates,datesRepDistinctDays:1===z.rowCnt}),t=M=>y(DayTable,{ref:this.tableRef,dateProfile:b.dateProfile,dayTableModel:z,businessHours:b.businessHours,dateSelection:b.dateSelection,eventStore:b.eventStore,eventUiBases:b.eventUiBases,eventSelection:b.eventSelection,eventDrag:b.eventDrag,eventResize:b.eventResize,nextDayThreshold:e.nextDayThreshold,colGroupNode:M.tableColGroupNode,tableMinWidth:M.tableMinWidth,dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,showWeekNumbers:e.weekNumbers,expandRows:!b.isHeightAuto,headerAlignElRef:this.headerElRef,clientWidth:M.clientWidth,clientHeight:M.clientHeight,forPrint:b.forPrint});return e.dayMinWidth?this.renderHScrollLayout(p,t,z.colCnt,e.dayMinWidth):this.renderSimpleLayout(p,t)}};function buildDayTableModel(M,e){var b=new DaySeriesModel(M.renderRange,e);return new DayTableModel(b,/year|month|week/.test(M.currentRangeUnit))}var index3=createPlugin({name:\\\"@fullcalendar/daygrid\\\",initialView:\\\"dayGridMonth\\\",views:{dayGrid:{component:DayTableView,dateProfileGeneratorClass:TableDateProfileGenerator},dayGridDay:{type:\\\"dayGrid\\\",duration:{days:1}},dayGridWeek:{type:\\\"dayGrid\\\",duration:{weeks:1}},dayGridMonth:{type:\\\"dayGrid\\\",duration:{months:1},fixedWeekCount:!0},dayGridYear:{type:\\\"dayGrid\\\",duration:{years:1}}}}),ignoreMouseDepth=(init_esbuild_inject(),config.touchMouseIgnoreWait=500,0),listenerCnt=0,isWindowTouchMoveCancelled=!1,PointerDragging=class{constructor(M){this.subjectEl=null,this.selector=\\\"\\\",this.handleSelector=\\\"\\\",this.shouldIgnoreMove=!1,this.shouldWatchScroll=!0,this.isDragging=!1,this.isTouchDragging=!1,this.wasTouchScroll=!1,this.handleMouseDown=M=>{var e;!this.shouldIgnoreMouse()&&isPrimaryMouseButton(M)&&this.tryStart(M)&&(e=this.createEventFromMouse(M,!0),this.emitter.trigger(\\\"pointerdown\\\",e),this.initScrollWatch(e),this.shouldIgnoreMove||document.addEventListener(\\\"mousemove\\\",this.handleMouseMove),document.addEventListener(\\\"mouseup\\\",this.handleMouseUp))},this.handleMouseMove=M=>{var e=this.createEventFromMouse(M);this.recordCoords(e),this.emitter.trigger(\\\"pointermove\\\",e)},this.handleMouseUp=M=>{document.removeEventListener(\\\"mousemove\\\",this.handleMouseMove),document.removeEventListener(\\\"mouseup\\\",this.handleMouseUp),this.emitter.trigger(\\\"pointerup\\\",this.createEventFromMouse(M)),this.cleanup()},this.handleTouchStart=M=>{var e;this.tryStart(M)&&(this.isTouchDragging=!0,e=this.createEventFromTouch(M,!0),this.emitter.trigger(\\\"pointerdown\\\",e),this.initScrollWatch(e),e=M.target,this.shouldIgnoreMove||e.addEventListener(\\\"touchmove\\\",this.handleTouchMove),e.addEventListener(\\\"touchend\\\",this.handleTouchEnd),e.addEventListener(\\\"touchcancel\\\",this.handleTouchEnd),window.addEventListener(\\\"scroll\\\",this.handleTouchScroll,!0))},this.handleTouchMove=M=>{var e=this.createEventFromTouch(M);this.recordCoords(e),this.emitter.trigger(\\\"pointermove\\\",e)},this.handleTouchEnd=M=>{var e;this.isDragging&&((e=M.target).removeEventListener(\\\"touchmove\\\",this.handleTouchMove),e.removeEventListener(\\\"touchend\\\",this.handleTouchEnd),e.removeEventListener(\\\"touchcancel\\\",this.handleTouchEnd),window.removeEventListener(\\\"scroll\\\",this.handleTouchScroll,!0),this.emitter.trigger(\\\"pointerup\\\",this.createEventFromTouch(M)),this.cleanup(),this.isTouchDragging=!1,startIgnoringMouse())},this.handleTouchScroll=()=>{this.wasTouchScroll=!0},this.handleScroll=M=>{var e,b;this.shouldIgnoreMove||(e=window.pageXOffset-this.prevScrollX+this.prevPageX,b=window.pageYOffset-this.prevScrollY+this.prevPageY,this.emitter.trigger(\\\"pointermove\\\",{origEvent:M,isTouch:this.isTouchDragging,subjectEl:this.subjectEl,pageX:e,pageY:b,deltaX:e-this.origPageX,deltaY:b-this.origPageY}))},this.containerEl=M,this.emitter=new Emitter,M.addEventListener(\\\"mousedown\\\",this.handleMouseDown),M.addEventListener(\\\"touchstart\\\",this.handleTouchStart,{passive:!0}),listenerCreated()}destroy(){this.containerEl.removeEventListener(\\\"mousedown\\\",this.handleMouseDown),this.containerEl.removeEventListener(\\\"touchstart\\\",this.handleTouchStart,{passive:!0}),listenerDestroyed()}tryStart(M){var e=this.querySubjectEl(M),b=M.target;return!(!e||this.handleSelector&&!elementClosest(b,this.handleSelector)||(this.subjectEl=e,this.isDragging=!0,this.wasTouchScroll=!1))}cleanup(){isWindowTouchMoveCancelled=!1,this.isDragging=!1,this.subjectEl=null,this.destroyScrollWatch()}querySubjectEl(M){return this.selector?elementClosest(M.target,this.selector):this.containerEl}shouldIgnoreMouse(){return ignoreMouseDepth||this.isTouchDragging}cancelTouchScroll(){this.isDragging&&(isWindowTouchMoveCancelled=!0)}initScrollWatch(M){this.shouldWatchScroll&&(this.recordCoords(M),window.addEventListener(\\\"scroll\\\",this.handleScroll,!0))}recordCoords(M){this.shouldWatchScroll&&(this.prevPageX=M.pageX,this.prevPageY=M.pageY,this.prevScrollX=window.pageXOffset,this.prevScrollY=window.pageYOffset)}destroyScrollWatch(){this.shouldWatchScroll&&window.removeEventListener(\\\"scroll\\\",this.handleScroll,!0)}createEventFromMouse(M,e){let b=0,z=0;return e?(this.origPageX=M.pageX,this.origPageY=M.pageY):(b=M.pageX-this.origPageX,z=M.pageY-this.origPageY),{origEvent:M,isTouch:!1,subjectEl:this.subjectEl,pageX:M.pageX,pageY:M.pageY,deltaX:b,deltaY:z}}createEventFromTouch(M,e){var b=M.touches;let z,p,t=0,o=0;return p=(b&&b.length?(z=b[0].pageX,b[0]):(z=M.pageX,M)).pageY,e?(this.origPageX=z,this.origPageY=p):(t=z-this.origPageX,o=p-this.origPageY),{origEvent:M,isTouch:!0,subjectEl:this.subjectEl,pageX:z,pageY:p,deltaX:t,deltaY:o}}};function isPrimaryMouseButton(M){return 0===M.button&&!M.ctrlKey}function startIgnoringMouse(){ignoreMouseDepth+=1,setTimeout(()=>{--ignoreMouseDepth},config.touchMouseIgnoreWait)}function listenerCreated(){1===(listenerCnt+=1)&&window.addEventListener(\\\"touchmove\\\",onWindowTouchMove,{passive:!1})}function listenerDestroyed(){--listenerCnt||window.removeEventListener(\\\"touchmove\\\",onWindowTouchMove,{passive:!1})}function onWindowTouchMove(M){isWindowTouchMoveCancelled&&M.preventDefault()}var ElementMirror=class{constructor(){this.isVisible=!1,this.sourceEl=null,this.mirrorEl=null,this.sourceElRect=null,this.parentNode=document.body,this.zIndex=9999,this.revertDuration=0}start(M,e,b){this.sourceEl=M,this.sourceElRect=this.sourceEl.getBoundingClientRect(),this.origScreenX=e-window.pageXOffset,this.origScreenY=b-window.pageYOffset,this.deltaX=0,this.deltaY=0,this.updateElPosition()}handleMove(M,e){this.deltaX=M-window.pageXOffset-this.origScreenX,this.deltaY=e-window.pageYOffset-this.origScreenY,this.updateElPosition()}setIsVisible(M){M?this.isVisible||(this.mirrorEl&&(this.mirrorEl.style.display=\\\"\\\"),this.isVisible=M,this.updateElPosition()):this.isVisible&&(this.mirrorEl&&(this.mirrorEl.style.display=\\\"none\\\"),this.isVisible=M)}stop(M,e){var b=()=>{this.cleanup(),e()};M&&this.mirrorEl&&this.isVisible&&this.revertDuration&&(this.deltaX||this.deltaY)?this.doRevertAnimation(b,this.revertDuration):setTimeout(b,0)}doRevertAnimation(M,e){let b=this.mirrorEl;var z=this.sourceEl.getBoundingClientRect();b.style.transition=\\\"top \\\"+e+\\\"ms,left \\\"+e+\\\"ms\\\",applyStyle(b,{left:z.left,top:z.top}),whenTransitionDone(b,()=>{b.style.transition=\\\"\\\",M()})}cleanup(){this.mirrorEl&&(removeElement(this.mirrorEl),this.mirrorEl=null),this.sourceEl=null}updateElPosition(){this.sourceEl&&this.isVisible&&applyStyle(this.getMirrorEl(),{left:this.sourceElRect.left+this.deltaX,top:this.sourceElRect.top+this.deltaY})}getMirrorEl(){var M=this.sourceElRect;let e=this.mirrorEl;return e||((e=this.mirrorEl=this.sourceEl.cloneNode(!0)).style.userSelect=\\\"none\\\",e.classList.add(\\\"fc-event-dragging\\\"),applyStyle(e,{position:\\\"fixed\\\",zIndex:this.zIndex,visibility:\\\"\\\",boxSizing:\\\"border-box\\\",width:M.right-M.left,height:M.bottom-M.top,right:\\\"auto\\\",bottom:\\\"auto\\\",margin:0}),this.parentNode.appendChild(e)),e}},ScrollGeomCache=class extends ScrollController{constructor(M,e){super(),this.handleScroll=()=>{this.scrollTop=this.scrollController.getScrollTop(),this.scrollLeft=this.scrollController.getScrollLeft(),this.handleScrollChange()},this.scrollController=M,this.doesListening=e,this.scrollTop=this.origScrollTop=M.getScrollTop(),this.scrollLeft=this.origScrollLeft=M.getScrollLeft(),this.scrollWidth=M.getScrollWidth(),this.scrollHeight=M.getScrollHeight(),this.clientWidth=M.getClientWidth(),this.clientHeight=M.getClientHeight(),this.clientRect=this.computeClientRect(),this.doesListening&&this.getEventTarget().addEventListener(\\\"scroll\\\",this.handleScroll)}destroy(){this.doesListening&&this.getEventTarget().removeEventListener(\\\"scroll\\\",this.handleScroll)}getScrollTop(){return this.scrollTop}getScrollLeft(){return this.scrollLeft}setScrollTop(M){this.scrollController.setScrollTop(M),this.doesListening||(this.scrollTop=Math.max(Math.min(M,this.getMaxScrollTop()),0),this.handleScrollChange())}setScrollLeft(M){this.scrollController.setScrollLeft(M),this.doesListening||(this.scrollLeft=Math.max(Math.min(M,this.getMaxScrollLeft()),0),this.handleScrollChange())}getClientWidth(){return this.clientWidth}getClientHeight(){return this.clientHeight}getScrollWidth(){return this.scrollWidth}getScrollHeight(){return this.scrollHeight}handleScrollChange(){}},ElementScrollGeomCache=class extends ScrollGeomCache{constructor(M,e){super(new ElementScrollController(M),e)}getEventTarget(){return this.scrollController.el}computeClientRect(){return computeInnerRect(this.scrollController.el)}},WindowScrollGeomCache=class extends ScrollGeomCache{constructor(M){super(new WindowScrollController,M)}getEventTarget(){return window}computeClientRect(){return{left:this.scrollLeft,right:this.scrollLeft+this.clientWidth,top:this.scrollTop,bottom:this.scrollTop+this.clientHeight}}handleScrollChange(){this.clientRect=this.computeClientRect()}},getTime=(\\\"function\\\"==typeof performance?performance:Date).now,AutoScroller=class{constructor(){this.isEnabled=!0,this.scrollQuery=[window,\\\".fc-scroller\\\"],this.edgeThreshold=50,this.maxVelocity=300,this.pointerScreenX=null,this.pointerScreenY=null,this.isAnimating=!1,this.scrollCaches=null,this.everMovedUp=!1,this.everMovedDown=!1,this.everMovedLeft=!1,this.everMovedRight=!1,this.animate=()=>{var M,e;this.isAnimating&&((M=this.computeBestEdge(this.pointerScreenX+window.pageXOffset,this.pointerScreenY+window.pageYOffset))?(e=getTime(),this.handleSide(M,(e-this.msSinceRequest)/1e3),this.requestAnimation(e)):this.isAnimating=!1)}}start(M,e,b){this.isEnabled&&(this.scrollCaches=this.buildCaches(b),this.pointerScreenX=null,this.pointerScreenY=null,this.everMovedUp=!1,this.everMovedDown=!1,this.everMovedLeft=!1,this.everMovedRight=!1,this.handleMove(M,e))}handleMove(M,e){var b,z,p,t;this.isEnabled&&(b=M-window.pageXOffset,z=e-window.pageYOffset,p=null===this.pointerScreenY?0:z-this.pointerScreenY,t=null===this.pointerScreenX?0:b-this.pointerScreenX,p\u003C0?this.everMovedUp=!0:0\u003Cp&&(this.everMovedDown=!0),t\u003C0?this.everMovedLeft=!0:0\u003Ct&&(this.everMovedRight=!0),this.pointerScreenX=b,this.pointerScreenY=z,this.isAnimating||(this.isAnimating=!0,this.requestAnimation(getTime())))}stop(){if(this.isEnabled){this.isAnimating=!1;for(var M of this.scrollCaches)M.destroy();this.scrollCaches=null}}requestAnimation(M){this.msSinceRequest=M,requestAnimationFrame(this.animate)}handleSide(M,e){var b=M[\\\"scrollCache\\\"],z=this[\\\"edgeThreshold\\\"],p=z-M.distance,t=p*p/(z*z)*this.maxVelocity*e;let o=1;switch(M.name){case\\\"left\\\":o=-1;case\\\"right\\\":b.setScrollLeft(b.getScrollLeft()+t*o);break;case\\\"top\\\":o=-1;case\\\"bottom\\\":b.setScrollTop(b.getScrollTop()+t*o)}}computeBestEdge(M,e){var b,z=this[\\\"edgeThreshold\\\"];let p=null;for(b of this.scrollCaches||[]){var t=b.clientRect,o=M-t.left,O=t.right-M,c=e-t.top,t=t.bottom-e;0\u003C=o&&0\u003C=O&&0\u003C=c&&0\u003C=t&&(c\u003C=z&&this.everMovedUp&&b.canScrollUp()&&(!p||p.distance>c)&&(p={scrollCache:b,name:\\\"top\\\",distance:c}),t\u003C=z&&this.everMovedDown&&b.canScrollDown()&&(!p||p.distance>t)&&(p={scrollCache:b,name:\\\"bottom\\\",distance:t}),o\u003C=z&&this.everMovedLeft&&b.canScrollLeft()&&(!p||p.distance>o)&&(p={scrollCache:b,name:\\\"left\\\",distance:o}),O\u003C=z)&&this.everMovedRight&&b.canScrollRight()&&(!p||p.distance>O)&&(p={scrollCache:b,name:\\\"right\\\",distance:O})}return p}buildCaches(M){return this.queryScrollEls(M).map(M=>M===window?new WindowScrollGeomCache(!1):new ElementScrollGeomCache(M,!1))}queryScrollEls(M){var e,b=[];for(e of this.scrollQuery)\\\"object\\\"==typeof e?b.push(e):b.push(...Array.prototype.slice.call(M.getRootNode().querySelectorAll(e)));return b}},FeaturefulElementDragging=class extends ElementDragging{constructor(M,e){super(M),this.containerEl=M,this.delay=null,this.minDistance=0,this.touchScrollAllowed=!0,this.mirrorNeedsRevert=!1,this.isInteracting=!1,this.isDragging=!1,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,this.delayTimeoutId=null,this.onPointerDown=M=>{this.isDragging||(this.isInteracting=!0,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,preventSelection(document.body),preventContextMenu(document.body),M.isTouch||M.origEvent.preventDefault(),this.emitter.trigger(\\\"pointerdown\\\",M),this.isInteracting&&!this.pointer.shouldIgnoreMove&&(this.mirror.setIsVisible(!1),this.mirror.start(M.subjectEl,M.pageX,M.pageY),this.startDelay(M),this.minDistance||this.handleDistanceSurpassed(M)))},this.onPointerMove=M=>{var e,b,z;this.isInteracting&&(this.emitter.trigger(\\\"pointermove\\\",M),this.isDistanceSurpassed||(({deltaX:b,deltaY:z}=M),(e=this.minDistance)*e\u003C=b*b+z*z&&this.handleDistanceSurpassed(M)),this.isDragging)&&(\\\"scroll\\\"!==M.origEvent.type&&(this.mirror.handleMove(M.pageX,M.pageY),this.autoScroller.handleMove(M.pageX,M.pageY)),this.emitter.trigger(\\\"dragmove\\\",M))},this.onPointerUp=M=>{this.isInteracting&&(this.isInteracting=!1,allowSelection(document.body),allowContextMenu(document.body),this.emitter.trigger(\\\"pointerup\\\",M),this.isDragging&&(this.autoScroller.stop(),this.tryStopDrag(M)),this.delayTimeoutId)&&(clearTimeout(this.delayTimeoutId),this.delayTimeoutId=null)};var b=this.pointer=new PointerDragging(M);b.emitter.on(\\\"pointerdown\\\",this.onPointerDown),b.emitter.on(\\\"pointermove\\\",this.onPointerMove),b.emitter.on(\\\"pointerup\\\",this.onPointerUp),e&&(b.selector=e),this.mirror=new ElementMirror,this.autoScroller=new AutoScroller}destroy(){this.pointer.destroy(),this.onPointerUp({})}startDelay(M){\\\"number\\\"==typeof this.delay?this.delayTimeoutId=setTimeout(()=>{this.delayTimeoutId=null,this.handleDelayEnd(M)},this.delay):this.handleDelayEnd(M)}handleDelayEnd(M){this.isDelayEnded=!0,this.tryStartDrag(M)}handleDistanceSurpassed(M){this.isDistanceSurpassed=!0,this.tryStartDrag(M)}tryStartDrag(M){this.isDelayEnded&&this.isDistanceSurpassed&&(this.pointer.wasTouchScroll&&!this.touchScrollAllowed||(this.isDragging=!0,this.mirrorNeedsRevert=!1,this.autoScroller.start(M.pageX,M.pageY,this.containerEl),this.emitter.trigger(\\\"dragstart\\\",M),!1===this.touchScrollAllowed&&this.pointer.cancelTouchScroll()))}tryStopDrag(M){this.mirror.stop(this.mirrorNeedsRevert,this.stopDrag.bind(this,M))}stopDrag(M){this.isDragging=!1,this.emitter.trigger(\\\"dragend\\\",M)}setIgnoreMove(M){this.pointer.shouldIgnoreMove=M}setMirrorIsVisible(M){this.mirror.setIsVisible(M)}setMirrorNeedsRevert(M){this.mirrorNeedsRevert=M}setAutoScrollEnabled(M){this.autoScroller.isEnabled=M}},OffsetTracker=class{constructor(M){this.origRect=computeRect(M),this.scrollCaches=getClippingParents(M).map(M=>new ElementScrollGeomCache(M,!0))}destroy(){for(var M of this.scrollCaches)M.destroy()}computeLeft(){let M=this.origRect.left;for(var e of this.scrollCaches)M+=e.origScrollLeft-e.getScrollLeft();return M}computeTop(){let M=this.origRect.top;for(var e of this.scrollCaches)M+=e.origScrollTop-e.getScrollTop();return M}isWithinClipping(M,e){var b,z={left:M,top:e};for(b of this.scrollCaches)if(!isIgnoredClipping(b.getEventTarget())&&!pointInsideRect(z,b.clientRect))return!1;return!0}};function isIgnoredClipping(M){var e=M.tagName;return\\\"HTML\\\"===e||\\\"BODY\\\"===e}var HitDragging=class{constructor(M,e){this.useSubjectCenter=!1,this.requireInitial=!0,this.initialHit=null,this.movingHit=null,this.finalHit=null,this.handlePointerDown=M=>{var e=this[\\\"dragging\\\"];this.initialHit=null,this.movingHit=null,this.finalHit=null,this.prepareHits(),this.processFirstCoord(M),this.initialHit||!this.requireInitial?(e.setIgnoreMove(!1),this.emitter.trigger(\\\"pointerdown\\\",M)):e.setIgnoreMove(!0)},this.handleDragStart=M=>{this.emitter.trigger(\\\"dragstart\\\",M),this.handleMove(M,!0)},this.handleDragMove=M=>{this.emitter.trigger(\\\"dragmove\\\",M),this.handleMove(M)},this.handlePointerUp=M=>{this.releaseHits(),this.emitter.trigger(\\\"pointerup\\\",M)},this.handleDragEnd=M=>{this.movingHit&&this.emitter.trigger(\\\"hitupdate\\\",null,!0,M),this.finalHit=this.movingHit,this.movingHit=null,this.emitter.trigger(\\\"dragend\\\",M)},this.droppableStore=e,M.emitter.on(\\\"pointerdown\\\",this.handlePointerDown),M.emitter.on(\\\"dragstart\\\",this.handleDragStart),M.emitter.on(\\\"dragmove\\\",this.handleDragMove),M.emitter.on(\\\"pointerup\\\",this.handlePointerUp),M.emitter.on(\\\"dragend\\\",this.handleDragEnd),this.dragging=M,this.emitter=new Emitter}processFirstCoord(M){var e={left:M.pageX,top:M.pageY};let b=e;var z=M.subjectEl;let p;z instanceof HTMLElement&&(p=computeRect(z),b=constrainPoint(b,p));var z=this.initialHit=this.queryHitForOffset(b.left,b.top);z?(this.useSubjectCenter&&p&&(z=intersectRects(p,z.rect))&&(b=getRectCenter(z)),this.coordAdjust=diffPoints(b,e)):this.coordAdjust={left:0,top:0}}handleMove(M,e){var b=this.queryHitForOffset(M.pageX+this.coordAdjust.left,M.pageY+this.coordAdjust.top);!e&&isHitsEqual(this.movingHit,b)||(this.movingHit=b,this.emitter.trigger(\\\"hitupdate\\\",b,!1,M))}prepareHits(){this.offsetTrackers=mapHash(this.droppableStore,M=>(M.component.prepareHits(),new OffsetTracker(M.el)))}releaseHits(){var M,e=this[\\\"offsetTrackers\\\"];for(M in e)e[M].destroy();this.offsetTrackers={}}queryHitForOffset(M,e){var b,{droppableStore:z,offsetTrackers:p}=this;let t=null;for(b in z){var o,O,c,n,i,r=z[b].component,a=p[b];a&&a.isWithinClipping(M,e)&&(o=a.computeLeft(),c=e-(O=a.computeTop()),a=a[\\\"origRect\\\"],n=a.right-a.left,a=a.bottom-a.top,0\u003C=(i=M-o))&&i\u003Cn&&0\u003C=c&&c\u003Ca&&(i=r.queryHit(i,c,n,a))&&rangeContainsRange(i.dateProfile.activeRange,i.dateSpan.range)&&(!t||i.layer>t.layer)&&(i.componentId=b,i.context=r.context,i.rect.left+=o,i.rect.right+=o,i.rect.top+=O,i.rect.bottom+=O,t=i)}return t}};function isHitsEqual(M,e){return!M&&!e||Boolean(M)===Boolean(e)&&isDateSpansEqual(M.dateSpan,e.dateSpan)}function buildDatePointApiWithContext(M,e){var b,z={};for(b of e.pluginHooks.datePointTransforms)Object.assign(z,b(M,e));return Object.assign(z,buildDatePointApi(M,e.dateEnv)),z}function buildDatePointApi(M,e){return{date:e.toDate(M.range.start),dateStr:e.formatIso(M.range.start,{omitTime:M.allDay}),allDay:M.allDay}}var DateClicking=class extends Interaction{constructor(M){super(M),this.handlePointerDown=M=>{var e=this[\\\"dragging\\\"],b=M.origEvent.target;e.setIgnoreMove(!this.component.isValidDateDownEl(b))},this.handleDragEnd=M=>{var e,b=this[\\\"component\\\"],z=this.dragging[\\\"pointer\\\"];z.wasTouchScroll||(({initialHit:z,finalHit:e}=this.hitDragging),z&&e&&isHitsEqual(z,e)&&(e=b[\\\"context\\\"],b=Object.assign(Object.assign({},buildDatePointApiWithContext(z.dateSpan,e)),{dayEl:z.dayEl,jsEvent:M.origEvent,view:e.viewApi||e.calendarApi.view}),e.emitter.trigger(\\\"dateClick\\\",b)))},this.dragging=new FeaturefulElementDragging(M.el),this.dragging.autoScroller.isEnabled=!1;var e=this.hitDragging=new HitDragging(this.dragging,interactionSettingsToStore(M));e.emitter.on(\\\"pointerdown\\\",this.handlePointerDown),e.emitter.on(\\\"dragend\\\",this.handleDragEnd)}destroy(){this.dragging.destroy()}},DateSelecting=class extends Interaction{constructor(M){super(M),this.dragSelection=null,this.handlePointerDown=M=>{var{component:e,dragging:b}=this,z=e.context[\\\"options\\\"],z=z.selectable&&e.isValidDateDownEl(M.origEvent.target);b.setIgnoreMove(!z),b.delay=M.isTouch?getComponentTouchDelay$1(e):null},this.handleDragStart=M=>{this.component.context.calendarApi.unselect(M)},this.handleHitUpdate=(M,e)=>{var b,z,p=this.component[\\\"context\\\"];let t=null,o=!1;M&&(b=this.hitDragging.initialHit,z=M.componentId===b.componentId&&this.isHitComboAllowed&&!this.isHitComboAllowed(b,M),(t=z?t:joinHitsIntoSelection(b,M,p.pluginHooks.dateSelectionTransformers))&&isDateSelectionValid(t,M.dateProfile,p)||(o=!0,t=null)),t?p.dispatch({type:\\\"SELECT_DATES\\\",selection:t}):e||p.dispatch({type:\\\"UNSELECT_DATES\\\"}),(o?disableCursor:enableCursor)(),e||(this.dragSelection=t)},this.handlePointerUp=M=>{this.dragSelection&&(triggerDateSelect(this.dragSelection,M,this.component.context),this.dragSelection=null)};var e=M[\\\"component\\\"],e=e.context[\\\"options\\\"],b=this.dragging=new FeaturefulElementDragging(M.el),b=(b.touchScrollAllowed=!1,b.minDistance=e.selectMinDistance||0,b.autoScroller.isEnabled=e.dragScroll,this.hitDragging=new HitDragging(this.dragging,interactionSettingsToStore(M)));b.emitter.on(\\\"pointerdown\\\",this.handlePointerDown),b.emitter.on(\\\"dragstart\\\",this.handleDragStart),b.emitter.on(\\\"hitupdate\\\",this.handleHitUpdate),b.emitter.on(\\\"pointerup\\\",this.handlePointerUp)}destroy(){this.dragging.destroy()}};function getComponentTouchDelay$1(M){var e=M.context[\\\"options\\\"];let b=e.selectLongPressDelay;return b=null==b?e.longPressDelay:b}function joinHitsIntoSelection(M,e,b){var z,p=M.dateSpan,t=e.dateSpan,t=[p.range.start,p.range.end,t.range.start,t.range.end],o=(t.sort(compareNumbers),{});for(z of b){var O=z(M,e);if(!1===O)return null;O&&Object.assign(o,O)}return o.range={start:t[0],end:t[3]},o.allDay=p.allDay,o}var EventDragging=class extends Interaction{constructor(M){super(M),this.subjectEl=null,this.subjectSeg=null,this.isDragging=!1,this.eventRange=null,this.relevantEvents=null,this.receivingContext=null,this.validMutation=null,this.mutatedRelevantEvents=null,this.handlePointerDown=M=>{var e=M.origEvent.target,{component:b,dragging:z}=this,p=z[\\\"mirror\\\"],t=b.context[\\\"options\\\"],o=b.context,O=(this.subjectEl=M.subjectEl,this.subjectSeg=getElSeg(M.subjectEl)),O=(this.eventRange=O.eventRange).instance.instanceId,o=(this.relevantEvents=getRelevantEvents(o.getCurrentData().eventStore,O),z.minDistance=M.isTouch?0:t.eventDragMinDistance,z.delay=M.isTouch&&O!==b.props.eventSelection?getComponentTouchDelay(b):null,t.fixedMirrorParent?p.parentNode=t.fixedMirrorParent:p.parentNode=elementClosest(e,\\\".fc\\\"),p.revertDuration=t.dragRevertDuration,b.isValidSegDownEl(e)&&!elementClosest(e,\\\".fc-event-resizer\\\"));z.setIgnoreMove(!o),this.isDragging=o&&M.subjectEl.classList.contains(\\\"fc-event-draggable\\\")},this.handleDragStart=M=>{var e=this.component.context,b=this.eventRange,z=b.instance.instanceId;M.isTouch?z!==this.component.props.eventSelection&&e.dispatch({type:\\\"SELECT_EVENT\\\",eventInstanceId:z}):e.dispatch({type:\\\"UNSELECT_EVENT\\\"}),this.isDragging&&(e.calendarApi.unselect(M),e.emitter.trigger(\\\"eventDragStart\\\",{el:this.subjectEl,event:new EventImpl(e,b.def,b.instance),jsEvent:M.origEvent,view:e.viewApi}))},this.handleHitUpdate=(p,t)=>{if(this.isDragging){var o=this.relevantEvents,O=this.hitDragging.initialHit,c=this.component.context;let M=null,e=null,b=null,z=!1;var n,i={affectedEvents:o,mutatedEvents:createEmptyEventStore(),isEvent:!0};p&&(n=(M=p.context).options,c===M||n.editable&&n.droppable?(e=computeEventMutation(O,p,M.getCurrentData().pluginHooks.eventDragMutationMassagers))&&(b=applyMutationToEventStore(o,M.getCurrentData().eventUiBases,e,M),i.mutatedEvents=b,isInteractionValid(i,p.dateProfile,M)||(z=!0,e=null,b=null,i.mutatedEvents=createEmptyEventStore())):M=null),this.displayDrag(M,i),(z?disableCursor:enableCursor)(),t||(c===M&&isHitsEqual(O,p)&&(e=null),this.dragging.setMirrorNeedsRevert(!e),this.dragging.setMirrorIsVisible(!p||!this.subjectEl.getRootNode().querySelector(\\\".fc-event-mirror\\\")),this.receivingContext=M,this.validMutation=e,this.mutatedRelevantEvents=b)}},this.handlePointerUp=()=>{this.isDragging||this.cleanup()},this.handleDragEnd=t=>{if(this.isDragging){let M=this.component.context;var o=M.viewApi;let{receivingContext:e,validMutation:b}=this;var O=this.eventRange.def,c=this.eventRange.instance,n=new EventImpl(M,O,c);let z=this.relevantEvents,p=this.mutatedRelevantEvents;var i=this.hitDragging[\\\"finalHit\\\"];if(this.clearDrag(),M.emitter.trigger(\\\"eventDragStop\\\",{el:this.subjectEl,event:n,jsEvent:t.origEvent,view:o}),b)if(e===M){var r,a=new EventImpl(M,p.defs[O.defId],c?p.instances[c.instanceId]:null),a=(M.dispatch({type:\\\"MERGE_EVENTS\\\",eventStore:p}),{oldEvent:n,event:a,relatedEvents:buildEventApis(p,M,c),revert(){M.dispatch({type:\\\"MERGE_EVENTS\\\",eventStore:z})}}),A={};for(r of M.getCurrentData().pluginHooks.eventDropTransformers)Object.assign(A,r(b,M));M.emitter.trigger(\\\"eventDrop\\\",Object.assign(Object.assign(Object.assign({},a),A),{el:t.subjectEl,delta:b.datesDelta,jsEvent:t.origEvent,view:o})),M.emitter.trigger(\\\"eventChange\\\",a)}else e&&(a={event:n,relatedEvents:buildEventApis(z,M,c),revert(){M.dispatch({type:\\\"MERGE_EVENTS\\\",eventStore:z})}},M.emitter.trigger(\\\"eventLeave\\\",Object.assign(Object.assign({},a),{draggedEl:t.subjectEl,view:o})),M.dispatch({type:\\\"REMOVE_EVENTS\\\",eventStore:z}),M.emitter.trigger(\\\"eventRemove\\\",a),n=p.defs[O.defId],o=p.instances[c.instanceId],a=new EventImpl(e,n,o),e.dispatch({type:\\\"MERGE_EVENTS\\\",eventStore:p}),O={event:a,relatedEvents:buildEventApis(p,e,o),revert(){e.dispatch({type:\\\"REMOVE_EVENTS\\\",eventStore:p})}},e.emitter.trigger(\\\"eventAdd\\\",O),t.isTouch&&e.dispatch({type:\\\"SELECT_EVENT\\\",eventInstanceId:c.instanceId}),e.emitter.trigger(\\\"drop\\\",Object.assign(Object.assign({},buildDatePointApiWithContext(i.dateSpan,e)),{draggedEl:t.subjectEl,jsEvent:t.origEvent,view:i.context.viewApi})),e.emitter.trigger(\\\"eventReceive\\\",Object.assign(Object.assign({},O),{draggedEl:t.subjectEl,view:i.context.viewApi})));else M.emitter.trigger(\\\"_noEventDrop\\\")}this.cleanup()};var e=this[\\\"component\\\"],e=e.context[\\\"options\\\"],b=this.dragging=new FeaturefulElementDragging(M.el),b=(b.pointer.selector=EventDragging.SELECTOR,b.touchScrollAllowed=!1,b.autoScroller.isEnabled=e.dragScroll,this.hitDragging=new HitDragging(this.dragging,interactionSettingsStore));b.useSubjectCenter=M.useEventCenter,b.emitter.on(\\\"pointerdown\\\",this.handlePointerDown),b.emitter.on(\\\"dragstart\\\",this.handleDragStart),b.emitter.on(\\\"hitupdate\\\",this.handleHitUpdate),b.emitter.on(\\\"pointerup\\\",this.handlePointerUp),b.emitter.on(\\\"dragend\\\",this.handleDragEnd)}destroy(){this.dragging.destroy()}displayDrag(M,e){var b=this.component.context,z=this.receivingContext;z&&z!==M&&(z===b?z.dispatch({type:\\\"SET_EVENT_DRAG\\\",state:{affectedEvents:e.affectedEvents,mutatedEvents:createEmptyEventStore(),isEvent:!0}}):z.dispatch({type:\\\"UNSET_EVENT_DRAG\\\"})),M&&M.dispatch({type:\\\"SET_EVENT_DRAG\\\",state:e})}clearDrag(){var M=this.component.context,e=this[\\\"receivingContext\\\"];e&&e.dispatch({type:\\\"UNSET_EVENT_DRAG\\\"}),M!==e&&M.dispatch({type:\\\"UNSET_EVENT_DRAG\\\"})}cleanup(){this.subjectSeg=null,this.isDragging=!1,this.eventRange=null,this.relevantEvents=null,this.receivingContext=null,this.validMutation=null,this.mutatedRelevantEvents=null}};function computeEventMutation(M,e,b){var z=M.dateSpan,p=e.dateSpan;let t=z.range.start;var o,O=p.range.start,c={},z=diffDates(t=z.allDay!==p.allDay&&(c.allDay=p.allDay,c.hasEnd=e.context.options.allDayMaintainDuration,p.allDay)?startOfDay(t):t,O,M.context.dateEnv,M.componentId===e.componentId?M.largeUnit:null),n=(z.milliseconds&&(c.allDay=!1),{datesDelta:z,standardProps:c});for(o of b)o(n,M,e);return n}function getComponentTouchDelay(M){var e=M.context[\\\"options\\\"];let b=e.eventLongPressDelay;return b=null==b?e.longPressDelay:b}EventDragging.SELECTOR=\\\".fc-event-draggable, .fc-event-resizable\\\";var EventResizing=class extends Interaction{constructor(M){super(M),this.draggingSegEl=null,this.draggingSeg=null,this.eventRange=null,this.relevantEvents=null,this.validMutation=null,this.mutatedRelevantEvents=null,this.handlePointerDown=M=>{var e=this[\\\"component\\\"],b=getElSeg(this.querySegEl(M)),b=this.eventRange=b.eventRange;this.dragging.minDistance=e.context.options.eventDragMinDistance,this.dragging.setIgnoreMove(!this.component.isValidSegDownEl(M.origEvent.target)||M.isTouch&&this.component.props.eventSelection!==b.instance.instanceId)},this.handleDragStart=M=>{var e=this.component[\\\"context\\\"],b=this.eventRange,z=(this.relevantEvents=getRelevantEvents(e.getCurrentData().eventStore,this.eventRange.instance.instanceId),this.querySegEl(M));this.draggingSegEl=z,this.draggingSeg=getElSeg(z),e.calendarApi.unselect(),e.emitter.trigger(\\\"eventResizeStart\\\",{el:z,event:new EventImpl(e,b.def,b.instance),jsEvent:M.origEvent,view:e.viewApi})},this.handleHitUpdate=(M,e,b)=>{var z=this.component[\\\"context\\\"],p=this.relevantEvents,t=this.hitDragging.initialHit,o=this.eventRange.instance;let O=null,c=null,n=!1;var i={affectedEvents:p,mutatedEvents:createEmptyEventStore(),isEvent:!0};(O=!M||M.componentId===t.componentId&&this.isHitComboAllowed&&!this.isHitComboAllowed(t,M)?O:computeMutation(t,M,b.subjectEl.classList.contains(\\\"fc-event-resizer-start\\\"),o.range))&&(c=applyMutationToEventStore(p,z.getCurrentData().eventUiBases,O,z),i.mutatedEvents=c,isInteractionValid(i,M.dateProfile,z)||(n=!0,O=null,c=null,i.mutatedEvents=null)),c?z.dispatch({type:\\\"SET_EVENT_RESIZE\\\",state:i}):z.dispatch({type:\\\"UNSET_EVENT_RESIZE\\\"}),(n?disableCursor:enableCursor)(),e||(O&&isHitsEqual(t,M)&&(O=null),this.validMutation=O,this.mutatedRelevantEvents=c)},this.handleDragEnd=M=>{let e=this.component[\\\"context\\\"];var b=this.eventRange.def,z=this.eventRange.instance,p=new EventImpl(e,b,z);let t=this.relevantEvents;var o=this.mutatedRelevantEvents;e.emitter.trigger(\\\"eventResizeStop\\\",{el:this.draggingSegEl,event:p,jsEvent:M.origEvent,view:e.viewApi}),this.validMutation?(b=new EventImpl(e,o.defs[b.defId],z?o.instances[z.instanceId]:null),e.dispatch({type:\\\"MERGE_EVENTS\\\",eventStore:o}),p={oldEvent:p,event:b,relatedEvents:buildEventApis(o,e,z),revert(){e.dispatch({type:\\\"MERGE_EVENTS\\\",eventStore:t})}},e.emitter.trigger(\\\"eventResize\\\",Object.assign(Object.assign({},p),{el:this.draggingSegEl,startDelta:this.validMutation.startDelta||createDuration(0),endDelta:this.validMutation.endDelta||createDuration(0),jsEvent:M.origEvent,view:e.viewApi})),e.emitter.trigger(\\\"eventChange\\\",p)):e.emitter.trigger(\\\"_noEventResize\\\"),this.draggingSeg=null,this.relevantEvents=null,this.validMutation=null};var e=M[\\\"component\\\"],b=this.dragging=new FeaturefulElementDragging(M.el),b=(b.pointer.selector=\\\".fc-event-resizer\\\",b.touchScrollAllowed=!1,b.autoScroller.isEnabled=e.context.options.dragScroll,this.hitDragging=new HitDragging(this.dragging,interactionSettingsToStore(M)));b.emitter.on(\\\"pointerdown\\\",this.handlePointerDown),b.emitter.on(\\\"dragstart\\\",this.handleDragStart),b.emitter.on(\\\"hitupdate\\\",this.handleHitUpdate),b.emitter.on(\\\"dragend\\\",this.handleDragEnd)}destroy(){this.dragging.destroy()}querySegEl(M){return elementClosest(M.subjectEl,\\\".fc-event\\\")}};function computeMutation(M,e,b,z){var p=M.context.dateEnv,t=diffDates(M.dateSpan.range.start,e.dateSpan.range.start,p,M.largeUnit);if(b){if(p.add(z.start,t)\u003Cz.end)return{startDelta:t}}else if(p.add(z.end,t)>z.start)return{endDelta:t};return null}var UnselectAuto=class{constructor(M){this.context=M,this.isRecentPointerDateSelect=!1,this.matchesCancel=!1,this.matchesEvent=!1,this.onSelect=M=>{M.jsEvent&&(this.isRecentPointerDateSelect=!0)},this.onDocumentPointerDown=M=>{var e=this.context.options.unselectCancel,b=getEventTargetViaRoot(M.origEvent);this.matchesCancel=!!elementClosest(b,e),this.matchesEvent=!!elementClosest(b,EventDragging.SELECTOR)},this.onDocumentPointerUp=M=>{var e=this[\\\"context\\\"],b=this[\\\"documentPointer\\\"],z=e.getCurrentData();b.wasTouchScroll||(z.dateSelection&&!this.isRecentPointerDateSelect&&e.options.unselectAuto&&!this.matchesCancel&&e.calendarApi.unselect(M),z.eventSelection&&!this.matchesEvent&&e.dispatch({type:\\\"UNSELECT_EVENT\\\"})),this.isRecentPointerDateSelect=!1};var e=this.documentPointer=new PointerDragging(document);e.shouldIgnoreMove=!0,e.shouldWatchScroll=!1,e.emitter.on(\\\"pointerdown\\\",this.onDocumentPointerDown),e.emitter.on(\\\"pointerup\\\",this.onDocumentPointerUp),M.emitter.on(\\\"select\\\",this.onSelect)}destroy(){this.context.emitter.off(\\\"select\\\",this.onSelect),this.documentPointer.destroy()}},OPTION_REFINERS2={fixedMirrorParent:identity},LISTENER_REFINERS={dateClick:identity,eventDragStart:identity,eventDragStop:identity,eventDrop:identity,eventResizeStart:identity,eventResizeStop:identity,eventResize:identity,drop:identity,eventReceive:identity,eventLeave:identity},index4=(config.dataAttrPrefix=\\\"\\\",createPlugin({name:\\\"@fullcalendar/interaction\\\",componentInteractions:[DateClicking,DateSelecting,EventDragging,EventResizing],calendarInteractions:[UnselectAuto],elementDraggingImpl:FeaturefulElementDragging,optionRefiners:OPTION_REFINERS2,listenerRefiners:LISTENER_REFINERS})),css_248z4=(init_esbuild_inject(),init_esbuild_inject(),':root{--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc-theme-standard .fc-list{border:1px solid var(--fc-border-color)}.fc .fc-list-empty{align-items:center;background-color:var(--fc-neutral-bg-color);display:flex;height:100%;justify-content:center}.fc .fc-list-empty-cushion{margin:5em 0}.fc .fc-list-table{border-style:hidden;width:100%}.fc .fc-list-table tr>*{border-left:0;border-right:0}.fc .fc-list-sticky .fc-list-day>*{background:var(--fc-page-bg-color);position:sticky;top:0}.fc .fc-list-table thead{left:-10000px;position:absolute}.fc .fc-list-table tbody>tr:first-child th{border-top:0}.fc .fc-list-table th{padding:0}.fc .fc-list-day-cushion,.fc .fc-list-table td{padding:8px 14px}.fc .fc-list-day-cushion:after{clear:both;content:\\\"\\\";display:table}.fc-theme-standard .fc-list-day-cushion{background-color:var(--fc-neutral-bg-color)}.fc-direction-ltr .fc-list-day-text,.fc-direction-rtl .fc-list-day-side-text{float:left}.fc-direction-ltr .fc-list-day-side-text,.fc-direction-rtl .fc-list-day-text{float:right}.fc-direction-ltr .fc-list-table .fc-list-event-graphic{padding-right:0}.fc-direction-rtl .fc-list-table .fc-list-event-graphic{padding-left:0}.fc .fc-list-event.fc-event-forced-url{cursor:pointer}.fc .fc-list-event:hover td{background-color:var(--fc-list-event-hover-bg-color)}.fc .fc-list-event-graphic,.fc .fc-list-event-time{white-space:nowrap;width:1px}.fc .fc-list-event-dot{border:calc(var(--fc-list-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-list-event-dot-width)/2);box-sizing:content-box;display:inline-block;height:0;width:0}.fc .fc-list-event-title a{color:inherit;text-decoration:none}.fc .fc-list-event.fc-event-forced-url:hover a{text-decoration:underline}'),ListViewHeaderRow=(injectStyles(css_248z4),class extends BaseComponent{constructor(){super(...arguments),this.state={textId:getUniqueDomId()}}render(){let{theme:e,dateEnv:M,options:b,viewApi:z}=this.context,{cellId:p,dayDate:t,todayRange:o}=this.props,O=this.state[\\\"textId\\\"];var c=getDateMeta(t,o),n=b.listDayFormat?M.format(t,b.listDayFormat):\\\"\\\",i=b.listDaySideFormat?M.format(t,b.listDaySideFormat):\\\"\\\",n=Object.assign({date:M.toDate(t),view:z,textId:O,text:n,sideText:i,navLinkAttrs:buildNavLinkAttrs(this.context,t),sideNavLinkAttrs:buildNavLinkAttrs(this.context,t,\\\"day\\\",!1)},c);return y(ContentContainer,{elTag:\\\"tr\\\",elClasses:[\\\"fc-list-day\\\",...getDayClassNames(c,e)],elAttrs:{\\\"data-date\\\":formatDayString(t)},renderProps:n,generatorName:\\\"dayHeaderContent\\\",customGenerator:b.dayHeaderContent,defaultGenerator:renderInnerContent3,classNameGenerator:b.dayHeaderClassNames,didMount:b.dayHeaderDidMount,willUnmount:b.dayHeaderWillUnmount},M=>y(\\\"th\\\",{scope:\\\"colgroup\\\",colSpan:3,id:p,\\\"aria-labelledby\\\":O},y(M,{elTag:\\\"div\\\",elClasses:[\\\"fc-list-day-cushion\\\",e.getClass(\\\"tableCellShaded\\\")]})))}});function renderInnerContent3(M){return y(_,null,M.text&&y(\\\"a\\\",Object.assign({id:M.textId,className:\\\"fc-list-day-text\\\"},M.navLinkAttrs),M.text),M.sideText&&y(\\\"a\\\",Object.assign({\\\"aria-hidden\\\":!0,className:\\\"fc-list-day-side-text\\\"},M.sideNavLinkAttrs),M.sideText))}var DEFAULT_TIME_FORMAT=createFormatter({hour:\\\"numeric\\\",minute:\\\"2-digit\\\",meridiem:\\\"short\\\"}),ListViewEventRow=class extends BaseComponent{render(){let{props:M,context:b}=this;var e=b[\\\"options\\\"];let{seg:z,timeHeaderId:p,eventHeaderId:t,dateHeaderId:o}=M,O=e.eventTimeFormat||DEFAULT_TIME_FORMAT;return y(EventContainer,Object.assign({},M,{elTag:\\\"tr\\\",elClasses:[\\\"fc-list-event\\\",z.eventRange.def.url&&\\\"fc-event-forced-url\\\"],defaultGenerator:()=>renderEventInnerContent(z,b),seg:z,timeText:\\\"\\\",disableDragging:!0,disableResizing:!0}),(M,e)=>y(_,null,buildTimeContent(z,O,b,p,o),y(\\\"td\\\",{\\\"aria-hidden\\\":!0,className:\\\"fc-list-event-graphic\\\"},y(\\\"span\\\",{className:\\\"fc-list-event-dot\\\",style:{borderColor:e.borderColor||e.backgroundColor}})),y(M,{elTag:\\\"td\\\",elClasses:[\\\"fc-list-event-title\\\"],elAttrs:{headers:t+\\\" \\\"+o}})))}};function renderEventInnerContent(M,e){var b=getSegAnchorAttrs(M,e);return y(\\\"a\\\",Object.assign({},b),M.eventRange.def.title)}function buildTimeContent(b,z,p,t,o){var O=p[\\\"options\\\"];if(!1===O.displayEventTime)return null;{var c=b.eventRange.def,n=b.eventRange.instance;let M=!1,e;return c.allDay?M=!0:isMultiDayRange(b.eventRange.range)?b.isStart?e=buildSegTimeText(b,z,p,null,null,n.range.start,b.end):b.isEnd?e=buildSegTimeText(b,z,p,null,null,b.start,n.range.end):M=!0:e=buildSegTimeText(b,z,p),M?(c={text:p.options.allDayText,view:p.viewApi},y(ContentContainer,{elTag:\\\"td\\\",elClasses:[\\\"fc-list-event-time\\\"],elAttrs:{headers:t+\\\" \\\"+o},renderProps:c,generatorName:\\\"allDayContent\\\",customGenerator:O.allDayContent,defaultGenerator:renderAllDayInner,classNameGenerator:O.allDayClassNames,didMount:O.allDayDidMount,willUnmount:O.allDayWillUnmount})):y(\\\"td\\\",{className:\\\"fc-list-event-time\\\"},e)}}function renderAllDayInner(M){return M.text}var ListView=class extends DateComponent{constructor(){super(...arguments),this.computeDateVars=memoize(computeDateVars),this.eventStoreToSegs=memoize(this._eventStoreToSegs),this.state={timeHeaderId:getUniqueDomId(),eventHeaderId:getUniqueDomId(),dateHeaderIdRoot:getUniqueDomId()},this.setRootEl=M=>{M?this.context.registerInteractiveComponent(this,{el:M}):this.context.unregisterInteractiveComponent(this)}}render(){var{props:M,context:e}=this,{dayDates:b,dayRanges:z}=this.computeDateVars(M.dateProfile),z=this.eventStoreToSegs(M.eventStore,M.eventUiBases,z);return y(ViewContainer,{elRef:this.setRootEl,elClasses:[\\\"fc-list\\\",e.theme.getClass(\\\"table\\\"),!1!==e.options.stickyHeaderDates?\\\"fc-list-sticky\\\":\\\"\\\"],viewSpec:e.viewSpec},y(Scroller,{liquid:!M.isHeightAuto,overflowX:M.isHeightAuto?\\\"visible\\\":\\\"hidden\\\",overflowY:M.isHeightAuto?\\\"visible\\\":\\\"auto\\\"},0\u003Cz.length?this.renderSegList(z,b):this.renderEmptyMessage()))}renderEmptyMessage(){var{options:M,viewApi:e}=this.context,e={text:M.noEventsText,view:e};return y(ContentContainer,{elTag:\\\"div\\\",elClasses:[\\\"fc-list-empty\\\"],renderProps:e,generatorName:\\\"noEventsContent\\\",customGenerator:M.noEventsContent,defaultGenerator:renderNoEventsInner,classNameGenerator:M.noEventsClassNames,didMount:M.noEventsDidMount,willUnmount:M.noEventsWillUnmount},M=>y(M,{elTag:\\\"div\\\",elClasses:[\\\"fc-list-empty-cushion\\\"]}))}renderSegList(M,c){let{theme:n,options:i}=this.context,{timeHeaderId:r,eventHeaderId:a,dateHeaderIdRoot:A}=this.state,s=groupSegsByDay(M);return y(NowTimer,{unit:\\\"day\\\"},(M,e)=>{var b=[];for(let O=0;O\u003Cs.length;O+=1){var z=s[O];if(z){var p,t=formatDayString(c[O]),o=A+\\\"-\\\"+t;b.push(y(ListViewHeaderRow,{key:t,cellId:o,dayDate:c[O],todayRange:e}));for(p of sortEventSegs(z,i.eventOrder))b.push(y(ListViewEventRow,Object.assign({key:t+\\\":\\\"+p.eventRange.instance.instanceId,seg:p,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,timeHeaderId:r,eventHeaderId:a,dateHeaderId:o},getSegMeta(p,e,M))))}}return y(\\\"table\\\",{className:\\\"fc-list-table \\\"+n.getClass(\\\"table\\\")},y(\\\"thead\\\",null,y(\\\"tr\\\",null,y(\\\"th\\\",{scope:\\\"col\\\",id:r},i.timeHint),y(\\\"th\\\",{scope:\\\"col\\\",\\\"aria-hidden\\\":!0}),y(\\\"th\\\",{scope:\\\"col\\\",id:a},i.eventHint))),y(\\\"tbody\\\",null,b))})}_eventStoreToSegs(M,e,b){return this.eventRangesToSegs(sliceEventStore(M,e,this.props.dateProfile.activeRange,this.context.options.nextDayThreshold).fg,b)}eventRangesToSegs(M,e){var b,z=[];for(b of M)z.push(...this.eventRangeToSegs(b,e));return z}eventRangeToSegs(M,e){var b,z=this.context[\\\"dateEnv\\\"],p=this.context.options[\\\"nextDayThreshold\\\"],t=M.range,o=M.def.allDay;let O;var c=[];for(O=0;O\u003Ce.length;O+=1)if((b=intersectRanges(t,e[O]))&&(b={component:this,eventRange:M,start:b.start,end:b.end,isStart:M.isStart&&b.start.valueOf()===t.start.valueOf(),isEnd:M.isEnd&&b.end.valueOf()===t.end.valueOf(),dayIndex:O},c.push(b),!b.isEnd)&&!o&&O+1\u003Ce.length&&t.end\u003Cz.add(e[O+1].start,p)){b.end=t.end,b.isEnd=!0;break}return c}};function renderNoEventsInner(M){return M.text}function computeDateVars(M){let e=startOfDay(M.renderRange.start);for(var b=M.renderRange.end,z=[],p=[];e\u003Cb;)z.push(e),p.push({start:e,end:addDays(e,1)}),e=addDays(e,1);return{dayDates:z,dayRanges:p}}function groupSegsByDay(M){var e,b=[];let z;for(z=0;z\u003CM.length;z+=1)(b[(e=M[z]).dayIndex]||(b[e.dayIndex]=[])).push(e);return b}var OPTION_REFINERS3={listDayFormat:createFalsableFormatter,listDaySideFormat:createFalsableFormatter,noEventsClassNames:identity,noEventsContent:identity,noEventsDidMount:identity,noEventsWillUnmount:identity};function createFalsableFormatter(M){return!1===M?null:createFormatter(M)}var index5=createPlugin({name:\\\"@fullcalendar/list\\\",optionRefiners:OPTION_REFINERS3,views:{list:{component:ListView,buttonTextKey:\\\"list\\\",listDayFormat:{month:\\\"long\\\",day:\\\"numeric\\\",year:\\\"numeric\\\"}},listDay:{type:\\\"list\\\",duration:{days:1},listDayFormat:{weekday:\\\"long\\\"}},listWeek:{type:\\\"list\\\",duration:{weeks:1},listDayFormat:{weekday:\\\"long\\\"},listDaySideFormat:{month:\\\"long\\\",day:\\\"numeric\\\",year:\\\"numeric\\\"}},listMonth:{type:\\\"list\\\",duration:{month:1},listDaySideFormat:{weekday:\\\"long\\\"}},listYear:{type:\\\"list\\\",duration:{year:1},listDaySideFormat:{weekday:\\\"long\\\"}}}}),import_moment_timezone2=(init_esbuild_inject(),__toESM(require_moment_timezone2(),1)),MomentNamedTimeZone=class extends NamedTimeZoneImpl{offsetForArray(M){return import_moment_timezone2[\\\"default\\\"].tz(M,this.timeZoneName).utcOffset()}timestampToArray(M){return import_moment_timezone2[\\\"default\\\"].tz(M,this.timeZoneName).toArray()}},index6=createPlugin({name:\\\"@fullcalendar/moment-timezone\\\",namedTimeZonedImpl:MomentNamedTimeZone}),css_248z5=(init_esbuild_inject(),init_esbuild_inject(),'.fc-v-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-v-event .fc-event-main{color:var(--fc-event-text-color);height:100%}.fc-v-event .fc-event-main-frame{display:flex;flex-direction:column;height:100%}.fc-v-event .fc-event-time{flex-grow:0;flex-shrink:0;max-height:100%;overflow:hidden}.fc-v-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-height:0}.fc-v-event .fc-event-title{bottom:0;max-height:100%;overflow:hidden;top:0}.fc-v-event:not(.fc-event-start){border-top-left-radius:0;border-top-right-radius:0;border-top-width:0}.fc-v-event:not(.fc-event-end){border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-width:0}.fc-v-event.fc-event-selected:before{left:-10px;right:-10px}.fc-v-event .fc-event-resizer-start{cursor:n-resize}.fc-v-event .fc-event-resizer-end{cursor:s-resize}.fc-v-event:not(.fc-event-selected) .fc-event-resizer{height:var(--fc-event-resizer-thickness);left:0;right:0}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start{top:calc(var(--fc-event-resizer-thickness)/-2)}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end{bottom:calc(var(--fc-event-resizer-thickness)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer{left:50%;margin-left:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-start{top:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-end{bottom:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc .fc-timegrid .fc-daygrid-body{z-index:2}.fc .fc-timegrid-divider{padding:0 0 2px}.fc .fc-timegrid-body{min-height:100%;position:relative;z-index:1}.fc .fc-timegrid-axis-chunk{position:relative}.fc .fc-timegrid-axis-chunk>table,.fc .fc-timegrid-slots{position:relative;z-index:1}.fc .fc-timegrid-slot{border-bottom:0;height:1.5em}.fc .fc-timegrid-slot:empty:before{content:\\\"\\\\\\\\00a0\\\"}.fc .fc-timegrid-slot-minor{border-top-style:dotted}.fc .fc-timegrid-slot-label-cushion{display:inline-block;white-space:nowrap}.fc .fc-timegrid-slot-label{vertical-align:middle}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{padding:0 4px}.fc .fc-timegrid-axis-frame-liquid{height:100%}.fc .fc-timegrid-axis-frame{align-items:center;display:flex;justify-content:flex-end;overflow:hidden}.fc .fc-timegrid-axis-cushion{flex-shrink:0;max-width:60px}.fc-direction-ltr .fc-timegrid-slot-label-frame{text-align:right}.fc-direction-rtl .fc-timegrid-slot-label-frame{text-align:left}.fc-liquid-hack .fc-timegrid-axis-frame-liquid{bottom:0;height:auto;left:0;position:absolute;right:0;top:0}.fc .fc-timegrid-col.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-timegrid-col-frame{min-height:100%;position:relative}.fc-media-screen.fc-liquid-hack .fc-timegrid-col-frame{bottom:0;height:auto;left:0;position:absolute;right:0;top:0}.fc-media-screen .fc-timegrid-cols{bottom:0;left:0;position:absolute;right:0;top:0}.fc-media-screen .fc-timegrid-cols>table{height:100%}.fc-media-screen .fc-timegrid-col-bg,.fc-media-screen .fc-timegrid-col-events,.fc-media-screen .fc-timegrid-now-indicator-container{left:0;position:absolute;right:0;top:0}.fc .fc-timegrid-col-bg{z-index:2}.fc .fc-timegrid-col-bg .fc-non-business{z-index:1}.fc .fc-timegrid-col-bg .fc-bg-event{z-index:2}.fc .fc-timegrid-col-bg .fc-highlight{z-index:3}.fc .fc-timegrid-bg-harness{left:0;position:absolute;right:0}.fc .fc-timegrid-col-events{z-index:3}.fc .fc-timegrid-now-indicator-container{bottom:0;overflow:hidden}.fc-direction-ltr .fc-timegrid-col-events{margin:0 2.5% 0 2px}.fc-direction-rtl .fc-timegrid-col-events{margin:0 2px 0 2.5%}.fc-timegrid-event-harness{position:absolute}.fc-timegrid-event-harness>.fc-timegrid-event{bottom:0;left:0;position:absolute;right:0;top:0}.fc-timegrid-event-harness-inset .fc-timegrid-event,.fc-timegrid-event.fc-event-mirror,.fc-timegrid-more-link{box-shadow:0 0 0 1px var(--fc-page-bg-color)}.fc-timegrid-event,.fc-timegrid-more-link{border-radius:3px;font-size:var(--fc-small-font-size)}.fc-timegrid-event{margin-bottom:1px}.fc-timegrid-event .fc-event-main{padding:1px 1px 0}.fc-timegrid-event .fc-event-time{font-size:var(--fc-small-font-size);margin-bottom:1px;white-space:nowrap}.fc-timegrid-event-short .fc-event-main-frame{flex-direction:row;overflow:hidden}.fc-timegrid-event-short .fc-event-time:after{content:\\\"\\\\\\\\00a0-\\\\\\\\00a0\\\"}.fc-timegrid-event-short .fc-event-title{font-size:var(--fc-small-font-size)}.fc-timegrid-more-link{background:var(--fc-more-link-bg-color);color:var(--fc-more-link-text-color);cursor:pointer;margin-bottom:1px;position:absolute;z-index:9999}.fc-timegrid-more-link-inner{padding:3px 2px;top:0}.fc-direction-ltr .fc-timegrid-more-link{right:0}.fc-direction-rtl .fc-timegrid-more-link{left:0}.fc .fc-timegrid-now-indicator-line{border-color:var(--fc-now-indicator-color);border-style:solid;border-width:1px 0 0;left:0;position:absolute;right:0;z-index:4}.fc .fc-timegrid-now-indicator-arrow{border-color:var(--fc-now-indicator-color);border-style:solid;margin-top:-5px;position:absolute;z-index:4}.fc-direction-ltr .fc-timegrid-now-indicator-arrow{border-bottom-color:transparent;border-top-color:transparent;border-width:5px 0 5px 6px;left:0}.fc-direction-rtl .fc-timegrid-now-indicator-arrow{border-bottom-color:transparent;border-top-color:transparent;border-width:5px 6px 5px 0;right:0}'),AllDaySplitter=(injectStyles(css_248z5),class extends Splitter{getKeyInfo(){return{allDay:{},timed:{}}}getKeysForDateSpan(M){return M.allDay?[\\\"allDay\\\"]:[\\\"timed\\\"]}getKeysForEventDef(M){return M.allDay?hasBgRendering(M)?[\\\"timed\\\",\\\"allDay\\\"]:[\\\"allDay\\\"]:[\\\"timed\\\"]}}),DEFAULT_SLAT_LABEL_FORMAT=createFormatter({hour:\\\"numeric\\\",minute:\\\"2-digit\\\",omitZeroMinute:!0,meridiem:\\\"short\\\"});function TimeColsAxisCell(t){let o=[\\\"fc-timegrid-slot\\\",\\\"fc-timegrid-slot-label\\\",t.isLabeled?\\\"fc-scrollgrid-shrink\\\":\\\"fc-timegrid-slot-minor\\\"];return y(ViewContextType.Consumer,null,M=>{var e,b,z,p;return t.isLabeled?(({dateEnv:e,options:b,viewApi:p}=M),z=null==b.slotLabelFormat?DEFAULT_SLAT_LABEL_FORMAT:Array.isArray(b.slotLabelFormat)?createFormatter(b.slotLabelFormat[0]):createFormatter(b.slotLabelFormat),p={level:0,time:t.time,date:e.toDate(t.date),view:p,text:e.format(t.date,z)},y(ContentContainer,{elTag:\\\"td\\\",elClasses:o,elAttrs:{\\\"data-time\\\":t.isoTimeStr},renderProps:p,generatorName:\\\"slotLabelContent\\\",customGenerator:b.slotLabelContent,defaultGenerator:renderInnerContent4,classNameGenerator:b.slotLabelClassNames,didMount:b.slotLabelDidMount,willUnmount:b.slotLabelWillUnmount},M=>y(\\\"div\\\",{className:\\\"fc-timegrid-slot-label-frame fc-scrollgrid-shrink-frame\\\"},y(M,{elTag:\\\"div\\\",elClasses:[\\\"fc-timegrid-slot-label-cushion\\\",\\\"fc-scrollgrid-shrink-cushion\\\"]})))):y(\\\"td\\\",{className:o.join(\\\" \\\"),\\\"data-time\\\":t.isoTimeStr})})}function renderInnerContent4(M){return M.text}var TimeBodyAxis=class extends BaseComponent{render(){return this.props.slatMetas.map(M=>y(\\\"tr\\\",{key:M.key},y(TimeColsAxisCell,Object.assign({},M))))}},DEFAULT_WEEK_NUM_FORMAT2=createFormatter({week:\\\"short\\\"}),AUTO_ALL_DAY_MAX_EVENT_ROWS=5,TimeColsView=class extends DateComponent{constructor(){super(...arguments),this.allDaySplitter=new AllDaySplitter,this.headerElRef=d(),this.rootElRef=d(),this.scrollerElRef=d(),this.state={slatCoords:null},this.handleScrollTopRequest=M=>{var e=this.scrollerElRef.current;e&&(e.scrollTop=M)},this.renderHeadAxis=(M,e=\\\"\\\")=>{var b=this.context[\\\"options\\\"],z=this.props[\\\"dateProfile\\\"],z=z.renderRange;let p=1===diffDays(z.start,z.end)?buildNavLinkAttrs(this.context,z.start,\\\"week\\\"):{};return b.weekNumbers&&\\\"day\\\"===M?y(WeekNumberContainer,{elTag:\\\"th\\\",elClasses:[\\\"fc-timegrid-axis\\\",\\\"fc-scrollgrid-shrink\\\"],elAttrs:{\\\"aria-hidden\\\":!0},date:z.start,defaultFormat:DEFAULT_WEEK_NUM_FORMAT2},M=>y(\\\"div\\\",{className:[\\\"fc-timegrid-axis-frame\\\",\\\"fc-scrollgrid-shrink-frame\\\",\\\"fc-timegrid-axis-frame-liquid\\\"].join(\\\" \\\"),style:{height:e}},y(M,{elTag:\\\"a\\\",elClasses:[\\\"fc-timegrid-axis-cushion\\\",\\\"fc-scrollgrid-shrink-cushion\\\",\\\"fc-scrollgrid-sync-inner\\\"],elAttrs:p}))):y(\\\"th\\\",{\\\"aria-hidden\\\":!0,className:\\\"fc-timegrid-axis\\\"},y(\\\"div\\\",{className:\\\"fc-timegrid-axis-frame\\\",style:{height:e}}))},this.renderTableRowAxis=e=>{var{options:M,viewApi:b}=this.context,b={text:M.allDayText,view:b};return y(ContentContainer,{elTag:\\\"td\\\",elClasses:[\\\"fc-timegrid-axis\\\",\\\"fc-scrollgrid-shrink\\\"],elAttrs:{\\\"aria-hidden\\\":!0},renderProps:b,generatorName:\\\"allDayContent\\\",customGenerator:M.allDayContent,defaultGenerator:renderAllDayInner2,classNameGenerator:M.allDayClassNames,didMount:M.allDayDidMount,willUnmount:M.allDayWillUnmount},M=>y(\\\"div\\\",{className:[\\\"fc-timegrid-axis-frame\\\",\\\"fc-scrollgrid-shrink-frame\\\",null==e?\\\" fc-timegrid-axis-frame-liquid\\\":\\\"\\\"].join(\\\" \\\"),style:{height:e}},y(M,{elTag:\\\"span\\\",elClasses:[\\\"fc-timegrid-axis-cushion\\\",\\\"fc-scrollgrid-shrink-cushion\\\",\\\"fc-scrollgrid-sync-inner\\\"]})))},this.handleSlatCoords=M=>{this.setState({slatCoords:M})}}renderSimpleLayout(M,e,b){var{context:z,props:p}=this,t=[],o=getStickyHeaderDates(z.options);return M&&t.push({type:\\\"header\\\",key:\\\"header\\\",isSticky:o,chunk:{elRef:this.headerElRef,tableClassName:\\\"fc-col-header\\\",rowContent:M}}),e&&(t.push({type:\\\"body\\\",key:\\\"all-day\\\",chunk:{content:e}}),t.push({type:\\\"body\\\",key:\\\"all-day-divider\\\",outerContent:y(\\\"tr\\\",{role:\\\"presentation\\\",className:\\\"fc-scrollgrid-section\\\"},y(\\\"td\\\",{className:\\\"fc-timegrid-divider \\\"+z.theme.getClass(\\\"tableCellShaded\\\")}))})),t.push({type:\\\"body\\\",key:\\\"body\\\",liquid:!0,expandRows:Boolean(z.options.expandRows),chunk:{scrollerElRef:this.scrollerElRef,content:b}}),y(ViewContainer,{elRef:this.rootElRef,elClasses:[\\\"fc-timegrid\\\"],viewSpec:z.viewSpec},y(SimpleScrollGrid,{liquid:!p.isHeightAuto&&!p.forPrint,collapsibleWidth:p.forPrint,cols:[{width:\\\"shrink\\\"}],sections:t}))}renderHScrollLayout(M,e,b,z,p,t,o){var O=this.context.pluginHooks.scrollGridImpl;if(!O)throw new Error(\\\"No ScrollGrid implementation\\\");var{context:c,props:n}=this,i=!n.forPrint&&getStickyHeaderDates(c.options),r=!n.forPrint&&getStickyFooterScrollbar(c.options),a=[];M&&a.push({type:\\\"header\\\",key:\\\"header\\\",isSticky:i,syncRowHeights:!0,chunks:[{key:\\\"axis\\\",rowContent:M=>y(\\\"tr\\\",{role:\\\"presentation\\\"},this.renderHeadAxis(\\\"day\\\",M.rowSyncHeights[0]))},{key:\\\"cols\\\",elRef:this.headerElRef,tableClassName:\\\"fc-col-header\\\",rowContent:M}]}),e&&(a.push({type:\\\"body\\\",key:\\\"all-day\\\",syncRowHeights:!0,chunks:[{key:\\\"axis\\\",rowContent:M=>y(\\\"tr\\\",{role:\\\"presentation\\\"},this.renderTableRowAxis(M.rowSyncHeights[0]))},{key:\\\"cols\\\",content:e}]}),a.push({key:\\\"all-day-divider\\\",type:\\\"body\\\",outerContent:y(\\\"tr\\\",{role:\\\"presentation\\\",className:\\\"fc-scrollgrid-section\\\"},y(\\\"td\\\",{colSpan:2,className:\\\"fc-timegrid-divider \\\"+c.theme.getClass(\\\"tableCellShaded\\\")}))}));let A=c.options.nowIndicator;return a.push({type:\\\"body\\\",key:\\\"body\\\",liquid:!0,expandRows:Boolean(c.options.expandRows),chunks:[{key:\\\"axis\\\",content:M=>y(\\\"div\\\",{className:\\\"fc-timegrid-axis-chunk\\\"},y(\\\"table\\\",{\\\"aria-hidden\\\":!0,style:{height:M.expandRows?M.clientHeight:\\\"\\\"}},M.tableColGroupNode,y(\\\"tbody\\\",null,y(TimeBodyAxis,{slatMetas:t}))),y(\\\"div\\\",{className:\\\"fc-timegrid-now-indicator-container\\\"},y(NowTimer,{unit:A?\\\"minute\\\":\\\"day\\\"},M=>{var e=A&&o&&o.safeComputeTop(M);return\\\"number\\\"==typeof e?y(NowIndicatorContainer,{elClasses:[\\\"fc-timegrid-now-indicator-arrow\\\"],elStyle:{top:e},isAxis:!0,date:M}):null})))},{key:\\\"cols\\\",scrollerElRef:this.scrollerElRef,content:b}]}),r&&a.push({key:\\\"footer\\\",type:\\\"footer\\\",isSticky:!0,chunks:[{key:\\\"axis\\\",content:renderScrollShim},{key:\\\"cols\\\",content:renderScrollShim}]}),y(ViewContainer,{elRef:this.rootElRef,elClasses:[\\\"fc-timegrid\\\"],viewSpec:c.viewSpec},y(O,{liquid:!n.isHeightAuto&&!n.forPrint,forPrint:n.forPrint,collapsibleWidth:!1,colGroups:[{width:\\\"shrink\\\",cols:[{width:\\\"shrink\\\"}]},{cols:[{span:z,minWidth:p}]}],sections:a}))}getAllDayMaxEventProps(){let{dayMaxEvents:M,dayMaxEventRows:e}=this.context.options;return!0!==M&&!0!==e||(M=void 0,e=AUTO_ALL_DAY_MAX_EVENT_ROWS),{dayMaxEvents:M,dayMaxEventRows:e}}};function renderAllDayInner2(M){return M.text}var TimeColsSlatsCoords=class{constructor(M,e,b){this.positions=M,this.dateProfile=e,this.slotDuration=b}safeComputeTop(M){var e=this[\\\"dateProfile\\\"];if(rangeContainsMarker(e.currentRange,M)){var b=startOfDay(M),b=M.valueOf()-b.valueOf();if(b>=asRoughMs(e.slotMinTime)&&b\u003CasRoughMs(e.slotMaxTime))return this.computeTimeTop(createDuration(b))}return null}computeDateTop(M,e){return e=e||startOfDay(M),this.computeTimeTop(createDuration(M.valueOf()-e.valueOf()))}computeTimeTop(M){var e,{positions:b,dateProfile:z}=this,p=b.els.length,z=(M.milliseconds-asRoughMs(z.slotMinTime))/asRoughMs(this.slotDuration),z=Math.max(0,z);return z=Math.min(p,z),e=Math.floor(z),z=z-(e=Math.min(e,p-1)),b.tops[e]+b.getHeight(e)*z}},TimeColsSlatsBody=class extends BaseComponent{render(){let{props:z,context:p}=this,t=p[\\\"options\\\"],o=z[\\\"slatElRefs\\\"];return y(\\\"tbody\\\",null,z.slatMetas.map((M,e)=>{var b={time:M.time,date:p.dateEnv.toDate(M.date),view:p.viewApi};return y(\\\"tr\\\",{key:M.key,ref:o.createRef(M.key)},z.axis&&y(TimeColsAxisCell,Object.assign({},M)),y(ContentContainer,{elTag:\\\"td\\\",elClasses:[\\\"fc-timegrid-slot\\\",\\\"fc-timegrid-slot-lane\\\",!M.isLabeled&&\\\"fc-timegrid-slot-minor\\\"],elAttrs:{\\\"data-time\\\":M.isoTimeStr},renderProps:b,generatorName:\\\"slotLaneContent\\\",customGenerator:t.slotLaneContent,classNameGenerator:t.slotLaneClassNames,didMount:t.slotLaneDidMount,willUnmount:t.slotLaneWillUnmount}))}))}},TimeColsSlats=class extends BaseComponent{constructor(){super(...arguments),this.rootElRef=d(),this.slatElRefs=new RefMap}render(){var{props:M,context:e}=this;return y(\\\"div\\\",{ref:this.rootElRef,className:\\\"fc-timegrid-slots\\\"},y(\\\"table\\\",{\\\"aria-hidden\\\":!0,className:e.theme.getClass(\\\"table\\\"),style:{minWidth:M.tableMinWidth,width:M.clientWidth,height:M.minHeight}},M.tableColGroupNode,y(TimeColsSlatsBody,{slatElRefs:this.slatElRefs,axis:M.axis,slatMetas:M.slatMetas})))}componentDidMount(){this.updateSizing()}componentDidUpdate(){this.updateSizing()}componentWillUnmount(){this.props.onCoords&&this.props.onCoords(null)}updateSizing(){var{context:M,props:e}=this;e.onCoords&&null!==e.clientWidth&&this.rootElRef.current.offsetHeight&&e.onCoords(new TimeColsSlatsCoords(new PositionCache(this.rootElRef.current,collectSlatEls(this.slatElRefs.currentMap,e.slatMetas),!1,!0),this.props.dateProfile,M.options.slotDuration))}};function collectSlatEls(e,M){return M.map(M=>e[M.key])}function splitSegsByCol(M,e){var b=[];let z;for(z=0;z\u003Ce;z+=1)b.push([]);if(M)for(z=0;z\u003CM.length;z+=1)b[M[z].col].push(M[z]);return b}function splitInteractionByCol(e,b){var z=[];if(e){for(let M=0;M\u003Cb;M+=1)z[M]={affectedInstances:e.affectedInstances,isEvent:e.isEvent,segs:[]};for(var p of e.segs)z[p.col].segs.push(p)}else for(let M=0;M\u003Cb;M+=1)z[M]=null;return z}var TimeColMoreLink=class extends BaseComponent{render(){let M=this[\\\"props\\\"];return y(MoreLinkContainer,{elClasses:[\\\"fc-timegrid-more-link\\\"],elStyle:{top:M.top,bottom:M.bottom},allDayDate:null,moreCnt:M.hiddenSegs.length,allSegs:M.hiddenSegs,hiddenSegs:M.hiddenSegs,extraDateSpan:M.extraDateSpan,dateProfile:M.dateProfile,todayRange:M.todayRange,popoverContent:()=>renderPlainFgSegs(M.hiddenSegs,M),defaultGenerator:renderMoreLinkInner2,forceTimed:!0},M=>y(M,{elTag:\\\"div\\\",elClasses:[\\\"fc-timegrid-more-link-inner\\\",\\\"fc-sticky\\\"]}))}};function renderMoreLinkInner2(M){return M.shortText}function buildPositioning(M,e,b){var z=new SegHierarchy,p=(null!=e&&(z.strictOrder=e),null!=b&&(z.maxStackCnt=b),z.addSegs(M)),p=groupIntersectingEntries(p);return{segRects:webToRects(stretchWeb(buildWeb(z),1)),hiddenGroups:p}}function buildWeb(p){const t=p[\\\"entriesByLevel\\\"],o=cacheable((M,e)=>M+\\\":\\\"+e,(M,e)=>{var b=buildNodes(findNextLevelSegs(p,M,e),o),z=t[M][e];return[Object.assign(Object.assign({},z),{nextLevelNodes:b[0]}),z.thickness+b[1]]});return buildNodes(t.length?{level:0,lateralStart:0,lateralEnd:t[0].length}:null,o)[0]}function buildNodes(M,e){if(!M)return[[],0];var{level:b,lateralStart:z,lateralEnd:p}=M;let t=z;for(var o=[];t\u003Cp;)o.push(e(b,t)),t+=1;return o.sort(cmpDescPressures),[o.map(extractNode),o[0][1]]}function cmpDescPressures(M,e){return e[1]-M[1]}function extractNode(M){return M[0]}function findNextLevelSegs(M,e,b){var{levelCoords:z,entriesByLevel:p}=M,t=p[e][b],o=z[e]+t.thickness,O=z.length;let c=e;for(;c\u003CO&&z[c]\u003Co;c+=1);for(;c\u003CO;c+=1){var n,i=p[c],r=binarySearch(i,t.span.start,getEntrySpanEnd),r=r[0]+r[1];let M=r;for(;(n=i[M])&&n.span.start\u003Ct.span.end;)M+=1;if(r\u003CM)return{level:c,lateralStart:r,lateralEnd:M}}return null}function stretchWeb(M,i){const r=cacheable((M,e,b)=>buildEntryKey(M),(M,e,b)=>{var{nextLevelNodes:z,thickness:p}=M,t=p+b,p=p/t;let o;var O,c=[];if(z.length)for(var n of z)void 0===o?(O=r(n,e,t),o=O[0],c.push(O[1])):(O=r(n,o,0),c.push(O[1]));else o=i;z=(o-e)*p;return[o-z,Object.assign(Object.assign({},M),{thickness:z,nextLevelNodes:c})]});return M.map(M=>r(M,0,0)[1])}function webToRects(M){let p=[];const t=cacheable((M,e,b)=>buildEntryKey(M),(M,e,b)=>{var z=Object.assign(Object.assign({},M),{levelCoord:e,stackDepth:b,stackForward:0});return p.push(z),z.stackForward=o(M.nextLevelNodes,e+M.thickness,b+1)+1});function o(M,e,b){let z=0;for(var p of M)z=Math.max(t(p,e,b),z);return z}return o(M,0,0),p}function cacheable(b,z){const p={};return(...M)=>{var e=b(...M);return e in p?p[e]:p[e]=z(...M)}}function computeSegVCoords(e,b,z=null,p=0){var t=[];if(z)for(let M=0;M\u003Ce.length;M+=1){var o=e[M],O=z.computeDateTop(o.start,b),o=Math.max(O+(p||0),z.computeDateTop(o.end,b));t.push({start:Math.round(O),end:Math.round(o)})}return t}function computeFgSegPlacements(M,e,b,z){var p=[],t=[];for(let a=0;a\u003CM.length;a+=1){var o=e[a];o?p.push({index:a,thickness:1,span:o}):t.push(M[a])}var O,c,{segRects:n,hiddenGroups:i}=buildPositioning(p,b,z),r=[];for(O of n)r.push({seg:M[O.index],rect:O});for(c of t)r.push({seg:c,rect:null});return{segPlacements:r,hiddenGroups:i}}var DEFAULT_TIME_FORMAT2=createFormatter({hour:\\\"numeric\\\",minute:\\\"2-digit\\\",meridiem:!1}),TimeColEvent=class extends BaseComponent{render(){return y(StandardEvent,Object.assign({},this.props,{elClasses:[\\\"fc-timegrid-event\\\",\\\"fc-v-event\\\",this.props.isShort&&\\\"fc-timegrid-event-short\\\"],defaultTimeFormat:DEFAULT_TIME_FORMAT2}))}},TimeCol=class extends BaseComponent{constructor(){super(...arguments),this.sortEventSegs=memoize(sortEventSegs)}render(){let{props:e,context:M}=this,b=M[\\\"options\\\"],z=b.selectMirror,p=e.eventDrag&&e.eventDrag.segs||e.eventResize&&e.eventResize.segs||z&&e.dateSelectionSegs||[],t=e.eventDrag&&e.eventDrag.affectedInstances||e.eventResize&&e.eventResize.affectedInstances||{},o=this.sortEventSegs(e.fgEventSegs,b.eventOrder);return y(DayCellContainer,{elTag:\\\"td\\\",elRef:e.elRef,elClasses:[\\\"fc-timegrid-col\\\",...e.extraClassNames||[]],elAttrs:Object.assign({role:\\\"gridcell\\\"},e.extraDataAttrs),date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,extraRenderProps:e.extraRenderProps},M=>y(\\\"div\\\",{className:\\\"fc-timegrid-col-frame\\\"},y(\\\"div\\\",{className:\\\"fc-timegrid-col-bg\\\"},this.renderFillSegs(e.businessHourSegs,\\\"non-business\\\"),this.renderFillSegs(e.bgEventSegs,\\\"bg-event\\\"),this.renderFillSegs(e.dateSelectionSegs,\\\"highlight\\\")),y(\\\"div\\\",{className:\\\"fc-timegrid-col-events\\\"},this.renderFgSegs(o,t,!1,!1,!1)),y(\\\"div\\\",{className:\\\"fc-timegrid-col-events\\\"},this.renderFgSegs(p,{},Boolean(e.eventDrag),Boolean(e.eventResize),Boolean(z),\\\"mirror\\\")),y(\\\"div\\\",{className:\\\"fc-timegrid-now-indicator-container\\\"},this.renderNowIndicator(e.nowIndicatorSegs)),hasCustomDayCellContent(b)&&y(M,{elTag:\\\"div\\\",elClasses:[\\\"fc-timegrid-col-misc\\\"]})))}renderFgSegs(M,e,b,z,p,t){var o=this[\\\"props\\\"];return o.forPrint?renderPlainFgSegs(M,o):this.renderPositionedFgSegs(M,e,b,z,p,t)}renderPositionedFgSegs(M,c,n,i,r,a){let{eventMaxStack:e,eventShortHeight:A,eventOrderStrict:b,eventMinHeight:z}=this.context.options,{date:p,slatCoords:t,eventSelection:s,todayRange:d,nowDate:q}=this.props,l=n||i||r;var{segPlacements:o,hiddenGroups:O}=computeFgSegPlacements(M,computeSegVCoords(M,p,t,z),b,e);return y(_,null,this.renderHiddenGroups(O,M),o.map(M=>{var{seg:e,rect:b}=M,z=e.eventRange.instance.instanceId,p=l||Boolean(!c[z]&&b),t=computeSegVStyle(b&&b.span),o=!l&&b?this.computeSegHStyle(b):{left:0,right:0},O=Boolean(b)&&0\u003Cb.stackForward,b=Boolean(b)&&b.span.end-b.span.start\u003CA;return y(\\\"div\\\",{className:\\\"fc-timegrid-event-harness\\\"+(O?\\\" fc-timegrid-event-harness-inset\\\":\\\"\\\"),key:a||z,style:Object.assign(Object.assign({visibility:p?\\\"\\\":\\\"hidden\\\"},t),o)},y(TimeColEvent,Object.assign({seg:e,isDragging:n,isResizing:i,isDateSelecting:r,isSelected:z===s,isShort:b},getSegMeta(e,d,q))))}))}renderHiddenGroups(M,z){let{extraDateSpan:p,dateProfile:t,todayRange:o,nowDate:O,eventSelection:c,eventDrag:n,eventResize:i}=this.props;return y(_,null,M.map(M=>{var e=computeSegVStyle(M.span),b=compileSegsFromEntries(M.entries,z);return y(TimeColMoreLink,{key:buildIsoString(computeEarliestSegStart(b)),hiddenSegs:b,top:e.top,bottom:e.bottom,extraDateSpan:p,dateProfile:t,todayRange:o,nowDate:O,eventSelection:c,eventDrag:n,eventResize:i})}))}renderFillSegs(z,p){let{props:t,context:M}=this;var e=computeSegVCoords(z,t.date,t.slatCoords,M.options.eventMinHeight).map((M,e)=>{var b=z[e];return y(\\\"div\\\",{key:buildEventRangeKey(b.eventRange),className:\\\"fc-timegrid-bg-harness\\\",style:computeSegVStyle(M)},\\\"bg-event\\\"===p?y(BgEvent,Object.assign({seg:b},getSegMeta(b,t.todayRange,t.nowDate))):renderFill(p))});return y(_,null,e)}renderNowIndicator(M){let{slatCoords:b,date:z}=this.props;return b?M.map((M,e)=>y(NowIndicatorContainer,{key:e,elClasses:[\\\"fc-timegrid-now-indicator-line\\\"],elStyle:{top:b.computeDateTop(M.start,z)},isAxis:!1,date:z})):null}computeSegHStyle(M){var{isRtl:e,options:b}=this.context,b=b.slotEventOverlap,z=M.levelCoord;let p=M.levelCoord+M.thickness,t,o;b&&(p=Math.min(1,z+2*(p-z))),o=e?(t=1-p,z):(t=z,1-p);z={zIndex:M.stackDepth+1,left:100*t+\\\"%\\\",right:100*o+\\\"%\\\"};return b&&!M.stackForward&&(z[e?\\\"marginLeft\\\":\\\"marginRight\\\"]=20),z}};function renderPlainFgSegs(M,{todayRange:b,nowDate:z,eventSelection:p,eventDrag:e,eventResize:t}){let o=(e?e.affectedInstances:null)||(t?t.affectedInstances:null)||{};return y(_,null,M.map(M=>{var e=M.eventRange.instance.instanceId;return y(\\\"div\\\",{key:e,style:{visibility:o[e]?\\\"hidden\\\":\\\"\\\"}},y(TimeColEvent,Object.assign({seg:M,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:e===p,isShort:!1},getSegMeta(M,b,z))))}))}function computeSegVStyle(M){return M?{top:M.start,bottom:-M.end}:{top:\\\"\\\",bottom:\\\"\\\"}}function compileSegsFromEntries(M,e){return M.map(M=>e[M.index])}var TimeColsContent=class extends BaseComponent{constructor(){super(...arguments),this.splitFgEventSegs=memoize(splitSegsByCol),this.splitBgEventSegs=memoize(splitSegsByCol),this.splitBusinessHourSegs=memoize(splitSegsByCol),this.splitNowIndicatorSegs=memoize(splitSegsByCol),this.splitDateSelectionSegs=memoize(splitSegsByCol),this.splitEventDrag=memoize(splitInteractionByCol),this.splitEventResize=memoize(splitInteractionByCol),this.rootElRef=d(),this.cellElRefs=new RefMap}render(){let{props:b,context:M}=this;var e=M.options.nowIndicator&&b.slatCoords&&b.slatCoords.safeComputeTop(b.nowDate),z=b.cells.length;let p=this.splitFgEventSegs(b.fgEventSegs,z),t=this.splitBgEventSegs(b.bgEventSegs,z),o=this.splitBusinessHourSegs(b.businessHourSegs,z),O=this.splitNowIndicatorSegs(b.nowIndicatorSegs,z),c=this.splitDateSelectionSegs(b.dateSelectionSegs,z),n=this.splitEventDrag(b.eventDrag,z),i=this.splitEventResize(b.eventResize,z);return y(\\\"div\\\",{className:\\\"fc-timegrid-cols\\\",ref:this.rootElRef},y(\\\"table\\\",{role:\\\"presentation\\\",style:{minWidth:b.tableMinWidth,width:b.clientWidth}},b.tableColGroupNode,y(\\\"tbody\\\",{role:\\\"presentation\\\"},y(\\\"tr\\\",{role:\\\"row\\\"},b.axis&&y(\\\"td\\\",{\\\"aria-hidden\\\":!0,className:\\\"fc-timegrid-col fc-timegrid-axis\\\"},y(\\\"div\\\",{className:\\\"fc-timegrid-col-frame\\\"},y(\\\"div\\\",{className:\\\"fc-timegrid-now-indicator-container\\\"},\\\"number\\\"==typeof e&&y(NowIndicatorContainer,{elClasses:[\\\"fc-timegrid-now-indicator-arrow\\\"],elStyle:{top:e},isAxis:!0,date:b.nowDate})))),b.cells.map((M,e)=>y(TimeCol,{key:M.key,elRef:this.cellElRefs.createRef(M.key),dateProfile:b.dateProfile,date:M.date,nowDate:b.nowDate,todayRange:b.todayRange,extraRenderProps:M.extraRenderProps,extraDataAttrs:M.extraDataAttrs,extraClassNames:M.extraClassNames,extraDateSpan:M.extraDateSpan,fgEventSegs:p[e],bgEventSegs:t[e],businessHourSegs:o[e],nowIndicatorSegs:O[e],dateSelectionSegs:c[e],eventDrag:n[e],eventResize:i[e],slatCoords:b.slatCoords,eventSelection:b.eventSelection,forPrint:b.forPrint}))))))}componentDidMount(){this.updateCoords()}componentDidUpdate(){this.updateCoords()}updateCoords(){var M=this[\\\"props\\\"];M.onColCoords&&null!==M.clientWidth&&M.onColCoords(new PositionCache(this.rootElRef.current,collectCellEls(this.cellElRefs.currentMap,M.cells),!0,!1))}};function collectCellEls(e,M){return M.map(M=>e[M.key])}var TimeCols=class extends DateComponent{constructor(){super(...arguments),this.processSlotOptions=memoize(processSlotOptions),this.state={slatCoords:null},this.handleRootEl=M=>{M?this.context.registerInteractiveComponent(this,{el:M,isHitComboAllowed:this.props.isHitComboAllowed}):this.context.unregisterInteractiveComponent(this)},this.handleScrollRequest=e=>{var b=this.props[\\\"onScrollTopRequest\\\"],z=this.state[\\\"slatCoords\\\"];if(b&&z){if(e.time){let M=z.computeTimeTop(e.time);(M=Math.ceil(M))&&(M+=1),b(M)}return!0}return!1},this.handleColCoords=M=>{this.colCoords=M},this.handleSlatCoords=M=>{this.setState({slatCoords:M}),this.props.onSlatCoords&&this.props.onSlatCoords(M)}}render(){var{props:M,state:e}=this;return y(\\\"div\\\",{className:\\\"fc-timegrid-body\\\",ref:this.handleRootEl,style:{width:M.clientWidth,minWidth:M.tableMinWidth}},y(TimeColsSlats,{axis:M.axis,dateProfile:M.dateProfile,slatMetas:M.slatMetas,clientWidth:M.clientWidth,minHeight:M.expandRows?M.clientHeight:\\\"\\\",tableMinWidth:M.tableMinWidth,tableColGroupNode:M.axis?M.tableColGroupNode:null,onCoords:this.handleSlatCoords}),y(TimeColsContent,{cells:M.cells,axis:M.axis,dateProfile:M.dateProfile,businessHourSegs:M.businessHourSegs,bgEventSegs:M.bgEventSegs,fgEventSegs:M.fgEventSegs,dateSelectionSegs:M.dateSelectionSegs,eventSelection:M.eventSelection,eventDrag:M.eventDrag,eventResize:M.eventResize,todayRange:M.todayRange,nowDate:M.nowDate,nowIndicatorSegs:M.nowIndicatorSegs,clientWidth:M.clientWidth,tableMinWidth:M.tableMinWidth,tableColGroupNode:M.tableColGroupNode,slatCoords:e.slatCoords,onColCoords:this.handleColCoords,forPrint:M.forPrint}))}componentDidMount(){this.scrollResponder=this.context.createScrollResponder(this.handleScrollRequest)}componentDidUpdate(M){this.scrollResponder.update(M.dateProfile!==this.props.dateProfile)}componentWillUnmount(){this.scrollResponder.detach()}queryHit(M,e){var b,z,p,t,{dateEnv:o,options:O}=this.context,c=this[\\\"colCoords\\\"],n=this.props[\\\"dateProfile\\\"],i=this.state[\\\"slatCoords\\\"],{snapDuration:O,snapsPerSlot:r}=this.processSlotOptions(this.props.slotDuration,O.snapDuration),a=c.leftToIndex(M),A=i.positions.topToIndex(e);return null!=a&&null!=A?(b=this.props.cells[a],z=i.positions.tops[A],i=i.positions.getHeight(A),t=Math.floor((e-z)/i*r),p=this.props.cells[a].date,A=addDurations(n.slotMinTime,multiplyDuration(O,A*r+t)),r=o.add(p,A),t=o.add(r,O),{dateProfile:n,dateSpan:Object.assign({range:{start:r,end:t},allDay:!1},b.extraDateSpan),dayEl:c.els[a],rect:{left:c.lefts[a],right:c.rights[a],top:z,bottom:z+i},layer:0}):null}};function processSlotOptions(M,e){let b=e||M,z=wholeDivideDurations(M,b);return null===z&&(b=M,z=1),{snapDuration:b,snapsPerSlot:z}}var DayTimeColsSlicer=class extends Slicer{sliceRange(M,e){var b=[];for(let p=0;p\u003Ce.length;p+=1){var z=intersectRanges(M,e[p]);z&&b.push({start:z.start,end:z.end,isStart:z.start.valueOf()===M.start.valueOf(),isEnd:z.end.valueOf()===M.end.valueOf(),col:p})}return b}},DayTimeCols=class extends DateComponent{constructor(){super(...arguments),this.buildDayRanges=memoize(buildDayRanges),this.slicer=new DayTimeColsSlicer,this.timeColsRef=d()}render(){let{props:b,context:z}=this,{dateProfile:p,dayTableModel:t}=b,{nowIndicator:o,nextDayThreshold:O}=z.options,c=this.buildDayRanges(t,p,z.dateEnv);return y(NowTimer,{unit:o?\\\"minute\\\":\\\"day\\\"},(M,e)=>y(TimeCols,Object.assign({ref:this.timeColsRef},this.slicer.sliceProps(b,p,null,z,c),{forPrint:b.forPrint,axis:b.axis,dateProfile:p,slatMetas:b.slatMetas,slotDuration:b.slotDuration,cells:t.cells[0],tableColGroupNode:b.tableColGroupNode,tableMinWidth:b.tableMinWidth,clientWidth:b.clientWidth,clientHeight:b.clientHeight,expandRows:b.expandRows,nowDate:M,nowIndicatorSegs:o&&this.slicer.sliceNowDate(M,p,O,z,c),todayRange:e,onScrollTopRequest:b.onScrollTopRequest,onSlatCoords:b.onSlatCoords})))}};function buildDayRanges(M,e,b){var z,p=[];for(z of M.headerDates)p.push({start:b.add(z,e.slotMinTime),end:b.add(z,e.slotMaxTime)});return p}var STOCK_SUB_DURATIONS=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}];function buildSlatMetas(M,e,b,z,p){var t=new Date(0);let o=M,O=createDuration(0);for(var c=b||computeLabelInterval(z),n=[];asRoughMs(o)\u003CasRoughMs(e);){var i=p.add(t,o),r=null!==wholeDivideDurations(O,c);n.push({date:i,time:o,key:i.toISOString(),isoTimeStr:formatIsoTimeString(i),isLabeled:r}),o=addDurations(o,z),O=addDurations(O,z)}return n}function computeLabelInterval(M){let e;var b,z;for(e=STOCK_SUB_DURATIONS.length-1;0\u003C=e;--e)if(null!==(z=wholeDivideDurations(b=createDuration(STOCK_SUB_DURATIONS[e]),M))&&1\u003Cz)return b;return M}var DayTimeColsView=class extends TimeColsView{constructor(){super(...arguments),this.buildTimeColsModel=memoize(buildTimeColsModel),this.buildSlatMetas=memoize(buildSlatMetas)}render(){let{options:e,dateEnv:M,dateProfileGenerator:b}=this.context,z=this[\\\"props\\\"],p=z[\\\"dateProfile\\\"],t=this.buildTimeColsModel(p,b),o=this.allDaySplitter.splitProps(z),O=this.buildSlatMetas(p.slotMinTime,p.slotMaxTime,e.slotLabelInterval,e.slotDuration,M);var c=e[\\\"dayMinWidth\\\"];let n=!c;var i=c,r=e.dayHeaders&&y(DayHeader,{dates:t.headerDates,dateProfile:p,datesRepDistinctDays:!0,renderIntro:n?this.renderHeadAxis:null}),a=!1!==e.allDaySlot&&(M=>y(DayTable,Object.assign({},o.allDay,{dateProfile:p,dayTableModel:t,nextDayThreshold:e.nextDayThreshold,tableMinWidth:M.tableMinWidth,colGroupNode:M.tableColGroupNode,renderRowIntro:n?this.renderTableRowAxis:null,showWeekNumbers:!1,expandRows:!1,headerAlignElRef:this.headerElRef,clientWidth:M.clientWidth,clientHeight:M.clientHeight,forPrint:z.forPrint},this.getAllDayMaxEventProps()))),A=M=>y(DayTimeCols,Object.assign({},o.timed,{dayTableModel:t,dateProfile:p,axis:n,slotDuration:e.slotDuration,slatMetas:O,forPrint:z.forPrint,tableColGroupNode:M.tableColGroupNode,tableMinWidth:M.tableMinWidth,clientWidth:M.clientWidth,clientHeight:M.clientHeight,onSlatCoords:this.handleSlatCoords,expandRows:M.expandRows,onScrollTopRequest:this.handleScrollTopRequest}));return i?this.renderHScrollLayout(r,a,A,t.colCnt,c,O,this.state.slatCoords):this.renderSimpleLayout(r,a,A)}};function buildTimeColsModel(M,e){var b=new DaySeriesModel(M.renderRange,e);return new DayTableModel(b,!1)}var OPTION_REFINERS4={allDaySlot:Boolean},index7=createPlugin({name:\\\"@fullcalendar/timegrid\\\",initialView:\\\"timeGridWeek\\\",optionRefiners:OPTION_REFINERS4,views:{timeGrid:{component:DayTimeColsView,usesMinMaxTime:!0,allDaySlot:!0,slotDuration:\\\"00:30:00\\\",slotEventOverlap:!0},timeGridDay:{type:\\\"timeGrid\\\",duration:{days:1}},timeGridWeek:{type:\\\"timeGrid\\\",duration:{weeks:1}}}}),import_moment_timezone5=__toESM(require_moment_timezone2());function setToolbarIcons(){var M,e=document.querySelector(\\\".fc-backToDefaultLayout-button\\\"),e=(e&&(M=null!=(M=null==(M=null==(M=$tw.wiki.renderTiddler(\\\"text/html\\\",\\\"$:/plugins/linonetwo/tw-calendar/Images/ExitLayout\\\"))?void 0:M.replace(\\\"\u003Cp>\\\",\\\"\\\"))?void 0:M.replace(\\\"\u003C/p>\\\",\\\"\\\"))?M:\\\"\\\",e.innerHTML=getIsSmallScreen()?M:`${null!=(e=$tw.wiki.getTiddlerText(\\\"$:/language/Buttons/Close/Caption\\\"))?e:\\\"Close\\\"} `+M),document.querySelector(\\\".fc-searchLayout-button\\\"));e&&(M=null!=(M=null==(M=null==(M=$tw.wiki.renderTiddler(\\\"text/html\\\",\\\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/Images/CalendarSearchImage\\\"))?void 0:M.replace(\\\"\u003Cp>\\\",\\\"\\\"))?void 0:M.replace(\\\"\u003C/p>\\\",\\\"\\\"))?M:\\\"\\\",e.innerHTML=getIsSmallScreen()?M:`${null!=(e=$tw.wiki.getTiddlerText(\\\"$:/language/Search/Search\\\"))?e:\\\"Search\\\"} `+M)}function getCustomButtons(){var M;return{backToDefaultLayout:{text:\\\"\\\",hint:null!=(M=$tw.wiki.getTiddlerText(\\\"$:/language/Buttons/FullScreen/Hint\\\"))?M:\\\"Exit\\\",click:()=>{$tw.wiki.setText(\\\"$:/layout\\\",\\\"text\\\",void 0,\\\"\\\")}},searchLayout:{text:\\\"\\\",hint:null!=(M=$tw.wiki.getTiddlerText(\\\"$:/language/Search/Standard/Hint\\\"))?M:\\\"Search\\\",click:()=>{$tw.wiki.setText(\\\"$:/layout\\\",\\\"text\\\",void 0,\\\"$:/plugins/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout\\\")}}}}init_esbuild_inject(),init_esbuild_inject();var import_moment_timezone3=__toESM(require_moment_timezone2());function threeDayWith1Previous1NextVisibleRange(M){let e=(0,import_moment_timezone3[\\\"default\\\"])(M),b=(0,import_moment_timezone3[\\\"default\\\"])(M);return e=e.subtract(import_moment_timezone3[\\\"default\\\"].duration({day:1})).add(timeZoneOffset).format(\\\"YYYY-MM-DD\\\"),b=b.add(import_moment_timezone3[\\\"default\\\"].duration({day:2})).add(timeZoneOffset).format(\\\"YYYY-MM-DD\\\"),{start:e,end:b}}function getCustomViews(M){return{timeGridThreeDay:{type:\\\"timeGrid\\\",buttonText:\\\"zh-cn\\\"===M?\\\"3日\\\":getIsSmallScreen()?\\\"3d\\\":\\\"3 day\\\",duration:{days:3},visibleRange:threeDayWith1Previous1NextVisibleRange},timeGridDay:{type:\\\"timeGrid\\\",duration:{days:1},buttonText:\\\"zh-cn\\\"===M?\\\"1日\\\":getIsSmallScreen()?\\\"1d\\\":\\\"day\\\"},searchResultList:{type:\\\"listYear\\\",duration:{years:1e3}}}}init_esbuild_inject();var import_compact=__toESM(require_compact()),dateDurationMacro=require(\\\"$:/plugins/linonetwo/tw-calendar/date-duration-macro\\\"),getDateDuration=dateDurationMacro.run;function getEventContent(n){return e=>{var b=`\u003Cdiv>${e.event.title}\u003C/div>`,z=`\u003Cdiv>${e.timeText}\u003C/div>`,M=$tw.wiki.getTiddler(e.event.title);let p=0;if(void 0===M){let M=\\\"\u003Cdiv>\u003C/div>\\\";if(void 0!==e.event._instance&&e.event.end instanceof Date&&e.event.start instanceof Date){var t=$tw.utils.formatDateString(e.event.start,\\\"[UTC]YYYY0MM0DD0hh0mm0ss0XXX\\\"),o=$tw.utils.formatDateString(e.event.end,\\\"[UTC]YYYY0MM0DD0hh0mm0ss0XXX\\\"),t=getDateDuration(t,o);if(M=`\u003Cdiv>${t}\u003C/div>`,(p=e.event.end-e.event.start)>=DURATION_THRESHOLD_FOR_SHOWING_TIME_AT_BOTTOM)return{html:`\u003Cdiv style=\\\"height: 100%; display: flex; flex-direction: column; justify-content: space-between;\\\">\\n \u003Cdiv>${[b,z,M].join(\\\"\\\")}\u003C/div>\\n \u003Cdiv>${[z,M].join(\\\"\\\")}\u003C/div>\\n \u003C/div>`}}return{html:`\u003Cdiv>${[b,z,M].join(\\\"\\\")}\u003C/div>`}}let O;\\\"string\\\"==typeof M.fields.caption&&void 0!==n.parentWidget&&(O=M.fields.caption.includes(\\\"{{\\\")?(o=$tw.wiki.parseText(\\\"text/vnd.tiddlywiki\\\",M.fields.caption).tree,t=n.parentWidget.makeChildWidget({type:\\\"tiddler\\\",children:o}),o=document.createElement(\\\"div\\\"),t.render(o,null),o.textContent):M.fields.caption);t=M.fields[null!=(o=null==(t=n.startDateFields)?void 0:t[0])?o:\\\"startDate\\\"],o=M.fields[null!=(o=null==(o=n.endDateFields)?void 0:o[0])?o:\\\"endDate\\\"];let c=\\\"\\\";void 0!==t&&void 0!==o&&(c=getDateDuration(t,o),p=$tw.utils.parseDate(o)-$tw.utils.parseDate(t));o=void 0!==c&&`\u003Cdiv>${c}\u003C/div>`,t=\\\"string\\\"==typeof O?`\u003Cdiv class=\\\"${null!=(t=null==M?void 0:M.fields)&&t.text?\\\"fc-event-title-with-text\\\":\\\"\\\"}\\\">${O}\u003C/div>`:b;return[\\\"dayGridMonth\\\"].includes(e.view.type)?{html:[t].join(\\\"\\\")}:(b=allowedTiddlerTypeToPreview.includes(null!=(b=M.fields.type)?b:\\\"\\\")?`\u003Cdiv>${(null!=(b=M.fields.text)?b:\\\"\\\").substring(0,2e3)}\u003C/div>`:`\u003Cdiv>${M.fields.type} too large\u003C/div>`,M=`\u003Cdiv class=\\\"fc-event-main-tags\\\">${null!=(M=null==(M=null==(M=M.fields.tags)?void 0:M.map(M=>`\u003Cspan>${M}\u003C/span>`))?void 0:M.join(\\\"\\\"))?M:\\\"\\\"}\u003C/div>`,t=(0,import_compact[\\\"default\\\"])([t,M,z,o,b]).join(\\\"\\\"),p>=DURATION_THRESHOLD_FOR_SHOWING_TIME_AT_BOTTOM?{html:`\u003Cdiv style=\\\"height: 100%; display: flex; flex-direction: column; justify-content: space-between;\\\">\\n \u003Cdiv>${t}\u003C/div>\\n \u003Cdiv>${[z,o].join(\\\"\\\")}\u003C/div>\\n \u003C/div>`}:{html:t})}}init_esbuild_inject();var normalTiddlerEventLengthInHour=1,allDayDateLength=864e5,getEventOnFullCalendarViewChange=o=>async M=>{var{start:e,end:b}=M;const[z,p]=[e,b].map(M=>$tw.utils.stringifyDate(M)),t=null!=(e=null==o?void 0:o.filter)?e:\\\"[all[tiddlers]!is[system]]\\\";return getEvents((null!=(b=o.startDateFields)?b:[\\\"created\\\",\\\"modified\\\",\\\"startDate\\\"]).map(M=>`${t}:filter[get[${M}]compare:date:gteq[${z}]compare:date:lteq[${p}]]`).flatMap(M=>$tw.wiki.filterTiddlers(M)).filter(function(M,e,b){return b.indexOf(M)===e}),o)},getEventByFilter=z=>async M=>{var{filter:e,parentWidget:b}=z;return e?getEvents($tw.wiki.filterTiddlers(e,b),z):[]};function getEvents(M,e){var b;const z=$tw.wiki.getTiddlerData(null!=(b=$tw.wiki.getTiddlerText(\\\"$:/palette\\\"))?b:\\\"$:/palettes/Vanilla\\\");return M.map(M=>$tw.wiki.getTiddler(M)).filter(M=>void 0!==M).map(M=>M.fields).flatMap(M=>mapTiddlerFieldsToFullCalendarEventObject(M,e,z))}var contrastColour=require(\\\"$:/core/modules/macros/contrastcolour.js\\\").run,parseDate=M=>{var e=$tw.utils.parseDate(M);if(null===e)throw new Error(\\\"null result from parseDate\\\");return e};function mapTiddlerFieldsToFullCalendarEventObject(O,c,M){const{title:n,startDate:e,endDate:b,created:z,modified:p,color:t,tags:o}=O;var i,r,a=null!=t?t:null==o?void 0:o.map(M=>{var e;return null==(e=null==(e=$tw.wiki.getTiddler(M))?void 0:e.fields)?void 0:e.color}).find(Boolean);let A;void 0!==a&&(i=contrastColour(a,M[\\\"tag-background\\\"],M.foreground,M.background),A=Array.isArray(i)?`rgba(${i.join(\\\",\\\")})`:i);const s={title:n,id:n,interactive:!0,display:\\\"block\\\",backgroundColor:a,textColor:A};return Array.isArray(c.startDateFields)?c.startDateFields.map((e,b)=>{var z=O[e];let p;if(z){try{p=parseDate(z)}catch(o){throw new Error(`field ${e} in tiddler ${n} is not a valid date format: ${z} , causing ${o.message} `+(null!=(z=o.stack)?z:\\\"\\\"))}var t,z=null==(z=c.endDateFields)?void 0:z[b];let M;if(z&&void 0!==(t=O[z]))try{M=parseDate(t)}catch(o){throw new Error(`field ${z} in tiddler ${n} is not a valid date format: ${t} , causing ${o.message} `+(null!=(z=o.stack)?z:\\\"\\\"))}return void 0===M&&((t=new Date(p)).setHours(p.getHours()+normalTiddlerEventLengthInHour),M=t),{...s,startEditable:!1,durationEditable:!1,start:p,end:M,allDay:M-p===allDayDateLength,extendedProps:{type:2}}}}).filter(M=>void 0!==M):\\\"string\\\"==typeof e&&\\\"string\\\"==typeof b?(i=parseDate(e),a=parseDate(b),[{...s,start:i,end:a,allDay:a-i===allDayDateLength,extendedProps:{type:0}}]):(a=[],i={...s,startEditable:!1,durationEditable:!1,extendedProps:{type:1}},void 0!==z&&((r=new Date(z)).setHours(z.getHours()+normalTiddlerEventLengthInHour),a.push({...i,start:z,end:r})),r=Math.abs(z-p),void 0!==p&&36e5*normalTiddlerEventLengthInHour\u003Cr&&((r=new Date(p)).setHours(p.getHours()+normalTiddlerEventLengthInHour),a.push({...i,start:p,end:r})),a)}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var sides=[\\\"top\\\",\\\"right\\\",\\\"bottom\\\",\\\"left\\\"],alignments=[\\\"start\\\",\\\"end\\\"],placements=sides.reduce((M,e)=>M.concat(e,e+\\\"-\\\"+alignments[0],e+\\\"-\\\"+alignments[1]),[]),min=Math.min,max=Math.max,round=Math.round,createCoords=M=>({x:M,y:M}),oppositeSideMap={left:\\\"right\\\",right:\\\"left\\\",bottom:\\\"top\\\",top:\\\"bottom\\\"},oppositeAlignmentMap={start:\\\"end\\\",end:\\\"start\\\"};function clamp(M,e,b){return max(M,min(e,b))}function evaluate(M,e){return\\\"function\\\"==typeof M?M(e):M}function getSide(M){return M.split(\\\"-\\\")[0]}function getAlignment(M){return M.split(\\\"-\\\")[1]}function getOppositeAxis(M){return\\\"x\\\"===M?\\\"y\\\":\\\"x\\\"}function getAxisLength(M){return\\\"y\\\"===M?\\\"height\\\":\\\"width\\\"}function getSideAxis(M){return[\\\"top\\\",\\\"bottom\\\"].includes(getSide(M))?\\\"y\\\":\\\"x\\\"}function getAlignmentAxis(M){return getOppositeAxis(getSideAxis(M))}function getAlignmentSides(M,e,b){void 0===b&&(b=!1);var z=getAlignment(M),p=getAlignmentAxis(M),t=getAxisLength(p);let o=\\\"x\\\"===p?z===(b?\\\"end\\\":\\\"start\\\")?\\\"right\\\":\\\"left\\\":\\\"start\\\"===z?\\\"bottom\\\":\\\"top\\\";return[o=e.reference[t]>e.floating[t]?getOppositePlacement(o):o,getOppositePlacement(o)]}function getOppositeAlignmentPlacement(M){return M.replace(/start|end/g,M=>oppositeAlignmentMap[M])}function getOppositePlacement(M){return M.replace(/left|right|bottom|top/g,M=>oppositeSideMap[M])}function expandPaddingObject(M){return{top:0,right:0,bottom:0,left:0,...M}}function getPaddingObject(M){return\\\"number\\\"!=typeof M?expandPaddingObject(M):{top:M,right:M,bottom:M,left:M}}function rectToClientRect(M){return{...M,top:M.y,left:M.x,right:M.x+M.width,bottom:M.y+M.height}}function computeCoordsFromPlacement(M,e,b){var{reference:z,floating:p}=M,t=getSideAxis(e),o=getAlignmentAxis(e),O=getAxisLength(o),c=getSide(e),n=\\\"y\\\"===t,i=z.x+z.width/2-p.width/2,r=z.y+z.height/2-p.height/2,a=z[O]/2-p[O]/2;let A;switch(c){case\\\"top\\\":A={x:i,y:z.y-p.height};break;case\\\"bottom\\\":A={x:i,y:z.y+z.height};break;case\\\"right\\\":A={x:z.x+z.width,y:r};break;case\\\"left\\\":A={x:z.x-p.width,y:r};break;default:A={x:z.x,y:z.y}}switch(getAlignment(e)){case\\\"start\\\":A[o]-=a*(b&&n?-1:1);break;case\\\"end\\\":A[o]+=a*(b&&n?-1:1)}return A}var computePosition=async(M,e,b)=>{var{placement:z=\\\"bottom\\\",strategy:p=\\\"absolute\\\",middleware:t=[],platform:o}=b,O=t.filter(Boolean),c=await(null==o.isRTL?void 0:o.isRTL(e));let n=await o.getElementRects({reference:M,floating:e,strategy:p}),{x:i,y:r}=computeCoordsFromPlacement(n,z,c),a=z,A={},s=0;for(let f=0;f\u003CO.length;f++){var{name:d,fn:q}=O[f],{x:q,y:l,data:u,reset:W}=await q({x:i,y:r,initialPlacement:z,placement:a,strategy:p,middlewareData:A,rects:n,platform:o,elements:{reference:M,floating:e}});i=null!=q?q:i,r=null!=l?l:r,A={...A,[d]:{...A[d],...u}},W&&s\u003C=50&&(s++,\\\"object\\\"==typeof W&&(W.placement&&(a=W.placement),W.rects&&(n=!0===W.rects?await o.getElementRects({reference:M,floating:e,strategy:p}):W.rects),({x:i,y:r}=computeCoordsFromPlacement(n,a,c))),f=-1)}return{x:i,y:r,placement:a,strategy:p,middlewareData:A}};async function detectOverflow(M,e){var{x:b,y:z,platform:p,rects:t,elements:o,strategy:O}=M,{boundary:c=\\\"clippingAncestors\\\",rootBoundary:n=\\\"viewport\\\",elementContext:i=\\\"floating\\\",altBoundary:r=!1,padding:a=0}=evaluate(e=void 0===e?{}:e,M),a=getPaddingObject(a),r=o[r?\\\"floating\\\"===i?\\\"reference\\\":\\\"floating\\\":i],A=rectToClientRect(await p.getClippingRect({element:null==(A=await(null==p.isElement?void 0:p.isElement(r)))||A?r:r.contextElement||await(null==p.getDocumentElement?void 0:p.getDocumentElement(o.floating)),boundary:c,rootBoundary:n,strategy:O})),r=\\\"floating\\\"===i?{...t.floating,x:b,y:z}:t.reference,c=await(null==p.getOffsetParent?void 0:p.getOffsetParent(o.floating)),n=await(null==p.isElement?void 0:p.isElement(c))&&await(null==p.getScale?void 0:p.getScale(c))||{x:1,y:1},i=rectToClientRect(p.convertOffsetParentRelativeRectToViewportRelativeRect?await p.convertOffsetParentRelativeRectToViewportRelativeRect({rect:r,offsetParent:c,strategy:O}):r);return{top:(A.top-i.top+a.top)/n.y,bottom:(i.bottom-A.bottom+a.bottom)/n.y,left:(A.left-i.left+a.left)/n.x,right:(i.right-A.right+a.right)/n.x}}function getPlacementList(e,b,M){return(e?[...M.filter(M=>getAlignment(M)===e),...M.filter(M=>getAlignment(M)!==e)]:M.filter(M=>getSide(M)===M)).filter(M=>!e||getAlignment(M)===e||!!b&&getOppositeAlignmentPlacement(M)!==M)}var autoPlacement=function(d){return{name:\\\"autoPlacement\\\",options:d=void 0===d?{}:d,async fn(M){var{rects:e,middlewareData:b,placement:z,platform:p,elements:t}=M;const{crossAxis:o=!1,alignment:O,allowedPlacements:c=placements,autoAlignment:n=!0,...i}=evaluate(d,M);var r=void 0!==O||c===placements?getPlacementList(O||null,n,c):c,a=await detectOverflow(M,i),A=(null==(A=b.autoPlacement)?void 0:A.index)||0,s=r[A];return null==s?{}:(e=getAlignmentSides(s,e,await(null==p.isRTL?void 0:p.isRTL(t.floating))),z!==s?{reset:{placement:r[0]}}:(t=[a[getSide(s)],a[e[0]],a[e[1]]],e=[...(null==(p=b.autoPlacement)?void 0:p.overflows)||[],{placement:s,overflows:t}],(a=r[A+1])?{data:{index:A+1,overflows:e},reset:{placement:a}}:(s=(null==(p=(b=e.map(M=>{var e=getAlignment(M.placement);return[M.placement,e&&o?M.overflows.slice(0,2).reduce((M,e)=>M+e,0):M.overflows[0],M.overflows]}).sort((M,e)=>M[1]-e[1])).filter(M=>M[2].slice(0,getAlignment(M[0])?2:3).every(M=>M\u003C=0))[0])?void 0:p[0])||b[0][0])!==z?{data:{index:A+1,overflows:e},reset:{placement:s}}:{}))}}},shift=function(s){return{name:\\\"shift\\\",options:s=void 0===s?{}:s,async fn(M){var{x:e,y:b,placement:z}=M;const{mainAxis:p=!0,crossAxis:t=!1,limiter:o={fn:M=>{var{x:e,y:b}=M;return{x:e,y:b}}},...O}=evaluate(s,M);var c,n={x:e,y:b},i=await detectOverflow(M,O),z=getSideAxis(getSide(z)),r=getOppositeAxis(z);let a=n[r],A=n[z];p&&(n=a+i[\\\"y\\\"===r?\\\"top\\\":\\\"left\\\"],c=a-i[\\\"y\\\"===r?\\\"bottom\\\":\\\"right\\\"],a=clamp(n,a,c)),t&&(n=A+i[\\\"y\\\"===z?\\\"top\\\":\\\"left\\\"],c=A-i[\\\"y\\\"===z?\\\"bottom\\\":\\\"right\\\"],A=clamp(n,A,c));i=o.fn({...M,[r]:a,[z]:A});return{...i,data:{x:i.x-e,y:i.y-b}}}}};function getNodeName(M){return isNode(M)?(M.nodeName||\\\"\\\").toLowerCase():\\\"#document\\\"}function getWindow(M){var e;return(null==M||null==(e=M.ownerDocument)?void 0:e.defaultView)||window}function getDocumentElement(M){var e;return null==(e=(isNode(M)?M.ownerDocument:M.document)||window.document)?void 0:e.documentElement}function isNode(M){return M instanceof Node||M instanceof getWindow(M).Node}function isElement(M){return M instanceof Element||M instanceof getWindow(M).Element}function isHTMLElement(M){return M instanceof HTMLElement||M instanceof getWindow(M).HTMLElement}function isShadowRoot(M){return\\\"undefined\\\"!=typeof ShadowRoot&&(M instanceof ShadowRoot||M instanceof getWindow(M).ShadowRoot)}function isOverflowElement(M){var{overflow:e,overflowX:b,overflowY:z,display:p}=getComputedStyle(M);return/auto|scroll|overlay|hidden|clip/.test(e+z+b)&&![\\\"inline\\\",\\\"contents\\\"].includes(p)}function isTableElement(M){return[\\\"table\\\",\\\"td\\\",\\\"th\\\"].includes(getNodeName(M))}function isContainingBlock(M){var e=isWebKit();const b=getComputedStyle(M);return\\\"none\\\"!==b.transform||\\\"none\\\"!==b.perspective||!!b.containerType&&\\\"normal\\\"!==b.containerType||!e&&!!b.backdropFilter&&\\\"none\\\"!==b.backdropFilter||!e&&!!b.filter&&\\\"none\\\"!==b.filter||[\\\"transform\\\",\\\"perspective\\\",\\\"filter\\\"].some(M=>(b.willChange||\\\"\\\").includes(M))||[\\\"paint\\\",\\\"layout\\\",\\\"strict\\\",\\\"content\\\"].some(M=>(b.contain||\\\"\\\").includes(M))}function getContainingBlock(M){let e=getParentNode(M);for(;isHTMLElement(e)&&!isLastTraversableNode(e);){if(isContainingBlock(e))return e;e=getParentNode(e)}return null}function isWebKit(){return!(\\\"undefined\\\"==typeof CSS||!CSS.supports)&&CSS.supports(\\\"-webkit-backdrop-filter\\\",\\\"none\\\")}function isLastTraversableNode(M){return[\\\"html\\\",\\\"body\\\",\\\"#document\\\"].includes(getNodeName(M))}function getComputedStyle(M){return getWindow(M).getComputedStyle(M)}function getNodeScroll(M){return isElement(M)?{scrollLeft:M.scrollLeft,scrollTop:M.scrollTop}:{scrollLeft:M.pageXOffset,scrollTop:M.pageYOffset}}function getParentNode(M){var e;return\\\"html\\\"===getNodeName(M)?M:(e=M.assignedSlot||M.parentNode||isShadowRoot(M)&&M.host||getDocumentElement(M),isShadowRoot(e)?e.host:e)}function getNearestOverflowAncestor(M){var e=getParentNode(M);return isLastTraversableNode(e)?(M.ownerDocument||M).body:isHTMLElement(e)&&isOverflowElement(e)?e:getNearestOverflowAncestor(e)}function getOverflowAncestors(M,e){void 0===e&&(e=[]);var b=getNearestOverflowAncestor(M),z=b===(null==(z=M.ownerDocument)?void 0:z.body),p=getWindow(b);return z?e.concat(p,p.visualViewport||[],isOverflowElement(b)?b:[]):e.concat(b,getOverflowAncestors(b))}function getCssDimensions(M){var e=getComputedStyle(M);let b=parseFloat(e.width)||0,z=parseFloat(e.height)||0;var e=isHTMLElement(M),p=e?M.offsetWidth:b,e=e?M.offsetHeight:z,t=round(b)!==p||round(z)!==e;return t&&(b=p,z=e),{width:b,height:z,$:t}}function unwrapElement(M){return isElement(M)?M:M.contextElement}function getScale(M){var e=unwrapElement(M);if(!isHTMLElement(e))return createCoords(1);var b=e.getBoundingClientRect(),{width:e,height:z,$:p}=getCssDimensions(e);let t=(p?round(b.width):b.width)/e,o=(p?round(b.height):b.height)/z;return t&&Number.isFinite(t)||(t=1),o&&Number.isFinite(o)||(o=1),{x:t,y:o}}init_esbuild_inject();var noOffsets=createCoords(0);function getVisualOffsets(M){var e=getWindow(M);return isWebKit()&&e.visualViewport?{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}:noOffsets}function shouldAddVisualOffsets(M,e,b){return void 0===e&&(e=!1),!(!b||e&&b!==getWindow(M))&&e}function getBoundingClientRect(M,e,b,z){void 0===e&&(e=!1),void 0===b&&(b=!1);var p=M.getBoundingClientRect(),t=unwrapElement(M);let o=createCoords(1);e&&(z?isElement(z)&&(o=getScale(z)):o=getScale(M));var O=shouldAddVisualOffsets(t,b,z)?getVisualOffsets(t):createCoords(0);let c=(p.left+O.x)/o.x,n=(p.top+O.y)/o.y,i=p.width/o.x,r=p.height/o.y;if(t){var a=getWindow(t),A=z&&isElement(z)?getWindow(z):z;let M=a.frameElement;for(;M&&z&&A!==a;){var s=getScale(M),d=M.getBoundingClientRect(),q=getComputedStyle(M),l=d.left+(M.clientLeft+parseFloat(q.paddingLeft))*s.x,d=d.top+(M.clientTop+parseFloat(q.paddingTop))*s.y;c*=s.x,n*=s.y,i*=s.x,r*=s.y,c+=l,n+=d,M=getWindow(M).frameElement}}return rectToClientRect({width:i,height:r,x:c,y:n})}function convertOffsetParentRelativeRectToViewportRelativeRect(M){var{rect:e,offsetParent:b,strategy:z}=M,p=isHTMLElement(b),t=getDocumentElement(b);if(b===t)return e;let o={scrollLeft:0,scrollTop:0},O=createCoords(1);var c=createCoords(0);return(p||!p&&\\\"fixed\\\"!==z)&&(\\\"body\\\"===getNodeName(b)&&!isOverflowElement(t)||(o=getNodeScroll(b)),isHTMLElement(b))&&(p=getBoundingClientRect(b),O=getScale(b),c.x=p.x+b.clientLeft,c.y=p.y+b.clientTop),{width:e.width*O.x,height:e.height*O.y,x:e.x*O.x-o.scrollLeft*O.x+c.x,y:e.y*O.y-o.scrollTop*O.y+c.y}}function getClientRects(M){return Array.from(M.getClientRects())}function getWindowScrollBarX(M){return getBoundingClientRect(getDocumentElement(M)).left+getNodeScroll(M).scrollLeft}function getDocumentRect(M){var e=getDocumentElement(M),b=getNodeScroll(M),z=M.ownerDocument.body,p=max(e.scrollWidth,e.clientWidth,z.scrollWidth,z.clientWidth),t=max(e.scrollHeight,e.clientHeight,z.scrollHeight,z.clientHeight);let o=-b.scrollLeft+getWindowScrollBarX(M);b=-b.scrollTop;return\\\"rtl\\\"===getComputedStyle(z).direction&&(o+=max(e.clientWidth,z.clientWidth)-p),{width:p,height:t,x:o,y:b}}function getViewportRect(M,e){var b=getWindow(M),z=getDocumentElement(M),b=b.visualViewport;let p=z.clientWidth,t=z.clientHeight,o=0,O=0;return b&&(p=b.width,t=b.height,isWebKit()&&\\\"fixed\\\"!==e||(o=b.offsetLeft,O=b.offsetTop)),{width:p,height:t,x:o,y:O}}function getInnerBoundingClientRect(M,e){var b=getBoundingClientRect(M,!0,\\\"fixed\\\"===e),z=b.top+M.clientTop,b=b.left+M.clientLeft,p=isHTMLElement(M)?getScale(M):createCoords(1);return{width:M.clientWidth*p.x,height:M.clientHeight*p.y,x:b*p.x,y:z*p.y}}function getClientRectFromClippingAncestor(M,e,b){let z;var p;return rectToClientRect(z=\\\"viewport\\\"===e?getViewportRect(M,b):\\\"document\\\"===e?getDocumentRect(getDocumentElement(M)):isElement(e)?getInnerBoundingClientRect(e,b):(p=getVisualOffsets(M),{...e,x:e.x-p.x,y:e.y-p.y}))}function hasFixedPositionAncestor(M,e){var b=getParentNode(M);return!(b===e||!isElement(b)||isLastTraversableNode(b))&&(\\\"fixed\\\"===getComputedStyle(b).position||hasFixedPositionAncestor(b,e))}function getClippingElementAncestors(M,e){var b=e.get(M);if(b)return b;let z=getOverflowAncestors(M).filter(M=>isElement(M)&&\\\"body\\\"!==getNodeName(M)),p=null;var t=\\\"fixed\\\"===getComputedStyle(M).position;let o=t?getParentNode(M):M;for(;isElement(o)&&!isLastTraversableNode(o);){var O=getComputedStyle(o),c=isContainingBlock(o),c=(c||\\\"fixed\\\"!==O.position||(p=null),t?!c&&!p:!c&&\\\"static\\\"===O.position&&!!p&&[\\\"absolute\\\",\\\"fixed\\\"].includes(p.position)||isOverflowElement(o)&&!c&&hasFixedPositionAncestor(M,o));c?z=z.filter(M=>M!==o):p=O,o=getParentNode(o)}return e.set(M,z),z}function getClippingRect(M){let{element:z,boundary:e,rootBoundary:b,strategy:p}=M;var t=[...\\\"clippingAncestors\\\"===e?getClippingElementAncestors(z,this._c):[].concat(e),b],o=t[0],o=t.reduce((M,e)=>{var b=getClientRectFromClippingAncestor(z,e,p);return M.top=max(b.top,M.top),M.right=min(b.right,M.right),M.bottom=min(b.bottom,M.bottom),M.left=max(b.left,M.left),M},getClientRectFromClippingAncestor(z,o,p));return{width:o.right-o.left,height:o.bottom-o.top,x:o.left,y:o.top}}function getDimensions(M){return getCssDimensions(M)}function getRectRelativeToOffsetParent(M,e,b){var z=isHTMLElement(e),p=getDocumentElement(e),t=\\\"fixed\\\"===b,o=getBoundingClientRect(M,!0,t,e);let O={scrollLeft:0,scrollTop:0};var c=createCoords(0);return!z&&t||(\\\"body\\\"===getNodeName(e)&&!isOverflowElement(p)||(O=getNodeScroll(e)),z?(z=getBoundingClientRect(e,!0,t,e),c.x=z.x+e.clientLeft,c.y=z.y+e.clientTop):p&&(c.x=getWindowScrollBarX(p))),{x:o.left+O.scrollLeft-c.x,y:o.top+O.scrollTop-c.y,width:o.width,height:o.height}}function getTrueOffsetParent(M,e){return isHTMLElement(M)&&\\\"fixed\\\"!==getComputedStyle(M).position?e?e(M):M.offsetParent:null}function getOffsetParent(M,e){var b=getWindow(M);if(!isHTMLElement(M))return b;let z=getTrueOffsetParent(M,e);for(;z&&isTableElement(z)&&\\\"static\\\"===getComputedStyle(z).position;)z=getTrueOffsetParent(z,e);return(!z||\\\"html\\\"!==getNodeName(z)&&(\\\"body\\\"!==getNodeName(z)||\\\"static\\\"!==getComputedStyle(z).position||isContainingBlock(z)))&&(z||getContainingBlock(M))||b}var getElementRects=async function(M){var{reference:e,floating:b,strategy:z}=M,p=this.getOffsetParent||getOffsetParent,t=this.getDimensions;return{reference:getRectRelativeToOffsetParent(e,await p(b),z),floating:{x:0,y:0,...await t(b)}}};function isRTL(M){return\\\"rtl\\\"===getComputedStyle(M).direction}var platform={convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement:getDocumentElement,getClippingRect:getClippingRect,getOffsetParent:getOffsetParent,getElementRects:getElementRects,getClientRects:getClientRects,getDimensions:getDimensions,getScale:getScale,isElement:isElement,isRTL:isRTL},computePosition2=(M,e,b)=>{var z=new Map,p={platform:platform,...b},z={...p.platform,_c:z};return computePosition(M,e,{...p,platform:z})},TWModal=require(\\\"$:/core/modules/utils/dom/modal.js\\\").Modal;function notifyNavigatorSaveTiddler(e,b){window.requestIdleCallback(()=>{var M;null!=(M=b.parentWidget)&&M.dispatchEvent({type:\\\"tm-save-tiddler\\\",paramObject:{suppressNavigation:\\\"yes\\\"},event:e.event,tiddlerTitle:e.title}),null!=(M=b.parentWidget)&&M.dispatchEvent({type:\\\"tm-auto-save-wiki\\\"})},{timeout:2e3})}function getHandlers(O){function b(M,e){var b,z,p,t,o;null!==M.start&&null!==M.end&&M.title&&void 0!==(b=$tw.wiki.getTiddler(M.title))&&(z=$tw.utils.stringifyDate(M.start),p=$tw.utils.stringifyDate(M.end),t=null!=(t=null==(t=O.startDateFields)?void 0:t[0])?t:\\\"startDate\\\",o=null!=(o=null==(o=O.endDateFields)?void 0:o[0])?o:\\\"endDate\\\",$tw.wiki.addTiddler({...b.fields,[t]:z,[o]:p,modified:new Date}),notifyNavigatorSaveTiddler({title:M.title,event:e},O))}return{eventClick:async M=>{if(O.parentWidget){const z=\\\"tiddlywiki-calendar-widget-event-preview\\\";var e,b=null==(b=O.containerElement)?void 0:b.querySelector(\\\".tiddlywiki-calendar-widget-event-preview\\\");const p=M=>{O.parentWidget&&M&&(O.parentWidget.children=O.parentWidget.children.filter(M=>!(\\\"data-name\\\"in M&&M[\\\"data-name\\\"]===z)),M.remove())};if(b)if(p(b),b.dataset.tiddler===M.event.title)return;const t=document.createElement(\\\"div\\\");null!=(b=O.containerElement)&&b.append(t),t.classList.add(\\\"tiddlywiki-calendar-widget-event-preview\\\"),t.dataset.tiddler=M.event.title,t&&((b=O.parentWidget.makeChildWidget({type:\\\"tiddler\\\",children:$tw.wiki.parseText(\\\"text/vnd.tiddlywiki\\\",`{{${M.event.title}||$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/EventPreview}}`).tree}))[\\\"data-name\\\"]=z,b.render(t,null),O.parentWidget.children.push(b),b=M.el,({x:b,y:e}=await computePosition2(b,t,{middleware:[autoPlacement(),shift()]})),Object.assign(t.style,{left:b+\\\"px\\\",top:e+\\\"px\\\"}),b=t.querySelectorAll(\\\"button.tw-calendar-layout-event-preview-close-button\\\"))&&b.forEach(M=>{M.addEventListener(\\\"click\\\",()=>{p(t)})})}},select(e){if(!0!==O.readonly){let M=\\\"\\\";\\\"dayGridMonth\\\"===e.view.type&&(e.start=new Date(e.startStr),e.end=new Date(e.endStr)),e.end-e.start==864e5&&(b=$tw.wiki.getTiddlerText(\\\"$:/config/NewJournal/Title\\\"),z=$tw.wiki.getTiddlerText(\\\"$:/config/NewJournal/Text\\\"),void 0!==b)&&(b=$tw.utils.formatDateString(e.start,b),e.startStr=b,M=null!=z?z:M);var b=$tw.utils.stringifyDate(e.start),z=$tw.utils.stringifyDate(e.end),p=null!=(p=null==(p=O.startDateFields)?void 0:p[0])?p:\\\"startDate\\\",t=null!=(t=null==(t=O.endDateFields)?void 0:t[0])?t:\\\"endDate\\\",o=null!=(o=O.defaultTags)?o:[],p=($tw.wiki.addTiddler({title:\\\"$:/state/Calendar/PageLayout/create-tiddler-caption\\\",text:\\\"\\\"}),$tw.wiki.addTiddler({title:\\\"$:/state/Calendar/PageLayout/create-tiddler\\\",[p]:b,[t]:z,\\\"draft.title\\\":e.startStr,calendarEntry:\\\"yes\\\",text:M,tags:o}),new TWModal($tw.wiki).display(\\\"$:/plugins/linonetwo/tw-calendar/calendar-widget/tiddlywiki-ui/popup/CreateNewTiddlerPopup\\\"),document.querySelector(\\\".tw-calendar-layout-create-new-tiddler-popup > .tc-titlebar.tc-edit-texteditor\\\"));null!==p&&p.focus()}},eventResize(e){b(e.event,e.jsEvent),e.relatedEvents.forEach(M=>b(M,e.jsEvent))},eventDrop(e){b(e.event,e.jsEvent),e.relatedEvents.forEach(M=>b(M,e.jsEvent))}}}function getSearchModeSettings(){return{initialView:\\\"searchResultList\\\",nowIndicator:!1,scrollTimeReset:!0,droppable:!1,editable:!1,selectable:!1,selectMirror:!1,eventResizableFromStart:!1,eventDurationEditable:!1,eventStartEditable:!1,initialDate:\\\"1500-01-01\\\"}}function initCalendar(M,e){var b=new Calendar(M,getSettings(e));const z=b.render.bind(b);return b.render=function(){z(),setToolbarIcons()},b}function getSettings(M){var e=void 0!==M.initialDate&&null!=(e=$tw.utils.parseDate(M.initialDate))?e:void 0,b=\\\"yes\\\"===$tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/tw-calendar/settings/24hour\\\"),z=\\\"$:/languages/zh-Hans\\\"===$tw.wiki.getTiddlerText(\\\"$:/language\\\")?\\\"zh-cn\\\":\\\"en-gb\\\",p=getIsSearchMode();return{locale:z,locales:[l77],firstDay:Number($tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/tw-calendar/settings/firstDay\\\")||\\\"1\\\")||1,eventSources:[{events:(p?getEventByFilter:getEventOnFullCalendarViewChange)(M),id:tiddlerEventSourceID}],plugins:[index6,index3,index7,index5,index2,index4],views:getCustomViews(z),initialView:null!=(z=M.initialView)?z:getIsSmallScreen()?\\\"timeGridThreeDay\\\":\\\"timeGridWeek\\\",now:e,editable:!0!==M.readonly,eventContent:getEventContent(M),timeZone:null!=(z=M.timeZone)?z:import_moment_timezone5[\\\"default\\\"].tz.guess(),navLinks:!0,selectable:!0,selectMirror:!0,droppable:!0,slotDuration:M.slotDuration,rerenderDelay:100,longPressDelay:350,eventTimeFormat:b?{hour:\\\"2-digit\\\",minute:\\\"2-digit\\\",hour12:!1}:void 0,slotLabelFormat:b?{hour:\\\"2-digit\\\",minute:\\\"2-digit\\\",hour12:!1}:void 0,nowIndicator:!0,scrollTimeReset:!1,dragScroll:isMobile,schedulerLicenseKey:\\\"CC-Attribution-NonCommercial-NoDerivatives\\\",...getToolbarSettings(M),...getHandlers(M),...p?getSearchModeSettings():{}}}function getToolbarSettings(M){var e=getIsSearchMode(),b=getInCalendarLayout();return e?{headerToolbar:!1,footerToolbar:!1}:{customButtons:getCustomButtons(),headerToolbar:!getIsSmallScreen()&&!0!==M.hideToolbar&&{left:\\\"prev,next prevYear,nextYear today searchLayout\\\",center:\\\"title\\\",right:`${b?\\\"backToDefaultLayout \\\":\\\"\\\"}dayGridMonth,timeGridWeek,timeGridThreeDay,timeGridDay,listWeek`},footerToolbar:!(!getIsSmallScreen()||!0===M.hideToolbar)&&{right:\\\"searchLayout today,prev,next\\\",left:\\\"timeGridThreeDay,timeGridDay,listWeek\\\"+(b?\\\" backToDefaultLayout\\\":\\\"\\\")}}}init_esbuild_inject();var Widget=require(\\\"$:/core/modules/widgets/widget.js\\\").widget,CalendarWidget=class extends Widget{constructor(){super(...arguments),__privateAdd(this,_calendar,void 0),__privateAdd(this,_containerElement,void 0),__privateAdd(this,_mountElement,void 0),__privateAdd(this,_popPreviewElement,void 0)}refresh(b){var M;let e=!1;const z=this.getContext();return Object.keys(b).some(M=>{var e;return!M.startsWith(\\\"$:/state/\\\")&&(e=null!=(e=null==(e=z.endDateFields)?void 0:e[0])?e:\\\"endDate\\\",!0===b[M].modified?changedTiddlerInViewRange(M,__privateGet(this,_calendar),e):!0===b[M].deleted)})&&(null!=(M=null==(M=__privateGet(this,_calendar))?void 0:M.getEventSourceById(tiddlerEventSourceID))&&M.refetch(),e=!0),Object.keys(b).some(M=>!!M.startsWith(\\\"$:/plugins/linonetwo/tw-calendar/settings\\\"))&&(null!=(M=__privateGet(this,_calendar))&&M.destroy(),__privateSet(this,_calendar,initCalendar(__privateGet(this,_mountElement),z)),null!=(M=__privateGet(this,_calendar))&&M.render(),e=!0),!getIsSearchMode()||!0!==(null==(M=b[\\\"$:/temp/volatile/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout/keywords\\\"])?void 0:M.modified)&&!0!==(null==(M=b[\\\"$:/state/linonetwo/tw-calendar/tiddlywiki-ui/PageLayout/EventsCalendarSearchLayout/pagination\\\"])?void 0:M.modified)||(null!=(M=null==(M=__privateGet(this,_calendar))?void 0:M.getEventSourceById(tiddlerEventSourceID))&&M.refetch(),e=!0),e}render(M,e){var b,z;this.parentDomNode=M,this.computeAttributes(),this.execute(),void 0!==__privateGet(this,_containerElement)&&void 0!==__privateGet(this,_mountElement)||(__privateSet(this,_containerElement,document.createElement(\\\"div\\\")),__privateSet(this,_mountElement,document.createElement(\\\"div\\\")),__privateGet(this,_containerElement).append(__privateGet(this,_mountElement)),__privateGet(this,_mountElement).classList.add(\\\"tiddlywiki-calendar-widget-container\\\"),([b,z]=[this.getAttribute(\\\"width\\\"),this.getAttribute(\\\"height\\\")]),void 0!==b&&(__privateGet(this,_containerElement).style.width=b),void 0!==z&&(__privateGet(this,_containerElement).style.height=z),z&&(__privateGet(this,_mountElement).style.minHeight=z)),void 0===__privateGet(this,_calendar)?(__privateSet(this,_calendar,initCalendar(__privateGet(this,_mountElement),this.getContext())),setTimeout(()=>{var M;null!=(M=__privateGet(this,_calendar))&&M.render()},0)):__privateGet(this,_calendar).render(),this.domNodes.push(__privateGet(this,_containerElement)),M.appendChild(__privateGet(this,_containerElement))}destroy(){var M;super.destroy(),null!=(M=__privateGet(this,_calendar))&&M.destroy()}getContext(){var M;return{endDateFields:null==(M=this.getAttribute(\\\"endDateFields\\\"))?void 0:M.split(\\\",\\\"),filter:this.getAttribute(\\\"filter\\\"),hideToolbar:\\\"yes\\\"===this.getAttribute(\\\"hideToolbar\\\")||\\\"true\\\"===this.getAttribute(\\\"hideToolbar\\\"),initialDate:this.getAttribute(\\\"initialDate\\\"),initialView:this.getAttribute(\\\"initialView\\\"),defaultTags:null!=(M=$tw.utils.parseStringArray(this.getAttribute(\\\"defaultTags\\\")||\\\"\\\"))?M:[],parentWidget:this.parentWidget,containerElement:__privateGet(this,_containerElement),readonly:\\\"yes\\\"===this.getAttribute(\\\"readonly\\\")||\\\"true\\\"===this.getAttribute(\\\"readonly\\\"),slotDuration:this.getAttribute(\\\"slotDuration\\\")||$tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/tw-calendar/settings/slotDuration\\\"),startDateFields:null==(M=this.getAttribute(\\\"startDateFields\\\"))?void 0:M.split(\\\",\\\"),timeZone:this.getAttribute(\\\"timeZone\\\")}}},_calendar=new WeakMap,_containerElement=new WeakMap,_mountElement=new WeakMap,_popPreviewElement=new WeakMap;exports.widget=CalendarWidget;\"}}}","title":"$:/plugins/linonetwo/tw-calendar","type":"application/json","version":"0.9.2","Modern.TiddlyDev#SHA256-Hashed":"c74d931ff0f8248893b3e99713f048db87c2f5853874faff7ad504d2efca9131","name":"Calendar"}, -{"title":"$:/plugins/linonetwo/tw-react","description":"Allow using ReactJS Components in TW widget.","author":"LinOnetwo","core-version":">=5.3.0","plugin-type":"plugin","version":"0.7.0","list":"readme tree","dependents":"","type":"application/json","text":"{\"tiddlers\":{\"$:/plugins/linonetwo/tw-react/docs/FAQ\":{\"title\":\"$:/plugins/linonetwo/tw-react/docs/FAQ\",\"creator\":\"LinOnetwo\",\"text\":\"!! FAQ\\n\\n!!! _jsxRuntime\\n\\n`slate-write/node_modules/react-dnd/dist/cjs/core/DndProvider.js` has `var _jsxRuntime = require(\\\"react/jsx-runtime\\\");`\\n\\nBut `slate-write/node_modules/react-dnd/dist/esm/core/DndProvider.mjs` has `import { jsx as _jsx } from \\\"react/jsx-runtime.js\\\";`\\n\\nNote the difference between `react/jsx-runtime` and `react/jsx-runtime.js`!\\n\\nCurrently tw-react ship with `react/jsx-runtime.js`, so if your plugin uses cjs version of react-dnd, you will have error:\\n\\n```\\nError executing boot module $:/plugins/linonetwo/slate-write/components/index.js: \\\"Cannot find module named 'react/jsx-runtime' required by module '$:/plugins/linonetwo/slate-write/components/index.js', resolved to react/jsx-runtime\\\"\\n\\nundefined\\n```\\n\\nThe solution is to ask me provide a version of tw-react that has `react/jsx-runtime`, or you can use esm version of `react-dnd`.\\n\"},\"$:/plugins/linonetwo/tw-react/docs/example\":{\"title\":\"$:/plugins/linonetwo/tw-react/docs/example\",\"creator\":\"LinOnetwo\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! Example\\n\\n```tid\\n\u003C$likeButtonExampleWidget stateTiddler=\\\"$:/state/tw-react/readme/like-button\\\" />\\n```\\n\\nButton1:\\n\\n\u003C$likeButtonExampleWidget stateTiddler=\\\"$:/state/tw-react/readme/like-button\\\" />\\n\\nButton2:\\n\\n\u003C$likeButtonExampleWidget stateTiddler=\\\"$:/state/tw-react/readme/like-button\\\" />\\n\\nState:\\n\\n{{$:/state/tw-react/readme/like-button}}\\n\\nIt keeps its state via a state tiddler, and title of state tiddler is pass-in using `getProps = () => ({ stateTiddler: this.getAttribute('stateTiddler') });`, so `stateTiddler` attribute is passed from widget parameter to the React props.\\n\\nTwo buttons have shared state [[$:/state/tw-react/readme/like-button]], but not updated when state changed (although you can implement this in the `refresh` method by yourself in your own component), so when you click one, and close this tiddler then reopen it, you will see two buttons have same ''clicked'' state.\\n\\n`likeButtonExampleWidget` is a class component, it calls a functional component `ExampleFunction` that will use react hook to update self +1 every second.\\n\\nSee [[example.ts|https://github.com/tiddly-gittly/tw-react/blob/master/src/example.tsx]] and [[exampleFunction.tsx|https://github.com/tiddly-gittly/tw-react/blob/master/src/exampleFunction.tsx]] for example.\\n\"},\"$:/plugins/linonetwo/tw-react/docs/install\":{\"title\":\"$:/plugins/linonetwo/tw-react/docs/install\",\"creator\":\"LinOnetwo\",\"text\":\"!! Install\\n\\nAs a user, just install from [[CPL|https://tw-cpl.netlify.app/#linonetwo%2Ftw-react:Index%20linonetwo%2Ftw-react]].\\n\\nAs a developer, you can continue reading.\\n\\n!!! Require and externalize 'react', 'react-dom'\\n\\nPlease make sure to externalize them, for example in the [[RollUp|https://rollupjs.org/]]:\\n\\n```json\\n{\\n external: ['react', 'react-dom']\\n}\\n```\\n\\nOtherwise you will get [[You might have more than one copy of React in the same app|https://reactjs.org/docs/error-decoder.html/?invariant=321]] error.\\n\\nAnd use the subclass of Widget provided by this plugin:\\n\\n```\\nconst Widget = require('$:/plugins/linonetwo/tw-react/widget.js').widget\\n```\\n\\n!!! Using Typescript\\n\\n# use [[TW5-Typed|https://github.com/tiddly-gittly/TW5-Typed]] for basic tw types, see its readme for install instruction\\n# install `tw-react` package via `npm i tw-react`, and import the type by `import type { ReactWidget } from 'tw-react';`\\n\\nUse the type:\\n\\n```js\\nimport { useRenderTiddler } from '$:/plugins/linonetwo/tw-react/index.js';\\nimport type { ReactWidget } from 'tw-react';\\n\\nconst Widget = require('$:/plugins/linonetwo/tw-react/widget.js').widget as typeof ReactWidget;\\n\\nclass YourWidget extends Widget {\\n reactComponent = SomeReactComponent;\\n getProps = () => {\\n return {\\n stateTiddler: this.getAttribute('stateTiddler'),\\n // ... other props for your react component\\n };\\n };\\n}\\n```\\n\\n!!! Props\\n\\nAnything returned from `getProps` method will pass to react component, passing `stateTiddler` is a good idea, but is not mandatory.\\n\\nFor example, this is what I returned in my `linonetwo/smart-form` plugin:\\n\\n```js\\ngetProps = () => {\\n const currentTiddler = this.getAttribute('tiddler', this.getVariable('currentTiddler'));\\n // with lots of filter running and data transforms...\\n return {\\n schema,\\n formData,\\n children: null,\\n onChange,\\n };\\n };\\n```\\n\\n!!! React Hooks\\n\\nWe provided some hooks for reactive data management with tw data source. You can import them from the `$:/plugins/linonetwo/tw-react/index.js` (Instead of from `tw-react` package, because they already included in the plugin).\\n\\n```ts\\nimport { useFilter } from '$:/plugins/linonetwo/tw-react/index.js'\\n```\\n\\nYou can't import them from plugin's file, because they are optional, so only included in the npm package, not in the plugin json bundle.\\n\\n!!!! useFilter\\n\\nGet list of titles from a filter.\\n\\n```ts\\nconst titles = useFilter('[all[]tag[Index]]');\\n```\\n\\nThe second parameter is an optional dependencies list, you can use it to trigger re-calculate. Otherwise it only rerun filter when filter text changes.\\n\\n```ts\\nconst [toggle, setToggle] = useState(false);\\nconst titles = useFilter('[all[]tag[Index]]', [toggle]);\\n\\n...\\n\\n\u003CButton onClick={() => setToggle(!toggle)}>Trigger refresh\u003C/Button>\\n```\\n\"},\"$:/plugins/linonetwo/tw-react/docs/reactAPIs\":{\"title\":\"$:/plugins/linonetwo/tw-react/docs/reactAPIs\",\"creator\":\"LinOnetwo\",\"text\":\"!! React APIs\\n\\nTBD, read the source now.\"},\"$:/plugins/linonetwo/tw-react/example.js\":{\"title\":\"$:/plugins/linonetwo/tw-react/example.js\",\"text\":\"\\\"use strict\\\";\\n\\n// src/example.tsx\\nvar import_widget = require(\\\"$:/plugins/linonetwo/tw-react/widget.js\\\");\\n\\n// src/exampleFunction.tsx\\nvar import_react = require(\\\"react\\\");\\nvar import_jsx_runtime = require(\\\"react/jsx-runtime\\\");\\nfunction ExampleFunction() {\\n const [counter, counterSetter] = (0, import_react.useState)(0);\\n (0, import_react.useEffect)(() => {\\n let localCounter = 0;\\n const handle = setInterval(() => {\\n counterSetter(++localCounter);\\n }, 1e3);\\n return () => {\\n clearInterval(handle);\\n };\\n }, []);\\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\\\"span\\\", { children: counter });\\n}\\n\\n// src/example.tsx\\nvar import_jsx_runtime2 = require(\\\"react/jsx-runtime\\\");\\nvar ReactDom = require(\\\"react-dom\\\");\\nvar React = require(\\\"react\\\");\\nvar LikeButton = class extends React.Component {\\n constructor(props) {\\n super(props);\\n const defaultState = { liked: false };\\n try {\\n this.state = JSON.parse($tw.wiki.getTiddlerText(this.props.stateTiddler ?? \\\"\\\", \\\"{}\\\")) ?? defaultState;\\n } catch {\\n this.state = defaultState;\\n }\\n }\\n setState(nextState) {\\n super.setState(nextState);\\n if (this.props.stateTiddler === void 0)\\n return;\\n $tw.wiki.setText(this.props.stateTiddler, \\\"text\\\", void 0, JSON.stringify(nextState));\\n }\\n render() {\\n if (this.state.liked) {\\n return \\\"You liked this.\\\";\\n }\\n return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(\\n \\\"button\\\",\\n {\\n onClick: () => {\\n this.setState({ liked: true });\\n },\\n children: [\\n \\\"Like \\\",\\n /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ExampleFunction, {})\\n ]\\n }\\n );\\n }\\n};\\nvar LikeButtonWidget = class extends import_widget.widget {\\n constructor() {\\n super(...arguments);\\n this.reactComponent = LikeButton;\\n this.getProps = () => ({ stateTiddler: this.getAttribute(\\\"stateTiddler\\\") });\\n }\\n};\\nexports.likeButtonExampleWidget = LikeButtonWidget;\\n\",\"creator\":\"LinOnetwo\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/plugins/linonetwo/tw-react/index.js\":{\"title\":\"$:/plugins/linonetwo/tw-react/index.js\",\"text\":\"\\\"use strict\\\";\\n\\n// src/hooks/context.ts\\nvar import_react = require(\\\"react\\\");\\nvar ParentWidgetContext = (0, import_react.createContext)(void 0);\\n\\n// src/hooks/useFilter.ts\\nvar import_react2 = require(\\\"react\\\");\\nfunction useFilter(twFilter, widget = $tw.rootWidget, dependencies = []) {\\n const [filterResult, setFilterResult] = (0, import_react2.useState)([]);\\n const compiledFilter = (0, import_react2.useMemo)(() => $tw.wiki.compileFilter(twFilter), [twFilter]);\\n (0, import_react2.useEffect)(() => {\\n setFilterResult(compiledFilter(void 0, widget));\\n }, [compiledFilter, widget, ...dependencies]);\\n return filterResult;\\n}\\n\\n// src/hooks/useRenderTiddler.ts\\nvar import_react3 = require(\\\"react\\\");\\nfunction useRenderTiddler(tiddlerTitle, containerReference, options) {\\n const parentWidget = (0, import_react3.useContext)(ParentWidgetContext);\\n (0, import_react3.useEffect)(() => {\\n const domNode = containerReference.current;\\n if (domNode === null) {\\n return;\\n }\\n if (parentWidget === void 0) {\\n throw new Error(\\n \\\"Your plugin have a bug: `parentWidget` is undefined, you should use `\u003CParentWidgetContext.Provider value={props.parentWidget}>`, see tw-react for document.\\\"\\n );\\n }\\n if (options?.skip === true) {\\n return;\\n }\\n const id = String(Math.random());\\n const transcludeWidgetNode = $tw.wiki.makeTranscludeWidget(tiddlerTitle, {\\n document,\\n parentWidget,\\n recursionMarker: \\\"yes\\\",\\n mode: \\\"block\\\",\\n importPageMacros: true,\\n variables: { \\\"use-widget-id\\\": id }\\n });\\n const tiddlerContainer = document.createElement(\\\"div\\\");\\n domNode.append(tiddlerContainer);\\n transcludeWidgetNode.render(tiddlerContainer, null);\\n parentWidget.children.push(transcludeWidgetNode);\\n return () => {\\n parentWidget.children = parentWidget.children.filter((child) => child.getVariable(\\\"use-widget-id\\\") !== id);\\n if (domNode === null) {\\n return;\\n }\\n domNode.textContent = \\\"\\\";\\n };\\n }, [tiddlerTitle, containerReference, parentWidget, options?.skip]);\\n}\\n\\n// src/hooks/useWidget.ts\\nvar import_react4 = require(\\\"react\\\");\\nfunction useWidget(parseTreeNode, containerReference, options) {\\n const parentWidget = (0, import_react4.useContext)(ParentWidgetContext);\\n (0, import_react4.useEffect)(() => {\\n const domNode = containerReference.current;\\n if (domNode === null) {\\n return;\\n }\\n if (parentWidget === void 0) {\\n throw new Error(\\n \\\"Your plugin have a bug: `parentWidget` is undefined, you should use `\u003CParentWidgetContext.Provider value={props.parentWidget}>`, see tw-react for document.\\\"\\n );\\n }\\n if (options?.skip === true) {\\n return;\\n }\\n const id = String(Math.random());\\n const newWidgetNode = parentWidget.makeChildWidget(parseTreeNode, { variables: { \\\"use-widget-id\\\": id } });\\n newWidgetNode.render(domNode, null);\\n parentWidget.children.push(newWidgetNode);\\n return () => {\\n parentWidget.children = parentWidget.children.filter((child) => child.getVariable(\\\"use-widget-id\\\") !== id);\\n if (domNode === null) {\\n return;\\n }\\n domNode.textContent = \\\"\\\";\\n };\\n }, [parseTreeNode, containerReference, parentWidget, options?.skip]);\\n}\\n\\n// src/index.ts\\nexports.ParentWidgetContext = ParentWidgetContext;\\nexports.useFilter = useFilter;\\nexports.useRenderTiddler = useRenderTiddler;\\nexports.useWidget = useWidget;\\n\",\"creator\":\"LinOnetwo\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"react/jsx-runtime.js\":{\"title\":\"react/jsx-runtime.js\",\"text\":\"\\\"use strict\\\";var f=require(\\\"react\\\"),k=Symbol.for(\\\"react.element\\\"),l=Symbol.for(\\\"react.fragment\\\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function q(e,r,t){var o,f={},_=null,s=null;for(o in void 0!==t&&(_=\\\"\\\"+t),void 0!==r.key&&(_=\\\"\\\"+r.key),void 0!==r.ref&&(s=r.ref),r)m.call(r,o)&&!p.hasOwnProperty(o)&&(f[o]=r[o]);if(e&&e.defaultProps)for(o in r=e.defaultProps)void 0===f[o]&&(f[o]=r[o]);return{$$typeof:k,type:e,key:_,ref:s,props:f,_owner:n.current}}exports.Fragment=l,exports.jsx=q,exports.jsxs=q;\",\"creator\":\"LinOnetwo\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"react-dom/client\":{\"title\":\"react-dom/client\",\"text\":\"const ReactDom=require(\\\"react-dom\\\");exports.default=ReactDom;\",\"creator\":\"LinOnetwo\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"react-dom\":{\"title\":\"react-dom\",\"text\":\"!function(e,t){\\\"object\\\"==typeof exports&&\\\"undefined\\\"!=typeof module?t(exports,require(\\\"react\\\")):\\\"function\\\"==typeof define&&define.amd?define([\\\"exports\\\",\\\"react\\\"],t):t((e=e||self).ReactDOM={},e.React)}(this,function(e,t){\\\"use strict\\\";var n=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,r=!1;function a(e){if(!r){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a\u003Ct;a++)n[a-1]=arguments[a];i(\\\"warn\\\",e,n)}}function o(e){if(!r){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a\u003Ct;a++)n[a-1]=arguments[a];i(\\\"error\\\",e,n)}}function i(e,t,r){var a=n.ReactDebugCurrentFrame.getStackAddendum();\\\"\\\"!==a&&(t+=\\\"%s\\\",r=r.concat([a]));var o=r.map(function(e){return String(e)});o.unshift(\\\"Warning: \\\"+t),Function.prototype.apply.call(console[e],console,o)}var l=0,u=1,s=2,c=3,d=4,f=5,p=6,h=7,m=8,v=9,g=10,y=11,b=12,w=13,k=14,S=15,x=16,C=17,E=18,T=19,R=21,P=22,D=23,N=24,_=25,I=!0,L=!1,z=!1,M=!1,O=!0,U=!1,F=!0,A=!0,j=!0,W=!0,B=new Set,H={},V={};function Y(e,t){Q(e,t),Q(e+\\\"Capture\\\",t)}function Q(e,t){H[e]&&o(\\\"EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.\\\",e),H[e]=t;var n=e.toLowerCase();V[n]=e,\\\"onDoubleClick\\\"===e&&(V.ondblclick=e);for(var r=0;r\u003Ct.length;r++)B.add(t[r])}var q=!(\\\"undefined\\\"==typeof window||void 0===window.document||void 0===window.document.createElement),$=Object.prototype.hasOwnProperty;function X(e){return\\\"function\\\"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||\\\"Object\\\"}function K(e){try{return G(e),!1}catch(e){return!0}}function G(e){return\\\"\\\"+e}function J(e,t){if(K(e))return o(\\\"The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before before using it here.\\\",t,X(e)),G(e)}function Z(e){if(K(e))return o(\\\"Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before before using it here.\\\",X(e)),G(e)}var ee=0,te=2,ne=3,re=4,ae=5,oe=6,ie=\\\":A-Z_a-z\\\\\\\\u00C0-\\\\\\\\u00D6\\\\\\\\u00D8-\\\\\\\\u00F6\\\\\\\\u00F8-\\\\\\\\u02FF\\\\\\\\u0370-\\\\\\\\u037D\\\\\\\\u037F-\\\\\\\\u1FFF\\\\\\\\u200C-\\\\\\\\u200D\\\\\\\\u2070-\\\\\\\\u218F\\\\\\\\u2C00-\\\\\\\\u2FEF\\\\\\\\u3001-\\\\\\\\uD7FF\\\\\\\\uF900-\\\\\\\\uFDCF\\\\\\\\uFDF0-\\\\\\\\uFFFD\\\",le=ie+\\\"\\\\\\\\-.0-9\\\\\\\\u00B7\\\\\\\\u0300-\\\\\\\\u036F\\\\\\\\u203F-\\\\\\\\u2040\\\",ue=new RegExp(\\\"^[\\\"+ie+\\\"][\\\"+le+\\\"]*$\\\"),se={},ce={};function de(e){return!!$.call(ce,e)||!$.call(se,e)&&(ue.test(e)?(ce[e]=!0,!0):(se[e]=!0,o(\\\"Invalid attribute name: `%s`\\\",e),!1))}function fe(e,t,n){return null!==t?t.type===ee:!n&&(e.length>2&&(\\\"o\\\"===e[0]||\\\"O\\\"===e[0])&&(\\\"n\\\"===e[1]||\\\"N\\\"===e[1]))}function pe(e,t,n,r){if(null!==n&&n.type===ee)return!1;switch(typeof t){case\\\"function\\\":case\\\"symbol\\\":return!0;case\\\"boolean\\\":if(r)return!1;if(null!==n)return!n.acceptsBooleans;var a=e.toLowerCase().slice(0,5);return\\\"data-\\\"!==a&&\\\"aria-\\\"!==a;default:return!1}}function he(e,t,n,r){if(null===t||void 0===t)return!0;if(pe(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case ne:return!t;case re:return!1===t;case ae:return isNaN(t);case oe:return isNaN(t)||t\u003C1}return!1}function me(e){return ge.hasOwnProperty(e)?ge[e]:null}function ve(e,t,n,r,a,o,i){this.acceptsBooleans=t===te||t===ne||t===re,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var ge={};[\\\"children\\\",\\\"dangerouslySetInnerHTML\\\",\\\"defaultValue\\\",\\\"defaultChecked\\\",\\\"innerHTML\\\",\\\"suppressContentEditableWarning\\\",\\\"suppressHydrationWarning\\\",\\\"style\\\"].forEach(function(e){ge[e]=new ve(e,ee,!1,e,null,!1,!1)}),[[\\\"acceptCharset\\\",\\\"accept-charset\\\"],[\\\"className\\\",\\\"class\\\"],[\\\"htmlFor\\\",\\\"for\\\"],[\\\"httpEquiv\\\",\\\"http-equiv\\\"]].forEach(function(e){var t=e[0],n=e[1];ge[t]=new ve(t,1,!1,n,null,!1,!1)}),[\\\"contentEditable\\\",\\\"draggable\\\",\\\"spellCheck\\\",\\\"value\\\"].forEach(function(e){ge[e]=new ve(e,te,!1,e.toLowerCase(),null,!1,!1)}),[\\\"autoReverse\\\",\\\"externalResourcesRequired\\\",\\\"focusable\\\",\\\"preserveAlpha\\\"].forEach(function(e){ge[e]=new ve(e,te,!1,e,null,!1,!1)}),[\\\"allowFullScreen\\\",\\\"async\\\",\\\"autoFocus\\\",\\\"autoPlay\\\",\\\"controls\\\",\\\"default\\\",\\\"defer\\\",\\\"disabled\\\",\\\"disablePictureInPicture\\\",\\\"disableRemotePlayback\\\",\\\"formNoValidate\\\",\\\"hidden\\\",\\\"loop\\\",\\\"noModule\\\",\\\"noValidate\\\",\\\"open\\\",\\\"playsInline\\\",\\\"readOnly\\\",\\\"required\\\",\\\"reversed\\\",\\\"scoped\\\",\\\"seamless\\\",\\\"itemScope\\\"].forEach(function(e){ge[e]=new ve(e,ne,!1,e.toLowerCase(),null,!1,!1)}),[\\\"checked\\\",\\\"multiple\\\",\\\"muted\\\",\\\"selected\\\"].forEach(function(e){ge[e]=new ve(e,ne,!0,e,null,!1,!1)}),[\\\"capture\\\",\\\"download\\\"].forEach(function(e){ge[e]=new ve(e,re,!1,e,null,!1,!1)}),[\\\"cols\\\",\\\"rows\\\",\\\"size\\\",\\\"span\\\"].forEach(function(e){ge[e]=new ve(e,oe,!1,e,null,!1,!1)}),[\\\"rowSpan\\\",\\\"start\\\"].forEach(function(e){ge[e]=new ve(e,ae,!1,e.toLowerCase(),null,!1,!1)});var ye=/[\\\\-\\\\:]([a-z])/g,be=function(e){return e[1].toUpperCase()};[\\\"accent-height\\\",\\\"alignment-baseline\\\",\\\"arabic-form\\\",\\\"baseline-shift\\\",\\\"cap-height\\\",\\\"clip-path\\\",\\\"clip-rule\\\",\\\"color-interpolation\\\",\\\"color-interpolation-filters\\\",\\\"color-profile\\\",\\\"color-rendering\\\",\\\"dominant-baseline\\\",\\\"enable-background\\\",\\\"fill-opacity\\\",\\\"fill-rule\\\",\\\"flood-color\\\",\\\"flood-opacity\\\",\\\"font-family\\\",\\\"font-size\\\",\\\"font-size-adjust\\\",\\\"font-stretch\\\",\\\"font-style\\\",\\\"font-variant\\\",\\\"font-weight\\\",\\\"glyph-name\\\",\\\"glyph-orientation-horizontal\\\",\\\"glyph-orientation-vertical\\\",\\\"horiz-adv-x\\\",\\\"horiz-origin-x\\\",\\\"image-rendering\\\",\\\"letter-spacing\\\",\\\"lighting-color\\\",\\\"marker-end\\\",\\\"marker-mid\\\",\\\"marker-start\\\",\\\"overline-position\\\",\\\"overline-thickness\\\",\\\"paint-order\\\",\\\"panose-1\\\",\\\"pointer-events\\\",\\\"rendering-intent\\\",\\\"shape-rendering\\\",\\\"stop-color\\\",\\\"stop-opacity\\\",\\\"strikethrough-position\\\",\\\"strikethrough-thickness\\\",\\\"stroke-dasharray\\\",\\\"stroke-dashoffset\\\",\\\"stroke-linecap\\\",\\\"stroke-linejoin\\\",\\\"stroke-miterlimit\\\",\\\"stroke-opacity\\\",\\\"stroke-width\\\",\\\"text-anchor\\\",\\\"text-decoration\\\",\\\"text-rendering\\\",\\\"underline-position\\\",\\\"underline-thickness\\\",\\\"unicode-bidi\\\",\\\"unicode-range\\\",\\\"units-per-em\\\",\\\"v-alphabetic\\\",\\\"v-hanging\\\",\\\"v-ideographic\\\",\\\"v-mathematical\\\",\\\"vector-effect\\\",\\\"vert-adv-y\\\",\\\"vert-origin-x\\\",\\\"vert-origin-y\\\",\\\"word-spacing\\\",\\\"writing-mode\\\",\\\"xmlns:xlink\\\",\\\"x-height\\\"].forEach(function(e){var t=e.replace(ye,be);ge[t]=new ve(t,1,!1,e,null,!1,!1)}),[\\\"xlink:actuate\\\",\\\"xlink:arcrole\\\",\\\"xlink:role\\\",\\\"xlink:show\\\",\\\"xlink:title\\\",\\\"xlink:type\\\"].forEach(function(e){var t=e.replace(ye,be);ge[t]=new ve(t,1,!1,e,\\\"http://www.w3.org/1999/xlink\\\",!1,!1)}),[\\\"xml:base\\\",\\\"xml:lang\\\",\\\"xml:space\\\"].forEach(function(e){var t=e.replace(ye,be);ge[t]=new ve(t,1,!1,e,\\\"http://www.w3.org/XML/1998/namespace\\\",!1,!1)}),[\\\"tabIndex\\\",\\\"crossOrigin\\\"].forEach(function(e){ge[e]=new ve(e,1,!1,e.toLowerCase(),null,!1,!1)});ge.xlinkHref=new ve(\\\"xlinkHref\\\",1,!1,\\\"xlink:href\\\",\\\"http://www.w3.org/1999/xlink\\\",!0,!1),[\\\"src\\\",\\\"href\\\",\\\"action\\\",\\\"formAction\\\"].forEach(function(e){ge[e]=new ve(e,1,!1,e.toLowerCase(),null,!0,!0)});var we=/^[\\\\u0000-\\\\u001F ]*j[\\\\r\\\\n\\\\t]*a[\\\\r\\\\n\\\\t]*v[\\\\r\\\\n\\\\t]*a[\\\\r\\\\n\\\\t]*s[\\\\r\\\\n\\\\t]*c[\\\\r\\\\n\\\\t]*r[\\\\r\\\\n\\\\t]*i[\\\\r\\\\n\\\\t]*p[\\\\r\\\\n\\\\t]*t[\\\\r\\\\n\\\\t]*\\\\:/i,ke=!1;function Se(e){!ke&&we.test(e)&&(ke=!0,o(\\\"A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.\\\",JSON.stringify(e)))}function xe(e,t,n,r){if(r.mustUseProperty)return e[r.propertyName];J(n,t),r.sanitizeURL&&Se(\\\"\\\"+n);var a=r.attributeName,o=null;if(r.type===re){if(e.hasAttribute(a)){var i=e.getAttribute(a);return\\\"\\\"===i||(he(t,n,r,!1)?i:i===\\\"\\\"+n?n:i)}}else if(e.hasAttribute(a)){if(he(t,n,r,!1))return e.getAttribute(a);if(r.type===ne)return n;o=e.getAttribute(a)}return he(t,n,r,!1)?null===o?n:o:o===\\\"\\\"+n?n:o}function Ce(e,t,n,r){if(de(t)){if(!e.hasAttribute(t))return void 0===n?void 0:null;var a=e.getAttribute(t);return J(n,t),a===\\\"\\\"+n?n:a}}function Ee(e,t,n,r){var a=me(t);if(!fe(t,a,r))if(he(t,n,a,r)&&(n=null),r||null===a){if(de(t)){var o=t;null===n?e.removeAttribute(o):(J(n,t),e.setAttribute(o,\\\"\\\"+n))}}else if(a.mustUseProperty){var i=a.propertyName;if(null===n){var l=a.type;e[i]=l!==ne&&\\\"\\\"}else e[i]=n}else{var u=a.attributeName,s=a.attributeNamespace;if(null===n)e.removeAttribute(u);else{var c,d=a.type;d===ne||d===re&&!0===n?c=\\\"\\\":(J(n,u),c=\\\"\\\"+n,a.sanitizeURL&&Se(c.toString())),s?e.setAttributeNS(s,u,c):e.setAttribute(u,c)}}}var Te=Symbol.for(\\\"react.element\\\"),Re=Symbol.for(\\\"react.portal\\\"),Pe=Symbol.for(\\\"react.fragment\\\"),De=Symbol.for(\\\"react.strict_mode\\\"),Ne=Symbol.for(\\\"react.profiler\\\"),_e=Symbol.for(\\\"react.provider\\\"),Ie=Symbol.for(\\\"react.context\\\"),Le=Symbol.for(\\\"react.forward_ref\\\"),ze=Symbol.for(\\\"react.suspense\\\"),Me=Symbol.for(\\\"react.suspense_list\\\"),Oe=Symbol.for(\\\"react.memo\\\"),Ue=Symbol.for(\\\"react.lazy\\\"),Fe=Symbol.for(\\\"react.scope\\\"),Ae=Symbol.for(\\\"react.debug_trace_mode\\\"),je=Symbol.for(\\\"react.offscreen\\\"),We=Symbol.for(\\\"react.legacy_hidden\\\"),Be=Symbol.for(\\\"react.cache\\\"),He=Symbol.for(\\\"react.tracing_marker\\\"),Ve=Symbol.iterator,Ye=\\\"@@iterator\\\";function Qe(e){if(null===e||\\\"object\\\"!=typeof e)return null;var t=Ve&&e[Ve]||e[Ye];return\\\"function\\\"==typeof t?t:null}var qe,$e,Xe,Ke,Ge,Je,Ze,et=Object.assign,tt=0;function nt(){}nt.__reactDisabledLog=!0;var rt,at=n.ReactCurrentDispatcher;function ot(e,t,n){if(void 0===rt)try{throw Error()}catch(e){var r=e.stack.trim().match(/\\\\n( *(at )?)/);rt=r&&r[1]||\\\"\\\"}return\\\"\\\\n\\\"+rt+e}var it,lt=!1,ut=\\\"function\\\"==typeof WeakMap?WeakMap:Map;function st(e,t){if(!e||lt)return\\\"\\\";var n,r=it.get(e);if(void 0!==r)return r;lt=!0;var a,i=Error.prepareStackTrace;Error.prepareStackTrace=void 0,a=at.current,at.current=null,function(){if(0===tt){qe=console.log,$e=console.info,Xe=console.warn,Ke=console.error,Ge=console.group,Je=console.groupCollapsed,Ze=console.groupEnd;var e={configurable:!0,enumerable:!0,value:nt,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}tt++}();try{if(t){var l=function(){throw Error()};if(Object.defineProperty(l.prototype,\\\"props\\\",{set:function(){throw Error()}}),\\\"object\\\"==typeof Reflect&&Reflect.construct){try{Reflect.construct(l,[])}catch(e){n=e}Reflect.construct(e,[],l)}else{try{l.call()}catch(e){n=e}e.call(l.prototype)}}else{try{throw Error()}catch(e){n=e}e()}}catch(t){if(t&&n&&\\\"string\\\"==typeof t.stack){for(var u=t.stack.split(\\\"\\\\n\\\"),s=n.stack.split(\\\"\\\\n\\\"),c=u.length-1,d=s.length-1;c>=1&&d>=0&&u[c]!==s[d];)d--;for(;c>=1&&d>=0;c--,d--)if(u[c]!==s[d]){if(1!==c||1!==d)do{if(c--,--d\u003C0||u[c]!==s[d]){var f=\\\"\\\\n\\\"+u[c].replace(\\\" at new \\\",\\\" at \\\");return e.displayName&&f.includes(\\\"\u003Canonymous>\\\")&&(f=f.replace(\\\"\u003Canonymous>\\\",e.displayName)),\\\"function\\\"==typeof e&&it.set(e,f),f}}while(c>=1&&d>=0);break}}}finally{lt=!1,at.current=a,function(){if(0==--tt){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:et({},e,{value:qe}),info:et({},e,{value:$e}),warn:et({},e,{value:Xe}),error:et({},e,{value:Ke}),group:et({},e,{value:Ge}),groupCollapsed:et({},e,{value:Je}),groupEnd:et({},e,{value:Ze})})}tt\u003C0&&o(\\\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\\\")}(),Error.prepareStackTrace=i}var p=e?e.displayName||e.name:\\\"\\\",h=p?ot(p):\\\"\\\";return\\\"function\\\"==typeof e&&it.set(e,h),h}function ct(e,t,n){return st(e,!1)}function dt(e){e._debugOwner&&e._debugOwner.type,e._debugSource;switch(e.tag){case f:return ot(e.type);case x:return ot(\\\"Lazy\\\");case w:return ot(\\\"Suspense\\\");case T:return ot(\\\"SuspenseList\\\");case l:case s:case S:return ct(e.type);case y:return ct(e.type.render);case u:return st(e.type,!0);default:return\\\"\\\"}}function ft(e){try{var t=\\\"\\\",n=e;do{t+=dt(n),n=n.return}while(n);return t}catch(e){return\\\"\\\\nError generating stack: \\\"+e.message+\\\"\\\\n\\\"+e.stack}}function pt(e){return e.displayName||\\\"Context\\\"}function ht(e){if(null==e)return null;if(\\\"number\\\"==typeof e.tag&&o(\\\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\\\"),\\\"function\\\"==typeof e)return e.displayName||e.name||null;if(\\\"string\\\"==typeof e)return e;switch(e){case Pe:return\\\"Fragment\\\";case Re:return\\\"Portal\\\";case Ne:return\\\"Profiler\\\";case De:return\\\"StrictMode\\\";case ze:return\\\"Suspense\\\";case Me:return\\\"SuspenseList\\\"}if(\\\"object\\\"==typeof e)switch(e.$$typeof){case Ie:return pt(e)+\\\".Consumer\\\";case _e:return pt(e._context)+\\\".Provider\\\";case Le:return function(e,t,n){var r=e.displayName;if(r)return r;var a=t.displayName||t.name||\\\"\\\";return\\\"\\\"!==a?n+\\\"(\\\"+a+\\\")\\\":n}(e,e.render,\\\"ForwardRef\\\");case Oe:var t=e.displayName||null;return null!==t?t:ht(e.type)||\\\"Memo\\\";case Ue:var n=e,r=n._payload,a=n._init;try{return ht(a(r))}catch(e){return null}}return null}function mt(e){return e.displayName||\\\"Context\\\"}function vt(e){var t,n,r,a,o=e.tag,i=e.type;switch(o){case N:return\\\"Cache\\\";case v:return mt(i)+\\\".Consumer\\\";case g:return mt(i._context)+\\\".Provider\\\";case E:return\\\"DehydratedFragment\\\";case y:return t=i,n=i.render,r=\\\"ForwardRef\\\",a=n.displayName||n.name||\\\"\\\",t.displayName||(\\\"\\\"!==a?r+\\\"(\\\"+a+\\\")\\\":r);case h:return\\\"Fragment\\\";case f:return i;case d:return\\\"Portal\\\";case c:return\\\"Root\\\";case p:return\\\"Text\\\";case x:return ht(i);case m:return i===De?\\\"StrictMode\\\":\\\"Mode\\\";case P:return\\\"Offscreen\\\";case b:return\\\"Profiler\\\";case R:return\\\"Scope\\\";case w:return\\\"Suspense\\\";case T:return\\\"SuspenseList\\\";case _:return\\\"TracingMarker\\\";case u:case l:case C:case s:case k:case S:if(\\\"function\\\"==typeof i)return i.displayName||i.name||null;if(\\\"string\\\"==typeof i)return i}return null}it=new ut;var gt=n.ReactDebugCurrentFrame,yt=null,bt=!1;function wt(){if(null===yt)return null;var e=yt._debugOwner;return null!==e&&void 0!==e?vt(e):null}function kt(){return null===yt?\\\"\\\":ft(yt)}function St(){gt.getCurrentStack=null,yt=null,bt=!1}function xt(e){gt.getCurrentStack=null===e?null:kt,yt=e,bt=!1}function Ct(e){bt=e}function Et(e){return\\\"\\\"+e}function Tt(e){switch(typeof e){case\\\"boolean\\\":case\\\"number\\\":case\\\"string\\\":case\\\"undefined\\\":return e;case\\\"object\\\":return Z(e),e;default:return\\\"\\\"}}var Rt={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0};function Pt(e,t){Rt[t.type]||t.onChange||t.onInput||t.readOnly||t.disabled||null==t.value||o(\\\"You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.\\\"),t.onChange||t.readOnly||t.disabled||null==t.checked||o(\\\"You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.\\\")}function Dt(e){var t=e.type,n=e.nodeName;return n&&\\\"input\\\"===n.toLowerCase()&&(\\\"checkbox\\\"===t||\\\"radio\\\"===t)}function Nt(e){return e._valueTracker}function _t(e){Nt(e)||(e._valueTracker=function(e){var t=Dt(e)?\\\"checked\\\":\\\"value\\\",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);Z(e[t]);var r=\\\"\\\"+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&\\\"function\\\"==typeof n.get&&\\\"function\\\"==typeof n.set){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){Z(e),r=\\\"\\\"+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){Z(e),r=\\\"\\\"+e},stopTracking:function(){!function(e){e._valueTracker=null}(e),delete e[t]}}}}(e))}function It(e){if(!e)return!1;var t=Nt(e);if(!t)return!0;var n=t.getValue(),r=function(e){var t=\\\"\\\";return e?t=Dt(e)?e.checked?\\\"true\\\":\\\"false\\\":e.value:t}(e);return r!==n&&(t.setValue(r),!0)}function Lt(e){if(void 0===(e=e||(\\\"undefined\\\"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}var zt=!1,Mt=!1,Ot=!1,Ut=!1;function Ft(e){return\\\"checkbox\\\"===e.type||\\\"radio\\\"===e.type?null!=e.checked:null!=e.value}function At(e,t){var n=e,r=t.checked;return et({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=r?r:n._wrapperState.initialChecked})}function jt(e,t){Pt(0,t),void 0===t.checked||void 0===t.defaultChecked||Mt||(o(\\\"%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components\\\",wt()||\\\"A component\\\",t.type),Mt=!0),void 0===t.value||void 0===t.defaultValue||zt||(o(\\\"%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components\\\",wt()||\\\"A component\\\",t.type),zt=!0);var n=e,r=null==t.defaultValue?\\\"\\\":t.defaultValue;n._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:Tt(null!=t.value?t.value:r),controlled:Ft(t)}}function Wt(e,t){var n=e,r=t.checked;null!=r&&Ee(n,\\\"checked\\\",r,!1)}function Bt(e,t){var n=e,r=Ft(t);n._wrapperState.controlled||!r||Ut||(o(\\\"A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components\\\"),Ut=!0),!n._wrapperState.controlled||r||Ot||(o(\\\"A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components\\\"),Ot=!0),Wt(e,t);var a=Tt(t.value),i=t.type;if(null!=a)\\\"number\\\"===i?(0===a&&\\\"\\\"===n.value||n.value!=a)&&(n.value=Et(a)):n.value!==Et(a)&&(n.value=Et(a));else if(\\\"submit\\\"===i||\\\"reset\\\"===i)return void n.removeAttribute(\\\"value\\\");t.hasOwnProperty(\\\"value\\\")?Yt(n,t.type,a):t.hasOwnProperty(\\\"defaultValue\\\")&&Yt(n,t.type,Tt(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(n.defaultChecked=!!t.defaultChecked)}function Ht(e,t,n){var r=e;if(t.hasOwnProperty(\\\"value\\\")||t.hasOwnProperty(\\\"defaultValue\\\")){var a=t.type;if((\\\"submit\\\"===a||\\\"reset\\\"===a)&&(void 0===t.value||null===t.value))return;var o=Et(r._wrapperState.initialValue);n||o!==r.value&&(r.value=o),r.defaultValue=o}var i=r.name;\\\"\\\"!==i&&(r.name=\\\"\\\"),r.defaultChecked=!r.defaultChecked,r.defaultChecked=!!r._wrapperState.initialChecked,\\\"\\\"!==i&&(r.name=i)}function Vt(e,t){var n=e;Bt(n,t),function(e,t){var n=t.name;if(\\\"radio\\\"===t.type&&null!=n){for(var r=e;r.parentNode;)r=r.parentNode;J(n,\\\"name\\\");for(var a=r.querySelectorAll(\\\"input[name=\\\"+JSON.stringify(\\\"\\\"+n)+'][type=\\\"radio\\\"]'),o=0;o\u003Ca.length;o++){var i=a[o];if(i!==e&&i.form===e.form){var l=ud(i);if(!l)throw new Error(\\\"ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.\\\");It(i),Bt(i,l)}}}}(n,t)}function Yt(e,t,n){\\\"number\\\"===t&&Lt(e.ownerDocument)===e||(null==n?e.defaultValue=Et(e._wrapperState.initialValue):e.defaultValue!==Et(n)&&(e.defaultValue=Et(n)))}var Qt=!1,qt=!1,$t=!1;function Xt(e,n){null==n.value&&(\\\"object\\\"==typeof n.children&&null!==n.children?t.Children.forEach(n.children,function(e){null!=e&&\\\"string\\\"!=typeof e&&\\\"number\\\"!=typeof e&&(qt||(qt=!0,o(\\\"Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to \u003Coption>.\\\")))}):null!=n.dangerouslySetInnerHTML&&($t||($t=!0,o(\\\"Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected.\\\")))),null==n.selected||Qt||(o(\\\"Use the `defaultValue` or `value` props on \u003Cselect> instead of setting `selected` on \u003Coption>.\\\"),Qt=!0)}var Kt,Gt=Array.isArray;function Jt(e){return Gt(e)}function Zt(){var e=wt();return e?\\\"\\\\n\\\\nCheck the render method of `\\\"+e+\\\"`.\\\":\\\"\\\"}Kt=!1;var en=[\\\"value\\\",\\\"defaultValue\\\"];function tn(e,t,n,r){var a=e.options;if(t){for(var o=n,i={},l=0;l\u003Co.length;l++)i[\\\"$\\\"+o[l]]=!0;for(var u=0;u\u003Ca.length;u++){var s=i.hasOwnProperty(\\\"$\\\"+a[u].value);a[u].selected!==s&&(a[u].selected=s),s&&r&&(a[u].defaultSelected=!0)}}else{for(var c=Et(Tt(n)),d=null,f=0;f\u003Ca.length;f++){if(a[f].value===c)return a[f].selected=!0,void(r&&(a[f].defaultSelected=!0));null!==d||a[f].disabled||(d=a[f])}null!==d&&(d.selected=!0)}}function nn(e,t){return et({},t,{value:void 0})}function rn(e,t){var n=e;!function(e){Pt(0,e);for(var t=0;t\u003Cen.length;t++){var n=en[t];if(null!=e[n]){var r=Jt(e[n]);e.multiple&&!r?o(\\\"The `%s` prop supplied to \u003Cselect> must be an array if `multiple` is true.%s\\\",n,Zt()):!e.multiple&&r&&o(\\\"The `%s` prop supplied to \u003Cselect> must be a scalar value if `multiple` is false.%s\\\",n,Zt())}}}(t),n._wrapperState={wasMultiple:!!t.multiple},void 0===t.value||void 0===t.defaultValue||Kt||(o(\\\"Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://reactjs.org/link/controlled-components\\\"),Kt=!0)}var an=!1;function on(e,t){var n=e;if(null!=t.dangerouslySetInnerHTML)throw new Error(\\\"`dangerouslySetInnerHTML` does not make sense on \u003Ctextarea>.\\\");return et({},t,{value:void 0,defaultValue:void 0,children:Et(n._wrapperState.initialValue)})}function ln(e,t){var n=e;Pt(0,t),void 0===t.value||void 0===t.defaultValue||an||(o(\\\"%s contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://reactjs.org/link/controlled-components\\\",wt()||\\\"A component\\\"),an=!0);var r=t.value;if(null==r){var a=t.children,i=t.defaultValue;if(null!=a){if(o(\\\"Use the `defaultValue` or `value` props instead of setting children on \u003Ctextarea>.\\\"),null!=i)throw new Error(\\\"If you supply `defaultValue` on a \u003Ctextarea>, do not pass children.\\\");if(Jt(a)){if(a.length>1)throw new Error(\\\"\u003Ctextarea> can only have at most one child.\\\");a=a[0]}i=a}null==i&&(i=\\\"\\\"),r=i}n._wrapperState={initialValue:Tt(r)}}function un(e,t){var n=e,r=Tt(t.value),a=Tt(t.defaultValue);if(null!=r){var o=Et(r);o!==n.value&&(n.value=o),null==t.defaultValue&&n.defaultValue!==o&&(n.defaultValue=o)}null!=a&&(n.defaultValue=Et(a))}function sn(e,t){var n=e,r=n.textContent;r===n._wrapperState.initialValue&&\\\"\\\"!==r&&null!==r&&(n.value=r)}var cn=\\\"http://www.w3.org/1999/xhtml\\\",dn=\\\"http://www.w3.org/1998/Math/MathML\\\",fn=\\\"http://www.w3.org/2000/svg\\\";function pn(e){switch(e){case\\\"svg\\\":return fn;case\\\"math\\\":return dn;default:return cn}}function hn(e,t){return null==e||e===cn?pn(t):e===fn&&\\\"foreignObject\\\"===t?cn:e}var mn,vn,gn=(vn=function(e,t){if(e.namespaceURI!==fn||\\\"innerHTML\\\"in e)e.innerHTML=t;else{(mn=mn||document.createElement(\\\"div\\\")).innerHTML=\\\"\u003Csvg>\\\"+t.valueOf().toString()+\\\"\u003C/svg>\\\";for(var n=mn.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}},\\\"undefined\\\"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction(function(){return vn(e,t,n,r)})}:vn),yn=1,bn=3,wn=8,kn=9,Sn=11,xn=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===bn)return void(n.nodeValue=t)}e.textContent=t},Cn={animation:[\\\"animationDelay\\\",\\\"animationDirection\\\",\\\"animationDuration\\\",\\\"animationFillMode\\\",\\\"animationIterationCount\\\",\\\"animationName\\\",\\\"animationPlayState\\\",\\\"animationTimingFunction\\\"],background:[\\\"backgroundAttachment\\\",\\\"backgroundClip\\\",\\\"backgroundColor\\\",\\\"backgroundImage\\\",\\\"backgroundOrigin\\\",\\\"backgroundPositionX\\\",\\\"backgroundPositionY\\\",\\\"backgroundRepeat\\\",\\\"backgroundSize\\\"],backgroundPosition:[\\\"backgroundPositionX\\\",\\\"backgroundPositionY\\\"],border:[\\\"borderBottomColor\\\",\\\"borderBottomStyle\\\",\\\"borderBottomWidth\\\",\\\"borderImageOutset\\\",\\\"borderImageRepeat\\\",\\\"borderImageSlice\\\",\\\"borderImageSource\\\",\\\"borderImageWidth\\\",\\\"borderLeftColor\\\",\\\"borderLeftStyle\\\",\\\"borderLeftWidth\\\",\\\"borderRightColor\\\",\\\"borderRightStyle\\\",\\\"borderRightWidth\\\",\\\"borderTopColor\\\",\\\"borderTopStyle\\\",\\\"borderTopWidth\\\"],borderBlockEnd:[\\\"borderBlockEndColor\\\",\\\"borderBlockEndStyle\\\",\\\"borderBlockEndWidth\\\"],borderBlockStart:[\\\"borderBlockStartColor\\\",\\\"borderBlockStartStyle\\\",\\\"borderBlockStartWidth\\\"],borderBottom:[\\\"borderBottomColor\\\",\\\"borderBottomStyle\\\",\\\"borderBottomWidth\\\"],borderColor:[\\\"borderBottomColor\\\",\\\"borderLeftColor\\\",\\\"borderRightColor\\\",\\\"borderTopColor\\\"],borderImage:[\\\"borderImageOutset\\\",\\\"borderImageRepeat\\\",\\\"borderImageSlice\\\",\\\"borderImageSource\\\",\\\"borderImageWidth\\\"],borderInlineEnd:[\\\"borderInlineEndColor\\\",\\\"borderInlineEndStyle\\\",\\\"borderInlineEndWidth\\\"],borderInlineStart:[\\\"borderInlineStartColor\\\",\\\"borderInlineStartStyle\\\",\\\"borderInlineStartWidth\\\"],borderLeft:[\\\"borderLeftColor\\\",\\\"borderLeftStyle\\\",\\\"borderLeftWidth\\\"],borderRadius:[\\\"borderBottomLeftRadius\\\",\\\"borderBottomRightRadius\\\",\\\"borderTopLeftRadius\\\",\\\"borderTopRightRadius\\\"],borderRight:[\\\"borderRightColor\\\",\\\"borderRightStyle\\\",\\\"borderRightWidth\\\"],borderStyle:[\\\"borderBottomStyle\\\",\\\"borderLeftStyle\\\",\\\"borderRightStyle\\\",\\\"borderTopStyle\\\"],borderTop:[\\\"borderTopColor\\\",\\\"borderTopStyle\\\",\\\"borderTopWidth\\\"],borderWidth:[\\\"borderBottomWidth\\\",\\\"borderLeftWidth\\\",\\\"borderRightWidth\\\",\\\"borderTopWidth\\\"],columnRule:[\\\"columnRuleColor\\\",\\\"columnRuleStyle\\\",\\\"columnRuleWidth\\\"],columns:[\\\"columnCount\\\",\\\"columnWidth\\\"],flex:[\\\"flexBasis\\\",\\\"flexGrow\\\",\\\"flexShrink\\\"],flexFlow:[\\\"flexDirection\\\",\\\"flexWrap\\\"],font:[\\\"fontFamily\\\",\\\"fontFeatureSettings\\\",\\\"fontKerning\\\",\\\"fontLanguageOverride\\\",\\\"fontSize\\\",\\\"fontSizeAdjust\\\",\\\"fontStretch\\\",\\\"fontStyle\\\",\\\"fontVariant\\\",\\\"fontVariantAlternates\\\",\\\"fontVariantCaps\\\",\\\"fontVariantEastAsian\\\",\\\"fontVariantLigatures\\\",\\\"fontVariantNumeric\\\",\\\"fontVariantPosition\\\",\\\"fontWeight\\\",\\\"lineHeight\\\"],fontVariant:[\\\"fontVariantAlternates\\\",\\\"fontVariantCaps\\\",\\\"fontVariantEastAsian\\\",\\\"fontVariantLigatures\\\",\\\"fontVariantNumeric\\\",\\\"fontVariantPosition\\\"],gap:[\\\"columnGap\\\",\\\"rowGap\\\"],grid:[\\\"gridAutoColumns\\\",\\\"gridAutoFlow\\\",\\\"gridAutoRows\\\",\\\"gridTemplateAreas\\\",\\\"gridTemplateColumns\\\",\\\"gridTemplateRows\\\"],gridArea:[\\\"gridColumnEnd\\\",\\\"gridColumnStart\\\",\\\"gridRowEnd\\\",\\\"gridRowStart\\\"],gridColumn:[\\\"gridColumnEnd\\\",\\\"gridColumnStart\\\"],gridColumnGap:[\\\"columnGap\\\"],gridGap:[\\\"columnGap\\\",\\\"rowGap\\\"],gridRow:[\\\"gridRowEnd\\\",\\\"gridRowStart\\\"],gridRowGap:[\\\"rowGap\\\"],gridTemplate:[\\\"gridTemplateAreas\\\",\\\"gridTemplateColumns\\\",\\\"gridTemplateRows\\\"],listStyle:[\\\"listStyleImage\\\",\\\"listStylePosition\\\",\\\"listStyleType\\\"],margin:[\\\"marginBottom\\\",\\\"marginLeft\\\",\\\"marginRight\\\",\\\"marginTop\\\"],marker:[\\\"markerEnd\\\",\\\"markerMid\\\",\\\"markerStart\\\"],mask:[\\\"maskClip\\\",\\\"maskComposite\\\",\\\"maskImage\\\",\\\"maskMode\\\",\\\"maskOrigin\\\",\\\"maskPositionX\\\",\\\"maskPositionY\\\",\\\"maskRepeat\\\",\\\"maskSize\\\"],maskPosition:[\\\"maskPositionX\\\",\\\"maskPositionY\\\"],outline:[\\\"outlineColor\\\",\\\"outlineStyle\\\",\\\"outlineWidth\\\"],overflow:[\\\"overflowX\\\",\\\"overflowY\\\"],padding:[\\\"paddingBottom\\\",\\\"paddingLeft\\\",\\\"paddingRight\\\",\\\"paddingTop\\\"],placeContent:[\\\"alignContent\\\",\\\"justifyContent\\\"],placeItems:[\\\"alignItems\\\",\\\"justifyItems\\\"],placeSelf:[\\\"alignSelf\\\",\\\"justifySelf\\\"],textDecoration:[\\\"textDecorationColor\\\",\\\"textDecorationLine\\\",\\\"textDecorationStyle\\\"],textEmphasis:[\\\"textEmphasisColor\\\",\\\"textEmphasisStyle\\\"],transition:[\\\"transitionDelay\\\",\\\"transitionDuration\\\",\\\"transitionProperty\\\",\\\"transitionTimingFunction\\\"],wordWrap:[\\\"overflowWrap\\\"]},En={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};var Tn=[\\\"Webkit\\\",\\\"ms\\\",\\\"Moz\\\",\\\"O\\\"];function Rn(e,t,n){return null==t||\\\"boolean\\\"==typeof t||\\\"\\\"===t?\\\"\\\":n||\\\"number\\\"!=typeof t||0===t||En.hasOwnProperty(e)&&En[e]?(function(e,t){if(K(e))o(\\\"The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before before using it here.\\\",t,X(e)),G(e)}(t,e),(\\\"\\\"+t).trim()):t+\\\"px\\\"}Object.keys(En).forEach(function(e){Tn.forEach(function(t){En[function(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}(t,e)]=En[e]})});var Pn=/([A-Z])/g,Dn=/^ms-/;var Nn=/^(?:webkit|moz|o)[A-Z]/,_n=/^-ms-/,In=/-(.)/g,Ln=/;\\\\s*$/,zn={},Mn={},On=!1,Un=!1,Fn=function(e){zn.hasOwnProperty(e)&&zn[e]||(zn[e]=!0,o(\\\"Unsupported style property %s. Did you mean %s?\\\",e,e.replace(_n,\\\"ms-\\\").replace(In,function(e,t){return t.toUpperCase()})))},An=function(e,t){e.indexOf(\\\"-\\\")>-1?Fn(e):Nn.test(e)?function(e){zn.hasOwnProperty(e)&&zn[e]||(zn[e]=!0,o(\\\"Unsupported vendor-prefixed style property %s. Did you mean %s?\\\",e,e.charAt(0).toUpperCase()+e.slice(1)))}(e):Ln.test(t)&&function(e,t){Mn.hasOwnProperty(t)&&Mn[t]||(Mn[t]=!0,o('Style property values shouldn\\\\'t contain a semicolon. Try \\\"%s: %s\\\" instead.',e,t.replace(Ln,\\\"\\\")))}(e,t),\\\"number\\\"==typeof t&&(isNaN(t)?function(e,t){On||(On=!0,o(\\\"`NaN` is an invalid value for the `%s` css style property.\\\",e))}(e):isFinite(t)||function(e,t){Un||(Un=!0,o(\\\"`Infinity` is an invalid value for the `%s` css style property.\\\",e))}(e))};function jn(e){var t=\\\"\\\",n=\\\"\\\";for(var r in e)if(e.hasOwnProperty(r)){var a=e[r];if(null!=a){var o=0===r.indexOf(\\\"--\\\");t+=n+(o?r:r.replace(Pn,\\\"-$1\\\").toLowerCase().replace(Dn,\\\"-ms-\\\"))+\\\":\\\",t+=Rn(r,a,o),n=\\\";\\\"}}return t||null}function Wn(e,t){var n=e.style;for(var r in t)if(t.hasOwnProperty(r)){var a=0===r.indexOf(\\\"--\\\");a||An(r,t[r]);var o=Rn(r,t[r],a);\\\"float\\\"===r&&(r=\\\"cssFloat\\\"),a?n.setProperty(r,o):n[r]=o}}function Bn(e){var t={};for(var n in e)for(var r=Cn[n]||[n],a=0;a\u003Cr.length;a++)t[r[a]]=n;return t}var Hn=et({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),Vn=\\\"__html\\\";function Yn(e,t){if(t){if(Hn[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw new Error(e+\\\" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.\\\");if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw new Error(\\\"Can only set one of `children` or `props.dangerouslySetInnerHTML`.\\\");if(\\\"object\\\"!=typeof t.dangerouslySetInnerHTML||!(Vn in t.dangerouslySetInnerHTML))throw new Error(\\\"`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.\\\")}if(!t.suppressContentEditableWarning&&t.contentEditable&&null!=t.children&&o(\\\"A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional.\\\"),null!=t.style&&\\\"object\\\"!=typeof t.style)throw new Error(\\\"The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.\\\")}}function Qn(e,t){if(-1===e.indexOf(\\\"-\\\"))return\\\"string\\\"==typeof t.is;switch(e){case\\\"annotation-xml\\\":case\\\"color-profile\\\":case\\\"font-face\\\":case\\\"font-face-src\\\":case\\\"font-face-uri\\\":case\\\"font-face-format\\\":case\\\"font-face-name\\\":case\\\"missing-glyph\\\":return!1;default:return!0}}var qn={accept:\\\"accept\\\",acceptcharset:\\\"acceptCharset\\\",\\\"accept-charset\\\":\\\"acceptCharset\\\",accesskey:\\\"accessKey\\\",action:\\\"action\\\",allowfullscreen:\\\"allowFullScreen\\\",alt:\\\"alt\\\",as:\\\"as\\\",async:\\\"async\\\",autocapitalize:\\\"autoCapitalize\\\",autocomplete:\\\"autoComplete\\\",autocorrect:\\\"autoCorrect\\\",autofocus:\\\"autoFocus\\\",autoplay:\\\"autoPlay\\\",autosave:\\\"autoSave\\\",capture:\\\"capture\\\",cellpadding:\\\"cellPadding\\\",cellspacing:\\\"cellSpacing\\\",challenge:\\\"challenge\\\",charset:\\\"charSet\\\",checked:\\\"checked\\\",children:\\\"children\\\",cite:\\\"cite\\\",class:\\\"className\\\",classid:\\\"classID\\\",classname:\\\"className\\\",cols:\\\"cols\\\",colspan:\\\"colSpan\\\",content:\\\"content\\\",contenteditable:\\\"contentEditable\\\",contextmenu:\\\"contextMenu\\\",controls:\\\"controls\\\",controlslist:\\\"controlsList\\\",coords:\\\"coords\\\",crossorigin:\\\"crossOrigin\\\",dangerouslysetinnerhtml:\\\"dangerouslySetInnerHTML\\\",data:\\\"data\\\",datetime:\\\"dateTime\\\",default:\\\"default\\\",defaultchecked:\\\"defaultChecked\\\",defaultvalue:\\\"defaultValue\\\",defer:\\\"defer\\\",dir:\\\"dir\\\",disabled:\\\"disabled\\\",disablepictureinpicture:\\\"disablePictureInPicture\\\",disableremoteplayback:\\\"disableRemotePlayback\\\",download:\\\"download\\\",draggable:\\\"draggable\\\",enctype:\\\"encType\\\",enterkeyhint:\\\"enterKeyHint\\\",for:\\\"htmlFor\\\",form:\\\"form\\\",formmethod:\\\"formMethod\\\",formaction:\\\"formAction\\\",formenctype:\\\"formEncType\\\",formnovalidate:\\\"formNoValidate\\\",formtarget:\\\"formTarget\\\",frameborder:\\\"frameBorder\\\",headers:\\\"headers\\\",height:\\\"height\\\",hidden:\\\"hidden\\\",high:\\\"high\\\",href:\\\"href\\\",hreflang:\\\"hrefLang\\\",htmlfor:\\\"htmlFor\\\",httpequiv:\\\"httpEquiv\\\",\\\"http-equiv\\\":\\\"httpEquiv\\\",icon:\\\"icon\\\",id:\\\"id\\\",imagesizes:\\\"imageSizes\\\",imagesrcset:\\\"imageSrcSet\\\",innerhtml:\\\"innerHTML\\\",inputmode:\\\"inputMode\\\",integrity:\\\"integrity\\\",is:\\\"is\\\",itemid:\\\"itemID\\\",itemprop:\\\"itemProp\\\",itemref:\\\"itemRef\\\",itemscope:\\\"itemScope\\\",itemtype:\\\"itemType\\\",keyparams:\\\"keyParams\\\",keytype:\\\"keyType\\\",kind:\\\"kind\\\",label:\\\"label\\\",lang:\\\"lang\\\",list:\\\"list\\\",loop:\\\"loop\\\",low:\\\"low\\\",manifest:\\\"manifest\\\",marginwidth:\\\"marginWidth\\\",marginheight:\\\"marginHeight\\\",max:\\\"max\\\",maxlength:\\\"maxLength\\\",media:\\\"media\\\",mediagroup:\\\"mediaGroup\\\",method:\\\"method\\\",min:\\\"min\\\",minlength:\\\"minLength\\\",multiple:\\\"multiple\\\",muted:\\\"muted\\\",name:\\\"name\\\",nomodule:\\\"noModule\\\",nonce:\\\"nonce\\\",novalidate:\\\"noValidate\\\",open:\\\"open\\\",optimum:\\\"optimum\\\",pattern:\\\"pattern\\\",placeholder:\\\"placeholder\\\",playsinline:\\\"playsInline\\\",poster:\\\"poster\\\",preload:\\\"preload\\\",profile:\\\"profile\\\",radiogroup:\\\"radioGroup\\\",readonly:\\\"readOnly\\\",referrerpolicy:\\\"referrerPolicy\\\",rel:\\\"rel\\\",required:\\\"required\\\",reversed:\\\"reversed\\\",role:\\\"role\\\",rows:\\\"rows\\\",rowspan:\\\"rowSpan\\\",sandbox:\\\"sandbox\\\",scope:\\\"scope\\\",scoped:\\\"scoped\\\",scrolling:\\\"scrolling\\\",seamless:\\\"seamless\\\",selected:\\\"selected\\\",shape:\\\"shape\\\",size:\\\"size\\\",sizes:\\\"sizes\\\",span:\\\"span\\\",spellcheck:\\\"spellCheck\\\",src:\\\"src\\\",srcdoc:\\\"srcDoc\\\",srclang:\\\"srcLang\\\",srcset:\\\"srcSet\\\",start:\\\"start\\\",step:\\\"step\\\",style:\\\"style\\\",summary:\\\"summary\\\",tabindex:\\\"tabIndex\\\",target:\\\"target\\\",title:\\\"title\\\",type:\\\"type\\\",usemap:\\\"useMap\\\",value:\\\"value\\\",width:\\\"width\\\",wmode:\\\"wmode\\\",wrap:\\\"wrap\\\",about:\\\"about\\\",accentheight:\\\"accentHeight\\\",\\\"accent-height\\\":\\\"accentHeight\\\",accumulate:\\\"accumulate\\\",additive:\\\"additive\\\",alignmentbaseline:\\\"alignmentBaseline\\\",\\\"alignment-baseline\\\":\\\"alignmentBaseline\\\",allowreorder:\\\"allowReorder\\\",alphabetic:\\\"alphabetic\\\",amplitude:\\\"amplitude\\\",arabicform:\\\"arabicForm\\\",\\\"arabic-form\\\":\\\"arabicForm\\\",ascent:\\\"ascent\\\",attributename:\\\"attributeName\\\",attributetype:\\\"attributeType\\\",autoreverse:\\\"autoReverse\\\",azimuth:\\\"azimuth\\\",basefrequency:\\\"baseFrequency\\\",baselineshift:\\\"baselineShift\\\",\\\"baseline-shift\\\":\\\"baselineShift\\\",baseprofile:\\\"baseProfile\\\",bbox:\\\"bbox\\\",begin:\\\"begin\\\",bias:\\\"bias\\\",by:\\\"by\\\",calcmode:\\\"calcMode\\\",capheight:\\\"capHeight\\\",\\\"cap-height\\\":\\\"capHeight\\\",clip:\\\"clip\\\",clippath:\\\"clipPath\\\",\\\"clip-path\\\":\\\"clipPath\\\",clippathunits:\\\"clipPathUnits\\\",cliprule:\\\"clipRule\\\",\\\"clip-rule\\\":\\\"clipRule\\\",color:\\\"color\\\",colorinterpolation:\\\"colorInterpolation\\\",\\\"color-interpolation\\\":\\\"colorInterpolation\\\",colorinterpolationfilters:\\\"colorInterpolationFilters\\\",\\\"color-interpolation-filters\\\":\\\"colorInterpolationFilters\\\",colorprofile:\\\"colorProfile\\\",\\\"color-profile\\\":\\\"colorProfile\\\",colorrendering:\\\"colorRendering\\\",\\\"color-rendering\\\":\\\"colorRendering\\\",contentscripttype:\\\"contentScriptType\\\",contentstyletype:\\\"contentStyleType\\\",cursor:\\\"cursor\\\",cx:\\\"cx\\\",cy:\\\"cy\\\",d:\\\"d\\\",datatype:\\\"datatype\\\",decelerate:\\\"decelerate\\\",descent:\\\"descent\\\",diffuseconstant:\\\"diffuseConstant\\\",direction:\\\"direction\\\",display:\\\"display\\\",divisor:\\\"divisor\\\",dominantbaseline:\\\"dominantBaseline\\\",\\\"dominant-baseline\\\":\\\"dominantBaseline\\\",dur:\\\"dur\\\",dx:\\\"dx\\\",dy:\\\"dy\\\",edgemode:\\\"edgeMode\\\",elevation:\\\"elevation\\\",enablebackground:\\\"enableBackground\\\",\\\"enable-background\\\":\\\"enableBackground\\\",end:\\\"end\\\",exponent:\\\"exponent\\\",externalresourcesrequired:\\\"externalResourcesRequired\\\",fill:\\\"fill\\\",fillopacity:\\\"fillOpacity\\\",\\\"fill-opacity\\\":\\\"fillOpacity\\\",fillrule:\\\"fillRule\\\",\\\"fill-rule\\\":\\\"fillRule\\\",filter:\\\"filter\\\",filterres:\\\"filterRes\\\",filterunits:\\\"filterUnits\\\",floodopacity:\\\"floodOpacity\\\",\\\"flood-opacity\\\":\\\"floodOpacity\\\",floodcolor:\\\"floodColor\\\",\\\"flood-color\\\":\\\"floodColor\\\",focusable:\\\"focusable\\\",fontfamily:\\\"fontFamily\\\",\\\"font-family\\\":\\\"fontFamily\\\",fontsize:\\\"fontSize\\\",\\\"font-size\\\":\\\"fontSize\\\",fontsizeadjust:\\\"fontSizeAdjust\\\",\\\"font-size-adjust\\\":\\\"fontSizeAdjust\\\",fontstretch:\\\"fontStretch\\\",\\\"font-stretch\\\":\\\"fontStretch\\\",fontstyle:\\\"fontStyle\\\",\\\"font-style\\\":\\\"fontStyle\\\",fontvariant:\\\"fontVariant\\\",\\\"font-variant\\\":\\\"fontVariant\\\",fontweight:\\\"fontWeight\\\",\\\"font-weight\\\":\\\"fontWeight\\\",format:\\\"format\\\",from:\\\"from\\\",fx:\\\"fx\\\",fy:\\\"fy\\\",g1:\\\"g1\\\",g2:\\\"g2\\\",glyphname:\\\"glyphName\\\",\\\"glyph-name\\\":\\\"glyphName\\\",glyphorientationhorizontal:\\\"glyphOrientationHorizontal\\\",\\\"glyph-orientation-horizontal\\\":\\\"glyphOrientationHorizontal\\\",glyphorientationvertical:\\\"glyphOrientationVertical\\\",\\\"glyph-orientation-vertical\\\":\\\"glyphOrientationVertical\\\",glyphref:\\\"glyphRef\\\",gradienttransform:\\\"gradientTransform\\\",gradientunits:\\\"gradientUnits\\\",hanging:\\\"hanging\\\",horizadvx:\\\"horizAdvX\\\",\\\"horiz-adv-x\\\":\\\"horizAdvX\\\",horizoriginx:\\\"horizOriginX\\\",\\\"horiz-origin-x\\\":\\\"horizOriginX\\\",ideographic:\\\"ideographic\\\",imagerendering:\\\"imageRendering\\\",\\\"image-rendering\\\":\\\"imageRendering\\\",in2:\\\"in2\\\",in:\\\"in\\\",inlist:\\\"inlist\\\",intercept:\\\"intercept\\\",k1:\\\"k1\\\",k2:\\\"k2\\\",k3:\\\"k3\\\",k4:\\\"k4\\\",k:\\\"k\\\",kernelmatrix:\\\"kernelMatrix\\\",kernelunitlength:\\\"kernelUnitLength\\\",kerning:\\\"kerning\\\",keypoints:\\\"keyPoints\\\",keysplines:\\\"keySplines\\\",keytimes:\\\"keyTimes\\\",lengthadjust:\\\"lengthAdjust\\\",letterspacing:\\\"letterSpacing\\\",\\\"letter-spacing\\\":\\\"letterSpacing\\\",lightingcolor:\\\"lightingColor\\\",\\\"lighting-color\\\":\\\"lightingColor\\\",limitingconeangle:\\\"limitingConeAngle\\\",local:\\\"local\\\",markerend:\\\"markerEnd\\\",\\\"marker-end\\\":\\\"markerEnd\\\",markerheight:\\\"markerHeight\\\",markermid:\\\"markerMid\\\",\\\"marker-mid\\\":\\\"markerMid\\\",markerstart:\\\"markerStart\\\",\\\"marker-start\\\":\\\"markerStart\\\",markerunits:\\\"markerUnits\\\",markerwidth:\\\"markerWidth\\\",mask:\\\"mask\\\",maskcontentunits:\\\"maskContentUnits\\\",maskunits:\\\"maskUnits\\\",mathematical:\\\"mathematical\\\",mode:\\\"mode\\\",numoctaves:\\\"numOctaves\\\",offset:\\\"offset\\\",opacity:\\\"opacity\\\",operator:\\\"operator\\\",order:\\\"order\\\",orient:\\\"orient\\\",orientation:\\\"orientation\\\",origin:\\\"origin\\\",overflow:\\\"overflow\\\",overlineposition:\\\"overlinePosition\\\",\\\"overline-position\\\":\\\"overlinePosition\\\",overlinethickness:\\\"overlineThickness\\\",\\\"overline-thickness\\\":\\\"overlineThickness\\\",paintorder:\\\"paintOrder\\\",\\\"paint-order\\\":\\\"paintOrder\\\",panose1:\\\"panose1\\\",\\\"panose-1\\\":\\\"panose1\\\",pathlength:\\\"pathLength\\\",patterncontentunits:\\\"patternContentUnits\\\",patterntransform:\\\"patternTransform\\\",patternunits:\\\"patternUnits\\\",pointerevents:\\\"pointerEvents\\\",\\\"pointer-events\\\":\\\"pointerEvents\\\",points:\\\"points\\\",pointsatx:\\\"pointsAtX\\\",pointsaty:\\\"pointsAtY\\\",pointsatz:\\\"pointsAtZ\\\",prefix:\\\"prefix\\\",preservealpha:\\\"preserveAlpha\\\",preserveaspectratio:\\\"preserveAspectRatio\\\",primitiveunits:\\\"primitiveUnits\\\",property:\\\"property\\\",r:\\\"r\\\",radius:\\\"radius\\\",refx:\\\"refX\\\",refy:\\\"refY\\\",renderingintent:\\\"renderingIntent\\\",\\\"rendering-intent\\\":\\\"renderingIntent\\\",repeatcount:\\\"repeatCount\\\",repeatdur:\\\"repeatDur\\\",requiredextensions:\\\"requiredExtensions\\\",requiredfeatures:\\\"requiredFeatures\\\",resource:\\\"resource\\\",restart:\\\"restart\\\",result:\\\"result\\\",results:\\\"results\\\",rotate:\\\"rotate\\\",rx:\\\"rx\\\",ry:\\\"ry\\\",scale:\\\"scale\\\",security:\\\"security\\\",seed:\\\"seed\\\",shaperendering:\\\"shapeRendering\\\",\\\"shape-rendering\\\":\\\"shapeRendering\\\",slope:\\\"slope\\\",spacing:\\\"spacing\\\",specularconstant:\\\"specularConstant\\\",specularexponent:\\\"specularExponent\\\",speed:\\\"speed\\\",spreadmethod:\\\"spreadMethod\\\",startoffset:\\\"startOffset\\\",stddeviation:\\\"stdDeviation\\\",stemh:\\\"stemh\\\",stemv:\\\"stemv\\\",stitchtiles:\\\"stitchTiles\\\",stopcolor:\\\"stopColor\\\",\\\"stop-color\\\":\\\"stopColor\\\",stopopacity:\\\"stopOpacity\\\",\\\"stop-opacity\\\":\\\"stopOpacity\\\",strikethroughposition:\\\"strikethroughPosition\\\",\\\"strikethrough-position\\\":\\\"strikethroughPosition\\\",strikethroughthickness:\\\"strikethroughThickness\\\",\\\"strikethrough-thickness\\\":\\\"strikethroughThickness\\\",string:\\\"string\\\",stroke:\\\"stroke\\\",strokedasharray:\\\"strokeDasharray\\\",\\\"stroke-dasharray\\\":\\\"strokeDasharray\\\",strokedashoffset:\\\"strokeDashoffset\\\",\\\"stroke-dashoffset\\\":\\\"strokeDashoffset\\\",strokelinecap:\\\"strokeLinecap\\\",\\\"stroke-linecap\\\":\\\"strokeLinecap\\\",strokelinejoin:\\\"strokeLinejoin\\\",\\\"stroke-linejoin\\\":\\\"strokeLinejoin\\\",strokemiterlimit:\\\"strokeMiterlimit\\\",\\\"stroke-miterlimit\\\":\\\"strokeMiterlimit\\\",strokewidth:\\\"strokeWidth\\\",\\\"stroke-width\\\":\\\"strokeWidth\\\",strokeopacity:\\\"strokeOpacity\\\",\\\"stroke-opacity\\\":\\\"strokeOpacity\\\",suppresscontenteditablewarning:\\\"suppressContentEditableWarning\\\",suppresshydrationwarning:\\\"suppressHydrationWarning\\\",surfacescale:\\\"surfaceScale\\\",systemlanguage:\\\"systemLanguage\\\",tablevalues:\\\"tableValues\\\",targetx:\\\"targetX\\\",targety:\\\"targetY\\\",textanchor:\\\"textAnchor\\\",\\\"text-anchor\\\":\\\"textAnchor\\\",textdecoration:\\\"textDecoration\\\",\\\"text-decoration\\\":\\\"textDecoration\\\",textlength:\\\"textLength\\\",textrendering:\\\"textRendering\\\",\\\"text-rendering\\\":\\\"textRendering\\\",to:\\\"to\\\",transform:\\\"transform\\\",typeof:\\\"typeof\\\",u1:\\\"u1\\\",u2:\\\"u2\\\",underlineposition:\\\"underlinePosition\\\",\\\"underline-position\\\":\\\"underlinePosition\\\",underlinethickness:\\\"underlineThickness\\\",\\\"underline-thickness\\\":\\\"underlineThickness\\\",unicode:\\\"unicode\\\",unicodebidi:\\\"unicodeBidi\\\",\\\"unicode-bidi\\\":\\\"unicodeBidi\\\",unicoderange:\\\"unicodeRange\\\",\\\"unicode-range\\\":\\\"unicodeRange\\\",unitsperem:\\\"unitsPerEm\\\",\\\"units-per-em\\\":\\\"unitsPerEm\\\",unselectable:\\\"unselectable\\\",valphabetic:\\\"vAlphabetic\\\",\\\"v-alphabetic\\\":\\\"vAlphabetic\\\",values:\\\"values\\\",vectoreffect:\\\"vectorEffect\\\",\\\"vector-effect\\\":\\\"vectorEffect\\\",version:\\\"version\\\",vertadvy:\\\"vertAdvY\\\",\\\"vert-adv-y\\\":\\\"vertAdvY\\\",vertoriginx:\\\"vertOriginX\\\",\\\"vert-origin-x\\\":\\\"vertOriginX\\\",vertoriginy:\\\"vertOriginY\\\",\\\"vert-origin-y\\\":\\\"vertOriginY\\\",vhanging:\\\"vHanging\\\",\\\"v-hanging\\\":\\\"vHanging\\\",videographic:\\\"vIdeographic\\\",\\\"v-ideographic\\\":\\\"vIdeographic\\\",viewbox:\\\"viewBox\\\",viewtarget:\\\"viewTarget\\\",visibility:\\\"visibility\\\",vmathematical:\\\"vMathematical\\\",\\\"v-mathematical\\\":\\\"vMathematical\\\",vocab:\\\"vocab\\\",widths:\\\"widths\\\",wordspacing:\\\"wordSpacing\\\",\\\"word-spacing\\\":\\\"wordSpacing\\\",writingmode:\\\"writingMode\\\",\\\"writing-mode\\\":\\\"writingMode\\\",x1:\\\"x1\\\",x2:\\\"x2\\\",x:\\\"x\\\",xchannelselector:\\\"xChannelSelector\\\",xheight:\\\"xHeight\\\",\\\"x-height\\\":\\\"xHeight\\\",xlinkactuate:\\\"xlinkActuate\\\",\\\"xlink:actuate\\\":\\\"xlinkActuate\\\",xlinkarcrole:\\\"xlinkArcrole\\\",\\\"xlink:arcrole\\\":\\\"xlinkArcrole\\\",xlinkhref:\\\"xlinkHref\\\",\\\"xlink:href\\\":\\\"xlinkHref\\\",xlinkrole:\\\"xlinkRole\\\",\\\"xlink:role\\\":\\\"xlinkRole\\\",xlinkshow:\\\"xlinkShow\\\",\\\"xlink:show\\\":\\\"xlinkShow\\\",xlinktitle:\\\"xlinkTitle\\\",\\\"xlink:title\\\":\\\"xlinkTitle\\\",xlinktype:\\\"xlinkType\\\",\\\"xlink:type\\\":\\\"xlinkType\\\",xmlbase:\\\"xmlBase\\\",\\\"xml:base\\\":\\\"xmlBase\\\",xmllang:\\\"xmlLang\\\",\\\"xml:lang\\\":\\\"xmlLang\\\",xmlns:\\\"xmlns\\\",\\\"xml:space\\\":\\\"xmlSpace\\\",xmlnsxlink:\\\"xmlnsXlink\\\",\\\"xmlns:xlink\\\":\\\"xmlnsXlink\\\",xmlspace:\\\"xmlSpace\\\",y1:\\\"y1\\\",y2:\\\"y2\\\",y:\\\"y\\\",ychannelselector:\\\"yChannelSelector\\\",z:\\\"z\\\",zoomandpan:\\\"zoomAndPan\\\"},$n={\\\"aria-current\\\":0,\\\"aria-description\\\":0,\\\"aria-details\\\":0,\\\"aria-disabled\\\":0,\\\"aria-hidden\\\":0,\\\"aria-invalid\\\":0,\\\"aria-keyshortcuts\\\":0,\\\"aria-label\\\":0,\\\"aria-roledescription\\\":0,\\\"aria-autocomplete\\\":0,\\\"aria-checked\\\":0,\\\"aria-expanded\\\":0,\\\"aria-haspopup\\\":0,\\\"aria-level\\\":0,\\\"aria-modal\\\":0,\\\"aria-multiline\\\":0,\\\"aria-multiselectable\\\":0,\\\"aria-orientation\\\":0,\\\"aria-placeholder\\\":0,\\\"aria-pressed\\\":0,\\\"aria-readonly\\\":0,\\\"aria-required\\\":0,\\\"aria-selected\\\":0,\\\"aria-sort\\\":0,\\\"aria-valuemax\\\":0,\\\"aria-valuemin\\\":0,\\\"aria-valuenow\\\":0,\\\"aria-valuetext\\\":0,\\\"aria-atomic\\\":0,\\\"aria-busy\\\":0,\\\"aria-live\\\":0,\\\"aria-relevant\\\":0,\\\"aria-dropeffect\\\":0,\\\"aria-grabbed\\\":0,\\\"aria-activedescendant\\\":0,\\\"aria-colcount\\\":0,\\\"aria-colindex\\\":0,\\\"aria-colspan\\\":0,\\\"aria-controls\\\":0,\\\"aria-describedby\\\":0,\\\"aria-errormessage\\\":0,\\\"aria-flowto\\\":0,\\\"aria-labelledby\\\":0,\\\"aria-owns\\\":0,\\\"aria-posinset\\\":0,\\\"aria-rowcount\\\":0,\\\"aria-rowindex\\\":0,\\\"aria-rowspan\\\":0,\\\"aria-setsize\\\":0},Xn={},Kn=new RegExp(\\\"^(aria)-[\\\"+le+\\\"]*$\\\"),Gn=new RegExp(\\\"^(aria)[A-Z][\\\"+le+\\\"]*$\\\");function Jn(e,t){if($.call(Xn,t)&&Xn[t])return!0;if(Gn.test(t)){var n=\\\"aria-\\\"+t.slice(4).toLowerCase(),r=$n.hasOwnProperty(n)?n:null;if(null==r)return o(\\\"Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.\\\",t),Xn[t]=!0,!0;if(t!==r)return o(\\\"Invalid ARIA attribute `%s`. Did you mean `%s`?\\\",t,r),Xn[t]=!0,!0}if(Kn.test(t)){var a=t.toLowerCase(),i=$n.hasOwnProperty(a)?a:null;if(null==i)return Xn[t]=!0,!1;if(t!==i)return o(\\\"Unknown ARIA attribute `%s`. Did you mean `%s`?\\\",t,i),Xn[t]=!0,!0}return!0}function Zn(e,t){Qn(e,t)||function(e,t){var n=[];for(var r in t)Jn(0,r)||n.push(r);var a=n.map(function(e){return\\\"`\\\"+e+\\\"`\\\"}).join(\\\", \\\");1===n.length?o(\\\"Invalid aria prop %s on \u003C%s> tag. For details, see https://reactjs.org/link/invalid-aria-props\\\",a,e):n.length>1&&o(\\\"Invalid aria props %s on \u003C%s> tag. For details, see https://reactjs.org/link/invalid-aria-props\\\",a,e)}(e,t)}var er=!1;var tr,nr={},rr=/^on./,ar=/^on[^A-Z]/,or=new RegExp(\\\"^(aria)-[\\\"+le+\\\"]*$\\\"),ir=new RegExp(\\\"^(aria)[A-Z][\\\"+le+\\\"]*$\\\");tr=function(e,t,n,r){if($.call(nr,t)&&nr[t])return!0;var a=t.toLowerCase();if(\\\"onfocusin\\\"===a||\\\"onfocusout\\\"===a)return o(\\\"React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React.\\\"),nr[t]=!0,!0;if(null!=r){var i=r.registrationNameDependencies,l=r.possibleRegistrationNames;if(i.hasOwnProperty(t))return!0;var u=l.hasOwnProperty(a)?l[a]:null;if(null!=u)return o(\\\"Invalid event handler property `%s`. Did you mean `%s`?\\\",t,u),nr[t]=!0,!0;if(rr.test(t))return o(\\\"Unknown event handler property `%s`. It will be ignored.\\\",t),nr[t]=!0,!0}else if(rr.test(t))return ar.test(t)&&o(\\\"Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.\\\",t),nr[t]=!0,!0;if(or.test(t)||ir.test(t))return!0;if(\\\"innerhtml\\\"===a)return o(\\\"Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`.\\\"),nr[t]=!0,!0;if(\\\"aria\\\"===a)return o(\\\"The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead.\\\"),nr[t]=!0,!0;if(\\\"is\\\"===a&&null!==n&&void 0!==n&&\\\"string\\\"!=typeof n)return o(\\\"Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.\\\",typeof n),nr[t]=!0,!0;if(\\\"number\\\"==typeof n&&isNaN(n))return o(\\\"Received NaN for the `%s` attribute. If this is expected, cast the value to a string.\\\",t),nr[t]=!0,!0;var s=me(t),c=null!==s&&s.type===ee;if(qn.hasOwnProperty(a)){var d=qn[a];if(d!==t)return o(\\\"Invalid DOM property `%s`. Did you mean `%s`?\\\",t,d),nr[t]=!0,!0}else if(!c&&t!==a)return o(\\\"React does not recognize the `%s` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `%s` instead. If you accidentally passed it from a parent component, remove it from the DOM element.\\\",t,a),nr[t]=!0,!0;return\\\"boolean\\\"==typeof n&&pe(t,n,s,!1)?(n?o('Received `%s` for a non-boolean attribute `%s`.\\\\n\\\\nIf you want to write it to the DOM, pass a string instead: %s=\\\"%s\\\" or %s={value.toString()}.',n,t,t,n,t):o('Received `%s` for a non-boolean attribute `%s`.\\\\n\\\\nIf you want to write it to the DOM, pass a string instead: %s=\\\"%s\\\" or %s={value.toString()}.\\\\n\\\\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.',n,t,t,n,t,t,t),nr[t]=!0,!0):!!c||(pe(t,n,s,!1)?(nr[t]=!0,!1):\\\"false\\\"!==n&&\\\"true\\\"!==n||null===s||s.type!==ne||(o(\\\"Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?\\\",n,t,\\\"false\\\"===n?\\\"The browser will interpret it as a truthy value.\\\":'Although this works, it will not work as expected if you pass the string \\\"false\\\".',t,n),nr[t]=!0,!0))};var lr=function(e,t,n){var r=[];for(var a in t){tr(0,a,t[a],n)||r.push(a)}var i=r.map(function(e){return\\\"`\\\"+e+\\\"`\\\"}).join(\\\", \\\");1===r.length?o(\\\"Invalid value for prop %s on \u003C%s> tag. Either remove it from the element, or pass a string or number value to keep it in the DOM. For details, see https://reactjs.org/link/attribute-behavior \\\",i,e):r.length>1&&o(\\\"Invalid values for props %s on \u003C%s> tag. Either remove them from the element, or pass a string or number value to keep them in the DOM. For details, see https://reactjs.org/link/attribute-behavior \\\",i,e)};var ur=1,sr=2,cr=4,dr=ur|sr|cr,fr=null;function pr(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===bn?t.parentNode:t}var hr=null,mr=null,vr=null;function gr(e){var t=id(e);if(t){if(\\\"function\\\"!=typeof hr)throw new Error(\\\"setRestoreImplementation() needs to be called to handle a target for controlled events. This error is likely caused by a bug in React. Please file an issue.\\\");var n=t.stateNode;if(n){var r=ud(n);hr(t.stateNode,t.type,r)}}}function yr(e){mr?vr?vr.push(e):vr=[e]:mr=e}function br(){if(mr){var e=mr,t=vr;if(mr=null,vr=null,gr(e),t)for(var n=0;n\u003Ct.length;n++)gr(t[n])}}var wr=function(e,t){return e(t)},kr=function(){},Sr=!1;function xr(){(null!==mr||null!==vr)&&(kr(),br())}function Cr(e,t,n){if(Sr)return e(t,n);Sr=!0;try{return wr(e,t,n)}finally{Sr=!1,xr()}}function Er(e,t){var n=e.stateNode;if(null===n)return null;var r=ud(n);if(null===r)return null;var a=r[t];if(function(e,t,n){switch(e){case\\\"onClick\\\":case\\\"onClickCapture\\\":case\\\"onDoubleClick\\\":case\\\"onDoubleClickCapture\\\":case\\\"onMouseDown\\\":case\\\"onMouseDownCapture\\\":case\\\"onMouseMove\\\":case\\\"onMouseMoveCapture\\\":case\\\"onMouseUp\\\":case\\\"onMouseUpCapture\\\":case\\\"onMouseEnter\\\":return!(!n.disabled||(r=t,\\\"button\\\"!==r&&\\\"input\\\"!==r&&\\\"select\\\"!==r&&\\\"textarea\\\"!==r));default:return!1}var r}(t,e.type,r))return null;if(a&&\\\"function\\\"!=typeof a)throw new Error(\\\"Expected `\\\"+t+\\\"` listener to be a function, instead got a value of `\\\"+typeof a+\\\"` type.\\\");return a}var Tr=!1;if(q)try{var Rr={};Object.defineProperty(Rr,\\\"passive\\\",{get:function(){Tr=!0}}),window.addEventListener(\\\"test\\\",Rr,Rr),window.removeEventListener(\\\"test\\\",Rr,Rr)}catch(e){Tr=!1}function Pr(e,t,n,r,a,o,i,l,u){var s=Array.prototype.slice.call(arguments,3);try{t.apply(n,s)}catch(e){this.onError(e)}}var Dr=Pr;if(\\\"undefined\\\"!=typeof window&&\\\"function\\\"==typeof window.dispatchEvent&&\\\"undefined\\\"!=typeof document&&\\\"function\\\"==typeof document.createEvent){var Nr=document.createElement(\\\"react\\\");Dr=function(e,t,n,r,a,o,i,l,u){if(\\\"undefined\\\"==typeof document||null===document)throw new Error(\\\"The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous.\\\");var s=document.createEvent(\\\"Event\\\"),c=!1,d=!0,f=window.event,p=Object.getOwnPropertyDescriptor(window,\\\"event\\\");function h(){Nr.removeEventListener(k,g,!1),void 0!==window.event&&window.hasOwnProperty(\\\"event\\\")&&(window.event=f)}var m,v=Array.prototype.slice.call(arguments,3);function g(){c=!0,h(),t.apply(n,v),d=!1}var y=!1,b=!1;function w(e){if(m=e.error,y=!0,null===m&&0===e.colno&&0===e.lineno&&(b=!0),e.defaultPrevented&&null!=m&&\\\"object\\\"==typeof m)try{m._suppressLogging=!0}catch(e){}}var k=\\\"react-\\\"+(e||\\\"invokeguardedcallback\\\");if(window.addEventListener(\\\"error\\\",w),Nr.addEventListener(k,g,!1),s.initEvent(k,!1,!1),Nr.dispatchEvent(s),p&&Object.defineProperty(window,\\\"event\\\",p),c&&d&&(y?b&&(m=new Error(\\\"A cross-origin error was thrown. React doesn't have access to the actual error object in development. See https://reactjs.org/link/crossorigin-error for more information.\\\")):m=new Error(\\\"An error was thrown inside one of your components, but React doesn't know what it was. This is likely due to browser flakiness. React does its best to preserve the \\\\\\\"Pause on exceptions\\\\\\\" behavior of the DevTools, which requires some DEV-mode only tricks. It's possible that these don't work in your browser. Try triggering the error in production mode, or switching to a modern browser. If you suspect that this is actually an issue with React, please file an issue.\\\"),this.onError(m)),window.removeEventListener(\\\"error\\\",w),!c)return h(),Pr.apply(this,arguments)}}var _r=Dr,Ir=!1,Lr=null,zr=!1,Mr=null,Or={onError:function(e){Ir=!0,Lr=e}};function Ur(e,t,n,r,a,o,i,l,u){Ir=!1,Lr=null,_r.apply(Or,arguments)}function Fr(){if(Ir){var e=Lr;return Ir=!1,Lr=null,e}throw new Error(\\\"clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.\\\")}var Ar=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Scheduler,jr=Ar.unstable_cancelCallback,Wr=Ar.unstable_now,Br=Ar.unstable_scheduleCallback,Hr=Ar.unstable_shouldYield,Vr=Ar.unstable_requestPaint,Yr=(Ar.unstable_getFirstCallbackNode,Ar.unstable_runWithPriority,Ar.unstable_next,Ar.unstable_continueExecution,Ar.unstable_pauseExecution,Ar.unstable_getCurrentPriorityLevel),Qr=Ar.unstable_ImmediatePriority,qr=Ar.unstable_UserBlockingPriority,$r=Ar.unstable_NormalPriority,Xr=Ar.unstable_LowPriority,Kr=Ar.unstable_IdlePriority,Gr=(Ar.unstable_forceFrameRate,Ar.unstable_flushAllWithoutAsserting,Ar.unstable_yieldValue),Jr=Ar.unstable_setDisableYieldValue;function Zr(e){return e._reactInternals}var ea=0,ta=1,na=2,ra=4,aa=16,oa=32,ia=64,la=128,ua=256,sa=512,ca=1024,da=2048,fa=4096,pa=8192,ha=16384,ma=da|ra|ia|sa|ca|ha,va=32767,ga=32768,ya=65536,ba=131072,wa=1048576,ka=2097152,Sa=4194304,xa=8388608,Ca=16777216,Ea=33554432,Ta=ra|ca|0,Ra=na|ra|aa|oa|sa|fa|pa,Pa=ra|ia|sa|pa,Da=da|aa,Na=Sa|xa|ka,_a=n.ReactCurrentOwner;function Ia(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{var r=t;do{((t=r).flags&(na|fa))!==ea&&(n=t.return),r=t.return}while(r)}return t.tag===c?n:null}function La(e){if(e.tag===w){var t=e.memoizedState;if(null===t){var n=e.alternate;null!==n&&(t=n.memoizedState)}if(null!==t)return t.dehydrated}return null}function za(e){return e.tag===c?e.stateNode.containerInfo:null}function Ma(e){if(Ia(e)!==e)throw new Error(\\\"Unable to find node on an unmounted component.\\\")}function Oa(e){var t=e.alternate;if(!t){var n=Ia(e);if(null===n)throw new Error(\\\"Unable to find node on an unmounted component.\\\");return n!==e?null:e}for(var r=e,a=t;;){var o=r.return;if(null===o)break;var i=o.alternate;if(null===i){var l=o.return;if(null!==l){r=a=l;continue}break}if(o.child===i.child){for(var u=o.child;u;){if(u===r)return Ma(o),e;if(u===a)return Ma(o),t;u=u.sibling}throw new Error(\\\"Unable to find node on an unmounted component.\\\")}if(r.return!==a.return)r=o,a=i;else{for(var s=!1,d=o.child;d;){if(d===r){s=!0,r=o,a=i;break}if(d===a){s=!0,a=o,r=i;break}d=d.sibling}if(!s){for(d=i.child;d;){if(d===r){s=!0,r=i,a=o;break}if(d===a){s=!0,a=i,r=o;break}d=d.sibling}if(!s)throw new Error(\\\"Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.\\\")}}if(r.alternate!==a)throw new Error(\\\"Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.\\\")}if(r.tag!==c)throw new Error(\\\"Unable to find node on an unmounted component.\\\");return r.stateNode.current===r?e:t}function Ua(e){var t=Oa(e);return null!==t?function e(t){if(t.tag===f||t.tag===p)return t;var n=t.child;for(;null!==n;){var r=e(n);if(null!==r)return r;n=n.sibling}return null}(t):null}function Fa(e){var t=Oa(e);return null!==t?function e(t){if(t.tag===f||t.tag===p)return t;var n=t.child;for(;null!==n;){if(n.tag!==d){var r=e(n);if(null!==r)return r}n=n.sibling}return null}(t):null}var Aa=Br,ja=jr,Wa=Hr,Ba=Vr,Ha=Wr,Va=Yr,Ya=Qr,Qa=qr,qa=$r,$a=Xr,Xa=Kr,Ka=Gr,Ga=Jr,Ja=null,Za=null,eo=null,to=!1,no=\\\"undefined\\\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__;function ro(e){if(\\\"function\\\"==typeof Ka&&(Ga(e),r=e),Za&&\\\"function\\\"==typeof Za.setStrictMode)try{Za.setStrictMode(Ja,e)}catch(e){to||(to=!0,o(\\\"React instrumentation encountered an error: %s\\\",e))}}function ao(e){eo=e}function oo(){for(var e=new Map,t=1,n=0;n\u003CTo;n++){var r=ci(t);e.set(t,r),t*=2}return e}function io(){null!==eo&&\\\"function\\\"==typeof eo.markCommitStopped&&eo.markCommitStopped()}function lo(e){null!==eo&&\\\"function\\\"==typeof eo.markComponentRenderStarted&&eo.markComponentRenderStarted(e)}function uo(){null!==eo&&\\\"function\\\"==typeof eo.markComponentRenderStopped&&eo.markComponentRenderStopped()}function so(e){null!==eo&&\\\"function\\\"==typeof eo.markComponentLayoutEffectMountStarted&&eo.markComponentLayoutEffectMountStarted(e)}function co(e){null!==eo&&\\\"function\\\"==typeof eo.markComponentLayoutEffectUnmountStarted&&eo.markComponentLayoutEffectUnmountStarted(e)}function fo(){null!==eo&&\\\"function\\\"==typeof eo.markComponentLayoutEffectUnmountStopped&&eo.markComponentLayoutEffectUnmountStopped()}function po(e,t,n){null!==eo&&\\\"function\\\"==typeof eo.markComponentErrored&&eo.markComponentErrored(e,t,n)}function ho(e,t,n){null!==eo&&\\\"function\\\"==typeof eo.markComponentSuspended&&eo.markComponentSuspended(e,t,n)}function mo(e){null!==eo&&\\\"function\\\"==typeof eo.markRenderStarted&&eo.markRenderStarted(e)}function vo(){null!==eo&&\\\"function\\\"==typeof eo.markRenderStopped&&eo.markRenderStopped()}function go(e,t){null!==eo&&\\\"function\\\"==typeof eo.markStateUpdateScheduled&&eo.markStateUpdateScheduled(e,t)}var yo=0,bo=1,wo=2,ko=8,So=16,xo=Math.clz32?Math.clz32:function(e){var t=e>>>0;if(0===t)return 32;return 31-(Co(t)/Eo|0)|0},Co=Math.log,Eo=Math.LN2;var To=31,Ro=0,Po=0,Do=1,No=2,_o=4,Io=8,Lo=16,zo=32,Mo=4194240,Oo=64,Uo=128,Fo=256,Ao=512,jo=1024,Wo=2048,Bo=4096,Ho=8192,Vo=16384,Yo=32768,Qo=65536,qo=131072,$o=262144,Xo=524288,Ko=1048576,Go=2097152,Jo=130023424,Zo=4194304,ei=8388608,ti=16777216,ni=33554432,ri=67108864,ai=Zo,oi=134217728,ii=268435455,li=268435456,ui=536870912,si=1073741824;function ci(e){return e&Do?\\\"Sync\\\":e&No?\\\"InputContinuousHydration\\\":e&_o?\\\"InputContinuous\\\":e&Io?\\\"DefaultHydration\\\":e&Lo?\\\"Default\\\":e&zo?\\\"TransitionHydration\\\":e&Mo?\\\"Transition\\\":e&Jo?\\\"Retry\\\":e&oi?\\\"SelectiveHydration\\\":e&li?\\\"IdleHydration\\\":e&ui?\\\"Idle\\\":e&si?\\\"Offscreen\\\":void 0}var di=-1,fi=Oo,pi=Zo;function hi(e){switch(xi(e)){case Do:return Do;case No:return No;case _o:return _o;case Io:return Io;case Lo:return Lo;case zo:return zo;case Oo:case Uo:case Fo:case Ao:case jo:case Wo:case Bo:case Ho:case Vo:case Yo:case Qo:case qo:case $o:case Xo:case Ko:case Go:return e&Mo;case Zo:case ei:case ti:case ni:case ri:return e&Jo;case oi:return oi;case li:return li;case ui:return ui;case si:return si;default:return o(\\\"Should have found matching lanes. This is a bug in React.\\\"),e}}function mi(e,t){var n=e.pendingLanes;if(n===Ro)return Ro;var r=Ro,a=e.suspendedLanes,o=e.pingedLanes,i=nⅈif(i!==Ro){var l=i&~a;if(l!==Ro)r=hi(l);else{var u=i&o;u!==Ro&&(r=hi(u))}}else{var s=n&~a;s!==Ro?r=hi(s):o!==Ro&&(r=hi(o))}if(r===Ro)return Ro;if(t!==Ro&&t!==r&&(t&a)===Ro){var c=xi(r),d=xi(t);if(c>=d||c===Lo&&(d&Mo)!==Ro)return t}(r&_o)!==Ro&&(r|=n&Lo);var f=e.entangledLanes;if(f!==Ro)for(var p=e.entanglements,h=r&f;h>0;){var m=Ei(h),v=1\u003C\u003Cm;r|=p[m],h&=~v}return r}function vi(e,t){switch(e){case Do:case No:case _o:return t+250;case Io:case Lo:case zo:case Oo:case Uo:case Fo:case Ao:case jo:case Wo:case Bo:case Ho:case Vo:case Yo:case Qo:case qo:case $o:case Xo:case Ko:case Go:return t+5e3;case Zo:case ei:case ti:case ni:case ri:return di;case oi:case li:case ui:case si:return di;default:return o(\\\"Should have found matching lanes. This is a bug in React.\\\"),di}}function gi(e){var t=e.pendingLanes&~si;return t!==Ro?t:t&si?si:Ro}function yi(e){return(e&ii)!==Ro}function bi(e){return(e&Jo)===e}function wi(e,t){return(t&(No|_o|Io|Lo))!==Ro}function ki(e){return(e&Mo)!==Ro}function Si(){var e=fi;return((fi\u003C\u003C=1)&Mo)===Ro&&(fi=Oo),e}function xi(e){return e&-e}function Ci(e){return xi(e)}function Ei(e){return 31-xo(e)}function Ti(e){return Ei(e)}function Ri(e,t){return(e&t)!==Ro}function Pi(e,t){return(e&t)===t}function Di(e,t){return e|t}function Ni(e,t){return e&~t}function _i(e,t){return e&t}function Ii(e){return e}function Li(e){for(var t=[],n=0;n\u003CTo;n++)t.push(e);return t}function zi(e,t,n){e.pendingLanes|=t,t!==ui&&(e.suspendedLanes=Ro,e.pingedLanes=Ro),e.eventTimes[Ti(t)]=n}function Mi(e,t,n){e.pingedLanes|=e.suspendedLanes&t}function Oi(e,t){for(var n=e.entangledLanes|=t,r=e.entanglements,a=n;a;){var o=Ei(a),i=1\u003C\u003Co;i&t|r[o]&t&&(r[o]|=t),a&=~i}}function Ui(e,t,n){if(no)for(var r=e.pendingUpdatersLaneMap;n>0;){var a=Ti(n),o=1\u003C\u003Ca;r[a].add(t),n&=~o}}function Fi(e,t){if(no)for(var n=e.pendingUpdatersLaneMap,r=e.memoizedUpdaters;t>0;){var a=Ti(t),o=1\u003C\u003Ca,i=n[a];i.size>0&&(i.forEach(function(e){var t=e.alternate;null!==t&&r.has(t)||r.add(e)}),i.clear()),t&=~o}}var Ai,ji,Wi,Bi,Hi,Vi=Do,Yi=_o,Qi=Lo,qi=ui,$i=Po;function Xi(){return $i}function Ki(e){$i=e}function Gi(e,t){return 0!==e&&e\u003Ct}function Ji(e){var t=xi(e);return Gi(Vi,t)?Gi(Yi,t)?yi(t)?Qi:qi:Yi:Vi}function Zi(e){return e.current.memoizedState.isDehydrated}function el(e){Ai(e)}var tl=!1,nl=[],rl=null,al=null,ol=null,il=new Map,ll=new Map,ul=[],sl=[\\\"mousedown\\\",\\\"mouseup\\\",\\\"touchcancel\\\",\\\"touchend\\\",\\\"touchstart\\\",\\\"auxclick\\\",\\\"dblclick\\\",\\\"pointercancel\\\",\\\"pointerdown\\\",\\\"pointerup\\\",\\\"dragend\\\",\\\"dragstart\\\",\\\"drop\\\",\\\"compositionend\\\",\\\"compositionstart\\\",\\\"keydown\\\",\\\"keypress\\\",\\\"keyup\\\",\\\"input\\\",\\\"textInput\\\",\\\"copy\\\",\\\"cut\\\",\\\"paste\\\",\\\"click\\\",\\\"change\\\",\\\"contextmenu\\\",\\\"reset\\\",\\\"submit\\\"];function cl(e,t){switch(e){case\\\"focusin\\\":case\\\"focusout\\\":rl=null;break;case\\\"dragenter\\\":case\\\"dragleave\\\":al=null;break;case\\\"mouseover\\\":case\\\"mouseout\\\":ol=null;break;case\\\"pointerover\\\":case\\\"pointerout\\\":var n=t.pointerId;il.delete(n);break;case\\\"gotpointercapture\\\":case\\\"lostpointercapture\\\":var r=t.pointerId;ll.delete(r)}}function dl(e,t,n,r,a,o){if(null===e||e.nativeEvent!==o){var i=function(e,t,n,r,a){return{blockedOn:e,domEventName:t,eventSystemFlags:n,nativeEvent:a,targetContainers:[r]}}(t,n,r,a,o);if(null!==t){var l=id(t);null!==l&&ji(l)}return i}e.eventSystemFlags|=r;var u=e.targetContainers;return null!==a&&-1===u.indexOf(a)&&u.push(a),e}function fl(e){var t=od(e.target);if(null!==t){var n=Ia(t);if(null!==n){var r=n.tag;if(r===w){var a=La(n);if(null!==a)return e.blockedOn=a,void Hi(e.priority,function(){Wi(n)})}else if(r===c){if(Zi(n.stateNode))return void(e.blockedOn=za(n))}}}e.blockedOn=null}function pl(e){if(null!==e.blockedOn)return!1;for(var t,n=e.targetContainers;n.length>0;){var r=n[0],a=El(e.domEventName,e.eventSystemFlags,r,e.nativeEvent);if(null!==a){var i=id(a);return null!==i&&ji(i),e.blockedOn=a,!1}var l=e.nativeEvent,u=new l.constructor(l.type,l);t=u,null!==fr&&o(\\\"Expected currently replaying event to be null. This error is likely caused by a bug in React. Please file an issue.\\\"),fr=t,l.target.dispatchEvent(u),null===fr&&o(\\\"Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue.\\\"),fr=null,n.shift()}return!0}function hl(e,t,n){pl(e)&&n.delete(t)}function ml(){tl=!1,null!==rl&&pl(rl)&&(rl=null),null!==al&&pl(al)&&(al=null),null!==ol&&pl(ol)&&(ol=null),il.forEach(hl),ll.forEach(hl)}function vl(e,t){e.blockedOn===t&&(e.blockedOn=null,tl||(tl=!0,Br($r,ml)))}function gl(e){if(nl.length>0){vl(nl[0],e);for(var t=1;t\u003Cnl.length;t++){var n=nl[t];n.blockedOn===e&&(n.blockedOn=null)}}null!==rl&&vl(rl,e),null!==al&&vl(al,e),null!==ol&&vl(ol,e);var r=function(t){return vl(t,e)};il.forEach(r),ll.forEach(r);for(var a=0;a\u003Cul.length;a++){var o=ul[a];o.blockedOn===e&&(o.blockedOn=null)}for(;ul.length>0;){var i=ul[0];if(null!==i.blockedOn)break;fl(i),null===i.blockedOn&&ul.shift()}}var yl=n.ReactCurrentBatchConfig,bl=!0;function wl(e){bl=!!e}function kl(e,t,n,r){var a=Xi(),o=yl.transition;yl.transition=null;try{Ki(Vi),xl(e,t,n,r)}finally{Ki(a),yl.transition=o}}function Sl(e,t,n,r){var a=Xi(),o=yl.transition;yl.transition=null;try{Ki(Yi),xl(e,t,n,r)}finally{Ki(a),yl.transition=o}}function xl(e,t,n,r){bl&&function(e,t,n,r){var a=El(e,t,n,r);if(null===a)return Ns(e,t,r,Cl,n),void cl(e,r);if(function(e,t,n,r,a){switch(t){case\\\"focusin\\\":return rl=dl(rl,e,t,n,r,a),!0;case\\\"dragenter\\\":return al=dl(al,e,t,n,r,a),!0;case\\\"mouseover\\\":return ol=dl(ol,e,t,n,r,a),!0;case\\\"pointerover\\\":var o=a,i=o.pointerId;return il.set(i,dl(il.get(i)||null,e,t,n,r,o)),!0;case\\\"gotpointercapture\\\":var l=a,u=l.pointerId;return ll.set(u,dl(ll.get(u)||null,e,t,n,r,l)),!0}return!1}(a,e,t,n,r))return void r.stopPropagation();if(cl(e,r),t&cr&&(l=e,sl.indexOf(l)>-1)){for(;null!==a;){var o=id(a);null!==o&&el(o);var i=El(e,t,n,r);if(null===i&&Ns(e,t,r,Cl,n),i===a)break;a=i}return void(null!==a&&r.stopPropagation())}var l;Ns(e,t,r,null,n)}(e,t,n,r)}var Cl=null;function El(e,t,n,r){Cl=null;var a=od(pr(r));if(null!==a){var o=Ia(a);if(null===o)a=null;else{var i=o.tag;if(i===w){var l=La(o);if(null!==l)return l;a=null}else if(i===c){if(Zi(o.stateNode))return za(o);a=null}else o!==a&&(a=null)}}return Cl=a,null}function Tl(e){switch(e){case\\\"cancel\\\":case\\\"click\\\":case\\\"close\\\":case\\\"contextmenu\\\":case\\\"copy\\\":case\\\"cut\\\":case\\\"auxclick\\\":case\\\"dblclick\\\":case\\\"dragend\\\":case\\\"dragstart\\\":case\\\"drop\\\":case\\\"focusin\\\":case\\\"focusout\\\":case\\\"input\\\":case\\\"invalid\\\":case\\\"keydown\\\":case\\\"keypress\\\":case\\\"keyup\\\":case\\\"mousedown\\\":case\\\"mouseup\\\":case\\\"paste\\\":case\\\"pause\\\":case\\\"play\\\":case\\\"pointercancel\\\":case\\\"pointerdown\\\":case\\\"pointerup\\\":case\\\"ratechange\\\":case\\\"reset\\\":case\\\"resize\\\":case\\\"seeked\\\":case\\\"submit\\\":case\\\"touchcancel\\\":case\\\"touchend\\\":case\\\"touchstart\\\":case\\\"volumechange\\\":case\\\"change\\\":case\\\"selectionchange\\\":case\\\"textInput\\\":case\\\"compositionstart\\\":case\\\"compositionend\\\":case\\\"compositionupdate\\\":case\\\"beforeblur\\\":case\\\"afterblur\\\":case\\\"beforeinput\\\":case\\\"blur\\\":case\\\"fullscreenchange\\\":case\\\"focus\\\":case\\\"hashchange\\\":case\\\"popstate\\\":case\\\"select\\\":case\\\"selectstart\\\":return Vi;case\\\"drag\\\":case\\\"dragenter\\\":case\\\"dragexit\\\":case\\\"dragleave\\\":case\\\"dragover\\\":case\\\"mousemove\\\":case\\\"mouseout\\\":case\\\"mouseover\\\":case\\\"pointermove\\\":case\\\"pointerout\\\":case\\\"pointerover\\\":case\\\"scroll\\\":case\\\"toggle\\\":case\\\"touchmove\\\":case\\\"wheel\\\":case\\\"mouseenter\\\":case\\\"mouseleave\\\":case\\\"pointerenter\\\":case\\\"pointerleave\\\":return Yi;case\\\"message\\\":switch(Va()){case Ya:return Vi;case Qa:return Yi;case qa:case $a:return Qi;case Xa:return qi;default:return Qi}default:return Qi}}var Rl=null,Pl=null,Dl=null;function Nl(){if(Dl)return Dl;var e,t,n=Pl,r=n.length,a=_l(),o=a.length;for(e=0;e\u003Cr&&n[e]===a[e];e++);var i=r-e;for(t=1;t\u003C=i&&n[r-t]===a[o-t];t++);var l=t>1?1-t:void 0;return Dl=a.slice(e,l)}function _l(){return\\\"value\\\"in Rl?Rl.value:Rl.textContent}function Il(e){var t,n=e.keyCode;return\\\"charCode\\\"in e?0===(t=e.charCode)&&13===n&&(t=13):t=n,10===t&&(t=13),t>=32||13===t?t:0}function Ll(){return!0}function zl(){return!1}function Ml(e){function t(t,n,r,a,o){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null,e)if(e.hasOwnProperty(i)){var l=e[i];this[i]=l?l(a):a[i]}var u=null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue;return this.isDefaultPrevented=u?Ll:zl,this.isPropagationStopped=zl,this}return et(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\\\"unknown\\\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Ll)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\\\"unknown\\\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Ll)},persist:function(){},isPersistent:Ll}),t}var Ol,Ul,Fl,Al={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},jl=Ml(Al),Wl=et({},Al,{view:0,detail:0}),Bl=Ml(Wl);var Hl=et({},Wl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:tu,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return\\\"movementX\\\"in e?e.movementX:(function(e){e!==Fl&&(Fl&&\\\"mousemove\\\"===e.type?(Ol=e.screenX-Fl.screenX,Ul=e.screenY-Fl.screenY):(Ol=0,Ul=0),Fl=e)}(e),Ol)},movementY:function(e){return\\\"movementY\\\"in e?e.movementY:Ul}}),Vl=Ml(Hl),Yl=Ml(et({},Hl,{dataTransfer:0})),Ql=Ml(et({},Wl,{relatedTarget:0})),ql=Ml(et({},Al,{animationName:0,elapsedTime:0,pseudoElement:0})),$l=Ml(et({},Al,{clipboardData:function(e){return\\\"clipboardData\\\"in e?e.clipboardData:window.clipboardData}})),Xl=Ml(et({},Al,{data:0})),Kl=Xl,Gl={Esc:\\\"Escape\\\",Spacebar:\\\" \\\",Left:\\\"ArrowLeft\\\",Up:\\\"ArrowUp\\\",Right:\\\"ArrowRight\\\",Down:\\\"ArrowDown\\\",Del:\\\"Delete\\\",Win:\\\"OS\\\",Menu:\\\"ContextMenu\\\",Apps:\\\"ContextMenu\\\",Scroll:\\\"ScrollLock\\\",MozPrintableKey:\\\"Unidentified\\\"},Jl={8:\\\"Backspace\\\",9:\\\"Tab\\\",12:\\\"Clear\\\",13:\\\"Enter\\\",16:\\\"Shift\\\",17:\\\"Control\\\",18:\\\"Alt\\\",19:\\\"Pause\\\",20:\\\"CapsLock\\\",27:\\\"Escape\\\",32:\\\" \\\",33:\\\"PageUp\\\",34:\\\"PageDown\\\",35:\\\"End\\\",36:\\\"Home\\\",37:\\\"ArrowLeft\\\",38:\\\"ArrowUp\\\",39:\\\"ArrowRight\\\",40:\\\"ArrowDown\\\",45:\\\"Insert\\\",46:\\\"Delete\\\",112:\\\"F1\\\",113:\\\"F2\\\",114:\\\"F3\\\",115:\\\"F4\\\",116:\\\"F5\\\",117:\\\"F6\\\",118:\\\"F7\\\",119:\\\"F8\\\",120:\\\"F9\\\",121:\\\"F10\\\",122:\\\"F11\\\",123:\\\"F12\\\",144:\\\"NumLock\\\",145:\\\"ScrollLock\\\",224:\\\"Meta\\\"};var Zl={Alt:\\\"altKey\\\",Control:\\\"ctrlKey\\\",Meta:\\\"metaKey\\\",Shift:\\\"shiftKey\\\"};function eu(e){var t=this.nativeEvent;if(t.getModifierState)return t.getModifierState(e);var n=Zl[e];return!!n&&!!t[n]}function tu(e){return eu}var nu=Ml(et({},Wl,{key:function(e){if(e.key){var t=Gl[e.key]||e.key;if(\\\"Unidentified\\\"!==t)return t}if(\\\"keypress\\\"===e.type){var n=Il(e);return 13===n?\\\"Enter\\\":String.fromCharCode(n)}return\\\"keydown\\\"===e.type||\\\"keyup\\\"===e.type?Jl[e.keyCode]||\\\"Unidentified\\\":\\\"\\\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:tu,charCode:function(e){return\\\"keypress\\\"===e.type?Il(e):0},keyCode:function(e){return\\\"keydown\\\"===e.type||\\\"keyup\\\"===e.type?e.keyCode:0},which:function(e){return\\\"keypress\\\"===e.type?Il(e):\\\"keydown\\\"===e.type||\\\"keyup\\\"===e.type?e.keyCode:0}})),ru=Ml(et({},Hl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),au=Ml(et({},Wl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:tu})),ou=Ml(et({},Al,{propertyName:0,elapsedTime:0,pseudoElement:0})),iu=Ml(et({},Hl,{deltaX:function(e){return\\\"deltaX\\\"in e?e.deltaX:\\\"wheelDeltaX\\\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\\\"deltaY\\\"in e?e.deltaY:\\\"wheelDeltaY\\\"in e?-e.wheelDeltaY:\\\"wheelDelta\\\"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),lu=[9,13,27,32],uu=229,su=q&&\\\"CompositionEvent\\\"in window,cu=null;q&&\\\"documentMode\\\"in document&&(cu=document.documentMode);var du=q&&\\\"TextEvent\\\"in window&&!cu,fu=q&&(!su||cu&&cu>8&&cu\u003C=11),pu=32,hu=String.fromCharCode(pu);var mu=!1;function vu(e,t){switch(e){case\\\"keyup\\\":return-1!==lu.indexOf(t.keyCode);case\\\"keydown\\\":return t.keyCode!==uu;case\\\"keypress\\\":case\\\"mousedown\\\":case\\\"focusout\\\":return!0;default:return!1}}function gu(e){var t=e.detail;return\\\"object\\\"==typeof t&&\\\"data\\\"in t?t.data:null}function yu(e){return\\\"ko\\\"===e.locale}var bu=!1;function wu(e,t,n,r,a){var o,i;if(su?o=function(e){switch(e){case\\\"compositionstart\\\":return\\\"onCompositionStart\\\";case\\\"compositionend\\\":return\\\"onCompositionEnd\\\";case\\\"compositionupdate\\\":return\\\"onCompositionUpdate\\\"}}(t):bu?vu(t,r)&&(o=\\\"onCompositionEnd\\\"):function(e,t){return\\\"keydown\\\"===e&&t.keyCode===uu}(t,r)&&(o=\\\"onCompositionStart\\\"),!o)return null;fu&&!yu(r)&&(bu||\\\"onCompositionStart\\\"!==o?\\\"onCompositionEnd\\\"===o&&bu&&(i=Nl()):bu=function(e){return Rl=e,Pl=_l(),!0}(a));var l=Is(n,o);if(l.length>0){var u=new Xl(o,t,null,r,a);if(e.push({event:u,listeners:l}),i)u.data=i;else{var s=gu(r);null!==s&&(u.data=s)}}}function ku(e,t){if(bu){if(\\\"compositionend\\\"===e||!su&&vu(e,t)){var n=Nl();return Rl=null,Pl=null,Dl=null,bu=!1,n}return null}switch(e){case\\\"paste\\\":return null;case\\\"keypress\\\":if(!function(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}(t)){if(t.char&&t.char.length>1)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\\\"compositionend\\\":return fu&&!yu(t)?null:t.data;default:return null}}function Su(e,t,n,r,a){var o;if(!(o=du?function(e,t){switch(e){case\\\"compositionend\\\":return gu(t);case\\\"keypress\\\":return t.which!==pu?null:(mu=!0,hu);case\\\"textInput\\\":var n=t.data;return n===hu&&mu?null:n;default:return null}}(t,r):ku(t,r)))return null;var i=Is(n,\\\"onBeforeInput\\\");if(i.length>0){var l=new Kl(\\\"onBeforeInput\\\",\\\"beforeinput\\\",null,r,a);e.push({event:l,listeners:i}),l.data=o}}var xu={color:!0,date:!0,datetime:!0,\\\"datetime-local\\\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Cu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\\\"input\\\"===t?!!xu[e.type]:\\\"textarea\\\"===t}function Eu(e,t,n,r){yr(r);var a=Is(t,\\\"onChange\\\");if(a.length>0){var o=new jl(\\\"onChange\\\",\\\"change\\\",null,n,r);e.push({event:o,listeners:a})}}var Tu=null,Ru=null;function Pu(e){xs(e,0)}function Du(e){if(It(ld(e)))return e}function Nu(e,t){if(\\\"change\\\"===e)return t}var _u=!1;function Iu(){Tu&&(Tu.detachEvent(\\\"onpropertychange\\\",Lu),Tu=null,Ru=null)}function Lu(e){\\\"value\\\"===e.propertyName&&Du(Ru)&&function(e){var t=[];Eu(t,Ru,e,pr(e)),Cr(Pu,t)}(e)}function zu(e,t,n){\\\"focusin\\\"===e?(Iu(),function(e,t){Ru=t,(Tu=e).attachEvent(\\\"onpropertychange\\\",Lu)}(t,n)):\\\"focusout\\\"===e&&Iu()}function Mu(e,t){if(\\\"selectionchange\\\"===e||\\\"keyup\\\"===e||\\\"keydown\\\"===e)return Du(Ru)}function Ou(e,t){if(\\\"click\\\"===e)return Du(t)}function Uu(e,t){if(\\\"input\\\"===e||\\\"change\\\"===e)return Du(t)}function Fu(e,t,n,r,a,o,i){var l,u,s,c,d,f,p=n?ld(n):window;if(\\\"select\\\"===(c=(s=p).nodeName&&s.nodeName.toLowerCase())||\\\"input\\\"===c&&\\\"file\\\"===s.type?l=Nu:Cu(p)?_u?l=Uu:(l=Mu,u=zu):function(e){var t=e.nodeName;return t&&\\\"input\\\"===t.toLowerCase()&&(\\\"checkbox\\\"===e.type||\\\"radio\\\"===e.type)}(p)&&(l=Ou),l){var h=l(t,n);if(h)return void Eu(e,h,r,a)}u&&u(t,p,n),\\\"focusout\\\"===t&&(f=(d=p)._wrapperState)&&f.controlled&&\\\"number\\\"===d.type&&Yt(d,\\\"number\\\",d.value)}function Au(e,t,n,r,a,o,i){var l=\\\"mouseover\\\"===t||\\\"pointerover\\\"===t,u=\\\"mouseout\\\"===t||\\\"pointerout\\\"===t;if(l&&r!==fr){var s=r.relatedTarget||r.fromElement;if(s&&(od(s)||ad(s)))return}if(u||l){var c,d,h;if(a.window===a)c=a;else{var m=a.ownerDocument;c=m?m.defaultView||m.parentWindow:window}if(u){var v=r.relatedTarget||r.toElement;if(d=n,null!==(h=v?od(v):null))(h!==Ia(h)||h.tag!==f&&h.tag!==p)&&(h=null)}else d=null,h=n;if(d!==h){var g=Vl,y=\\\"onMouseLeave\\\",b=\\\"onMouseEnter\\\",w=\\\"mouse\\\";\\\"pointerout\\\"!==t&&\\\"pointerover\\\"!==t||(g=ru,y=\\\"onPointerLeave\\\",b=\\\"onPointerEnter\\\",w=\\\"pointer\\\");var k=null==d?c:ld(d),S=null==h?c:ld(h),x=new g(y,w+\\\"leave\\\",d,r,a);x.target=k,x.relatedTarget=S;var C=null;if(od(a)===n){var E=new g(b,w+\\\"enter\\\",h,r,a);E.target=S,E.relatedTarget=k,C=E}!function(e,t,n,r,a){var o=r&&a?function(e,t){for(var n=e,r=t,a=0,o=n;o;o=Ls(o))a++;for(var i=0,l=r;l;l=Ls(l))i++;for(;a-i>0;)n=Ls(n),a--;for(;i-a>0;)r=Ls(r),i--;var u=a;for(;u--;){if(n===r||null!==r&&n===r.alternate)return n;n=Ls(n),r=Ls(r)}return null}(r,a):null;null!==r&&zs(e,t,r,o,!1);null!==a&&null!==n&&zs(e,n,a,o,!0)}(e,x,C,d,h)}}}q&&(_u=function(e){if(!q)return!1;var t=\\\"on\\\"+e,n=t in document;if(!n){var r=document.createElement(\\\"div\\\");r.setAttribute(t,\\\"return;\\\"),n=\\\"function\\\"==typeof r[t]}return n}(\\\"input\\\")&&(!document.documentMode||document.documentMode>9));var ju=\\\"function\\\"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function Wu(e,t){if(ju(e,t))return!0;if(\\\"object\\\"!=typeof e||null===e||\\\"object\\\"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var a=0;a\u003Cn.length;a++){var o=n[a];if(!$.call(t,o)||!ju(e[o],t[o]))return!1}return!0}function Bu(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Hu(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function Vu(e,t){for(var n=Bu(e),r=0,a=0;n;){if(n.nodeType===bn){if(a=r+n.textContent.length,r\u003C=t&&a>=t)return{node:n,offset:t-r};r=a}n=Bu(Hu(n))}}function Yu(e){var t=e.ownerDocument,n=t&&t.defaultView||window,r=n.getSelection&&n.getSelection();if(!r||0===r.rangeCount)return null;var a=r.anchorNode,o=r.anchorOffset,i=r.focusNode,l=r.focusOffset;try{a.nodeType,i.nodeType}catch(e){return null}return function(e,t,n,r,a){var o=0,i=-1,l=-1,u=0,s=0,c=e,d=null;e:for(;;){for(var f=null;c!==t||0!==n&&c.nodeType!==bn||(i=o+n),c!==r||0!==a&&c.nodeType!==bn||(l=o+a),c.nodeType===bn&&(o+=c.nodeValue.length),null!==(f=c.firstChild);)d=c,c=f;for(;;){if(c===e)break e;if(d===t&&++u===n&&(i=o),d===r&&++s===a&&(l=o),null!==(f=c.nextSibling))break;d=(c=d).parentNode}c=f}if(-1===i||-1===l)return null;return{start:i,end:l}}(e,a,o,i,l)}function Qu(e){return e&&e.nodeType===bn}function qu(e){return e&&e.ownerDocument&&function e(t,n){return!(!t||!n)&&(t===n||!Qu(t)&&(Qu(n)?e(t,n.parentNode):\\\"contains\\\"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}(e.ownerDocument.documentElement,e)}function $u(e){try{return\\\"string\\\"==typeof e.contentWindow.location.href}catch(e){return!1}}function Xu(){for(var e=window,t=Lt();t instanceof e.HTMLIFrameElement;){if(!$u(t))return t;t=Lt((e=t.contentWindow).document)}return t}function Ku(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\\\"input\\\"===t&&(\\\"text\\\"===e.type||\\\"search\\\"===e.type||\\\"tel\\\"===e.type||\\\"url\\\"===e.type||\\\"password\\\"===e.type)||\\\"textarea\\\"===t||\\\"true\\\"===e.contentEditable)}function Gu(){var e=Xu();return{focusedElem:e,selectionRange:Ku(e)?function(e){var t;t=\\\"selectionStart\\\"in e?{start:e.selectionStart,end:e.selectionEnd}:Yu(e);return t||{start:0,end:0}}(e):null}}function Ju(e){var t=Xu(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&qu(n)){null!==r&&Ku(n)&&function(e,t){var n=t.start,r=t.end;void 0===r&&(r=n);\\\"selectionStart\\\"in e?(e.selectionStart=n,e.selectionEnd=Math.min(r,e.value.length)):function(e,t){var n=e.ownerDocument||document,r=n&&n.defaultView||window;if(r.getSelection){var a=r.getSelection(),o=e.textContent.length,i=Math.min(t.start,o),l=void 0===t.end?i:Math.min(t.end,o);if(!a.extend&&i>l){var u=l;l=i,i=u}var s=Vu(e,i),c=Vu(e,l);if(s&&c){if(1===a.rangeCount&&a.anchorNode===s.node&&a.anchorOffset===s.offset&&a.focusNode===c.node&&a.focusOffset===c.offset)return;var d=n.createRange();d.setStart(s.node,s.offset),a.removeAllRanges(),i>l?(a.addRange(d),a.extend(c.node,c.offset)):(d.setEnd(c.node,c.offset),a.addRange(d))}}}(e,t)}(n,r);for(var a=[],o=n;o=o.parentNode;)o.nodeType===yn&&a.push({element:o,left:o.scrollLeft,top:o.scrollTop});\\\"function\\\"==typeof n.focus&&n.focus();for(var i=0;i\u003Ca.length;i++){var l=a[i];l.element.scrollLeft=l.left,l.element.scrollTop=l.top}}}var Zu=q&&\\\"documentMode\\\"in document&&document.documentMode\u003C=11;var es=null,ts=null,ns=null,rs=!1;function as(e,t,n){var r,a=(r=n).window===r?r.document:r.nodeType===kn?r:r.ownerDocument;if(!rs&&null!=es&&es===Lt(a)){var o=function(e){if(\\\"selectionStart\\\"in e&&Ku(e))return{start:e.selectionStart,end:e.selectionEnd};var t=(e.ownerDocument&&e.ownerDocument.defaultView||window).getSelection();return{anchorNode:t.anchorNode,anchorOffset:t.anchorOffset,focusNode:t.focusNode,focusOffset:t.focusOffset}}(es);if(!ns||!Wu(ns,o)){ns=o;var i=Is(ts,\\\"onSelect\\\");if(i.length>0){var l=new jl(\\\"onSelect\\\",\\\"select\\\",null,t,n);e.push({event:l,listeners:i}),l.target=es}}}}function os(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\\\"Webkit\\\"+e]=\\\"webkit\\\"+t,n[\\\"Moz\\\"+e]=\\\"moz\\\"+t,n}var is={animationend:os(\\\"Animation\\\",\\\"AnimationEnd\\\"),animationiteration:os(\\\"Animation\\\",\\\"AnimationIteration\\\"),animationstart:os(\\\"Animation\\\",\\\"AnimationStart\\\"),transitionend:os(\\\"Transition\\\",\\\"TransitionEnd\\\")},ls={},us={};function ss(e){if(ls[e])return ls[e];if(!is[e])return e;var t=is[e];for(var n in t)if(t.hasOwnProperty(n)&&n in us)return ls[e]=t[n];return e}q&&(us=document.createElement(\\\"div\\\").style,\\\"AnimationEvent\\\"in window||(delete is.animationend.animation,delete is.animationiteration.animation,delete is.animationstart.animation),\\\"TransitionEvent\\\"in window||delete is.transitionend.transition);var cs=ss(\\\"animationend\\\"),ds=ss(\\\"animationiteration\\\"),fs=ss(\\\"animationstart\\\"),ps=ss(\\\"transitionend\\\"),hs=new Map,ms=[\\\"abort\\\",\\\"auxClick\\\",\\\"cancel\\\",\\\"canPlay\\\",\\\"canPlayThrough\\\",\\\"click\\\",\\\"close\\\",\\\"contextMenu\\\",\\\"copy\\\",\\\"cut\\\",\\\"drag\\\",\\\"dragEnd\\\",\\\"dragEnter\\\",\\\"dragExit\\\",\\\"dragLeave\\\",\\\"dragOver\\\",\\\"dragStart\\\",\\\"drop\\\",\\\"durationChange\\\",\\\"emptied\\\",\\\"encrypted\\\",\\\"ended\\\",\\\"error\\\",\\\"gotPointerCapture\\\",\\\"input\\\",\\\"invalid\\\",\\\"keyDown\\\",\\\"keyPress\\\",\\\"keyUp\\\",\\\"load\\\",\\\"loadedData\\\",\\\"loadedMetadata\\\",\\\"loadStart\\\",\\\"lostPointerCapture\\\",\\\"mouseDown\\\",\\\"mouseMove\\\",\\\"mouseOut\\\",\\\"mouseOver\\\",\\\"mouseUp\\\",\\\"paste\\\",\\\"pause\\\",\\\"play\\\",\\\"playing\\\",\\\"pointerCancel\\\",\\\"pointerDown\\\",\\\"pointerMove\\\",\\\"pointerOut\\\",\\\"pointerOver\\\",\\\"pointerUp\\\",\\\"progress\\\",\\\"rateChange\\\",\\\"reset\\\",\\\"resize\\\",\\\"seeked\\\",\\\"seeking\\\",\\\"stalled\\\",\\\"submit\\\",\\\"suspend\\\",\\\"timeUpdate\\\",\\\"touchCancel\\\",\\\"touchEnd\\\",\\\"touchStart\\\",\\\"volumeChange\\\",\\\"scroll\\\",\\\"toggle\\\",\\\"touchMove\\\",\\\"waiting\\\",\\\"wheel\\\"];function vs(e,t){hs.set(e,t),Y(t,[e])}function gs(e,t,n,r,a,o,i){var l=hs.get(t);if(void 0!==l){var u=jl,s=t;switch(t){case\\\"keypress\\\":if(0===Il(r))return;case\\\"keydown\\\":case\\\"keyup\\\":u=nu;break;case\\\"focusin\\\":s=\\\"focus\\\",u=Ql;break;case\\\"focusout\\\":s=\\\"blur\\\",u=Ql;break;case\\\"beforeblur\\\":case\\\"afterblur\\\":u=Ql;break;case\\\"click\\\":if(2===r.button)return;case\\\"auxclick\\\":case\\\"dblclick\\\":case\\\"mousedown\\\":case\\\"mousemove\\\":case\\\"mouseup\\\":case\\\"mouseout\\\":case\\\"mouseover\\\":case\\\"contextmenu\\\":u=Vl;break;case\\\"drag\\\":case\\\"dragend\\\":case\\\"dragenter\\\":case\\\"dragexit\\\":case\\\"dragleave\\\":case\\\"dragover\\\":case\\\"dragstart\\\":case\\\"drop\\\":u=Yl;break;case\\\"touchcancel\\\":case\\\"touchend\\\":case\\\"touchmove\\\":case\\\"touchstart\\\":u=au;break;case cs:case ds:case fs:u=ql;break;case ps:u=ou;break;case\\\"scroll\\\":u=Bl;break;case\\\"wheel\\\":u=iu;break;case\\\"copy\\\":case\\\"cut\\\":case\\\"paste\\\":u=$l;break;case\\\"gotpointercapture\\\":case\\\"lostpointercapture\\\":case\\\"pointercancel\\\":case\\\"pointerdown\\\":case\\\"pointermove\\\":case\\\"pointerout\\\":case\\\"pointerover\\\":case\\\"pointerup\\\":u=ru}var c=0!=(o&cr),d=!c&&\\\"scroll\\\"===t,p=function(e,t,n,r,a,o){var i=r?null!==t?t+\\\"Capture\\\":null:t,l=[],u=e,s=null;for(;null!==u;){var c=u,d=c.stateNode,p=c.tag;if(p===f&&null!==d&&(s=d,null!==i)){var h=Er(u,i);null!=h&&l.push(_s(u,h,s))}if(a)break;u=u.return}return l}(n,l,r.type,c,d);if(p.length>0){var h=new u(l,s,null,r,a);e.push({event:h,listeners:p})}}}function ys(e,t,n,r,a,o,i){gs(e,t,n,r,a,o),0==(o&dr)&&(Au(e,t,n,r,a),Fu(e,t,n,r,a),function(e,t,n,r,a,o,i){var l=n?ld(n):window;switch(t){case\\\"focusin\\\":(Cu(l)||\\\"true\\\"===l.contentEditable)&&(es=l,ts=n,ns=null);break;case\\\"focusout\\\":es=null,ts=null,ns=null;break;case\\\"mousedown\\\":rs=!0;break;case\\\"contextmenu\\\":case\\\"mouseup\\\":case\\\"dragend\\\":rs=!1,as(e,r,a);break;case\\\"selectionchange\\\":if(Zu)break;case\\\"keydown\\\":case\\\"keyup\\\":as(e,r,a)}}(e,t,n,r,a),function(e,t,n,r,a,o,i){wu(e,t,n,r,a),Su(e,t,n,r,a)}(e,t,n,r,a))}!function(){for(var e=0;e\u003Cms.length;e++){var t=ms[e];vs(t.toLowerCase(),\\\"on\\\"+(t[0].toUpperCase()+t.slice(1)))}vs(cs,\\\"onAnimationEnd\\\"),vs(ds,\\\"onAnimationIteration\\\"),vs(fs,\\\"onAnimationStart\\\"),vs(\\\"dblclick\\\",\\\"onDoubleClick\\\"),vs(\\\"focusin\\\",\\\"onFocus\\\"),vs(\\\"focusout\\\",\\\"onBlur\\\"),vs(ps,\\\"onTransitionEnd\\\")}(),Q(\\\"onMouseEnter\\\",[\\\"mouseout\\\",\\\"mouseover\\\"]),Q(\\\"onMouseLeave\\\",[\\\"mouseout\\\",\\\"mouseover\\\"]),Q(\\\"onPointerEnter\\\",[\\\"pointerout\\\",\\\"pointerover\\\"]),Q(\\\"onPointerLeave\\\",[\\\"pointerout\\\",\\\"pointerover\\\"]),Y(\\\"onChange\\\",[\\\"change\\\",\\\"click\\\",\\\"focusin\\\",\\\"focusout\\\",\\\"input\\\",\\\"keydown\\\",\\\"keyup\\\",\\\"selectionchange\\\"]),Y(\\\"onSelect\\\",[\\\"focusout\\\",\\\"contextmenu\\\",\\\"dragend\\\",\\\"focusin\\\",\\\"keydown\\\",\\\"keyup\\\",\\\"mousedown\\\",\\\"mouseup\\\",\\\"selectionchange\\\"]),Y(\\\"onBeforeInput\\\",[\\\"compositionend\\\",\\\"keypress\\\",\\\"textInput\\\",\\\"paste\\\"]),Y(\\\"onCompositionEnd\\\",[\\\"compositionend\\\",\\\"focusout\\\",\\\"keydown\\\",\\\"keypress\\\",\\\"keyup\\\",\\\"mousedown\\\"]),Y(\\\"onCompositionStart\\\",[\\\"compositionstart\\\",\\\"focusout\\\",\\\"keydown\\\",\\\"keypress\\\",\\\"keyup\\\",\\\"mousedown\\\"]),Y(\\\"onCompositionUpdate\\\",[\\\"compositionupdate\\\",\\\"focusout\\\",\\\"keydown\\\",\\\"keypress\\\",\\\"keyup\\\",\\\"mousedown\\\"]);var bs=[\\\"abort\\\",\\\"canplay\\\",\\\"canplaythrough\\\",\\\"durationchange\\\",\\\"emptied\\\",\\\"encrypted\\\",\\\"ended\\\",\\\"error\\\",\\\"loadeddata\\\",\\\"loadedmetadata\\\",\\\"loadstart\\\",\\\"pause\\\",\\\"play\\\",\\\"playing\\\",\\\"progress\\\",\\\"ratechange\\\",\\\"resize\\\",\\\"seeked\\\",\\\"seeking\\\",\\\"stalled\\\",\\\"suspend\\\",\\\"timeupdate\\\",\\\"volumechange\\\",\\\"waiting\\\"],ws=new Set([\\\"cancel\\\",\\\"close\\\",\\\"invalid\\\",\\\"load\\\",\\\"scroll\\\",\\\"toggle\\\"].concat(bs));function ks(e,t,n){var r=e.type||\\\"unknown-event\\\";e.currentTarget=n,function(e,t,n,r,a,o,i,l,u){if(Ur.apply(this,arguments),Ir){var s=Fr();zr||(zr=!0,Mr=s)}}(r,t,void 0,e),e.currentTarget=null}function Ss(e,t,n){var r;if(n)for(var a=t.length-1;a>=0;a--){var o=t[a],i=o.instance,l=o.currentTarget,u=o.listener;if(i!==r&&e.isPropagationStopped())return;ks(e,u,l),r=i}else for(var s=0;s\u003Ct.length;s++){var c=t[s],d=c.instance,f=c.currentTarget,p=c.listener;if(d!==r&&e.isPropagationStopped())return;ks(e,p,f),r=d}}function xs(e,t){for(var n=0!=(t&cr),r=0;r\u003Ce.length;r++){var a=e[r];Ss(a.event,a.listeners,n)}!function(){if(zr){var e=Mr;throw zr=!1,Mr=null,e}}()}function Cs(e,t){ws.has(e)||o('Did not expect a listenToNonDelegatedEvent() call for \\\"%s\\\". This is a bug in React. Please file an issue.',e);var n=function(e){var t=e[Jc];void 0===t&&(t=e[Jc]=new Set);return t}(t),r=function(e,t){return e+\\\"__\\\"+(t?\\\"capture\\\":\\\"bubble\\\")}(e,!1);n.has(r)||(Ps(t,e,sr,!1),n.add(r))}function Es(e,t,n){ws.has(e)&&!t&&o('Did not expect a listenToNativeEvent() call for \\\"%s\\\" in the bubble phase. This is a bug in React. Please file an issue.',e);var r=0;t&&(r|=cr),Ps(n,e,r,t)}var Ts=\\\"_reactListening\\\"+Math.random().toString(36).slice(2);function Rs(e){if(!e[Ts]){e[Ts]=!0,B.forEach(function(t){\\\"selectionchange\\\"!==t&&(ws.has(t)||Es(t,!1,e),Es(t,!0,e))});var t=e.nodeType===kn?e:e.ownerDocument;null!==t&&(t[Ts]||(t[Ts]=!0,Es(\\\"selectionchange\\\",!1,t)))}}function Ps(e,t,n,r,a){var o=function(e,t,n){var r;switch(Tl(t)){case Vi:r=kl;break;case Yi:r=Sl;break;case Qi:default:r=xl}return r.bind(null,t,n,e)}(e,t,n),i=void 0;Tr&&(\\\"touchstart\\\"!==t&&\\\"touchmove\\\"!==t&&\\\"wheel\\\"!==t||(i=!0)),e=e,r?void 0!==i?function(e,t,n,r){e.addEventListener(t,n,{capture:!0,passive:r})}(e,t,o,i):function(e,t,n){e.addEventListener(t,n,!0)}(e,t,o):void 0!==i?function(e,t,n,r){e.addEventListener(t,n,{passive:r})}(e,t,o,i):function(e,t,n){e.addEventListener(t,n,!1)}(e,t,o)}function Ds(e,t){return e===t||e.nodeType===wn&&e.parentNode===t}function Ns(e,t,n,r,a){var o=r;if(0==(t&ur)&&0==(t&sr)){var i=a;if(null!==r){var l=r;e:for(;;){if(null===l)return;var u=l.tag;if(u===c||u===d){var s=l.stateNode.containerInfo;if(Ds(s,i))break;if(u===d)for(var h=l.return;null!==h;){var m=h.tag;if(m===c||m===d)if(Ds(h.stateNode.containerInfo,i))return;h=h.return}for(;null!==s;){var v=od(s);if(null===v)return;var g=v.tag;if(g===f||g===p){l=o=v;continue e}s=s.parentNode}}l=l.return}}}Cr(function(){return function(e,t,n,r,a){var o=[];ys(o,e,r,n,pr(n),t),xs(o,t)}(e,t,n,o)})}function _s(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Is(e,t){for(var n=t+\\\"Capture\\\",r=[],a=e;null!==a;){var o=a,i=o.stateNode;if(o.tag===f&&null!==i){var l=i,u=Er(a,n);null!=u&&r.unshift(_s(a,u,l));var s=Er(a,t);null!=s&&r.push(_s(a,s,l))}a=a.return}return r}function Ls(e){if(null===e)return null;do{e=e.return}while(e&&e.tag!==f);return e||null}function zs(e,t,n,r,a){for(var o=t._reactName,i=[],l=n;null!==l&&l!==r;){var u=l,s=u.alternate,c=u.stateNode,d=u.tag;if(null!==s&&s===r)break;if(d===f&&null!==c){var p=c;if(a){var h=Er(l,o);null!=h&&i.unshift(_s(l,h,p))}else if(!a){var m=Er(l,o);null!=m&&i.push(_s(l,m,p))}}l=l.return}0!==i.length&&e.push({event:t,listeners:i})}var Ms,Os,Us,Fs,As,js,Ws,Bs=!1,Hs=\\\"dangerouslySetInnerHTML\\\",Vs=\\\"suppressContentEditableWarning\\\",Ys=\\\"suppressHydrationWarning\\\",Qs=\\\"autoFocus\\\",qs=\\\"children\\\",$s=\\\"style\\\",Xs=\\\"__html\\\";Ms={dialog:!0,webview:!0},Os=function(e,t){Zn(e,t),function(e,t){\\\"input\\\"!==e&&\\\"textarea\\\"!==e&&\\\"select\\\"!==e||null==t||null!==t.value||er||(er=!0,\\\"select\\\"===e&&t.multiple?o(\\\"`value` prop on `%s` should not be null. Consider using an empty array when `multiple` is set to `true` to clear the component or `undefined` for uncontrolled components.\\\",e):o(\\\"`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.\\\",e))}(e,t),function(e,t,n){Qn(e,t)||lr(e,t,n)}(e,t,{registrationNameDependencies:H,possibleRegistrationNames:V})},js=q&&!document.documentMode,Us=function(e,t,n){if(!Bs){var r=Js(n),a=Js(t);a!==r&&(Bs=!0,o(\\\"Prop `%s` did not match. Server: %s Client: %s\\\",e,JSON.stringify(a),JSON.stringify(r)))}},Fs=function(e){if(!Bs){Bs=!0;var t=[];e.forEach(function(e){t.push(e)}),o(\\\"Extra attributes from the server: %s\\\",t)}},As=function(e,t){!1===t?o(\\\"Expected `%s` listener to be a function, instead got `false`.\\\\n\\\\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.\\\",e,e,e):o(\\\"Expected `%s` listener to be a function, instead got a value of `%s` type.\\\",e,typeof t)},Ws=function(e,t){var n=e.namespaceURI===cn?e.ownerDocument.createElement(e.tagName):e.ownerDocument.createElementNS(e.namespaceURI,e.tagName);return n.innerHTML=t,n.innerHTML};var Ks=/\\\\r\\\\n?/g,Gs=/\\\\u0000|\\\\uFFFD/g;function Js(e){return function(e){if(K(e))o(\\\"The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before before using it here.\\\",X(e)),G(e)}(e),(\\\"string\\\"==typeof e?e:\\\"\\\"+e).replace(Ks,\\\"\\\\n\\\").replace(Gs,\\\"\\\")}function Zs(e,t,n,r){var a=Js(t),i=Js(e);if(i!==a&&(r&&(Bs||(Bs=!0,o('Text content did not match. Server: \\\"%s\\\" Client: \\\"%s\\\"',i,a))),n&&I))throw new Error(\\\"Text content does not match server-rendered HTML.\\\")}function ec(e){return e.nodeType===kn?e:e.ownerDocument}function tc(){}function nc(e){e.onclick=tc}function rc(e,t,n,r){var a,o=Qn(t,n);switch(Os(t,n),t){case\\\"dialog\\\":Cs(\\\"cancel\\\",e),Cs(\\\"close\\\",e),a=n;break;case\\\"iframe\\\":case\\\"object\\\":case\\\"embed\\\":Cs(\\\"load\\\",e),a=n;break;case\\\"video\\\":case\\\"audio\\\":for(var i=0;i\u003Cbs.length;i++)Cs(bs[i],e);a=n;break;case\\\"source\\\":Cs(\\\"error\\\",e),a=n;break;case\\\"img\\\":case\\\"image\\\":case\\\"link\\\":Cs(\\\"error\\\",e),Cs(\\\"load\\\",e),a=n;break;case\\\"details\\\":Cs(\\\"toggle\\\",e),a=n;break;case\\\"input\\\":jt(e,n),a=At(e,n),Cs(\\\"invalid\\\",e);break;case\\\"option\\\":Xt(0,n),a=n;break;case\\\"select\\\":rn(e,n),a=nn(0,n),Cs(\\\"invalid\\\",e);break;case\\\"textarea\\\":ln(e,n),a=on(e,n),Cs(\\\"invalid\\\",e);break;default:a=n}switch(Yn(t,a),function(e,t,n,r,a){for(var o in r)if(r.hasOwnProperty(o)){var i=r[o];if(o===$s)i&&Object.freeze(i),Wn(t,i);else if(o===Hs){var l=i?i[Xs]:void 0;null!=l&&gn(t,l)}else o===qs?\\\"string\\\"==typeof i?(\\\"textarea\\\"!==e||\\\"\\\"!==i)&&xn(t,i):\\\"number\\\"==typeof i&&xn(t,\\\"\\\"+i):o===Vs||o===Ys||o===Qs||(H.hasOwnProperty(o)?null!=i&&(\\\"function\\\"!=typeof i&&As(o,i),\\\"onScroll\\\"===o&&Cs(\\\"scroll\\\",t)):null!=i&&Ee(t,o,i,a))}}(t,e,0,a,o),t){case\\\"input\\\":_t(e),Ht(e,n,!1);break;case\\\"textarea\\\":_t(e),sn(e);break;case\\\"option\\\":!function(e,t){null!=t.value&&e.setAttribute(\\\"value\\\",Et(Tt(t.value)))}(e,n);break;case\\\"select\\\":!function(e,t){var n=e;n.multiple=!!t.multiple;var r=t.value;null!=r?tn(n,!!t.multiple,r,!1):null!=t.defaultValue&&tn(n,!!t.multiple,t.defaultValue,!0)}(e,n);break;default:\\\"function\\\"==typeof a.onClick&&nc(e)}}function ac(e,t,n,r,a){Os(t,r);var i,l,u,s,c=null;switch(t){case\\\"input\\\":i=At(e,n),l=At(e,r),c=[];break;case\\\"select\\\":i=nn(0,n),l=nn(0,r),c=[];break;case\\\"textarea\\\":i=on(e,n),l=on(e,r),c=[];break;default:l=r,\\\"function\\\"!=typeof(i=n).onClick&&\\\"function\\\"==typeof l.onClick&&nc(e)}Yn(t,l);var d=null;for(u in i)if(!l.hasOwnProperty(u)&&i.hasOwnProperty(u)&&null!=i[u])if(u===$s){var f=i[u];for(s in f)f.hasOwnProperty(s)&&(d||(d={}),d[s]=\\\"\\\")}else u===Hs||u===qs||u===Vs||u===Ys||u===Qs||(H.hasOwnProperty(u)?c||(c=[]):(c=c||[]).push(u,null));for(u in l){var p=l[u],h=null!=i?i[u]:void 0;if(l.hasOwnProperty(u)&&p!==h&&(null!=p||null!=h))if(u===$s)if(p&&Object.freeze(p),h){for(s in h)!h.hasOwnProperty(s)||p&&p.hasOwnProperty(s)||(d||(d={}),d[s]=\\\"\\\");for(s in p)p.hasOwnProperty(s)&&h[s]!==p[s]&&(d||(d={}),d[s]=p[s])}else d||(c||(c=[]),c.push(u,d)),d=p;else if(u===Hs){var m=p?p[Xs]:void 0,v=h?h[Xs]:void 0;null!=m&&v!==m&&(c=c||[]).push(u,m)}else u===qs?\\\"string\\\"!=typeof p&&\\\"number\\\"!=typeof p||(c=c||[]).push(u,\\\"\\\"+p):u===Vs||u===Ys||(H.hasOwnProperty(u)?(null!=p&&(\\\"function\\\"!=typeof p&&As(u,p),\\\"onScroll\\\"===u&&Cs(\\\"scroll\\\",e)),c||h===p||(c=[])):(c=c||[]).push(u,p))}return d&&(!function(e,t){if(t){var n,r=Bn(e),a=Bn(t),i={};for(var l in r){var u=r[l],s=a[l];if(s&&u!==s){var c=u+\\\",\\\"+s;if(i[c])continue;i[c]=!0,o(\\\"%s a style property during rerender (%s) when a conflicting property is set (%s) can lead to styling bugs. To avoid this, don't mix shorthand and non-shorthand properties for the same value; instead, replace the shorthand with separate values.\\\",null==(n=e[u])||\\\"boolean\\\"==typeof n||\\\"\\\"===n?\\\"Removing\\\":\\\"Updating\\\",u,s)}}}}(d,l[$s]),(c=c||[]).push($s,d)),c}function oc(e,t,n,r,a){\\\"input\\\"===n&&\\\"radio\\\"===a.type&&null!=a.name&&Wt(e,a);Qn(n,r);switch(function(e,t,n,r){for(var a=0;a\u003Ct.length;a+=2){var o=t[a],i=t[a+1];o===$s?Wn(e,i):o===Hs?gn(e,i):o===qs?xn(e,i):Ee(e,o,i,r)}}(e,t,0,Qn(n,a)),n){case\\\"input\\\":Bt(e,a);break;case\\\"textarea\\\":un(e,a);break;case\\\"select\\\":!function(e,t){var n=e,r=n._wrapperState.wasMultiple;n._wrapperState.wasMultiple=!!t.multiple;var a=t.value;null!=a?tn(n,!!t.multiple,a,!1):r!==!!t.multiple&&(null!=t.defaultValue?tn(n,!!t.multiple,t.defaultValue,!0):tn(n,!!t.multiple,t.multiple?[]:\\\"\\\",!1))}(e,a)}}function ic(e,t){Bs||(Bs=!0,o(\\\"Did not expect server HTML to contain a \u003C%s> in \u003C%s>.\\\",t.nodeName.toLowerCase(),e.nodeName.toLowerCase()))}function lc(e,t){Bs||(Bs=!0,o('Did not expect server HTML to contain the text node \\\"%s\\\" in \u003C%s>.',t.nodeValue,e.nodeName.toLowerCase()))}function uc(e,t,n){Bs||(Bs=!0,o(\\\"Expected server HTML to contain a matching \u003C%s> in \u003C%s>.\\\",t,e.nodeName.toLowerCase()))}function sc(e,t){\\\"\\\"!==t&&(Bs||(Bs=!0,o('Expected server HTML to contain a matching text node for \\\"%s\\\" in \u003C%s>.',t,e.nodeName.toLowerCase())))}var cc=function(){},dc=function(){},fc=[\\\"address\\\",\\\"applet\\\",\\\"area\\\",\\\"article\\\",\\\"aside\\\",\\\"base\\\",\\\"basefont\\\",\\\"bgsound\\\",\\\"blockquote\\\",\\\"body\\\",\\\"br\\\",\\\"button\\\",\\\"caption\\\",\\\"center\\\",\\\"col\\\",\\\"colgroup\\\",\\\"dd\\\",\\\"details\\\",\\\"dir\\\",\\\"div\\\",\\\"dl\\\",\\\"dt\\\",\\\"embed\\\",\\\"fieldset\\\",\\\"figcaption\\\",\\\"figure\\\",\\\"footer\\\",\\\"form\\\",\\\"frame\\\",\\\"frameset\\\",\\\"h1\\\",\\\"h2\\\",\\\"h3\\\",\\\"h4\\\",\\\"h5\\\",\\\"h6\\\",\\\"head\\\",\\\"header\\\",\\\"hgroup\\\",\\\"hr\\\",\\\"html\\\",\\\"iframe\\\",\\\"img\\\",\\\"input\\\",\\\"isindex\\\",\\\"li\\\",\\\"link\\\",\\\"listing\\\",\\\"main\\\",\\\"marquee\\\",\\\"menu\\\",\\\"menuitem\\\",\\\"meta\\\",\\\"nav\\\",\\\"noembed\\\",\\\"noframes\\\",\\\"noscript\\\",\\\"object\\\",\\\"ol\\\",\\\"p\\\",\\\"param\\\",\\\"plaintext\\\",\\\"pre\\\",\\\"script\\\",\\\"section\\\",\\\"select\\\",\\\"source\\\",\\\"style\\\",\\\"summary\\\",\\\"table\\\",\\\"tbody\\\",\\\"td\\\",\\\"template\\\",\\\"textarea\\\",\\\"tfoot\\\",\\\"th\\\",\\\"thead\\\",\\\"title\\\",\\\"tr\\\",\\\"track\\\",\\\"ul\\\",\\\"wbr\\\",\\\"xmp\\\"],pc=[\\\"applet\\\",\\\"caption\\\",\\\"html\\\",\\\"table\\\",\\\"td\\\",\\\"th\\\",\\\"marquee\\\",\\\"object\\\",\\\"template\\\",\\\"foreignObject\\\",\\\"desc\\\",\\\"title\\\"],hc=pc.concat([\\\"button\\\"]),mc=[\\\"dd\\\",\\\"dt\\\",\\\"li\\\",\\\"option\\\",\\\"optgroup\\\",\\\"p\\\",\\\"rp\\\",\\\"rt\\\"],vc={current:null,formTag:null,aTagInScope:null,buttonTagInScope:null,nobrTagInScope:null,pTagInButtonScope:null,listItemTagAutoclosing:null,dlItemTagAutoclosing:null};dc=function(e,t){var n=et({},e||vc),r={tag:t};return-1!==pc.indexOf(t)&&(n.aTagInScope=null,n.buttonTagInScope=null,n.nobrTagInScope=null),-1!==hc.indexOf(t)&&(n.pTagInButtonScope=null),-1!==fc.indexOf(t)&&\\\"address\\\"!==t&&\\\"div\\\"!==t&&\\\"p\\\"!==t&&(n.listItemTagAutoclosing=null,n.dlItemTagAutoclosing=null),n.current=r,\\\"form\\\"===t&&(n.formTag=r),\\\"a\\\"===t&&(n.aTagInScope=r),\\\"button\\\"===t&&(n.buttonTagInScope=r),\\\"nobr\\\"===t&&(n.nobrTagInScope=r),\\\"p\\\"===t&&(n.pTagInButtonScope=r),\\\"li\\\"===t&&(n.listItemTagAutoclosing=r),\\\"dd\\\"!==t&&\\\"dt\\\"!==t||(n.dlItemTagAutoclosing=r),n};var gc={};cc=function(e,t,n){var r=(n=n||vc).current,a=r&&r.tag;null!=t&&(null!=e&&o(\\\"validateDOMNesting: when childText is passed, childTag should be null\\\"),e=\\\"#text\\\");var i=function(e,t){switch(t){case\\\"select\\\":return\\\"option\\\"===e||\\\"optgroup\\\"===e||\\\"#text\\\"===e;case\\\"optgroup\\\":return\\\"option\\\"===e||\\\"#text\\\"===e;case\\\"option\\\":return\\\"#text\\\"===e;case\\\"tr\\\":return\\\"th\\\"===e||\\\"td\\\"===e||\\\"style\\\"===e||\\\"script\\\"===e||\\\"template\\\"===e;case\\\"tbody\\\":case\\\"thead\\\":case\\\"tfoot\\\":return\\\"tr\\\"===e||\\\"style\\\"===e||\\\"script\\\"===e||\\\"template\\\"===e;case\\\"colgroup\\\":return\\\"col\\\"===e||\\\"template\\\"===e;case\\\"table\\\":return\\\"caption\\\"===e||\\\"colgroup\\\"===e||\\\"tbody\\\"===e||\\\"tfoot\\\"===e||\\\"thead\\\"===e||\\\"style\\\"===e||\\\"script\\\"===e||\\\"template\\\"===e;case\\\"head\\\":return\\\"base\\\"===e||\\\"basefont\\\"===e||\\\"bgsound\\\"===e||\\\"link\\\"===e||\\\"meta\\\"===e||\\\"title\\\"===e||\\\"noscript\\\"===e||\\\"noframes\\\"===e||\\\"style\\\"===e||\\\"script\\\"===e||\\\"template\\\"===e;case\\\"html\\\":return\\\"head\\\"===e||\\\"body\\\"===e||\\\"frameset\\\"===e;case\\\"frameset\\\":return\\\"frame\\\"===e;case\\\"#document\\\":return\\\"html\\\"===e}switch(e){case\\\"h1\\\":case\\\"h2\\\":case\\\"h3\\\":case\\\"h4\\\":case\\\"h5\\\":case\\\"h6\\\":return\\\"h1\\\"!==t&&\\\"h2\\\"!==t&&\\\"h3\\\"!==t&&\\\"h4\\\"!==t&&\\\"h5\\\"!==t&&\\\"h6\\\"!==t;case\\\"rp\\\":case\\\"rt\\\":return-1===mc.indexOf(t);case\\\"body\\\":case\\\"caption\\\":case\\\"col\\\":case\\\"colgroup\\\":case\\\"frameset\\\":case\\\"frame\\\":case\\\"head\\\":case\\\"html\\\":case\\\"tbody\\\":case\\\"td\\\":case\\\"tfoot\\\":case\\\"th\\\":case\\\"thead\\\":case\\\"tr\\\":return null==t}return!0}(e,a)?null:r,l=i?null:function(e,t){switch(e){case\\\"address\\\":case\\\"article\\\":case\\\"aside\\\":case\\\"blockquote\\\":case\\\"center\\\":case\\\"details\\\":case\\\"dialog\\\":case\\\"dir\\\":case\\\"div\\\":case\\\"dl\\\":case\\\"fieldset\\\":case\\\"figcaption\\\":case\\\"figure\\\":case\\\"footer\\\":case\\\"header\\\":case\\\"hgroup\\\":case\\\"main\\\":case\\\"menu\\\":case\\\"nav\\\":case\\\"ol\\\":case\\\"p\\\":case\\\"section\\\":case\\\"summary\\\":case\\\"ul\\\":case\\\"pre\\\":case\\\"listing\\\":case\\\"table\\\":case\\\"hr\\\":case\\\"xmp\\\":case\\\"h1\\\":case\\\"h2\\\":case\\\"h3\\\":case\\\"h4\\\":case\\\"h5\\\":case\\\"h6\\\":return t.pTagInButtonScope;case\\\"form\\\":return t.formTag||t.pTagInButtonScope;case\\\"li\\\":return t.listItemTagAutoclosing;case\\\"dd\\\":case\\\"dt\\\":return t.dlItemTagAutoclosing;case\\\"button\\\":return t.buttonTagInScope;case\\\"a\\\":return t.aTagInScope;case\\\"nobr\\\":return t.nobrTagInScope}return null}(e,n),u=i||l;if(u){var s=u.tag,c=!!i+\\\"|\\\"+e+\\\"|\\\"+s;if(!gc[c]){gc[c]=!0;var d=e,f=\\\"\\\";if(\\\"#text\\\"===e?/\\\\S/.test(t)?d=\\\"Text nodes\\\":(d=\\\"Whitespace text nodes\\\",f=\\\" Make sure you don't have any extra whitespace between tags on each line of your source code.\\\"):d=\\\"\u003C\\\"+e+\\\">\\\",i){var p=\\\"\\\";\\\"table\\\"===s&&\\\"tr\\\"===e&&(p+=\\\" Add a \u003Ctbody>, \u003Cthead> or \u003Ctfoot> to your code to match the DOM tree generated by the browser.\\\"),o(\\\"validateDOMNesting(...): %s cannot appear as a child of \u003C%s>.%s%s\\\",d,s,f,p)}else o(\\\"validateDOMNesting(...): %s cannot appear as a descendant of \u003C%s>.\\\",d,s)}}};var yc=\\\"suppressHydrationWarning\\\",bc=\\\"$\\\",wc=\\\"/$\\\",kc=\\\"$?\\\",Sc=\\\"$!\\\",xc=\\\"style\\\",Cc=null,Ec=null;function Tc(e){return e}function Rc(e){Cc=bl,Ec=Gu();return wl(!1),null}function Pc(e,t,n,r,a){var i=r;if(cc(e,null,i.ancestorInfo),\\\"string\\\"==typeof t.children||\\\"number\\\"==typeof t.children){var l=\\\"\\\"+t.children,u=dc(i.ancestorInfo,e);cc(null,l,u)}var s=function(e,t,n,r){var a,i,l=ec(n),u=r;if(u===cn&&(u=pn(e)),u===cn){if((a=Qn(e,t))||e===e.toLowerCase()||o(\\\"\u003C%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.\\\",e),\\\"script\\\"===e){var s=l.createElement(\\\"div\\\");s.innerHTML=\\\"\u003Cscript>\u003C\\\\/script>\\\";var c=s.firstChild;i=s.removeChild(c)}else if(\\\"string\\\"==typeof t.is)i=l.createElement(e,{is:t.is});else if(i=l.createElement(e),\\\"select\\\"===e){var d=i;t.multiple?d.multiple=!0:t.size&&(d.size=t.size)}}else i=l.createElementNS(u,e);return u===cn&&(a||\\\"[object HTMLUnknownElement]\\\"!==Object.prototype.toString.call(i)||$.call(Ms,e)||(Ms[e]=!0,o(\\\"The tag \u003C%s> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.\\\",e))),i}(e,t,n,i.namespace);return td(a,s),sd(s,t),s}function Dc(e,t){return\\\"textarea\\\"===e||\\\"noscript\\\"===e||\\\"string\\\"==typeof t.children||\\\"number\\\"==typeof t.children||\\\"object\\\"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}function Nc(e,t,n,r){cc(null,e,n.ancestorInfo);var a=function(e,t){return ec(t).createTextNode(e)}(e,t);return td(r,a),a}var _c=\\\"function\\\"==typeof setTimeout?setTimeout:void 0,Ic=\\\"function\\\"==typeof clearTimeout?clearTimeout:void 0,Lc=-1,zc=\\\"function\\\"==typeof Promise?Promise:void 0,Mc=\\\"function\\\"==typeof queueMicrotask?queueMicrotask:void 0!==zc?function(e){return zc.resolve(null).then(e).catch(Oc)}:_c;function Oc(e){setTimeout(function(){throw e})}function Uc(e){xn(e,\\\"\\\")}function Fc(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&a.nodeType===wn){var o=a.data;if(o===wc){if(0===r)return e.removeChild(a),void gl(t);r--}else o!==bc&&o!==kc&&o!==Sc||r++}n=a}while(n);gl(t)}function Ac(e){var t=(e=e).style;\\\"function\\\"==typeof t.setProperty?t.setProperty(\\\"display\\\",\\\"none\\\",\\\"important\\\"):t.display=\\\"none\\\"}function jc(e,t){e=e;var n=t[xc],r=void 0!==n&&null!==n&&n.hasOwnProperty(\\\"display\\\")?n.display:null;e.style.display=Rn(\\\"display\\\",r)}function Wc(e,t){e.nodeValue=t}function Bc(e){return e.data===kc}function Hc(e){return e.data===Sc}function Vc(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(t===yn||t===bn)break;if(t===wn){var n=e.data;if(n===bc||n===Sc||n===kc)break;if(n===wc)return null}}return e}function Yc(e){return Vc(e.nextSibling)}function Qc(e,t,n,r,a,o,i){return td(o,e),sd(e,n),function(e,t,n,r,a,o,i){var l,u;switch(l=Qn(t,n),Os(t,n),t){case\\\"dialog\\\":Cs(\\\"cancel\\\",e),Cs(\\\"close\\\",e);break;case\\\"iframe\\\":case\\\"object\\\":case\\\"embed\\\":Cs(\\\"load\\\",e);break;case\\\"video\\\":case\\\"audio\\\":for(var s=0;s\u003Cbs.length;s++)Cs(bs[s],e);break;case\\\"source\\\":Cs(\\\"error\\\",e);break;case\\\"img\\\":case\\\"image\\\":case\\\"link\\\":Cs(\\\"error\\\",e),Cs(\\\"load\\\",e);break;case\\\"details\\\":Cs(\\\"toggle\\\",e);break;case\\\"input\\\":jt(e,n),Cs(\\\"invalid\\\",e);break;case\\\"option\\\":Xt(0,n);break;case\\\"select\\\":rn(e,n),Cs(\\\"invalid\\\",e);break;case\\\"textarea\\\":ln(e,n),Cs(\\\"invalid\\\",e)}Yn(t,n),u=new Set;for(var c=e.attributes,d=0;d\u003Cc.length;d++)switch(c[d].name.toLowerCase()){case\\\"value\\\":case\\\"checked\\\":case\\\"selected\\\":break;default:u.add(c[d].name)}var f,p=null;for(var h in n)if(n.hasOwnProperty(h)){var m=n[h];if(h===qs)\\\"string\\\"==typeof m?e.textContent!==m&&(!0!==n[Ys]&&Zs(e.textContent,m,o,i),p=[qs,m]):\\\"number\\\"==typeof m&&e.textContent!==\\\"\\\"+m&&(!0!==n[Ys]&&Zs(e.textContent,m,o,i),p=[qs,\\\"\\\"+m]);else if(H.hasOwnProperty(h))null!=m&&(\\\"function\\\"!=typeof m&&As(h,m),\\\"onScroll\\\"===h&&Cs(\\\"scroll\\\",e));else if(i&&\\\"boolean\\\"==typeof l){var v=void 0,g=l&&U?null:me(h);if(!0===n[Ys]);else if(h===Vs||h===Ys||\\\"value\\\"===h||\\\"checked\\\"===h||\\\"selected\\\"===h);else if(h===Hs){var y=e.innerHTML,b=m?m[Xs]:void 0;if(null!=b){var w=Ws(e,b);w!==y&&Us(h,y,w)}}else if(h===$s){if(u.delete(h),js){var k=jn(m);k!==(v=e.getAttribute(\\\"style\\\"))&&Us(h,v,k)}}else if(l&&!U)u.delete(h.toLowerCase()),m!==(v=Ce(e,h,m))&&Us(h,v,m);else if(!fe(h,g,l)&&!he(h,m,g,l)){var S=!1;if(null!==g)u.delete(g.attributeName),v=xe(e,h,m,g);else{var x=r;if(x===cn&&(x=pn(t)),x===cn)u.delete(h.toLowerCase());else{var C=(f=h.toLowerCase(),qn.hasOwnProperty(f)&&qn[f]||null);null!==C&&C!==h&&(S=!0,u.delete(C)),u.delete(h)}v=Ce(e,h,m)}U||m===v||S||Us(h,v,m)}}}switch(i&&u.size>0&&!0!==n[Ys]&&Fs(u),t){case\\\"input\\\":_t(e),Ht(e,n,!0);break;case\\\"textarea\\\":_t(e),sn(e);break;case\\\"select\\\":case\\\"option\\\":break;default:\\\"function\\\"==typeof n.onClick&&nc(e)}return p}(e,t,n,a.namespace,0,(o.mode&bo)!==yo,i)}function qc(e){for(var t=e.previousSibling,n=0;t;){if(t.nodeType===wn){var r=t.data;if(r===bc||r===Sc||r===kc){if(0===n)return t;n--}else r===wc&&n++}t=t.previousSibling}return null}var $c=Math.random().toString(36).slice(2),Xc=\\\"__reactFiber$\\\"+$c,Kc=\\\"__reactProps$\\\"+$c,Gc=\\\"__reactContainer$\\\"+$c,Jc=\\\"__reactEvents$\\\"+$c,Zc=\\\"__reactListeners$\\\"+$c,ed=\\\"__reactHandles$\\\"+$c;function td(e,t){t[Xc]=e}function nd(e,t){t[Gc]=e}function rd(e){e[Gc]=null}function ad(e){return!!e[Gc]}function od(e){var t=e[Xc];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Gc]||n[Xc]){var r=t.alternate;if(null!==t.child||null!==r&&null!==r.child)for(var a=qc(e);null!==a;){var o=a[Xc];if(o)return o;a=qc(a)}return t}n=(e=n).parentNode}return null}function id(e){var t=e[Xc]||e[Gc];return t&&(t.tag===f||t.tag===p||t.tag===w||t.tag===c)?t:null}function ld(e){if(e.tag===f||e.tag===p)return e.stateNode;throw new Error(\\\"getNodeFromInstance: Invalid argument.\\\")}function ud(e){return e[Kc]||null}function sd(e,t){e[Kc]=t}var cd={},dd=n.ReactDebugCurrentFrame;function fd(e){if(e){var t=e._owner,n=function e(t,n,r){if(null==t)return\\\"\\\";if(\\\"function\\\"==typeof t)return st(t,!(!(a=t.prototype)||!a.isReactComponent));var a;if(\\\"string\\\"==typeof t)return ot(t);switch(t){case ze:return ot(\\\"Suspense\\\");case Me:return ot(\\\"SuspenseList\\\")}if(\\\"object\\\"==typeof t)switch(t.$$typeof){case Le:return ct(t.render);case Oe:return e(t.type,n,r);case Ue:var o=t,i=o._payload,l=o._init;try{return e(l(i),n,r)}catch(e){}}return\\\"\\\"}(e.type,e._source,t?t.type:null);dd.setExtraStackFrame(n)}else dd.setExtraStackFrame(null)}function pd(e,t,n,r,a){var i=Function.call.bind($);for(var l in e)if(i(e,l)){var u=void 0;try{if(\\\"function\\\"!=typeof e[l]){var s=Error((r||\\\"React class\\\")+\\\": \\\"+n+\\\" type `\\\"+l+\\\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\\\"+typeof e[l]+\\\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\\\");throw s.name=\\\"Invariant Violation\\\",s}u=e[l](t,l,r,n,null,\\\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\\\")}catch(e){u=e}!u||u instanceof Error||(fd(a),o(\\\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\\\",r||\\\"React class\\\",n,l,typeof u),fd(null)),u instanceof Error&&!(u.message in cd)&&(cd[u.message]=!0,fd(a),o(\\\"Failed %s type: %s\\\",n,u.message),fd(null))}}var hd,md=[];hd=[];var vd,gd=-1;function yd(e){return{current:e}}function bd(e,t){gd\u003C0?o(\\\"Unexpected pop.\\\"):(t!==hd[gd]&&o(\\\"Unexpected Fiber popped.\\\"),e.current=md[gd],md[gd]=null,hd[gd]=null,gd--)}function wd(e,t,n){md[++gd]=e.current,hd[gd]=n,e.current=t}vd={};var kd={};Object.freeze(kd);var Sd=yd(kd),xd=yd(!1),Cd=kd;function Ed(e,t,n){return n&&Dd(t)?Cd:Sd.current}function Td(e,t,n){var r=e.stateNode;r.__reactInternalMemoizedUnmaskedChildContext=t,r.__reactInternalMemoizedMaskedChildContext=n}function Rd(e,t){var n=e.type.contextTypes;if(!n)return kd;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a={};for(var o in n)a[o]=t[o];return pd(n,a,\\\"context\\\",vt(e)||\\\"Unknown\\\"),r&&Td(e,t,a),a}function Pd(){return xd.current}function Dd(e){var t=e.childContextTypes;return null!==t&&void 0!==t}function Nd(e){bd(xd,e),bd(Sd,e)}function _d(e){bd(xd,e),bd(Sd,e)}function Id(e,t,n){if(Sd.current!==kd)throw new Error(\\\"Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.\\\");wd(Sd,t,e),wd(xd,n,e)}function Ld(e,t,n){var r=e.stateNode,a=t.childContextTypes;if(\\\"function\\\"!=typeof r.getChildContext){var i=vt(e)||\\\"Unknown\\\";return vd[i]||(vd[i]=!0,o(\\\"%s.childContextTypes is specified but there is no getChildContext() method on the instance. You can either define getChildContext() on %s or remove childContextTypes from it.\\\",i,i)),n}var l=r.getChildContext();for(var u in l)if(!(u in a))throw new Error((vt(e)||\\\"Unknown\\\")+'.getChildContext(): key \\\"'+u+'\\\" is not defined in childContextTypes.');return pd(a,l,\\\"child context\\\",vt(e)||\\\"Unknown\\\"),et({},n,l)}function zd(e){var t=e.stateNode,n=t&&t.__reactInternalMemoizedMergedChildContext||kd;return Cd=Sd.current,wd(Sd,n,e),wd(xd,xd.current,e),!0}function Md(e,t,n){var r=e.stateNode;if(!r)throw new Error(\\\"Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.\\\");if(n){var a=Ld(e,t,Cd);r.__reactInternalMemoizedMergedChildContext=a,bd(xd,e),bd(Sd,e),wd(Sd,a,e),wd(xd,n,e)}else bd(xd,e),wd(xd,n,e)}function Od(e){if(!function(e){return Ia(e)===e}(e)||e.tag!==u)throw new Error(\\\"Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.\\\");var t=e;do{switch(t.tag){case c:return t.stateNode.context;case u:if(Dd(t.type))return t.stateNode.__reactInternalMemoizedMergedChildContext}t=t.return}while(null!==t);throw new Error(\\\"Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.\\\")}var Ud=0,Fd=1,Ad=null,jd=!1,Wd=!1;function Bd(e){null===Ad?Ad=[e]:Ad.push(e)}function Hd(){jd&&Vd()}function Vd(){if(!Wd&&null!==Ad){Wd=!0;var e=0,t=Xi();try{var n=Ad;for(Ki(Vi);e\u003Cn.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Ad=null,jd=!1}catch(t){throw null!==Ad&&(Ad=Ad.slice(e+1)),Aa(Ya,Vd),t}finally{Ki(t),Wd=!1}}return null}var Yd=[],Qd=0,qd=null,$d=0,Xd=[],Kd=0,Gd=null,Jd=1,Zd=\\\"\\\";function ef(){var e=Zd;return(Jd&~function(e){return 1\u003C\u003Caf(e)-1}(Jd)).toString(32)+e}function tf(e,t){lf(),Yd[Qd++]=$d,Yd[Qd++]=qd,qd=e,$d=t}function nf(e,t,n){lf(),Xd[Kd++]=Jd,Xd[Kd++]=Zd,Xd[Kd++]=Gd,Gd=e;var r=Jd,a=Zd,o=af(r)-1,i=r&~(1\u003C\u003Co),l=n+1,u=af(t)+o;if(u>30){var s=o-o%5,c=(i&(1\u003C\u003Cs)-1).toString(32),d=i>>s,f=o-s,p=af(t)+f;Jd=1\u003C\u003Cp|(l\u003C\u003Cf|d),Zd=c+a}else{Jd=1\u003C\u003Cu|(l\u003C\u003Co|i),Zd=a}}function rf(e){if(lf(),null!==e.return){tf(e,1),nf(e,1,0)}}function af(e){return 32-xo(e)}function of(e){for(;e===qd;)qd=Yd[--Qd],Yd[Qd]=null,$d=Yd[--Qd],Yd[Qd]=null;for(;e===Gd;)Gd=Xd[--Kd],Xd[Kd]=null,Zd=Xd[--Kd],Xd[Kd]=null,Jd=Xd[--Kd],Xd[Kd]=null}function lf(){Lf()||o(\\\"Expected to be hydrating. This is a bug in React. Please file an issue.\\\")}var uf=null,sf=null,cf=!1,df=!1,ff=null;function pf(){cf&&o(\\\"We should not be hydrating here. This is a bug in React. Please file a bug.\\\")}function hf(){df=!0}function mf(e){var t=e.stateNode.containerInfo;return sf=Vc(t.firstChild),uf=e,cf=!0,ff=null,df=!1,!0}function vf(e,t,n){var r,a;return sf=Vc(t.nextSibling),uf=e,cf=!0,ff=null,df=!1,null!==n&&(r=e,a=n,lf(),Xd[Kd++]=Jd,Xd[Kd++]=Zd,Xd[Kd++]=Gd,Jd=a.id,Zd=a.overflow,Gd=r),!0}function gf(e,t){switch(e.tag){case c:!function(e,t){t.nodeType===yn?ic(e,t):t.nodeType===wn||lc(e,t)}(e.stateNode.containerInfo,t);break;case f:var n=(e.mode&bo)!==yo;!function(e,t,n,r,a){(a||!0!==t[yc])&&(r.nodeType===yn?ic(n,r):r.nodeType===wn||lc(n,r))}(e.type,e.memoizedProps,e.stateNode,t,n);break;case w:var r=e.memoizedState;null!==r.dehydrated&&function(e,t){var n=e.parentNode;null!==n&&(t.nodeType===yn?ic(n,t):t.nodeType===wn||lc(n,t))}(r.dehydrated,t)}}function yf(e,t){gf(e,t);var n,r=((n=sk(f,null,null,yo)).elementType=\\\"DELETED\\\",n);r.stateNode=t,r.return=e;var a=e.deletions;null===a?(e.deletions=[r],e.flags|=aa):a.push(r)}function bf(e,t){if(!df)switch(e.tag){case c:var n=e.stateNode.containerInfo;switch(t.tag){case f:var r=t.type;t.pendingProps;!function(e,t,n){uc(e,t)}(n,r);break;case p:!function(e,t){sc(e,t)}(n,t.pendingProps)}break;case f:e.type;var a=e.memoizedProps,o=e.stateNode;switch(t.tag){case f:var i=t.type;t.pendingProps;!function(e,t,n,r,a,o){(o||!0!==t[yc])&&uc(n,r)}(0,a,o,i,0,(e.mode&bo)!==yo);break;case p:!function(e,t,n,r,a){(a||!0!==t[yc])&&sc(n,r)}(0,a,o,t.pendingProps,(e.mode&bo)!==yo)}break;case w:var l=e.memoizedState.dehydrated;if(null!==l)switch(t.tag){case f:var u=t.type;t.pendingProps;!function(e,t,n){var r=e.parentNode;null!==r&&uc(r,t)}(l,u);break;case p:!function(e,t){var n=e.parentNode;null!==n&&sc(n,t)}(l,t.pendingProps)}break;default:return}}function wf(e,t){t.flags=t.flags&~fa|na,bf(e,t)}function kf(e,t){switch(e.tag){case f:var n=e.type,r=(e.pendingProps,function(e,t,n){return e.nodeType!==yn||t.toLowerCase()!==e.nodeName.toLowerCase()?null:e}(t,n));return null!==r&&(e.stateNode=r,uf=e,sf=Vc(r.firstChild),!0);case p:var a=function(e,t){return\\\"\\\"===t||e.nodeType!==bn?null:e}(t,e.pendingProps);return null!==a&&(e.stateNode=a,uf=e,sf=null,!0);case w:var o=function(e){return e.nodeType!==wn?null:e}(t);if(null!==o){var i={dehydrated:o,treeContext:(lf(),null!==Gd?{id:Jd,overflow:Zd}:null),retryLane:si};e.memoizedState=i;var l=function(e){var t=sk(E,null,null,yo);return t.stateNode=e,t}(o);return l.return=e,e.child=l,uf=e,sf=null,!0}return!1;default:return!1}}function Sf(e){return(e.mode&bo)!==yo&&(e.flags&la)===ea}function xf(e){throw new Error(\\\"Hydration failed because the initial UI does not match what was rendered on the server.\\\")}function Cf(e){if(cf){var t=sf;if(!t)return Sf(e)&&(bf(uf,e),xf()),wf(uf,e),cf=!1,void(uf=e);var n=t;if(!kf(e,t)){Sf(e)&&(bf(uf,e),xf()),t=Yc(n);var r=uf;if(!t||!kf(e,t))return wf(uf,e),cf=!1,void(uf=e);yf(r,n)}}}function Ef(e){var t=e.stateNode,n=e.memoizedProps,r=function(e,t,n,r){return td(n,e),n.mode,function(e,t,n){return e.nodeValue!==t}(e,t)}(t,n,e);if(r){var a=uf;if(null!==a)switch(a.tag){case c:a.stateNode.containerInfo;!function(e,t,n,r){Zs(t.nodeValue,n,r,!0)}(0,t,n,(a.mode&bo)!==yo);break;case f:a.type;var o=a.memoizedProps;a.stateNode;!function(e,t,n,r,a,o){!0!==t[yc]&&Zs(r.nodeValue,a,o,!0)}(0,o,0,t,n,(a.mode&bo)!==yo)}}return r}function Tf(e){var t=e.memoizedState,n=null!==t?t.dehydrated:null;if(!n)throw new Error(\\\"Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.\\\");!function(e,t){td(t,e)}(n,e)}function Rf(e){var t=e.memoizedState,n=null!==t?t.dehydrated:null;if(!n)throw new Error(\\\"Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.\\\");return function(e){for(var t=e.nextSibling,n=0;t;){if(t.nodeType===wn){var r=t.data;if(r===wc){if(0===n)return Yc(t);n--}else r!==bc&&r!==Sc&&r!==kc||n++}t=t.nextSibling}return null}(n)}function Pf(e){for(var t=e.return;null!==t&&t.tag!==f&&t.tag!==c&&t.tag!==w;)t=t.return;uf=t}function Df(e){if(e!==uf)return!1;if(!cf)return Pf(e),cf=!0,!1;if(e.tag!==c&&(e.tag!==f||\\\"head\\\"!==(n=e.type)&&\\\"body\\\"!==n&&!Dc(e.type,e.memoizedProps))){var t=sf;if(t)if(Sf(e))Nf(e),xf();else for(;t;)yf(e,t),t=Yc(t)}var n;return Pf(e),sf=e.tag===w?Rf(e):uf?Yc(e.stateNode):null,!0}function Nf(e){for(var t=sf;t;)gf(e,t),t=Yc(t)}function _f(){uf=null,sf=null,cf=!1,df=!1}function If(){null!==ff&&(dw(ff),ff=null)}function Lf(){return cf}function zf(e){null===ff?ff=[e]:ff.push(e)}var Mf=n.ReactCurrentBatchConfig,Of=null;var Uf={recordUnsafeLifecycleWarnings:function(e,t){},flushPendingUnsafeLifecycleWarnings:function(){},recordLegacyContextWarning:function(e,t){},flushLegacyContextWarning:function(){},discardPendingWarnings:function(){}},Ff=function(e){var t=[];return e.forEach(function(e){t.push(e)}),t.sort().join(\\\", \\\")},Af=[],jf=[],Wf=[],Bf=[],Hf=[],Vf=[],Yf=new Set;Uf.recordUnsafeLifecycleWarnings=function(e,t){Yf.has(e.type)||(\\\"function\\\"==typeof t.componentWillMount&&!0!==t.componentWillMount.__suppressDeprecationWarning&&Af.push(e),e.mode&ko&&\\\"function\\\"==typeof t.UNSAFE_componentWillMount&&jf.push(e),\\\"function\\\"==typeof t.componentWillReceiveProps&&!0!==t.componentWillReceiveProps.__suppressDeprecationWarning&&Wf.push(e),e.mode&ko&&\\\"function\\\"==typeof t.UNSAFE_componentWillReceiveProps&&Bf.push(e),\\\"function\\\"==typeof t.componentWillUpdate&&!0!==t.componentWillUpdate.__suppressDeprecationWarning&&Hf.push(e),e.mode&ko&&\\\"function\\\"==typeof t.UNSAFE_componentWillUpdate&&Vf.push(e))},Uf.flushPendingUnsafeLifecycleWarnings=function(){var e=new Set;Af.length>0&&(Af.forEach(function(t){e.add(vt(t)||\\\"Component\\\"),Yf.add(t.type)}),Af=[]);var t=new Set;jf.length>0&&(jf.forEach(function(e){t.add(vt(e)||\\\"Component\\\"),Yf.add(e.type)}),jf=[]);var n=new Set;Wf.length>0&&(Wf.forEach(function(e){n.add(vt(e)||\\\"Component\\\"),Yf.add(e.type)}),Wf=[]);var r=new Set;Bf.length>0&&(Bf.forEach(function(e){r.add(vt(e)||\\\"Component\\\"),Yf.add(e.type)}),Bf=[]);var i=new Set;Hf.length>0&&(Hf.forEach(function(e){i.add(vt(e)||\\\"Component\\\"),Yf.add(e.type)}),Hf=[]);var l=new Set;(Vf.length>0&&(Vf.forEach(function(e){l.add(vt(e)||\\\"Component\\\"),Yf.add(e.type)}),Vf=[]),t.size>0)&&o(\\\"Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://reactjs.org/link/unsafe-component-lifecycles for details.\\\\n\\\\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\\\\n\\\\nPlease update the following components: %s\\\",Ff(t));r.size>0&&o(\\\"Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://reactjs.org/link/unsafe-component-lifecycles for details.\\\\n\\\\n* Move data fetching code or side effects to componentDidUpdate.\\\\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\\\n\\\\nPlease update the following components: %s\\\",Ff(r));l.size>0&&o(\\\"Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://reactjs.org/link/unsafe-component-lifecycles for details.\\\\n\\\\n* Move data fetching code or side effects to componentDidUpdate.\\\\n\\\\nPlease update the following components: %s\\\",Ff(l));e.size>0&&a(\\\"componentWillMount has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.\\\\n\\\\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\\\\n* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\\\n\\\\nPlease update the following components: %s\\\",Ff(e));n.size>0&&a(\\\"componentWillReceiveProps has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.\\\\n\\\\n* Move data fetching code or side effects to componentDidUpdate.\\\\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\\\\n* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\\\n\\\\nPlease update the following components: %s\\\",Ff(n));i.size>0&&a(\\\"componentWillUpdate has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.\\\\n\\\\n* Move data fetching code or side effects to componentDidUpdate.\\\\n* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\\\n\\\\nPlease update the following components: %s\\\",Ff(i))};var Qf,qf,$f,Xf,Kf,Gf=new Map,Jf=new Set;Uf.recordLegacyContextWarning=function(e,t){var n=function(e){for(var t=null,n=e;null!==n;)n.mode&ko&&(t=n),n=n.return;return t}(e);if(null!==n){if(!Jf.has(e.type)){var r=Gf.get(n);(null!=e.type.contextTypes||null!=e.type.childContextTypes||null!==t&&\\\"function\\\"==typeof t.getChildContext)&&(void 0===r&&(r=[],Gf.set(n,r)),r.push(e))}}else o(\\\"Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue.\\\")},Uf.flushLegacyContextWarning=function(){Gf.forEach(function(e,t){if(0!==e.length){var n=e[0],r=new Set;e.forEach(function(e){r.add(vt(e)||\\\"Component\\\"),Jf.add(e.type)});var a=Ff(r);try{xt(n),o(\\\"Legacy context API has been detected within a strict-mode tree.\\\\n\\\\nThe old API will be supported in all 16.x releases, but applications using it should migrate to the new version.\\\\n\\\\nPlease update the following components: %s\\\\n\\\\nLearn more about this warning here: https://reactjs.org/link/legacy-context\\\",a)}finally{St()}}})},Uf.discardPendingWarnings=function(){Af=[],jf=[],Wf=[],Bf=[],Hf=[],Vf=[],Gf=new Map};var Zf=function(e,t){};function ep(e,t,n){var r,a=n.ref;if(null!==a&&\\\"function\\\"!=typeof a&&\\\"object\\\"!=typeof a){if((e.mode&ko||F)&&(!n._owner||!n._self||n._owner.stateNode===n._self)&&(!n._owner||n._owner.tag===u)&&(\\\"function\\\"!=typeof n.type||(r=n.type).prototype&&r.prototype.isReactComponent)&&n._owner){var i=vt(e)||\\\"Component\\\";$f[i]||(o('Component \\\"%s\\\" contains the string ref \\\"%s\\\". Support for string refs will be removed in a future major release. We recommend using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',i,a),$f[i]=!0)}if(n._owner){var l,s=n._owner;if(s){var c=s;if(c.tag!==u)throw new Error(\\\"Function components cannot have string refs. We recommend using useRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref\\\");l=c.stateNode}if(!l)throw new Error(\\\"Missing owner for string ref \\\"+a+\\\". This error is likely caused by a bug in React. Please file an issue.\\\");var d=l;!function(e,t){if(K(e))o(\\\"The provided `%s` prop is an unsupported type %s. This value must be coerced to a string before before using it here.\\\",t,X(e)),G(e)}(a,\\\"ref\\\");var f=\\\"\\\"+a;if(null!==t&&null!==t.ref&&\\\"function\\\"==typeof t.ref&&t.ref._stringRef===f)return t.ref;var p=function(e){var t=d.refs;null===e?delete t[f]:t[f]=e};return p._stringRef=f,p}if(\\\"string\\\"!=typeof a)throw new Error(\\\"Expected ref to be a function, a string, an object returned by React.createRef(), or null.\\\");if(!n._owner)throw new Error(\\\"Element ref was specified as a string (\\\"+a+\\\") but no owner was set. This could happen for one of the following reasons:\\\\n1. You may be adding a ref to a function component\\\\n2. You may be adding a ref to a component that was not created inside a component's render method\\\\n3. You have multiple copies of React loaded\\\\nSee https://reactjs.org/link/refs-must-have-owner for more information.\\\")}return a}function tp(e,t){var n=Object.prototype.toString.call(t);throw new Error(\\\"Objects are not valid as a React child (found: \\\"+(\\\"[object Object]\\\"===n?\\\"object with keys {\\\"+Object.keys(t).join(\\\", \\\")+\\\"}\\\":n)+\\\"). If you meant to render a collection of children, use an array instead.\\\")}function np(e){var t=vt(e)||\\\"Component\\\";Kf[t]||(Kf[t]=!0,o(\\\"Functions are not valid as a React child. This may happen if you return a Component instead of \u003CComponent /> from render. Or maybe you meant to call this function rather than return it.\\\"))}function rp(e){var t=e._payload;return(0,e._init)(t)}function ap(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=aa):r.push(n)}}function n(n,r){if(!e)return null;for(var a=r;null!==a;)t(n,a),a=a.sibling;return null}function r(e,t){for(var n=new Map,r=t;null!==r;)null!==r.key?n.set(r.key,r):n.set(r.index,r),r=r.sibling;return n}function a(e,t){var n=dk(e,t);return n.index=0,n.sibling=null,n}function i(t,n,r){if(t.index=r,!e)return t.flags|=wa,n;var a=t.alternate;if(null!==a){var o=a.index;return o\u003Cn?(t.flags|=na,n):o}return t.flags|=na,n}function l(t){return e&&null===t.alternate&&(t.flags|=na),t}function u(e,t,n,r){if(null===t||t.tag!==p){var o=gk(n,e.mode,r);return o.return=e,o}var i=a(t,n);return i.return=e,i}function s(e,t,n,r){var o=n.type;if(o===Pe)return f(e,t,n.props.children,r,n.key);if(null!==t&&(t.elementType===o||nk(t,n)||\\\"object\\\"==typeof o&&null!==o&&o.$$typeof===Ue&&rp(o)===t.type)){var i=a(t,n.props);return i.ref=ep(e,t,n),i.return=e,i._debugSource=n._source,i._debugOwner=n._owner,i}var l=hk(n,e.mode,r);return l.ref=ep(e,t,n),l.return=e,l}function c(e,t,n,r){if(null===t||t.tag!==d||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation){var o=yk(n,e.mode,r);return o.return=e,o}var i=a(t,n.children||[]);return i.return=e,i}function f(e,t,n,r,o){if(null===t||t.tag!==h){var i=mk(n,e.mode,r,o);return i.return=e,i}var l=a(t,n);return l.return=e,l}function m(e,t,n){if(\\\"string\\\"==typeof t&&\\\"\\\"!==t||\\\"number\\\"==typeof t){var r=gk(\\\"\\\"+t,e.mode,n);return r.return=e,r}if(\\\"object\\\"==typeof t&&null!==t){switch(t.$$typeof){case Te:var a=hk(t,e.mode,n);return a.ref=ep(e,null,t),a.return=e,a;case Re:var o=yk(t,e.mode,n);return o.return=e,o;case Ue:var i=t._payload;return m(e,(0,t._init)(i),n)}if(Jt(t)||Qe(t)){var l=mk(t,e.mode,n,null);return l.return=e,l}tp(0,t)}return\\\"function\\\"==typeof t&&np(e),null}function v(e,t,n,r){var a=null!==t?t.key:null;if(\\\"string\\\"==typeof n&&\\\"\\\"!==n||\\\"number\\\"==typeof n)return null!==a?null:u(e,t,\\\"\\\"+n,r);if(\\\"object\\\"==typeof n&&null!==n){switch(n.$$typeof){case Te:return n.key===a?s(e,t,n,r):null;case Re:return n.key===a?c(e,t,n,r):null;case Ue:var o=n._payload;return v(e,t,(0,n._init)(o),r)}if(Jt(n)||Qe(n))return null!==a?null:f(e,t,n,r,null);tp(0,n)}return\\\"function\\\"==typeof n&&np(e),null}function g(e,t,n,r,a){if(\\\"string\\\"==typeof r&&\\\"\\\"!==r||\\\"number\\\"==typeof r)return u(t,e.get(n)||null,\\\"\\\"+r,a);if(\\\"object\\\"==typeof r&&null!==r){switch(r.$$typeof){case Te:return s(t,e.get(null===r.key?n:r.key)||null,r,a);case Re:return c(t,e.get(null===r.key?n:r.key)||null,r,a);case Ue:var o=r._payload;return g(e,t,n,(0,r._init)(o),a)}if(Jt(r)||Qe(r))return f(t,e.get(n)||null,r,a,null);tp(0,r)}return\\\"function\\\"==typeof r&&np(t),null}function y(e,t,n){if(\\\"object\\\"!=typeof e||null===e)return t;switch(e.$$typeof){case Te:case Re:Zf(e,n);var r=e.key;if(\\\"string\\\"!=typeof r)break;if(null===t){(t=new Set).add(r);break}if(!t.has(r)){t.add(r);break}o(\\\"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.\\\",r);break;case Ue:var a=e._payload;y((0,e._init)(a),t,n)}return t}return function u(s,c,f,b){if(\\\"object\\\"==typeof f&&null!==f&&f.type===Pe&&null===f.key&&(f=f.props.children),\\\"object\\\"==typeof f&&null!==f){switch(f.$$typeof){case Te:return l(function(e,r,o,i){for(var l=o.key,u=r;null!==u;){if(u.key===l){var s=o.type;if(s===Pe){if(u.tag===h){n(e,u.sibling);var c=a(u,o.props.children);return c.return=e,c._debugSource=o._source,c._debugOwner=o._owner,c}}else if(u.elementType===s||nk(u,o)||\\\"object\\\"==typeof s&&null!==s&&s.$$typeof===Ue&&rp(s)===u.type){n(e,u.sibling);var d=a(u,o.props);return d.ref=ep(e,u,o),d.return=e,d._debugSource=o._source,d._debugOwner=o._owner,d}n(e,u);break}t(e,u),u=u.sibling}if(o.type===Pe){var f=mk(o.props.children,e.mode,i,o.key);return f.return=e,f}var p=hk(o,e.mode,i);return p.ref=ep(e,r,o),p.return=e,p}(s,c,f,b));case Re:return l(function(e,r,o,i){for(var l=o.key,u=r;null!==u;){if(u.key===l){if(u.tag===d&&u.stateNode.containerInfo===o.containerInfo&&u.stateNode.implementation===o.implementation){n(e,u.sibling);var s=a(u,o.children||[]);return s.return=e,s}n(e,u);break}t(e,u),u=u.sibling}var c=yk(o,e.mode,i);return c.return=e,c}(s,c,f,b));case Ue:var w=f._payload;return u(s,c,(0,f._init)(w),b)}if(Jt(f))return function(a,o,l,u){for(var s=null,c=0;c\u003Cl.length;c++)s=y(l[c],s,a);for(var d=null,f=null,p=o,h=0,b=0,w=null;null!==p&&b\u003Cl.length;b++){p.index>b?(w=p,p=null):w=p.sibling;var k=v(a,p,l[b],u);if(null===k){null===p&&(p=w);break}e&&p&&null===k.alternate&&t(a,p),h=i(k,h,b),null===f?d=k:f.sibling=k,f=k,p=w}if(b===l.length)return n(a,p),Lf()&&tf(a,b),d;if(null===p){for(;b\u003Cl.length;b++){var S=m(a,l[b],u);null!==S&&(h=i(S,h,b),null===f?d=S:f.sibling=S,f=S)}return Lf()&&tf(a,b),d}for(var x=r(0,p);b\u003Cl.length;b++){var C=g(x,a,b,l[b],u);null!==C&&(e&&null!==C.alternate&&x.delete(null===C.key?b:C.key),h=i(C,h,b),null===f?d=C:f.sibling=C,f=C)}return e&&x.forEach(function(e){return t(a,e)}),Lf()&&tf(a,b),d}(s,c,f,b);if(Qe(f))return function(a,l,u,s){var c=Qe(u);if(\\\"function\\\"!=typeof c)throw new Error(\\\"An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.\\\");\\\"function\\\"==typeof Symbol&&\\\"Generator\\\"===u[Symbol.toStringTag]&&(qf||o(\\\"Using Generators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. Keep in mind you might need to polyfill these features for older browsers.\\\"),qf=!0),u.entries===c&&(Qf||o(\\\"Using Maps as children is not supported. Use an array of keyed ReactElements instead.\\\"),Qf=!0);var d=c.call(u);if(d)for(var f=null,p=d.next();!p.done;p=d.next())f=y(p.value,f,a);var h=c.call(u);if(null==h)throw new Error(\\\"An iterable object provided no iterator.\\\");for(var b=null,w=null,k=l,S=0,x=0,C=null,E=h.next();null!==k&&!E.done;x++,E=h.next()){k.index>x?(C=k,k=null):C=k.sibling;var T=v(a,k,E.value,s);if(null===T){null===k&&(k=C);break}e&&k&&null===T.alternate&&t(a,k),S=i(T,S,x),null===w?b=T:w.sibling=T,w=T,k=C}if(E.done)return n(a,k),Lf()&&tf(a,x),b;if(null===k){for(;!E.done;x++,E=h.next()){var R=m(a,E.value,s);null!==R&&(S=i(R,S,x),null===w?b=R:w.sibling=R,w=R)}return Lf()&&tf(a,x),b}for(var P=r(0,k);!E.done;x++,E=h.next()){var D=g(P,a,x,E.value,s);null!==D&&(e&&null!==D.alternate&&P.delete(null===D.key?x:D.key),S=i(D,S,x),null===w?b=D:w.sibling=D,w=D)}return e&&P.forEach(function(e){return t(a,e)}),Lf()&&tf(a,x),b}(s,c,f,b);tp(0,f)}return\\\"string\\\"==typeof f&&\\\"\\\"!==f||\\\"number\\\"==typeof f?l(function(e,t,r,o){if(null!==t&&t.tag===p){n(e,t.sibling);var i=a(t,r);return i.return=e,i}n(e,t);var l=gk(r,e.mode,o);return l.return=e,l}(s,c,\\\"\\\"+f,b)):(\\\"function\\\"==typeof f&&np(s),n(s,c))}}Qf=!1,qf=!1,$f={},Xf={},Kf={},Zf=function(e,t){if(null!==e&&\\\"object\\\"==typeof e&&e._store&&!e._store.validated&&null==e.key){if(\\\"object\\\"!=typeof e._store)throw new Error(\\\"React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue.\\\");e._store.validated=!0;var n=vt(t)||\\\"Component\\\";Xf[n]||(Xf[n]=!0,o('Each child in a list should have a unique \\\"key\\\" prop. See https://reactjs.org/link/warning-keys for more information.'))}};var op=ap(!0),ip=ap(!1);function lp(e,t){for(var n=e.child;null!==n;)fk(n,t),n=n.sibling}var up,sp=yd(null);up={};var cp=null,dp=null,fp=null,pp=!1;function hp(){cp=null,dp=null,fp=null,pp=!1}function mp(){pp=!0}function vp(){pp=!1}function gp(e,t,n){wd(sp,t._currentValue,e),t._currentValue=n,void 0!==t._currentRenderer&&null!==t._currentRenderer&&t._currentRenderer!==up&&o(\\\"Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported.\\\"),t._currentRenderer=up}function yp(e,t){var n=sp.current;bd(sp,t),e._currentValue=n}function bp(e,t,n){for(var r=e;null!==r;){var a=r.alternate;if(Pi(r.childLanes,t)?null===a||Pi(a.childLanes,t)||(a.childLanes=Di(a.childLanes,t)):(r.childLanes=Di(r.childLanes,t),null!==a&&(a.childLanes=Di(a.childLanes,t))),r===n)break;r=r.return}r!==n&&o(\\\"Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue.\\\")}function wp(e,t,n){!function(e,t,n){var r=e.child;null!==r&&(r.return=e);for(;null!==r;){var a=void 0,o=r.dependencies;if(null!==o){a=r.child;for(var i=o.firstContext;null!==i;){if(i.context===t){if(r.tag===u){var l=Ci(n),s=Fp(di,l);s.tag=Lp;var c=r.updateQueue;if(null===c);else{var d=c.shared,f=d.pending;null===f?s.next=s:(s.next=f.next,f.next=s),d.pending=s}}r.lanes=Di(r.lanes,n);var p=r.alternate;null!==p&&(p.lanes=Di(p.lanes,n)),bp(r.return,n,e),o.lanes=Di(o.lanes,n);break}i=i.next}}else if(r.tag===g)a=r.type===e.type?null:r.child;else if(r.tag===E){var h=r.return;if(null===h)throw new Error(\\\"We just came from a parent so we must have had a parent. This is a bug in React.\\\");h.lanes=Di(h.lanes,n);var m=h.alternate;null!==m&&(m.lanes=Di(m.lanes,n)),bp(h,n,e),a=r.sibling}else a=r.child;if(null!==a)a.return=r;else for(a=r;null!==a;){if(a===e){a=null;break}var v=a.sibling;if(null!==v){v.return=a.return,a=v;break}a=a.return}r=a}}(e,t,n)}function kp(e,t){cp=e,dp=null,fp=null;var n=e.dependencies;null!==n&&(null!==n.firstContext&&(Ri(n.lanes,t)&&Fg(),n.firstContext=null))}function Sp(e){pp&&o(\\\"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\\\");var t=e._currentValue;if(fp===e);else{var n={context:e,memoizedValue:t,next:null};if(null===dp){if(null===cp)throw new Error(\\\"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\\\");dp=n,cp.dependencies={lanes:Ro,firstContext:n}}else dp=dp.next=n}return t}var xp=null;function Cp(e){null===xp?xp=[e]:xp.push(e)}function Ep(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,Cp(t)):(n.next=a.next,a.next=n),t.interleaved=n,Pp(e,r)}function Tp(e,t){return Pp(e,t)}var Rp=Pp;function Pp(e,t){e.lanes=Di(e.lanes,t);var n=e.alternate;null!==n&&(n.lanes=Di(n.lanes,t)),null===n&&(e.flags&(na|fa))!==ea&&Ww(e);for(var r=e,a=e.return;null!==a;)a.childLanes=Di(a.childLanes,t),null!==(n=a.alternate)?n.childLanes=Di(n.childLanes,t):(a.flags&(na|fa))!==ea&&Ww(e),r=a,a=a.return;return r.tag===c?r.stateNode:null}var Dp,Np,_p=0,Ip=1,Lp=2,zp=3,Mp=!1;function Op(e){var t={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:Ro},effects:null};e.updateQueue=t}function Up(e,t){var n=t.updateQueue,r=e.updateQueue;if(n===r){var a={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,effects:r.effects};t.updateQueue=a}}function Fp(e,t){return{eventTime:e,lane:t,tag:_p,payload:null,callback:null,next:null}}function Ap(e,t,n){var r=e.updateQueue;if(null===r)return null;var a=r.shared;if(Np!==a||Dp||(o(\\\"An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback.\\\"),Dp=!0),(yb&sb)!==lb){var i=a.pending;return null===i?t.next=t:(t.next=i.next,i.next=t),a.pending=t,Rp(e,n)}return function(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,Cp(t)):(n.next=a.next,a.next=n),t.interleaved=n,Pp(e,r)}(e,a,t,n)}function jp(e,t,n){var r=t.updateQueue;if(null!==r){var a=r.shared;if(ki(n)){var o=a.lanes,i=Di(o=_i(o,e.pendingLanes),n);a.lanes=i,Oi(e,i)}}}function Wp(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r){var a=r.updateQueue;if(n===a){var o=null,i=null,l=n.firstBaseUpdate;if(null!==l){var u=l;do{var s={eventTime:u.eventTime,lane:u.lane,tag:u.tag,payload:u.payload,callback:u.callback,next:null};null===i?o=i=s:(i.next=s,i=s),u=u.next}while(null!==u);null===i?o=i=t:(i.next=t,i=t)}else o=i=t;return n={baseState:a.baseState,firstBaseUpdate:o,lastBaseUpdate:i,shared:a.shared,effects:a.effects},void(e.updateQueue=n)}}var c=n.lastBaseUpdate;null===c?n.firstBaseUpdate=t:c.next=t,n.lastBaseUpdate=t}function Bp(e,t,n,r,a,o){switch(n.tag){case Ip:var i=n.payload;if(\\\"function\\\"==typeof i){mp();var l=i.call(o,r,a);if(e.mode&ko){ro(!0);try{i.call(o,r,a)}finally{ro(!1)}}return vp(),l}return i;case zp:e.flags=e.flags&~ya|la;case _p:var u,s=n.payload;if(\\\"function\\\"==typeof s){if(mp(),u=s.call(o,r,a),e.mode&ko){ro(!0);try{s.call(o,r,a)}finally{ro(!1)}}vp()}else u=s;return null===u||void 0===u?r:et({},r,u);case Lp:return Mp=!0,r}return r}function Hp(e,t,n,r){var a=e.updateQueue;Mp=!1,Np=a.shared;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(null!==l){a.shared.pending=null;var u=l,s=u.next;u.next=null,null===i?o=s:i.next=s,i=u;var c=e.alternate;if(null!==c){var d=c.updateQueue,f=d.lastBaseUpdate;f!==i&&(null===f?d.firstBaseUpdate=s:f.next=s,d.lastBaseUpdate=u)}}if(null!==o){for(var p=a.baseState,h=Ro,m=null,v=null,g=null,y=o;;){var b=y.lane,w=y.eventTime;if(Pi(r,b)){if(null!==g){var k={eventTime:w,lane:Po,tag:y.tag,payload:y.payload,callback:y.callback,next:null};g=g.next=k}if(p=Bp(e,0,y,p,t,n),null!==y.callback&&y.lane!==Po){e.flags|=ia;var S=a.effects;null===S?a.effects=[y]:S.push(y)}}else{var x={eventTime:w,lane:b,tag:y.tag,payload:y.payload,callback:y.callback,next:null};null===g?(v=g=x,m=p):g=g.next=x,h=Di(h,b)}if(null===(y=y.next)){if(null===(l=a.shared.pending))break;var C=l,E=C.next;C.next=null,y=E,a.lastBaseUpdate=C,a.shared.pending=null}}null===g&&(m=p),a.baseState=m,a.firstBaseUpdate=v,a.lastBaseUpdate=g;var T=a.shared.interleaved;if(null!==T){var R=T;do{h=Di(h,R.lane),R=R.next}while(R!==T)}else null===o&&(a.shared.lanes=Ro);xw(h),e.lanes=h,e.memoizedState=p}Np=null}function Vp(e,t){if(\\\"function\\\"!=typeof e)throw new Error(\\\"Invalid argument passed as callback. Expected a function. Instead received: \\\"+e);e.call(t)}function Yp(){Mp=!1}function Qp(){return Mp}function qp(e,t,n){var r=t.effects;if(t.effects=null,null!==r)for(var a=0;a\u003Cr.length;a++){var o=r[a],i=o.callback;null!==i&&(o.callback=null,Vp(i,n))}}Dp=!1,Np=null;var $p={},Xp=yd($p),Kp=yd($p),Gp=yd($p);function Jp(e){if(e===$p)throw new Error(\\\"Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.\\\");return e}function Zp(){return Jp(Gp.current)}function eh(e,t){wd(Gp,t,e),wd(Kp,e,e),wd(Xp,$p,e);var n=function(e){var t,n,r=e.nodeType;switch(r){case kn:case Sn:t=r===kn?\\\"#document\\\":\\\"#fragment\\\";var a=e.documentElement;n=a?a.namespaceURI:hn(null,\\\"\\\");break;default:var o=r===wn?e.parentNode:e;n=hn(o.namespaceURI||null,t=o.tagName)}var i=t.toLowerCase();return{namespace:n,ancestorInfo:dc(null,i)}}(t);bd(Xp,e),wd(Xp,n,e)}function th(e){bd(Xp,e),bd(Kp,e),bd(Gp,e)}function nh(){return Jp(Xp.current)}function rh(e){Jp(Gp.current);var t,n,r,a=Jp(Xp.current),o=(t=a,n=e.type,{namespace:hn((r=t).namespace,n),ancestorInfo:dc(r.ancestorInfo,n)});a!==o&&(wd(Kp,e,e),wd(Xp,o,e))}function ah(e){Kp.current===e&&(bd(Xp,e),bd(Kp,e))}var oh=1,ih=1,lh=2,uh=yd(0);function sh(e,t){return 0!=(e&t)}function ch(e){return e&oh}function dh(e,t){return e&oh|t}function fh(e,t){wd(uh,t,e)}function ph(e){bd(uh,e)}function hh(e,t){var n=e.memoizedState;if(null!==n)return null!==n.dehydrated;e.memoizedProps;return!0}function mh(e){for(var t=e;null!==t;){if(t.tag===w){var n=t.memoizedState;if(null!==n){var r=n.dehydrated;if(null===r||Bc(r)||Hc(r))return t}}else if(t.tag===T&&void 0!==t.memoizedProps.revealOrder){if((t.flags&la)!==ea)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)return null;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var vh=0,gh=1,yh=2,bh=4,wh=8,kh=[];function Sh(){for(var e=0;e\u003Ckh.length;e++){kh[e]._workInProgressVersionPrimary=null}kh.length=0}function xh(e,t){var n=(0,t._getVersion)(t._source);null==e.mutableSourceEagerHydrationData?e.mutableSourceEagerHydrationData=[t,n]:e.mutableSourceEagerHydrationData.push(t,n)}var Ch,Eh,Th=n.ReactCurrentDispatcher,Rh=n.ReactCurrentBatchConfig;Ch=new Set;var Ph=Ro,Dh=null,Nh=null,_h=null,Ih=!1,Lh=!1,zh=0,Mh=0,Oh=25,Uh=null,Fh=null,Ah=-1,jh=!1;function Wh(){var e=Uh;null===Fh?Fh=[e]:Fh.push(e)}function Bh(){var e=Uh;null!==Fh&&Fh[++Ah]!==e&&function(e){var t=vt(Dh);if(!Ch.has(t)&&(Ch.add(t),null!==Fh)){for(var n=\\\"\\\",r=0;r\u003C=Ah;r++){for(var a=Fh[r],i=r===Ah?e:a,l=r+1+\\\". \\\"+a;l.length\u003C30;)l+=\\\" \\\";n+=l+=i+\\\"\\\\n\\\"}o(\\\"React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://reactjs.org/link/rules-of-hooks\\\\n\\\\n Previous render Next render\\\\n ------------------------------------------------------\\\\n%s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\\\n\\\",t,n)}}(e)}function Hh(e){void 0===e||null===e||Jt(e)||o(\\\"%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.\\\",Uh,typeof e)}function Vh(){throw new Error(\\\"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\\\n2. You might be breaking the Rules of Hooks\\\\n3. You might have more than one copy of React in the same app\\\\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.\\\")}function Yh(e,t){if(jh)return!1;if(null===t)return o(\\\"%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.\\\",Uh),!1;e.length!==t.length&&o(\\\"The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\\\\n\\\\nPrevious: %s\\\\nIncoming: %s\\\",Uh,\\\"[\\\"+t.join(\\\", \\\")+\\\"]\\\",\\\"[\\\"+e.join(\\\", \\\")+\\\"]\\\");for(var n=0;n\u003Ct.length&&n\u003Ce.length;n++)if(!ju(e[n],t[n]))return!1;return!0}function Qh(e,t,n,r,a,i){Ph=i,Dh=t,Fh=null!==e?e._debugHookTypes:null,Ah=-1,jh=null!==e&&e.type!==t.type,t.memoizedState=null,t.updateQueue=null,t.lanes=Ro,null!==e&&null!==e.memoizedState?Th.current=Xm:Th.current=null!==Fh?$m:qm;var l=n(r,a);if(Lh){var u=0;do{if(Lh=!1,zh=0,u>=Oh)throw new Error(\\\"Too many re-renders. React limits the number of renders to prevent an infinite loop.\\\");u+=1,jh=!1,Nh=null,_h=null,t.updateQueue=null,Ah=-1,Th.current=Km,l=n(r,a)}while(Lh)}Th.current=Qm,t._debugHookTypes=Fh;var s=null!==Nh&&null!==Nh.next;if(Ph=Ro,Dh=null,Nh=null,_h=null,Uh=null,Fh=null,Ah=-1,null!==e&&(e.flags&Na)!=(t.flags&Na)&&(e.mode&bo)!==yo&&o(\\\"Internal React error: Expected static flag was missing. Please notify the React team.\\\"),Ih=!1,s)throw new Error(\\\"Rendered fewer hooks than expected. This may be caused by an accidental early return statement.\\\");return l}function qh(){var e=0!==zh;return zh=0,e}function $h(e,t,n){t.updateQueue=e.updateQueue,(t.mode&So)!==yo?t.flags&=~(Ea|Ca|da|ra):t.flags&=~(da|ra),e.lanes=Ni(e.lanes,n)}function Xh(){if(Th.current=Qm,Ih){for(var e=Dh.memoizedState;null!==e;){var t=e.queue;null!==t&&(t.pending=null),e=e.next}Ih=!1}Ph=Ro,Dh=null,Nh=null,_h=null,Fh=null,Ah=-1,Uh=null,Am=!1,Lh=!1,zh=0}function Kh(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===_h?Dh.memoizedState=_h=e:_h=_h.next=e,_h}function Gh(){var e,t;if(null===Nh){var n=Dh.alternate;e=null!==n?n.memoizedState:null}else e=Nh.next;if(null!==(t=null===_h?Dh.memoizedState:_h.next))t=(_h=t).next,Nh=e;else{if(null===e)throw new Error(\\\"Rendered more hooks than during the previous render.\\\");var r={memoizedState:(Nh=e).memoizedState,baseState:Nh.baseState,baseQueue:Nh.baseQueue,queue:Nh.queue,next:null};null===_h?Dh.memoizedState=_h=r:_h=_h.next=r}return _h}function Jh(e,t){return\\\"function\\\"==typeof t?t(e):t}function Zh(e,t,n){var r,a=Kh();r=void 0!==n?n(t):t,a.memoizedState=a.baseState=r;var i={pending:null,interleaved:null,lanes:Ro,dispatch:null,lastRenderedReducer:e,lastRenderedState:r};a.queue=i;var l=i.dispatch=function(e,t,n){\\\"function\\\"==typeof arguments[3]&&o(\\\"State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().\\\");var r=iw(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Bm(e))Hm(t,a);else{var i=Ep(e,t,a,r);if(null!==i){var l=ow();uw(i,e,r,l),Vm(i,t,r)}}Ym(e,r)}.bind(null,Dh,i);return[a.memoizedState,l]}function em(e,t,n){var r=Gh(),a=r.queue;if(null===a)throw new Error(\\\"Should have a queue. This is likely a bug in React. Please file an issue.\\\");a.lastRenderedReducer=e;var i=Nh,l=i.baseQueue,u=a.pending;if(null!==u){if(null!==l){var s=l.next,c=u.next;l.next=c,u.next=s}i.baseQueue!==l&&o(\\\"Internal error: Expected work-in-progress queue to be a clone. This is a bug in React.\\\"),i.baseQueue=l=u,a.pending=null}if(null!==l){var d=l.next,f=i.baseState,p=null,h=null,m=null,v=d;do{var g=v.lane;if(Pi(Ph,g)){if(null!==m){var y={lane:Po,action:v.action,hasEagerState:v.hasEagerState,eagerState:v.eagerState,next:null};m=m.next=y}if(v.hasEagerState)f=v.eagerState;else f=e(f,v.action)}else{var b={lane:g,action:v.action,hasEagerState:v.hasEagerState,eagerState:v.eagerState,next:null};null===m?(h=m=b,p=f):m=m.next=b,Dh.lanes=Di(Dh.lanes,g),xw(g)}v=v.next}while(null!==v&&v!==d);null===m?p=f:m.next=h,ju(f,r.memoizedState)||Fg(),r.memoizedState=f,r.baseState=p,r.baseQueue=m,a.lastRenderedState=f}var w=a.interleaved;if(null!==w){var k=w;do{var S=k.lane;Dh.lanes=Di(Dh.lanes,S),xw(S),k=k.next}while(k!==w)}else null===l&&(a.lanes=Ro);var x=a.dispatch;return[r.memoizedState,x]}function tm(e,t,n){var r=Gh(),a=r.queue;if(null===a)throw new Error(\\\"Should have a queue. This is likely a bug in React. Please file an issue.\\\");a.lastRenderedReducer=e;var o=a.dispatch,i=a.pending,l=r.memoizedState;if(null!==i){a.pending=null;var u=i.next,s=u;do{l=e(l,s.action),s=s.next}while(s!==u);ju(l,r.memoizedState)||Fg(),r.memoizedState=l,null===r.baseQueue&&(r.baseState=l),a.lastRenderedState=l}return[l,o]}function nm(e,t,n){var r,a=Dh,i=Kh();if(Lf()){if(void 0===n)throw new Error(\\\"Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.\\\");r=n(),Eh||r!==n()&&(o(\\\"The result of getServerSnapshot should be cached to avoid an infinite loop\\\"),Eh=!0)}else{if(r=t(),!Eh){var l=t();ju(r,l)||(o(\\\"The result of getSnapshot should be cached to avoid an infinite loop\\\"),Eh=!0)}var u=aw();if(null===u)throw new Error(\\\"Expected a work-in-progress root. This is a bug in React. Please file an issue.\\\");wi(0,Ph)||am(a,t,r)}i.memoizedState=r;var s={value:r,getSnapshot:t};return i.queue=s,gm(im.bind(null,a,s,e),[e]),a.flags|=da,fm(gh|wh,om.bind(null,a,s,r,t),void 0,null),r}function rm(e,t,n){var r=Dh,a=Gh(),i=t();if(!Eh){var l=t();ju(i,l)||(o(\\\"The result of getSnapshot should be cached to avoid an infinite loop\\\"),Eh=!0)}var u=a.memoizedState,s=!ju(u,i);s&&(a.memoizedState=i,Fg());var c=a.queue;if(ym(im.bind(null,r,c,e),[e]),c.getSnapshot!==t||s||null!==_h&&_h.memoizedState.tag&gh){r.flags|=da,fm(gh|wh,om.bind(null,r,c,i,t),void 0,null);var d=aw();if(null===d)throw new Error(\\\"Expected a work-in-progress root. This is a bug in React. Please file an issue.\\\");wi(0,Ph)||am(r,t,i)}return i}function am(e,t,n){e.flags|=ha;var r={getSnapshot:t,value:n},a=Dh.updateQueue;if(null===a)a={lastEffect:null,stores:null},Dh.updateQueue=a,a.stores=[r];else{var o=a.stores;null===o?a.stores=[r]:o.push(r)}}function om(e,t,n,r){t.value=n,t.getSnapshot=r,lm(t)&&um(e)}function im(e,t,n){return n(function(){lm(t)&&um(e)})}function lm(e){var t=e.getSnapshot,n=e.value;try{var r=t();return!ju(n,r)}catch(e){return!0}}function um(e){var t=Tp(e,Do);null!==t&&uw(t,e,Do,di)}function sm(e){var t=Kh();\\\"function\\\"==typeof e&&(e=e()),t.memoizedState=t.baseState=e;var n={pending:null,interleaved:null,lanes:Ro,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:e};t.queue=n;var r=n.dispatch=function(e,t,n){\\\"function\\\"==typeof arguments[3]&&o(\\\"State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().\\\");var r=iw(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Bm(e))Hm(t,a);else{var i=e.alternate;if(e.lanes===Ro&&(null===i||i.lanes===Ro)){var l=t.lastRenderedReducer;if(null!==l){var u;u=Th.current,Th.current=Jm;try{var s=t.lastRenderedState,c=l(s,n);if(a.hasEagerState=!0,a.eagerState=c,ju(c,s))return void function(e,t,n,r){var a=t.interleaved;null===a?(n.next=n,Cp(t)):(n.next=a.next,a.next=n),t.interleaved=n}(0,t,a)}catch(e){}finally{Th.current=u}}}var d=Ep(e,t,a,r);if(null!==d){var f=ow();uw(d,e,r,f),Vm(d,t,r)}}Ym(e,r)}.bind(null,Dh,n);return[t.memoizedState,r]}function cm(e){return em(Jh)}function dm(e){return tm(Jh)}function fm(e,t,n,r){var a={tag:e,create:t,destroy:n,deps:r,next:null},o=Dh.updateQueue;if(null===o)o={lastEffect:null,stores:null},Dh.updateQueue=o,o.lastEffect=a.next=a;else{var i=o.lastEffect;if(null===i)o.lastEffect=a.next=a;else{var l=i.next;i.next=a,a.next=l,o.lastEffect=a}}return a}function pm(e){var t={current:e};return Kh().memoizedState=t,t}function hm(e){return Gh().memoizedState}function mm(e,t,n,r){var a=Kh(),o=void 0===r?null:r;Dh.flags|=e,a.memoizedState=fm(gh|t,n,void 0,o)}function vm(e,t,n,r){var a=Gh(),o=void 0===r?null:r,i=void 0;if(null!==Nh){var l=Nh.memoizedState;if(i=l.destroy,null!==o)if(Yh(o,l.deps))return void(a.memoizedState=fm(t,n,i,o))}Dh.flags|=e,a.memoizedState=fm(gh|t,n,i,o)}function gm(e,t){return(Dh.mode&So)!==yo?mm(Ea|da|xa,wh,e,t):mm(da|xa,wh,e,t)}function ym(e,t){return vm(da,wh,e,t)}function bm(e,t){return mm(ra,yh,e,t)}function wm(e,t){return vm(ra,yh,e,t)}function km(e,t){var n=ra;return n|=Sa,(Dh.mode&So)!==yo&&(n|=Ca),mm(n,bh,e,t)}function Sm(e,t){return vm(ra,bh,e,t)}function xm(e,t){if(\\\"function\\\"==typeof t){var n=t,r=e();return n(r),function(){n(null)}}if(null!==t&&void 0!==t){var a=t;a.hasOwnProperty(\\\"current\\\")||o(\\\"Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.\\\",\\\"an object with keys {\\\"+Object.keys(a).join(\\\", \\\")+\\\"}\\\");var i=e();return a.current=i,function(){a.current=null}}}function Cm(e,t,n){\\\"function\\\"!=typeof t&&o(\\\"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.\\\",null!==t?typeof t:\\\"null\\\");var r=null!==n&&void 0!==n?n.concat([e]):null,a=ra;return a|=Sa,(Dh.mode&So)!==yo&&(a|=Ca),mm(a,bh,xm.bind(null,t,e),r)}function Em(e,t,n){\\\"function\\\"!=typeof t&&o(\\\"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.\\\",null!==t?typeof t:\\\"null\\\");var r=null!==n&&void 0!==n?n.concat([e]):null;return vm(ra,bh,xm.bind(null,t,e),r)}function Tm(e,t){}var Rm=Tm;function Pm(e,t){var n=Kh(),r=void 0===t?null:t;return n.memoizedState=[e,r],e}function Dm(e,t){var n=Gh(),r=void 0===t?null:t,a=n.memoizedState;if(null!==a&&(null!==r&&Yh(r,a[1])))return a[0];return n.memoizedState=[e,r],e}function Nm(e,t){var n=Kh(),r=void 0===t?null:t,a=e();return n.memoizedState=[a,r],a}function _m(e,t){var n=Gh(),r=void 0===t?null:t,a=n.memoizedState;if(null!==a&&(null!==r&&Yh(r,a[1])))return a[0];var o=e();return n.memoizedState=[o,r],o}function Im(e){return Kh().memoizedState=e,e}function Lm(e){return Mm(Gh(),Nh.memoizedState,e)}function zm(e){var t=Gh();return null===Nh?(t.memoizedState=e,e):Mm(t,Nh.memoizedState,e)}function Mm(e,t,n){if(!((Ph&(Do|_o|Lo))===Ro)){if(!ju(n,t)){var r=Si();Dh.lanes=Di(Dh.lanes,r),xw(r),e.baseState=!0}return t}return e.baseState&&(e.baseState=!1,Fg()),e.memoizedState=n,n}function Om(){var e=sm(!1),t=e[0],n=e[1],r=function(e,t,n){var r,o,i=Xi();Ki((o=Yi,0!==(r=i)&&r\u003Co?r:o)),e(!0);var l=Rh.transition;Rh.transition={};var u=Rh.transition;Rh.transition._updatedFibers=new Set;try{e(!1),t()}finally{Ki(i),Rh.transition=l,null===l&&u._updatedFibers&&(u._updatedFibers.size>10&&a(\\\"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\\\"),u._updatedFibers.clear())}}.bind(null,n);return Kh().memoizedState=r,[t,r]}function Um(){return[cm()[0],Gh().memoizedState]}function Fm(){return[dm()[0],Gh().memoizedState]}var Am=!1;function jm(){var e,t=Kh(),n=aw().identifierPrefix;if(Lf()){e=\\\":\\\"+n+\\\"R\\\"+ef();var r=zh++;r>0&&(e+=\\\"H\\\"+r.toString(32)),e+=\\\":\\\"}else{e=\\\":\\\"+n+\\\"r\\\"+(Mh++).toString(32)+\\\":\\\"}return t.memoizedState=e,e}function Wm(){return Gh().memoizedState}function Bm(e){var t=e.alternate;return e===Dh||null!==t&&t===Dh}function Hm(e,t){Lh=Ih=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Vm(e,t,n){if(ki(n)){var r=t.lanes,a=Di(r=_i(r,e.pendingLanes),n);t.lanes=a,Oi(e,a)}}function Ym(e,t,n){go(e,t)}var Qm={readContext:Sp,useCallback:Vh,useContext:Vh,useEffect:Vh,useImperativeHandle:Vh,useInsertionEffect:Vh,useLayoutEffect:Vh,useMemo:Vh,useReducer:Vh,useRef:Vh,useState:Vh,useDebugValue:Vh,useDeferredValue:Vh,useTransition:Vh,useMutableSource:Vh,useSyncExternalStore:Vh,useId:Vh,unstable_isNewReconciler:!1},qm=null,$m=null,Xm=null,Km=null,Gm=null,Jm=null,Zm=null,ev=function(){o(\\\"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\\\")},tv=function(){o(\\\"Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://reactjs.org/link/rules-of-hooks\\\")};qm={readContext:function(e){return Sp(e)},useCallback:function(e,t){return Uh=\\\"useCallback\\\",Wh(),Hh(t),Pm(e,t)},useContext:function(e){return Uh=\\\"useContext\\\",Wh(),Sp(e)},useEffect:function(e,t){return Uh=\\\"useEffect\\\",Wh(),Hh(t),gm(e,t)},useImperativeHandle:function(e,t,n){return Uh=\\\"useImperativeHandle\\\",Wh(),Hh(n),Cm(e,t,n)},useInsertionEffect:function(e,t){return Uh=\\\"useInsertionEffect\\\",Wh(),Hh(t),bm(e,t)},useLayoutEffect:function(e,t){return Uh=\\\"useLayoutEffect\\\",Wh(),Hh(t),km(e,t)},useMemo:function(e,t){Uh=\\\"useMemo\\\",Wh(),Hh(t);var n=Th.current;Th.current=Gm;try{return Nm(e,t)}finally{Th.current=n}},useReducer:function(e,t,n){Uh=\\\"useReducer\\\",Wh();var r=Th.current;Th.current=Gm;try{return Zh(e,t,n)}finally{Th.current=r}},useRef:function(e){return Uh=\\\"useRef\\\",Wh(),pm(e)},useState:function(e){Uh=\\\"useState\\\",Wh();var t=Th.current;Th.current=Gm;try{return sm(e)}finally{Th.current=t}},useDebugValue:function(e,t){Uh=\\\"useDebugValue\\\",Wh()},useDeferredValue:function(e){return Uh=\\\"useDeferredValue\\\",Wh(),Im(e)},useTransition:function(){return Uh=\\\"useTransition\\\",Wh(),Om()},useMutableSource:function(e,t,n){Uh=\\\"useMutableSource\\\",Wh()},useSyncExternalStore:function(e,t,n){return Uh=\\\"useSyncExternalStore\\\",Wh(),nm(e,t,n)},useId:function(){return Uh=\\\"useId\\\",Wh(),jm()},unstable_isNewReconciler:!1},$m={readContext:function(e){return Sp(e)},useCallback:function(e,t){return Uh=\\\"useCallback\\\",Bh(),Pm(e,t)},useContext:function(e){return Uh=\\\"useContext\\\",Bh(),Sp(e)},useEffect:function(e,t){return Uh=\\\"useEffect\\\",Bh(),gm(e,t)},useImperativeHandle:function(e,t,n){return Uh=\\\"useImperativeHandle\\\",Bh(),Cm(e,t,n)},useInsertionEffect:function(e,t){return Uh=\\\"useInsertionEffect\\\",Bh(),bm(e,t)},useLayoutEffect:function(e,t){return Uh=\\\"useLayoutEffect\\\",Bh(),km(e,t)},useMemo:function(e,t){Uh=\\\"useMemo\\\",Bh();var n=Th.current;Th.current=Gm;try{return Nm(e,t)}finally{Th.current=n}},useReducer:function(e,t,n){Uh=\\\"useReducer\\\",Bh();var r=Th.current;Th.current=Gm;try{return Zh(e,t,n)}finally{Th.current=r}},useRef:function(e){return Uh=\\\"useRef\\\",Bh(),pm(e)},useState:function(e){Uh=\\\"useState\\\",Bh();var t=Th.current;Th.current=Gm;try{return sm(e)}finally{Th.current=t}},useDebugValue:function(e,t){Uh=\\\"useDebugValue\\\",Bh()},useDeferredValue:function(e){return Uh=\\\"useDeferredValue\\\",Bh(),Im(e)},useTransition:function(){return Uh=\\\"useTransition\\\",Bh(),Om()},useMutableSource:function(e,t,n){Uh=\\\"useMutableSource\\\",Bh()},useSyncExternalStore:function(e,t,n){return Uh=\\\"useSyncExternalStore\\\",Bh(),nm(e,t,n)},useId:function(){return Uh=\\\"useId\\\",Bh(),jm()},unstable_isNewReconciler:!1},Xm={readContext:function(e){return Sp(e)},useCallback:function(e,t){return Uh=\\\"useCallback\\\",Bh(),Dm(e,t)},useContext:function(e){return Uh=\\\"useContext\\\",Bh(),Sp(e)},useEffect:function(e,t){return Uh=\\\"useEffect\\\",Bh(),ym(e,t)},useImperativeHandle:function(e,t,n){return Uh=\\\"useImperativeHandle\\\",Bh(),Em(e,t,n)},useInsertionEffect:function(e,t){return Uh=\\\"useInsertionEffect\\\",Bh(),wm(e,t)},useLayoutEffect:function(e,t){return Uh=\\\"useLayoutEffect\\\",Bh(),Sm(e,t)},useMemo:function(e,t){Uh=\\\"useMemo\\\",Bh();var n=Th.current;Th.current=Jm;try{return _m(e,t)}finally{Th.current=n}},useReducer:function(e,t,n){Uh=\\\"useReducer\\\",Bh();var r=Th.current;Th.current=Jm;try{return em(e)}finally{Th.current=r}},useRef:function(e){return Uh=\\\"useRef\\\",Bh(),hm()},useState:function(e){Uh=\\\"useState\\\",Bh();var t=Th.current;Th.current=Jm;try{return cm()}finally{Th.current=t}},useDebugValue:function(e,t){return Uh=\\\"useDebugValue\\\",Bh(),Rm()},useDeferredValue:function(e){return Uh=\\\"useDeferredValue\\\",Bh(),Lm(e)},useTransition:function(){return Uh=\\\"useTransition\\\",Bh(),Um()},useMutableSource:function(e,t,n){Uh=\\\"useMutableSource\\\",Bh()},useSyncExternalStore:function(e,t,n){return Uh=\\\"useSyncExternalStore\\\",Bh(),rm(e,t)},useId:function(){return Uh=\\\"useId\\\",Bh(),Wm()},unstable_isNewReconciler:!1},Km={readContext:function(e){return Sp(e)},useCallback:function(e,t){return Uh=\\\"useCallback\\\",Bh(),Dm(e,t)},useContext:function(e){return Uh=\\\"useContext\\\",Bh(),Sp(e)},useEffect:function(e,t){return Uh=\\\"useEffect\\\",Bh(),ym(e,t)},useImperativeHandle:function(e,t,n){return Uh=\\\"useImperativeHandle\\\",Bh(),Em(e,t,n)},useInsertionEffect:function(e,t){return Uh=\\\"useInsertionEffect\\\",Bh(),wm(e,t)},useLayoutEffect:function(e,t){return Uh=\\\"useLayoutEffect\\\",Bh(),Sm(e,t)},useMemo:function(e,t){Uh=\\\"useMemo\\\",Bh();var n=Th.current;Th.current=Zm;try{return _m(e,t)}finally{Th.current=n}},useReducer:function(e,t,n){Uh=\\\"useReducer\\\",Bh();var r=Th.current;Th.current=Zm;try{return tm(e)}finally{Th.current=r}},useRef:function(e){return Uh=\\\"useRef\\\",Bh(),hm()},useState:function(e){Uh=\\\"useState\\\",Bh();var t=Th.current;Th.current=Zm;try{return dm()}finally{Th.current=t}},useDebugValue:function(e,t){return Uh=\\\"useDebugValue\\\",Bh(),Rm()},useDeferredValue:function(e){return Uh=\\\"useDeferredValue\\\",Bh(),zm(e)},useTransition:function(){return Uh=\\\"useTransition\\\",Bh(),Fm()},useMutableSource:function(e,t,n){Uh=\\\"useMutableSource\\\",Bh()},useSyncExternalStore:function(e,t,n){return Uh=\\\"useSyncExternalStore\\\",Bh(),rm(e,t)},useId:function(){return Uh=\\\"useId\\\",Bh(),Wm()},unstable_isNewReconciler:!1},Gm={readContext:function(e){return ev(),Sp(e)},useCallback:function(e,t){return Uh=\\\"useCallback\\\",tv(),Wh(),Pm(e,t)},useContext:function(e){return Uh=\\\"useContext\\\",tv(),Wh(),Sp(e)},useEffect:function(e,t){return Uh=\\\"useEffect\\\",tv(),Wh(),gm(e,t)},useImperativeHandle:function(e,t,n){return Uh=\\\"useImperativeHandle\\\",tv(),Wh(),Cm(e,t,n)},useInsertionEffect:function(e,t){return Uh=\\\"useInsertionEffect\\\",tv(),Wh(),bm(e,t)},useLayoutEffect:function(e,t){return Uh=\\\"useLayoutEffect\\\",tv(),Wh(),km(e,t)},useMemo:function(e,t){Uh=\\\"useMemo\\\",tv(),Wh();var n=Th.current;Th.current=Gm;try{return Nm(e,t)}finally{Th.current=n}},useReducer:function(e,t,n){Uh=\\\"useReducer\\\",tv(),Wh();var r=Th.current;Th.current=Gm;try{return Zh(e,t,n)}finally{Th.current=r}},useRef:function(e){return Uh=\\\"useRef\\\",tv(),Wh(),pm(e)},useState:function(e){Uh=\\\"useState\\\",tv(),Wh();var t=Th.current;Th.current=Gm;try{return sm(e)}finally{Th.current=t}},useDebugValue:function(e,t){Uh=\\\"useDebugValue\\\",tv(),Wh()},useDeferredValue:function(e){return Uh=\\\"useDeferredValue\\\",tv(),Wh(),Im(e)},useTransition:function(){return Uh=\\\"useTransition\\\",tv(),Wh(),Om()},useMutableSource:function(e,t,n){Uh=\\\"useMutableSource\\\",tv(),Wh()},useSyncExternalStore:function(e,t,n){return Uh=\\\"useSyncExternalStore\\\",tv(),Wh(),nm(e,t,n)},useId:function(){return Uh=\\\"useId\\\",tv(),Wh(),jm()},unstable_isNewReconciler:!1},Jm={readContext:function(e){return ev(),Sp(e)},useCallback:function(e,t){return Uh=\\\"useCallback\\\",tv(),Bh(),Dm(e,t)},useContext:function(e){return Uh=\\\"useContext\\\",tv(),Bh(),Sp(e)},useEffect:function(e,t){return Uh=\\\"useEffect\\\",tv(),Bh(),ym(e,t)},useImperativeHandle:function(e,t,n){return Uh=\\\"useImperativeHandle\\\",tv(),Bh(),Em(e,t,n)},useInsertionEffect:function(e,t){return Uh=\\\"useInsertionEffect\\\",tv(),Bh(),wm(e,t)},useLayoutEffect:function(e,t){return Uh=\\\"useLayoutEffect\\\",tv(),Bh(),Sm(e,t)},useMemo:function(e,t){Uh=\\\"useMemo\\\",tv(),Bh();var n=Th.current;Th.current=Jm;try{return _m(e,t)}finally{Th.current=n}},useReducer:function(e,t,n){Uh=\\\"useReducer\\\",tv(),Bh();var r=Th.current;Th.current=Jm;try{return em(e)}finally{Th.current=r}},useRef:function(e){return Uh=\\\"useRef\\\",tv(),Bh(),hm()},useState:function(e){Uh=\\\"useState\\\",tv(),Bh();var t=Th.current;Th.current=Jm;try{return cm()}finally{Th.current=t}},useDebugValue:function(e,t){return Uh=\\\"useDebugValue\\\",tv(),Bh(),Rm()},useDeferredValue:function(e){return Uh=\\\"useDeferredValue\\\",tv(),Bh(),Lm(e)},useTransition:function(){return Uh=\\\"useTransition\\\",tv(),Bh(),Um()},useMutableSource:function(e,t,n){Uh=\\\"useMutableSource\\\",tv(),Bh()},useSyncExternalStore:function(e,t,n){return Uh=\\\"useSyncExternalStore\\\",tv(),Bh(),rm(e,t)},useId:function(){return Uh=\\\"useId\\\",tv(),Bh(),Wm()},unstable_isNewReconciler:!1},Zm={readContext:function(e){return ev(),Sp(e)},useCallback:function(e,t){return Uh=\\\"useCallback\\\",tv(),Bh(),Dm(e,t)},useContext:function(e){return Uh=\\\"useContext\\\",tv(),Bh(),Sp(e)},useEffect:function(e,t){return Uh=\\\"useEffect\\\",tv(),Bh(),ym(e,t)},useImperativeHandle:function(e,t,n){return Uh=\\\"useImperativeHandle\\\",tv(),Bh(),Em(e,t,n)},useInsertionEffect:function(e,t){return Uh=\\\"useInsertionEffect\\\",tv(),Bh(),wm(e,t)},useLayoutEffect:function(e,t){return Uh=\\\"useLayoutEffect\\\",tv(),Bh(),Sm(e,t)},useMemo:function(e,t){Uh=\\\"useMemo\\\",tv(),Bh();var n=Th.current;Th.current=Jm;try{return _m(e,t)}finally{Th.current=n}},useReducer:function(e,t,n){Uh=\\\"useReducer\\\",tv(),Bh();var r=Th.current;Th.current=Jm;try{return tm(e)}finally{Th.current=r}},useRef:function(e){return Uh=\\\"useRef\\\",tv(),Bh(),hm()},useState:function(e){Uh=\\\"useState\\\",tv(),Bh();var t=Th.current;Th.current=Jm;try{return dm()}finally{Th.current=t}},useDebugValue:function(e,t){return Uh=\\\"useDebugValue\\\",tv(),Bh(),Rm()},useDeferredValue:function(e){return Uh=\\\"useDeferredValue\\\",tv(),Bh(),zm(e)},useTransition:function(){return Uh=\\\"useTransition\\\",tv(),Bh(),Fm()},useMutableSource:function(e,t,n){Uh=\\\"useMutableSource\\\",tv(),Bh()},useSyncExternalStore:function(e,t,n){return Uh=\\\"useSyncExternalStore\\\",tv(),Bh(),rm(e,t)},useId:function(){return Uh=\\\"useId\\\",tv(),Bh(),Wm()},unstable_isNewReconciler:!1};var nv=Wr,rv=0,av=-1,ov=-1,iv=-1,lv=!1,uv=!1;function sv(){return lv}function cv(){return rv}function dv(){rv=nv()}function fv(e){ov=nv(),e.actualStartTime\u003C0&&(e.actualStartTime=nv())}function pv(e){ov=-1}function hv(e,t){if(ov>=0){var n=nv()-ov;e.actualDuration+=n,t&&(e.selfBaseDuration=n),ov=-1}}function mv(e){if(av>=0){var t=nv()-av;av=-1;for(var n=e.return;null!==n;){switch(n.tag){case c:return void(n.stateNode.effectDuration+=t);case b:return void(n.stateNode.effectDuration+=t)}n=n.return}}}function vv(e){if(iv>=0){var t=nv()-iv;iv=-1;for(var n=e.return;null!==n;){switch(n.tag){case c:var r=n.stateNode;return void(null!==r&&(r.passiveEffectDuration+=t));case b:var a=n.stateNode;return void(null!==a&&(a.passiveEffectDuration+=t))}n=n.return}}}function gv(){av=nv()}function yv(){iv=nv()}function bv(e){for(var t=e.child;t;)e.actualDuration+=t.actualDuration,t=t.sibling}function wv(e,t){if(e&&e.defaultProps){var n=et({},t),r=e.defaultProps;for(var a in r)void 0===n[a]&&(n[a]=r[a]);return n}return t}var kv,Sv,xv,Cv,Ev,Tv,Rv,Pv,Dv,Nv,_v,Iv={};kv=new Set,Sv=new Set,xv=new Set,Cv=new Set,Pv=new Set,Ev=new Set,Dv=new Set,Nv=new Set,_v=new Set;var Lv=new Set;function zv(e,t,n,r){var a=e.memoizedState,o=n(r,a);if(e.mode&ko){ro(!0);try{o=n(r,a)}finally{ro(!1)}}Tv(t,o);var i=null===o||void 0===o?a:et({},a,o);(e.memoizedState=i,e.lanes===Ro)&&(e.updateQueue.baseState=i)}Rv=function(e,t){if(null!==e&&\\\"function\\\"!=typeof e){var n=t+\\\"_\\\"+e;Lv.has(n)||(Lv.add(n),o(\\\"%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.\\\",t,e))}},Tv=function(e,t){if(void 0===t){var n=ht(e)||\\\"Component\\\";Ev.has(n)||(Ev.add(n),o(\\\"%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.\\\",n))}},Object.defineProperty(Iv,\\\"_processChildContext\\\",{enumerable:!1,value:function(){throw new Error(\\\"_processChildContext is not available in React 16+. This likely means you have multiple copies of React and are attempting to nest a React 15 tree inside a React 16 tree using unstable_renderSubtreeIntoContainer, which isn't supported. Try to make sure you have only one copy of React (and ideally, switch to ReactDOM.createPortal).\\\")}}),Object.freeze(Iv);var Mv={isMounted:function(e){var t=_a.current;if(null!==t&&t.tag===u){var n=t,r=n.stateNode;r._warnedAboutRefsInRender||o(\\\"%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.\\\",vt(n)||\\\"A component\\\"),r._warnedAboutRefsInRender=!0}var a=Zr(e);return!!a&&Ia(a)===a},enqueueSetState:function(e,t,n){var r=Zr(e),a=ow(),o=iw(r),i=Fp(a,o);i.payload=t,void 0!==n&&null!==n&&(Rv(n,\\\"setState\\\"),i.callback=n);var l=Ap(r,i,o);null!==l&&(uw(l,r,o,a),jp(l,r,o)),go(r,o)},enqueueReplaceState:function(e,t,n){var r=Zr(e),a=ow(),o=iw(r),i=Fp(a,o);i.tag=Ip,i.payload=t,void 0!==n&&null!==n&&(Rv(n,\\\"replaceState\\\"),i.callback=n);var l=Ap(r,i,o);null!==l&&(uw(l,r,o,a),jp(l,r,o)),go(r,o)},enqueueForceUpdate:function(e,t){var n=Zr(e),r=ow(),a=iw(n),o=Fp(r,a);o.tag=Lp,void 0!==t&&null!==t&&(Rv(t,\\\"forceUpdate\\\"),o.callback=t);var i=Ap(n,o,a);null!==i&&(uw(i,n,a,r),jp(i,n,a)),function(e,t){null!==eo&&\\\"function\\\"==typeof eo.markForceUpdateScheduled&&eo.markForceUpdateScheduled(e,t)}(n,a)}};function Ov(e,t,n,r,a,i,l){var u=e.stateNode;if(\\\"function\\\"==typeof u.shouldComponentUpdate){var s=u.shouldComponentUpdate(r,i,l);if(e.mode&ko){ro(!0);try{s=u.shouldComponentUpdate(r,i,l)}finally{ro(!1)}}return void 0===s&&o(\\\"%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.\\\",ht(t)||\\\"Component\\\"),s}return!t.prototype||!t.prototype.isPureReactComponent||(!Wu(n,r)||!Wu(a,i))}function Uv(e,t){var n;t.updater=Mv,e.stateNode=t,n=e,t._reactInternals=n,t._reactInternalInstance=Iv}function Fv(e,t,n){var r=!1,a=kd,i=kd,l=t.contextType;if(\\\"contextType\\\"in t&&(!(null===l||void 0!==l&&l.$$typeof===Ie&&void 0===l._context)&&!Nv.has(t))){Nv.add(t);var u=\\\"\\\";u=void 0===l?\\\" However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file.\\\":\\\"object\\\"!=typeof l?\\\" However, it is set to a \\\"+typeof l+\\\".\\\":l.$$typeof===_e?\\\" Did you accidentally pass the Context.Provider instead?\\\":void 0!==l._context?\\\" Did you accidentally pass the Context.Consumer instead?\\\":\\\" However, it is set to an object with keys {\\\"+Object.keys(l).join(\\\", \\\")+\\\"}.\\\",o(\\\"%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s\\\",ht(t)||\\\"Component\\\",u)}if(\\\"object\\\"==typeof l&&null!==l)i=Sp(l);else{a=Ed(0,t,!0);var s=t.contextTypes;i=(r=null!==s&&void 0!==s)?Rd(e,a):kd}var c=new t(n,i);if(e.mode&ko){ro(!0);try{c=new t(n,i)}finally{ro(!1)}}var d=e.memoizedState=null!==c.state&&void 0!==c.state?c.state:null;if(Uv(e,c),\\\"function\\\"==typeof t.getDerivedStateFromProps&&null===d){var f=ht(t)||\\\"Component\\\";Sv.has(f)||(Sv.add(f),o(\\\"`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.\\\",f,null===c.state?\\\"null\\\":\\\"undefined\\\",f))}if(\\\"function\\\"==typeof t.getDerivedStateFromProps||\\\"function\\\"==typeof c.getSnapshotBeforeUpdate){var p=null,h=null,m=null;if(\\\"function\\\"==typeof c.componentWillMount&&!0!==c.componentWillMount.__suppressDeprecationWarning?p=\\\"componentWillMount\\\":\\\"function\\\"==typeof c.UNSAFE_componentWillMount&&(p=\\\"UNSAFE_componentWillMount\\\"),\\\"function\\\"==typeof c.componentWillReceiveProps&&!0!==c.componentWillReceiveProps.__suppressDeprecationWarning?h=\\\"componentWillReceiveProps\\\":\\\"function\\\"==typeof c.UNSAFE_componentWillReceiveProps&&(h=\\\"UNSAFE_componentWillReceiveProps\\\"),\\\"function\\\"==typeof c.componentWillUpdate&&!0!==c.componentWillUpdate.__suppressDeprecationWarning?m=\\\"componentWillUpdate\\\":\\\"function\\\"==typeof c.UNSAFE_componentWillUpdate&&(m=\\\"UNSAFE_componentWillUpdate\\\"),null!==p||null!==h||null!==m){var v=ht(t)||\\\"Component\\\",g=\\\"function\\\"==typeof t.getDerivedStateFromProps?\\\"getDerivedStateFromProps()\\\":\\\"getSnapshotBeforeUpdate()\\\";Cv.has(v)||(Cv.add(v),o(\\\"Unsafe legacy lifecycles will not be called for components using new component APIs.\\\\n\\\\n%s uses %s but also contains the following legacy lifecycles:%s%s%s\\\\n\\\\nThe above lifecycles should be removed. Learn more about this warning here:\\\\nhttps://reactjs.org/link/unsafe-component-lifecycles\\\",v,g,null!==p?\\\"\\\\n \\\"+p:\\\"\\\",null!==h?\\\"\\\\n \\\"+h:\\\"\\\",null!==m?\\\"\\\\n \\\"+m:\\\"\\\"))}}return r&&Td(e,a,i),c}function Av(e,t,n,r){var a=t.state;if(\\\"function\\\"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),\\\"function\\\"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==a){var i=vt(e)||\\\"Component\\\";kv.has(i)||(kv.add(i),o(\\\"%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.\\\",i)),Mv.enqueueReplaceState(t,t.state,null)}}function jv(e,t,n,r){!function(e,t,n){var r=e.stateNode,a=ht(t)||\\\"Component\\\";r.render||(t.prototype&&\\\"function\\\"==typeof t.prototype.render?o(\\\"%s(...): No `render` method found on the returned component instance: did you accidentally return an object from the constructor?\\\",a):o(\\\"%s(...): No `render` method found on the returned component instance: you may have forgotten to define `render`.\\\",a)),!r.getInitialState||r.getInitialState.isReactClassApproved||r.state||o(\\\"getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?\\\",a),r.getDefaultProps&&!r.getDefaultProps.isReactClassApproved&&o(\\\"getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.\\\",a),r.propTypes&&o(\\\"propTypes was defined as an instance property on %s. Use a static property to define propTypes instead.\\\",a),r.contextType&&o(\\\"contextType was defined as an instance property on %s. Use a static property to define contextType instead.\\\",a),t.childContextTypes&&!_v.has(t)&&(e.mode&ko)===yo&&(_v.add(t),o(\\\"%s uses the legacy childContextTypes API which is no longer supported and will be removed in the next major release. Use React.createContext() instead\\\\n\\\\n.Learn more about this warning here: https://reactjs.org/link/legacy-context\\\",a)),t.contextTypes&&!_v.has(t)&&(e.mode&ko)===yo&&(_v.add(t),o(\\\"%s uses the legacy contextTypes API which is no longer supported and will be removed in the next major release. Use React.createContext() with static contextType instead.\\\\n\\\\nLearn more about this warning here: https://reactjs.org/link/legacy-context\\\",a)),r.contextTypes&&o(\\\"contextTypes was defined as an instance property on %s. Use a static property to define contextTypes instead.\\\",a),t.contextType&&t.contextTypes&&!Dv.has(t)&&(Dv.add(t),o(\\\"%s declares both contextTypes and contextType static properties. The legacy contextTypes property will be ignored.\\\",a)),\\\"function\\\"==typeof r.componentShouldUpdate&&o(\\\"%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.\\\",a),t.prototype&&t.prototype.isPureReactComponent&&void 0!==r.shouldComponentUpdate&&o(\\\"%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.\\\",ht(t)||\\\"A pure component\\\"),\\\"function\\\"==typeof r.componentDidUnmount&&o(\\\"%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?\\\",a),\\\"function\\\"==typeof r.componentDidReceiveProps&&o(\\\"%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().\\\",a),\\\"function\\\"==typeof r.componentWillRecieveProps&&o(\\\"%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?\\\",a),\\\"function\\\"==typeof r.UNSAFE_componentWillRecieveProps&&o(\\\"%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?\\\",a);var i=r.props!==n;void 0!==r.props&&i&&o(\\\"%s(...): When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.\\\",a,a),r.defaultProps&&o(\\\"Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.\\\",a,a),\\\"function\\\"!=typeof r.getSnapshotBeforeUpdate||\\\"function\\\"==typeof r.componentDidUpdate||xv.has(t)||(xv.add(t),o(\\\"%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.\\\",ht(t))),\\\"function\\\"==typeof r.getDerivedStateFromProps&&o(\\\"%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.\\\",a),\\\"function\\\"==typeof r.getDerivedStateFromError&&o(\\\"%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.\\\",a),\\\"function\\\"==typeof t.getSnapshotBeforeUpdate&&o(\\\"%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.\\\",a);var l=r.state;l&&(\\\"object\\\"!=typeof l||Jt(l))&&o(\\\"%s.state: must be set to an object or null\\\",a),\\\"function\\\"==typeof r.getChildContext&&\\\"object\\\"!=typeof t.childContextTypes&&o(\\\"%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().\\\",a)}(e,t,n);var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs={},Op(e);var i=t.contextType;if(\\\"object\\\"==typeof i&&null!==i)a.context=Sp(i);else{var l=Ed(0,t,!0);a.context=Rd(e,l)}if(a.state===n){var u=ht(t)||\\\"Component\\\";Pv.has(u)||(Pv.add(u),o(\\\"%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.\\\",u))}e.mode&ko&&Uf.recordLegacyContextWarning(e,a),Uf.recordUnsafeLifecycleWarnings(e,a),a.state=e.memoizedState;var s=t.getDerivedStateFromProps;if(\\\"function\\\"==typeof s&&(zv(e,t,s,n),a.state=e.memoizedState),\\\"function\\\"==typeof t.getDerivedStateFromProps||\\\"function\\\"==typeof a.getSnapshotBeforeUpdate||\\\"function\\\"!=typeof a.UNSAFE_componentWillMount&&\\\"function\\\"!=typeof a.componentWillMount||(!function(e,t){var n=t.state;\\\"function\\\"==typeof t.componentWillMount&&t.componentWillMount(),\\\"function\\\"==typeof t.UNSAFE_componentWillMount&&t.UNSAFE_componentWillMount(),n!==t.state&&(o(\\\"%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.\\\",vt(e)||\\\"Component\\\"),Mv.enqueueReplaceState(t,t.state,null))}(e,a),Hp(e,n,a,r),a.state=e.memoizedState),\\\"function\\\"==typeof a.componentDidMount){var c=ra;c|=Sa,(e.mode&So)!==yo&&(c|=Ca),e.flags|=c}}function Wv(e,t){return{value:e,source:t,stack:ft(t),digest:null}}function Bv(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function Hv(e,t){try{0;var n=t.value,r=t.source,a=t.stack,o=null!==a?a:\\\"\\\";if(null!=n&&n._suppressLogging){if(e.tag===u)return;console.error(n)}var i=r?vt(r):null,l=(i?\\\"The above error occurred in the \u003C\\\"+i+\\\"> component:\\\":\\\"The above error occurred in one of your React components:\\\")+\\\"\\\\n\\\"+o+\\\"\\\\n\\\\n\\\"+(e.tag===c?\\\"Consider adding an error boundary to your tree to customize error handling behavior.\\\\nVisit https://reactjs.org/link/error-boundaries to learn more about error boundaries.\\\":\\\"React will try to recreate this component tree from scratch using the error boundary you provided, \\\"+(vt(e)||\\\"Anonymous\\\")+\\\".\\\");console.error(l)}catch(e){setTimeout(function(){throw e})}}var Vv=\\\"function\\\"==typeof WeakMap?WeakMap:Map;function Yv(e,t,n){var r=Fp(di,n);r.tag=zp,r.payload={element:null};var a=t.value;return r.callback=function(){Lw(a),Hv(e,t)},r}function Qv(e,t,n){var r=Fp(di,n);r.tag=zp;var a=e.type.getDerivedStateFromError;if(\\\"function\\\"==typeof a){var i=t.value;r.payload=function(){return a(i)},r.callback=function(){rk(e),Hv(e,t)}}var l=e.stateNode;return null!==l&&\\\"function\\\"==typeof l.componentDidCatch&&(r.callback=function(){var n;rk(e),Hv(e,t),\\\"function\\\"!=typeof a&&(n=this,null===Wb?Wb=new Set([n]):Wb.add(n));var r=t.value,i=t.stack;this.componentDidCatch(r,{componentStack:null!==i?i:\\\"\\\"}),\\\"function\\\"!=typeof a&&(Ri(e.lanes,Do)||o(\\\"%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.\\\",vt(e)||\\\"Unknown\\\"))}),r}function qv(e,t,n){var r,a=e.pingCache;if(null===a?(a=e.pingCache=new Vv,r=new Set,a.set(t,r)):void 0===(r=a.get(t))&&(r=new Set,a.set(t,r)),!r.has(n)){r.add(n);var i=function(e,t,n){var r=e.pingCache;null!==r&&r.delete(t);var a=ow();Mi(e,n),function(e){e.tag!==Ud&&tb()&&null===ib.current&&o(\\\"A suspended resource finished loading inside a test, but the event was not wrapped in act(...).\\\\n\\\\nWhen testing, code that resolves suspended data should be wrapped into act(...):\\\\n\\\\nact(() => {\\\\n /* finish loading suspended data */\\\\n});\\\\n/* assert on the output */\\\\n\\\\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act\\\")}(e),bb===e&&Pi(kb,n)&&(Cb===mb||Cb===hb&&bi(kb)&&Ha()-Ib\u003CLb?bw(e,Ro):Db=Di(Db,n));sw(e,a)}.bind(null,e,t,n);no&&Vw(e,n),t.then(i,i)}}function $v(e){var t=e;do{if(t.tag===w&&hh(t))return t;t=t.return}while(null!==t);return null}function Xv(e,t,n,r,a){if((e.mode&bo)===yo){if(e===t)e.flags|=ya;else{if(e.flags|=la,n.flags|=ba,n.flags&=~(ma|ga),n.tag===u)if(null===n.alternate)n.tag=C;else{var o=Fp(di,Do);o.tag=Lp,Ap(n,o,Do)}n.lanes=Di(n.lanes,Do)}return e}return e.flags|=ya,e.lanes=a,e}function Kv(e,t,n,r,a){if(n.flags|=ga,no&&Vw(e,a),null!==r&&\\\"object\\\"==typeof r&&\\\"function\\\"==typeof r.then){var o=r;!function(e,t){var n=e.tag;if((e.mode&bo)===yo&&(n===l||n===y||n===S)){var r=e.alternate;r?(e.updateQueue=r.updateQueue,e.memoizedState=r.memoizedState,e.lanes=r.lanes):(e.updateQueue=null,e.memoizedState=null)}}(n),Lf()&&n.mode&bo&&hf();var i=$v(t);if(null!==i)return i.flags&=~ua,Xv(i,t,n,0,a),i.mode&bo&&qv(e,o,a),void function(e,t,n,r){var a=e.updateQueue;if(null===a){var o=new Set;o.add(n),e.updateQueue=o}else a.add(n)}(i,0,o);if((a&Do)===Ro)return qv(e,o,a),void Cw();r=new Error(\\\"A component suspended while responding to synchronous input. This will cause the UI to be replaced with a loading indicator. To fix, updates that suspend should be wrapped with startTransition.\\\")}else if(Lf()&&n.mode&bo){hf();var s=$v(t);if(null!==s)return(s.flags&ya)===ea&&(s.flags|=ua),Xv(s,t,n,0,a),void zf(Wv(r,n))}!function(e){Cb!==mb&&(Cb=pb);null===Nb?Nb=[e]:Nb.push(e)}(r=Wv(r,n));var d=t;do{switch(d.tag){case c:var f=r;d.flags|=ya;var p=Ci(a);return d.lanes=Di(d.lanes,p),void Wp(d,Yv(d,f,p));case u:var h=r,m=d.type,v=d.stateNode;if((d.flags&la)===ea&&(\\\"function\\\"==typeof m.getDerivedStateFromError||null!==v&&\\\"function\\\"==typeof v.componentDidCatch&&!Iw(v))){d.flags|=ya;var g=Ci(a);return d.lanes=Di(d.lanes,g),void Wp(d,Qv(d,h,g))}}d=d.return}while(null!==d)}var Gv,Jv,Zv,eg,tg,ng,rg,ag,og,ig=n.ReactCurrentOwner,lg=!1;function ug(e,t,n,r){t.child=null===e?ip(t,null,n,r):op(t,e.child,n,r)}function sg(e,t,n,r,a){if(t.type!==t.elementType){var o=n.propTypes;o&&pd(o,r,\\\"prop\\\",ht(n))}var i,l,u=n.render,s=t.ref;if(kp(t,a),lo(t),ig.current=t,Ct(!0),i=Qh(e,t,u,r,s,a),l=qh(),t.mode&ko){ro(!0);try{i=Qh(e,t,u,r,s,a),l=qh()}finally{ro(!1)}}return Ct(!1),uo(),null===e||lg?(Lf()&&l&&rf(t),t.flags|=ta,ug(e,t,i,a),t.child):($h(e,t,a),jg(e,t,a))}function cg(e,t,n,r,a){if(null===e){var i=n.type;if(function(e){return\\\"function\\\"==typeof e&&!ck(e)&&void 0===e.defaultProps}(i)&&null===n.compare&&void 0===n.defaultProps){var l;return l=Zw(i),t.tag=S,t.type=l,wg(t,i),dg(e,t,l,r,a)}var u=i.propTypes;if(u&&pd(u,r,\\\"prop\\\",ht(i)),void 0!==n.defaultProps){var s=ht(i)||\\\"Unknown\\\";og[s]||(o(\\\"%s: Support for defaultProps will be removed from memo components in a future major release. Use JavaScript default parameters instead.\\\",s),og[s]=!0)}var c=pk(n.type,null,r,t,t.mode,a);return c.ref=t.ref,c.return=t,t.child=c,c}var d=n.type,f=d.propTypes;f&&pd(f,r,\\\"prop\\\",ht(d));var p=e.child;if(!Wg(e,a)){var h=p.memoizedProps,m=n.compare;if((m=null!==m?m:Wu)(h,r)&&e.ref===t.ref)return jg(e,t,a)}t.flags|=ta;var v=dk(p,r);return v.ref=t.ref,v.return=t,t.child=v,v}function dg(e,t,n,r,a){if(t.type!==t.elementType){var o=t.elementType;if(o.$$typeof===Ue){var i=o,l=i._payload,u=i._init;try{o=u(l)}catch(e){o=null}var s=o&&o.propTypes;s&&pd(s,r,\\\"prop\\\",ht(o))}}if(null!==e){var c=e.memoizedProps;if(Wu(c,r)&&e.ref===t.ref&&t.type===e.type){if(lg=!1,t.pendingProps=r=c,!Wg(e,a))return t.lanes=e.lanes,jg(e,t,a);(e.flags&ba)!==ea&&(lg=!0)}}return hg(e,t,n,r,a)}function fg(e,t,n){var r,a=t.pendingProps,o=a.children,i=null!==e?e.memoizedState:null;if(\\\"hidden\\\"===a.mode||z)if((t.mode&bo)===yo){var l={baseLanes:Ro,cachePool:null,transitions:null};t.memoizedState=l,gw(t,n)}else{if(!Ri(n,si)){var u;if(null!==i)u=Di(i.baseLanes,n);else u=n;t.lanes=t.childLanes=Ii(si);var s={baseLanes:u,cachePool:null,transitions:null};return t.memoizedState=s,t.updateQueue=null,gw(t,u),null}var c={baseLanes:Ro,cachePool:null,transitions:null};t.memoizedState=c,gw(t,null!==i?i.baseLanes:n)}else null!==i?(r=Di(i.baseLanes,n),t.memoizedState=null):r=n,gw(t,r);return ug(e,t,o,n),t.child}function pg(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=sa,t.flags|=ka)}function hg(e,t,n,r,a){if(t.type!==t.elementType){var o=n.propTypes;o&&pd(o,r,\\\"prop\\\",ht(n))}var i,l,u;if(i=Rd(t,Ed(0,n,!0)),kp(t,a),lo(t),ig.current=t,Ct(!0),l=Qh(e,t,n,r,i,a),u=qh(),t.mode&ko){ro(!0);try{l=Qh(e,t,n,r,i,a),u=qh()}finally{ro(!1)}}return Ct(!1),uo(),null===e||lg?(Lf()&&u&&rf(t),t.flags|=ta,ug(e,t,l,a),t.child):($h(e,t,a),jg(e,t,a))}function mg(e,t,n,r,a){switch(Lk(t)){case!1:var i=t.stateNode,l=new(0,t.type)(t.memoizedProps,i.context).state;i.updater.enqueueSetState(i,l,null);break;case!0:t.flags|=la,t.flags|=ya;var u=new Error(\\\"Simulated error coming from DevTools\\\"),s=Ci(a);t.lanes=Di(t.lanes,s),Wp(t,Qv(t,Wv(u,t),s))}if(t.type!==t.elementType){var c=n.propTypes;c&&pd(c,r,\\\"prop\\\",ht(n))}var d,f;Dd(n)?(d=!0,zd(t)):d=!1,kp(t,a),null===t.stateNode?(Ag(e,t),Fv(t,n,r),jv(t,n,r,a),f=!0):f=null===e?function(e,t,n,r){var a=e.stateNode,o=e.memoizedProps;a.props=o;var i=a.context,l=t.contextType,u=kd;u=\\\"object\\\"==typeof l&&null!==l?Sp(l):Rd(e,Ed(0,t,!0));var s=t.getDerivedStateFromProps,c=\\\"function\\\"==typeof s||\\\"function\\\"==typeof a.getSnapshotBeforeUpdate;c||\\\"function\\\"!=typeof a.UNSAFE_componentWillReceiveProps&&\\\"function\\\"!=typeof a.componentWillReceiveProps||o===n&&i===u||Av(e,a,n,u),Yp();var d=e.memoizedState,f=a.state=d;if(Hp(e,n,a,r),f=e.memoizedState,o===n&&d===f&&!Pd()&&!Qp()){if(\\\"function\\\"==typeof a.componentDidMount){var p=ra;p|=Sa,(e.mode&So)!==yo&&(p|=Ca),e.flags|=p}return!1}\\\"function\\\"==typeof s&&(zv(e,t,s,n),f=e.memoizedState);var h=Qp()||Ov(e,t,o,n,d,f,u);if(h){if(c||\\\"function\\\"!=typeof a.UNSAFE_componentWillMount&&\\\"function\\\"!=typeof a.componentWillMount||(\\\"function\\\"==typeof a.componentWillMount&&a.componentWillMount(),\\\"function\\\"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),\\\"function\\\"==typeof a.componentDidMount){var m=ra;m|=Sa,(e.mode&So)!==yo&&(m|=Ca),e.flags|=m}}else{if(\\\"function\\\"==typeof a.componentDidMount){var v=ra;v|=Sa,(e.mode&So)!==yo&&(v|=Ca),e.flags|=v}e.memoizedProps=n,e.memoizedState=f}return a.props=n,a.state=f,a.context=u,h}(t,n,r,a):function(e,t,n,r,a){var o=t.stateNode;Up(e,t);var i=t.memoizedProps,l=t.type===t.elementType?i:wv(t.type,i);o.props=l;var u=t.pendingProps,s=o.context,c=n.contextType,d=kd;d=\\\"object\\\"==typeof c&&null!==c?Sp(c):Rd(t,Ed(0,n,!0));var f=n.getDerivedStateFromProps,p=\\\"function\\\"==typeof f||\\\"function\\\"==typeof o.getSnapshotBeforeUpdate;p||\\\"function\\\"!=typeof o.UNSAFE_componentWillReceiveProps&&\\\"function\\\"!=typeof o.componentWillReceiveProps||i===u&&s===d||Av(t,o,r,d),Yp();var h=t.memoizedState,m=o.state=h;if(Hp(t,r,o,a),m=t.memoizedState,i===u&&h===m&&!Pd()&&!Qp()&&!L)return\\\"function\\\"==typeof o.componentDidUpdate&&(i===e.memoizedProps&&h===e.memoizedState||(t.flags|=ra)),\\\"function\\\"==typeof o.getSnapshotBeforeUpdate&&(i===e.memoizedProps&&h===e.memoizedState||(t.flags|=ca)),!1;\\\"function\\\"==typeof f&&(zv(t,n,f,r),m=t.memoizedState);var v=Qp()||Ov(t,n,l,r,h,m,d)||L;return v?(p||\\\"function\\\"!=typeof o.UNSAFE_componentWillUpdate&&\\\"function\\\"!=typeof o.componentWillUpdate||(\\\"function\\\"==typeof o.componentWillUpdate&&o.componentWillUpdate(r,m,d),\\\"function\\\"==typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(r,m,d)),\\\"function\\\"==typeof o.componentDidUpdate&&(t.flags|=ra),\\\"function\\\"==typeof o.getSnapshotBeforeUpdate&&(t.flags|=ca)):(\\\"function\\\"==typeof o.componentDidUpdate&&(i===e.memoizedProps&&h===e.memoizedState||(t.flags|=ra)),\\\"function\\\"==typeof o.getSnapshotBeforeUpdate&&(i===e.memoizedProps&&h===e.memoizedState||(t.flags|=ca)),t.memoizedProps=r,t.memoizedState=m),o.props=r,o.state=m,o.context=d,v}(e,t,n,r,a);var p=vg(e,t,n,f,d,a),h=t.stateNode;return f&&h.props!==r&&(ng||o(\\\"It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.\\\",vt(t)||\\\"a component\\\"),ng=!0),p}function vg(e,t,n,r,a,o){pg(e,t);var i=(t.flags&la)!==ea;if(!r&&!i)return a&&Md(t,n,!1),jg(e,t,o);var l,u=t.stateNode;if(ig.current=t,i&&\\\"function\\\"!=typeof n.getDerivedStateFromError)l=null,pv();else{if(lo(t),Ct(!0),l=u.render(),t.mode&ko){ro(!0);try{u.render()}finally{ro(!1)}}Ct(!1),uo()}return t.flags|=ta,null!==e&&i?function(e,t,n,r){t.child=op(t,e.child,null,r),t.child=op(t,null,n,r)}(e,t,l,o):ug(e,t,l,o),t.memoizedState=u.state,a&&Md(t,n,!0),t.child}function gg(e){var t=e.stateNode;t.pendingContext?Id(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Id(e,t.context,!1),eh(e,t.containerInfo)}function yg(e,t,n,r,a){return _f(),zf(a),t.flags|=ua,ug(e,t,n,r),t.child}function bg(e,t,n,r){Ag(e,t);var a=t.pendingProps,o=n,i=o._payload,c=(0,o._init)(i);t.type=c;var d=t.tag=function(e){if(\\\"function\\\"==typeof e)return ck(e)?u:l;if(void 0!==e&&null!==e){var t=e.$$typeof;if(t===Le)return y;if(t===Oe)return k}return s}(c),f=wv(c,a);switch(d){case l:return wg(t,c),t.type=c=Zw(c),hg(null,t,c,f,r);case u:return t.type=c=ek(c),mg(null,t,c,f,r);case y:return t.type=c=tk(c),sg(null,t,c,f,r);case k:if(t.type!==t.elementType){var p=c.propTypes;p&&pd(p,f,\\\"prop\\\",ht(c))}return cg(null,t,c,wv(c.type,f),r)}var h=\\\"\\\";throw null!==c&&\\\"object\\\"==typeof c&&c.$$typeof===Ue&&(h=\\\" Did you wrap a component in React.lazy() more than once?\\\"),new Error(\\\"Element type is invalid. Received a promise that resolves to: \\\"+c+\\\". Lazy element type must resolve to a class or function.\\\"+h)}function wg(e,t){if(t&&t.childContextTypes&&o(\\\"%s(...): childContextTypes cannot be defined on a function component.\\\",t.displayName||t.name||\\\"Component\\\"),null!==e.ref){var n=\\\"\\\",r=wt();r&&(n+=\\\"\\\\n\\\\nCheck the render method of `\\\"+r+\\\"`.\\\");var a=r||\\\"\\\",i=e._debugSource;i&&(a=i.fileName+\\\":\\\"+i.lineNumber),tg[a]||(tg[a]=!0,o(\\\"Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?%s\\\",n))}if(void 0!==t.defaultProps){var l=ht(t)||\\\"Unknown\\\";og[l]||(o(\\\"%s: Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.\\\",l),og[l]=!0)}if(\\\"function\\\"==typeof t.getDerivedStateFromProps){var u=ht(t)||\\\"Unknown\\\";eg[u]||(o(\\\"%s: Function components do not support getDerivedStateFromProps.\\\",u),eg[u]=!0)}if(\\\"object\\\"==typeof t.contextType&&null!==t.contextType){var s=ht(t)||\\\"Unknown\\\";Zv[s]||(o(\\\"%s: Function components do not support contextType.\\\",s),Zv[s]=!0)}}Gv={},Jv={},Zv={},eg={},tg={},ng=!1,rg={},ag={},og={};var kg={dehydrated:null,treeContext:null,retryLane:Po};function Sg(e){return{baseLanes:e,cachePool:null,transitions:null}}function xg(e,t,n){var r=t.pendingProps;zk(t)&&(t.flags|=la);var a=uh.current,i=!1,l=(t.flags&la)!==ea;if(l||function(e,t,n,r){return(null===t||null!==t.memoizedState)&&sh(e,lh)}(a,e)?(i=!0,t.flags&=~la):null!==e&&null===e.memoizedState||(a=a|ih),fh(t,a=ch(a)),null===e){Cf(t);var u=t.memoizedState;if(null!==u){var s=u.dehydrated;if(null!==s)return function(e,t,n){(e.mode&bo)===yo?(o(\\\"Cannot hydrate Suspense in legacy mode. Switch from ReactDOM.hydrate(element, container) to ReactDOMClient.hydrateRoot(container, \u003CApp />).render(element) or remove the Suspense components from the server rendered components.\\\"),e.lanes=Ii(Do)):Hc(t)?e.lanes=Ii(Io):e.lanes=Ii(si);return null}(t,s)}var c=r.children,d=r.fallback;if(i){var f=function(e,t,n,r){var a,o,i=e.mode,l=e.child,u={mode:\\\"hidden\\\",children:t};(i&bo)===yo&&null!==l?((a=l).childLanes=Ro,a.pendingProps=u,e.mode&wo&&(a.actualDuration=0,a.actualStartTime=-1,a.selfBaseDuration=0,a.treeBaseDuration=0),o=mk(n,i,r,null)):(a=Eg(u,i),o=mk(n,i,r,null));return a.return=e,o.return=e,a.sibling=o,e.child=a,o}(t,c,d,n);return t.child.memoizedState=Sg(n),t.memoizedState=kg,f}return Cg(t,c)}var p=e.memoizedState;if(null!==p){var h=p.dehydrated;if(null!==h)return function(e,t,n,r,a,o,i){if(n){if(t.flags&ua){t.flags&=~ua;var l=Bv(new Error(\\\"There was an error while hydrating this Suspense boundary. Switched to client rendering.\\\"));return Rg(e,t,i,l)}if(null!==t.memoizedState)return t.child=e.child,t.flags|=la,null;var u=r.children,s=r.fallback,c=function(e,t,n,r,a){var o=t.mode,i=Eg({mode:\\\"visible\\\",children:n},o),l=mk(r,o,a,null);l.flags|=na,i.return=t,l.return=t,i.sibling=l,t.child=i,(t.mode&bo)!==yo&&op(t,e.child,null,a);return l}(e,t,u,s,i),d=t.child;return d.memoizedState=Sg(i),t.memoizedState=kg,c}if(pf(),(t.mode&bo)===yo)return Rg(e,t,i,null);if(Hc(a)){var f,p,h,m=function(e){var t,n,r,a=e.nextSibling&&e.nextSibling.dataset;return a&&(t=a.dgst,n=a.msg,r=a.stck),{message:n,digest:t,stack:r}}(a);f=m.digest,p=m.message,h=m.stack;var v=Bv(p?new Error(p):new Error(\\\"The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering.\\\"),f,h);return Rg(e,t,i,v)}var g=Ri(i,e.childLanes);if(lg||g){var y=aw();if(null!==y){var b=function(e,t){var n;switch(xi(t)){case _o:n=No;break;case Lo:n=Io;break;case Oo:case Uo:case Fo:case Ao:case jo:case Wo:case Bo:case Ho:case Vo:case Yo:case Qo:case qo:case $o:case Xo:case Ko:case Go:case Zo:case ei:case ti:case ni:case ri:n=zo;break;case ui:n=li;break;default:n=Po}return(n&(e.suspendedLanes|t))!==Po?Po:n}(y,i);if(b!==Po&&b!==o.retryLane){o.retryLane=b;var w=di;Tp(e,b),uw(y,e,b,w)}}Cw();var k=Bv(new Error(\\\"This Suspense boundary received an update before it finished hydrating. This caused the boundary to switch to client rendering. The usual way to fix this is to wrap the original update in startTransition.\\\"));return Rg(e,t,i,k)}if(Bc(a)){t.flags|=la,t.child=e.child;var S=function(e){var t=e.memoizedState,n=Po;null!==t&&(n=t.retryLane);Ow(e,n)}.bind(null,e);return E=S,a._reactRetry=E,null}vf(t,a,o.treeContext);var x=r.children,C=Cg(t,x);return C.flags|=fa,C;var E}(e,t,l,r,h,p,n)}if(i){var m=r.fallback,v=function(e,t,n,r,a){var o,i,l=t.mode,u=e.child,s=u.sibling,c={mode:\\\"hidden\\\",children:n};if((l&bo)===yo&&t.child!==u){var d=t.child;(o=d).childLanes=Ro,o.pendingProps=c,t.mode&wo&&(o.actualDuration=0,o.actualStartTime=-1,o.selfBaseDuration=u.selfBaseDuration,o.treeBaseDuration=u.treeBaseDuration),t.deletions=null}else(o=Tg(u,c)).subtreeFlags=u.subtreeFlags&Na;null!==s?i=dk(s,r):(i=mk(r,l,a,null)).flags|=na;return i.return=t,o.return=t,o.sibling=i,t.child=o,i}(e,t,r.children,m,n),g=t.child,y=e.child.memoizedState;return g.memoizedState=null===y?Sg(n):function(e,t){return{baseLanes:Di(e.baseLanes,t),cachePool:null,transitions:e.transitions}}(y,n),g.childLanes=function(e,t){return Ni(e.childLanes,t)}(e,n),t.memoizedState=kg,v}var b=function(e,t,n,r){var a=e.child,o=a.sibling,i=Tg(a,{mode:\\\"visible\\\",children:n});(t.mode&bo)===yo&&(i.lanes=r);if(i.return=t,i.sibling=null,null!==o){var l=t.deletions;null===l?(t.deletions=[o],t.flags|=aa):l.push(o)}return t.child=i,i}(e,t,r.children,n);return t.memoizedState=null,b}function Cg(e,t,n){var r=Eg({mode:\\\"visible\\\",children:t},e.mode);return r.return=e,e.child=r,r}function Eg(e,t,n){return vk(e,t,Ro,null)}function Tg(e,t){return dk(e,t)}function Rg(e,t,n,r){null!==r&&zf(r),op(t,e.child,null,n);var a=Cg(t,t.pendingProps.children);return a.flags|=na,t.memoizedState=null,a}function Pg(e,t,n){e.lanes=Di(e.lanes,t);var r=e.alternate;null!==r&&(r.lanes=Di(r.lanes,t)),bp(e.return,t,n)}function Dg(e,t){var n=Jt(e),r=!n&&\\\"function\\\"==typeof Qe(e);if(n||r){var a=n?\\\"array\\\":\\\"iterable\\\";return o(\\\"A nested %s was passed to row #%s in \u003CSuspenseList />. Wrap it in an additional SuspenseList to configure its revealOrder: \u003CSuspenseList revealOrder=...> ... \u003CSuspenseList revealOrder=...>{%s}\u003C/SuspenseList> ... \u003C/SuspenseList>\\\",a,t,a),!1}return!0}function Ng(e,t,n,r,a){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=a)}function _g(e,t,n){var r=t.pendingProps,a=r.revealOrder,i=r.tail,l=r.children;!function(e){if(void 0!==e&&\\\"forwards\\\"!==e&&\\\"backwards\\\"!==e&&\\\"together\\\"!==e&&!rg[e])if(rg[e]=!0,\\\"string\\\"==typeof e)switch(e.toLowerCase()){case\\\"together\\\":case\\\"forwards\\\":case\\\"backwards\\\":o('\\\"%s\\\" is not a valid value for revealOrder on \u003CSuspenseList />. Use lowercase \\\"%s\\\" instead.',e,e.toLowerCase());break;case\\\"forward\\\":case\\\"backward\\\":o('\\\"%s\\\" is not a valid value for revealOrder on \u003CSuspenseList />. React uses the -s suffix in the spelling. Use \\\"%ss\\\" instead.',e,e.toLowerCase());break;default:o('\\\"%s\\\" is not a supported revealOrder on \u003CSuspenseList />. Did you mean \\\"together\\\", \\\"forwards\\\" or \\\"backwards\\\"?',e)}else o('%s is not a supported value for revealOrder on \u003CSuspenseList />. Did you mean \\\"together\\\", \\\"forwards\\\" or \\\"backwards\\\"?',e)}(a),function(e,t){void 0===e||ag[e]||(\\\"collapsed\\\"!==e&&\\\"hidden\\\"!==e?(ag[e]=!0,o('\\\"%s\\\" is not a supported value for tail on \u003CSuspenseList />. Did you mean \\\"collapsed\\\" or \\\"hidden\\\"?',e)):\\\"forwards\\\"!==t&&\\\"backwards\\\"!==t&&(ag[e]=!0,o('\u003CSuspenseList tail=\\\"%s\\\" /> is only valid if revealOrder is \\\"forwards\\\" or \\\"backwards\\\". Did you mean to specify revealOrder=\\\"forwards\\\"?',e)))}(i,a),function(e,t){if((\\\"forwards\\\"===t||\\\"backwards\\\"===t)&&void 0!==e&&null!==e&&!1!==e)if(Jt(e)){for(var n=0;n\u003Ce.length;n++)if(!Dg(e[n],n))return}else{var r=Qe(e);if(\\\"function\\\"==typeof r){var a=r.call(e);if(a)for(var i=a.next(),l=0;!i.done;i=a.next()){if(!Dg(i.value,l))return;l++}}else o('A single row was passed to a \u003CSuspenseList revealOrder=\\\"%s\\\" />. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?',t)}}(l,a),ug(e,t,l,n);var u=uh.current;sh(u,lh)?(u=dh(u,lh),t.flags|=la):(null!==e&&(e.flags&la)!==ea&&function(e,t,n){for(var r=t;null!==r;){if(r.tag===w)null!==r.memoizedState&&Pg(r,n,e);else if(r.tag===T)Pg(r,n,e);else if(null!==r.child){r.child.return=r,r=r.child;continue}if(r===e)return;for(;null===r.sibling;){if(null===r.return||r.return===e)return;r=r.return}r.sibling.return=r.return,r=r.sibling}}(t,t.child,n),u=ch(u));if(fh(t,u),(t.mode&bo)===yo)t.memoizedState=null;else switch(a){case\\\"forwards\\\":var s,c=function(e){for(var t=e,n=null;null!==t;){var r=t.alternate;null!==r&&null===mh(r)&&(n=t),t=t.sibling}return n}(t.child);null===c?(s=t.child,t.child=null):(s=c.sibling,c.sibling=null),Ng(t,!1,s,c,i);break;case\\\"backwards\\\":var d=null,f=t.child;for(t.child=null;null!==f;){var p=f.alternate;if(null!==p&&null===mh(p)){t.child=f;break}var h=f.sibling;f.sibling=d,d=f,f=h}Ng(t,!0,d,null,i);break;case\\\"together\\\":Ng(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}var Ig=!1;var Lg,zg,Mg,Og,Ug=!1;function Fg(){lg=!0}function Ag(e,t){(t.mode&bo)===yo&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=na)}function jg(e,t,n){return null!==e&&(t.dependencies=e.dependencies),pv(),xw(t.lanes),Ri(n,t.childLanes)?(function(e,t){if(null!==e&&t.child!==e.child)throw new Error(\\\"Resuming work not yet implemented.\\\");if(null!==t.child){var n=t.child,r=dk(n,n.pendingProps);for(t.child=r,r.return=t;null!==n.sibling;)n=n.sibling,(r=r.sibling=dk(n,n.pendingProps)).return=t;r.sibling=null}}(e,t),t.child):null}function Wg(e,t){return!!Ri(e.lanes,t)}function Bg(e,t,n){if(t._debugNeedsRemount&&null!==e)return function(e,t,n){var r=t.return;if(null===r)throw new Error(\\\"Cannot swap the root fiber.\\\");if(e.alternate=null,t.alternate=null,n.index=t.index,n.sibling=t.sibling,n.return=t.return,n.ref=t.ref,t===r.child)r.child=n;else{var a=r.child;if(null===a)throw new Error(\\\"Expected parent to have a child.\\\");for(;a.sibling!==t;)if(null===(a=a.sibling))throw new Error(\\\"Expected to find the previous sibling.\\\");a.sibling=n}var o=r.deletions;return null===o?(r.deletions=[e],r.flags|=aa):o.push(e),n.flags|=na,n}(e,t,pk(t.type,t.key,t.pendingProps,t._debugOwner||null,t.mode,t.lanes));if(null!==e)if(e.memoizedProps!==t.pendingProps||Pd()||t.type!==e.type)lg=!0;else{if(!Wg(e,n)&&(t.flags&la)===ea)return lg=!1,function(e,t,n){switch(t.tag){case c:gg(t),t.stateNode,_f();break;case f:rh(t);break;case u:Dd(t.type)&&zd(t);break;case d:eh(t,t.stateNode.containerInfo);break;case g:var r=t.memoizedProps.value;gp(t,t.type._context,r);break;case b:Ri(n,t.childLanes)&&(t.flags|=ra);var a=t.stateNode;a.effectDuration=0,a.passiveEffectDuration=0;break;case w:var o=t.memoizedState;if(null!==o){if(null!==o.dehydrated)return fh(t,ch(uh.current)),t.flags|=la,null;if(Ri(n,t.child.childLanes))return xg(e,t,n);fh(t,ch(uh.current));var i=jg(e,t,n);return null!==i?i.sibling:null}fh(t,ch(uh.current));break;case T:var l=(e.flags&la)!==ea,s=Ri(n,t.childLanes);if(l){if(s)return _g(e,t,n);t.flags|=la}var p=t.memoizedState;if(null!==p&&(p.rendering=null,p.tail=null,p.lastEffect=null),fh(t,uh.current),s)break;return null;case P:case D:return t.lanes=Ro,fg(e,t,n)}return jg(e,t,n)}(e,t,n);lg=(e.flags&ba)!==ea}else if(lg=!1,Lf()&&function(e){return lf(),(e.flags&wa)!==ea}(t)){var r=t.index;nf(t,(lf(),$d),r)}switch(t.lanes=Ro,t.tag){case s:return function(e,t,n,r){Ag(e,t);var a,i,s,c=t.pendingProps;if(a=Rd(t,Ed(0,n,!1)),kp(t,r),lo(t),n.prototype&&\\\"function\\\"==typeof n.prototype.render){var d=ht(n)||\\\"Unknown\\\";Gv[d]||(o(\\\"The \u003C%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.\\\",d,d),Gv[d]=!0)}if(t.mode&ko&&Uf.recordLegacyContextWarning(t,null),Ct(!0),ig.current=t,i=Qh(null,t,n,c,a,r),s=qh(),Ct(!1),uo(),t.flags|=ta,\\\"object\\\"==typeof i&&null!==i&&\\\"function\\\"==typeof i.render&&void 0===i.$$typeof){var f=ht(n)||\\\"Unknown\\\";Jv[f]||(o(\\\"The \u003C%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.\\\",f,f,f),Jv[f]=!0)}if(\\\"object\\\"==typeof i&&null!==i&&\\\"function\\\"==typeof i.render&&void 0===i.$$typeof){var p=ht(n)||\\\"Unknown\\\";Jv[p]||(o(\\\"The \u003C%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.\\\",p,p,p),Jv[p]=!0),t.tag=u,t.memoizedState=null,t.updateQueue=null;var h=!1;return Dd(n)?(h=!0,zd(t)):h=!1,t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,Op(t),Uv(t,i),jv(t,n,c,r),vg(null,t,n,!0,h,r)}if(t.tag=l,t.mode&ko){ro(!0);try{i=Qh(null,t,n,c,a,r),s=qh()}finally{ro(!1)}}return Lf()&&s&&rf(t),ug(null,t,i,r),wg(t,n),t.child}(e,t,t.type,n);case x:return bg(e,t,t.elementType,n);case l:var a=t.type,i=t.pendingProps;return hg(e,t,a,t.elementType===a?i:wv(a,i),n);case u:var E=t.type,N=t.pendingProps;return mg(e,t,E,t.elementType===E?N:wv(E,N),n);case c:return function(e,t,n){if(gg(t),null===e)throw new Error(\\\"Should have a current fiber. This is a bug in React.\\\");var r=t.pendingProps,a=t.memoizedState,o=a.element;Up(e,t),Hp(t,r,null,n);var i=t.memoizedState,l=(t.stateNode,i.element);if(a.isDehydrated){var u={element:l,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions};if(t.updateQueue.baseState=u,t.memoizedState=u,t.flags&ua)return yg(e,t,l,n,Wv(new Error(\\\"There was an error while hydrating. Because the error happened outside of a Suspense boundary, the entire root will switch to client rendering.\\\"),t));if(l!==o)return yg(e,t,l,n,Wv(new Error(\\\"This root received an early update, before anything was able hydrate. Switched the entire root to client rendering.\\\"),t));mf(t);var s=ip(t,null,l,n);t.child=s;for(var c=s;c;)c.flags=c.flags&~na|fa,c=c.sibling}else{if(_f(),l===o)return jg(e,t,n);ug(e,t,l,n)}return t.child}(e,t,n);case f:return function(e,t,n){rh(t),null===e&&Cf(t);var r=t.type,a=t.pendingProps,o=null!==e?e.memoizedProps:null,i=a.children;return Dc(r,a)?i=null:null!==o&&Dc(r,o)&&(t.flags|=oa),pg(e,t),ug(e,t,i,n),t.child}(e,t,n);case p:return function(e,t){return null===e&&Cf(t),null}(e,t);case w:return xg(e,t,n);case d:return function(e,t,n){eh(t,t.stateNode.containerInfo);var r=t.pendingProps;return null===e?t.child=op(t,null,r,n):ug(e,t,r,n),t.child}(e,t,n);case y:var _=t.type,I=t.pendingProps;return sg(e,t,_,t.elementType===_?I:wv(_,I),n);case h:return function(e,t,n){return ug(e,t,t.pendingProps,n),t.child}(e,t,n);case m:return function(e,t,n){return ug(e,t,t.pendingProps.children,n),t.child}(e,t,n);case b:return function(e,t,n){t.flags|=ra;var r=t.stateNode;return r.effectDuration=0,r.passiveEffectDuration=0,ug(e,t,t.pendingProps.children,n),t.child}(e,t,n);case g:return function(e,t,n){var r=t.type._context,a=t.pendingProps,i=t.memoizedProps,l=a.value;\\\"value\\\"in a||Ig||(Ig=!0,o(\\\"The `value` prop is required for the `\u003CContext.Provider>`. Did you misspell it or forget to pass it?\\\"));var u=t.type.propTypes;if(u&&pd(u,a,\\\"prop\\\",\\\"Context.Provider\\\"),gp(t,r,l),null!==i){var s=i.value;if(ju(s,l)){if(i.children===a.children&&!Pd())return jg(e,t,n)}else wp(t,r,n)}return ug(e,t,a.children,n),t.child}(e,t,n);case v:return function(e,t,n){var r=t.type;void 0===r._context?r!==r.Consumer&&(Ug||(Ug=!0,o(\\\"Rendering \u003CContext> directly is not supported and will be removed in a future major release. Did you mean to render \u003CContext.Consumer> instead?\\\"))):r=r._context;var a=t.pendingProps.children;\\\"function\\\"!=typeof a&&o(\\\"A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it.\\\"),kp(t,n);var i,l=Sp(r);return lo(t),ig.current=t,Ct(!0),i=a(l),Ct(!1),uo(),t.flags|=ta,ug(e,t,i,n),t.child}(e,t,n);case k:var L=t.type,z=wv(L,t.pendingProps);if(t.type!==t.elementType){var M=L.propTypes;M&&pd(M,z,\\\"prop\\\",ht(L))}return cg(e,t,L,z=wv(L.type,z),n);case S:return dg(e,t,t.type,t.pendingProps,n);case C:var O=t.type,U=t.pendingProps;return function(e,t,n,r,a){var o;return Ag(e,t),t.tag=u,Dd(n)?(o=!0,zd(t)):o=!1,kp(t,a),Fv(t,n,r),jv(t,n,r,a),vg(null,t,n,!0,o,a)}(e,t,O,t.elementType===O?U:wv(O,U),n);case T:return _g(e,t,n);case R:break;case P:return fg(e,t,n)}throw new Error(\\\"Unknown unit of work tag (\\\"+t.tag+\\\"). This error is likely caused by a bug in React. Please file an issue.\\\")}function Hg(e){e.flags|=ra}function Vg(e){e.flags|=sa,e.flags|=ka}function Yg(e,t){if(!Lf())switch(e.tailMode){case\\\"hidden\\\":for(var n=e.tail,r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?e.tail=null:r.sibling=null;break;case\\\"collapsed\\\":for(var a=e.tail,o=null;null!==a;)null!==a.alternate&&(o=a),a=a.sibling;null===o?t||null===e.tail?e.tail=null:e.tail.sibling=null:o.sibling=null}}function Qg(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=Ro,r=ea;if(t){if((e.mode&wo)!==yo){for(var a=e.selfBaseDuration,o=e.child;null!==o;)n=Di(n,Di(o.lanes,o.childLanes)),r|=o.subtreeFlags&Na,r|=o.flags&Na,a+=o.treeBaseDuration,o=o.sibling;e.treeBaseDuration=a}else for(var i=e.child;null!==i;)n=Di(n,Di(i.lanes,i.childLanes)),r|=i.subtreeFlags&Na,r|=i.flags&Na,i.return=e,i=i.sibling;e.subtreeFlags|=r}else{if((e.mode&wo)!==yo){for(var l=e.actualDuration,u=e.selfBaseDuration,s=e.child;null!==s;)n=Di(n,Di(s.lanes,s.childLanes)),r|=s.subtreeFlags,r|=s.flags,l+=s.actualDuration,u+=s.treeBaseDuration,s=s.sibling;e.actualDuration=l,e.treeBaseDuration=u}else for(var c=e.child;null!==c;)n=Di(n,Di(c.lanes,c.childLanes)),r|=c.subtreeFlags,r|=c.flags,c.return=e,c=c.sibling;e.subtreeFlags|=r}return e.childLanes=n,t}function qg(e,t,n){if(cf&&null!==sf&&(t.mode&bo)!==yo&&(t.flags&la)===ea)return Nf(t),_f(),t.flags|=ua|ga|ya,!1;var r=Df(t);if(null!==n&&null!==n.dehydrated){if(null===e){if(!r)throw new Error(\\\"A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.\\\");if(Tf(t),Qg(t),(t.mode&wo)!==yo)if(null!==n){var a=t.child;null!==a&&(t.treeBaseDuration-=a.treeBaseDuration)}return!1}if(_f(),(t.flags&la)===ea&&(t.memoizedState=null),t.flags|=ra,Qg(t),(t.mode&wo)!==yo&&null!==n){var o=t.child;null!==o&&(t.treeBaseDuration-=o.treeBaseDuration)}return!1}return If(),!0}function $g(e,t,n){var r=t.pendingProps;switch(of(t),t.tag){case s:case x:case S:case l:case y:case h:case m:case b:case v:case k:return Qg(t),null;case u:return Dd(t.type)&&Nd(t),Qg(t),null;case c:var a=t.stateNode;if(th(t),_d(t),Sh(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),null===e||null===e.child)if(Df(t))Hg(t);else if(null!==e)e.memoizedState.isDehydrated&&(t.flags&ua)===ea||(t.flags|=ca,If());return zg(e,t),Qg(t),null;case f:ah(t);var o=Zp(),i=t.type;if(null!==e&&null!=t.stateNode)Mg(e,t,i,r,o),e.ref!==t.ref&&Vg(t);else{if(!r){if(null===t.stateNode)throw new Error(\\\"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\\\");return Qg(t),null}var E=nh();if(Df(t))(function(e,t,n){var r=e.stateNode,a=!df,o=Qc(r,e.type,e.memoizedProps,0,n,e,a);return e.updateQueue=o,null!==o})(t,0,E)&&Hg(t);else{var I=Pc(i,r,o,E,t);Lg(I,t,!1,!1),t.stateNode=I,function(e,t,n,r,a){switch(rc(e,t,n),t){case\\\"button\\\":case\\\"input\\\":case\\\"select\\\":case\\\"textarea\\\":return!!n.autoFocus;case\\\"img\\\":return!0;default:return!1}}(I,i,r)&&Hg(t)}null!==t.ref&&Vg(t)}return Qg(t),null;case p:var L=r;if(e&&null!=t.stateNode){var O=e.memoizedProps;Og(e,t,O,L)}else{if(\\\"string\\\"!=typeof L&&null===t.stateNode)throw new Error(\\\"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\\\");var U=Zp(),F=nh();Df(t)?Ef(t)&&Hg(t):t.stateNode=Nc(L,U,F,t)}return Qg(t),null;case w:ph(t);var A=t.memoizedState;if(null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated)if(!qg(e,t,A))return t.flags&ya?t:null;if((t.flags&la)!==ea)return t.lanes=n,(t.mode&wo)!==yo&&bv(t),t;var j=null!==A;if(j!==(null!==e&&null!==e.memoizedState))if(j)if(t.child.flags|=pa,(t.mode&bo)!==yo)null===e&&(!0!==t.memoizedProps.unstable_avoidThisFallback||!M)||sh(uh.current,ih)?Cb===db&&(Cb=hb):Cw();if(null!==t.updateQueue&&(t.flags|=ra),Qg(t),(t.mode&wo)!==yo&&j){var W=t.child;null!==W&&(t.treeBaseDuration-=W.treeBaseDuration)}return null;case d:return th(t),zg(e,t),null===e&&Rs(t.stateNode.containerInfo),Qg(t),null;case g:return yp(t.type._context,t),Qg(t),null;case C:return Dd(t.type)&&Nd(t),Qg(t),null;case T:ph(t);var B=t.memoizedState;if(null===B)return Qg(t),null;var H=(t.flags&la)!==ea,V=B.rendering;if(null===V)if(H)Yg(B,!1);else{if(!(Cb===db&&(null===e||(e.flags&la)===ea)))for(var Y=t.child;null!==Y;){var Q=mh(Y);if(null!==Q){H=!0,t.flags|=la,Yg(B,!1);var q=Q.updateQueue;return null!==q&&(t.updateQueue=q,t.flags|=ra),t.subtreeFlags=ea,lp(t,n),fh(t,dh(uh.current,lh)),t.child}Y=Y.sibling}null!==B.tail&&Ha()>Fb()&&(t.flags|=la,H=!0,Yg(B,!1),t.lanes=ai)}else{if(!H){var $=mh(V);if(null!==$){t.flags|=la,H=!0;var X=$.updateQueue;if(null!==X&&(t.updateQueue=X,t.flags|=ra),Yg(B,!0),null===B.tail&&\\\"hidden\\\"===B.tailMode&&!V.alternate&&!Lf())return Qg(t),null}else 2*Ha()-B.renderingStartTime>Fb()&&n!==si&&(t.flags|=la,H=!0,Yg(B,!1),t.lanes=ai)}if(B.isBackwards)V.sibling=t.child,t.child=V;else{var K=B.last;null!==K?K.sibling=V:t.child=V,B.last=V}}if(null!==B.tail){var G=B.tail;B.rendering=G,B.tail=G.sibling,B.renderingStartTime=Ha(),G.sibling=null;var J=uh.current;return fh(t,J=H?dh(J,lh):ch(J)),G}return Qg(t),null;case R:break;case P:case D:yw(t);var Z=null!==t.memoizedState;if(null!==e)null!==e.memoizedState===Z||z||(t.flags|=pa);return Z&&(t.mode&bo)!==yo?Ri(Sb,si)&&(Qg(t),t.subtreeFlags&(na|ra)&&(t.flags|=pa)):Qg(t),null;case N:case _:return null}throw new Error(\\\"Unknown unit of work tag (\\\"+t.tag+\\\"). This error is likely caused by a bug in React. Please file an issue.\\\")}function Xg(e,t,n){switch(of(t),t.tag){case u:Dd(t.type)&&Nd(t);var r=t.flags;return r&ya?(t.flags=r&~ya|la,(t.mode&wo)!==yo&&bv(t),t):null;case c:t.stateNode;th(t),_d(t),Sh();var a=t.flags;return(a&ya)!==ea&&(a&la)===ea?(t.flags=a&~ya|la,t):null;case f:return ah(t),null;case w:ph(t);var o=t.memoizedState;if(null!==o&&null!==o.dehydrated){if(null===t.alternate)throw new Error(\\\"Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.\\\");_f()}var i=t.flags;return i&ya?(t.flags=i&~ya|la,(t.mode&wo)!==yo&&bv(t),t):null;case T:return ph(t),null;case d:return th(t),null;case g:return yp(t.type._context,t),null;case P:case D:return yw(t),null;case N:default:return null}}function Kg(e,t,n){switch(of(t),t.tag){case u:var r=t.type.childContextTypes;null!==r&&void 0!==r&&Nd(t);break;case c:t.stateNode;th(t),_d(t),Sh();break;case f:ah(t);break;case d:th(t);break;case w:case T:ph(t);break;case g:yp(t.type._context,t);break;case P:case D:yw(t)}}Lg=function(e,t,n,r){for(var a,o,i=t.child;null!==i;){if(i.tag===f||i.tag===p)a=e,o=i.stateNode,a.appendChild(o);else if(i.tag===d);else if(null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)return;for(;null===i.sibling;){if(null===i.return||i.return===t)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},zg=function(e,t){},Mg=function(e,t,n,r,a){var o=e.memoizedProps;if(o!==r){var i=function(e,t,n,r,a,o){var i=o;if(typeof r.children!=typeof n.children&&(\\\"string\\\"==typeof r.children||\\\"number\\\"==typeof r.children)){var l=\\\"\\\"+r.children,u=dc(i.ancestorInfo,t);cc(null,l,u)}return ac(e,t,n,r)}(t.stateNode,n,o,r,0,nh());t.updateQueue=i,i&&Hg(t)}},Og=function(e,t,n,r){n!==r&&Hg(t)};var Gg=null;Gg=new Set;var Jg=!1,Zg=!1,ey=\\\"function\\\"==typeof WeakSet?WeakSet:Set,ty=null,ny=null,ry=null;var ay=function(e,t){if(t.props=e.memoizedProps,t.state=e.memoizedState,e.mode&wo)try{gv(),t.componentWillUnmount()}finally{mv(e)}else t.componentWillUnmount()};function oy(e,t){try{my(bh,e)}catch(n){Mw(e,t,n)}}function iy(e,t,n){try{ay(e,n)}catch(n){Mw(e,t,n)}}function ly(e,t){try{by(e)}catch(n){Mw(e,t,n)}}function uy(e,t){var n=e.ref;if(null!==n)if(\\\"function\\\"==typeof n){var r;try{if(j&&W&&e.mode&wo)try{gv(),r=n(null)}finally{mv(e)}else r=n(null)}catch(n){Mw(e,t,n)}\\\"function\\\"==typeof r&&o(\\\"Unexpected return value from a callback ref in %s. A callback ref should not return a function.\\\",vt(e))}else n.current=null}function sy(e,t,n){try{n()}catch(n){Mw(e,t,n)}}var cy=!1;function dy(e,t){Rc(e.containerInfo),ty=t,function(){for(;null!==ty;){var e=ty,t=e.child;(e.subtreeFlags&Ta)!==ea&&null!==t?(t.return=e,ty=t):fy()}}();var n=cy;return cy=!1,null,n}function fy(){for(;null!==ty;){var e=ty;xt(e);try{py(e)}catch(t){Mw(e,e.return,t)}St();var t=e.sibling;if(null!==t)return t.return=e.return,void(ty=t);ty=e.return}}function py(e){var t,n=e.alternate;if((e.flags&ca)!==ea){switch(xt(e),e.tag){case l:case y:case S:break;case u:if(null!==n){var r=n.memoizedProps,a=n.memoizedState,i=e.stateNode;e.type!==e.elementType||ng||(i.props!==e.memoizedProps&&o(\\\"Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\\\",vt(e)||\\\"instance\\\"),i.state!==e.memoizedState&&o(\\\"Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\\\",vt(e)||\\\"instance\\\"));var s=i.getSnapshotBeforeUpdate(e.elementType===e.type?r:wv(e.type,r),a),h=Gg;void 0!==s||h.has(e.type)||(h.add(e.type),o(\\\"%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.\\\",vt(e))),i.__reactInternalSnapshotBeforeUpdate=s}break;case c:var m=e.stateNode;(t=m.containerInfo).nodeType===yn?t.textContent=\\\"\\\":t.nodeType===kn&&t.documentElement&&t.removeChild(t.documentElement);break;case f:case p:case d:case C:break;default:throw new Error(\\\"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\\\")}St()}}function hy(e,t,n){var r,a=t.updateQueue,o=null!==a?a.lastEffect:null;if(null!==o){var i=o.next,l=i;do{if((l.tag&e)===e){var u=l.destroy;l.destroy=void 0,void 0!==u&&((e&wh)!==vh?(r=t,null!==eo&&\\\"function\\\"==typeof eo.markComponentPassiveEffectUnmountStarted&&eo.markComponentPassiveEffectUnmountStarted(r)):(e&bh)!==vh&&co(t),(e&yh)!==vh&&Xw(!0),sy(t,n,u),(e&yh)!==vh&&Xw(!1),(e&wh)!==vh?null!==eo&&\\\"function\\\"==typeof eo.markComponentPassiveEffectUnmountStopped&&eo.markComponentPassiveEffectUnmountStopped():(e&bh)!==vh&&fo())}l=l.next}while(l!==i)}}function my(e,t){var n,r=t.updateQueue,a=null!==r?r.lastEffect:null;if(null!==a){var i=a.next,l=i;do{if((l.tag&e)===e){(e&wh)!==vh?(n=t,null!==eo&&\\\"function\\\"==typeof eo.markComponentPassiveEffectMountStarted&&eo.markComponentPassiveEffectMountStarted(n)):(e&bh)!==vh&&so(t);var u=l.create;(e&yh)!==vh&&Xw(!0),l.destroy=u(),(e&yh)!==vh&&Xw(!1),(e&wh)!==vh?null!==eo&&\\\"function\\\"==typeof eo.markComponentPassiveEffectMountStopped&&eo.markComponentPassiveEffectMountStopped():(e&bh)!==vh&&null!==eo&&\\\"function\\\"==typeof eo.markComponentLayoutEffectMountStopped&&eo.markComponentLayoutEffectMountStopped();var s=l.destroy;if(void 0!==s&&\\\"function\\\"!=typeof s){var c=void 0;o(\\\"%s must not return anything besides a function, which is used for clean-up.%s\\\",c=(l.tag&bh)!==ea?\\\"useLayoutEffect\\\":(l.tag&yh)!==ea?\\\"useInsertionEffect\\\":\\\"useEffect\\\",null===s?\\\" You returned null. If your effect does not require clean up, return undefined (or nothing).\\\":\\\"function\\\"==typeof s.then?\\\"\\\\n\\\\nIt looks like you wrote \\\"+c+\\\"(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:\\\\n\\\\n\\\"+c+\\\"(() => {\\\\n async function fetchData() {\\\\n // You can await here\\\\n const response = await MyAPI.getData(someId);\\\\n // ...\\\\n }\\\\n fetchData();\\\\n}, [someId]); // Or [] if effect doesn't need props or state\\\\n\\\\nLearn more about data fetching with Hooks: https://reactjs.org/link/hooks-data-fetching\\\":\\\" You returned: \\\"+s)}}l=l.next}while(l!==i)}}function vy(e,t){if((t.flags&ra)!==ea)switch(t.tag){case b:var n=t.stateNode.passiveEffectDuration,r=t.memoizedProps,a=r.id,o=r.onPostCommit,i=cv(),l=null===t.alternate?\\\"mount\\\":\\\"update\\\";sv()&&(l=\\\"nested-update\\\"),\\\"function\\\"==typeof o&&o(a,l,n,i);var u=t.return;e:for(;null!==u;){switch(u.tag){case c:u.stateNode.passiveEffectDuration+=n;break e;case b:u.stateNode.passiveEffectDuration+=n;break e}u=u.return}}}function gy(e,t,n,r){if((n.flags&Pa)!==ea)switch(n.tag){case l:case y:case S:if(!Zg)if(n.mode&wo)try{gv(),my(bh|gh,n)}finally{mv(n)}else my(bh|gh,n);break;case u:var a=n.stateNode;if(n.flags&ra&&!Zg)if(null===t)if(n.type!==n.elementType||ng||(a.props!==n.memoizedProps&&o(\\\"Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\\\",vt(n)||\\\"instance\\\"),a.state!==n.memoizedState&&o(\\\"Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\\\",vt(n)||\\\"instance\\\")),n.mode&wo)try{gv(),a.componentDidMount()}finally{mv(n)}else a.componentDidMount();else{var i=n.elementType===n.type?t.memoizedProps:wv(n.type,t.memoizedProps),s=t.memoizedState;if(n.type!==n.elementType||ng||(a.props!==n.memoizedProps&&o(\\\"Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\\\",vt(n)||\\\"instance\\\"),a.state!==n.memoizedState&&o(\\\"Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\\\",vt(n)||\\\"instance\\\")),n.mode&wo)try{gv(),a.componentDidUpdate(i,s,a.__reactInternalSnapshotBeforeUpdate)}finally{mv(n)}else a.componentDidUpdate(i,s,a.__reactInternalSnapshotBeforeUpdate)}var h=n.updateQueue;null!==h&&(n.type!==n.elementType||ng||(a.props!==n.memoizedProps&&o(\\\"Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\\\",vt(n)||\\\"instance\\\"),a.state!==n.memoizedState&&o(\\\"Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\\\",vt(n)||\\\"instance\\\")),qp(0,h,a));break;case c:var m=n.updateQueue;if(null!==m){var v=null;if(null!==n.child)switch(n.child.tag){case f:v=Tc(n.child.stateNode);break;case u:v=n.child.stateNode}qp(0,m,v)}break;case f:var g=n.stateNode;if(null===t&&n.flags&ra)!function(e,t,n,r){switch(t){case\\\"button\\\":case\\\"input\\\":case\\\"select\\\":case\\\"textarea\\\":return void(n.autoFocus&&e.focus());case\\\"img\\\":n.src&&(e.src=n.src)}}(g,n.type,n.memoizedProps);break;case p:case d:break;case b:var k=n.memoizedProps,x=k.onCommit,E=k.onRender,N=n.stateNode.effectDuration,I=cv(),L=null===t?\\\"mount\\\":\\\"update\\\";sv()&&(L=\\\"nested-update\\\"),\\\"function\\\"==typeof E&&E(n.memoizedProps.id,L,n.actualDuration,n.treeBaseDuration,n.actualStartTime,I),\\\"function\\\"==typeof x&&x(n.memoizedProps.id,L,N,I),M=n,Yb.push(M),Bb||(Bb=!0,Qw(qa,function(){return _w(),null}));var z=n.return;e:for(;null!==z;){switch(z.tag){case c:z.stateNode.effectDuration+=N;break e;case b:z.stateNode.effectDuration+=N;break e}z=z.return}break;case w:!function(e,t){if(null===t.memoizedState){var n=t.alternate;if(null!==n){var r=n.memoizedState;if(null!==r){var a=r.dehydrated;null!==a&&function(e){gl(e)}(a)}}}}(0,n);break;case T:case C:case R:case P:case D:case _:break;default:throw new Error(\\\"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\\\")}var M;Zg||n.flags&sa&&by(n)}function yy(e){switch(e.tag){case l:case y:case S:if(e.mode&wo)try{gv(),oy(e,e.return)}finally{mv(e)}else oy(e,e.return);break;case u:var t=e.stateNode;\\\"function\\\"==typeof t.componentDidMount&&function(e,t,n){try{n.componentDidMount()}catch(n){Mw(e,t,n)}}(e,e.return,t),ly(e,e.return);break;case f:ly(e,e.return)}}function by(e){var t=e.ref;if(null!==t){var n,r=e.stateNode;switch(e.tag){case f:n=Tc(r);break;default:n=r}if(\\\"function\\\"==typeof t){var a;if(e.mode&wo)try{gv(),a=t(n)}finally{mv(e)}else a=t(n);\\\"function\\\"==typeof a&&o(\\\"Unexpected return value from a callback ref in %s. A callback ref should not return a function.\\\",vt(e))}else t.hasOwnProperty(\\\"current\\\")||o(\\\"Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().\\\",vt(e)),t.current=n}}function wy(e){var t,n=e.alternate;if(null!==n&&(e.alternate=null,wy(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===f){var r=e.stateNode;null!==r&&(delete(t=r)[Xc],delete t[Kc],delete t[Jc],delete t[Zc],delete t[ed])}e.stateNode=null,e._debugOwner=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ky(e){return e.tag===f||e.tag===c||e.tag===d}function Sy(e){var t=e;e:for(;;){for(;null===t.sibling;){if(null===t.return||ky(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==f&&t.tag!==p&&t.tag!==E;){if(t.flags&na)continue e;if(null===t.child||t.tag===d)continue e;t.child.return=t,t=t.child}if(!(t.flags&na))return t.stateNode}}function xy(e){var t=function(e){for(var t=e.return;null!==t;){if(ky(t))return t;t=t.return}throw new Error(\\\"Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.\\\")}(e);switch(t.tag){case f:var n=t.stateNode;t.flags&oa&&(Uc(n),t.flags&=~oa),function e(t,n,r){var a=t.tag;var o=a===f||a===p;if(o){var i=t.stateNode;n?function(e,t,n){e.insertBefore(t,n)}(r,i,n):function(e,t){e.appendChild(t)}(r,i)}else if(a===d);else{var l=t.child;if(null!==l){e(l,n,r);for(var u=l.sibling;null!==u;)e(u,n,r),u=u.sibling}}}(e,Sy(e),n);break;case c:case d:var r=t.stateNode.containerInfo;!function e(t,n,r){var a=t.tag;var o=a===f||a===p;if(o){var i=t.stateNode;n?function(e,t,n){e.nodeType===wn?e.parentNode.insertBefore(t,n):e.insertBefore(t,n)}(r,i,n):function(e,t){var n;e.nodeType===wn?(n=e.parentNode).insertBefore(t,e):(n=e).appendChild(t);var r=e._reactRootContainer;null!==r&&void 0!==r||null!==n.onclick||nc(n)}(r,i)}else if(a===d);else{var l=t.child;if(null!==l){e(l,n,r);for(var u=l.sibling;null!==u;)e(u,n,r),u=u.sibling}}}(e,Sy(e),r);break;default:throw new Error(\\\"Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue.\\\")}}var Cy=null,Ey=!1;function Ty(e,t,n){var r,a,o=t;e:for(;null!==o;){switch(o.tag){case f:Cy=o.stateNode,Ey=!1;break e;case c:case d:Cy=o.stateNode.containerInfo,Ey=!0;break e}o=o.return}if(null===Cy)throw new Error(\\\"Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.\\\");Py(e,t,n),Cy=null,Ey=!1,null!==(a=(r=n).alternate)&&(a.return=null),r.return=null}function Ry(e,t,n){for(var r=n.child;null!==r;)Py(e,t,r),r=r.sibling}function Py(e,t,n){switch(function(e){if(Za&&\\\"function\\\"==typeof Za.onCommitFiberUnmount)try{Za.onCommitFiberUnmount(Ja,e)}catch(e){to||(to=!0,o(\\\"React instrumentation encountered an error: %s\\\",e))}}(n),n.tag){case f:Zg||uy(n,t);case p:var r=Cy,a=Ey;return Cy=null,Ry(e,t,n),Ey=a,void(null!==(Cy=r)&&(Ey?(T=Cy,D=n.stateNode,T.nodeType===wn?T.parentNode.removeChild(D):T.removeChild(D)):function(e,t){e.removeChild(t)}(Cy,n.stateNode)));case E:return void(null!==Cy&&(Ey?function(e,t){e.nodeType===wn?Fc(e.parentNode,t):e.nodeType===yn&&Fc(e,t),gl(e)}(Cy,n.stateNode):Fc(Cy,n.stateNode)));case d:var i=Cy,s=Ey;return Cy=n.stateNode.containerInfo,Ey=!0,Ry(e,t,n),Cy=i,void(Ey=s);case l:case y:case k:case S:if(!Zg){var c=n.updateQueue;if(null!==c){var h=c.lastEffect;if(null!==h){var m=h.next,v=m;do{var g=v,b=g.destroy,w=g.tag;void 0!==b&&((w&yh)!==vh?sy(n,t,b):(w&bh)!==vh&&(co(n),n.mode&wo?(gv(),sy(n,t,b),mv(n)):sy(n,t,b),fo())),v=v.next}while(v!==m)}}}return void Ry(e,t,n);case u:if(!Zg){uy(n,t);var x=n.stateNode;\\\"function\\\"==typeof x.componentWillUnmount&&iy(n,t,x)}return void Ry(e,t,n);case R:return void Ry(e,t,n);case P:if(n.mode&bo){var C=Zg;Zg=C||null!==n.memoizedState,Ry(e,t,n),Zg=C}else Ry(e,t,n);break;default:return void Ry(e,t,n)}var T,D}function Dy(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new ey),t.forEach(function(t){var r=function(e,t){var n,r=Po;switch(e.tag){case w:n=e.stateNode;var a=e.memoizedState;null!==a&&(r=a.retryLane);break;case T:n=e.stateNode;break;default:throw new Error(\\\"Pinged unknown suspense boundary type. This is probably a bug in React.\\\")}null!==n&&n.delete(t);Ow(e,r)}.bind(null,e,t);if(!n.has(t)){if(n.add(t),no){if(null===ny||null===ry)throw Error(\\\"Expected finished root and lanes to be set. This is a bug in React.\\\");Vw(ry,ny)}t.then(r,r)}})}}function Ny(e,t,n){var r=t.deletions;if(null!==r)for(var a=0;a\u003Cr.length;a++){var o=r[a];try{Ty(e,t,o)}catch(e){Mw(o,t,e)}}var i=yt;if(t.subtreeFlags&Ra)for(var l=t.child;null!==l;)xt(l),_y(l,e),l=l.sibling;xt(i)}function _y(e,t,n){var r=e.alternate,a=e.flags;switch(e.tag){case l:case y:case k:case S:if(Ny(t,e),Iy(e),a&ra){try{hy(yh|gh,e,e.return),my(yh|gh,e)}catch(t){Mw(e,e.return,t)}if(e.mode&wo){try{gv(),hy(bh|gh,e,e.return)}catch(t){Mw(e,e.return,t)}mv(e)}else try{hy(bh|gh,e,e.return)}catch(t){Mw(e,e.return,t)}}return;case u:return Ny(t,e),Iy(e),void(a&sa&&null!==r&&uy(r,r.return));case f:if(Ny(t,e),Iy(e),a&sa&&null!==r&&uy(r,r.return),e.flags&oa){var o=e.stateNode;try{Uc(o)}catch(t){Mw(e,e.return,t)}}if(a&ra){var i=e.stateNode;if(null!=i){var s=e.memoizedProps,h=null!==r?r.memoizedProps:s,m=e.type,v=e.updateQueue;if(e.updateQueue=null,null!==v)try{!function(e,t,n,r,a,o){oc(e,t,n,r,a),sd(e,a)}(i,v,m,h,s)}catch(t){Mw(e,e.return,t)}}}return;case p:if(Ny(t,e),Iy(e),a&ra){if(null===e.stateNode)throw new Error(\\\"This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue.\\\");var g=e.stateNode,b=e.memoizedProps;null!==r&&r.memoizedProps;try{!function(e,t,n){e.nodeValue=n}(g,0,b)}catch(t){Mw(e,e.return,t)}}return;case c:if(Ny(t,e),Iy(e),a&ra)if(null!==r)if(r.memoizedState.isDehydrated)try{gl(t.containerInfo)}catch(t){Mw(e,e.return,t)}return;case d:return Ny(t,e),void Iy(e);case w:Ny(t,e),Iy(e);var x=e.child;if(x.flags&pa){var C=x.stateNode,E=null!==x.memoizedState;if(C.isHidden=E,E)null!==x.alternate&&null!==x.alternate.memoizedState||(Ib=Ha())}if(a&ra){try{!function(e){e.memoizedState}(e)}catch(t){Mw(e,e.return,t)}Dy(e)}return;case P:var N=null!==r&&null!==r.memoizedState;if(e.mode&bo){var _=Zg;Zg=_||N,Ny(t,e),Zg=_}else Ny(t,e);if(Iy(e),a&pa){var I=e.stateNode,L=null!==e.memoizedState,z=e;if(I.isHidden=L,L&&!N&&(z.mode&bo)!==yo){ty=z;for(var M=z.child;null!==M;)ty=M,My(M),M=M.sibling}!function(e,t){for(var n=null,r=e;;){if(r.tag===f){if(null===n){n=r;try{var a=r.stateNode;t?Ac(a):jc(r.stateNode,r.memoizedProps)}catch(t){Mw(e,e.return,t)}}}else if(r.tag===p){if(null===n)try{var o=r.stateNode;t?o.nodeValue=\\\"\\\":Wc(o,r.memoizedProps)}catch(t){Mw(e,e.return,t)}}else if((r.tag!==P&&r.tag!==D||null===r.memoizedState||r===e)&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===e)return;for(;null===r.sibling;){if(null===r.return||r.return===e)return;n===r&&(n=null),r=r.return}n===r&&(n=null),r.sibling.return=r.return,r=r.sibling}}(z,L)}return;case T:return Ny(t,e),Iy(e),void(a&ra&&Dy(e));case R:return;default:return Ny(t,e),void Iy(e)}}function Iy(e){var t=e.flags;if(t&na){try{xy(e)}catch(t){Mw(e,e.return,t)}e.flags&=~na}t&fa&&(e.flags&=~fa)}function Ly(e,t,n){ny=n,ry=t,ty=e,function e(t,n,r){var a=(t.mode&bo)!==yo;for(;null!==ty;){var o=ty,i=o.child;if(o.tag===P&&a){var l=null!==o.memoizedState,u=l||Jg;if(u){zy(t,n,r);continue}var s=o.alternate,c=null!==s&&null!==s.memoizedState,d=c||Zg,f=Jg,p=Zg;Jg=u,(Zg=d)&&!p&&(ty=o,Uy(o));for(var h=i;null!==h;)ty=h,e(h,n,r),h=h.sibling;ty=o,Jg=f,Zg=p,zy(t,n,r)}else(o.subtreeFlags&Pa)!==ea&&null!==i?(i.return=o,ty=i):zy(t,n,r)}}(e,t,n),ny=null,ry=null}function zy(e,t,n){for(;null!==ty;){var r=ty;if((r.flags&Pa)!==ea){var a=r.alternate;xt(r);try{gy(0,a,r)}catch(e){Mw(r,r.return,e)}St()}if(r===e)return void(ty=null);var o=r.sibling;if(null!==o)return o.return=r.return,void(ty=o);ty=r.return}}function My(e){for(;null!==ty;){var t=ty,n=t.child;switch(t.tag){case l:case y:case k:case S:if(t.mode&wo)try{gv(),hy(bh,t,t.return)}finally{mv(t)}else hy(bh,t,t.return);break;case u:uy(t,t.return);var r=t.stateNode;\\\"function\\\"==typeof r.componentWillUnmount&&iy(t,t.return,r);break;case f:uy(t,t.return);break;case P:if(null!==t.memoizedState){Oy(e);continue}}null!==n?(n.return=t,ty=n):Oy(e)}}function Oy(e){for(;null!==ty;){var t=ty;if(t===e)return void(ty=null);var n=t.sibling;if(null!==n)return n.return=t.return,void(ty=n);ty=t.return}}function Uy(e){for(;null!==ty;){var t=ty,n=t.child;if(t.tag===P)if(null!==t.memoizedState){Fy(e);continue}null!==n?(n.return=t,ty=n):Fy(e)}}function Fy(e){for(;null!==ty;){var t=ty;xt(t);try{yy(t)}catch(e){Mw(t,t.return,e)}if(St(),t===e)return void(ty=null);var n=t.sibling;if(null!==n)return n.return=t.return,void(ty=n);ty=t.return}}function Ay(e,t,n,r){ty=t,function(e,t,n,r){for(;null!==ty;){var a=ty,o=a.child;(a.subtreeFlags&Da)!==ea&&null!==o?(o.return=a,ty=o):jy(e,t,n,r)}}(t,e,n,r)}function jy(e,t,n,r){for(;null!==ty;){var a=ty;if((a.flags&da)!==ea){xt(a);try{Wy(t,a,n,r)}catch(e){Mw(a,a.return,e)}St()}if(a===e)return void(ty=null);var o=a.sibling;if(null!==o)return o.return=a.return,void(ty=o);ty=a.return}}function Wy(e,t,n,r){switch(t.tag){case l:case y:case S:if(t.mode&wo){yv();try{my(wh|gh,t)}finally{vv(t)}}else my(wh|gh,t)}}function By(e){ty=e,function(){for(;null!==ty;){var e=ty,t=e.child;if((ty.flags&aa)!==ea){var n=e.deletions;if(null!==n){for(var r=0;r\u003Cn.length;r++){var a=n[r];ty=a,Yy(a,e)}var o=e.alternate;if(null!==o){var i=o.child;if(null!==i){o.child=null;do{var l=i.sibling;i.sibling=null,i=l}while(null!==i)}}ty=e}}(e.subtreeFlags&Da)!==ea&&null!==t?(t.return=e,ty=t):Hy()}}()}function Hy(){for(;null!==ty;){var e=ty;(e.flags&da)!==ea&&(xt(e),Vy(e),St());var t=e.sibling;if(null!==t)return t.return=e.return,void(ty=t);ty=e.return}}function Vy(e){switch(e.tag){case l:case y:case S:e.mode&wo?(yv(),hy(wh|gh,e,e.return),vv(e)):hy(wh|gh,e,e.return)}}function Yy(e,t){for(;null!==ty;){var n=ty;xt(n),qy(n,t),St();var r=n.child;null!==r?(r.return=n,ty=r):Qy(e)}}function Qy(e){for(;null!==ty;){var t=ty,n=t.sibling,r=t.return;if(wy(t),t===e)return void(ty=null);if(null!==n)return n.return=r,void(ty=n);ty=r}}function qy(e,t){switch(e.tag){case l:case y:case S:e.mode&wo?(yv(),hy(wh,e,t),vv(e)):hy(wh,e,t)}}function $y(e){switch(e.tag){case l:case y:case S:try{my(bh|gh,e)}catch(t){Mw(e,e.return,t)}break;case u:var t=e.stateNode;try{t.componentDidMount()}catch(t){Mw(e,e.return,t)}}}function Xy(e){switch(e.tag){case l:case y:case S:try{my(wh|gh,e)}catch(t){Mw(e,e.return,t)}}}function Ky(e){switch(e.tag){case l:case y:case S:try{hy(bh|gh,e,e.return)}catch(t){Mw(e,e.return,t)}break;case u:var t=e.stateNode;\\\"function\\\"==typeof t.componentWillUnmount&&iy(e,e.return,t)}}function Gy(e){switch(e.tag){case l:case y:case S:try{hy(wh|gh,e,e.return)}catch(t){Mw(e,e.return,t)}}}if(\\\"function\\\"==typeof Symbol&&Symbol.for){var Jy=Symbol.for;Jy(\\\"selector.component\\\"),Jy(\\\"selector.has_pseudo_class\\\"),Jy(\\\"selector.role\\\"),Jy(\\\"selector.test_id\\\"),Jy(\\\"selector.text\\\")}var Zy=[];var eb=n.ReactCurrentActQueue;function tb(){var e=\\\"undefined\\\"!=typeof IS_REACT_ACT_ENVIRONMENT?IS_REACT_ACT_ENVIRONMENT:void 0;return e||null===eb.current||o(\\\"The current testing environment is not configured to support act(...)\\\"),e}var nb=Math.ceil,rb=n.ReactCurrentDispatcher,ab=n.ReactCurrentOwner,ob=n.ReactCurrentBatchConfig,ib=n.ReactCurrentActQueue,lb=0,ub=1,sb=2,cb=4,db=0,fb=1,pb=2,hb=3,mb=4,vb=5,gb=6,yb=lb,bb=null,wb=null,kb=Ro,Sb=Ro,xb=yd(Ro),Cb=db,Eb=null,Tb=Ro,Rb=Ro,Pb=Ro,Db=Ro,Nb=null,_b=null,Ib=0,Lb=500,zb=1/0,Mb=500,Ob=null;function Ub(){zb=Ha()+Mb}function Fb(){return zb}var Ab=!1,jb=null,Wb=null,Bb=!1,Hb=null,Vb=Ro,Yb=[],Qb=null,qb=50,$b=0,Xb=null,Kb=!1,Gb=!1,Jb=50,Zb=0,ew=null,tw=di,nw=Ro,rw=!1;function aw(){return bb}function ow(){return(yb&(sb|cb))!==lb?Ha():tw!==di?tw:tw=Ha()}function iw(e){if((e.mode&bo)===yo)return Do;if((yb&sb)!==lb&&kb!==Ro)return Ci(kb);if(Mf.transition!==Of){if(null!==ob.transition){var t=ob.transition;t._updatedFibers||(t._updatedFibers=new Set),t._updatedFibers.add(e)}return nw===Po&&(nw=Si()),nw}var n,r=Xi();return r!==Po?r:void 0===(n=window.event)?Qi:Tl(n.type)}function lw(e){var t;return(e.mode&bo)===yo?Do:(t=pi,((pi\u003C\u003C=1)&Jo)===Ro&&(pi=Zo),t)}function uw(e,t,n,r){!function(){if($b>qb)throw $b=0,Xb=null,new Error(\\\"Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.\\\");Zb>Jb&&(Zb=0,ew=null,o(\\\"Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.\\\"))}(),rw&&o(\\\"useInsertionEffect must not schedule updates.\\\"),Kb&&(Gb=!0),zi(e,n,r),(yb&sb)!==Ro&&e===bb?function(e){if(bt&&!Am)switch(e.tag){case l:case y:case S:var t=wb&&vt(wb)||\\\"Unknown\\\",n=t;if(!Bw.has(n)){Bw.add(n);var r=vt(e)||\\\"Unknown\\\";o(\\\"Cannot update a component (`%s`) while rendering a different component (`%s`). To locate the bad setState() call inside `%s`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render\\\",r,t,t)}break;case u:Hw||(o(\\\"Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state.\\\"),Hw=!0)}}(t):(no&&Ui(e,t,n),function(e){if(e.mode&bo){if(!tb())return}else{if(t=\\\"undefined\\\"!=typeof IS_REACT_ACT_ENVIRONMENT?IS_REACT_ACT_ENVIRONMENT:void 0,\\\"undefined\\\"==typeof jest||!1===t)return;if(yb!==lb)return;if(e.tag!==l&&e.tag!==y&&e.tag!==S)return}var t;if(null===ib.current){var n=yt;try{xt(e),o(\\\"An update to %s inside a test was not wrapped in act(...).\\\\n\\\\nWhen testing, code that causes React state updates should be wrapped into act(...):\\\\n\\\\nact(() => {\\\\n /* fire events that update state */\\\\n});\\\\n/* assert on the output */\\\\n\\\\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act\\\",vt(e))}finally{n?xt(e):St()}}}(t),e===bb&&((yb&sb)===lb&&(Pb=Di(Pb,n)),Cb===mb&&fw(e,kb)),sw(e,r),n!==Do||yb!==lb||(t.mode&bo)!==yo||ib.isBatchingLegacy||(Ub(),Hd()))}function sw(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.pendingLanes,r=e.suspendedLanes,a=e.pingedLanes,o=e.expirationTimes,i=n;i>0;){var l=Ei(i),u=1\u003C\u003Cl,s=o[l];s===di?(u&r)!==Ro&&(u&a)===Ro||(o[l]=vi(u,t)):s\u003C=t&&(e.expiredLanes|=u),i&=~u}}(e,t);var r=mi(e,e===bb?kb:Ro);if(r===Ro)return null!==n&&qw(n),e.callbackNode=null,void(e.callbackPriority=Po);var a=xi(r),i=e.callbackPriority;if(i!==a||null!==ib.current&&n!==Yw){var l,u;if(null!=n&&qw(n),a===Do)e.tag===Ud?(null!==ib.isBatchingLegacy&&(ib.didScheduleLegacyUpdate=!0),u=pw.bind(null,e),jd=!0,Bd(u)):Bd(pw.bind(null,e)),null!==ib.current?ib.current.push(Vd):Mc(function(){(yb&(sb|cb))===lb&&Vd()}),l=null;else{var s;switch(Ji(r)){case Vi:s=Ya;break;case Yi:s=Qa;break;case Qi:s=qa;break;case qi:s=Xa;break;default:s=qa}l=Qw(s,function e(t,n){lv=!1,uv=!1;tw=di;nw=Ro;if((yb&(sb|cb))!==lb)throw new Error(\\\"Should not already be working.\\\");var r=t.callbackNode;var a=_w();if(a&&t.callbackNode!==r)return null;var o=mi(t,t===bb?kb:Ro);if(o===Ro)return null;var i=!wi(0,o)&&!function(e,t){return(t&e.expiredLanes)!==Ro}(t,o)&&!n;var l=i?function(e,t){var n=yb;yb|=sb;var r=kw();if(bb!==e||kb!==t){if(no){var a=e.memoizedUpdaters;a.size>0&&(Vw(e,kb),a.clear()),Fi(e,t)}Ob=null,Ub(),bw(e,t)}mo(t);for(;;)try{Rw();break}catch(t){ww(e,t)}return hp(),Sw(r),yb=n,null!==wb?(null!==eo&&\\\"function\\\"==typeof eo.markRenderYielded&&eo.markRenderYielded(),db):(vo(),bb=null,kb=Ro,Cb)}(t,o):Ew(t,o);if(l!==db){if(l===pb){var u=gi(t);u!==Ro&&(o=u,l=cw(t,u))}if(l===fb){var s=Eb;throw bw(t,Ro),fw(t,o),sw(t,Ha()),s}if(l===gb)fw(t,o);else{var c=!wi(0,o),d=t.current.alternate;if(c&&!function(e){var t=e;for(;;){if(t.flags&ha){var n=t.updateQueue;if(null!==n){var r=n.stores;if(null!==r)for(var a=0;a\u003Cr.length;a++){var o=r[a],i=o.getSnapshot,l=o.value;try{if(!ju(i(),l))return!1}catch(e){return!1}}}}var u=t.child;if(t.subtreeFlags&ha&&null!==u)u.return=t,t=u;else{if(t===e)return!0;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(d)){if((l=Ew(t,o))===pb){var f=gi(t);f!==Ro&&(o=f,l=cw(t,f))}if(l===fb){var p=Eb;throw bw(t,Ro),fw(t,o),sw(t,Ha()),p}}t.finishedWork=d,t.finishedLanes=o,function(e,t,n){switch(t){case db:case fb:throw new Error(\\\"Root did not complete. This is a bug in React.\\\");case pb:Nw(e,_b,Ob);break;case hb:if(fw(e,n),bi(n)&&!$w()){var r=Ib+Lb-Ha();if(r>10){var a=mi(e,Ro);if(a!==Ro)break;var o=e.suspendedLanes;if(!Pi(o,n)){ow();Mi(e,o);break}e.timeoutHandle=_c(Nw.bind(null,e,_b,Ob),r);break}}Nw(e,_b,Ob);break;case mb:if(fw(e,n),function(e){return(e&Mo)===e}(n))break;if(!$w()){var i=function(e,t){for(var n=e.eventTimes,r=di;t>0;){var a=Ei(t),o=1\u003C\u003Ca,i=n[a];i>r&&(r=i),t&=~o}return r}(e,n),l=i,u=Ha()-l,s=((c=u)\u003C120?120:c\u003C480?480:c\u003C1080?1080:c\u003C1920?1920:c\u003C3e3?3e3:c\u003C4320?4320:1960*nb(c/1960))-u;if(s>10){e.timeoutHandle=_c(Nw.bind(null,e,_b,Ob),s);break}}Nw(e,_b,Ob);break;case vb:Nw(e,_b,Ob);break;default:throw new Error(\\\"Unknown root exit status.\\\")}var c}(t,l,o)}}sw(t,Ha());if(t.callbackNode===r)return e.bind(null,t);return null}.bind(null,e))}e.callbackPriority=a,e.callbackNode=l}else null==n&&i!==Do&&o(\\\"Expected scheduled callback to exist. This error is likely caused by a bug in React. Please file an issue.\\\")}function cw(e,t){var n=Nb;Zi(e)&&(bw(e,t).flags|=ua,o(\\\"An error occurred during hydration. The server HTML was replaced with client content in \u003C%s>.\\\",e.containerInfo.nodeName.toLowerCase()));var r=Ew(e,t);if(r!==pb){var a=_b;_b=n,null!==a&&dw(a)}return r}function dw(e){null===_b?_b=e:_b.push.apply(_b,e)}function fw(e,t){!function(e,t){e.suspendedLanes|=t,e.pingedLanes&=~t;for(var n=e.expirationTimes,r=t;r>0;){var a=Ei(r),o=1\u003C\u003Ca;n[a]=di,r&=~o}}(e,t=Ni(t=Ni(t,Db),Pb))}function pw(e){if(lv=uv,uv=!1,(yb&(sb|cb))!==lb)throw new Error(\\\"Should not already be working.\\\");_w();var t=mi(e,Ro);if(!Ri(t,Do))return sw(e,Ha()),null;var n=Ew(e,t);if(e.tag!==Ud&&n===pb){var r=gi(e);r!==Ro&&(t=r,n=cw(e,r))}if(n===fb){var a=Eb;throw bw(e,Ro),fw(e,t),sw(e,Ha()),a}if(n===gb)throw new Error(\\\"Root did not complete. This is a bug in React.\\\");var o=e.current.alternate;return e.finishedWork=o,e.finishedLanes=t,Nw(e,_b,Ob),sw(e,Ha()),null}function hw(e,t){var n=yb;yb|=ub;try{return e(t)}finally{(yb=n)!==lb||ib.isBatchingLegacy||(Ub(),Hd())}}function mw(e){null!==Hb&&Hb.tag===Ud&&(yb&(sb|cb))===lb&&_w();var t=yb;yb|=ub;var n=ob.transition,r=Xi();try{return ob.transition=null,Ki(Vi),e?e():void 0}finally{Ki(r),ob.transition=n,((yb=t)&(sb|cb))===lb&&Vd()}}function vw(){return(yb&(sb|cb))!==lb}function gw(e,t){wd(xb,Sb,e),Sb=Di(Sb,t),Tb=Di(Tb,t)}function yw(e){Sb=xb.current,bd(xb,e)}function bw(e,t){e.finishedWork=null,e.finishedLanes=Ro;var n=e.timeoutHandle;if(n!==Lc&&(e.timeoutHandle=Lc,Ic(n)),null!==wb)for(var r=wb.return;null!==r;){r.alternate;Kg(0,r),r=r.return}bb=e;var a=dk(e.current,null);return wb=a,kb=Sb=Tb=t,Cb=db,Eb=null,Rb=Ro,Pb=Ro,Db=Ro,Nb=null,_b=null,function(){if(null!==xp){for(var e=0;e\u003Cxp.length;e++){var t=xp[e],n=t.interleaved;if(null!==n){t.interleaved=null;var r=n.next,a=t.pending;if(null!==a){var o=a.next;a.next=r,n.next=o}t.pending=n}}xp=null}}(),Uf.discardPendingWarnings(),a}function ww(e,t){for(;;){var n=wb;try{if(hp(),Xh(),St(),ab.current=null,null===n||null===n.return)return Cb=fb,Eb=t,void(wb=null);if(j&&n.mode&wo&&hv(n,!0),A)if(uo(),null!==t&&\\\"object\\\"==typeof t&&\\\"function\\\"==typeof t.then)ho(n,t,kb);else po(n,t,kb);Kv(e,n.return,n,t,kb),Dw(n)}catch(e){t=e,wb===n&&null!==n?(n=n.return,wb=n):n=wb;continue}return}}function kw(){var e=rb.current;return rb.current=Qm,null===e?Qm:e}function Sw(e){rb.current=e}function xw(e){Rb=Di(e,Rb)}function Cw(){Cb!==db&&Cb!==hb&&Cb!==pb||(Cb=mb),null!==bb&&(yi(Rb)||yi(Pb))&&fw(bb,kb)}function Ew(e,t){var n=yb;yb|=sb;var r=kw();if(bb!==e||kb!==t){if(no){var a=e.memoizedUpdaters;a.size>0&&(Vw(e,kb),a.clear()),Fi(e,t)}Ob=null,bw(e,t)}for(mo(t);;)try{Tw();break}catch(t){ww(e,t)}if(hp(),yb=n,Sw(r),null!==wb)throw new Error(\\\"Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.\\\");return vo(),bb=null,kb=Ro,Cb}function Tw(){for(;null!==wb;)Pw(wb)}function Rw(){for(;null!==wb&&!Wa();)Pw(wb)}function Pw(e){var t,n=e.alternate;xt(e),(e.mode&wo)!==yo?(fv(e),t=Aw(n,e,Sb),hv(e,!0)):t=Aw(n,e,Sb),St(),e.memoizedProps=e.pendingProps,null===t?Dw(e):wb=t,ab.current=null}function Dw(e){var t=e;do{var n=t.alternate,r=t.return;if((t.flags&ga)===ea){xt(t);var a=void 0;if((t.mode&wo)===yo?a=$g(n,t,Sb):(fv(t),a=$g(n,t,Sb),hv(t,!1)),St(),null!==a)return void(wb=a)}else{var o=Xg(0,t);if(null!==o)return o.flags&=va,void(wb=o);if((t.mode&wo)!==yo){hv(t,!1);for(var i=t.actualDuration,l=t.child;null!==l;)i+=l.actualDuration,l=l.sibling;t.actualDuration=i}if(null===r)return Cb=gb,void(wb=null);r.flags|=ga,r.subtreeFlags=ea,r.deletions=null}var u=t.sibling;if(null!==u)return void(wb=u);wb=t=r}while(null!==t);Cb===db&&(Cb=vb)}function Nw(e,t,n){var r=Xi(),a=ob.transition;try{ob.transition=null,Ki(Vi),function(e,t,n,r){do{_w()}while(null!==Hb);if(Uf.flushLegacyContextWarning(),Uf.flushPendingUnsafeLifecycleWarnings(),(yb&(sb|cb))!==lb)throw new Error(\\\"Should not already be working.\\\");var a=e.finishedWork,i=e.finishedLanes;if(function(e){null!==eo&&\\\"function\\\"==typeof eo.markCommitStarted&&eo.markCommitStarted(e)}(i),null===a)return io(),null;i===Ro&&o(\\\"root.finishedLanes should not be empty during a commit. This is a bug in React.\\\");if(e.finishedWork=null,e.finishedLanes=Ro,a===e.current)throw new Error(\\\"Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.\\\");e.callbackNode=null,e.callbackPriority=Po;var l=Di(a.lanes,a.childLanes);(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=Ro,e.pingedLanes=Ro,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t;for(var r=e.entanglements,a=e.eventTimes,o=e.expirationTimes,i=n;i>0;){var l=Ei(i),u=1\u003C\u003Cl;r[l]=Ro,a[l]=di,o[l]=di,i&=~u}})(e,l),e===bb&&(bb=null,wb=null,kb=Ro);(a.subtreeFlags&Da)===ea&&(a.flags&Da)===ea||Bb||(Bb=!0,Qb=n,Qw(qa,function(){return _w(),null}));var u=(a.subtreeFlags&(Ta|Ra|Pa|Da))!==ea,s=(a.flags&(Ta|Ra|Pa|Da))!==ea;if(u||s){var c=ob.transition;ob.transition=null;var d=Xi();Ki(Vi);var f=yb;yb|=cb,ab.current=null;dy(e,a);dv(),function(e,t,n){ny=n,ry=e,xt(t),_y(t,e),xt(t),ny=null,ry=null}(e,a,i),e.containerInfo,Ju(Ec),wl(Cc),Cc=null,Ec=null,e.current=a,function(e){null!==eo&&\\\"function\\\"==typeof eo.markLayoutEffectsStarted&&eo.markLayoutEffectsStarted(e)}(i),Ly(a,e,i),null!==eo&&\\\"function\\\"==typeof eo.markLayoutEffectsStopped&&eo.markLayoutEffectsStopped(),Ba(),yb=f,Ki(d),ob.transition=c}else e.current=a,dv();var p=Bb;Bb?(Bb=!1,Hb=e,Vb=i):(Zb=0,ew=null);(l=e.pendingLanes)===Ro&&(Wb=null);p||Uw(e.current,!1);(function(e,t){if(Za&&\\\"function\\\"==typeof Za.onCommitFiberRoot)try{var n=(e.current.flags&la)===la;if(j){var r;switch(t){case Vi:r=Ya;break;case Yi:r=Qa;break;case Qi:r=qa;break;case qi:r=Xa;break;default:r=qa}Za.onCommitFiberRoot(Ja,e,r,n)}else Za.onCommitFiberRoot(Ja,e,void 0,n)}catch(e){to||(to=!0,o(\\\"React instrumentation encountered an error: %s\\\",e))}})(a.stateNode,r),no&&e.memoizedUpdaters.clear();if(Zy.forEach(function(e){return e()}),sw(e,Ha()),null!==t)for(var h=e.onRecoverableError,m=0;m\u003Ct.length;m++){var v=t[m],g=v.stack,y=v.digest;h(v.value,{componentStack:g,digest:y})}if(Ab){Ab=!1;var b=jb;throw jb=null,b}Ri(Vb,Do)&&e.tag!==Ud&&_w();Ri(l=e.pendingLanes,Do)?(uv=!0,e===Xb?$b++:($b=0,Xb=e)):$b=0;Vd(),io()}(e,t,n,r)}finally{ob.transition=a,Ki(r)}return null}function _w(){if(null!==Hb){var e=Ji(Vb),t=(i=e,0===(a=Qi)||a>i?a:i),n=ob.transition,r=Xi();try{return ob.transition=null,Ki(t),function(){if(null===Hb)return!1;var e=Qb;Qb=null;var t=Hb,n=Vb;if(Hb=null,Vb=Ro,(yb&(sb|cb))!==lb)throw new Error(\\\"Cannot flush passive effects while already rendering.\\\");Kb=!0,Gb=!1,function(e){null!==eo&&\\\"function\\\"==typeof eo.markPassiveEffectsStarted&&eo.markPassiveEffectsStarted(e)}(n);var r=yb;yb|=cb,By(t.current),Ay(t,t.current,n,e);var a=Yb;Yb=[];for(var i=0;i\u003Ca.length;i++){var l=a[i];vy(0,l)}null!==eo&&\\\"function\\\"==typeof eo.markPassiveEffectsStopped&&eo.markPassiveEffectsStopped(),Uw(t.current,!0),yb=r,Vd(),Gb?t===ew?Zb++:(Zb=0,ew=t):Zb=0;Kb=!1,Gb=!1,function(e){if(Za&&\\\"function\\\"==typeof Za.onPostCommitFiberRoot)try{Za.onPostCommitFiberRoot(Ja,e)}catch(e){to||(to=!0,o(\\\"React instrumentation encountered an error: %s\\\",e))}}(t);var u=t.current.stateNode;return u.effectDuration=0,u.passiveEffectDuration=0,!0}()}finally{Ki(r),ob.transition=n}}var a,i;return!1}function Iw(e){return null!==Wb&&Wb.has(e)}var Lw=function(e){Ab||(Ab=!0,jb=e)};function zw(e,t,n){var r=Ap(e,Yv(e,Wv(n,t),Do),Do),a=ow();null!==r&&(zi(r,Do,a),sw(r,a))}function Mw(e,t,n){if(function(e){Ur(null,function(){throw e}),Fr()}(n),Xw(!1),e.tag!==c){var r=null;for(r=t;null!==r;){if(r.tag===c)return void zw(r,e,n);if(r.tag===u){var a=r.type,i=r.stateNode;if(\\\"function\\\"==typeof a.getDerivedStateFromError||\\\"function\\\"==typeof i.componentDidCatch&&!Iw(i)){var l=Ap(r,Qv(r,Wv(n,e),Do),Do),s=ow();return void(null!==l&&(zi(l,Do,s),sw(l,s)))}}r=r.return}o(\\\"Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Likely causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.\\\\n\\\\nError message:\\\\n\\\\n%s\\\",n)}else zw(e,e,n)}function Ow(e,t){t===Po&&(t=lw(e));var n=ow(),r=Tp(e,t);null!==r&&(zi(r,t,n),sw(r,n))}function Uw(e,t){xt(e),Fw(e,Ca,Ky),t&&Fw(e,Ea,Gy),Fw(e,Ca,$y),t&&Fw(e,Ea,Xy),St()}function Fw(e,t,n){for(var r=e,a=null;null!==r;){var o=r.subtreeFlags&t;r!==a&&null!==r.child&&o!==ea?r=r.child:((r.flags&t)!==ea&&n(r),r=null!==r.sibling?r.sibling:a=r.return)}}var Aw,jw=null;function Ww(e){if((yb&sb)===lb&&e.mode&bo){var t=e.tag;if(t===s||t===c||t===u||t===l||t===y||t===k||t===S){var n=vt(e)||\\\"ReactComponent\\\";if(null!==jw){if(jw.has(n))return;jw.add(n)}else jw=new Set([n]);var r=yt;try{xt(e),o(\\\"Can't perform a React state update on a component that hasn't mounted yet. This indicates that you have a side-effect in your render function that asynchronously later calls tries to update the component. Move this work to useEffect instead.\\\")}finally{r?xt(e):St()}}}}Aw=function(e,t,n){var r=bk(null,t);try{return Bg(e,t,n)}catch(o){if(df||null!==o&&\\\"object\\\"==typeof o&&\\\"function\\\"==typeof o.then)throw o;if(hp(),Xh(),Kg(0,t),bk(t,r),t.mode&wo&&fv(t),Ur(null,Bg,null,e,t,n),Ir){var a=Fr();\\\"object\\\"==typeof a&&null!==a&&a._suppressLogging&&\\\"object\\\"==typeof o&&null!==o&&!o._suppressLogging&&(o._suppressLogging=!0)}throw o}};var Bw,Hw=!1;function Vw(e,t){no&&e.memoizedUpdaters.forEach(function(n){Ui(e,n,t)})}Bw=new Set;var Yw={};function Qw(e,t){var n=ib.current;return null!==n?(n.push(t),Yw):Aa(e,t)}function qw(e){if(e!==Yw)return ja(e)}function $w(){return null!==ib.current}function Xw(e){rw=e}var Kw=null,Gw=null,Jw=function(e){Kw=e};function Zw(e){if(null===Kw)return e;var t=Kw(e);return void 0===t?e:t.current}function ek(e){return Zw(e)}function tk(e){if(null===Kw)return e;var t=Kw(e);if(void 0===t){if(null!==e&&void 0!==e&&\\\"function\\\"==typeof e.render){var n=Zw(e.render);if(e.render!==n){var r={$$typeof:Le,render:n};return void 0!==e.displayName&&(r.displayName=e.displayName),r}}return e}return t.current}function nk(e,t){if(null===Kw)return!1;var n=e.elementType,r=t.type,a=!1,o=\\\"object\\\"==typeof r&&null!==r?r.$$typeof:null;switch(e.tag){case u:\\\"function\\\"==typeof r&&(a=!0);break;case l:\\\"function\\\"==typeof r?a=!0:o===Ue&&(a=!0);break;case y:o===Le?a=!0:o===Ue&&(a=!0);break;case k:case S:o===Oe?a=!0:o===Ue&&(a=!0);break;default:return!1}if(a){var i=Kw(n);if(void 0!==i&&i===Kw(r))return!0}return!1}function rk(e){null!==Kw&&\\\"function\\\"==typeof WeakSet&&(null===Gw&&(Gw=new WeakSet),Gw.add(e))}var ak=function(e,t){if(null!==Kw){var n=t.staleFamilies,r=t.updatedFamilies;_w(),mw(function(){!function e(t,n,r){var a=t.alternate,o=t.child,i=t.sibling,s=t.tag,c=t.type,d=null;switch(s){case l:case S:case u:d=c;break;case y:d=c.render}if(null===Kw)throw new Error(\\\"Expected resolveFamily to be set during hot reload.\\\");var f=!1,p=!1;if(null!==d){var h=Kw(d);void 0!==h&&(r.has(h)?p=!0:n.has(h)&&(s===u?p=!0:f=!0))}if(null!==Gw&&(Gw.has(t)||null!==a&&Gw.has(a))&&(p=!0),p&&(t._debugNeedsRemount=!0),p||f){var m=Tp(t,Do);null!==m&&uw(m,t,Do,di)}null===o||p||e(o,n,r),null!==i&&e(i,n,r)}(e.current,r,n)})}},ok=function(e,t){e.context===kd&&(_w(),mw(function(){Pk(t,e,null,null)}))};var ik,lk=function(e,t){var n=new Set,r=new Set(t.map(function(e){return e.current}));return function e(t,n,r){var a=t.child,o=t.sibling,i=t.tag,s=t.type,p=null;switch(i){case l:case S:case u:p=s;break;case y:p=s.render}var h=!1;null!==p&&n.has(p)&&(h=!0),h?function(e,t){if(function(e,t){var n=e,r=!1;for(;;){if(n.tag===f)r=!0,t.add(n.stateNode);else if(null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)return r;for(;null===n.sibling;){if(null===n.return||n.return===e)return r;n=n.return}n.sibling.return=n.return,n=n.sibling}return!1}(e,t))return;var n=e;for(;;){switch(n.tag){case f:return void t.add(n.stateNode);case d:case c:return void t.add(n.stateNode.containerInfo)}if(null===n.return)throw new Error(\\\"Expected to reach root first.\\\");n=n.return}}(t,r):null!==a&&e(a,n,r),null!==o&&e(o,n,r)}(e.current,r,n),n};ik=!1;try{var uk=Object.preventExtensions({});new Map([[uk,null]]),new Set([uk])}catch(e){ik=!0}var sk=function(e,t,n,r){return new function(e,t,n,r){this.tag=e,this.key=n,this.elementType=null,this.type=null,this.stateNode=null,this.return=null,this.child=null,this.sibling=null,this.index=0,this.ref=null,this.pendingProps=t,this.memoizedProps=null,this.updateQueue=null,this.memoizedState=null,this.dependencies=null,this.mode=r,this.flags=ea,this.subtreeFlags=ea,this.deletions=null,this.lanes=Ro,this.childLanes=Ro,this.alternate=null,this.actualDuration=Number.NaN,this.actualStartTime=Number.NaN,this.selfBaseDuration=Number.NaN,this.treeBaseDuration=Number.NaN,this.actualDuration=0,this.actualStartTime=-1,this.selfBaseDuration=0,this.treeBaseDuration=0,this._debugSource=null,this._debugOwner=null,this._debugNeedsRemount=!1,this._debugHookTypes=null,ik||\\\"function\\\"!=typeof Object.preventExtensions||Object.preventExtensions(this)}(e,t,n,r)};function ck(e){var t=e.prototype;return!(!t||!t.isReactComponent)}function dk(e,t){var n=e.alternate;null===n?((n=sk(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n._debugSource=e._debugSource,n._debugOwner=e._debugOwner,n._debugHookTypes=e._debugHookTypes,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=ea,n.subtreeFlags=ea,n.deletions=null,n.actualDuration=0,n.actualStartTime=-1),n.flags=e.flags&Na,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue;var r=e.dependencies;switch(n.dependencies=null===r?null:{lanes:r.lanes,firstContext:r.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.selfBaseDuration=e.selfBaseDuration,n.treeBaseDuration=e.treeBaseDuration,n._debugNeedsRemount=e._debugNeedsRemount,n.tag){case s:case l:case S:n.type=Zw(e.type);break;case u:n.type=ek(e.type);break;case y:n.type=tk(e.type)}return n}function fk(e,t){e.flags&=Na|na;var n=e.alternate;if(null===n)e.childLanes=Ro,e.lanes=t,e.child=null,e.subtreeFlags=ea,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null,e.selfBaseDuration=0,e.treeBaseDuration=0;else{e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=ea,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type;var r=n.dependencies;e.dependencies=null===r?null:{lanes:r.lanes,firstContext:r.firstContext},e.selfBaseDuration=n.selfBaseDuration,e.treeBaseDuration=n.treeBaseDuration}return e}function pk(e,t,n,r,a,i){var l=s,c=e;if(\\\"function\\\"==typeof e)ck(e)?(l=u,c=ek(c)):c=Zw(c);else if(\\\"string\\\"==typeof e)l=f;else e:switch(e){case Pe:return mk(n.children,a,i,t);case De:l=m,((a|=ko)&bo)!==yo&&(a|=So);break;case Ne:return function(e,t,n,r){\\\"string\\\"!=typeof e.id&&o('Profiler must specify an \\\"id\\\" of type `string` as a prop. Received the type `%s` instead.',typeof e.id);var a=sk(b,e,r,t|wo);return a.elementType=Ne,a.lanes=n,a.stateNode={effectDuration:0,passiveEffectDuration:0},a}(n,a,i,t);case ze:return function(e,t,n,r){var a=sk(w,e,r,t);return a.elementType=ze,a.lanes=n,a}(n,a,i,t);case Me:return function(e,t,n,r){var a=sk(T,e,r,t);return a.elementType=Me,a.lanes=n,a}(n,a,i,t);case je:return vk(n,a,i,t);case We:case Fe:case Be:case He:case Ae:default:if(\\\"object\\\"==typeof e&&null!==e)switch(e.$$typeof){case _e:l=g;break e;case Ie:l=v;break e;case Le:l=y,c=tk(c);break e;case Oe:l=k;break e;case Ue:l=x,c=null;break e}var d=\\\"\\\";(void 0===e||\\\"object\\\"==typeof e&&null!==e&&0===Object.keys(e).length)&&(d+=\\\" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\\\");var p=r?vt(r):null;throw p&&(d+=\\\"\\\\n\\\\nCheck the render method of `\\\"+p+\\\"`.\\\"),new Error(\\\"Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: \\\"+(null==e?e:typeof e)+\\\".\\\"+d)}var h=sk(l,n,t,a);return h.elementType=e,h.type=c,h.lanes=i,h._debugOwner=r,h}function hk(e,t,n){var r;r=e._owner;var a=pk(e.type,e.key,e.props,r,t,n);return a._debugSource=e._source,a._debugOwner=e._owner,a}function mk(e,t,n,r){var a=sk(h,e,r,t);return a.lanes=n,a}function vk(e,t,n,r){var a=sk(P,e,r,t);a.elementType=je,a.lanes=n;return a.stateNode={isHidden:!1},a}function gk(e,t,n){var r=sk(p,e,null,t);return r.lanes=n,r}function yk(e,t,n){var r=null!==e.children?e.children:[],a=sk(d,r,e.key,t);return a.lanes=n,a.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},a}function bk(e,t){return null===e&&(e=sk(s,null,null,yo)),e.tag=t.tag,e.key=t.key,e.elementType=t.elementType,e.type=t.type,e.stateNode=t.stateNode,e.return=t.return,e.child=t.child,e.sibling=t.sibling,e.index=t.index,e.ref=t.ref,e.pendingProps=t.pendingProps,e.memoizedProps=t.memoizedProps,e.updateQueue=t.updateQueue,e.memoizedState=t.memoizedState,e.dependencies=t.dependencies,e.mode=t.mode,e.flags=t.flags,e.subtreeFlags=t.subtreeFlags,e.deletions=t.deletions,e.lanes=t.lanes,e.childLanes=t.childLanes,e.alternate=t.alternate,e.actualDuration=t.actualDuration,e.actualStartTime=t.actualStartTime,e.selfBaseDuration=t.selfBaseDuration,e.treeBaseDuration=t.treeBaseDuration,e._debugSource=t._debugSource,e._debugOwner=t._debugOwner,e._debugNeedsRemount=t._debugNeedsRemount,e._debugHookTypes=t._debugHookTypes,e}function wk(e,t,n,r,a,o,i,l,u,s){var d=new function(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.pendingChildren=null,this.current=null,this.pingCache=null,this.finishedWork=null,this.timeoutHandle=Lc,this.context=null,this.pendingContext=null,this.callbackNode=null,this.callbackPriority=Po,this.eventTimes=Li(Ro),this.expirationTimes=Li(di),this.pendingLanes=Ro,this.suspendedLanes=Ro,this.pingedLanes=Ro,this.expiredLanes=Ro,this.mutableReadLanes=Ro,this.finishedLanes=Ro,this.entangledLanes=Ro,this.entanglements=Li(Ro),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null,this.effectDuration=0,this.passiveEffectDuration=0,this.memoizedUpdaters=new Set;for(var o=this.pendingUpdatersLaneMap=[],i=0;i\u003CTo;i++)o.push(new Set);switch(t){case Fd:this._debugRootType=n?\\\"hydrateRoot()\\\":\\\"createRoot()\\\";break;case Ud:this._debugRootType=n?\\\"hydrate()\\\":\\\"render()\\\"}}(e,t,n,l,u),f=function(e,t,n){var r;return e===Fd?(r=bo,!0===t&&(r|=ko,r|=So)):r=yo,no&&(r|=wo),sk(c,null,null,r)}(t,o);d.current=f,f.stateNode=d;var p={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null};return f.memoizedState=p,Op(f),d}var kk,Sk,xk=\\\"18.3.1\\\";function Ck(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return function(e){if(K(e))o(\\\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\\\",X(e)),G(e)}(r),{$$typeof:Re,key:null==r?null:\\\"\\\"+r,children:e,containerInfo:t,implementation:n}}function Ek(e){if(!e)return kd;var t=Zr(e),n=Od(t);if(t.tag===u){var r=t.type;if(Dd(r))return Ld(t,r,n)}return n}function Tk(e,t,n,r,a,o,i,l){return wk(e,t,!1,null,0,r,0,o,i)}function Rk(e,t,n,r,a,o,i,l,u,s){var c=wk(n,r,!0,e,0,o,0,l,u);c.context=Ek(null);var d=c.current,f=ow(),p=iw(d),h=Fp(f,p);return h.callback=void 0!==t&&null!==t?t:null,Ap(d,h,p),function(e,t,n){e.current.lanes=t,zi(e,t,n),sw(e,n)}(c,p,f),c}function Pk(e,t,n,r){!function(e,t){if(Za&&\\\"function\\\"==typeof Za.onScheduleFiberRoot)try{Za.onScheduleFiberRoot(Ja,e,t)}catch(e){to||(to=!0,o(\\\"React instrumentation encountered an error: %s\\\",e))}}(t,e);var a=t.current,i=ow(),l=iw(a);!function(e){null!==eo&&\\\"function\\\"==typeof eo.markRenderScheduled&&eo.markRenderScheduled(e)}(l);var u=Ek(n);null===t.context?t.context=u:t.pendingContext=u,bt&&null!==yt&&!kk&&(kk=!0,o(\\\"Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.\\\\n\\\\nCheck the render method of %s.\\\",vt(yt)||\\\"Unknown\\\"));var s=Fp(i,l);s.payload={element:e},null!==(r=void 0===r?null:r)&&(\\\"function\\\"!=typeof r&&o(\\\"render(...): Expected the last optional `callback` argument to be a function. Instead received: %s.\\\",r),s.callback=r);var c=Ap(a,s,l);return null!==c&&(uw(c,a,l,i),jp(c,a,l)),l}function Dk(e){var t=e.current;if(!t.child)return null;switch(t.child.tag){case f:return Tc(t.child.stateNode);default:return t.child.stateNode}}function Nk(e,t){var n,r,a=e.memoizedState;null!==a&&null!==a.dehydrated&&(a.retryLane=(n=a.retryLane,r=t,n!==Po&&n\u003Cr?n:r))}function _k(e,t){Nk(e,t);var n=e.alternate;n&&Nk(n,t)}function Ik(e){var t=Fa(e);return null===t?null:t.stateNode}kk=!1,Sk={};var Lk=function(e){return null};var zk=function(e){return!1};var Mk=null,Ok=null,Uk=null,Fk=null,Ak=null,jk=null,Wk=null,Bk=null,Hk=null,Vk=function(e,t,n){var r=t[n],a=Jt(e)?e.slice():et({},e);return n+1===t.length?(Jt(a)?a.splice(r,1):delete a[r],a):(a[r]=Vk(e[r],t,n+1),a)},Yk=function(e,t){return Vk(e,t,0)},Qk=function(e,t,n,r){var a=t[r],o=Jt(e)?e.slice():et({},e);r+1===t.length?(o[n[r]]=o[a],Jt(o)?o.splice(a,1):delete o[a]):o[a]=Qk(e[a],t,n,r+1);return o},qk=function(e,t,n){if(t.length===n.length){for(var r=0;r\u003Cn.length-1;r++)if(t[r]!==n[r])return void a(\\\"copyWithRename() expects paths to be the same except for the deepest key\\\");return Qk(e,t,n,0)}a(\\\"copyWithRename() expects paths of the same length\\\")},$k=function(e,t,n,r){if(n>=t.length)return r;var a=t[n],o=Jt(e)?e.slice():et({},e);return o[a]=$k(e[a],t,n+1,r),o},Xk=function(e,t,n){return $k(e,t,0,n)},Kk=function(e,t){for(var n=e.memoizedState;null!==n&&t>0;)n=n.next,t--;return n};function Gk(e){var t=Ua(e);return null===t?null:t.stateNode}function Jk(e){return null}function Zk(){return yt}Mk=function(e,t,n,r){var a=Kk(e,t);if(null!==a){var o=Xk(a.memoizedState,n,r);a.memoizedState=o,a.baseState=o,e.memoizedProps=et({},e.memoizedProps);var i=Tp(e,Do);null!==i&&uw(i,e,Do,di)}},Ok=function(e,t,n){var r=Kk(e,t);if(null!==r){var a=Yk(r.memoizedState,n);r.memoizedState=a,r.baseState=a,e.memoizedProps=et({},e.memoizedProps);var o=Tp(e,Do);null!==o&&uw(o,e,Do,di)}},Uk=function(e,t,n,r){var a=Kk(e,t);if(null!==a){var o=qk(a.memoizedState,n,r);a.memoizedState=o,a.baseState=o,e.memoizedProps=et({},e.memoizedProps);var i=Tp(e,Do);null!==i&&uw(i,e,Do,di)}},Fk=function(e,t,n){e.pendingProps=Xk(e.memoizedProps,t,n),e.alternate&&(e.alternate.pendingProps=e.pendingProps);var r=Tp(e,Do);null!==r&&uw(r,e,Do,di)},Ak=function(e,t){e.pendingProps=Yk(e.memoizedProps,t),e.alternate&&(e.alternate.pendingProps=e.pendingProps);var n=Tp(e,Do);null!==n&&uw(n,e,Do,di)},jk=function(e,t,n){e.pendingProps=qk(e.memoizedProps,t,n),e.alternate&&(e.alternate.pendingProps=e.pendingProps);var r=Tp(e,Do);null!==r&&uw(r,e,Do,di)},Wk=function(e){var t=Tp(e,Do);null!==t&&uw(t,e,Do,di)},Bk=function(e){Lk=e},Hk=function(e){zk=e};var eS=\\\"function\\\"==typeof reportError?reportError:function(e){console.error(e)};function tS(e){this._internalRoot=e}function nS(e){this._internalRoot=e}function rS(e){return!(!e||e.nodeType!==yn&&e.nodeType!==kn&&e.nodeType!==Sn&&O)}function aS(e){return!(!e||e.nodeType!==yn&&e.nodeType!==kn&&e.nodeType!==Sn&&(e.nodeType!==wn||\\\" react-mount-point-unstable \\\"!==e.nodeValue))}function oS(e){e.nodeType===yn&&e.tagName&&\\\"BODY\\\"===e.tagName.toUpperCase()&&o(\\\"createRoot(): Creating roots directly with document.body is discouraged, since its children are often manipulated by third-party scripts and browser extensions. This may lead to subtle reconciliation issues. Try using a container element created for your app.\\\"),ad(e)&&(e._reactRootContainer?o(\\\"You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported.\\\"):o(\\\"You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it.\\\"))}nS.prototype.render=tS.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw new Error(\\\"Cannot update an unmounted root.\\\");\\\"function\\\"==typeof arguments[1]?o(\\\"render(...): does not support the second callback argument. To execute a side effect after rendering, declare it in a component body with useEffect().\\\"):rS(arguments[1])?o(\\\"You passed a container to the second argument of root.render(...). You don't need to pass it again since you already passed it to create the root.\\\"):void 0!==arguments[1]&&o(\\\"You passed a second argument to root.render(...) but it only accepts one argument.\\\");var n=t.containerInfo;if(n.nodeType!==wn){var r=Ik(t.current);r&&r.parentNode!==n&&o(\\\"render(...): It looks like the React-rendered content of the root container was removed without using React. This is not supported and will cause errors. Instead, call root.unmount() to empty a root's container.\\\")}Pk(e,t,null,null)},nS.prototype.unmount=tS.prototype.unmount=function(){\\\"function\\\"==typeof arguments[0]&&o(\\\"unmount(...): does not support a callback argument. To execute a side effect after rendering, declare it in a component body with useEffect().\\\");var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;vw()&&o(\\\"Attempted to synchronously unmount a root while React was already rendering. React cannot finish unmounting the root until the current render has completed, which may lead to a race condition.\\\"),mw(function(){Pk(null,e,null,null)}),rd(t)}},nS.prototype.unstable_scheduleHydration=function(e){e&&function(e){for(var t=Bi(),n={blockedOn:null,target:e,priority:t},r=0;r\u003Cul.length&&Gi(t,ul[r].priority);r++);ul.splice(r,0,n),0===r&&fl(n)}(e)};var iS,lS=n.ReactCurrentOwner;function uS(e){return e?e.nodeType===kn?e.documentElement:e.firstChild:null}function sS(){}function cS(e,t,n,r,a){iS(n),function(e,t){null!==e&&\\\"function\\\"!=typeof e&&o(\\\"%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.\\\",t,e)}(void 0===a?null:a,\\\"render\\\");var i,l=n._reactRootContainer;if(l){if(i=l,\\\"function\\\"==typeof a){var u=a;a=function(){var e=Dk(i);u.call(e)}}Pk(t,i,e,a)}else i=function(e,t,n,r,a){if(a){if(\\\"function\\\"==typeof r){var o=r;r=function(){var e=Dk(i);o.call(e)}}var i=Rk(t,r,e,Ud,0,!1,0,\\\"\\\",sS);return e._reactRootContainer=i,nd(i.current,e),Rs(e.nodeType===wn?e.parentNode:e),mw(),i}for(var l;l=e.lastChild;)e.removeChild(l);if(\\\"function\\\"==typeof r){var u=r;r=function(){var e=Dk(s);u.call(e)}}var s=Tk(e,Ud,0,!1,0,\\\"\\\",sS);return e._reactRootContainer=s,nd(s.current,e),Rs(e.nodeType===wn?e.parentNode:e),mw(function(){Pk(t,s,n,r)}),s}(n,t,e,a,r);return Dk(i)}iS=function(e){if(e._reactRootContainer&&e.nodeType!==wn){var t=Ik(e._reactRootContainer.current);t&&t.parentNode!==e&&o(\\\"render(...): It looks like the React-rendered content of this container was removed without using React. This is not supported and will cause errors. Instead, call ReactDOM.unmountComponentAtNode to empty a container.\\\")}var n=!!e._reactRootContainer,r=uS(e);!(!r||!id(r))&&!n&&o(\\\"render(...): Replacing React-rendered children with a new root component. If you intended to update the children of this node, you should instead have the existing children update their state and render the new components instead of calling ReactDOM.render.\\\"),e.nodeType===yn&&e.tagName&&\\\"BODY\\\"===e.tagName.toUpperCase()&&o(\\\"render(): Rendering components directly into document.body is discouraged, since its children are often manipulated by third-party scripts and browser extensions. This may lead to subtle reconciliation issues. Try rendering into a container element created for your app.\\\")};var dS=!1;var fS=!1;Ai=function(e){switch(e.tag){case c:var t=e.stateNode;Zi(t)&&function(e,t){t!==Ro&&(Oi(e,Di(t,Do)),sw(e,Ha()),(yb&(sb|cb))===lb&&(Ub(),Vd()))}(t,function(e){return hi(e.pendingLanes)}(t));break;case w:mw(function(){var t=Tp(e,Do);if(null!==t){var n=ow();uw(t,e,Do,n)}}),_k(e,Do)}},function(e){ji=e}(function(e){if(e.tag===w){var t=oi,n=Tp(e,t);null!==n&&uw(n,e,t,ow()),_k(e,t)}}),function(e){Wi=e}(function(e){if(e.tag===w){var t=iw(e),n=Tp(e,t);null!==n&&uw(n,e,t,ow()),_k(e,t)}}),function(e){Bi=e}(Xi),function(e){Hi=e}(function(e,t){var n=$i;try{return $i=e,t()}finally{$i=n}}),\\\"function\\\"==typeof Map&&null!=Map.prototype&&\\\"function\\\"==typeof Map.prototype.forEach&&\\\"function\\\"==typeof Set&&null!=Set.prototype&&\\\"function\\\"==typeof Set.prototype.clear&&\\\"function\\\"==typeof Set.prototype.forEach||o(\\\"React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\\\"),hr=function(e,t,n){switch(t){case\\\"input\\\":return void Vt(e,n);case\\\"textarea\\\":return void function(e,t){un(e,t)}(e,n);case\\\"select\\\":return void function(e,t){var n=e,r=t.value;null!=r&&tn(n,!!t.multiple,r,!1)}(e,n)}},wr=hw,kr=mw;var pS={usingClientEntryPoint:!1,Events:[id,ld,ud,yr,br,hw]};if(!function(e){var t=e.findFiberByHostInstance,r=n.ReactCurrentDispatcher;return function(e){if(\\\"undefined\\\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled)return!0;if(!t.supportsFiber)return o(\\\"The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://reactjs.org/link/react-devtools\\\"),!0;try{A&&(e=et({},e,{getLaneLabelMap:oo,injectProfilingHooks:ao})),Ja=t.inject(e),Za=t}catch(e){o(\\\"React instrumentation encountered an error: %s.\\\",e)}return!!t.checkDCE}({bundleType:e.bundleType,version:e.version,rendererPackageName:e.rendererPackageName,rendererConfig:e.rendererConfig,overrideHookState:Mk,overrideHookStateDeletePath:Ok,overrideHookStateRenamePath:Uk,overrideProps:Fk,overridePropsDeletePath:Ak,overridePropsRenamePath:jk,setErrorHandler:Bk,setSuspenseHandler:Hk,scheduleUpdate:Wk,currentDispatcherRef:r,findHostInstanceByFiber:Gk,findFiberByHostInstance:t||Jk,findHostInstancesForRefresh:lk,scheduleRefresh:ak,scheduleRoot:ok,setRefreshHandler:Jw,getCurrentFiber:Zk,reconcilerVersion:xk})}({findFiberByHostInstance:od,bundleType:1,version:xk,rendererPackageName:\\\"react-dom\\\"})&&q&&window.top===window.self&&(navigator.userAgent.indexOf(\\\"Chrome\\\")>-1&&-1===navigator.userAgent.indexOf(\\\"Edge\\\")||navigator.userAgent.indexOf(\\\"Firefox\\\")>-1)){var hS=window.location.protocol;/^(https?|file):$/.test(hS)&&console.info(\\\"%cDownload the React DevTools for a better development experience: https://reactjs.org/link/react-devtools\\\"+(\\\"file:\\\"===hS?\\\"\\\\nYou might need to use a local HTTP server (instead of file://): https://reactjs.org/link/react-devtools-faq\\\":\\\"\\\"),\\\"font-weight:bold\\\")}e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=pS,e.createPortal=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!rS(t))throw new Error(\\\"Target container is not a DOM element.\\\");return Ck(e,t,null,n)},e.createRoot=function(e,t){return pS.usingClientEntryPoint,function(e,t){if(!rS(e))throw new Error(\\\"createRoot(...): Target container is not a DOM element.\\\");oS(e);var n=!1,r=\\\"\\\",i=eS;null!==t&&void 0!==t&&(t.hydrate?a(\\\"hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, \u003CApp />) instead.\\\"):\\\"object\\\"==typeof t&&null!==t&&t.$$typeof===Te&&o(\\\"You passed a JSX element to createRoot. You probably meant to call root.render instead. Example usage:\\\\n\\\\n let root = createRoot(domContainer);\\\\n root.render(\u003CApp />);\\\"),!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(i=t.onRecoverableError),void 0!==t.transitionCallbacks&&t.transitionCallbacks);var l=Tk(e,Fd,0,n,0,r,i);return nd(l.current,e),Rs(e.nodeType===wn?e.parentNode:e),new tS(l)}(e,t)},e.findDOMNode=function(e){dS||(dS=!0,o(\\\"findDOMNode is deprecated and will be removed in the next major release. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node\\\"));var t=lS.current;return null!==t&&null!==t.stateNode&&(t.stateNode._warnedAboutRefsInRender||o(\\\"%s is accessing findDOMNode inside its render(). render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.\\\",ht(t.type)||\\\"A component\\\"),t.stateNode._warnedAboutRefsInRender=!0),null==e?null:e.nodeType===yn?e:function(e,t){var n=Zr(e);if(void 0===n){if(\\\"function\\\"==typeof e.render)throw new Error(\\\"Unable to find node on an unmounted component.\\\");var r=Object.keys(e).join(\\\",\\\");throw new Error(\\\"Argument appears to not be a ReactComponent. Keys: \\\"+r)}var a=Ua(n);if(null===a)return null;if(a.mode&ko){var i=vt(n)||\\\"Component\\\";if(!Sk[i]){Sk[i]=!0;var l=yt;try{xt(a),n.mode&ko?o(\\\"%s is deprecated in StrictMode. %s was passed an instance of %s which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node\\\",t,t,i):o(\\\"%s is deprecated in StrictMode. %s was passed an instance of %s which renders StrictMode children. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node\\\",t,t,i)}finally{l?xt(l):St()}}}return a.stateNode}(e,\\\"findDOMNode\\\")},e.flushSync=function(e){return vw()&&o(\\\"flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.\\\"),mw(e)},e.hydrate=function(e,t,n){if(o(\\\"ReactDOM.hydrate is no longer supported in React 18. Use hydrateRoot instead. Until you switch to the new API, your app will behave as if it's running React 17. Learn more: https://reactjs.org/link/switch-to-createroot\\\"),!aS(t))throw new Error(\\\"Target container is not a DOM element.\\\");return ad(t)&&void 0===t._reactRootContainer&&o(\\\"You are calling ReactDOM.hydrate() on a container that was previously passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call hydrateRoot(container, element)?\\\"),cS(null,e,t,!0,n)},e.hydrateRoot=function(e,t,n){return pS.usingClientEntryPoint,function(e,t,n){if(!rS(e))throw new Error(\\\"hydrateRoot(...): Target container is not a DOM element.\\\");oS(e),void 0===t&&o(\\\"Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, \u003CApp />)\\\");var r=null!=n&&n.hydratedSources||null,a=!1,i=\\\"\\\",l=eS;null!==n&&void 0!==n&&(!0===n.unstable_strictMode&&(a=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(l=n.onRecoverableError));var u=Rk(t,null,e,Fd,0,a,0,i,l);if(nd(u.current,e),Rs(e),r)for(var s=0;s\u003Cr.length;s++)xh(u,r[s]);return new nS(u)}(e,t,n)},e.render=function(e,t,n){if(o(\\\"ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until you switch to the new API, your app will behave as if it's running React 17. Learn more: https://reactjs.org/link/switch-to-createroot\\\"),!aS(t))throw new Error(\\\"Target container is not a DOM element.\\\");return ad(t)&&void 0===t._reactRootContainer&&o(\\\"You are calling ReactDOM.render() on a container that was previously passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.render(element)?\\\"),cS(null,e,t,!1,n)},e.unmountComponentAtNode=function(e){if(fS||(fS=!0,o(\\\"unmountComponentAtNode is deprecated and will be removed in the next major release. Switch to the createRoot API. Learn more: https://reactjs.org/link/switch-to-createroot\\\")),!aS(e))throw new Error(\\\"unmountComponentAtNode(...): Target container is not a DOM element.\\\");if(ad(e)&&void 0===e._reactRootContainer&&o(\\\"You are calling ReactDOM.unmountComponentAtNode() on a container that was previously passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.unmount()?\\\"),e._reactRootContainer){var t=uS(e);return t&&!id(t)&&o(\\\"unmountComponentAtNode(): The node you're attempting to unmount was rendered by another copy of React.\\\"),mw(function(){cS(null,null,e,!1,function(){e._reactRootContainer=null,rd(e)})}),!0}var n=uS(e),r=!(!n||!id(n)),a=e.nodeType===yn&&aS(e.parentNode)&&!!e.parentNode._reactRootContainer;return r&&o(\\\"unmountComponentAtNode(): The node you're attempting to unmount was rendered by React and is not a top-level container. %s\\\",a?\\\"You may have accidentally passed in a React root node instead of its container.\\\":\\\"Instead, have the parent component update its state and rerender in order to remove this component.\\\"),!1},e.unstable_batchedUpdates=hw,e.unstable_renderSubtreeIntoContainer=function(e,t,n,r){return function(e,t,n,r){if(o(\\\"ReactDOM.unstable_renderSubtreeIntoContainer() is no longer supported in React 18. Consider using a portal instead. Until you switch to the createRoot API, your app will behave as if it's running React 17. Learn more: https://reactjs.org/link/switch-to-createroot\\\"),!aS(n))throw new Error(\\\"Target container is not a DOM element.\\\");if(null==e||void 0===e._reactInternals)throw new Error(\\\"parentComponent must be a valid React Component\\\");return cS(e,t,n,!1,r)}(e,t,n,r)},e.version=xk});\",\"creator\":\"LinOnetwo\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"react\":{\"title\":\"react\",\"text\":\"!function(e,t){\\\"object\\\"==typeof exports&&\\\"undefined\\\"!=typeof module?t(exports):\\\"function\\\"==typeof define&&define.amd?define([\\\"exports\\\"],t):t((e=e||self).React={})}(this,function(e){\\\"use strict\\\";var t=Symbol.for(\\\"react.element\\\"),n=Symbol.for(\\\"react.portal\\\"),r=Symbol.for(\\\"react.fragment\\\"),o=Symbol.for(\\\"react.strict_mode\\\"),a=Symbol.for(\\\"react.profiler\\\"),i=Symbol.for(\\\"react.provider\\\"),u=Symbol.for(\\\"react.context\\\"),c=Symbol.for(\\\"react.forward_ref\\\"),s=Symbol.for(\\\"react.suspense\\\"),l=Symbol.for(\\\"react.suspense_list\\\"),f=Symbol.for(\\\"react.memo\\\"),p=Symbol.for(\\\"react.lazy\\\"),d=Symbol.for(\\\"react.offscreen\\\"),y=Symbol.iterator,m=\\\"@@iterator\\\";function v(e){if(null===e||\\\"object\\\"!=typeof e)return null;var t=y&&e[y]||e[m];return\\\"function\\\"==typeof t?t:null}var h={current:null},g={transition:null},b={current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},_={current:null},w={},k=null;function C(e){k=e}w.setExtraStackFrame=function(e){k=e},w.getCurrentStack=null,w.getStackAddendum=function(){var e=\\\"\\\";k&&(e+=k);var t=w.getCurrentStack;return t&&(e+=t()||\\\"\\\"),e};var R=!1,S=!1,P=!1,j=!1,x=!1,O={ReactCurrentDispatcher:h,ReactCurrentBatchConfig:g,ReactCurrentOwner:_};function T(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r\u003Ct;r++)n[r-1]=arguments[r];$(\\\"warn\\\",e,n)}function E(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r\u003Ct;r++)n[r-1]=arguments[r];$(\\\"error\\\",e,n)}function $(e,t,n){var r=O.ReactDebugCurrentFrame.getStackAddendum();\\\"\\\"!==r&&(t+=\\\"%s\\\",n=n.concat([r]));var o=n.map(function(e){return String(e)});o.unshift(\\\"Warning: \\\"+t),Function.prototype.apply.call(console[e],console,o)}O.ReactDebugCurrentFrame=w,O.ReactCurrentActQueue=b;var I={};function D(e,t){var n=e.constructor,r=n&&(n.displayName||n.name)||\\\"ReactClass\\\",o=r+\\\".\\\"+t;I[o]||(E(\\\"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.\\\",t,r),I[o]=!0)}var F={isMounted:function(e){return!1},enqueueForceUpdate:function(e,t,n){D(e,\\\"forceUpdate\\\")},enqueueReplaceState:function(e,t,n,r){D(e,\\\"replaceState\\\")},enqueueSetState:function(e,t,n,r){D(e,\\\"setState\\\")}},N=Object.assign,M={};function L(e,t,n){this.props=e,this.context=t,this.refs=M,this.updater=n||F}Object.freeze(M),L.prototype.isReactComponent={},L.prototype.setState=function(e,t){if(\\\"object\\\"!=typeof e&&\\\"function\\\"!=typeof e&&null!=e)throw new Error(\\\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\\\");this.updater.enqueueSetState(this,e,t,\\\"setState\\\")},L.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\\\"forceUpdate\\\")};var z={isMounted:[\\\"isMounted\\\",\\\"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\\\"],replaceState:[\\\"replaceState\\\",\\\"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\\\"]},U=function(e,t){Object.defineProperty(L.prototype,e,{get:function(){T(\\\"%s(...) is deprecated in plain JavaScript React classes. %s\\\",t[0],t[1])}})};for(var A in z)z.hasOwnProperty(A)&&U(A,z[A]);function V(){}function Y(e,t,n){this.props=e,this.context=t,this.refs=M,this.updater=n||F}V.prototype=L.prototype;var q=Y.prototype=new V;q.constructor=Y,N(q,L.prototype),q.isPureReactComponent=!0;var W=Array.isArray;function B(e){return W(e)}function H(e){return\\\"\\\"+e}function J(e){if(function(e){try{return H(e),!1}catch(e){return!0}}(e))return E(\\\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\\\",function(e){return\\\"function\\\"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||\\\"Object\\\"}(e)),H(e)}function Q(e){return e.displayName||\\\"Context\\\"}function X(e){if(null==e)return null;if(\\\"number\\\"==typeof e.tag&&E(\\\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\\\"),\\\"function\\\"==typeof e)return e.displayName||e.name||null;if(\\\"string\\\"==typeof e)return e;switch(e){case r:return\\\"Fragment\\\";case n:return\\\"Portal\\\";case a:return\\\"Profiler\\\";case o:return\\\"StrictMode\\\";case s:return\\\"Suspense\\\";case l:return\\\"SuspenseList\\\"}if(\\\"object\\\"==typeof e)switch(e.$$typeof){case u:return Q(e)+\\\".Consumer\\\";case i:return Q(e._context)+\\\".Provider\\\";case c:return function(e,t,n){var r=e.displayName;if(r)return r;var o=t.displayName||t.name||\\\"\\\";return\\\"\\\"!==o?n+\\\"(\\\"+o+\\\")\\\":n}(e,e.render,\\\"ForwardRef\\\");case f:var t=e.displayName||null;return null!==t?t:X(e.type)||\\\"Memo\\\";case p:var d=e,y=d._payload,m=d._init;try{return X(m(y))}catch(e){return null}}return null}var G,K,Z,ee=Object.prototype.hasOwnProperty,te={key:!0,ref:!0,__self:!0,__source:!0};function ne(e){if(ee.call(e,\\\"ref\\\")){var t=Object.getOwnPropertyDescriptor(e,\\\"ref\\\").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}function re(e){if(ee.call(e,\\\"key\\\")){var t=Object.getOwnPropertyDescriptor(e,\\\"key\\\").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}Z={};var oe=function(e,n,r,o,a,i,u){var c={$$typeof:t,type:e,key:n,ref:r,props:u,_owner:i,_store:{}};return Object.defineProperty(c._store,\\\"validated\\\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,\\\"_self\\\",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(c,\\\"_source\\\",{configurable:!1,enumerable:!1,writable:!1,value:a}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c};function ae(e,t,n){var r,o={},a=null,i=null,u=null,c=null;if(null!=t)for(r in ne(t)&&(i=t.ref,function(e){if(\\\"string\\\"==typeof e.ref&&_.current&&e.__self&&_.current.stateNode!==e.__self){var t=X(_.current.type);Z[t]||(E('Component \\\"%s\\\" contains the string ref \\\"%s\\\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',t,e.ref),Z[t]=!0)}}(t)),re(t)&&(J(t.key),a=\\\"\\\"+t.key),u=void 0===t.__self?null:t.__self,c=void 0===t.__source?null:t.__source,t)ee.call(t,r)&&!te.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(1===s)o.children=n;else if(s>1){for(var l=Array(s),f=0;f\u003Cs;f++)l[f]=arguments[f+2];Object.freeze&&Object.freeze(l),o.children=l}if(e&&e.defaultProps){var p=e.defaultProps;for(r in p)void 0===o[r]&&(o[r]=p[r])}if(a||i){var d=\\\"function\\\"==typeof e?e.displayName||e.name||\\\"Unknown\\\":e;a&&function(e,t){var n=function(){G||(G=!0,E(\\\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\\\",t))};n.isReactWarning=!0,Object.defineProperty(e,\\\"key\\\",{get:n,configurable:!0})}(o,d),i&&function(e,t){var n=function(){K||(K=!0,E(\\\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\\\",t))};n.isReactWarning=!0,Object.defineProperty(e,\\\"ref\\\",{get:n,configurable:!0})}(o,d)}return oe(e,a,i,u,c,_.current,o)}function ie(e){return\\\"object\\\"==typeof e&&null!==e&&e.$$typeof===t}var ue=\\\".\\\",ce=\\\":\\\";var se=!1,le=/\\\\/+/g;function fe(e){return e.replace(le,\\\"$&/\\\")}function pe(e,t){return\\\"object\\\"==typeof e&&null!==e&&null!=e.key?(J(e.key),n=\\\"\\\"+e.key,r={\\\"=\\\":\\\"=0\\\",\\\":\\\":\\\"=2\\\"},\\\"$\\\"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36);var n,r}function de(e,r,o,a,i){var u=typeof e;\\\"undefined\\\"!==u&&\\\"boolean\\\"!==u||(e=null);var c,s,l,f=!1;if(null===e)f=!0;else switch(u){case\\\"string\\\":case\\\"number\\\":f=!0;break;case\\\"object\\\":switch(e.$$typeof){case t:case n:f=!0}}if(f){var p=e,d=i(p),y=\\\"\\\"===a?ue+pe(p,0):a;if(B(d)){var m=\\\"\\\";null!=y&&(m=fe(y)+\\\"/\\\"),de(d,r,m,\\\"\\\",function(e){return e})}else null!=d&&(ie(d)&&(!d.key||p&&p.key===d.key||J(d.key),c=d,s=o+(!d.key||p&&p.key===d.key?\\\"\\\":fe(\\\"\\\"+d.key)+\\\"/\\\")+y,d=oe(c.type,s,c.ref,c._self,c._source,c._owner,c.props)),r.push(d));return 1}var h=0,g=\\\"\\\"===a?ue:a+ce;if(B(e))for(var b=0;b\u003Ce.length;b++)h+=de(l=e[b],r,o,g+pe(l,b),i);else{var _=v(e);if(\\\"function\\\"==typeof _){var w=e;_===w.entries&&(se||T(\\\"Using Maps as children is not supported. Use an array of keyed ReactElements instead.\\\"),se=!0);for(var k,C=_.call(w),R=0;!(k=C.next()).done;)h+=de(l=k.value,r,o,g+pe(l,R++),i)}else if(\\\"object\\\"===u){var S=String(e);throw new Error(\\\"Objects are not valid as a React child (found: \\\"+(\\\"[object Object]\\\"===S?\\\"object with keys {\\\"+Object.keys(e).join(\\\", \\\")+\\\"}\\\":S)+\\\"). If you meant to render a collection of children, use an array instead.\\\")}}return h}function ye(e,t,n){if(null==e)return e;var r=[],o=0;return de(e,r,\\\"\\\",\\\"\\\",function(e){return t.call(n,e,o++)}),r}var me,ve=-1,he=0,ge=1,be=2;function _e(e){if(e._status===ve){var t=(0,e._result)();if(t.then(function(t){if(e._status===he||e._status===ve){var n=e;n._status=ge,n._result=t}},function(t){if(e._status===he||e._status===ve){var n=e;n._status=be,n._result=t}}),e._status===ve){var n=e;n._status=he,n._result=t}}if(e._status===ge){var r=e._result;return void 0===r&&E(\\\"lazy: Expected the result of a dynamic import() call. Instead received: %s\\\\n\\\\nYour code should look like: \\\\n const MyComponent = lazy(() => import('./MyComponent'))\\\\n\\\\nDid you accidentally put curly braces around the import?\\\",r),\\\"default\\\"in r||E(\\\"lazy: Expected the result of a dynamic import() call. Instead received: %s\\\\n\\\\nYour code should look like: \\\\n const MyComponent = lazy(() => import('./MyComponent'))\\\",r),r.default}throw e._result}function we(e){return\\\"string\\\"==typeof e||\\\"function\\\"==typeof e||(!!(e===r||e===a||x||e===o||e===s||e===l||j||e===d||R||S||P)||\\\"object\\\"==typeof e&&null!==e&&(e.$$typeof===p||e.$$typeof===f||e.$$typeof===i||e.$$typeof===u||e.$$typeof===c||e.$$typeof===me||void 0!==e.getModuleId))}function ke(){var e=h.current;return null===e&&E(\\\"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\\\n2. You might be breaking the Rules of Hooks\\\\n3. You might have more than one copy of React in the same app\\\\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.\\\"),e}me=Symbol.for(\\\"react.module.reference\\\");var Ce,Re,Se,Pe,je,xe,Oe,Te=0;function Ee(){}Ee.__reactDisabledLog=!0;var $e,Ie=O.ReactCurrentDispatcher;function De(e,t,n){if(void 0===$e)try{throw Error()}catch(e){var r=e.stack.trim().match(/\\\\n( *(at )?)/);$e=r&&r[1]||\\\"\\\"}return\\\"\\\\n\\\"+$e+e}var Fe,Ne=!1,Me=\\\"function\\\"==typeof WeakMap?WeakMap:Map;function Le(e,t){if(!e||Ne)return\\\"\\\";var n,r=Fe.get(e);if(void 0!==r)return r;Ne=!0;var o,a=Error.prepareStackTrace;Error.prepareStackTrace=void 0,o=Ie.current,Ie.current=null,function(){if(0===Te){Ce=console.log,Re=console.info,Se=console.warn,Pe=console.error,je=console.group,xe=console.groupCollapsed,Oe=console.groupEnd;var e={configurable:!0,enumerable:!0,value:Ee,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}Te++}();try{if(t){var i=function(){throw Error()};if(Object.defineProperty(i.prototype,\\\"props\\\",{set:function(){throw Error()}}),\\\"object\\\"==typeof Reflect&&Reflect.construct){try{Reflect.construct(i,[])}catch(e){n=e}Reflect.construct(e,[],i)}else{try{i.call()}catch(e){n=e}e.call(i.prototype)}}else{try{throw Error()}catch(e){n=e}e()}}catch(t){if(t&&n&&\\\"string\\\"==typeof t.stack){for(var u=t.stack.split(\\\"\\\\n\\\"),c=n.stack.split(\\\"\\\\n\\\"),s=u.length-1,l=c.length-1;s>=1&&l>=0&&u[s]!==c[l];)l--;for(;s>=1&&l>=0;s--,l--)if(u[s]!==c[l]){if(1!==s||1!==l)do{if(s--,--l\u003C0||u[s]!==c[l]){var f=\\\"\\\\n\\\"+u[s].replace(\\\" at new \\\",\\\" at \\\");return e.displayName&&f.includes(\\\"\u003Canonymous>\\\")&&(f=f.replace(\\\"\u003Canonymous>\\\",e.displayName)),\\\"function\\\"==typeof e&&Fe.set(e,f),f}}while(s>=1&&l>=0);break}}}finally{Ne=!1,Ie.current=o,function(){if(0==--Te){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:N({},e,{value:Ce}),info:N({},e,{value:Re}),warn:N({},e,{value:Se}),error:N({},e,{value:Pe}),group:N({},e,{value:je}),groupCollapsed:N({},e,{value:xe}),groupEnd:N({},e,{value:Oe})})}Te\u003C0&&E(\\\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\\\")}(),Error.prepareStackTrace=a}var p=e?e.displayName||e.name:\\\"\\\",d=p?De(p):\\\"\\\";return\\\"function\\\"==typeof e&&Fe.set(e,d),d}function ze(e,t,n){if(null==e)return\\\"\\\";if(\\\"function\\\"==typeof e)return Le(e,!(!(r=e.prototype)||!r.isReactComponent));var r;if(\\\"string\\\"==typeof e)return De(e);switch(e){case s:return De(\\\"Suspense\\\");case l:return De(\\\"SuspenseList\\\")}if(\\\"object\\\"==typeof e)switch(e.$$typeof){case c:return Le(e.render,!1);case f:return ze(e.type,t,n);case p:var o=e,a=o._payload,i=o._init;try{return ze(i(a),t,n)}catch(e){}}return\\\"\\\"}Fe=new Me;var Ue,Ae={},Ve=O.ReactDebugCurrentFrame;function Ye(e){if(e){var t=e._owner,n=ze(e.type,e._source,t?t.type:null);Ve.setExtraStackFrame(n)}else Ve.setExtraStackFrame(null)}function qe(e){if(e){var t=e._owner;C(ze(e.type,e._source,t?t.type:null))}else C(null)}function We(){if(_.current){var e=X(_.current.type);if(e)return\\\"\\\\n\\\\nCheck the render method of `\\\"+e+\\\"`.\\\"}return\\\"\\\"}Ue=!1;var Be={};function He(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var n=function(e){var t=We();if(!t){var n=\\\"string\\\"==typeof e?e:e.displayName||e.name;n&&(t=\\\"\\\\n\\\\nCheck the top-level render call using \u003C\\\"+n+\\\">.\\\")}return t}(t);if(!Be[n]){Be[n]=!0;var r=\\\"\\\";e&&e._owner&&e._owner!==_.current&&(r=\\\" It was passed a child from \\\"+X(e._owner.type)+\\\".\\\"),qe(e),E('Each child in a list should have a unique \\\"key\\\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',n,r),qe(null)}}}function Je(e,t){if(\\\"object\\\"==typeof e)if(B(e))for(var n=0;n\u003Ce.length;n++){var r=e[n];ie(r)&&He(r,t)}else if(ie(e))e._store&&(e._store.validated=!0);else if(e){var o=v(e);if(\\\"function\\\"==typeof o&&o!==e.entries)for(var a,i=o.call(e);!(a=i.next()).done;)ie(a.value)&&He(a.value,t)}}function Qe(e){var t,n=e.type;if(null!==n&&void 0!==n&&\\\"string\\\"!=typeof n){if(\\\"function\\\"==typeof n)t=n.propTypes;else{if(\\\"object\\\"!=typeof n||n.$$typeof!==c&&n.$$typeof!==f)return;t=n.propTypes}if(t){var r=X(n);!function(e,t,n,r,o){var a=Function.call.bind(ee);for(var i in e)if(a(e,i)){var u=void 0;try{if(\\\"function\\\"!=typeof e[i]){var c=Error((r||\\\"React class\\\")+\\\": \\\"+n+\\\" type `\\\"+i+\\\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\\\"+typeof e[i]+\\\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\\\");throw c.name=\\\"Invariant Violation\\\",c}u=e[i](t,i,r,n,null,\\\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\\\")}catch(e){u=e}!u||u instanceof Error||(Ye(o),E(\\\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\\\",r||\\\"React class\\\",n,i,typeof u),Ye(null)),u instanceof Error&&!(u.message in Ae)&&(Ae[u.message]=!0,Ye(o),E(\\\"Failed %s type: %s\\\",n,u.message),Ye(null))}}(t,e.props,\\\"prop\\\",r,e)}else if(void 0!==n.PropTypes&&!Ue){Ue=!0,E(\\\"Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\\\",X(n)||\\\"Unknown\\\")}\\\"function\\\"!=typeof n.getDefaultProps||n.getDefaultProps.isReactClassApproved||E(\\\"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\\\")}}function Xe(e,n,o){var a,i,u=we(e);if(!u){var c=\\\"\\\";(void 0===e||\\\"object\\\"==typeof e&&null!==e&&0===Object.keys(e).length)&&(c+=\\\" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\\\");var s,l=null!==(a=n)&&void 0!==a&&void 0!==(i=a.__source)?\\\"\\\\n\\\\nCheck your code at \\\"+i.fileName.replace(/^.*[\\\\\\\\\\\\/]/,\\\"\\\")+\\\":\\\"+i.lineNumber+\\\".\\\":\\\"\\\";c+=l||We(),null===e?s=\\\"null\\\":B(e)?s=\\\"array\\\":void 0!==e&&e.$$typeof===t?(s=\\\"\u003C\\\"+(X(e.type)||\\\"Unknown\\\")+\\\" />\\\",c=\\\" Did you accidentally export a JSX literal instead of a component?\\\"):s=typeof e,E(\\\"React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\\\",s,c)}var f=ae.apply(this,arguments);if(null==f)return f;if(u)for(var p=2;p\u003Carguments.length;p++)Je(arguments[p],e);return e===r?function(e){for(var t=Object.keys(e.props),n=0;n\u003Ct.length;n++){var r=t[n];if(\\\"children\\\"!==r&&\\\"key\\\"!==r){qe(e),E(\\\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\\\",r),qe(null);break}}null!==e.ref&&(qe(e),E(\\\"Invalid attribute `ref` supplied to `React.Fragment`.\\\"),qe(null))}(f):Qe(f),f}var Ge=!1;var Ke=!1,Ze=!1,et=5;function tt(e,t){var n=e.length;e.push(t),function(e,t,n){var r=n;for(;r>0;){var o=r-1>>>1,a=e[o];if(!(ot(a,t)>0))return;e[o]=t,e[r]=a,r=o}}(e,t,n)}function nt(e){return 0===e.length?null:e[0]}function rt(e){if(0===e.length)return null;var t=e[0],n=e.pop();return n!==t&&(e[0]=n,function(e,t,n){var r=n,o=e.length,a=o>>>1;for(;r\u003Ca;){var i=2*(r+1)-1,u=e[i],c=i+1,s=e[c];if(ot(u,t)\u003C0)c\u003Co&&ot(s,u)\u003C0?(e[r]=s,e[c]=t,r=c):(e[r]=u,e[i]=t,r=i);else{if(!(c\u003Co&&ot(s,t)\u003C0))return;e[r]=s,e[c]=t,r=c}}}(e,n,0)),t}function ot(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var at,it=1,ut=2,ct=3,st=4,lt=5;if(\\\"object\\\"==typeof performance&&\\\"function\\\"==typeof performance.now){var ft=performance;at=function(){return ft.now()}}else{var pt=Date,dt=pt.now();at=function(){return pt.now()-dt}}var yt=-1,mt=250,vt=5e3,ht=1e4,gt=1073741823,bt=[],_t=[],wt=1,kt=null,Ct=ct,Rt=!1,St=!1,Pt=!1,jt=\\\"function\\\"==typeof setTimeout?setTimeout:null,xt=\\\"function\\\"==typeof clearTimeout?clearTimeout:null,Ot=\\\"undefined\\\"!=typeof setImmediate?setImmediate:null;\\\"undefined\\\"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Tt(e){for(var t=nt(_t);null!==t;){if(null===t.callback)rt(_t);else{if(!(t.startTime\u003C=e))return;rt(_t),t.sortIndex=t.expirationTime,tt(bt,t)}t=nt(_t)}}function Et(e){if(Pt=!1,Tt(e),!St)if(null!==nt(bt))St=!0,qt($t);else{var t=nt(_t);null!==t&&Wt(Et,t.startTime-e)}}function $t(e,t){St=!1,Pt&&(Pt=!1,Bt()),Rt=!0;var n=Ct;try{if(!Ze)return It(e,t);try{return It(e,t)}catch(e){if(null!==kt){at();kt.isQueued=!1}throw e}}finally{kt=null,Ct=n,Rt=!1}}function It(e,t){var n=t;for(Tt(n),kt=nt(bt);null!==kt&&!Ke&&(!(kt.expirationTime>n)||e&&!zt());){var r=kt.callback;if(\\\"function\\\"==typeof r){kt.callback=null,Ct=kt.priorityLevel;var o=r(kt.expirationTime\u003C=n);n=at(),\\\"function\\\"==typeof o?kt.callback=o:kt===nt(bt)&&rt(bt),Tt(n)}else rt(bt);kt=nt(bt)}if(null!==kt)return!0;var a=nt(_t);return null!==a&&Wt(Et,a.startTime-n),!1}var Dt=!1,Ft=null,Nt=-1,Mt=et,Lt=-1;function zt(){return!(at()-Lt\u003CMt)}var Ut,At=function(){if(null!==Ft){var e=at();Lt=e;var t=!0;try{t=Ft(!0,e)}finally{t?Ut():(Dt=!1,Ft=null)}}else Dt=!1};if(\\\"function\\\"==typeof Ot)Ut=function(){Ot(At)};else if(\\\"undefined\\\"!=typeof MessageChannel){var Vt=new MessageChannel,Yt=Vt.port2;Vt.port1.onmessage=At,Ut=function(){Yt.postMessage(null)}}else Ut=function(){jt(At,0)};function qt(e){Ft=e,Dt||(Dt=!0,Ut())}function Wt(e,t){Nt=jt(function(){e(at())},t)}function Bt(){xt(Nt),Nt=-1}var Ht=function(){},Jt={ReactCurrentDispatcher:h,ReactCurrentOwner:_,ReactCurrentBatchConfig:g,Scheduler:Object.freeze({__proto__:null,unstable_ImmediatePriority:it,unstable_UserBlockingPriority:ut,unstable_NormalPriority:ct,unstable_IdlePriority:lt,unstable_LowPriority:st,unstable_runWithPriority:function(e,t){switch(e){case it:case ut:case ct:case st:case lt:break;default:e=ct}var n=Ct;Ct=e;try{return t()}finally{Ct=n}},unstable_next:function(e){var t;switch(Ct){case it:case ut:case ct:t=ct;break;default:t=Ct}var n=Ct;Ct=t;try{return e()}finally{Ct=n}},unstable_scheduleCallback:function(e,t,n){var r,o,a=at();if(\\\"object\\\"==typeof n&&null!==n){var i=n.delay;r=\\\"number\\\"==typeof i&&i>0?a+i:a}else r=a;switch(e){case it:o=yt;break;case ut:o=mt;break;case lt:o=gt;break;case st:o=ht;break;case ct:default:o=vt}var u=r+o,c={id:wt++,callback:t,priorityLevel:e,startTime:r,expirationTime:u,sortIndex:-1};return r>a?(c.sortIndex=r,tt(_t,c),null===nt(bt)&&c===nt(_t)&&(Pt?Bt():Pt=!0,Wt(Et,r-a))):(c.sortIndex=u,tt(bt,c),St||Rt||(St=!0,qt($t))),c},unstable_cancelCallback:function(e){e.callback=null},unstable_wrapCallback:function(e){var t=Ct;return function(){var n=Ct;Ct=t;try{return e.apply(this,arguments)}finally{Ct=n}}},unstable_getCurrentPriorityLevel:function(){return Ct},unstable_shouldYield:zt,unstable_requestPaint:Ht,unstable_continueExecution:function(){St||Rt||(St=!0,qt($t))},unstable_pauseExecution:function(){},unstable_getFirstCallbackNode:function(){return nt(bt)},get unstable_now(){return at},unstable_forceFrameRate:function(e){e\u003C0||e>125?console.error(\\\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\\\"):Mt=e>0?Math.floor(1e3/e):et},unstable_Profiling:null})};Jt.ReactCurrentActQueue=b,Jt.ReactDebugCurrentFrame=w;var Qt=!1,Xt=null;var Gt=0,Kt=!1;function Zt(e){var t=Gt;Gt++,null===b.current&&(b.current=[]);var n,r=b.isBatchingLegacy;try{if(b.isBatchingLegacy=!0,n=e(),!r&&b.didScheduleLegacyUpdate){var o=b.current;null!==o&&(b.didScheduleLegacyUpdate=!1,rn(o))}}catch(e){throw en(t),e}finally{b.isBatchingLegacy=r}if(null!==n&&\\\"object\\\"==typeof n&&\\\"function\\\"==typeof n.then){var a=n,i=!1,u={then:function(e,n){i=!0,a.then(function(r){en(t),0===Gt?tn(r,e,n):e(r)},function(e){en(t),n(e)})}};return Kt||\\\"undefined\\\"==typeof Promise||Promise.resolve().then(function(){}).then(function(){i||(Kt=!0,E(\\\"You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);\\\"))}),u}var c=n;if(en(t),0===Gt){var s=b.current;return null!==s&&(rn(s),b.current=null),{then:function(e,t){null===b.current?(b.current=[],tn(c,e,t)):e(c)}}}return{then:function(e,t){e(c)}}}function en(e){e!==Gt-1&&E(\\\"You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. \\\"),Gt=e}function tn(e,t,n){var r=b.current;if(null!==r)try{rn(r),function(e){if(null===Xt)try{var t=(\\\"require\\\"+Math.random()).slice(0,7),n=module&&module[t];Xt=n.call(module,\\\"timers\\\").setImmediate}catch(e){Xt=function(e){!1===Qt&&(Qt=!0,\\\"undefined\\\"==typeof MessageChannel&&E(\\\"This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.\\\"));var t=new MessageChannel;t.port1.onmessage=e,t.port2.postMessage(void 0)}}Xt(e)}(function(){0===r.length?(b.current=null,t(e)):tn(e,t,n)})}catch(e){n(e)}else t(e)}var nn=!1;function rn(e){if(!nn){nn=!0;var t=0;try{for(;t\u003Ce.length;t++){var n=e[t];do{n=n(!0)}while(null!==n)}e.length=0}catch(n){throw e=e.slice(t+1),n}finally{nn=!1}}}var on=Xe,an=function(e,t,n){for(var r=function(e,t,n){if(null===e||void 0===e)throw new Error(\\\"React.cloneElement(...): The argument must be a React element, but you passed \\\"+e+\\\".\\\");var r,o,a=N({},e.props),i=e.key,u=e.ref,c=e._self,s=e._source,l=e._owner;if(null!=t)for(r in ne(t)&&(u=t.ref,l=_.current),re(t)&&(J(t.key),i=\\\"\\\"+t.key),e.type&&e.type.defaultProps&&(o=e.type.defaultProps),t)ee.call(t,r)&&!te.hasOwnProperty(r)&&(void 0===t[r]&&void 0!==o?a[r]=o[r]:a[r]=t[r]);var f=arguments.length-2;if(1===f)a.children=n;else if(f>1){for(var p=Array(f),d=0;d\u003Cf;d++)p[d]=arguments[d+2];a.children=p}return oe(e.type,i,u,c,s,l,a)}.apply(this,arguments),o=2;o\u003Carguments.length;o++)Je(arguments[o],r.type);return Qe(r),r},un=function(e){var t=Xe.bind(null,e);return t.type=e,Ge||(Ge=!0,T(\\\"React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.\\\")),Object.defineProperty(t,\\\"type\\\",{enumerable:!1,get:function(){return T(\\\"Factory.type is deprecated. Access the class directly before passing it to createFactory.\\\"),Object.defineProperty(this,\\\"type\\\",{value:e}),e}}),t},cn={map:ye,forEach:function(e,t,n){ye(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ye(e,function(){t++}),t},toArray:function(e){return ye(e,function(e){return e})||[]},only:function(e){if(!ie(e))throw new Error(\\\"React.Children.only expected to receive a single React element child.\\\");return e}};e.Children=cn,e.Component=L,e.Fragment=r,e.Profiler=a,e.PureComponent=Y,e.StrictMode=o,e.Suspense=s,e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Jt,e.act=Zt,e.cloneElement=an,e.createContext=function(e){var t={$$typeof:u,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};t.Provider={$$typeof:i,_context:t};var n=!1,r=!1,o=!1,a={$$typeof:u,_context:t};return Object.defineProperties(a,{Provider:{get:function(){return r||(r=!0,E(\\\"Rendering \u003CContext.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render \u003CContext.Provider> instead?\\\")),t.Provider},set:function(e){t.Provider=e}},_currentValue:{get:function(){return t._currentValue},set:function(e){t._currentValue=e}},_currentValue2:{get:function(){return t._currentValue2},set:function(e){t._currentValue2=e}},_threadCount:{get:function(){return t._threadCount},set:function(e){t._threadCount=e}},Consumer:{get:function(){return n||(n=!0,E(\\\"Rendering \u003CContext.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render \u003CContext.Consumer> instead?\\\")),t.Consumer}},displayName:{get:function(){return t.displayName},set:function(e){o||(T(\\\"Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.\\\",e),o=!0)}}}),t.Consumer=a,t._currentRenderer=null,t._currentRenderer2=null,t},e.createElement=on,e.createFactory=un,e.createRef=function(){var e={current:null};return Object.seal(e),e},e.forwardRef=function(e){null!=e&&e.$$typeof===f?E(\\\"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\\\"):\\\"function\\\"!=typeof e?E(\\\"forwardRef requires a render function but was given %s.\\\",null===e?\\\"null\\\":typeof e):0!==e.length&&2!==e.length&&E(\\\"forwardRef render functions accept exactly two parameters: props and ref. %s\\\",1===e.length?\\\"Did you forget to use the ref parameter?\\\":\\\"Any additional parameter will be undefined.\\\"),null!=e&&(null==e.defaultProps&&null==e.propTypes||E(\\\"forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?\\\"));var t,n={$$typeof:c,render:e};return Object.defineProperty(n,\\\"displayName\\\",{enumerable:!1,configurable:!0,get:function(){return t},set:function(n){t=n,e.name||e.displayName||(e.displayName=n)}}),n},e.isValidElement=ie,e.lazy=function(e){var t,n,r={$$typeof:p,_payload:{_status:ve,_result:e},_init:_e};return Object.defineProperties(r,{defaultProps:{configurable:!0,get:function(){return t},set:function(e){E(\\\"React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it.\\\"),t=e,Object.defineProperty(r,\\\"defaultProps\\\",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return n},set:function(e){E(\\\"React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it.\\\"),n=e,Object.defineProperty(r,\\\"propTypes\\\",{enumerable:!0})}}}),r},e.memo=function(e,t){we(e)||E(\\\"memo: The first argument must be a component. Instead received: %s\\\",null===e?\\\"null\\\":typeof e);var n,r={$$typeof:f,type:e,compare:void 0===t?null:t};return Object.defineProperty(r,\\\"displayName\\\",{enumerable:!1,configurable:!0,get:function(){return n},set:function(t){n=t,e.name||e.displayName||(e.displayName=t)}}),r},e.startTransition=function(e,t){var n=g.transition;g.transition={};var r=g.transition;g.transition._updatedFibers=new Set;try{e()}finally{g.transition=n,null===n&&r._updatedFibers&&(r._updatedFibers.size>10&&T(\\\"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\\\"),r._updatedFibers.clear())}},e.unstable_act=Zt,e.useCallback=function(e,t){return ke().useCallback(e,t)},e.useContext=function(e){var t=ke();if(void 0!==e._context){var n=e._context;n.Consumer===e?E(\\\"Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?\\\"):n.Provider===e&&E(\\\"Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?\\\")}return t.useContext(e)},e.useDebugValue=function(e,t){return ke().useDebugValue(e,t)},e.useDeferredValue=function(e){return ke().useDeferredValue(e)},e.useEffect=function(e,t){return ke().useEffect(e,t)},e.useId=function(){return ke().useId()},e.useImperativeHandle=function(e,t,n){return ke().useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return ke().useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return ke().useLayoutEffect(e,t)},e.useMemo=function(e,t){return ke().useMemo(e,t)},e.useReducer=function(e,t,n){return ke().useReducer(e,t,n)},e.useRef=function(e){return ke().useRef(e)},e.useState=function(e){return ke().useState(e)},e.useSyncExternalStore=function(e,t,n){return ke().useSyncExternalStore(e,t,n)},e.useTransition=function(){return ke().useTransition()},e.version=\\\"18.3.1\\\"});\",\"creator\":\"LinOnetwo\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"$:/plugins/linonetwo/tw-react/readme\":{\"title\":\"$:/plugins/linonetwo/tw-react/readme\",\"creator\":\"LinOnetwo\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! What is this\\n\\nThis is a dependency of slate-write WYSIWYG editor and flowtiwi-sidebar and many other dynamic widgets. This plugin enable powerful data operation and UI operation of those plugins, thus become a prerequisite of those plugins.\\n\\n!! Example\\n\\n{{$:/plugins/linonetwo/tw-react/docs/example}}\\n\\n!! Usage\\n\\n\u003C\u003Ctree prefix:\\\"$:/plugins/linonetwo/tw-react/docs/\\\">>\\n\"},\"$:/plugins/linonetwo/tw-react/tree\":{\"title\":\"$:/plugins/linonetwo/tw-react/tree\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C\u003Ctree prefix:\\\"$:/plugins/linonetwo/tw-react/\\\">>\"},\"$:/plugins/linonetwo/tw-react/widget.js\":{\"title\":\"$:/plugins/linonetwo/tw-react/widget.js\",\"text\":\"\\\"use strict\\\";\\n\\n// node_modules/.pnpm/@wessberg+connection-observer@1.0.5_patch_hash=fr7zjraqbqi6pqg33c2znbtaw4/node_modules/@wessberg/connection-observer/dist/index.js\\nvar ORIGINAL_ATTACH_SHADOW = typeof Element !== \\\"undefined\\\" ? Element.prototype.attachShadow : void 0;\\nfunction isShady() {\\n return typeof window.ShadyDOM !== \\\"undefined\\\" && typeof ShadowRoot !== \\\"undefined\\\";\\n}\\nfunction supportsShadowRoots() {\\n return typeof ShadowRoot !== \\\"undefined\\\";\\n}\\nfunction patchElementPrototypeAttachShadow(callback) {\\n if (ORIGINAL_ATTACH_SHADOW == null || isShady() || typeof Element === \\\"undefined\\\")\\n return;\\n Element.prototype.attachShadow = function(shadowRootInitDict) {\\n const shadowRoot = ORIGINAL_ATTACH_SHADOW.call(this, shadowRootInitDict);\\n callback(shadowRoot);\\n return shadowRoot;\\n };\\n}\\nfunction createPausableQueue(job, ...queueItems) {\\n const queue = new Set(queueItems);\\n let running = false;\\n const flush = () => {\\n for (const queuedNode of queue) {\\n job(queuedNode);\\n }\\n queue.clear();\\n };\\n return {\\n isRunning() {\\n return running;\\n },\\n schedule(node) {\\n queue.add(node);\\n if (running) {\\n flush();\\n }\\n },\\n stop() {\\n running = false;\\n },\\n run() {\\n if (running)\\n return;\\n running = true;\\n flush();\\n }\\n };\\n}\\nvar MUTATION_OBSERVER_INIT = {\\n childList: true,\\n subtree: true\\n};\\nvar nextMicrotask = (func) => {\\n if (typeof queueMicrotask !== \\\"undefined\\\")\\n queueMicrotask(func);\\n else if (typeof Promise !== \\\"undefined\\\")\\n Promise.resolve().then(() => func());\\n else\\n setTimeout(() => func(), 0);\\n};\\nfunction nodeListToArray(nodeList) {\\n if (typeof Symbol !== \\\"undefined\\\" && nodeList[Symbol.iterator] != null) {\\n return [...nodeList];\\n } else {\\n const arr = [];\\n for (let i = 0; i \u003C nodeList.length; i++) {\\n arr[i] = nodeList[i];\\n }\\n return arr;\\n }\\n}\\nfunction queryRoot(root, query) {\\n if (isShady()) {\\n return new Set(nodeListToArray(window.ShadyDOM.nativeMethods.querySelectorAll.call(document.documentElement, query)));\\n }\\n return new Set(!(\\\"querySelectorAll\\\" in root) ? [] : nodeListToArray(root.querySelectorAll(query)));\\n}\\nfunction mergeNodes(a, b) {\\n return /* @__PURE__ */ new Set([...a == null ? [] : a, ...b == null ? [] : b]);\\n}\\nfunction isDocumentOrShadowRoot(root) {\\n return \\\"activeElement\\\" in root;\\n}\\nfunction observeMissingRoots(root = document.documentElement) {\\n if (isDocumentOrShadowRoot(root)) {\\n observeRoot(root);\\n }\\n if (isShady() && root instanceof ShadowRoot)\\n return;\\n if (!supportsShadowRoots())\\n return;\\n const childNodes = root.childNodes;\\n const shadowRoot = \\\"shadowRoot\\\" in root && root.shadowRoot != null ? [root.shadowRoot] : [];\\n for (const node of [...childNodes, ...shadowRoot]) {\\n observeMissingRoots(node);\\n }\\n}\\nfunction isConnected(node) {\\n if (\\\"isConnected\\\" in Node.prototype)\\n return node.isConnected;\\n return node.ownerDocument == null || !(node.ownerDocument.compareDocumentPosition(node) & node.DOCUMENT_POSITION_DISCONNECTED);\\n}\\nvar CONNECTION_OBSERVER_INTERNALS_MAP = /* @__PURE__ */ new Map();\\nfunction initializeConnectionObserver(observer, callback) {\\n const queue = /* @__PURE__ */ new Set();\\n const observedTargets = /* @__PURE__ */ new Set();\\n const rootToQuerySelectorToMatchedNodesMap = /* @__PURE__ */ new Map();\\n const nodeToLastConnectionValueMap = /* @__PURE__ */ new WeakMap();\\n let scheduled = false;\\n let flushing = false;\\n let hasFoundMissingRoots = false;\\n const flush = () => {\\n flushing = true;\\n const arr = [...queue];\\n if (arr.length > 0) {\\n callback(arr, observer);\\n }\\n queue.clear();\\n scheduled = false;\\n flushing = false;\\n };\\n const scheduleFlush = () => {\\n if (!scheduled) {\\n scheduled = true;\\n nextMicrotask(flush);\\n }\\n };\\n const addToQueue = (entry) => {\\n queue.add(entry);\\n if (!flushing) {\\n scheduleFlush();\\n }\\n };\\n const clearQueue = () => {\\n const items = [...queue];\\n queue.clear();\\n return items;\\n };\\n const clearObservedTargets = () => {\\n observedTargets.clear();\\n };\\n const queryRootAndHandleMutationChanges = (root, query) => {\\n let oldQuerySelectorMap = rootToQuerySelectorToMatchedNodesMap.get(root);\\n const currentNodes = queryRoot(root, query);\\n const oldNodes = oldQuerySelectorMap == null ? void 0 : oldQuerySelectorMap.get(query);\\n const mergedNodes = mergeNodes(currentNodes, oldNodes);\\n handleMutationChange(mergedNodes);\\n if (oldQuerySelectorMap == null) {\\n oldQuerySelectorMap = /* @__PURE__ */ new Map();\\n rootToQuerySelectorToMatchedNodesMap.set(root, oldQuerySelectorMap);\\n }\\n oldQuerySelectorMap.set(query, currentNodes);\\n };\\n const handleMutationChange = (targetNodes) => {\\n for (const targetNode of targetNodes) {\\n const lastValue = nodeToLastConnectionValueMap.get(targetNode);\\n const isTargetNodeConnected = isConnected(targetNode);\\n if (lastValue !== isTargetNodeConnected) {\\n nodeToLastConnectionValueMap.set(targetNode, isTargetNodeConnected);\\n addToQueue({\\n connected: isTargetNodeConnected,\\n target: targetNode\\n });\\n }\\n }\\n };\\n const addObservedTarget = (target) => {\\n rootObserverQueue.run();\\n if (!hasFoundMissingRoots) {\\n hasFoundMissingRoots = true;\\n observeMissingRoots();\\n }\\n observedTargets.add(target);\\n if (typeof target !== \\\"string\\\") {\\n handleMutationChange([target]);\\n } else {\\n for (const root of OBSERVED_ROOTS) {\\n queryRootAndHandleMutationChanges(root, target);\\n }\\n }\\n };\\n const internals = {\\n observedTargets,\\n queryRootAndHandleMutationChanges,\\n handleMutationChange,\\n addObservedTarget,\\n clearObservedTargets,\\n clearQueue\\n };\\n CONNECTION_OBSERVER_INTERNALS_MAP.set(observer, internals);\\n}\\nvar mutationCallback = (mutations) => {\\n for (const mutation of mutations) {\\n if (mutation.type !== \\\"childList\\\")\\n continue;\\n for (const observer of CONNECTION_OBSERVER_INTERNALS_MAP.values()) {\\n for (const target of observer.observedTargets) {\\n if (typeof target === \\\"string\\\") {\\n observer.queryRootAndHandleMutationChanges(mutation.target, target);\\n } else {\\n observer.handleMutationChange([target]);\\n }\\n }\\n }\\n }\\n};\\nvar OBSERVED_ROOTS = /* @__PURE__ */ new Set();\\nvar observeRoot = /* @__PURE__ */ (() => {\\n let instance;\\n return function(root) {\\n if (OBSERVED_ROOTS.has(root))\\n return;\\n OBSERVED_ROOTS.add(root);\\n if (instance == null) {\\n instance = new MutationObserver(mutationCallback);\\n }\\n instance.observe(root, MUTATION_OBSERVER_INIT);\\n };\\n})();\\nvar rootObserverQueue = createPausableQueue(observeRoot, typeof document !== \\\"undefined\\\" ? document.documentElement : void 0);\\nvar ConnectionObserver = class _ConnectionObserver {\\n constructor(callback) {\\n if (new.target === void 0) {\\n throw new TypeError(`Constructor ${_ConnectionObserver.name} requires 'new'`);\\n }\\n if (callback === void 0) {\\n throw new ReferenceError(`Failed to construct '${_ConnectionObserver.name}': 1 argument required, but only 0 present.`);\\n } else if (typeof callback !== \\\"function\\\") {\\n throw new TypeError(`Failed to construct '${_ConnectionObserver.name}': The callback provided as parameter 1 is not a function.`);\\n }\\n if (typeof document === \\\"undefined\\\") {\\n return;\\n }\\n initializeConnectionObserver(this, callback);\\n }\\n /**\\n * The Symbol.@@toStringTag value\\n */\\n get [Symbol.toStringTag]() {\\n return `ConnectionObserver`;\\n }\\n /**\\n * Observe the given node or query selector for connections/disconnections.\\n * If given a Node, that specific Node will be observed. If given a query selector, such\\n * as for example \\\"img[data-some-attr]\\\", for each new MutationRecord, the query selector\\n * will be executed and the matched nodes will be observed for connections/disconnections\\n */\\n observe(target) {\\n if (target === void 0) {\\n throw new ReferenceError(`Failed to execute '${this.observe.name}' on '${_ConnectionObserver.name}': 1 argument required, but only 0 present.`);\\n } else if (typeof target !== \\\"string\\\" && !(target instanceof Node)) {\\n throw new TypeError(`Failed to execute '${this.observe.name}' on '${_ConnectionObserver.name}': parameter 1 is not of type 'Node' or a DOMString.`);\\n }\\n const internals = CONNECTION_OBSERVER_INTERNALS_MAP.get(this);\\n if (internals == null)\\n return;\\n internals.addObservedTarget(target);\\n }\\n /**\\n * Takes the records immediately (instead of waiting for the next flush)\\n */\\n takeRecords() {\\n const internals = CONNECTION_OBSERVER_INTERNALS_MAP.get(this);\\n if (internals == null)\\n return [];\\n return internals.clearQueue();\\n }\\n /**\\n * Disconnects the ConnectionObserver such that none of its callbacks will be invoked any longer\\n */\\n disconnect() {\\n const internals = CONNECTION_OBSERVER_INTERNALS_MAP.get(this);\\n if (internals == null)\\n return;\\n internals.clearObservedTargets();\\n }\\n};\\npatchElementPrototypeAttachShadow(rootObserverQueue.schedule.bind(rootObserverQueue));\\n\\n// src/widget.ts\\nvar import_widget = require(\\\"$:/core/modules/widgets/widget.js\\\");\\nvar ReactDom = require(\\\"react-dom\\\");\\nvar React = require(\\\"react\\\");\\nif (typeof window !== \\\"undefined\\\") {\\n window.React = React;\\n} else if (typeof global !== \\\"undefined\\\") {\\n global.React = React;\\n}\\nvar ReactWidgetImpl = class extends import_widget.widget {\\n constructor(parseTreeNode, options) {\\n super(parseTreeNode, options);\\n /**\\n * User of tw-react need to assign his react component to this property.\\n */\\n this.reactComponent = null;\\n this.getProps = () => ({ parentWidget: this });\\n if (!$tw.browser) {\\n return;\\n }\\n this.connectionObserver = new ConnectionObserver((entries) => {\\n for (const { connected } of entries) {\\n if (!connected) {\\n this.destroy();\\n this.connectionObserver?.disconnect?.();\\n }\\n }\\n });\\n }\\n refresh(changedTiddlers) {\\n return false;\\n }\\n render(parent, nextSibling) {\\n this.parentDomNode = parent;\\n this.computeAttributes();\\n this.execute();\\n if (this.reactComponent === void 0 || this.reactComponent === null) {\\n return;\\n }\\n const currentProps = this.getProps() ?? {};\\n if (currentProps.parentWidget === void 0 || currentProps.parentWidget === null) {\\n currentProps.parentWidget = this;\\n }\\n if (this.root === void 0 || this.containerElement === void 0) {\\n this.containerElement = document.createElement(\\\"div\\\");\\n this.root = ReactDom.createRoot(this.containerElement);\\n let domToObserve = this.containerElement;\\n if (this.parentDomNode instanceof Node) {\\n domToObserve = this.parentDomNode;\\n }\\n this.connectionObserver?.observe?.(domToObserve);\\n }\\n this.domNodes.push(this.containerElement);\\n try {\\n parent.insertBefore(this.containerElement, nextSibling);\\n } catch (error) {\\n console.warn(`Error while inserting dom node in react widget, this might be cause by use transclude widget for the wikitext contains widget.`, error);\\n }\\n const reactElement = React.createElement(this.reactComponent, currentProps);\\n this.root.render(reactElement);\\n }\\n refreshSelf() {\\n if (this.reactComponent === void 0 || this.reactComponent === null) {\\n return;\\n }\\n if (this.root === void 0) {\\n const nextSibling = this.findNextSiblingDomNode();\\n this.render(this.parentDomNode, nextSibling);\\n return;\\n }\\n this.computeAttributes();\\n this.execute();\\n const currentProps = this.getProps() ?? {};\\n if (currentProps.parentWidget === void 0 || currentProps.parentWidget === null) {\\n currentProps.parentWidget = this;\\n }\\n const reactElement = React.createElement(this.reactComponent, currentProps);\\n this.root.render(reactElement);\\n }\\n destroy() {\\n this.root?.unmount?.();\\n }\\n};\\nexports.widget = ReactWidgetImpl;\\n\",\"creator\":\"LinOnetwo\",\"type\":\"application/javascript\",\"module-type\":\"library\"}}}"}, +{"title":"$:/plugins/linonetwo/tw-react","description":"Allow using ReactJS Components in TW widget.","author":"LinOnetwo","core-version":">=5.3.0","plugin-type":"plugin","stability":"STABILITY_2_STABLE","version":"1.0.0","list":"readme tree","dependents":"","type":"application/json","text":"{\"tiddlers\":{\"$:/plugins/linonetwo/tw-react/docs/FAQ\":{\"title\":\"$:/plugins/linonetwo/tw-react/docs/FAQ\",\"creator\":\"LinOnetwo\",\"text\":\"!! FAQ\\n\\n!!! _jsxRuntime\\n\\n`slate-write/node_modules/react-dnd/dist/cjs/core/DndProvider.js` has `var _jsxRuntime = require(\\\"react/jsx-runtime\\\");`\\n\\nBut `slate-write/node_modules/react-dnd/dist/esm/core/DndProvider.mjs` has `import { jsx as _jsx } from \\\"react/jsx-runtime.js\\\";`\\n\\nNote the difference between `react/jsx-runtime` and `react/jsx-runtime.js`!\\n\\nCurrently tw-react ship with `react/jsx-runtime.js`, so if your plugin uses cjs version of react-dnd, you will have error:\\n\\n```\\nError executing boot module $:/plugins/linonetwo/slate-write/components/index.js: \\\"Cannot find module named 'react/jsx-runtime' required by module '$:/plugins/linonetwo/slate-write/components/index.js', resolved to react/jsx-runtime\\\"\\n\\nundefined\\n```\\n\\nThe solution is to ask me provide a version of tw-react that has `react/jsx-runtime`, or you can use esm version of `react-dnd`.\\n\"},\"$:/plugins/linonetwo/tw-react/docs/example\":{\"title\":\"$:/plugins/linonetwo/tw-react/docs/example\",\"creator\":\"LinOnetwo\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! Example\\n\\n```tid\\n\u003C$likeButtonExampleWidget stateTiddler=\\\"$:/state/tw-react/readme/like-button\\\" />\\n```\\n\\nButton1:\\n\\n\u003C$likeButtonExampleWidget stateTiddler=\\\"$:/state/tw-react/readme/like-button\\\" />\\n\\nButton2:\\n\\n\u003C$likeButtonExampleWidget stateTiddler=\\\"$:/state/tw-react/readme/like-button\\\" />\\n\\nState:\\n\\n{{$:/state/tw-react/readme/like-button}}\\n\\nIt keeps its state via a state tiddler, and title of state tiddler is pass-in using `getProps = () => ({ stateTiddler: this.getAttribute('stateTiddler') });`, so `stateTiddler` attribute is passed from widget parameter to the React props.\\n\\nTwo buttons have shared state [[$:/state/tw-react/readme/like-button]], but not updated when state changed (although you can implement this in the `refresh` method by yourself in your own component), so when you click one, and close this tiddler then reopen it, you will see two buttons have same ''clicked'' state.\\n\\n`likeButtonExampleWidget` is a class component, it calls a functional component `ExampleFunction` that will use react hook to update self +1 every second.\\n\\nSee [[example.ts|https://github.com/tiddly-gittly/tw-react/blob/master/src/example.tsx]] and [[exampleFunction.tsx|https://github.com/tiddly-gittly/tw-react/blob/master/src/exampleFunction.tsx]] for example.\\n\"},\"$:/plugins/linonetwo/tw-react/docs/install\":{\"title\":\"$:/plugins/linonetwo/tw-react/docs/install\",\"creator\":\"LinOnetwo\",\"text\":\"!! Install\\n\\nAs a user, just install from [[CPL|https://tw-cpl.netlify.app/#linonetwo%2Ftw-react:Index%20linonetwo%2Ftw-react]].\\n\\nAs a developer, you can continue reading.\\n\\n!!! Require and externalize 'react', 'react-dom'\\n\\nPlease make sure to externalize them, for example in the [[RollUp|https://rollupjs.org/]]:\\n\\n```json\\n{\\n external: ['react', 'react-dom']\\n}\\n```\\n\\nOtherwise you will get [[You might have more than one copy of React in the same app|https://reactjs.org/docs/error-decoder.html/?invariant=321]] error.\\n\\nAnd use the subclass of Widget provided by this plugin:\\n\\n```\\nconst Widget = require('$:/plugins/linonetwo/tw-react/widget.js').widget\\n```\\n\\n!!! Using Typescript\\n\\n# use [[TW5-Typed|https://github.com/tiddly-gittly/TW5-Typed]] for basic tw types, see its readme for install instruction\\n# install `tw-react` package via `npm i tw-react`, and import the type by `import type { ReactWidget } from 'tw-react';`\\n\\nUse the type:\\n\\n```js\\nimport { useRenderTiddler } from '$:/plugins/linonetwo/tw-react/index.js';\\nimport type { ReactWidget } from 'tw-react';\\n\\nconst Widget = require('$:/plugins/linonetwo/tw-react/widget.js').widget as typeof ReactWidget;\\n\\nclass YourWidget extends Widget {\\n reactComponent = SomeReactComponent;\\n getProps = () => {\\n return {\\n stateTiddler: this.getAttribute('stateTiddler'),\\n // ... other props for your react component\\n };\\n };\\n}\\n```\\n\\n!!! Props\\n\\nAnything returned from `getProps` method will pass to react component, passing `stateTiddler` is a good idea, but is not mandatory.\\n\\nFor example, this is what I returned in my `linonetwo/smart-form` plugin:\\n\\n```js\\ngetProps = () => {\\n const currentTiddler = this.getAttribute('tiddler', this.getVariable('currentTiddler'));\\n // with lots of filter running and data transforms...\\n return {\\n schema,\\n formData,\\n children: null,\\n onChange,\\n };\\n };\\n```\\n\\n!!! React Hooks\\n\\nWe provided some hooks for reactive data management with tw data source. You can import them from the `$:/plugins/linonetwo/tw-react/index.js` (Instead of from `tw-react` package, because they already included in the plugin).\\n\\n```ts\\nimport { useFilter } from '$:/plugins/linonetwo/tw-react/index.js'\\n```\\n\\nYou can't import them from plugin's file, because they are optional, so only included in the npm package, not in the plugin json bundle.\\n\\n!!!! useFilter\\n\\nGet list of titles from a filter.\\n\\n```ts\\nconst titles = useFilter('[all[]tag[Index]]');\\n```\\n\\nThe second parameter is an optional dependencies list, you can use it to trigger re-calculate. Otherwise it only rerun filter when filter text changes.\\n\\n```ts\\nconst [toggle, setToggle] = useState(false);\\nconst titles = useFilter('[all[]tag[Index]]', [toggle]);\\n\\n...\\n\\n\u003CButton onClick={() => setToggle(!toggle)}>Trigger refresh\u003C/Button>\\n```\\n\"},\"$:/plugins/linonetwo/tw-react/docs/reactAPIs\":{\"title\":\"$:/plugins/linonetwo/tw-react/docs/reactAPIs\",\"creator\":\"LinOnetwo\",\"text\":\"!! React APIs\\n\\nTBD, read the source now.\"},\"$:/plugins/linonetwo/tw-react/example.js\":{\"title\":\"$:/plugins/linonetwo/tw-react/example.js\",\"text\":\"\\\"use strict\\\";\\n\\n// src/example.tsx\\nvar import_widget = require(\\\"$:/plugins/linonetwo/tw-react/widget.js\\\");\\n\\n// src/exampleFunction.tsx\\nvar import_react = require(\\\"react\\\");\\nvar import_jsx_runtime = require(\\\"react/jsx-runtime\\\");\\nfunction ExampleFunction() {\\n const [counter, counterSetter] = (0, import_react.useState)(0);\\n (0, import_react.useEffect)(() => {\\n let localCounter = 0;\\n const handle = setInterval(() => {\\n counterSetter(++localCounter);\\n }, 1e3);\\n return () => {\\n clearInterval(handle);\\n };\\n }, []);\\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\\\"span\\\", { children: counter });\\n}\\n\\n// src/example.tsx\\nvar import_jsx_runtime2 = require(\\\"react/jsx-runtime\\\");\\nvar ReactDom = require(\\\"react-dom\\\");\\nvar React = require(\\\"react\\\");\\nvar LikeButton = class extends React.Component {\\n constructor(props) {\\n super(props);\\n const defaultState = { liked: false };\\n try {\\n this.state = JSON.parse($tw.wiki.getTiddlerText(this.props.stateTiddler ?? \\\"\\\", \\\"{}\\\")) ?? defaultState;\\n } catch {\\n this.state = defaultState;\\n }\\n }\\n setState(nextState) {\\n super.setState(nextState);\\n if (this.props.stateTiddler === void 0)\\n return;\\n $tw.wiki.setText(this.props.stateTiddler, \\\"text\\\", void 0, JSON.stringify(nextState));\\n }\\n render() {\\n if (this.state.liked) {\\n return \\\"You liked this.\\\";\\n }\\n return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(\\n \\\"button\\\",\\n {\\n onClick: () => {\\n this.setState({ liked: true });\\n },\\n children: [\\n \\\"Like \\\",\\n /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ExampleFunction, {})\\n ]\\n }\\n );\\n }\\n};\\nvar LikeButtonWidget = class extends import_widget.widget {\\n constructor() {\\n super(...arguments);\\n this.reactComponent = LikeButton;\\n this.getProps = () => ({ stateTiddler: this.getAttribute(\\\"stateTiddler\\\") });\\n }\\n};\\nexports.likeButtonExampleWidget = LikeButtonWidget;\\n\",\"creator\":\"LinOnetwo\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/plugins/linonetwo/tw-react/index.js\":{\"title\":\"$:/plugins/linonetwo/tw-react/index.js\",\"text\":\"\\\"use strict\\\";\\n\\n// src/hooks/context.ts\\nvar import_react = require(\\\"react\\\");\\nvar ParentWidgetContext = (0, import_react.createContext)(void 0);\\n\\n// src/hooks/useFilter.ts\\nvar import_react2 = require(\\\"react\\\");\\nfunction useFilter(twFilter, widget = $tw.rootWidget, dependencies = []) {\\n const [filterResult, setFilterResult] = (0, import_react2.useState)([]);\\n const compiledFilter = (0, import_react2.useMemo)(() => $tw.wiki.compileFilter(twFilter), [twFilter]);\\n (0, import_react2.useEffect)(() => {\\n setFilterResult(compiledFilter(void 0, widget));\\n }, [compiledFilter, widget, ...dependencies]);\\n return filterResult;\\n}\\n\\n// src/hooks/useRenderTiddler.ts\\nvar import_react3 = require(\\\"react\\\");\\nfunction useRenderTiddler(tiddlerTitle, containerReference, options) {\\n const parentWidget = (0, import_react3.useContext)(ParentWidgetContext);\\n (0, import_react3.useEffect)(() => {\\n const domNode = containerReference.current;\\n if (domNode === null) {\\n return;\\n }\\n if (parentWidget === void 0) {\\n throw new Error(\\n \\\"Your plugin have a bug: `parentWidget` is undefined, you should use `\u003CParentWidgetContext value={props.parentWidget}>`, see tw-react for document.\\\"\\n );\\n }\\n if (options?.skip === true) {\\n return;\\n }\\n const id = String(Math.random());\\n const transcludeWidgetNode = $tw.wiki.makeTranscludeWidget(tiddlerTitle, {\\n document,\\n parentWidget,\\n recursionMarker: \\\"yes\\\",\\n mode: \\\"block\\\",\\n importPageMacros: true,\\n variables: { \\\"use-widget-id\\\": id }\\n });\\n const tiddlerContainer = document.createElement(\\\"div\\\");\\n domNode.append(tiddlerContainer);\\n transcludeWidgetNode.render(tiddlerContainer, null);\\n parentWidget.children.push(transcludeWidgetNode);\\n return () => {\\n parentWidget.children = parentWidget.children.filter((child) => child.getVariable(\\\"use-widget-id\\\") !== id);\\n if (domNode === null) {\\n return;\\n }\\n domNode.textContent = \\\"\\\";\\n };\\n }, [tiddlerTitle, containerReference, parentWidget, options?.skip]);\\n}\\n\\n// src/hooks/useWidget.ts\\nvar import_react4 = require(\\\"react\\\");\\nfunction useWidget(parseTreeNode, containerReference, options) {\\n const parentWidget = (0, import_react4.useContext)(ParentWidgetContext);\\n (0, import_react4.useEffect)(() => {\\n const domNode = containerReference.current;\\n if (domNode === null) {\\n return;\\n }\\n if (parentWidget === void 0) {\\n throw new Error(\\n \\\"Your plugin have a bug: `parentWidget` is undefined, you should use `\u003CParentWidgetContext value={props.parentWidget}>`, see tw-react for document.\\\"\\n );\\n }\\n if (options?.skip === true) {\\n return;\\n }\\n const id = String(Math.random());\\n const newWidgetNode = parentWidget.makeChildWidget(parseTreeNode, { variables: { \\\"use-widget-id\\\": id } });\\n newWidgetNode.render(domNode, null);\\n parentWidget.children.push(newWidgetNode);\\n return () => {\\n parentWidget.children = parentWidget.children.filter((child) => child.getVariable(\\\"use-widget-id\\\") !== id);\\n if (domNode === null) {\\n return;\\n }\\n domNode.textContent = \\\"\\\";\\n };\\n }, [parseTreeNode, containerReference, parentWidget, options?.skip]);\\n}\\n\\n// src/index.ts\\nexports.ParentWidgetContext = ParentWidgetContext;\\nexports.useFilter = useFilter;\\nexports.useRenderTiddler = useRenderTiddler;\\nexports.useWidget = useWidget;\\n\",\"creator\":\"LinOnetwo\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"react-dom/client\":{\"title\":\"react-dom/client\",\"text\":\"\\\"use strict\\\";!function(){function e(e,t){for(e=e.memoizedState;null!==e&&0\u003Ct;)e=e.next,t--;return e}function t(e,n,r,o){if(r>=n.length)return o;var a=n[r],i=Pc(e)?e.slice():vc({},e);return i[a]=t(e[a],n,r+1,o),i}function n(e,t,n){if(t.length===n.length){for(var r=0;r\u003Cn.length-1;r++)if(t[r]!==n[r])return void console.warn(\\\"copyWithRename() expects paths to be the same except for the deepest key\\\");return function e(t,n,r,o){var a=n[o],i=Pc(t)?t.slice():vc({},t);o+1===n.length?(i[r[o]]=i[a],Pc(i)?i.splice(a,1):delete i[a]):i[a]=e(t[a],n,r,o+1);return i}(e,t,n,0)}console.warn(\\\"copyWithRename() expects paths of the same length\\\")}function r(e,t,n){var o=t[n],a=Pc(e)?e.slice():vc({},e);return n+1===t.length?(Pc(a)?a.splice(o,1):delete a[o],a):(a[o]=r(e[o],t,n+1),a)}function o(){return!1}function a(){return null}function i(e,t,n,r){return new function(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null,this.actualDuration=-0,this.actualStartTime=-1.1,this.treeBaseDuration=this.selfBaseDuration=-0,this._debugOwner=this._debugInfo=null,this._debugNeedsRemount=!1,this._debugHookTypes=null,ty||\\\"function\\\"!=typeof Object.preventExtensions||Object.preventExtensions(this)}(e,t,n,r)}function l(){console.error(\\\"Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks\\\")}function s(){console.error(\\\"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\\\")}function u(){}function c(){}function d(e){var t=[];return e.forEach(function(e){t.push(e)}),t.sort().join(\\\", \\\")}function f(e,t){e.context===Op&&(vu(t,e,null,null),dl())}function p(e,t){if(null!==Np){var n=t.staleFamilies;t=t.updatedFamilies,Il(),function e(t,n,r){var o=t.alternate,a=t.child,i=t.sibling,l=t.tag,s=t.type,u=null;switch(l){case 0:case 15:case 1:u=s;break;case 11:u=s.render}if(null===Np)throw Error(\\\"Expected resolveFamily to be set during hot reload.\\\");var c=!1;s=!1;null!==u&&(u=Np(u),void 0!==u&&(r.has(u)?s=!0:n.has(u)&&(1===l?s=!0:c=!0)));null!==Ap&&(Ap.has(t)||null!==o&&Ap.has(o))&&(s=!0);s&&(t._debugNeedsRemount=!0);(s||c)&&(o=rn(t,2),null!==o&&al(o,t,2));null===a||s||e(a,n,r);null!==i&&e(i,n,r)}(e.current,t,n),dl()}}function h(e){Np=e}function m(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function g(e){return null===e||\\\"object\\\"!=typeof e?null:\\\"function\\\"==typeof(e=gc&&e[gc]||e[\\\"@@iterator\\\"])?e:null}function y(e){if(null==e)return null;if(\\\"function\\\"==typeof e)return e.$$typeof===yc?null:e.displayName||e.name||null;if(\\\"string\\\"==typeof e)return e;switch(e){case Ku:return\\\"Fragment\\\";case Xu:return\\\"Portal\\\";case Zu:return\\\"Profiler\\\";case Gu:return\\\"StrictMode\\\";case rc:return\\\"Suspense\\\";case oc:return\\\"SuspenseList\\\"}if(\\\"object\\\"==typeof e)switch(\\\"number\\\"==typeof e.tag&&console.error(\\\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\\\"),e.$$typeof){case tc:return(e.displayName||\\\"Context\\\")+\\\".Provider\\\";case ec:return(e._context.displayName||\\\"Context\\\")+\\\".Consumer\\\";case nc:var t=e.render;return(e=e.displayName)||(e=\\\"\\\"!==(e=t.displayName||t.name||\\\"\\\")?\\\"ForwardRef(\\\"+e+\\\")\\\":\\\"ForwardRef\\\"),e;case ac:return null!==(t=e.displayName||null)?t:y(e.type)||\\\"Memo\\\";case ic:t=e._payload,e=e._init;try{return y(e(t))}catch(e){}}return null}function b(e){return\\\"number\\\"==typeof e.tag?v(e):\\\"string\\\"==typeof e.name?e.name:null}function v(e){var t=e.type;switch(e.tag){case 24:return\\\"Cache\\\";case 9:return(t._context.displayName||\\\"Context\\\")+\\\".Consumer\\\";case 10:return(t.displayName||\\\"Context\\\")+\\\".Provider\\\";case 18:return\\\"DehydratedFragment\\\";case 11:return e=(e=t.render).displayName||e.name||\\\"\\\",t.displayName||(\\\"\\\"!==e?\\\"ForwardRef(\\\"+e+\\\")\\\":\\\"ForwardRef\\\");case 7:return\\\"Fragment\\\";case 26:case 27:case 5:return t;case 4:return\\\"Portal\\\";case 3:return\\\"Root\\\";case 6:return\\\"Text\\\";case 16:return y(t);case 8:return t===Gu?\\\"StrictMode\\\":\\\"Mode\\\";case 22:return\\\"Offscreen\\\";case 12:return\\\"Profiler\\\";case 21:return\\\"Scope\\\";case 13:return\\\"Suspense\\\";case 19:return\\\"SuspenseList\\\";case 25:return\\\"TracingMarker\\\";case 1:case 0:case 14:case 15:if(\\\"function\\\"==typeof t)return t.displayName||t.name||null;if(\\\"string\\\"==typeof t)return t;break;case 29:if(null!=(t=e._debugInfo))for(var n=t.length-1;0\u003C=n;n--)if(\\\"string\\\"==typeof t[n].name)return t[n].name;if(null!==e.return)return v(e.return)}return null}function k(){}function w(e){if(void 0===wc)try{throw Error()}catch(e){var t=e.stack.trim().match(/\\\\n( *(at )?)/);wc=t&&t[1]||\\\"\\\",Sc=-1\u003Ce.stack.indexOf(\\\"\\\\n at\\\")?\\\" (\u003Canonymous>)\\\":-1\u003Ce.stack.indexOf(\\\"@\\\")?\\\"@unknown:0:0\\\":\\\"\\\"}return\\\"\\\\n\\\"+wc+e+Sc}function S(e,t){if(!e||xc)return\\\"\\\";var n=Cc.get(e);if(void 0!==n)return n;xc=!0,n=Error.prepareStackTrace,Error.prepareStackTrace=void 0;var r;r=bc.H,bc.H=null,function(){if(0===kc){sc=console.log,uc=console.info,cc=console.warn,dc=console.error,fc=console.group,pc=console.groupCollapsed,hc=console.groupEnd;var e={configurable:!0,enumerable:!0,value:k,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}kc++}();try{var o={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,\\\"props\\\",{set:function(){throw Error()}}),\\\"object\\\"==typeof Reflect&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&\\\"function\\\"==typeof n.catch&&n.catch(function(){})}}catch(e){if(e&&r&&\\\"string\\\"==typeof e.stack)return[e.stack,r.stack]}return[null,null]}};o.DetermineComponentFrameRoot.displayName=\\\"DetermineComponentFrameRoot\\\";var a=Object.getOwnPropertyDescriptor(o.DetermineComponentFrameRoot,\\\"name\\\");a&&a.configurable&&Object.defineProperty(o.DetermineComponentFrameRoot,\\\"name\\\",{value:\\\"DetermineComponentFrameRoot\\\"});var i=o.DetermineComponentFrameRoot(),l=i[0],s=i[1];if(l&&s){var u=l.split(\\\"\\\\n\\\"),c=s.split(\\\"\\\\n\\\");for(i=a=0;a\u003Cu.length&&!u[a].includes(\\\"DetermineComponentFrameRoot\\\");)a++;for(;i\u003Cc.length&&!c[i].includes(\\\"DetermineComponentFrameRoot\\\");)i++;if(a===u.length||i===c.length)for(a=u.length-1,i=c.length-1;1\u003C=a&&0\u003C=i&&u[a]!==c[i];)i--;for(;1\u003C=a&&0\u003C=i;a--,i--)if(u[a]!==c[i]){if(1!==a||1!==i)do{if(a--,0>--i||u[a]!==c[i]){var d=\\\"\\\\n\\\"+u[a].replace(\\\" at new \\\",\\\" at \\\");return e.displayName&&d.includes(\\\"\u003Canonymous>\\\")&&(d=d.replace(\\\"\u003Canonymous>\\\",e.displayName)),\\\"function\\\"==typeof e&&Cc.set(e,d),d}}while(1\u003C=a&&0\u003C=i);break}}}finally{xc=!1,bc.H=r,function(){if(0==--kc){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:vc({},e,{value:sc}),info:vc({},e,{value:uc}),warn:vc({},e,{value:cc}),error:vc({},e,{value:dc}),group:vc({},e,{value:fc}),groupCollapsed:vc({},e,{value:pc}),groupEnd:vc({},e,{value:hc})})}0>kc&&console.error(\\\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\\\")}(),Error.prepareStackTrace=n}return u=(u=e?e.displayName||e.name:\\\"\\\")?w(u):\\\"\\\",\\\"function\\\"==typeof e&&Cc.set(e,u),u}function x(e){switch(e.tag){case 26:case 27:case 5:return w(e.type);case 16:return w(\\\"Lazy\\\");case 13:return w(\\\"Suspense\\\");case 19:return w(\\\"SuspenseList\\\");case 0:case 15:return e=S(e.type,!1);case 11:return e=S(e.type.render,!1);case 1:return e=S(e.type,!0);default:return\\\"\\\"}}function C(e){try{var t=\\\"\\\";do{t+=x(e);var n=e._debugInfo;if(n)for(var r=n.length-1;0\u003C=r;r--){var o=n[r];if(\\\"string\\\"==typeof o.name){var a=t,i=o.env;t=a+w(o.name+(i?\\\" [\\\"+i+\\\"]\\\":\\\"\\\"))}}e=e.return}while(e);return t}catch(e){return\\\"\\\\nError generating stack: \\\"+e.message+\\\"\\\\n\\\"+e.stack}}function E(){if(null===Ec)return null;var e=Ec._debugOwner;return null!=e?b(e):null}function T(){return null===Ec?\\\"\\\":C(Ec)}function P(e,t,n,r,o,a,i){var l=Ec;bc.getCurrentStack=null===e?null:T,Tc=!1,Ec=e;try{return t(n,r,o,a,i)}finally{Ec=l}throw Error(\\\"runWithFiberInDEV should never be called in production. This is a bug in React.\\\")}function R(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function z(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function I(e){if(R(e)!==e)throw Error(\\\"Unable to find node on an unmounted component.\\\")}function L(e){return{current:e}}function D(e,t){0>Dc?console.error(\\\"Unexpected pop.\\\"):(t!==Lc[Dc]&&console.error(\\\"Unexpected Fiber popped.\\\"),e.current=Ic[Dc],Ic[Dc]=null,Lc[Dc]=null,Dc--)}function _(e,t,n){Ic[++Dc]=e.current,Lc[Dc]=n,e.current=t}function F(e){return null===e&&console.error(\\\"Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.\\\"),e}function O(e,t){_(Oc,t,e),_(Fc,e,e),_(_c,null,e);var n=t.nodeType;switch(n){case 9:case 11:n=9===n?\\\"#document\\\":\\\"#fragment\\\",t=(t=t.documentElement)&&(t=t.namespaceURI)?Ts(t):Kb;break;default:if(n=(t=8===n?t.parentNode:t).tagName,t=t.namespaceURI)t=Ps(t=Ts(t),n);else switch(n){case\\\"svg\\\":t=Gb;break;case\\\"math\\\":t=Zb;break;default:t=Kb}}n={context:t,ancestorInfo:n=lt(null,n=n.toLowerCase())},D(_c,e),_(_c,n,e)}function N(e){D(_c,e),D(Fc,e),D(Oc,e)}function A(){return F(_c.current)}function M(e){null!==e.memoizedState&&_(Nc,e,e);var t=F(_c.current),n=e.type,r=Ps(t.context,n);t!==(r={context:r,ancestorInfo:n=lt(t.ancestorInfo,n)})&&(_(Fc,e,e),_(_c,r,e))}function U(e){Fc.current===e&&(D(_c,e),D(Fc,e)),Nc.current===e&&(D(Nc,e),Lv._currentValue=Iv)}function H(e){return\\\"function\\\"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||\\\"Object\\\"}function W(e){try{return j(e),!1}catch(e){return!0}}function j(e){return\\\"\\\"+e}function V(e,t){if(W(e))return console.error(\\\"The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.\\\",t,H(e)),j(e)}function B(e,t){if(W(e))return console.error(\\\"The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.\\\",t,H(e)),j(e)}function q(e){if(W(e))return console.error(\\\"Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.\\\",H(e)),j(e)}function Q(e){if(\\\"function\\\"==typeof Xc&&Kc(e),Zc&&\\\"function\\\"==typeof Zc.setStrictMode)try{Zc.setStrictMode(Gc,e)}catch(e){ed||(ed=!0,console.error(\\\"React instrumentation encountered an error: %s\\\",e))}}function $(e){Jc=e}function Y(){null!==Jc&&\\\"function\\\"==typeof Jc.markCommitStopped&&Jc.markCommitStopped()}function X(e){null!==Jc&&\\\"function\\\"==typeof Jc.markComponentRenderStarted&&Jc.markComponentRenderStarted(e)}function K(){null!==Jc&&\\\"function\\\"==typeof Jc.markComponentRenderStopped&&Jc.markComponentRenderStopped()}function G(e){null!==Jc&&\\\"function\\\"==typeof Jc.markRenderStarted&&Jc.markRenderStarted(e)}function Z(){null!==Jc&&\\\"function\\\"==typeof Jc.markRenderStopped&&Jc.markRenderStopped()}function J(e,t){null!==Jc&&\\\"function\\\"==typeof Jc.markStateUpdateScheduled&&Jc.markStateUpdateScheduled(e,t)}function ee(e){return 1&e?\\\"SyncHydrationLane\\\":2&e?\\\"Sync\\\":4&e?\\\"InputContinuousHydration\\\":8&e?\\\"InputContinuous\\\":16&e?\\\"DefaultHydration\\\":32&e?\\\"Default\\\":64&e?\\\"TransitionHydration\\\":4194176&e?\\\"Transition\\\":62914560&e?\\\"Retry\\\":67108864&e?\\\"SelectiveHydration\\\":134217728&e?\\\"IdleHydration\\\":268435456&e?\\\"Idle\\\":536870912&e?\\\"Offscreen\\\":1073741824&e?\\\"Deferred\\\":void 0}function te(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194176&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return console.error(\\\"Should have found matching lanes. This is a bug in React.\\\"),e}}function ne(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,o=e.suspendedLanes,a=e.pingedLanes,i=e.warmLanes;e=0!==e.finishedLanes;var l=134217727&n;return 0!==l?0!==(n=l&~o)?r=te(n):0!==(a&=l)?r=te(a):e||0!==(i=l&~i)&&(r=te(i)):0!==(l=n&~o)?r=te(l):0!==a?r=te(a):e||0!==(i=n&~i)&&(r=te(i)),0===r?0:0!==t&&t!==r&&0==(t&o)&&((o=r&-r)>=(i=t&-t)||32===o&&0!=(4194176&i))?t:r}function re(e,t){return 0==(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function oe(e,t){switch(e){case 1:case 2:case 4:case 8:return t+250;case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return console.error(\\\"Should have found matching lanes. This is a bug in React.\\\"),-1}}function ae(){var e=ad;return 0==(4194176&(ad\u003C\u003C=1))&&(ad=128),e}function ie(){var e=id;return 0==(62914560&(id\u003C\u003C=1))&&(id=4194304),e}function le(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function se(e,t){e.pendingLanes|=t,268435456!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function ue(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-nd(t);e.entangledLanes|=t,e.entanglements[r]=1073741824|e.entanglements[r]|4194218&n}function ce(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-nd(n),o=1\u003C\u003Cr;o&t|e[r]&t&&(e[r]|=t),n&=~o}}function de(e,t,n){if(td)for(e=e.pendingUpdatersLaneMap;0\u003Cn;){var r=31-nd(n),o=1\u003C\u003Cr;e[r].add(t),n&=~o}}function fe(e,t){if(td)for(var n=e.pendingUpdatersLaneMap,r=e.memoizedUpdaters;0\u003Ct;){var o=31-nd(t);e=1\u003C\u003Co,0\u003C(o=n[o]).size&&(o.forEach(function(e){var t=e.alternate;null!==t&&r.has(t)||r.add(e)}),o.clear()),t&=~e}}function pe(e){return e&=-e,0!==ld&&ld\u003Ce?0!==sd&&sd\u003Ce?0!=(134217727&e)?ud:cd:sd:ld}function he(){var e=Rc.p;return 0!==e?e:void 0===(e=window.event)?ud:Lu(e.type)}function me(e){delete e[fd],delete e[pd],delete e[md],delete e[gd],delete e[yd]}function ge(e){var t=e[fd];if(t)return t;for(var n=e.parentNode;n;){if(t=n[hd]||n[fd]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=Qs(e);null!==e;){if(n=e[fd])return n;e=Qs(e)}return t}n=(e=n).parentNode}return null}function ye(e){if(e=e[fd]||e[hd]){var t=e.tag;if(5===t||6===t||13===t||26===t||27===t||3===t)return e}return null}function be(e){var t=e.tag;if(5===t||26===t||27===t||6===t)return e.stateNode;throw Error(\\\"getNodeFromInstance: Invalid argument.\\\")}function ve(e){var t=e[bd];return t||(t=e[bd]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function ke(e){e[vd]=!0}function we(e,t){Se(e,t),Se(e+\\\"Capture\\\",t)}function Se(e,t){wd[e]&&console.error(\\\"EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.\\\",e),wd[e]=t;var n=e.toLowerCase();for(Sd[n]=e,\\\"onDoubleClick\\\"===e&&(Sd.ondblclick=e),e=0;e\u003Ct.length;e++)kd.add(t[e])}function xe(e,t){Cd[t.type]||t.onChange||t.onInput||t.readOnly||t.disabled||null==t.value||(\\\"select\\\"===e?console.error(\\\"You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set `onChange`.\\\"):console.error(\\\"You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.\\\")),t.onChange||t.readOnly||t.disabled||null==t.checked||console.error(\\\"You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.\\\")}function Ce(e){return!!Ac.call(Pd,e)||!Ac.call(Td,e)&&(Ed.test(e)?Pd[e]=!0:(Td[e]=!0,console.error(\\\"Invalid attribute name: `%s`\\\",e),!1))}function Ee(e,t,n){if(Ce(t)){if(!e.hasAttribute(t)){switch(typeof n){case\\\"symbol\\\":case\\\"object\\\":case\\\"function\\\":return n;case\\\"boolean\\\":if(!1===n)return n}return void 0===n?void 0:null}return\\\"\\\"===(e=e.getAttribute(t))&&!0===n||(V(n,t),e===\\\"\\\"+n?n:e)}}function Te(e,t,n){if(Ce(t))if(null===n)e.removeAttribute(t);else{switch(typeof n){case\\\"undefined\\\":case\\\"function\\\":case\\\"symbol\\\":return void e.removeAttribute(t);case\\\"boolean\\\":var r=t.toLowerCase().slice(0,5);if(\\\"data-\\\"!==r&&\\\"aria-\\\"!==r)return void e.removeAttribute(t)}V(n,t),e.setAttribute(t,\\\"\\\"+n)}}function Pe(e,t,n){if(null===n)e.removeAttribute(t);else{switch(typeof n){case\\\"undefined\\\":case\\\"function\\\":case\\\"symbol\\\":case\\\"boolean\\\":return void e.removeAttribute(t)}V(n,t),e.setAttribute(t,\\\"\\\"+n)}}function Re(e,t,n,r){if(null===r)e.removeAttribute(n);else{switch(typeof r){case\\\"undefined\\\":case\\\"function\\\":case\\\"symbol\\\":case\\\"boolean\\\":return void e.removeAttribute(n)}V(r,n),e.setAttributeNS(t,n,\\\"\\\"+r)}}function ze(e){switch(typeof e){case\\\"bigint\\\":case\\\"boolean\\\":case\\\"number\\\":case\\\"string\\\":case\\\"undefined\\\":return e;case\\\"object\\\":return q(e),e;default:return\\\"\\\"}}function Ie(e){var t=e.type;return(e=e.nodeName)&&\\\"input\\\"===e.toLowerCase()&&(\\\"checkbox\\\"===t||\\\"radio\\\"===t)}function Le(e){e._valueTracker||(e._valueTracker=function(e){var t=Ie(e)?\\\"checked\\\":\\\"value\\\",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);q(e[t]);var r=\\\"\\\"+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&\\\"function\\\"==typeof n.get&&\\\"function\\\"==typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){q(e),r=\\\"\\\"+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){q(e),r=\\\"\\\"+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function De(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=\\\"\\\";return e&&(r=Ie(e)?e.checked?\\\"true\\\":\\\"false\\\":e.value),(e=r)!==n&&(t.setValue(e),!0)}function _e(e){if(void 0===(e=e||(\\\"undefined\\\"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Fe(e){return e.replace(Rd,function(e){return\\\"\\\\\\\\\\\"+e.charCodeAt(0).toString(16)+\\\" \\\"})}function Oe(e,t){void 0===t.checked||void 0===t.defaultChecked||Id||(console.error(\\\"%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components\\\",E()||\\\"A component\\\",t.type),Id=!0),void 0===t.value||void 0===t.defaultValue||zd||(console.error(\\\"%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components\\\",E()||\\\"A component\\\",t.type),zd=!0)}function Ne(e,t,n,r,o,a,i,l){e.name=\\\"\\\",null!=i&&\\\"function\\\"!=typeof i&&\\\"symbol\\\"!=typeof i&&\\\"boolean\\\"!=typeof i?(V(i,\\\"type\\\"),e.type=i):e.removeAttribute(\\\"type\\\"),null!=t?\\\"number\\\"===i?(0===t&&\\\"\\\"===e.value||e.value!=t)&&(e.value=\\\"\\\"+ze(t)):e.value!==\\\"\\\"+ze(t)&&(e.value=\\\"\\\"+ze(t)):\\\"submit\\\"!==i&&\\\"reset\\\"!==i||e.removeAttribute(\\\"value\\\"),null!=t?Me(e,i,ze(t)):null!=n?Me(e,i,ze(n)):null!=r&&e.removeAttribute(\\\"value\\\"),null==o&&null!=a&&(e.defaultChecked=!!a),null!=o&&(e.checked=o&&\\\"function\\\"!=typeof o&&\\\"symbol\\\"!=typeof o),null!=l&&\\\"function\\\"!=typeof l&&\\\"symbol\\\"!=typeof l&&\\\"boolean\\\"!=typeof l?(V(l,\\\"name\\\"),e.name=\\\"\\\"+ze(l)):e.removeAttribute(\\\"name\\\")}function Ae(e,t,n,r,o,a,i,l){if(null!=a&&\\\"function\\\"!=typeof a&&\\\"symbol\\\"!=typeof a&&\\\"boolean\\\"!=typeof a&&(V(a,\\\"type\\\"),e.type=a),null!=t||null!=n){if(!(\\\"submit\\\"!==a&&\\\"reset\\\"!==a||void 0!==t&&null!==t))return;n=null!=n?\\\"\\\"+ze(n):\\\"\\\",t=null!=t?\\\"\\\"+ze(t):n,l||t===e.value||(e.value=t),e.defaultValue=t}r=\\\"function\\\"!=typeof(r=null!=r?r:o)&&\\\"symbol\\\"!=typeof r&&!!r,e.checked=l?e.checked:!!r,e.defaultChecked=!!r,null!=i&&\\\"function\\\"!=typeof i&&\\\"symbol\\\"!=typeof i&&\\\"boolean\\\"!=typeof i&&(V(i,\\\"name\\\"),e.name=i)}function Me(e,t,n){\\\"number\\\"===t&&_e(e.ownerDocument)===e||e.defaultValue===\\\"\\\"+n||(e.defaultValue=\\\"\\\"+n)}function Ue(e,t){null==t.value&&(\\\"object\\\"==typeof t.children&&null!==t.children?qu.Children.forEach(t.children,function(e){null==e||\\\"string\\\"==typeof e||\\\"number\\\"==typeof e||\\\"bigint\\\"==typeof e||Dd||(Dd=!0,console.error(\\\"Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to \u003Coption>.\\\"))}):null==t.dangerouslySetInnerHTML||_d||(_d=!0,console.error(\\\"Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected.\\\"))),null==t.selected||Ld||(console.error(\\\"Use the `defaultValue` or `value` props on \u003Cselect> instead of setting `selected` on \u003Coption>.\\\"),Ld=!0)}function He(){var e=E();return e?\\\"\\\\n\\\\nCheck the render method of `\\\"+e+\\\"`.\\\":\\\"\\\"}function We(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o\u003Cn.length;o++)t[\\\"$\\\"+n[o]]=!0;for(n=0;n\u003Ce.length;n++)o=t.hasOwnProperty(\\\"$\\\"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=\\\"\\\"+ze(n),t=null,o=0;o\u003Ce.length;o++){if(e[o].value===n)return e[o].selected=!0,void(r&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function je(e,t){for(e=0;e\u003COd.length;e++){var n=Od[e];if(null!=t[n]){var r=Pc(t[n]);t.multiple&&!r?console.error(\\\"The `%s` prop supplied to \u003Cselect> must be an array if `multiple` is true.%s\\\",n,He()):!t.multiple&&r&&console.error(\\\"The `%s` prop supplied to \u003Cselect> must be a scalar value if `multiple` is false.%s\\\",n,He())}}void 0===t.value||void 0===t.defaultValue||Fd||(console.error(\\\"Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://react.dev/link/controlled-components\\\"),Fd=!0)}function Ve(e,t){void 0===t.value||void 0===t.defaultValue||Nd||(console.error(\\\"%s contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://react.dev/link/controlled-components\\\",E()||\\\"A component\\\"),Nd=!0),null!=t.children&&null==t.value&&console.error(\\\"Use the `defaultValue` or `value` props instead of setting children on \u003Ctextarea>.\\\")}function Be(e,t,n){null==t||((t=\\\"\\\"+ze(t))!==e.value&&(e.value=t),null!=n)?e.defaultValue=null!=n?\\\"\\\"+ze(n):\\\"\\\":e.defaultValue!==t&&(e.defaultValue=t)}function qe(e,t,n,r){if(null==t){if(null!=r){if(null!=n)throw Error(\\\"If you supply `defaultValue` on a \u003Ctextarea>, do not pass children.\\\");if(Pc(r)){if(1\u003Cr.length)throw Error(\\\"\u003Ctextarea> can only have at most one child.\\\");r=r[0]}n=r}null==n&&(n=\\\"\\\"),t=n}n=ze(t),e.defaultValue=n,(r=e.textContent)===n&&\\\"\\\"!==r&&null!==r&&(e.value=r)}function Qe(e){return\\\" \\\"+\\\" \\\".repeat(e)}function $e(e){return\\\"+ \\\"+\\\" \\\".repeat(e)}function Ye(e){return\\\"- \\\"+\\\" \\\".repeat(e)}function Xe(e){switch(e.tag){case 26:case 27:case 5:return e.type;case 16:return\\\"Lazy\\\";case 13:return\\\"Suspense\\\";case 19:return\\\"SuspenseList\\\";case 0:case 15:return(e=e.type).displayName||e.name||null;case 11:return(e=e.type.render).displayName||e.name||null;case 1:return(e=e.type).displayName||e.name||null;default:return null}}function Ke(e,t){return Ad.test(e)?(e=JSON.stringify(e)).length>t-2?8>t?'{\\\"...\\\"}':\\\"{\\\"+e.slice(0,t-7)+'...\\\"}':\\\"{\\\"+e+\\\"}\\\":e.length>t?5>t?'{\\\"...\\\"}':e.slice(0,t-3)+\\\"...\\\":e}function Ge(e,t,n){var r=120-2*n;if(null===t)return $e(n)+Ke(e,r)+\\\"\\\\n\\\";if(\\\"string\\\"==typeof t){for(var o=0;o\u003Ct.length&&o\u003Ce.length&&t.charCodeAt(o)===e.charCodeAt(o);o++);return o>r-8&&10\u003Co&&(e=\\\"...\\\"+e.slice(o-8),t=\\\"...\\\"+t.slice(o-8)),$e(n)+Ke(e,r)+\\\"\\\\n\\\"+Ye(n)+Ke(t,r)+\\\"\\\\n\\\"}return Qe(n)+Ke(e,r)+\\\"\\\\n\\\"}function Ze(e){return Object.prototype.toString.call(e).replace(/^\\\\[object (.*)\\\\]$/,function(e,t){return t})}function Je(e,t){switch(typeof e){case\\\"string\\\":return(e=JSON.stringify(e)).length>t?5>t?'\\\"...\\\"':e.slice(0,t-4)+'...\\\"':e;case\\\"object\\\":if(null===e)return\\\"null\\\";if(Pc(e))return\\\"[...]\\\";if(e.$$typeof===Yu)return(t=y(e.type))?\\\"\u003C\\\"+t+\\\">\\\":\\\"\u003C...>\\\";var n=Ze(e);if(\\\"Object\\\"===n){for(var r in n=\\\"\\\",t-=2,e)if(e.hasOwnProperty(r)){var o=JSON.stringify(r);if(o!=='\\\"'+r+'\\\"'&&(r=o),t-=r.length-2,0>(t-=(o=Je(e[r],15>t?t:15)).length)){n+=\\\"\\\"===n?\\\"...\\\":\\\", ...\\\";break}n+=(\\\"\\\"===n?\\\"\\\":\\\",\\\")+r+\\\":\\\"+o}return\\\"{\\\"+n+\\\"}\\\"}return n;case\\\"function\\\":return(t=e.displayName||e.name)?\\\"function \\\"+t:\\\"function\\\";default:return String(e)}}function et(e,t){return\\\"string\\\"!=typeof e||Ad.test(e)?\\\"{\\\"+Je(e,t-2)+\\\"}\\\":e.length>t-2?5>t?'\\\"...\\\"':'\\\"'+e.slice(0,t-5)+'...\\\"':'\\\"'+e+'\\\"'}function tt(e,t,n){var r,o=120-n.length-e.length,a=[];for(r in t)if(t.hasOwnProperty(r)&&\\\"children\\\"!==r){var i=et(t[r],120-n.length-r.length-1);o-=r.length+i.length+2,a.push(r+\\\"=\\\"+i)}return 0===a.length?n+\\\"\u003C\\\"+e+\\\">\\\\n\\\":0\u003Co?n+\\\"\u003C\\\"+e+\\\" \\\"+a.join(\\\" \\\")+\\\">\\\\n\\\":n+\\\"\u003C\\\"+e+\\\"\\\\n\\\"+n+\\\" \\\"+a.join(\\\"\\\\n\\\"+n+\\\" \\\")+\\\"\\\\n\\\"+n+\\\">\\\\n\\\"}function nt(e,t,n){var r,o=\\\"\\\",a=vc({},t);for(r in e)if(e.hasOwnProperty(r)){delete a[r];var i=120-2*n-r.length-2,l=Je(e[r],i);t.hasOwnProperty(r)?(i=Je(t[r],i),o+=$e(n)+r+\\\": \\\"+l+\\\"\\\\n\\\",o+=Ye(n)+r+\\\": \\\"+i+\\\"\\\\n\\\"):o+=$e(n)+r+\\\": \\\"+l+\\\"\\\\n\\\"}for(var s in a)a.hasOwnProperty(s)&&(e=Je(a[s],120-2*n-s.length-2),o+=Ye(n)+s+\\\": \\\"+e+\\\"\\\\n\\\");return o}function rt(e,t){var n=Xe(e);if(null===n){for(n=\\\"\\\",e=e.child;e;)n+=rt(e,t),e=e.sibling;return n}return Qe(t)+\\\"\u003C\\\"+n+\\\">\\\\n\\\"}function ot(e,t){var n=function e(t,n){return void 0===t.serverProps&&0===t.serverTail.length&&1===t.children.length&&3\u003Ct.distanceFromLeaf&&t.distanceFromLeaf>15-n?e(t.children[0],n):t}(e,t);if(n!==e&&(1!==e.children.length||e.children[0]!==n))return Qe(t)+\\\"...\\\\n\\\"+ot(n,t+1);n=\\\"\\\";var r=e.fiber._debugInfo;if(r)for(var o=0;o\u003Cr.length;o++){var a=r[o].name;\\\"string\\\"==typeof a&&(n+=Qe(t)+\\\"\u003C\\\"+a+\\\">\\\\n\\\",t++)}if(r=\\\"\\\",o=e.fiber.pendingProps,6===e.fiber.tag)r=Ge(o,e.serverProps,t),t++;else if(null!==(a=Xe(e.fiber)))if(void 0===e.serverProps){var i=120-2*(r=t)-a.length-2,l=\\\"\\\";for(u in o)if(o.hasOwnProperty(u)&&\\\"children\\\"!==u){var s=et(o[u],15);if(0>(i-=u.length+s.length+2)){l+=\\\" ...\\\";break}l+=\\\" \\\"+u+\\\"=\\\"+s}r=Qe(r)+\\\"\u003C\\\"+a+l+\\\">\\\\n\\\",t++}else null===e.serverProps?(r=tt(a,o,$e(t)),t++):\\\"string\\\"==typeof e.serverProps?console.error(\\\"Should not have matched a non HostText fiber to a Text node. This is a bug in React.\\\"):(r=function(e,t,n,r){var o=\\\"\\\",a=new Map;for(u in n)n.hasOwnProperty(u)&&a.set(u.toLowerCase(),u);if(1===a.size&&a.has(\\\"children\\\"))o+=tt(e,t,Qe(r));else{for(var i in t)if(t.hasOwnProperty(i)&&\\\"children\\\"!==i){var l=120-2*(r+1)-i.length-1,s=a.get(i.toLowerCase());if(void 0!==s){a.delete(i.toLowerCase());var u=t[i];s=n[s];var c=et(u,l);l=et(s,l),\\\"object\\\"==typeof u&&null!==u&&\\\"object\\\"==typeof s&&null!==s&&\\\"Object\\\"===Ze(u)&&\\\"Object\\\"===Ze(s)&&(2\u003CObject.keys(u).length||2\u003CObject.keys(s).length||-1\u003Cc.indexOf(\\\"...\\\")||-1\u003Cl.indexOf(\\\"...\\\"))?o+=Qe(r+1)+i+\\\"={{\\\\n\\\"+nt(u,s,r+2)+Qe(r+1)+\\\"}}\\\\n\\\":(o+=$e(r+1)+i+\\\"=\\\"+c+\\\"\\\\n\\\",o+=Ye(r+1)+i+\\\"=\\\"+l+\\\"\\\\n\\\")}else o+=Qe(r+1)+i+\\\"=\\\"+et(t[i],l)+\\\"\\\\n\\\"}a.forEach(function(e){if(\\\"children\\\"!==e){var t=120-2*(r+1)-e.length-1;o+=Ye(r+1)+e+\\\"=\\\"+et(n[e],t)+\\\"\\\\n\\\"}}),o=\\\"\\\"===o?Qe(r)+\\\"\u003C\\\"+e+\\\">\\\\n\\\":Qe(r)+\\\"\u003C\\\"+e+\\\"\\\\n\\\"+o+Qe(r)+\\\">\\\\n\\\"}return e=n.children,t=t.children,\\\"string\\\"==typeof e||\\\"number\\\"==typeof e||\\\"bigint\\\"==typeof e?(a=\\\"\\\",\\\"string\\\"!=typeof t&&\\\"number\\\"!=typeof t&&\\\"bigint\\\"!=typeof t||(a=\\\"\\\"+t),o+=Ge(a,\\\"\\\"+e,r+1)):\\\"string\\\"!=typeof t&&\\\"number\\\"!=typeof t&&\\\"bigint\\\"!=typeof t||(o=null==e?o+Ge(\\\"\\\"+t,null,r+1):o+Ge(\\\"\\\"+t,void 0,r+1)),o}(a,o,e.serverProps,t),t++);var u=\\\"\\\";for(o=e.fiber.child,a=0;o&&a\u003Ce.children.length;)(i=e.children[a]).fiber===o?(u+=ot(i,t),a++):u+=rt(o,t),o=o.sibling;for(o&&0\u003Ce.children.length&&(u+=Qe(t)+\\\"...\\\\n\\\"),o=e.serverTail,null===e.serverProps&&t--,e=0;e\u003Co.length;e++)u=\\\"string\\\"==typeof(a=o[e])?u+(Ye(t)+Ke(a,120-2*t)+\\\"\\\\n\\\"):u+tt(a.type,a.props,Ye(t));return n+r+u}function at(e){try{return\\\"\\\\n\\\\n\\\"+ot(e,0)}catch(e){return\\\"\\\"}}function it(e,t,n){for(var r=t,o=null,a=0;r;)r===e&&(a=0),o={fiber:r,children:null!==o?[o]:[],serverProps:r===t?n:r===e?null:void 0,serverTail:[],distanceFromLeaf:a},a++,r=r.return;return null!==o?at(o).replaceAll(/^[+-]/gm,\\\">\\\"):\\\"\\\"}function lt(e,t){e=vc({},e||jd);var n={tag:t};return-1!==Ud.indexOf(t)&&(e.aTagInScope=null,e.buttonTagInScope=null,e.nobrTagInScope=null),-1!==Hd.indexOf(t)&&(e.pTagInButtonScope=null),-1!==Md.indexOf(t)&&\\\"address\\\"!==t&&\\\"div\\\"!==t&&\\\"p\\\"!==t&&(e.listItemTagAutoclosing=null,e.dlItemTagAutoclosing=null),e.current=n,\\\"form\\\"===t&&(e.formTag=n),\\\"a\\\"===t&&(e.aTagInScope=n),\\\"button\\\"===t&&(e.buttonTagInScope=n),\\\"nobr\\\"===t&&(e.nobrTagInScope=n),\\\"p\\\"===t&&(e.pTagInButtonScope=n),\\\"li\\\"===t&&(e.listItemTagAutoclosing=n),\\\"dd\\\"!==t&&\\\"dt\\\"!==t||(e.dlItemTagAutoclosing=n),\\\"#document\\\"===t||\\\"html\\\"===t?e.containerTagInScope=null:e.containerTagInScope||(e.containerTagInScope=n),e}function st(e,t){switch(t){case\\\"select\\\":return\\\"hr\\\"===e||\\\"option\\\"===e||\\\"optgroup\\\"===e||\\\"#text\\\"===e;case\\\"optgroup\\\":return\\\"option\\\"===e||\\\"#text\\\"===e;case\\\"option\\\":return\\\"#text\\\"===e;case\\\"tr\\\":return\\\"th\\\"===e||\\\"td\\\"===e||\\\"style\\\"===e||\\\"script\\\"===e||\\\"template\\\"===e;case\\\"tbody\\\":case\\\"thead\\\":case\\\"tfoot\\\":return\\\"tr\\\"===e||\\\"style\\\"===e||\\\"script\\\"===e||\\\"template\\\"===e;case\\\"colgroup\\\":return\\\"col\\\"===e||\\\"template\\\"===e;case\\\"table\\\":return\\\"caption\\\"===e||\\\"colgroup\\\"===e||\\\"tbody\\\"===e||\\\"tfoot\\\"===e||\\\"thead\\\"===e||\\\"style\\\"===e||\\\"script\\\"===e||\\\"template\\\"===e;case\\\"head\\\":return\\\"base\\\"===e||\\\"basefont\\\"===e||\\\"bgsound\\\"===e||\\\"link\\\"===e||\\\"meta\\\"===e||\\\"title\\\"===e||\\\"noscript\\\"===e||\\\"noframes\\\"===e||\\\"style\\\"===e||\\\"script\\\"===e||\\\"template\\\"===e;case\\\"html\\\":return\\\"head\\\"===e||\\\"body\\\"===e||\\\"frameset\\\"===e;case\\\"frameset\\\":return\\\"frame\\\"===e;case\\\"#document\\\":return\\\"html\\\"===e}switch(e){case\\\"h1\\\":case\\\"h2\\\":case\\\"h3\\\":case\\\"h4\\\":case\\\"h5\\\":case\\\"h6\\\":return\\\"h1\\\"!==t&&\\\"h2\\\"!==t&&\\\"h3\\\"!==t&&\\\"h4\\\"!==t&&\\\"h5\\\"!==t&&\\\"h6\\\"!==t;case\\\"rp\\\":case\\\"rt\\\":return-1===Wd.indexOf(t);case\\\"body\\\":case\\\"caption\\\":case\\\"col\\\":case\\\"colgroup\\\":case\\\"frameset\\\":case\\\"frame\\\":case\\\"head\\\":case\\\"html\\\":case\\\"tbody\\\":case\\\"td\\\":case\\\"tfoot\\\":case\\\"th\\\":case\\\"thead\\\":case\\\"tr\\\":return null==t}return!0}function ut(e,t){for(;e;){switch(e.tag){case 5:case 26:case 27:if(e.type===t)return e}e=e.return}return null}function ct(e,t){var n=(t=t||jd).current;if(t=(n=st(e,n&&n.tag)?null:n)?null:function(e,t){switch(e){case\\\"address\\\":case\\\"article\\\":case\\\"aside\\\":case\\\"blockquote\\\":case\\\"center\\\":case\\\"details\\\":case\\\"dialog\\\":case\\\"dir\\\":case\\\"div\\\":case\\\"dl\\\":case\\\"fieldset\\\":case\\\"figcaption\\\":case\\\"figure\\\":case\\\"footer\\\":case\\\"header\\\":case\\\"hgroup\\\":case\\\"main\\\":case\\\"menu\\\":case\\\"nav\\\":case\\\"ol\\\":case\\\"p\\\":case\\\"section\\\":case\\\"summary\\\":case\\\"ul\\\":case\\\"pre\\\":case\\\"listing\\\":case\\\"table\\\":case\\\"hr\\\":case\\\"xmp\\\":case\\\"h1\\\":case\\\"h2\\\":case\\\"h3\\\":case\\\"h4\\\":case\\\"h5\\\":case\\\"h6\\\":return t.pTagInButtonScope;case\\\"form\\\":return t.formTag||t.pTagInButtonScope;case\\\"li\\\":return t.listItemTagAutoclosing;case\\\"dd\\\":case\\\"dt\\\":return t.dlItemTagAutoclosing;case\\\"button\\\":return t.buttonTagInScope;case\\\"a\\\":return t.aTagInScope;case\\\"nobr\\\":return t.nobrTagInScope}return null}(e,t),!(t=n||t))return!0;t=t.tag;var r=String(!!n)+\\\"|\\\"+e+\\\"|\\\"+t;if(Vd[r])return!1;Vd[r]=!0;var o=(r=Ec)?ut(r.return,t):null;return r=null!==r&&null!==o?it(o,r,null):\\\"\\\",o=\\\"\u003C\\\"+e+\\\">\\\",n?(n=\\\"\\\",\\\"table\\\"===t&&\\\"tr\\\"===e&&(n+=\\\" Add a \u003Ctbody>, \u003Cthead> or \u003Ctfoot> to your code to match the DOM tree generated by the browser.\\\"),console.error(\\\"In HTML, %s cannot be a child of \u003C%s>.%s\\\\nThis will cause a hydration error.%s\\\",o,t,n,r)):console.error(\\\"In HTML, %s cannot be a descendant of \u003C%s>.\\\\nThis will cause a hydration error.%s\\\",o,t,r),!1}function dt(e,t){if(st(\\\"#text\\\",t))return!0;var n=\\\"#text|\\\"+t;if(Vd[n])return!1;Vd[n]=!0;var r=(n=Ec)?ut(n,t):null;return n=null!==n&&null!==r?it(r,n,6!==n.tag?{children:null}:null):\\\"\\\",/\\\\S/.test(e)?console.error(\\\"In HTML, text nodes cannot be a child of \u003C%s>.\\\\nThis will cause a hydration error.%s\\\",t,n):console.error(\\\"In HTML, whitespace text nodes cannot be a child of \u003C%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\\\\nThis will cause a hydration error.%s\\\",t,n),!1}function ft(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function pt(e,t,n){var r=0===t.indexOf(\\\"--\\\");r||(-1\u003Ct.indexOf(\\\"-\\\")?Jd.hasOwnProperty(t)&&Jd[t]||(Jd[t]=!0,console.error(\\\"Unsupported style property %s. Did you mean %s?\\\",t,t.replace(Kd,\\\"ms-\\\").replace(Gd,function(e,t){return t.toUpperCase()}))):Xd.test(t)?Jd.hasOwnProperty(t)&&Jd[t]||(Jd[t]=!0,console.error(\\\"Unsupported vendor-prefixed style property %s. Did you mean %s?\\\",t,t.charAt(0).toUpperCase()+t.slice(1))):!Zd.test(n)||ef.hasOwnProperty(n)&&ef[n]||(ef[n]=!0,console.error('Style property values shouldn\\\\'t contain a semicolon. Try \\\"%s: %s\\\" instead.',t,n.replace(Zd,\\\"\\\"))),\\\"number\\\"==typeof n&&(isNaN(n)?tf||(tf=!0,console.error(\\\"`NaN` is an invalid value for the `%s` css style property.\\\",t)):isFinite(n)||nf||(nf=!0,console.error(\\\"`Infinity` is an invalid value for the `%s` css style property.\\\",t)))),null==n||\\\"boolean\\\"==typeof n||\\\"\\\"===n?r?e.setProperty(t,\\\"\\\"):\\\"float\\\"===t?e.cssFloat=\\\"\\\":e[t]=\\\"\\\":r?e.setProperty(t,n):\\\"number\\\"!=typeof n||0===n||rf.has(t)?\\\"float\\\"===t?e.cssFloat=n:(B(n,t),e[t]=(\\\"\\\"+n).trim()):e[t]=n+\\\"px\\\"}function ht(e,t,n){if(null!=t&&\\\"object\\\"!=typeof t)throw Error(\\\"The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.\\\");if(t&&Object.freeze(t),e=e.style,null!=n){if(t){var r={};if(n)for(var o in n)if(n.hasOwnProperty(o)&&!t.hasOwnProperty(o))for(var a=Qd[o]||[o],i=0;i\u003Ca.length;i++)r[a[i]]=o;for(var l in t)if(t.hasOwnProperty(l)&&(!n||n[l]!==t[l]))for(o=Qd[l]||[l],a=0;a\u003Co.length;a++)r[o[a]]=l;for(var s in l={},t)for(o=Qd[s]||[s],a=0;a\u003Co.length;a++)l[o[a]]=s;for(var u in s={},r)if(o=r[u],(a=l[u])&&o!==a&&!s[i=o+\\\",\\\"+a]){s[i]=!0,i=console;var c=t[o];i.error.call(i,\\\"%s a style property during rerender (%s) when a conflicting property is set (%s) can lead to styling bugs. To avoid this, don't mix shorthand and non-shorthand properties for the same value; instead, replace the shorthand with separate values.\\\",null==c||\\\"boolean\\\"==typeof c||\\\"\\\"===c?\\\"Removing\\\":\\\"Updating\\\",o,a)}}for(var d in n)!n.hasOwnProperty(d)||null!=t&&t.hasOwnProperty(d)||(0===d.indexOf(\\\"--\\\")?e.setProperty(d,\\\"\\\"):\\\"float\\\"===d?e.cssFloat=\\\"\\\":e[d]=\\\"\\\");for(var f in t)u=t[f],t.hasOwnProperty(f)&&n[f]!==u&&pt(e,f,u)}else for(r in t)t.hasOwnProperty(r)&&pt(e,r,t[r])}function mt(e){if(-1===e.indexOf(\\\"-\\\"))return!1;switch(e){case\\\"annotation-xml\\\":case\\\"color-profile\\\":case\\\"font-face\\\":case\\\"font-face-src\\\":case\\\"font-face-uri\\\":case\\\"font-face-format\\\":case\\\"font-face-name\\\":case\\\"missing-glyph\\\":return!1;default:return!0}}function gt(e){return of.get(e)||e}function yt(e,t){if(Ac.call(sf,t)&&sf[t])return!0;if(cf.test(t)){if(e=\\\"aria-\\\"+t.slice(4).toLowerCase(),null==(e=lf.hasOwnProperty(e)?e:null))return console.error(\\\"Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.\\\",t),sf[t]=!0;if(t!==e)return console.error(\\\"Invalid ARIA attribute `%s`. Did you mean `%s`?\\\",t,e),sf[t]=!0}if(uf.test(t)){if(e=t.toLowerCase(),null==(e=lf.hasOwnProperty(e)?e:null))return sf[t]=!0,!1;t!==e&&(console.error(\\\"Unknown ARIA attribute `%s`. Did you mean `%s`?\\\",t,e),sf[t]=!0)}return!0}function bt(e,t,n,r){if(Ac.call(ff,t)&&ff[t])return!0;var o=t.toLowerCase();if(\\\"onfocusin\\\"===o||\\\"onfocusout\\\"===o)return console.error(\\\"React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React.\\\"),ff[t]=!0;if(\\\"function\\\"==typeof n&&(\\\"form\\\"===e&&\\\"action\\\"===t||\\\"input\\\"===e&&\\\"formAction\\\"===t||\\\"button\\\"===e&&\\\"formAction\\\"===t))return!0;if(null!=r){if(e=r.possibleRegistrationNames,r.registrationNameDependencies.hasOwnProperty(t))return!0;if(null!=(r=e.hasOwnProperty(o)?e[o]:null))return console.error(\\\"Invalid event handler property `%s`. Did you mean `%s`?\\\",t,r),ff[t]=!0;if(pf.test(t))return console.error(\\\"Unknown event handler property `%s`. It will be ignored.\\\",t),ff[t]=!0}else if(pf.test(t))return hf.test(t)&&console.error(\\\"Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.\\\",t),ff[t]=!0;if(mf.test(t)||gf.test(t))return!0;if(\\\"innerhtml\\\"===o)return console.error(\\\"Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`.\\\"),ff[t]=!0;if(\\\"aria\\\"===o)return console.error(\\\"The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead.\\\"),ff[t]=!0;if(\\\"is\\\"===o&&null!==n&&void 0!==n&&\\\"string\\\"!=typeof n)return console.error(\\\"Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.\\\",typeof n),ff[t]=!0;if(\\\"number\\\"==typeof n&&isNaN(n))return console.error(\\\"Received NaN for the `%s` attribute. If this is expected, cast the value to a string.\\\",t),ff[t]=!0;if(af.hasOwnProperty(o)){if((o=af[o])!==t)return console.error(\\\"Invalid DOM property `%s`. Did you mean `%s`?\\\",t,o),ff[t]=!0}else if(t!==o)return console.error(\\\"React does not recognize the `%s` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `%s` instead. If you accidentally passed it from a parent component, remove it from the DOM element.\\\",t,o),ff[t]=!0;switch(t){case\\\"dangerouslySetInnerHTML\\\":case\\\"children\\\":case\\\"style\\\":case\\\"suppressContentEditableWarning\\\":case\\\"suppressHydrationWarning\\\":case\\\"defaultValue\\\":case\\\"defaultChecked\\\":case\\\"innerHTML\\\":case\\\"ref\\\":return!0;case\\\"innerText\\\":case\\\"textContent\\\":return!0}switch(typeof n){case\\\"boolean\\\":switch(t){case\\\"autoFocus\\\":case\\\"checked\\\":case\\\"multiple\\\":case\\\"muted\\\":case\\\"selected\\\":case\\\"contentEditable\\\":case\\\"spellCheck\\\":case\\\"draggable\\\":case\\\"value\\\":case\\\"autoReverse\\\":case\\\"externalResourcesRequired\\\":case\\\"focusable\\\":case\\\"preserveAlpha\\\":case\\\"allowFullScreen\\\":case\\\"async\\\":case\\\"autoPlay\\\":case\\\"controls\\\":case\\\"default\\\":case\\\"defer\\\":case\\\"disabled\\\":case\\\"disablePictureInPicture\\\":case\\\"disableRemotePlayback\\\":case\\\"formNoValidate\\\":case\\\"hidden\\\":case\\\"loop\\\":case\\\"noModule\\\":case\\\"noValidate\\\":case\\\"open\\\":case\\\"playsInline\\\":case\\\"readOnly\\\":case\\\"required\\\":case\\\"reversed\\\":case\\\"scoped\\\":case\\\"seamless\\\":case\\\"itemScope\\\":case\\\"capture\\\":case\\\"download\\\":case\\\"inert\\\":return!0;default:return\\\"data-\\\"===(o=t.toLowerCase().slice(0,5))||\\\"aria-\\\"===o||(n?console.error('Received `%s` for a non-boolean attribute `%s`.\\\\n\\\\nIf you want to write it to the DOM, pass a string instead: %s=\\\"%s\\\" or %s={value.toString()}.',n,t,t,n,t):console.error('Received `%s` for a non-boolean attribute `%s`.\\\\n\\\\nIf you want to write it to the DOM, pass a string instead: %s=\\\"%s\\\" or %s={value.toString()}.\\\\n\\\\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.',n,t,t,n,t,t,t),ff[t]=!0)}case\\\"function\\\":case\\\"symbol\\\":return ff[t]=!0,!1;case\\\"string\\\":if(\\\"false\\\"===n||\\\"true\\\"===n){switch(t){case\\\"checked\\\":case\\\"selected\\\":case\\\"multiple\\\":case\\\"muted\\\":case\\\"allowFullScreen\\\":case\\\"async\\\":case\\\"autoPlay\\\":case\\\"controls\\\":case\\\"default\\\":case\\\"defer\\\":case\\\"disabled\\\":case\\\"disablePictureInPicture\\\":case\\\"disableRemotePlayback\\\":case\\\"formNoValidate\\\":case\\\"hidden\\\":case\\\"loop\\\":case\\\"noModule\\\":case\\\"noValidate\\\":case\\\"open\\\":case\\\"playsInline\\\":case\\\"readOnly\\\":case\\\"required\\\":case\\\"reversed\\\":case\\\"scoped\\\":case\\\"seamless\\\":case\\\"itemScope\\\":case\\\"inert\\\":break;default:return!0}console.error(\\\"Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?\\\",n,t,\\\"false\\\"===n?\\\"The browser will interpret it as a truthy value.\\\":'Although this works, it will not work as expected if you pass the string \\\"false\\\".',t,n),ff[t]=!0}}return!0}function vt(e){return yf.test(\\\"\\\"+e)?\\\"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\\\":e}function kt(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function wt(e){var t=ye(e);if(t&&(e=t.stateNode)){var n=e[pd]||null;e:switch(e=t.stateNode,t.type){case\\\"input\\\":if(Ne(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,\\\"radio\\\"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(V(t,\\\"name\\\"),n=n.querySelectorAll('input[name=\\\"'+Fe(\\\"\\\"+t)+'\\\"][type=\\\"radio\\\"]'),t=0;t\u003Cn.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=r[pd]||null;if(!o)throw Error(\\\"ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.\\\");Ne(r,o.value,o.defaultValue,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name)}}for(t=0;t\u003Cn.length;t++)(r=n[t]).form===e.form&&De(r)}break e;case\\\"textarea\\\":Be(e,n.value,n.defaultValue);break e;case\\\"select\\\":null!=(t=n.value)&&We(e,!!n.multiple,t,!1)}}}function St(e,t,n){if(wf)return e(t,n);wf=!0;try{return e(t)}finally{if(wf=!1,(null!==vf||null!==kf)&&(dl(),vf&&(t=vf,e=kf,kf=vf=null,wt(t),e)))for(t=0;t\u003Ce.length;t++)wt(e[t])}}function xt(e,t){var n=e.stateNode;if(null===n)return null;var r=n[pd]||null;if(null===r)return null;n=r[t];e:switch(t){case\\\"onClick\\\":case\\\"onClickCapture\\\":case\\\"onDoubleClick\\\":case\\\"onDoubleClickCapture\\\":case\\\"onMouseDown\\\":case\\\"onMouseDownCapture\\\":case\\\"onMouseMove\\\":case\\\"onMouseMoveCapture\\\":case\\\"onMouseUp\\\":case\\\"onMouseUpCapture\\\":case\\\"onMouseEnter\\\":(r=!r.disabled)||(r=!(\\\"button\\\"===(e=e.type)||\\\"input\\\"===e||\\\"select\\\"===e||\\\"textarea\\\"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&\\\"function\\\"!=typeof n)throw Error(\\\"Expected `\\\"+t+\\\"` listener to be a function, instead got a value of `\\\"+typeof n+\\\"` type.\\\");return n}function Ct(){if(zf)return zf;var e,t,n=Rf,r=n.length,o=\\\"value\\\"in Pf?Pf.value:Pf.textContent,a=o.length;for(e=0;e\u003Cr&&n[e]===o[e];e++);var i=r-e;for(t=1;t\u003C=i&&n[r-t]===o[a-t];t++);return zf=o.slice(e,1\u003Ct?1-t:void 0)}function Et(e){var t=e.keyCode;return\\\"charCode\\\"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32\u003C=e||13===e?e:0}function Tt(){return!0}function Pt(){return!1}function Rt(e){function t(t,n,r,o,a){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(o):o[i]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?Tt:Pt,this.isPropagationStopped=Pt,this}return vc(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\\\"unknown\\\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Tt)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\\\"unknown\\\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Tt)},persist:function(){},isPersistent:Tt}),t}function zt(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Bf[e])&&!!t[e]}function It(){return zt}function Lt(e,t){switch(e){case\\\"keyup\\\":return-1!==Gf.indexOf(t.keyCode);case\\\"keydown\\\":return t.keyCode!==Zf;case\\\"keypress\\\":case\\\"mousedown\\\":case\\\"focusout\\\":return!0;default:return!1}}function Dt(e){return\\\"object\\\"==typeof(e=e.detail)&&\\\"data\\\"in e?e.data:null}function _t(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\\\"input\\\"===t?!!lp[e.type]:\\\"textarea\\\"===t}function Ft(e,t,n,r){vf?kf?kf.push(r):kf=[r]:vf=r,0\u003C(t=rs(t,\\\"onChange\\\")).length&&(n=new Lf(\\\"onChange\\\",\\\"change\\\",null,n,r),e.push({event:n,listeners:t}))}function Ot(e){Kl(e,0)}function Nt(e){if(De(be(e)))return e}function At(e,t){if(\\\"change\\\"===e)return t}function Mt(){sp&&(sp.detachEvent(\\\"onpropertychange\\\",Ut),up=sp=null)}function Ut(e){if(\\\"value\\\"===e.propertyName&&Nt(up)){var t=[];Ft(t,up,e,kt(e)),St(Ot,t)}}function Ht(e,t,n){\\\"focusin\\\"===e?(Mt(),up=n,(sp=t).attachEvent(\\\"onpropertychange\\\",Ut)):\\\"focusout\\\"===e&&Mt()}function Wt(e){if(\\\"selectionchange\\\"===e||\\\"keyup\\\"===e||\\\"keydown\\\"===e)return Nt(up)}function jt(e,t){if(\\\"click\\\"===e)return Nt(t)}function Vt(e,t){if(\\\"input\\\"===e||\\\"change\\\"===e)return Nt(t)}function Bt(e,t){if(dp(e,t))return!0;if(\\\"object\\\"!=typeof e||null===e||\\\"object\\\"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r\u003Cn.length;r++){var o=n[r];if(!Ac.call(t,o)||!dp(e[o],t[o]))return!1}return!0}function qt(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Qt(e,t){var n,r=qt(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e\u003C=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=qt(r)}}function $t(e){for(var t=_e((e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window).document);t instanceof e.HTMLIFrameElement;){try{var n=\\\"string\\\"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=_e((e=t.contentWindow).document)}return t}function Yt(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\\\"input\\\"===t&&(\\\"text\\\"===e.type||\\\"search\\\"===e.type||\\\"tel\\\"===e.type||\\\"url\\\"===e.type||\\\"password\\\"===e.type)||\\\"textarea\\\"===t||\\\"true\\\"===e.contentEditable)}function Xt(e,t){var n=$t(t);t=e.focusedElem;var r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&function e(t,n){return!(!t||!n)&&(t===n||(!t||3!==t.nodeType)&&(n&&3===n.nodeType?e(t,n.parentNode):\\\"contains\\\"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}(t.ownerDocument.documentElement,t)){if(null!==r&&Yt(t))if(e=r.start,void 0===(n=r.end)&&(n=e),\\\"selectionStart\\\"in t)t.selectionStart=e,t.selectionEnd=Math.min(n,t.value.length);else if((n=(e=t.ownerDocument||document)&&e.defaultView||window).getSelection){n=n.getSelection();var o=t.textContent.length,a=Math.min(r.start,o);r=void 0===r.end?a:Math.min(r.end,o),!n.extend&&a>r&&(o=r,r=a,a=o),o=Qt(t,a);var i=Qt(t,r);o&&i&&(1!==n.rangeCount||n.anchorNode!==o.node||n.anchorOffset!==o.offset||n.focusNode!==i.node||n.focusOffset!==i.offset)&&((e=e.createRange()).setStart(o.node,o.offset),n.removeAllRanges(),a>r?(n.addRange(e),n.extend(i.node,i.offset)):(e.setEnd(i.node,i.offset),n.addRange(e)))}for(e=[],n=t;n=n.parentNode;)1===n.nodeType&&e.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(\\\"function\\\"==typeof t.focus&&t.focus(),t=0;t\u003Ce.length;t++)(n=e[t]).element.scrollLeft=n.left,n.element.scrollTop=n.top}}function Kt(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;gp||null==pp||pp!==_e(r)||(\\\"selectionStart\\\"in(r=pp)&&Yt(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},mp&&Bt(mp,r)||(mp=r,0\u003C(r=rs(hp,\\\"onSelect\\\")).length&&(t=new Lf(\\\"onSelect\\\",\\\"select\\\",null,t,n),e.push({event:t,listeners:r}),t.target=pp)))}function Gt(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\\\"Webkit\\\"+e]=\\\"webkit\\\"+t,n[\\\"Moz\\\"+e]=\\\"moz\\\"+t,n}function Zt(e){if(bp[e])return bp[e];if(!yp[e])return e;var t,n=yp[e];for(t in n)if(n.hasOwnProperty(t)&&t in vp)return bp[e]=n[t];return e}function Jt(e,t){Pp.set(e,t),we(t,[e])}function en(){for(var e=_p,t=Fp=_p=0;t\u003Ce;){var n=Dp[t];Dp[t++]=null;var r=Dp[t];Dp[t++]=null;var o=Dp[t];Dp[t++]=null;var a=Dp[t];if(Dp[t++]=null,null!==r&&null!==o){var i=r.pending;null===i?o.next=o:(o.next=i.next,i.next=o),r.pending=o}0!==a&&on(n,o,a)}}function tn(e,t,n,r){Dp[_p++]=e,Dp[_p++]=t,Dp[_p++]=n,Dp[_p++]=r,Fp|=r,e.lanes|=r,null!==(e=e.alternate)&&(e.lanes|=r)}function nn(e,t,n,r){return tn(e,t,n,r),an(e)}function rn(e,t){return tn(e,null,null,t),an(e)}function on(e,t,n){e.lanes|=n;var r=e.alternate;null!==r&&(r.lanes|=n);for(var o=!1,a=e.return;null!==a;)a.childLanes|=n,null!==(r=a.alternate)&&(r.childLanes|=n),22===a.tag&&(null===(e=a.stateNode)||e._visibility&zp||(o=!0)),e=a,a=a.return;o&&null!==t&&3===e.tag&&(a=e.stateNode,o=31-nd(n),null===(e=(a=a.hiddenUpdates)[o])?a[o]=[t]:e.push(t),t.lane=536870912|n)}function an(e){if(rb>nb)throw sb=rb=0,ub=ob=null,Error(\\\"Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.\\\");sb>lb&&(sb=0,ub=null,console.error(\\\"Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.\\\")),null===e.alternate&&0!=(4098&e.flags)&&Ml(e);for(var t=e,n=t.return;null!==n;)null===t.alternate&&0!=(4098&t.flags)&&Ml(e),n=(t=n).return;return 3===t.tag?t.stateNode:null}function ln(e){if(null===Np)return e;var t=Np(e);return void 0===t?e:t.current}function sn(e){if(null===Np)return e;var t=Np(e);return void 0===t?null!==e&&void 0!==e&&\\\"function\\\"==typeof e.render&&(t=ln(e.render),e.render!==t)?(t={$$typeof:nc,render:t},void 0!==e.displayName&&(t.displayName=e.displayName),t):e:t.current}function un(e,t){if(null===Np)return!1;var n=e.elementType,r=!1,o=\\\"object\\\"==typeof(t=t.type)&&null!==t?t.$$typeof:null;switch(e.tag){case 1:\\\"function\\\"==typeof t&&(r=!0);break;case 0:\\\"function\\\"==typeof t?r=!0:o===ic&&(r=!0);break;case 11:o===nc?r=!0:o===ic&&(r=!0);break;case 14:case 15:o===ac?r=!0:o===ic&&(r=!0);break;default:return!1}return!(!r||(e=Np(n),void 0===e||e!==Np(t)))}function cn(e){null!==Np&&\\\"function\\\"==typeof WeakSet&&(null===Ap&&(Ap=new WeakSet),Ap.add(e))}function dn(){var e=Yp;return Yp=0,e}function fn(e){var t=Yp;return Yp=e,t}function pn(e){var t=Yp;return Yp+=e,t}function hn(e){$p=Bp(),0>e.actualStartTime&&(e.actualStartTime=$p)}function mn(e){if(0\u003C=$p){var t=Bp()-$p;e.actualDuration+=t,e.selfBaseDuration=t,$p=-1}}function gn(e){if(0\u003C=$p){var t=Bp()-$p;e.actualDuration+=t,$p=-1}}function yn(){if(0\u003C=$p){var e=Bp()-$p;$p=-1,Yp+=e}}function bn(){$p=Bp()}function vn(e){for(var t=e.child;t;)e.actualDuration+=t.actualDuration,t=t.sibling}function kn(e,t){if(\\\"object\\\"==typeof e&&null!==e){var n=sh.get(e);return void 0!==n?n:(t={value:e,source:t,stack:C(t)},sh.set(e,t),t)}return{value:e,source:t,stack:C(t)}}function wn(e,t){En(),uh[ch++]=fh,uh[ch++]=dh,dh=e,fh=t}function Sn(e,t,n){En(),ph[hh++]=gh,ph[hh++]=yh,ph[hh++]=mh,mh=e;var r=gh;e=yh;var o=32-nd(r)-1;r&=~(1\u003C\u003Co),n+=1;var a=32-nd(t)+o;if(30\u003Ca){var i=o-o%5;a=(r&(1\u003C\u003Ci)-1).toString(32),r>>=i,o-=i,gh=1\u003C\u003C32-nd(t)+o|n\u003C\u003Co|r,yh=a+e}else gh=1\u003C\u003Ca|n\u003C\u003Co|r,yh=e}function xn(e){En(),null!==e.return&&(wn(e,1),Sn(e,1,0))}function Cn(e){for(;e===dh;)dh=uh[--ch],uh[ch]=null,fh=uh[--ch],uh[ch]=null;for(;e===mh;)mh=ph[--hh],ph[hh]=null,yh=ph[--hh],ph[hh]=null,gh=ph[--hh],ph[hh]=null}function En(){kh||console.error(\\\"Expected to be hydrating. This is a bug in React. Please file an issue.\\\")}function Tn(e,t){if(null===e.return){if(null===Sh)Sh={fiber:e,children:[],serverProps:void 0,serverTail:[],distanceFromLeaf:t};else{if(Sh.fiber!==e)throw Error(\\\"Saw multiple hydration diff roots in a pass. This is a bug in React.\\\");Sh.distanceFromLeaf>t&&(Sh.distanceFromLeaf=t)}return Sh}var n=Tn(e.return,t+1).children;return 0\u003Cn.length&&n[n.length-1].fiber===e?((n=n[n.length-1]).distanceFromLeaf>t&&(n.distanceFromLeaf=t),n):(t={fiber:e,children:[],serverProps:void 0,serverTail:[],distanceFromLeaf:t},n.push(t),t)}function Pn(e,t){wh||((e=Tn(e,0)).serverProps=null,null!==t&&(t=Vs(t),e.serverTail.push(t)))}function Rn(e){var t=\\\"\\\",n=Sh;throw null!==n&&(Sh=null,t=at(n)),_n(kn(Error(\\\"Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:\\\\n\\\\n- A server/client branch `if (typeof window !== 'undefined')`.\\\\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\\\\n- Date formatting in a user's locale which doesn't match the server.\\\\n- External changing data without sending a snapshot of it along with the HTML.\\\\n- Invalid HTML tag nesting.\\\\n\\\\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\\\\n\\\\nhttps://react.dev/link/hydration-mismatch\\\"+t),e)),Eh}function zn(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[fd]=e,t[pd]=r,is(n,r),n){case\\\"dialog\\\":Gl(\\\"cancel\\\",t),Gl(\\\"close\\\",t);break;case\\\"iframe\\\":case\\\"object\\\":case\\\"embed\\\":Gl(\\\"load\\\",t);break;case\\\"video\\\":case\\\"audio\\\":for(n=0;n\u003CEb.length;n++)Gl(Eb[n],t);break;case\\\"source\\\":Gl(\\\"error\\\",t);break;case\\\"img\\\":case\\\"image\\\":case\\\"link\\\":Gl(\\\"error\\\",t),Gl(\\\"load\\\",t);break;case\\\"details\\\":Gl(\\\"toggle\\\",t);break;case\\\"input\\\":xe(\\\"input\\\",r),Gl(\\\"invalid\\\",t),Oe(0,r),Ae(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0),Le(t);break;case\\\"option\\\":Ue(0,r);break;case\\\"select\\\":xe(\\\"select\\\",r),Gl(\\\"invalid\\\",t),je(t,r);break;case\\\"textarea\\\":xe(\\\"textarea\\\",r),Gl(\\\"invalid\\\",t),Ve(0,r),qe(t,r.value,r.defaultValue,r.children),Le(t)}\\\"string\\\"!=typeof(n=r.children)&&\\\"number\\\"!=typeof n&&\\\"bigint\\\"!=typeof n||t.textContent===\\\"\\\"+n||!0===r.suppressHydrationWarning||ds(t.textContent,n)?(null!=r.popover&&(Gl(\\\"beforetoggle\\\",t),Gl(\\\"toggle\\\",t)),null!=r.onScroll&&Gl(\\\"scroll\\\",t),null!=r.onScrollEnd&&Gl(\\\"scrollend\\\",t),null!=r.onClick&&(t.onclick=fs),t=!0):t=!1,t||Rn(e)}function In(e){for(bh=e.return;bh;)switch(bh.tag){case 3:case 27:return void(Ch=!0);case 5:case 13:return void(Ch=!1);default:bh=bh.return}}function Ln(e){if(e!==bh)return!1;if(!kh)return In(e),kh=!0,!1;var t,n=!1;if((t=3!==e.tag&&27!==e.tag)&&((t=5===e.tag)&&(t=!(\\\"form\\\"!==(t=e.type)&&\\\"button\\\"!==t)||Rs(e.type,e.memoizedProps)),t=!t),t&&(n=!0),n&&vh){for(n=vh;n;){t=Tn(e,0);var r=Vs(n);t.serverTail.push(r),n=\\\"Suspense\\\"===r.type?qs(n):js(n.nextSibling)}Rn(e)}if(In(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(\\\"Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.\\\");vh=qs(e)}else vh=bh?js(e.stateNode.nextSibling):null;return!0}function Dn(){vh=bh=null,wh=kh=!1}function _n(e){null===xh?xh=[e]:xh.push(e)}function Fn(){var e=Sh;null!==e&&(Sh=null,e=at(e),console.error(\\\"A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:\\\\n\\\\n- A server/client branch `if (typeof window !== 'undefined')`.\\\\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\\\\n- Date formatting in a user's locale which doesn't match the server.\\\\n- External changing data without sending a snapshot of it along with the HTML.\\\\n- Invalid HTML tag nesting.\\\\n\\\\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\\\\n\\\\n%s%s\\\",\\\"https://react.dev/link/hydration-mismatch\\\",e))}function On(e){return\\\"fulfilled\\\"===(e=e.status)||\\\"rejected\\\"===e}function Nn(){}function An(e,t,n){null!==bc.actQueue&&(bc.didUsePromise=!0);var r=e.thenables;switch(void 0===(n=r[n])?r.push(t):n!==t&&(e.didWarnAboutUncachedPromise||(e.didWarnAboutUncachedPromise=!0,console.error(\\\"A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework.\\\")),t.then(Nn,Nn),t=n),t.status){case\\\"fulfilled\\\":return t.value;case\\\"rejected\\\":throw Un(e=t.reason),e;default:if(\\\"string\\\"==typeof t.status)t.then(Nn,Nn);else{if(null!==(e=by)&&100\u003Ce.shellSuspendCounter)throw Error(\\\"async/await is not yet supported in Client Components, only Server Components. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.\\\");(e=t).status=\\\"pending\\\",e.then(function(e){if(\\\"pending\\\"===t.status){var n=t;n.status=\\\"fulfilled\\\",n.value=e}},function(e){if(\\\"pending\\\"===t.status){var n=t;n.status=\\\"rejected\\\",n.reason=e}})}switch(t.status){case\\\"fulfilled\\\":return t.value;case\\\"rejected\\\":throw Un(e=t.reason),e}throw zh=t,Ih=!0,Th}}function Mn(){if(null===zh)throw Error(\\\"Expected a suspended thenable. This is a bug in React. Please file an issue.\\\");var e=zh;return zh=null,Ih=!1,e}function Un(e){if(e===Th)throw Error(\\\"Hooks are not supported inside an async component. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.\\\")}function Hn(e){var t=Gh;return null!=e&&(Gh=null===t?e:t.concat(e)),t}function Wn(e,t,n){for(var r=Object.keys(e.props),o=0;o\u003Cr.length;o++){var a=r[o];if(\\\"children\\\"!==a&&\\\"key\\\"!==a){null===t&&((t=Vi(e,n.mode,0))._debugInfo=Gh,t.return=n),P(t,function(e){console.error(\\\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\\\",e)},a);break}}}function jn(e){var t=Kh;return Kh+=1,null===Xh&&(Xh={didWarnAboutUncachedPromise:!1,thenables:[]}),An(Xh,e,t)}function Vn(e,t){t=t.props.ref,e.ref=void 0!==t?t:null}function Bn(e,t){if(t.$$typeof===$u)throw Error('A React Element from an older version of React was rendered. This is not supported. It can happen if:\\\\n- Multiple copies of the \\\"react\\\" package is used.\\\\n- A library pre-bundled an old copy of \\\"react\\\" or \\\"react/jsx-runtime\\\".\\\\n- A compiler tries to \\\"inline\\\" JSX instead of using the runtime.');throw e=Object.prototype.toString.call(t),Error(\\\"Objects are not valid as a React child (found: \\\"+(\\\"[object Object]\\\"===e?\\\"object with keys {\\\"+Object.keys(t).join(\\\", \\\")+\\\"}\\\":e)+\\\"). If you meant to render a collection of children, use an array instead.\\\")}function qn(e,t){var n=v(e)||\\\"Component\\\";em[n]||(em[n]=!0,t=t.displayName||t.name||\\\"Component\\\",3===e.tag?console.error(\\\"Functions are not valid as a React child. This may happen if you return %s instead of \u003C%s /> from render. Or maybe you meant to call this function rather than return it.\\\\n root.render(%s)\\\",t,t,t):console.error(\\\"Functions are not valid as a React child. This may happen if you return %s instead of \u003C%s /> from render. Or maybe you meant to call this function rather than return it.\\\\n \u003C%s>{%s}\u003C/%s>\\\",t,t,n,t,n))}function Qn(e,t){var n=v(e)||\\\"Component\\\";tm[n]||(tm[n]=!0,t=String(t),3===e.tag?console.error(\\\"Symbols are not valid as a React child.\\\\n root.render(%s)\\\",t):console.error(\\\"Symbols are not valid as a React child.\\\\n \u003C%s>%s\u003C/%s>\\\",n,t,n))}function $n(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;null!==e;)null!==e.key?t.set(e.key,e):t.set(e.index,e),e=e.sibling;return t}function o(e,t){return(e=Hi(e,t)).index=0,e.sibling=null,e}function a(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)\u003Cn?(t.flags|=33554434,n):r:(t.flags|=33554434,n):(t.flags|=1048576,n)}function l(t){return e&&null===t.alternate&&(t.flags|=33554434),t}function s(e,t,n,r){return null===t||6!==t.tag?((t=Qi(n,e.mode,r)).return=e,t._debugOwner=e,t._debugInfo=Gh,t):((t=o(t,n)).return=e,t._debugInfo=Gh,t)}function u(e,t,n,r){var a=n.type;return a===Ku?(Wn(n,t=f(e,t,n.props.children,r,n.key),e),t):null!==t&&(t.elementType===a||un(t,n)||\\\"object\\\"==typeof a&&null!==a&&a.$$typeof===ic&&Yh(a)===t.type)?(Vn(t=o(t,n.props),n),t.return=e,t._debugOwner=n._owner,t._debugInfo=Gh,t):(Vn(t=Vi(n,e.mode,r),n),t.return=e,t._debugInfo=Gh,t)}function d(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=$i(n,e.mode,r)).return=e,t._debugInfo=Gh,t):((t=o(t,n.children||[])).return=e,t._debugInfo=Gh,t)}function f(e,t,n,r,a){return null===t||7!==t.tag?((t=Bi(n,e.mode,r,a)).return=e,t._debugOwner=e,t._debugInfo=Gh,t):((t=o(t,n)).return=e,t._debugInfo=Gh,t)}function p(e,t,n){if(\\\"string\\\"==typeof t&&\\\"\\\"!==t||\\\"number\\\"==typeof t||\\\"bigint\\\"==typeof t)return(t=Qi(\\\"\\\"+t,e.mode,n)).return=e,t._debugOwner=e,t._debugInfo=Gh,t;if(\\\"object\\\"==typeof t&&null!==t){switch(t.$$typeof){case Yu:return Vn(n=Vi(t,e.mode,n),t),n.return=e,e=Hn(t._debugInfo),n._debugInfo=Gh,Gh=e,n;case Xu:return(t=$i(t,e.mode,n)).return=e,t._debugInfo=Gh,t;case ic:var r=Hn(t._debugInfo);return e=p(e,t=Yh(t),n),Gh=r,e}if(Pc(t)||g(t))return(n=Bi(t,e.mode,n,null)).return=e,n._debugOwner=e,e=Hn(t._debugInfo),n._debugInfo=Gh,Gh=e,n;if(\\\"function\\\"==typeof t.then)return r=Hn(t._debugInfo),e=p(e,jn(t),n),Gh=r,e;if(t.$$typeof===tc)return p(e,za(e,t),n);Bn(e,t)}return\\\"function\\\"==typeof t&&qn(e,t),\\\"symbol\\\"==typeof t&&Qn(e,t),null}function h(e,t,n,r){var o=null!==t?t.key:null;if(\\\"string\\\"==typeof n&&\\\"\\\"!==n||\\\"number\\\"==typeof n||\\\"bigint\\\"==typeof n)return null!==o?null:s(e,t,\\\"\\\"+n,r);if(\\\"object\\\"==typeof n&&null!==n){switch(n.$$typeof){case Yu:return n.key===o?(o=Hn(n._debugInfo),e=u(e,t,n,r),Gh=o,e):null;case Xu:return n.key===o?d(e,t,n,r):null;case ic:return o=Hn(n._debugInfo),e=h(e,t,n=Yh(n),r),Gh=o,e}if(Pc(n)||g(n))return null!==o?null:(o=Hn(n._debugInfo),e=f(e,t,n,r,null),Gh=o,e);if(\\\"function\\\"==typeof n.then)return o=Hn(n._debugInfo),e=h(e,t,jn(n),r),Gh=o,e;if(n.$$typeof===tc)return h(e,t,za(e,n),r);Bn(e,n)}return\\\"function\\\"==typeof n&&qn(e,n),\\\"symbol\\\"==typeof n&&Qn(e,n),null}function m(e,t,n,r,o){if(\\\"string\\\"==typeof r&&\\\"\\\"!==r||\\\"number\\\"==typeof r||\\\"bigint\\\"==typeof r)return s(t,e=e.get(n)||null,\\\"\\\"+r,o);if(\\\"object\\\"==typeof r&&null!==r){switch(r.$$typeof){case Yu:return n=e.get(null===r.key?n:r.key)||null,e=Hn(r._debugInfo),t=u(t,n,r,o),Gh=e,t;case Xu:return d(t,e=e.get(null===r.key?n:r.key)||null,r,o);case ic:var a=Hn(r._debugInfo);return t=m(e,t,n,r=Yh(r),o),Gh=a,t}if(Pc(r)||g(r))return n=e.get(n)||null,e=Hn(r._debugInfo),t=f(t,n,r,o,null),Gh=e,t;if(\\\"function\\\"==typeof r.then)return a=Hn(r._debugInfo),t=m(e,t,n,jn(r),o),Gh=a,t;if(r.$$typeof===tc)return m(e,t,n,za(t,r),o);Bn(t,r)}return\\\"function\\\"==typeof r&&qn(t,r),\\\"symbol\\\"==typeof r&&Qn(t,r),null}function y(e,t,n,r){if(\\\"object\\\"!=typeof n||null===n)return r;switch(n.$$typeof){case Yu:case Xu:c(e,t,n);var o=n.key;if(\\\"string\\\"!=typeof o)break;if(null===r){(r=new Set).add(o);break}if(!r.has(o)){r.add(o);break}P(t,function(){console.error(\\\"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.\\\",o)});break;case ic:y(e,t,n=Yh(n),r)}return r}function b(i,s,u,c){if(\\\"object\\\"==typeof u&&null!==u&&u.type===Ku&&null===u.key&&(Wn(u,null,i),u=u.props.children),\\\"object\\\"==typeof u&&null!==u){switch(u.$$typeof){case Yu:var d=Hn(u._debugInfo);e:{for(var f=u.key;null!==s;){if(s.key===f){if((f=u.type)===Ku){if(7===s.tag){n(i,s.sibling),(c=o(s,u.props.children)).return=i,c._debugOwner=u._owner,c._debugInfo=Gh,Wn(u,c,i),i=c;break e}}else if(s.elementType===f||un(s,u)||\\\"object\\\"==typeof f&&null!==f&&f.$$typeof===ic&&Yh(f)===s.type){n(i,s.sibling),Vn(c=o(s,u.props),u),c.return=i,c._debugOwner=u._owner,c._debugInfo=Gh,i=c;break e}n(i,s);break}t(i,s),s=s.sibling}u.type===Ku?((c=Bi(u.props.children,i.mode,c,u.key)).return=i,c._debugOwner=i,c._debugInfo=Gh,Wn(u,c,i),i=c):(Vn(c=Vi(u,i.mode,c),u),c.return=i,c._debugInfo=Gh,i=c)}return i=l(i),Gh=d,i;case Xu:e:{for(u=(d=u).key;null!==s;){if(s.key===u){if(4===s.tag&&s.stateNode.containerInfo===d.containerInfo&&s.stateNode.implementation===d.implementation){n(i,s.sibling),(c=o(s,d.children||[])).return=i,i=c;break e}n(i,s);break}t(i,s),s=s.sibling}(c=$i(d,i.mode,c)).return=i,i=c}return l(i);case ic:return d=Hn(u._debugInfo),i=b(i,s,u=Yh(u),c),Gh=d,i}if(Pc(u))return d=Hn(u._debugInfo),i=function(o,i,l,s){for(var u=null,c=null,d=null,f=i,g=i=0,b=null;null!==f&&g\u003Cl.length;g++){f.index>g?(b=f,f=null):b=f.sibling;var v=h(o,f,l[g],s);if(null===v){null===f&&(f=b);break}u=y(o,v,l[g],u),e&&f&&null===v.alternate&&t(o,f),i=a(v,i,g),null===d?c=v:d.sibling=v,d=v,f=b}if(g===l.length)return n(o,f),kh&&wn(o,g),c;if(null===f){for(;g\u003Cl.length;g++)null!==(f=p(o,l[g],s))&&(u=y(o,f,l[g],u),i=a(f,i,g),null===d?c=f:d.sibling=f,d=f);return kh&&wn(o,g),c}for(f=r(f);g\u003Cl.length;g++)null!==(b=m(f,o,g,l[g],s))&&(u=y(o,b,l[g],u),e&&null!==b.alternate&&f.delete(null===b.key?g:b.key),i=a(b,i,g),null===d?c=b:d.sibling=b,d=b);return e&&f.forEach(function(e){return t(o,e)}),kh&&wn(o,g),c}(i,s,u,c),Gh=d,i;if(g(u)){if(d=Hn(u._debugInfo),\\\"function\\\"!=typeof(f=g(u)))throw Error(\\\"An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.\\\");var v=f.call(u);return v===u?0===i.tag&&\\\"[object GeneratorFunction]\\\"===Object.prototype.toString.call(i.type)&&\\\"[object Generator]\\\"===Object.prototype.toString.call(v)||(Zh||console.error(\\\"Using Iterators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. You can also use an Iterable that can iterate multiple times over the same items.\\\"),Zh=!0):u.entries!==f||lh||(console.error(\\\"Using Maps as children is not supported. Use an array of keyed ReactElements instead.\\\"),lh=!0),i=function(o,i,l,s){if(null==l)throw Error(\\\"An iterable object provided no iterator.\\\");for(var u=null,c=null,d=i,f=i=0,g=null,b=null,v=l.next();null!==d&&!v.done;f++,v=l.next()){d.index>f?(g=d,d=null):g=d.sibling;var k=h(o,d,v.value,s);if(null===k){null===d&&(d=g);break}b=y(o,k,v.value,b),e&&d&&null===k.alternate&&t(o,d),i=a(k,i,f),null===c?u=k:c.sibling=k,c=k,d=g}if(v.done)return n(o,d),kh&&wn(o,f),u;if(null===d){for(;!v.done;f++,v=l.next())null!==(d=p(o,v.value,s))&&(b=y(o,d,v.value,b),i=a(d,i,f),null===c?u=d:c.sibling=d,c=d);return kh&&wn(o,f),u}for(d=r(d);!v.done;f++,v=l.next())null!==(g=m(d,o,f,v.value,s))&&(b=y(o,g,v.value,b),e&&null!==g.alternate&&d.delete(null===g.key?f:g.key),i=a(g,i,f),null===c?u=g:c.sibling=g,c=g);return e&&d.forEach(function(e){return t(o,e)}),kh&&wn(o,f),u}(i,s,v,c),Gh=d,i}if(\\\"function\\\"==typeof u.then)return d=Hn(u._debugInfo),i=b(i,s,jn(u),c),Gh=d,i;if(u.$$typeof===tc)return b(i,s,za(i,u),c);Bn(i,u)}return\\\"string\\\"==typeof u&&\\\"\\\"!==u||\\\"number\\\"==typeof u||\\\"bigint\\\"==typeof u?(d=\\\"\\\"+u,null!==s&&6===s.tag?(n(i,s.sibling),(c=o(s,d)).return=i,i=c):(n(i,s),(c=Qi(d,i.mode,c)).return=i,c._debugOwner=i,c._debugInfo=Gh,i=c),l(i)):(\\\"function\\\"==typeof u&&qn(i,u),\\\"symbol\\\"==typeof u&&Qn(i,u),n(i,s))}return function(e,t,n,r){var o=Gh;Gh=null;try{Kh=0;var a=b(e,t,n,r);return Xh=null,a}catch(t){if(t===Th)throw t;var l=i(29,t,null,e.mode);l.lanes=r,l.return=e;var s=l._debugInfo=Gh;if(l._debugOwner=e._debugOwner,null!=s)for(var u=s.length-1;0\u003C=u;u--)if(\\\"string\\\"==typeof s[u].stack){l._debugOwner=s[u];break}return l}finally{Gh=o}}}function Yn(e,t){var n=Oy;_(am,n,e),_(om,t,e),Oy=n|t.baseLanes}function Xn(e){_(am,Oy,e),_(om,om.current,e)}function Kn(e){Oy=am.current,D(om,e),D(am,e)}function Gn(e){var t=e.alternate;_(cm,cm.current&sm,e),_(im,e,e),null===lm&&(null===t||null!==om.current?lm=e:null!==t.memoizedState&&(lm=e))}function Zn(e){if(22===e.tag){if(_(cm,cm.current,e),_(im,e,e),null===lm){var t=e.alternate;null!==t&&null!==t.memoizedState&&(lm=e)}}else Jn(e)}function Jn(e){_(cm,cm.current,e),_(im,im.current,e)}function er(e){D(im,e),lm===e&&(lm=null),D(cm,e)}function tr(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||n.data===qb||n.data===Qb))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function nr(){return{controller:new gm,data:new Map,refCount:0}}function rr(e){e.controller.signal.aborted&&console.warn(\\\"A cache instance was retained after it was already freed. This likely indicates a bug in React.\\\"),e.refCount++}function or(e){e.refCount--,0>e.refCount&&console.warn(\\\"A cache instance was released after it was already freed. This likely indicates a bug in React.\\\"),0===e.refCount&&ym(bm,function(){e.controller.abort()})}function ar(){if(0==--wm&&null!==km){null!==xm&&(xm.status=\\\"fulfilled\\\");var e=km;km=null,Sm=0,xm=null;for(var t=0;t\u003Ce.length;t++)(0,e[t])()}}function ir(){var e=Tm.current;return null!==e?e:by.pooledCache}function lr(e,t){_(Tm,null===t?Tm.current:t.pool,e)}function sr(){var e=ir();return null===e?null:{parent:vm._currentValue,pool:e}}function ur(){var e=Vm;null===Bm?Bm=[e]:Bm.push(e)}function cr(){var e=Vm;if(null!==Bm&&Bm[++qm]!==e){var t=v(Dm);if(!Pm.has(t)&&(Pm.add(t),null!==Bm)){for(var n=\\\"\\\",r=0;r\u003C=qm;r++){var o=Bm[r],a=r===qm?e:o;for(o=r+1+\\\". \\\"+o;30>o.length;)o+=\\\" \\\";n+=o+=a+\\\"\\\\n\\\"}console.error(\\\"React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://react.dev/link/rules-of-hooks\\\\n\\\\n Previous render Next render\\\\n ------------------------------------------------------\\\\n%s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\\\n\\\",t,n)}}}function dr(e){void 0===e||null===e||Pc(e)||console.error(\\\"%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.\\\",Vm,typeof e)}function fr(){var e=v(Dm);Im.has(e)||(Im.add(e),console.error(\\\"ReactDOM.useFormState has been renamed to React.useActionState. Please update %s to use React.useActionState.\\\",e))}function pr(){throw Error(\\\"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\\\n2. You might be breaking the Rules of Hooks\\\\n3. You might have more than one copy of React in the same app\\\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\\\")}function hr(e,t){if(Qm)return!1;if(null===t)return console.error(\\\"%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.\\\",Vm),!1;e.length!==t.length&&console.error(\\\"The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\\\\n\\\\nPrevious: %s\\\\nIncoming: %s\\\",Vm,\\\"[\\\"+t.join(\\\", \\\")+\\\"]\\\",\\\"[\\\"+e.join(\\\", \\\")+\\\"]\\\");for(var n=0;n\u003Ct.length&&n\u003Ce.length;n++)if(!dp(e[n],t[n]))return!1;return!0}function mr(e,t,n,r,o,a){Lm=a,Dm=t,Bm=null!==e?e._debugHookTypes:null,qm=-1,Qm=null!==e&&e.type!==t.type,\\\"[object AsyncFunction]\\\"!==Object.prototype.toString.call(n)&&\\\"[object AsyncGeneratorFunction]\\\"!==Object.prototype.toString.call(n)||(a=v(Dm),zm.has(a)||(zm.add(a),console.error(\\\"async/await is not yet supported in Client Components, only Server Components. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.\\\"))),t.memoizedState=null,t.updateQueue=null,t.lanes=0,bc.H=null!==e&&null!==e.memoizedState?Gm:null!==Bm?Km:Xm,Am=a=(t.mode&Wp)!==Mp;var i=Dh(n,r,o);if(Am=!1,Nm&&(i=yr(t,n,r,o)),a){Q(!0);try{i=yr(t,n,r,o)}finally{Q(!1)}}return gr(e,t),i}function gr(e,t){t._debugHookTypes=Bm,null===t.dependencies?null!==Hm&&(t.dependencies={lanes:0,firstContext:null,_debugThenableState:Hm}):t.dependencies._debugThenableState=Hm,bc.H=Ym;var n=null!==_m&&null!==_m.next;if(Lm=0,Bm=Vm=Fm=_m=Dm=null,qm=-1,null!==e&&(31457280&e.flags)!=(31457280&t.flags)&&console.error(\\\"Internal React error: Expected static flag was missing. Please notify the React team.\\\"),Om=!1,Um=0,Hm=null,n)throw Error(\\\"Rendered fewer hooks than expected. This may be caused by an accidental early return statement.\\\");null===e||bg||null!==(e=e.dependencies)&&Ta(e)&&(bg=!0),Ih?(Ih=!1,e=!0):e=!1,e&&(t=v(t)||\\\"Unknown\\\",Rm.has(t)||zm.has(t)||(Rm.add(t),console.error(\\\"`use` was called from inside a try/catch block. This is not allowed and can lead to unexpected behavior. To handle errors triggered by `use`, wrap your component in a error boundary.\\\")))}function yr(e,t,n,r){Dm=e;var o=0;do{if(Nm&&(Hm=null),Um=0,Nm=!1,o>=jm)throw Error(\\\"Too many re-renders. React limits the number of renders to prevent an infinite loop.\\\");if(o+=1,Qm=!1,Fm=_m=null,null!=e.updateQueue){var a=e.updateQueue;a.lastEffect=null,a.events=null,a.stores=null,null!=a.memoCache&&(a.memoCache.index=0)}qm=-1,bc.H=Zm,a=Dh(t,n,r)}while(Nm);return a}function br(){var e=bc.H,t=e.useState()[0];return t=\\\"function\\\"==typeof t.then?Cr(t):t,e=e.useState()[0],(null!==_m?_m.memoizedState:null)!==e&&(Dm.flags|=1024),t}function vr(){var e=0!==Mm;return Mm=0,e}function kr(e,t,n){t.updateQueue=e.updateQueue,t.flags=(t.mode&jp)!==Mp?-201328645&t.flags:-2053&t.flags,e.lanes&=~n}function wr(e){if(Om){for(e=e.memoizedState;null!==e;){var t=e.queue;null!==t&&(t.pending=null),e=e.next}Om=!1}Lm=0,Bm=Fm=_m=Dm=null,qm=-1,Vm=null,Nm=!1,Um=Mm=0,Hm=null}function Sr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Fm?Dm.memoizedState=Fm=e:Fm=Fm.next=e,Fm}function xr(){if(null===_m){var e=Dm.alternate;e=null!==e?e.memoizedState:null}else e=_m.next;var t=null===Fm?Dm.memoizedState:Fm.next;if(null!==t)Fm=t,_m=e;else{if(null===e){if(null===Dm.alternate)throw Error(\\\"Update hook called on initial render. This is likely a bug in React. Please file an issue.\\\");throw Error(\\\"Rendered more hooks than during the previous render.\\\")}e={memoizedState:(_m=e).memoizedState,baseState:_m.baseState,baseQueue:_m.baseQueue,queue:_m.queue,next:null},null===Fm?Dm.memoizedState=Fm=e:Fm=Fm.next=e}return Fm}function Cr(e){var t=Um;return Um+=1,null===Hm&&(Hm={didWarnAboutUncachedPromise:!1,thenables:[]}),e=An(Hm,e,t),t=Dm,null===(null===Fm?t.memoizedState:Fm.next)&&(t=t.alternate,bc.H=null!==t&&null!==t.memoizedState?Gm:Xm),e}function Er(e){if(null!==e&&\\\"object\\\"==typeof e){if(\\\"function\\\"==typeof e.then)return Cr(e);if(e.$$typeof===tc)return Ra(e)}throw Error(\\\"An unsupported type was passed to use(): \\\"+String(e))}function Tr(e){var t=null,n=Dm.updateQueue;if(null!==n&&(t=n.memoCache),null==t){var r=Dm.alternate;null!==r&&(null!==(r=r.updateQueue)&&(null!=(r=r.memoCache)&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(null==t&&(t={data:[],index:0}),null===n&&(n=$m(),Dm.updateQueue=n),n.memoCache=t,void 0===(n=t.data[t.index])||Qm)for(n=t.data[t.index]=Array(e),r=0;r\u003Ce;r++)n[r]=mc;else n.length!==e&&console.error(\\\"Expected a constant size argument for each invocation of useMemoCache. The previous cache was allocated with size %s but size %s was requested.\\\",n.length,e);return t.index++,n}function Pr(e,t){return\\\"function\\\"==typeof t?t(e):t}function Rr(e,t,n){var r=Sr();if(void 0!==n){var o=n(t);if(Am){Q(!0);try{n(t)}finally{Q(!1)}}}else o=t;return r.memoizedState=r.baseState=o,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:o},r.queue=e,e=e.dispatch=function(e,t,n,r){\\\"function\\\"==typeof r&&console.error(\\\"State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().\\\"),r=rl(e),n={lane:r,revertLane:0,action:n,hasEagerState:!1,eagerState:null,next:null},_o(e)?Fo(t,n):null!==(n=nn(e,t,n,r))&&(al(n,e,r),Oo(n,t,r)),J(e,r)}.bind(null,Dm,e),[r.memoizedState,e]}function zr(e){return Ir(xr(),_m,e)}function Ir(e,t,n){var r=e.queue;if(null===r)throw Error(\\\"Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)\\\");r.lastRenderedReducer=n;var o=e.baseQueue,a=r.pending;if(null!==a){if(null!==o){var i=o.next;o.next=a.next,a.next=i}t.baseQueue!==o&&console.error(\\\"Internal error: Expected work-in-progress queue to be a clone. This is a bug in React.\\\"),t.baseQueue=o=a,r.pending=null}if(a=e.baseState,null===o)e.memoizedState=a;else{var l=i=null,s=null,u=t=o.next,c=!1;do{var d=-536870913&u.lane;if(d!==u.lane?(ky&d)===d:(Lm&d)===d){var f=u.revertLane;if(0===f)null!==s&&(s=s.next={lane:0,revertLane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),d===Sm&&(c=!0);else{if((Lm&f)===f){u=u.next,f===Sm&&(c=!0);continue}d={lane:0,revertLane:u.revertLane,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},null===s?(l=s=d,i=a):s=s.next=d,Dm.lanes|=f,Ay|=f}d=u.action,Am&&n(a,d),a=u.hasEagerState?u.eagerState:n(a,d)}else f={lane:d,revertLane:u.revertLane,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},null===s?(l=s=f,i=a):s=s.next=f,Dm.lanes|=d,Ay|=d;u=u.next}while(null!==u&&u!==t);if(null===s?i=a:s.next=l,!dp(a,e.memoizedState)&&(bg=!0,c&&null!==(n=xm)))throw n;e.memoizedState=a,e.baseState=i,e.baseQueue=s,r.lastRenderedState=a}return null===o&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Lr(e){var t=xr(),n=t.queue;if(null===n)throw Error(\\\"Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)\\\");n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,a=t.memoizedState;if(null!==o){n.pending=null;var i=o=o.next;do{a=e(a,i.action),i=i.next}while(i!==o);dp(a,t.memoizedState)||(bg=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function Dr(e,t,n){var r=Dm,o=Sr();if(kh){if(void 0===n)throw Error(\\\"Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.\\\");var a=n();Em||a===n()||(console.error(\\\"The result of getServerSnapshot should be cached to avoid an infinite loop\\\"),Em=!0)}else{if(a=t(),Em||(n=t(),dp(a,n)||(console.error(\\\"The result of getSnapshot should be cached to avoid an infinite loop\\\"),Em=!0)),null===by)throw Error(\\\"Expected a work-in-progress root. This is a bug in React. Please file an issue.\\\");0!=(60&ky)||Fr(r,t,a)}return o.memoizedState=a,n={value:a,getSnapshot:t},o.queue=n,ao(Nr.bind(null,r,n,e),[e]),r.flags|=2048,to(fm|mm,Or.bind(null,r,n,a,t),{destroy:void 0},null),a}function _r(e,t,n){var r=Dm,o=xr(),a=kh;if(a){if(void 0===n)throw Error(\\\"Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.\\\");n=n()}else if(n=t(),!Em){var i=t();dp(n,i)||(console.error(\\\"The result of getSnapshot should be cached to avoid an infinite loop\\\"),Em=!0)}(i=!dp((_m||o).memoizedState,n))&&(o.memoizedState=n,bg=!0),o=o.queue;var l=Nr.bind(null,r,o,e);if(oo(2048,mm,l,[e]),o.getSnapshot!==t||i||null!==Fm&&Fm.memoizedState.tag&fm){if(r.flags|=2048,to(fm|mm,Or.bind(null,r,o,n,t),{destroy:void 0},null),null===by)throw Error(\\\"Expected a work-in-progress root. This is a bug in React. Please file an issue.\\\");a||0!=(60&Lm)||Fr(r,t,n)}return n}function Fr(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=Dm.updateQueue)?(t=$m(),Dm.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Or(e,t,n,r){t.value=n,t.getSnapshot=r,Ar(t)&&Mr(e)}function Nr(e,t,n){return n(function(){Ar(t)&&Mr(e)})}function Ar(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!dp(e,n)}catch(e){return!0}}function Mr(e){var t=rn(e,2);null!==t&&al(t,e,2)}function Ur(e){var t=Sr();if(\\\"function\\\"==typeof e){var n=e;if(e=n(),Am){Q(!0);try{n()}finally{Q(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Pr,lastRenderedState:e},t}function Hr(e){var t=(e=Ur(e)).queue,n=Io.bind(null,Dm,t);return t.dispatch=n,[e.memoizedState,n]}function Wr(e){var t=Sr();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Do.bind(null,Dm,!0,n),n.dispatch=t,[e,t]}function jr(e,t){return Vr(xr(),_m,e,t)}function Vr(e,t,n,r){return e.baseState=n,Ir(e,_m,\\\"function\\\"==typeof r?r:Pr)}function Br(e,t){var n=xr();return null!==_m?Vr(n,0,e,t):(n.baseState=e,[e,n.queue.dispatch])}function qr(e,t){var n=t.action,r=t.payload,o=e.state;if(t.isTransition){var a=bc.T,i={};bc.T=i,bc.T._updatedFibers=new Set;try{var l=n(o,r),s=bc.S;null!==s&&s(i,l),Qr(e,t,l)}catch(n){Yr(e,t,n)}finally{bc.T=a,null===a&&i._updatedFibers&&(e=i._updatedFibers.size,i._updatedFibers.clear(),10\u003Ce&&console.warn(\\\"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\\\"))}}else try{Qr(e,t,i=n(o,r))}catch(n){Yr(e,t,n)}}function Qr(e,t,n){null!==n&&\\\"object\\\"==typeof n&&\\\"function\\\"==typeof n.then?(n.then(function(n){$r(e,t,n)},function(n){return Yr(e,t,n)}),t.isTransition||console.error(\\\"An async function was passed to useActionState, but it was dispatched outside of an action context. This is likely not what you intended. Either pass the dispatch function to an `action` prop, or dispatch manually inside `startTransition`\\\")):$r(e,t,n)}function $r(e,t,n){t.status=\\\"fulfilled\\\",t.value=n,Xr(t),e.state=n,null!==(t=e.pending)&&((n=t.next)===t?e.pending=null:(n=n.next,t.next=n,qr(e,n)))}function Yr(e,t,n){var r=e.pending;if(e.pending=null,null!==r){r=r.next;do{t.status=\\\"rejected\\\",t.reason=n,Xr(t),t=t.next}while(t!==r)}e.action=null}function Xr(e){e=e.listeners;for(var t=0;t\u003Ce.length;t++)(0,e[t])()}function Kr(e,t){return t}function Gr(e,t){if(kh){var n=by.formState;if(null!==n){e:{var r=Dm;if(kh){if(vh){t:{for(var o=vh,a=Ch;8!==o.nodeType;){if(!a){o=null;break t}if(null===(o=js(o.nextSibling))){o=null;break t}}o=(a=o.data)===$b||a===Yb?o:null}if(o){vh=js(o.nextSibling),r=o.data===$b;break e}}Rn(r)}r=!1}r&&(t=n[0])}}return(n=Sr()).memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Kr,lastRenderedState:t},n.queue=r,n=Io.bind(null,Dm,r),r.dispatch=n,r=Ur(!1),a=Do.bind(null,Dm,!1,r.queue),o={state:t,dispatch:null,action:e,pending:null},(r=Sr()).queue=o,n=function(e,t,n,r,o){if(_o(e))throw Error(\\\"Cannot update form state while rendering.\\\");if(null!==(e=t.action)){var a={payload:o,action:e,next:null,isTransition:!0,status:\\\"pending\\\",value:null,reason:null,listeners:[],then:function(e){a.listeners.push(e)}};null!==bc.T?n(!0):a.isTransition=!1,r(a),null===(n=t.pending)?(a.next=t.pending=a,qr(t,a)):(a.next=n.next,t.pending=n.next=a)}}.bind(null,Dm,o,a,n),o.dispatch=n,r.memoizedState=e,[t,n,!1]}function Zr(e){return Jr(xr(),_m,e)}function Jr(e,t,n){t=Ir(e,t,Kr)[0],e=zr(Pr)[0],t=\\\"object\\\"==typeof t&&null!==t&&\\\"function\\\"==typeof t.then?Cr(t):t;var r=xr(),o=r.queue,a=o.dispatch;return n!==r.memoizedState&&(Dm.flags|=2048,to(fm|mm,function(e,t){e.action=t}.bind(null,o,n),{destroy:void 0},null)),[t,a,e]}function eo(e){var t=xr(),n=_m;if(null!==n)return Jr(t,n,e);xr(),t=t.memoizedState;var r=(n=xr()).queue.dispatch;return n.memoizedState=e,[t,r,!1]}function to(e,t,n,r){return e={tag:e,create:t,inst:n,deps:r,next:null},null===(t=Dm.updateQueue)&&(t=$m(),Dm.updateQueue=t),null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function no(e){return e={current:e},Sr().memoizedState=e}function ro(e,t,n,r){var o=Sr();Dm.flags|=e,o.memoizedState=to(fm|t,n,{destroy:void 0},void 0===r?null:r)}function oo(e,t,n,r){var o=xr();r=void 0===r?null:r;var a=o.memoizedState.inst;null!==_m&&null!==r&&hr(r,_m.memoizedState.deps)?o.memoizedState=to(t,n,a,r):(Dm.flags|=e,o.memoizedState=to(fm|t,n,a,r))}function ao(e,t){(Dm.mode&jp)!==Mp&&(Dm.mode&Vp)===Mp?ro(142608384,mm,e,t):ro(8390656,mm,e,t)}function io(e,t){var n=4194308;return(Dm.mode&jp)!==Mp&&(n|=67108864),ro(n,hm,e,t)}function lo(e,t){if(\\\"function\\\"==typeof t){e=e();var n=t(e);return function(){\\\"function\\\"==typeof n?n():t(null)}}if(null!==t&&void 0!==t)return t.hasOwnProperty(\\\"current\\\")||console.error(\\\"Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.\\\",\\\"an object with keys {\\\"+Object.keys(t).join(\\\", \\\")+\\\"}\\\"),e=e(),t.current=e,function(){t.current=null}}function so(e,t,n){\\\"function\\\"!=typeof t&&console.error(\\\"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.\\\",null!==t?typeof t:\\\"null\\\"),n=null!==n&&void 0!==n?n.concat([e]):null;var r=4194308;(Dm.mode&jp)!==Mp&&(r|=67108864),ro(r,hm,lo.bind(null,t,e),n)}function uo(e,t,n){\\\"function\\\"!=typeof t&&console.error(\\\"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.\\\",null!==t?typeof t:\\\"null\\\"),n=null!==n&&void 0!==n?n.concat([e]):null,oo(4,hm,lo.bind(null,t,e),n)}function co(e,t){return Sr().memoizedState=[e,void 0===t?null:t],e}function fo(e,t){var n=xr();t=void 0===t?null:t;var r=n.memoizedState;return null!==t&&hr(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function po(e,t){var n=Sr();t=void 0===t?null:t;var r=e();if(Am){Q(!0);try{e()}finally{Q(!1)}}return n.memoizedState=[r,t],r}function ho(e,t){var n=xr();t=void 0===t?null:t;var r=n.memoizedState;if(null!==t&&hr(t,r[1]))return r[0];if(r=e(),Am){Q(!0);try{e()}finally{Q(!1)}}return n.memoizedState=[r,t],r}function mo(e,t){return bo(Sr(),e,t)}function go(e,t){return vo(xr(),_m.memoizedState,e,t)}function yo(e,t){var n=xr();return null===_m?bo(n,e,t):vo(n,_m.memoizedState,e,t)}function bo(e,t,n){return void 0===n||0!=(1073741824&Lm)?e.memoizedState=t:(e.memoizedState=n,e=ol(),Dm.lanes|=e,Ay|=e,n)}function vo(e,t,n,r){return dp(n,t)?n:null!==om.current?(e=bo(e,n,r),dp(e,t)||(bg=!0),e):0==(42&Lm)?(bg=!0,e.memoizedState=n):(e=ol(),Dm.lanes|=e,Ay|=e,t)}function ko(e,t,n,r,o){var a=Rc.p;Rc.p=0!==a&&a\u003Csd?a:sd;var i,l,s,u=bc.T,c={};bc.T=c,Do(e,!1,t,n),c._updatedFibers=new Set;try{var d=o(),f=bc.S;if(null!==f&&f(c,d),null!==d&&\\\"object\\\"==typeof d&&\\\"function\\\"==typeof d.then)Lo(e,t,(i=r,l=[],s={status:\\\"pending\\\",value:null,reason:null,then:function(e){l.push(e)}},d.then(function(){s.status=\\\"fulfilled\\\",s.value=i;for(var e=0;e\u003Cl.length;e++)(0,l[e])(i)},function(e){for(s.status=\\\"rejected\\\",s.reason=e,e=0;e\u003Cl.length;e++)(0,l[e])(void 0)}),s),rl(e));else Lo(e,t,r,rl(e))}catch(n){Lo(e,t,{then:function(){},status:\\\"rejected\\\",reason:n},rl(e))}finally{Rc.p=a,bc.T=u,null===u&&c._updatedFibers&&(e=c._updatedFibers.size,c._updatedFibers.clear(),10\u003Ce&&console.warn(\\\"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\\\"))}}function wo(e,t,n,r){if(5!==e.tag)throw Error(\\\"Expected the form instance to be a HostComponent. This is a bug in React.\\\");var o=So(e).queue;ko(e,o,t,Iv,null===n?u:function(){return xo(e),n(r)})}function So(e){var t=e.memoizedState;if(null!==t)return t;var n={};return(t={memoizedState:Iv,baseState:Iv,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Pr,lastRenderedState:Iv},next:null}).next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Pr,lastRenderedState:n},next:null},e.memoizedState=t,null!==(e=e.alternate)&&(e.memoizedState=t),t}function xo(e){null===bc.T&&console.error(\\\"requestFormReset was called outside a transition or action. To fix, move to an action, or wrap with startTransition.\\\"),Lo(e,So(e).next.queue,{},rl(e))}function Co(){var e=Ur(!1);return e=ko.bind(null,Dm,e.queue,!0,!1),Sr().memoizedState=e,[!1,e]}function Eo(){var e=zr(Pr)[0],t=xr().memoizedState;return[\\\"boolean\\\"==typeof e?e:Cr(e),t]}function To(){var e=Lr(Pr)[0],t=xr().memoizedState;return[\\\"boolean\\\"==typeof e?e:Cr(e),t]}function Po(){return Ra(Lv)}function Ro(){var e=Sr(),t=by.identifierPrefix;if(kh){var n=yh;t=\\\":\\\"+t+\\\"R\\\"+(n=(gh&~(1\u003C\u003C32-nd(gh)-1)).toString(32)+n),0\u003C(n=Mm++)&&(t+=\\\"H\\\"+n.toString(32)),t+=\\\":\\\"}else t=\\\":\\\"+t+\\\"r\\\"+(n=Wm++).toString(32)+\\\":\\\";return e.memoizedState=t}function zo(){return Sr().memoizedState=function(e,t){for(var n=e.return;null!==n;){switch(n.tag){case 24:case 3:var r=rl(n);e=_a(r);var o=Fa(n,e,r);return null!==o&&(al(o,n,r),Oa(o,n,r)),n=nr(),null!==t&&void 0!==t&&null!==o&&console.error(\\\"The seed argument is not enabled outside experimental channels.\\\"),void(e.payload={cache:n})}n=n.return}}.bind(null,Dm)}function Io(e,t,n,r){\\\"function\\\"==typeof r&&console.error(\\\"State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().\\\"),Lo(e,t,n,r=rl(e)),J(e,r)}function Lo(e,t,n,r){var o={lane:r,revertLane:0,action:n,hasEagerState:!1,eagerState:null,next:null};if(_o(e))Fo(t,o);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer)){var i=bc.H;bc.H=eg;try{var l=t.lastRenderedState,s=a(l,n);if(o.hasEagerState=!0,o.eagerState=s,dp(s,l))return tn(e,t,o,0),null===by&&en(),!1}catch(e){}finally{bc.H=i}}if(null!==(n=nn(e,t,o,r)))return al(n,e,r),Oo(n,t,r),!0}return!1}function Do(e,t,n,r){if(null===bc.T&&0===Sm&&console.error(\\\"An optimistic state update occurred outside a transition or action. To fix, move the update to an action, or wrap with startTransition.\\\"),r={lane:2,revertLane:$l(),action:r,hasEagerState:!1,eagerState:null,next:null},_o(e)){if(t)throw Error(\\\"Cannot update optimistic state while rendering.\\\");console.error(\\\"Cannot call startTransition while rendering.\\\")}else null!==(t=nn(e,n,r,2))&&al(t,e,2);J(e,2)}function _o(e){var t=e.alternate;return e===Dm||null!==t&&t===Dm}function Fo(e,t){Nm=Om=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Oo(e,t,n){if(0!=(4194176&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,ce(e,n)}}function No(e){if(null!==e&&\\\"function\\\"!=typeof e){var t=String(e);fg.has(t)||(fg.add(t),console.error(\\\"Expected the last optional `callback` argument to be a function. Instead received: %s.\\\",e))}}function Ao(e,t,n,r){var o=e.memoizedState,a=n(r,o);if(e.mode&Wp){Q(!0);try{a=n(r,o)}finally{Q(!1)}}void 0===a&&(t=y(t)||\\\"Component\\\",sg.has(t)||(sg.add(t),console.error(\\\"%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.\\\",t))),o=null===a||void 0===a?o:vc({},o,a),e.memoizedState=o,0===e.lanes&&(e.updateQueue.baseState=o)}function Mo(e,t,n,r,o,a,i){var l=e.stateNode;if(\\\"function\\\"==typeof l.shouldComponentUpdate){if(n=l.shouldComponentUpdate(r,a,i),e.mode&Wp){Q(!0);try{n=l.shouldComponentUpdate(r,a,i)}finally{Q(!1)}}return void 0===n&&console.error(\\\"%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.\\\",y(t)||\\\"Component\\\"),n}return!t.prototype||!t.prototype.isPureReactComponent||(!Bt(n,r)||!Bt(o,a))}function Uo(e,t,n,r){var o=t.state;\\\"function\\\"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),\\\"function\\\"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==o&&(e=v(e)||\\\"Component\\\",rg.has(e)||(rg.add(e),console.error(\\\"%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.\\\",e)),pg.enqueueReplaceState(t,t.state,null))}function Ho(e,t){var n=t;if(\\\"ref\\\"in t)for(var r in n={},t)\\\"ref\\\"!==r&&(n[r]=t[r]);if(e=e.defaultProps)for(var o in n===t&&(n=vc({},n)),e)void 0===n[o]&&(n[o]=e[o]);return n}function Wo(e,t){hg(e),e=mg?\\\"An error occurred in the \u003C\\\"+mg+\\\"> component.\\\":\\\"An error occurred in one of your React components.\\\";var n=bc.getCurrentStack,r=null!=t.componentStack?t.componentStack:\\\"\\\";bc.getCurrentStack=function(){return r};try{console.warn(\\\"%s\\\\n\\\\n%s\\\\n\\\",e,\\\"Consider adding an error boundary to your tree to customize error handling behavior.\\\\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries.\\\")}finally{bc.getCurrentStack=n}}function jo(e,t){var n=mg?\\\"The above error occurred in the \u003C\\\"+mg+\\\"> component.\\\":\\\"The above error occurred in one of your React components.\\\",r=\\\"React will try to recreate this component tree from scratch using the error boundary you provided, \\\"+(gg||\\\"Anonymous\\\")+\\\".\\\",o=bc.getCurrentStack,a=null!=t.componentStack?t.componentStack:\\\"\\\";bc.getCurrentStack=function(){return a};try{\\\"object\\\"==typeof e&&null!==e&&\\\"string\\\"==typeof e.environmentName?function(e,t,n){var r=0;switch(e){case\\\"dir\\\":case\\\"dirxml\\\":case\\\"groupEnd\\\":case\\\"table\\\":return Nv.apply(console[e],[console].concat(t));case\\\"assert\\\":r=1}return\\\"string\\\"==typeof(t=t.slice(0))[r]?t.splice(r,1,Dv+t[r],_v,Ov+n+Ov,Fv):t.splice(r,0,Dv,_v,Ov+n+Ov,Fv),t.unshift(console),Nv.apply(console[e],t)}(\\\"error\\\",[\\\"%o\\\\n\\\\n%s\\\\n\\\\n%s\\\\n\\\",e,n,r],e.environmentName)():console.error(\\\"%o\\\\n\\\\n%s\\\\n\\\\n%s\\\\n\\\",e,n,r)}finally{bc.getCurrentStack=o}}function Vo(e){hg(e)}function Bo(e,t){try{mg=t.source?v(t.source):null,gg=null;var n=t.value;if(null!==bc.actQueue)bc.thrownErrors.push(n);else(0,e.onUncaughtError)(n,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function qo(e,t,n){try{mg=n.source?v(n.source):null,gg=v(t),(0,e.onCaughtError)(n.value,{componentStack:n.stack,errorBoundary:1===t.tag?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function Qo(e,t,n){return(n=_a(n)).tag=Ag,n.payload={element:null},n.callback=function(){P(t.source,Bo,e,t)},n}function $o(e){return(e=_a(e)).tag=Ag,e}function Yo(e,t,n,r){var o=n.type.getDerivedStateFromError;if(\\\"function\\\"==typeof o){var a=r.value;e.payload=function(){return o(a)},e.callback=function(){cn(n),P(r.source,qo,t,n,r)}}var i=n.stateNode;null!==i&&\\\"function\\\"==typeof i.componentDidCatch&&(e.callback=function(){cn(n),P(r.source,qo,t,n,r),\\\"function\\\"!=typeof o&&(null===Ky?Ky=new Set([this]):Ky.add(this)),Hh(this,r),\\\"function\\\"==typeof o||0==(2&n.lanes)&&console.error(\\\"%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.\\\",v(n)||\\\"Unknown\\\")})}function Xo(e,t,n,r){t.child=null===e?rm(t,null,n,r):nm(t,e.child,n,r)}function Ko(e,t,n,r,o){n=n.render;var a=t.ref;if(\\\"ref\\\"in r){var i={};for(var l in r)\\\"ref\\\"!==l&&(i[l]=r[l])}else i=r;return Pa(t),X(t),r=mr(e,t,n,i,a,o),l=vr(),K(),null===e||bg?(kh&&l&&xn(t),t.flags|=1,Xo(e,t,r,o),t.child):(kr(e,t,o),ya(e,t,o))}function Go(e,t,n,r,o){if(null===e){var a=n.type;return\\\"function\\\"!=typeof a||Ui(a)||void 0!==a.defaultProps||null!==n.compare?((e=ji(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(n=ln(a),t.tag=15,t.type=n,ia(t,a),Zo(e,t,n,r,o))}if(a=e.child,!ba(e,o)){var i=a.memoizedProps;if((n=null!==(n=n.compare)?n:Bt)(i,r)&&e.ref===t.ref)return ya(e,t,o)}return t.flags|=1,(e=Hi(a,r)).ref=t.ref,e.return=t,t.child=e}function Zo(e,t,n,r,o){if(null!==e){var a=e.memoizedProps;if(Bt(a,r)&&e.ref===t.ref&&t.type===e.type){if(bg=!1,t.pendingProps=r=a,!ba(e,o))return t.lanes=e.lanes,ya(e,t,o);0!=(131072&e.flags)&&(bg=!0)}}return na(e,t,n,r,o)}function Jo(e,t,n){var r=t.pendingProps,o=r.children,a=0!=(t.stateNode._pendingVisibility&Ip),i=null!==e?e.memoizedState:null;if(ta(e,t),\\\"hidden\\\"===r.mode||a){if(0!=(128&t.flags)){if(r=null!==i?i.baseLanes|n:n,null!==e){for(o=t.child=e.child,a=0;null!==o;)a=a|o.lanes|o.childLanes,o=o.sibling;t.childLanes=a&~r}else t.childLanes=0,t.child=null;return ea(e,t,r,n)}if(0==(536870912&n))return t.lanes=t.childLanes=536870912,ea(e,t,null!==i?i.baseLanes|n:n,n);t.memoizedState={baseLanes:0,cachePool:null},null!==e&&lr(t,null!==i?i.cachePool:null),null!==i?Yn(t,i):Xn(t),Zn(t)}else null!==i?(lr(t,i.cachePool),Yn(t,i),Jn(t),t.memoizedState=null):(null!==e&&lr(t,null),Xn(t),Jn(t));return Xo(e,t,o,n),t.child}function ea(e,t,n,r){var o=ir();return o=null===o?null:{parent:vm._currentValue,pool:o},t.memoizedState={baseLanes:n,cachePool:o},null!==e&&lr(t,null),Xn(t),Zn(t),null!==e&&Ea(e,t,r,!0),null}function ta(e,t){var n=t.ref;if(null===n)null!==e&&null!==e.ref&&(t.flags|=2097664);else{if(\\\"function\\\"!=typeof n&&\\\"object\\\"!=typeof n)throw Error(\\\"Expected ref to be a function, an object returned by React.createRef(), or undefined/null.\\\");null!==e&&e.ref===n||(t.flags|=2097664)}}function na(e,t,n,r,o){if(n.prototype&&\\\"function\\\"==typeof n.prototype.render){var a=y(n)||\\\"Unknown\\\";vg[a]||(console.error(\\\"The \u003C%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.\\\",a,a),vg[a]=!0)}return t.mode&Wp&&Gp.recordLegacyContextWarning(t,null),null===e&&(ia(t,t.type),n.contextTypes&&(a=y(n)||\\\"Unknown\\\",wg[a]||(wg[a]=!0,console.error(\\\"%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with React.useContext() instead. (https://react.dev/link/legacy-context)\\\",a)))),Pa(t),X(t),n=mr(e,t,n,r,void 0,o),r=vr(),K(),null===e||bg?(kh&&r&&xn(t),t.flags|=1,Xo(e,t,n,o),t.child):(kr(e,t,o),ya(e,t,o))}function ra(e,t,n,r,o,a){return Pa(t),X(t),qm=-1,Qm=null!==e&&e.type!==t.type,t.updateQueue=null,n=yr(t,r,n,o),gr(e,t),r=vr(),K(),null===e||bg?(kh&&r&&xn(t),t.flags|=1,Xo(e,t,n,a),t.child):(kr(e,t,a),ya(e,t,a))}function oa(e,t,n,r,o){switch(a(t)){case!1:var i=t.stateNode,l=new t.type(t.memoizedProps,i.context).state;i.updater.enqueueSetState(i,l,null);break;case!0:t.flags|=128,t.flags|=65536,i=Error(\\\"Simulated error coming from DevTools\\\");var s=o&-o;if(t.lanes|=s,null===(l=by))throw Error(\\\"Expected a work-in-progress root. This is a bug in React. Please file an issue.\\\");Yo(s=$o(s),l,t,kn(i,t)),Na(t,s)}if(Pa(t),null===t.stateNode){if(l=Op,i=n.contextType,\\\"contextType\\\"in n&&null!==i&&(void 0===i||i.$$typeof!==tc)&&!dg.has(n)&&(dg.add(n),s=void 0===i?\\\" However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file.\\\":\\\"object\\\"!=typeof i?\\\" However, it is set to a \\\"+typeof i+\\\".\\\":i.$$typeof===ec?\\\" Did you accidentally pass the Context.Consumer instead?\\\":\\\" However, it is set to an object with keys {\\\"+Object.keys(i).join(\\\", \\\")+\\\"}.\\\",console.error(\\\"%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s\\\",y(n)||\\\"Component\\\",s)),\\\"object\\\"==typeof i&&null!==i&&(l=Ra(i)),i=new n(r,l),t.mode&Wp){Q(!0);try{i=new n(r,l)}finally{Q(!1)}}if(l=t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,i.updater=pg,t.stateNode=i,i._reactInternals=t,i._reactInternalInstance=ng,\\\"function\\\"==typeof n.getDerivedStateFromProps&&null===l&&(l=y(n)||\\\"Component\\\",og.has(l)||(og.add(l),console.error(\\\"`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.\\\",l,null===i.state?\\\"null\\\":\\\"undefined\\\",l))),\\\"function\\\"==typeof n.getDerivedStateFromProps||\\\"function\\\"==typeof i.getSnapshotBeforeUpdate){var u=s=l=null;if(\\\"function\\\"==typeof i.componentWillMount&&!0!==i.componentWillMount.__suppressDeprecationWarning?l=\\\"componentWillMount\\\":\\\"function\\\"==typeof i.UNSAFE_componentWillMount&&(l=\\\"UNSAFE_componentWillMount\\\"),\\\"function\\\"==typeof i.componentWillReceiveProps&&!0!==i.componentWillReceiveProps.__suppressDeprecationWarning?s=\\\"componentWillReceiveProps\\\":\\\"function\\\"==typeof i.UNSAFE_componentWillReceiveProps&&(s=\\\"UNSAFE_componentWillReceiveProps\\\"),\\\"function\\\"==typeof i.componentWillUpdate&&!0!==i.componentWillUpdate.__suppressDeprecationWarning?u=\\\"componentWillUpdate\\\":\\\"function\\\"==typeof i.UNSAFE_componentWillUpdate&&(u=\\\"UNSAFE_componentWillUpdate\\\"),null!==l||null!==s||null!==u){i=y(n)||\\\"Component\\\";var c=\\\"function\\\"==typeof n.getDerivedStateFromProps?\\\"getDerivedStateFromProps()\\\":\\\"getSnapshotBeforeUpdate()\\\";ig.has(i)||(ig.add(i),console.error(\\\"Unsafe legacy lifecycles will not be called for components using new component APIs.\\\\n\\\\n%s uses %s but also contains the following legacy lifecycles:%s%s%s\\\\n\\\\nThe above lifecycles should be removed. Learn more about this warning here:\\\\nhttps://react.dev/link/unsafe-component-lifecycles\\\",i,c,null!==l?\\\"\\\\n \\\"+l:\\\"\\\",null!==s?\\\"\\\\n \\\"+s:\\\"\\\",null!==u?\\\"\\\\n \\\"+u:\\\"\\\"))}}i=t.stateNode,l=y(n)||\\\"Component\\\",i.render||(n.prototype&&\\\"function\\\"==typeof n.prototype.render?console.error(\\\"No `render` method found on the %s instance: did you accidentally return an object from the constructor?\\\",l):console.error(\\\"No `render` method found on the %s instance: you may have forgotten to define `render`.\\\",l)),!i.getInitialState||i.getInitialState.isReactClassApproved||i.state||console.error(\\\"getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?\\\",l),i.getDefaultProps&&!i.getDefaultProps.isReactClassApproved&&console.error(\\\"getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.\\\",l),i.contextType&&console.error(\\\"contextType was defined as an instance property on %s. Use a static property to define contextType instead.\\\",l),n.childContextTypes&&!cg.has(n)&&(cg.add(n),console.error(\\\"%s uses the legacy childContextTypes API which was removed in React 19. Use React.createContext() instead. (https://react.dev/link/legacy-context)\\\",l)),n.contextTypes&&!ug.has(n)&&(ug.add(n),console.error(\\\"%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with static contextType instead. (https://react.dev/link/legacy-context)\\\",l)),\\\"function\\\"==typeof i.componentShouldUpdate&&console.error(\\\"%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.\\\",l),n.prototype&&n.prototype.isPureReactComponent&&void 0!==i.shouldComponentUpdate&&console.error(\\\"%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.\\\",y(n)||\\\"A pure component\\\"),\\\"function\\\"==typeof i.componentDidUnmount&&console.error(\\\"%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?\\\",l),\\\"function\\\"==typeof i.componentDidReceiveProps&&console.error(\\\"%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().\\\",l),\\\"function\\\"==typeof i.componentWillRecieveProps&&console.error(\\\"%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?\\\",l),\\\"function\\\"==typeof i.UNSAFE_componentWillRecieveProps&&console.error(\\\"%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?\\\",l),s=i.props!==r,void 0!==i.props&&s&&console.error(\\\"When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.\\\",l),i.defaultProps&&console.error(\\\"Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.\\\",l,l),\\\"function\\\"!=typeof i.getSnapshotBeforeUpdate||\\\"function\\\"==typeof i.componentDidUpdate||ag.has(n)||(ag.add(n),console.error(\\\"%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.\\\",y(n))),\\\"function\\\"==typeof i.getDerivedStateFromProps&&console.error(\\\"%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.\\\",l),\\\"function\\\"==typeof i.getDerivedStateFromError&&console.error(\\\"%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.\\\",l),\\\"function\\\"==typeof n.getSnapshotBeforeUpdate&&console.error(\\\"%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.\\\",l),(s=i.state)&&(\\\"object\\\"!=typeof s||Pc(s))&&console.error(\\\"%s.state: must be set to an object or null\\\",l),\\\"function\\\"==typeof i.getChildContext&&\\\"object\\\"!=typeof n.childContextTypes&&console.error(\\\"%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().\\\",l),(i=t.stateNode).props=r,i.state=t.memoizedState,i.refs={},La(t),l=n.contextType,i.context=\\\"object\\\"==typeof l&&null!==l?Ra(l):Op,i.state===r&&(l=y(n)||\\\"Component\\\",lg.has(l)||(lg.add(l),console.error(\\\"%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.\\\",l))),t.mode&Wp&&Gp.recordLegacyContextWarning(t,i),Gp.recordUnsafeLifecycleWarnings(t,i),i.state=t.memoizedState,\\\"function\\\"==typeof(l=n.getDerivedStateFromProps)&&(Ao(t,n,l,r),i.state=t.memoizedState),\\\"function\\\"==typeof n.getDerivedStateFromProps||\\\"function\\\"==typeof i.getSnapshotBeforeUpdate||\\\"function\\\"!=typeof i.UNSAFE_componentWillMount&&\\\"function\\\"!=typeof i.componentWillMount||(l=i.state,\\\"function\\\"==typeof i.componentWillMount&&i.componentWillMount(),\\\"function\\\"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),l!==i.state&&(console.error(\\\"%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.\\\",v(t)||\\\"Component\\\"),pg.enqueueReplaceState(i,i.state,null)),Ma(t,r,i,o),Aa(),i.state=t.memoizedState),\\\"function\\\"==typeof i.componentDidMount&&(t.flags|=4194308),(t.mode&jp)!==Mp&&(t.flags|=67108864),i=!0}else if(null===e){i=t.stateNode;var d=t.memoizedProps;s=Ho(n,d),i.props=s;var f=i.context;u=n.contextType,l=Op,\\\"object\\\"==typeof u&&null!==u&&(l=Ra(u)),u=\\\"function\\\"==typeof(c=n.getDerivedStateFromProps)||\\\"function\\\"==typeof i.getSnapshotBeforeUpdate,d=t.pendingProps!==d,u||\\\"function\\\"!=typeof i.UNSAFE_componentWillReceiveProps&&\\\"function\\\"!=typeof i.componentWillReceiveProps||(d||f!==l)&&Uo(t,i,r,l),Mg=!1;var p=t.memoizedState;i.state=p,Ma(t,r,i,o),Aa(),f=t.memoizedState,d||p!==f||Mg?(\\\"function\\\"==typeof c&&(Ao(t,n,c,r),f=t.memoizedState),(s=Mg||Mo(t,n,s,r,p,f,l))?(u||\\\"function\\\"!=typeof i.UNSAFE_componentWillMount&&\\\"function\\\"!=typeof i.componentWillMount||(\\\"function\\\"==typeof i.componentWillMount&&i.componentWillMount(),\\\"function\\\"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),\\\"function\\\"==typeof i.componentDidMount&&(t.flags|=4194308),(t.mode&jp)!==Mp&&(t.flags|=67108864)):(\\\"function\\\"==typeof i.componentDidMount&&(t.flags|=4194308),(t.mode&jp)!==Mp&&(t.flags|=67108864),t.memoizedProps=r,t.memoizedState=f),i.props=r,i.state=f,i.context=l,i=s):(\\\"function\\\"==typeof i.componentDidMount&&(t.flags|=4194308),(t.mode&jp)!==Mp&&(t.flags|=67108864),i=!1)}else{i=t.stateNode,Da(e,t),u=Ho(n,l=t.memoizedProps),i.props=u,c=t.pendingProps,p=i.context,f=n.contextType,s=Op,\\\"object\\\"==typeof f&&null!==f&&(s=Ra(f)),(f=\\\"function\\\"==typeof(d=n.getDerivedStateFromProps)||\\\"function\\\"==typeof i.getSnapshotBeforeUpdate)||\\\"function\\\"!=typeof i.UNSAFE_componentWillReceiveProps&&\\\"function\\\"!=typeof i.componentWillReceiveProps||(l!==c||p!==s)&&Uo(t,i,r,s),Mg=!1,p=t.memoizedState,i.state=p,Ma(t,r,i,o),Aa();var h=t.memoizedState;l!==c||p!==h||Mg||null!==e&&null!==e.dependencies&&Ta(e.dependencies)?(\\\"function\\\"==typeof d&&(Ao(t,n,d,r),h=t.memoizedState),(u=Mg||Mo(t,n,u,r,p,h,s)||null!==e&&null!==e.dependencies&&Ta(e.dependencies))?(f||\\\"function\\\"!=typeof i.UNSAFE_componentWillUpdate&&\\\"function\\\"!=typeof i.componentWillUpdate||(\\\"function\\\"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,h,s),\\\"function\\\"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,h,s)),\\\"function\\\"==typeof i.componentDidUpdate&&(t.flags|=4),\\\"function\\\"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):(\\\"function\\\"!=typeof i.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),\\\"function\\\"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=h),i.props=r,i.state=h,i.context=s,i=u):(\\\"function\\\"!=typeof i.componentDidUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),\\\"function\\\"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),i=!1)}if(s=i,ta(e,t),l=0!=(128&t.flags),s||l){if(s=t.stateNode,bc.getCurrentStack=null===t?null:T,Tc=!1,Ec=t,l&&\\\"function\\\"!=typeof n.getDerivedStateFromError)n=null,$p=-1;else{if(X(t),n=Fh(s),t.mode&Wp){Q(!0);try{Fh(s)}finally{Q(!1)}}K()}t.flags|=1,null!==e&&l?(t.child=nm(t,e.child,null,o),t.child=nm(t,null,n,o)):Xo(e,t,n,o),t.memoizedState=s.state,e=t.child}else e=ya(e,t,o);return o=t.stateNode,i&&o.props!==r&&(xg||console.error(\\\"It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.\\\",v(t)||\\\"a component\\\"),xg=!0),e}function aa(e,t,n,r){return Dn(),t.flags|=256,Xo(e,t,n,r),t.child}function ia(e,t){t&&t.childContextTypes&&console.error(\\\"childContextTypes cannot be defined on a function component.\\\\n %s.childContextTypes = ...\\\",t.displayName||t.name||\\\"Component\\\"),\\\"function\\\"==typeof t.getDerivedStateFromProps&&(e=y(t)||\\\"Unknown\\\",Sg[e]||(console.error(\\\"%s: Function components do not support getDerivedStateFromProps.\\\",e),Sg[e]=!0)),\\\"object\\\"==typeof t.contextType&&null!==t.contextType&&(t=y(t)||\\\"Unknown\\\",kg[t]||(console.error(\\\"%s: Function components do not support contextType.\\\",t),kg[t]=!0))}function la(e){return{baseLanes:e,cachePool:sr()}}function sa(e,t,n){return e=null!==e?e.childLanes&~n:0,t&&(e|=Hy),e}function ua(e,t,n){var r,a=t.pendingProps;o(t)&&(t.flags|=128);var l=!1,s=0!=(128&t.flags);if((r=s)||(r=(null===e||null!==e.memoizedState)&&0!=(cm.current&um)),r&&(l=!0,t.flags&=-129),r=0!=(32&t.flags),t.flags&=-33,null===e){if(kh){if(l?Gn(t):Jn(t),kh){var u,c=vh;if(!(u=!c)){e:{var d=c;for(u=Ch;8!==d.nodeType;){if(!u){u=null;break e}if(null===(d=js(d.nextSibling))){u=null;break e}}u=d}null!==u?(En(),t.memoizedState={dehydrated:u,treeContext:null!==mh?{id:gh,overflow:yh}:null,retryLane:536870912},(d=i(18,null,null,Mp)).stateNode=u,d.return=t,t.child=d,bh=t,vh=null,u=!0):u=!1,u=!u}u&&(Pn(t,c),Rn(t))}if(null!==(c=t.memoizedState)&&null!==(c=c.dehydrated))return c.data===Qb?t.lanes=16:t.lanes=536870912,null;er(t)}return c=a.children,a=a.fallback,l?(Jn(t),c=da({mode:\\\"hidden\\\",children:c},l=t.mode),a=Bi(a,l,n,null),c.return=t,a.return=t,c.sibling=a,t.child=c,(l=t.child).memoizedState=la(n),l.childLanes=sa(e,r,n),t.memoizedState=Tg,a):(Gn(t),ca(t,c))}var f=e.memoizedState;if(null!==f&&null!==(c=f.dehydrated)){if(s)256&t.flags?(Gn(t),t.flags&=-257,t=fa(e,t,n)):null!==t.memoizedState?(Jn(t),t.child=e.child,t.flags|=128,t=null):(Jn(t),l=a.fallback,c=t.mode,a=da({mode:\\\"visible\\\",children:a.children},c),(l=Bi(l,c,n,null)).flags|=2,a.return=t,l.return=t,a.sibling=l,t.child=a,nm(t,e.child,null,n),(a=t.child).memoizedState=la(n),a.childLanes=sa(e,r,n),t.memoizedState=Tg,t=l);else if(Gn(t),kh&&console.error(\\\"We should not be hydrating here. This is a bug in React. Please file a bug.\\\"),c.data===Qb){if(r=c.nextSibling&&c.nextSibling.dataset){u=r.dgst;var p=r.msg;d=r.stck;var h=r.cstck}r=u,a=d,u=l=h,(l=(c=p)?Error(c):Error(\\\"The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering.\\\")).stack=a||\\\"\\\",l.digest=r,a={value:l,source:null,stack:r=void 0===u?null:u},\\\"string\\\"==typeof r&&sh.set(l,a),_n(a),t=fa(e,t,n)}else if(bg||Ea(e,t,n,!1),r=0!=(n&e.childLanes),bg||r){if(null!==(r=by)){if(0!=(42&(a=n&-n)))a=1;else switch(a){case 2:a=1;break;case 8:a=4;break;case 32:a=16;break;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:a=64;break;case 268435456:a=134217728;break;default:a=0}if(0!==(a=0!=(a&(r.suspendedLanes|n))?0:a)&&a!==f.retryLane)throw f.retryLane=a,rn(e,a),al(r,e,a),yg}c.data===qb||yl(),t=fa(e,t,n)}else c.data===qb?(t.flags|=128,t.child=e.child,t=function(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Fl(e,n)}.bind(null,e),c._reactRetry=t,t=null):(e=f.treeContext,vh=js(c.nextSibling),bh=t,kh=!0,xh=null,wh=!1,Sh=null,Ch=!1,null!==e&&(En(),ph[hh++]=gh,ph[hh++]=yh,ph[hh++]=mh,gh=e.id,yh=e.overflow,mh=t),(t=ca(t,a.children)).flags|=4096);return t}return l?(Jn(t),l=a.fallback,c=t.mode,d=(u=e.child).sibling,(a=Hi(u,{mode:\\\"hidden\\\",children:a.children})).subtreeFlags=31457280&u.subtreeFlags,null!==d?l=Hi(d,l):(l=Bi(l,c,n,null)).flags|=2,l.return=t,a.return=t,a.sibling=l,t.child=a,a=l,l=t.child,null===(c=e.child.memoizedState)?c=la(n):(null!==(u=c.cachePool)?(d=vm._currentValue,u=u.parent!==d?{parent:d,pool:d}:u):u=sr(),c={baseLanes:c.baseLanes|n,cachePool:u}),l.memoizedState=c,l.childLanes=sa(e,r,n),t.memoizedState=Tg,a):(Gn(t),e=(n=e.child).sibling,(n=Hi(n,{mode:\\\"visible\\\",children:a.children})).return=t,n.sibling=null,null!==e&&(null===(r=t.deletions)?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function ca(e,t){return(t=da({mode:\\\"visible\\\",children:t},e.mode)).return=e,e.child=t}function da(e,t){return qi(e,t,0,null)}function fa(e,t,n){return nm(t,e.child,null,n),(e=ca(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function pa(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),xa(e.return,t,n)}function ha(e,t){var n=Pc(e);return e=!n&&\\\"function\\\"==typeof g(e),!n&&!e||(n=n?\\\"array\\\":\\\"iterable\\\",console.error(\\\"A nested %s was passed to row #%s in \u003CSuspenseList />. Wrap it in an additional SuspenseList to configure its revealOrder: \u003CSuspenseList revealOrder=...> ... \u003CSuspenseList revealOrder=...>{%s}\u003C/SuspenseList> ... \u003C/SuspenseList>\\\",n,t,n),!1)}function ma(e,t,n,r,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=o)}function ga(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;if(r=r.children,void 0!==o&&\\\"forwards\\\"!==o&&\\\"backwards\\\"!==o&&\\\"together\\\"!==o&&!Cg[o])if(Cg[o]=!0,\\\"string\\\"==typeof o)switch(o.toLowerCase()){case\\\"together\\\":case\\\"forwards\\\":case\\\"backwards\\\":console.error('\\\"%s\\\" is not a valid value for revealOrder on \u003CSuspenseList />. Use lowercase \\\"%s\\\" instead.',o,o.toLowerCase());break;case\\\"forward\\\":case\\\"backward\\\":console.error('\\\"%s\\\" is not a valid value for revealOrder on \u003CSuspenseList />. React uses the -s suffix in the spelling. Use \\\"%ss\\\" instead.',o,o.toLowerCase());break;default:console.error('\\\"%s\\\" is not a supported revealOrder on \u003CSuspenseList />. Did you mean \\\"together\\\", \\\"forwards\\\" or \\\"backwards\\\"?',o)}else console.error('%s is not a supported value for revealOrder on \u003CSuspenseList />. Did you mean \\\"together\\\", \\\"forwards\\\" or \\\"backwards\\\"?',o);void 0===a||Eg[a]||(\\\"collapsed\\\"!==a&&\\\"hidden\\\"!==a?(Eg[a]=!0,console.error('\\\"%s\\\" is not a supported value for tail on \u003CSuspenseList />. Did you mean \\\"collapsed\\\" or \\\"hidden\\\"?',a)):\\\"forwards\\\"!==o&&\\\"backwards\\\"!==o&&(Eg[a]=!0,console.error('\u003CSuspenseList tail=\\\"%s\\\" /> is only valid if revealOrder is \\\"forwards\\\" or \\\"backwards\\\". Did you mean to specify revealOrder=\\\"forwards\\\"?',a)));e:if((\\\"forwards\\\"===o||\\\"backwards\\\"===o)&&void 0!==r&&null!==r&&!1!==r)if(Pc(r)){for(var i=0;i\u003Cr.length;i++)if(!ha(r[i],i))break e}else if(i=g(r),\\\"function\\\"==typeof i){if(i=i.call(r))for(var l=i.next(),s=0;!l.done;l=i.next()){if(!ha(l.value,s))break e;s++}}else console.error('A single row was passed to a \u003CSuspenseList revealOrder=\\\"%s\\\" />. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?',o);if(Xo(e,t,r,n),0!=((r=cm.current)&um))r=r&sm|um,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&pa(e,n,t);else if(19===e.tag)pa(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=sm}switch(_(cm,r,t),o){case\\\"forwards\\\":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===tr(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),ma(t,!1,o,n,a);break;case\\\"backwards\\\":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===tr(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}ma(t,!0,n,null,a);break;case\\\"together\\\":ma(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function ya(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),$p=-1,Ay|=t.lanes,0==(n&t.childLanes)){if(null===e)return null;if(Ea(e,t,n,!1),0==(n&t.childLanes))return null}if(null!==e&&t.child!==e.child)throw Error(\\\"Resuming work not yet implemented.\\\");if(null!==t.child){for(n=Hi(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Hi(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function ba(e,t){return 0!=(e.lanes&t)||!(null===(e=e.dependencies)||!Ta(e))}function va(e,t,n){if(t._debugNeedsRemount&&null!==e){n=ji(t.type,t.key,t.pendingProps,t._debugOwner||null,t.mode,t.lanes);var r=t.return;if(null===r)throw Error(\\\"Cannot swap the root fiber.\\\");if(e.alternate=null,t.alternate=null,n.index=t.index,n.sibling=t.sibling,n.return=t.return,n.ref=t.ref,n._debugInfo=t._debugInfo,t===r.child)r.child=n;else{var o=r.child;if(null===o)throw Error(\\\"Expected parent to have a child.\\\");for(;o.sibling!==t;)if(null===(o=o.sibling))throw Error(\\\"Expected to find the previous sibling.\\\");o.sibling=n}return null===(t=r.deletions)?(r.deletions=[e],r.flags|=16):t.push(e),n.flags|=2,n}if(null!==e)if(e.memoizedProps!==t.pendingProps||t.type!==e.type)bg=!0;else{if(!ba(e,n)&&0==(128&t.flags))return bg=!1,function(e,t,n){switch(t.tag){case 3:O(t,t.stateNode.containerInfo),wa(t,vm,e.memoizedState.cache),Dn();break;case 27:case 5:M(t);break;case 4:O(t,t.stateNode.containerInfo);break;case 10:wa(t,t.type,t.memoizedProps.value);break;case 12:0!=(n&t.childLanes)&&(t.flags|=4),t.flags|=2048;var r=t.stateNode;r.effectDuration=-0,r.passiveEffectDuration=-0;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Gn(t),t.flags|=128,null):0!=(n&t.child.childLanes)?ua(e,t,n):(Gn(t),null!==(e=ya(e,t,n))?e.sibling:null);Gn(t);break;case 19:var o=0!=(128&e.flags);if((r=0!=(n&t.childLanes))||(Ea(e,t,n,!1),r=0!=(n&t.childLanes)),o){if(r)return ga(e,t,n);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),_(cm,cm.current,t),r)break;return null;case 22:case 23:return t.lanes=0,Jo(e,t,n);case 24:wa(t,vm,e.memoizedState.cache)}return ya(e,t,n)}(e,t,n);bg=0!=(131072&e.flags)}else bg=!1,(r=kh)&&(En(),r=0!=(1048576&t.flags)),r&&(r=t.index,En(),Sn(t,fh,r));switch(t.lanes=0,t.tag){case 16:e:{if(r=t.pendingProps,e=Yh(t.elementType),t.type=e,\\\"function\\\"!=typeof e){if(void 0!==e&&null!==e){if((o=e.$$typeof)===nc){t.tag=11,t.type=e=sn(e),t=Ko(null,t,e,r,n);break e}if(o===ac){t.tag=14,t=Go(null,t,e,r,n);break e}}throw t=\\\"\\\",null!==e&&\\\"object\\\"==typeof e&&e.$$typeof===ic&&(t=\\\" Did you wrap a component in React.lazy() more than once?\\\"),e=y(e)||e,Error(\\\"Element type is invalid. Received a promise that resolves to: \\\"+e+\\\". Lazy element type must resolve to a class or function.\\\"+t)}Ui(e)?(r=Ho(e,r),t.tag=1,t.type=e=ln(e),t=oa(null,t,e,r,n)):(t.tag=0,ia(t,e),t.type=e=ln(e),t=na(null,t,e,r,n))}return t;case 0:return na(e,t,t.type,t.pendingProps,n);case 1:return oa(e,t,r=t.type,o=Ho(r,t.pendingProps),n);case 3:e:{if(O(t,t.stateNode.containerInfo),null===e)throw Error(\\\"Should have a current fiber. This is a bug in React.\\\");var a=t.pendingProps;r=(o=t.memoizedState).element,Da(e,t),Ma(t,a,null,n);var i=t.memoizedState;if(a=i.cache,wa(t,vm,a),a!==o.cache&&Ca(t,[vm],n,!0),Aa(),a=i.element,o.isDehydrated){if(o={element:a,isDehydrated:!1,cache:i.cache},t.updateQueue.baseState=o,t.memoizedState=o,256&t.flags){t=aa(e,t,a,n);break e}if(a!==r){_n(r=kn(Error(\\\"This root received an early update, before anything was able hydrate. Switched the entire root to client rendering.\\\"),t)),t=aa(e,t,a,n);break e}for(vh=js(t.stateNode.containerInfo.firstChild),bh=t,kh=!0,xh=null,wh=!1,Sh=null,Ch=!0,e=rm(t,null,a,n),t.child=e;e;)e.flags=-3&e.flags|4096,e=e.sibling}else{if(Dn(),a===r){t=ya(e,t,n);break e}Xo(e,t,a,n)}t=t.child}return t;case 26:return ta(e,t),null===e?(e=Js(t.type,null,t.pendingProps,null))?t.memoizedState=e:kh||(e=t.type,n=t.pendingProps,(r=Es(r=F(Oc.current)).createElement(e))[fd]=t,r[pd]=n,ms(r,e,n),ke(r),t.stateNode=r):t.memoizedState=Js(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return M(t),null===e&&kh&&(o=F(Oc.current),r=A(),o=t.stateNode=Xs(t.type,t.pendingProps,o,r,!1),wh||null!==(r=Cs(o,t.type,t.pendingProps,r))&&(Tn(t,0).serverProps=r),bh=t,Ch=!0,vh=js(o.firstChild)),r=t.pendingProps.children,null!==e||kh?Xo(e,t,r,n):t.child=nm(t,null,r,n),ta(e,t),t.child;case 5:return null===e&&kh&&(a=A(),r=ct(t.type,a.ancestorInfo),(i=!(o=vh))||(null!==(i=function(e,t,n,r){for(;1===e.nodeType;){var o=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(\\\"INPUT\\\"!==e.nodeName||\\\"hidden\\\"!==e.type))break}else if(r){if(!e[vd])switch(t){case\\\"meta\\\":if(!e.hasAttribute(\\\"itemprop\\\"))break;return e;case\\\"link\\\":if(\\\"stylesheet\\\"===(a=e.getAttribute(\\\"rel\\\"))&&e.hasAttribute(\\\"data-precedence\\\"))break;if(a!==o.rel||e.getAttribute(\\\"href\\\")!==(null==o.href?null:o.href)||e.getAttribute(\\\"crossorigin\\\")!==(null==o.crossOrigin?null:o.crossOrigin)||e.getAttribute(\\\"title\\\")!==(null==o.title?null:o.title))break;return e;case\\\"style\\\":if(e.hasAttribute(\\\"data-precedence\\\"))break;return e;case\\\"script\\\":if(((a=e.getAttribute(\\\"src\\\"))!==(null==o.src?null:o.src)||e.getAttribute(\\\"type\\\")!==(null==o.type?null:o.type)||e.getAttribute(\\\"crossorigin\\\")!==(null==o.crossOrigin?null:o.crossOrigin))&&a&&e.hasAttribute(\\\"async\\\")&&!e.hasAttribute(\\\"itemprop\\\"))break;return e;default:return e}}else{if(\\\"input\\\"!==t||\\\"hidden\\\"!==e.type)return e;V(o.name,\\\"name\\\");var a=null==o.name?null:\\\"\\\"+o.name;if(\\\"hidden\\\"===o.type&&e.getAttribute(\\\"name\\\")===a)return e}if(null===(e=js(e.nextSibling)))break}return null}(o,t.type,t.pendingProps,Ch))?(t.stateNode=i,wh||null!==(a=Cs(i,t.type,t.pendingProps,a))&&(Tn(t,0).serverProps=a),bh=t,vh=js(i.firstChild),Ch=!1,a=!0):a=!1,i=!a),i&&(r&&Pn(t,o),Rn(t))),M(t),o=t.type,a=t.pendingProps,i=null!==e?e.memoizedProps:null,r=a.children,Rs(o,a)?r=null:null!==i&&Rs(o,i)&&(t.flags|=32),null!==t.memoizedState&&(o=mr(e,t,br,null,null,n),Lv._currentValue=o),ta(e,t),Xo(e,t,r,n),t.child;case 6:return null===e&&kh&&(e=t.pendingProps,e=null==(n=A().ancestorInfo.current)||dt(e,n.tag),(r=!(n=vh))||(null!==(r=function(e,t,n){if(\\\"\\\"===t)return null;for(;3!==e.nodeType;){if((1!==e.nodeType||\\\"INPUT\\\"!==e.nodeName||\\\"hidden\\\"!==e.type)&&!n)return null;if(null===(e=js(e.nextSibling)))return null}return e}(n,t.pendingProps,Ch))?(t.stateNode=r,bh=t,vh=null,r=!0):r=!1,r=!r),r&&(e&&Pn(t,n),Rn(t))),null;case 13:return ua(e,t,n);case 4:return O(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=nm(t,null,r,n):Xo(e,t,r,n),t.child;case 11:return Ko(e,t,t.type,t.pendingProps,n);case 7:return Xo(e,t,t.pendingProps,n),t.child;case 8:return Xo(e,t,t.pendingProps.children,n),t.child;case 12:return t.flags|=4,t.flags|=2048,(r=t.stateNode).effectDuration=-0,r.passiveEffectDuration=-0,Xo(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.type,a=(o=t.pendingProps).value,\\\"value\\\"in o||Pg||(Pg=!0,console.error(\\\"The `value` prop is required for the `\u003CContext.Provider>`. Did you misspell it or forget to pass it?\\\")),wa(t,r,a),Xo(e,t,o.children,n),t.child;case 9:return o=t.type._context,\\\"function\\\"!=typeof(r=t.pendingProps.children)&&console.error(\\\"A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it.\\\"),Pa(t),o=Ra(o),X(t),r=Dh(r,o,void 0),K(),t.flags|=1,Xo(e,t,r,n),t.child;case 14:return Go(e,t,t.type,t.pendingProps,n);case 15:return Zo(e,t,t.type,t.pendingProps,n);case 19:return ga(e,t,n);case 22:return Jo(e,t,n);case 24:return Pa(t),r=Ra(vm),null===e?(null===(o=ir())&&(o=by,a=nr(),o.pooledCache=a,rr(a),null!==a&&(o.pooledCacheLanes|=n),o=a),t.memoizedState={parent:r,cache:o},La(t),wa(t,vm,o)):(0!=(e.lanes&n)&&(Da(e,t),Ma(t,null,null,n),Aa()),o=e.memoizedState,a=t.memoizedState,o.parent!==r?(o={parent:r,cache:r},t.memoizedState=o,0===t.lanes&&(t.memoizedState=t.updateQueue.baseState=o),wa(t,vm,r)):(r=a.cache,wa(t,vm,r),r!==o.cache&&Ca(t,[vm],n,!0))),Xo(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(\\\"Unknown unit of work tag (\\\"+t.tag+\\\"). This error is likely caused by a bug in React. Please file an issue.\\\")}function ka(){Dg=Lg=null,_g=!1}function wa(e,t,n){_(Rg,t._currentValue,e),t._currentValue=n,_(zg,t._currentRenderer,e),void 0!==t._currentRenderer&&null!==t._currentRenderer&&t._currentRenderer!==Ig&&console.error(\\\"Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported.\\\"),t._currentRenderer=Ig}function Sa(e,t){e._currentValue=Rg.current;var n=zg.current;D(zg,t),e._currentRenderer=n,D(Rg,t)}function xa(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}e!==n&&console.error(\\\"Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue.\\\")}function Ca(e,t,n,r){var o=e.child;for(null!==o&&(o.return=e);null!==o;){var a=o.dependencies;if(null!==a){var i=o.child;a=a.firstContext;e:for(;null!==a;){var l=a;a=o;for(var s=0;s\u003Ct.length;s++)if(l.context===t[s]){a.lanes|=n,null!==(l=a.alternate)&&(l.lanes|=n),xa(a.return,n,e),r||(i=null);break e}a=l.next}}else if(18===o.tag){if(null===(i=o.return))throw Error(\\\"We just came from a parent so we must have had a parent. This is a bug in React.\\\");i.lanes|=n,null!==(a=i.alternate)&&(a.lanes|=n),xa(i,n,e),i=null}else i=o.child;if(null!==i)i.return=o;else for(i=o;null!==i;){if(i===e){i=null;break}if(null!==(o=i.sibling)){o.return=i.return,i=o;break}i=i.return}o=i}}function Ea(e,t,n,r){e=null;for(var o=t,a=!1;null!==o;){if(!a)if(0!=(524288&o.flags))a=!0;else if(0!=(262144&o.flags))break;if(10===o.tag){var i=o.alternate;if(null===i)throw Error(\\\"Should have a current fiber. This is a bug in React.\\\");if(null!==(i=i.memoizedProps)){var l=o.type;dp(o.pendingProps.value,i.value)||(null!==e?e.push(l):e=[l])}}else if(o===Nc.current){if(null===(i=o.alternate))throw Error(\\\"Should have a current fiber. This is a bug in React.\\\");i.memoizedState.memoizedState!==o.memoizedState.memoizedState&&(null!==e?e.push(Lv):e=[Lv])}o=o.return}null!==e&&Ca(t,e,n,r),t.flags|=262144}function Ta(e){for(e=e.firstContext;null!==e;){if(!dp(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Pa(e){Lg=e,Dg=null,null!==(e=e.dependencies)&&(e.firstContext=null)}function Ra(e){return _g&&console.error(\\\"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\\\"),Ia(Lg,e)}function za(e,t){return null===Lg&&Pa(e),Ia(e,t)}function Ia(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},null===Dg){if(null===e)throw Error(\\\"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\\\");Dg=t,e.dependencies={lanes:0,firstContext:t,_debugThenableState:null},e.flags|=524288}else Dg=Dg.next=t;return n}function La(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Da(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function _a(e){return{lane:e,tag:Fg,payload:null,callback:null,next:null}}function Fa(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,Hg===r&&!Ug){var o=v(e);console.error(\\\"An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback.\\\\n\\\\nPlease update the following component: %s\\\",o),Ug=!0}return(yy&sy)!==ly?(null===(o=r.pending)?t.next=t:(t.next=o.next,o.next=t),r.pending=t,t=an(e),on(e,null,n),t):(tn(e,r,t,n),an(e))}function Oa(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194176&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,ce(e,n)}}function Na(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var o=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var i={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};null===a?o=a=i:a=a.next=i,n=n.next}while(null!==n);null===a?o=a=t:a=a.next=t}else o=a=t;return n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Aa(){if(Wg){if(null!==xm)throw xm}}function Ma(e,t,n,r){Wg=!1;var o=e.updateQueue;Mg=!1,Hg=o.shared;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(null!==l){o.shared.pending=null;var s=l,u=s.next;s.next=null,null===i?a=u:i.next=u,i=s;var c=e.alternate;null!==c&&((l=(c=c.updateQueue).lastBaseUpdate)!==i&&(null===l?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(null!==a){var d=o.baseState;for(i=0,c=u=s=null,l=a;;){var f=-536870913&l.lane,p=f!==l.lane;if(p?(ky&f)===f:(r&f)===f){0!==f&&f===Sm&&(Wg=!0),null!==c&&(c=c.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{f=e;var h=l,m=t,g=n;switch(h.tag){case Og:if(\\\"function\\\"==typeof(h=h.payload)){_g=!0;var y=h.call(g,d,m);if(f.mode&Wp){Q(!0);try{h.call(g,d,m)}finally{Q(!1)}}_g=!1,d=y;break e}d=h;break e;case Ag:f.flags=-65537&f.flags|128;case Fg:if(\\\"function\\\"==typeof(y=h.payload)){if(_g=!0,h=y.call(g,d,m),f.mode&Wp){Q(!0);try{y.call(g,d,m)}finally{Q(!1)}}_g=!1}else h=y;if(null===h||void 0===h)break e;d=vc({},d,h);break e;case Ng:Mg=!0}}null!==(f=l.callback)&&(e.flags|=64,p&&(e.flags|=8192),null===(p=o.callbacks)?o.callbacks=[f]:p.push(f))}else p={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===c?(u=c=p,s=d):c=c.next=p,i|=f;if(null===(l=l.next)){if(null===(l=o.shared.pending))break;l=(p=l).next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}null===c&&(s=d),o.baseState=s,o.firstBaseUpdate=u,o.lastBaseUpdate=c,null===a&&(o.shared.lanes=0),Ay|=i,e.lanes=i,e.memoizedState=d}Hg=null}function Ua(e,t){if(\\\"function\\\"!=typeof e)throw Error(\\\"Invalid argument passed as callback. Expected a function. Instead received: \\\"+e);e.call(t)}function Ha(e,t){var n=e.shared.hiddenCallbacks;if(null!==n)for(e.shared.hiddenCallbacks=null,e=0;e\u003Cn.length;e++)Ua(n[e],t)}function Wa(e,t){var n=e.callbacks;if(null!==n)for(e.callbacks=null,e=0;e\u003Cn.length;e++)Ua(n[e],t)}function ja(e){return(e.mode&Hp)!==Mp}function Va(e,t){ja(e)?(bn(),qa(t,e),yn()):qa(t,e)}function Ba(e,t,n){ja(e)?(bn(),Qa(n,e,t),yn()):Qa(n,e,t)}function qa(e,t){try{var n=t.updateQueue,r=null!==n?n.lastEffect:null;if(null!==r){var o=r.next;n=o;do{if((n.tag&e)===e&&((e&mm)!==dm?null!==Jc&&\\\"function\\\"==typeof Jc.markComponentPassiveEffectMountStarted&&Jc.markComponentPassiveEffectMountStarted(t):(e&hm)!==dm&&null!==Jc&&\\\"function\\\"==typeof Jc.markComponentLayoutEffectMountStarted&&Jc.markComponentLayoutEffectMountStarted(t),r=void 0,(e&pm)!==dm&&(cb=!0),r=P(t,Bh,n),(e&pm)!==dm&&(cb=!1),(e&mm)!==dm?null!==Jc&&\\\"function\\\"==typeof Jc.markComponentPassiveEffectMountStopped&&Jc.markComponentPassiveEffectMountStopped():(e&hm)!==dm&&null!==Jc&&\\\"function\\\"==typeof Jc.markComponentLayoutEffectMountStopped&&Jc.markComponentLayoutEffectMountStopped(),void 0!==r&&\\\"function\\\"!=typeof r)){var a;P(t,function(e,t){console.error(\\\"%s must not return anything besides a function, which is used for clean-up.%s\\\",e,t)},a=0!=(n.tag&hm)?\\\"useLayoutEffect\\\":0!=(n.tag&pm)?\\\"useInsertionEffect\\\":\\\"useEffect\\\",null===r?\\\" You returned null. If your effect does not require clean up, return undefined (or nothing).\\\":\\\"function\\\"==typeof r.then?\\\"\\\\n\\\\nIt looks like you wrote \\\"+a+\\\"(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:\\\\n\\\\n\\\"+a+\\\"(() => {\\\\n async function fetchData() {\\\\n // You can await here\\\\n const response = await MyAPI.getData(someId);\\\\n // ...\\\\n }\\\\n fetchData();\\\\n}, [someId]); // Or [] if effect doesn't need props or state\\\\n\\\\nLearn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching\\\":\\\" You returned: \\\"+r)}n=n.next}while(n!==o)}}catch(e){Dl(t,t.return,e)}}function Qa(e,t,n){try{var r=t.updateQueue,o=null!==r?r.lastEffect:null;if(null!==o){var a=o.next;r=a;do{if((r.tag&e)===e){var i=r.inst,l=i.destroy;void 0!==l&&(i.destroy=void 0,(e&mm)!==dm?null!==Jc&&\\\"function\\\"==typeof Jc.markComponentPassiveEffectUnmountStarted&&Jc.markComponentPassiveEffectUnmountStarted(t):(e&hm)!==dm&&null!==Jc&&\\\"function\\\"==typeof Jc.markComponentLayoutEffectUnmountStarted&&Jc.markComponentLayoutEffectUnmountStarted(t),(e&pm)!==dm&&(cb=!0),P(t,Qh,t,n,l),(e&pm)!==dm&&(cb=!1),(e&mm)!==dm?null!==Jc&&\\\"function\\\"==typeof Jc.markComponentPassiveEffectUnmountStopped&&Jc.markComponentPassiveEffectUnmountStopped():(e&hm)!==dm&&null!==Jc&&\\\"function\\\"==typeof Jc.markComponentLayoutEffectUnmountStopped&&Jc.markComponentLayoutEffectUnmountStopped())}r=r.next}while(r!==a)}}catch(e){Dl(t,t.return,e)}}function $a(e,t){ja(e)?(bn(),qa(t,e),yn()):qa(t,e)}function Ya(e,t,n){ja(e)?(bn(),Qa(n,e,t),yn()):Qa(n,e,t)}function Xa(e){var t=e.updateQueue;if(null!==t){var n=e.stateNode;e.type.defaultProps||\\\"ref\\\"in e.memoizedProps||xg||(n.props!==e.memoizedProps&&console.error(\\\"Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\\\",v(e)||\\\"instance\\\"),n.state!==e.memoizedState&&console.error(\\\"Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\\\",v(e)||\\\"instance\\\"));try{P(e,Wa,t,n)}catch(t){Dl(e,e.return,t)}}}function Ka(e,t,n){return e.getSnapshotBeforeUpdate(t,n)}function Ga(e,t){var n=t.memoizedProps,r=t.memoizedState;t=e.stateNode,e.type.defaultProps||\\\"ref\\\"in e.memoizedProps||xg||(t.props!==e.memoizedProps&&console.error(\\\"Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\\\",v(e)||\\\"instance\\\"),t.state!==e.memoizedState&&console.error(\\\"Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\\\",v(e)||\\\"instance\\\"));try{var o=Ho(e.type,n,(e.elementType,e.type)),a=P(e,Ka,t,o,r);n=jg,void 0!==a||n.has(e.type)||(n.add(e.type),P(e,function(){console.error(\\\"%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.\\\",v(e))})),t.__reactInternalSnapshotBeforeUpdate=a}catch(t){Dl(e,e.return,t)}}function Za(e,t,n){n.props=Ho(e.type,e.memoizedProps),n.state=e.memoizedState,ja(e)?(bn(),P(e,jh,e,t,n),yn()):P(e,jh,e,t,n)}function Ja(e){var t=e.ref;if(null!==t){var n=e.stateNode;if(\\\"function\\\"==typeof t)if(ja(e))try{bn(),e.refCleanup=t(n)}finally{yn()}else e.refCleanup=t(n);else\\\"string\\\"==typeof t?console.error(\\\"String refs are no longer supported.\\\"):t.hasOwnProperty(\\\"current\\\")||console.error(\\\"Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().\\\",v(e)),t.current=n}}function ei(e,t){try{P(e,Ja,e)}catch(n){Dl(e,t,n)}}function ti(e,t){var n=e.ref,r=e.refCleanup;if(null!==n)if(\\\"function\\\"==typeof r)try{if(ja(e))try{bn(),P(e,r)}finally{yn()}else P(e,r)}catch(n){Dl(e,t,n)}finally{e.refCleanup=null,null!=(e=e.alternate)&&(e.refCleanup=null)}else if(\\\"function\\\"==typeof n)try{if(ja(e))try{bn(),P(e,n,null)}finally{yn()}else P(e,n,null)}catch(n){Dl(e,t,n)}else n.current=null}function ni(e,t,n,r){var o=e.memoizedProps,a=o.id,i=o.onCommit;o=o.onRender,t=null===t?\\\"mount\\\":\\\"update\\\",Xp&&(t=\\\"nested-update\\\"),\\\"function\\\"==typeof o&&o(a,t,e.actualDuration,e.treeBaseDuration,e.actualStartTime,n),\\\"function\\\"==typeof i&&i(e.memoizedProps.id,t,r,n)}function ri(e,t,n,r){var o=e.memoizedProps;e=o.id,o=o.onPostCommit,t=null===t?\\\"mount\\\":\\\"update\\\",Xp&&(t=\\\"nested-update\\\"),\\\"function\\\"==typeof o&&o(e,t,r,n)}function oi(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{P(e,Is,r,t,n,e)}catch(t){Dl(e,e.return,t)}}function ai(e,t,n){try{P(e,Ls,e.stateNode,e.type,n,t,e)}catch(t){Dl(e,e.return,t)}}function ii(e){return 5===e.tag||3===e.tag||26===e.tag||27===e.tag||4===e.tag}function li(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ii(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&27!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function si(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&27!==r&&null!==(e=e.child))for(si(e,t,n),e=e.sibling;null!==e;)si(e,t,n),e=e.sibling}function ui(e){if(27!==e.tag){e:{for(var t=e.return;null!==t;){if(ii(t)){var n=t;break e}t=t.return}throw Error(\\\"Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.\\\")}switch(n.tag){case 27:t=n.stateNode,si(e,n=li(e),t);break;case 5:t=n.stateNode,32&n.flags&&(Ds(t),n.flags&=-33),si(e,n=li(e),t);break;case 3:case 4:t=n.stateNode.containerInfo,function e(t,n,r){var o=t.tag;if(5===o||6===o)t=t.stateNode,n?8===r.nodeType?r.parentNode.insertBefore(t,n):r.insertBefore(t,n):(8===r.nodeType?(n=r.parentNode).insertBefore(t,r):(n=r).appendChild(t),null!==(r=r._reactRootContainer)&&void 0!==r||null!==n.onclick||(n.onclick=fs));else if(4!==o&&27!==o&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,n=li(e),t);break;default:throw Error(\\\"Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue.\\\")}}}function ci(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:vi(e,n),4&r&&Va(n,hm|fm);break;case 1:if(vi(e,n),4&r)if(e=n.stateNode,null===t)n.type.defaultProps||\\\"ref\\\"in n.memoizedProps||xg||(e.props!==n.memoizedProps&&console.error(\\\"Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\\\",v(n)||\\\"instance\\\"),e.state!==n.memoizedState&&console.error(\\\"Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\\\",v(n)||\\\"instance\\\")),ja(n)?(bn(),P(n,Nh,n,e),yn()):P(n,Nh,n,e);else{var o=Ho(n.type,t.memoizedProps);t=t.memoizedState,n.type.defaultProps||\\\"ref\\\"in n.memoizedProps||xg||(e.props!==n.memoizedProps&&console.error(\\\"Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\\\",v(n)||\\\"instance\\\"),e.state!==n.memoizedState&&console.error(\\\"Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\\\",v(n)||\\\"instance\\\")),ja(n)?(bn(),P(n,Mh,n,e,o,t,e.__reactInternalSnapshotBeforeUpdate),yn()):P(n,Mh,n,e,o,t,e.__reactInternalSnapshotBeforeUpdate)}64&r&&Xa(n),512&r&&ei(n,n.return);break;case 3:if(t=dn(),vi(e,n),64&r&&null!==(r=n.updateQueue)){if(o=null,null!==n.child)switch(n.child.tag){case 27:case 5:o=n.child.stateNode;break;case 1:o=n.child.stateNode}try{P(n,Wa,r,o)}catch(e){Dl(n,n.return,e)}}e.effectDuration+=fn(t);break;case 26:vi(e,n),512&r&&ei(n,n.return);break;case 27:case 5:vi(e,n),null===t&&4&r&&oi(n),512&r&&ei(n,n.return);break;case 12:if(4&r){r=dn(),vi(e,n),(e=n.stateNode).effectDuration+=pn(r);try{P(n,ni,n,t,Qp,e.effectDuration)}catch(e){Dl(n,n.return,e)}}else vi(e,n);break;case 13:vi(e,n),4&r&&hi(e,n);break;case 22:if(!(o=null!==n.memoizedState||Vg)){t=null!==t&&null!==t.memoizedState||Bg;var a=Vg,i=Bg;Vg=o,(Bg=t)&&!i?xi(e,n,0!=(8772&n.subtreeFlags)):vi(e,n),Vg=a,Bg=i}512&r&&(\\\"manual\\\"===n.memoizedProps.mode?ei(n,n.return):ti(n,n.return));break;default:vi(e,n)}}function di(e){var t=e.alternate;null!==t&&(e.alternate=null,di(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&me(t)),e.stateNode=null,e._debugOwner=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function fi(e,t,n){for(n=n.child;null!==n;)pi(e,t,n),n=n.sibling}function pi(e,t,n){if(Zc&&\\\"function\\\"==typeof Zc.onCommitFiberUnmount)try{Zc.onCommitFiberUnmount(Gc,n)}catch(e){ed||(ed=!0,console.error(\\\"React instrumentation encountered an error: %s\\\",e))}switch(n.tag){case 26:Bg||ti(n,t),fi(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode).parentNode.removeChild(n);break;case 27:Bg||ti(n,t);var r=Gg,o=Zg;for(Gg=n.stateNode,fi(e,t,n),e=(n=n.stateNode).attributes;e.length;)n.removeAttributeNode(e[0]);me(n),Gg=r,Zg=o;break;case 5:Bg||ti(n,t);case 6:if(r=Gg,o=Zg,Gg=null,fi(e,t,n),Zg=o,null!==(Gg=r))if(Zg)try{P(n,Os,Gg,n.stateNode)}catch(e){Dl(n,t,e)}else try{P(n,Fs,Gg,n.stateNode)}catch(e){Dl(n,t,e)}break;case 18:null!==Gg&&(Zg?(e=Gg,n=n.stateNode,8===e.nodeType?Ns(e.parentNode,n):1===e.nodeType&&Ns(e,n),Hu(e)):Ns(Gg,n.stateNode));break;case 4:r=Gg,o=Zg,Gg=n.stateNode.containerInfo,Zg=!0,fi(e,t,n),Gg=r,Zg=o;break;case 0:case 11:case 14:case 15:Bg||Qa(pm,n,t),Bg||Ba(n,t,hm),fi(e,t,n);break;case 1:Bg||(ti(n,t),\\\"function\\\"==typeof(r=n.stateNode).componentWillUnmount&&Za(n,t,r)),fi(e,t,n);break;case 21:fi(e,t,n);break;case 22:Bg||ti(n,t),Bg=(r=Bg)||null!==n.memoizedState,fi(e,t,n),Bg=r;break;default:fi(e,t,n)}}function hi(e,t){if(null===t.memoizedState&&(null!==(e=t.alternate)&&(null!==(e=e.memoizedState)&&null!==(e=e.dehydrated))))try{P(t,Ys,e)}catch(e){Dl(t,t.return,e)}}function mi(e,t){var n=function(e){switch(e.tag){case 13:case 19:var t=e.stateNode;return null===t&&(t=e.stateNode=new Qg),t;case 22:return null===(t=(e=e.stateNode)._retryCache)&&(t=e._retryCache=new Qg),t;default:throw Error(\\\"Unexpected Suspense handler tag (\\\"+e.tag+\\\"). This is a bug in React.\\\")}}(e);t.forEach(function(t){var r=function(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(\\\"Pinged unknown suspense boundary type. This is probably a bug in React.\\\")}null!==r&&r.delete(t),Fl(e,n)}.bind(null,e,t);if(!n.has(t)){if(n.add(t),td){if(null===Yg||null===Xg)throw Error(\\\"Expected finished root and lanes to be set. This is a bug in React.\\\");Ul(Xg,Yg)}t.then(r,r)}})}function gi(e,t){var n=t.deletions;if(null!==n)for(var r=0;r\u003Cn.length;r++){var o=e,a=t,i=n[r],l=a;e:for(;null!==l;){switch(l.tag){case 27:case 5:Gg=l.stateNode,Zg=!1;break e;case 3:case 4:Gg=l.stateNode.containerInfo,Zg=!0;break e}l=l.return}if(null===Gg)throw Error(\\\"Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.\\\");pi(o,a,i),Gg=null,Zg=!1,null!==(a=(o=i).alternate)&&(a.return=null),o.return=null}if(13878&t.subtreeFlags)for(t=t.child;null!==t;)yi(t,e),t=t.sibling}function yi(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gi(t,e),bi(e),4&r&&(Qa(pm|fm,e,e.return),qa(pm|fm,e),Ba(e,e.return,hm|fm));break;case 1:gi(t,e),bi(e),512&r&&(Bg||null===n||ti(n,n.return)),64&r&&Vg&&(null!==(e=e.updateQueue)&&(null!==(r=e.callbacks)&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=null===n?r:n.concat(r))));break;case 26:var o=Jg;if(gi(t,e),bi(e),512&r&&(Bg||null===n||ti(n,n.return)),4&r)if(t=null!==n?n.memoizedState:null,r=e.memoizedState,null===n)if(null===r)if(null===e.stateNode){e:{r=e.type,n=e.memoizedProps,t=o.ownerDocument||o;t:switch(r){case\\\"title\\\":(!(o=t.getElementsByTagName(\\\"title\\\")[0])||o[vd]||o[fd]||o.namespaceURI===qd||o.hasAttribute(\\\"itemprop\\\"))&&(o=t.createElement(r),t.head.insertBefore(o,t.querySelector(\\\"head > title\\\"))),ms(o,r,n),o[fd]=e,ke(o),r=o;break e;case\\\"link\\\":var a=cu(\\\"link\\\",\\\"href\\\",t).get(r+(n.href||\\\"\\\"));if(a)for(var i=0;i\u003Ca.length;i++)if((o=a[i]).getAttribute(\\\"href\\\")===(null==n.href?null:n.href)&&o.getAttribute(\\\"rel\\\")===(null==n.rel?null:n.rel)&&o.getAttribute(\\\"title\\\")===(null==n.title?null:n.title)&&o.getAttribute(\\\"crossorigin\\\")===(null==n.crossOrigin?null:n.crossOrigin)){a.splice(i,1);break t}ms(o=t.createElement(r),r,n),t.head.appendChild(o);break;case\\\"meta\\\":if(a=cu(\\\"meta\\\",\\\"content\\\",t).get(r+(n.content||\\\"\\\")))for(i=0;i\u003Ca.length;i++)if(o=a[i],V(n.content,\\\"content\\\"),o.getAttribute(\\\"content\\\")===(null==n.content?null:\\\"\\\"+n.content)&&o.getAttribute(\\\"name\\\")===(null==n.name?null:n.name)&&o.getAttribute(\\\"property\\\")===(null==n.property?null:n.property)&&o.getAttribute(\\\"http-equiv\\\")===(null==n.httpEquiv?null:n.httpEquiv)&&o.getAttribute(\\\"charset\\\")===(null==n.charSet?null:n.charSet)){a.splice(i,1);break t}ms(o=t.createElement(r),r,n),t.head.appendChild(o);break;default:throw Error('getNodesForType encountered a type it did not expect: \\\"'+r+'\\\". This is a bug in React.')}o[fd]=e,ke(o),r=o}e.stateNode=r}else du(o,e.type,e.stateNode);else e.stateNode=iu(o,r,e.memoizedProps);else t!==r?(null===t?null!==n.stateNode&&(n=n.stateNode).parentNode.removeChild(n):t.count--,null===r?du(o,e.type,e.stateNode):iu(o,r,e.memoizedProps)):null===r&&null!==e.stateNode&&ai(e,e.memoizedProps,n.memoizedProps);break;case 27:if(4&r&&null===e.alternate){o=e.stateNode,a=e.memoizedProps;try{for(i=o.firstChild;i;){var l=i.nextSibling,s=i.nodeName;i[vd]||\\\"HEAD\\\"===s||\\\"BODY\\\"===s||\\\"SCRIPT\\\"===s||\\\"STYLE\\\"===s||\\\"LINK\\\"===s&&\\\"stylesheet\\\"===i.rel.toLowerCase()||o.removeChild(i),i=l}P(e,Ks,e.type,a,o,e)}catch(t){Dl(e,e.return,t)}}case 5:if(gi(t,e),bi(e),512&r&&(Bg||null===n||ti(n,n.return)),32&e.flags){t=e.stateNode;try{P(e,Ds,t)}catch(t){Dl(e,e.return,t)}}4&r&&null!=e.stateNode&&ai(e,t=e.memoizedProps,null!==n?n.memoizedProps:t),1024&r&&(qg=!0,\\\"form\\\"!==e.type&&console.error(\\\"Unexpected host component type. Expected a form. This is a bug in React.\\\"));break;case 6:if(gi(t,e),bi(e),4&r){if(null===e.stateNode)throw Error(\\\"This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue.\\\");r=e.memoizedProps,n=null!==n?n.memoizedProps:r,t=e.stateNode;try{P(e,_s,t,n,r)}catch(t){Dl(e,e.return,t)}}break;case 3:if(o=dn(),Tv=null,a=Jg,Jg=Gs(t.containerInfo),gi(t,e),Jg=a,bi(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{P(e,$s,t.containerInfo)}catch(t){Dl(e,e.return,t)}qg&&(qg=!1,function e(t){if(1024&t.subtreeFlags)for(t=t.child;null!==t;){var n=t;e(n),5===n.tag&&1024&n.flags&&n.stateNode.reset(),t=t.sibling}}(e)),t.effectDuration+=fn(o);break;case 4:r=Jg,Jg=Gs(e.stateNode.containerInfo),gi(t,e),bi(e),Jg=r;break;case 12:r=dn(),gi(t,e),bi(e),e.stateNode.effectDuration+=pn(r);break;case 13:gi(t,e),bi(e),8192&e.child.flags&&null!==e.memoizedState!=(null!==n&&null!==n.memoizedState)&&(qy=jc()),4&r&&(null!==(r=e.updateQueue)&&(e.updateQueue=null,mi(e,r)));break;case 22:512&r&&(Bg||null===n||ti(n,n.return)),i=null!==e.memoizedState,l=null!==n&&null!==n.memoizedState;var u=Bg;if(Vg=(s=Vg)||i,Bg=u||l,gi(t,e),Bg=u,Vg=s,bi(e),(t=e.stateNode)._current=e,t._visibility&=~Ip,t._visibility|=t._pendingVisibility&Ip,8192&r&&(t._visibility=i?t._visibility&~zp:t._visibility|zp,i&&(t=Vg||Bg,null===n||l||t||wi(e)),null===e.memoizedProps||\\\"manual\\\"!==e.memoizedProps.mode))e:for(n=null,t=e;;){if(5===t.tag||26===t.tag||27===t.tag){if(null===n){l=n=t;try{o=l.stateNode,i?P(l,As,o):P(l,Us,l.stateNode,l.memoizedProps)}catch(e){Dl(l,l.return,e)}}}else if(6===t.tag){if(null===n){l=t;try{a=l.stateNode,i?P(l,Ms,a):P(l,Hs,a,l.memoizedProps)}catch(e){Dl(l,l.return,e)}}}else if((22!==t.tag&&23!==t.tag||null===t.memoizedState||t===e)&&null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;null===t.sibling;){if(null===t.return||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}4&r&&(null!==(r=e.updateQueue)&&(null!==(n=r.retryQueue)&&(r.retryQueue=null,mi(e,n))));break;case 19:gi(t,e),bi(e),4&r&&(null!==(r=e.updateQueue)&&(e.updateQueue=null,mi(e,r)));break;case 21:break;default:gi(t,e),bi(e)}}function bi(e){var t=e.flags;if(2&t){try{P(e,ui,e)}catch(t){Dl(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function vi(e,t){if(8772&t.subtreeFlags)for(t=t.child;null!==t;)ci(e,t.alternate,t),t=t.sibling}function ki(e){switch(e.tag){case 0:case 11:case 14:case 15:Ba(e,e.return,hm),wi(e);break;case 1:ti(e,e.return);var t=e.stateNode;\\\"function\\\"==typeof t.componentWillUnmount&&Za(e,e.return,t),wi(e);break;case 26:case 27:case 5:ti(e,e.return),wi(e);break;case 22:ti(e,e.return),null===e.memoizedState&&wi(e);break;default:wi(e)}}function wi(e){for(e=e.child;null!==e;)ki(e),e=e.sibling}function Si(e,t,n,r){var o=n.flags;switch(n.tag){case 0:case 11:case 15:xi(e,n,r),Va(n,hm);break;case 1:if(xi(e,n,r),\\\"function\\\"==typeof(t=n.stateNode).componentDidMount&&P(n,Nh,n,t),null!==(t=n.updateQueue)){e=n.stateNode;try{P(n,Ha,t,e)}catch(e){Dl(n,n.return,e)}}r&&64&o&&Xa(n),ei(n,n.return);break;case 26:case 27:case 5:xi(e,n,r),r&&null===t&&4&o&&oi(n),ei(n,n.return);break;case 12:if(r&&4&o){o=dn(),xi(e,n,r),(r=n.stateNode).effectDuration+=pn(o);try{P(n,ni,n,t,Qp,r.effectDuration)}catch(e){Dl(n,n.return,e)}}else xi(e,n,r);break;case 13:xi(e,n,r),r&&4&o&&hi(e,n);break;case 22:null===n.memoizedState&&xi(e,n,r),ei(n,n.return);break;default:xi(e,n,r)}}function xi(e,t,n){for(n=n&&0!=(8772&t.subtreeFlags),t=t.child;null!==t;)Si(e,t.alternate,t,n),t=t.sibling}function Ci(e,t){var n=null;null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),e=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(e=t.memoizedState.cachePool.pool),e!==n&&(null!=e&&rr(e),null!=n&&or(n))}function Ei(e,t){e=null,null!==t.alternate&&(e=t.alternate.memoizedState.cache),(t=t.memoizedState.cache)!==e&&(rr(t),null!=e&&or(e))}function Ti(e,t,n,r){if(10256&t.subtreeFlags)for(t=t.child;null!==t;)Pi(e,t,n,r),t=t.sibling}function Pi(e,t,n,r){var o=t.flags;switch(t.tag){case 0:case 11:case 15:Ti(e,t,n,r),2048&o&&$a(t,mm|fm);break;case 3:var a=dn();Ti(e,t,n,r),2048&o&&(n=null,null!==t.alternate&&(n=t.alternate.memoizedState.cache),(t=t.memoizedState.cache)!==n&&(rr(t),null!=n&&or(n))),e.passiveEffectDuration+=fn(a);break;case 12:if(2048&o){a=dn(),Ti(e,t,n,r),(e=t.stateNode).passiveEffectDuration+=pn(a);try{P(t,ri,t,t.alternate,Qp,e.passiveEffectDuration)}catch(e){Dl(t,t.return,e)}}else Ti(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,null!==t.memoizedState?a._visibility&Lp?Ti(e,t,n,r):Ii(e,t):a._visibility&Lp?Ti(e,t,n,r):(a._visibility|=Lp,Ri(e,t,n,r,0!=(10256&t.subtreeFlags))),2048&o&&Ci(t.alternate,t);break;case 24:Ti(e,t,n,r),2048&o&&Ei(t.alternate,t);break;default:Ti(e,t,n,r)}}function Ri(e,t,n,r,o){for(o=o&&0!=(10256&t.subtreeFlags),t=t.child;null!==t;)zi(e,t,n,r,o),t=t.sibling}function zi(e,t,n,r,o){var a=t.flags;switch(t.tag){case 0:case 11:case 15:Ri(e,t,n,r,o),$a(t,mm);break;case 23:break;case 22:var i=t.stateNode;null!==t.memoizedState?i._visibility&Lp?Ri(e,t,n,r,o):Ii(e,t):(i._visibility|=Lp,Ri(e,t,n,r,o)),o&&2048&a&&Ci(t.alternate,t);break;case 24:Ri(e,t,n,r,o),o&&2048&a&&Ei(t.alternate,t);break;default:Ri(e,t,n,r,o)}}function Ii(e,t){if(10256&t.subtreeFlags)for(t=t.child;null!==t;){var n=e,r=t,o=r.flags;switch(r.tag){case 22:Ii(n,r),2048&o&&Ci(r.alternate,r);break;case 24:Ii(n,r),2048&o&&Ei(r.alternate,r);break;default:Ii(n,r)}t=t.sibling}}function Li(e){if(e.subtreeFlags&ey)for(e=e.child;null!==e;)Di(e),e=e.sibling}function Di(e){switch(e.tag){case 26:Li(e),e.flags&ey&&null!==e.memoizedState&&function(e,t,n){if(null===Pv)throw Error(\\\"Internal React Error: suspendedState null when it was expected to exists. Please report this as a React bug.\\\");var r=Pv;if(\\\"stylesheet\\\"===t.type&&(\\\"string\\\"!=typeof n.media||!1!==matchMedia(n.media).matches)&&(t.state.loading&fv)===sv){if(null===t.instance){var o=tu(n.href),a=e.querySelector(nu(o));if(a)return null!==(e=a._p)&&\\\"object\\\"==typeof e&&\\\"function\\\"==typeof e.then&&(r.count++,r=hu.bind(r),e.then(r,r)),t.state.loading|=fv,t.instance=a,void ke(a);a=e.ownerDocument||e,n=ru(n),(o=pv.get(o))&&su(n,o),ke(a=a.createElement(\\\"link\\\"));var i=a;i._p=new Promise(function(e,t){i.onload=e,i.onerror=t}),ms(a,\\\"link\\\",n),t.instance=a}null===r.stylesheets&&(r.stylesheets=new Map),r.stylesheets.set(t,e),(e=t.state.preload)&&(t.state.loading&dv)===sv&&(r.count++,t=hu.bind(r),e.addEventListener(\\\"load\\\",t),e.addEventListener(\\\"error\\\",t))}}(Jg,e.memoizedState,e.memoizedProps);break;case 5:Li(e);break;case 3:case 4:var t=Jg;Jg=Gs(e.stateNode.containerInfo),Li(e),Jg=t;break;case 22:null===e.memoizedState&&(null!==(t=e.alternate)&&null!==t.memoizedState?(t=ey,ey=16777216,Li(e),ey=t):Li(e));break;default:Li(e)}}function _i(e){var t=e.alternate;if(null!==t&&null!==(e=t.child)){t.child=null;do{t=e.sibling,e.sibling=null,e=t}while(null!==e)}}function Fi(e){var t=e.deletions;if(0!=(16&e.flags)){if(null!==t)for(var n=0;n\u003Ct.length;n++){var r=t[n];$g=r,Mi(r,e)}_i(e)}if(10256&e.subtreeFlags)for(e=e.child;null!==e;)Oi(e),e=e.sibling}function Oi(e){switch(e.tag){case 0:case 11:case 15:Fi(e),2048&e.flags&&Ya(e,e.return,mm|fm);break;case 3:var t=dn();Fi(e),e.stateNode.passiveEffectDuration+=fn(t);break;case 12:t=dn(),Fi(e),e.stateNode.passiveEffectDuration+=pn(t);break;case 22:t=e.stateNode,null!==e.memoizedState&&t._visibility&Lp&&(null===e.return||13!==e.return.tag)?(t._visibility&=~Lp,Ni(e)):Fi(e);break;default:Fi(e)}}function Ni(e){var t=e.deletions;if(0!=(16&e.flags)){if(null!==t)for(var n=0;n\u003Ct.length;n++){var r=t[n];$g=r,Mi(r,e)}_i(e)}for(e=e.child;null!==e;)Ai(e),e=e.sibling}function Ai(e){switch(e.tag){case 0:case 11:case 15:Ya(e,e.return,mm),Ni(e);break;case 22:var t=e.stateNode;t._visibility&Lp&&(t._visibility&=~Lp,Ni(e));break;default:Ni(e)}}function Mi(e,t){for(;null!==$g;){var n=$g,r=n;switch(r.tag){case 0:case 11:case 15:Ya(r,t,mm);break;case 23:case 22:null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(null!=(r=r.memoizedState.cachePool.pool)&&rr(r));break;case 24:or(r.memoizedState.cache)}if(null!==(r=n.child))r.return=n,$g=r;else e:for(n=e;null!==$g;){var o=(r=$g).sibling,a=r.return;if(di(r),r===n){$g=null;break e}if(null!==o){o.return=a,$g=o;break e}$g=a}}}function Ui(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Hi(e,t){var n=e.alternate;switch(null===n?((n=i(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n._debugOwner=e._debugOwner,n._debugHookTypes=e._debugHookTypes,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null,n.actualDuration=-0,n.actualStartTime=-1.1),n.flags=31457280&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext,_debugThenableState:t._debugThenableState},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n.selfBaseDuration=e.selfBaseDuration,n.treeBaseDuration=e.treeBaseDuration,n._debugInfo=e._debugInfo,n._debugNeedsRemount=e._debugNeedsRemount,n.tag){case 0:case 15:case 1:n.type=ln(e.type);break;case 11:n.type=sn(e.type)}return n}function Wi(e,t){e.flags&=31457282;var n=e.alternate;return null===n?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null,e.selfBaseDuration=0,e.treeBaseDuration=0):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext,_debugThenableState:t._debugThenableState},e.selfBaseDuration=n.selfBaseDuration,e.treeBaseDuration=n.treeBaseDuration),e}function ji(e,t,n,r,o,a){var l=0,s=e;if(\\\"function\\\"==typeof e)Ui(e)&&(l=1),s=ln(s);else if(\\\"string\\\"==typeof e)l=function(e,t,n){var r=!n.ancestorInfo.containerTagInScope;if(n.context===Gb||null!=t.itemProp)return!r||null==t.itemProp||\\\"meta\\\"!==e&&\\\"title\\\"!==e&&\\\"style\\\"!==e&&\\\"link\\\"!==e&&\\\"script\\\"!==e||console.error(\\\"Cannot render a \u003C%s> outside the main document if it has an `itemProp` prop. `itemProp` suggests the tag belongs to an `itemScope` which can appear anywhere in the DOM. If you were intending for React to hoist this \u003C%s> remove the `itemProp` prop. Otherwise, try moving this tag into the \u003Chead> or \u003Cbody> of the Document.\\\",e,e),!1;switch(e){case\\\"meta\\\":case\\\"title\\\":return!0;case\\\"style\\\":if(\\\"string\\\"!=typeof t.precedence||\\\"string\\\"!=typeof t.href||\\\"\\\"===t.href){r&&console.error('Cannot render a \u003Cstyle> outside the main document without knowing its precedence and a unique href key. React can hoist and deduplicate \u003Cstyle> tags if you provide a `precedence` prop along with an `href` prop that does not conflic with the `href` values used in any other hoisted \u003Cstyle> or \u003Clink rel=\\\"stylesheet\\\" ...> tags. Note that hoisting \u003Cstyle> tags is considered an advanced feature that most will not use directly. Consider moving the \u003Cstyle> tag to the \u003Chead> or consider adding a `precedence=\\\"default\\\"` and `href=\\\"some unique resource identifier\\\"`, or move the \u003Cstyle> to the \u003Cstyle> tag.');break}return!0;case\\\"link\\\":if(\\\"string\\\"!=typeof t.rel||\\\"string\\\"!=typeof t.href||\\\"\\\"===t.href||t.onLoad||t.onError){if(\\\"stylesheet\\\"===t.rel&&\\\"string\\\"==typeof t.precedence){e=t.href;var o=t.onError,a=t.disabled;n=[],t.onLoad&&n.push(\\\"`onLoad`\\\"),o&&n.push(\\\"`onError`\\\"),null!=a&&n.push(\\\"`disabled`\\\"),o=function(e,t){switch(e.length){case 0:return\\\"\\\";case 1:return e[0];case 2:return e[0]+\\\" \\\"+t+\\\" \\\"+e[1];default:return e.slice(0,-1).join(\\\", \\\")+\\\", \\\"+t+\\\" \\\"+e[e.length-1]}}(n,\\\"and\\\"),o+=1===n.length?\\\" prop\\\":\\\" props\\\",a=1===n.length?\\\"an \\\"+o:\\\"the \\\"+o,n.length&&console.error('React encountered a \u003Clink rel=\\\"stylesheet\\\" href=\\\"%s\\\" ... /> with a `precedence` prop that also included %s. The presence of loading and error handlers indicates an intent to manage the stylesheet loading state from your from your Component code and React will not hoist or deduplicate this stylesheet. If your intent was to have React hoist and deduplciate this stylesheet using the `precedence` prop remove the %s, otherwise remove the `precedence` prop.',e,a,o)}r&&(\\\"string\\\"!=typeof t.rel||\\\"string\\\"!=typeof t.href||\\\"\\\"===t.href?console.error(\\\"Cannot render a \u003Clink> outside the main document without a `rel` and `href` prop. Try adding a `rel` and/or `href` prop to this \u003Clink> or moving the link into the \u003Chead> tag\\\"):(t.onError||t.onLoad)&&console.error(\\\"Cannot render a \u003Clink> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root \u003Chead> tag or somewhere in the \u003Cbody>.\\\"));break}switch(t.rel){case\\\"stylesheet\\\":return e=t.precedence,t=t.disabled,\\\"string\\\"!=typeof e&&r&&console.error('Cannot render a \u003Clink rel=\\\"stylesheet\\\" /> outside the main document without knowing its precedence. Consider adding precedence=\\\"default\\\" or moving it into the root \u003Chead> tag.'),\\\"string\\\"==typeof e&&null==t;default:return!0}case\\\"script\\\":if(!(e=t.async&&\\\"function\\\"!=typeof t.async&&\\\"symbol\\\"!=typeof t.async)||t.onLoad||t.onError||!t.src||\\\"string\\\"!=typeof t.src){r&&(e?t.onLoad||t.onError?console.error(\\\"Cannot render a \u003Cscript> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root \u003Chead> tag or somewhere in the \u003Cbody>.\\\"):console.error(\\\"Cannot render a \u003Cscript> outside the main document without `async={true}` and a non-empty `src` prop. Ensure there is a valid `src` and either make the script async or move it into the root \u003Chead> tag or somewhere in the \u003Cbody>.\\\"):console.error('Cannot render a sync or defer \u003Cscript> outside the main document without knowing its order. Try adding async=\\\"\\\" or moving it into the root \u003Chead> tag.'));break}return!0;case\\\"noscript\\\":case\\\"template\\\":r&&console.error(\\\"Cannot render \u003C%s> outside the main document. Try moving it into the root \u003Chead> tag.\\\",e)}return!1}(e,n,l=A())?26:\\\"html\\\"===e||\\\"head\\\"===e||\\\"body\\\"===e?27:5;else e:switch(e){case Ku:return Bi(n.children,o,a,t);case Gu:l=8,o|=Wp,o|=jp;break;case Zu:return r=o,\\\"string\\\"!=typeof(e=n).id&&console.error('Profiler must specify an \\\"id\\\" of type `string` as a prop. Received the type `%s` instead.',typeof e.id),(t=i(12,e,t,r|Hp)).elementType=Zu,t.lanes=a,t.stateNode={effectDuration:0,passiveEffectDuration:0},t;case rc:return(t=i(13,n,t,o)).elementType=rc,t.lanes=a,t;case oc:return(t=i(19,n,t,o)).elementType=oc,t.lanes=a,t;case lc:return qi(n,o,a,t);default:if(\\\"object\\\"==typeof e&&null!==e)switch(e.$$typeof){case Ju:case tc:l=10;break e;case ec:l=9;break e;case nc:l=11,s=sn(s);break e;case ac:l=14;break e;case ic:l=16,s=null;break e}s=\\\"\\\",(void 0===e||\\\"object\\\"==typeof e&&null!==e&&0===Object.keys(e).length)&&(s+=\\\" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\\\"),null===e?n=\\\"null\\\":Pc(e)?n=\\\"array\\\":void 0!==e&&e.$$typeof===Yu?(n=\\\"\u003C\\\"+(y(e.type)||\\\"Unknown\\\")+\\\" />\\\",s=\\\" Did you accidentally export a JSX literal instead of a component?\\\"):n=typeof e,(l=r?b(r):null)&&(s+=\\\"\\\\n\\\\nCheck the render method of `\\\"+l+\\\"`.\\\"),l=29,n=Error(\\\"Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: \\\"+n+\\\".\\\"+s),s=null}return(t=i(l,n,t,o)).elementType=e,t.type=s,t.lanes=a,t._debugOwner=r,t}function Vi(e,t,n){return(t=ji(e.type,e.key,e.props,e._owner,t,n))._debugOwner=e._owner,t}function Bi(e,t,n,r){return(e=i(7,e,r,t)).lanes=n,e}function qi(e,t,n,r){(e=i(22,e,r,t)).elementType=lc,e.lanes=n;var o={_visibility:zp,_pendingVisibility:zp,_pendingMarkers:null,_retryCache:null,_transitions:null,_current:null,detach:function(){var e=o,t=e._current;if(null===t)throw Error(\\\"Calling Offscreen.detach before instance handle has been set.\\\");if(0==(e._pendingVisibility&Ip)){var n=rn(t,2);null!==n&&(e._pendingVisibility|=Ip,al(n,t,2))}},attach:function(){var e=o,t=e._current;if(null===t)throw Error(\\\"Calling Offscreen.detach before instance handle has been set.\\\");if(0!=(e._pendingVisibility&Ip)){var n=rn(t,2);null!==n&&(e._pendingVisibility&=~Ip,al(n,t,2))}}};return e.stateNode=o,e}function Qi(e,t,n){return(e=i(6,e,null,t)).lanes=n,e}function $i(e,t,n){return(t=i(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Yi(e){e.flags|=4}function Xi(e,t){if(\\\"stylesheet\\\"!==t.type||(t.state.loading&fv)!==sv)e.flags&=-16777217;else if(e.flags|=16777216,!fu(t)){if(null!==(t=im.current)&&((4194176&ky)===ky?null!==lm:(62914560&ky)!==ky&&0==(536870912&ky)||t!==lm))throw zh=Rh,Ph;e.flags|=8192}}function Ki(e,t){null!==t&&(e.flags|=4),16384&e.flags&&(t=22!==e.tag?ie():536870912,e.lanes|=t,Wy|=t)}function Gi(e,t){if(!kh)switch(e.tailMode){case\\\"hidden\\\":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case\\\"collapsed\\\":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Zi(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)if((e.mode&Hp)!==Mp){for(var o=e.selfBaseDuration,a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=31457280&a.subtreeFlags,r|=31457280&a.flags,o+=a.treeBaseDuration,a=a.sibling;e.treeBaseDuration=o}else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=31457280&o.subtreeFlags,r|=31457280&o.flags,o.return=e,o=o.sibling;else if((e.mode&Hp)!==Mp){o=e.actualDuration,a=e.selfBaseDuration;for(var i=e.child;null!==i;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,o+=i.actualDuration,a+=i.treeBaseDuration,i=i.sibling;e.actualDuration=o,e.treeBaseDuration=a}else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ji(e,t,n){var r=t.pendingProps;switch(Cn(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:case 1:return Zi(t),null;case 3:return r=t.stateNode,n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Sa(vm,t),N(t),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(Ln(t)?(Fn(),Yi(t)):null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==xh&&(ll(xh),xh=null))),Zi(t),null;case 26:return n=t.memoizedState,null===e?(Yi(t),null!==n?(Zi(t),Xi(t,n)):(Zi(t),t.flags&=-16777217)):n?n!==e.memoizedState?(Yi(t),Zi(t),Xi(t,n)):(Zi(t),t.flags&=-16777217):(e.memoizedProps!==r&&Yi(t),Zi(t),t.flags&=-16777217),null;case 27:U(t),n=F(Oc.current);var o=t.type;if(null!==e&&null!=t.stateNode)e.memoizedProps!==r&&Yi(t);else{if(!r){if(null===t.stateNode)throw Error(\\\"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\\\");return Zi(t),null}e=A(),Ln(t)?zn(t):(e=Xs(o,r,n,e,!0),t.stateNode=e,Yi(t))}return Zi(t),null;case 5:if(U(t),n=t.type,null!==e&&null!=t.stateNode)e.memoizedProps!==r&&Yi(t);else{if(!r){if(null===t.stateNode)throw Error(\\\"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\\\");return Zi(t),null}if(o=A(),Ln(t))zn(t);else{switch(e=F(Oc.current),ct(n,o.ancestorInfo),o=o.context,e=Es(e),o){case Gb:e=e.createElementNS(qd,n);break;case Zb:e=e.createElementNS(Bd,n);break;default:switch(n){case\\\"svg\\\":e=e.createElementNS(qd,n);break;case\\\"math\\\":e=e.createElementNS(Bd,n);break;case\\\"script\\\":(e=e.createElement(\\\"div\\\")).innerHTML=\\\"\u003Cscript>\u003C\\\\/script>\\\",e=e.removeChild(e.firstChild);break;case\\\"select\\\":e=\\\"string\\\"==typeof r.is?e.createElement(\\\"select\\\",{is:r.is}):e.createElement(\\\"select\\\"),r.multiple?e.multiple=!0:r.size&&(e.size=r.size);break;default:e=\\\"string\\\"==typeof r.is?e.createElement(n,{is:r.is}):e.createElement(n),-1===n.indexOf(\\\"-\\\")&&(n!==n.toLowerCase()&&console.error(\\\"\u003C%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.\\\",n),\\\"[object HTMLUnknownElement]\\\"!==Object.prototype.toString.call(e)||Ac.call(tv,n)||(tv[n]=!0,console.error(\\\"The tag \u003C%s> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.\\\",n)))}}e[fd]=t,e[pd]=r;e:for(o=t.child;null!==o;){if(5===o.tag||6===o.tag)e.appendChild(o.stateNode);else if(4!==o.tag&&27!==o.tag&&null!==o.child){o.child.return=o,o=o.child;continue}if(o===t)break e;for(;null===o.sibling;){if(null===o.return||o.return===t)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=e;e:switch(ms(e,n,r),n){case\\\"button\\\":case\\\"input\\\":case\\\"select\\\":case\\\"textarea\\\":e=!!r.autoFocus;break e;case\\\"img\\\":e=!0;break e;default:e=!1}e&&Yi(t)}}return Zi(t),t.flags&=-16777217,null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&Yi(t);else{if(\\\"string\\\"!=typeof r&&null===t.stateNode)throw Error(\\\"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\\\");if(e=F(Oc.current),n=A(),Ln(t)){e=t.stateNode,r=t.memoizedProps,o=!wh,n=null;var a=bh;if(null!==a)switch(a.tag){case 3:o&&(null!==(o=Bs(e,r,n))&&(Tn(t,0).serverProps=o));break;case 27:case 5:n=a.memoizedProps,o&&(null!==(o=Bs(e,r,n))&&(Tn(t,0).serverProps=o))}e[fd]=t,(e=!!(e.nodeValue===r||null!==n&&!0===n.suppressHydrationWarning||ds(e.nodeValue,r)))||Rn(t)}else null!=(n=n.ancestorInfo.current)&&dt(r,n.tag),(e=Es(e).createTextNode(r))[fd]=t,t.stateNode=e}return Zi(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(o=Ln(t),null!==r&&null!==r.dehydrated){if(null===e){if(!o)throw Error(\\\"A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.\\\");if(!(o=null!==(o=t.memoizedState)?o.dehydrated:null))throw Error(\\\"Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.\\\");o[fd]=t,Zi(t),(t.mode&Hp)!==Mp&&null!==r&&(null!==(o=t.child)&&(t.treeBaseDuration-=o.treeBaseDuration))}else Fn(),Dn(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4,Zi(t),(t.mode&Hp)!==Mp&&null!==r&&(null!==(o=t.child)&&(t.treeBaseDuration-=o.treeBaseDuration));o=!1}else null!==xh&&(ll(xh),xh=null),o=!0;if(!o)return 256&t.flags?(er(t),t):(er(t),null)}return er(t),0!=(128&t.flags)?(t.lanes=n,(t.mode&Hp)!==Mp&&vn(t),t):(r=null!==r,e=null!==e&&null!==e.memoizedState,r&&(o=null,null!==(n=t.child).alternate&&null!==n.alternate.memoizedState&&null!==n.alternate.memoizedState.cachePool&&(o=n.alternate.memoizedState.cachePool.pool),a=null,null!==n.memoizedState&&null!==n.memoizedState.cachePool&&(a=n.memoizedState.cachePool.pool),a!==o&&(n.flags|=2048)),r!==e&&r&&(t.child.flags|=8192),Ki(t,t.updateQueue),Zi(t),(t.mode&Hp)!==Mp&&r&&(null!==(e=t.child)&&(t.treeBaseDuration-=e.treeBaseDuration)),null);case 4:return N(t),null===e&&Jl(t.stateNode.containerInfo),Zi(t),null;case 10:return Sa(t.type,t),Zi(t),null;case 19:if(D(cm,t),null===(o=t.memoizedState))return Zi(t),null;if(r=0!=(128&t.flags),null===(a=o.rendering))if(r)Gi(o,!1);else{if(Ny!==cy||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(a=tr(e))){for(t.flags|=128,Gi(o,!1),e=a.updateQueue,t.updateQueue=e,Ki(t,e),t.subtreeFlags=0,e=n,r=t.child;null!==r;)Wi(r,e),r=r.sibling;return _(cm,cm.current&sm|um,t),t.child}e=e.sibling}null!==o.tail&&jc()>$y&&(t.flags|=128,r=!0,Gi(o,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=tr(a))){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,Ki(t,e),Gi(o,!0),null===o.tail&&\\\"hidden\\\"===o.tailMode&&!a.alternate&&!kh)return Zi(t),null}else 2*jc()-o.renderingStartTime>$y&&536870912!==n&&(t.flags|=128,r=!0,Gi(o,!1),t.lanes=4194304);o.isBackwards?(a.sibling=t.child,t.child=a):(null!==(e=o.last)?e.sibling=a:t.child=a,o.last=a)}return null!==o.tail?(e=o.tail,o.rendering=e,o.tail=e.sibling,o.renderingStartTime=jc(),e.sibling=null,n=cm.current,_(cm,n=r?n&sm|um:n&sm,t),e):(Zi(t),null);case 22:case 23:return er(t),Kn(t),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?0!=(536870912&n)&&0==(128&t.flags)&&(Zi(t),6&t.subtreeFlags&&(t.flags|=8192)):Zi(t),null!==(r=t.updateQueue)&&Ki(t,r.retryQueue),r=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(r=e.memoizedState.cachePool.pool),n=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(n=t.memoizedState.cachePool.pool),n!==r&&(t.flags|=2048),null!==e&&D(Tm,t),null;case 24:return r=null,null!==e&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),Sa(vm,t),Zi(t),null;case 25:return null}throw Error(\\\"Unknown unit of work tag (\\\"+t.tag+\\\"). This error is likely caused by a bug in React. Please file an issue.\\\")}function el(e,t){switch(Cn(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,(t.mode&Hp)!==Mp&&vn(t),t):null;case 3:return Sa(vm,t),N(t),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return U(t),null;case 13:if(er(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(\\\"Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.\\\");Dn()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,(t.mode&Hp)!==Mp&&vn(t),t):null;case 19:return D(cm,t),null;case 4:return N(t),null;case 10:return Sa(t.type,t),null;case 22:case 23:return er(t),Kn(t),null!==e&&D(Tm,t),65536&(e=t.flags)?(t.flags=-65537&e|128,(t.mode&Hp)!==Mp&&vn(t),t):null;case 24:return Sa(vm,t),null;case 25:default:return null}}function tl(e,t){switch(Cn(t),t.tag){case 3:Sa(vm,t),N(t);break;case 26:case 27:case 5:U(t);break;case 4:N(t);break;case 13:er(t);break;case 19:D(cm,t);break;case 10:Sa(t.type,t);break;case 22:case 23:er(t),Kn(t),null!==e&&D(Tm,t);break;case 24:Sa(vm,t)}}function nl(){var e=\\\"undefined\\\"!=typeof IS_REACT_ACT_ENVIRONMENT?IS_REACT_ACT_ENVIRONMENT:void 0;return e||null===bc.actQueue||console.error(\\\"The current testing environment is not configured to support act(...)\\\"),e}function rl(e){if((yy&sy)!==ly&&0!==ky)return ky&-ky;var t=bc.T;return null!==t?(t._updatedFibers||(t._updatedFibers=new Set),t._updatedFibers.add(e),0!==(e=Sm)?e:$l()):he()}function ol(){0===Hy&&(Hy=0==(536870912&ky)||kh?ae():536870912);var e=im.current;return null!==e&&(e.flags|=32),Hy}function al(e,t,n){if(cb&&console.error(\\\"useInsertionEffect must not schedule updates.\\\"),ab&&(ib=!0),(e===by&&Iy===xy||null!==e.cancelPendingCommit)&&(pl(e,0),cl(e,ky,Hy,!1)),se(e,n),0!=(yy&sy)&&e===by){if(Tc)switch(t.tag){case 0:case 11:case 15:e=vy&&v(vy)||\\\"Unknown\\\",gb.has(e)||(gb.add(e),t=v(t)||\\\"Unknown\\\",console.error(\\\"Cannot update a component (`%s`) while rendering a different component (`%s`). To locate the bad setState() call inside `%s`, follow the stack trace as described in https://react.dev/link/setstate-in-render\\\",t,e,e));break;case 1:mb||(console.error(\\\"Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state.\\\"),mb=!0)}}else td&&de(e,t,n),function(e){nl()&&null===bc.actQueue&&P(e,function(){console.error(\\\"An update to %s inside a test was not wrapped in act(...).\\\\n\\\\nWhen testing, code that causes React state updates should be wrapped into act(...):\\\\n\\\\nact(() => {\\\\n /* fire events that update state */\\\\n});\\\\n/* assert on the output */\\\\n\\\\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act\\\",v(e))})}(t),e===by&&((yy&sy)===ly&&(My|=n),Ny===hy&&cl(e,ky,Hy,!1)),Hl(e)}function il(e,t,n){if((yy&(sy|uy))!==ly)throw Error(\\\"Should not already be working.\\\");for(var r=!n&&0==(60&t)&&0==(t&e.expiredLanes)||re(e,t),o=r?function(e,t){var n=yy;yy|=sy;var r=ml(),o=gl();if(by!==e||ky!==t){if(td){var a=e.memoizedUpdaters;0\u003Ca.size&&(Ul(e,ky),a.clear()),fe(e,t)}Xy=null,$y=jc()+Yy,pl(e,t)}else _y=re(e,t);G(t);e:for(;;)try{if(Iy!==wy&&null!==vy)t:switch(t=vy,a=Ly,Iy){case Sy:Iy=wy,Ly=null,Cl(e,t,a,Sy);break;case xy:if(On(a)){Iy=wy,Ly=null,Sl(t);break}t=function(){Iy===xy&&by===e&&(Iy=Ry),Hl(e)},a.then(t,t);break e;case Cy:Iy=Ry;break e;case Ey:Iy=Ty;break e;case Ry:On(a)?(Iy=wy,Ly=null,Sl(t)):(Iy=wy,Ly=null,Cl(e,t,a,Ry));break;case Ty:var i=null;switch(vy.tag){case 26:i=vy.memoizedState;case 5:case 27:var l=vy;if(!i||fu(i)){Iy=wy,Ly=null;var s=l.sibling;if(null!==s)vy=s;else{var u=l.return;null!==u?(vy=u,El(u)):vy=null}break t}break;default:console.error(\\\"Unexpected type of fiber triggered a suspensey commit. This is a bug in React.\\\")}Iy=wy,Ly=null,Cl(e,t,a,Ty);break;case Py:Iy=wy,Ly=null,Cl(e,t,a,Py);break;case zy:fl(),Ny=gy;break e;default:throw Error(\\\"Unexpected SuspendedReason. This is a bug in React.\\\")}null!==bc.actQueue?vl():kl();break}catch(t){hl(e,t)}return ka(),bc.H=r,bc.A=o,yy=n,null!==vy?(null!==Jc&&\\\"function\\\"==typeof Jc.markRenderYielded&&Jc.markRenderYielded(),cy):(Z(),by=null,ky=0,en(),Ny)}(e,t):bl(e,t,!0),a=r;;){if(o===cy){_y&&!r&&cl(e,t,0,!1);break}if(o===gy)cl(e,t,0,!Dy);else{if(n=e.current.alternate,a&&!ul(n)){o=bl(e,t,!1),a=!1;continue}if(o===fy){if(a=t,e.errorRecoveryDisabledLanes&a)var i=0;else i=0!==(i=-536870913&e.pendingLanes)?i:536870912&i?536870912:0;if(0!==i){t=i;e:{var l=i;i=jy;var s=(o=e).current.memoizedState.isDehydrated;if(s&&(pl(o,l).flags|=256),(l=bl(o,l,!1))!==fy){if(Fy&&!s){o.errorRecoveryDisabledLanes|=a,My|=a,o=hy;break e}o=Vy,Vy=i,null!==o&&ll(o)}o=l}if(a=!1,o!==fy)continue}}if(o===dy){pl(e,0),cl(e,t,0,!0);break}e:{switch(r=e,o){case cy:case dy:throw Error(\\\"Root did not complete. This is a bug in React.\\\");case hy:if((4194176&t)===t){cl(r,t,Hy,!Dy);break e}break;case fy:Vy=null;break;case py:case my:break;default:throw Error(\\\"Unknown root exit status.\\\")}if(r.finishedWork=n,r.finishedLanes=t,null!==bc.actQueue)Pl(r,Vy,Xy,By,Hy,My,Wy,db,qp,0);else{if((62914560&t)===t&&10\u003C(o=qy+Qy-jc())){if(cl(r,t,Hy,!Dy),0!==ne(r,0))break e;r.timeoutHandle=rv(sl.bind(null,r,n,Vy,Xy,By,t,Hy,My,Wy,Dy,pb,qp,0),o);break e}sl(r,n,Vy,Xy,By,t,Hy,My,Wy,Dy,db,qp,0)}}}break}Hl(e)}function ll(e){null===Vy?Vy=e:Vy.push.apply(Vy,e)}function sl(e,t,n,r,o,a,i,l,s,u,c,d,f){var p=t.subtreeFlags;if((8192&p||16785408==(16785408&p))&&(Pv={stylesheets:null,count:0,unsuspend:pu},Di(t),null!==(t=function(){if(null===Pv)throw Error(\\\"Internal React Error: suspendedState null when it was expected to exists. Please report this as a React bug.\\\");var e=Pv;return e.stylesheets&&0===e.count&&mu(e,e.stylesheets),0\u003Ce.count?function(t){var n=setTimeout(function(){if(e.stylesheets&&mu(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4);return e.unsuspend=t,function(){e.unsuspend=null,clearTimeout(n)}}:null}())))return e.cancelPendingCommit=t(Pl.bind(null,e,n,r,o,i,l,s,fb,d,f)),void cl(e,a,i,!u);Pl(e,n,r,o,i,l,s,c,d,f)}function ul(e){for(var t=e;;){var n=t.tag;if((0===n||11===n||15===n)&&16384&t.flags&&(null!==(n=t.updateQueue)&&null!==(n=n.stores)))for(var r=0;r\u003Cn.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!dp(a(),o))return!1}catch(e){return!1}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function cl(e,t,n,r){t&=~Uy,t&=~My,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var o=t;0\u003Co;){var a=31-nd(o),i=1\u003C\u003Ca;r[a]=-1,o&=~i}0!==n&&ue(e,n,t)}function dl(){return(yy&(sy|uy))!==ly||(Wl(0,!1),!1)}function fl(){if(null!==vy){if(Iy===wy)var e=vy.return;else e=vy,ka(),wr(e),Xh=null,Kh=0,e=vy;for(;null!==e;)tl(e.alternate,e),e=e.return;vy=null}}function pl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;n!==av&&(e.timeoutHandle=av,ov(n)),null!==(n=e.cancelPendingCommit)&&(e.cancelPendingCommit=null,n()),fl(),by=e,vy=n=Hi(e.current,null),ky=t,Iy=wy,Ly=null,Dy=!1,_y=re(e,t),Fy=!1,Ny=cy,Wy=Hy=Uy=My=Ay=0,Vy=jy=null,By=!1,0!=(8&t)&&(t|=32&t);var r=e.entangledLanes;if(0!==r)for(e=e.entanglements,r&=t;0\u003Cr;){var o=31-nd(r),a=1\u003C\u003Co;t|=e[o],r&=~a}return Oy=t,en(),Gp.discardPendingWarnings(),n}function hl(e,t){Dm=null,bc.H=Ym,bc.getCurrentStack=null,Tc=!1,Ec=null,t===Th?(t=Mn(),Iy=Cy):t===Ph?(t=Mn(),Iy=Ey):Iy=t===yg?zy:null!==t&&\\\"object\\\"==typeof t&&\\\"function\\\"==typeof t.then?Py:Sy,Ly=t;var n=vy;if(null===n)Ny=dy,Bo(e,kn(t,e.current));else switch(n.mode&Hp&&mn(n),K(),Iy){case Sy:null!==Jc&&\\\"function\\\"==typeof Jc.markComponentErrored&&Jc.markComponentErrored(n,t,ky);break;case xy:case Cy:case Py:case Ry:null!==Jc&&\\\"function\\\"==typeof Jc.markComponentSuspended&&Jc.markComponentSuspended(n,t,ky)}}function ml(){var e=bc.H;return bc.H=Ym,null===e?Ym:e}function gl(){var e=bc.A;return bc.A=ry,e}function yl(){Ny=hy,Dy||(4194176&ky)!==ky&&null!==im.current||(_y=!0),0==(134217727&Ay)&&0==(134217727&My)||null===by||cl(by,ky,Hy,!1)}function bl(e,t,n){var r=yy;yy|=sy;var o=ml(),a=gl();if(by!==e||ky!==t){if(td){var i=e.memoizedUpdaters;0\u003Ci.size&&(Ul(e,ky),i.clear()),fe(e,t)}Xy=null,pl(e,t)}G(t),t=!1,i=Ny;e:for(;;)try{if(Iy!==wy&&null!==vy){var l=vy,s=Ly;switch(Iy){case zy:fl(),i=gy;break e;case Cy:case xy:case Py:null===im.current&&(t=!0);var u=Iy;if(Iy=wy,Ly=null,Cl(e,l,s,u),n&&_y){i=cy;break e}break;default:u=Iy,Iy=wy,Ly=null,Cl(e,l,s,u)}}vl(),i=Ny;break}catch(t){hl(e,t)}return t&&e.shellSuspendCounter++,ka(),yy=r,bc.H=o,bc.A=a,Z(),null===vy&&(by=null,ky=0,en()),i}function vl(){for(;null!==vy;)wl(vy)}function kl(){for(;null!==vy&&!Hc();)wl(vy)}function wl(e){var t=e.alternate;(e.mode&Hp)!==Mp?(hn(e),t=P(e,va,t,e,Oy),mn(e)):t=P(e,va,t,e,Oy),e.memoizedProps=e.pendingProps,null===t?El(e):vy=t}function Sl(e){var t=P(e,xl,e);e.memoizedProps=e.pendingProps,null===t?El(e):vy=t}function xl(e){var t=e.alternate,n=(e.mode&Hp)!==Mp;switch(n&&hn(e),e.tag){case 15:case 0:t=ra(t,e,e.pendingProps,e.type,void 0,ky);break;case 11:t=ra(t,e,e.pendingProps,e.type.render,e.ref,ky);break;case 5:wr(e);default:tl(t,e),t=va(t,e=vy=Wi(e,Oy),Oy)}return n&&mn(e),t}function Cl(e,t,n,r){ka(),wr(t),Xh=null,Kh=0;var o=t.return;try{if(function(e,t,n,r,o){if(n.flags|=32768,td&&Ul(e,o),null!==r&&\\\"object\\\"==typeof r&&\\\"function\\\"==typeof r.then){if(null!==(t=n.alternate)&&Ea(t,n,o,!0),kh&&(wh=!0),null!==(n=im.current)){switch(n.tag){case 13:return null===lm?yl():null===n.alternate&&Ny===cy&&(Ny=py),n.flags&=-257,n.flags|=65536,n.lanes=o,r===Rh?n.flags|=16384:(null===(t=n.updateQueue)?n.updateQueue=new Set([r]):t.add(r),_l(e,r,o)),!1;case 22:return n.flags|=65536,r===Rh?n.flags|=16384:(null===(t=n.updateQueue)?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):null===(n=t.retryQueue)?t.retryQueue=new Set([r]):n.add(r),_l(e,r,o)),!1}throw Error(\\\"Unexpected Suspense handler tag (\\\"+n.tag+\\\"). This is a bug in React.\\\")}return _l(e,r,o),yl(),!1}if(kh)return wh=!0,null!==(t=im.current)?(0==(65536&t.flags)&&(t.flags|=256),t.flags|=65536,t.lanes=o,r!==Eh&&_n(kn(Error(\\\"There was an error while hydrating but React was able to recover by instead client rendering from the nearest Suspense boundary.\\\",{cause:r}),n))):(r!==Eh&&_n(kn(Error(\\\"There was an error while hydrating but React was able to recover by instead client rendering the entire root.\\\",{cause:r}),n)),(e=e.current.alternate).flags|=65536,o&=-o,e.lanes|=o,r=kn(r,n),Na(e,o=Qo(e.stateNode,r,o)),Ny!==hy&&(Ny=fy)),!1;var a=kn(Error(\\\"There was an error during concurrent rendering but React was able to recover by instead synchronously rendering the entire root.\\\",{cause:r}),n);if(null===jy?jy=[a]:jy.push(a),Ny!==hy&&(Ny=fy),null===t)return!0;r=kn(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=o&-o,n.lanes|=e,Na(n,e=Qo(n.stateNode,r,e)),!1;case 1:if(t=n.type,a=n.stateNode,0==(128&n.flags)&&(\\\"function\\\"==typeof t.getDerivedStateFromError||null!==a&&\\\"function\\\"==typeof a.componentDidCatch&&(null===Ky||!Ky.has(a))))return n.flags|=65536,o&=-o,n.lanes|=o,Yo(o=$o(o),e,n,r),Na(n,o),!1}n=n.return}while(null!==n);return!1}(e,o,t,n,ky))return Ny=dy,Bo(e,kn(n,e.current)),void(vy=null)}catch(t){if(null!==o)throw vy=o,t;return Ny=dy,Bo(e,kn(n,e.current)),void(vy=null)}32768&t.flags?(kh||r===Sy?e=!0:_y||0!=(536870912&ky)?e=!1:(Dy=e=!0,(r===xy||r===Cy||r===Py)&&(null!==(r=im.current)&&13===r.tag&&(r.flags|=16384))),Tl(t,e)):El(t)}function El(e){var t=e;do{if(0!=(32768&t.flags))return void Tl(t,Dy);var n=t.alternate;if(e=t.return,hn(t),n=P(t,Ji,n,t,Oy),(t.mode&Hp)!==Mp&&gn(t),null!==n)return void(vy=n);if(null!==(t=t.sibling))return void(vy=t);vy=t=e}while(null!==t);Ny===cy&&(Ny=my)}function Tl(e,t){do{var n=el(e.alternate,e);if(null!==n)return n.flags&=32767,void(vy=n);if((e.mode&Hp)!==Mp){gn(e),n=e.actualDuration;for(var r=e.child;null!==r;)n+=r.actualDuration,r=r.sibling;e.actualDuration=n}if(null!==(n=e.return)&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&null!==(e=e.sibling))return void(vy=e);vy=e=n}while(null!==e);Ny=gy,vy=null}function Pl(e,t,n,r,o,a,i,l,s,u){var c=bc.T,d=Rc.p;try{Rc.p=ld,bc.T=null,function(e,t,n,r,o,a,i,l){do{Il()}while(null!==Zy);if(Gp.flushLegacyContextWarning(),Gp.flushPendingUnsafeLifecycleWarnings(),(yy&(sy|uy))!==ly)throw Error(\\\"Should not already be working.\\\");var s=e.finishedWork;if(r=e.finishedLanes,null!==Jc&&\\\"function\\\"==typeof Jc.markCommitStarted&&Jc.markCommitStarted(r),null===s)return Y(),null;if(0===r&&console.error(\\\"root.finishedLanes should not be empty during a commit. This is a bug in React.\\\"),e.finishedWork=null,e.finishedLanes=0,s===e.current)throw Error(\\\"Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.\\\");e.callbackNode=null,e.callbackPriority=0,e.cancelPendingCommit=null;var u=s.lanes|s.childLanes;if(function(e,t,n,r,o,a){var i=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,u=e.hiddenUpdates;for(n=i&~n;0\u003Cn;){var c=31-nd(n),d=1\u003C\u003Cc;l[c]=0,s[c]=-1;var f=u[c];if(null!==f)for(u[c]=null,c=0;c\u003Cf.length;c++){var p=f[c];null!==p&&(p.lane&=-536870913)}n&=~d}0!==r&&ue(e,r,0),0!==a&&0===o&&0!==e.tag&&(e.suspendedLanes|=a&~(i&~t))}(e,r,u|=Fp,a,i,l),e===by&&(vy=by=null,ky=0),0==(10256&s.subtreeFlags)&&0==(10256&s.flags)||Gy||(Gy=!0,eb=u,tb=n,c=Qc,d=function(){return Il(),null},f=bc.actQueue,null!==f?f.push(d):Mc(c,d)),Qp=Bp(),n=0!=(15990&s.flags),0!=(15990&s.subtreeFlags)||n?(n=bc.T,bc.T=null,a=Rc.p,Rc.p=ld,i=yy,yy|=uy,function(e,t){if(e=e.containerInfo,Jb=Uv,Yt(e=$t(e))){if(\\\"selectionStart\\\"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var o=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch(e){n=null;break e}var i=0,l=-1,s=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var p;d!==n||0!==o&&3!==d.nodeType||(l=i+o),d!==a||0!==r&&3!==d.nodeType||(s=i+r),3===d.nodeType&&(i+=d.nodeValue.length),null!==(p=d.firstChild);)f=d,d=p;for(;;){if(d===e)break t;if(f===n&&++u===o&&(l=i),f===a&&++c===r&&(s=i),null!==(p=d.nextSibling))break;f=(d=f).parentNode}d=p}n=-1===l||-1===s?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(ev={focusedElem:e,selectionRange:n},Uv=!1,$g=t;null!==$g;)if(e=(t=$g).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,$g=e;else for(;null!==$g;){switch(n=(e=t=$g).alternate,o=e.flags,e.tag){case 0:break;case 11:case 15:break;case 1:0!=(1024&o)&&null!==n&&Ga(e,n);break;case 3:if(0!=(1024&o))if(9===(n=(e=e.stateNode.containerInfo).nodeType))Ws(e);else if(1===n)switch(e.nodeName){case\\\"HEAD\\\":case\\\"HTML\\\":case\\\"BODY\\\":Ws(e);break;default:e.textContent=\\\"\\\"}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(0!=(1024&o))throw Error(\\\"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\\\")}if(null!==(e=t.sibling)){e.return=t.return,$g=e;break}$g=t.return}t=Kg,Kg=!1}(e,s),function(e,t,n){Yg=n,Xg=e,yi(t,e),Xg=Yg=null}(e,s,r),Xt(ev,e.containerInfo),Uv=!!Jb,ev=Jb=null,e.current=s,null!==Jc&&\\\"function\\\"==typeof Jc.markLayoutEffectsStarted&&Jc.markLayoutEffectsStarted(r),function(e,t,n){Yg=n,Xg=t,ci(t,e.alternate,e),Xg=Yg=null}(s,e,r),null!==Jc&&\\\"function\\\"==typeof Jc.markLayoutEffectsStopped&&Jc.markLayoutEffectsStopped(),Wc(),yy=i,Rc.p=a,bc.T=n):e.current=s,(n=Gy)?(Gy=!1,Zy=e,Jy=r):(zl(e,u),sb=0,ub=null),0===(u=e.pendingLanes)&&(Ky=null),n||Al(e),function(e,t){if(Zc&&\\\"function\\\"==typeof Zc.onCommitFiberRoot)try{var n=128==(128&e.current.flags);switch(t){case ld:var r=Bc;break;case sd:r=qc;break;case ud:r=Qc;break;case cd:r=Yc;break;default:r=Qc}Zc.onCommitFiberRoot(Gc,e,r,n)}catch(e){ed||(ed=!0,console.error(\\\"React instrumentation encountered an error: %s\\\",e))}}(s.stateNode,o),td&&e.memoizedUpdaters.clear(),ay.forEach(function(e){return e()}),Hl(e),null!==t)for(o=e.onRecoverableError,s=0;s\u003Ct.length;s++)u=t[s],n=Rl(u.stack),P(u.source,o,u.value,n);var c,d,f;0!=(3&Jy)&&Il(),u=e.pendingLanes,0!=(4194218&r)&&0!=(42&u)?(Kp=!0,e===ob?rb++:(rb=0,ob=e)):rb=0,Wl(0,!1),Y()}(e,t,n,r,d,o,a,i)}finally{bc.T=c,Rc.p=d}}function Rl(e){return e={componentStack:e},Object.defineProperty(e,\\\"digest\\\",{get:function(){console.error('You are accessing \\\"digest\\\" from the errorInfo object passed to onRecoverableError. This property is no longer provided as part of errorInfo but can be accessed as a property of the Error instance itself.')}}),e}function zl(e,t){0==(e.pooledCacheLanes&=t)&&(null!=(t=e.pooledCache)&&(e.pooledCache=null,or(t)))}function Il(){if(null!==Zy){var e=Zy,t=eb;eb=0;var n=pe(Jy),r=0===ud||ud>n?ud:n;n=bc.T;var o=Rc.p;try{if(Rc.p=r,bc.T=null,null===Zy)var a=!1;else{r=tb,tb=null;var i=Zy,l=Jy;if(Zy=null,Jy=0,(yy&(sy|uy))!==ly)throw Error(\\\"Cannot flush passive effects while already rendering.\\\");ab=!0,ib=!1,null!==Jc&&\\\"function\\\"==typeof Jc.markPassiveEffectsStarted&&Jc.markPassiveEffectsStarted(l);var s=yy;if(yy|=uy,Oi(i.current),Pi(i,i.current,l,r),null!==Jc&&\\\"function\\\"==typeof Jc.markPassiveEffectsStopped&&Jc.markPassiveEffectsStopped(),Al(i),yy=s,Wl(0,!1),ib?i===ub?sb++:(sb=0,ub=i):sb=0,ib=ab=!1,Zc&&\\\"function\\\"==typeof Zc.onPostCommitFiberRoot)try{Zc.onPostCommitFiberRoot(Gc,i)}catch(e){ed||(ed=!0,console.error(\\\"React instrumentation encountered an error: %s\\\",e))}var u=i.current.stateNode;u.effectDuration=0,u.passiveEffectDuration=0,a=!0}return a}finally{Rc.p=o,bc.T=n,zl(e,t)}}return!1}function Ll(e,t,n){t=kn(n,t),null!==(e=Fa(e,t=Qo(e.stateNode,t,2),2))&&(se(e,2),Hl(e))}function Dl(e,t,n){if(cb=!1,3===e.tag)Ll(e,e,n);else{for(;null!==t;){if(3===t.tag)return void Ll(t,e,n);if(1===t.tag){var r=t.stateNode;if(\\\"function\\\"==typeof t.type.getDerivedStateFromError||\\\"function\\\"==typeof r.componentDidCatch&&(null===Ky||!Ky.has(r)))return e=kn(n,e),void(null!==(r=Fa(t,n=$o(2),2))&&(Yo(n,r,t,e),se(r,2),Hl(r)))}t=t.return}console.error(\\\"Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Potential causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.\\\\n\\\\nError message:\\\\n\\\\n%s\\\",n)}}function _l(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new iy;var o=new Set;r.set(t,o)}else void 0===(o=r.get(t))&&(o=new Set,r.set(t,o));o.has(n)||(Fy=!0,o.add(n),r=function(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,nl()&&null===bc.actQueue&&console.error(\\\"A suspended resource finished loading inside a test, but the event was not wrapped in act(...).\\\\n\\\\nWhen testing, code that resolves suspended data should be wrapped into act(...):\\\\n\\\\nact(() => {\\\\n /* finish loading suspended data */\\\\n});\\\\n/* assert on the output */\\\\n\\\\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act\\\"),by===e&&(ky&n)===n&&(Ny===hy||Ny===py&&(62914560&ky)===ky&&jc()-qy\u003CQy?(yy&sy)===ly&&pl(e,0):Uy|=n,Wy===ky&&(Wy=0)),Hl(e)}.bind(null,e,t,n),td&&Ul(e,n),t.then(r,r))}function Fl(e,t){0===t&&(t=ie()),null!==(e=rn(e,t))&&(se(e,t),Hl(e))}function Ol(e,t,n){if(0!=(33562624&t.subtreeFlags))for(t=t.child;null!==t;){var r=e,o=t,a=o.type===Gu;a=n||a,22!==o.tag?33554432&o.flags?a&&P(o,Nl,r,o,(o.mode&Vp)===Mp):Ol(r,o,a):null===o.memoizedState&&(a&&8192&o.flags?P(o,Nl,r,o):33554432&o.subtreeFlags&&P(o,Ol,r,o,a)),t=t.sibling}}function Nl(e,t){var n=!(2\u003Carguments.length&&void 0!==arguments[2])||arguments[2];Q(!0);try{ki(t),n&&Ai(t),Si(e,t.alternate,t,!1),n&&zi(e,t,0,null,!1)}finally{Q(!1)}}function Al(e){var t=!0;e.current.mode&(Wp|jp)||(t=!1),Ol(e,e.current,t)}function Ml(e){if((yy&sy)===ly){var t=e.tag;if(3===t||1===t||0===t||11===t||14===t||15===t){if(t=v(e)||\\\"ReactComponent\\\",null!==hb){if(hb.has(t))return;hb.add(t)}else hb=new Set([t]);P(e,function(){console.error(\\\"Can't perform a React state update on a component that hasn't mounted yet. This indicates that you have a side-effect in your render function that asynchronously later calls tries to update the component. Move this work to useEffect instead.\\\")})}}}function Ul(e,t){td&&e.memoizedUpdaters.forEach(function(n){de(e,n,t)})}function Hl(e){e!==bb&&null===e.next&&(null===bb?yb=bb=e:bb=bb.next=e),wb=!0,null!==bc.actQueue?kb||(kb=!0,Ql(jl)):vb||(vb=!0,Ql(jl))}function Wl(e,t){if(!Sb&&wb){Sb=!0;do{for(var n=!1,r=yb;null!==r;){if(!t)if(0!==e){var o=r.pendingLanes;if(0===o)var a=0;else{var i=r.suspendedLanes,l=r.pingedLanes;a=(1\u003C\u003C31-nd(42|e)+1)-1,a=201326677&(a&=o&~(i&~l))?201326677&a|1:a?2|a:0}0!==a&&(n=!0,Bl(r,a))}else a=ky,0==(3&(a=ne(r,r===by?a:0)))||re(r,a)||(n=!0,Bl(r,a));r=r.next}}while(n);Sb=!1}}function jl(){wb=kb=vb=!1;var e=0;0!==xb&&(function(){var e=window.event;if(e&&\\\"popstate\\\"===e.type)return e!==nv&&(nv=e,!0);return nv=null,!1}()&&(e=xb),xb=0);for(var t=jc(),n=null,r=yb;null!==r;){var o=r.next,a=Vl(r,t);0===a?(r.next=null,null===n?yb=o:n.next=o,null===o&&(bb=n)):(n=r,(0!==e||0!=(3&a))&&(wb=!0)),r=o}Wl(e,!1)}function Vl(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=-62914561&e.pendingLanes;0\u003Ca;){var i=31-nd(a),l=1\u003C\u003Ci,s=o[i];-1===s?0!=(l&n)&&0==(l&r)||(o[i]=oe(l,t)):s\u003C=t&&(e.expiredLanes|=l),a&=~l}if(n=ky,n=ne(e,e===(t=by)?n:0),r=e.callbackNode,0===n||e===t&&Iy===xy||null!==e.cancelPendingCommit)return null!==r&&ql(r),e.callbackNode=null,e.callbackPriority=0;if(0==(3&n)||re(e,n)){if((t=n&-n)===e.callbackPriority&&(null===bc.actQueue||r===Cb))return t;switch(ql(r),pe(n)){case ld:case sd:n=qc;break;case ud:n=Qc;break;case cd:n=Yc;break;default:n=Qc}return r=function e(t,n){Kp=Xp=!1;var r=t.callbackNode;if(Il()&&t.callbackNode!==r)return null;var o=ky;o=ne(t,t===by?o:0);if(0===o)return null;il(t,o,n);Vl(t,jc());return null!=t.callbackNode&&t.callbackNode===r?e.bind(null,t):null}.bind(null,e),null!==bc.actQueue?(bc.actQueue.push(r),n=Cb):n=Mc(n,r),e.callbackPriority=t,e.callbackNode=n,t}return null!==r&&ql(r),e.callbackPriority=2,e.callbackNode=null,2}function Bl(e,t){if(Il())return null;Xp=Kp,Kp=!1,il(e,t,!0)}function ql(e){e!==Cb&&null!==e&&Uc(e)}function Ql(e){null!==bc.actQueue&&bc.actQueue.push(function(){return e(),null}),lv(function(){(yy&(sy|uy))!==ly?Mc(Bc,e):e()})}function $l(){return 0===xb&&(xb=ae()),xb}function Yl(e){return null==e||\\\"symbol\\\"==typeof e||\\\"boolean\\\"==typeof e?null:\\\"function\\\"==typeof e?e:(V(e,\\\"action\\\"),vt(\\\"\\\"+e))}function Xl(e,t){var n=t.ownerDocument.createElement(\\\"input\\\");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(\\\"form\\\",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function Kl(e,t){t=0!=(4&t);for(var n=0;n\u003Ce.length;n++){var r=e[n];e:{var o=void 0,a=r.event;if(r=r.listeners,t)for(var i=r.length-1;0\u003C=i;i--){var l=r[i],s=l.instance,u=l.currentTarget;if(l=l.listener,s!==o&&a.isPropagationStopped())break e;(o=a).currentTarget=u;try{l(o)}catch(e){hg(e)}o.currentTarget=null,o=s}else for(i=0;i\u003Cr.length;i++){if(s=(l=r[i]).instance,u=l.currentTarget,l=l.listener,s!==o&&a.isPropagationStopped())break e;(o=a).currentTarget=u;try{l(o)}catch(e){hg(e)}o.currentTarget=null,o=s}}}}function Gl(e,t){Tb.has(e)||console.error('Did not expect a listenToNonDelegatedEvent() call for \\\"%s\\\". This is a bug in React. Please file an issue.',e);var n=t[md];void 0===n&&(n=t[md]=new Set);var r=e+\\\"__bubble\\\";n.has(r)||(es(t,e,2,!1),n.add(r))}function Zl(e,t,n){Tb.has(e)&&!t&&console.error('Did not expect a listenToNativeEvent() call for \\\"%s\\\" in the bubble phase. This is a bug in React. Please file an issue.',e);var r=0;t&&(r|=4),es(n,e,r,t)}function Jl(e){if(!e[Pb]){e[Pb]=!0,kd.forEach(function(t){\\\"selectionchange\\\"!==t&&(Tb.has(t)||Zl(t,!1,e),Zl(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Pb]||(t[Pb]=!0,Zl(\\\"selectionchange\\\",!1,t))}}function es(e,t,n,r){switch(Lu(t)){case ld:var o=Tu;break;case sd:o=Pu;break;default:o=Ru}n=o.bind(null,t,n,e),o=void 0,!Sf||\\\"touchstart\\\"!==t&&\\\"touchmove\\\"!==t&&\\\"wheel\\\"!==t||(o=!0),r?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function ts(e,t,n,r,o){var a=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var l=r.stateNode.containerInfo;if(l===o||8===l.nodeType&&l.parentNode===o)break;if(4===i)for(i=r.return;null!==i;){var s=i.tag;if((3===s||4===s)&&((s=i.stateNode.containerInfo)===o||8===s.nodeType&&s.parentNode===o))return;i=i.return}for(;null!==l;){if(null===(i=ge(l)))return;if(5===(s=i.tag)||6===s||26===s||27===s){r=a=i;continue e}l=l.parentNode}}r=r.return}St(function(){var r=a,o=kt(n),i=[];e:{var l=Pp.get(e);if(void 0!==l){var s=Lf,u=e;switch(e){case\\\"keypress\\\":if(0===Et(n))break e;case\\\"keydown\\\":case\\\"keyup\\\":s=qf;break;case\\\"focusin\\\":u=\\\"focus\\\",s=Af;break;case\\\"focusout\\\":u=\\\"blur\\\",s=Af;break;case\\\"beforeblur\\\":case\\\"afterblur\\\":s=Af;break;case\\\"click\\\":if(2===n.button)break e;case\\\"auxclick\\\":case\\\"dblclick\\\":case\\\"mousedown\\\":case\\\"mousemove\\\":case\\\"mouseup\\\":case\\\"mouseout\\\":case\\\"mouseover\\\":case\\\"contextmenu\\\":s=Of;break;case\\\"drag\\\":case\\\"dragend\\\":case\\\"dragenter\\\":case\\\"dragexit\\\":case\\\"dragleave\\\":case\\\"dragover\\\":case\\\"dragstart\\\":case\\\"drop\\\":s=Nf;break;case\\\"touchcancel\\\":case\\\"touchend\\\":case\\\"touchmove\\\":case\\\"touchstart\\\":s=$f;break;case kp:case wp:case Sp:s=Mf;break;case Tp:s=Yf;break;case\\\"scroll\\\":case\\\"scrollend\\\":s=_f;break;case\\\"wheel\\\":s=Xf;break;case\\\"copy\\\":case\\\"cut\\\":case\\\"paste\\\":s=Uf;break;case\\\"gotpointercapture\\\":case\\\"lostpointercapture\\\":case\\\"pointercancel\\\":case\\\"pointerdown\\\":case\\\"pointermove\\\":case\\\"pointerout\\\":case\\\"pointerover\\\":case\\\"pointerup\\\":s=Qf;break;case\\\"toggle\\\":case\\\"beforetoggle\\\":s=Kf}var c=0!=(4&t),d=!c&&(\\\"scroll\\\"===e||\\\"scrollend\\\"===e),f=c?null!==l?l+\\\"Capture\\\":null:l;c=[];for(var p,h=r;null!==h;){var m=h;if(p=m.stateNode,5!==(m=m.tag)&&26!==m&&27!==m||null===p||null===f||null!=(m=xt(h,f))&&c.push(ns(h,m,p)),d)break;h=h.return}0\u003Cc.length&&(l=new s(l,u,null,n,o),i.push({event:l,listeners:c}))}}if(0==(7&t)){if(l=\\\"mouseover\\\"===e||\\\"pointerover\\\"===e,s=\\\"mouseout\\\"===e||\\\"pointerout\\\"===e,(!l||n===bf||!(u=n.relatedTarget||n.fromElement)||!ge(u)&&!u[hd])&&(s||l)&&(l=o.window===o?o:(l=o.ownerDocument)?l.defaultView||l.parentWindow:window,s?(s=r,null!==(u=(u=n.relatedTarget||n.toElement)?ge(u):null)&&(d=R(u),c=u.tag,u!==d||5!==c&&27!==c&&6!==c)&&(u=null)):(s=null,u=r),s!==u)){if(c=Of,m=\\\"onMouseLeave\\\",f=\\\"onMouseEnter\\\",h=\\\"mouse\\\",\\\"pointerout\\\"!==e&&\\\"pointerover\\\"!==e||(c=Qf,m=\\\"onPointerLeave\\\",f=\\\"onPointerEnter\\\",h=\\\"pointer\\\"),d=null==s?l:be(s),p=null==u?l:be(u),(l=new c(m,h+\\\"leave\\\",s,n,o)).target=d,l.relatedTarget=p,m=null,ge(o)===r&&((c=new c(f,h+\\\"enter\\\",u,n,o)).target=p,c.relatedTarget=d,m=c),d=m,s&&u)e:{for(f=u,h=0,p=c=s;p;p=os(p))h++;for(p=0,m=f;m;m=os(m))p++;for(;0\u003Ch-p;)c=os(c),h--;for(;0\u003Cp-h;)f=os(f),p--;for(;h--;){if(c===f||null!==f&&c===f.alternate)break e;c=os(c),f=os(f)}c=null}else c=null;null!==s&&as(i,l,s,c,!1),null!==u&&null!==d&&as(i,d,u,c,!0)}if(\\\"select\\\"===(s=(l=r?be(r):window).nodeName&&l.nodeName.toLowerCase())||\\\"input\\\"===s&&\\\"file\\\"===l.type)var g=At;else if(_t(l))if(cp)g=Vt;else{g=Wt;var y=Ht}else!(s=l.nodeName)||\\\"input\\\"!==s.toLowerCase()||\\\"checkbox\\\"!==l.type&&\\\"radio\\\"!==l.type?r&&mt(r.elementType)&&(g=At):g=jt;switch(g&&(g=g(e,r))?Ft(i,g,n,o):(y&&y(e,l,r),\\\"focusout\\\"===e&&r&&\\\"number\\\"===l.type&&null!=r.memoizedProps.value&&Me(l,\\\"number\\\",l.value)),y=r?be(r):window,e){case\\\"focusin\\\":(_t(y)||\\\"true\\\"===y.contentEditable)&&(pp=y,hp=r,mp=null);break;case\\\"focusout\\\":mp=hp=pp=null;break;case\\\"mousedown\\\":gp=!0;break;case\\\"contextmenu\\\":case\\\"mouseup\\\":case\\\"dragend\\\":gp=!1,Kt(i,n,o);break;case\\\"selectionchange\\\":if(fp)break;case\\\"keydown\\\":case\\\"keyup\\\":Kt(i,n,o)}var b;if(Jf)e:{switch(e){case\\\"compositionstart\\\":var v=\\\"onCompositionStart\\\";break e;case\\\"compositionend\\\":v=\\\"onCompositionEnd\\\";break e;case\\\"compositionupdate\\\":v=\\\"onCompositionUpdate\\\";break e}v=void 0}else ip?Lt(e,n)&&(v=\\\"onCompositionEnd\\\"):\\\"keydown\\\"===e&&n.keyCode===Zf&&(v=\\\"onCompositionStart\\\");v&&(np&&\\\"ko\\\"!==n.locale&&(ip||\\\"onCompositionStart\\\"!==v?\\\"onCompositionEnd\\\"===v&&ip&&(b=Ct()):(Rf=\\\"value\\\"in(Pf=o)?Pf.value:Pf.textContent,ip=!0)),0\u003C(y=rs(r,v)).length&&(v=new Hf(v,e,null,n,o),i.push({event:v,listeners:y}),b?v.data=b:null!==(b=Dt(n))&&(v.data=b))),(b=tp?function(e,t){switch(e){case\\\"compositionend\\\":return Dt(t);case\\\"keypress\\\":return t.which!==rp?null:(ap=!0,op);case\\\"textInput\\\":return(e=t.data)===op&&ap?null:e;default:return null}}(e,n):function(e,t){if(ip)return\\\"compositionend\\\"===e||!Jf&&Lt(e,t)?(e=Ct(),zf=Rf=Pf=null,ip=!1,e):null;switch(e){case\\\"paste\\\":return null;case\\\"keypress\\\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1\u003Ct.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\\\"compositionend\\\":return np&&\\\"ko\\\"!==t.locale?null:t.data;default:return null}}(e,n))&&(0\u003C(v=rs(r,\\\"onBeforeInput\\\")).length&&(y=new Wf(\\\"onBeforeInput\\\",\\\"beforeinput\\\",null,n,o),i.push({event:y,listeners:v}),y.data=b)),function(e,t,n,r,o){if(\\\"submit\\\"===t&&n&&n.stateNode===o){var a=Yl((o[pd]||null).action),i=r.submitter;i&&null!==(t=(t=i[pd]||null)?Yl(t.formAction):i.getAttribute(\\\"formAction\\\"))&&(a=t,i=null);var l=new Lf(\\\"action\\\",\\\"action\\\",null,r,o);e.push({event:l,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(0!==xb){var e=i?Xl(o,i):new FormData(o),t={pending:!0,data:e,method:o.method,action:a};Object.freeze(t),wo(n,t,null,e)}}else\\\"function\\\"==typeof a&&(l.preventDefault(),t={pending:!0,data:e=i?Xl(o,i):new FormData(o),method:o.method,action:a},Object.freeze(t),wo(n,t,a,e))},currentTarget:o}]})}}(i,e,r,n,o)}Kl(i,t)})}function ns(e,t,n){return{instance:e,listener:t,currentTarget:n}}function rs(e,t){for(var n=t+\\\"Capture\\\",r=[];null!==e;){var o=e,a=o.stateNode;5!==(o=o.tag)&&26!==o&&27!==o||null===a||(null!=(o=xt(e,n))&&r.unshift(ns(e,o,a)),null!=(o=xt(e,t))&&r.push(ns(e,o,a))),e=e.return}return r}function os(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag&&27!==e.tag);return e||null}function as(e,t,n,r,o){for(var a=t._reactName,i=[];null!==n&&n!==r;){var l=n,s=l.alternate,u=l.stateNode;if(l=l.tag,null!==s&&s===r)break;5!==l&&26!==l&&27!==l||null===u||(s=u,o?null!=(u=xt(n,a))&&i.unshift(ns(n,u,s)):o||null!=(u=xt(n,a))&&i.push(ns(n,u,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}function is(e,t){!function(e,t){var n,r=[];for(n in t)yt(e,n)||r.push(n);t=r.map(function(e){return\\\"`\\\"+e+\\\"`\\\"}).join(\\\", \\\"),1===r.length?console.error(\\\"Invalid aria prop %s on \u003C%s> tag. For details, see https://react.dev/link/invalid-aria-props\\\",t,e):1\u003Cr.length&&console.error(\\\"Invalid aria props %s on \u003C%s> tag. For details, see https://react.dev/link/invalid-aria-props\\\",t,e)}(e,t),\\\"input\\\"!==e&&\\\"textarea\\\"!==e&&\\\"select\\\"!==e||null==t||null!==t.value||df||(df=!0,\\\"select\\\"===e&&t.multiple?console.error(\\\"`value` prop on `%s` should not be null. Consider using an empty array when `multiple` is set to `true` to clear the component or `undefined` for uncontrolled components.\\\",e):console.error(\\\"`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.\\\",e));var n={registrationNameDependencies:wd,possibleRegistrationNames:Sd};mt(e)||\\\"string\\\"==typeof t.is||function(e,t,n){var r,o=[];for(r in t)bt(e,r,t[r],n)||o.push(r);t=o.map(function(e){return\\\"`\\\"+e+\\\"`\\\"}).join(\\\", \\\"),1===o.length?console.error(\\\"Invalid value for prop %s on \u003C%s> tag. Either remove it from the element, or pass a string or number value to keep it in the DOM. For details, see https://react.dev/link/attribute-behavior \\\",t,e):1\u003Co.length&&console.error(\\\"Invalid values for props %s on \u003C%s> tag. Either remove them from the element, or pass a string or number value to keep them in the DOM. For details, see https://react.dev/link/attribute-behavior \\\",t,e)}(e,t,n),t.contentEditable&&!t.suppressContentEditableWarning&&null!=t.children&&console.error(\\\"A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional.\\\")}function ls(e,t,n,r){t!==n&&(n=cs(n),cs(t)!==n&&(r[e]=t))}function ss(e,t){!1===t?console.error(\\\"Expected `%s` listener to be a function, instead got `false`.\\\\n\\\\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.\\\",e,e,e):console.error(\\\"Expected `%s` listener to be a function, instead got a value of `%s` type.\\\",e,typeof t)}function us(e,t){return(e=e.namespaceURI===Bd||e.namespaceURI===qd?e.ownerDocument.createElementNS(e.namespaceURI,e.tagName):e.ownerDocument.createElement(e.tagName)).innerHTML=t,e.innerHTML}function cs(e){return W(e)&&(console.error(\\\"The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before using it here.\\\",H(e)),j(e)),(\\\"string\\\"==typeof e?e:\\\"\\\"+e).replace(Ab,\\\"\\\\n\\\").replace(Mb,\\\"\\\")}function ds(e,t){return t=cs(t),cs(e)===t}function fs(){}function ps(e,t,n,r,o,a){switch(n){case\\\"children\\\":\\\"string\\\"==typeof r?(dt(r,t),\\\"body\\\"===t||\\\"textarea\\\"===t&&\\\"\\\"===r||ft(e,r)):\\\"number\\\"!=typeof r&&\\\"bigint\\\"!=typeof r||(dt(\\\"\\\"+r,t),\\\"body\\\"!==t&&ft(e,\\\"\\\"+r));break;case\\\"className\\\":Pe(e,\\\"class\\\",r);break;case\\\"tabIndex\\\":Pe(e,\\\"tabindex\\\",r);break;case\\\"dir\\\":case\\\"role\\\":case\\\"viewBox\\\":case\\\"width\\\":case\\\"height\\\":Pe(e,n,r);break;case\\\"style\\\":ht(e,r,a);break;case\\\"data\\\":if(\\\"object\\\"!==t){Pe(e,\\\"data\\\",r);break}case\\\"src\\\":case\\\"href\\\":if(\\\"\\\"===r&&(\\\"a\\\"!==t||\\\"href\\\"!==n)){\\\"src\\\"===n?console.error('An empty string (\\\"\\\") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',n,n):console.error('An empty string (\\\"\\\") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',n,n),e.removeAttribute(n);break}if(null==r||\\\"function\\\"==typeof r||\\\"symbol\\\"==typeof r||\\\"boolean\\\"==typeof r){e.removeAttribute(n);break}V(r,n),r=vt(\\\"\\\"+r),e.setAttribute(n,r);break;case\\\"action\\\":case\\\"formAction\\\":if(null!=r&&(\\\"form\\\"===t?\\\"formAction\\\"===n?console.error(\\\"You can only pass the formAction prop to \u003Cinput> or \u003Cbutton>. Use the action prop on \u003Cform>.\\\"):\\\"function\\\"==typeof r&&(null==o.encType&&null==o.method||_b||(_b=!0,console.error(\\\"Cannot specify a encType or method for a form that specifies a function as the action. React provides those automatically. They will get overridden.\\\")),null==o.target||Db||(Db=!0,console.error(\\\"Cannot specify a target for a form that specifies a function as the action. The function will always be executed in the same window.\\\"))):\\\"input\\\"===t||\\\"button\\\"===t?\\\"action\\\"===n?console.error(\\\"You can only pass the action prop to \u003Cform>. Use the formAction prop on \u003Cinput> or \u003Cbutton>.\\\"):\\\"input\\\"!==t||\\\"submit\\\"===o.type||\\\"image\\\"===o.type||Ib?\\\"button\\\"!==t||null==o.type||\\\"submit\\\"===o.type||Ib?\\\"function\\\"==typeof r&&(null==o.name||Lb||(Lb=!0,console.error('Cannot specify a \\\"name\\\" prop for a button that specifies a function as a formAction. React needs it to encode which action should be invoked. It will get overridden.')),null==o.formEncType&&null==o.formMethod||_b||(_b=!0,console.error(\\\"Cannot specify a formEncType or formMethod for a button that specifies a function as a formAction. React provides those automatically. They will get overridden.\\\")),null==o.formTarget||Db||(Db=!0,console.error(\\\"Cannot specify a formTarget for a button that specifies a function as a formAction. The function will always be executed in the same window.\\\"))):(Ib=!0,console.error('A button can only specify a formAction along with type=\\\"submit\\\" or no type.')):(Ib=!0,console.error('An input can only specify a formAction along with type=\\\"submit\\\" or type=\\\"image\\\".')):\\\"action\\\"===n?console.error(\\\"You can only pass the action prop to \u003Cform>.\\\"):console.error(\\\"You can only pass the formAction prop to \u003Cinput> or \u003Cbutton>.\\\")),\\\"function\\\"==typeof r){e.setAttribute(n,\\\"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\\\\\\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')\\\");break}if(\\\"function\\\"==typeof a&&(\\\"formAction\\\"===n?(\\\"input\\\"!==t&&ps(e,t,\\\"name\\\",o.name,o,null),ps(e,t,\\\"formEncType\\\",o.formEncType,o,null),ps(e,t,\\\"formMethod\\\",o.formMethod,o,null),ps(e,t,\\\"formTarget\\\",o.formTarget,o,null)):(ps(e,t,\\\"encType\\\",o.encType,o,null),ps(e,t,\\\"method\\\",o.method,o,null),ps(e,t,\\\"target\\\",o.target,o,null))),null==r||\\\"symbol\\\"==typeof r||\\\"boolean\\\"==typeof r){e.removeAttribute(n);break}V(r,n),r=vt(\\\"\\\"+r),e.setAttribute(n,r);break;case\\\"onClick\\\":null!=r&&(\\\"function\\\"!=typeof r&&ss(n,r),e.onclick=fs);break;case\\\"onScroll\\\":null!=r&&(\\\"function\\\"!=typeof r&&ss(n,r),Gl(\\\"scroll\\\",e));break;case\\\"onScrollEnd\\\":null!=r&&(\\\"function\\\"!=typeof r&&ss(n,r),Gl(\\\"scrollend\\\",e));break;case\\\"dangerouslySetInnerHTML\\\":if(null!=r){if(\\\"object\\\"!=typeof r||!(\\\"__html\\\"in r))throw Error(\\\"`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information.\\\");if(null!=(n=r.__html)){if(null!=o.children)throw Error(\\\"Can only set one of `children` or `props.dangerouslySetInnerHTML`.\\\");e.innerHTML=n}}break;case\\\"multiple\\\":e.multiple=r&&\\\"function\\\"!=typeof r&&\\\"symbol\\\"!=typeof r;break;case\\\"muted\\\":e.muted=r&&\\\"function\\\"!=typeof r&&\\\"symbol\\\"!=typeof r;break;case\\\"suppressContentEditableWarning\\\":case\\\"suppressHydrationWarning\\\":case\\\"defaultValue\\\":case\\\"defaultChecked\\\":case\\\"innerHTML\\\":case\\\"ref\\\":case\\\"autoFocus\\\":break;case\\\"xlinkHref\\\":if(null==r||\\\"function\\\"==typeof r||\\\"boolean\\\"==typeof r||\\\"symbol\\\"==typeof r){e.removeAttribute(\\\"xlink:href\\\");break}V(r,n),n=vt(\\\"\\\"+r),e.setAttributeNS(Ub,\\\"xlink:href\\\",n);break;case\\\"contentEditable\\\":case\\\"spellCheck\\\":case\\\"draggable\\\":case\\\"value\\\":case\\\"autoReverse\\\":case\\\"externalResourcesRequired\\\":case\\\"focusable\\\":case\\\"preserveAlpha\\\":null!=r&&\\\"function\\\"!=typeof r&&\\\"symbol\\\"!=typeof r?(V(r,n),e.setAttribute(n,\\\"\\\"+r)):e.removeAttribute(n);break;case\\\"inert\\\":\\\"\\\"!==r||Ob[n]||(Ob[n]=!0,console.error(\\\"Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.\\\",n));case\\\"allowFullScreen\\\":case\\\"async\\\":case\\\"autoPlay\\\":case\\\"controls\\\":case\\\"default\\\":case\\\"defer\\\":case\\\"disabled\\\":case\\\"disablePictureInPicture\\\":case\\\"disableRemotePlayback\\\":case\\\"formNoValidate\\\":case\\\"hidden\\\":case\\\"loop\\\":case\\\"noModule\\\":case\\\"noValidate\\\":case\\\"open\\\":case\\\"playsInline\\\":case\\\"readOnly\\\":case\\\"required\\\":case\\\"reversed\\\":case\\\"scoped\\\":case\\\"seamless\\\":case\\\"itemScope\\\":r&&\\\"function\\\"!=typeof r&&\\\"symbol\\\"!=typeof r?e.setAttribute(n,\\\"\\\"):e.removeAttribute(n);break;case\\\"capture\\\":case\\\"download\\\":!0===r?e.setAttribute(n,\\\"\\\"):!1!==r&&null!=r&&\\\"function\\\"!=typeof r&&\\\"symbol\\\"!=typeof r?(V(r,n),e.setAttribute(n,r)):e.removeAttribute(n);break;case\\\"cols\\\":case\\\"rows\\\":case\\\"size\\\":case\\\"span\\\":null!=r&&\\\"function\\\"!=typeof r&&\\\"symbol\\\"!=typeof r&&!isNaN(r)&&1\u003C=r?(V(r,n),e.setAttribute(n,r)):e.removeAttribute(n);break;case\\\"rowSpan\\\":case\\\"start\\\":null==r||\\\"function\\\"==typeof r||\\\"symbol\\\"==typeof r||isNaN(r)?e.removeAttribute(n):(V(r,n),e.setAttribute(n,r));break;case\\\"popover\\\":Gl(\\\"beforetoggle\\\",e),Gl(\\\"toggle\\\",e),Te(e,\\\"popover\\\",r);break;case\\\"xlinkActuate\\\":Re(e,Ub,\\\"xlink:actuate\\\",r);break;case\\\"xlinkArcrole\\\":Re(e,Ub,\\\"xlink:arcrole\\\",r);break;case\\\"xlinkRole\\\":Re(e,Ub,\\\"xlink:role\\\",r);break;case\\\"xlinkShow\\\":Re(e,Ub,\\\"xlink:show\\\",r);break;case\\\"xlinkTitle\\\":Re(e,Ub,\\\"xlink:title\\\",r);break;case\\\"xlinkType\\\":Re(e,Ub,\\\"xlink:type\\\",r);break;case\\\"xmlBase\\\":Re(e,Hb,\\\"xml:base\\\",r);break;case\\\"xmlLang\\\":Re(e,Hb,\\\"xml:lang\\\",r);break;case\\\"xmlSpace\\\":Re(e,Hb,\\\"xml:space\\\",r);break;case\\\"is\\\":null!=a&&console.error('Cannot update the \\\"is\\\" prop after it has been initialized.'),Te(e,\\\"is\\\",r);break;case\\\"innerText\\\":case\\\"textContent\\\":break;case\\\"popoverTarget\\\":Fb||null==r||\\\"object\\\"!=typeof r||(Fb=!0,console.error(\\\"The `popoverTarget` prop expects the ID of an Element as a string. Received %s instead.\\\",r));default:!(2\u003Cn.length)||\\\"o\\\"!==n[0]&&\\\"O\\\"!==n[0]||\\\"n\\\"!==n[1]&&\\\"N\\\"!==n[1]?Te(e,n=gt(n),r):wd.hasOwnProperty(n)&&null!=r&&\\\"function\\\"!=typeof r&&ss(n,r)}}function hs(e,t,n,r,o,a){switch(n){case\\\"style\\\":ht(e,r,a);break;case\\\"dangerouslySetInnerHTML\\\":if(null!=r){if(\\\"object\\\"!=typeof r||!(\\\"__html\\\"in r))throw Error(\\\"`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information.\\\");if(null!=(n=r.__html)){if(null!=o.children)throw Error(\\\"Can only set one of `children` or `props.dangerouslySetInnerHTML`.\\\");e.innerHTML=n}}break;case\\\"children\\\":\\\"string\\\"==typeof r?ft(e,r):(\\\"number\\\"==typeof r||\\\"bigint\\\"==typeof r)&&ft(e,\\\"\\\"+r);break;case\\\"onScroll\\\":null!=r&&(\\\"function\\\"!=typeof r&&ss(n,r),Gl(\\\"scroll\\\",e));break;case\\\"onScrollEnd\\\":null!=r&&(\\\"function\\\"!=typeof r&&ss(n,r),Gl(\\\"scrollend\\\",e));break;case\\\"onClick\\\":null!=r&&(\\\"function\\\"!=typeof r&&ss(n,r),e.onclick=fs);break;case\\\"suppressContentEditableWarning\\\":case\\\"suppressHydrationWarning\\\":case\\\"innerHTML\\\":case\\\"ref\\\":break;case\\\"innerText\\\":case\\\"textContent\\\":break;default:wd.hasOwnProperty(n)?null!=r&&\\\"function\\\"!=typeof r&&ss(n,r):\\\"o\\\"!==n[0]||\\\"n\\\"!==n[1]||(o=n.endsWith(\\\"Capture\\\"),t=n.slice(2,o?n.length-7:void 0),\\\"function\\\"==typeof(a=null!=(a=e[pd]||null)?a[n]:null)&&e.removeEventListener(t,a,o),\\\"function\\\"!=typeof r)?n in e?e[n]=r:!0===r?e.setAttribute(n,\\\"\\\"):Te(e,n,r):(\\\"function\\\"!=typeof a&&null!==a&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,o))}}function ms(e,t,n){switch(is(t,n),t){case\\\"div\\\":case\\\"span\\\":case\\\"svg\\\":case\\\"path\\\":case\\\"a\\\":case\\\"g\\\":case\\\"p\\\":case\\\"li\\\":break;case\\\"img\\\":Gl(\\\"error\\\",e),Gl(\\\"load\\\",e);var r,o=!1,a=!1;for(r in n)if(n.hasOwnProperty(r)){var i=n[r];if(null!=i)switch(r){case\\\"src\\\":o=!0;break;case\\\"srcSet\\\":a=!0;break;case\\\"children\\\":case\\\"dangerouslySetInnerHTML\\\":throw Error(t+\\\" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.\\\");default:ps(e,t,r,i,n,null)}}return a&&ps(e,t,\\\"srcSet\\\",n.srcSet,n,null),void(o&&ps(e,t,\\\"src\\\",n.src,n,null));case\\\"input\\\":xe(\\\"input\\\",n),Gl(\\\"invalid\\\",e);var l=r=i=a=null,s=null,u=null;for(o in n)if(n.hasOwnProperty(o)){var c=n[o];if(null!=c)switch(o){case\\\"name\\\":a=c;break;case\\\"type\\\":i=c;break;case\\\"checked\\\":s=c;break;case\\\"defaultChecked\\\":u=c;break;case\\\"value\\\":r=c;break;case\\\"defaultValue\\\":l=c;break;case\\\"children\\\":case\\\"dangerouslySetInnerHTML\\\":if(null!=c)throw Error(t+\\\" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.\\\");break;default:ps(e,t,o,c,n,null)}}return Oe(0,n),Ae(e,r,l,s,u,i,a,!1),void Le(e);case\\\"select\\\":for(a in xe(\\\"select\\\",n),Gl(\\\"invalid\\\",e),o=i=r=null,n)if(n.hasOwnProperty(a)&&null!=(l=n[a]))switch(a){case\\\"value\\\":r=l;break;case\\\"defaultValue\\\":i=l;break;case\\\"multiple\\\":o=l;default:ps(e,t,a,l,n,null)}return je(e,n),t=r,n=i,e.multiple=!!o,void(null!=t?We(e,!!o,t,!1):null!=n&&We(e,!!o,n,!0));case\\\"textarea\\\":for(i in xe(\\\"textarea\\\",n),Gl(\\\"invalid\\\",e),r=a=o=null,n)if(n.hasOwnProperty(i)&&null!=(l=n[i]))switch(i){case\\\"value\\\":o=l;break;case\\\"defaultValue\\\":a=l;break;case\\\"children\\\":r=l;break;case\\\"dangerouslySetInnerHTML\\\":if(null!=l)throw Error(\\\"`dangerouslySetInnerHTML` does not make sense on \u003Ctextarea>.\\\");break;default:ps(e,t,i,l,n,null)}return Ve(0,n),qe(e,o,a,r),void Le(e);case\\\"option\\\":for(s in Ue(0,n),n)if(n.hasOwnProperty(s)&&null!=(o=n[s]))switch(s){case\\\"selected\\\":e.selected=o&&\\\"function\\\"!=typeof o&&\\\"symbol\\\"!=typeof o;break;default:ps(e,t,s,o,n,null)}return;case\\\"dialog\\\":Gl(\\\"cancel\\\",e),Gl(\\\"close\\\",e);break;case\\\"iframe\\\":case\\\"object\\\":Gl(\\\"load\\\",e);break;case\\\"video\\\":case\\\"audio\\\":for(o=0;o\u003CEb.length;o++)Gl(Eb[o],e);break;case\\\"image\\\":Gl(\\\"error\\\",e),Gl(\\\"load\\\",e);break;case\\\"details\\\":Gl(\\\"toggle\\\",e);break;case\\\"embed\\\":case\\\"source\\\":case\\\"link\\\":Gl(\\\"error\\\",e),Gl(\\\"load\\\",e);case\\\"area\\\":case\\\"base\\\":case\\\"br\\\":case\\\"col\\\":case\\\"hr\\\":case\\\"keygen\\\":case\\\"meta\\\":case\\\"param\\\":case\\\"track\\\":case\\\"wbr\\\":case\\\"menuitem\\\":for(u in n)if(n.hasOwnProperty(u)&&null!=(o=n[u]))switch(u){case\\\"children\\\":case\\\"dangerouslySetInnerHTML\\\":throw Error(t+\\\" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.\\\");default:ps(e,t,u,o,n,null)}return;default:if(mt(t)){for(c in n)n.hasOwnProperty(c)&&(void 0!==(o=n[c])&&hs(e,t,c,o,n,void 0));return}}for(l in n)n.hasOwnProperty(l)&&(null!=(o=n[l])&&ps(e,t,l,o,n,null))}function gs(e){switch(e){case\\\"class\\\":return\\\"className\\\";case\\\"for\\\":return\\\"htmlFor\\\";default:return e}}function ys(e){var t={};e=e.style;for(var n=0;n\u003Ce.length;n++){var r=e[n];t[r]=e.getPropertyValue(r)}return t}function bs(e,t,n){if(null!=t&&\\\"object\\\"!=typeof t)console.error(\\\"The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.\\\");else if(Nb){var r,o,a=r=\\\"\\\";for(o in t)if(t.hasOwnProperty(o)){var i=t[o];null!=i&&\\\"boolean\\\"!=typeof i&&\\\"\\\"!==i&&(0===o.indexOf(\\\"--\\\")?(B(i,o),r+=a+o+\\\":\\\"+(\\\"\\\"+i).trim()):\\\"number\\\"!=typeof i||0===i||rf.has(o)?(B(i,o),r+=a+o.replace($d,\\\"-$1\\\").toLowerCase().replace(Yd,\\\"-ms-\\\")+\\\":\\\"+(\\\"\\\"+i).trim()):r+=a+o.replace($d,\\\"-$1\\\").toLowerCase().replace(Yd,\\\"-ms-\\\")+\\\":\\\"+i+\\\"px\\\",a=\\\";\\\")}r=r||null,(t=e.getAttribute(\\\"style\\\"))!==r&&(r=cs(r),cs(t)!==r&&(n.style=ys(e)))}}function vs(e,t,n,r,o,a){if(o.delete(n),null===(e=e.getAttribute(n)))switch(typeof r){case\\\"undefined\\\":case\\\"function\\\":case\\\"symbol\\\":case\\\"boolean\\\":return}else if(null!=r)switch(typeof r){case\\\"function\\\":case\\\"symbol\\\":case\\\"boolean\\\":break;default:if(V(r,t),e===\\\"\\\"+r)return}ls(t,e,r,a)}function ks(e,t,n,r,o,a){if(o.delete(n),null===(e=e.getAttribute(n))){switch(typeof r){case\\\"function\\\":case\\\"symbol\\\":return}if(!r)return}else switch(typeof r){case\\\"function\\\":case\\\"symbol\\\":break;default:if(r)return}ls(t,e,r,a)}function ws(e,t,n,r,o,a){if(o.delete(n),null===(e=e.getAttribute(n)))switch(typeof r){case\\\"undefined\\\":case\\\"function\\\":case\\\"symbol\\\":return}else if(null!=r)switch(typeof r){case\\\"function\\\":case\\\"symbol\\\":break;default:if(V(r,n),e===\\\"\\\"+r)return}ls(t,e,r,a)}function Ss(e,t,n,r,o,a){if(o.delete(n),null===(e=e.getAttribute(n)))switch(typeof r){case\\\"undefined\\\":case\\\"function\\\":case\\\"symbol\\\":case\\\"boolean\\\":return;default:if(isNaN(r))return}else if(null!=r)switch(typeof r){case\\\"function\\\":case\\\"symbol\\\":case\\\"boolean\\\":break;default:if(!isNaN(r)&&(V(r,t),e===\\\"\\\"+r))return}ls(t,e,r,a)}function xs(e,t,n,r,o,a){if(o.delete(n),null===(e=e.getAttribute(n)))switch(typeof r){case\\\"undefined\\\":case\\\"function\\\":case\\\"symbol\\\":case\\\"boolean\\\":return}else if(null!=r)switch(typeof r){case\\\"function\\\":case\\\"symbol\\\":case\\\"boolean\\\":break;default:if(V(r,t),e===(n=vt(\\\"\\\"+r)))return}ls(t,e,r,a)}function Cs(e,t,n,r){for(var o={},a=new Set,i=e.attributes,l=0;l\u003Ci.length;l++)switch(i[l].name.toLowerCase()){case\\\"value\\\":case\\\"checked\\\":case\\\"selected\\\":break;default:a.add(i[l].name)}if(mt(t)){for(var s in n)if(n.hasOwnProperty(s)){var u=n[s];if(null!=u)if(wd.hasOwnProperty(s))\\\"function\\\"!=typeof u&&ss(s,u);else if(!0!==n.suppressHydrationWarning)switch(s){case\\\"children\\\":\\\"string\\\"!=typeof u&&\\\"number\\\"!=typeof u||ls(\\\"children\\\",e.textContent,u,o);continue;case\\\"suppressContentEditableWarning\\\":case\\\"suppressHydrationWarning\\\":case\\\"defaultValue\\\":case\\\"defaultChecked\\\":case\\\"innerHTML\\\":case\\\"ref\\\":continue;case\\\"dangerouslySetInnerHTML\\\":i=e.innerHTML,null!=(u=u?u.__html:void 0)&&ls(s,i,u=us(e,u),o);continue;case\\\"style\\\":a.delete(s),bs(e,u,o);continue;case\\\"offsetParent\\\":case\\\"offsetTop\\\":case\\\"offsetLeft\\\":case\\\"offsetWidth\\\":case\\\"offsetHeight\\\":case\\\"isContentEditable\\\":case\\\"outerText\\\":case\\\"outerHTML\\\":a.delete(s.toLowerCase()),console.error(\\\"Assignment to read-only property will result in a no-op: `%s`\\\",s);continue;case\\\"className\\\":a.delete(\\\"class\\\"),ls(\\\"className\\\",i=Ee(e,\\\"class\\\",u),u,o);continue;default:r.context===Kb&&\\\"svg\\\"!==t&&\\\"math\\\"!==t?a.delete(s.toLowerCase()):a.delete(s),ls(s,i=Ee(e,s,u),u,o)}}}else for(u in n)if(n.hasOwnProperty(u)&&null!=(s=n[u]))if(wd.hasOwnProperty(u))\\\"function\\\"!=typeof s&&ss(u,s);else if(!0!==n.suppressHydrationWarning)switch(u){case\\\"children\\\":\\\"string\\\"!=typeof s&&\\\"number\\\"!=typeof s||ls(\\\"children\\\",e.textContent,s,o);continue;case\\\"suppressContentEditableWarning\\\":case\\\"suppressHydrationWarning\\\":case\\\"value\\\":case\\\"checked\\\":case\\\"selected\\\":case\\\"defaultValue\\\":case\\\"defaultChecked\\\":case\\\"innerHTML\\\":case\\\"ref\\\":continue;case\\\"dangerouslySetInnerHTML\\\":i=e.innerHTML,null!=(s=s?s.__html:void 0)&&(i!==(s=us(e,s))&&(o[u]={__html:i}));continue;case\\\"className\\\":vs(e,u,\\\"class\\\",s,a,o);continue;case\\\"tabIndex\\\":vs(e,u,\\\"tabindex\\\",s,a,o);continue;case\\\"style\\\":a.delete(u),bs(e,s,o);continue;case\\\"multiple\\\":a.delete(u),ls(u,e.multiple,s,o);continue;case\\\"muted\\\":a.delete(u),ls(u,e.muted,s,o);continue;case\\\"autoFocus\\\":a.delete(\\\"autofocus\\\"),ls(u,e.autofocus,s,o);continue;case\\\"data\\\":if(\\\"object\\\"!==t){a.delete(u),ls(u,i=e.getAttribute(\\\"data\\\"),s,o);continue}case\\\"src\\\":case\\\"href\\\":if(!(\\\"\\\"!==s||\\\"a\\\"===t&&\\\"href\\\"===u||\\\"object\\\"===t&&\\\"data\\\"===u)){\\\"src\\\"===u?console.error('An empty string (\\\"\\\") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',u,u):console.error('An empty string (\\\"\\\") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',u,u),xs(e,u,u,null,a,o);continue}xs(e,u,u,s,a,o);continue;case\\\"action\\\":case\\\"formAction\\\":if(i=e.getAttribute(u),\\\"function\\\"==typeof s){a.delete(u.toLowerCase()),\\\"formAction\\\"===u?(a.delete(\\\"name\\\"),a.delete(\\\"formenctype\\\"),a.delete(\\\"formmethod\\\"),a.delete(\\\"formtarget\\\")):(a.delete(\\\"enctype\\\"),a.delete(\\\"method\\\"),a.delete(\\\"target\\\"));continue}if(i===Wb){a.delete(u.toLowerCase()),ls(u,\\\"function\\\",s,o);continue}xs(e,u,u.toLowerCase(),s,a,o);continue;case\\\"xlinkHref\\\":xs(e,u,\\\"xlink:href\\\",s,a,o);continue;case\\\"contentEditable\\\":ws(e,u,\\\"contenteditable\\\",s,a,o);continue;case\\\"spellCheck\\\":ws(e,u,\\\"spellcheck\\\",s,a,o);continue;case\\\"draggable\\\":case\\\"autoReverse\\\":case\\\"externalResourcesRequired\\\":case\\\"focusable\\\":case\\\"preserveAlpha\\\":ws(e,u,u,s,a,o);continue;case\\\"allowFullScreen\\\":case\\\"async\\\":case\\\"autoPlay\\\":case\\\"controls\\\":case\\\"default\\\":case\\\"defer\\\":case\\\"disabled\\\":case\\\"disablePictureInPicture\\\":case\\\"disableRemotePlayback\\\":case\\\"formNoValidate\\\":case\\\"hidden\\\":case\\\"loop\\\":case\\\"noModule\\\":case\\\"noValidate\\\":case\\\"open\\\":case\\\"playsInline\\\":case\\\"readOnly\\\":case\\\"required\\\":case\\\"reversed\\\":case\\\"scoped\\\":case\\\"seamless\\\":case\\\"itemScope\\\":ks(e,u,u.toLowerCase(),s,a,o);continue;case\\\"capture\\\":case\\\"download\\\":e:{l=e;var c=i=u,d=o;if(a.delete(c),null===(l=l.getAttribute(c)))switch(typeof s){case\\\"undefined\\\":case\\\"function\\\":case\\\"symbol\\\":break e;default:if(!1===s)break e}else if(null!=s)switch(typeof s){case\\\"function\\\":case\\\"symbol\\\":break;case\\\"boolean\\\":if(!0===s&&\\\"\\\"===l)break e;break;default:if(V(s,i),l===\\\"\\\"+s)break e}ls(i,l,s,d)}continue;case\\\"cols\\\":case\\\"rows\\\":case\\\"size\\\":case\\\"span\\\":e:{if(l=e,c=i=u,d=o,a.delete(c),null===(l=l.getAttribute(c)))switch(typeof s){case\\\"undefined\\\":case\\\"function\\\":case\\\"symbol\\\":case\\\"boolean\\\":break e;default:if(isNaN(s)||1>s)break e}else if(null!=s)switch(typeof s){case\\\"function\\\":case\\\"symbol\\\":case\\\"boolean\\\":break;default:if(!(isNaN(s)||1>s)&&(V(s,i),l===\\\"\\\"+s))break e}ls(i,l,s,d)}continue;case\\\"rowSpan\\\":Ss(e,u,\\\"rowspan\\\",s,a,o);continue;case\\\"start\\\":Ss(e,u,u,s,a,o);continue;case\\\"xHeight\\\":vs(e,u,\\\"x-height\\\",s,a,o);continue;case\\\"xlinkActuate\\\":vs(e,u,\\\"xlink:actuate\\\",s,a,o);continue;case\\\"xlinkArcrole\\\":vs(e,u,\\\"xlink:arcrole\\\",s,a,o);continue;case\\\"xlinkRole\\\":vs(e,u,\\\"xlink:role\\\",s,a,o);continue;case\\\"xlinkShow\\\":vs(e,u,\\\"xlink:show\\\",s,a,o);continue;case\\\"xlinkTitle\\\":vs(e,u,\\\"xlink:title\\\",s,a,o);continue;case\\\"xlinkType\\\":vs(e,u,\\\"xlink:type\\\",s,a,o);continue;case\\\"xmlBase\\\":vs(e,u,\\\"xml:base\\\",s,a,o);continue;case\\\"xmlLang\\\":vs(e,u,\\\"xml:lang\\\",s,a,o);continue;case\\\"xmlSpace\\\":vs(e,u,\\\"xml:space\\\",s,a,o);continue;case\\\"inert\\\":\\\"\\\"!==s||Ob[u]||(Ob[u]=!0,console.error(\\\"Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.\\\",u)),ks(e,u,u,s,a,o);continue;default:if(!(2\u003Cu.length)||\\\"o\\\"!==u[0]&&\\\"O\\\"!==u[0]||\\\"n\\\"!==u[1]&&\\\"N\\\"!==u[1]){l=gt(u),i=!1,r.context===Kb&&\\\"svg\\\"!==t&&\\\"math\\\"!==t?a.delete(l.toLowerCase()):(c=u.toLowerCase(),null!==(c=af.hasOwnProperty(c)&&af[c]||null)&&c!==u&&(i=!0,a.delete(c)),a.delete(l));e:if(c=e,d=l,l=s,Ce(d))if(c.hasAttribute(d))c=c.getAttribute(d),V(l,d),l=c===\\\"\\\"+l?l:c;else{switch(typeof l){case\\\"function\\\":case\\\"symbol\\\":break e;case\\\"boolean\\\":if(\\\"data-\\\"!==(c=d.toLowerCase().slice(0,5))&&\\\"aria-\\\"!==c)break e}l=void 0===l?void 0:null}else l=void 0;i||ls(u,l,s,o)}}return 0\u003Ca.size&&!0!==n.suppressHydrationWarning&&function(e,t,n){t.forEach(function(t){n[gs(t)]=\\\"style\\\"===t?ys(e):e.getAttribute(t)})}(e,a,o),0===Object.keys(o).length?null:o}function Es(e){return 9===e.nodeType?e:e.ownerDocument}function Ts(e){switch(e){case qd:return Gb;case Bd:return Zb;default:return Kb}}function Ps(e,t){if(e===Kb)switch(t){case\\\"svg\\\":return Gb;case\\\"math\\\":return Zb;default:return Kb}return e===Gb&&\\\"foreignObject\\\"===t?Kb:e}function Rs(e,t){return\\\"textarea\\\"===e||\\\"noscript\\\"===e||\\\"string\\\"==typeof t.children||\\\"number\\\"==typeof t.children||\\\"bigint\\\"==typeof t.children||\\\"object\\\"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}function zs(e){setTimeout(function(){throw e})}function Is(e,t,n){switch(t){case\\\"button\\\":case\\\"input\\\":case\\\"select\\\":case\\\"textarea\\\":n.autoFocus&&e.focus();break;case\\\"img\\\":n.src?e.src=n.src:n.srcSet&&(e.srcset=n.srcSet)}}function Ls(e,t,n,r){!function(e,t,n,r){switch(is(t,r),t){case\\\"div\\\":case\\\"span\\\":case\\\"svg\\\":case\\\"path\\\":case\\\"a\\\":case\\\"g\\\":case\\\"p\\\":case\\\"li\\\":break;case\\\"input\\\":var o=null,a=null,i=null,l=null,s=null,u=null,c=null;for(p in n){var d=n[p];if(n.hasOwnProperty(p)&&null!=d)switch(p){case\\\"checked\\\":case\\\"value\\\":break;case\\\"defaultValue\\\":s=d;default:r.hasOwnProperty(p)||ps(e,t,p,null,r,d)}}for(var f in r){var p=r[f];if(d=n[f],r.hasOwnProperty(f)&&(null!=p||null!=d))switch(f){case\\\"type\\\":a=p;break;case\\\"name\\\":o=p;break;case\\\"checked\\\":u=p;break;case\\\"defaultChecked\\\":c=p;break;case\\\"value\\\":i=p;break;case\\\"defaultValue\\\":l=p;break;case\\\"children\\\":case\\\"dangerouslySetInnerHTML\\\":if(null!=p)throw Error(t+\\\" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.\\\");break;default:p!==d&&ps(e,t,f,p,r,d)}}return t=\\\"checkbox\\\"===n.type||\\\"radio\\\"===n.type?null!=n.checked:null!=n.value,r=\\\"checkbox\\\"===r.type||\\\"radio\\\"===r.type?null!=r.checked:null!=r.value,t||!r||zb||(console.error(\\\"A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components\\\"),zb=!0),!t||r||Rb||(console.error(\\\"A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components\\\"),Rb=!0),void Ne(e,i,l,s,u,c,a,o);case\\\"select\\\":for(a in p=i=l=f=null,n)if(s=n[a],n.hasOwnProperty(a)&&null!=s)switch(a){case\\\"value\\\":break;case\\\"multiple\\\":p=s;default:r.hasOwnProperty(a)||ps(e,t,a,null,r,s)}for(o in r)if(a=r[o],s=n[o],r.hasOwnProperty(o)&&(null!=a||null!=s))switch(o){case\\\"value\\\":f=a;break;case\\\"defaultValue\\\":l=a;break;case\\\"multiple\\\":i=a;default:a!==s&&ps(e,t,o,a,r,s)}return r=l,t=i,n=p,void(null!=f?We(e,!!t,f,!1):!!n!=!!t&&(null!=r?We(e,!!t,r,!0):We(e,!!t,t?[]:\\\"\\\",!1)));case\\\"textarea\\\":for(l in p=f=null,n)if(o=n[l],n.hasOwnProperty(l)&&null!=o&&!r.hasOwnProperty(l))switch(l){case\\\"value\\\":case\\\"children\\\":break;default:ps(e,t,l,null,r,o)}for(i in r)if(o=r[i],a=n[i],r.hasOwnProperty(i)&&(null!=o||null!=a))switch(i){case\\\"value\\\":f=o;break;case\\\"defaultValue\\\":p=o;break;case\\\"children\\\":break;case\\\"dangerouslySetInnerHTML\\\":if(null!=o)throw Error(\\\"`dangerouslySetInnerHTML` does not make sense on \u003Ctextarea>.\\\");break;default:o!==a&&ps(e,t,i,o,r,a)}return void Be(e,f,p);case\\\"option\\\":for(var h in n)if(f=n[h],n.hasOwnProperty(h)&&null!=f&&!r.hasOwnProperty(h))switch(h){case\\\"selected\\\":e.selected=!1;break;default:ps(e,t,h,null,r,f)}for(s in r)if(f=r[s],p=n[s],r.hasOwnProperty(s)&&f!==p&&(null!=f||null!=p))switch(s){case\\\"selected\\\":e.selected=f&&\\\"function\\\"!=typeof f&&\\\"symbol\\\"!=typeof f;break;default:ps(e,t,s,f,r,p)}return;case\\\"img\\\":case\\\"link\\\":case\\\"area\\\":case\\\"base\\\":case\\\"br\\\":case\\\"col\\\":case\\\"embed\\\":case\\\"hr\\\":case\\\"keygen\\\":case\\\"meta\\\":case\\\"param\\\":case\\\"source\\\":case\\\"track\\\":case\\\"wbr\\\":case\\\"menuitem\\\":for(var m in n)f=n[m],n.hasOwnProperty(m)&&null!=f&&!r.hasOwnProperty(m)&&ps(e,t,m,null,r,f);for(u in r)if(f=r[u],p=n[u],r.hasOwnProperty(u)&&f!==p&&(null!=f||null!=p))switch(u){case\\\"children\\\":case\\\"dangerouslySetInnerHTML\\\":if(null!=f)throw Error(t+\\\" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.\\\");break;default:ps(e,t,u,f,r,p)}return;default:if(mt(t)){for(var g in n)f=n[g],n.hasOwnProperty(g)&&void 0!==f&&!r.hasOwnProperty(g)&&hs(e,t,g,void 0,r,f);for(c in r)f=r[c],p=n[c],!r.hasOwnProperty(c)||f===p||void 0===f&&void 0===p||hs(e,t,c,f,r,p);return}}for(var y in n)f=n[y],n.hasOwnProperty(y)&&null!=f&&!r.hasOwnProperty(y)&&ps(e,t,y,null,r,f);for(d in r)f=r[d],p=n[d],!r.hasOwnProperty(d)||f===p||null==f&&null==p||ps(e,t,d,f,r,p)}(e,t,n,r),e[pd]=r}function Ds(e){ft(e,\\\"\\\")}function _s(e,t,n){e.nodeValue=n}function Fs(e,t){e.removeChild(t)}function Os(e,t){8===e.nodeType?e.parentNode.removeChild(t):e.removeChild(t)}function Ns(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&8===o.nodeType)if((n=o.data)===Bb){if(0===r)return e.removeChild(o),void Hu(t);r--}else n!==Vb&&n!==qb&&n!==Qb||r++;n=o}while(n);Hu(t)}function As(e){\\\"function\\\"==typeof(e=e.style).setProperty?e.setProperty(\\\"display\\\",\\\"none\\\",\\\"important\\\"):e.display=\\\"none\\\"}function Ms(e){e.nodeValue=\\\"\\\"}function Us(e,t){t=void 0!==(t=t[Xb])&&null!==t&&t.hasOwnProperty(\\\"display\\\")?t.display:null,e.style.display=null==t||\\\"boolean\\\"==typeof t?\\\"\\\":(\\\"\\\"+t).trim()}function Hs(e,t){e.nodeValue=t}function Ws(e){var t=e.firstChild;for(t&&10===t.nodeType&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case\\\"HTML\\\":case\\\"HEAD\\\":case\\\"BODY\\\":Ws(n),me(n);continue;case\\\"SCRIPT\\\":case\\\"STYLE\\\":continue;case\\\"LINK\\\":if(\\\"stylesheet\\\"===n.rel.toLowerCase())continue}e.removeChild(n)}}function js(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if((t=e.data)===Vb||t===Qb||t===qb||t===$b||t===Yb)break;if(t===Bb)return null}}return e}function Vs(e){if(1===e.nodeType){for(var t=e.nodeName.toLowerCase(),n={},r=e.attributes,o=0;o\u003Cr.length;o++){var a=r[o];n[gs(a.name)]=\\\"style\\\"===a.name.toLowerCase()?ys(e):a.value}return{type:t,props:n}}return 8===e.nodeType?{type:\\\"Suspense\\\",props:{}}:e.nodeValue}function Bs(e,t,n){return null===n||!0!==n[jb]?(e.nodeValue===t?e=null:(t=cs(t),e=cs(e.nodeValue)===t?null:e.nodeValue),e):null}function qs(e){e=e.nextSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if(n===Bb){if(0===t)return js(e.nextSibling);t--}else n!==Vb&&n!==Qb&&n!==qb||t++}e=e.nextSibling}return null}function Qs(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if(n===Vb||n===Qb||n===qb){if(0===t)return e;t--}else n===Bb&&t++}e=e.previousSibling}return null}function $s(e){Hu(e)}function Ys(e){Hu(e)}function Xs(e,t,n,r,o){switch(o&&ct(e,r.ancestorInfo),t=Es(n),e){case\\\"html\\\":if(!(e=t.documentElement))throw Error(\\\"React expected an \u003Chtml> element (document.documentElement) to exist in the Document but one was not found. React never removes the documentElement for any Document it renders into so the cause is likely in some other script running on this page.\\\");return e;case\\\"head\\\":if(!(e=t.head))throw Error(\\\"React expected a \u003Chead> element (document.head) to exist in the Document but one was not found. React never removes the head for any Document it renders into so the cause is likely in some other script running on this page.\\\");return e;case\\\"body\\\":if(!(e=t.body))throw Error(\\\"React expected a \u003Cbody> element (document.body) to exist in the Document but one was not found. React never removes the body for any Document it renders into so the cause is likely in some other script running on this page.\\\");return e;default:throw Error(\\\"resolveSingletonInstance was called with an element type that is not supported. This is a bug in React.\\\")}}function Ks(e,t,n,r){if(ye(n)){var o=n.tagName.toLowerCase();console.error(\\\"You are mounting a new %s component when a previous one has not first unmounted. It is an error to render more than one %s component at a time and attributes and children of these components will likely fail in unpredictable ways. Please only render a single instance of \u003C%s> and if you need to mount a new one, ensure any previous ones have unmounted first.\\\",o,o,o)}switch(e){case\\\"html\\\":case\\\"head\\\":case\\\"body\\\":break;default:console.error(\\\"acquireSingletonInstance was called with an element type that is not supported. This is a bug in React.\\\")}for(o=n.attributes;o.length;)n.removeAttributeNode(o[0]);ms(n,e,t),n[fd]=r,n[pd]=t}function Gs(e){return\\\"function\\\"==typeof e.getRootNode?e.getRootNode():e.ownerDocument}function Zs(e,t,n){var r=Ev;if(r&&\\\"string\\\"==typeof t&&t){var o=Fe(t);o='link[rel=\\\"'+e+'\\\"][href=\\\"'+o+'\\\"]',\\\"string\\\"==typeof n&&(o+='[crossorigin=\\\"'+n+'\\\"]'),hv.has(o)||(hv.add(o),e={rel:e,crossOrigin:n,href:t},null===r.querySelector(o)&&(ms(t=r.createElement(\\\"link\\\"),\\\"link\\\",e),ke(t),r.head.appendChild(t)))}}function Js(e,t,n,r){var o=(o=Oc.current)?Gs(o):null;if(!o)throw Error('\\\"resourceRoot\\\" was expected to exist. This is a bug in React.');switch(e){case\\\"meta\\\":case\\\"title\\\":return null;case\\\"style\\\":return\\\"string\\\"==typeof n.precedence&&\\\"string\\\"==typeof n.href?(n=tu(n.href),(r=(t=ve(o).hoistableStyles).get(n))||(r={type:\\\"style\\\",instance:null,count:0,state:null},t.set(n,r)),r):{type:\\\"void\\\",instance:null,count:0,state:null};case\\\"link\\\":if(\\\"stylesheet\\\"===n.rel&&\\\"string\\\"==typeof n.href&&\\\"string\\\"==typeof n.precedence){e=tu(n.href);var a=ve(o).hoistableStyles,i=a.get(e);if(!i&&(o=o.ownerDocument||o,i={type:\\\"stylesheet\\\",instance:null,count:0,state:{loading:sv,preload:null}},a.set(e,i),(a=o.querySelector(nu(e)))&&!a._p&&(i.instance=a,i.state.loading=uv|fv),!pv.has(e))){var l={rel:\\\"preload\\\",as:\\\"style\\\",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy};pv.set(e,l),a||function(e,t,n,r){e.querySelector('link[rel=\\\"preload\\\"][as=\\\"style\\\"]['+t+\\\"]\\\")?r.loading=uv:(t=e.createElement(\\\"link\\\"),r.preload=t,t.addEventListener(\\\"load\\\",function(){return r.loading|=uv}),t.addEventListener(\\\"error\\\",function(){return r.loading|=cv}),ms(t,\\\"link\\\",n),ke(t),e.head.appendChild(t))}(o,e,l,i.state)}if(t&&null===r)throw n=\\\"\\\\n\\\\n - \\\"+eu(t)+\\\"\\\\n + \\\"+eu(n),Error(\\\"Expected \u003Clink> not to update to be updated to a stylesheet with precedence. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different \u003Clink> components render in the same slot or share the same key.\\\"+n);return i}if(t&&null!==r)throw n=\\\"\\\\n\\\\n - \\\"+eu(t)+\\\"\\\\n + \\\"+eu(n),Error(\\\"Expected stylesheet with precedence to not be updated to a different kind of \u003Clink>. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different \u003Clink> components render in the same slot or share the same key.\\\"+n);return null;case\\\"script\\\":return t=n.async,\\\"string\\\"==typeof(n=n.src)&&t&&\\\"function\\\"!=typeof t&&\\\"symbol\\\"!=typeof t?(n=ou(n),(r=(t=ve(o).hoistableScripts).get(n))||(r={type:\\\"script\\\",instance:null,count:0,state:null},t.set(n,r)),r):{type:\\\"void\\\",instance:null,count:0,state:null};default:throw Error('getResource encountered a type it did not expect: \\\"'+e+'\\\". this is a bug in React.')}}function eu(e){var t=0,n=\\\"\u003Clink\\\";return\\\"string\\\"==typeof e.rel?(t++,n+=' rel=\\\"'+e.rel+'\\\"'):Ac.call(e,\\\"rel\\\")&&(t++,n+=' rel=\\\"'+(null===e.rel?\\\"null\\\":\\\"invalid type \\\"+typeof e.rel)+'\\\"'),\\\"string\\\"==typeof e.href?(t++,n+=' href=\\\"'+e.href+'\\\"'):Ac.call(e,\\\"href\\\")&&(t++,n+=' href=\\\"'+(null===e.href?\\\"null\\\":\\\"invalid type \\\"+typeof e.href)+'\\\"'),\\\"string\\\"==typeof e.precedence?(t++,n+=' precedence=\\\"'+e.precedence+'\\\"'):Ac.call(e,\\\"precedence\\\")&&(t++,n+=\\\" precedence={\\\"+(null===e.precedence?\\\"null\\\":\\\"invalid type \\\"+typeof e.precedence)+\\\"}\\\"),Object.getOwnPropertyNames(e).length>t&&(n+=\\\" ...\\\"),n+\\\" />\\\"}function tu(e){return'href=\\\"'+Fe(e)+'\\\"'}function nu(e){return'link[rel=\\\"stylesheet\\\"]['+e+\\\"]\\\"}function ru(e){return vc({},e,{\\\"data-precedence\\\":e.precedence,precedence:null})}function ou(e){return'[src=\\\"'+Fe(e)+'\\\"]'}function au(e){return\\\"script[async]\\\"+e}function iu(e,t,n){if(t.count++,null===t.instance)switch(t.type){case\\\"style\\\":var r=e.querySelector('style[data-href~=\\\"'+Fe(n.href)+'\\\"]');if(r)return t.instance=r,ke(r),r;var o=vc({},n,{\\\"data-href\\\":n.href,\\\"data-precedence\\\":n.precedence,href:null,precedence:null});return ke(r=(e.ownerDocument||e).createElement(\\\"style\\\")),ms(r,\\\"style\\\",o),lu(r,n.precedence,e),t.instance=r;case\\\"stylesheet\\\":o=tu(n.href);var a=e.querySelector(nu(o));if(a)return t.state.loading|=fv,t.instance=a,ke(a),a;r=ru(n),(o=pv.get(o))&&su(r,o),ke(a=(e.ownerDocument||e).createElement(\\\"link\\\"));var i=a;return i._p=new Promise(function(e,t){i.onload=e,i.onerror=t}),ms(a,\\\"link\\\",r),t.state.loading|=fv,lu(a,n.precedence,e),t.instance=a;case\\\"script\\\":return a=ou(n.src),(o=e.querySelector(au(a)))?(t.instance=o,ke(o),o):(r=n,(o=pv.get(a))&&uu(r=vc({},n),o),ke(o=(e=e.ownerDocument||e).createElement(\\\"script\\\")),ms(o,\\\"link\\\",r),e.head.appendChild(o),t.instance=o);case\\\"void\\\":return null;default:throw Error('acquireResource encountered a resource type it did not expect: \\\"'+t.type+'\\\". this is a bug in React.')}else\\\"stylesheet\\\"===t.type&&(t.state.loading&fv)===sv&&(r=t.instance,t.state.loading|=fv,lu(r,n.precedence,e));return t.instance}function lu(e,t,n){for(var r=n.querySelectorAll('link[rel=\\\"stylesheet\\\"][data-precedence],style[data-precedence]'),o=r.length?r[r.length-1]:null,a=o,i=0;i\u003Cr.length;i++){var l=r[i];if(l.dataset.precedence===t)a=l;else if(a!==o)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=9===n.nodeType?n.head:n).insertBefore(e,t.firstChild)}function su(e,t){null==e.crossOrigin&&(e.crossOrigin=t.crossOrigin),null==e.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),null==e.title&&(e.title=t.title)}function uu(e,t){null==e.crossOrigin&&(e.crossOrigin=t.crossOrigin),null==e.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),null==e.integrity&&(e.integrity=t.integrity)}function cu(e,t,n){if(null===Tv){var r=new Map,o=Tv=new Map;o.set(n,r)}else(r=(o=Tv).get(n))||(r=new Map,o.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),o=0;o\u003Cn.length;o++){var a=n[o];if(!(a[vd]||a[fd]||\\\"link\\\"===e&&\\\"stylesheet\\\"===a.getAttribute(\\\"rel\\\"))&&a.namespaceURI!==qd){var i=a.getAttribute(t)||\\\"\\\";i=e+i;var l=r.get(i);l?l.push(a):r.set(i,[a])}}return r}function du(e,t,n){(e=e.ownerDocument||e).head.insertBefore(n,\\\"title\\\"===t?e.querySelector(\\\"head > title\\\"):null)}function fu(e){return\\\"stylesheet\\\"!==e.type||(e.state.loading&dv)!==sv}function pu(){}function hu(){if(this.count--,0===this.count)if(this.stylesheets)mu(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}function mu(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,zv=new Map,t.forEach(gu,e),zv=null,hu.call(e))}function gu(e,t){if(!(t.state.loading&fv)){var n=zv.get(e);if(n)var r=n.get(Rv);else{n=new Map,zv.set(e,n);for(var o=e.querySelectorAll(\\\"link[data-precedence],style[data-precedence]\\\"),a=0;a\u003Co.length;a++){var i=o[a];\\\"LINK\\\"!==i.nodeName&&\\\"not all\\\"===i.getAttribute(\\\"media\\\")||(n.set(i.dataset.precedence,i),r=i)}r&&n.set(Rv,r)}i=(o=t.instance).getAttribute(\\\"data-precedence\\\"),(a=n.get(i)||r)===r&&n.set(Rv,o),n.set(i,o),this.count++,r=hu.bind(this),o.addEventListener(\\\"load\\\",r),o.addEventListener(\\\"error\\\",r),a?a.parentNode.insertBefore(o,a.nextSibling):(e=9===e.nodeType?e.head:e).insertBefore(o,e.firstChild),t.state.loading|=fv}}function yu(e,t,n,r,o,a,l,s,u,c,d,f){return e=new function(e,t,n,r,o,a,i,l){for(this.tag=1,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=av,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=le(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.finishedLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=le(0),this.hiddenUpdates=le(null),this.identifierPrefix=r,this.onUncaughtError=o,this.onCaughtError=a,this.onRecoverableError=i,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=l,this.incompleteTransitions=new Map,this.passiveEffectDuration=this.effectDuration=-0,this.memoizedUpdaters=new Set,e=this.pendingUpdatersLaneMap=[],t=0;31>t;t++)e.push(new Set);this._debugRootType=n?\\\"hydrateRoot()\\\":\\\"createRoot()\\\"}(e,t,n,l,s,u,c,f),t=Up,!0===a&&(t|=Wp|jp),td&&(t|=Hp),a=i(3,null,null,t),e.current=a,a.stateNode=e,rr(t=nr()),e.pooledCache=t,rr(t),a.memoizedState={element:r,isDehydrated:n,cache:t},La(a),e}function bu(e){return e?e=Op:Op}function vu(e,t,n,r){return 0===t.tag&&Il(),ku(t.current,2,e,t,n,r),2}function ku(e,t,n,r,o,a){if(Zc&&\\\"function\\\"==typeof Zc.onScheduleFiberRoot)try{Zc.onScheduleFiberRoot(Gc,r,n)}catch(e){ed||(ed=!0,console.error(\\\"React instrumentation encountered an error: %s\\\",e))}null!==Jc&&\\\"function\\\"==typeof Jc.markRenderScheduled&&Jc.markRenderScheduled(t),o=bu(o),null===r.context?r.context=o:r.pendingContext=o,Tc&&null!==Ec&&!Av&&(Av=!0,console.error(\\\"Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.\\\\n\\\\nCheck the render method of %s.\\\",v(Ec)||\\\"Unknown\\\")),(r=_a(t)).payload={element:n},null!==(a=void 0===a?null:a)&&(\\\"function\\\"!=typeof a&&console.error(\\\"Expected the last optional `callback` argument to be a function. Instead received: %s.\\\",a),r.callback=a),null!==(n=Fa(e,r,t))&&(al(n,e,t),Oa(n,e,t))}function wu(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n\u003Ct?n:t}}function Su(e,t){wu(e,t),(e=e.alternate)&&wu(e,t)}function xu(e){if(13===e.tag){var t=rn(e,67108864);null!==t&&al(t,e,67108864),Su(e,67108864)}}function Cu(){return Ec}function Eu(){for(var e=new Map,t=1,n=0;31>n;n++){var r=ee(t);e.set(t,r),t*=2}return e}function Tu(e,t,n,r){var o=bc.T;bc.T=null;var a=Rc.p;try{Rc.p=ld,Ru(e,t,n,r)}finally{Rc.p=a,bc.T=o}}function Pu(e,t,n,r){var o=bc.T;bc.T=null;var a=Rc.p;try{Rc.p=sd,Ru(e,t,n,r)}finally{Rc.p=a,bc.T=o}}function Ru(e,t,n,r){if(Uv){var o=zu(r);if(null===o)ts(e,t,r,Hv,n),Du(e,r);else if(function(e,t,n,r,o){switch(t){case\\\"focusin\\\":return jv=_u(jv,e,t,n,r,o),!0;case\\\"dragenter\\\":return Vv=_u(Vv,e,t,n,r,o),!0;case\\\"mouseover\\\":return Bv=_u(Bv,e,t,n,r,o),!0;case\\\"pointerover\\\":var a=o.pointerId;return qv.set(a,_u(qv.get(a)||null,e,t,n,r,o)),!0;case\\\"gotpointercapture\\\":return a=o.pointerId,Qv.set(a,_u(Qv.get(a)||null,e,t,n,r,o)),!0}return!1}(o,e,t,n,r))r.stopPropagation();else if(Du(e,r),4&t&&-1\u003CYv.indexOf(e)){for(;null!==o;){var a=ye(o);if(null!==a)switch(a.tag){case 3:if((a=a.stateNode).current.memoizedState.isDehydrated){var i=te(a.pendingLanes);if(0!==i){var l=a;for(l.pendingLanes|=2,l.entangledLanes|=2;i;){var s=1\u003C\u003C31-nd(i);l.entanglements[1]|=s,i&=~s}Hl(a),(yy&(sy|uy))===ly&&($y=jc()+Yy,Wl(0,!1))}}break;case 13:null!==(l=rn(a,2))&&al(l,a,2),dl(),Su(a,2)}if(null===(a=zu(r))&&ts(e,t,r,Hv,n),a===o)break;o=a}null!==o&&r.stopPropagation()}else ts(e,t,r,null,n)}}function zu(e){return Iu(e=kt(e))}function Iu(e){if(Hv=null,null!==(e=ge(e))){var t=R(e);if(null===t)e=null;else{var n=t.tag;if(13===n){if(null!==(e=z(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Hv=e,null}function Lu(e){switch(e){case\\\"beforetoggle\\\":case\\\"cancel\\\":case\\\"click\\\":case\\\"close\\\":case\\\"contextmenu\\\":case\\\"copy\\\":case\\\"cut\\\":case\\\"auxclick\\\":case\\\"dblclick\\\":case\\\"dragend\\\":case\\\"dragstart\\\":case\\\"drop\\\":case\\\"focusin\\\":case\\\"focusout\\\":case\\\"input\\\":case\\\"invalid\\\":case\\\"keydown\\\":case\\\"keypress\\\":case\\\"keyup\\\":case\\\"mousedown\\\":case\\\"mouseup\\\":case\\\"paste\\\":case\\\"pause\\\":case\\\"play\\\":case\\\"pointercancel\\\":case\\\"pointerdown\\\":case\\\"pointerup\\\":case\\\"ratechange\\\":case\\\"reset\\\":case\\\"resize\\\":case\\\"seeked\\\":case\\\"submit\\\":case\\\"toggle\\\":case\\\"touchcancel\\\":case\\\"touchend\\\":case\\\"touchstart\\\":case\\\"volumechange\\\":case\\\"change\\\":case\\\"selectionchange\\\":case\\\"textInput\\\":case\\\"compositionstart\\\":case\\\"compositionend\\\":case\\\"compositionupdate\\\":case\\\"beforeblur\\\":case\\\"afterblur\\\":case\\\"beforeinput\\\":case\\\"blur\\\":case\\\"fullscreenchange\\\":case\\\"focus\\\":case\\\"hashchange\\\":case\\\"popstate\\\":case\\\"select\\\":case\\\"selectstart\\\":return ld;case\\\"drag\\\":case\\\"dragenter\\\":case\\\"dragexit\\\":case\\\"dragleave\\\":case\\\"dragover\\\":case\\\"mousemove\\\":case\\\"mouseout\\\":case\\\"mouseover\\\":case\\\"pointermove\\\":case\\\"pointerout\\\":case\\\"pointerover\\\":case\\\"scroll\\\":case\\\"touchmove\\\":case\\\"wheel\\\":case\\\"mouseenter\\\":case\\\"mouseleave\\\":case\\\"pointerenter\\\":case\\\"pointerleave\\\":return sd;case\\\"message\\\":switch(Vc()){case Bc:return ld;case qc:return sd;case Qc:case $c:return ud;case Yc:return cd;default:return ud}default:return ud}}function Du(e,t){switch(e){case\\\"focusin\\\":case\\\"focusout\\\":jv=null;break;case\\\"dragenter\\\":case\\\"dragleave\\\":Vv=null;break;case\\\"mouseover\\\":case\\\"mouseout\\\":Bv=null;break;case\\\"pointerover\\\":case\\\"pointerout\\\":qv.delete(t.pointerId);break;case\\\"gotpointercapture\\\":case\\\"lostpointercapture\\\":Qv.delete(t.pointerId)}}function _u(e,t,n,r,o,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},null!==t&&(null!==(t=ye(t))&&xu(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function Fu(e){var t=ge(e.target);if(null!==t){var n=R(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=z(n)))return e.blockedOn=t,void function(e,t){var n=Rc.p;try{Rc.p=e,t()}finally{Rc.p=n}}(e.priority,function(){if(13===n.tag){var e=rl(n),t=rn(n,e);null!==t&&al(t,n,e),Su(n,e)}})}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Ou(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0\u003Ct.length;){var n=zu(e.nativeEvent);if(null!==n)return null!==(t=ye(n))&&xu(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n),o=r;null!==bf&&console.error(\\\"Expected currently replaying event to be null. This error is likely caused by a bug in React. Please file an issue.\\\"),bf=o,n.target.dispatchEvent(r),null===bf&&console.error(\\\"Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue.\\\"),bf=null,t.shift()}return!0}function Nu(e,t,n){Ou(e)&&n.delete(t)}function Au(){Wv=!1,null!==jv&&Ou(jv)&&(jv=null),null!==Vv&&Ou(Vv)&&(Vv=null),null!==Bv&&Ou(Bv)&&(Bv=null),qv.forEach(Nu),Qv.forEach(Nu)}function Mu(e,t){e.blockedOn===t&&(e.blockedOn=null,Wv||(Wv=!0,Bu.unstable_scheduleCallback(Bu.unstable_NormalPriority,Au)))}function Uu(e){Xv!==e&&(Xv=e,Bu.unstable_scheduleCallback(Bu.unstable_NormalPriority,function(){Xv===e&&(Xv=null);for(var t=0;t\u003Ce.length;t+=3){var n=e[t],r=e[t+1],o=e[t+2];if(\\\"function\\\"!=typeof r){if(null===Iu(r||n))continue;break}var a=ye(n);null!==a&&(e.splice(t,3),t-=3,n={pending:!0,data:o,method:n.method,action:r},Object.freeze(n),wo(a,n,r,o))}}))}function Hu(e){function t(t){return Mu(t,e)}null!==jv&&Mu(jv,e),null!==Vv&&Mu(Vv,e),null!==Bv&&Mu(Bv,e),qv.forEach(t),Qv.forEach(t);for(var n=0;n\u003C$v.length;n++){var r=$v[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0\u003C$v.length&&null===(n=$v[0]).blockedOn;)Fu(n),null===n.blockedOn&&$v.shift();if(null!=(n=(e.ownerDocument||e).$$reactFormReplay))for(r=0;r\u003Cn.length;r+=3){var o=n[r],a=n[r+1],i=o[pd]||null;if(\\\"function\\\"==typeof a)i||Uu(n);else if(i){var l=null;if(a&&a.hasAttribute(\\\"formAction\\\")){if(o=a,i=a[pd]||null)l=i.formAction;else if(null!==Iu(o))continue}else l=i.action;\\\"function\\\"==typeof l?n[r+1]=l:(n.splice(r,3),r-=3),Uu(n)}}}function Wu(e){this._internalRoot=e}function ju(e){this._internalRoot=e}function Vu(e){e[hd]&&(e._reactRootContainer?console.error(\\\"You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported.\\\"):console.error(\\\"You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it.\\\"))}\\\"undefined\\\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\\\"function\\\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var Bu=require(\\\"react-scheduler.js\\\"),qu=require(\\\"react\\\"),Qu=require(\\\"react-dom\\\"),$u=Symbol.for(\\\"react.element\\\"),Yu=Symbol.for(\\\"react.transitional.element\\\"),Xu=Symbol.for(\\\"react.portal\\\"),Ku=Symbol.for(\\\"react.fragment\\\"),Gu=Symbol.for(\\\"react.strict_mode\\\"),Zu=Symbol.for(\\\"react.profiler\\\"),Ju=Symbol.for(\\\"react.provider\\\"),ec=Symbol.for(\\\"react.consumer\\\"),tc=Symbol.for(\\\"react.context\\\"),nc=Symbol.for(\\\"react.forward_ref\\\"),rc=Symbol.for(\\\"react.suspense\\\"),oc=Symbol.for(\\\"react.suspense_list\\\"),ac=Symbol.for(\\\"react.memo\\\"),ic=Symbol.for(\\\"react.lazy\\\");Symbol.for(\\\"react.scope\\\"),Symbol.for(\\\"react.debug_trace_mode\\\");var lc=Symbol.for(\\\"react.offscreen\\\");Symbol.for(\\\"react.legacy_hidden\\\"),Symbol.for(\\\"react.tracing_marker\\\");var sc,uc,cc,dc,fc,pc,hc,mc=Symbol.for(\\\"react.memo_cache_sentinel\\\"),gc=Symbol.iterator,yc=Symbol.for(\\\"react.client.reference\\\"),bc=qu.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,vc=Object.assign,kc=0;k.__reactDisabledLog=!0;var wc,Sc,xc=!1,Cc=new(\\\"function\\\"==typeof WeakMap?WeakMap:Map),Ec=null,Tc=!1,Pc=Array.isArray,Rc=Qu.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,zc=Object.freeze({pending:!1,data:null,method:null,action:null}),Ic=[],Lc=[],Dc=-1,_c=L(null),Fc=L(null),Oc=L(null),Nc=L(null),Ac=Object.prototype.hasOwnProperty,Mc=Bu.unstable_scheduleCallback,Uc=Bu.unstable_cancelCallback,Hc=Bu.unstable_shouldYield,Wc=Bu.unstable_requestPaint,jc=Bu.unstable_now,Vc=Bu.unstable_getCurrentPriorityLevel,Bc=Bu.unstable_ImmediatePriority,qc=Bu.unstable_UserBlockingPriority,Qc=Bu.unstable_NormalPriority,$c=Bu.unstable_LowPriority,Yc=Bu.unstable_IdlePriority,Xc=Bu.log,Kc=Bu.unstable_setDisableYieldValue,Gc=null,Zc=null,Jc=null,ed=!1,td=\\\"undefined\\\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__,nd=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(rd(e)/od|0)|0},rd=Math.log,od=Math.LN2,ad=128,id=4194304,ld=2,sd=8,ud=32,cd=268435456,dd=Math.random().toString(36).slice(2),fd=\\\"__reactFiber$\\\"+dd,pd=\\\"__reactProps$\\\"+dd,hd=\\\"__reactContainer$\\\"+dd,md=\\\"__reactEvents$\\\"+dd,gd=\\\"__reactListeners$\\\"+dd,yd=\\\"__reactHandles$\\\"+dd,bd=\\\"__reactResources$\\\"+dd,vd=\\\"__reactMarker$\\\"+dd,kd=new Set,wd={},Sd={},xd=!(\\\"undefined\\\"==typeof window||void 0===window.document||void 0===window.document.createElement),Cd={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0},Ed=RegExp(\\\"^[:A-Z_a-z\\\\\\\\u00C0-\\\\\\\\u00D6\\\\\\\\u00D8-\\\\\\\\u00F6\\\\\\\\u00F8-\\\\\\\\u02FF\\\\\\\\u0370-\\\\\\\\u037D\\\\\\\\u037F-\\\\\\\\u1FFF\\\\\\\\u200C-\\\\\\\\u200D\\\\\\\\u2070-\\\\\\\\u218F\\\\\\\\u2C00-\\\\\\\\u2FEF\\\\\\\\u3001-\\\\\\\\uD7FF\\\\\\\\uF900-\\\\\\\\uFDCF\\\\\\\\uFDF0-\\\\\\\\uFFFD][:A-Z_a-z\\\\\\\\u00C0-\\\\\\\\u00D6\\\\\\\\u00D8-\\\\\\\\u00F6\\\\\\\\u00F8-\\\\\\\\u02FF\\\\\\\\u0370-\\\\\\\\u037D\\\\\\\\u037F-\\\\\\\\u1FFF\\\\\\\\u200C-\\\\\\\\u200D\\\\\\\\u2070-\\\\\\\\u218F\\\\\\\\u2C00-\\\\\\\\u2FEF\\\\\\\\u3001-\\\\\\\\uD7FF\\\\\\\\uF900-\\\\\\\\uFDCF\\\\\\\\uFDF0-\\\\\\\\uFFFD\\\\\\\\-.0-9\\\\\\\\u00B7\\\\\\\\u0300-\\\\\\\\u036F\\\\\\\\u203F-\\\\\\\\u2040]*$\\\"),Td={},Pd={},Rd=/[\\\\n\\\"\\\\\\\\]/g,zd=!1,Id=!1,Ld=!1,Dd=!1,_d=!1,Fd=!1,Od=[\\\"value\\\",\\\"defaultValue\\\"],Nd=!1,Ad=/[\\\"'&\u003C>\\\\n\\\\t]|^\\\\s|\\\\s$/,Md=\\\"address applet area article aside base basefont bgsound blockquote body br button caption center col colgroup dd details dir div dl dt embed fieldset figcaption figure footer form frame frameset h1 h2 h3 h4 h5 h6 head header hgroup hr html iframe img input isindex li link listing main marquee menu menuitem meta nav noembed noframes noscript object ol p param plaintext pre script section select source style summary table tbody td template textarea tfoot th thead title tr track ul wbr xmp\\\".split(\\\" \\\"),Ud=\\\"applet caption html table td th marquee object template foreignObject desc title\\\".split(\\\" \\\"),Hd=Ud.concat([\\\"button\\\"]),Wd=\\\"dd dt li option optgroup p rp rt\\\".split(\\\" \\\"),jd={current:null,formTag:null,aTagInScope:null,buttonTagInScope:null,nobrTagInScope:null,pTagInButtonScope:null,listItemTagAutoclosing:null,dlItemTagAutoclosing:null,containerTagInScope:null},Vd={},Bd=\\\"http://www.w3.org/1998/Math/MathML\\\",qd=\\\"http://www.w3.org/2000/svg\\\",Qd={animation:\\\"animationDelay animationDirection animationDuration animationFillMode animationIterationCount animationName animationPlayState animationTimingFunction\\\".split(\\\" \\\"),background:\\\"backgroundAttachment backgroundClip backgroundColor backgroundImage backgroundOrigin backgroundPositionX backgroundPositionY backgroundRepeat backgroundSize\\\".split(\\\" \\\"),backgroundPosition:[\\\"backgroundPositionX\\\",\\\"backgroundPositionY\\\"],border:\\\"borderBottomColor borderBottomStyle borderBottomWidth borderImageOutset borderImageRepeat borderImageSlice borderImageSource borderImageWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderTopColor borderTopStyle borderTopWidth\\\".split(\\\" \\\"),borderBlockEnd:[\\\"borderBlockEndColor\\\",\\\"borderBlockEndStyle\\\",\\\"borderBlockEndWidth\\\"],borderBlockStart:[\\\"borderBlockStartColor\\\",\\\"borderBlockStartStyle\\\",\\\"borderBlockStartWidth\\\"],borderBottom:[\\\"borderBottomColor\\\",\\\"borderBottomStyle\\\",\\\"borderBottomWidth\\\"],borderColor:[\\\"borderBottomColor\\\",\\\"borderLeftColor\\\",\\\"borderRightColor\\\",\\\"borderTopColor\\\"],borderImage:[\\\"borderImageOutset\\\",\\\"borderImageRepeat\\\",\\\"borderImageSlice\\\",\\\"borderImageSource\\\",\\\"borderImageWidth\\\"],borderInlineEnd:[\\\"borderInlineEndColor\\\",\\\"borderInlineEndStyle\\\",\\\"borderInlineEndWidth\\\"],borderInlineStart:[\\\"borderInlineStartColor\\\",\\\"borderInlineStartStyle\\\",\\\"borderInlineStartWidth\\\"],borderLeft:[\\\"borderLeftColor\\\",\\\"borderLeftStyle\\\",\\\"borderLeftWidth\\\"],borderRadius:[\\\"borderBottomLeftRadius\\\",\\\"borderBottomRightRadius\\\",\\\"borderTopLeftRadius\\\",\\\"borderTopRightRadius\\\"],borderRight:[\\\"borderRightColor\\\",\\\"borderRightStyle\\\",\\\"borderRightWidth\\\"],borderStyle:[\\\"borderBottomStyle\\\",\\\"borderLeftStyle\\\",\\\"borderRightStyle\\\",\\\"borderTopStyle\\\"],borderTop:[\\\"borderTopColor\\\",\\\"borderTopStyle\\\",\\\"borderTopWidth\\\"],borderWidth:[\\\"borderBottomWidth\\\",\\\"borderLeftWidth\\\",\\\"borderRightWidth\\\",\\\"borderTopWidth\\\"],columnRule:[\\\"columnRuleColor\\\",\\\"columnRuleStyle\\\",\\\"columnRuleWidth\\\"],columns:[\\\"columnCount\\\",\\\"columnWidth\\\"],flex:[\\\"flexBasis\\\",\\\"flexGrow\\\",\\\"flexShrink\\\"],flexFlow:[\\\"flexDirection\\\",\\\"flexWrap\\\"],font:\\\"fontFamily fontFeatureSettings fontKerning fontLanguageOverride fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition fontWeight lineHeight\\\".split(\\\" \\\"),fontVariant:\\\"fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition\\\".split(\\\" \\\"),gap:[\\\"columnGap\\\",\\\"rowGap\\\"],grid:\\\"gridAutoColumns gridAutoFlow gridAutoRows gridTemplateAreas gridTemplateColumns gridTemplateRows\\\".split(\\\" \\\"),gridArea:[\\\"gridColumnEnd\\\",\\\"gridColumnStart\\\",\\\"gridRowEnd\\\",\\\"gridRowStart\\\"],gridColumn:[\\\"gridColumnEnd\\\",\\\"gridColumnStart\\\"],gridColumnGap:[\\\"columnGap\\\"],gridGap:[\\\"columnGap\\\",\\\"rowGap\\\"],gridRow:[\\\"gridRowEnd\\\",\\\"gridRowStart\\\"],gridRowGap:[\\\"rowGap\\\"],gridTemplate:[\\\"gridTemplateAreas\\\",\\\"gridTemplateColumns\\\",\\\"gridTemplateRows\\\"],listStyle:[\\\"listStyleImage\\\",\\\"listStylePosition\\\",\\\"listStyleType\\\"],margin:[\\\"marginBottom\\\",\\\"marginLeft\\\",\\\"marginRight\\\",\\\"marginTop\\\"],marker:[\\\"markerEnd\\\",\\\"markerMid\\\",\\\"markerStart\\\"],mask:\\\"maskClip maskComposite maskImage maskMode maskOrigin maskPositionX maskPositionY maskRepeat maskSize\\\".split(\\\" \\\"),maskPosition:[\\\"maskPositionX\\\",\\\"maskPositionY\\\"],outline:[\\\"outlineColor\\\",\\\"outlineStyle\\\",\\\"outlineWidth\\\"],overflow:[\\\"overflowX\\\",\\\"overflowY\\\"],padding:[\\\"paddingBottom\\\",\\\"paddingLeft\\\",\\\"paddingRight\\\",\\\"paddingTop\\\"],placeContent:[\\\"alignContent\\\",\\\"justifyContent\\\"],placeItems:[\\\"alignItems\\\",\\\"justifyItems\\\"],placeSelf:[\\\"alignSelf\\\",\\\"justifySelf\\\"],textDecoration:[\\\"textDecorationColor\\\",\\\"textDecorationLine\\\",\\\"textDecorationStyle\\\"],textEmphasis:[\\\"textEmphasisColor\\\",\\\"textEmphasisStyle\\\"],transition:[\\\"transitionDelay\\\",\\\"transitionDuration\\\",\\\"transitionProperty\\\",\\\"transitionTimingFunction\\\"],wordWrap:[\\\"overflowWrap\\\"]},$d=/([A-Z])/g,Yd=/^ms-/,Xd=/^(?:webkit|moz|o)[A-Z]/,Kd=/^-ms-/,Gd=/-(.)/g,Zd=/;\\\\s*$/,Jd={},ef={},tf=!1,nf=!1,rf=new Set(\\\"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\\\".split(\\\" \\\")),of=new Map([[\\\"acceptCharset\\\",\\\"accept-charset\\\"],[\\\"htmlFor\\\",\\\"for\\\"],[\\\"httpEquiv\\\",\\\"http-equiv\\\"],[\\\"crossOrigin\\\",\\\"crossorigin\\\"],[\\\"accentHeight\\\",\\\"accent-height\\\"],[\\\"alignmentBaseline\\\",\\\"alignment-baseline\\\"],[\\\"arabicForm\\\",\\\"arabic-form\\\"],[\\\"baselineShift\\\",\\\"baseline-shift\\\"],[\\\"capHeight\\\",\\\"cap-height\\\"],[\\\"clipPath\\\",\\\"clip-path\\\"],[\\\"clipRule\\\",\\\"clip-rule\\\"],[\\\"colorInterpolation\\\",\\\"color-interpolation\\\"],[\\\"colorInterpolationFilters\\\",\\\"color-interpolation-filters\\\"],[\\\"colorProfile\\\",\\\"color-profile\\\"],[\\\"colorRendering\\\",\\\"color-rendering\\\"],[\\\"dominantBaseline\\\",\\\"dominant-baseline\\\"],[\\\"enableBackground\\\",\\\"enable-background\\\"],[\\\"fillOpacity\\\",\\\"fill-opacity\\\"],[\\\"fillRule\\\",\\\"fill-rule\\\"],[\\\"floodColor\\\",\\\"flood-color\\\"],[\\\"floodOpacity\\\",\\\"flood-opacity\\\"],[\\\"fontFamily\\\",\\\"font-family\\\"],[\\\"fontSize\\\",\\\"font-size\\\"],[\\\"fontSizeAdjust\\\",\\\"font-size-adjust\\\"],[\\\"fontStretch\\\",\\\"font-stretch\\\"],[\\\"fontStyle\\\",\\\"font-style\\\"],[\\\"fontVariant\\\",\\\"font-variant\\\"],[\\\"fontWeight\\\",\\\"font-weight\\\"],[\\\"glyphName\\\",\\\"glyph-name\\\"],[\\\"glyphOrientationHorizontal\\\",\\\"glyph-orientation-horizontal\\\"],[\\\"glyphOrientationVertical\\\",\\\"glyph-orientation-vertical\\\"],[\\\"horizAdvX\\\",\\\"horiz-adv-x\\\"],[\\\"horizOriginX\\\",\\\"horiz-origin-x\\\"],[\\\"imageRendering\\\",\\\"image-rendering\\\"],[\\\"letterSpacing\\\",\\\"letter-spacing\\\"],[\\\"lightingColor\\\",\\\"lighting-color\\\"],[\\\"markerEnd\\\",\\\"marker-end\\\"],[\\\"markerMid\\\",\\\"marker-mid\\\"],[\\\"markerStart\\\",\\\"marker-start\\\"],[\\\"overlinePosition\\\",\\\"overline-position\\\"],[\\\"overlineThickness\\\",\\\"overline-thickness\\\"],[\\\"paintOrder\\\",\\\"paint-order\\\"],[\\\"panose-1\\\",\\\"panose-1\\\"],[\\\"pointerEvents\\\",\\\"pointer-events\\\"],[\\\"renderingIntent\\\",\\\"rendering-intent\\\"],[\\\"shapeRendering\\\",\\\"shape-rendering\\\"],[\\\"stopColor\\\",\\\"stop-color\\\"],[\\\"stopOpacity\\\",\\\"stop-opacity\\\"],[\\\"strikethroughPosition\\\",\\\"strikethrough-position\\\"],[\\\"strikethroughThickness\\\",\\\"strikethrough-thickness\\\"],[\\\"strokeDasharray\\\",\\\"stroke-dasharray\\\"],[\\\"strokeDashoffset\\\",\\\"stroke-dashoffset\\\"],[\\\"strokeLinecap\\\",\\\"stroke-linecap\\\"],[\\\"strokeLinejoin\\\",\\\"stroke-linejoin\\\"],[\\\"strokeMiterlimit\\\",\\\"stroke-miterlimit\\\"],[\\\"strokeOpacity\\\",\\\"stroke-opacity\\\"],[\\\"strokeWidth\\\",\\\"stroke-width\\\"],[\\\"textAnchor\\\",\\\"text-anchor\\\"],[\\\"textDecoration\\\",\\\"text-decoration\\\"],[\\\"textRendering\\\",\\\"text-rendering\\\"],[\\\"transformOrigin\\\",\\\"transform-origin\\\"],[\\\"underlinePosition\\\",\\\"underline-position\\\"],[\\\"underlineThickness\\\",\\\"underline-thickness\\\"],[\\\"unicodeBidi\\\",\\\"unicode-bidi\\\"],[\\\"unicodeRange\\\",\\\"unicode-range\\\"],[\\\"unitsPerEm\\\",\\\"units-per-em\\\"],[\\\"vAlphabetic\\\",\\\"v-alphabetic\\\"],[\\\"vHanging\\\",\\\"v-hanging\\\"],[\\\"vIdeographic\\\",\\\"v-ideographic\\\"],[\\\"vMathematical\\\",\\\"v-mathematical\\\"],[\\\"vectorEffect\\\",\\\"vector-effect\\\"],[\\\"vertAdvY\\\",\\\"vert-adv-y\\\"],[\\\"vertOriginX\\\",\\\"vert-origin-x\\\"],[\\\"vertOriginY\\\",\\\"vert-origin-y\\\"],[\\\"wordSpacing\\\",\\\"word-spacing\\\"],[\\\"writingMode\\\",\\\"writing-mode\\\"],[\\\"xmlnsXlink\\\",\\\"xmlns:xlink\\\"],[\\\"xHeight\\\",\\\"x-height\\\"]]),af={accept:\\\"accept\\\",acceptcharset:\\\"acceptCharset\\\",\\\"accept-charset\\\":\\\"acceptCharset\\\",accesskey:\\\"accessKey\\\",action:\\\"action\\\",allowfullscreen:\\\"allowFullScreen\\\",alt:\\\"alt\\\",as:\\\"as\\\",async:\\\"async\\\",autocapitalize:\\\"autoCapitalize\\\",autocomplete:\\\"autoComplete\\\",autocorrect:\\\"autoCorrect\\\",autofocus:\\\"autoFocus\\\",autoplay:\\\"autoPlay\\\",autosave:\\\"autoSave\\\",capture:\\\"capture\\\",cellpadding:\\\"cellPadding\\\",cellspacing:\\\"cellSpacing\\\",challenge:\\\"challenge\\\",charset:\\\"charSet\\\",checked:\\\"checked\\\",children:\\\"children\\\",cite:\\\"cite\\\",class:\\\"className\\\",classid:\\\"classID\\\",classname:\\\"className\\\",cols:\\\"cols\\\",colspan:\\\"colSpan\\\",content:\\\"content\\\",contenteditable:\\\"contentEditable\\\",contextmenu:\\\"contextMenu\\\",controls:\\\"controls\\\",controlslist:\\\"controlsList\\\",coords:\\\"coords\\\",crossorigin:\\\"crossOrigin\\\",dangerouslysetinnerhtml:\\\"dangerouslySetInnerHTML\\\",data:\\\"data\\\",datetime:\\\"dateTime\\\",default:\\\"default\\\",defaultchecked:\\\"defaultChecked\\\",defaultvalue:\\\"defaultValue\\\",defer:\\\"defer\\\",dir:\\\"dir\\\",disabled:\\\"disabled\\\",disablepictureinpicture:\\\"disablePictureInPicture\\\",disableremoteplayback:\\\"disableRemotePlayback\\\",download:\\\"download\\\",draggable:\\\"draggable\\\",enctype:\\\"encType\\\",enterkeyhint:\\\"enterKeyHint\\\",fetchpriority:\\\"fetchPriority\\\",for:\\\"htmlFor\\\",form:\\\"form\\\",formmethod:\\\"formMethod\\\",formaction:\\\"formAction\\\",formenctype:\\\"formEncType\\\",formnovalidate:\\\"formNoValidate\\\",formtarget:\\\"formTarget\\\",frameborder:\\\"frameBorder\\\",headers:\\\"headers\\\",height:\\\"height\\\",hidden:\\\"hidden\\\",high:\\\"high\\\",href:\\\"href\\\",hreflang:\\\"hrefLang\\\",htmlfor:\\\"htmlFor\\\",httpequiv:\\\"httpEquiv\\\",\\\"http-equiv\\\":\\\"httpEquiv\\\",icon:\\\"icon\\\",id:\\\"id\\\",imagesizes:\\\"imageSizes\\\",imagesrcset:\\\"imageSrcSet\\\",inert:\\\"inert\\\",innerhtml:\\\"innerHTML\\\",inputmode:\\\"inputMode\\\",integrity:\\\"integrity\\\",is:\\\"is\\\",itemid:\\\"itemID\\\",itemprop:\\\"itemProp\\\",itemref:\\\"itemRef\\\",itemscope:\\\"itemScope\\\",itemtype:\\\"itemType\\\",keyparams:\\\"keyParams\\\",keytype:\\\"keyType\\\",kind:\\\"kind\\\",label:\\\"label\\\",lang:\\\"lang\\\",list:\\\"list\\\",loop:\\\"loop\\\",low:\\\"low\\\",manifest:\\\"manifest\\\",marginwidth:\\\"marginWidth\\\",marginheight:\\\"marginHeight\\\",max:\\\"max\\\",maxlength:\\\"maxLength\\\",media:\\\"media\\\",mediagroup:\\\"mediaGroup\\\",method:\\\"method\\\",min:\\\"min\\\",minlength:\\\"minLength\\\",multiple:\\\"multiple\\\",muted:\\\"muted\\\",name:\\\"name\\\",nomodule:\\\"noModule\\\",nonce:\\\"nonce\\\",novalidate:\\\"noValidate\\\",open:\\\"open\\\",optimum:\\\"optimum\\\",pattern:\\\"pattern\\\",placeholder:\\\"placeholder\\\",playsinline:\\\"playsInline\\\",poster:\\\"poster\\\",preload:\\\"preload\\\",profile:\\\"profile\\\",radiogroup:\\\"radioGroup\\\",readonly:\\\"readOnly\\\",referrerpolicy:\\\"referrerPolicy\\\",rel:\\\"rel\\\",required:\\\"required\\\",reversed:\\\"reversed\\\",role:\\\"role\\\",rows:\\\"rows\\\",rowspan:\\\"rowSpan\\\",sandbox:\\\"sandbox\\\",scope:\\\"scope\\\",scoped:\\\"scoped\\\",scrolling:\\\"scrolling\\\",seamless:\\\"seamless\\\",selected:\\\"selected\\\",shape:\\\"shape\\\",size:\\\"size\\\",sizes:\\\"sizes\\\",span:\\\"span\\\",spellcheck:\\\"spellCheck\\\",src:\\\"src\\\",srcdoc:\\\"srcDoc\\\",srclang:\\\"srcLang\\\",srcset:\\\"srcSet\\\",start:\\\"start\\\",step:\\\"step\\\",style:\\\"style\\\",summary:\\\"summary\\\",tabindex:\\\"tabIndex\\\",target:\\\"target\\\",title:\\\"title\\\",type:\\\"type\\\",usemap:\\\"useMap\\\",value:\\\"value\\\",width:\\\"width\\\",wmode:\\\"wmode\\\",wrap:\\\"wrap\\\",about:\\\"about\\\",accentheight:\\\"accentHeight\\\",\\\"accent-height\\\":\\\"accentHeight\\\",accumulate:\\\"accumulate\\\",additive:\\\"additive\\\",alignmentbaseline:\\\"alignmentBaseline\\\",\\\"alignment-baseline\\\":\\\"alignmentBaseline\\\",allowreorder:\\\"allowReorder\\\",alphabetic:\\\"alphabetic\\\",amplitude:\\\"amplitude\\\",arabicform:\\\"arabicForm\\\",\\\"arabic-form\\\":\\\"arabicForm\\\",ascent:\\\"ascent\\\",attributename:\\\"attributeName\\\",attributetype:\\\"attributeType\\\",autoreverse:\\\"autoReverse\\\",azimuth:\\\"azimuth\\\",basefrequency:\\\"baseFrequency\\\",baselineshift:\\\"baselineShift\\\",\\\"baseline-shift\\\":\\\"baselineShift\\\",baseprofile:\\\"baseProfile\\\",bbox:\\\"bbox\\\",begin:\\\"begin\\\",bias:\\\"bias\\\",by:\\\"by\\\",calcmode:\\\"calcMode\\\",capheight:\\\"capHeight\\\",\\\"cap-height\\\":\\\"capHeight\\\",clip:\\\"clip\\\",clippath:\\\"clipPath\\\",\\\"clip-path\\\":\\\"clipPath\\\",clippathunits:\\\"clipPathUnits\\\",cliprule:\\\"clipRule\\\",\\\"clip-rule\\\":\\\"clipRule\\\",color:\\\"color\\\",colorinterpolation:\\\"colorInterpolation\\\",\\\"color-interpolation\\\":\\\"colorInterpolation\\\",colorinterpolationfilters:\\\"colorInterpolationFilters\\\",\\\"color-interpolation-filters\\\":\\\"colorInterpolationFilters\\\",colorprofile:\\\"colorProfile\\\",\\\"color-profile\\\":\\\"colorProfile\\\",colorrendering:\\\"colorRendering\\\",\\\"color-rendering\\\":\\\"colorRendering\\\",contentscripttype:\\\"contentScriptType\\\",contentstyletype:\\\"contentStyleType\\\",cursor:\\\"cursor\\\",cx:\\\"cx\\\",cy:\\\"cy\\\",d:\\\"d\\\",datatype:\\\"datatype\\\",decelerate:\\\"decelerate\\\",descent:\\\"descent\\\",diffuseconstant:\\\"diffuseConstant\\\",direction:\\\"direction\\\",display:\\\"display\\\",divisor:\\\"divisor\\\",dominantbaseline:\\\"dominantBaseline\\\",\\\"dominant-baseline\\\":\\\"dominantBaseline\\\",dur:\\\"dur\\\",dx:\\\"dx\\\",dy:\\\"dy\\\",edgemode:\\\"edgeMode\\\",elevation:\\\"elevation\\\",enablebackground:\\\"enableBackground\\\",\\\"enable-background\\\":\\\"enableBackground\\\",end:\\\"end\\\",exponent:\\\"exponent\\\",externalresourcesrequired:\\\"externalResourcesRequired\\\",fill:\\\"fill\\\",fillopacity:\\\"fillOpacity\\\",\\\"fill-opacity\\\":\\\"fillOpacity\\\",fillrule:\\\"fillRule\\\",\\\"fill-rule\\\":\\\"fillRule\\\",filter:\\\"filter\\\",filterres:\\\"filterRes\\\",filterunits:\\\"filterUnits\\\",floodopacity:\\\"floodOpacity\\\",\\\"flood-opacity\\\":\\\"floodOpacity\\\",floodcolor:\\\"floodColor\\\",\\\"flood-color\\\":\\\"floodColor\\\",focusable:\\\"focusable\\\",fontfamily:\\\"fontFamily\\\",\\\"font-family\\\":\\\"fontFamily\\\",fontsize:\\\"fontSize\\\",\\\"font-size\\\":\\\"fontSize\\\",fontsizeadjust:\\\"fontSizeAdjust\\\",\\\"font-size-adjust\\\":\\\"fontSizeAdjust\\\",fontstretch:\\\"fontStretch\\\",\\\"font-stretch\\\":\\\"fontStretch\\\",fontstyle:\\\"fontStyle\\\",\\\"font-style\\\":\\\"fontStyle\\\",fontvariant:\\\"fontVariant\\\",\\\"font-variant\\\":\\\"fontVariant\\\",fontweight:\\\"fontWeight\\\",\\\"font-weight\\\":\\\"fontWeight\\\",format:\\\"format\\\",from:\\\"from\\\",fx:\\\"fx\\\",fy:\\\"fy\\\",g1:\\\"g1\\\",g2:\\\"g2\\\",glyphname:\\\"glyphName\\\",\\\"glyph-name\\\":\\\"glyphName\\\",glyphorientationhorizontal:\\\"glyphOrientationHorizontal\\\",\\\"glyph-orientation-horizontal\\\":\\\"glyphOrientationHorizontal\\\",glyphorientationvertical:\\\"glyphOrientationVertical\\\",\\\"glyph-orientation-vertical\\\":\\\"glyphOrientationVertical\\\",glyphref:\\\"glyphRef\\\",gradienttransform:\\\"gradientTransform\\\",gradientunits:\\\"gradientUnits\\\",hanging:\\\"hanging\\\",horizadvx:\\\"horizAdvX\\\",\\\"horiz-adv-x\\\":\\\"horizAdvX\\\",horizoriginx:\\\"horizOriginX\\\",\\\"horiz-origin-x\\\":\\\"horizOriginX\\\",ideographic:\\\"ideographic\\\",imagerendering:\\\"imageRendering\\\",\\\"image-rendering\\\":\\\"imageRendering\\\",in2:\\\"in2\\\",in:\\\"in\\\",inlist:\\\"inlist\\\",intercept:\\\"intercept\\\",k1:\\\"k1\\\",k2:\\\"k2\\\",k3:\\\"k3\\\",k4:\\\"k4\\\",k:\\\"k\\\",kernelmatrix:\\\"kernelMatrix\\\",kernelunitlength:\\\"kernelUnitLength\\\",kerning:\\\"kerning\\\",keypoints:\\\"keyPoints\\\",keysplines:\\\"keySplines\\\",keytimes:\\\"keyTimes\\\",lengthadjust:\\\"lengthAdjust\\\",letterspacing:\\\"letterSpacing\\\",\\\"letter-spacing\\\":\\\"letterSpacing\\\",lightingcolor:\\\"lightingColor\\\",\\\"lighting-color\\\":\\\"lightingColor\\\",limitingconeangle:\\\"limitingConeAngle\\\",local:\\\"local\\\",markerend:\\\"markerEnd\\\",\\\"marker-end\\\":\\\"markerEnd\\\",markerheight:\\\"markerHeight\\\",markermid:\\\"markerMid\\\",\\\"marker-mid\\\":\\\"markerMid\\\",markerstart:\\\"markerStart\\\",\\\"marker-start\\\":\\\"markerStart\\\",markerunits:\\\"markerUnits\\\",markerwidth:\\\"markerWidth\\\",mask:\\\"mask\\\",maskcontentunits:\\\"maskContentUnits\\\",maskunits:\\\"maskUnits\\\",mathematical:\\\"mathematical\\\",mode:\\\"mode\\\",numoctaves:\\\"numOctaves\\\",offset:\\\"offset\\\",opacity:\\\"opacity\\\",operator:\\\"operator\\\",order:\\\"order\\\",orient:\\\"orient\\\",orientation:\\\"orientation\\\",origin:\\\"origin\\\",overflow:\\\"overflow\\\",overlineposition:\\\"overlinePosition\\\",\\\"overline-position\\\":\\\"overlinePosition\\\",overlinethickness:\\\"overlineThickness\\\",\\\"overline-thickness\\\":\\\"overlineThickness\\\",paintorder:\\\"paintOrder\\\",\\\"paint-order\\\":\\\"paintOrder\\\",panose1:\\\"panose1\\\",\\\"panose-1\\\":\\\"panose1\\\",pathlength:\\\"pathLength\\\",patterncontentunits:\\\"patternContentUnits\\\",patterntransform:\\\"patternTransform\\\",patternunits:\\\"patternUnits\\\",pointerevents:\\\"pointerEvents\\\",\\\"pointer-events\\\":\\\"pointerEvents\\\",points:\\\"points\\\",pointsatx:\\\"pointsAtX\\\",pointsaty:\\\"pointsAtY\\\",pointsatz:\\\"pointsAtZ\\\",popover:\\\"popover\\\",popovertarget:\\\"popoverTarget\\\",popovertargetaction:\\\"popoverTargetAction\\\",prefix:\\\"prefix\\\",preservealpha:\\\"preserveAlpha\\\",preserveaspectratio:\\\"preserveAspectRatio\\\",primitiveunits:\\\"primitiveUnits\\\",property:\\\"property\\\",r:\\\"r\\\",radius:\\\"radius\\\",refx:\\\"refX\\\",refy:\\\"refY\\\",renderingintent:\\\"renderingIntent\\\",\\\"rendering-intent\\\":\\\"renderingIntent\\\",repeatcount:\\\"repeatCount\\\",repeatdur:\\\"repeatDur\\\",requiredextensions:\\\"requiredExtensions\\\",requiredfeatures:\\\"requiredFeatures\\\",resource:\\\"resource\\\",restart:\\\"restart\\\",result:\\\"result\\\",results:\\\"results\\\",rotate:\\\"rotate\\\",rx:\\\"rx\\\",ry:\\\"ry\\\",scale:\\\"scale\\\",security:\\\"security\\\",seed:\\\"seed\\\",shaperendering:\\\"shapeRendering\\\",\\\"shape-rendering\\\":\\\"shapeRendering\\\",slope:\\\"slope\\\",spacing:\\\"spacing\\\",specularconstant:\\\"specularConstant\\\",specularexponent:\\\"specularExponent\\\",speed:\\\"speed\\\",spreadmethod:\\\"spreadMethod\\\",startoffset:\\\"startOffset\\\",stddeviation:\\\"stdDeviation\\\",stemh:\\\"stemh\\\",stemv:\\\"stemv\\\",stitchtiles:\\\"stitchTiles\\\",stopcolor:\\\"stopColor\\\",\\\"stop-color\\\":\\\"stopColor\\\",stopopacity:\\\"stopOpacity\\\",\\\"stop-opacity\\\":\\\"stopOpacity\\\",strikethroughposition:\\\"strikethroughPosition\\\",\\\"strikethrough-position\\\":\\\"strikethroughPosition\\\",strikethroughthickness:\\\"strikethroughThickness\\\",\\\"strikethrough-thickness\\\":\\\"strikethroughThickness\\\",string:\\\"string\\\",stroke:\\\"stroke\\\",strokedasharray:\\\"strokeDasharray\\\",\\\"stroke-dasharray\\\":\\\"strokeDasharray\\\",strokedashoffset:\\\"strokeDashoffset\\\",\\\"stroke-dashoffset\\\":\\\"strokeDashoffset\\\",strokelinecap:\\\"strokeLinecap\\\",\\\"stroke-linecap\\\":\\\"strokeLinecap\\\",strokelinejoin:\\\"strokeLinejoin\\\",\\\"stroke-linejoin\\\":\\\"strokeLinejoin\\\",strokemiterlimit:\\\"strokeMiterlimit\\\",\\\"stroke-miterlimit\\\":\\\"strokeMiterlimit\\\",strokewidth:\\\"strokeWidth\\\",\\\"stroke-width\\\":\\\"strokeWidth\\\",strokeopacity:\\\"strokeOpacity\\\",\\\"stroke-opacity\\\":\\\"strokeOpacity\\\",suppresscontenteditablewarning:\\\"suppressContentEditableWarning\\\",suppresshydrationwarning:\\\"suppressHydrationWarning\\\",surfacescale:\\\"surfaceScale\\\",systemlanguage:\\\"systemLanguage\\\",tablevalues:\\\"tableValues\\\",targetx:\\\"targetX\\\",targety:\\\"targetY\\\",textanchor:\\\"textAnchor\\\",\\\"text-anchor\\\":\\\"textAnchor\\\",textdecoration:\\\"textDecoration\\\",\\\"text-decoration\\\":\\\"textDecoration\\\",textlength:\\\"textLength\\\",textrendering:\\\"textRendering\\\",\\\"text-rendering\\\":\\\"textRendering\\\",to:\\\"to\\\",transform:\\\"transform\\\",transformorigin:\\\"transformOrigin\\\",\\\"transform-origin\\\":\\\"transformOrigin\\\",typeof:\\\"typeof\\\",u1:\\\"u1\\\",u2:\\\"u2\\\",underlineposition:\\\"underlinePosition\\\",\\\"underline-position\\\":\\\"underlinePosition\\\",underlinethickness:\\\"underlineThickness\\\",\\\"underline-thickness\\\":\\\"underlineThickness\\\",unicode:\\\"unicode\\\",unicodebidi:\\\"unicodeBidi\\\",\\\"unicode-bidi\\\":\\\"unicodeBidi\\\",unicoderange:\\\"unicodeRange\\\",\\\"unicode-range\\\":\\\"unicodeRange\\\",unitsperem:\\\"unitsPerEm\\\",\\\"units-per-em\\\":\\\"unitsPerEm\\\",unselectable:\\\"unselectable\\\",valphabetic:\\\"vAlphabetic\\\",\\\"v-alphabetic\\\":\\\"vAlphabetic\\\",values:\\\"values\\\",vectoreffect:\\\"vectorEffect\\\",\\\"vector-effect\\\":\\\"vectorEffect\\\",version:\\\"version\\\",vertadvy:\\\"vertAdvY\\\",\\\"vert-adv-y\\\":\\\"vertAdvY\\\",vertoriginx:\\\"vertOriginX\\\",\\\"vert-origin-x\\\":\\\"vertOriginX\\\",vertoriginy:\\\"vertOriginY\\\",\\\"vert-origin-y\\\":\\\"vertOriginY\\\",vhanging:\\\"vHanging\\\",\\\"v-hanging\\\":\\\"vHanging\\\",videographic:\\\"vIdeographic\\\",\\\"v-ideographic\\\":\\\"vIdeographic\\\",viewbox:\\\"viewBox\\\",viewtarget:\\\"viewTarget\\\",visibility:\\\"visibility\\\",vmathematical:\\\"vMathematical\\\",\\\"v-mathematical\\\":\\\"vMathematical\\\",vocab:\\\"vocab\\\",widths:\\\"widths\\\",wordspacing:\\\"wordSpacing\\\",\\\"word-spacing\\\":\\\"wordSpacing\\\",writingmode:\\\"writingMode\\\",\\\"writing-mode\\\":\\\"writingMode\\\",x1:\\\"x1\\\",x2:\\\"x2\\\",x:\\\"x\\\",xchannelselector:\\\"xChannelSelector\\\",xheight:\\\"xHeight\\\",\\\"x-height\\\":\\\"xHeight\\\",xlinkactuate:\\\"xlinkActuate\\\",\\\"xlink:actuate\\\":\\\"xlinkActuate\\\",xlinkarcrole:\\\"xlinkArcrole\\\",\\\"xlink:arcrole\\\":\\\"xlinkArcrole\\\",xlinkhref:\\\"xlinkHref\\\",\\\"xlink:href\\\":\\\"xlinkHref\\\",xlinkrole:\\\"xlinkRole\\\",\\\"xlink:role\\\":\\\"xlinkRole\\\",xlinkshow:\\\"xlinkShow\\\",\\\"xlink:show\\\":\\\"xlinkShow\\\",xlinktitle:\\\"xlinkTitle\\\",\\\"xlink:title\\\":\\\"xlinkTitle\\\",xlinktype:\\\"xlinkType\\\",\\\"xlink:type\\\":\\\"xlinkType\\\",xmlbase:\\\"xmlBase\\\",\\\"xml:base\\\":\\\"xmlBase\\\",xmllang:\\\"xmlLang\\\",\\\"xml:lang\\\":\\\"xmlLang\\\",xmlns:\\\"xmlns\\\",\\\"xml:space\\\":\\\"xmlSpace\\\",xmlnsxlink:\\\"xmlnsXlink\\\",\\\"xmlns:xlink\\\":\\\"xmlnsXlink\\\",xmlspace:\\\"xmlSpace\\\",y1:\\\"y1\\\",y2:\\\"y2\\\",y:\\\"y\\\",ychannelselector:\\\"yChannelSelector\\\",z:\\\"z\\\",zoomandpan:\\\"zoomAndPan\\\"},lf={\\\"aria-current\\\":0,\\\"aria-description\\\":0,\\\"aria-details\\\":0,\\\"aria-disabled\\\":0,\\\"aria-hidden\\\":0,\\\"aria-invalid\\\":0,\\\"aria-keyshortcuts\\\":0,\\\"aria-label\\\":0,\\\"aria-roledescription\\\":0,\\\"aria-autocomplete\\\":0,\\\"aria-checked\\\":0,\\\"aria-expanded\\\":0,\\\"aria-haspopup\\\":0,\\\"aria-level\\\":0,\\\"aria-modal\\\":0,\\\"aria-multiline\\\":0,\\\"aria-multiselectable\\\":0,\\\"aria-orientation\\\":0,\\\"aria-placeholder\\\":0,\\\"aria-pressed\\\":0,\\\"aria-readonly\\\":0,\\\"aria-required\\\":0,\\\"aria-selected\\\":0,\\\"aria-sort\\\":0,\\\"aria-valuemax\\\":0,\\\"aria-valuemin\\\":0,\\\"aria-valuenow\\\":0,\\\"aria-valuetext\\\":0,\\\"aria-atomic\\\":0,\\\"aria-busy\\\":0,\\\"aria-live\\\":0,\\\"aria-relevant\\\":0,\\\"aria-dropeffect\\\":0,\\\"aria-grabbed\\\":0,\\\"aria-activedescendant\\\":0,\\\"aria-colcount\\\":0,\\\"aria-colindex\\\":0,\\\"aria-colspan\\\":0,\\\"aria-controls\\\":0,\\\"aria-describedby\\\":0,\\\"aria-errormessage\\\":0,\\\"aria-flowto\\\":0,\\\"aria-labelledby\\\":0,\\\"aria-owns\\\":0,\\\"aria-posinset\\\":0,\\\"aria-rowcount\\\":0,\\\"aria-rowindex\\\":0,\\\"aria-rowspan\\\":0,\\\"aria-setsize\\\":0},sf={},uf=RegExp(\\\"^(aria)-[:A-Z_a-z\\\\\\\\u00C0-\\\\\\\\u00D6\\\\\\\\u00D8-\\\\\\\\u00F6\\\\\\\\u00F8-\\\\\\\\u02FF\\\\\\\\u0370-\\\\\\\\u037D\\\\\\\\u037F-\\\\\\\\u1FFF\\\\\\\\u200C-\\\\\\\\u200D\\\\\\\\u2070-\\\\\\\\u218F\\\\\\\\u2C00-\\\\\\\\u2FEF\\\\\\\\u3001-\\\\\\\\uD7FF\\\\\\\\uF900-\\\\\\\\uFDCF\\\\\\\\uFDF0-\\\\\\\\uFFFD\\\\\\\\-.0-9\\\\\\\\u00B7\\\\\\\\u0300-\\\\\\\\u036F\\\\\\\\u203F-\\\\\\\\u2040]*$\\\"),cf=RegExp(\\\"^(aria)[A-Z][:A-Z_a-z\\\\\\\\u00C0-\\\\\\\\u00D6\\\\\\\\u00D8-\\\\\\\\u00F6\\\\\\\\u00F8-\\\\\\\\u02FF\\\\\\\\u0370-\\\\\\\\u037D\\\\\\\\u037F-\\\\\\\\u1FFF\\\\\\\\u200C-\\\\\\\\u200D\\\\\\\\u2070-\\\\\\\\u218F\\\\\\\\u2C00-\\\\\\\\u2FEF\\\\\\\\u3001-\\\\\\\\uD7FF\\\\\\\\uF900-\\\\\\\\uFDCF\\\\\\\\uFDF0-\\\\\\\\uFFFD\\\\\\\\-.0-9\\\\\\\\u00B7\\\\\\\\u0300-\\\\\\\\u036F\\\\\\\\u203F-\\\\\\\\u2040]*$\\\"),df=!1,ff={},pf=/^on./,hf=/^on[^A-Z]/,mf=RegExp(\\\"^(aria)-[:A-Z_a-z\\\\\\\\u00C0-\\\\\\\\u00D6\\\\\\\\u00D8-\\\\\\\\u00F6\\\\\\\\u00F8-\\\\\\\\u02FF\\\\\\\\u0370-\\\\\\\\u037D\\\\\\\\u037F-\\\\\\\\u1FFF\\\\\\\\u200C-\\\\\\\\u200D\\\\\\\\u2070-\\\\\\\\u218F\\\\\\\\u2C00-\\\\\\\\u2FEF\\\\\\\\u3001-\\\\\\\\uD7FF\\\\\\\\uF900-\\\\\\\\uFDCF\\\\\\\\uFDF0-\\\\\\\\uFFFD\\\\\\\\-.0-9\\\\\\\\u00B7\\\\\\\\u0300-\\\\\\\\u036F\\\\\\\\u203F-\\\\\\\\u2040]*$\\\"),gf=RegExp(\\\"^(aria)[A-Z][:A-Z_a-z\\\\\\\\u00C0-\\\\\\\\u00D6\\\\\\\\u00D8-\\\\\\\\u00F6\\\\\\\\u00F8-\\\\\\\\u02FF\\\\\\\\u0370-\\\\\\\\u037D\\\\\\\\u037F-\\\\\\\\u1FFF\\\\\\\\u200C-\\\\\\\\u200D\\\\\\\\u2070-\\\\\\\\u218F\\\\\\\\u2C00-\\\\\\\\u2FEF\\\\\\\\u3001-\\\\\\\\uD7FF\\\\\\\\uF900-\\\\\\\\uFDCF\\\\\\\\uFDF0-\\\\\\\\uFFFD\\\\\\\\-.0-9\\\\\\\\u00B7\\\\\\\\u0300-\\\\\\\\u036F\\\\\\\\u203F-\\\\\\\\u2040]*$\\\"),yf=/^[\\\\u0000-\\\\u001F ]*j[\\\\r\\\\n\\\\t]*a[\\\\r\\\\n\\\\t]*v[\\\\r\\\\n\\\\t]*a[\\\\r\\\\n\\\\t]*s[\\\\r\\\\n\\\\t]*c[\\\\r\\\\n\\\\t]*r[\\\\r\\\\n\\\\t]*i[\\\\r\\\\n\\\\t]*p[\\\\r\\\\n\\\\t]*t[\\\\r\\\\n\\\\t]*:/i,bf=null,vf=null,kf=null,wf=!1,Sf=!1;if(xd)try{var xf={};Object.defineProperty(xf,\\\"passive\\\",{get:function(){Sf=!0}}),window.addEventListener(\\\"test\\\",xf,xf),window.removeEventListener(\\\"test\\\",xf,xf)}catch(e){Sf=!1}var Cf,Ef,Tf,Pf=null,Rf=null,zf=null,If={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Lf=Rt(If),Df=vc({},If,{view:0,detail:0}),_f=Rt(Df),Ff=vc({},Df,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:It,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return\\\"movementX\\\"in e?e.movementX:(e!==Tf&&(Tf&&\\\"mousemove\\\"===e.type?(Cf=e.screenX-Tf.screenX,Ef=e.screenY-Tf.screenY):Ef=Cf=0,Tf=e),Cf)},movementY:function(e){return\\\"movementY\\\"in e?e.movementY:Ef}}),Of=Rt(Ff),Nf=Rt(vc({},Ff,{dataTransfer:0})),Af=Rt(vc({},Df,{relatedTarget:0})),Mf=Rt(vc({},If,{animationName:0,elapsedTime:0,pseudoElement:0})),Uf=Rt(vc({},If,{clipboardData:function(e){return\\\"clipboardData\\\"in e?e.clipboardData:window.clipboardData}})),Hf=Rt(vc({},If,{data:0})),Wf=Hf,jf={Esc:\\\"Escape\\\",Spacebar:\\\" \\\",Left:\\\"ArrowLeft\\\",Up:\\\"ArrowUp\\\",Right:\\\"ArrowRight\\\",Down:\\\"ArrowDown\\\",Del:\\\"Delete\\\",Win:\\\"OS\\\",Menu:\\\"ContextMenu\\\",Apps:\\\"ContextMenu\\\",Scroll:\\\"ScrollLock\\\",MozPrintableKey:\\\"Unidentified\\\"},Vf={8:\\\"Backspace\\\",9:\\\"Tab\\\",12:\\\"Clear\\\",13:\\\"Enter\\\",16:\\\"Shift\\\",17:\\\"Control\\\",18:\\\"Alt\\\",19:\\\"Pause\\\",20:\\\"CapsLock\\\",27:\\\"Escape\\\",32:\\\" \\\",33:\\\"PageUp\\\",34:\\\"PageDown\\\",35:\\\"End\\\",36:\\\"Home\\\",37:\\\"ArrowLeft\\\",38:\\\"ArrowUp\\\",39:\\\"ArrowRight\\\",40:\\\"ArrowDown\\\",45:\\\"Insert\\\",46:\\\"Delete\\\",112:\\\"F1\\\",113:\\\"F2\\\",114:\\\"F3\\\",115:\\\"F4\\\",116:\\\"F5\\\",117:\\\"F6\\\",118:\\\"F7\\\",119:\\\"F8\\\",120:\\\"F9\\\",121:\\\"F10\\\",122:\\\"F11\\\",123:\\\"F12\\\",144:\\\"NumLock\\\",145:\\\"ScrollLock\\\",224:\\\"Meta\\\"},Bf={Alt:\\\"altKey\\\",Control:\\\"ctrlKey\\\",Meta:\\\"metaKey\\\",Shift:\\\"shiftKey\\\"},qf=Rt(vc({},Df,{key:function(e){if(e.key){var t=jf[e.key]||e.key;if(\\\"Unidentified\\\"!==t)return t}return\\\"keypress\\\"===e.type?13===(e=Et(e))?\\\"Enter\\\":String.fromCharCode(e):\\\"keydown\\\"===e.type||\\\"keyup\\\"===e.type?Vf[e.keyCode]||\\\"Unidentified\\\":\\\"\\\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:It,charCode:function(e){return\\\"keypress\\\"===e.type?Et(e):0},keyCode:function(e){return\\\"keydown\\\"===e.type||\\\"keyup\\\"===e.type?e.keyCode:0},which:function(e){return\\\"keypress\\\"===e.type?Et(e):\\\"keydown\\\"===e.type||\\\"keyup\\\"===e.type?e.keyCode:0}})),Qf=Rt(vc({},Ff,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),$f=Rt(vc({},Df,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:It})),Yf=Rt(vc({},If,{propertyName:0,elapsedTime:0,pseudoElement:0})),Xf=Rt(vc({},Ff,{deltaX:function(e){return\\\"deltaX\\\"in e?e.deltaX:\\\"wheelDeltaX\\\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\\\"deltaY\\\"in e?e.deltaY:\\\"wheelDeltaY\\\"in e?-e.wheelDeltaY:\\\"wheelDelta\\\"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Kf=Rt(vc({},If,{newState:0,oldState:0})),Gf=[9,13,27,32],Zf=229,Jf=xd&&\\\"CompositionEvent\\\"in window,ep=null;xd&&\\\"documentMode\\\"in document&&(ep=document.documentMode);var tp=xd&&\\\"TextEvent\\\"in window&&!ep,np=xd&&(!Jf||ep&&8\u003Cep&&11>=ep),rp=32,op=String.fromCharCode(rp),ap=!1,ip=!1,lp={color:!0,date:!0,datetime:!0,\\\"datetime-local\\\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0},sp=null,up=null,cp=!1;xd&&(cp=function(e){if(!xd)return!1;var t=(e=\\\"on\\\"+e)in document;return t||((t=document.createElement(\\\"div\\\")).setAttribute(e,\\\"return;\\\"),t=\\\"function\\\"==typeof t[e]),t}(\\\"input\\\")&&(!document.documentMode||9\u003Cdocument.documentMode));var dp=\\\"function\\\"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},fp=xd&&\\\"documentMode\\\"in document&&11>=document.documentMode,pp=null,hp=null,mp=null,gp=!1,yp={animationend:Gt(\\\"Animation\\\",\\\"AnimationEnd\\\"),animationiteration:Gt(\\\"Animation\\\",\\\"AnimationIteration\\\"),animationstart:Gt(\\\"Animation\\\",\\\"AnimationStart\\\"),transitionrun:Gt(\\\"Transition\\\",\\\"TransitionRun\\\"),transitionstart:Gt(\\\"Transition\\\",\\\"TransitionStart\\\"),transitioncancel:Gt(\\\"Transition\\\",\\\"TransitionCancel\\\"),transitionend:Gt(\\\"Transition\\\",\\\"TransitionEnd\\\")},bp={},vp={};xd&&(vp=document.createElement(\\\"div\\\").style,\\\"AnimationEvent\\\"in window||(delete yp.animationend.animation,delete yp.animationiteration.animation,delete yp.animationstart.animation),\\\"TransitionEvent\\\"in window||delete yp.transitionend.transition);var kp=Zt(\\\"animationend\\\"),wp=Zt(\\\"animationiteration\\\"),Sp=Zt(\\\"animationstart\\\"),xp=Zt(\\\"transitionrun\\\"),Cp=Zt(\\\"transitionstart\\\"),Ep=Zt(\\\"transitioncancel\\\"),Tp=Zt(\\\"transitionend\\\"),Pp=new Map,Rp=\\\"abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel\\\".split(\\\" \\\"),zp=1,Ip=2,Lp=4,Dp=[],_p=0,Fp=0,Op={};Object.freeze(Op);var Np=null,Ap=null,Mp=0,Up=1,Hp=2,Wp=8,jp=16,Vp=64,Bp=Bu.unstable_now,qp=-0,Qp=-0,$p=-1.1,Yp=-0,Xp=!1,Kp=!1,Gp={recordUnsafeLifecycleWarnings:function(){},flushPendingUnsafeLifecycleWarnings:function(){},recordLegacyContextWarning:function(){},flushLegacyContextWarning:function(){},discardPendingWarnings:function(){}},Zp=[],Jp=[],eh=[],th=[],nh=[],rh=[],oh=new Set;Gp.recordUnsafeLifecycleWarnings=function(e,t){oh.has(e.type)||(\\\"function\\\"==typeof t.componentWillMount&&!0!==t.componentWillMount.__suppressDeprecationWarning&&Zp.push(e),e.mode&Wp&&\\\"function\\\"==typeof t.UNSAFE_componentWillMount&&Jp.push(e),\\\"function\\\"==typeof t.componentWillReceiveProps&&!0!==t.componentWillReceiveProps.__suppressDeprecationWarning&&eh.push(e),e.mode&Wp&&\\\"function\\\"==typeof t.UNSAFE_componentWillReceiveProps&&th.push(e),\\\"function\\\"==typeof t.componentWillUpdate&&!0!==t.componentWillUpdate.__suppressDeprecationWarning&&nh.push(e),e.mode&Wp&&\\\"function\\\"==typeof t.UNSAFE_componentWillUpdate&&rh.push(e))},Gp.flushPendingUnsafeLifecycleWarnings=function(){var e=new Set;0\u003CZp.length&&(Zp.forEach(function(t){e.add(v(t)||\\\"Component\\\"),oh.add(t.type)}),Zp=[]);var t=new Set;0\u003CJp.length&&(Jp.forEach(function(e){t.add(v(e)||\\\"Component\\\"),oh.add(e.type)}),Jp=[]);var n=new Set;0\u003Ceh.length&&(eh.forEach(function(e){n.add(v(e)||\\\"Component\\\"),oh.add(e.type)}),eh=[]);var r=new Set;0\u003Cth.length&&(th.forEach(function(e){r.add(v(e)||\\\"Component\\\"),oh.add(e.type)}),th=[]);var o=new Set;0\u003Cnh.length&&(nh.forEach(function(e){o.add(v(e)||\\\"Component\\\"),oh.add(e.type)}),nh=[]);var a=new Set;if(0\u003Crh.length&&(rh.forEach(function(e){a.add(v(e)||\\\"Component\\\"),oh.add(e.type)}),rh=[]),0\u003Ct.size){var i=d(t);console.error(\\\"Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\\\\n\\\\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\\\\n\\\\nPlease update the following components: %s\\\",i)}0\u003Cr.size&&(i=d(r),console.error(\\\"Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\\\\n\\\\n* Move data fetching code or side effects to componentDidUpdate.\\\\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\\\\n\\\\nPlease update the following components: %s\\\",i)),0\u003Ca.size&&(i=d(a),console.error(\\\"Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\\\\n\\\\n* Move data fetching code or side effects to componentDidUpdate.\\\\n\\\\nPlease update the following components: %s\\\",i)),0\u003Ce.size&&(i=d(e),console.warn(\\\"componentWillMount has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\\\\n\\\\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\\\\n* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\\\n\\\\nPlease update the following components: %s\\\",i)),0\u003Cn.size&&(i=d(n),console.warn(\\\"componentWillReceiveProps has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\\\\n\\\\n* Move data fetching code or side effects to componentDidUpdate.\\\\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\\\\n* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\\\n\\\\nPlease update the following components: %s\\\",i)),0\u003Co.size&&(i=d(o),console.warn(\\\"componentWillUpdate has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\\\\n\\\\n* Move data fetching code or side effects to componentDidUpdate.\\\\n* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\\\n\\\\nPlease update the following components: %s\\\",i))};var ah=new Map,ih=new Set;Gp.recordLegacyContextWarning=function(e,t){for(var n=null,r=e;null!==r;)r.mode&Wp&&(n=r),r=r.return;null===n?console.error(\\\"Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue.\\\"):!ih.has(e.type)&&(r=ah.get(n),null!=e.type.contextTypes||null!=e.type.childContextTypes||null!==t&&\\\"function\\\"==typeof t.getChildContext)&&(void 0===r&&(r=[],ah.set(n,r)),r.push(e))},Gp.flushLegacyContextWarning=function(){ah.forEach(function(e){if(0!==e.length){var t=e[0],n=new Set;e.forEach(function(e){n.add(v(e)||\\\"Component\\\"),ih.add(e.type)});var r=d(n);P(t,function(){console.error(\\\"Legacy context API has been detected within a strict-mode tree.\\\\n\\\\nThe old API will be supported in all 16.x releases, but applications using it should migrate to the new version.\\\\n\\\\nPlease update the following components: %s\\\\n\\\\nLearn more about this warning here: https://react.dev/link/legacy-context\\\",r)})}})},Gp.discardPendingWarnings=function(){Zp=[],Jp=[],eh=[],th=[],nh=[],rh=[],ah=new Map};var lh,sh=new WeakMap,uh=[],ch=0,dh=null,fh=0,ph=[],hh=0,mh=null,gh=1,yh=\\\"\\\",bh=null,vh=null,kh=!1,wh=!1,Sh=null,xh=null,Ch=!1,Eh=Error(\\\"Hydration Mismatch Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React.\\\"),Th=Error(\\\"Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\\\\n\\\\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`\\\"),Ph=Error(\\\"Suspense Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React.\\\"),Rh={then:function(){console.error('Internal React error: A listener was unexpectedly attached to a \\\"noop\\\" thenable. This is a bug in React. Please file an issue.')}},zh=null,Ih=!1,Lh={\\\"react-stack-bottom-frame\\\":function(e,t,n){var r=Tc;Tc=!0;try{return e(t,n)}finally{Tc=r}}},Dh=Lh[\\\"react-stack-bottom-frame\\\"].bind(Lh),_h={\\\"react-stack-bottom-frame\\\":function(e){var t=Tc;Tc=!0;try{return e.render()}finally{Tc=t}}},Fh=_h[\\\"react-stack-bottom-frame\\\"].bind(_h),Oh={\\\"react-stack-bottom-frame\\\":function(e,t){try{t.componentDidMount()}catch(t){Dl(e,e.return,t)}}},Nh=Oh[\\\"react-stack-bottom-frame\\\"].bind(Oh),Ah={\\\"react-stack-bottom-frame\\\":function(e,t,n,r,o){try{t.componentDidUpdate(n,r,o)}catch(t){Dl(e,e.return,t)}}},Mh=Ah[\\\"react-stack-bottom-frame\\\"].bind(Ah),Uh={\\\"react-stack-bottom-frame\\\":function(e,t){var n=t.stack;e.componentDidCatch(t.value,{componentStack:null!==n?n:\\\"\\\"})}},Hh=Uh[\\\"react-stack-bottom-frame\\\"].bind(Uh),Wh={\\\"react-stack-bottom-frame\\\":function(e,t,n){try{n.componentWillUnmount()}catch(n){Dl(e,t,n)}}},jh=Wh[\\\"react-stack-bottom-frame\\\"].bind(Wh),Vh={\\\"react-stack-bottom-frame\\\":function(e){var t=e.create;return e=e.inst,t=t(),e.destroy=t}},Bh=Vh[\\\"react-stack-bottom-frame\\\"].bind(Vh),qh={\\\"react-stack-bottom-frame\\\":function(e,t,n){try{n()}catch(n){Dl(e,t,n)}}},Qh=qh[\\\"react-stack-bottom-frame\\\"].bind(qh),$h={\\\"react-stack-bottom-frame\\\":function(e){return(0,e._init)(e._payload)}},Yh=$h[\\\"react-stack-bottom-frame\\\"].bind($h),Xh=null,Kh=0,Gh=null,Zh=lh=!1,Jh={},em={},tm={};c=function(e,t,n){if(null!==n&&\\\"object\\\"==typeof n&&n._store&&(!n._store.validated&&null==n.key||2===n._store.validated)){if(\\\"object\\\"!=typeof n._store)throw Error(\\\"React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue.\\\");n._store.validated=1;var r=v(e),o=r||\\\"null\\\";if(!Jh[o]){Jh[o]=!0,n=n._owner;var a=\\\"\\\";(e=e._debugOwner)&&\\\"number\\\"==typeof e.tag&&(o=v(e))&&(a=\\\"\\\\n\\\\nCheck the render method of `\\\"+o+\\\"`.\\\"),a||r&&(a=\\\"\\\\n\\\\nCheck the top-level render call using \u003C\\\"+r+\\\">.\\\");var i=\\\"\\\";null!=n&&e!==n&&(r=null,\\\"number\\\"==typeof n.tag?r=v(n):\\\"string\\\"==typeof n.name&&(r=n.name),r&&(i=\\\" It was passed a child from \\\"+r+\\\".\\\")),P(t,function(){console.error('Each child in a list should have a unique \\\"key\\\" prop.%s%s See https://react.dev/link/warning-keys for more information.',a,i)})}}};var nm=$n(!0),rm=$n(!1),om=L(null),am=L(0),im=L(null),lm=null,sm=1,um=2,cm=L(0),dm=0,fm=1,pm=2,hm=4,mm=8,gm=\\\"undefined\\\"!=typeof AbortController?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},ym=Bu.unstable_scheduleCallback,bm=Bu.unstable_NormalPriority,vm={$$typeof:tc,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0,_currentRenderer:null,_currentRenderer2:null},km=null,wm=0,Sm=0,xm=null,Cm=bc.S;bc.S=function(e,t){\\\"object\\\"==typeof t&&null!==t&&\\\"function\\\"==typeof t.then&&function(e,t){if(null===km){var n=km=[];wm=0,Sm=$l(),xm={status:\\\"pending\\\",value:void 0,then:function(e){n.push(e)}}}wm++,t.then(ar,ar)}(0,t),null!==Cm&&Cm(e,t)};var Em,Tm=L(null),Pm=new Set,Rm=new Set,zm=new Set,Im=new Set,Lm=0,Dm=null,_m=null,Fm=null,Om=!1,Nm=!1,Am=!1,Mm=0,Um=0,Hm=null,Wm=0,jm=25,Vm=null,Bm=null,qm=-1,Qm=!1,$m=function(){return{lastEffect:null,events:null,stores:null,memoCache:null}},Ym={readContext:Ra,use:Er,useCallback:pr,useContext:pr,useEffect:pr,useImperativeHandle:pr,useLayoutEffect:pr,useInsertionEffect:pr,useMemo:pr,useReducer:pr,useRef:pr,useState:pr,useDebugValue:pr,useDeferredValue:pr,useTransition:pr,useSyncExternalStore:pr,useId:pr};Ym.useCacheRefresh=pr,Ym.useMemoCache=pr,Ym.useHostTransitionStatus=pr,Ym.useFormState=pr,Ym.useActionState=pr,Ym.useOptimistic=pr;var Xm=null,Km=null,Gm=null,Zm=null,Jm=null,eg=null,tg=null;(Xm={readContext:function(e){return Ra(e)},use:Er,useCallback:function(e,t){return Vm=\\\"useCallback\\\",ur(),dr(t),co(e,t)},useContext:function(e){return Vm=\\\"useContext\\\",ur(),Ra(e)},useEffect:function(e,t){return Vm=\\\"useEffect\\\",ur(),dr(t),ao(e,t)},useImperativeHandle:function(e,t,n){return Vm=\\\"useImperativeHandle\\\",ur(),dr(n),so(e,t,n)},useInsertionEffect:function(e,t){Vm=\\\"useInsertionEffect\\\",ur(),dr(t),ro(4,pm,e,t)},useLayoutEffect:function(e,t){return Vm=\\\"useLayoutEffect\\\",ur(),dr(t),io(e,t)},useMemo:function(e,t){Vm=\\\"useMemo\\\",ur(),dr(t);var n=bc.H;bc.H=Jm;try{return po(e,t)}finally{bc.H=n}},useReducer:function(e,t,n){Vm=\\\"useReducer\\\",ur();var r=bc.H;bc.H=Jm;try{return Rr(e,t,n)}finally{bc.H=r}},useRef:function(e){return Vm=\\\"useRef\\\",ur(),no(e)},useState:function(e){Vm=\\\"useState\\\",ur();var t=bc.H;bc.H=Jm;try{return Hr(e)}finally{bc.H=t}},useDebugValue:function(){Vm=\\\"useDebugValue\\\",ur()},useDeferredValue:function(e,t){return Vm=\\\"useDeferredValue\\\",ur(),mo(e,t)},useTransition:function(){return Vm=\\\"useTransition\\\",ur(),Co()},useSyncExternalStore:function(e,t,n){return Vm=\\\"useSyncExternalStore\\\",ur(),Dr(e,t,n)},useId:function(){return Vm=\\\"useId\\\",ur(),Ro()},useCacheRefresh:function(){return Vm=\\\"useCacheRefresh\\\",ur(),zo()}}).useMemoCache=Tr,Xm.useHostTransitionStatus=Po,Xm.useFormState=function(e,t){return Vm=\\\"useFormState\\\",ur(),fr(),Gr(e,t)},Xm.useActionState=function(e,t){return Vm=\\\"useActionState\\\",ur(),Gr(e,t)},Xm.useOptimistic=function(e){return Vm=\\\"useOptimistic\\\",ur(),Wr(e)},(Km={readContext:function(e){return Ra(e)},use:Er,useCallback:function(e,t){return Vm=\\\"useCallback\\\",cr(),co(e,t)},useContext:function(e){return Vm=\\\"useContext\\\",cr(),Ra(e)},useEffect:function(e,t){return Vm=\\\"useEffect\\\",cr(),ao(e,t)},useImperativeHandle:function(e,t,n){return Vm=\\\"useImperativeHandle\\\",cr(),so(e,t,n)},useInsertionEffect:function(e,t){Vm=\\\"useInsertionEffect\\\",cr(),ro(4,pm,e,t)},useLayoutEffect:function(e,t){return Vm=\\\"useLayoutEffect\\\",cr(),io(e,t)},useMemo:function(e,t){Vm=\\\"useMemo\\\",cr();var n=bc.H;bc.H=Jm;try{return po(e,t)}finally{bc.H=n}},useReducer:function(e,t,n){Vm=\\\"useReducer\\\",cr();var r=bc.H;bc.H=Jm;try{return Rr(e,t,n)}finally{bc.H=r}},useRef:function(e){return Vm=\\\"useRef\\\",cr(),no(e)},useState:function(e){Vm=\\\"useState\\\",cr();var t=bc.H;bc.H=Jm;try{return Hr(e)}finally{bc.H=t}},useDebugValue:function(){Vm=\\\"useDebugValue\\\",cr()},useDeferredValue:function(e,t){return Vm=\\\"useDeferredValue\\\",cr(),mo(e,t)},useTransition:function(){return Vm=\\\"useTransition\\\",cr(),Co()},useSyncExternalStore:function(e,t,n){return Vm=\\\"useSyncExternalStore\\\",cr(),Dr(e,t,n)},useId:function(){return Vm=\\\"useId\\\",cr(),Ro()},useCacheRefresh:function(){return Vm=\\\"useCacheRefresh\\\",cr(),zo()}}).useMemoCache=Tr,Km.useHostTransitionStatus=Po,Km.useFormState=function(e,t){return Vm=\\\"useFormState\\\",cr(),fr(),Gr(e,t)},Km.useActionState=function(e,t){return Vm=\\\"useActionState\\\",cr(),Gr(e,t)},Km.useOptimistic=function(e){return Vm=\\\"useOptimistic\\\",cr(),Wr(e)},(Gm={readContext:function(e){return Ra(e)},use:Er,useCallback:function(e,t){return Vm=\\\"useCallback\\\",cr(),fo(e,t)},useContext:function(e){return Vm=\\\"useContext\\\",cr(),Ra(e)},useEffect:function(e,t){Vm=\\\"useEffect\\\",cr(),oo(2048,mm,e,t)},useImperativeHandle:function(e,t,n){return Vm=\\\"useImperativeHandle\\\",cr(),uo(e,t,n)},useInsertionEffect:function(e,t){return Vm=\\\"useInsertionEffect\\\",cr(),oo(4,pm,e,t)},useLayoutEffect:function(e,t){return Vm=\\\"useLayoutEffect\\\",cr(),oo(4,hm,e,t)},useMemo:function(e,t){Vm=\\\"useMemo\\\",cr();var n=bc.H;bc.H=eg;try{return ho(e,t)}finally{bc.H=n}},useReducer:function(e,t,n){Vm=\\\"useReducer\\\",cr();var r=bc.H;bc.H=eg;try{return zr(e)}finally{bc.H=r}},useRef:function(){return Vm=\\\"useRef\\\",cr(),xr().memoizedState},useState:function(){Vm=\\\"useState\\\",cr();var e=bc.H;bc.H=eg;try{return zr(Pr)}finally{bc.H=e}},useDebugValue:function(){Vm=\\\"useDebugValue\\\",cr()},useDeferredValue:function(e,t){return Vm=\\\"useDeferredValue\\\",cr(),go(e,t)},useTransition:function(){return Vm=\\\"useTransition\\\",cr(),Eo()},useSyncExternalStore:function(e,t,n){return Vm=\\\"useSyncExternalStore\\\",cr(),_r(e,t,n)},useId:function(){return Vm=\\\"useId\\\",cr(),xr().memoizedState},useCacheRefresh:function(){return Vm=\\\"useCacheRefresh\\\",cr(),xr().memoizedState}}).useMemoCache=Tr,Gm.useHostTransitionStatus=Po,Gm.useFormState=function(e){return Vm=\\\"useFormState\\\",cr(),fr(),Zr(e)},Gm.useActionState=function(e){return Vm=\\\"useActionState\\\",cr(),Zr(e)},Gm.useOptimistic=function(e,t){return Vm=\\\"useOptimistic\\\",cr(),jr(e,t)},(Zm={readContext:function(e){return Ra(e)},use:Er,useCallback:function(e,t){return Vm=\\\"useCallback\\\",cr(),fo(e,t)},useContext:function(e){return Vm=\\\"useContext\\\",cr(),Ra(e)},useEffect:function(e,t){Vm=\\\"useEffect\\\",cr(),oo(2048,mm,e,t)},useImperativeHandle:function(e,t,n){return Vm=\\\"useImperativeHandle\\\",cr(),uo(e,t,n)},useInsertionEffect:function(e,t){return Vm=\\\"useInsertionEffect\\\",cr(),oo(4,pm,e,t)},useLayoutEffect:function(e,t){return Vm=\\\"useLayoutEffect\\\",cr(),oo(4,hm,e,t)},useMemo:function(e,t){Vm=\\\"useMemo\\\",cr();var n=bc.H;bc.H=tg;try{return ho(e,t)}finally{bc.H=n}},useReducer:function(e,t,n){Vm=\\\"useReducer\\\",cr();var r=bc.H;bc.H=tg;try{return Lr(e)}finally{bc.H=r}},useRef:function(){return Vm=\\\"useRef\\\",cr(),xr().memoizedState},useState:function(){Vm=\\\"useState\\\",cr();var e=bc.H;bc.H=tg;try{return Lr(Pr)}finally{bc.H=e}},useDebugValue:function(){Vm=\\\"useDebugValue\\\",cr()},useDeferredValue:function(e,t){return Vm=\\\"useDeferredValue\\\",cr(),yo(e,t)},useTransition:function(){return Vm=\\\"useTransition\\\",cr(),To()},useSyncExternalStore:function(e,t,n){return Vm=\\\"useSyncExternalStore\\\",cr(),_r(e,t,n)},useId:function(){return Vm=\\\"useId\\\",cr(),xr().memoizedState},useCacheRefresh:function(){return Vm=\\\"useCacheRefresh\\\",cr(),xr().memoizedState}}).useMemoCache=Tr,Zm.useHostTransitionStatus=Po,Zm.useFormState=function(e){return Vm=\\\"useFormState\\\",cr(),fr(),eo(e)},Zm.useActionState=function(e){return Vm=\\\"useActionState\\\",cr(),eo(e)},Zm.useOptimistic=function(e,t){return Vm=\\\"useOptimistic\\\",cr(),Br(e,t)},(Jm={readContext:function(e){return s(),Ra(e)},use:function(e){return l(),Er(e)},useCallback:function(e,t){return Vm=\\\"useCallback\\\",l(),ur(),co(e,t)},useContext:function(e){return Vm=\\\"useContext\\\",l(),ur(),Ra(e)},useEffect:function(e,t){return Vm=\\\"useEffect\\\",l(),ur(),ao(e,t)},useImperativeHandle:function(e,t,n){return Vm=\\\"useImperativeHandle\\\",l(),ur(),so(e,t,n)},useInsertionEffect:function(e,t){Vm=\\\"useInsertionEffect\\\",l(),ur(),ro(4,pm,e,t)},useLayoutEffect:function(e,t){return Vm=\\\"useLayoutEffect\\\",l(),ur(),io(e,t)},useMemo:function(e,t){Vm=\\\"useMemo\\\",l(),ur();var n=bc.H;bc.H=Jm;try{return po(e,t)}finally{bc.H=n}},useReducer:function(e,t,n){Vm=\\\"useReducer\\\",l(),ur();var r=bc.H;bc.H=Jm;try{return Rr(e,t,n)}finally{bc.H=r}},useRef:function(e){return Vm=\\\"useRef\\\",l(),ur(),no(e)},useState:function(e){Vm=\\\"useState\\\",l(),ur();var t=bc.H;bc.H=Jm;try{return Hr(e)}finally{bc.H=t}},useDebugValue:function(){Vm=\\\"useDebugValue\\\",l(),ur()},useDeferredValue:function(e,t){return Vm=\\\"useDeferredValue\\\",l(),ur(),mo(e,t)},useTransition:function(){return Vm=\\\"useTransition\\\",l(),ur(),Co()},useSyncExternalStore:function(e,t,n){return Vm=\\\"useSyncExternalStore\\\",l(),ur(),Dr(e,t,n)},useId:function(){return Vm=\\\"useId\\\",l(),ur(),Ro()},useCacheRefresh:function(){return Vm=\\\"useCacheRefresh\\\",ur(),zo()},useMemoCache:function(e){return l(),Tr(e)}}).useHostTransitionStatus=Po,Jm.useFormState=function(e,t){return Vm=\\\"useFormState\\\",l(),ur(),Gr(e,t)},Jm.useActionState=function(e,t){return Vm=\\\"useActionState\\\",l(),ur(),Gr(e,t)},Jm.useOptimistic=function(e){return Vm=\\\"useOptimistic\\\",l(),ur(),Wr(e)},(eg={readContext:function(e){return s(),Ra(e)},use:function(e){return l(),Er(e)},useCallback:function(e,t){return Vm=\\\"useCallback\\\",l(),cr(),fo(e,t)},useContext:function(e){return Vm=\\\"useContext\\\",l(),cr(),Ra(e)},useEffect:function(e,t){Vm=\\\"useEffect\\\",l(),cr(),oo(2048,mm,e,t)},useImperativeHandle:function(e,t,n){return Vm=\\\"useImperativeHandle\\\",l(),cr(),uo(e,t,n)},useInsertionEffect:function(e,t){return Vm=\\\"useInsertionEffect\\\",l(),cr(),oo(4,pm,e,t)},useLayoutEffect:function(e,t){return Vm=\\\"useLayoutEffect\\\",l(),cr(),oo(4,hm,e,t)},useMemo:function(e,t){Vm=\\\"useMemo\\\",l(),cr();var n=bc.H;bc.H=eg;try{return ho(e,t)}finally{bc.H=n}},useReducer:function(e,t,n){Vm=\\\"useReducer\\\",l(),cr();var r=bc.H;bc.H=eg;try{return zr(e)}finally{bc.H=r}},useRef:function(){return Vm=\\\"useRef\\\",l(),cr(),xr().memoizedState},useState:function(){Vm=\\\"useState\\\",l(),cr();var e=bc.H;bc.H=eg;try{return zr(Pr)}finally{bc.H=e}},useDebugValue:function(){Vm=\\\"useDebugValue\\\",l(),cr()},useDeferredValue:function(e,t){return Vm=\\\"useDeferredValue\\\",l(),cr(),go(e,t)},useTransition:function(){return Vm=\\\"useTransition\\\",l(),cr(),Eo()},useSyncExternalStore:function(e,t,n){return Vm=\\\"useSyncExternalStore\\\",l(),cr(),_r(e,t,n)},useId:function(){return Vm=\\\"useId\\\",l(),cr(),xr().memoizedState},useCacheRefresh:function(){return Vm=\\\"useCacheRefresh\\\",cr(),xr().memoizedState},useMemoCache:function(e){return l(),Tr(e)}}).useHostTransitionStatus=Po,eg.useFormState=function(e){return Vm=\\\"useFormState\\\",l(),cr(),Zr(e)},eg.useActionState=function(e){return Vm=\\\"useActionState\\\",l(),cr(),Zr(e)},eg.useOptimistic=function(e,t){return Vm=\\\"useOptimistic\\\",l(),cr(),jr(e,t)},(tg={readContext:function(e){return s(),Ra(e)},use:function(e){return l(),Er(e)},useCallback:function(e,t){return Vm=\\\"useCallback\\\",l(),cr(),fo(e,t)},useContext:function(e){return Vm=\\\"useContext\\\",l(),cr(),Ra(e)},useEffect:function(e,t){Vm=\\\"useEffect\\\",l(),cr(),oo(2048,mm,e,t)},useImperativeHandle:function(e,t,n){return Vm=\\\"useImperativeHandle\\\",l(),cr(),uo(e,t,n)},useInsertionEffect:function(e,t){return Vm=\\\"useInsertionEffect\\\",l(),cr(),oo(4,pm,e,t)},useLayoutEffect:function(e,t){return Vm=\\\"useLayoutEffect\\\",l(),cr(),oo(4,hm,e,t)},useMemo:function(e,t){Vm=\\\"useMemo\\\",l(),cr();var n=bc.H;bc.H=eg;try{return ho(e,t)}finally{bc.H=n}},useReducer:function(e,t,n){Vm=\\\"useReducer\\\",l(),cr();var r=bc.H;bc.H=eg;try{return Lr(e)}finally{bc.H=r}},useRef:function(){return Vm=\\\"useRef\\\",l(),cr(),xr().memoizedState},useState:function(){Vm=\\\"useState\\\",l(),cr();var e=bc.H;bc.H=eg;try{return Lr(Pr)}finally{bc.H=e}},useDebugValue:function(){Vm=\\\"useDebugValue\\\",l(),cr()},useDeferredValue:function(e,t){return Vm=\\\"useDeferredValue\\\",l(),cr(),yo(e,t)},useTransition:function(){return Vm=\\\"useTransition\\\",l(),cr(),To()},useSyncExternalStore:function(e,t,n){return Vm=\\\"useSyncExternalStore\\\",l(),cr(),_r(e,t,n)},useId:function(){return Vm=\\\"useId\\\",l(),cr(),xr().memoizedState},useCacheRefresh:function(){return Vm=\\\"useCacheRefresh\\\",cr(),xr().memoizedState},useMemoCache:function(e){return l(),Tr(e)}}).useHostTransitionStatus=Po,tg.useFormState=function(e){return Vm=\\\"useFormState\\\",l(),cr(),eo(e)},tg.useActionState=function(e){return Vm=\\\"useActionState\\\",l(),cr(),eo(e)},tg.useOptimistic=function(e,t){return Vm=\\\"useOptimistic\\\",l(),cr(),Br(e,t)};var ng={},rg=new Set,og=new Set,ag=new Set,ig=new Set,lg=new Set,sg=new Set,ug=new Set,cg=new Set,dg=new Set,fg=new Set;Object.freeze(ng);var pg={isMounted:function(e){var t=Ec;if(null!==t&&Tc&&1===t.tag){var n=t.stateNode;n._warnedAboutRefsInRender||console.error(\\\"%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.\\\",v(t)||\\\"A component\\\"),n._warnedAboutRefsInRender=!0}return!!(e=e._reactInternals)&&R(e)===e},enqueueSetState:function(e,t,n){var r=rl(e=e._reactInternals),o=_a(r);o.payload=t,void 0!==n&&null!==n&&(No(n),o.callback=n),null!==(t=Fa(e,o,r))&&(al(t,e,r),Oa(t,e,r)),J(e,r)},enqueueReplaceState:function(e,t,n){var r=rl(e=e._reactInternals),o=_a(r);o.tag=Og,o.payload=t,void 0!==n&&null!==n&&(No(n),o.callback=n),null!==(t=Fa(e,o,r))&&(al(t,e,r),Oa(t,e,r)),J(e,r)},enqueueForceUpdate:function(e,t){var n=rl(e=e._reactInternals),r=_a(n);r.tag=Ng,void 0!==t&&null!==t&&(No(t),r.callback=t),null!==(t=Fa(e,r,n))&&(al(t,e,n),Oa(t,e,n)),null!==Jc&&\\\"function\\\"==typeof Jc.markForceUpdateScheduled&&Jc.markForceUpdateScheduled(e,n)}},hg=\\\"function\\\"==typeof reportError?reportError:function(e){if(\\\"object\\\"==typeof window&&\\\"function\\\"==typeof window.ErrorEvent){var t=new window.ErrorEvent(\\\"error\\\",{bubbles:!0,cancelable:!0,message:\\\"object\\\"==typeof e&&null!==e&&\\\"string\\\"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(\\\"object\\\"==typeof process&&\\\"function\\\"==typeof process.emit)return void process.emit(\\\"uncaughtException\\\",e);console.error(e)},mg=null,gg=null,yg=Error(\\\"This is not a real error. It's an implementation detail of React's selective hydration feature. If this leaks into userspace, it's a bug in React. Please file an issue.\\\"),bg=!1,vg={},kg={},wg={},Sg={},xg=!1,Cg={},Eg={},Tg={dehydrated:null,treeContext:null,retryLane:0},Pg=!1,Rg=L(null),zg=L(null),Ig={},Lg=null,Dg=null,_g=!1,Fg=0,Og=1,Ng=2,Ag=3,Mg=!1,Ug=!1,Hg=null,Wg=!1,jg=null;jg=new Set;var Vg=!1,Bg=!1,qg=!1,Qg=\\\"function\\\"==typeof WeakSet?WeakSet:Set,$g=null,Yg=null,Xg=null,Kg=!1,Gg=null,Zg=!1,Jg=null,ey=8192,ty=!1;try{var ny=Object.preventExtensions({});new Map([[ny,null]]),new Set([ny])}catch(e){ty=!0}var ry={getCacheForType:function(e){var t=Ra(vm),n=t.data.get(e);return void 0===n&&(n=e(),t.data.set(e,n)),n},getOwner:function(){return Ec}};if(\\\"function\\\"==typeof Symbol&&Symbol.for){var oy=Symbol.for;oy(\\\"selector.component\\\"),oy(\\\"selector.has_pseudo_class\\\"),oy(\\\"selector.role\\\"),oy(\\\"selector.test_id\\\"),oy(\\\"selector.text\\\")}var ay=[],iy=\\\"function\\\"==typeof WeakMap?WeakMap:Map,ly=0,sy=2,uy=4,cy=0,dy=1,fy=2,py=3,hy=4,my=5,gy=6,yy=ly,by=null,vy=null,ky=0,wy=0,Sy=1,xy=2,Cy=3,Ey=4,Ty=5,Py=6,Ry=7,zy=8,Iy=wy,Ly=null,Dy=!1,_y=!1,Fy=!1,Oy=0,Ny=cy,Ay=0,My=0,Uy=0,Hy=0,Wy=0,jy=null,Vy=null,By=!1,qy=0,Qy=300,$y=1/0,Yy=500,Xy=null,Ky=null,Gy=!1,Zy=null,Jy=0,eb=0,tb=null,nb=50,rb=0,ob=null,ab=!1,ib=!1,lb=50,sb=0,ub=null,cb=!1,db=0,fb=1,pb=2,hb=null,mb=!1,gb=new Set,yb=null,bb=null,vb=!1,kb=!1,wb=!1,Sb=!1,xb=0,Cb={};!function(){for(var e=0;e\u003CRp.length;e++){var t=Rp[e];Jt(t.toLowerCase(),\\\"on\\\"+(t=t[0].toUpperCase()+t.slice(1)))}Jt(kp,\\\"onAnimationEnd\\\"),Jt(wp,\\\"onAnimationIteration\\\"),Jt(Sp,\\\"onAnimationStart\\\"),Jt(\\\"dblclick\\\",\\\"onDoubleClick\\\"),Jt(\\\"focusin\\\",\\\"onFocus\\\"),Jt(\\\"focusout\\\",\\\"onBlur\\\"),Jt(xp,\\\"onTransitionRun\\\"),Jt(Cp,\\\"onTransitionStart\\\"),Jt(Ep,\\\"onTransitionCancel\\\"),Jt(Tp,\\\"onTransitionEnd\\\")}(),Se(\\\"onMouseEnter\\\",[\\\"mouseout\\\",\\\"mouseover\\\"]),Se(\\\"onMouseLeave\\\",[\\\"mouseout\\\",\\\"mouseover\\\"]),Se(\\\"onPointerEnter\\\",[\\\"pointerout\\\",\\\"pointerover\\\"]),Se(\\\"onPointerLeave\\\",[\\\"pointerout\\\",\\\"pointerover\\\"]),we(\\\"onChange\\\",\\\"change click focusin focusout input keydown keyup selectionchange\\\".split(\\\" \\\")),we(\\\"onSelect\\\",\\\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\\\".split(\\\" \\\")),we(\\\"onBeforeInput\\\",[\\\"compositionend\\\",\\\"keypress\\\",\\\"textInput\\\",\\\"paste\\\"]),we(\\\"onCompositionEnd\\\",\\\"compositionend focusout keydown keypress keyup mousedown\\\".split(\\\" \\\")),we(\\\"onCompositionStart\\\",\\\"compositionstart focusout keydown keypress keyup mousedown\\\".split(\\\" \\\")),we(\\\"onCompositionUpdate\\\",\\\"compositionupdate focusout keydown keypress keyup mousedown\\\".split(\\\" \\\"));var Eb=\\\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\\\".split(\\\" \\\"),Tb=new Set(\\\"beforetoggle cancel close invalid load scroll scrollend toggle\\\".split(\\\" \\\").concat(Eb)),Pb=\\\"_reactListening\\\"+Math.random().toString(36).slice(2),Rb=!1,zb=!1,Ib=!1,Lb=!1,Db=!1,_b=!1,Fb=!1,Ob={},Nb=!0,Ab=/\\\\r\\\\n?/g,Mb=/\\\\u0000|\\\\uFFFD/g,Ub=\\\"http://www.w3.org/1999/xlink\\\",Hb=\\\"http://www.w3.org/XML/1998/namespace\\\",Wb=\\\"javascript:throw new Error('React form unexpectedly submitted.')\\\",jb=\\\"suppressHydrationWarning\\\",Vb=\\\"$\\\",Bb=\\\"/$\\\",qb=\\\"$?\\\",Qb=\\\"$!\\\",$b=\\\"F!\\\",Yb=\\\"F\\\",Xb=\\\"style\\\",Kb=0,Gb=1,Zb=2,Jb=null,ev=null,tv={dialog:!0,webview:!0},nv=null,rv=\\\"function\\\"==typeof setTimeout?setTimeout:void 0,ov=\\\"function\\\"==typeof clearTimeout?clearTimeout:void 0,av=-1,iv=\\\"function\\\"==typeof Promise?Promise:void 0,lv=\\\"function\\\"==typeof queueMicrotask?queueMicrotask:void 0!==iv?function(e){return iv.resolve(null).then(e).catch(zs)}:rv,sv=0,uv=1,cv=2,dv=3,fv=4,pv=new Map,hv=new Set,mv=Rc.d;Rc.d={f:function(){var e=mv.f(),t=dl();return e||t},r:function(e){var t=ye(e);null!==t&&5===t.tag&&\\\"form\\\"===t.type?xo(t):mv.r(e)},D:function(e){mv.D(e),Zs(\\\"dns-prefetch\\\",e,null)},C:function(e,t){mv.C(e,t),Zs(\\\"preconnect\\\",e,t)},L:function(e,t,n){mv.L(e,t,n);var r=Ev;if(r&&e&&t){var o='link[rel=\\\"preload\\\"][as=\\\"'+Fe(t)+'\\\"]';\\\"image\\\"===t&&n&&n.imageSrcSet?(o+='[imagesrcset=\\\"'+Fe(n.imageSrcSet)+'\\\"]',\\\"string\\\"==typeof n.imageSizes&&(o+='[imagesizes=\\\"'+Fe(n.imageSizes)+'\\\"]')):o+='[href=\\\"'+Fe(e)+'\\\"]';var a=o;switch(t){case\\\"style\\\":a=tu(e);break;case\\\"script\\\":a=ou(e)}pv.has(a)||(e=vc({rel:\\\"preload\\\",href:\\\"image\\\"===t&&n&&n.imageSrcSet?void 0:e,as:t},n),pv.set(a,e),null!==r.querySelector(o)||\\\"style\\\"===t&&r.querySelector(nu(a))||\\\"script\\\"===t&&r.querySelector(au(a))||(ms(t=r.createElement(\\\"link\\\"),\\\"link\\\",e),ke(t),r.head.appendChild(t)))}},m:function(e,t){mv.m(e,t);var n=Ev;if(n&&e){var r=t&&\\\"string\\\"==typeof t.as?t.as:\\\"script\\\",o='link[rel=\\\"modulepreload\\\"][as=\\\"'+Fe(r)+'\\\"][href=\\\"'+Fe(e)+'\\\"]',a=o;switch(r){case\\\"audioworklet\\\":case\\\"paintworklet\\\":case\\\"serviceworker\\\":case\\\"sharedworker\\\":case\\\"worker\\\":case\\\"script\\\":a=ou(e)}if(!pv.has(a)&&(e=vc({rel:\\\"modulepreload\\\",href:e},t),pv.set(a,e),null===n.querySelector(o))){switch(r){case\\\"audioworklet\\\":case\\\"paintworklet\\\":case\\\"serviceworker\\\":case\\\"sharedworker\\\":case\\\"worker\\\":case\\\"script\\\":if(n.querySelector(au(a)))return}ms(r=n.createElement(\\\"link\\\"),\\\"link\\\",e),ke(r),n.head.appendChild(r)}}},X:function(e,t){mv.X(e,t);var n=Ev;if(n&&e){var r=ve(n).hoistableScripts,o=ou(e),a=r.get(o);a||((a=n.querySelector(au(o)))||(e=vc({src:e,async:!0},t),(t=pv.get(o))&&uu(e,t),ke(a=n.createElement(\\\"script\\\")),ms(a,\\\"link\\\",e),n.head.appendChild(a)),a={type:\\\"script\\\",instance:a,count:1,state:null},r.set(o,a))}},S:function(e,t,n){mv.S(e,t,n);var r=Ev;if(r&&e){var o=ve(r).hoistableStyles,a=tu(e);t=t||\\\"default\\\";var i=o.get(a);if(!i){var l={loading:sv,preload:null};if(i=r.querySelector(nu(a)))l.loading=uv|fv;else{e=vc({rel:\\\"stylesheet\\\",href:e,\\\"data-precedence\\\":t},n),(n=pv.get(a))&&su(e,n);var s=i=r.createElement(\\\"link\\\");ke(s),ms(s,\\\"link\\\",e),s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),s.addEventListener(\\\"load\\\",function(){l.loading|=uv}),s.addEventListener(\\\"error\\\",function(){l.loading|=cv}),l.loading|=fv,lu(i,t,r)}i={type:\\\"stylesheet\\\",instance:i,count:1,state:l},o.set(a,i)}}},M:function(e,t){mv.M(e,t);var n=Ev;if(n&&e){var r=ve(n).hoistableScripts,o=ou(e),a=r.get(o);a||((a=n.querySelector(au(o)))||(e=vc({src:e,async:!0,type:\\\"module\\\"},t),(t=pv.get(o))&&uu(e,t),ke(a=n.createElement(\\\"script\\\")),ms(a,\\\"link\\\",e),n.head.appendChild(a)),a={type:\\\"script\\\",instance:a,count:1,state:null},r.set(o,a))}}};var gv,yv,bv,vv,kv,wv,Sv,xv,Cv,Ev=\\\"undefined\\\"==typeof document?null:document,Tv=null,Pv=null,Rv=null,zv=null,Iv=zc,Lv={$$typeof:tc,Provider:null,Consumer:null,_currentValue:Iv,_currentValue2:Iv,_threadCount:0},Dv=\\\"%c%s%c \\\",_v=\\\"background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px\\\",Fv=\\\"\\\",Ov=\\\" \\\",Nv=Function.prototype.bind,Av=!1;gv=function(n,r,o,a){null!==(r=e(n,r))&&(o=t(r.memoizedState,o,0,a),r.memoizedState=o,r.baseState=o,n.memoizedProps=vc({},n.memoizedProps),null!==(o=rn(n,2))&&al(o,n,2))},yv=function(t,n,o){null!==(n=e(t,n))&&(o=r(n.memoizedState,o,0),n.memoizedState=o,n.baseState=o,t.memoizedProps=vc({},t.memoizedProps),null!==(o=rn(t,2))&&al(o,t,2))},bv=function(t,r,o,a){null!==(r=e(t,r))&&(o=n(r.memoizedState,o,a),r.memoizedState=o,r.baseState=o,t.memoizedProps=vc({},t.memoizedProps),null!==(o=rn(t,2))&&al(o,t,2))},vv=function(e,n,r){e.pendingProps=t(e.memoizedProps,n,0,r),e.alternate&&(e.alternate.pendingProps=e.pendingProps),null!==(n=rn(e,2))&&al(n,e,2)},kv=function(e,t){e.pendingProps=r(e.memoizedProps,t,0),e.alternate&&(e.alternate.pendingProps=e.pendingProps),null!==(t=rn(e,2))&&al(t,e,2)},wv=function(e,t,r){e.pendingProps=n(e.memoizedProps,t,r),e.alternate&&(e.alternate.pendingProps=e.pendingProps),null!==(t=rn(e,2))&&al(t,e,2)},Sv=function(e){var t=rn(e,2);null!==t&&al(t,e,2)},xv=function(e){a=e},Cv=function(e){o=e};var Mv,Uv=!0,Hv=null,Wv=!1,jv=null,Vv=null,Bv=null,qv=new Map,Qv=new Map,$v=[],Yv=\\\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset\\\".split(\\\" \\\"),Xv=null;if(ju.prototype.render=Wu.prototype.render=function(e,t){var n=this._internalRoot;if(null===n)throw Error(\\\"Cannot update an unmounted root.\\\");\\\"function\\\"==typeof t?console.error(\\\"does not support the second callback argument. To execute a side effect after rendering, declare it in a component body with useEffect().\\\"):m(t)?console.error(\\\"You passed a container to the second argument of root.render(...). You don't need to pass it again since you already passed it to create the root.\\\"):void 0!==t&&console.error(\\\"You passed a second argument to root.render(...) but it only accepts one argument.\\\"),ku(t=n.current,rl(t),e,n,null,null)},ju.prototype.unmount=Wu.prototype.unmount=function(e){if(\\\"function\\\"==typeof e&&console.error(\\\"does not support a callback argument. To execute a side effect after rendering, declare it in a component body with useEffect().\\\"),null!==(e=this._internalRoot)){this._internalRoot=null;var t=e.containerInfo;(yy&(sy|uy))!==ly&&console.error(\\\"Attempted to synchronously unmount a root while React was already rendering. React cannot finish unmounting the root until the current render has completed, which may lead to a race condition.\\\"),vu(null,e,null,null),dl(),t[hd]=null}},ju.prototype.unstable_scheduleHydration=function(e){if(e){var t=he();e={blockedOn:null,target:e,priority:t};for(var n=0;n\u003C$v.length&&0!==t&&t\u003C$v[n].priority;n++);$v.splice(n,0,e),0===n&&Fu(e)}},function(){var e=qu.version;if(\\\"19.0.0\\\"!==e)throw Error('Incompatible React versions: The \\\"react\\\" and \\\"react-dom\\\" packages must have the exact same version. Instead got:\\\\n - react: '+e+\\\"\\\\n - react-dom: 19.0.0\\\\nLearn more: https://react.dev/warnings/version-mismatch\\\")}(),\\\"function\\\"==typeof Map&&null!=Map.prototype&&\\\"function\\\"==typeof Map.prototype.forEach&&\\\"function\\\"==typeof Set&&null!=Set.prototype&&\\\"function\\\"==typeof Set.prototype.clear&&\\\"function\\\"==typeof Set.prototype.forEach||console.error(\\\"React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://react.dev/link/react-polyfills\\\"),Rc.findDOMNode=function(e){var t=e._reactInternals;if(void 0===t){if(\\\"function\\\"==typeof e.render)throw Error(\\\"Unable to find node on an unmounted component.\\\");throw e=Object.keys(e).join(\\\",\\\"),Error(\\\"Argument appears to not be a ReactComponent. Keys: \\\"+e)}return e=null===(e=null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=R(e)))throw Error(\\\"Unable to find node on an unmounted component.\\\");return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(null===o)break;var a=o.alternate;if(null===a){if(null!==(r=o.return)){n=r;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===n)return I(o),e;if(a===r)return I(o),t;a=a.sibling}throw Error(\\\"Unable to find node on an unmounted component.\\\")}if(n.return!==r.return)n=o,r=a;else{for(var i=!1,l=o.child;l;){if(l===n){i=!0,n=o,r=a;break}if(l===r){i=!0,r=o,n=a;break}l=l.sibling}if(!i){for(l=a.child;l;){if(l===n){i=!0,n=a,r=o;break}if(l===r){i=!0,r=a,n=o;break}l=l.sibling}if(!i)throw Error(\\\"Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.\\\")}}if(n.alternate!==r)throw Error(\\\"Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.\\\")}if(3!==n.tag)throw Error(\\\"Unable to find node on an unmounted component.\\\");return n.stateNode.current===n?e:t}(t))?function e(t){var n=t.tag;if(5===n||26===n||27===n||6===n)return t;for(t=t.child;null!==t;){if(null!==(n=e(t)))return n;t=t.sibling}return null}(e):null)?null:e.stateNode},(Mv={bundleType:1,version:\\\"19.0.0\\\",rendererPackageName:\\\"react-dom\\\",currentDispatcherRef:bc,findFiberByHostInstance:ge,reconcilerVersion:\\\"19.0.0\\\"}).overrideHookState=gv,Mv.overrideHookStateDeletePath=yv,Mv.overrideHookStateRenamePath=bv,Mv.overrideProps=vv,Mv.overridePropsDeletePath=kv,Mv.overridePropsRenamePath=wv,Mv.scheduleUpdate=Sv,Mv.setErrorHandler=xv,Mv.setSuspenseHandler=Cv,Mv.scheduleRefresh=p,Mv.scheduleRoot=f,Mv.setRefreshHandler=h,Mv.getCurrentFiber=Cu,Mv.getLaneLabelMap=Eu,Mv.injectProfilingHooks=$,!function(e){if(\\\"undefined\\\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled)return!0;if(!t.supportsFiber)return console.error(\\\"The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools\\\"),!0;try{Gc=t.inject(e),Zc=t}catch(e){console.error(\\\"React instrumentation encountered an error: %s.\\\",e)}return!!t.checkDCE}(Mv)&&xd&&window.top===window.self&&(-1\u003Cnavigator.userAgent.indexOf(\\\"Chrome\\\")&&-1===navigator.userAgent.indexOf(\\\"Edge\\\")||-1\u003Cnavigator.userAgent.indexOf(\\\"Firefox\\\"))){var Kv=window.location.protocol;/^(https?|file):$/.test(Kv)&&console.info(\\\"%cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools\\\"+(\\\"file:\\\"===Kv?\\\"\\\\nYou might need to use a local HTTP server (instead of file://): https://react.dev/link/react-devtools-faq\\\":\\\"\\\"),\\\"font-weight:bold\\\")}exports.createRoot=function(e,t){if(!m(e))throw Error(\\\"Target container is not a DOM element.\\\");Vu(e);var n=!1,r=\\\"\\\",o=Wo,a=jo,i=Vo;return null!==t&&void 0!==t&&(t.hydrate?console.warn(\\\"hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, \u003CApp />) instead.\\\"):\\\"object\\\"==typeof t&&null!==t&&t.$$typeof===Yu&&console.error(\\\"You passed a JSX element to createRoot. You probably meant to call root.render instead. Example usage:\\\\n\\\\n let root = createRoot(domContainer);\\\\n root.render(\u003CApp />);\\\"),!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onUncaughtError&&(o=t.onUncaughtError),void 0!==t.onCaughtError&&(a=t.onCaughtError),void 0!==t.onRecoverableError&&(i=t.onRecoverableError),void 0!==t.unstable_transitionCallbacks&&t.unstable_transitionCallbacks),t=yu(e,1,!1,null,0,n,r,o,a,i,0,null),e[hd]=t.current,Jl(8===e.nodeType?e.parentNode:e),new Wu(t)},exports.hydrateRoot=function(e,t,n){if(!m(e))throw Error(\\\"Target container is not a DOM element.\\\");Vu(e),void 0===t&&console.error(\\\"Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, \u003CApp />)\\\");var r=!1,o=\\\"\\\",a=Wo,i=jo,l=Vo,s=null;return null!==n&&void 0!==n&&(!0===n.unstable_strictMode&&(r=!0),void 0!==n.identifierPrefix&&(o=n.identifierPrefix),void 0!==n.onUncaughtError&&(a=n.onUncaughtError),void 0!==n.onCaughtError&&(i=n.onCaughtError),void 0!==n.onRecoverableError&&(l=n.onRecoverableError),void 0!==n.unstable_transitionCallbacks&&n.unstable_transitionCallbacks,void 0!==n.formState&&(s=n.formState)),(t=yu(e,1,!0,t,0,r,o,a,i,l,0,s)).context=bu(null),(o=_a(r=rl(n=t.current))).callback=null,Fa(n,o,r),t.current.lanes=r,se(t,r),Hl(t),e[hd]=t.current,Jl(e),new ju(t)},exports.version=\\\"19.0.0\\\",\\\"undefined\\\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\\\"function\\\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}();\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"react-dom\":{\"title\":\"react-dom\",\"text\":\"\\\"use strict\\\";!function(){function e(){}function t(e){return\\\"\\\"+e}function r(e,t){return\\\"font\\\"===e?\\\"\\\":\\\"string\\\"==typeof t?\\\"use-credentials\\\"===t?t:\\\"\\\":void 0}function o(e){return null===e?\\\"`null`\\\":void 0===e?\\\"`undefined`\\\":\\\"\\\"===e?\\\"an empty string\\\":'something with type \\\"'+typeof e+'\\\"'}function n(e){return null===e?\\\"`null`\\\":void 0===e?\\\"`undefined`\\\":\\\"\\\"===e?\\\"an empty string\\\":\\\"string\\\"==typeof e?JSON.stringify(e):\\\"number\\\"==typeof e?\\\"`\\\"+e+\\\"`\\\":'something with type \\\"'+typeof e+'\\\"'}function i(){var e=p.H;return null===e&&console.error(\\\"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\\\n2. You might be breaking the Rules of Hooks\\\\n3. You might have more than one copy of React in the same app\\\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\\\"),e}\\\"undefined\\\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\\\"function\\\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var s=require(\\\"react\\\"),a={d:{f:e,r:function(){throw Error(\\\"Invalid form element. requestFormReset must be passed a form that was rendered by React.\\\")},D:e,C:e,L:e,m:e,X:e,S:e,M:e},p:0,findDOMNode:null},c=Symbol.for(\\\"react.portal\\\"),p=s.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\\\"function\\\"==typeof Map&&null!=Map.prototype&&\\\"function\\\"==typeof Map.prototype.forEach&&\\\"function\\\"==typeof Set&&null!=Set.prototype&&\\\"function\\\"==typeof Set.prototype.clear&&\\\"function\\\"==typeof Set.prototype.forEach||console.error(\\\"React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\\\"),exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,exports.createPortal=function(e,r){var o=2\u003Carguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!r||1!==r.nodeType&&9!==r.nodeType&&11!==r.nodeType)throw Error(\\\"Target container is not a DOM element.\\\");return function(e,r,o){var n=3\u003Carguments.length&&void 0!==arguments[3]?arguments[3]:null;try{t(n);var i=!1}catch(e){i=!0}return i&&(console.error(\\\"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\\\",\\\"function\\\"==typeof Symbol&&Symbol.toStringTag&&n[Symbol.toStringTag]||n.constructor.name||\\\"Object\\\"),t(n)),{$$typeof:c,key:null==n?null:\\\"\\\"+n,children:e,containerInfo:r,implementation:o}}(e,r,null,o)},exports.flushSync=function(e){var t=p.T,r=a.p;try{if(p.T=null,a.p=2,e)return e()}finally{p.T=t,a.p=r,a.d.f()&&console.error(\\\"flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.\\\")}},exports.preconnect=function(e,t){\\\"string\\\"==typeof e&&e?null!=t&&\\\"object\\\"!=typeof t?console.error(\\\"ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.\\\",n(t)):null!=t&&\\\"string\\\"!=typeof t.crossOrigin&&console.error(\\\"ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.\\\",o(t.crossOrigin)):console.error(\\\"ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\\\",o(e)),\\\"string\\\"==typeof e&&(t?t=\\\"string\\\"==typeof(t=t.crossOrigin)?\\\"use-credentials\\\"===t?t:\\\"\\\":void 0:t=null,a.d.C(e,t))},exports.prefetchDNS=function(e){if(\\\"string\\\"==typeof e&&e){if(1\u003Carguments.length){var t=arguments[1];\\\"object\\\"==typeof t&&t.hasOwnProperty(\\\"crossOrigin\\\")?console.error(\\\"ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.\\\",n(t)):console.error(\\\"ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.\\\",n(t))}}else console.error(\\\"ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\\\",o(e));\\\"string\\\"==typeof e&&a.d.D(e)},exports.preinit=function(e,t){if(\\\"string\\\"==typeof e&&e?null==t||\\\"object\\\"!=typeof t?console.error(\\\"ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.\\\",n(t)):\\\"style\\\"!==t.as&&\\\"script\\\"!==t.as&&console.error('ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are \\\"style\\\" and \\\"script\\\".',n(t.as)):console.error(\\\"ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\\\",o(e)),\\\"string\\\"==typeof e&&t&&\\\"string\\\"==typeof t.as){var i=t.as,s=r(i,t.crossOrigin),c=\\\"string\\\"==typeof t.integrity?t.integrity:void 0,p=\\\"string\\\"==typeof t.fetchPriority?t.fetchPriority:void 0;\\\"style\\\"===i?a.d.S(e,\\\"string\\\"==typeof t.precedence?t.precedence:void 0,{crossOrigin:s,integrity:c,fetchPriority:p}):\\\"script\\\"===i&&a.d.X(e,{crossOrigin:s,integrity:c,fetchPriority:p,nonce:\\\"string\\\"==typeof t.nonce?t.nonce:void 0})}},exports.preinitModule=function(e,t){var i=\\\"\\\";if(\\\"string\\\"==typeof e&&e||(i+=\\\" The `href` argument encountered was \\\"+o(e)+\\\".\\\"),void 0!==t&&\\\"object\\\"!=typeof t?i+=\\\" The `options` argument encountered was \\\"+o(t)+\\\".\\\":t&&\\\"as\\\"in t&&\\\"script\\\"!==t.as&&(i+=\\\" The `as` option encountered was \\\"+n(t.as)+\\\".\\\"),i)console.error(\\\"ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s\\\",i);else switch(i=t&&\\\"string\\\"==typeof t.as?t.as:\\\"script\\\",i){case\\\"script\\\":break;default:i=n(i),console.error('ReactDOM.preinitModule(): Currently the only supported \\\"as\\\" type for this function is \\\"script\\\" but received \\\"%s\\\" instead. This warning was generated for `href` \\\"%s\\\". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)',i,e)}\\\"string\\\"==typeof e&&(\\\"object\\\"==typeof t&&null!==t?null!=t.as&&\\\"script\\\"!==t.as||(i=r(t.as,t.crossOrigin),a.d.M(e,{crossOrigin:i,integrity:\\\"string\\\"==typeof t.integrity?t.integrity:void 0,nonce:\\\"string\\\"==typeof t.nonce?t.nonce:void 0})):null==t&&a.d.M(e))},exports.preload=function(e,t){var n=\\\"\\\";if(\\\"string\\\"==typeof e&&e||(n+=\\\" The `href` argument encountered was \\\"+o(e)+\\\".\\\"),null==t||\\\"object\\\"!=typeof t?n+=\\\" The `options` argument encountered was \\\"+o(t)+\\\".\\\":\\\"string\\\"==typeof t.as&&t.as||(n+=\\\" The `as` option encountered was \\\"+o(t.as)+\\\".\\\"),n&&console.error('ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `\u003Clink rel=\\\"preload\\\" as=\\\"...\\\" />` tag.%s',n),\\\"string\\\"==typeof e&&\\\"object\\\"==typeof t&&null!==t&&\\\"string\\\"==typeof t.as){var i=r(n=t.as,t.crossOrigin);a.d.L(e,n,{crossOrigin:i,integrity:\\\"string\\\"==typeof t.integrity?t.integrity:void 0,nonce:\\\"string\\\"==typeof t.nonce?t.nonce:void 0,type:\\\"string\\\"==typeof t.type?t.type:void 0,fetchPriority:\\\"string\\\"==typeof t.fetchPriority?t.fetchPriority:void 0,referrerPolicy:\\\"string\\\"==typeof t.referrerPolicy?t.referrerPolicy:void 0,imageSrcSet:\\\"string\\\"==typeof t.imageSrcSet?t.imageSrcSet:void 0,imageSizes:\\\"string\\\"==typeof t.imageSizes?t.imageSizes:void 0,media:\\\"string\\\"==typeof t.media?t.media:void 0})}},exports.preloadModule=function(e,t){var n=\\\"\\\";\\\"string\\\"==typeof e&&e||(n+=\\\" The `href` argument encountered was \\\"+o(e)+\\\".\\\"),void 0!==t&&\\\"object\\\"!=typeof t?n+=\\\" The `options` argument encountered was \\\"+o(t)+\\\".\\\":t&&\\\"as\\\"in t&&\\\"string\\\"!=typeof t.as&&(n+=\\\" The `as` option encountered was \\\"+o(t.as)+\\\".\\\"),n&&console.error('ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `\u003Clink rel=\\\"modulepreload\\\" as=\\\"...\\\" />` tag.%s',n),\\\"string\\\"==typeof e&&(t?(n=r(t.as,t.crossOrigin),a.d.m(e,{as:\\\"string\\\"==typeof t.as&&\\\"script\\\"!==t.as?t.as:void 0,crossOrigin:n,integrity:\\\"string\\\"==typeof t.integrity?t.integrity:void 0})):a.d.m(e))},exports.requestFormReset=function(e){a.d.r(e)},exports.unstable_batchedUpdates=function(e,t){return e(t)},exports.useFormState=function(e,t,r){return i().useFormState(e,t,r)},exports.useFormStatus=function(){return i().useHostTransitionStatus()},exports.version=\\\"19.0.0\\\",\\\"undefined\\\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\\\"function\\\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}();\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"react/jsx-runtime.js\":{\"title\":\"react/jsx-runtime.js\",\"text\":\"\\\"use strict\\\";!function(){function e(r){if(null==r)return null;if(\\\"function\\\"==typeof r)return r.$$typeof===T?null:r.displayName||r.name||null;if(\\\"string\\\"==typeof r)return r;switch(r){case d:return\\\"Fragment\\\";case m:return\\\"Portal\\\";case g:return\\\"Profiler\\\";case b:return\\\"StrictMode\\\";case C:return\\\"Suspense\\\";case x:return\\\"SuspenseList\\\"}if(\\\"object\\\"==typeof r)switch(\\\"number\\\"==typeof r.tag&&console.error(\\\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\\\"),r.$$typeof){case O:return(r.displayName||\\\"Context\\\")+\\\".Provider\\\";case R:return(r._context.displayName||\\\"Context\\\")+\\\".Consumer\\\";case $:var t=r.render;return(r=r.displayName)||(r=\\\"\\\"!==(r=t.displayName||t.name||\\\"\\\")?\\\"ForwardRef(\\\"+r+\\\")\\\":\\\"ForwardRef\\\"),r;case E:return null!==(t=r.displayName||null)?t:e(r.type)||\\\"Memo\\\";case N:t=r._payload,r=r._init;try{return e(r(t))}catch(e){}}return null}function r(e){return\\\"\\\"+e}function t(e){try{r(e);var t=!1}catch(e){t=!0}if(t){var o=(t=console).error,n=\\\"function\\\"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||\\\"Object\\\";return o.call(t,\\\"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\\\",n),r(e)}}function o(){}function n(e){if(void 0===L)try{throw Error()}catch(e){var r=e.stack.trim().match(/\\\\n( *(at )?)/);L=r&&r[1]||\\\"\\\",W=-1\u003Ce.stack.indexOf(\\\"\\\\n at\\\")?\\\" (\u003Canonymous>)\\\":-1\u003Ce.stack.indexOf(\\\"@\\\")?\\\"@unknown:0:0\\\":\\\"\\\"}return\\\"\\\\n\\\"+L+e+W}function a(e,r){if(!e||J)return\\\"\\\";var t=X.get(e);if(void 0!==t)return t;J=!0,t=Error.prepareStackTrace,Error.prepareStackTrace=void 0;var a;a=F.H,F.H=null,function(){if(0===U){v=console.log,h=console.info,k=console.warn,w=console.error,S=console.group,j=console.groupCollapsed,_=console.groupEnd;var e={configurable:!0,enumerable:!0,value:o,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}U++}();try{var i={DetermineComponentFrameRoot:function(){try{if(r){var t=function(){throw Error()};if(Object.defineProperty(t.prototype,\\\"props\\\",{set:function(){throw Error()}}),\\\"object\\\"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var o=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){o=e}e.call(t.prototype)}}else{try{throw Error()}catch(e){o=e}(t=e())&&\\\"function\\\"==typeof t.catch&&t.catch(function(){})}}catch(e){if(e&&o&&\\\"string\\\"==typeof e.stack)return[e.stack,o.stack]}return[null,null]}};i.DetermineComponentFrameRoot.displayName=\\\"DetermineComponentFrameRoot\\\";var l=Object.getOwnPropertyDescriptor(i.DetermineComponentFrameRoot,\\\"name\\\");l&&l.configurable&&Object.defineProperty(i.DetermineComponentFrameRoot,\\\"name\\\",{value:\\\"DetermineComponentFrameRoot\\\"});var c=i.DetermineComponentFrameRoot(),s=c[0],u=c[1];if(s&&u){var f=s.split(\\\"\\\\n\\\"),p=u.split(\\\"\\\\n\\\");for(c=l=0;l\u003Cf.length&&!f[l].includes(\\\"DetermineComponentFrameRoot\\\");)l++;for(;c\u003Cp.length&&!p[c].includes(\\\"DetermineComponentFrameRoot\\\");)c++;if(l===f.length||c===p.length)for(l=f.length-1,c=p.length-1;1\u003C=l&&0\u003C=c&&f[l]!==p[c];)c--;for(;1\u003C=l&&0\u003C=c;l--,c--)if(f[l]!==p[c]){if(1!==l||1!==c)do{if(l--,0>--c||f[l]!==p[c]){var y=\\\"\\\\n\\\"+f[l].replace(\\\" at new \\\",\\\" at \\\");return e.displayName&&y.includes(\\\"\u003Canonymous>\\\")&&(y=y.replace(\\\"\u003Canonymous>\\\",e.displayName)),\\\"function\\\"==typeof e&&X.set(e,y),y}}while(1\u003C=l&&0\u003C=c);break}}}finally{J=!1,F.H=a,function(){if(0==--U){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:z({},e,{value:v}),info:z({},e,{value:h}),warn:z({},e,{value:k}),error:z({},e,{value:w}),group:z({},e,{value:S}),groupCollapsed:z({},e,{value:j}),groupEnd:z({},e,{value:_})})}0>U&&console.error(\\\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\\\")}(),Error.prepareStackTrace=t}return f=(f=e?e.displayName||e.name:\\\"\\\")?n(f):\\\"\\\",\\\"function\\\"==typeof e&&X.set(e,f),f}function i(){var e=F.A;return null===e?null:e.getOwner()}function l(){var r=e(this.type);return Y[r]||(Y[r]=!0,console.error(\\\"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\\\")),void 0!==(r=this.props.ref)?r:null}function c(r,o,n,a,c,u){if(\\\"string\\\"==typeof r||\\\"function\\\"==typeof r||r===d||r===g||r===b||r===C||r===x||r===P||\\\"object\\\"==typeof r&&null!==r&&(r.$$typeof===N||r.$$typeof===E||r.$$typeof===O||r.$$typeof===R||r.$$typeof===$||r.$$typeof===I||void 0!==r.getModuleId)){var f=o.children;if(void 0!==f)if(a)if(M(f)){for(a=0;a\u003Cf.length;a++)s(f[a],r);Object.freeze&&Object.freeze(f)}else console.error(\\\"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\\\");else s(f,r)}else f=\\\"\\\",(void 0===r||\\\"object\\\"==typeof r&&null!==r&&0===Object.keys(r).length)&&(f+=\\\" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\\\"),null===r?a=\\\"null\\\":M(r)?a=\\\"array\\\":void 0!==r&&r.$$typeof===y?(a=\\\"\u003C\\\"+(e(r.type)||\\\"Unknown\\\")+\\\" />\\\",f=\\\" Did you accidentally export a JSX literal instead of a component?\\\"):a=typeof r,console.error(\\\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\\\",a,f);if(A.call(o,\\\"key\\\")){f=e(r);var p=Object.keys(o).filter(function(e){return\\\"key\\\"!==e});a=0\u003Cp.length?\\\"{key: someKey, \\\"+p.join(\\\": ..., \\\")+\\\": ...}\\\":\\\"{key: someKey}\\\",q[f+a]||(p=0\u003Cp.length?\\\"{\\\"+p.join(\\\": ..., \\\")+\\\": ...}\\\":\\\"{}\\\",console.error('A props object containing a \\\"key\\\" prop is being spread into JSX:\\\\n let props = %s;\\\\n \u003C%s {...props} />\\\\nReact keys must be passed directly to JSX without using spread:\\\\n let props = %s;\\\\n \u003C%s key={someKey} {...props} />',a,f,p,f),q[f+a]=!0)}if(f=null,void 0!==n&&(t(n),f=\\\"\\\"+n),function(e){if(A.call(e,\\\"key\\\")){var r=Object.getOwnPropertyDescriptor(e,\\\"key\\\").get;if(r&&r.isReactWarning)return!1}return void 0!==e.key}(o)&&(t(o.key),f=\\\"\\\"+o.key),\\\"key\\\"in o)for(var m in n={},o)\\\"key\\\"!==m&&(n[m]=o[m]);else n=o;return f&&function(e,r){function t(){H||(H=!0,console.error(\\\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\\\",r))}t.isReactWarning=!0,Object.defineProperty(e,\\\"key\\\",{get:t,configurable:!0})}(n,\\\"function\\\"==typeof r?r.displayName||r.name||\\\"Unknown\\\":r),function(e,r,t,o,n,a){return t=a.ref,e={$$typeof:y,type:e,key:r,props:a,_owner:n},null!==(void 0!==t?t:null)?Object.defineProperty(e,\\\"ref\\\",{enumerable:!1,get:l}):Object.defineProperty(e,\\\"ref\\\",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,\\\"validated\\\",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,\\\"_debugInfo\\\",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}(r,f,u,0,i(),n)}function s(e,r){if(\\\"object\\\"==typeof e&&e&&e.$$typeof!==K)if(M(e))for(var t=0;t\u003Ce.length;t++){var o=e[t];u(o)&&f(o,r)}else if(u(e))e._store&&(e._store.validated=1);else if(null===e||\\\"object\\\"!=typeof e?t=null:t=\\\"function\\\"==typeof(t=D&&e[D]||e[\\\"@@iterator\\\"])?t:null,\\\"function\\\"==typeof t&&t!==e.entries&&(t=t.call(e))!==e)for(;!(e=t.next()).done;)u(e.value)&&f(e.value,r)}function u(e){return\\\"object\\\"==typeof e&&null!==e&&e.$$typeof===y}function f(r,t){if(r._store&&!r._store.validated&&null==r.key&&(r._store.validated=1,t=function(r){var t=\\\"\\\",o=i();return o&&(o=e(o.type))&&(t=\\\"\\\\n\\\\nCheck the render method of `\\\"+o+\\\"`.\\\"),t||(r=e(r))&&(t=\\\"\\\\n\\\\nCheck the top-level render call using \u003C\\\"+r+\\\">.\\\"),t}(t),!B[t])){B[t]=!0;var o=\\\"\\\";r&&null!=r._owner&&r._owner!==i()&&(o=null,\\\"number\\\"==typeof r._owner.tag?o=e(r._owner.type):\\\"string\\\"==typeof r._owner.name&&(o=r._owner.name),o=\\\" It was passed a child from \\\"+o+\\\".\\\");var l=F.getCurrentStack;F.getCurrentStack=function(){var e=function e(r){if(null==r)return\\\"\\\";if(\\\"function\\\"==typeof r){var t=r.prototype;return a(r,!(!t||!t.isReactComponent))}if(\\\"string\\\"==typeof r)return n(r);switch(r){case C:return n(\\\"Suspense\\\");case x:return n(\\\"SuspenseList\\\")}if(\\\"object\\\"==typeof r)switch(r.$$typeof){case $:return r=a(r.render,!1);case E:return e(r.type);case N:t=r._payload,r=r._init;try{return e(r(t))}catch(e){}}return\\\"\\\"}(r.type);return l&&(e+=l()||\\\"\\\"),e},console.error('Each child in a list should have a unique \\\"key\\\" prop.%s%s See https://react.dev/link/warning-keys for more information.',t,o),F.getCurrentStack=l}}var p=require(\\\"react\\\"),y=Symbol.for(\\\"react.transitional.element\\\"),m=Symbol.for(\\\"react.portal\\\"),d=Symbol.for(\\\"react.fragment\\\"),b=Symbol.for(\\\"react.strict_mode\\\"),g=Symbol.for(\\\"react.profiler\\\");Symbol.for(\\\"react.provider\\\");var v,h,k,w,S,j,_,R=Symbol.for(\\\"react.consumer\\\"),O=Symbol.for(\\\"react.context\\\"),$=Symbol.for(\\\"react.forward_ref\\\"),C=Symbol.for(\\\"react.suspense\\\"),x=Symbol.for(\\\"react.suspense_list\\\"),E=Symbol.for(\\\"react.memo\\\"),N=Symbol.for(\\\"react.lazy\\\"),P=Symbol.for(\\\"react.offscreen\\\"),D=Symbol.iterator,T=Symbol.for(\\\"react.client.reference\\\"),F=p.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,A=Object.prototype.hasOwnProperty,z=Object.assign,I=Symbol.for(\\\"react.client.reference\\\"),M=Array.isArray,U=0;o.__reactDisabledLog=!0;var L,W,H,J=!1,X=new(\\\"function\\\"==typeof WeakMap?WeakMap:Map),K=Symbol.for(\\\"react.client.reference\\\"),Y={},q={},B={};exports.Fragment=d,exports.jsx=function(e,r,t,o,n){return c(e,r,t,!1,0,n)},exports.jsxs=function(e,r,t,o,n){return c(e,r,t,!0,0,n)}}();\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"react-scheduler.js\":{\"title\":\"react-scheduler.js\",\"text\":\"\\\"use strict\\\";!function(){function e(){if(w){var e=exports.unstable_now();E=e;var t=!0;try{e:{O=!1,m&&(m=!1,k(g),g=-1),v=!0;var o=y;try{t:{for(a(e),d=n(p);null!==d&&!(d.expirationTime>e&&i());){var u=d.callback;if(\\\"function\\\"==typeof u){d.callback=null,y=d.priorityLevel;var f=u(d.expirationTime\u003C=e);if(e=exports.unstable_now(),\\\"function\\\"==typeof f){d.callback=f,a(e),t=!0;break t}d===n(p)&&r(p),a(e)}else r(p);d=n(p)}if(null!==d)t=!0;else{var c=n(b);null!==c&&s(l,c.startTime-e),t=!1}}break e}finally{d=null,y=o,v=!1}t=void 0}}finally{t?I():w=!1}}}function t(e,t){var n=e.length;e.push(t);e:for(;0\u003Cn;){var r=n-1>>>1,a=e[r];if(!(0\u003Co(a,t)))break e;e[r]=t,e[n]=a,n=r}}function n(e){return 0===e.length?null:e[0]}function r(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length,l=a>>>1;r\u003Cl;){var i=2*(r+1)-1,u=e[i],s=i+1,f=e[s];if(0>o(u,n))s\u003Ca&&0>o(f,u)?(e[r]=f,e[s]=n,r=s):(e[r]=u,e[i]=n,r=i);else{if(!(s\u003Ca&&0>o(f,n)))break e;e[r]=f,e[s]=n,r=s}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}function a(e){for(var o=n(b);null!==o;){if(null===o.callback)r(b);else{if(!(o.startTime\u003C=e))break;r(b),o.sortIndex=o.expirationTime,t(p,o)}o=n(b)}}function l(e){if(m=!1,a(e),!O)if(null!==n(p))O=!0,u();else{var t=n(b);null!==t&&s(l,t.startTime-e)}}function i(){return!(exports.unstable_now()-E\u003Ch)}function u(){w||(w=!0,I())}function s(e,t){g=T(function(){e(exports.unstable_now())},t)}if(\\\"undefined\\\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\\\"function\\\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()),exports.unstable_now=void 0,\\\"object\\\"==typeof performance&&\\\"function\\\"==typeof performance.now){var f=performance;exports.unstable_now=function(){return f.now()}}else{var c=Date,_=c.now();exports.unstable_now=function(){return c.now()-_}}var p=[],b=[],x=1,d=null,y=3,v=!1,O=!1,m=!1,T=\\\"function\\\"==typeof setTimeout?setTimeout:null,k=\\\"function\\\"==typeof clearTimeout?clearTimeout:null,L=\\\"undefined\\\"!=typeof setImmediate?setImmediate:null,w=!1,g=-1,h=5,E=-1;if(\\\"function\\\"==typeof L)var I=function(){L(e)};else if(\\\"undefined\\\"!=typeof MessageChannel){var C=new MessageChannel,A=C.port2;C.port1.onmessage=e,I=function(){A.postMessage(null)}}else I=function(){T(e,0)};exports.unstable_IdlePriority=5,exports.unstable_ImmediatePriority=1,exports.unstable_LowPriority=4,exports.unstable_NormalPriority=3,exports.unstable_Profiling=null,exports.unstable_UserBlockingPriority=2,exports.unstable_cancelCallback=function(e){e.callback=null},exports.unstable_continueExecution=function(){O||v||(O=!0,u())},exports.unstable_forceFrameRate=function(e){0>e||125\u003Ce?console.error(\\\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\\\"):h=0\u003Ce?Math.floor(1e3/e):5},exports.unstable_getCurrentPriorityLevel=function(){return y},exports.unstable_getFirstCallbackNode=function(){return n(p)},exports.unstable_next=function(e){switch(y){case 1:case 2:case 3:var t=3;break;default:t=y}var n=y;y=t;try{return e()}finally{y=n}},exports.unstable_pauseExecution=function(){},exports.unstable_requestPaint=function(){},exports.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=y;y=e;try{return t()}finally{y=n}},exports.unstable_scheduleCallback=function(e,r,o){var a=exports.unstable_now();switch(\\\"object\\\"==typeof o&&null!==o?o=\\\"number\\\"==typeof(o=o.delay)&&0\u003Co?a+o:a:o=a,e){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return e={id:x++,callback:r,priorityLevel:e,startTime:o,expirationTime:i=o+i,sortIndex:-1},o>a?(e.sortIndex=o,t(b,e),null===n(p)&&e===n(b)&&(m?(k(g),g=-1):m=!0,s(l,o-a))):(e.sortIndex=i,t(p,e),O||v||(O=!0,u())),e},exports.unstable_shouldYield=i,exports.unstable_wrapCallback=function(e){var t=y;return function(){var n=y;y=t;try{return e.apply(this,arguments)}finally{y=n}}},\\\"undefined\\\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\\\"function\\\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}();\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"react\":{\"title\":\"react\",\"text\":\"\\\"use strict\\\";!function(){function e(e,t){Object.defineProperty(n.prototype,e,{get:function(){console.warn(\\\"%s(...) is deprecated in plain JavaScript React classes. %s\\\",t[0],t[1])}})}function t(e){return null===e||\\\"object\\\"!=typeof e?null:\\\"function\\\"==typeof(e=Y&&e[Y]||e[\\\"@@iterator\\\"])?e:null}function r(e,t){var r=(e=(e=e.constructor)&&(e.displayName||e.name)||\\\"ReactClass\\\")+\\\".\\\"+t;B[r]||(console.error(\\\"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.\\\",t,e),B[r]=!0)}function n(e,t,r){this.props=e,this.context=t,this.refs=Q,this.updater=r||W}function o(){}function a(e,t,r){this.props=e,this.context=t,this.refs=Q,this.updater=r||W}function i(e){return\\\"\\\"+e}function s(e){try{i(e);var t=!1}catch(e){t=!0}if(t){var r=(t=console).error,n=\\\"function\\\"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||\\\"Object\\\";return r.call(t,\\\"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\\\",n),i(e)}}function u(e){if(null==e)return null;if(\\\"function\\\"==typeof e)return e.$$typeof===ie?null:e.displayName||e.name||null;if(\\\"string\\\"==typeof e)return e;switch(e){case A:return\\\"Fragment\\\";case D:return\\\"Portal\\\";case I:return\\\"Profiler\\\";case M:return\\\"StrictMode\\\";case U:return\\\"Suspense\\\";case H:return\\\"SuspenseList\\\"}if(\\\"object\\\"==typeof e)switch(\\\"number\\\"==typeof e.tag&&console.error(\\\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\\\"),e.$$typeof){case N:return(e.displayName||\\\"Context\\\")+\\\".Provider\\\";case L:return(e._context.displayName||\\\"Context\\\")+\\\".Consumer\\\";case F:var t=e.render;return(e=e.displayName)||(e=\\\"\\\"!==(e=t.displayName||t.name||\\\"\\\")?\\\"ForwardRef(\\\"+e+\\\")\\\":\\\"ForwardRef\\\"),e;case q:return null!==(t=e.displayName||null)?t:u(e.type)||\\\"Memo\\\";case z:t=e._payload,e=e._init;try{return u(e(t))}catch(e){}}return null}function c(e){return\\\"string\\\"==typeof e||\\\"function\\\"==typeof e||e===A||e===I||e===M||e===U||e===H||e===V||\\\"object\\\"==typeof e&&null!==e&&(e.$$typeof===z||e.$$typeof===q||e.$$typeof===N||e.$$typeof===L||e.$$typeof===F||e.$$typeof===ce||void 0!==e.getModuleId)}function l(){}function f(e){if(void 0===fe)try{throw Error()}catch(e){var t=e.stack.trim().match(/\\\\n( *(at )?)/);fe=t&&t[1]||\\\"\\\",pe=-1\u003Ce.stack.indexOf(\\\"\\\\n at\\\")?\\\" (\u003Canonymous>)\\\":-1\u003Ce.stack.indexOf(\\\"@\\\")?\\\"@unknown:0:0\\\":\\\"\\\"}return\\\"\\\\n\\\"+fe+e+pe}function p(e,t){if(!e||me)return\\\"\\\";var r=he.get(e);if(void 0!==r)return r;me=!0,r=Error.prepareStackTrace,Error.prepareStackTrace=void 0;var n;n=se.H,se.H=null,function(){if(0===le){X=console.log,Z=console.info,ee=console.warn,te=console.error,re=console.group,ne=console.groupCollapsed,oe=console.groupEnd;var e={configurable:!0,enumerable:!0,value:l,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}le++}();try{var o={DetermineComponentFrameRoot:function(){try{if(t){var r=function(){throw Error()};if(Object.defineProperty(r.prototype,\\\"props\\\",{set:function(){throw Error()}}),\\\"object\\\"==typeof Reflect&&Reflect.construct){try{Reflect.construct(r,[])}catch(e){var n=e}Reflect.construct(e,[],r)}else{try{r.call()}catch(e){n=e}e.call(r.prototype)}}else{try{throw Error()}catch(e){n=e}(r=e())&&\\\"function\\\"==typeof r.catch&&r.catch(function(){})}}catch(e){if(e&&n&&\\\"string\\\"==typeof e.stack)return[e.stack,n.stack]}return[null,null]}};o.DetermineComponentFrameRoot.displayName=\\\"DetermineComponentFrameRoot\\\";var a=Object.getOwnPropertyDescriptor(o.DetermineComponentFrameRoot,\\\"name\\\");a&&a.configurable&&Object.defineProperty(o.DetermineComponentFrameRoot,\\\"name\\\",{value:\\\"DetermineComponentFrameRoot\\\"});var i=o.DetermineComponentFrameRoot(),s=i[0],u=i[1];if(s&&u){var c=s.split(\\\"\\\\n\\\"),p=u.split(\\\"\\\\n\\\");for(i=a=0;a\u003Cc.length&&!c[a].includes(\\\"DetermineComponentFrameRoot\\\");)a++;for(;i\u003Cp.length&&!p[i].includes(\\\"DetermineComponentFrameRoot\\\");)i++;if(a===c.length||i===p.length)for(a=c.length-1,i=p.length-1;1\u003C=a&&0\u003C=i&&c[a]!==p[i];)i--;for(;1\u003C=a&&0\u003C=i;a--,i--)if(c[a]!==p[i]){if(1!==a||1!==i)do{if(a--,0>--i||c[a]!==p[i]){var d=\\\"\\\\n\\\"+c[a].replace(\\\" at new \\\",\\\" at \\\");return e.displayName&&d.includes(\\\"\u003Canonymous>\\\")&&(d=d.replace(\\\"\u003Canonymous>\\\",e.displayName)),\\\"function\\\"==typeof e&&he.set(e,d),d}}while(1\u003C=a&&0\u003C=i);break}}}finally{me=!1,se.H=n,function(){if(0==--le){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:G({},e,{value:X}),info:G({},e,{value:Z}),warn:G({},e,{value:ee}),error:G({},e,{value:te}),group:G({},e,{value:re}),groupCollapsed:G({},e,{value:ne}),groupEnd:G({},e,{value:oe})})}0>le&&console.error(\\\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\\\")}(),Error.prepareStackTrace=r}return c=(c=e?e.displayName||e.name:\\\"\\\")?f(c):\\\"\\\",\\\"function\\\"==typeof e&&he.set(e,c),c}function d(){var e=se.A;return null===e?null:e.getOwner()}function y(e){if(ue.call(e,\\\"key\\\")){var t=Object.getOwnPropertyDescriptor(e,\\\"key\\\").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}function m(){var e=u(this.type);return ve[e]||(ve[e]=!0,console.error(\\\"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\\\")),void 0!==(e=this.props.ref)?e:null}function h(e,t,r,n,o,a){return r=a.ref,e={$$typeof:P,type:e,key:t,props:a,_owner:o},null!==(void 0!==r?r:null)?Object.defineProperty(e,\\\"ref\\\",{enumerable:!1,get:m}):Object.defineProperty(e,\\\"ref\\\",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,\\\"validated\\\",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,\\\"_debugInfo\\\",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function g(e,r){if(\\\"object\\\"==typeof e&&e&&e.$$typeof!==ge)if(ae(e))for(var n=0;n\u003Ce.length;n++){var o=e[n];v(o)&&b(o,r)}else if(v(e))e._store&&(e._store.validated=1);else if(\\\"function\\\"==typeof(n=t(e))&&n!==e.entries&&(n=n.call(e))!==e)for(;!(e=n.next()).done;)v(e.value)&&b(e.value,r)}function v(e){return\\\"object\\\"==typeof e&&null!==e&&e.$$typeof===P}function b(e,t){if(e._store&&!e._store.validated&&null==e.key&&(e._store.validated=1,t=function(e){var t=\\\"\\\",r=d();return r&&(r=u(r.type))&&(t=\\\"\\\\n\\\\nCheck the render method of `\\\"+r+\\\"`.\\\"),t||(e=u(e))&&(t=\\\"\\\\n\\\\nCheck the top-level render call using \u003C\\\"+e+\\\">.\\\"),t}(t),!be[t])){be[t]=!0;var r=\\\"\\\";e&&null!=e._owner&&e._owner!==d()&&(r=null,\\\"number\\\"==typeof e._owner.tag?r=u(e._owner.type):\\\"string\\\"==typeof e._owner.name&&(r=e._owner.name),r=\\\" It was passed a child from \\\"+r+\\\".\\\");var n=se.getCurrentStack;se.getCurrentStack=function(){var t=function e(t){if(null==t)return\\\"\\\";if(\\\"function\\\"==typeof t){var r=t.prototype;return p(t,!(!r||!r.isReactComponent))}if(\\\"string\\\"==typeof t)return f(t);switch(t){case U:return f(\\\"Suspense\\\");case H:return f(\\\"SuspenseList\\\")}if(\\\"object\\\"==typeof t)switch(t.$$typeof){case F:return t=p(t.render,!1);case q:return e(t.type);case z:r=t._payload,t=t._init;try{return e(t(r))}catch(e){}}return\\\"\\\"}(e.type);return n&&(t+=n()||\\\"\\\"),t},console.error('Each child in a list should have a unique \\\"key\\\" prop.%s%s See https://react.dev/link/warning-keys for more information.',t,r),se.getCurrentStack=n}}function w(e,t){return\\\"object\\\"==typeof e&&null!==e&&null!=e.key?(s(e.key),r=\\\"\\\"+e.key,n={\\\"=\\\":\\\"=0\\\",\\\":\\\":\\\"=2\\\"},\\\"$\\\"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36);var r,n}function _(){}function k(e,r,n,o,a){var i=typeof e;\\\"undefined\\\"!==i&&\\\"boolean\\\"!==i||(e=null);var u,c,l=!1;if(null===e)l=!0;else switch(i){case\\\"bigint\\\":case\\\"string\\\":case\\\"number\\\":l=!0;break;case\\\"object\\\":switch(e.$$typeof){case P:case D:l=!0;break;case z:return k((l=e._init)(e._payload),r,n,o,a)}}if(l){a=a(l=e);var f=\\\"\\\"===o?\\\".\\\"+w(l,0):o;return ae(a)?(n=\\\"\\\",null!=f&&(n=f.replace(_e,\\\"$&/\\\")+\\\"/\\\"),k(a,r,n,\\\"\\\",function(e){return e})):null!=a&&(v(a)&&(null!=a.key&&(l&&l.key===a.key||s(a.key)),u=a,c=n+(null==a.key||l&&l.key===a.key?\\\"\\\":(\\\"\\\"+a.key).replace(_e,\\\"$&/\\\")+\\\"/\\\")+f,(c=h(u.type,c,void 0,0,u._owner,u.props))._store.validated=u._store.validated,n=c,\\\"\\\"!==o&&null!=l&&v(l)&&null==l.key&&l._store&&!l._store.validated&&(n._store.validated=2),a=n),r.push(a)),1}if(l=0,f=\\\"\\\"===o?\\\".\\\":o+\\\":\\\",ae(e))for(var p=0;p\u003Ce.length;p++)l+=k(o=e[p],r,n,i=f+w(o,p),a);else if(\\\"function\\\"==typeof(p=t(e)))for(p===e.entries&&(we||console.warn(\\\"Using Maps as children is not supported. Use an array of keyed ReactElements instead.\\\"),we=!0),e=p.call(e),p=0;!(o=e.next()).done;)l+=k(o=o.value,r,n,i=f+w(o,p++),a);else if(\\\"object\\\"===i){if(\\\"function\\\"==typeof e.then)return k(function(e){switch(e.status){case\\\"fulfilled\\\":return e.value;case\\\"rejected\\\":throw e.reason;default:switch(\\\"string\\\"==typeof e.status?e.then(_,_):(e.status=\\\"pending\\\",e.then(function(t){\\\"pending\\\"===e.status&&(e.status=\\\"fulfilled\\\",e.value=t)},function(t){\\\"pending\\\"===e.status&&(e.status=\\\"rejected\\\",e.reason=t)})),e.status){case\\\"fulfilled\\\":return e.value;case\\\"rejected\\\":throw e.reason}}throw e}(e),r,n,o,a);throw r=String(e),Error(\\\"Objects are not valid as a React child (found: \\\"+(\\\"[object Object]\\\"===r?\\\"object with keys {\\\"+Object.keys(e).join(\\\", \\\")+\\\"}\\\":r)+\\\"). If you meant to render a collection of children, use an array instead.\\\")}return l}function S(e,t,r){if(null==e)return e;var n=[],o=0;return k(e,n,\\\"\\\",\\\"\\\",function(e){return t.call(r,e,o++)}),n}function E(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return void 0===(t=e._result)&&console.error(\\\"lazy: Expected the result of a dynamic import() call. Instead received: %s\\\\n\\\\nYour code should look like: \\\\n const MyComponent = lazy(() => import('./MyComponent'))\\\\n\\\\nDid you accidentally put curly braces around the import?\\\",t),\\\"default\\\"in t||console.error(\\\"lazy: Expected the result of a dynamic import() call. Instead received: %s\\\\n\\\\nYour code should look like: \\\\n const MyComponent = lazy(() => import('./MyComponent'))\\\",t),t.default;throw e._result}function O(){var e=se.H;return null===e&&console.error(\\\"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\\\n2. You might be breaking the Rules of Hooks\\\\n3. You might have more than one copy of React in the same app\\\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\\\"),e}function x(){}function R(e){if(null===Ee)try{var t=(\\\"require\\\"+Math.random()).slice(0,7);Ee=(module&&module[t]).call(module,\\\"timers\\\").setImmediate}catch(e){Ee=function(e){!1===Se&&(Se=!0,\\\"undefined\\\"==typeof MessageChannel&&console.error(\\\"This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.\\\"));var t=new MessageChannel;t.port1.onmessage=e,t.port2.postMessage(void 0)}}return Ee(e)}function C(e){return 1\u003Ce.length&&\\\"function\\\"==typeof AggregateError?new AggregateError(e):e[0]}function j(e,t){t!==Oe-1&&console.error(\\\"You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. \\\"),Oe=t}function $(e,t,r){var n=se.actQueue;if(null!==n)if(0!==n.length)try{return T(n),void R(function(){return $(e,t,r)})}catch(e){se.thrownErrors.push(e)}else se.actQueue=null;0\u003Cse.thrownErrors.length?(n=C(se.thrownErrors),se.thrownErrors.length=0,r(n)):t(e)}function T(e){if(!Re){Re=!0;var t=0;try{for(;t\u003Ce.length;t++)for(var r=e[t];;){se.didUsePromise=!1;var n=r(!1);if(null===n)break;if(se.didUsePromise)return e[t]=r,void e.splice(0,t);r=n}e.length=0}catch(r){e.splice(0,t+1),se.thrownErrors.push(r)}finally{Re=!1}}}\\\"undefined\\\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\\\"function\\\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var P=Symbol.for(\\\"react.transitional.element\\\"),D=Symbol.for(\\\"react.portal\\\"),A=Symbol.for(\\\"react.fragment\\\"),M=Symbol.for(\\\"react.strict_mode\\\"),I=Symbol.for(\\\"react.profiler\\\");Symbol.for(\\\"react.provider\\\");var L=Symbol.for(\\\"react.consumer\\\"),N=Symbol.for(\\\"react.context\\\"),F=Symbol.for(\\\"react.forward_ref\\\"),U=Symbol.for(\\\"react.suspense\\\"),H=Symbol.for(\\\"react.suspense_list\\\"),q=Symbol.for(\\\"react.memo\\\"),z=Symbol.for(\\\"react.lazy\\\"),V=Symbol.for(\\\"react.offscreen\\\"),Y=Symbol.iterator,B={},W={isMounted:function(){return!1},enqueueForceUpdate:function(e){r(e,\\\"forceUpdate\\\")},enqueueReplaceState:function(e){r(e,\\\"replaceState\\\")},enqueueSetState:function(e){r(e,\\\"setState\\\")}},G=Object.assign,Q={};Object.freeze(Q),n.prototype.isReactComponent={},n.prototype.setState=function(e,t){if(\\\"object\\\"!=typeof e&&\\\"function\\\"!=typeof e&&null!=e)throw Error(\\\"takes an object of state variables to update or a function which returns an object of state variables.\\\");this.updater.enqueueSetState(this,e,t,\\\"setState\\\")},n.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\\\"forceUpdate\\\")};var K,J={isMounted:[\\\"isMounted\\\",\\\"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\\\"],replaceState:[\\\"replaceState\\\",\\\"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\\\"]};for(K in J)J.hasOwnProperty(K)&&e(K,J[K]);o.prototype=n.prototype,(J=a.prototype=new o).constructor=a,G(J,n.prototype),J.isPureReactComponent=!0;var X,Z,ee,te,re,ne,oe,ae=Array.isArray,ie=Symbol.for(\\\"react.client.reference\\\"),se={H:null,A:null,T:null,S:null,actQueue:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1,didUsePromise:!1,thrownErrors:[],getCurrentStack:null},ue=Object.prototype.hasOwnProperty,ce=Symbol.for(\\\"react.client.reference\\\"),le=0;l.__reactDisabledLog=!0;var fe,pe,de,ye,me=!1,he=new(\\\"function\\\"==typeof WeakMap?WeakMap:Map),ge=Symbol.for(\\\"react.client.reference\\\"),ve={},be={},we=!1,_e=/\\\\/+/g,ke=\\\"function\\\"==typeof reportError?reportError:function(e){if(\\\"object\\\"==typeof window&&\\\"function\\\"==typeof window.ErrorEvent){var t=new window.ErrorEvent(\\\"error\\\",{bubbles:!0,cancelable:!0,message:\\\"object\\\"==typeof e&&null!==e&&\\\"string\\\"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(\\\"object\\\"==typeof process&&\\\"function\\\"==typeof process.emit)return void process.emit(\\\"uncaughtException\\\",e);console.error(e)},Se=!1,Ee=null,Oe=0,xe=!1,Re=!1,Ce=\\\"function\\\"==typeof queueMicrotask?function(e){queueMicrotask(function(){return queueMicrotask(e)})}:R;exports.Children={map:S,forEach:function(e,t,r){S(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return S(e,function(){t++}),t},toArray:function(e){return S(e,function(e){return e})||[]},only:function(e){if(!v(e))throw Error(\\\"React.Children.only expected to receive a single React element child.\\\");return e}},exports.Component=n,exports.Fragment=A,exports.Profiler=I,exports.PureComponent=a,exports.StrictMode=M,exports.Suspense=U,exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=se,exports.act=function(e){var t=se.actQueue,r=Oe;Oe++;var n=se.actQueue=null!==t?t:[],o=!1;try{var a=e()}catch(e){se.thrownErrors.push(e)}if(0\u003Cse.thrownErrors.length)throw j(0,r),e=C(se.thrownErrors),se.thrownErrors.length=0,e;if(null!==a&&\\\"object\\\"==typeof a&&\\\"function\\\"==typeof a.then){var i=a;return Ce(function(){o||xe||(xe=!0,console.error(\\\"You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);\\\"))}),{then:function(e,t){o=!0,i.then(function(o){if(j(0,r),0===r){try{T(n),R(function(){return $(o,e,t)})}catch(e){se.thrownErrors.push(e)}if(0\u003Cse.thrownErrors.length){var a=C(se.thrownErrors);se.thrownErrors.length=0,t(a)}}else e(o)},function(e){j(0,r),0\u003Cse.thrownErrors.length?(e=C(se.thrownErrors),se.thrownErrors.length=0,t(e)):t(e)})}}}var s=a;if(j(0,r),0===r&&(T(n),0!==n.length&&Ce(function(){o||xe||(xe=!0,console.error(\\\"A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\\\\n\\\\nawait act(() => ...)\\\"))}),se.actQueue=null),0\u003Cse.thrownErrors.length)throw e=C(se.thrownErrors),se.thrownErrors.length=0,e;return{then:function(e,t){o=!0,0===r?(se.actQueue=n,R(function(){return $(s,e,t)})):e(s)}}},exports.cache=function(e){return function(){return e.apply(null,arguments)}},exports.cloneElement=function(e,t,r){if(null===e||void 0===e)throw Error(\\\"The argument must be a React element, but you passed \\\"+e+\\\".\\\");var n,o=G({},e.props),a=e.key,i=e._owner;if(null!=t)for(u in(n=!(ue.call(t,\\\"ref\\\")&&(n=Object.getOwnPropertyDescriptor(t,\\\"ref\\\").get)&&n.isReactWarning)&&void 0!==t.ref)&&(i=d()),y(t)&&(s(t.key),a=\\\"\\\"+t.key),t)!ue.call(t,u)||\\\"key\\\"===u||\\\"__self\\\"===u||\\\"__source\\\"===u||\\\"ref\\\"===u&&void 0===t.ref||(o[u]=t[u]);var u=arguments.length-2;if(1===u)o.children=r;else if(1\u003Cu){n=Array(u);for(var c=0;c\u003Cu;c++)n[c]=arguments[c+2];o.children=n}for(o=h(e.type,a,void 0,0,i,o),a=2;a\u003Carguments.length;a++)g(arguments[a],o.type);return o},exports.createContext=function(e){return(e={$$typeof:N,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:L,_context:e},e._currentRenderer=null,e._currentRenderer2=null,e},exports.createElement=function(e,t,r){if(c(e))for(var n=2;n\u003Carguments.length;n++)g(arguments[n],e);else{if(n=\\\"\\\",(void 0===e||\\\"object\\\"==typeof e&&null!==e&&0===Object.keys(e).length)&&(n+=\\\" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\\\"),null===e)var o=\\\"null\\\";else ae(e)?o=\\\"array\\\":void 0!==e&&e.$$typeof===P?(o=\\\"\u003C\\\"+(u(e.type)||\\\"Unknown\\\")+\\\" />\\\",n=\\\" Did you accidentally export a JSX literal instead of a component?\\\"):o=typeof e;console.error(\\\"React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\\\",o,n)}var a;if(n={},o=null,null!=t)for(a in ye||!(\\\"__self\\\"in t)||\\\"key\\\"in t||(ye=!0,console.warn(\\\"Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform\\\")),y(t)&&(s(t.key),o=\\\"\\\"+t.key),t)ue.call(t,a)&&\\\"key\\\"!==a&&\\\"__self\\\"!==a&&\\\"__source\\\"!==a&&(n[a]=t[a]);var i=arguments.length-2;if(1===i)n.children=r;else if(1\u003Ci){for(var l=Array(i),f=0;f\u003Ci;f++)l[f]=arguments[f+2];Object.freeze&&Object.freeze(l),n.children=l}if(e&&e.defaultProps)for(a in i=e.defaultProps)void 0===n[a]&&(n[a]=i[a]);return o&&function(e,t){function r(){de||(de=!0,console.error(\\\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\\\",t))}r.isReactWarning=!0,Object.defineProperty(e,\\\"key\\\",{get:r,configurable:!0})}(n,\\\"function\\\"==typeof e?e.displayName||e.name||\\\"Unknown\\\":e),h(e,o,void 0,0,d(),n)},exports.createRef=function(){var e={current:null};return Object.seal(e),e},exports.forwardRef=function(e){null!=e&&e.$$typeof===q?console.error(\\\"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\\\"):\\\"function\\\"!=typeof e?console.error(\\\"forwardRef requires a render function but was given %s.\\\",null===e?\\\"null\\\":typeof e):0!==e.length&&2!==e.length&&console.error(\\\"forwardRef render functions accept exactly two parameters: props and ref. %s\\\",1===e.length?\\\"Did you forget to use the ref parameter?\\\":\\\"Any additional parameter will be undefined.\\\"),null!=e&&null!=e.defaultProps&&console.error(\\\"forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?\\\");var t,r={$$typeof:F,render:e};return Object.defineProperty(r,\\\"displayName\\\",{enumerable:!1,configurable:!0,get:function(){return t},set:function(r){t=r,e.name||e.displayName||(Object.defineProperty(e,\\\"name\\\",{value:r}),e.displayName=r)}}),r},exports.isValidElement=v,exports.lazy=function(e){return{$$typeof:z,_payload:{_status:-1,_result:e},_init:E}},exports.memo=function(e,t){var r;return c(e)||console.error(\\\"memo: The first argument must be a component. Instead received: %s\\\",null===e?\\\"null\\\":typeof e),t={$$typeof:q,type:e,compare:void 0===t?null:t},Object.defineProperty(t,\\\"displayName\\\",{enumerable:!1,configurable:!0,get:function(){return r},set:function(t){r=t,e.name||e.displayName||(Object.defineProperty(e,\\\"name\\\",{value:t}),e.displayName=t)}}),t},exports.startTransition=function(e){var t=se.T,r={};se.T=r,r._updatedFibers=new Set;try{var n=e(),o=se.S;null!==o&&o(r,n),\\\"object\\\"==typeof n&&null!==n&&\\\"function\\\"==typeof n.then&&n.then(x,ke)}catch(e){ke(e)}finally{null===t&&r._updatedFibers&&(e=r._updatedFibers.size,r._updatedFibers.clear(),10\u003Ce&&console.warn(\\\"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\\\")),se.T=t}},exports.unstable_useCacheRefresh=function(){return O().useCacheRefresh()},exports.use=function(e){return O().use(e)},exports.useActionState=function(e,t,r){return O().useActionState(e,t,r)},exports.useCallback=function(e,t){return O().useCallback(e,t)},exports.useContext=function(e){var t=O();return e.$$typeof===L&&console.error(\\\"Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?\\\"),t.useContext(e)},exports.useDebugValue=function(e,t){return O().useDebugValue(e,t)},exports.useDeferredValue=function(e,t){return O().useDeferredValue(e,t)},exports.useEffect=function(e,t){return O().useEffect(e,t)},exports.useId=function(){return O().useId()},exports.useImperativeHandle=function(e,t,r){return O().useImperativeHandle(e,t,r)},exports.useInsertionEffect=function(e,t){return O().useInsertionEffect(e,t)},exports.useLayoutEffect=function(e,t){return O().useLayoutEffect(e,t)},exports.useMemo=function(e,t){return O().useMemo(e,t)},exports.useOptimistic=function(e,t){return O().useOptimistic(e,t)},exports.useReducer=function(e,t,r){return O().useReducer(e,t,r)},exports.useRef=function(e){return O().useRef(e)},exports.useState=function(e){return O().useState(e)},exports.useSyncExternalStore=function(e,t,r){return O().useSyncExternalStore(e,t,r)},exports.useTransition=function(){return O().useTransition()},exports.version=\\\"19.0.0\\\",\\\"undefined\\\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\\\"function\\\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}();\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"$:/plugins/linonetwo/tw-react/readme\":{\"title\":\"$:/plugins/linonetwo/tw-react/readme\",\"creator\":\"LinOnetwo\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! What is this\\n\\nThis is a dependency of slate-write WYSIWYG editor and flowtiwi-sidebar and many other dynamic widgets. This plugin enable powerful data operation and UI operation of those plugins, thus become a prerequisite of those plugins.\\n\\n!! Example\\n\\n{{$:/plugins/linonetwo/tw-react/docs/example}}\\n\\n!! Usage\\n\\n\u003C\u003Ctree prefix:\\\"$:/plugins/linonetwo/tw-react/docs/\\\">>\\n\"},\"$:/plugins/linonetwo/tw-react/tree\":{\"title\":\"$:/plugins/linonetwo/tw-react/tree\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C\u003Ctree prefix:\\\"$:/plugins/linonetwo/tw-react/\\\">>\"},\"$:/plugins/linonetwo/tw-react/widget.js\":{\"title\":\"$:/plugins/linonetwo/tw-react/widget.js\",\"text\":\"\\\"use strict\\\";\\n\\n// node_modules/.pnpm/@wessberg+connection-observer@1.0.5_patch_hash=fr7zjraqbqi6pqg33c2znbtaw4/node_modules/@wessberg/connection-observer/dist/index.js\\nvar ORIGINAL_ATTACH_SHADOW = typeof Element !== \\\"undefined\\\" ? Element.prototype.attachShadow : void 0;\\nfunction isShady() {\\n return typeof window.ShadyDOM !== \\\"undefined\\\" && typeof ShadowRoot !== \\\"undefined\\\";\\n}\\nfunction supportsShadowRoots() {\\n return typeof ShadowRoot !== \\\"undefined\\\";\\n}\\nfunction patchElementPrototypeAttachShadow(callback) {\\n if (ORIGINAL_ATTACH_SHADOW == null || isShady() || typeof Element === \\\"undefined\\\")\\n return;\\n Element.prototype.attachShadow = function(shadowRootInitDict) {\\n const shadowRoot = ORIGINAL_ATTACH_SHADOW.call(this, shadowRootInitDict);\\n callback(shadowRoot);\\n return shadowRoot;\\n };\\n}\\nfunction createPausableQueue(job, ...queueItems) {\\n const queue = new Set(queueItems);\\n let running = false;\\n const flush = () => {\\n for (const queuedNode of queue) {\\n job(queuedNode);\\n }\\n queue.clear();\\n };\\n return {\\n isRunning() {\\n return running;\\n },\\n schedule(node) {\\n queue.add(node);\\n if (running) {\\n flush();\\n }\\n },\\n stop() {\\n running = false;\\n },\\n run() {\\n if (running)\\n return;\\n running = true;\\n flush();\\n }\\n };\\n}\\nvar MUTATION_OBSERVER_INIT = {\\n childList: true,\\n subtree: true\\n};\\nvar nextMicrotask = (func) => {\\n if (typeof queueMicrotask !== \\\"undefined\\\")\\n queueMicrotask(func);\\n else if (typeof Promise !== \\\"undefined\\\")\\n Promise.resolve().then(() => func());\\n else\\n setTimeout(() => func(), 0);\\n};\\nfunction nodeListToArray(nodeList) {\\n if (typeof Symbol !== \\\"undefined\\\" && nodeList[Symbol.iterator] != null) {\\n return [...nodeList];\\n } else {\\n const arr = [];\\n for (let i = 0; i \u003C nodeList.length; i++) {\\n arr[i] = nodeList[i];\\n }\\n return arr;\\n }\\n}\\nfunction queryRoot(root, query) {\\n if (isShady()) {\\n return new Set(nodeListToArray(window.ShadyDOM.nativeMethods.querySelectorAll.call(document.documentElement, query)));\\n }\\n return new Set(!(\\\"querySelectorAll\\\" in root) ? [] : nodeListToArray(root.querySelectorAll(query)));\\n}\\nfunction mergeNodes(a, b) {\\n return /* @__PURE__ */ new Set([...a == null ? [] : a, ...b == null ? [] : b]);\\n}\\nfunction isDocumentOrShadowRoot(root) {\\n return \\\"activeElement\\\" in root;\\n}\\nfunction observeMissingRoots(root = document.documentElement) {\\n if (isDocumentOrShadowRoot(root)) {\\n observeRoot(root);\\n }\\n if (isShady() && root instanceof ShadowRoot)\\n return;\\n if (!supportsShadowRoots())\\n return;\\n const childNodes = root.childNodes;\\n const shadowRoot = \\\"shadowRoot\\\" in root && root.shadowRoot != null ? [root.shadowRoot] : [];\\n for (const node of [...childNodes, ...shadowRoot]) {\\n observeMissingRoots(node);\\n }\\n}\\nfunction isConnected(node) {\\n if (\\\"isConnected\\\" in Node.prototype)\\n return node.isConnected;\\n return node.ownerDocument == null || !(node.ownerDocument.compareDocumentPosition(node) & node.DOCUMENT_POSITION_DISCONNECTED);\\n}\\nvar CONNECTION_OBSERVER_INTERNALS_MAP = /* @__PURE__ */ new Map();\\nfunction initializeConnectionObserver(observer, callback) {\\n const queue = /* @__PURE__ */ new Set();\\n const observedTargets = /* @__PURE__ */ new Set();\\n const rootToQuerySelectorToMatchedNodesMap = /* @__PURE__ */ new Map();\\n const nodeToLastConnectionValueMap = /* @__PURE__ */ new WeakMap();\\n let scheduled = false;\\n let flushing = false;\\n let hasFoundMissingRoots = false;\\n const flush = () => {\\n flushing = true;\\n const arr = [...queue];\\n if (arr.length > 0) {\\n callback(arr, observer);\\n }\\n queue.clear();\\n scheduled = false;\\n flushing = false;\\n };\\n const scheduleFlush = () => {\\n if (!scheduled) {\\n scheduled = true;\\n nextMicrotask(flush);\\n }\\n };\\n const addToQueue = (entry) => {\\n queue.add(entry);\\n if (!flushing) {\\n scheduleFlush();\\n }\\n };\\n const clearQueue = () => {\\n const items = [...queue];\\n queue.clear();\\n return items;\\n };\\n const clearObservedTargets = () => {\\n observedTargets.clear();\\n };\\n const queryRootAndHandleMutationChanges = (root, query) => {\\n let oldQuerySelectorMap = rootToQuerySelectorToMatchedNodesMap.get(root);\\n const currentNodes = queryRoot(root, query);\\n const oldNodes = oldQuerySelectorMap == null ? void 0 : oldQuerySelectorMap.get(query);\\n const mergedNodes = mergeNodes(currentNodes, oldNodes);\\n handleMutationChange(mergedNodes);\\n if (oldQuerySelectorMap == null) {\\n oldQuerySelectorMap = /* @__PURE__ */ new Map();\\n rootToQuerySelectorToMatchedNodesMap.set(root, oldQuerySelectorMap);\\n }\\n oldQuerySelectorMap.set(query, currentNodes);\\n };\\n const handleMutationChange = (targetNodes) => {\\n for (const targetNode of targetNodes) {\\n const lastValue = nodeToLastConnectionValueMap.get(targetNode);\\n const isTargetNodeConnected = isConnected(targetNode);\\n if (lastValue !== isTargetNodeConnected) {\\n nodeToLastConnectionValueMap.set(targetNode, isTargetNodeConnected);\\n addToQueue({\\n connected: isTargetNodeConnected,\\n target: targetNode\\n });\\n }\\n }\\n };\\n const addObservedTarget = (target) => {\\n rootObserverQueue.run();\\n if (!hasFoundMissingRoots) {\\n hasFoundMissingRoots = true;\\n observeMissingRoots();\\n }\\n observedTargets.add(target);\\n if (typeof target !== \\\"string\\\") {\\n handleMutationChange([target]);\\n } else {\\n for (const root of OBSERVED_ROOTS) {\\n queryRootAndHandleMutationChanges(root, target);\\n }\\n }\\n };\\n const internals = {\\n observedTargets,\\n queryRootAndHandleMutationChanges,\\n handleMutationChange,\\n addObservedTarget,\\n clearObservedTargets,\\n clearQueue\\n };\\n CONNECTION_OBSERVER_INTERNALS_MAP.set(observer, internals);\\n}\\nvar mutationCallback = (mutations) => {\\n for (const mutation of mutations) {\\n if (mutation.type !== \\\"childList\\\")\\n continue;\\n for (const observer of CONNECTION_OBSERVER_INTERNALS_MAP.values()) {\\n for (const target of observer.observedTargets) {\\n if (typeof target === \\\"string\\\") {\\n observer.queryRootAndHandleMutationChanges(mutation.target, target);\\n } else {\\n observer.handleMutationChange([target]);\\n }\\n }\\n }\\n }\\n};\\nvar OBSERVED_ROOTS = /* @__PURE__ */ new Set();\\nvar observeRoot = /* @__PURE__ */ (() => {\\n let instance;\\n return function(root) {\\n if (OBSERVED_ROOTS.has(root))\\n return;\\n OBSERVED_ROOTS.add(root);\\n if (instance == null) {\\n instance = new MutationObserver(mutationCallback);\\n }\\n instance.observe(root, MUTATION_OBSERVER_INIT);\\n };\\n})();\\nvar rootObserverQueue = createPausableQueue(observeRoot, typeof document !== \\\"undefined\\\" ? document.documentElement : void 0);\\nvar ConnectionObserver = class _ConnectionObserver {\\n constructor(callback) {\\n if (new.target === void 0) {\\n throw new TypeError(`Constructor ${_ConnectionObserver.name} requires 'new'`);\\n }\\n if (callback === void 0) {\\n throw new ReferenceError(`Failed to construct '${_ConnectionObserver.name}': 1 argument required, but only 0 present.`);\\n } else if (typeof callback !== \\\"function\\\") {\\n throw new TypeError(`Failed to construct '${_ConnectionObserver.name}': The callback provided as parameter 1 is not a function.`);\\n }\\n if (typeof document === \\\"undefined\\\") {\\n return;\\n }\\n initializeConnectionObserver(this, callback);\\n }\\n /**\\n * The Symbol.@@toStringTag value\\n */\\n get [Symbol.toStringTag]() {\\n return `ConnectionObserver`;\\n }\\n /**\\n * Observe the given node or query selector for connections/disconnections.\\n * If given a Node, that specific Node will be observed. If given a query selector, such\\n * as for example \\\"img[data-some-attr]\\\", for each new MutationRecord, the query selector\\n * will be executed and the matched nodes will be observed for connections/disconnections\\n */\\n observe(target) {\\n if (target === void 0) {\\n throw new ReferenceError(`Failed to execute '${this.observe.name}' on '${_ConnectionObserver.name}': 1 argument required, but only 0 present.`);\\n } else if (typeof target !== \\\"string\\\" && !(target instanceof Node)) {\\n throw new TypeError(`Failed to execute '${this.observe.name}' on '${_ConnectionObserver.name}': parameter 1 is not of type 'Node' or a DOMString.`);\\n }\\n const internals = CONNECTION_OBSERVER_INTERNALS_MAP.get(this);\\n if (internals == null)\\n return;\\n internals.addObservedTarget(target);\\n }\\n /**\\n * Takes the records immediately (instead of waiting for the next flush)\\n */\\n takeRecords() {\\n const internals = CONNECTION_OBSERVER_INTERNALS_MAP.get(this);\\n if (internals == null)\\n return [];\\n return internals.clearQueue();\\n }\\n /**\\n * Disconnects the ConnectionObserver such that none of its callbacks will be invoked any longer\\n */\\n disconnect() {\\n const internals = CONNECTION_OBSERVER_INTERNALS_MAP.get(this);\\n if (internals == null)\\n return;\\n internals.clearObservedTargets();\\n }\\n};\\npatchElementPrototypeAttachShadow(rootObserverQueue.schedule.bind(rootObserverQueue));\\n\\n// src/widget.ts\\nvar import_widget = require(\\\"$:/core/modules/widgets/widget.js\\\");\\nvar ReactDom = require(\\\"react-dom\\\");\\nvar ReactDomClient = require(\\\"react-dom/client\\\");\\nvar React = require(\\\"react\\\");\\nif (typeof window !== \\\"undefined\\\") {\\n window.React = React;\\n} else if (typeof global !== \\\"undefined\\\") {\\n global.React = React;\\n}\\nvar ReactWidgetImpl = class extends import_widget.widget {\\n constructor(parseTreeNode, options) {\\n super(parseTreeNode, options);\\n /**\\n * User of tw-react need to assign his react component to this property.\\n */\\n this.reactComponent = null;\\n this.getProps = () => ({ parentWidget: this });\\n if (!$tw.browser) {\\n return;\\n }\\n this.connectionObserver = new ConnectionObserver((entries) => {\\n for (const { connected } of entries) {\\n if (!connected) {\\n this.destroy();\\n this.connectionObserver?.disconnect?.();\\n }\\n }\\n });\\n }\\n refresh(changedTiddlers) {\\n return false;\\n }\\n render(parent, nextSibling) {\\n this.parentDomNode = parent;\\n this.computeAttributes();\\n this.execute();\\n if (this.reactComponent === void 0 || this.reactComponent === null) {\\n return;\\n }\\n const currentProps = this.getProps() ?? {};\\n if (currentProps.parentWidget === void 0 || currentProps.parentWidget === null) {\\n currentProps.parentWidget = this;\\n }\\n if (this.root === void 0 || this.containerElement === void 0) {\\n this.containerElement = document.createElement(\\\"div\\\");\\n this.root = ReactDomClient.createRoot(this.containerElement);\\n let domToObserve = this.containerElement;\\n if (this.parentDomNode instanceof Node) {\\n domToObserve = this.parentDomNode;\\n }\\n this.connectionObserver?.observe?.(domToObserve);\\n }\\n this.domNodes.push(this.containerElement);\\n try {\\n parent.insertBefore(this.containerElement, nextSibling);\\n } catch (error) {\\n console.warn(`Error while inserting dom node in react widget, this might be cause by use transclude widget for the wikitext contains widget.`, error);\\n }\\n const reactElement = React.createElement(this.reactComponent, currentProps);\\n this.root.render(reactElement);\\n }\\n refreshSelf() {\\n if (this.reactComponent === void 0 || this.reactComponent === null) {\\n return;\\n }\\n if (this.root === void 0 && this.parentDomNode !== void 0) {\\n const nextSibling = this.findNextSiblingDomNode();\\n this.render(this.parentDomNode, nextSibling);\\n return;\\n }\\n this.computeAttributes();\\n this.execute();\\n const currentProps = this.getProps() ?? {};\\n if (currentProps.parentWidget === void 0 || currentProps.parentWidget === null) {\\n currentProps.parentWidget = this;\\n }\\n const reactElement = React.createElement(this.reactComponent, currentProps);\\n this.root?.render?.(reactElement);\\n }\\n destroy() {\\n this.root?.unmount?.();\\n }\\n};\\nexports.widget = ReactWidgetImpl;\\n\",\"creator\":\"LinOnetwo\",\"type\":\"application/javascript\",\"module-type\":\"library\"}}}"}, {"Modern.TiddlyDev#ExternalModules":"react react-dom","author":"LinOnetwo","core-version":">=5.1.22","dependents":"$:/plugins/linonetwo/tw-react","description":"Tiny little drawing app in TW, using tldraw. Providing diagram widget and whiteboard view.","list":"readme","plugin-type":"plugin","text":"{\"tiddlers\":{\"$:/language/Docs/Types/application/vnd.tldraw+json\":{\"title\":\"$:/language/Docs/Types/application/vnd.tldraw+json\",\"description\":\"Tldraw白板\",\"name\":\"application/vnd.tldraw+json\",\"group\":\"图像\"},\"$:/plugins/linonetwo/itonnote/Startup/registerFileType.js\":{\"title\":\"$:/plugins/linonetwo/itonnote/Startup/registerFileType.js\",\"text\":\"$tw.utils.registerFileType(\\\"application/vnd.tldraw+json\\\",\\\"utf8\\\",\\\".tldr\\\");\",\"module-type\":\"startup\",\"type\":\"application/javascript\"},\"$:/plugins/linonetwo/tw-whiteboard/readme\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/readme\",\"creator\":\"LinOnetwo\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"Tiny little drawing app in TW, using tldraw. Providing diagram widget and whiteboard view. \\n\\nV0.4.0 use Tldraw 2.0.0-beta.1, which is not compatible with previous version. So if your wiki have some old drawings, you need to re-draw them, or use previous version of this plugin.\\n\"},\"$:/plugins/linonetwo/tw-whiteboard/Snippets/whiteBoardLoadTiddler\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/Snippets/whiteBoardLoadTiddler\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"WhiteBoard Load Tiddler readonly\",\"text\":\"\u003C$whiteboard tiddler=\\\"tldrTiddler\\\" readonly=\\\"yes\\\" zoomToFit=\\\"yes\\\" width=\\\"30%\\\" height=\\\"300px\\\" />\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/EditTemplate/body/EditTemplateBody.css\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/EditTemplate/body/EditTemplateBody.css\",\"text\":\".tw-whiteboard-edit-body-container {\\n width: 100%;\\n height: 100%;\\n margin-bottom: 20px;\\n}\",\"type\":\"text/vnd.tiddlywiki\",\"tags\":\"$:/tags/Stylesheet\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/EditTemplate/body/edit-whiteboard-cascade-filter\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/EditTemplate/body/edit-whiteboard-cascade-filter\",\"tags\":\"$:/tags/EditTemplateBodyFilter\",\"list-before\":\"$:/config/EditTemplateBodyFilters/default\",\"text\":\"[field:type[application/vnd.tldraw+json]then[$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/EditTemplate/body/edit-whiteboard]]\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/EditTemplate/body/edit-whiteboard\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/EditTemplate/body/edit-whiteboard\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/Body/\\n\\n\u003Cdiv class=\\\"tw-whiteboard-edit-body-container\\\">\\n\u003C!-- title is `\\\"Draft of 'AAA'\\\"` from \u003C\u003CcurrentTiddler>> when in draft mode. -->\\n\u003C$set name=\\\"tiddler\\\" value={{!!title}} emptyValue=\u003C\u003CcurrentTiddler>>>\\n\u003C$edit-whiteboard tiddler=\u003C\u003Ctiddler>> draftTitle={{!!draft.title}} height=\\\"500px\\\" />\\n\u003C/$set>\\n\u003C/div>\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/CreateNewTiddlerPopup\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/CreateNewTiddlerPopup\",\"text\":\"\u003Cdiv class=\\\"tw-whiteboard-layout-create-new-tiddler-popup\\\">\\n \u003C$edit-text focus=\\\"yes\\\" tiddler=\\\"$:/state/Whiteboard/PageLayout/create-tiddler\\\" default=\\\"\\\" rows=1 />\\n \u003C$button>\\n Create\\n \u003C$action-createtiddler $basetitle={{$:/state/Whiteboard/PageLayout/create-tiddler}} type=\\\"application/vnd.tldraw+json\\\" />\\n \u003C$action-setfield $tiddler=\\\"$:/state/Whiteboard/PageLayout/create-tiddler\\\" text=\\\"\\\"/>\\n \u003C/$button>\\n\u003C/div>\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/WhiteBoardLayout.css\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/WhiteBoardLayout.css\",\"text\":\".tw-whiteboard-layout-top-bar {\\n position: absolute;\\n z-index: 1;\\n top: 0;\\n\\n width: 400px;\\n left: calc(50% - 400px / 2);\\n padding: 5px;\\n\\n background-color: rgba(255, 255, 255, 0.5);\\n backdrop-filter: blur(5px);\\n\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n.tw-whiteboard-layout-top-bar > select {\\n max-width: 200px;\\n}\\n\\n.tw-whiteboard-layout-main-area {\\n}\\n\\ndiv.tw-whiteboard-layout-container {\\n margin-top: 0px;\\n}\\n.tw-whiteboard-layout-container p {\\n margin: 0;\\n}\\n\\n.tw-whiteboard-layout-create-new-tiddler-popup {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n width: 200px;\\n}\\n.tw-whiteboard-layout-create-new-tiddler-popup button {\\n width: 100%;\\n}\\n.tw-whiteboard-layout-create-new-tiddler-popup textarea {\\n width: 100%;\\n}\\n\",\"type\":\"text/vnd.tiddlywiki\",\"tags\":\"$:/tags/Stylesheet\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/WhiteBoard\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/WhiteBoard\",\"name\":\"White Board\",\"description\":\"show `application/vnd.tldraw+json` type tiddlers in full screen whiteboard\",\"tags\":\"$:/tags/Layout\",\"text\":\"\\\\whitespace trim\\n\\\\define containerClasses()\\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$ tw-whiteboard-layout-container\\n\\\\end\\n\\\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\\n\\n\u003C$vars\\n\\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\\n\\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\\n\\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\\n\\ttv-show-missing-links={{$:/config/MissingLinks}}\\n\\tstoryviewTitle={{$:/view}}\\n\\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\\n\\n\u003Cdiv class=\u003C\u003CcontainerClasses>>>\\n\\n\u003C$navigator story=\\\"$:/StoryList\\\" history=\\\"$:/HistoryList\\\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\n\u003Cmain class=\\\"tw-whiteboard-layout-main-area\\\">\\n\\t\u003C$reveal state=\\\"$:/state/Whiteboard/PageLayout/tiddler\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n\\t\\t\u003C$whiteboard tiddler={{$:/state/Whiteboard/PageLayout/tiddler}} height=\\\"calc(100vh - 35px)\\\" />\\n\\t\u003C/$reveal>\\n\\t\u003C!-- default value, when first opened, select widget's state tiddler is empty, but default value filter gives a value, we show that tiddler -->\\n\\t\u003C$reveal state=\\\"$:/state/Whiteboard/PageLayout/tiddler\\\" type=\\\"match\\\" text=\\\"\\\">\\n\\t\\t\u003C$list filter='[all[shadows+tiddlers]field:type[application/vnd.tldraw+json]sort[modified]first[]]'>\\n\\t\\t\\t\u003C$whiteboard tiddler={{{[all[shadows+tiddlers]field:type[application/vnd.tldraw+json]sort[modified]first[]]}}} height=\\\"calc(100vh - 35px)\\\" />\\n\\t\\t\u003C/$list>\\n\\t\u003C/$reveal>\\n\u003C/main>\\n\\n\u003C!-- put this below main, so nav bar is layered on top of the main. In UI, this nav in on the top of the page. -->\\n\u003Cnav class=\\\"tw-whiteboard-layout-top-bar\\\">\\n\\tSelect board: \\n\\t\u003C!-- default to recently used whiteboard tiddler -->\\n\\t\u003C$select tiddler=\\\"$:/state/Whiteboard/PageLayout/tiddler\\\" default={{{[all[shadows+tiddlers]field:type[application/vnd.tldraw+json]sort[modified]first[]]}}}>\\n\\t\\t\u003C$list filter='[all[shadows+tiddlers]field:type[application/vnd.tldraw+json]sort[modified]]'>\\n\\t\\t\\t\u003Coption value=\u003C\u003CcurrentTiddler>>>\u003C$view field='title'/>\u003C/option>\\n\\t\\t\u003C/$list>\\n\\t\u003C/$select>\\n\\n\\t\u003C$button tooltip=\\\"New\\\" popup=\\\"$:/state/Whiteboard/PageLayout/CreateNewTiddlerPopup\\\">{{$:/core/images/new-button}}\u003C/$button>\\n\\t\u003C$reveal type=\\\"popup\\\" state=\\\"$:/state/Whiteboard/PageLayout/CreateNewTiddlerPopup\\\">\\n\\t\\t{{$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/CreateNewTiddlerPopup}}\\n\\t\u003C/$reveal>\\n\\n\\t\u003C$reveal state=\\\"$:/state/Whiteboard/PageLayout/tiddler\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n\\t\\t\u003C$button tooltip=\\\"Open In StoryView\\\">\\n\\t\\t\\t{{$:/core/images/home-button}}\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/layout\\\" text=\\\"$:/core/ui/PageTemplate\\\"/>\\n\\t\\t\\t\u003C$action-navigate $to={{$:/state/Whiteboard/PageLayout/tiddler}}/>\\n\\t\\t\u003C/$button>\\n\\t\u003C/$reveal>\\n\\t\u003C!-- default value, when first opened, select widget's state tiddler is empty, but default value filter gives a value, we show that tiddler -->\\n\\t\u003C$reveal state=\\\"$:/state/Whiteboard/PageLayout/tiddler\\\" type=\\\"match\\\" text=\\\"\\\">\\n\\t\\t\u003C$list filter='[all[shadows+tiddlers]field:type[application/vnd.tldraw+json]sort[modified]first[]]'>\\n\\t\\t\\t\u003C$button tooltip=\\\"Open In StoryView\\\">\\n\\t\\t\\t\\t{{$:/core/images/home-button}}\\n\\t\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/layout\\\" text=\\\"$:/core/ui/PageTemplate\\\"/>\\n\\t\\t\\t\\t\u003C$action-navigate $to={{{[all[shadows+tiddlers]field:type[application/vnd.tldraw+json]sort[modified]first[]]}}} />\\n\\t\\t\\t\u003C/$button>\\n\\t\\t\u003C/$list>\\n\\t\u003C/$reveal>\\n\u003C/nav>\\n\\n\u003C/$navigator>\\n\\n\u003C/div>\\n\\n\u003C/$vars>\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewTemplate/body/view-whiteboard-cascade-filter\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewTemplate/body/view-whiteboard-cascade-filter\",\"tags\":\"$:/tags/ViewTemplateBodyFilter\",\"list-before\":\"$:/config/ViewTemplateBodyFilters/system\",\"text\":\"[field:type[application/vnd.tldraw+json]then[$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewTemplate/body/view-whiteboard]]\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewTemplate/body/view-whiteboard\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewTemplate/body/view-whiteboard\",\"text\":\"\\\\define lingo-base() $:/language/ViewTemplate/Body/\\n\\n\u003C$whiteboard tiddler=\u003C\u003CcurrentTiddler>> readonly=\\\"yes\\\" height=\\\"500px\\\" />\\n\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewToolbar/Buttons/OpenInFullScreenWhiteBoardButton\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewToolbar/Buttons/OpenInFullScreenWhiteBoardButton\",\"tags\":\"$:/tags/ViewToolbar\",\"caption\":\"{{$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewToolbar/images/OpenInFullScreenWhiteBoardButtonImage}} {{$:/language/Buttons/Edit/Caption}}\",\"description\":\"{{$:/language/Buttons/Edit/Hint}}\",\"text\":\"\\\\whitespace trim\\n\u003C$list filter=\\\"[\u003CcurrentTiddler>field:type[application/vnd.tldraw+json]]\\\" variable=\\\"ignore\\\">\\n \u003C$button tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=\u003C\u003Ctv-config-toolbar-class>> >\\n \u003C$action-setfield $tiddler=\\\"$:/layout\\\" text=\\\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/WhiteBoard\\\"/>\\n \u003C$action-setfield $tiddler=\\\"$:/state/Whiteboard/PageLayout/tiddler\\\" text=\u003C\u003CcurrentTiddler>> />\\n\\n \u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n {{$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewToolbar/images/OpenInFullScreenWhiteBoardButtonImage}}\\n \u003C/$list>\\n \u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n \u003Cspan class=\\\"tc-btn-text\\\">\\n \u003C$text text={{$:/language/Buttons/Edit/Caption}}/>\\n \u003C/span>\\n \u003C/$list>\\n \u003C/$button>\\n\u003C/$list>\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewToolbar/images/OpenInFullScreenWhiteBoardButtonImage\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewToolbar/images/OpenInFullScreenWhiteBoardButtonImage\",\"tags\":\"$:/tags/Image\",\"text\":\"\u003Csvg width=\\\"22pt\\\" height=\\\"22pt\\\" class=\\\"tc-image-edit-button tc-image-whiteboard-edit-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\\n \u003Cg fill-rule=\\\"evenodd\\\">\\n \u003Cg id=\\\"svg_1\\\" fill-rule=\\\"evenodd\\\">\\n \u003Cpath id=\\\"svg_2\\\"\\n d=\\\"m95.627,10.059l-5.656,5.657l11.313,11.313l5.657,-5.656l-11.314,-11.314zm5.657,-5.657l1.966,-1.966c3.123,-3.122 8.194,-3.129 11.319,-0.005c3.117,3.118 3.122,8.192 -0.005,11.32l-1.966,1.965l-11.314,-11.314zm-16.97,16.97l-60.25,60.25a8.12,8.12 0 0 0 -0.322,0.342c-0.1,0.087 -0.198,0.179 -0.295,0.275c-5.735,5.735 -10.702,22.016 -10.702,22.016s16.405,-5.09 22.016,-10.702c0.095,-0.096 0.186,-0.193 0.272,-0.292a8.12,8.12 0 0 0 0.345,-0.325l60.25,-60.25l-11.314,-11.313l0,-0.001zm-49.143,102.818c6.788,-0.577 13.898,-2.272 23.689,-5.348c1.825,-0.573 3.57,-1.136 6.336,-2.04c16,-5.226 21.877,-6.807 28.745,-7.146c8.358,-0.413 13.854,2.13 17.58,8.699a4,4 0 0 0 6.959,-3.946c-5.334,-9.406 -13.745,-13.296 -24.933,-12.744c-7.875,0.39 -14.057,2.052 -30.835,7.533c-2.739,0.894 -4.46,1.45 -6.25,2.012c-19.46,6.112 -30.77,7.072 -39.597,1.747a4,4 0 1 0 -4.132,6.85c6.333,3.82 13.754,5.12 22.438,4.383z\\\" />\\n \u003C/g>\\n \u003Ctext xml:space=\\\"preserve\\\" text-anchor=\\\"start\\\" font-family=\\\"Noto Sans JP\\\" font-size=\\\"108\\\" id=\\\"svg_11\\\" y=\\\"89\\\" x=\\\"2\\\"\\n stroke-width=\\\"0\\\">Bo\u003C/text>\\n \u003C/g>\\n\u003C/svg>\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/IBMPlexMono-Medium.woff2\":{\"text\":\"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\",\"type\":\"application/font-woff2\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/IBMPlexMono-Medium.woff2\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/IBMPlexSans-Medium.woff2\":{\"text\":\"d09GMgABAAAAAPnEABEAAAAC97gAAPlfAAMBBgAAAAAAAAAAAAAAAAAAAAAAAAAAGoM6G4PmJBycFgZgAJU0CEQJgnMREAqGxCiF9EcBNgIkA558C49AAAQgBZMGB8JpDIN0W+7Gkgflxv5+w5UqCVGUnmKSfIMo5uxXvoGOsc2DWJnOseFJD8FGYmVwAlu31eWB3qznwD79PYvs//////9/VTKJMU3u4ZL8I+iLqiI4VqtrN1chMjcJSpaS0iHKBvaoM0LKgLZdT/GdVA+houHNHhs0QhISj1WKHt3QePAcKu8lIvQxIgK4m1OV4K4G6dUUyVPSFhpdnbW1pg8VFxdHfRhyM3SdLN0JC28+qHlB9biDdp8R4Y3AJIsh/jJkckb3FVwoV6FadN/gCrZiCb/1hxxXIfVD6k14FjcpIE8qqyy5X28qlAMqAkZC7lc0uWYrjwl39JAVfrI13ZOIpX8dTjKXEtH9UTnD+gXdYXhyjNteDvLMQ/7OpgJeCD8IyeZPeRhkVOf0B+4wsSW99F+9gNr3B0R3MOfs2Ju9PlNuiBNbUvQ/goHoG1Io1EdtVGwwOzQhWNxnRNm2pOo3yf+7zQL2/qV+JMIDeYJBElIVUKsiyaRIj6bfl4rWn2kCnWREYcJDWwOf2N/Si+nobJFRlcYyZiN1o4rm/EjKzZcmsnqlkcnnFl0TrCVvARGOzQ+qhqgpltiitiPnqkf0reXzC08/tX+vGIIYBAIJbdDbpx9C7FzFovRxZXeFW/88nvV/7g3YNChTp0iZkjNeuQvPzqz45JmuHuRvw/en8u+iY0CI6yIZl8YrpY4/Zcqwh4gY1uqZIcXyFDJFhc3C4igcnkNik3FYvvyrF+6NjS762wGYmyobDIYBSAzYWESyLhbJ2MYY9IARKShiYGPnQy/+xg/W04zfwLj9W783Xurw/Nx6/28gGxXCRsWoHnFEjgpHSLRFlIoD2UAYAxGQI0pKpMUxagIGoIjIcdjIccTExkaiRhVdWH1jL0ixMC4oeEbwgtdjBE++qbdNgIAgLPC8fAmkwhNYh5qr/ue9078d/uUSLtd/zvFwejn0D2nCRqfHTs5Ma492a6OiIra0ICogEgoKCiiooqoIgenfreS42rllYRN223IzbzMZJg+ij7wXG+onZEiq8LXKCTOZ/xO+M1RS/bJUbE/+qCifVYVTzizTAhW24c1+IAiERlU1BQIAeD7en5Jn5j7JZi2zA8hUAXCXaoEh0YeP5z5+d+781oXCtOOrZtnq26qxhoHH/wQW4H9D/98fsPP2zgREqUcWaYBZ1vz/U+d/V5rRKI8GJRRG0iDABAfx8AsZXormb6gSPmfLhPsNUG5nig4XHZSb7aIzp3/hF519+r/HhC/3eIAPfzKBgk14onPchBrvMGf5yTC3lYzf/Fr9q3rFin5pKIhYwABeS93GTDn637Td0LOZcBpV2d1JeW2IVTlT+Pjr/dYFogoP6jGh5FCnBeyTsfjTIMCRl10NgT5hvzf3vjOS/eGOFBdp17P/+yKtJMuQRHGc5vXUZbC30rbIAPE07XX+vtU7adVOZ7m1ghxkFB6IE8oD+fyf01L8P8wwH4FgdxASYkd5pU2J484p15KdcQrlBTXUArt1FaJKd3af65RS5Wcs5S4/xYlDsZjz+KhCjeqEme+zpkXZcQo5StJ/mAGjE7NAwvg9P6HbYkafb873j0gBW6bnZxmFnCPhPhAEqEBHgfZT+NLmknMzfvR83d78EzuRNKEAw0hrPDBfArYZnJijxdQsNkNI8iNjEL/z445J1JNVmP+8/ol5hdSH0OFI1UU4LpT5eZ3KEJQymbj9mtKUEjBDTkmEdf2QIB4hA+cEsYkMpCgjHqDHlwoLiG7YLAhh0Shbzj/EqZ2ALVlGDDkOLv02HT0ykXktYF/4IUgRuAJRxiNYy019kyp/P5YcAA9vN/47oAcYht/tILn9rfjWmoeBYID3/5e5+rZxFagklYouRRnMH0eWOYO+19itsN94vxsTcd+LjHxxMzKkDKlQZigRSFBVUqIuMhOqQIKejIxIkU6MoGgDtIPvi2rrlSR0S0BNUfbA996txu4YT49f/uXMrjfL8X73V/tZzmyWs9rbzWr4h/97P/X/u9Mvpb8APwzIXyMW8vSTPqUBzgqNyAQAwpVDHgwP/O/NlL7r8U/+S9cJWpZJ6wuYXCpEf/78Vfbr6W3XSbR/x6WPpE3ObHGtY607SumoVJwuly63ivYYGfrwsEoDmGkQMwyCAbQBjILi981UKu3fyaXeOWGLWgL/vABihu2x9sVa9ZLTK7lZD1ZArJ7jICUorwCV8AKACs9/pvaVixsPmagejQNyMObwZNcIbZj4ID/bHb1KGz4R+ZAxQCAQ/YvcmtPNQnOF/r9GSgYiwQKBrGol6q/yhDRMJT1zDcP4682aC0/vMqXSE7pBdv9mNrxnZM52ZPdxlYjcW1rZ5SS1o8ZyzAEsIQCahaIapviqkeCWAPoSConDYOdxDlgJCQoQm2JBA2ievm688+iw+cgLGloGTeKBHWgs8Xy2mJref6duVEEoT1p2MZ1Lk2YlUuDqf6maLZa77wgFzBwoaVynWLsFOK7cqXNIRetuCfxF5BdHBMNIJC6mWJ2LSnbRxVBd5S5kAttpwTCheiAIOk8oCnwuEba/Vl8mILxfYpcaNVIoy1anvi8zhz/nc0xHqX0OUEvEAMeQhLE65/drIlBOI/SswCpyVxhxiCCMMcZ8lSLw7ywx3tcpkGxpPhgziEEYYYxxarkc1ne9lif5ylfpe2llWRwzGDGI4SEeQmnNJHfh+8/fSWje55RWVR1VFXl5sWLFWGONNcYYY+V9H7K00Xa6/+0fMyQxEESN956yVYGzz+9JEtMV8BarUBs6RV5BQN0mwMsrprWPJf/7c//fi870V75mqdPOuUWPIihIAknfO40ElenGCxzK4PCaZRYFth0DYApWjRkkO0TRgnzMx2GfSIGiF9GixZmZ0qVZlVRaZU1+uwrb3xmf91Vf93t/zH7+XwEMJbAp9yylV1J5FbVX08FGIjYUHOi5MPNQxJvDMS5+PAL4BQkIExajwhlNUrVK04FkqktR0aIpqEBhhUoqUVGFqqrVVq+xRs21aK1DV11udlNvvYYaMdaEmWbNt2Clt9Zb963vfreRt9ulWkABREMj0I5GgkIUqEedZrTpRz8XphoitelS+qU6kikICFh3XfSQ97qPqy/AvL86ORbgPp+OPgOMfuxNjQd2kIDpIxhgTrx+hHkgGEsGP/ihrrJAf7HGTRbEqCkCt7uaxDeiCMQXPjs5HjhrjngiChLx9mQnnCAeCVWpekbvc52AAi96A4IRSPtjjSIKk6RAAwysqDy7xd6bPFqBr/9a/w+ABOqP+wD7sr/+9bK/f6b3358g879u6bc01d6Nb2KnNSsGKUjZkB/mw2F4jsAxP1gzJAcfR/dsci45t5j7z1krhFU+LslVtVW71eTVwtXh1anV92s8qOQ1ylrR+sn1zPXGdcb6/fXZ9cX1X1e4uIkbLRtLm0ge783UzZrN0S3pLd+tgm0gPWKBWxgtrBbOC99F4CJqkbmoWjAWM4v3uwD5nlyRV8snZarcKHfK/fJdeUrgmcD2KiO4KbiXElbSSkXpKbOKtxKkxCiJCknJUYqUKqVZ6Va11LVqslqmojioAjrruT7qt/5RVyVqmJ7WVM1UmpZqnbYqXYf1gc7qvLJ0XTft7Nb+thCjWLM9sPc9V0/s/+tjekpfk7nywoEwNI9c4wgZQVog/+ZOyb2RF837kD8FyoS2QH+GDcLWFIgKNAV/FPwL34fgIh4gXiCLkC9Qdah76CnoWehB9Br0NvRuDBnDxPAxI9gq7AjOhLPjvLgg7g98G34VfgN+G/5zgpcQJOKJhcQ9JDtpFVlDXkXeQN5G/pz8I/kU+QL5Z/Io+R75CfkFBU05Rg1Tz9F0tAP0bfQbjHxGIUPGiDBmMC1MJ9PPDDM/Z+5hHmAeYt5mPmD+zvyD+Zb5P2scC80isjpYc1nrWLtZ37Knc2Tccdz53CXcVdyfeQFePR/APyLQCe4VThHChIdEa8T54huSRmmudJ/MIvtDvkZBV7xSLvMyJkGZwjJFWEWJiTMzFcuKq5HH6vgKlMKIQkohrTCqQCswiiKS4SZQmU65siJNWXV8qjBaPq+FVIXiikWVUpVjU1JVk0PAitxp0DAwQpsOzKDNRGdxZgOpIUmv6aDeFF0XharYXMirGJ9EeWSETYsPhyPo9Lk1GJvQrAz2US0gXpleUTK/dKDMp3JRhbSSN145iC6PAoFI+tcmK6aopsqGwpnBrCC4l+3uFbv61OcVD6SnN2E25ZX5t04nm1Urd18ZHZVOKp10Opl0xtPZns7LvrpXfDU+NhguH6wQTMInx6cGQxYrMqfZDnse8X46T9cwnAnMos5mxo9KJYW0jPGwfTgtd8kN9i3fJXZkvxZ2berL00tLJkrnNWE1hcv8Y7mP01eXPn+sz8dXHYwvH61wk6iiSZqcOcXWV7OGyCuaT4uNsKcRr6abzvB2YuPp+QyT1lGNk9Lm6TaTaZxx26ujr9PXMf7fo9+I+mDxcHq4BLOJfVNWmctOV2uWIjeqiCob5341HWVbCe8r2eMTxucVruSzV/BaxUhOrQeRyCQPrg1JVLejQXyh6zRvkiZuXM2biNqMqWWjMq9Hr0F5ZDBjeWyC/cSMScDkrCnwVL+jv5bNlMxCZwuzvGUkMHhb/7q+OG4j9Qz8/0IyGxvhQjCbHFEiCKVFsFoJU8Y5FJUYF+fJTQZmQHVDjVx+jmYkiLQSwhxRZB7XTtlF9BBxMNpsDGtZoiZ6qGRW6UwQhDElqR1yZSmHwWXyxCaVZjB1IR8WguZR7fjsEaLQHhsP8NqjDhWvk4bN0bosReXJCEvCGciZg0kCiWRDzqFUxcf9B42klP6XdKdUU0dLxStuSs/fmoybYZtzq+6P7BVqUPmd64FI01bAEXb+Ir80T3M01MZ1neuh+nQXOzSutkVDvNWs0a7GuFrWbIAaqhZYK/JC2+eX5feyn94rfroRjUeeV2x/8QD7qCIEidr40vd8T1OX/9ZYmePpYMkABxjNShTPXPQu+9LFGsbh9uPPB1jJEvovExei5kPdqnpVxbzRmWMya5KgSKGjCpIuyFgOGCcpIAknpRup1rXWkZPZZkqdK7Ve6t5S/bqGhXYSLjTyYmd10ZCOTpVJgar51hqu4LovPP+EBI/cn021nlSjpFsPXQMp9l7OpgDD8nCgHAo6kCTktVN4TbZavnxMRSBljFNkRaiao1bgTNq5ULf35TekfG8dgDVtBDQtn4SmIp753SMfFWpTdbi6Yj3a/rzRhda9KHEFF1uulFfp2WTBAbtMHirERcbjnczqyWRJzVce2hKS1NuLsX7s1PmN+3ViGK058sa/sFHbVHO9UpU5DqXJtvXnP8KLCtZNW6/XZmgrP7BTbLTDmLiaOhYIRf1YvIRQZhgwnEmhKFyhUCg45yfeTZiv+PydciPzxnE19X4sX0IoMwyoPT9cSUsXCCGEUKJGAQAAAAAAAAAAErhPVV2vy4/TPOocm1AURVF0hmJbfsRxHMfxwzmPmkC7RzLaYzAYDAbjkYzVZdcQWZO+Vozb3OusT7fLWM/4pMwNFNlsuqPN2GJoq22229HfdaHd9jrsyMfbLOAcWj9l7tWZa9Bnb5i1ZNdWWkdsXeZ63OuLbUAT4L9a7XI7T3Ya7cxhiwctnWt0kfOHZnxgDTS12rYxH0Z5vBio9PTGeDZO2gTHJkmbEtx0MSVmGJ3FbRnScodjQTM4YowassPO4V3D362Hw+y6EbveDFb1rckbx22CtMkSU/y/lmm2zWC3jE0VzUniZKeRaRROKsUc3QG6eZoFbgdpDnE7xe6MqHPGXclwNcOSMRfpLtFdpqdz5uMsQCtIK0QrTCtCy6AVpRWjFaeVoGXSStJK0UrTytDK0spxlqdUoFSkVKJUprSTsgbnmnxr0dfhXE93fc4NpBDOSbqSw9UcnO7/RKC7kpqTJH0GpOe/WHqjIppN8SEGl3ueGJnDN33MJzuc2p1G3UXu7pTu2eoG1BtGm4S0wK4zf6F8Mt4hHs2cQD/8rAlaZtRpqFxSwa+Eu5fbfQJQoJDL5ECBYLGYg5EkSZIcErtpyhz158M771udGCu9smTH0m2aRuk4mVNWr12BGlFheTLJJ2TINgGZqTukYcPfFALOgGZGswiH/fn7BI5r/1j8/AFT5AX0xiLT41/Y31l8Ep76KbdFRimPf0g/uvMWdgCOJXC4nBpESAgkh0FEpYTa8UJ51JGp3J3MFfDA8XAFoAZJww/4gdK6TNRlpAp1JdiCNzMwSKig9Pu7A1aWcay5IE+gFisYcNaRjIlTiE0GdvaHslYMBdjIHAmnhzOqL+BfHnF22DYToKmiLLdZI/IUc0VlQxZ8rANOKacEs0gwxRYCaLawDGErxe2IKcc5OSpsbrZq69Y6Vj4n6iFQY36BmNhyJdXkelVOoKYQ2jQQEDCJtaL94pokUVTn04+XmZejlVgLVC4AVZSAFlPC7cCVUY6SK+QpSy/gwNfjSOG4c6wmE0k/DFfEPZCBhXE/jQoQGaHMQgvCBQqZNVr9fHKFahNaqlhCWifL2JSqUyHPKdNjwwU2YW1CM1EnP3+GlrfMfMMKLyv9uIXfYmXGA0tEqMtKYnJI2Y8RiZYvH9MRAceNCsDzYbzLQbPlPa8QY8F04ry+pDfZ7RSdqTxXlLtijWrp4nolDaqnqTUq+Yn5RAxhArQXVZgfW7n/AECxQhyck9eNEdQknJytck7IOsGPo4jEN0WtbovNZrMxtkTIZnfFsE+UcuVMVvfKaVOiDB7usqAMNyWxHafwzEgKu1vRoqI9EE5wHMcXNSDIcUUuWIqqxOXV/CLVisXeO4n3G+p6Wqsz7L1oi1sHyI6PFB/WcAf93bGTzxNeOS1zLOcXFIdZceWVNVBdXa5QYG5ZLUJBRiTBtY0IVNK3IeAMqqdqB/bAsHkeRV3K7KPM17leREqQCUp0KNJUGs7lk0q03vPHpxOctoGBaElXiVatr0ZEEylfZ8WMaDXDXjMdNFqOfCkBY7ugiiKHs2kLF1UXiOisJ7E69UjuisA0+TA8UmMdmpGNC7nfrFO7/wh6fPSEunc8OnNhelsM6cFjbgk7aQncV5+8fYpki8oV9LaPxyMgjSAmZf6JiQDKYNiegO0lXpUCO4jOw0z4SkjAtczlWbOc+J6dCsPzjJGHbbtj+V1gnRwWcsxxSRkmS4UYmanm5XKE4Np7rOEVnQsqUG7aAu4E3PGVj1TzolWYRf8Q3Ognz7aszG1BBpywpjhAjmkCiAz/Ec5Km0HCHXHftGrjc6OKLZdQbWStA6eOOtaJKAUpDt8bLS1Xfu6N/9XyxdF7E6hmq1VrzARuKi6r1iyqiCpTLMBXLQ/5OpkEnIQ2lUINBHpYqCKyPfdH5YNmux8mZjpiM+6UoStWZpbZd80zN7jZbj5B7kby7EnrjgtajldgtCABbdqp9eBi1f94RuIhHEsnzx20g3NCsJvmRVRSCbJklY4lL/KCWvIWmSqOFZzTw2s/J/gxmE6wvfW2F1e7ip+c+1hR9U0LyLAAji2Hg5YEkBSQAQoAxatO7RRE3SpLXon+Y6G+Xu4gvd9v7tjoMbqSbR+iCDsJFWwOm5m8TCulvbW85OEdpbDmOoGrkztF2WKy2Vbyxu5XNcq0Oh16gut/WZliQQOEZhXiqAwwcnVDd6BWy8MxCzGvq40d1QbWSsrnDubjteBafEP3m0aWDPTcG+mQ9Mh6qVduUdpgneIV3p2AGkpV7SehXg4WSrAdjhzyyzlcBx7CZYnI4kOJeIaM078v2siBbHbZLI+FNdCxoHBtc9FUg0JOAHZgz0yVnd9HVb9XLd/J/PYVQjezbnWd3dSt97fdRXNNBUu4fOWXbAI7yWurBK32DBPRUoHU2UTN7zGHaCvydi6tle4u/3G6/QwTWb1zVj1dm6UYAuaQDiDNn2fhqIPpUHtu70pXt4v0l5RdbC/Z/GV8dkPkaLdpcuclTUZCEBEJkQj2etYtzgHy61NY9w9AwpysA7Lmj1kgO3jMIbJTBOdUXUlxNcUixZJ1Lsq6JOuy7CsC8wTdNrErOd4aXDeydcjxtgq9bWSH8tKkCbieJiuKhGJUDNWIC8XIEaZKybvK8FD9e0IcfXZmMmTuiANx2fk7WTjk4OPQZZcuc/GIS4TLT6Ht6kw23rDzHseF5FaxY9vWciM7l5K00T4tHtMfs9kE9mAeH6wiaWbEKorDUYar+DV1LLcz8kA0XUUj5ONe9CTXkfoT3XEPHkXjSf9q+kA4XqKVr+xNIaY6Cqh7woRTATO8jdfDLfO6GV5u1TxeUZMyoZHNZ2uqBKEWIqRqZ9vRs+nm6OWI7UfBo+lZyW4EzMe3Vpi7fEvKoljLnTapn2Pas+3ZZAZNQLs3LUVmW4E4GVfRSGiGGBUJgnD101bmN8Pc0QvxtdggztMcmwpU4jEesggHOphHETpelOijipl8dhVfH6BxoG+DHEaCGmrcPXymgax+oNPKcnHz0JxNPkm6kCBKOkoWyJCJlqDYxouGbKttLyXyuB9wDG8AGQ+6M3DAZ8smrq0UjRQAAyyjIWrMr2/WlZ11Fv1WIOzNM2/ll2NAkatUDNYdj6XppOWYteOx/ifufKrvK1s/ZXce8G1b4+kFRfO2b0iV5+PbOiDXVGophB7KDIX8Pn1uEN+iYbTVoYClYkz888piA8bypM73m5btS4TXyQbC98EBS01dgaGWgdBcZO+oWttYx6U/HXTt9Ozx+jrOVym/7Rn7OshRxspYjCneOop8eLXMMbqvmM5DLrTFChOkzC/LebRuS9bzQaFIlKCHa655ObGlQbRFw3CrwVHy0eQxzAbWuBNEFaQhhQe7luSvy8Bn5jOWFuvYgPhJzbYvQNhuMI8iZhZ15WdMazZ/b6qf2c5Mfvf4ssgAJC+eju/roTcwbyLeC7cqbOuPYEtJG+3T6JitmZu4sX42vomODYnOxfu/bCaf1tgd4fRAI17g7Rmzp35cIn9EGoJo0/1Bp+gfX9/CjkbTt7CQWPR2K045nsV8O9xREoMI/S1sbpLndUUQAc/Gh6rFhtRNLtsN9jrPzLzwv8UsVh7T0Dw/WxNb8YX3dcd3h1ud+8jIBVqqr4x8GNC0QmErZSeXblf1y5yXA/gXGvISgYZ1WAslpRZZjdWhONApgifUEgqRUAjw1wLx1sLs+d0qEzmLBvLFZHZfz4cymw05pxQSgxDIgVYOs4B2eDRaZB0wq05emzlWCfLr2IoLaxhpLqa2fid0scA4OcrGtM2YGIF4E3skZ1phcbqkbnXtM/IF9vkptAEfdouh0Mj7hvZl6U9YiDWtP2rsKZTAFlXRCniJTAxSkhXgSj1VaA10OKDq+wzFQR1FmM8C5BDUl4D5caBvAObv3FOAXANy/cDCJsLoR89brJ8A8tCjBnUKBweJg0MoeeS8NitYkT2EI3s/7IwIk5+/8LNYyWKNo/8Y73sc35cU38tS77X87w2s9+WE/i73+33y+yOhfyKMBO8oQ/cZ4Mc+Mg+eKawFFBeSWriJMPpRnsU2TyjO5F9Sqp/jmdUvKK64UV18DbE1mWuxDDnm09fXU11ffAMGm1P7P3zRTbIYmoam90qDj6IItvmwekv4Pm1nh01XNT3hYmO5sGH42KD9fIkNLrEjss8veOo1x5agDWWqcp4QphEnN1HE3NTF/Nmom635VeYCAXRr7IFsbOTYI404YLGCHMGl95PkZG4x1P8iSPAdJRt3xsbGFO+NXbGN8hiP6zzzItay7nGshureInk1Xg51IRIHBUvVIPp8OIGIMAC21QwMGaizOlkpX9JpVCPQDKKF1BHN1Kwsa6w33sZzKmTooGxZXGz02oEbuq9tRj/Q12qKkN0WopxMtd37TaM/7SUb/Vfpiv3WAJVSt8TX5C4TSlMbZa56A6j7umrOqQgrg51sN1R9j270ybKcUMjRwcGMp9H3XIFXvlrWQTAn6H5hMETmvdo7f0jb7PWZljMtLQPtb0e7nex5xdTWlu55tump8DgnpGo7zlbXIplzOByOOYcp5Cyf2mUav4klCyTr2DBkJXMRUaL7ewaJdmeFWchsSVFOwMP2p5Vrqm+KyrahCSxEIIQJOSDCgGKhSGRja4+ylcW0A0PPUD2s9jPMarc319p0TsbBtYDhh2RRbl5gW0tKZJBNDBGDMQwBOA5xAof4NFbqFRvUytyUB/CRlCm5+465A8pp6LDx2JHpjkomUgg/tKrLaZFIK213k1RBrf+3zx8Hglzn+VFYRYbzZSwyn87ncPgUh0PwjwbF+IEOtkXDcquVDYlRaKgEj9RHLOL+BSfGaAShkaluYCDmThIzbToX6vamhqy9L0soF8W17R2q0uYXc8WkgaEnVaqflWYiMRltmxi3dFafxr5c1TD5Xar2aryraozzJDAerDJWKgbZzoX6/F6BXiZK/kDzQb/GO6yaXo2y2iDa/o2Lzy6mjuaOgZdFB1yNd9EWIm6JRKgPEE7BRdjuelg2OF6VyUWgFMNJJaohzoN3BMoBbk13SWLZjmdady7U7W3UVArFe5MhLixCbjDLIAbYvILnXVvNovYrsVDujjuDIyFZVAzTw6Z1Rkei2aBup1WJt9bhyS6mjMmjwzGhidEUd54X9dypeFZdiI7Zd7KUavIiHo9Fjc1wP+ZUzQTR0dHZ3qHXmUEuPqOjiYxE+yP7AUZ1IbF6IKfSUmvodng+Vd24EvCCsLqIGBefHmI2e9hKTizJpuHZLoCauZnZ9j5mFR5qoa9pGTmj1ldljbKLY9w57NYy6rTo5YH7rILHFZdrIpFIRORdNWRRq8Ii3D8aDar1dmQQis+nhuhEx6gvIbDFob6VbPkrdDTTamglKIWCUpT7kVIi7ILR8s4yiatEIqni8j7NAYkmCc4VaDFOkCNPgrYSkSuYbneCwFmt6STswoZh1SGKMdnXo3WIUcedVlLQDvMa6zNxrZhbw4sINjY2NiY4VtepHkGecCKUuVkJT/J2qE9Y9ndPzCnrsxCuZuuaYVp5bpU4GNVSg9imcULROqO8FL5rmdm1azftWjfdAcKkrmGY3d0QIgwsQzJM39I1T9s/hqM4io/qht2jF7GSSVZm7anmtsWsUJTVYlZwY9bmS6UsjsGCVvhSWSpLt1U2ZkeZuzuh3A9u59sF+oAePc4rrT2GMxBbMV4b1alp0BubaOvEO5TsthSiZyjKGhENye6kI95hhnPflQqdpkp6LQXN3Jgcz8jMRVfXyezyftqwrpEQHDZ4boKMVBnfG/2691XWnshMPqiLcF/YKnYRnuRMP5XNxMUqYC5TxBRkBVnK8vj3DYZEL+wCIuOmgxHIKFtKa+HJltkV4NlktaWgBVBQpQoEC5BRzGX/JA88m2zg2ym1QKvwWwjLedpm0hQ3cdkV7Ls2plsxSaoBNtm1nopG4Qn/eBuWC3RMeY6U6+lREGLFKRAT5Q71UCpjGw3tVvLZ6mEuux8clE7gx8exYqmAYM8aFjUS3Fnsuln2VIMdF4QKtv+0rLpC4Lo6sJxRbyZruGBlWXePxqpY9ioEMVZ0pWRMca46Rp5V5+x18atrthER56aNJDByTJ753cjgrGYFIBRPqcmYd/sP5GFWBxzKRJkbcxIWFE1VEDICyBgowCjCI7EiKxVehYfWnky06JL9u2U31IuP1nMPIDctJaN6ruhr+AidMfScBrBrehbOwq1QK8Od+XBXiSTrzF0MeRGuvcY4uTifmH1Whaf4ANAuHJhR9awUs+AKKrYzoOdaRRXhmQiwsFRJ72YwE285W7Ic8OMKHhPjbNGz7p8m+GCGnkHmNBXKmSMyrd6RoG8JQeP3Wgf6CO37DGz8+y9fF12CHCWew+x1IUaU6FB/pp/12p2VL96vfsfChZGTKgZRVsWDFTTuK5YhD48MVMKVMucV4GCA7lfavBWB/E/vSATyzOuy8d8T/AT/8AdMMUyNKuWwE8ro9kaZ9ve2tTy3qm2so58LIfy6Dnj/7+lMKM8DDAUGOb5CPRXxCQM+6V3krn4kNA4b5n0vSycJP6vq35qp//++KjhjumcmnH1r7VnkTr5wW61ueNkaqQxxkygb3BKbggwNjdorAJS5txCrSfb4EJRieEmcpAgz6XSlQ327lmlWPhsAXxRg/H7Os3AXdOHQOGya4uIuFVImQVSIBz7wZU7jqvVjc7HVD+BjrLASWuECudy+/zvTyCaFLgG/VB/KVDSsBad52YjDIqtVn6UjQ0WZklW5YP1q9jIKGQTLv3O7bnEdbLCVZfC57CG8OepkdiCONhDB7ILYv3p7pv69blaXby5M6H5d8QS0Zpo5l72bL1EmcJnKJIaiwDMn1GpAgnUMGZiBxX282Ud834iDUAuxysImm008r14qcSpVmfaEBCiI5iz2Ii0SEQFWS/U+AeAc1GoebuZxFfO2x8sSSoV/r37jCtxl6h3dUi3d6nNJ0AG0/FglfweJQbMHhuFMqEBmQTFLM6yu7auGOldHgWULqUhTqqWY5IVFwyl0XD45CnTqY4jHACih2pXBHydHSFY7/dJfbaJkxhbhOSwAo44JHwEgYPPNsXQgCko5BokKh9iOlIT0Rf1ioSWsvp5pFDqwBYlc7lBAd5RGIR+61XPLxeI1pppiYOW8loXEol0COHZjsOHiqRGjhPqJE9+7ip6NdvHKdpIKk9/yCn53SRpjuTBiXby4nS7H5/eDomzTR/WMLFpOw/KgiC/Mo1TB6611k+n7Am0McBLAHtyBQrVVumBKFGfl1BP3bj3R4NmqUp0wyqJeQvPJYdHLwW9MWrhWPC+sYQrl7ogYZYv5YDZLYjoPqkXNUljqF0TcqwFoKArxQobGpJAbZNhgIoHpPCVIFMj4hV98h8lynei+SoHOD8VSuP2k8y4J9yvSNys+p4O8GCTMkdh1tP6PzBb2O1sUkWKK9zofVgT7g7ZcvZJOCLdpaPu7K01NeTqVVIdsx0oaG8GeZqCTz1MB5VJToxusRhaYkGv3wzScWqkzV2QaQyC8pAEjXqO9nUrOV1AmFQu4UcuzTXYzQikZEd1NrHkhjuQP7Sn1gVlNSFMC97CxgCMluKOLab3NwdK1Yog6JSBlgt1Y5Q9Q3p+laWalsIa5x0dqhRZEVKd8F5gS81ciyJeaA+JCHx1JfhZu9BL2QJsO5AU8VlmBc/iPfl/JcIgBywQhyvhJuPIt32vYg43pcosQMnlXJODhOVd3blxa53W5OgAKGwwmOV/MwjyfKYS7RiteyGVZWopcgMgkqwPAx9WgCehcrbk1bamEudsEyuPdQZC0LXA0nHNCcCfr/EWvS6LzjXddoC618LYxdV6wlkT5GMTvLgk5c4hzpS2jfNb66S1uLaNH8ybYnohndLVT4SK1FCh0WpDTvZg5TO4uNLiJTrTrkX6qR8G1DQQCWi3AKymX+GtpmqcrjZJws2W635uCSVD7Ia7P9VEXuJxCPmkNh59QjZAvUEMrmJWCyOqOmM+Gw19t5hm5yUn7nf9OF3hjfA2jJS7wEyT1fJ1dj+hnDJ66f2I7Y3dTHNRjTy9lwZ//WQUX2pWkz5ciDgcmHt0Av5YProx19A8u7hmvVeqo5W6XCcatesKbPQ+g23fb9az17WPPtXRv0vNtND1oShSNalCT7eaNhEHtnShSiV20vHRwvjicK5hUAMFdxBJJl61OumBc7LbsY7Hr/n05HcZk5VLoU+65a/IGmfrb67POGpL6Q7BamcK6fGkSf8jyDoFHucWS46SXPWJzsA6/dgwF5mSkcARXEGrSwgwaW9+lUWYlpNBkHpcg7rpAc6/ms4I+HOZvXmCb2tFepWp/mYpSgbrqFRHuvdobsg5CrhBJU6dCViLsP6QWLUvJpgLtzuSOxo463ve1bYVUQAXSQZdu5DoQ9zieLAOJJNiLOJSpCXjY6z0YLxiOC9Q431oyC7Qebz+ZvWjIcFKBUsRyzEmzba+zOdela9ctyuQcSlifT44BnBgjHLt2QHd6IR7pVjJ7gGJYeSi8mtiNxuQqAcORhIKeeoj48JUEoosJZo4LPLkj+Jlo9RDpYXsilLMjaq45mKbteWkGpS30uYxnspwXLDOvVKqkSlceVyOoIo/8K8amP2fYQbgHsYHgfGLjYhFeNEY0y6J5e9TWiVCHuU8hTni5y6db4qDM7GFy/jlb8iSYPMJo830u9GYOR9/p2kqQoXL3DDQdyB8umAn5lVvakxozHqybpd0bVBBXcwPOtDg5efb3rGSSimOOwSMaQbvuMXxgl3faBCVsNxIl//YL2bgyyjIbfIADg+YEvT7XH+QXD6Q8aAGZ9F3ckkCMZAZAC5RhDRfv11PgiQxLvngdz01fR+yHJ3smKHSXWsGulQsQFKygJLTqXFhrApcb7f6J21iFBAA9cWeqZgk8NKsl9AWlZGhz3k6uVKqZPDMjX2q5dGlh5ZVixB6dRVyPdA1N68wtmPZ88vAkiTFxtWyVyrXeqZMnqrT57doiuxI1Z0oCrreu+ge/C19tOZ1lYNTXULdtXJByxFnXuEkCu8fjv5YKm/1+g3YRctxJ2NzO9fnbe+Xe3z5T+96vuWR5xi4K4VcUpAh8kCuTT0dtEx3EuRV+zSebLwM9Iq0HSoJM5c1wMAg9mznb+e8M0yDFE7g3yQTFLnJFWPzEpU6ag0SzKhKcfBP9HWYweHciMrJyF9FKf4odH5HmU9pJQi4Vidc40jTQBUGsxN6jW/fRsXgazOwZdZ/0IkxBpxA06HRT7pm4ERB7ojwroM20vD4M1bD2zoLHWx4C99scZOaBfBEzTDyGYOIlDWoT3m4WIgk+BAYOHOrY0XXL8j52Nwx1myxZl1ReDqrmOTFbOqZcX4FLP6euLZkXPtkqhndRsFgYYzXhO8Y76PCRoDjVDv/UlSXZaw2mIHzJDeWMcA3GeILkDI0bgNx2fFwfhnMe+nkszyJctEnQrM+LGlCDMOoTuRKRZWnoA3V6viG5WtLtTdFWz/+rEmG9a0YfMUw4VuBKGaeFmqM1S0b5/EJ2a8bC3kzwAvzOiHaAh3pMgyUr9bAQkl3jT2YeXCQipMA15dPZtqH6D3BWMFrkt5cyF4R9QuUfZerZlVcbK8r0IbY2DRJ82jACbS7VaVbe76nOTFCveRg5h/fa5FDTiEK+QhnxaGFXLOsPPvPFY/AYUtEWwxgglJ9LIv5ndaVZWbTzhRAA5zRY62pDu2Jhr31r/Dqj2smcVG2dmuZ1HBi6s9WL01tkt0VSZ6LeWORlmoVKb0zyE2CPf/fif4LD7YDvo9s6gMcSxw8ViMtgNao62YSNwc6E4atx69MrRrET9O9ToVQmXoMpmuMUekcjqo2xiUcv1RYJeyvz0Qe6fgi7RF/KQ96qNvyY7Tmu7FVhtpVv34vd6Gq91ZYLKUd9pOSX4XIUnSTw7hbfTggOh+U8zpp6vGDzxg048rrr1MaEaSlOH00JbuVhxQz2q1pffOs/UHQPm721lL6uceXrDVfEINmTPbLZeScb5HE3SV7cpizK/HNTJm4rLlQzD586ufbWuakDzj2DpDawetYEV4tCYkCjY5vvp2cFHgDcnBgewBQPRiCvdjpaZZVZ8uciyIimETWeouXz74IgnEemueUy8AqrKRJx32BVw+Ka2GR1bckqULEoIudx0zufOYSIpgtiMHnf4wPjxHPYIwHy4rfwAj2aKpyVVzQaTeAC7BULUJAJpvmaQAqzvgoK6BlCnKVYBfmm+c3iJXlZ2Aid71jNGtC0s9WPRjh8mIaVmqsCyEkNyL1ZADXJXQRHfpthOIA7ycKGBNwIjauDtJqDJEp1IO8PZ+eSO685tCSlx6wIUJxeKa/qrlTUqaOkEqx/m8pd5wUATLdgSEkhaeuTiSJV391GhUFyYrV5g1TvSSXUkh+SctmAGv9MYRJ43G9gqk65+JFP06iDmedZjUyZoNUlV7AT0Ut9Q0W95uKqz0/l480K4IpbUXGUFmySH0RmhP4i4VXkSkPecXIN73sIEPLo7qVHSTOqo1QNxt5Ho6fOs3sKYr2vE/82WSk7rXoHPMvNKfVPQAplkf/k52KuMBA5vc+LXAb/loJPbJNe9qhzj0bxM8Z+5axnLw34Bf50P8Qs/f15cr1Hyn4J3rTTNPks5Kpuwo3TvvXkfudf9he/yjMo7EIKFoDU4hFeTPGFQzxCOmQoKQ3h7QkTFITXHTHdEBP0FD40De1Bp7ZMJ3YXoJ3ec8f3q14lPWR1sNOcdn/J7eRjGlhx72VGGhOaTNUyI0nJmyEJw+WNPpqlzqHNp0uutdGGawIW2N0T9PrwN7gLXm8rN1Wrad8CmIINUn1VRrgWYUB5lE9whaJmi6WQwXTWpTysZQ/YrJvfnqdn6s4Uxwa81sjXkBpsEZ4WgdY8Fn6PK7p+171HZxZEs73SoiKOvian0axIJ1mlxYZzBD0SMIHqk2ymZVp0FN+MaSqylmu4wgcnqmPx3cijfmZVBeMRtRJdHgrqAOsWUW+CaBqCS093VeXCee/giPZToSJbZGFaNVke2+OjwETdlBIvhgelCUyAYJuFaFCEW+oN0Ux9MzD4vzu/QlJfHsgtLbIyJld7GNwLqSdKph+yO0q08gcI4ZJa52+3Ky5/O48G2ca25nq3YGsm3lBo9SSbeKkDTIBhdvZ6CvWeGqFdHRhlVfZ8/FjSi54CPdZavVsvgyd5nK1H7HusSFAwbas2Z5B5UAoVUelKWd2OLzjwYDgEKhQh8BBuxYtFtiZ2MlmV+2dhM1OK+FdQteNjdNrJWRoEFSyOkCr1/24T5SIJ658U7eIfkdN+TaWXq26XpKk1uumAw2aloSjOfTq4xKh+pSMbAgL0e+xGH+E997bcXLMePOAZPCq99+YTbyzW8D3dFx0ksK/GDaTiDUz8HJFNQDYFMk+torZJ7J1qjwHhAtLa1s1q2TgVBBVQb7kJV4j4xtWzbjJeaINGRh7XV6bdrk8ZEfLr/NznDl5zZ9jkqsRqV++MdZVIWiZb7p1cE0nBPUmXcDlalQcIcHf6inugnO9Ks1HzYoQc89XStInIU1EnauOWT6v5xlhDzClA7OoH14SQ8mvfk5TFNR/jS6NpWTd/6fXDRcYkdZ8a4wZlw7CTcx8cqS6qVs28KikcBS3oDLr3hDzE23gUJiXy+nNcudq5KQWRKxQ3MsJZFnJInWG8UpQGsEoCw8vxPboBkPnktwU3M1lJd0NdTHe4raox2nnLTHG8NyZy+tpwwLZCunCCkpCMU92VXjnoDVSuqfAx66NBovB5vd9bxp+zHLEFVRMMMPhjcrXGIGD96bLAKh9AIbHRi+8Ts8qtz8dQOYydpzIWs07rt1zUFw+/DkLpeorS8L77JlwV1EzQBUlommbgGfApIE8zvFYiDK73Itkvz0wiD7HSPxeHaKWb0essvm5ZEgmWmSBAyiY3gHN1owz+5HUpTU44WUc+N4G5fuA9sYuLWcwmEmUbA5yqs20Al5DgimYEHdyDLHYaA6Rir9y3Np21A6Tnu2lxba8V3jbpNHlf11H6soqgs6SnbK3oednmsp383Ssoneta/YlxQkxFZEqOU2aDlPfSQ6/n5oRCTFLPEgAOmPiTapCJzKFa1atutd4QigfMY2HEAOV6E0I2qPi68gwXA4OG86GyMK6vxagNUzM4eDValJ0VwOqZjhxmUhz4IbFBoN5BYrBHCQ7pa6pCU2rj0A5X8xnk0IlSmg3m9BnOm2kryz+sxR420ib8M4aZBwf9xIsUq/N8wfhRTbmJW3gudzXXrjLc9oZuPS1LupeSSCtQdV30auSOyfilUaXeNJWWw+6FVpWSUSL1HJo7alEUAbDT7WGgY85g6lxVt7TcZHcvRaRlpvZbvvcHXsKpMbep5QEzkM5ayx+DKy5KdD9j11GeResjU87m0ycOS62aVr4eugjart69wRWWl4okVpy0EFnfL9esWmfjyR9+vcZppzU62lQ76FVyqLVGgnBCiho97KQwPx+31Rak2rDHObWye7JeKZqqDbvvliihLbU2ewa/6yWDqhbiyjNth88Cspe2V2siu41kh2e3fzB2oPRbWR5VxqJnozhwDtUsQrikyq8tWkeex3jmuhymGCKWHDvoTw9TyisrJTw4Bns10xx0GSBfdM2qCUnH5ylZKo9/nHLazr/Xn/6Ebu5PqqSKSO/o0KeEzwS2QSSPYBOl+oy0hZv+s5e4BGFm8w5OIRFC+HPPxRw5Kkz1kUCcC7sUM6MCnS2HACLKJTlXAJs1DZq36C0SGNOncZInSnZly+6daGNxjPnLmoR1x02Ox7ddg8ecoWpOJytvcmFlzR8cI0SePV1O8Pm0uLQwzu8h8bLUSFmmwTVTFrF+rFxRrrWZDWXtLKhebVNWcfoSpcYPkE0Mm5EQ1Bp/jibcSqelvDXQnnhvPRL4uLnqLKrBCdEfoZtDrqQmAVLcKLaOgsvDBExpWNjGokaUB3sPjahkrAFDktt8zMfkvEsXvM0UHmQuDQuuA0ik8chNj06l0Tte0Uoy1UU6ztt4EoyVnt671WvT7T02tC0vKKrrnMDt3lFKSlowq6s3iQ52GPcgFiNlYx4NVcZCUUJa0C8U6qtR1/MTsPT+Iit7Uy0fpoezaf6w+kT2Vi97+8gaVl3JVJ69jcaQY7gyNq93z5qw4DDgahwCrsI7Lz5WfQxCklLvUTZ0AH75knqTXF+haz0h6b6pniK6CaVUdXm6wGMUuPKk0tA6YKjqHXPhxL1xZKtWJCOZvV1ZWJMUdmZCrLcIH4blGhQGJo75HFAZ20WFWjgXi7UgzYyT3ZQ6+Msil4r01J3AckQXpFDfRAKRz8o67oHixCmekZa86FFSW4g3c9HBJrr8PtU0hciMCv3KSD+EzTFr5j0T4dzxNdOaDySvGvrUSCZzPm98eOz3IgPcAZa8iaxn9UNJmEAnFs+O9wnrpTA2hSV2P2if0lfZlIergKci0DdzzfBQSk97W/s+acmQIWUsM86GFxeqeBlT7DiCe5KWM+1EJOVKPKahWBJDV3YCDbW3xgjoiTXApCAprzPa3OPJfc96Vom0WnYK1x9qBbVYzxyCjb/+JXz2oL9BROR5xRUiX9y185bX+o6FZ+7vkNfAJ9b6Gw/NLKURbJTwQnDOBwFzKl0UHWlLxx8waY72h01jAVXTElKB2qAULInD/iwunvu6G0J/T34XTHjLcanbUCfW+UwFOVYv7hLJsW9DPx/3oesx3GUonoCL0yazfaoP//GRGt0oXfCYd2bjKo/wmbaq/KICkikwLUQttyEbaJo18chpVJQ1PzFCVzhM4OQvayrJFjHa/pg4kBX3/djAPRL6dc1dT4zadHpl1s1Tpat9ZbazZtbDQuPFL82pJSaajvIDTWRcZWML0PAG+BH0KAwh4pUiGcy47ONXSvDdoKShmYlQb5d3Dvvaw/jQovA2MU9MU8vEQ0I1SXyY7bwlNNe56zQp6okHqwi9tNHl5IMwRcAW5TgqRQVk3i0E4pcDIvGuHYo6L6JMg+6QknGMwic0sU49rSBGOnNvbuDptDqypeP+FVa1z/sp9JZszWNN9WB0QRiT/k4vEXMmgW0paYPXZmlihdVqxU95jAmeekti0kKXKELeVIYapnLqYsFAVpRYWGzVlJ1ehXqxL6Wf3nxdkuRKujF9JqUsLgQHpC3VCA1p/gRm6dLFDC9n7EGwIa08zPzBykMh7zREyyQcJy3IjqWbaWgU44AsezY5Xh5ysKPRB2geVjF8bwNsrl5w8IDDsr7S0gvdod6wOXJ8k45/GbW9C2FtnLrHn20qCzWYoUf7KIGNMRfjuhRBjw50d8aN+V800f/+7tXUe/jebY7T/WLT7oX76JVMy7V5IWxV7Aqqk4yHiuubzeCQC03k6uQTe0lx8XAWvzVL9bDZKo4qY1nqspe3Et9XIAKD/rR2neiHesNCltKerV3A60Yu1Ch1bBJfd2eIJgLVu0a3ioq5oWBibYbyJ6VWMlmxjhh2YH391gPo6dTH8fUZK1v2I5kqfFjOCvpY4Q4wy8oVNaORycnywgtVGe6swzEK+vl4PXYh842NBX1sf0wdCofiraIEDHwFmrz6JOyzGIY09Th+mDVvgOHRUU8V0z7tdaAnKpTQ0DWzRM+hfWQvPpvlDHO6tq6ur4e7Tm9a0RNvixOLBU/f6fTQkbLE2zW8Sz6ia1TY/bqaNCzGCqHf5V0oJDPxRYMqlITzg1bTxoL2au8FeuE8LDSWJ5EHswjcHgqD347SYGxK4wqUDiZRUJZrYpMPweQaZuJZSJKPWxYm8WYNk8BMorXNpI/0zoR1Yfo3DKQVFh2FpKhgvA0frXS/OpVz9TmfcFy5tg4Xwkx+dOMV3GZOCHkDLRtS6Spc5E+11M56rW4C9BrBB2ugB0PRqJBDmO/mkRxQWKP3lMnYhNbE6B96Z9PpV67LQ78qGvai3aNObn2r6ouyN3U/RzO7adXjspP/TfzE1Qwlnf0D+dQfeodko8AoMZz59dbRa5bq+LH7RXCshFvUO4BMKBVeuvM2653KysyNd/XsygUlFxshP0J4DuvTii/cp8QdSl9SLLjT/bwcsB4/lqkiVTE9CmnJlIMZ6FEveZ38uLst0hdYO440g428TzpX3jbW6RZn7yrRTsIlMGzN8VNwiDHEcncjzEhGsX289GATS7WeF5xUg3AdTdMUPHnncvNwRbaQWqiDqRmP2LIjB9PPvsGIA4hphpDS+WBHgq6MQuEDlLKMS3NKA21huWufEgfgffVStS7hKGtS13wfcbiw0quVtVPEHQ7G+ZtMGFqT7Wp6D93kSXBwjlbFa5eUHLqutW6yoFC4NNj2GJ+Y2WqsVUOx5C6MUwbHmMY0olecKNKqp7uvCVtkleBaK8L2QfzfgtU1tPC766awCjwTF7t7UZ1npbn2G0Q6eWrpvaoWSSSUQBjzkHRlvddPYTkDSuu8jGshBUOhi0+x4x9zQgC+10CT9lPUM4YQXa2L/WvbDY7rndhOF0NwUr6hTJBG/zDoyQvsIRzjQvIOORqEnXKvKKhmFkYFMGSsKEA4/Gnas12ggtpoiJumcwcysSs2Qbib0IZEv6WFsldkicZt6Dxfu3OmLqXdG3/jWCaG/j9o8R76FBsj/fE6CM9i3NutDpRCPsjY5/vaBUh5mYtNXqKv5yp8nfE2/biale5iY2Ha/BwfdmEpolq6hn5V46ey+mtUL8tuGgVymRVsPUeQbX/U3U3ENWROvqGNxZ7IiXDdHBkHmAI7qqFP+q4FDt61ebp09SFCN9tK9mO1d4ll5P0PVk2+bvjQndea5np2c/eLjf7Ss09OLoKk5CLh/sqoUYrbQ6OMbh0Mhb0FcRN0+KuvZuMdUx//TTKNJKpPhiayFOQHF5qJxI03ZTyDpz3IkHNv9QA5wl6IRcjEXxLXAo4AMeBEZvSPPno5+rARXTgG8953KPuMjQ+3kUv7PzjayY3URE3NkCpHJS9ebXcOVRCiQ/IXV7cMPzTno/Mc9M3b+2BNyW6qX/3kNiNwLVt1l9c+0Xe0fY8CaV0CPNKlzUsJLKk3tjKzmpMud63gQnoCZQqU1yVa/iaaugB4zrfmQuyk01/HdvsfjiLOFEvcQq4//FxmNbC0vdSXVJPNNkNegmxK1pLLy5t2nI52PdJk9QYa7sRUKU0lqJ7UNQYfxyXkaksuZkHGzWhhAdWtI+coIDC0SFDJ2WrstG9ONEcTn0+H0l21Rdcv9ssnm6Hom7Vttx8NBtP6A53vYr44CTIE9KE5dwZ6yRmSGTCcXF9ymonriEOSoIQHd9+3qVAlDlaTNNuQpsElmPEt2DGSehvHwv/eCJEbRLtnKSuNdchoaaciIRXdEHkE0sPWezOkS3oqJFozbbEy/9aq/8aJeZkWZaMf+pAL5j7pqd/FQo3LLN75YsETN30PwmLqwSH4GfOPWy/tCqx/WyfVNsH1MtRL/a80yOlAW0/4pxZHohAZCrHVONeyrHnPDAGgzOTq0gyWj5mWZc5pTkedqv7idbDDSF6Ux8wc7aQpOZHfNGK6KwFlvEkw3W+lAjKjDorCcU53KEp3y5LDXTuM7qVL0518x+oDRqIfo7p3zDSlbz903ajkblPTBWXWD1X6i76U2B87qeSnMoElK4wTqWWS6uWFsKWBLpZSF7iHy+WXmhcarXBWqaH7ey9XiQE/KcjSfekJUKXSsfvCzHWL5m7E8p4K5hsFDicqnL5Ey+pBaCgWn4FYkpLyXQSNHMG9w1dwGPaLKjLMyBEFqXQKxkrn10r/UYHvhXYurOj/TtevfwmKvC9ykSn5Di2NtsBTurwLdIzYaqVkVcsSkGJD1lZRhAyVsgTug+WtSzzZzxsxa+KbQRdzFJ8vpJ/l3Iyz1rb9f79uYR/Pg2bagRvZ5v+/4esu08V92hfAdSHgjsFE1+7Ki71/cOt7BLSgLUpBRDoEyB2m86jy6AUfi9jFOZ4hJigROZn4pP6dnxRKqClMaapSn5Z02q/H6RnMaMYzldm8yEJW8j7rCcqvbvfwBIlEIwWG2JAc8gM3tIbBMI3euMb41mG1MHaS81tzOMRz6XBN0Moj+OEQmoLe8uEdEuBXQVo6/ENpojojBJcpgOb67p0ydY3prSNqYUY7xsfp126mrjjsC2ckFscH4L0cJG+vlcOlJ+cGWhagjCJPATTjuhs0mSLGjFBiqjBTe51GQuwc1VraOLIHzXJXRtEoGwZUIc+NgrTZYpfOtGzXfmtaWIIYHWJhUvUPKzLw3XgZjQKwcTBouGKso2etHDVlMATQsg//Xx7g/26V5FMmPD4SYZc9PZSmxaE3vdwIDPFpyV/Gd2ZJAUqgVHPiyIspQyqCRvT0+X4HAlSKKhLocqFKzjEm5lgxoKGVzBDYb00Y89P3/WDhFL2UQaw650cTjku2orZOLyFSfwIF6j3uhVqFVVpVVV8t1Vn0GizqfW0VrknpqqrWpH5ttaxJ56rpazJohYdRzPAlxmeLjibOhNExjqbnYOwUpr4SF2gPbkpq30jTplPms0m0XUzTaHsmTa5L3vb37tfT8awn3MZ8l4r/91TD2v/VP3yRMjUatepun1wMTHc9MG3OK4tYPvpmw66iAHzDPLBQOcFCR4weN1EKOpY34eSnfk5hFeo06dB7k5ih6JHK4hXsoLK0kipE3Ssx4zXv01N7aE49e+EU+qhbN3BCf2KkYU/A+tbhmMwFHU78Tmf2VaFLe3NQOd21ltS01mfT/Wgze7HfacbFVmQtKtbj90oEDwEjuBB8CJFgMr5HDdDXIlusKEejputBzVXNztzl3HCSLrHomNaJnawTEfK2OI+Jx7MLjtSgWMXoku5voxyFdEfMcu+DQB/wlH4dn9gtrE4h0JIyYRi8yUTH0hOLXTNCiTj8kJi+258PyQpQEurEX+469XCOCGDKkI6oEb3v8xAfXtOdVSKSLlVyjjExx4pGrVPEN5HFt3q605qzJMf8fsfAQtg4NVuPcqLRpDW077g0S975JBBbHZSc11w5NJLDERl9hwf8EefGuekw5xpfz3pvsH+UgyAoJq0gJvYkXtcRML+F2pvEP4aiDxYaWj3Y9sw5qkH8sCCCcXD6OiUhgZaSwcgr4lW02GywkcNOssucQ9xO5oDTzgq6QsRVDNf8Rd1mScxFl5m+2KT9n+BddwW/S7ZwEbnixeUzSymUKatcoaFa+Qlq7ahEvd0Nze5+glYv9JJ2b27o9a6/Ur8P+mKDLvty6xr1i9b30p/tDtD3qSw6WrQtohtjg/RjbTHDOFvCOP6WMku45f5KXgVb6moR6KvnwlQjD0U18+WshZ+SbohSXjcG3liPeA3dkqSpXuegPunUj0wDctmgvF/ekPwKxlRc8YZdrXQjKqveHbXV7f5Wcx4dX2tdm9gd2OOVdPsJveSzfdnLOq2r1w1/1xt+oPf82eh93Z3og03m+I/ffKlP3NiNvhDvv740YKVvbOQj8e0WPfrLli9c3W9bD/1ta6N/UJfp323n+P+vWvz0fThGx/A4AA25HMtH+nA3duFJDjbksKOPO/4c+RZcYsmllBqpzMjlRu3SM5fw/0smwdhxy1mrfaw0ecrUoR488k0r7cHtXnnOKnPn7cAOmXPN2jN7dq/u9UV7c+19ts666+3E+ru4S7uxQefD8WFkZAETeFBegUAkkSlUSJEGI3QGk8W2NMyBxAAiH1JAgFtIhEdUnI/JFJSSFZKXF1VUFVNXl9LUkvYx/5X1fxgwFsXir/KQj+zeY16Q9bNXDIzaZ+hDEESUAKvwB20I+vrWtrG7f3h8dh5yv79vwDYy5fCEoEev3rxDEimMyFA5plCq/CaaN8gUU8CCpnYO0O8ZEJT2HkJe7grCVvc1Mq4qirYAJdugbAdU7O4QnLeaTlVGD1B3qO/S9n5PMPZhP2bmTC+x2srQWJ9+6C/8+rU9qL/cJHTkgKiyv+fwkAgucHxoBBqcGR9CytnJRN5tUwbnh/tFF6YZLRenG0OXwWibBAGeIgEXMgLmbizXuUgSFv/HpcFQanMN0I5A4oFtdgwFJxwPBSQlWph8wgwdPmeOIV/yEp6vW2DOd7xl5Z0PCD5Z5+Kbnzz8tsPHXhQdBwiUBKFANDDEA06aAAmuRi7E6qFg1gYHt05U9HVhYq4HG2e9ePibtinJpm+1rrydN1eyx87KJu6p5oB91R1yqGtHXlnDp66r5fjjtZ/ytHWfrXDDFynZQ6XKN6VSzWbUad6cFj17jY4xln4De2fI6D64a3KRKdPDZsyM+NfcqGeej3np5YTX5te4YQEELVoBQyyfHYHWfSfgT5tE/G0Hxn/2SPqADVoCfASSKRnmgRSbAAvCl1EBcohwBFGjkhElIqelW8HIvIpV0Vp2jvVcXBt5eDbx8W8WENgqLHyRChXb1GrarkXrfl26DujRe4n+coSaFVW4gWgizK1ApBVViLKqKtHWVivGllqcOG05vdYlbjtOIl6kiHPigsgQFJElLolcgWgCXRbzxSIxKBZ/1DLcg6DUg1mQqE/DGP4UxDrBh5TZyOimxLtpqW5GtTOsT5iD8iUfCPFLf+AC0BqohhsS0I9kyZlyWljR+dWJrFgeia8EATlXFxwPrUqEprTqnUxHMZxNf91GzlhNy+3+txQXAfOAu8oH84NHKtYSHuvUjqfqaGiqC5rrkVzvQtKCkuTGWdKmoiPpsjnpNrjmZod6WI+dCcO2moFuu8OQYQLemcF7xvqW94IRUbMKyFfThXfDUh5j7zXKM9cTgchGsiqVxsHJxc3Dy8cvICgkLMIQFROXYEpKScvIyrHkFRSVlFVU1dQ1NLV81hf9xC/8DZAxTggNCcpHREXHwMUnIKVau377rr37rzp24033ueKqBte1aXdLn2F33PPIE08998Ib/1n13idfbNiya99hAH5gXlig9OBInzidhHmMt8gOwhzHQfucZwi0R3z3xNRHu1s67uw2RY+pvm+Ve0aroMJMEzekpf32uq5VX2Pvvl7LcFvtdWiv9zbSmxZad/Mz2xXM0IRn3kWX8WzVx936qw9DBCyVLlu+YqX2dMlXfDWMIImCFxxAqzUQUM/6sLsnzppAIrHh1Nh7L3h4HiYCBhz6TcbLLI0Akk/OnVqqVGlnjQvBJmdWEKL7Mk5dGAjCtUjYgMm44TEtzvd0jW6AaQKqAUZH7uDmF4hKOpQ+xVhw25AT6tZPPLIW1TdpVrkBRAB1vxUB+lICThfsf2N7CL1trx1UvhEKCqNmJAneYLeBIBsJsbP+khDv0OAMdc6WkkxDboAyN1JhkSZLx6/LNEGQSjCkcwAcDWdgI+igBWfY4+oVCInPwhztdlYgpQUsLVHSCrpaw0hb4LSDiPZQkwConYBsVwjoCc72O4Bu/z8pa+LPrlN3XJUB7uAMxdeB4J3W8jkHxQ6XViqxkR22bQV2bYd9OxMHyRz52nv1PuBWArsm+PYdiH0P/67DvT+W8XhUwdW8ybrds2tYSMrayYmLnRyYQS4Z8siSDCC5CZLgDwqBf9KnuhOpO4G6y1d3ueqOre7o6i47ni1Dg3YpUpRGbZgaCPno5GVQmUl5FrnYsJIjiMA+gxRECWOEsMI4ITxMQBCF2RDspski1FoJ7WlwIsQtzMPgFaUj+cQEUEJoYXERjKgEU0LKmDRWXkJRQllaBadqQh2vSdCqDD2G790N2QOPvb3ss/875wCvefgtCDjI71AOOOwI5CjdMSnH6U5IudKsq2uWRdvU6d0aHe7/nO8J+r6/Cvubvwv6h/8I+a//KwG6KpSaExFXXmEsy5c/JCjCNIjIQ6CiDomGNRM23pAEBEMqZE+GY1fy3PtTUHwgeBD/rKvgpSFF3pmirnvikPmMccqVNyUDGndEkxtTNuLulH1nZr/nrNn9ARc++3cs2tiYv+2TEWrppAW4uoSJYloKX789gdBKrSIjbsBUFbbWSFwBt8PeOmTq5u2CGGRTAFBMTQRTU6iaZ46hN5FN3XnRdQfCHFJ429nA2+44qgdweoG3j+GogeDrkEQsBy3j90rg6YgaASM7miBBPoGIJ/oUUU+TCEfqDnMTAM5k8HUqNDzboOn5TuPENqaT0IuFGUr0I1d3MxTdRsuszq6ZS0DHHCVmKtNBi+kmK9OT8peXB5xa2GDXK13EKdcXbUtca6bM4NQKGFgHq16DmU2ZURILNmYDJDPJY2Yqht9eXruh9KYzfjqThrd7mKYjPVJXOdp3OfV+3+fUsX5Ax4f9iIVT/Zi+M/2UU0vom33Tjt/u2y7bd/uubb/fj13Bwbe166/7le7f9/v5H/ujvXRn+6g7PceTO7k879TOdPHO7mxX5L1yxS75e7psV3e1Xa/tutuU5Qi0AgdaRZ4/PgBBw2BJBAttJiz9KQP1aUmNqrPxyqGMD6qsmQ+thUlrpMTRzZlLqZb+Cp40mVtvTXfFXtUKLtk9DltApQR2CGPh80iAodDYaEJImDCxcRwHMzwhMXZDGos0EjuZQuPg5MpdneWh/7x4o/N99cuMCchOUH5CihNSmojyGCq/o6rFw0qcMqbWJH1sGB+Pxw8FufApQ/j/SQmgK8go74koQt9mo+cjAGmxGxOT5LDJLe57Hl++fSFStPf4Cu5/+VRqEtJqmpiZTGxZlY2Y9dmRuCJlR9QXuX32Dyj7a6B0slZqhkmBFo1jOe8+wdWTPcWLrtzl3n5PL/dO3tuh3t376DDjE/vi74vjXQGOfVewetkq+OwXt1e/9LvCBeD9of6SDd7+mi0R7DFW9K4dYk9+TvGkVAyBEsyrJOzW0NQt7zfVrOiUZ0kqyFdwnaqauqqGCZZJeRPGUPUYsKj3okmwnAMxUtg6rtORrug0nToeU8I1TpHZNJ4l/8yEbCJXKtcP3DBdZsQuwhTCFIRkIpkICQOJrwOnxjSdmbZz03LlVFw9FdeM3+JkLRUK5WJCkrryuixPLIXyQ6DaRDSrvalznlMNaBMaJkywTBiT1EDpoTFSWB0daeOKOrulvccTWVKcW0SQRuHjZecU4xIWoJLpPCTB4Q6oKSsSnonlDB8yAFnb/riHPO6apAV8B/m0efVJ+lvZRHk8/w2CEd/EHnv9kj74WWJspN0ibJ8NI9mY7FW8pA5WB4sjqBPUdUybNN2kS80068yvA7fZqBanaamEP79yniI7VclqmQhlq/JsVS5hpRFWOGeV4azG0lYx2kKUzVw1mEu2XP4qRV5RKYxfUARVlMiisxgfpQCjIbVqJbL6pKZtvNanRJritdoZTS8bu8UkNV1WIs2ZgGBjCBQ6kuOMx/hcja6qoqSoLKzAI83LFOfiZAhxLPfFOR+EPcl/99EYEgxj7gfjLgABbAAYnmGWsITHBeHDUiAl7/8OgqpjG65r+fu+FPmuA/S/9L4zZo0OoxEBGsS6//Ee4VdirhMa+U7i5AqhEIe+zAIaGl748cEPR/Enj1vgPMK+umhjvw/QuQY4j0dwB9jA+Su5JX0V3zVeuVI4qIe+vBfwsp3h2cYGgNt4yRvsQRtmjY2tHenqF4oUVZuqTabp0fSoOjbo2GBQP3x0dYuOt5ndYHLasKLGJwPLZo6T4esc+3LJA23KKkOEIbphsdHW/IHGxJYclkWlEEPIEHkyfEvHYuItWwzf8sW6t2LB9ZF9mVxiWougqUnKXpkYy5ZO8Cdi32KL8Xdg38akYoWGFQ0rlpbnFUO0qeelS9XUYoi0EmGINkTHlJbls0tsbaOoHJVjMNDzIqf1aaZhnbOd3P66+Ku/bUs2aBj9leu/uptvNE3XqnzaknKsvixOnWpz1iFoaiaVq1mJJ3tRpKCULf2Q4kujZjNQq6uj0kmIpGlTTSCqC0iK83LvGpx8art+MR6uvSMXOkwZvqixixm4qwzzYXFYHAaBRER++g+NhjdoPwzq7l6Jqpm0UFYu+LOkHJy6CrLt5G5WO4FRA1+bg2IeqjkqBHWyobGjY2BiY6vEwsZWBbTbhWOC5LhGWhgZYhYgW6BFqzat2iKXvBT12VYLEUtznmFum4WiJCoLN4eCa+Df5pCvOeagmKOiDuYV1ImGjoGJje0EEn2HcqwuHMlx+clABHKCNheWBEaWgJAmA6QGYGXCk1NSwVNrJiM2DQ4BgQhJeQRmQlKzm6pQSmBagoYR0ASv+XKsqVSrtlMl2Ila9WPJuIal6DUumRQ/yIylPpXCfvioMtVPcdtjRBGwz3YjupGAkcsCgkKW8xvZa8RnZL+RFcLsomiIwUCizCJEYLJlTnE7ZWSlkYB9tltrxMdLNxIwEigYUkJWWc0vaK+RI0ZO5o0nAR4B4RyfkHA0Q0XR1piT/ZLnpSrCBF1tRyNKCwCpHtIsU800Q48p+k3XXW8wcfPzcXLw5omkd67tMT+LTIlvGXTd/Jx2LuakQOXWf58gS4kGPSY580QUJMJJ8fteIAwbxf7PECY5yjTpM8WFFz/BIp2SIGEe/1EHOmGSWFRoMeDAlTd/IaKclrgJZx2HrX/DzomPCCnyVGkzxpEbHwFCRTsjCZg+QofEk3Hhx/giwO+r0WEcgTtfgcLEiJW855+mCBTcBIgSJ0OROl0mOPFwzHHhToiTIvVdeGwqPHxv3LRnFtasZ0bGJcKf/Rq7EwFDr4WedTwhDoEhS5kGvav4/+fbRFhw4I4o5MV/7ex+OCJeKhIK6rrwRfFn4xClqtRr0bmmvyghMhYx+Gb0z3kyYlxMmfXCwpeVlx7Qe7Hul+1x+BQSmfCKqHgkmgAxkuTf4radPpFaDJiy4rB2feWp+BikN38hopxeJ74yRUeXPCdDNpqibdl9PbJGo1bdGFvmfX3yrgemzXm1XbxvQLJ89M3G2L1NgfuGFCceQsRJf6v4z4qfHGp0GDFnsyFsErnzFShMzNvYTaBPjmRpMuUoeFlXSQH1Xp2f5cK9V1j9qlFo2S1OaW0womVasSVbR8Gvkh17YYjgwwUOGJl/+Yvf+YUf5Qej8C1f8Tmf8KF8YFTe5S1e5yXP5KnReMR97nDeLYFWaLlKuhVQRTr5ZwCdGj2muSMKESNRGgqaElUataNjum/KnHkrPvoRTkOfoNIOIcdnkLpb+YKv+U5/z6evPwX54ZtHSdNhw1eMKBHCVGlUr+6zBhIroZR1nHe52iGd2Nld1q3N7OmexBz7g4f5jOAEQlZghdW+YFrR9WvXGWyEBg4Bd4T4PsmAgGIDCgFQwD5fYNVidEwcPH6rtgVp/yDyAQW5/rXVnw+k54ZRqAfxfMr9aeNTexoM9wwpKN+3YhXLW2veee+Djz757It1X33z3Q8//fLbhj/V6rA+K4V/oRHufhzEEqujJV4SUKeCoY4HQd0KgruVEhRRh9k9wglnVPBuGlBHLIt80z4GZoe6BILIYihtdmonOFdy/VOu5oZSmpahMhwSbnKsXeAUpnVZboe2RHk6VFqZhprXyA1yIzUt3j0CalmoNYAC9v3qriwAwfeWYwYQX5FL4plZmykAyJlhgIwVY4HaEvisj3uJPBTC7hT46KfHRDZYhy7IPuhyJ4WxhSb/nJnqjKQqo7mTu7mX+xnLeCbyIA8zmUeZAiHLv8JrVwggGMkJRmjTBtyFaZBrkKAhyHVgKMaxAjQU6zgDGl6Ln8oMR+UBvAFBO2x1E1gYA1BrjiU8hjoklCthNFwmFoQiWK5wiZQo1NGZggnbOjYIbC++AyESEdLyIF/cjWSSymFZTpYHBUKHOCmR4vydchBSkJJFK6EMJ3y718CEsmoCsMQ/z58g7/VutDVwPFXrtb2CRykYjqiyrK6uTKULwQ7PxBCgX9jxxMOoDklLQEjvQ4oVXd/1a82A6v4eRIUJMlezwUOZE7gopi2VePmzExWOmFQM1ZFTlSrHU4iSQnFRVQ6mOqrTB2uAsaVlxVDgISlAmgwJQBaLem0bjB4DC3IRNCfE8SJIaSKOQwrOfqaA2oAD9AfaH/DA139SqadwC34Vgrk5ERwwAuA0gi96GJB9CgDc/5mbLATA9L48bMVoDAgSPgTQVwF6FR4GHAIGAgQ4AARY/S0EBBwAudoIOB0FpznAlgJNBgKdQJIZchVXaTUVvRaLDS9t3AE92o96gv8PkkZABAwpeGMukcrjyzXMyu/nsveGLLPV733jJ3d0vh/t3+b7r2UJSywmmZSyLGuyK+eSKBck35JVAkNZDWKyP6pdNc10UV80RKtXrtwYv6EfM2zVhoWRscXmtmnXFmbR6XSu5fcu+P8nle8zm9reNw/38f/7CGBLmCItxhx3UrrGn9+7sW7VP7Wr+B880pM9H0DMQRlyPjqKcjXX0xlGpgcgdxmaQ3e4jYiRPErGvyK76LeiqHeDj3qLus5JX0KR9goLWZJV2bk6VSjvOUlJFfiqP6uPlixfvL6qM3wEu3b3NkfJfFev977hDtMfHYLp7h+D+Cg3nNTZ77f8/5AJnhj+mfA9cpBdAP73OwDL3wBY/nw4AMDyEwAsPwOwfCmtlx4pp70Fl538ep6Tn76lA3Dym5XyCp71aJzD2IrwiuCKAICTL6xsrKytrKzMlz+zXLYctZrRN2jvKb+G+MW+AnStti91rCisYAGc+B6AE78tpS8dXVq71FzCL7xZdFpUAOx1trYCzP425rMKAjgZsARqFUAdVIqAPrFXmhVArAMAsooQCsYLv/dBIIeA3ABu0Pk2sQB5wumfkuzkpCDfBoyUHHpAz3SHsQ7MBgcXBw8AzrxyLON/gDckLz/Z3PM1mR3QN9tDC546s3Fuz6dP7zglWrFemXxESXVWoVLhjglBYsYeEWpUqpXC1znpzisRPDIk+kvMXZ7A210vuLrHEt380HRjyJK9DDnyxGtBlDuSfGXM96HNbJxbNYwWvPMS5h6XeEiOClqI5rKybytH4P+XTboO3W6aMuaBh9otYFm07KOV/fz3oWAEzAkfgaUbBwU126hxapOUcLEjEIAOhIQUQMEh9hGP7EJimiVbsd3Vl11x5b1HnqZkc/L32NU91bRtLdtzY/uat6N1B9p2iAEFdYKgHhxQHzTUBYZGCTtIyBGiDhPxLayjMM5QcYqS70k7Tdkxks7CuUDDRZqoLtF2ha7LdFyl52f6fmHgOiPXGOK7ycRDtt9i5gGbX/P+DZ/fOfZbvv+N+H8C/pf///AzFgr/o9AfhJgIJUiFYgGgKBOgeGDojPFQnDzdCkyFCGNmKmanbJbj/8bRJI3P3bQJMm4zDwhFy9ImWzuITjk6XrrnGrflA/v/F2gMtDS3TIeagQPpsYTGIJJYZAqHTWWKBGI8YWCbvhFE7bs3r3wNa1rom/5Gq0fZXMdv/DtejTHYv39LiM021v9/YBqnIsn1EP932wYMSg2UKTe28f1EPNj6vu37fmB7tV/o/tnbfV2f0ok/k95tn+mQje3gtHA5+P0EFoSWBBUiK2JrWINRuXNbUiYFh+KRkkv5BOdTDehlu1fsPt7BEM092Q5gW8MuPFinn2+34YgN5eL14fYc1UhsyOzJHshZVLwdsKYWwugLb1J65OqSb8oL9o/i/atmC+q26Nr+V78ltftP+V6q3GtVm1e9Nyr2yi2cUC8uqB83NIAHGsIHMfFDtwk4gBd6TNFx8n5l6T7rX3L7Tx6/4vlfvP6D+78j/Izzz7n8gutPOQFBJ6VAp6WJy9BsshaZWqVrgjQ9WX0p6E/RMn6bH8nUmGxmbkGxtPJkQy9GpRpVqtVaoEjT/pF9jem2YT1GjA5QzMSsiI2dg5OLh5ePX1BIqbBGcRFlykVVqFMpNlKBejcGqlajylZVpouztgHW/P2PLS4emd8yPfoMWLNhy449B4hOOQUHBS9+SyjIBb+trFw/0/HsAGBVu9rv60Kt9BHwCbOemPHCM7sBaAWWV0iVgtYV07ISFojIR+sjrsgHfNdsTS4lSO7s1GUmQ3Ua6r221kmdaxgfe69WvdX6Ly/IQ2uIzdhJlqjFDbdUVdVxCUL3+IdamB/B5gikJjrlhfOtcD2UlnOdHrHiTHqkSIPTziDnso3T6mbRo8GcioURoE4NhN1RkGQoSQsJS4LWP3nzk+Uoq/jy8RdrHOcglgs9klxmwZwqcY4DNic8sZxwVhLO5gJiD1cIwZok+dH5S+BGz98BUA97XC8EFT2eCbFzmcDu2m1AIZ76FE0mQBdgeIqcUu3h41sm/AYMCPuhwnCdrtsaby8qQLZApHfVuSedI3syPLqnaJtatE50QQtk34NJU21uO20Q9LGTt59Q8/kKNY8Dy0Iu1EYV+2VPJ5ZPa1IcVAyYjXiWaKfI3+bdM+Mt9DH25cmlU4T+hetJXyTknIAGm3OpcepidQ6/IHo5GbUyiDhU5DS5Ca5NidiAkntvoW7ckpqtfajj8KLxmkrQPHaYkFmubquZvHCPRxZgbtHUU9U9Dnb7fGlHYYJs9PGqVXlyaUcTFIARZkV5iNe4UQXipwocvquUvyofHqj8fpWL5xOV9bPK/1+gCgAlCDI2cw8YkdB/AlMNhzpmQAFZfEAVmOfXjmZXf9V4V00G6os2DpLrTvL873yNc4nS7jHct76mDzEu7lH1WlcOA0bIpPHfGpmbgHSPprAGA3wxeFc/S3ztkd+iz8XcOZchyxzWhFv6fJ68utrVLeP6khlzovQ4ozYeHUP00RBzqi3giwq0d81L/qrkm+pHTjpF2lYqCgDdvXMC3OF8KjGfSf3QqjZF6lte822vSRJ9oumVK4kqYMZ7m/5dAw5S+24vYJkyp94WXHHMuWwtgMmrXvMZoWji19XXvDbvcBmG/Qdl3X+zaIsVeR/c5VAQfO+ONSFh+LlQQoT3zYBQDEVQr+LuDN+PAdxvjVSiQnEo1ti+C3Y8QjIoAOE2G/Z8dNX3NnJGx54y85ZY+FrEULWwHHnO4Huf+VzCTW7maoTl9DfSXUE4BWSrIcMsRimJS26yHhD/Bd0tQUe2wbkKI2xZw+D96enOHmHAJ6zPiehXzfJiGd63RxSYUC22kp81Lm8GiCy9hLyn+lVVCU5T2sJlFFV/R8Hir/LduXNje13iK+9eVqJfLm3/sgEsIBv3iqqT4L7OhXzZBz71rPiKd4jx92fBNX7CGndaEdAuSwgLEG//7d+T9VnxvBdq6KfFeYlG55nQzzGuecG/p3fR8tO6VCR43esBx9huzf3ZbCkF7df6ue2a01ynbo9jfjIQE5HswFrQMle1+7xv9qEV709Tkl6amhNT5IHPBoycuGr5+7nZB9/twN4rEscO5WOOgT3jOPt6OqHjsqwZ3PQMk/csBDk5pJaua6ZJzs7jRXxOIuPk+H05KVLaQReoVEQjI6P9Hjv1l+kifSSBrPeRTjLCDGR8T7HUd82tMs9ny728zBMBaC7nrDMmQUfbTBg7SUBjlBCbK4TTlwIq9Yr7HDm7eW4IUDc8XpM1GHx6U336dFZoQ3Sp4kJmW0rY1IqCRgYp5wtH4aUDKUxRMxxzxpTQduackbqYzVG84qKlMzMRkgK1VoWUC/bekplFSSNzPuqDZwFAWESGI6bP1zytN+eKh/Eu9XFHNFvOsh+XEcF81cVlZG4GeHZv106mBJyzDGkc0cCSSIJA5CpcGcur2p7esdjFfDpC5+hwG+K+z1yiHwZ8Ty48l5gQJWdiQYAPuoxu9T5mynmJIYXMo1+QhtPoCAMryEh5UwUlPRoCvEpXPkJRepbc4PVmpqAXvXPVPskCMSnjUhWz/C0gCSkQpZgZgGU7Nv0QhYCuhdoxSOrwUgohKYXk4cLGSi7WYQM2tU497aCTT+sFtEDx1KVgf1gJvUEYvV+PWrFjpNLjcaG1HuXbjltFUxlmmy9WUVHbl1YOEpVivD6LMGFhYRjJ4q43xckaLFnlLCaYIDTiAW31HdkGLWrWo42JGa7HMdkU7+XpW49v4a9boa7BuZLSd8j4mwg34foDmn2R5UjogvbeC68MW9qxVNXGIcrG5dBItDmMu3auJrBnPVeJyTxeMEE0xriEbSVr3ZBYdKWb7zi39QfJl16vmVsbhtMuUFJaMvRofPapq4dyDT6sROCuTA1ZFK43CqUom/gpWUqwJRRCk5rZoXe2Cg/amFP+tqwcQ2mfgeZSaGuVYqeb4RqTgiKaaKUX1uqL6Q/VAlvQ29p8U5On3vL6E5YWhqC0FJEr4agdzt/5PzqC5NTC6a1ECx3CaTYNKa8LLha1p9N0zk81nbi1blqQzXPUeHZoDSwFSnBFUYmO5sBtnEmhEVqpN97176dBV4NrvkGHBn0nRKoR/bZeVWv9wsMHVqpqDxZa5/12d/YRMOc5lNPYDuQ+emLgQaT9ieU+TOGlribMrQyH3095qc8F9skQ9Wh9CJlHTXfxHJYI4yqn+7JYhrpn71S015ObN3VZHnZfP0N39LUltOQDYcuGV6KEQNuiMRk3wXDkqoceOOOUauIMlOOMSHhjArtaPhaaWHbGaAhsad00HSfb+acX1ommvcO20I+NYlq3shJGc/uPRU8JfKEu/fFBhcE+toiK5cKvyHJXYbQge3dXk57+aBvm46SrLa6zyPJ4nbScEK5DLDp7koqGSoo7qnb7pfds3lHNHJbMoMq0Rc8Kw7mraciUS8aV9XBmpjBzb+YyAln4CqhehbN5WX8P2NxzS8V9kKzPHfG9OQ5Os5siH/FoBPgnR8LmHJxsZm5QTbLO5SBdrTozejWopYYTO1FQF0Ly32xvfbuzWxSKkKhZ5sz0RUDeWl1SKHV5MhPepCaxpZ6rx+U1H8w8295kFZfamE2H0MsEVgFd69Evja1pTYvqDx9nZcGdju1OxAvdSTY/3uKsM6WuSptb1zx4IYk7SLKngvfS0ibdU+y4UOMWMSlreqeYc1MqOEc8VdHytrPrbdrP/08vj59EqHvVUQ43CxhiVLOMPcrOhkoYzpfoJVXhHucvUYW3M67cK35OdsqNe2C1XJ9a44DYqNI6mEvOs5MmdxROPWCgkrnN3CiiAXUScA8nLsxsJPNWNP3QHNb3t+MtgxVvxSSXyYo6axzWpdqEAeDqPw9MadrqP6LhN3tlDzvF+socnRcTHJ1WhydRJS5SKCNlH8EdyZdCJSqUKC/fRR9mamk11TfHg+xFptnob5yfqGjKLG7JQNcG21zllE9tcs1S4i7iVfXxQe1wOckKNWTcqtJVg2V9W3lNYC65tuIBYvIkpQQJNU5tbw6oZzBAJ+1YLVHgULcGTyskFAZV4RMA3SdR5W8DIVX3skjq1MWYkoLSvhsNeQISMZOmP7YV7g5M1ynhtKxUb6gyS+ux6RXnJxU6KdhWKPkZWGBivPB02foz04WjIxzCgt23i2snfOKhD+BWJmhqDdvxml/20odUTaibCDB7pS88zI3kWrtLXNoHo54tfYatuqPrI9UvqVfInrBCI6Tc9AljTG8FcmxLyr01LvCRtmigMPJtHmhL2JL+oj5i4x26iuWhNFUk/PF5ixYojjvmlM1cxq7HtlGkwPlRboyipIt62KMe0dLLYj5HWRCFISn/8wR3Jgn8lYqf7wjQmDGvc/Y0sljMXJtedLhG6PzJ5NLLmcNm5Jf4MZ7CRs2ufI8UoF7RZANbudje3EGziXN2vrzv7G4OMt/8m49nGjbRsP8Fpui0ll8vKCOCLYEAb72JzOCHBLUpnEoDFv74eZroo/kdy13VLycS1k2lXjHX5S3Zo+y9zGOiHMnljRELfTuG5raS/IZouJxlDdTNWaGhH7zSqANTS0xf6V8vgGnXeSLxOIKEpzmKg1t9D26eYADhjzlfpoMAkoeW3duMpVAEeNDITWGWBv5v+lRaSA5qkZG4iH1rAu8TE9QvrSb6/uTiHDXyO+EoQUC1le7QcpLEcEwq+4R6trTBv1HfWxgkIuPUvIf9nW3H+4QgAaFiFNbefH5zlh+2M8VdI2lgJY2Ws0w4iM2L81rdKaCZX/SrjFWGP+bRTYvPh8WF23fpGDPnWmk+cjljBMWqtvz4YvfI+F4aqH1SUr2hRE5FdlfMl+m740FpOrecejNV3BQgSUw9NdGhOx44B4yH1fEG1bdkMl0Nhxos90yDlXuVMGH3RJCSOIYndwRPmDgKVRHcs+gD47MkFXRJFYupcJ7q6UddHecm5NW4QDWltKjhQK8H2eQ6DvddwRWBAjmejpfVm98YE++dYk4GIIA/uUHLQ9bRxTPIZzv8hrAthtiQzHcz6abjJJtLh3tCDDpBbqnmhVb9cA5cfCZYC0nGuX+GzM0sRbmhHK8IQSk94CzcMa+WTlaHlDtkJQ1wOruLPvfvjuM6ry1+44qcakaoItthKxrtD9nHkLczfe+a405oe9aLlrqApPkYoRNmiQdtk2BYeuqJP+3uhokO5228r/Dv3fhmAUMX24qvPajTRltAW+XTRGCHbz4g9tvMNfy2KwZX3nYh1cfH+ZKWBy1bAThu6iRT4sFyTweCUOtG/7mh8QDDysgjZyw8FdfP4CL+9Q97a3ro9K10B3OragnebRHHBd4SbXzP6mJ8mR9UfUOOiLhZKUoiJgfj74KBvqTFuWry08ffEk/zKlFH63kZlsuBdM43473xfCtMbCQHXV+FYOGTuy6l2MnkZDfGzPmjqxfKaHaB2uPscxIOn5QITPDDxdDCROIWiFGFcbtoeUkjymIRUmda1wfFV9GiblIySOESjCox1/qTabqRtzwJnWKK5L40ESyacEY43s6nab19T8PNNGvwab8e4j5CPVk+GpX8wjVmi+Rh5AnmcloKobKVJA9EPnQVj94V4KR8uVKVdbUWdrPodRm5RlHSS6TPWzJ0o1MJOilzPSLkm26RUmIYqIyQJVcBTgJi/06NBwNUd2NOD2rI7wu2Yv/LLWxxJk6ilyO2QZHPGo2S7I9R3pmbZw3U4TvHMslGWRiOFNOkd4RrVwHDHrPp76OnMGOx8msgisiOqhqX5H1VEu8C0TTmn7Lkxz/dHPWozEKyNma3Hs2OqHJPTqNDlVzeYlZZ3KLZUMAtg1RxY/sRcD6cObDvi9JYGEa3hShYo8fWerLiHHKuIIaItx7SW6dIb3bPmzDqcrPFNF+/pCOQOXa5MeY6hEuat0vWAeDPC3/kcj/GZ6SoJLHXbn1V3k42tG6pQw9aWQSTgmKe0V86YvPb4IjQIBT7P4EpUFbk6N3s6NMl5SpQtaP48ugWOKk2BFKlBPVngALbBYKpR3hKnOEQWbGqvux51dZJcaAPmrUCDHZfX4bsHQYKf/p0A45RiLhBaxMa6/cS+z10D/Ziz2C4544tmZYaG4SnvA0OS5gQ+Hn77ZSVM4VFdV67zjNUSHHc85ZCiDoLg6vHrbcyzSc1bwMx4SGigG6EhUJ4g1dhpeRdFIgd6oeSGKAj1gm6RJE4O/1R5KzE00aYauZ/NY8vlmu21CzL82/K3sl1Px/pOWozf3esbtEpcITCD2aksTeZjeRQndka/ZLJPCUUqTn+xhdk2uW0mriDaEJ05ba+QGmUbmfK5Ayfz3gGImbRnE1B0/LcpGkECUx6ma419byCYfXiEw1CRlwLMVwQjzxPVp8VtQRTHlnvKqHO1nQMGBTqnejkJrNmxZKWoBNq7NBYaJvh9WKO9rsdIUosgEsCIhVQd4/IjqXhMvzmM2OtnXboS+zDwRmyZPQt8puTZqwSNZikSsM44Ro+PC3cRH6VYSkp5IUmi+iRWtkOixlGSk/AavuLLUZsBh7YUqBes3KxcRpDOOh9O28Ds5o80TgIWvqmLp5imhL03kax0LQxFxKHqPvBI9wfEw41/6x5SsdeYM6TUdIogBBN8zBCpU9y5XC2EEmoceJvih9gelOeRA7c9Kj0QB5lX5sUmHvH9XhjsI/KpoTPyo28pm+PAt/ZYMaMOc+2bqSQ1R0oZmRFAkG6LQY8JLpXhjBq0MwyCMPDajIfvKH4rc/LnFy64fVAbLNfuceelUPlD4FCEwT2DwHAwiVRnYjZCL+il6S7CU7SQNEoMwu511dQv1HoS1a2jA/1gJRwMRzk/kLYjk05sLEbZo/ZXUHRE8XvI6c5VadYiGZYTe5m3T+J9kL3UIx4IVRabVHqjSQvU96Px2mTZitTarPAja484kfM0iAbjVgGMDYsZCJ0bFGaH8vRUqxVawmNxE4PHuA60IKFO0A1xH20KouILO9eu3fHeR4+sPlzgX29LF0cIkMtAI1NefQgWso3r0SpuB4KKOS5JAdmHvLJOYQbd1CKwb1hxboUBT9M3TozVo77tikQ5GXOKK9AqUs8hN2xgDSF7SBStKgoZTqABRCshIKeS0Qa5DrgcgdSir0YeOudvOJy8rByEnrxyesAtwOxgktfkLqlIrFWhbfkst2bIiqStcU+sDDKZ8WLkPDeoA0dFzY/xXqwGCPkDKewWxNuwgrPCBE2y0k2RIOFlPepg7779pVFJpmLdVb1uIHQYMMKD4M1CaQPezwC5C0GhQcsA6v5ZmFQhbleJyM4oFZbccXB+oZQAg3OgVCKsG4cqdwaaGAGejQCaBvCIPevjELJdVAeYvgjMWnw3WJDMbkML33fb55TSnuDVZnlPbeilZcQUcMc2Zyi24ABbYvmKcfNUsCSUb1UblxbBdd7DkN9BD/tYWexGtQmleNVpfbVWkayOrlDLIrC/CwS5ydlx3Ag2VkwK4poxYR60ksB0mqALUWg7dYSX7jJOu8Ey2eaxJZNEY22iqn2kis5xQlh3wZKq+YWWqNfkeV4RbeGedBYI0OPNkxR85HFH4TgwRETUNOuk4lh1Qx2caoyuiCu9CXrYye4+ci9ByQwcLoSb9bO8/hmUFDGB4EQCPFDYvRRkH3si4MCgx+hp/2foJvGpOHH4D+fSlracBH5qe6gt89sTApuOi9udnfeo/QE6zMPz6bj3UOyPb/52FHDKWzcFBK+wEAv6SYDKvaywogn+EWSueR5OrzCKG9zT1zQ6di/Xnyl76zD9Nmq6CN8b1TZEX7jNTzlecR9wdg3dFQpTQyX8GbVTD3Wh0ekNHtQC+WJi7ZjMXXmMWf21SbgUSro9VFIH3s1MuAR+2qTwCJm1/FQQOmWq1JdPNKvNN3fMGszg0VHLab2qlBKU4RFBDbwG8aXP89hCLStDHc0CR7f9hTe1kSPem4/62G5pwJWOJmtPF+2Vurm+jAV9BW348l3HtPYMuQ58X25QQd7dWFLL79z7MHTjArxawzpcGB89ji3mykEa6V1f/qFsi1b4d41d1GYh4lglh/L3/iSGx0zLf4Z+a9wUF62Of6dtcBFI8d13uFYnHFxfzcgnt0cpV37ZzBQYP4aCpIBWlzXwi+Ou2S1z9jKcPj4iKRoQI8u2QqHQYHRX8HlcavLXU+SBOZ9suDvjd13IPo2Ji+3R4OEjHZwMq2ch3FyI124pAEpQBlO2cjbg2RczxOzaQQsIQCDUOtX8lCTcNQu5q3WhZcGWxWIXnO5zBqx5EY8uwmwcccmuEm5OF2b7KDuuLp2bYWVyHT684eXfHQJrqb3Ji6n7pruaDxiRIdJmpX/xwMUGY5oFhMKMSm98NJJRpI6oCt7IuVG1w7pBwMFdURfHAfwyq0M4icC+9QbCj++cQl/NsrgnuqH5RrOCdh0IcyiTxEG/QdwfBZjEY2/TAIbNaRCdAni8PMMkoxcGoM3X4wJ/GrogJxb1cmgLb+hS1/QcnvJ2MwsrV2R7ew6vzW2HNUo21SRoSu6FF/PDVeKEcsADb+h4TPmi/KI06B/IHFCJ4a3W6+GZL16FbKWr4NLsSHGS0XeIRspjeOsVh6oylmM8WXgZVBuunn1vK/ZdjS+8Y0IzIyrO5aQ3N5/GG6o1NH2VMOBIGkXdQtDSDBo6epXqhjUtHpohZ14ZhWZOA07ZN4VULnhk/TyICNtTQZpy2pA3T16ie7mQO3tMPnbhaCXgmmrNXREI1ejJgEsBWY2C8xnVcDDGy8gKVetFhUxbx+bwiY7lOgis+qW1Cks13y9HNae6TAx2+nZrbeLzk1LyrOySN6AvSrvkDHJLAnp06aj4N7ogK6pmzTnat7KqZ6/p1SUDuiH8j7J4VTm8nRs10JeUHNHFgQZ8OuZ6ELbMTl3cIhjUGJWgTXA27Q2eY73G1mLyCympLQRxI8COCjxHk/G/N+1HmMMugrhL7Hsmrgn+boR1p3qKEFfm+npnbc156a6gCRETLJ6C+S36XvIpiyvUCVVojq1DqgXHcxTrWL/E2INskX0AEtkvUdWnG4VlYd3SXtTKyJEyaHUlkjUr5vW/yAGpvekUwaJWhIvWD9fhQ13apNsA0MqgP66odkuGtuJ18wHbLvE6khbxWqDBZl2tq18dnHw+K3K12azUFXhWMzy1djazbaiLRzEBQ8/3Fbcg00XRCpYUqCQAepzXD/rrjXMQXrnJFOypTye2bFt86TAOTnmPrMOJP+DczXlWPvGxFDsPQfuLw3H1bz94JYIBHgUVFpshYMBO99v7Llf835WZsbw7qULQ6++wGCs0NyihchHdPvfB08EiROjz0Ix/lWH2++sDKYPTR8KT5MuqIF3rQyBze3QWhrNsSCZzuJRV0pkhWtL+Kby2hIvkOfL0bDkZKwxENeko+6NLHMBx5tY7LLahX191ZvOooxtYk4AumOgWKuNqaTjv8KPyzMFSp3IL3r2feb7MSZwgomJbGONv+GeLTgmiDFrXxaY78EINQVRiYRUVt2p+JYydbWPsLWGIhIZRCXr55W+MNFO2lipVDLwRjJjD+I9kFQVsQZ+BTwq/seJwI0TaPJLuITyNJHGpKDLCWUfzsf4ulP59xPSYEmv0CKxbnnVbqvP6pbKNQq3L9Yf88WGYg2ZdFu3bb7MO2nRehjp5SrwFjHe7wVcpVs4RTWlUV7DBFQiqshbk4nF6CjW2nAU+wv32uRMG2pa2GUqt+Qt4u5h4+BYsWrqlpl0A2UyxUB3HtCRsVkNXd1t6iD+jkiDscmVGoWxcAMLpk2jcA3H731pXrIb3FUW89NKqG56eJza0jJ67SdW/V4WI68O/W5f0Iu8Z14S80XnW+y8k1U8UZG3qtQQE3dGMue+QWSVxMpnRJEvIWmQl0jknfO79Y43EAPFTOakmEUkUiukPhv3ctinktt8P3YMqA1MmT91/4nTkunL3mnNn8fKDvOrWB2xeTofxwKKuYHNZSnnYBwbC5Nw0yqWWlz5ZYpGmZn+n9LGDHFnaHLNVUtrkXk8tYu65sgOlEPAXC9GrEFEJRJSWXWVuOQOHB9fqVJ71XuMvz2G0pwUc/dLCbYKSID+Ll1YOeRLbI8FFIsCP1ELJdBqklxFIJicr8CGMpZZLf1eg6XRHyAg42a8sSb7dTrsCF6TSdJ4SViFlCdDEilbobCSFW9cqRaDFHum2Jhde1uwhiux+ch52rziyMKYL+Yu90UGXIBIGXEi3OatLDXGxJ3RzK6HiOxm+K+JpUf3JNVZnrH3J7L3Fz2r+ipJBUmqYV+n/pjA+VFyPSK9zv0xgfIj53r5vKRu5TPC4nH4xapnHW2TDyR+OaY3dV9C+76WLz/2J/W2H0qYcqh8flL1jfo50UcjMKnPC/UcgsUqGdBGILzRi/ZmuSf4Fjlz/UifNkVyCCg61Px8eOHzYbYNGGWda3UNczyRUjvOnb5HnihDHBglE3P1b+QwnLMx/D0ZSkKSoOTvg0PEG3g4/gZxKF4MnrP2mz1e3ExjcR1VVdxlRZqDrDRDodhWHCutKS2O2aQWGdLPRRp7XErX8DtlHcnkJkz3eAjTTe46kvLd2zJLqDTUGAqVWma9MrpHjkYt39OitDOWqMc9si+q/L4gWkA3Z1UDtoQVRZJqqslPnOX1kGZZixuo6mCfHaUv5tAdIpkjWl3aVBqtdiD2fLsJwR0sfd9SNmUcTUSPj8SxImx8JL6GHwiNCwXogfC4cMD47fD/VKg+asmnF1eFx5srs+ajqBSPYMmDoBSrDsWuxUfiEUBZ78F7M/7GpC4dKHOPxN35UU5tJpDbuCprVRa3EZhVNzJrJJI4Epk2UhdP6zMtTciqG+m9r2WXloFV9VQLrxEvqay6SipyNmUUr8h7ADHS6+l75MHnUfAEuVeFnzGV7hFyaXU8HK6Olx7M6txH+p9IJ/5P2leZsqtMWMvi7CjhyH2o3qKM/9Cv69tXn66r3fHJgyw5Hh+hBGsbS42qiCJjBaZ3HmTe3mD2nxVv38OCvV3S/WadyUsRKJVCFuHj6Rvl6eUhJxVpuOfL41ubuf0W9RYzoVAkp1HJ/rmjVRnhkJOBsMr4JbBar8sdd1+IpkXF3w7v9il9djvV9e1uWGfOaxDrIijdoLLqvpiY12nePRhurfcqXgGUr+q9TY+HVYe3DTdrrPTHCbzHdmuvzcp9lMB8pLM27Bye6q1iXR7HvuyvaquZ+Wlmwo7Mnl+j150zNySM25TQc9NR/l/Gyx19n3ETPuVO+XNbpp8ILO/6ozL6yMw1S0sCy0N0cTF0ptsFnYUqbiWf3nV450765vSF0OQ34w3ULup4wxsyer7XlTG+3aHPwM5lp+acg0GP5KRmH+lPfsLBMUl/E/y5a+PRh7UU3781rm7wBn9MAW3epRJ/+e2uwOdBH/RG3e1jVr6bPp51kg3d9F7rjmA2BTZa8jgcB2wW1EghQrR3TkK3zg97gGvkP5OS6F+xmGpyu0H2tjOoTCczHNlHEAoiQq1L3g68auiqwVJRBhmnOJ/P0E+evuudXfbj97rnMJlSxE3iankKQ7i0ckBVmnth2fWQLzRgufugKanyPw837W3SvsHsQzCKCTq7oIjFhns+BJBCmnZyZP47m+zHLwVnoRKFUpQqUiglFBs6kAqZMX86BVzox0g0iDKpiTJT2+B171rxeYlV7aCWHC/d9mNtAYJsgFbBrAwO0v3ej+QWi5Uy6QSpUibefhSHd/4fAPWV3r4eeeOxkcDiAOwhXE/SmJx3QXaZTYSHyTe4IFyuC7IBJseL4MHaQXdNTg0Jrn8YgIn8UpWAPZmtEkhhV4mm8Dt6Gv27QnOwuWA/T6+lZ+fuFiYb6XnvQ/ILsP83q3ibNUQC84qxCh26Si4nlVVXiUfuwA0IzCp1hXqPCbYnUJJ+yV8zecLkNfnm/vNmBT88/ECa0ys/6em+fZRBffpCJYMiFErUnD81qjicszngO1oG+rSCYjrTOfWHT334D//wnvqIRosbT9tIy+n9raHPxPwmyFJkEivqw14cTKZWktnFbLn/tCdtM1WT0TT/nUX441e8s1CxSsxNYWv4Co1fJb1GTKFvZdGV5Eqd6O0ATZ5GpNuy18PlRISKl3wg8Sf/nA40BWmQcXz5/orlK0wlyCPLfwp7wiucz34rSSxDbaaoMmzz3lmEP3yJOwyVyLVikEilEZMnoYpTId39AWr6X0lqFY1DMeZXFlhZbLjrRTHSTwEXFmOk3WupkTJL93sdGvw8YFU5KG+hW4qgZPN9UpVCOn4d3n7WCO1a/sbzf1/k5rnil24TCSwKwK4W6Ekas/MuqEheJMFD5YucEC7XCVkEleMl8qIi0F2zU0Mq0F8NwIQeqbqQnc2GmBTqSbSFP9En0q8IBFfUjT81E3DM3bWB3K+OuVzzBud4zQo72X9AMfoZwspr/sWj+4nmjAn0Es91QPvzNQRMTT36/DiKjYb6Il8DIeGVmdmfopBt6yp+nb3k8kRrzvKAaoLx94GlA8/q0bkoUG7Cryu+wYBQ+9lQ4n8dnx1w3qeMp8v5J7Z23PEvKozWclcEArzVFfVLxH7zALU8KFwQ5mUGyEolhsJq5AGfDFGRIz9CirhcSNGPI0iqaAio8iARcyBEstuGk5OrrLoYTqZtodudlBY1U0NustmbKNrbj44Rb6E74DeI1LcUM+XtiPjvhsyGTNSYIDKYfUgPdhwbfBIEQ4eCbz67DoIxXOhEKBcz/6RCDs7FcGCTGOyaH20fH962bEnOJBiHaP6aXEqGzb2CQeWn5dxfLLaZX8xduqwpOz0fhR18js2AJuDScpYP3VuW9b1T0AzivDVbQX9VHNoS2TYUqKctkMk05oCm3pj//qT5vzwOJzKRxONCOhYNTYOisWqC2X18Em2ZfXMuH/1pK313mGHNa4LqyBSYBvEhM1C1sSjBLRJNoDbRmMO7gpiFhIA+t0AU47Cyz24gKtAz2Zf5SP2p4pdw9bkzac2yklDlTHkJpTonLigS5MQp1fLgjMqQrITWnDszc1KENzBDHry8ZOZJXXOmf21z3XXZCC/e7ebBnJ6Dv0u4S64jlhDrSMNZ44M2x9Oc37ZwlSlK7pbfcp46bPLl7/BjXjJJIsMYcHVewnWkOLhLJFdG4oo0R3eQ1iGF6my3/h72vhvG7L8/XL718AQdA9HSUmHZ3OwihbaSX6ldHyBngP7H8cu4B3hOAfM865szvWR6Zt/SaEk0ABWf5aF3knCjNcYsKr0k38ZXz7qGZQygkcDnqgx7lqqIRuVo3eAsvJyCHfUZMqmMkryIQDXzJJ6+AoMAvrdLt2errXQqV+dKweIVsouoC/XK9Pjrpv49MNSdBmXa/UQ7W9dfEKIOXgUzkEgUqYIdiCVOxX++/6phVtGsFN0Uhj/AmulwDKpRXSUdOatWJIzgNRpcqUAm2NVLvVUUHmytCHlCsZISmscj0nNIBuxnkgLcIE47nA288boeSzDxh58SiDqYB2Ygk4eIx5YTibprEG0D5fDcgoqBNsRnWUVBLrz8ix6edTGEYkMhlkSqlY/VQl2QrIlZEKxwY92Gx0Xsu2zr48Y8g6QTKO7U5BU2AjwA6wrrCgDA09jV5aLk+WGAnQ4yewedZ2YZ5dl6DeLgvr//0xAECpNCtgN7wGugpGZfyUOMhxK3n7Na3KVut7Asl7uaJbj1JBlpPU6fJfR7CPvvy1w5Fou3evkvFiPL9aj2oWgzKZm0XE5ErS00R+eEbVEa2dX9Gyj57lXCxG2hQT03QN0bKb4aq1syD3b7eOfXjq/vBu8ew53Ge8ct0vgMe+vqWUc2wI+Yt9EWfV/+Z1rF2zHBD28mJ0E/2yBmP36pYAcRuJ1oI56qjw7fLOTmXzHTJx1WFmRTGuoIG2meyfp/Jce+8X1zLLKpg1MAfJd82f/u+GZKDEeGIfENZIe/g4H0fPmaDyvWrpEPHLYIhrz5yQ382Oylbyze2Rc3w5uQKhrKvRev7qcUtvOYwSrfStX0UV8qIxjySKuabs25NvTGvvJ9I/GrJOLeRmSocookuUhjoP30IMMNc/peIHoTEVOqVx7yrjzCDj39qD9Sr3Rk4BBxVe4E7C/vEN3QHKib6Jwh88w2DOLDb5ACyG8fEBhta6ZYngm4GFjNovUGdOXC12AmwseTdtj89QLfk0nZv3fs9vt2sI6KnyVKn1XFIyeH7aT6jgtCqVZV6nNnk54tJ6vyEiA6MpkiCfPdkA1BeY4WmKJ0qbkk9VEVSkhwRo6bJmffS/xfG3eXiCXenelEcUfONfq7smu2Aq6/1YZS5HEW6aj+XI62jekpoc9w2OkzJ9UltZp2Mmum/bmRdSLi5zOureDaiRACbC4OWEArv9pBMcQmQWG8bMP6ZUiztdhFz/WwnRaHiMQNILEZ/Q7KBS3oZ8a67BzeHXZhvWQC6XIz21aj9/kdDp9fr83G6qsZ6fmp0b49IXs8Y+/ZDsOqhPSZX6DXYNiYNWjzk7b+Jx1WdyRzgg5RI1F7EFyBDy1RwsMiAbSEozCj6HQ5ttT2E0ejlwfEwu2VHp2+gj7wB7RQqVbL1CpWqM5ZwYkTVBmLw+HRSOSdxfLuiIy6yOKgOoFyM97BHRUtfaNcZ5apv8dr/BPK5jU00hdf//gaT9UvVqnVRj70yaMKYPJLM63IKXtU9amOSdQejOwkaViL/WBlLdUYwM/0ePAzjcW1NGUgZk518K0GDk/pto5XvDb/4/7H/Hq8ym1WCsyCiKPw2bYdxqxP5s+Aq6YmB3ozjvq1elVLsnduztOVoMDKPIjv+feDWJGxuQ+lIYInQ8qKVfP/RVHhpp89UL6lTsi3Fy5X4GhCmURScKnzQvFX8HQe1fRtYijSALC5jcBKcUAnf6ijvLlbmxUKmIqqS/zJHpfnTZBF1osCx3ac3WVGpfpxtqraMNgbhmD37L6Q5EkvI6ZQjrwVfxxumDc/Pn+XeZcTGvfslU7bQACsJnR9JZ1if/HsqnO6ar4f/L7SVQl1BYvNSrmsMnGLfPpsPD5XdU+Wjym0dn5T/M2OyTYT3GSbbLj8Q/EPOxCkbAKCkE1CfCT3xn1btjm5WA1u0qAsGzqWNO2syEwuVoEcSVlMkFuVXDF4sMrG3bGURL/uV7yx8ZeELEZQ9KdP5hesPzsHWX/HGRM/4QXHkfb/SAvIPyRCzjXKkHJMublE+bhMYaYi0qpoAe985RJgMnDUfLLskWq3+VMzUTWYGDoQf/LJb1WPHWaHU9R92Nf76IvHFQ+dZqdz+Ofax/1bGdOeJ7yQb0h4l3/TPXKipKy8REr1PHJ85s9BIUy5KfRNGc+RK5AynMiiVUK7B7H669czso9nZw2unqC6SGvKLFAd02QyVCUsqMz/g5tinEMCEclEEMl0aYP4ya7CJ72cx73m2nS716zhPGikP1oveNTLe7iR+bCef19r9mc46s19gse9sMr4lDj9ccKKMYx3zT2NvCcT98zeyb0/jnfvo7k8tXLPl1gR633l62hFqQ0xPIKyRUuj2soiVipub0lrwy0ASk7iWIrLKyuLyy0cOQkFGJijnyOsFcr0spO1ZVpKLSKIqKUwWihsSsva2879zt0X4nyP34OP48XncVOv4074jz7kzbrJky6qvHI1vnGqyLKRbbr9+QuhtNCF1b46Yot4NK506B0O8S8XS94vRy8O6p3JCWAwINmpD6dri436+a2j839Azvh1tPhecX8/6nLvLeW1K7a0ypUmD36a24XvM3hqSErAeIdnUuhzj6xA5qWSTRXYW8+a9YywuTCQQ5p4d4LT1nW5tF5B8nCcD43jHP9qPUYdemnB1x/fKMGsImhrvpY4yUDUmVtX2FPNjQR2KrOHhVXmDomV/ipCIc2YG8qX4yYQhSZz91L7RHN8ex73LRergVaLVCV1zCtXbGlVnxo8hGlOJ36a0VtDlgN5OY9wjYl/1c5LOO51P8/gWbhyG+/Z0hX6LPoEfX65G99/n6OnNFJydAah4x7j4zFs1JXmOv/5SHzkwvVRam37IbHT9SNjXT7DxaCtpv/oArsOAKbpmR+1v7hiILXTawBdGL+59kmAbNnINt3qQdPugz4LkA3O4zu72VZRF5PB6qX2MFV+3nqzozPe6XA5/Gp5MTpcXR0KnUd4r/8f198JO8lPiUziU/LOdudkaaWnsnqwGjSbU6VKNnnVByJVfwb4St7fhsdBVJdGZZWeJXdHbKYCk23k0nFSDr4An0M6/pE7QysHFDmhK9T+af/xbTMI0l9dmpwunjBp4ZrTW3H4rKpL47Pw1//LQJcoAMf5OE9uiKA4h/5ok+eB74958uk4uLuTe//39g9OfTHpceNYdTrqAYmuIGMtQS2YRLl48jE491e6gqB4f76Gr8YpMmiJkUT5sTvyyUSr16W2Nttqgjg6i0ufJZEJbu7MaIYx0pgYf3V6E4rvwPE1eSjzdNGZPhbrM/zn46s7qFABFqC2KMHQaahsKeCzHIrx8MZ5d7MzFkxMPbBteqqiJLV8QZMiVS3tuv/a3LHEukQcE0utUi8ZzT08ctTIHCsoIgaza8V6ZI1Ef8YgOQIvWqKCh4QCaIAnt6IZbDWLYt8nDZ9ycMJ6eq6Wpvrk2pVnDl7rdoFKp5AoVDrBaHiT/0LmC26clX62yphx5eFkvgcjAqnWgrLf6cbyC6Xop5/apKIpCYr3G27NTLO/UqSnSSZM3LDm4NZs0Bi+I9LxBEqjKOlNcUGaSGVSMGUkhkxyvo6v43lPp5LKquvhCYRcuCFuE4kL/MOc5i+yxSu1SsUx8RLrkh2Wsq/NYzzPab0FFAPRzEmxYJNuSgT4/g6uPU1AcMNyfNO4elu7AJ0vZ9xrR8PnMVDsd6DBN2PR1COnTor6ypI0/CrWGV22e1sWY1Yg3BsSdLWiHtp1xSPg2SUx2ZltsUioUshqBxX2SGuMKzovzvqZSH9I6SjN8XAWPwQE1eS9It2xNoFKp3HmuU/9/VS/MN916l0+o9doY2ZLGPs3iQApEeyc48FyuV6sCi2TIsrE6jNwicWW2HosX6FWe9QKGpI8R1fXQcxcNDPn1/D+muwX6oI8fqIhwJHB05klxfTGxEAJW8F1YoRKWLDQGBeodq/hP/24pRi/WBSorTv23SLb52H+jUMduWNmvvFT/NosTdhrT1wY/O2wxvKZGeSjdV7M2b0Bv/s/VTZR4sX/LJf+o8buQ0Ev+R4ff4ugI+RukyEJMKe3Z05abKjn8yWgprszxnEWDBc42SYWvwcNNxKuySdJlGss4UKpXtnrW9lvd6y77kuJlhbHBmKtUp/AOFYjkGZI9Cx7hnfRyQdDy2UhwRput8wqaynykfJ5XPVVbvFZfUvLFz25QDV+kZx3OMG8chXVtR5FPcyKZ6tZjovXudjb3/T1pS2ceydO/jcO4Zay58N+WTrmOuXH2KYxfyzYmqBZlQnllgd/FC9eHLtewk+fHbxRfLCpZDjZnL6Gjk5yreHt4q8uDvvV0wmha3W6EvJW2459x2gd379/i4Q9I0p9UrPbjJavZ/PtdPf00aWuYf06DKTfd/cfNSf/ATR/kjNIzzUBFfk4lUNhiOAf0ZRKhiefo26gWYoJs9xuUll1y6nV9RSzf04f8l5NAAzRA+X5OJwiH6iS4OpEFttprNaljcajItLwqzA2viwmin0s+WIj8+aQdh7+Mxc3mwy4v5E3fIeLcD71FfA5Rbm70fKKyqx1Mp5QoC2Uz5oS+ic+GA88XpAQLvCEC8Jx4ed83+e8H/Jr3Th2gvcSsUYhD7jq0hfuckoZOKQk8W1aqqyEjJ3mHFZVrfhm/0uTNoAXficlKPPfQEz0+rmvOxsJP+BKMb/R88ZS5her29NfxVg7LXbjLI7NU/domSwRro1TrMXEmb4ulVV3Gy1cnrhv+OvMRfdCt698tmIHtDRUF64P7wdvJ5ZS2JElbc11aV4xp3S8YAyAOknYrBP5iO1TqHXDGQbM+qkdxpqhcOvVPXsIrE4qnDpLGApuPsj0xUcm16w7ANhkgvTB9Y1BLi/OW+1afUrfei6csm79Y1d/H3d+ilbKieo5jfnF7pH4rIN0A1STa6bRKKKxN9EPDv7ljhUWSN5LYqXYctVnKdvzc9J+0e8m0mtC5tj/a9ajOdtydBGUSJfbYF637pgBd6wkdejhuNcBj3Cbj18gcYzvOR3/DuXJGwATa/qmUIJX/Asp284xxM+3Abc9t+h7jsO80alRLywOew6z/378TOWfHsCwfOWZqP02z3BW9jJu2cYUJcI9t0qKbjF4GzkmE6msunOQsrPceFX/pJSN0bcr2/dnSBBuxKKLChiJhL2/Tp3OTZKxv33lW2stiwFakmoCZPq9PgvNiOaooVGZFHo4GvEzHs1S7MkKALJLcgxNDWPEN3kVIHS+P9eYa/Tno4k8jc6o46mXCtiskA5AN7I4j8qOPsSDJFpf2mab37bVT4+xLblFeUo8WkC4sRzwV/vBjWRGnt1oRjDYRnIicFJs3xQCfTIljwLkcrgyZQtGiWeKFBJhvkAhFtKWnxvczfbRKWNvsbfj1yfS1rvfVB1KOhFrgc21JAJ6itlaLUmXbiJKEeX3oXif+hFUIUKFEniIJ9PB8Ylzm+K1Psly1OymJamPTcVW3eLLZOilVxXdWFPv0PDk4m+AbSvo8P0ecxbTVEPLV0tDWiSD8xqSmr8JFy9q98pTUVEh14DpnyO6X+P84jZbhQ3gJlCSFurS/SJYWieuPQjDderSzXr09xkyAnTFLrq+Yd5OoCZxyOUZ4vkUFCgECFY/olifHgN8XmTWhryXPDdG6CtYXFdHKquuEo+clbsl//vRiVqu8IWQe2aNfuWzvSi0hr/Ph35Fiy+CP9D9irIyNlTOef+bQrU9Bor9CeRrOmdwglCmT9Tec5Y+PbZpbqmvhHrp+EGp1Cek3jvO/Qy7Jomyxv+6+qekWBd1h3i+Bm4Mi3qK4BYAZLBr7rGB6v+wp59lf0HcmsTY6v5QdSDJTp7LWsWbQCtjaX3FwnbGZFJCRQyloI3GV3od+rt0OVFuKdEmA9pzGojnFoCm+ub4Yu+8cp9QsJYt3T0UG/L6lL6yAAfCzysWyF0oYVvj3P4ZtQtKmSYyEDAxdidTKNWpXAqxViAQaxVL06F/ranRpYZyU7W4W1kOvqggLFQ50Rx9RNntI2z1E7lCg0jGESgvWCe3y8mNX+4GHSPYlUJESKz6Ss68akSpSAyPSFR+tHCSb5JYRYpmUE5QqosoQ6es6C+8zLnet9+3093g0+69Y2SoBQJ61UZ8LLO/truu7h+P/ZkxDRtcGEar1JiIpFw9T4WUq/8juOVcXGWLDXb5r0PhSPu8eYsXTz9UW5Op96iLnPpVWOyn+iWWJMr5R5ajCa2JrbuLW3NVPinl7lX7FUB3Xuu+hsZEla9VePxQe89APyiGWjnQUdsxsBIVA/X3DLQfmv3Fef1sLHa23tDj48rVKrh6oFUJCb+QQwlirfoM4IxGLSbIoS8gYWWjZr4SwU3UgN99RWxLFKxuoJofOlRWnVA/my1gGVZFnaW3/ure73Rsz4J0Nfpx58nA8OPhtphX/xage6vmbXoyrBMOX49ep3/XHm2nn7bnWEksf/bP/Tfld6LuX//64315VNsIm6iLUy0ufJtWS7NYnHGabiI3zp0UuYpmdv6INLviVN0kRXxs9SSCOj8jT0eWkPN0Gep8wqSeg7M+9RG7R2YtnTfnUfwRK0d96hJmfXw95tKpj2BNkTnR/4c162g8DgXzPWixFd7lqYGtUkQrOFrg9gm1Oyf2V8LTioRAloolpJqQPDksKBYjImK1B8PxCeQatVwt1whEL7ketVxTZ07KVOq0okhVKvDBORZCW9WGgibYoVBoHhQGXb1k7mj+zVxI7s38eTMHzUkO36OhmADklZ6BD0SXTxnyPiybP29+2bwH7k8U1dAZnFKst5Dfs+MxCuA30GsKfRzUxATFAtul2CWbYkHCRBTHV0ivMfgBqMc7+D2FPgnyA1653HY7dtumXI7/gJTcfQm2lLGkGlmTBkfna+Gp8E34xqJy/G4YGPonmybHSJWFt6Jcc1XUJGNyBcBZXzDMbZ5l5qTaD8ldAHH93uQykPoPqBJzUuxSwDXoPIjk+Arlsd/K0ADWlevqHoFPgniudq0O3I4NpnhVR/PB8kSvaG0XKDa0TatLqU03b3mhsmExTnPSjCVvxi150wuqnQ4o6L/Zf7MAML02Zk6KXbx7MQaK3b57O9ZkTtoJig1dHIoZhnfv8A37dgzFxEYugBbBuh19Cxfa+zzYMhrgbdxbAK0M67H7yxx9bmzk4+Bj3ZVWJH9VYCMySDJD0HhUxDhqDBpIMgbRVvBKfvnFpiyxis/W2fAIGFCieA6nw/N1bA/5Got1Nv90LNvRZ05yPhlabQdaXnxtLsjLk5xnbOXuGb4/dy/CvR3diHeGfZb/Hzuxe1AE1FFs95667+K7Zx7vIDhCD/nr1oT4nr6vYqDY/LCxRZaw366Xvk90vyPB3Taf7UjsyErfypJFuLc3NuAJC26+wYV3wFF77vuny7dTjyWKpDopa3Wig7YqKncIfRixBvZp0495kcaPETqCsjMu0qNVdIVYJ00+tg0MjnZ2geprbsdAsYu14Kr25gjXjRaqC6Iy6ZsKqtuB4+eL5Vqvdo/xLz8lFuK9/PPGKOCtg0GOm3/zLe49KPZtA7eN8AEh0aZv6sbuQeUi9mC7XMNHoubdP5RWN5Wu/h8BmxwhvacSqe9Jh+6FXMNzojnuuCC1zMCHq7IC4A7LlePuqn+rV3ysqH73z6vfeoyg5kneHNk7QIhQJgke/Cg1B9TkjxbtkkR5WLmg4no9No6tr7gukGN5UUnRrtF8DTAK/RjckEQ1qG/r4vfqGXFGffxe3bcozdtcsL1LeMCk+dtOEqj1LA6YflnRGK2RLGGlUM5JuBbsNJNsepxf1Dal3K0zGU8CL5WvGMDRUGYlrxQadw3XL0hZlKCeBl5bMWJ/NilxDcexnd3Xq5AYTlRaNpR6UgNsyS6o/04cVSP+6Ox/2MmI7xhfZmZdT/clTw+e/WEk7n7YVp46mF2OlKtWHSCRnK7hiZGPYoo7bphRVr/xv8yOqencaQDq9LpJ8deBz5tffwozeju5KHU92WQm1Egl+BqzZRpTo/xNflAn1euRSKN9JrN2NmMPDGJICsizHrQEvWBUCSF+Q9yd0QWEGtuGhBmcFp2QF9by2dtPJwLX6MDU/q7uaefiFy16rZGmSem0x/MdQdew88K9us0IrXgmbcQ7t7v63+raI67PormpZ0urm6JRmKdUwomQxlPp1PGkn56E+pzUH6hGezfRM5+8ccdH4t25/FgxLpz22BPblJSqcJU1bj0cPlx2tsMY6TYRP7XudZ5dAgYFSypdSoOAEeBiDB2W8KK1e7/8cu3BRZFeB9Lg57OsErWrpDYEBns6wf0rN6WsWfClxrkWgVetW9WtqqMYffhZfj+prLodlFFboCZSH9ljtu2nSh++TKyfeX14OdAD8FY4IzX1IcpIHDK19WLnKEK1seP2XlIqkU5MJXWZk/4oLHv4aCgm34AK2nQr5Z0i5tB1jVVzh7yns5ZYl9yI1eTWu+78zAqJzrJZ5/JXx0BUOqpR7spl91Y2VTpCRYUD+WChf4SqpHLEhz8DOEsVs7yUfQMMuciQAjxedDxZJDYq6NcJRbRbEemyI5ueK/C95FP/34B5Hpb9fiRploV+XN1/2ir9zqLk/rKhZ8dNZRyOUcRR4miCKSw4621hadGRy0Br4m5fXXDvcUCksTbMgFlXOQpC5vuxBzHamT2jKr8GkFEY9j4sW2MwJpJaDa1owzzdGVI/NIWx62UAgHLrDUmPwCdFfOAaV6JbDC2k27FdijX3UrF70DWCKKX9erOpSbUV/L3atbq44evPGjNCapU2x5qXWJc8M0Xdt1KNWpYXHfRqaJlROoXVg92EIqCGsPE9s99HLBCBrBFqe3OWZZKueHL23L5SXAdzpo9u343ZfQ+HYvunOWU19z1yCTRqTcrsfydlQ/Q519MmrbqZovatcBcShQDzcKpjZYHbVaeMKWD9vTHIXOmQOWnnEOei0RvzS+vd57l1xy+Y9AUpa2ND34cTQetygKa/2HbH7uuNLWQTtj5K8k8Mz2/4DYbtiTX1GTPLguaZS4dp27rdYX3G+pmJtI+6/swlmsyn7t9ddGokqc7+nLE9kbnd9rxyJOlErOSkpcvatU/zpTtjzSOFG7fLW7Zzn/H8dOBhWatn99By3yrfCvcdO/y+VlyKPDbgeLju8vbbwN1EbsDg3L9TP45em7zAsODXnqyzJrjv1TYnYAy0bX6ZN3zLp1QHZwVjQWUjjCuJfhyWfrYczHEizyN9XCP2H0yFPyZQYpwj9gLmL2J8fe07Na9shmt82VRgac4n21bE8rGPXXxuXrqRRKsqomk/gSpq0AYtvlothIUKlU40d/I4kFM+EcSVacRuY9DtBqXa7ISoqqq0zu8rravScmPTU5i0/B9cOsEKkoEipm9Bo7+iL3INw1dU/5vjjsutdOSVq1OzotFcLwi6giTyPI4fdB0sjFeY1IF+qKFQadHqtBRVSmdOfCTg/t4GrtGCiVM7u6eqpLCSqeYCGn0gAh7U0j9jDoY7LBhDgMswCJQef93Y4DhwFDxxbNBf6VFbJSg/H2nocXjaQfZ7r0Xt/zek1f9Wf+STSY8ifInBfy5csbrS1IU1fe7CJwCPncHVsmQdodsHEiNJv0T3tRzbCqA6su6ijeyaue0edtJtDSNwYLjq3+rdUOFesxa7FtPiv/hQGG5UGhh6epMDjFomlo3AhdG71V0PaWEjLEb8e+taFLD4+rNnCrzKXaWMK+e75y9IV/oJCNm0K/Vo2PoeGaa7z7kj/R/KjfFtvn7S29xI/50AdBbMT4iP4N3G1CPhmoRSzQCNjs/Gjhr+wQNPDu6YW4f74xsj2/qbzc1mz+e5lCFHtD4yfvg8BP7++dyzMBAAR6aFUWHGrbxMsSTBMB1J9kasqGRKY0oB68SNuUZCruGJwNJsBD43+H8U2VG5TkX4XR9w57rfPf8rVEgGxne1fP3sbewNsatwSfFJvfs2/s7GiaCySJEavLDa4XXJCdvO/9Fle/dwuK3eq3wFkPxlTTrJodpLnEcCRf8eWu1e/XLHtM95CTt4vX/uII51OF5HUG3SP+O2sVX/Vjc/z3B/H30d/e4VE7S976WixqQLdmKexsuJQMvVma4ZTUm13e3GhP7YxHWuDa8aQd1gF+Ey+LufI5dXVLufqQOITDm716LV6ciqlE7F7yFkX9gHXKMBk0bv9r2d5c0hRjcmGttX45KpR+Lfgg4zHKXXNRwnRtLJ9FMtZNiE99IZeSagMo+g8gTgl/uZoVQzvA9SUUe0OKidCWYHpRDdHYzpxw+uWzc1DD87KQErz3uVpxufUJMwHsbzfXklz2tI5zsKiKoh4hy/sHphw8QZ25IWmJ9l+zhjyMbypvx/Htncs2klJYwFJTbsNIOnhqoevzmeXBovBeF+P5+twPexkDaZoBjGz91SI15YurB7fn3DlPkLo7rlenLlSjivK3FqXPdCVaHwqqVmoZBetXrRiNKiixQXWxZ3V7MMc4SkIR3B6OekZOskFa8TTW5IsLaVVSyRF+qyNR2h5McQQA7+YxR2q00FuarkSmRqMSP73ZdBSxH/O8cqLOJdGmDyb7m5sx+QjX+ypAY2BXXqdQLmPyyzqFAllBNIO3+ug8PzcoDZLgRO1v2TTrtXse5x5AVbxNYa4cC69U0hYvt+UDtwWIpma0R8gVmnE8gIeWuvlsDhH/PIvI9wz4UBWdL4C3/M2qvQGi1KHETVRdkY09Kc9v30rX1YplLEERRpFUIYGQqCkmFwzh63bg5jplI5PVs5gyL+WqE1iaioQ3jAST2cpObI5bAjCa4/CcAfQlGTu2puQx9ngjIfQ9XfN39rQXIWOCu54OOqWUnB5ajmUhbFtDSHfb9sWxzLkos5AqtWqTVallTDKNAkKAWmHCY0AqziK4+S1Boc4qiSMyOh/tp9krM2b1U5pj/8rVQ9ooC1BSzzwBoAywvrc1/Y1tpWcW09OMurPXeuRaiVD4u+A9i+O76vHMe7NkZAcF1iMKRNUo+86w1QtOCWmu1dgg94OnDaB0x497PVrdHR7NlPErMae+lA3+ni0wAfvRc0uJJ29kIToAV4G/rUW0bD48Ttj41n/bTKU3MlXVGoUkllalWhAmGu8fAzN9MhZEYUKtQvT6VSFKZfOc7eZZ5aM1woV6mVDnnhOMk7UF3shfZxcjWpFs4dbq71CDJbfrplMDwe5wUkZhcf2ukFjHtiMIzevClu2TVq4Elo56Hi7ETp8XK3bo6Kx6xZpp8KB3gHAtlJZw980T1yBofz6L+uNSR6KCkrcHCnNLV1dHRAyznzlVhYzVLXoGehHkKjowUOjuh9MdDA6TXQDuBu6kkP4C6YyRi0su3bpgqFD+3serZH614FpknAvIp30xPPRZndi1bjuq2Bdm5RUQeXVTe7upgBKeZp3ESxyE0AFXqZ6N9X+6Lz7dGbqDmJtwFOzAjXEERiN9FhFKcBHQvaNQR667mb/egPLJ7VK7G1f2Pz8rB/r83ykC3ZQ0gtnU6RTXYd+RXz6zF0FVLLL9gEQ4Oe7HkxZ87LVj/rXh32VMgSxoUOLKMqoE6eghX32tqpKk0n3e9kNSuDzkEzlyN/Kq4xszBOuciLYLJc8P9QNjo2d9zzr5fBreVevvzrPk+5Fb7s6+fjcrF0lO2pG85iNqnwywrjZJnFNU85cjPXORhUspv9zk66WtVO9dpYcQUP6qQqlh0IjZMlVHj44tYgRJpUQ56Utv5Z/yMkxjNva21p1v+/4A9OnDD/Zt+je8hhlDAyMW+VPGPv6pNoB1pKCqBfQtIhL9HOCejHS5GHs9OzDyOV8h12A91Nzah/n5ck2g6zyrlqJdy/N0ghf/5MqbN625GcxUppX97V1rJGunig6LUNBzrbmlF0Yn2SiTjPF2k7LAPLEIj9bA+3RXzzTCSTSEM3CL0ohG/J1tTUrUtAdXcvNGjoShIv7xVCkpcnQbzKM7N28jj5HJ42pyz9L+ovpc1yXkeAb5BwuWTx3V06865B0iHX8vQfYe1kA/QmZDwerVuhjs6utpMzwJCbUgpUl/xTB4z/BYoPmlEmmGT7GNZtf3Hhg/WngjBMdWpmfuR+NhVutS4ZdqpiPO5AWe7OnEk5O3PP1uy0ejFoVcFpR6rks7y1icvW5n2c+BJZ47up7FzIcM+GtYxIezScjvmN1qIqj5XAv0Heyk7PvoWEhuAkIScVj9avUJfP4vUecPKVhNVtG9sGreTdcPhusnXw9ryuhs685dvrIU2lv9d3kDwk71e3vzWXGhtp6FzI9Z6FfnZF047guWHHc8RJNfmT0tY9a3iEwORIsDVv4n34v/5t+s6UE7f8e72kJ1Dk4ey0XoFO+W5ih0L6vSlzTR11a8TEB7pqMerrqg6U0eAl+ffeCrQj+ribTzjjUVuaO8ym3u6qPT/FtUbO8/39DTe7vKelwSywIpFWgbmhZUF5e0daf7ozL1ETfNPGXV7UQVHlQv6JbTCyyzsT9PTn7+JkVBHagSbs5OJhZYCl8yGSpBpSvXg8W29Y1T1T1FG1RkS8zc7sMiBESg8PScNzZGXWD6C5BzbWJW+NzycQkj5i/5ibmfsn1smIpvaDkOcm6RyD8h3EQdqbz9RrPNxnyoIRY8repUZrgbFkz1B8FMXrd6CYSK+O21RxhJ4qQyJlqfQjyhtHQnr1RjFIt3bZlXsakgc5net8XbdlZPycEY5r6d2hm2asfggdAUtk7R0c91XwO2FV+8K2QXn+Tjh8Z758sG1h+yrojA5f1U13dhBhsjtxH6eRhobk9u73rbKp5gPuKAsB/V/akrQp91gNb9PqjqFvnDVmb+n1cE46x5zy3cQRjISMOd0+aLTNUtDkTAiK2ERJQTXMr26dMm+Wef5xf1G76o72uNYPy9GuuieE2c5Ya70MUotE1kJk9a0x5+xA2ozMeRktTu8VDrRDcpsqDHokBvLboHzcxAMsY3Vhqd6jvj7khtVzTR+zdEh/kg4GbTZqR5xFa/5aDf5X2970icxAvjT9fi5yavKzE24qm2QoaC8wkEgFhnZDAYntpp54ljwVmXs/XVqj0LK+oYmMnz8dSFSIWkLuLrrGt9zKUD3P+W+TIg3NjeLNBmqlVEqtNBuieC5akbbpX8hzhmq51afpoofcouZE5UCOvUPWNkGaXgHrqubsxafxTy9qEsYMvQKamnpkrRW389vx4Xvx2Stc8Nl7w7PwzoLVw84IGX+BbXhj+6R9kIoBoke4UlJNjkrQ/b+ffrr66ByTvv4PR4KiwoVPvFdRef7ZOyddpJIllaM+ocSt87UBTH4Ujhm66eY7+qOQzHvO5+p3h2FOsAnQO28DHMUuaecEEQVW7KoGhc4RS6Erf3X3KnNAaM4ksPcZ85vz3mBhc8E8DsthHN08ahnHymNjrnBdc9E/u5hp0R/vVoHzWDvTt0+SYfhkTrlY3ml4jtT4djwgwa1kHl05m7OYsprx90rqsFM82R2tLARIJs7hXJ/WyQ0HR/1DaUw6RWN9habalpub5dac/Si6XXdIV6b25K6rnM1ZTJGMCVVJRsrcKV4ZIU1YrJwraQaUI7V83ZgpUBaq16w0G/2c/Si6XXdIV/4b4Q2ZqXQ2ZzGlSC9Aw7KZV/7gBpkXwdmcxRTOkHRbAlhzmTxaWRghTba8GFhptc3Ei4AVDhjheo10ZdsK7tRLpjAV6RB3sy8HTGEq0htp0GPKVFx9V5L2NHMKDOhsnaUpMeOQ/YHuc32Qay1XokmzNFoJe+RwREc7UePLTjMn/5u5fMKg1CZOipSKsnmt9F6oofkULufJ2+0yqms6VjyTTvqIYDjOMq99cSlZlgslc4u0NbDzOlx0FoBzkHlB5WzOYopk2F0G4iYm60pcNAXSvOzG0iVNmhcdp0r5yRVyIuEvDF5ptbs3LkhHo9foDunKnjncjy8la7LbChXeQeY/4SyhWLjYKEB/mHcryVZ3i8Wi4RtkXiHO5iymSIYtCCkTk0crSxYXTUzinJBWVeKdzMtTfpKQDS9DeaEejM660df1DWnJgZHuWZdM4QyQX4TeAtQwRTJs9rK6doVseARIy+FM96/KWUhHZJdxIOBBHuB+ods8cDLjPj3ie4yZfJu7efTgqH8ojUmny3cafVffW57I2a9fP9STcaqqhk1Gmebo1tyNKw9wP24htjawfTSH2rpj3K3BgzzA/UyXW7YKDM3lPj0iPZNdLwZWJmw/WEtHo9foSZnK5grudpfSb0/qCILZ3HJzMhBu36Rsl/EtwIM8wP1Ml1v2Uln+W8v3uXoEPUbR/TXYKWMKV9ZVHM3rnyDSA8YFFf1tZi0E5OwdpJqiyCKvzUZY6Um6iOMVrDPG7YDJgMURZS66c/7S3dZ4kAe4X+h2wyLS5PtcPYJes9Bzc70f23R78smU8pMrfYmEvzl4ZcLuhLhtOhq9Rk/KVC7N4bYvZcAMLigPGEt4QPotDFVUuoErmbqQQ3XAuD48yAPcL3RbEMdM3KdH0GviHmaG7qoFhJHyk6QvkfA3B+NR3ej7elzGUB9laNH9mi59L5oTxof1j/Rb3t5gBdOlL3FdAnSjNWB480B562gOnM/CIsOYcPVQnSCuJSklI8cqv8ENBRVNgoVGB2ugDM3XBSePUSucE/XCidEgXFsaFSu3JnfTaMYU9ujy5JtzjuG0bDPQBbsZV714ePliAIdBwd0b3j+GpxzgKOIPx2q5rJP3U296TFyAa/m7a+42f/YLdwJgZ/Fy3hq74RLIDlDPGbeu6ov+UmngapgBoSuDJetAfBvqD4duN6YBeRR8FMrGtwwW2/nqo80Em5tdNzR/26dNk1l9bft9NRwuzTt9zj3/jUs5A8I/80UgTAYJ5Bszr1Q4ObT8PQk5Bn/xHS7NuxBmx0MsmT3sYKX3T3Ng16Pj71I+mkOYEVIp+C1xaOiXB3RQQ66ovs64UKR8X9asD61WXfeQbqL+2Bwynq+tb6+sw1TsAf32b+5DDxpvYhzeDufdsew2B6Zz7+uhjd3QjDfDdtubZ1lxMgdlfuhVxRgaQvq/Q8OAo4oHdrgu4YCV2Na2g8RNu+a7zQATFXiz+hmbsK8/MOUQLvaWhzk0KlM4HN9tTG7BDFEXO9CEY63DnKO52GrsYYQW5mFOfWQ8O60VZxqT+7CAxcVe8tnOjQLQOwkHpto5IP0MCKmEN/LJtOUKAJCQjgxcRCbIoCBrInv5gnMAdSJvymOaufnLh/GP/yl/+ulzgCRzy3cA1HSP/XH+b7CX/7w+2H6/t8m+87Zhj8xm35wffmN//8f+cgYPultvjn85sFoHv8+w2T/dPz2Fr96xBG3/KgaUf2qZP75aQNDPhxXg4P0AASyWfwGf/i78Mz51sny7YiAYV6EIh41ygku820eyVhHFnfvs1WHW2V5jm5c1075bNcvV298orhDqVktpu361vtDH+v6bTAqgXtXDtBNbZT3MlKsqXesirASGKLxzMVMzIml7AgzQj2VX3DbkQmAZh/cchBCjPbFkERxYhLFIXg2mYYRpsLi2F3uo5WJJ2gw28s4INPuLW0h7CCOwjMN7DkKI0Z5YsggOLMJYJK8G0zDCNFhc24s91HKxJG3GIvJmBBpIVamscOYX1ChYmX7WBCGFLnqV+fu9ZrYQaRzecxBCCu3AS2JVEFgEYMGL6ZyFq5fanJCRY8naScEUfwmikPw0KtZ7coJWouGMrLETocFoKVF9+oxpHlDXtZ0bT64gsNPSkzfpvf0ydesIuWj22n92vV5idyD0sB9xAH8YlgG4aLzsDUDt09PTS0DdtlnsDvhM90cuB3wzkwMqEa81h6PB6mMBY3ptpPuWe/qGubGzIURI5cPhbIwtudDZxJ4imoNZVIEE/rYLRu2SUTcBUEBJVEqwlkiUAK+SaNhWzF4omyVZuZglBOv12dageMd6mXVuMoESABT4BSqYPXvRXTxY8TEipHMMoNjmAuFtZCzYAiELbR+Dz2wROlBfCoD95vX2XcHpNNwsVuPuORVitCeWLIIjF2ORvMPdSuA4zUZthVVoHd1KYN1nIRO8YoOXe9iz1K9djwEyg1DoPrzkzYkTXpEU2nHpQlxnkjeY7UlFoP5CUkJFr749Lt+WMdAMJugW1R7hRj0cRR+S1GJ3xLagWdYjI1SbSTC8kFbk9dB/SR8GeX7GGG9Df8AE/YevIAL9qjDxgn5dD1u5Z8ZAM5igg2pdsQ+EE/egD0mSNnjwsI4GGRWpsWE9vNEwpBj6M5WkNBeLbh+DTk+28ayPT4cH6nkZgwPqdWkmB9Rbw5RLp1m+MtRIcgV7hH4P9xDoc5PIzL89tJfiWW1POfYhQpZNrbzqWMCXVrTrNFK717wGBrMD8SpSzuxppVpOW6G8mjFDM5igC6pFCFY+Poo+3BNJ586eSVpeR0rIlkpLoK+ZayPDmgkjychgmOvPzE9aBU8SQSmOUjFjBqZFt49Bg/XiQF9/l4rPqeqt8BZBVNAMJuiCahFODPpwD0m8iKTljaQEWiotgT7OteYmbzysXy0O5D0ZA71F9bZyg34KFt2eCN0e5kLUM+7DpVESNyADk69YFQVNkZE1HuGneEmcJLT4OW8Se4aHRBp52ah65zV99LtoKnpS8GzxYCEurs/cS6WiiBcI48Hne5JF+AwzpSZY5SI/IqTEFxmdGw8Jdvoc7e7S9F/r/tE3hzVjM1u7vksvWoXMiCfkudjpKz9oUj+06/fR6M5Oz2/5xrus/0QWk8bMahgvYiCK8oa1dqzdtPqAr9y77KzFEbDeAdQyT2Z9v/cc2UtvsFQ8OJAZf88fY2XMzrRr7bApSXOHDQ178NetE9AJGG/7HVSAjJl2micx28gsrdFoF4FVOT2zSy/iyFPTkTqVmNtBDz5hjvQHGTLCDi1iEmCziNUC5gol52clw1INM5bHEUi7ZkMERV6OoiGeQNU3Qi392UyqeVJ+G8of5+30VZwArXmSiFdEyEwFKR+epF0kuNdq8LrAN+8812xuYiG6+j25lPEeRcCxve7pIFbmlhWS3LTd2pDslPq+544tP/PXbwfKzmf0Wn61eBFmQaw1EJl5VZ0P5J7ig7+z7vtCaCXIchEPvjjh8KV88Fx5HSZPoRhlTQnO+7vT0104mF1Xp1ARrndpSuFoYRLTlA6yh50ojeknenNCH5r3G1po8uemvXubCu/WGU2TunCeKNTSbu3a1MimWSI+p3dfaZRU+Edp9O/9BT0Ltv4BXn0WVK8CcN//QhtwaCnQOWJfCuY01u3a87Kbv4EG1lTDSqJrRowF10Affoc4NiIvipEQL6o3scU/cYm/H2UjftmFNjk3zszmrMX1e1IuA7/ylqW+IXzrsn1/B7CfDnlRV4mGkmRAjZ7UJtwP1wwdU66J+/GC/pKkQjzGQr+lPrMSONP6IDAwBsgNh+eoFEzQDyK/gXgLCCR5GiK8M4CCyCSdyw+aSBm8eOnkkjyL6yAn6IOwVwF0dL8ybeMftGS/emZcUP1H5oi1mdSrfu13pSulwW4vlWtXMLtRyciKYXvXWakmsLAI3b7LqMGT2JgjZlQMcuP7HgzS8eH1OyY49qvSZ0eUN197Fb+XwpSTJeS7EP6/569HNOB/oPxrv1GegPD1u+fdm/pnl++ifMfC+y/ruqOZKjBw/z+wzLK0OCM2XLBdKkx932NdJ7q9DL+nPI2Ndd/v7dlH+MX+gkRsisnCtPvtGpEVOZfSrSlVK6FG/2R0ofSVU5dTyG5Rc6gFUxFvvYPcXAsdf+HS1MdraVXQwav8Un3vjlf97+X7Yh31jXuzZY6SsuaXmZmZkvIKi2s4GIS+Lm+inDmh+gNNKyabzIyZMOJ+EaOCIThyeYPIuK6uh6fZW7oZp55LKqUuQg2kAYFkfGSSqLVH6EzlFeI/S1EOB4YFhpSXxNh9uzDKKNvxoPwq+RX4LDPVGaczDlDIjuUlyIZoB67men+3gUHfCEkIt3c5E/XANSNjVs2X6tjmV+yoSeClurPi2xiaJhuWy2YuivyMhJBwSDmNaUalZud08nasfUyqUzhNfgbN9uq8eTS0zC/w1/Zn0KGH7PrL790lF/d/egZPmXzjTCGXkZFGT1VGEOW4wTN5l7w5eeiK6igDAELHHOrL2QjfX9YyzXaqiC94O1NZc8OwDTUcNquZWfEAkd6xE/f70JFYvzHpfkpMIUXSGh2Rwt1RxuD/sTGYnoqNDrGAvmCibJsxT1vM+PfIZK0inDHcx1c8ZDiiwZ0xMXpfEwN9eJ+Sweg+DQDIIVQLR2l1/j6NfCRVeGXorPfMMXXLI+7zZNq0ERgibtBo5p78j+fn2EiWEEd+ITbSoSPX9w3sgSroY+ubLJbi+5zB5A6szwOeZvYmTAL/UzEVQPb5YKHmjvFxVMr2x/m6GfS01k8OCWWsFKF4kl3IGzsDyOQH6N/jnB4XsovwawNOj0YlYzrabppgIvDZeSYDr4Z762xp0xEQ1A7TCQZPyq5zUZ3zj7HB1N+qVlcv0WVas4I57B3sP9+2Dkd2O8jGUD4YAkb55CYF2S7ikJbS9U9hsYXnH50xh40ZrJRZIRjqoQ+wguzj5c0LvXI+DGX6mRnJwkESqQsfNcPOZz3XNw+DWhinkEFQutKP9wUmeXuCC1xvT/YJFqCd8FJstR0eoyaVsRexI05X3ijo3wBBqKxky9AuRWL57dCGY9zNS0dWt8GKBuQNWXM4cHdEdc4Owqg9xMV1rhdydKy8Cuyt5j0z3wzy+tlFeEFHA1oFAiGByN1np6Snir9U3PsdP9J9O02igmmiqg3coh6EJpwMDRN2pxyT1uJXmVVqHzqHTffHkXjgDJ7EBnVBrhN4mKNnVkhansH47Zfpgm1L/Mj1L8NtgGvBALFEEruYYE8ays9f/I4NeS3hAM3GXCzSyYKlObMnEAysPFPYS6nb1nXodL6L8vPou6UeI43tKNYNKO594fFFYWuVqGTM8cacWaQXaauzTeXvnu/+9d1nfnqFK/ExHo2QZFLl/2FMF8PqKXvas4pQqP8qikoxaA0+gnlzd64HWr0yN7mcKInkomnLzuOWgZblAc9IoUHwpNGOziX4gS+alwC33TldgYI3vj+PXWB4YYB5zOUDCPvqdX2xNxta2D8d+92Ba/5SBlsprWenPmnvpmyLZHhZYQoM/Z+OXY2K3djbqW4v3FlrHU8waa4jJYrcZy58Zj7mH2gxWjEIAf4QMyf06cAgVd5Dj9KZMuBm199Fz3vef1K1N0+e8fCxqgHce7I77s52VipNBbqhx2mvND+n8FcAg99K2w15ThYGDhb153d27Znj2484Dv78eMMeYw5bSZJsKScX339Cc0xrTMcRodlQ8G1LdigOSmWjA9UbGKlLRnIR13kol/BqksMi4iAu7SXytbtRqPMYfI9LLO+Fv/rLze3RU6Mwz4rB3UQXiWSu7mrK5/e4SmfKQM/e6EFB4fCkhL1xeGYwaExzvNFLZ5m964tA5nGMbDGC1+zgXJchYmvc0F7DdnefZs1+vCdM22/jPthRAQT4M6jm8GYtzpuQaHudKnF0vhgOyDIfvfUAVwVDETW6yMHDD84WAHFbkXS+OMXIYzLB/iUNoeFMDIQZZGg8QKtteEk4icinDU2xtxM/X+BTeI4RfPpbAM6b/VYNDttMqwA1dKn8xrc/OLtxBW04zzq8uKHQrE4ZwuZUQw4BlNGI4uZc6rC/6Om3vDyaol9MO1aDOpBBb6ZwQwE/ZibKawNHUV5SgJWZBqhjbCdK1qrVhvVZoZrfhYhizz8KfzqPCPkpewYtB2Z9vQUDfeCKsbcnAKbV7t6ZQ58OyY7DSSFcDl58hmo+aMVBeYwCS+PX3hQXPiePvrVhaM7mrI+byxWMAPZ1sOXz2TfqHt3Odz+wr1XottFgivMxi2X2jQs8WSK7alUC/+1W76H61S/8kl8/jQbx327cNmDGqufB8Gfqe+1i3zHCe/GZMr61j5/39r9X1vbO7d2mxegykgEuS9vDq3/ONIPhr9RFFfjXXQzHg1WoV/TkVJ9pFKKeAWDKEsXyTwOg/xP+vaB6KgZEmnWdAkgT6CkAIUVwAHKQ/qMNyB0FIPJfdJQ7cluQcWF6uf7gLb4Azljnl/iido8w0Af0FwV21MHqOxWj0j6N1Jd3IAcaOZhmiUVCIA0SzArskT0aaO/OzFGX3gboahPd8rhryGz7W7qFIbS3HEZlt80rkQqH5ut5vmO6Vdc025qGzVmvnzWTABUwhQwBHrtEgq0DafdMGCLhkVnbOoFW1VSBaktHjLpHfwphnVpPfmJS7IGh78ML2XHxNyPodzNqbcKXlKVyKsZXKIa98GQm/E9divESMRXjPmLW4xXDvg7+4W74k54jWmMLC8GGeFd0na5wVntVmEYPNFbzwLg1f89oMmtRThLSKj5+v/8hYzwNSsP7QVhQiHdFXVyLl+M/q+783biutiTmfgn3n64kUdX5998a90C+cPq8HyqyHEPbPbkkNntEaBX75DOx+W3NGMPMq/kmIzOpns+n7olFef+mZB3iDx+rWuUZf4p19uR6r1d1Ao9k2zBrqFJFaYjGLCZhrg3AK1mzSBF47dXUmtX2hl4MTHq9DvPv90+Y/vc/0bewXiHD8m4gf/DcwKn7dykMyO21u/PnnxEtrPLty2/c87Q/9KCt/oljz8Lbr8feW291w+8135z4Ciild/q1k9o1voBPN/BvC35yef48A+uyWEIwN9956rwsvgvlefZi5J6yDq8Wbp3EktTzZ4iQXRF8T7TPYI4cGL4E3cX4bj8mQfn8qnuVe5W6VqZaVT1xG7Od/h/n6jMz83W8AhZAYVdMm/u+E9N+vud+ebhAbYkfl2gghwJVrV4oaNOxQ1WbgcHjh4k0l1DR4/bUiEiuoWKpHpCTFfCDh+8h7ssH54afJuyR0DieUsKwprwESIgGrD0VpQMyVvo8OKtqW4udKeMszWekzlMTOBOtE/0H7KRgoSOa0O48n2+KXXY/l+cHjDhPZr2y0ePYrb0Cmi/UNpAuPI+OGSIkQTKUM1eMBQWG0QbWliuI+tvXujyEK0Ng+PXeNsuSicaFmLZv+hrbntO05XWVLr66ha4I8/f4h56wW23okgA6j57x9bjWBClC1YwULODwwubxi17uRljPAhYECaJXRXcCw/qOqdH9Vq92cj4bRSu2s2fP+0t7iUqqHy80dPc8blvcrX+O2ZTrRSy+WDU1Z7NAUe6dXPPLFX5ww5yi+pfSrRsamxxeqn35xXfylPZXH+rPS1Sghrz4ESHDMVKTUkVV0AbjOdNkKD3VVA1+/CpyfBsLdaA/9LzPU3P/i5my70GNDRTR8SBjSmpM34gU4Www+xZVN28+rDYO5ifRXPg1jANioA8BozmAmCUMz5YxS+51m/y6YOKacARib4QfR17lTHJknaIDzPL33ZJN73HasO99D7pbfuRPloFBaSH2qAvQRB7wV4tHjUrGYg4WtySLf+ueD3wnc4/sE1Peb5nOWw2hkz+bhqaeNFjLdGDg/O5mN6dtfMtw6v54PoxEYY9FFTsRIuQ2Rg2ZD9UPNrN+1OaaVGiJdFfsvn4pPZ8JHrT1zun955PDrOv6ggi4Z6++LRDsZI32QmmV7XCi3h7BsTakeGVYdNY2HYcd6iOm83hTk5I9DEW1WPdh+Ox2zlExYad5f4g2J4xx4yOq5WAJvqQDxUYEKI+BR4AaRxbTW/uknmCQkJDH7qu+c5yUqcdNra9HA/fJpXq2jAswVb+6QUd+BGH1ioZQ+fgAkh7BkCyA2N0e0HPe0AfNC6wKnbpX9zfPgXpZpy71YUrCRR8K/psl+RkGRBZSBMnO9/3lf3GSyunaBcoPZRrSkttTiGAygahcsEAdIoj4uPWotWF+AyuQ1siVrtSGAFq9R1cfG5UaL34wqBuc2Iq10EoaOkSG5YhwRezttqrhjXNXkNKm7o5IEVWLOXHKijXnXPKdK26es28s1vJywv8ph2MAJwAWAFCbAAAYAAFgAADHsQRwBmAD4ALAFsCPAK4BqGEZ5G+znXAsBEvO2HCxIkZ7L6SvOnFW4bKX98cck/+qk1FwcHAU3Ak3PHxYkTTO9G/6mT+3KIiK0RLn/vszzBx6p7Y5v3yseGvgnEu+c8WNV89vQYFlDwS0mB8sVmcNXV0NKkn59MqhRRv7m0uLyEcGGbzGDCOSulh/g5FfuAzJw9irSxuc2UtkdZ7PaHNzdtfa9GclpruiLcb1YmBck3KsIZ8ONPn+vgAYg8l6arytV/vysqzKGzMmcqIT54bvLsgEWOk9AVkUgQ+5PerXdigw4KACuzGQvul/Bhff82LfeP4IY1/U0oThRukXB+bEOa4OeNz3EntWG68fk6oPAAAAAAAAAAAAAACUAKhCBa7ZThsYDIaCggKbfTEEUK6t/YIRggHjayXzEwUF1siZOhGLECeZTnpG48SeV4tjTKZlBzLPrC+iu2u7swaLxWJjY2PXt4tdTzhsbGN9fXNREBUjjqIy0e7hFcSLbKbVPltsH9LB/L4rjScP4pcDICuxnODygSA8ZJc/GVi7p42oXPDt9oMAJ2kLEmyuWLPCvtjuXqxgsxbAV/X3rHWeKytRhasDh2RVfgj0LRGWZvXwgE5v6LClrdMZ+COwccitB3Yi00+miK/2Ta4D0jWaH5W66CjRiUN+sY3eKD1NGNPhxy+96n1d/pW2Tg8WbF7Of9H+uv0RySQ8fQ6uQvmpkl64H1+k/KKxzBpRFA4DhjHNF4o3FcwNzy1Muzd1fAAm7ZyOiCYLfORIyEeFmWOoRoZzUdNB2DKEUyygv49Q5XEZ/ihOdG0fgXh/a5xxOo+p52E9ZxXeZMOgxvsOvKcZS/C2dItBbo79o6zXdGfeEluMb9acISls4eGdp58+M/SkDzQGT/KebijjFy1DaSWR4SkjNdId3p6zh9p7Oo65GYoaDY5kuaRWhaASgSwwgCBDMHIk83wVZ4YkY9Am4RUrgfi4WDxh0SFYwrx7vUPoxmn+YYN2WHFYSlDG6kLSY4jof1fBRjDcRUifg0Ag0CakwAiWR7IPvufDgbUhnEP1n9Ul8MC+Kg+9p/EtQ+nmoY3rLrgj96cyBVEx4ogpM+acsmLNOZd854qbueKX7EvoTq+eXsvx9W66tS33FABUtK7YZMUPSoZLlIBhGAYlACxsoAofg8EgCFIKUkt4BEEQpNYFEATTQLiaGmaboBNVo3WK27tgFT8Aml9zuTHEe5Ta8J77j0lBa5MQdGrxlV04hV3bfjJ2VGz8Sl5Oji32WqtyMURhxcU2+2ZZPqtPZM5RsRyCVvGFArjbBaONbiB14uwHXs9WH2NfIxAIBAKBQDAyMjIiEIhSiOgwMucDUWE7NtbL/pGdtz9vhkkfhvW+NJud9wkrD/GT9WUeG1pl9vmvjBQ1nX67C9c8ItzKnDFceH2eFUAD601GDxQFUuS+ndw1sAdSVdxS6cDhKVWzMXpPX3bBSCvyo5KABG0w4huCilOapQzS3gL7vnWLRHcrlvyl8SaaV6WwuvoQQ36IN5wSy0XOlMSpRZ2VYhqwCOBueqZskJrXqd0lhu2n9xEMRLclRb/YmNMHvBazU1fMYZ5fYkUcZ0ifnKzw9c2+rMrLcspJTUZjBI6EBz3EBOjgENFwtIYarnn6ord6CYv2DhVL45DD2Y1pfzaEmC8X4LAxcapU6RDEAAnTIpBmLFBFnimzsGv5EVNLnSBpGQ2xfT0SvM5Mn+iK1dNzL3jG3cZ84ENGy96CFuOm8wq/ZryfA/H4Yx2/fcBxpG/0nndDCd+YlVJ8tZfhCT8PH0bN0nvS90TrDPHknhWy2WUkA/5WHuLJ80rIrrroa1MWr9XJAw85kWYiyBJt+d7G9Md6wDjfL5/Ail5OVWNXi608NgdDJNf+BZOTiR/m4Sm+j9lNmU+Tn8wvk7+YhSXDiTSh2r8wkl+C0ZAlfKsJUEu8ScmyCQDqUQGA2/gln7kgq2tYY1UtJ+agxu//u1P5KFy0NiIevv/m0MGB72LXBdXRbLNc31E4rquGoFQW3MESoL8+qbe40bPjxvwNfm7Wj+vpt3SvjO6sS1OZeqKm2aq6fbtg90stFTNl/VER3aFs+bEpfZTYXhrkHN91jyWNrjqY50uTZwKscXH/V10J1MvsbEwoF1Bv9jpBtNgezpAdvIGjKb35zWJQGTZ+7kW3r2V9HL9zxICBenYBAAAAAAAIRFduBSOUUr5ufvBkQcj1D/G88IxndZxF7wcfhcEzeVZ/b3n1oUZcUdmHph+xuTjgH3Pav/LhmJXJ8pkKOY4SSAOCKs6FhizUpA15vLnexyRnZ55GLcKKliXppYClwx0KIyRbGKV94k10iUlNuhUW7fcKUyayyJAkFcMmUe1QY2Tx26Y+d0nSQWMbuUU70GZzZNP+YwnCl0ILyrdp+pgaNWrUqFGjRk0iItHYJWACmsKwbRmWwV1wdQ2gbTb91KRjgpQZ29GSDuGy+ON5TupG0IGWIDwXgcEMSEwIdL3gIIiAOLxGxXzoFK84orpNxhia5iaxDcSBlrkZYqZGEJ7uO1DTO+YYZH7ITG7yBvtijz6rdImmv1gJ9Tiaj0ll6NJq0hNWjqkR52PC4aPGR4x7+lMbSRLBl08VCGXJx1CqqRBIEHX9mTXH8e6Fl4HyGzK7WF7PrMWaNwHNeHzUdNSxE3i8ytIYB8jDF4H/wvWYxyo/JSqjsiQqIyIi9ffTtyBuqBJXQt4X33F8POIaY/2YxWBtavH4bxdI2PVClngwO8664B5HxZLkm0Q2spuH9mFxbCmGdguNjus3tlHbrrXJ78Yz1eCRKHUnXK5bYoqSZ43VbPE7M/mJZBI9MJrkHe55S2GQU8SRTo1N2Tx9kzB94+i0La6mt57l2dliW5GyT5RqLeglfzrPJTnrFDzFIoMxGEPbVx+vcdkBnybWmtMYZFBTz2spEiuv81WlAbWnPkpiaNQ8iEwFIXnk0ZXB4VNLhmSLNCdJVZRxDy90yUbGKiQ0yUjtqwLPPtUgXn0B00v37fOcxOV+21CnuXLNcJSU53wE7SnGYqGrLT6UmkLGd/YzygTnB1rsJBCRHFJqGvlYrLUCP4YrM8s1DQAZW/yjrbVY6ToBKBT6pfOdyxYgqOc7CSO0iVqd+6lb5usbcpg80FxBJFshCKRcIfgqE9beDlWOlekG+YthWCagRCplwS3WoHmMH7hZ+yuPOwCqxvSgmoxfsROdl8/m9XnAdz0uiAtFjpKcrRcqVO9rYqwGlCxqhxmENEvIZHYJm8ONqT8y+MQuRT+VmdoxkYqZjDQ3PuBJt14KSJP3aY0P5UJBHl6Epi5iYmJiYmJiYqmoJFafZSzz7ygHO+NwWcjpuTs1LnyZYQGlh1pMxsLloSK/B1NGXCEI3LHwRKuaas2oJimTd2hMZZar5eWqdun3DMxr/WhcNfUaNR2G6WJGzJcoJH93RPlkBrbAnuKTjYzSU/7mLZ75E3TcE4z8i0ZlBkMvhbIBlGUhM3ALaV41E0S+nGXN9dJDlZQ8xI30NvXIJCQrUgkyvua8a3NKESgEDIUhUWBMoUPQzF+hFQhzfogsh0jZ0/je+xfmKTGuzoskEUJgh4eFaMZexEZbl6bCCqAxQlrHJtgm94I5L/8lhh+rgwJUMUcndiQsR2u/NKkh2I7tkndluTYpEb5KDdMdTbTV/Cg4aPrFuKffoe+D3aN/0l7ChyQ9d+A1VdUAXx4g0oTSFx+S8MC+lZaHwE4x373tOzw9Y5Zxky8ePaAjbmS/q50djgtQFgd6Ng2ieIyaDwF6ahC6xb35nnaGS57vwoLxfYxi5rM0HaJOnhZQUwNUuiV2OjK4Qgt/VFBKRbNn+rIvTglOQlVNeKoIgs3F+tBtO5Wx1PxMXCyoHdVPthfEzgd9Z7nrSoxSOMSohSbdvRFXJ28eMJTR7DIVMeu5HrUMj58UnHCzcUn2MaIoaoVQxpWBM6KzMiwP6Lugv27DUr+r/g0Oh8PhcDhcWlrJfnO52cHYe8ycrkQ/zXUrh2pqG3RUb/TuQlh7QPt+S5+3DpoZ+MYAPmKcv6ZnDP3SU0iVmoaKQNXS2GB2RI/dsILNWSkwdk7yjPJLWfPddWig2wSq3DUT6E0QuWb8f4dhQL+0UoIJJGBa0KCmhMbyq8huEcWUhlKUP6nPAVjelPS88Fnc1tcd7zs4pAIn2y3BDMh53E2eQtFbRp3k4l7FZMEP+SMpXsbhBKEQGLdR6DLt2mOcuOTq+fqgTbRDdK16ydTliXTDXF3bUGQVcc99CIeUQQa56emz/Bkih+pNR3T9loxf7srdMPiPNoW7QZpNBOVaqU4dr5DTh6hxoec8euvk6cA3AGQnYaRAV4RiUdHSB1aOSRg8rxXEGoCMFqc9JZK7GdTSHAypvXw8kUdEvjwnWJaXg0i3EFNtl62L7BwKilmCZc3l/fZ7V98NZ+pC6ljiDJqt1AaVcdQnrgv6gQGlbIyaFj7ikiHRorcxTn7T3vhMOA4kGoAHUUDUsY/omEZstbsfo41uYKvHAMLgW4NR2zWkq9T6/Y4jKfd2LrWl6g+3U2kwKUy0elyUumuD7gVxwr85AI/P3oYcIeDl3L/yDksNdRf8OMSdA4PHWO5q3ucZIO2/FChGI9TwEu+ZGn51ClPdrDauSczNsOjzvWOqPp9WQlK93KgtTbrh3XUJrKhDLbRoLv5CMrhYuGD6Wlau0vakz3X1WGgKWCtk5iuN5tSgRs4DE6GTY4b8A4IIYCX4Njmxqj14tCpzfyzB9dKR081ZyKRoZk40vhdYqNguoKu8JnwgOR2I9cB/07iYq0vy6UleYe8lMR1++7tLNI46WJKaMDutKxFURGjURZc+tMtDbo04X+izBzLRHfQZsH5Xr0YemzVdv4vZKkcbJQB/Iww4Teg7EyLoKv8EpvxQ6Rhsx++T7SlVp5DsLhJkcwS0JDTPinkj0ISdQ0Fi0CQyaT8FiSIlUCZzbk4SwNrahozRmBXMd0bs1HB8wth39jSGI13sEo/4wK/4PX9+praw2aXHYUNs9c2WQsFF+kbnauw0lo7TlF9bgf1y6byoBKSsF08xz59/xvTcWYdNPW1nged01rxD3tgBQbgu9yp8IrqZUIXjThlAeZpZmJ2fsZAOH2pextqB9Tdk4vrGDz0KsLxx/bHo1H/T1K+ckCygEMMHG4iSpynmQtXcaW/25VRWdVoLJubsBhimWZ6Y9YLAQ7kIUKvIp0v9AoqfPuQrgl13KxVERkamg8Wgc8avh3BejBSeSIhT/LkhdOIgu+gqW5AGkNRDSWUozkOAM1/I2JkOGX2jWy5xJCDfWoS0SBzM4zh0QIudXit6JpkSqSP4stnStOhQHXNAi1YN0vS2us4gLVpWs3jVzpSWzq8hoWaunQXVAlM0rlC9jYihybFt5BSg2ALBxrEQgcgKE0TIdi6ur48PPB/eNK/ymoJNheuqGxvXv+o6Wp71xHRHC2Qx8IPBG3lkyAySEHrwVoSvRSIkDkewlx33zzu3LMdjPKR5haxFJ8CNzsfgy18rTxWtfGIKrM+GS77Ot4d5Fmjx4fiftQqphYqnjBMY5Ln7qlGpiZQngUQSSHCoDk8b6AoGjkvezRn0dhSdAGT6gEgl3cdp5JpaNZSlOjVJ1FV3VS0zTefdB6MntKB9ofC7Gcxhx7mdtsHGyk77JoyDigAZey1tHqwhY843FsiNTLBSvYle6I0D+A+p0R9f/ok4yjsKdkhcxOALYOcoOlzPFQJiC7Dt+Gm5ampm5c1h1c1yz83LbyJFNECC0XFZRkpX9WR5I5K766a6xcf0MZ11bhwzkyzfOwYZlOSIeoSrHLcCeibqFlkBqU5rc36Nxs+h49SsaHNE40jRpDE+RWw4khvKXOthmVUZ0K2y5oRUZnRfXe95Kqq0F4swlkUdKaH58+UzWuqA2ykl10YW9VgfLgVaKTX8N07xYJLgD9Uhxwd7BmVaDfY0Y62ybhBIIJigyIOhngZp70RzRq/0xU8TRj/Bm/TQRRqLRC+K1zOJN3nO7ECKpCSTuju/oAGEFQeH6fR2Rf/p9pxekBwHk41R56EDN5PebBFvG7sBg+lz8YKia9YuDQDU2hkA1EoaEHhqDQAAdG20qMFRJArF6sLRcdvOIe0nfqg1Vd0scTEEfVXFP1iw2rdALPCg2GuC41Kz49QRZdw2kBwFYBdaTups98wAmDQK6yR4TbBvyDxD8J3Etvo0BJrf21Y3vigXGtMpTBo5cZUTMvyi8emicDd+QggRk4gJqc7u7nuQiQbK+y6zq+GZJ88WYda05vKs0Y1L9WC5t3oU8ewN1ZZnyLC28nnwUK1eYUiGOtwK/WuZBZWH0sbpCBY58Ni7xqJm9OV3xwPVkouiibVhoHxIU3gabwVHPDyZyi+fs1qvAxA48wdE2hjIA3oevTC9JD4GoJ2pDnlZ3F1EUdNdyyynGpBuAiQOjZBaxJUqYw/A0NOVPUEPPgMoDrQe7OXYCrfFTXQXw7qTSj6nWzE7e7JBQuL75Z0uuPOz0tqQktbWQ/ZXpdJMr7we3zRPOQUdto28/GjuvuJoujmf7t4PDrhss5lOezsPDJzURdlf85JESY5Ml6PTIXENj3+t8hm9+VTSvE9SGfnEB75mcM6Im6reLD9bJWVyZLdEa0v9iy81zDXEdHXdgF3Ne34V+Dypw8WihThRTvWMb1wQSi/fWJOkDIh1A9UIwdwUzJlSBey83qLh53ElpyqigG+jPw2o0BgZwUSMuXvLi1oTvjOciWpkCRk3Eap+C6E988AWfZ0V6dz4PEZvoBMARDOE6EhHegjCzeoSZA3mEyegCCugpza19rAj9+ReQCrWnTA0E4GJEiMsd5Vc8krPzmlT04Zc7FXeOCFhnXtDGMJ6HAoHn4Y0H9kaD//GHLQat7ZnuHPMmM+tinUWbU3QC3ShGgFBbYUQEFi9ElR2GN9zv11GVib3PuMGt5ToBgIAT39KCaoxjtEtto9qYdVpRqcOFSaqFT3iUnQgXo8A4suIhTdW+7ccqQwg2EHUj6iZWtSSFS8/CeqbRYfdJtRuPkCNKw/1Zt6znhGhAXflEY+RD/mwZTMtqkoAnlcpFECFX2QoSSii8j40pqT1GGKIzno3ffLgjvOr7kwBmktQqDVBQVEQt1n7R6fancJ4pNIgij6Mns3XAFS6/39m12UHmVQbAO3VplM095tknz6nI5o32ljGpx19SsGGwT77Sec41Nb8MfgwFp271zZJQaev68h5UMxk3hAUgb0cZfB+mdb3aB7Alm8tk4nwO+T2qW6HCs4oe0G2h08defZxF82i16ixZuE8yaGj1M4NVz46aTGAQLXwqGb5wQBdTFcUImarx4+OyCNkoLZ9z4Ui2e0JyoEgSCsyaiBBIgu0BaT0fi5msgcMHIYxy6O+KSijmxjrf6u4I7jiBkxlP47BQMGERw8UJatN796ynV6cZGPYpG8wB2ajIeh1IwQNmnSHN/T+kiB2Wf7EAL34D5l09jdpOfnpgF68ww7RFbs3RBf8Hr2r6tzMSUzDmybQk4TH7hjrtReERCthWgRZnQXdcnTMuBplUEQ59IXdMPB+nFzYHdRI/oUiSuL8xqFVmWVf5Me1Nd2mpyLGkgPj5XA9BDXNurG3JNl5dKE6koUVuvs7f6SdbZOsHCkArnTiIJLM7Mq31JBjZHFuBmtHBOJGGzATdXPt2/5A3PDrTdKa8nflRF8RRS6Ad7/H9PLKJcB6O02B+4wvqAi7cEaXSJi/i1HIsJa0Nslxeo5vDxthGeIo26kyeOxE3ushlC0asN39nc5c0A1OopWDtXqUDCdoY0RWAJT6OXSKqCwdu+e7vWiFoh3fAqV9GM4jyt3izXxEnaTs+/qYg86dmf8Zi2a/ackqGIZVT5vXZLGH7g1IGPeE7/Dh/Ymq5v8s3ekVcKm4pZbhL6m6XDQVByGqmX8yU6SyjIpqdmNJjhpVENpLu2865aQFQgMlV420ozdu0IevSwGP3Hv73LSn8PrqOF53C8et9Uu2k16klTrj6ImnjNyTB5ihDPd+YJG3YkiQ+okyPTLrc2If/2y/mYlhZuc3zxkynCtyZf+P9iOCP+cRjwuwi/IBHdALO+fxBnR1i+7NucPyoYgWaIdT6Z8/xkbPXsWVx4kU5BD6nbbaMKxYL85phRI+Q1j0st43eZEhRjtyct6ht3kCf2wXqVpP+zRC7mVLewHYt60QbNbDa+Z49rUuds2TsvYtcHG80v4WdKlLAwNDHUPCe2/7EKbhHDUYsQU8w/TEAL9CADbF4AOIt3nlHrN/S84tQ8/Yz1ZB3QSs+QqEe/5OFpbINa7kfNrAEQMamWOcDeY47tE6/GbQHqoi1td0vOAlLwkEMk8WTZdP3xHmCEiLlKFDjzlM5ZfPWbGed7Rs0myQiPOp0B8va14ancovjU+llvQyIyOr746OLuGRbwtQfGKCtuabOp9bD7bpy36Am6DogoTGeILkk0wajOIc6rD9cVdPDrt7eFNLK3Qb1YFDDUeZpwe4vvL7AxGHttDEVH4p/ERB9DGC6pGDQJLVDFRvATXoxYAKbbxv0QWUcLS7+xJ3qC1sueYOwE2PdatDzTsIm0fLilO3FSYsYukn7ZJXOhceOrYO0dg18f9NczKEMx9cTGkwSxMTc6seoPL26x95jENMfV6EQ2VVg9Tqer1nlUxxkmQ8X+mikhzoMaAXppfCz6MXpu+Oq6Eky+EcA1rQf0xC4+WplEjXSB3PeyQjI/M6dVQaYoC8eZAeulNwI88v8mRAO1O3fPd37FH+exEHEnVSdFvgYSr/RHHHt4h2urU8yvBOCo20HPzDIA5T+bvjG+NB/RROcDcjZQf6lmtT+VTuwISi3lwLJLSJgnptBh08fOSLIy765Vhm+Rh/UR/QVB6wXyP+rnRuxmOR6oeEdi3EL04qcnWieGzZm2lZmj5T7MXydZBRmpXuRqnFING6H3hKNVuSfgwA7XB/Y/pmwwFZ8ap2cHjdsOHEp4gJcbxAyW/GLPkJlenafCeHbqcpDmZkzHofKgCBNc9ijYIHSqbukVWI+tDiXucaDx3KLnGM8qbCLwIUaFOF08PIs+49Ufhx2jgtQ7GLvDI4XF6zdJeHPIYzCu2XJT0tUNbqqdT/3jvsXnyR0P5b0noF/gwXJ8ytsr/E33fkrHqq6IChwkAXPc2z+1KJmpnKJryt2cb3sCaZF3qsP+5Xb3UUXSZVMpKZVFjC+R/RXhkOe3Okxt4sjwGNv3+p5ztxVZPNjd4bImD/y1IAvVeuSQbU0POp7b99HFHlbUvuvd9Rc56sQ61Um0lDM6EMYuvDstx3IvH01Q0gEMi9oRVyZatOwht52Za1Cb/kvBqLoxlymz1oEUh4331c2kIf8hWPJkJv27baHc0O1GzT7vAs67RbslQ1W5dabmdCorJdrgeN0BpN7Jj3QbZ0QGYih5C42xZiaWv6Z6mfZ7DLxJwaXZ47NbpMd2r0iXWnRv9Pub/kBvQBSRmnIEJ+oBUJ8LDFSByZU7piBAVFFKkqRBFXrZj7Vxbi3NzNvVKSPd/DkzbdknqxgCQsxXTa1dCDkku4TY0u1XVY/+fLCpDmQ1jNMsU9NBlveJ0W8Yul7AXuVWAecbtPXEtF5lzZ1u+mkTNr9GcnkBdmuTZYMpu2ec+dPfkJdmqAEzPBAEFL5yc395Y+6DZQbWQVUdITRbubbgPWLzQWbALhPU+83X5J/ELGzxHw+ksTZwIF+T3kOQKVdK3FnaK68BPzxMARIL6QGo6FisRXn7VNkzbVutrsjb7Vv29qzUS0bxYD7qHvT+bkhZkYYTF6RRvYkfYS+NCwoHs3H3V2twUzzL3L/cGHu3+OsBgPjSeb2+TNjGZsYkmWtzmNmm33Sc9prbQAJU10/zjWTlyhYBfQ+sVCAkJw3p5ArxgSiZOoDZqLQVwbXvmVJzLJksTPa1JZLX20nu37m6EswhLLvQVAfb0P8OejqruytP8RoD4jqmYkjLlMovQrRyYnqxoJTl95nL3cx3ytvswlJqvmHoDG3NmDezbgjp3iZIenrCYdd9yJSuvTAjf78qpcyuZevv8N2eTIbZcysB4wxnqxl2067A1Zn33uJ8TdkGOa2yLMscQM+o4peS+981P7gtyg6mVEGz4qkMKNXV52W27CkqAUKAr29JAHkbqmD1qO6jK4Fofs7aiCI/1q8oosPa/vjFevlWno4XmG8eKImDLzanR98vIEtqrCXwnAazddm3R3vfzLRXzuMul4eS1bLf1wXLxSl8ElDsJvsuJtN+wfJ1/6n/zJyAgIroibv0Pabz6AWwiwOEKmTfbA4hRYNWdYWuy7t7KHalzb5IuBY1Do7eGebwb4ZAh9ftuvgSdnY6h4D6lvXTZvspVjj5JC7a/XqsByuJITLkVM5XlRomFjiMWAGDPheL6ibNBortmXlVkQrucPttAawZkpnaMBXJgd+sBbBem/Aa9HIVnZ5ec6bRnfg2SGy6xmZwMUAADACwCllUDCVYSlM9nM6RrgfEEY8oP0/6qmJ4pzi9YNaVtc6x58O9H22mu7wvRiSZyx4YLtglT7oSA3KNJBWbjr797Ww4yHdx5s9YWtbuqBOitfHzAdtUykcvj4qqFj1kZqlU65kaXypoBeA4N4z8yXlfhSqZZCBO7n4YvEsfmdQm9Cvw9y9SdVI+6A9m8h15IK0NDQ0PracE3WpC/9bF+TQqvJfK4xkWMdbrUL0VSkq+8m8DYIHU7guoGC6v54KZf5VChos+lybRYoP/bR4f8vu7c+QaaS4Nsgfuvbm8ygZH2/nu05nZOSCeuHOOJI/HHJxZCOs6oCeDOOkiL5SkrR85spevq6rf18vd7LaX2f5OTk5OT1tswl73Xv41hmOgxHCBuTVgSbI2Od+iEAkfPdk/N0Rpvc93Mm47o8jncaWaD/v7t/fvZkZ6V9E/pGTwL1dQbSzx4AyZrd5cqMiGyd3dLSLelwoys+zpBsv5U5/bOUs91cmXx/vPnLf6xXraOQKulbmeoxujfj47Fwth/7KOeR1daryDg7Bkznm5KUqCSgEoEy9pFoPXpDmbJ6U1uL6PB2VNcjYgTX//ghUTtZF8dV7mk6UsA2+6aVU+Ou2a1yYX5iqRlFJYfloVeGcaOWWDXvqrHn9ZmhQpt/KLG3854C7+bKtDTIbV825vIQ0/nYo/W19Uq+CCRasGN0d6dtKXGGh8DwyWqlH4kLThRFsQpusLSwSqsMVhYZjVmS38RTV4MweRk736YkEolEoqElio24X/dqSwBJmfTr9XTPeH5/ksiW8asCX5SARvTHRb1m5u1uRmJZvcmtdpi/Vt4kdAwpq3a0acaTQeyi59nzrRNKVsnMKsce9jvpcbaZr7zDE2Qa6XtYyUpfsoI546uFxtVojB3b8EpHafetPa+7R17mZV/mRe40qo+AGeWs7WtS/8YtGAXhK33bD36WWmK25Tb7nCPz5/hPbvIUux/z59UP9OeDf8H01V798399vqHTMiwoV7aoNXPn9kAPoo1bnm3+p1czHL/wcnAy74ffE5Ez99Aih1q6oC2LvrU0/+Zpxr4KkXoTfjnwTvZPC0tQAAumVBtagypyXxi+Ka6khaoAHYtc6Tl6GrTIgVwcdzrdRmsou1V7pTTSh7FQBASkOAO+/W4slN/8irtQiI8AJ53t2uMv5110zeHHQ8EByBcB1mCAAqMO/wMwu2N7HSTvYCg/Xn5OqnmyRM+/6NJHSupJO+2eQ9RrIw2Z+MIowWiFTAq7084oMBkU+0AFy5ayesncPacGPaZ7rDfkfedvZBMH8znHqQC2I0NXiEMYiPWBohXE/BuxJMZ2IdYLsaY2d4yx04hphFeYzzLEQmDztGy2Vh7WKcamFMVvRiKc1sTt4d1UQq0nLpmop3C3ByX9af+myYQsBVbwLOkxnK3LHIEGLFtG7BlS6/IGTrAs5S3kKouX05ViW3nuyUegby4YebNzR4iR9SVMmUV14r/cM6FImkik8gfYGJUWyyaKoXiorIj4teWoWTnbMrl8IBxPlq3TtB17xEx8IogkikSTI1yjwoMH1HLrY3bO7OUSLvvTrdasWkm9fKCceYqeJZUW6qmnllfM+C/tTNAWBoaSkirK2gq3RzAttaWUWJtNy8J4uUSJYKsrNRys9TsHzU/doxmg4S5CzpETCfQTQZvrxsBY/C0oawrjrAH9YLr6UTeepIWITWB8PP8FAhWzea8o1cLmWsNLxdWhVLxK3Kab3HTqnmFMoxNMDMffZOIZVsD/utNvIiXJ3870RcZD7MJRjE/DDYcDH74F6TUD4UPSQvZhXTyV1Y9luMWnA48VnmvADj+dpvmgwGppVRt7qfm1tNYGJoESxgwbEpHBfikfmMRc4YmI0cV8jRodN+6qGO1Ug0JXEYeefLlxrlRxVLxcaUrHZ7XoS4tBDKSn1SDmNECbzHFXUEKKdCuE9c2uqaSTAJM4QVQiGovXMvtnvuKzP+LWo4hdf9FxzIVj+YKUl+sNMCLfI0YEuLfwypuFF6IltePxUGlM1z8jHC0agGuWA83VwV8rYwFvjCMjkgppEs3embeA8BYuWOnrUgwa8oYT4egxRkk6JnXFCMXIvCAVY9gjGMfBZLEHpfvuxL1ltHxCWX4Qco6xRbQNwFdn93ICrvVOhQbl0KnpRla8EhJaq5xRFKDaO3O5AVfjcKP6CZVBXH21fKWuE/V8IKKFma7RlgPY+y3HfqfDJCPZgbg8CraDPZSeoLK+D+UR4xHXi7nCCNrpulDT7FO440OHRY6ouok1YNvYMsNYwmj6HPRfi9iOrkYrN9Om54Voy2bXRpouTl99hZYNsaavkQLGOFf2EPcmQOG5YdWZwkCXyP0W8ONOuHvyRVxuvSN37uvLKp+NhANYrCZi9hPUlapr9VAlolbYFpjYWY3UKOCrbLkaUm0O5SJad8U+vH/MlqnpR34URB2LJ/B5bLuSxPjlRxBsDA3HL/N14Ptf7wmeWvaVWHPM3orO0yiNfF9rqIRqxObHIVph3KYfw6jaqp2RJBqkLWJi6VqlsU3+IBHU5LVOWArOJLKIzNvbY0Hos9ZU2I4ctG7m3G09tDQJvS4E7LchJQ7nQupKOoN+dJuj1+nI3bTG3oOO+KNVX4fb4Oht5DYezGIPwtNTVSGK+ahM0hj3hqn1tUcokhfzOUx7eiY6Jf37AIcELseJniCB1LsQT/CBzSvtozUpYn0t3e+n1LIfI9QY/ewaok0l3uNeJyTV9TcHY/YIqk1N7GYVy1MldDE+aqRBlSX++xdSujLWlqLSxPiT5ItfYMLCyahMjjEJjSmqSDqyHJWqN7GeaK1zbz0y9Bd7Tgmvuasf/gQTrs8ogUxDEOdDRO9ErIXsSTQhUSJNodgREbArZhH0TxeWXM3xEYo7c8babBamIBwTuqn+0hWq8UmBer91FRfloOjU4Zf3C0/8WHzjbGAqQoMjQpqdMK2w85pq/fgYQGGjTb51gH7aARv/tL0E912Xfx3XKlrF+5Mhf7H4Zpl2/mbjYz+Sb9wxvkNaB3I2767L+w8GXBu+O+BwUIcBr8Edj1ec3v2rvzcixdx0oprVPkJDICfxdcQ8DghgHTQMBgTcUDRAANwYqIpKTmP0hY/pPM7N2Ow1J3PcinUyrRJ83poy37LBG16b1CjbclfwtumZsgu2YvVdoev7Vn5bf1SqeUQDTYmZXWi8B9C1QEADBcAT6g8kJgMm9SuEmmuZPEfRi0EL1wDjmfliubqJM3+Ch6B0kkwUO2lhK9kxRVI595GMfl6Sgjg3GhpnT9lcEIAjzg9SoVgAg8T5QwgQu6B4kKBy4amp+ZIFBziPjpJziv/zmPwRxKWPME8tGlNnEC6G7OBWZAECxE1kEli14JNnHRi7u4cXQbjGYNSbtnXxJ2VQMCCc2sA/TBISeloUaN4wG3liFa2L7qdX1lPz5PIWhcY1MgmTGC2F6nXATJL6eLkl+dl1Z4gDTCQYI8RfFjs3tZiV9IUSc0+LC6poZL7g2edBdRYo7535R5MsqX0opMEoaNrhMZ8Vlq7PPLGzTQbWWAKzMaJ+9qWGq6Rnz1gJpKQnKwNnpIqEekzvSOlzwIM+toAiqoHJxOej6fTHVG+DcXEw5zLmyQTTFgVJtDLyDVBVnZG8kUuQK/61SkfBQmvNkG9nT6IeopJqy8fSWofQWJIYKqcB+3btOQVY7kwAU0jY2QCYKhXkoUkRgjAQMVNDmJFMuI2NiAUggHAFJh8xrOYjqFYFkQ4Ydu06dGEbOz0Dw2zZhkjI4MkxAgfUogLiVTg68V8TuxIIGmkSghH11dNWAoRMEGsrdaKepGNBdEQCjr4Kt0wXWtJB4ENJaUvIQXOkRAVbYpRpwx2xgWKpAvgosjQpQYk6uImEgMoIhCuoVYZmdAQwciVgDG1whxRDYsxzSvsEFScKQVzVTK1xbmeV5ylDEk1JXWkJSGupnQXTdn1YhJrLS31v0pZQLWQ0lxgIP0iVPESk4VJCG07G1XK30YBlrF1HAx7U8rE3bBU0CuzhI4GofCkNOzCRiNmUEnkIqIQxcLOk+0zepxrCeQEpXCXVnZrRoiIpHDIUf2Gndjj6xu5BRxmvEkw7dx0S5gBJK2+R2NxUaVtxkBoTZVJARgLRlK10ARWOazQWxoAU6Jz6rlVGNaGlGicVq/wNMblQVJEDQTwu63TRYaBUfbNyEuKxWokJ3BUCLiaEC3wYjc1NjzHWpumAoDtiOR/9gnmnFpugPlB+g7OWQBVT6xsYstjpmtHYxJTD5fEFQlAkdu/Budtmux12gl2+Nto6urRoxBhdsmIRh3iUaBuy/VZOO5JTUtNwouQcOXPl9iZvzmOc4lUBdsG8eJS3ebu3eKuP+Kj3eb+XveJZpGcYBKKegV32UPW9Jx3rY3b7hSXnXXLRZY97wq358rO5xYfQxuwl+b17/cE7hL3oTiER97m/gA8XNCrknZ7zvMfcU7hIhoe8121FvWAR44FixUtklixVukzZclnlK1SsVLlK1Wo+4IMOxavhiKMJHK6wdh3HEzuWpP7rh8p0p6Orp29gyGIbGZuYcrg8vkAIisTuPXj05NmL1zYpfSDhHZL44NNI4ZpqRmTFUTmmUKrUOKHpHyEpWmtmbmHZL7SVH7XV7metfvntj7+qphumZTuu53OQNr6nT38IxWAozXB4hxHGNGY8z0Qk15RpM2bNmbdg0ZLlcitWrRHa9fGKRI6jUGl0RvcoqWJMrFK0QkVVTV0DACEYYbLYHHc+6Ru47+qh0raRR5JxB5MaU3JVgHGxxIISaF6CWXmypnm2oTNsU/3r2x+2sHdgdQq24VTXOnLrnHh8gRAQiUFJDykkkyvqYWVDo16qxgiqxnBCgQy/mYBLJpMLk7clb0985Y7kncm7EnduUeINi5NLEm9215Ym3rYsuTy5InH/VvbUVm311mzt1m39NmzjNm3ztvT0tm7bqI30Tf8ttfRGR49ZZmP92jvGd3fvdvfu6T33LutkFSDBJrhELpcf1LIKoaTUz3pXp2eKFLvbvoN7oCd7uId6IoywV4VahsgS2dreWa1j3KZXy18RmtayWIwbarY52VSGOFT0Zk7DsRnqUJGXyC9yOXSwacwSkKyO7HErqhSI2jWJhqym7BuJzkR3Zo+0ta1eq0/ic1+GYna74UYa7U53u9d9j4+YMPawyR5Z1zTiCfW3nu3f5nr66mkGXvaKRnnTgli041LLrbQai66JPfmHPvapz31pva9sH/HT/L/b6E+bbbXdTrvtgQNiK38EbOwmHYgTtKZJPKjbuXkyvJhe5ixzEF2R/pbABNpEbEDQ0wmyyYxc6tRGZc1jgMSy5CprgjXNVIBknRWaEcoTtQCp9mXV8tju7kuxgBLBXgsJ9yaslMyjRJWrqArLM7lWnZh6DYSez31NmrVo1aZdh05duk3Ro9dU02BwBBKFxmB7s2+3YFGRZVfYumbVf/tO/++7RFJLVphCmSqNzuhPLlpsDpfHFwhFYolUJlcoVWqNVqc3GE1mi9Vmdzhdbo+Xt48vveqr6ZFkbGJq+yG1DWua/+m4oTNsmXb2DqzvbPHgO4xxQMjIxzsmiG6cdveJvZ57mXCK3N5yL7f1545HKESmaSP4Sh9s9JxGnaDx495sJZCf6/3siblKsTeTt1auMvFp5fOrODtzriWr8d2bhL4YAwhoLjATTMVJSkSXUWBGmzctknnWVcfVLvsKJtVJQqNDWFtWMjgdpjkRWSqxJQAOCQ0DC4egouMIKDgENAwswuoEKBmBZgFMYOJdEm0IqxlC9ZmeZp0zIUyv84cOybGr9svHfRXcTKrjFAiYEossAhTMwA0oTeoT+cCS8fDIGM2v/86jvyEaZVemAz2K8G41WksiLBUgSucJes2mTIYwJYuAykeQ96WkC/l1PGsfo3fHZXZIpiqOJ/zEz3yijvUHv/Ib5QYIERav6dMKWteluNwTgSTE9gCPLazBGUjN6jMk+h0JM+3Fxi0dIk2viNEQzCU8PLz0C2AqTE9Z6Q10XDiQ1e9ovjoVMmQauO7mvJ84pkmOiUmwUJUn+drnF9cC69njAXe9c0uDGChWAGvSZTNWoC3u4JswZQq81/ZFGbylNqEcw5pRmjhYQBVRn2HVXjtUmF2rCpc78DDFvTzp44EgxOrYsv/b1fx53wYE86AIy9Io8vnLNvn6OB3z445EUYpevMkVakldHJbrGcuh0N3ISA4uJxpIBDBgEEMFknslvbIDqpa8yquoGNuo9LVZXcPN5+Xf8dZwQhegM6Mq7xAX8RHJoK0CxcejeGtUY8tti6q2Xbc33ALadtW3Y+piPJpuIouobjgAp5PxAJQuNPzQwrygnnmvnd8S6Uxwq6PBszR5DQQsL4yXlTswsErrmm41WM8zb5sRgKcoMmHWNREhgUHBIw0eEnqVRWYq57mdOxVPR3Ybp5ZJfjR7ty6qV7cHPWVRz9+DR4QEBpX8w0SnfuAbVAftanjH4B16Lccn2CmNLFjKetrKyMpNcK7t7ROfN7oZyLFGGiLecbsa3wqoqZp6p58w79UNOD0+umWFvz+ODrAz8L2O14EFhUcEBoYGBZ+U4Cvf56vAG3gDir/CxCq8mftC2GkUIBj4dDlCQEAJFfRCaGBYeEQIKLhJA7E3rsYqrv8wjcMD5KSWLDxWH/NaAHDzfmNuDwMhx11XU3Q6QSiouZ+BSHPbHcu5WkWzecCsznGuYuJzTnmuXO4KFTr9LfMT2M91fsbb2YIhUe9q6AvnMi+g2OaUSe0k857hA7XZbTdv8t08pcY9qas3rDa5NtloV3d5ZOIcMEAZrjYc9ezKo+jJsGLJkRyvm03abLqtui/IyX3dzC1z/6eog5xFCChc0bFcOsXAmq4akvt0T7l97c2TL1ML4WHaQLjN2lmoZcMuapnzvhcUZGqDVCo9AT6jqBf6twgXeVc3tG+ZXF039PhZ1KtaXuu6wcndB+vAfuecKOyIraz+01fBX2gPxvkqncKEMi6k0sY6bl4pECaUcSGVNtnTsxw3bxFAmFDGhVTaWMfNKwbChDIupNJm7mBmOu5gHbGD/ud7jYfzYJyPOdriXd7xYq8ZCdjlfNPa5hzLq4J+pI5LtW9m94H09mS6VE39SO3dbW1KVMhWL2NTRzF9omyMON9uJm7eGiok5tVEyiszjwuJM+Y4VXPyulmHgeiJm7YxS3s7b7oZCZ53mXaj2d4ztc4leVzUYhi4J25ybSF3x+yZUI4l5ZNeqAtzxMQFTCmXSQAAgB1aWnd85bMChTIuZKoSCBPKuJBb3ciEMi6k0mCs4250DZLWyCqACOZCJWuw8XWIFl4LfTVGmLVurUxiNZ6orvQ+/6fH/KrTz/dqydcfgvnevuT7xVw13L+tHzW8j49dHo+u7nq4VEiDAFuuU0XMMsVBeMyjWRhWBL5nT5qphU3bUg5HWOmNwjCkQbAXEwawuCX7Qf14HHEeEtPyAMN2A+YXQ0r8WUb+nPEQ5bbAzwiVNs3CDqIxOru28RifLQz22KysfT7DfMRRh8k/MCIGniXfzrrKgPPCHfL6hPk/MFvwAPA9H5X1BAaWqJbfWHcxvueFYCMb+fvyJCjr8lJonQfrhTzMCqZS4S1G9zyQ17SbGnFVUOUKNszDNIu69wZQRQu4j8MlgCnjQqYOfoX+mFeKidaMxYWVWDm6hp7xN2SOk2i5S7DzgDd+6fUAfKd3keGteP+vKUuLcJMA450/RVeJyU/x/YT3Q2a1WaKcERbGxtWkISf+oujNGSEKfBVpu+VaUrzKzpRpTbl0CV5L6yiJ823PWGNM6QWNWfaqnpQzu3fkGRzq9rzjtpn+hoPwVYKLThnqSyhfJUoK81DwylfZbLVMU4pPeZCkwUtqf5wbTPCl3kXFYu78wP/KbZ/pc0FHjJN4CoOKbH3EYPEeHuuDOEFhBMIeAPcBJ/DkYC0dwwWAPPi8cFb8e6j0syMAAA==\",\"type\":\"application/font-woff2\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/IBMPlexSans-Medium.woff2\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/IBMPlexSerif-Medium.woff2\":{\"text\":\"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\",\"type\":\"application/font-woff2\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/IBMPlexSerif-Medium.woff2\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/Shantell_Sans-Tldrawish.woff2\":{\"text\":\"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\",\"type\":\"application/font-woff2\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/Shantell_Sans-Tldrawish.woff2\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/translations/languages.json\":{\"text\":\"[\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"ar\\\",\\n\\t\\t\\\"label\\\": \\\"عربي\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"ca\\\",\\n\\t\\t\\\"label\\\": \\\"Català\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"cs\\\",\\n\\t\\t\\\"label\\\": \\\"Čeština\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"da\\\",\\n\\t\\t\\\"label\\\": \\\"Danish\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"de\\\",\\n\\t\\t\\\"label\\\": \\\"Deutsch\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"en\\\",\\n\\t\\t\\\"label\\\": \\\"English\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"es\\\",\\n\\t\\t\\\"label\\\": \\\"Español\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"fa\\\",\\n\\t\\t\\\"label\\\": \\\"فارسی\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"fi\\\",\\n\\t\\t\\\"label\\\": \\\"Suomi\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"fr\\\",\\n\\t\\t\\\"label\\\": \\\"Français\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"gl\\\",\\n\\t\\t\\\"label\\\": \\\"Galego\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"he\\\",\\n\\t\\t\\\"label\\\": \\\"עברית\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"it\\\",\\n\\t\\t\\\"label\\\": \\\"Italiano\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"ja\\\",\\n\\t\\t\\\"label\\\": \\\"日本語\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"ko-kr\\\",\\n\\t\\t\\\"label\\\": \\\"한국어\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"ku\\\",\\n\\t\\t\\\"label\\\": \\\"کوردی\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"hi-in\\\",\\n\\t\\t\\\"label\\\": \\\"हिन्दी\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"hu\\\",\\n\\t\\t\\\"label\\\": \\\"Magyar\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"my\\\",\\n\\t\\t\\\"label\\\": \\\"မြန်မာစာ\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"ne\\\",\\n\\t\\t\\\"label\\\": \\\"नेपाली\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"no\\\",\\n\\t\\t\\\"label\\\": \\\"Norwegian\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"pl\\\",\\n\\t\\t\\\"label\\\": \\\"Polski\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"pt-br\\\",\\n\\t\\t\\\"label\\\": \\\"Português - Brasil\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"pt-pt\\\",\\n\\t\\t\\\"label\\\": \\\"Português - Europeu\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"ro\\\",\\n\\t\\t\\\"label\\\": \\\"Română\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"ru\\\",\\n\\t\\t\\\"label\\\": \\\"Russian\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"sv\\\",\\n\\t\\t\\\"label\\\": \\\"Svenska\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"te\\\",\\n\\t\\t\\\"label\\\": \\\"తెలుగు\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"th\\\",\\n\\t\\t\\\"label\\\": \\\"ภาษาไทย\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"tr\\\",\\n\\t\\t\\\"label\\\": \\\"Türkçe\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"uk\\\",\\n\\t\\t\\\"label\\\": \\\"Ukrainian\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"vi\\\",\\n\\t\\t\\\"label\\\": \\\"Tiếng Việt\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"zh-cn\\\",\\n\\t\\t\\\"label\\\": \\\"Chinese - Simplified\\\"\\n\\t},\\n\\t{\\n\\t\\t\\\"locale\\\": \\\"zh-tw\\\",\\n\\t\\t\\\"label\\\": \\\"繁體中文 (台灣)\\\"\\n\\t}\\n]\\n\",\"type\":\"application/json\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/translations/languages.json\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/translations/en.json\":{\"text\":\"{}\\n\",\"type\":\"application/json\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/translations/en.json\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/translations/zh-cn.json\":{\"text\":\"{\\n\\t\\\"action.convert-to-bookmark\\\": \\\"转换为书签\\\",\\n\\t\\\"action.convert-to-embed\\\": \\\"转换为嵌入\\\",\\n\\t\\\"action.open-embed-link\\\": \\\"打开链接\\\",\\n\\t\\\"action.align-bottom\\\": \\\"底端对齐\\\",\\n\\t\\\"action.align-center-horizontal\\\": \\\"水平对齐\\\",\\n\\t\\\"action.align-center-vertical\\\": \\\"垂直对齐\\\",\\n\\t\\\"action.align-center-horizontal.short\\\": \\\"水平对齐\\\",\\n\\t\\\"action.align-center-vertical.short\\\": \\\"垂直对齐\\\",\\n\\t\\\"action.align-left\\\": \\\"左对齐\\\",\\n\\t\\\"action.align-right\\\": \\\"右对齐\\\",\\n\\t\\\"action.align-top\\\": \\\"顶端对齐\\\",\\n\\t\\\"action.back-to-content\\\": \\\"返回内容\\\",\\n\\t\\\"action.bring-forward\\\": \\\"上移一层\\\",\\n\\t\\\"action.bring-to-front\\\": \\\"置顶\\\",\\n\\t\\\"action.copy-as-json.short\\\": \\\"JSON\\\",\\n\\t\\\"action.copy-as-json\\\": \\\"复制为 JSON\\\",\\n\\t\\\"action.copy-as-png.short\\\": \\\"PNG\\\",\\n\\t\\\"action.copy-as-png\\\": \\\"复制为 PNG\\\",\\n\\t\\\"action.copy-as-svg.short\\\": \\\"SVG\\\",\\n\\t\\\"action.copy-as-svg\\\": \\\"复制为 SVG\\\",\\n\\t\\\"action.copy\\\": \\\"复制\\\",\\n\\t\\\"action.cut\\\": \\\"剪切\\\",\\n\\t\\\"action.delete\\\": \\\"删除\\\",\\n\\t\\\"action.distribute-horizontal\\\": \\\"横向分布\\\",\\n\\t\\\"action.distribute-vertical\\\": \\\"纵向分布\\\",\\n\\t\\\"action.distribute-horizontal.short\\\": \\\"横向分布\\\",\\n\\t\\\"action.distribute-vertical.short\\\": \\\"纵向分布\\\",\\n\\t\\\"action.duplicate\\\": \\\"复制\\\",\\n\\t\\\"action.edit-link\\\": \\\"编辑链接\\\",\\n\\t\\\"action.exit-pen-mode\\\": \\\"退出钢笔模式\\\",\\n\\t\\\"action.export-as-json.short\\\": \\\"JSON\\\",\\n\\t\\\"action.export-as-json\\\": \\\"导出为 JSON\\\",\\n\\t\\\"action.export-as-png.short\\\": \\\"PNG\\\",\\n\\t\\\"action.export-as-png\\\": \\\"导出为 PNG\\\",\\n\\t\\\"action.export-as-svg.short\\\": \\\"SVG\\\",\\n\\t\\\"action.export-as-svg\\\": \\\"导出为 SVG\\\",\\n\\t\\\"action.flip-horizontal\\\": \\\"水平翻转\\\",\\n\\t\\\"action.flip-vertical\\\": \\\"垂直翻转\\\",\\n\\t\\\"action.flip-horizontal.short\\\": \\\"水平翻转\\\",\\n\\t\\\"action.flip-vertical.short\\\": \\\"垂直翻转\\\",\\n\\t\\\"action.group\\\": \\\"分组\\\",\\n\\t\\\"action.insert-media\\\": \\\"上传媒体文件\\\",\\n\\t\\\"action.new-shared-project\\\": \\\"新建共享项目\\\",\\n\\t\\\"action.open-file\\\": \\\"打开文件\\\",\\n\\t\\\"action.pack\\\": \\\"打包\\\",\\n\\t\\\"action.paste\\\": \\\"粘贴\\\",\\n\\t\\\"action.print\\\": \\\"打印\\\",\\n\\t\\\"action.redo\\\": \\\"重做\\\",\\n\\t\\\"action.rotate-ccw\\\": \\\"逆时针旋转\\\",\\n\\t\\\"action.rotate-cw\\\": \\\"顺时针旋转\\\",\\n\\t\\\"action.save-copy\\\": \\\"保存副本\\\",\\n\\t\\\"action.select-all\\\": \\\"选中全部\\\",\\n\\t\\\"action.select-none\\\": \\\"取消选中\\\",\\n\\t\\\"action.send-backward\\\": \\\"下移一层\\\",\\n\\t\\\"action.send-to-back\\\": \\\"置底\\\",\\n\\t\\\"action.share-project\\\": \\\"共享此项目\\\",\\n\\t\\\"action.stack-horizontal\\\": \\\"横排\\\",\\n\\t\\\"action.stack-vertical\\\": \\\"竖排\\\",\\n\\t\\\"action.stack-horizontal.short\\\": \\\"横排\\\",\\n\\t\\\"action.stack-vertical.short\\\": \\\"竖排\\\",\\n\\t\\\"action.stretch-horizontal\\\": \\\"水平拉伸\\\",\\n\\t\\\"action.stretch-vertical\\\": \\\"垂直拉伸\\\",\\n\\t\\\"action.stretch-horizontal.short\\\": \\\"水平拉伸\\\",\\n\\t\\\"action.stretch-vertical.short\\\": \\\"垂直拉伸\\\",\\n\\t\\\"action.toggle-auto-size\\\": \\\"切换自动大小\\\",\\n\\t\\\"action.toggle-dark-mode.menu\\\": \\\"暗黑模式\\\",\\n\\t\\\"action.toggle-dark-mode\\\": \\\"切换暗黑模式\\\",\\n\\t\\\"action.toggle-debug-mode.menu\\\": \\\"调试模式\\\",\\n\\t\\\"action.toggle-debug-mode\\\": \\\"切换调试模式\\\",\\n\\t\\\"action.toggle-focus-mode.menu\\\": \\\"专注模式\\\",\\n\\t\\\"action.toggle-focus-mode\\\": \\\"切换专注模式\\\",\\n\\t\\\"action.toggle-grid.menu\\\": \\\"显示网格\\\",\\n\\t\\\"action.toggle-grid\\\": \\\"切换网格\\\",\\n\\t\\\"action.toggle-snap-mode.menu\\\": \\\"始终吸附\\\",\\n\\t\\\"action.toggle-snap-mode\\\": \\\"切换始终吸附\\\",\\n\\t\\\"action.toggle-tool-lock.menu\\\": \\\"工具锁定\\\",\\n\\t\\\"action.toggle-tool-lock\\\": \\\"切换工具锁定\\\",\\n\\t\\\"action.toggle-transparent.context-menu\\\": \\\"透明\\\",\\n\\t\\\"action.toggle-transparent.menu\\\": \\\"透明\\\",\\n\\t\\\"action.toggle-transparent\\\": \\\"切换透明背景\\\",\\n\\t\\\"action.undo\\\": \\\"撤销\\\",\\n\\t\\\"action.ungroup\\\": \\\"取消分组\\\",\\n\\t\\\"action.zoom-in\\\": \\\"放大\\\",\\n\\t\\\"action.zoom-out\\\": \\\"缩小\\\",\\n\\t\\\"action.zoom-to-100\\\": \\\"缩放至 100%\\\",\\n\\t\\\"action.zoom-to-fit\\\": \\\"自适应缩放\\\",\\n\\t\\\"action.zoom-to-selection\\\": \\\"缩放至显示选中内容\\\",\\n\\t\\\"color-style.black\\\": \\\"黑色\\\",\\n\\t\\\"color-style.blue\\\": \\\"蓝色\\\",\\n\\t\\\"color-style.green\\\": \\\"绿色\\\",\\n\\t\\\"color-style.grey\\\": \\\"灰色\\\",\\n\\t\\\"color-style.light-blue\\\": \\\"浅蓝色\\\",\\n\\t\\\"color-style.light-green\\\": \\\"浅绿色\\\",\\n\\t\\\"color-style.light-red\\\": \\\"浅红色\\\",\\n\\t\\\"color-style.light-violet\\\": \\\"浅紫色\\\",\\n\\t\\\"color-style.orange\\\": \\\"橙色\\\",\\n\\t\\\"color-style.red\\\": \\\"红色\\\",\\n\\t\\\"color-style.violet\\\": \\\"紫色\\\",\\n\\t\\\"color-style.yellow\\\": \\\"黄色\\\",\\n\\t\\\"fill-style.none\\\": \\\"无\\\",\\n\\t\\\"fill-style.semi\\\": \\\"半填充\\\",\\n\\t\\\"fill-style.solid\\\": \\\"实心\\\",\\n\\t\\\"fill-style.pattern\\\": \\\"图案\\\",\\n\\t\\\"dash-style.dashed\\\": \\\"虚线\\\",\\n\\t\\\"dash-style.dotted\\\": \\\"虚点\\\",\\n\\t\\\"dash-style.draw\\\": \\\"画笔\\\",\\n\\t\\\"dash-style.solid\\\": \\\"实心\\\",\\n\\t\\\"size-style.s\\\": \\\"小\\\",\\n\\t\\\"size-style.m\\\": \\\"中\\\",\\n\\t\\\"size-style.l\\\": \\\"大\\\",\\n\\t\\\"size-style.xl\\\": \\\"加大\\\",\\n\\t\\\"opacity-style.0.1\\\": \\\"10%\\\",\\n\\t\\\"opacity-style.0.25\\\": \\\"25%\\\",\\n\\t\\\"opacity-style.0.5\\\": \\\"50%\\\",\\n\\t\\\"opacity-style.0.75\\\": \\\"75%\\\",\\n\\t\\\"opacity-style.1\\\": \\\"100%\\\",\\n\\t\\\"font-style.draw\\\": \\\"画笔\\\",\\n\\t\\\"font-style.sans\\\": \\\"无衬线\\\",\\n\\t\\\"font-style.serif\\\": \\\"衬线\\\",\\n\\t\\\"font-style.mono\\\": \\\"黑白\\\",\\n\\t\\\"align-style.start\\\": \\\"开始\\\",\\n\\t\\\"align-style.middle\\\": \\\"中间\\\",\\n\\t\\\"align-style.end\\\": \\\"结束\\\",\\n\\t\\\"align-style.justify\\\": \\\"两端对齐\\\",\\n\\t\\\"geo-style.arrow-down\\\": \\\"向下箭头\\\",\\n\\t\\\"geo-style.arrow-left\\\": \\\"向左箭头\\\",\\n\\t\\\"geo-style.arrow-right\\\": \\\"向右箭头\\\",\\n\\t\\\"geo-style.arrow-up\\\": \\\"向上箭头\\\",\\n\\t\\\"geo-style.diamond\\\": \\\"菱形\\\",\\n\\t\\\"geo-style.ellipse\\\": \\\"椭圆形\\\",\\n\\t\\\"geo-style.hexagon\\\": \\\"六边形\\\",\\n\\t\\\"geo-style.octagon\\\": \\\"八边形\\\",\\n\\t\\\"geo-style.oval\\\": \\\"卵形\\\",\\n\\t\\\"geo-style.pentagon\\\": \\\"五边形\\\",\\n\\t\\\"geo-style.rectangle\\\": \\\"矩形\\\",\\n\\t\\\"geo-style.rhombus-2\\\": \\\"菱形 2\\\",\\n\\t\\\"geo-style.rhombus\\\": \\\"菱形\\\",\\n\\t\\\"geo-style.star\\\": \\\"星形\\\",\\n\\t\\\"geo-style.trapezoid\\\": \\\"梯形\\\",\\n\\t\\\"geo-style.triangle\\\": \\\"三角形\\\",\\n\\t\\\"geo-style.x-box\\\": \\\"X 框\\\",\\n\\t\\\"arrowheadStart-style.none\\\": \\\"无\\\",\\n\\t\\\"arrowheadStart-style.arrow\\\": \\\"箭头\\\",\\n\\t\\\"arrowheadStart-style.bar\\\": \\\"条\\\",\\n\\t\\\"arrowheadStart-style.diamond\\\": \\\"菱形\\\",\\n\\t\\\"arrowheadStart-style.dot\\\": \\\"点\\\",\\n\\t\\\"arrowheadStart-style.inverted\\\": \\\"反转\\\",\\n\\t\\\"arrowheadStart-style.pipe\\\": \\\"管道\\\",\\n\\t\\\"arrowheadStart-style.square\\\": \\\"正方形\\\",\\n\\t\\\"arrowheadStart-style.triangle\\\": \\\"三角形\\\",\\n\\t\\\"arrowheadEnd-style.none\\\": \\\"无\\\",\\n\\t\\\"arrowheadEnd-style.arrow\\\": \\\"箭头\\\",\\n\\t\\\"arrowheadEnd-style.bar\\\": \\\"条\\\",\\n\\t\\\"arrowheadEnd-style.diamond\\\": \\\"菱形\\\",\\n\\t\\\"arrowheadEnd-style.dot\\\": \\\"点\\\",\\n\\t\\\"arrowheadEnd-style.inverted\\\": \\\"反转\\\",\\n\\t\\\"arrowheadEnd-style.pipe\\\": \\\"管道\\\",\\n\\t\\\"arrowheadEnd-style.square\\\": \\\"正方形\\\",\\n\\t\\\"arrowheadEnd-style.triangle\\\": \\\"三角形\\\",\\n\\t\\\"spline-style.line\\\": \\\"直线\\\",\\n\\t\\\"spline-style.cubic\\\": \\\"立方形\\\",\\n\\t\\\"tool.select\\\": \\\"选择\\\",\\n\\t\\\"tool.hand\\\": \\\"手形\\\",\\n\\t\\\"tool.draw\\\": \\\"画笔\\\",\\n\\t\\\"tool.eraser\\\": \\\"橡皮\\\",\\n\\t\\\"tool.arrow-down\\\": \\\"向下箭头\\\",\\n\\t\\\"tool.arrow-left\\\": \\\"向左箭头\\\",\\n\\t\\\"tool.arrow-right\\\": \\\"向右箭头\\\",\\n\\t\\\"tool.arrow-up\\\": \\\"向上箭头\\\",\\n\\t\\\"tool.arrow\\\": \\\"箭头\\\",\\n\\t\\\"tool.diamond\\\": \\\"菱形\\\",\\n\\t\\\"tool.ellipse\\\": \\\"椭圆形\\\",\\n\\t\\\"tool.hexagon\\\": \\\"六边形\\\",\\n\\t\\\"tool.line\\\": \\\"直线\\\",\\n\\t\\\"tool.octagon\\\": \\\"八边形\\\",\\n\\t\\\"tool.oval\\\": \\\"卵形\\\",\\n\\t\\\"tool.pentagon\\\": \\\"五边形\\\",\\n\\t\\\"tool.rectangle\\\": \\\"矩形\\\",\\n\\t\\\"tool.rhombus\\\": \\\"菱形\\\",\\n\\t\\\"tool.star\\\": \\\"星形\\\",\\n\\t\\\"tool.trapezoid\\\": \\\"梯形\\\",\\n\\t\\\"tool.triangle\\\": \\\"三角形\\\",\\n\\t\\\"tool.x-box\\\": \\\"X 框\\\",\\n\\t\\\"tool.asset\\\": \\\"图片\\\",\\n\\t\\\"tool.frame\\\": \\\"框架\\\",\\n\\t\\\"tool.note\\\": \\\"便笺\\\",\\n\\t\\\"tool.embed\\\": \\\"嵌入\\\",\\n\\t\\\"tool.text\\\": \\\"文本\\\",\\n\\t\\\"menu.title\\\": \\\"菜单\\\",\\n\\t\\\"menu.copy-as\\\": \\\"复制为\\\",\\n\\t\\\"menu.edit\\\": \\\"编辑\\\",\\n\\t\\\"menu.export-as\\\": \\\"导出为\\\",\\n\\t\\\"menu.file\\\": \\\"文件\\\",\\n\\t\\\"menu.language\\\": \\\"语言\\\",\\n\\t\\\"menu.preferences\\\": \\\"偏好\\\",\\n\\t\\\"menu.view\\\": \\\"视图\\\",\\n\\t\\\"context-menu.arrange\\\": \\\"排列\\\",\\n\\t\\\"context-menu.copy-as\\\": \\\"复制为\\\",\\n\\t\\\"context-menu.export-as\\\": \\\"导出为\\\",\\n\\t\\\"context-menu.move-to-page\\\": \\\"移动到页面\\\",\\n\\t\\\"context-menu.reorder\\\": \\\"重新排序\\\",\\n\\t\\\"page-menu.title\\\": \\\"页面\\\",\\n\\t\\\"page-menu.create-new-page\\\": \\\"创建新页面\\\",\\n\\t\\\"page-menu.max-page-count-reached\\\": \\\"达到最大页数\\\",\\n\\t\\\"page-menu.new-page-initial-name\\\": \\\"页面 1\\\",\\n\\t\\\"page-menu.edit-start\\\": \\\"编辑\\\",\\n\\t\\\"page-menu.edit-done\\\": \\\"完成\\\",\\n\\t\\\"page-menu.submenu.rename\\\": \\\"重命名\\\",\\n\\t\\\"page-menu.submenu.duplicate-page\\\": \\\"复制\\\",\\n\\t\\\"page-menu.submenu.title\\\": \\\"菜单\\\",\\n\\t\\\"page-menu.submenu.move-down\\\": \\\"下移\\\",\\n\\t\\\"page-menu.submenu.move-up\\\": \\\"上移\\\",\\n\\t\\\"page-menu.submenu.delete\\\": \\\"删除\\\",\\n\\t\\\"share-menu.title\\\": \\\"共享\\\",\\n\\t\\\"share-menu.share-project\\\": \\\"共享此项目\\\",\\n\\t\\\"share-menu.copy-link\\\": \\\"复制链接\\\",\\n\\t\\\"share-menu.readonly-link\\\": \\\"只读\\\",\\n\\t\\\"share-menu.copy-readonly-link\\\": \\\"复制只读链接\\\",\\n\\t\\\"share-menu.offline-note\\\": \\\"共享此项目将以新 URL 创建托管活动副本。您可以与不超过三十人共享此 URL,一起查看和编辑项目。\\\",\\n\\t\\\"share-menu.copy-link-note\\\": \\\"任何人使用此链接都能查看和编辑此项目。\\\",\\n\\t\\\"share-menu.copy-readonly-link-note\\\": \\\"任何人使用此链接都能查看(但不能编辑)此项目。\\\",\\n\\t\\\"share-menu.project-too-large\\\": \\\"抱歉,此项目太大,无法共享。我们正在努力解决!\\\",\\n\\t\\\"people-menu.title\\\": \\\"人员\\\",\\n\\t\\\"people-menu.change-name\\\": \\\"更改名称\\\",\\n\\t\\\"people-menu.change-color\\\": \\\"更改颜色\\\",\\n\\t\\\"people-menu.user\\\": \\\"(您)\\\",\\n\\t\\\"people-menu.invite\\\": \\\"邀请他人\\\",\\n\\t\\\"help-menu.title\\\": \\\"帮助和资源\\\",\\n\\t\\\"help-menu.about\\\": \\\"关于\\\",\\n\\t\\\"help-menu.discord\\\": \\\"Discord\\\",\\n\\t\\\"help-menu.github\\\": \\\"GitHub\\\",\\n\\t\\\"help-menu.keyboard-shortcuts\\\": \\\"键盘快捷方式\\\",\\n\\t\\\"help-menu.twitter\\\": \\\"Twitter\\\",\\n\\t\\\"actions-menu.title\\\": \\\"操作\\\",\\n\\t\\\"edit-link-dialog.title\\\": \\\"编辑链接\\\",\\n\\t\\\"edit-link-dialog.invalid-url\\\": \\\"链接必须是有效 URL。\\\",\\n\\t\\\"edit-link-dialog.detail\\\": \\\"链接将在新标签页中打开。\\\",\\n\\t\\\"edit-link-dialog.url\\\": \\\"URL\\\",\\n\\t\\\"edit-link-dialog.clear\\\": \\\"清除\\\",\\n\\t\\\"edit-link-dialog.save\\\": \\\"继续\\\",\\n\\t\\\"edit-link-dialog.cancel\\\": \\\"取消\\\",\\n\\t\\\"embed-dialog.title\\\": \\\"创建嵌入\\\",\\n\\t\\\"embed-dialog.back\\\": \\\"返回\\\",\\n\\t\\\"embed-dialog.create\\\": \\\"创建\\\",\\n\\t\\\"embed-dialog.cancel\\\": \\\"取消\\\",\\n\\t\\\"embed-dialog.url\\\": \\\"URL\\\",\\n\\t\\\"embed-dialog.instruction\\\": \\\"粘贴网站 URL 创建嵌入。\\\",\\n\\t\\\"embed-dialog.invalid-url\\\": \\\"我们无法从该 URL 创建嵌入。\\\",\\n\\t\\\"edit-pages-dialog.move-down\\\": \\\"下移\\\",\\n\\t\\\"edit-pages-dialog.move-up\\\": \\\"上移\\\",\\n\\t\\\"shortcuts-dialog.title\\\": \\\"键盘快捷方式\\\",\\n\\t\\\"shortcuts-dialog.edit\\\": \\\"编辑\\\",\\n\\t\\\"shortcuts-dialog.file\\\": \\\"文件\\\",\\n\\t\\\"shortcuts-dialog.preferences\\\": \\\"偏好\\\",\\n\\t\\\"shortcuts-dialog.tools\\\": \\\"工具\\\",\\n\\t\\\"shortcuts-dialog.transform\\\": \\\"转换\\\",\\n\\t\\\"shortcuts-dialog.view\\\": \\\"视图\\\",\\n\\t\\\"style-panel.title\\\": \\\"样式\\\",\\n\\t\\\"style-panel.align\\\": \\\"对齐\\\",\\n\\t\\\"style-panel.arrowheads\\\": \\\"箭头\\\",\\n\\t\\\"style-panel.color\\\": \\\"颜色\\\",\\n\\t\\\"style-panel.dash\\\": \\\"划线\\\",\\n\\t\\\"style-panel.fill\\\": \\\"填充\\\",\\n\\t\\\"style-panel.font\\\": \\\"字体\\\",\\n\\t\\\"style-panel.geo\\\": \\\"形状\\\",\\n\\t\\\"style-panel.mixed\\\": \\\"混合\\\",\\n\\t\\\"style-panel.opacity\\\": \\\"不透明度\\\",\\n\\t\\\"style-panel.size\\\": \\\"大小\\\",\\n\\t\\\"style-panel.spline\\\": \\\"曲线\\\",\\n\\t\\\"tool-panel.drawing\\\": \\\"绘图\\\",\\n\\t\\\"tool-panel.shapes\\\": \\\"形状\\\",\\n\\t\\\"navigation-zone.toggle-minimap\\\": \\\"切换小地图\\\",\\n\\t\\\"navigation-zone.zoom\\\": \\\"缩放\\\",\\n\\t\\\"focus-mode.toggle-focus-mode\\\": \\\"切换专注模式\\\",\\n\\t\\\"toast.close\\\": \\\"关闭\\\",\\n\\t\\\"file-system.file-open-error.title\\\": \\\"无法打开文件\\\",\\n\\t\\\"file-system.file-open-error.not-a-tldraw-file\\\": \\\"您试图打开的文件看起来不像 tldraw 文件。\\\",\\n\\t\\\"file-system.file-open-error.file-format-version-too-new\\\": \\\"您试图打开的文件来自 tldraw 新版本。请重新加载页面,然后重试。\\\",\\n\\t\\\"file-system.file-open-error.generic-corrupted-file\\\": \\\"您试图打开的文件已损坏。\\\",\\n\\t\\\"file-system.confirm-open.title\\\": \\\"覆盖当前项目?\\\",\\n\\t\\\"file-system.confirm-open.description\\\": \\\"打开文件将替换您的当前项目,任何未保存的更改将丢失。确定要继续吗?\\\",\\n\\t\\\"file-system.confirm-open.cancel\\\": \\\"取消\\\",\\n\\t\\\"file-system.confirm-open.open\\\": \\\"打开文件\\\",\\n\\t\\\"file-system.confirm-open.dont-show-again\\\": \\\"不再询问\\\",\\n\\t\\\"toast.error.export-fail.title\\\": \\\"导出失败\\\",\\n\\t\\\"toast.error.export-fail.desc\\\": \\\"无法导出图像\\\",\\n\\t\\\"toast.error.copy-fail.title\\\": \\\"复制失败\\\",\\n\\t\\\"toast.error.copy-fail.desc\\\": \\\"无法复制图像\\\",\\n\\t\\\"file-system.shared-document-file-open-error.title\\\": \\\"无法打开文件\\\",\\n\\t\\\"file-system.shared-document-file-open-error.description\\\": \\\"不支持从共享项目中打开文件。\\\",\\n\\t\\\"vscode.file-open.dont-show-again\\\": \\\"不再询问\\\",\\n\\t\\\"vscode.file-open.desc\\\": \\\"该文件是用较早版本的tldraw创建的。您是否愿意将其更新为新版本?\\\",\\n\\t\\\"context.pages.new-page\\\": \\\"新页面\\\",\\n\\t\\\"style-panel.arrowhead-start\\\": \\\"前端\\\",\\n\\t\\\"style-panel.arrowhead-end\\\": \\\"末端\\\",\\n\\t\\\"vscode.file-open.open\\\": \\\"继续\\\",\\n\\t\\\"vscode.file-open.backup\\\": \\\"备份\\\",\\n\\t\\\"vscode.file-open.backup-saved\\\": \\\"备份已保存\\\",\\n\\t\\\"vscode.file-open.backup-failed\\\": \\\"备份失败:这不是 .tldr 文件。\\\",\\n\\t\\\"tool-panel.more\\\": \\\"更多\\\",\\n\\t\\\"debug-panel.more\\\": \\\"更多\\\",\\n\\t\\\"action.new-project\\\": \\\"新项目\\\",\\n\\t\\\"file-system.confirm-clear.title\\\": \\\"清空当前项目?\\\",\\n\\t\\\"file-system.confirm-clear.description\\\": \\\"创建新项目将清除您当前的项目,并且所有未保存的更改都将丢失。确定要继续吗?\\\",\\n\\t\\\"file-system.confirm-clear.cancel\\\": \\\"取消\\\",\\n\\t\\\"file-system.confirm-clear.continue\\\": \\\"继续\\\",\\n\\t\\\"file-system.confirm-clear.dont-show-again\\\": \\\"不再询问\\\",\\n\\t\\\"action.stop-following\\\": \\\"停止跟踪\\\",\\n\\t\\\"people-menu.follow\\\": \\\"跟踪\\\",\\n\\t\\\"style-panel.position\\\": \\\"位置\\\",\\n\\t\\\"page-menu.go-to-page\\\": \\\"转到页面\\\",\\n\\t\\\"action.insert-embed\\\": \\\"创建嵌入\\\",\\n\\t\\\"people-menu.following\\\": \\\"正在跟随\\\",\\n\\t\\\"people-menu.leading\\\": \\\"跟随\\\",\\n\\t\\\"geo-style.check-box\\\": \\\"复选框\\\",\\n\\t\\\"tool.check-box\\\": \\\"复选框\\\",\\n\\t\\\"share-menu.create-snapshot-link\\\": \\\"创建快照链接\\\",\\n\\t\\\"share-menu.save-note\\\": \\\"将这个项目以 .tldr 格式保存到您的电脑上。\\\",\\n\\t\\\"share-menu.fork-note\\\": \\\"基于这个快照创建一个新的共享项目。\\\",\\n\\t\\\"share-menu.snapshot-link-note\\\": \\\"截取此项目并将其共享为一个只读的快照链接。\\\",\\n\\t\\\"share-menu.upload-failed\\\": \\\"抱歉,我们目前无法上传您的项目,请重试。如果问题仍然存在,请告诉我们。\\\",\\n\\t\\\"style-panel.vertical-align\\\": \\\"垂直对齐\\\",\\n\\t\\\"tool.laser\\\": \\\"激光笔\\\",\\n\\t\\\"action.fork-project\\\": \\\"Fork 这个项目\\\",\\n\\t\\\"action.leave-shared-project\\\": \\\"退出共享项目\\\",\\n\\t\\\"sharing.confirm-leave.title\\\": \\\"退出当前项目?\\\",\\n\\t\\\"sharing.confirm-leave.description\\\": \\\"您确定要退出这个共享项目吗?您可以通过访问它的 URL 以返回。\\\",\\n\\t\\\"sharing.confirm-leave.cancel\\\": \\\"取消\\\",\\n\\t\\\"sharing.confirm-leave.leave\\\": \\\"退出\\\",\\n\\t\\\"sharing.confirm-leave.dont-show-again\\\": \\\"不再询问\\\",\\n\\t\\\"action.toggle-reduce-motion.menu\\\": \\\"降低灵敏度\\\",\\n\\t\\\"action.toggle-reduce-motion\\\": \\\"切换降低灵敏度\\\",\\n\\t\\\"tool.highlight\\\": \\\"高亮\\\",\\n\\t\\\"action.toggle-lock\\\": \\\"锁定/解锁\\\",\\n\\t\\\"share-menu.default-project-name\\\": \\\"共享项目\\\",\\n\\t\\\"home-project-dialog.title\\\": \\\"主项目\\\",\\n\\t\\\"home-project-dialog.description\\\": \\\"这是您的主项目,它只为您而设!\\\",\\n\\t\\\"rename-project-dialog.title\\\": \\\"项目重命名\\\",\\n\\t\\\"rename-project-dialog.cancel\\\": \\\"取消\\\",\\n\\t\\\"rename-project-dialog.rename\\\": \\\"重命名\\\",\\n\\t\\\"home-project-dialog.ok\\\": \\\"好的\\\",\\n\\t\\\"action.open-cursor-chat\\\": \\\"Cursor Chat\\\",\\n\\t\\\"shortcuts-dialog.collaboration\\\": \\\"协作\\\",\\n\\t\\\"cursor-chat.type-to-chat\\\": \\\"输入以开始聊天...\\\",\\n\\t\\\"geo-style.cloud\\\": \\\"云\\\",\\n\\t\\\"tool.cloud\\\": \\\"云\\\",\\n\\t\\\"action.unlock-all\\\": \\\"全部解锁\\\",\\n\\t\\\"status.offline\\\": \\\"离线\\\",\\n\\t\\\"status.online\\\": \\\"在线\\\",\\n\\t\\\"action.remove-frame\\\": \\\"移除框架\\\",\\n\\t\\\"action.fit-frame-to-content\\\": \\\"适合于内容\\\"\\n}\\n\",\"type\":\"application/json\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/translations/zh-cn.json\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom-center.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Crect width=\\\"2\\\" height=\\\"12\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"matrix(1 0 0 -1 14 20)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"scale(1 -1) rotate(45 32.35 7.814)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"scale(1 -1) rotate(-45 -16.35 -25.985)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"14\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"matrix(0 1 1 0 8 23)\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom-center.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-diamond.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"m18.414 3.828 9.9 9.9a2 2 0 0 1 0 2.828l-9.9 9.9a2 2 0 0 1-2.828 0l-9.9-9.9a2 2 0 0 1 0-2.828l9.9-9.9a2 2 0 0 1 2.828 0Z\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M1 15h4\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-diamond.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevrons-ne.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M7.527 8.733 13.795 15l-6.268 6.268m8.678-12.536L22.473 15l-6.268 6.267\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevrons-ne.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dots-horizontal.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M7.25 15a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0ZM17.25 15a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0ZM27.25 15a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dots-horizontal.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-left.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m3 14.822 14.165 11.655a1 1 0 0 0 1.635-.772v-4.082H27v-13.6h-8.2V3.94a1 1 0 0 0-1.635-.772L3 14.822Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/github.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M14.999.5C6.993.5.5 6.992.5 15c0 6.406 4.154 11.841 9.916 13.76.726.132.99-.316.99-.7 0-.345-.012-1.256-.02-2.466-4.033.876-4.884-1.944-4.884-1.944-.66-1.675-1.61-2.121-1.61-2.121-1.317-.9.1-.881.1-.881 1.455.102 2.22 1.494 2.22 1.494 1.294 2.216 3.395 1.576 4.22 1.204.133-.936.507-1.575.921-1.937-3.22-.367-6.605-1.61-6.605-7.167 0-1.584.566-2.877 1.493-3.89-.15-.367-.647-1.842.142-3.838 0 0 1.217-.39 3.987 1.485A13.926 13.926 0 0 1 15 7.512c1.232.006 2.472.166 3.63.487 2.769-1.875 3.984-1.485 3.984-1.485.791 1.996.294 3.47.145 3.837.93 1.014 1.49 2.307 1.49 3.891 0 5.57-3.39 6.796-6.62 7.155.52.448.984 1.333.984 2.686 0 1.938-.018 3.502-.018 3.977 0 .388.262.84.997.698C25.349 26.836 29.5 21.405 29.5 15 29.5 6.99 23.007.5 14.999.5\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/github.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/reset-zoom.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Ccircle cx=\\\"12.408\\\" cy=\\\"12.408\\\" r=\\\"9.408\\\" stroke=\\\"#000\\\" stroke-width=\\\"2\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M27.08 25.24a1.301 1.301 0 1 1-1.84 1.84L18.89 20.73a1.301 1.301 0 0 1 1.84-1.84l6.351 6.351Z\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M7.908 12.408a4.5 4.5 0 1 0 4.5-4.5\\\"/>\u003Ccircle cx=\\\"9.216\\\" cy=\\\"9.155\\\" r=\\\"1\\\" fill=\\\"#000\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/reset-zoom.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stack-horizontal.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2.6\\\" d=\\\"M3 28V2m8 26V2m8 26V2m8 26V2\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stack-horizontal.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-pencil.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m4.636 23.182 1.599-3.73a.5.5 0 0 1 .106-.157L22.636 3 27 7.364 10.704 23.659a.501.501 0 0 1-.156.106l-3.73 1.599m-2.182-2.182L3 27l3.818-1.636m-2.182-2.182 2.182 2.182\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"m3 27 1.714-4L7 25.286 3 27Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-pencil.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom-left.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Crect width=\\\"2\\\" height=\\\"14\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"matrix(1 0 0 -1 5 25)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"14\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"matrix(0 1 1 0 5 23)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"12\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"scale(1 -1) rotate(-45 -17.935 -21.157)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"matrix(1 0 0 -1 10 20)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"matrix(0 1 1 0 10 18)\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-dot.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M29 15c0 6.075-4.925 11-11 11S7 21.075 7 15 11.925 4 18 4s11 4.925 11 11Z\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M1 15h5\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-dot.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevrons-sw.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M22.473 21.267 16.205 15l6.268-6.268m-8.678 12.536L7.527 15l6.268-6.267\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevrons-sw.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dots-vertical.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M17.25 5a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0ZM17.25 15a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0ZM17.25 25a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dots-vertical.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-right.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M27 14.822 12.835 3.168a1 1 0 0 0-1.635.772v4.083H3v13.6h8.2v4.082a1 1 0 0 0 1.635.772L27 14.822Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-right.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/group.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M2.9 1.9a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0v-3h3a1 1 0 1 0 0-2h-4ZM11.9 1.9a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6ZM10.9 26.9a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1ZM3.9 11.9a1 1 0 1 0-2 0v6a1 1 0 1 0 2 0v-6ZM26.9 10.9a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1ZM22.9 1.9a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-4c0-.552-.45-1-1.002-1H22.9ZM2.9 21.9a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1ZM27.9 22.9a1 1 0 1 0-2 0l-.002 3H22.9a1 1 0 1 0 0 2h4a1 1 0 0 0 1-1v-4Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/group.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/rotate-ccw.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"31\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M15.597 7.186A.25.25 0 0 0 16 6.99V5c3.963 0 6.37.727 7.821 2.179C25.273 8.63 26 11.037 26 15a1 1 0 1 0 2 0c0-4.112-.735-7.206-2.765-9.235C23.205 3.735 20.113 3 16 3V1.011a.25.25 0 0 0-.403-.197l-3.843 2.989a.25.25 0 0 0 0 .395l3.843 2.988Z\\\"/>\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M3.5 9A1.5 1.5 0 0 0 2 10.5v17A1.5 1.5 0 0 0 3.5 29h17a1.5 1.5 0 0 0 1.5-1.5v-17A1.5 1.5 0 0 0 20.5 9h-17Zm.5 2v16h16V11H4Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/rotate-ccw.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stack-vertical.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2.6\\\" d=\\\"M28 27H2m26-8H2m26-8H2m26-8H2\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stack-vertical.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-pointer.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m17.072 28.713 4.245-1.935-4.415-9.701 8.037-.355L7.123 1.287v23.55l5.525-5.826 4.424 9.702Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-pointer.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom-right.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Crect width=\\\"2\\\" height=\\\"12\\\" x=\\\"20.293\\\" y=\\\"18.879\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(135 20.293 18.879)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"14\\\" x=\\\"25\\\" y=\\\"25\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(180 25 25)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" x=\\\"20\\\" y=\\\"20\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(180 20 20)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"14\\\" x=\\\"25\\\" y=\\\"23\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(90 25 23)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" x=\\\"20\\\" y=\\\"18\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(90 20 18)\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom-right.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-none.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M1 15h28\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-none.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/clipboard-copied.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"31\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M8 2v2h10V2H8Zm-2-.5A1.5 1.5 0 0 1 7.5 0h11A1.5 1.5 0 0 1 20 1.5V2h1a3 3 0 0 1 3 3v9h-2V5a1 1 0 0 0-1-1h-1v.5A1.5 1.5 0 0 1 18.5 6h-11A1.5 1.5 0 0 1 6 4.5V4H5a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h7v2H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h1v-.5Z\\\" clip-rule=\\\"evenodd\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M27.52 17.173c.49.32.628.978.307 1.468l-7.212 11.03a1.06 1.06 0 0 1-1.601.205l-4.667-4.243a1.06 1.06 0 1 1 1.427-1.57l3.746 3.406 6.532-9.989a1.06 1.06 0 0 1 1.468-.307Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/clipboard-copied.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/drag-handle-dots.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M11 9.25a2.25 2.25 0 1 0 0-4.5 2.25 2.25 0 0 0 0 4.5ZM19 9.25a2.25 2.25 0 1 0 0-4.5 2.25 2.25 0 0 0 0 4.5ZM21.25 15a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0ZM11 17.25a2.25 2.25 0 1 0 0-4.5 2.25 2.25 0 0 0 0 4.5ZM21.25 23a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0ZM11 25.25a2.25 2.25 0 1 0 0-4.5 2.25 2.25 0 0 0 0 4.5Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/drag-handle-dots.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-up.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M15 2.823 3.346 16.987a1 1 0 0 0 .772 1.636H8.2v8.2h13.6v-8.2h4.082a1 1 0 0 0 .772-1.636L15 2.823Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-up.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/hidden.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M4 26 26 4M1 15c3 4.8 8 8 14 8s11-3.2 14-8c-3-4.8-8-8-14-8S4 10.2 1 15Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/hidden.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/rotate-cw.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M14.403 7.217A.25.25 0 0 1 14 7.02V5.03c-3.963 0-6.37.728-7.821 2.18C4.727 8.66 4 11.068 4 15.03a1 1 0 0 1-2 0c0-4.112.735-7.205 2.765-9.235C6.795 3.765 9.888 3.031 14 3.031V1.042a.25.25 0 0 1 .403-.197l3.843 2.988a.25.25 0 0 1 0 .395l-3.843 2.989Z\\\"/>\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M26.5 9.03a1.5 1.5 0 0 1 1.5 1.5v17a1.5 1.5 0 0 1-1.5 1.5h-17a1.5 1.5 0 0 1-1.5-1.5v-17a1.5 1.5 0 0 1 1.5-1.5h17Zm-.5 2v16H10v-16h16Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/rotate-cw.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stretch-horizontal.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M2 12h26v6H2v-6ZM0 3a1 1 0 0 1 2 0v24a1 1 0 1 1-2 0V3ZM28 3a1 1 0 1 1 2 0v24a1 1 0 0 1-2 0V3Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stretch-horizontal.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-text.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M11.509 24a1 1 0 1 0 0 2v-2Zm7 2a1 1 0 1 0 0-2v2ZM7 5V4a1 1 0 0 0-1 1h1Zm16 0h1a1 1 0 0 0-1-1v1Zm-1 4a1 1 0 1 0 2 0h-2ZM6 9a1 1 0 0 0 2 0H6Zm10 15.5v-19h-2v19h2ZM11.509 26h7v-2h-7v2ZM7 6h16V4H7v2Zm17 3V5h-2v4h2ZM8 9V5H6v4h2Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-text.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M18 5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v23H3a1 1 0 1 0 0 2h24a1 1 0 1 0 0-2h-9V5Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-square.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M1 15h4m3 12h18a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-square.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/clipboard-copy.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M8 2v2h10V2H8Zm-2-.5A1.5 1.5 0 0 1 7.5 0h11A1.5 1.5 0 0 1 20 1.5V2h1a3 3 0 0 1 3 3v9h-2V5a1 1 0 0 0-1-1h-1v.5A1.5 1.5 0 0 1 18.5 6h-11A1.5 1.5 0 0 1 6 4.5V4H5a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h7v2H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h1v-.5Z\\\" clip-rule=\\\"evenodd\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M28 29a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM28 25a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM28 21a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM28 17a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM24 17a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM20 17a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM16 17a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM16 21a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM16 25a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM16 29a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM20 29a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM24 29a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/clipboard-copy.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/duplicate.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M2 19a3 3 0 0 0 3 3h3v-2H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v3h-9a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V11a3 3 0 0 0-3-3h-3V5a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v14Zm8-8a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H11a1 1 0 0 1-1-1V11Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/duplicate.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-check-box.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M5 3h20a2 2 0 0 1 2 2v20a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2Z\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m8 15 5 7M22 8l-9 14\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-check-box.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/image.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M15 7.398a3.602 3.602 0 1 0 0 7.204 3.602 3.602 0 0 0 0-7.204ZM13.398 11a1.602 1.602 0 1 1 3.204 0 1.602 1.602 0 0 1-3.204 0Z\\\" clip-rule=\\\"evenodd\\\"/>\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M4.5 2h21A2.5 2.5 0 0 1 28 4.5v21a2.5 2.5 0 0 1-2.5 2.5h-21A2.5 2.5 0 0 1 2 25.5v-21A2.5 2.5 0 0 1 4.5 2ZM26 4.5v14.086l-3.293-3.293a1 1 0 0 0-1.414 0l-5.543 5.543-7.019-7.518a1 1 0 0 0-1.438-.025L4 16.586V4.5a.5.5 0 0 1 .5-.5h21a.5.5 0 0 1 .5.5Zm-22 21v-6.086l3.975-3.975 7.014 7.513L17.747 26H4.5a.5.5 0 0 1-.5-.5Zm21.5.5h-5.055l-3.34-3.69L22 17.413l4 4V25.5a.5.5 0 0 1-.5.5Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/image.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/ruler.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M21 4.5V9m4-3.5V9M4.5 21H9m-3.5-4H9m-3.5 8H9M2 9h7m0 0V2m0 7h20V1H1v28h8V9Zm8-3.5V9M5.5 13H9m4-7.5V9\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/ruler.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stretch-vertical.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M2 1a1 1 0 0 1 1-1h24a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1ZM12 2h6v26h9a1 1 0 1 1 0 2H3a1 1 0 1 1 0-2h9V2Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stretch-vertical.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/trash.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M10.5 3.3v1.8h9V3.3h-9Zm10.8 1.8V2.85a1.35 1.35 0 0 0-1.35-1.35h-9.9A1.35 1.35 0 0 0 8.7 2.85V5.1H3.3a.9.9 0 0 0 0 1.8h1.961c0 .05.002.102.007.154l1.7 19.8A1.8 1.8 0 0 0 8.76 28.5h12.478a1.8 1.8 0 0 0 1.794-1.646l1.7-19.8c.004-.052.006-.103.006-.154H26.7a.9.9 0 1 0 0-1.8h-5.4Zm1.639 1.8H7.06l1.7 19.8h12.478l1.7-19.8Z\\\" clip-rule=\\\"evenodd\\\"/>\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M11.325 11.403a.9.9 0 0 1 .972.822l.9 10.8a.9.9 0 1 1-1.794.15l-.9-10.8a.9.9 0 0 1 .822-.972ZM17.625 23.997a.9.9 0 0 1-.822-.972l.9-10.8a.9.9 0 0 1 1.794.15l-.9 10.8a.9.9 0 0 1-.972.822Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/trash.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-center.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Crect width=\\\"2\\\" height=\\\"6\\\" x=\\\"12\\\" y=\\\"7\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(-90 12 7)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" x=\\\"12\\\" y=\\\"25\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(-90 12 25)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" x=\\\"23\\\" y=\\\"12\\\" fill=\\\"#000\\\" rx=\\\"1\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" x=\\\"5\\\" y=\\\"12\\\" fill=\\\"#000\\\" rx=\\\"1\\\"/>\u003Ccircle cx=\\\"15\\\" cy=\\\"15\\\" r=\\\"2\\\" fill=\\\"#000\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-center.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-triangle-inverted.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M1 14a1 1 0 1 0 0 2v-2ZM29 2h1a1 1 0 0 0-1.585-.81L29 2Zm0 26-.585.81A1 1 0 0 0 30 28h-1ZM1 16h10v-2H1v2ZM28 2v26h2V2h-2Zm1.585 25.19-18-13-1.17 1.62 18 13 1.17-1.62Zm-18-11.38 18-13-1.17-1.62-18 13 1.17 1.62Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-triangle-inverted.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/code.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M19.928 5.371a1 1 0 1 0-1.857-.742l-8 20a1 1 0 0 0 1.857.742l8-20ZM7.707 10.293a1 1 0 0 1 0 1.414L4.414 15l3.293 3.293a1 1 0 1 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0ZM22.293 10.293a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 1 1-1.414-1.414L25.586 15l-3.293-3.293a1 1 0 0 1 0-1.414Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/code.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/edit.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M24 9.273 11.795 21.477a.503.503 0 0 1-.156.106L6 24l2.417-5.639a.501.501 0 0 1 .106-.156L20.727 6 24 9.273Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/edit.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-cloud.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cmask id=\\\"a\\\" fill=\\\"#fff\\\">\u003Cpath fill-rule=\\\"evenodd\\\" d=\\\"M23.323 12.37a6.861 6.861 0 0 1-.846 13.67H7.524a6.86 6.86 0 0 1-.847-13.67 8.326 8.326 0 0 1 16.646 0Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/mask>\u003Cpath fill=\\\"#000\\\" d=\\\"m23.323 12.37-2 .05.043 1.725 1.713.21.244-1.984Zm-16.646 0 .244 1.986 1.713-.211.042-1.726-2-.048Zm16.402 1.986a4.861 4.861 0 0 1 4.258 4.823h4c0-4.524-3.39-8.254-7.77-8.793l-.488 3.97Zm4.258 4.823a4.86 4.86 0 0 1-4.86 4.86v4a8.86 8.86 0 0 0 8.86-8.86h-4Zm-4.86 4.86H7.524v4h14.953v-4Zm-14.953 0a4.86 4.86 0 0 1-4.86-4.86h-4a8.86 8.86 0 0 0 8.86 8.86v-4Zm-4.86-4.86a4.861 4.861 0 0 1 4.257-4.823l-.489-3.97c-4.379.539-7.769 4.269-7.769 8.793h4Zm6.012-6.76A6.326 6.326 0 0 1 15 6.25v-4c-5.618 0-10.188 4.486-10.323 10.073l4 .096ZM15 6.25a6.326 6.326 0 0 1 6.324 6.17l3.999-.098C25.187 6.736 20.618 2.25 15 2.25v4Z\\\" mask=\\\"url(#a)\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-cloud.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/info-circle.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M15 27.295c6.79 0 12.295-5.505 12.295-12.296C27.295 8.21 21.79 2.704 15 2.704S2.704 8.209 2.704 14.999 8.21 27.295 15 27.295Z\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"square\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M13 21h2m2 0h-2m0 0v-8h-2\\\"/>\u003Ccircle cx=\\\"15\\\" cy=\\\"9\\\" r=\\\"1.5\\\" fill=\\\"#000\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/info-circle.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/search.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Ccircle cx=\\\"13\\\" cy=\\\"13\\\" r=\\\"8\\\" stroke=\\\"#000\\\" stroke-width=\\\"2\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m19 19 6 6\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/search.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-center.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M7 21h16M9 15h12M5 9h20\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-center.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/triangle-down.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M8 12h14l-7 9-7-9Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/triangle-down.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-horizontal.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M2 13a1 1 0 0 1 1-1h24a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-4Z\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M14 3a1 1 0 1 1 2 0v24a1 1 0 0 1-2 0V3Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-horizontal.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-triangle.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M1 15.154h10.692m1-11.692v23.076L28.846 15 12.692 3.462Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-triangle.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/collab.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M20.93 15.15c-1.588 0-2.916.268-3.979.782-.531.257-1.211-1.656.35-2.149 1.102-.347 2.322-.508 3.63-.508 2.312 0 4.354.503 5.947 1.654 1.609 1.162 2.658 2.914 3.105 5.208a.938.938 0 0 1-1.84.358c-.372-1.91-1.204-3.209-2.364-4.047-1.176-.85-2.791-1.298-4.848-1.298ZM4.26 20.095c-1.142.762-1.98 1.934-2.414 3.637a.937.937 0 1 1-1.817-.464c.535-2.093 1.616-3.682 3.192-4.733 1.558-1.038 3.515-1.494 5.718-1.494 2.744 0 5.108.709 6.784 2.36 1.678 1.654 2.516 4.106 2.516 7.274a.937.937 0 1 1-1.875 0c0-2.852-.75-4.75-1.957-5.938-1.21-1.192-3.027-1.821-5.468-1.821-1.96 0-3.519.406-4.678 1.18Z\\\" clip-rule=\\\"evenodd\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M14.088 8.48c.873.37 1.626.97 2.183 1.722a4.331 4.331 0 1 1 .605 1.051 5.252 5.252 0 0 1 .383 2.755 6.206 6.206 0 1 0-3.17-5.527Z\\\"/>\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M5.827 12.71a6.206 6.206 0 1 1 12.412 0 6.206 6.206 0 0 1-12.412 0Zm6.206-4.331a4.331 4.331 0 1 0 0 8.662 4.331 4.331 0 0 0 0-8.662Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/collab.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/external-link.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M13 5H7a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6M19 5h6m0 0v6m0-6L13 17\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/external-link.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-diamond.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M16.414 1.97 28.03 13.587a2 2 0 0 1 0 2.828L16.414 28.03a2 2 0 0 1-2.828 0L1.97 16.414a2 2 0 0 1 0-2.828L13.586 1.97a2 2 0 0 1 2.828 0Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-diamond.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/leading.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M26 15c0 1.77-1.077 3.496-3.07 4.825C20.946 21.149 18.145 22 15 22s-5.945-.851-7.93-2.175C5.076 18.496 4 16.77 4 15c0-1.77 1.077-3.496 3.07-4.825C9.054 8.851 11.855 8 15 8s5.945.851 7.93 2.175C24.924 11.504 26 13.23 26 15Z\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M25 15c0 2.21-1.567 4-3.5 4S18 17.21 18 15s1.567-4 3.5-4 3.5 1.79 3.5 4Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/leading.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/send-backward.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M21.5 17.5 15 24m0 0-6.5-6.5M15 24V6\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/send-backward.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-justify.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 21h20M5 15h7m7 0h6M5 9h20\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-justify.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/triangle-up.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M8 18h14l-7-9-7 9Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/triangle-up.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-left.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Crect width=\\\"2\\\" height=\\\"12\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"matrix(0 1 1 0 10 14)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"scale(1 -1) rotate(-45 -13.4 -18.864)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"scale(-1 1) rotate(45 -21.814 -6.278)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"14\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"matrix(-1 0 0 1 7 8)\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/aspect-ratio.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M15 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM16 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM15 16a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM20 15a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM23 16a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\\\"/>\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M2 3.5A1.5 1.5 0 0 1 3.5 2h23A1.5 1.5 0 0 1 28 3.5v23a1.5 1.5 0 0 1-1.5 1.5h-23A1.5 1.5 0 0 1 2 26.5v-23ZM4 26V4h22v22H4Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/aspect-ratio.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/color.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Ccircle cx=\\\"15\\\" cy=\\\"15\\\" r=\\\"13\\\" fill=\\\"#000\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/color.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/file.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M7 4a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V12h-7a1 1 0 0 1-1-1V4H7Zm11 1.414L22.586 10H18V5.414ZM4 5a3 3 0 0 1 3-3h10a1 1 0 0 1 .707.293l8 8A1 1 0 0 1 26 11v14a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/file.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-ellipse.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M27 15c0 6.627-5.373 12-12 12S3 21.627 3 15 8.373 3 15 3s12 5.373 12 12Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-ellipse.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/link.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M11 9H9.25c-1.162 0-1.742 0-2.225.092-1.984.379-3.534 1.867-3.929 3.772C3 13.327 3 13.884 3 15c0 1.115 0 1.673.096 2.136.395 1.905 1.945 3.393 3.929 3.772C7.508 21 8.088 21 9.25 21H11m8-12h1.75c1.162 0 1.742 0 2.226.092 1.983.379 3.533 1.867 3.928 3.772C27 13.327 27 13.884 27 15c0 1.115 0 1.673-.096 2.136-.395 1.905-1.945 3.393-3.928 3.772-.483.092-1.064.092-2.226.092H19M10.002 15h10\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/link.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/send-to-back.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M21.5 14.5 15 21m0 0-6.5-6.5M15 21V3m12 24H3\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/send-to-back.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-left.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 21h16M5 15h10M5 9h20\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/twitter.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M20.72 4.137a5.254 5.254 0 0 0-5.253 5.256c0 .41.047.81.135 1.195a14.919 14.919 0 0 1-10.829-5.49 5.251 5.251 0 0 0-.71 2.641c0 1.823.928 3.432 2.337 4.374a5.241 5.241 0 0 1-2.38-.658v.068a5.256 5.256 0 0 0 4.214 5.152 5.294 5.294 0 0 1-2.372.09 5.257 5.257 0 0 0 4.908 3.647 10.542 10.542 0 0 1-6.526 2.25c-.424 0-.842-.025-1.254-.073a14.858 14.858 0 0 0 8.053 2.36c9.665 0 14.948-8.005 14.948-14.947 0-2.96-2.094-5.865-5.271-5.865Z\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M26.393 7.138a10.52 10.52 0 0 0 3.017-.827l-.003.003a10.68 10.68 0 0 1-2.62 2.718l-1.42-3.527a10.488 10.488 0 0 0 3.336-1.275 5.268 5.268 0 0 1-2.31 2.908Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/twitter.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-right.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Crect width=\\\"2\\\" height=\\\"12\\\" x=\\\"20\\\" y=\\\"14\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(90 20 14)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" x=\\\"20.586\\\" y=\\\"15\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(135 20.586 15)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" x=\\\"19.172\\\" y=\\\"13.586\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(45 19.172 13.586)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"14\\\" x=\\\"23\\\" y=\\\"8\\\" fill=\\\"#000\\\" rx=\\\"1\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-right.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/avatar.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 27.5c0-7.2 3.8-10.4 10-10.4s10 3.2 10 10.4M15 15.6A6.3 6.3 0 1 0 15 3a6.3 6.3 0 0 0 0 12.6Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/avatar.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/comment.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 3a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10l6 6v-6h4a4 4 0 0 0 4-4V7a4 4 0 0 0-4-4H5Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/comment.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-none.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M8 4h18v18h-2V8a2 2 0 0 0-2-2H8V4ZM6 6V4a2 2 0 0 1 2-2h18a2 2 0 0 1 2 2v18a2 2 0 0 1-2 2h-2v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2Zm16 18v2H4V8h2v14a2 2 0 0 0 2 2h14Zm0-2H8V8h14v14Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-none.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-hexagon.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"m15.992 3.217 8.825 5.038a2 2 0 0 1 1.009 1.737v10.016a2 2 0 0 1-1.009 1.737l-8.825 5.038a2 2 0 0 1-1.983 0l-8.826-5.038a2 2 0 0 1-1.009-1.737V9.992a2 2 0 0 1 1.009-1.737l8.826-5.038a2 2 0 0 1 1.982 0Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-hexagon.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/lock-small.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M9 14.848a1 1 0 0 1 1-1h9.646a1 1 0 0 1 1 1V21a1 1 0 0 1-1 1H10a1 1 0 0 1-1-1v-6.152Z\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M18.317 13.848v-2.174C18.317 9.426 17.073 8 14.825 8s-3.496 1.43-3.496 3.677v2.171\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/lock-small.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/settings-horizontal.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M27 9H16m11 12h-3M3 9h3M3 21h11m1-12a4 4 0 1 1-8 0 4 4 0 0 1 8 0Zm8 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/settings-horizontal.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-right.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M9 21h16m-10-6h10M5 9h20\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-right.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/undo.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M9.707 4.293a1 1 0 0 1 0 1.414L7.414 8H18a9 9 0 1 1 0 18h-8a1 1 0 1 1 0-2h8a7 7 0 1 0 0-14H7.414l2.293 2.293a1 1 0 0 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/undo.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-vertical.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M13 2a1 1 0 0 0-1 1v11H3a1 1 0 1 0 0 2h9v11a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V16h9a1 1 0 0 0 0-2h-9V3a1 1 0 0 0-1-1h-4Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-vertical.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/blob.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M1.981 12.472c-.143.222.115.529.351.413.815-.4 1.604-.823 2.375-1.288.227-.137.476.108.329.328-1.904 2.857-6.632 9.873-1.427 10.333 3.16.279 6.33-2.296 9.304-4.985.219-.197.525.062.361.307-2.42 3.634-6.859 11.056-1.025 11.41 5.074.308 3.904-4.392 15.43-10.738.838-.46 1.102-1.412.892-2.34-.372-1.994-4.135-1.962-6.224-1.414-.255.067-.5-.253-.329-.453 2.546-2.986 9.853-10.44 5.252-12.768C23.219-.77 13.918 8.898 9.965 12.541c-.208.191-.435-.022-.267-.25 1.944-2.638 4.488-5.56 4.945-8.597a1.807 1.807 0 0 0-.238-1.214 2.057 2.057 0 0 0-.971-.854C9.124-.284 4.203 9.028 1.98 12.472Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/blob.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/cross-2.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M23.563 8.063a1.15 1.15 0 1 0-1.626-1.626L15 13.374 8.063 6.437a1.15 1.15 0 0 0-1.626 1.626L13.374 15l-6.937 6.937a1.15 1.15 0 1 0 1.626 1.626L15 16.626l6.937 6.937a1.15 1.15 0 1 0 1.626-1.626L16.626 15l6.937-6.937Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/cross-2.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-pattern.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M26 4H8v2h14a2 2 0 0 1 2 2v14h2V4ZM6 4v2H4a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2v-2h2a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2Zm16 22H4V8h18v18Z\\\" clip-rule=\\\"evenodd\\\"/>\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M23.438 15.553a.968.968 0 0 1 0 1.417l-1.49 1.418a1.091 1.091 0 0 1-1.49 0 .968.968 0 0 1 0-1.418l1.49-1.417a1.091 1.091 0 0 1 1.49 0Zm-4.468 5.67a.968.968 0 0 0 0-1.418 1.091 1.091 0 0 0-1.49 0l-1.49 1.417a.968.968 0 0 0 0 1.418 1.091 1.091 0 0 0 1.49 0l1.49-1.418Zm-4.468 2.834a.968.968 0 0 1 0 1.418l-1.49 1.417a1.091 1.091 0 0 1-1.49 0 .968.968 0 0 1 0-1.417l1.49-1.418a1.091 1.091 0 0 1 1.49 0Zm0-17.01a.968.968 0 0 1 0 1.418l-1.49 1.418a1.091 1.091 0 0 1-1.49 0 .968.968 0 0 1 0-1.418l1.49-1.417a1.091 1.091 0 0 1 1.49 0Zm-4.469 5.67a.968.968 0 0 0 0-1.417 1.091 1.091 0 0 0-1.489 0l-1.49 1.417a.968.968 0 0 0 0 1.418 1.091 1.091 0 0 0 1.49 0l1.49-1.418Zm-4.467 2.835a.968.968 0 0 1 0 1.418l-1.49 1.417a1.091 1.091 0 0 1-1.49 0 .969.969 0 0 1 0-1.417l1.49-1.417a1.091 1.091 0 0 1 1.49 0ZM23.437 11.3a.968.968 0 0 0 0-1.418 1.091 1.091 0 0 0-1.489 0l-1.49 1.418a.968.968 0 0 0 0 1.417 1.091 1.091 0 0 0 1.49 0l1.49-1.417Zm-4.467 2.835a.969.969 0 0 1 0 1.417l-1.49 1.418a1.091 1.091 0 0 1-1.49 0 .968.968 0 0 1 0-1.418l1.49-1.417a1.091 1.091 0 0 1 1.49 0Zm-4.468 5.67a.969.969 0 0 0 0-1.418 1.091 1.091 0 0 0-1.49 0l-1.49 1.418a.968.968 0 0 0 0 1.417 1.091 1.091 0 0 0 1.49 0l1.49-1.417Zm-4.468 2.835a.968.968 0 0 1 0 1.417l-1.49 1.418a1.091 1.091 0 0 1-1.49 0 .968.968 0 0 1 0-1.418l1.49-1.417a1.091 1.091 0 0 1 1.49 0Zm0-15.593-1.49 1.418a1.091 1.091 0 0 1-1.49 0 .968.968 0 0 1 0-1.418c1.105-1.05 4.772-1.705 2.98 0ZM5.566 11.3a.968.968 0 0 0 0-1.418 1.091 1.091 0 0 0-1.49 0L2.586 11.3a.968.968 0 0 0 0 1.417 1.091 1.091 0 0 0 1.49 0l1.49-1.417Zm17.871 9.922a.968.968 0 0 1 0 1.418l-1.489 1.417a1.091 1.091 0 0 1-1.49 0 .968.968 0 0 1 0-1.417l1.49-1.418a1.091 1.091 0 0 1 1.49 0Zm-4.468 5.67a.968.968 0 0 0 0-1.417 1.091 1.091 0 0 0-1.489 0l-1.49 1.417c-1.818 1.731 1.86 1.066 2.98 0Zm0-17.01a.968.968 0 0 0 0-1.417 1.091 1.091 0 0 0-1.489 0l-1.49 1.417a.968.968 0 0 0 0 1.418 1.091 1.091 0 0 0 1.49 0l1.49-1.418Zm-4.468 2.835a.968.968 0 0 1 0 1.418l-1.489 1.417a1.091 1.091 0 0 1-1.49 0 .968.968 0 0 1 0-1.417l1.49-1.418a1.091 1.091 0 0 1 1.49 0Zm-4.467 5.67a.968.968 0 0 0 0-1.417 1.091 1.091 0 0 0-1.49 0l-1.49 1.417a.968.968 0 0 0 0 1.418 1.091 1.091 0 0 0 1.49 0l1.49-1.418Zm-4.468 2.835a.968.968 0 0 1 0 1.418l-1.49 1.417a1.091 1.091 0 0 1-1.49 0 .969.969 0 0 1 0-1.417l1.49-1.418a1.091 1.091 0 0 1 1.49 0Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-pattern.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-octagon.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"m15.758 3.224 7.082 2.9a2 2 0 0 1 1.087 1.079l2.915 6.957a2 2 0 0 1 0 1.546l-2.915 6.957a2 2 0 0 1-1.087 1.078l-7.082 2.9a2 2 0 0 1-1.516 0l-7.082-2.9a2 2 0 0 1-1.087-1.078l-2.915-6.957a2 2 0 0 1 0-1.546l2.915-6.957A2 2 0 0 1 7.16 6.125l7.082-2.9a2 2 0 0 1 1.516 0Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-octagon.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/lock.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 14.021a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-12Z\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M21 13.022V9.288c0-3.86-2.136-6.31-5.997-6.31C11.143 2.979 9 5.434 9 9.295v3.728\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/lock.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/settings-vertical-1.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M10.75 13.7a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5ZM19.25 13.7a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5Z\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M20.745 19A6.992 6.992 0 0 1 15 22a6.992 6.992 0 0 1-5.745-3M15 27.296c6.79 0 12.296-5.505 12.296-12.296C27.296 8.21 21.79 2.704 15 2.704 8.21 2.704 2.704 8.21 2.704 15c0 6.79 5.505 12.296 12.296 12.296ZM10.75 13.7a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5Zm8.5 0a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/settings-vertical-1.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-arrow.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M24 18.467V6m0 0H11.533M24 6 7 23\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-arrow.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/ungroup.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M2.9 1.9a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0v-3h3a1 1 0 1 0 0-2h-4ZM11.9 1.9a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2h-6ZM10.9 26.9a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2h-6a1 1 0 0 1-1-1ZM3.9 11.9a1 1 0 1 0-2 0v6a1 1 0 1 0 2 0v-6ZM26.9 10.9a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1ZM27.9 22.9a1 1 0 1 0-2 0l-.002 3H22.9a1 1 0 1 0 0 2h4a1 1 0 0 0 1-1v-4Z\\\"/>\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M27.293 3.707 3.707 27.293a1 1 0 0 1-1.414-1.414L25.879 2.293a1 1 0 1 1 1.414 1.414Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/ungroup.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-left.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M0 3a1 1 0 0 1 2 0v24a1 1 0 1 1-2 0V3Z\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M0 12h25a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H0v-6Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/bring-forward.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M8.5 12.639 15 6.5m0 0 6.5 6.139M15 6.5v17\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/bring-forward.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/cross.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M25.707 5.707a1 1 0 0 0-1.414-1.414L15 13.586 5.707 4.293a1 1 0 0 0-1.414 1.414L13.586 15l-9.293 9.293a1 1 0 1 0 1.414 1.414L15 16.414l9.293 9.293a1 1 0 0 0 1.414-1.414L16.414 15l9.293-9.293Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/cross.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-semi.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M26 4H8v2h14a2 2 0 0 1 2 2v14h2V4ZM6 4v2H4a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2v-2h2a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2Zm16 22H4V8h18v18Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-semi.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-oval.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M15 3c4.852 0 8 3.821 8 8.817v6.366C23 23.18 19.852 27 15 27c-4.82 0-7.948-3.771-8-8.723v-6.46C7 6.82 10.148 3 15 3Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-oval.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/menu.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M3.923 6C3.413 6 3 6.448 3 7s.413 1 .923 1h22.154c.51 0 .923-.448.923-1s-.413-1-.923-1H3.923ZM3 15c0-.552.413-1 .923-1h22.154c.51 0 .923.448.923 1s-.413 1-.923 1H3.923C3.413 16 3 15.552 3 15ZM3 23c0-.552.413-1 .923-1h22.154c.51 0 .923.448.923 1s-.413 1-.923 1H3.923C3.413 24 3 23.552 3 23Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/menu.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/settings-vertical.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M9 3v11M21 3v3M9 27v-3m12 3V16M9 15a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm12-8a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/settings-vertical.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-embed.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M2 3.5A1.5 1.5 0 0 1 3.5 2h23A1.5 1.5 0 0 1 28 3.5v23a1.5 1.5 0 0 1-1.5 1.5h-23A1.5 1.5 0 0 1 2 26.5v-23ZM4 26V4h22v22H4Z\\\" clip-rule=\\\"evenodd\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M16 8.078a1 1 0 1 0-2 0v5.5H8.5a1 1 0 1 0 0 2H14v5.5a1 1 0 1 0 2 0v-5.5h5.5a1 1 0 1 0 0-2H16v-5.5Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-embed.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/unlock-small.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M10 15.461a1 1 0 0 1 1-1h8.77a1 1 0 0 1 1 1V21a1 1 0 0 1-1 1H11a1 1 0 0 1-1-1v-5.539Z\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M18.616 14.461v-3.084C18.616 9.3 17.462 8 15.383 8c-1.141 0-2.003.374-2.548 1.077-.447.577-.681 1.36-.681 2.297\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/unlock-small.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-right.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M4 13a1 1 0 0 1 1-1h25v6H5a1 1 0 0 1-1-1v-4Z\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M28 3a1 1 0 1 1 2 0v24a1 1 0 0 1-2 0V3Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-right.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/bring-to-front.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M8.5 15.5 15 9m0 0 6.5 6.5M15 9v18M3 3h24\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/bring-to-front.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-dashed.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M12.465 2.247a13.055 13.055 0 0 1 5.07 0 1.61 1.61 0 1 1-.625 3.16 9.835 9.835 0 0 0-3.82 0 1.61 1.61 0 1 1-.625-3.16ZM10.01 4.633a1.61 1.61 0 0 1-.442 2.234 9.842 9.842 0 0 0-2.7 2.7A1.61 1.61 0 0 1 4.19 7.777 13.063 13.063 0 0 1 7.776 4.19a1.61 1.61 0 0 1 2.234.442Zm9.98 0a1.61 1.61 0 0 1 2.234-.442 13.063 13.063 0 0 1 3.585 3.585 1.61 1.61 0 1 1-2.676 1.792 9.841 9.841 0 0 0-2.7-2.7 1.61 1.61 0 0 1-.443-2.235ZM4.14 11.197a1.61 1.61 0 0 1 1.267 1.893 9.835 9.835 0 0 0 0 3.82 1.61 1.61 0 1 1-3.16.625 13.055 13.055 0 0 1 0-5.07 1.61 1.61 0 0 1 1.893-1.268Zm21.72 0a1.61 1.61 0 0 1 1.893 1.268 13.053 13.053 0 0 1 0 5.07 1.61 1.61 0 0 1-3.16-.625 9.833 9.833 0 0 0 0-3.82 1.61 1.61 0 0 1 1.267-1.893ZM4.633 19.99a1.61 1.61 0 0 1 2.234.442 9.841 9.841 0 0 0 2.7 2.7 1.61 1.61 0 0 1-1.791 2.677 13.063 13.063 0 0 1-3.585-3.585 1.61 1.61 0 0 1 .442-2.234Zm20.734 0a1.61 1.61 0 0 1 .442 2.234 13.064 13.064 0 0 1-3.585 3.585 1.61 1.61 0 1 1-1.792-2.676 9.841 9.841 0 0 0 2.7-2.7 1.61 1.61 0 0 1 2.235-.443Zm-14.17 5.87a1.61 1.61 0 0 1 1.893-1.267 9.833 9.833 0 0 0 3.82 0 1.61 1.61 0 1 1 .625 3.16 13.053 13.053 0 0 1-5.07 0 1.61 1.61 0 0 1-1.268-1.893Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-dashed.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-solid.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M26 4H8v2h14a2 2 0 0 1 2 2v14h2V4ZM6 4v2H4a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2v-2h2a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2Zm16 22H4V8h18v18Z\\\" clip-rule=\\\"evenodd\\\"/>\u003Cpath fill=\\\"#000\\\" fill-opacity=\\\".32\\\" d=\\\"M4 8h18v18H4V8Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-solid.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-pentagon.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M16.176 3.84 26.2 11.124a2 2 0 0 1 .727 2.236l-3.83 11.787a2 2 0 0 1-1.902 1.382H8.804a2 2 0 0 1-1.902-1.383L3.072 13.36a2 2 0 0 1 .727-2.236L13.824 3.84a2 2 0 0 1 2.352 0Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-pentagon.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/minus.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M4.5 15a1 1 0 0 1 1-1h19a1 1 0 1 1 0 2h-19a1 1 0 0 1-1-1Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/minus.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/share-1.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M11 15a4 4 0 1 1-8 0 4 4 0 0 1 8 0Zm16-8a4 4 0 1 1-8 0 4 4 0 0 1 8 0Zm0 16a4 4 0 1 1-8 0 4 4 0 0 1 8 0ZM19 21l-8-5m8-7-8 5\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/share-1.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-eraser.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m6.736 13.66-3.43 3.43a2 2 0 0 0 0 2.828l5.304 5.304a5 5 0 0 0 7.071 0l1.308-1.308M6.736 13.66 17.854 2.543l10.253 10.253L16.99 23.914M6.736 13.66 16.99 23.914\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-eraser.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/unlock.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 15a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V15Z\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M21 14V8.272C21 4.412 18.858 2 14.997 2c-2.12 0-3.72.695-4.732 2C9.435 5.072 9 6.526 9 8.267\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/unlock.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top-center.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Crect width=\\\"2\\\" height=\\\"12\\\" x=\\\"14\\\" y=\\\"10\\\" fill=\\\"#000\\\" rx=\\\"1\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" x=\\\"15\\\" y=\\\"9.414\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(45 15 9.414)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" x=\\\"13.586\\\" y=\\\"10.828\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(-45 13.586 10.828)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"14\\\" x=\\\"8\\\" y=\\\"7\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(-90 8 7)\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top-center.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/check.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M22.934 7.454a1.25 1.25 0 0 1 .362 1.73l-8.5 13a1.25 1.25 0 0 1-1.887.24l-5.5-5a1.25 1.25 0 1 1 1.682-1.849l4.415 4.014 7.698-11.773a1.25 1.25 0 0 1 1.73-.362Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/check.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-dotted.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M17 3.792a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM17 25.791a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM22.232 6.265a2 2 0 1 1-3.464-2 2 2 0 0 1 3.464 2ZM11.232 25.318a2 2 0 1 1-3.464-2 2 2 0 0 1 3.464 2ZM25.526 11.024a2 2 0 1 1-2-3.465 2 2 0 0 1 2 3.465ZM6.474 22.024a2 2 0 1 1-2-3.465 2 2 0 0 1 2 3.465ZM26 16.791a2 2 0 1 1 0-4 2 2 0 0 1 0 4ZM4 16.791a2 2 0 1 1 0-4 2 2 0 0 1 0 4ZM23.526 22.024a2 2 0 1 1 2-3.465 2 2 0 0 1-2 3.465ZM4.474 11.024a2 2 0 1 1 2-3.465 2 2 0 0 1-2 3.465ZM18.768 25.318a2 2 0 1 1 3.464-2 2 2 0 0 1-3.464 2ZM7.768 6.265a2 2 0 1 1 3.464-2 2 2 0 0 1-3.464 2Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-dotted.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/follow.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M19 15a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M26 15c0 1.77-1.077 3.496-3.07 4.825C20.946 21.149 18.145 22 15 22s-5.945-.851-7.93-2.175C5.076 18.496 4 16.77 4 15c0-1.77 1.077-3.496 3.07-4.825C9.054 8.851 11.855 8 15 8s5.945.851 7.93 2.175C24.924 11.504 26 13.23 26 15Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/follow.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-rectangle.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M5 3h20a2 2 0 0 1 2 2v20a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-rectangle.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/mixed.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M27.25 14.5a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0ZM7.25 14.5a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0ZM17.25 4.5a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0ZM17.25 24.5a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0ZM6.5 4.75a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM6.5 24.75a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM16.5 14.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM26.5 24.75a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM26.5 4.75a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/mixed.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/share-2.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M20.5 9H23a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V11a2 2 0 0 1 2-2h2.5m5.5 8V3m-4.5 2.5L15 1l4.5 4.5\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/share-2.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-frame.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M10.2 27H5a2 2 0 0 1-2-2v-5.2M19.8 27H25a2 2 0 0 0 2-2v-5.2M3 10.2V5a2 2 0 0 1 2-2h5.2m9.6 0H25a2 2 0 0 1 2 2v5.2\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-frame.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/vertical-align-center.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"31\\\" fill=\\\"none\\\">\u003Crect width=\\\"2\\\" height=\\\"8\\\" x=\\\"15\\\" y=\\\"19.297\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(45 15 19.297)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"8\\\" x=\\\"13.586\\\" y=\\\"20.711\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(-45 13.586 20.711)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"8\\\" x=\\\"15\\\" y=\\\"11.118\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(-135 15 11.118)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"8\\\" x=\\\"16.414\\\" y=\\\"9.704\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(135 16.414 9.704)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"22\\\" x=\\\"4\\\" y=\\\"16.207\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(-90 4 16.207)\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/vertical-align-center.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top-left.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Crect width=\\\"2\\\" height=\\\"14\\\" x=\\\"5\\\" y=\\\"5\\\" fill=\\\"#000\\\" rx=\\\"1\\\"/>\u003Crect width=\\\"2\\\" height=\\\"14\\\" x=\\\"5\\\" y=\\\"7\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(-90 5 7)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"12\\\" x=\\\"9.707\\\" y=\\\"11.121\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(-45 9.707 11.121)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" x=\\\"10\\\" y=\\\"10\\\" fill=\\\"#000\\\" rx=\\\"1\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" x=\\\"10\\\" y=\\\"12\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(-90 10 12)\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/checkbox-checked.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M3 3h24v24H3V3Z\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M22.934 7.454a1.25 1.25 0 0 1 .362 1.73l-8.5 13a1.25 1.25 0 0 1-1.887.24l-5.5-5a1.25 1.25 0 1 1 1.682-1.849l4.415 4.014 7.698-11.773a1.25 1.25 0 0 1 1.73-.362Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/checkbox-checked.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-draw.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M21.888 15.733c0-4.16-4.022-6.81-8.776-6.81-3.63 0-6.13 2.641-6.84 5.246-1.311 4.806 1.622 8.859 5.403 9.922 6.038 1.19 10.213-2.599 10.213-8.358ZM17.143 2.184c4.913.72 8.952 4.417 10.281 9.17C31.281 24.46 14.814 33.131 6.271 24.59-3.459 14.861 4.831.187 17.143 2.184Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-draw.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/following.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M26 15c0 1.77-1.077 3.496-3.07 4.825C20.946 21.149 18.145 22 15 22s-5.945-.851-7.93-2.175C5.076 18.496 4 16.77 4 15c0-1.77 1.077-3.496 3.07-4.825C9.054 8.851 11.855 8 15 8s5.945.851 7.93 2.175C24.924 11.504 26 13.23 26 15Z\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M12 15c0 2.21-1.567 4-3.5 4S5 17.21 5 15s1.567-4 3.5-4 3.5 1.79 3.5 4Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/following.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-rhombus-2.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M19.613 3H5.771a2 2 0 0 0-1.949 2.45l4.616 20A2 2 0 0 0 10.386 27H24.23a2 2 0 0 0 1.949-2.45l-4.616-20A2 2 0 0 0 19.613 3Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-rhombus-2.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/pack.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M2 1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1Zm0 16h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V18a1 1 0 0 1 1-1ZM18 1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1Zm0 16h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1V18a1 1 0 0 1 1-1Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/pack.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-extra-large.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"31\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"m4.42 5.792 3.63 6.134h.141l3.648-6.135h4.298l-5.493 9 5.616 9h-4.377L8.19 17.648h-.14L4.359 23.79H0l5.634-9-5.529-9h4.316ZM18.545 23.791v-18h3.806v14.863h7.716v3.137H18.545Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-extra-large.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-hand.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M8.636 16.022c-.19-.723-.38-1.618-.78-2.95-.757-2.49-2.075-4.8-2.723-7.326-.425-1.81 1.12-3.643 3.046-2.969 2.949 1.036 3.868 6.109 4.283 8.678l.152.856c-.203-3.707-.469-6.126 0-9.172.463-2.89 4.888-2.825 5.254.038.189 2.079.19 4.154.19 6.242 0 .437 0 3.082.038 2.797.114-1.256.171-6.07.647-7.498 1.04-3.19 4.893-2.028 5.083.876.157 2.1-.062 4.29-.114 6.394 0 .076-.02.57.038.342.574-1.786.076-6.736 3.187-6.119 1.027.204 2.931 1.59 1.542 6.289-1.96 6.631-4.5 9.498-4.5 16.5h-14c0-5-6.61-8.82-8.5-12.598-.418-.799-.626-1.807-.36-2.53.438-1.123 1.254-1.713 2.568-1.58 2.142.206 3.008 2.032 4.949 3.73Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-hand.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/vertical-align-end.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"31\\\" fill=\\\"none\\\">\u003Crect width=\\\"2\\\" height=\\\"22\\\" x=\\\"26\\\" y=\\\"19.707\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(90 26 19.707)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"8\\\" x=\\\"15\\\" y=\\\"16.617\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(-135 15 16.617)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"8\\\" x=\\\"16.414\\\" y=\\\"15.203\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(135 16.414 15.203)\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/vertical-align-end.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top-right.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Crect width=\\\"2\\\" height=\\\"14\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"matrix(-1 0 0 1 25 5)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"14\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"matrix(0 -1 -1 0 25 7)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"12\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"scale(-1 1) rotate(-45 3.278 30.056)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"matrix(-1 0 0 1 20 10)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"6\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"matrix(0 -1 -1 0 20 12)\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top-right.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/checkbox-empty.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-opacity=\\\".5\\\" stroke-width=\\\"2\\\" d=\\\"M8 8h14v14H8V8Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/checkbox-empty.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-solid.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Ccircle cx=\\\"15\\\" cy=\\\"15\\\" r=\\\"11.5\\\" stroke=\\\"#000\\\" stroke-width=\\\"3\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-solid.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-draw.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"3.2\\\" d=\\\"M22.965 11.963c-3.936 0-7.305 6.369-3.908 9.663 3.397 3.294 5.787-4.173 5.853-7.028.066-2.855 1.406 5.128 3.293 7.47M1.8 18.58s4.336-1.311 11.29-1.399m-9.367-6.373a159.096 159.096 0 0 0-.085 6.217m0 0c.014 3.29.08 4.733-.395 5.165-.294.268-.16-2.19.395-5.165Zm0 0c.779-4.18 2.384-9.384 4.788-9.499 4.116-.197 1.386 8.11 5.823 15.055\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-draw.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-rhombus.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M10.386 3H24.23a2 2 0 0 1 1.949 2.45l-4.616 20A2 2 0 0 1 19.613 27H5.771a2 2 0 0 1-1.949-2.45l4.616-20A2 2 0 0 1 10.386 3Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-rhombus.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/page.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M7 4a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V9.414L18.586 4H7ZM4 5a3 3 0 0 1 3-3h11.586A2 2 0 0 1 20 2.586L25.414 8A2 2 0 0 1 26 9.414V25a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V5Z\\\" clip-rule=\\\"evenodd\\\"/>\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M8 9a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Zm0 6a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/page.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-large.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M9 23.791v-18h3.806v14.863h7.717v3.137H9Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-large.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-highlight.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m13.102 25.123 13.593-14.711a2 2 0 0 0-.055-2.771l-3.275-3.276a2 2 0 0 0-2.777-.05L5.983 17.918m7.118 7.206-7.118-7.206m7.118 7.206c-.5-.167-1.8-.586-3-.586s-2.5 1-3 1.5m-1.118-8.12c.167.5.619 1.92.619 3.12 0 1.2-1 2.5-1.5 3m2 2-1-1-1-1m2 2-1 1L2 27.14l3.103-3.103\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"m2 26 2-2 2 2-1 1-3-1Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-highlight.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/vertical-align-start.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"31\\\" fill=\\\"none\\\">\u003Crect width=\\\"2\\\" height=\\\"22\\\" x=\\\"4\\\" y=\\\"10.707\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(-90 4 10.707)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"8\\\" x=\\\"15\\\" y=\\\"13.799\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(45 15 13.799)\\\"/>\u003Crect width=\\\"2\\\" height=\\\"8\\\" x=\\\"13.586\\\" y=\\\"15.213\\\" fill=\\\"#000\\\" rx=\\\"1\\\" transform=\\\"rotate(-45 13.586 15.213)\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/vertical-align-start.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M3 0a1 1 0 1 0 0 2h9v23a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V2h9a1 1 0 1 0 0-2H3Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-down.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M6.27 12.316a1 1 0 0 1 1.414-.046L15 19.13l7.316-6.86a1 1 0 1 1 1.368 1.46l-8 7.5a1 1 0 0 1-1.368 0l-8-7.5a1 1 0 0 1-.046-1.414Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-down.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/discord.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cg clip-path=\\\"url(#a)\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M8.161 14.024a2.527 2.527 0 0 1 1.84-.824c.69.003 1.351.3 1.838.824.488.525.761 1.236.761 1.976s-.273 1.45-.76 1.976A2.527 2.527 0 0 1 10 18.8a2.527 2.527 0 0 1-1.839-.825A2.906 2.906 0 0 1 7.401 16c0-.74.273-1.45.76-1.976ZM18.159 14.024a2.527 2.527 0 0 1 1.839-.824c.69.003 1.352.3 1.839.824.487.525.76 1.236.76 1.976s-.273 1.45-.76 1.976a2.527 2.527 0 0 1-1.84.824 2.527 2.527 0 0 1-1.838-.825A2.907 2.907 0 0 1 17.398 16c0-.74.273-1.45.76-1.976Z\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 6.8c-.209-.715-1.248-2.082-2-2.2-1.53.167-3.97 1.024-5.4 1.8-1.025 1.172-2.08 4.156-2.49 5.8-.685 2.736-1.066 6.048-1.115 9.2.956 1.819 4.434 3.8 6.505 4 .483-.524 1.9-2.8 1.9-2.8m8.595-15.8c.209-.715 1.248-2.082 2-2.2 1.53.167 3.97 1.024 5.4 1.8 1.025 1.172 2.08 4.156 2.49 5.8.685 2.736 1.066 6.048 1.115 9.2-.956 1.819-4.434 3.8-6.505 4-.483-.524-1.9-2.8-1.9-2.8M7 9c.6-.8 3-2 8-2s7.4 1.2 8 2M5.8 20.4C6.6 21.6 8.4 23 15 23s8.4-1.4 9.2-2.6\\\"/>\u003C/g>\u003Cdefs>\u003CclipPath id=\\\"a\\\">\u003Cpath fill=\\\"#fff\\\" d=\\\"M0 0h30v30H0z\\\"/>\u003C/clipPath>\u003C/defs>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/discord.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-mono.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"m11.358 23.935-1.277-4.61H4.69l-1.25 4.61H0L5.106 5.752h4.741l5.132 18.183h-3.621ZM7.503 9.113h-.209l-2.006 7.424h4.22L7.503 9.113ZM28.046 23.935c-.816 0-1.45-.2-1.901-.599-.435-.417-.695-.99-.782-1.72h-.13a3.407 3.407 0 0 1-1.433 1.955c-.712.451-1.59.677-2.631.677-1.355 0-2.431-.356-3.23-1.068-.8-.712-1.199-1.702-1.199-2.97 0-2.71 1.989-4.064 5.966-4.064h2.37v-.886c0-.85-.208-1.493-.625-1.927-.417-.434-1.094-.652-2.032-.652-.85 0-1.537.166-2.058.496-.52.33-.964.755-1.328 1.276l-1.902-1.615c.417-.747 1.085-1.372 2.006-1.876.938-.52 2.145-.781 3.621-.781 1.771 0 3.152.417 4.142 1.25 1.007.816 1.51 2.04 1.51 3.673v6.33H30v2.501h-1.954Zm-5.757-1.98c.799 0 1.459-.182 1.98-.547.538-.382.808-.894.808-1.537v-1.797h-2.293c-1.823 0-2.735.573-2.735 1.72v.52c0 .539.2.947.599 1.225.4.277.946.416 1.641.416Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-mono.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-star.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"m15 3.531 4.112 5.66a2 2 0 0 0 1 .727l6.654 2.161-4.113 5.66a2 2 0 0 0-.382 1.176v6.996l-6.653-2.162a2 2 0 0 0-1.236 0L7.728 25.91v-6.996a2 2 0 0 0-.381-1.176l-4.113-5.66 6.654-2.161a2 2 0 0 0 1-.727L15 3.531Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-star.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/plus.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M16 5.5a1 1 0 1 0-2 0V14H5.5a1 1 0 1 0 0 2H14v8.5a1 1 0 1 0 2 0V16h8.5a1 1 0 1 0 0-2H16V5.5Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/plus.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-medium.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M5 5.792h4.693l4.957 12.093h.211l4.957-12.094h4.694v18H20.82V12.076h-.15l-4.657 11.628h-2.514L8.841 12.032h-.15v11.76H5v-18Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-medium.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-laser.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m3.522 26.477 4.034-4.034M3.522 20.627l2.358-.83M10.201 24.119l-.829 2.358M27 7.364 13.111 21.252a.5.5 0 0 1-.707 0l-3.656-3.656a.5.5 0 0 1 0-.707L22.636 3 27 7.364Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-laser.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/visible.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M19 15a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/visible.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrow-left.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12.5 21.5 6 15m0 0 6.5-6.5M6 15h18\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrow-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-left.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M17.684 6.27a1 1 0 0 1 .045 1.414L10.87 15l6.86 7.316a1 1 0 1 1-1.46 1.368l-7.5-8a1 1 0 0 1 0-1.368l7.5-8a1 1 0 0 1 1.414-.046Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/distribute-horizontal.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M2 12h9a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H2v-6ZM18 13a1 1 0 0 1 1-1h9v6h-9a1 1 0 0 1-1-1v-4ZM0 3a1 1 0 0 1 2 0v24a1 1 0 1 1-2 0V3ZM28 3a1 1 0 1 1 2 0v24a1 1 0 0 1-2 0V3Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/distribute-horizontal.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-sans.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"m12.504 24-1.42-4.515h-6.29L3.399 24H0L5.935 6.296h4.16L15.979 24h-3.475ZM7.99 9.34h-.126l-2.258 7.28h4.667L7.99 9.34ZM28.2 24c-.711 0-1.277-.203-1.7-.609-.406-.423-.66-.98-.761-1.674h-.152c-.22.863-.668 1.514-1.345 1.953-.676.423-1.513.634-2.51.634-1.353 0-2.393-.355-3.12-1.065-.727-.71-1.09-1.657-1.09-2.84 0-1.37.49-2.385 1.47-3.044.981-.677 2.376-1.015 4.185-1.015h2.258v-.964c0-.744-.195-1.319-.584-1.724-.389-.406-1.014-.61-1.877-.61-.76 0-1.378.17-1.851.508a4.78 4.78 0 0 0-1.167 1.167l-1.927-1.725a5.477 5.477 0 0 1 1.952-1.826c.812-.473 1.886-.71 3.222-.71 1.792 0 3.153.406 4.083 1.217.93.812 1.395 1.979 1.395 3.5v6.24H30V24h-1.8Zm-5.378-2.055c.727 0 1.344-.16 1.852-.482.507-.32.76-.794.76-1.42v-1.75h-2.08c-1.69 0-2.536.541-2.536 1.623v.431c0 .542.17.947.508 1.218.355.254.854.38 1.496.38Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-sans.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-trapezoid.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M10.386 3h9.227a2 2 0 0 1 1.95 1.55l4.615 20a2 2 0 0 1-1.95 2.45H5.772a2 2 0 0 1-1.949-2.45l4.616-20A2 2 0 0 1 10.386 3Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-trapezoid.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/question-mark-circle.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M15 27.295c6.79 0 12.295-5.505 12.295-12.296C27.295 8.21 21.79 2.704 15 2.704S2.704 8.209 2.704 14.999C2.704 21.79 8.21 27.295 15 27.295Z\\\"/>\u003Ccircle cx=\\\"15\\\" cy=\\\"21\\\" r=\\\"1.5\\\" fill=\\\"#000\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2.2\\\" d=\\\"M11 12.5c0-2 1.7-3.75 4-3.75s4 1.75 4 3.75c0 3.19-4 3.15-4 4.9\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/question-mark-circle.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-small.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M18.065 11.068c-.069-.69-.362-1.226-.881-1.608-.519-.382-1.223-.573-2.112-.573-.604 0-1.115.085-1.53.257-.417.165-.736.396-.959.692a1.667 1.667 0 0 0-.325 1.01c-.011.313.055.586.197.82.148.234.35.436.607.607.257.165.553.31.89.436.336.12.695.223 1.077.308l1.573.376c.764.171 1.465.4 2.104.684a6.386 6.386 0 0 1 1.659 1.052c.467.416.83.907 1.086 1.471.262.564.396 1.211.402 1.941-.006 1.072-.28 2.001-.821 2.788-.536.78-1.311 1.388-2.326 1.821-1.01.428-2.226.642-3.651.642-1.414 0-2.646-.217-3.694-.65-1.044-.434-1.859-1.075-2.446-1.924-.582-.855-.886-1.913-.915-3.173h3.583c.04.587.208 1.078.504 1.471.303.388.704.681 1.206.88.508.195 1.08.291 1.719.291.627 0 1.171-.09 1.633-.273.468-.183.83-.436 1.086-.761.257-.325.385-.699.385-1.12 0-.394-.117-.724-.35-.992-.229-.268-.565-.496-1.01-.684-.439-.188-.977-.36-1.616-.514l-1.907-.478c-1.476-.36-2.642-.921-3.497-1.685s-1.28-1.793-1.274-3.087c-.006-1.06.276-1.987.846-2.779.576-.792 1.366-1.41 2.369-1.856 1.003-.444 2.143-.667 3.42-.667 1.3 0 2.435.223 3.404.667.974.445 1.733 1.064 2.274 1.856.542.792.821 1.71.838 2.754h-3.548Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-small.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-line.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M25 5 5 25\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-line.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/warning-triangle.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"32\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Ccircle cx=\\\"16.4\\\" cy=\\\"21.38\\\" r=\\\"1.5\\\" fill=\\\"#000\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M15.054 9.4a1.347 1.347 0 1 1 2.692 0l-.308 8.002a1.04 1.04 0 0 1-2.076 0L15.053 9.4Z\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M29.96 23.85 16.514 1.293a.6.6 0 0 0-1.03 0L2.04 23.85a.6.6 0 0 0 .515.907h26.888a.6.6 0 0 0 .515-.907Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/warning-triangle.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-arrow.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M1 15h26M13 26l16-11L13 4\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-arrow.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-right.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M12.317 6.27a1 1 0 0 1 1.413.046l7.5 8a1 1 0 0 1 0 1.368l-7.5 8a1 1 0 1 1-1.459-1.368L19.13 15l-6.859-7.316a1 1 0 0 1 .046-1.414Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-right.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/distribute-vertical.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M12 2h6v9a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V2ZM12 19a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v9h-6v-9ZM2 1a1 1 0 0 1 1-1h24a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1ZM2 29a1 1 0 0 1 1-1h24a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/distribute-vertical.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-serif.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" d=\\\"M0 22.003h1.262L6.706 6.215H9.8l5.445 15.788h1.262v1.485H9.65v-1.485h2.054l-1.287-3.885H4.454l-1.286 3.885H5.22v1.485H0v-1.485Zm4.9-5.444h5.073L7.498 8.888h-.124L4.9 16.559ZM21.685 23.785c-1.336 0-2.326-.322-2.97-.965-.643-.644-.964-1.535-.964-2.673 0-1.254.453-2.202 1.36-2.846.925-.643 2.36-.965 4.306-.965h1.757v-1.559c0-1.006-.206-1.765-.618-2.276-.413-.528-1.089-.792-2.03-.792-.725 0-1.286.107-1.682.321v.1c.165.098.322.255.47.47.165.197.248.478.248.84 0 .48-.149.875-.446 1.189-.28.297-.701.445-1.262.445-.478 0-.874-.156-1.188-.47-.297-.313-.445-.726-.445-1.237 0-.396.107-.776.322-1.139.23-.38.569-.709 1.014-.99.446-.296.99-.527 1.633-.692.66-.182 1.42-.273 2.277-.273 1.65 0 2.887.38 3.712 1.139.825.742 1.237 1.79 1.237 3.143v7.473H30v1.237c-.247.165-.577.289-.99.371a5.39 5.39 0 0 1-1.262.149c-.825 0-1.419-.198-1.782-.594-.363-.412-.544-.932-.544-1.56v-.073h-.124a4.39 4.39 0 0 1-.445.816 3.159 3.159 0 0 1-.693.718c-.28.198-.627.363-1.04.495-.395.132-.874.198-1.435.198Zm1.262-1.98c.66 0 1.196-.157 1.609-.47.412-.314.618-.841.618-1.584v-2.079h-1.41c-.99 0-1.7.182-2.128.545-.413.346-.619.85-.619 1.51v.445c0 .56.173.973.52 1.237.363.264.833.396 1.41.396Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-serif.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-triangle.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M27.55 26H2.45L15 4l12.55 22Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-triangle.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/question-mark.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2.3\\\" d=\\\"M9 8.2c0-3.161 3.039-5.5 6-5.5s6 2.339 6 5.5c0 5.503-6 5.345-6 10.8\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M16.75 24.965a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/question-mark.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/spline-cubic.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M6 6v2c0 5.6 0 8.4 1.09 10.54a10 10 0 0 0 4.37 4.37C13.6 24 16.4 24 22 24h2\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/spline-cubic.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-media.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M15 7.398a3.602 3.602 0 1 0 0 7.204 3.602 3.602 0 0 0 0-7.204ZM13.398 11a1.602 1.602 0 1 1 3.204 0 1.602 1.602 0 0 1-3.204 0Z\\\" clip-rule=\\\"evenodd\\\"/>\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M4.5 2h21A2.5 2.5 0 0 1 28 4.5v21a2.5 2.5 0 0 1-2.5 2.5h-21A2.5 2.5 0 0 1 2 25.5v-21A2.5 2.5 0 0 1 4.5 2ZM26 4.5v14.086l-3.293-3.293a1 1 0 0 0-1.414 0l-5.543 5.543-7.019-7.518a1 1 0 0 0-1.438-.025L4 16.586V4.5a.5.5 0 0 1 .5-.5h21a.5.5 0 0 1 .5.5Zm-22 21v-6.086l3.975-3.975 7.014 7.513L17.747 26H4.5a.5.5 0 0 1-.5-.5Zm21.5.5h-5.055l-3.34-3.69L22 17.413l4 4V25.5a.5.5 0 0 1-.5.5Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-media.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/zoom-in.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Ccircle cx=\\\"12.408\\\" cy=\\\"12.408\\\" r=\\\"9.408\\\" stroke=\\\"#000\\\" stroke-width=\\\"2\\\"/>\u003Crect width=\\\"2.602\\\" height=\\\"9.107\\\" x=\\\"11.107\\\" y=\\\"7.854\\\" fill=\\\"#000\\\" rx=\\\"1.301\\\"/>\u003Crect width=\\\"2.602\\\" height=\\\"9.107\\\" x=\\\"16.961\\\" y=\\\"11.107\\\" fill=\\\"#000\\\" rx=\\\"1.301\\\" transform=\\\"rotate(90 16.96 11.107)\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M27.08 25.24a1.301 1.301 0 1 1-1.84 1.84L18.89 20.73a1.301 1.301 0 0 1 1.84-1.84l6.351 6.351Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/zoom-in.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-bar.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M1 15h28m0 0V2m0 13v13\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-bar.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-up.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M6.27 17.684a1 1 0 0 0 1.414.046L15 10.87l7.316 6.86a1 1 0 1 0 1.368-1.46l-8-7.5a1 1 0 0 0-1.368 0l-8 7.5a1 1 0 0 0-.046 1.414Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-up.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dot.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Ccircle cx=\\\"14.5\\\" cy=\\\"15.5\\\" r=\\\"4.5\\\" fill=\\\"#000\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dot.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-down.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m15 26.823 11.654-14.165a1 1 0 0 0-.772-1.635H21.8v-8.2H8.2v8.2H4.118a1 1 0 0 0-.772 1.635L15 26.823Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-down.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-x-box.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M5 3h20a2 2 0 0 1 2 2v20a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2Z\\\"/>\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m8 8 14 14M22 8 8 22\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-x-box.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/redo.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M20.293 4.293a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L22.586 10H12a7 7 0 1 0 0 14h8a1 1 0 1 1 0 2h-8a9 9 0 1 1 0-18h10.586l-2.293-2.293a1 1 0 0 1 0-1.414Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/redo.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/spline-line.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath stroke=\\\"#000\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M6 6v18h18\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/spline-line.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-note.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Cpath fill=\\\"#000\\\" fill-rule=\\\"evenodd\\\" d=\\\"M23.854.315c.42-.42 1.102-.42 1.523 0l4.308 4.308c.42.42.42 1.103 0 1.523l-8.492 8.492c-.164.164-.353.3-.56.403l-8.46 4.23a1.077 1.077 0 0 1-1.444-1.445l4.23-8.459c.103-.207.24-.396.403-.56L23.854.315Zm.761 2.285-7.73 7.73-2.236 4.473.548.548 4.473-2.236 7.73-7.73L24.615 2.6Zm-5.384-.446-2.154 2.154h-8.83c-.923 0-1.55 0-2.035.04-.472.039-.714.109-.882.194a2.154 2.154 0 0 0-.941.942c-.086.168-.156.41-.195.882-.04.484-.04 1.112-.04 2.034v13.354c0 .922 0 1.55.04 2.034.039.472.109.714.195.882.206.405.536.735.94.941.17.086.41.156.883.195.485.04 1.112.04 2.034.04H21.6c.922 0 1.55 0 2.034-.04.472-.039.714-.109.882-.195.406-.206.735-.536.942-.94.085-.17.155-.41.194-.883.04-.485.04-1.112.04-2.034v-8.831l2.154-2.154v11.029c0 .867 0 1.583-.047 2.166-.05.605-.156 1.161-.422 1.684a4.308 4.308 0 0 1-1.883 1.883c-.523.266-1.079.372-1.684.421-.583.048-1.299.048-2.165.048H8.202c-.867 0-1.583 0-2.165-.048-.606-.05-1.162-.155-1.685-.422a4.308 4.308 0 0 1-1.882-1.882c-.267-.523-.373-1.08-.422-1.684C2 23.38 2 22.665 2 21.797V8.356c0-.867 0-1.583.048-2.166.049-.605.155-1.161.422-1.684a4.308 4.308 0 0 1 1.882-1.883c.523-.266 1.08-.372 1.684-.422.583-.047 1.299-.047 2.166-.047H19.23Z\\\" clip-rule=\\\"evenodd\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-note.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/zoom-out.svg\":{\"text\":\"\u003Csvg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"none\\\">\u003Ccircle cx=\\\"12.408\\\" cy=\\\"12.408\\\" r=\\\"9.408\\\" stroke=\\\"#000\\\" stroke-width=\\\"2\\\"/>\u003Crect width=\\\"2.602\\\" height=\\\"9.107\\\" x=\\\"16.961\\\" y=\\\"11.107\\\" fill=\\\"#000\\\" rx=\\\"1.301\\\" transform=\\\"rotate(90 16.96 11.107)\\\"/>\u003Cpath fill=\\\"#000\\\" d=\\\"M27.08 25.24a1.301 1.301 0 1 1-1.84 1.84L18.89 20.73a1.301 1.301 0 0 1 1.84-1.84l6.351 6.351Z\\\"/>\u003C/svg>\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/zoom-out.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/tree\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tree\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C\u003Ctree prefix:\\\"$:/plugins/linonetwo/tw-whiteboard/\\\">>\"},\"$:/plugins/linonetwo/tw-whiteboard/widget-loader.js\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/widget-loader.js\",\"text\":\"!function whiteboardWidgetIIFE(){var e;$tw.browser&&(e=require(\\\"$:/plugins/linonetwo/tw-whiteboard/widget.js\\\")[\\\"whiteboard\\\"],exports.whiteboard=e,exports[\\\"edit-whiteboard\\\"]=e)}();\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/plugins/linonetwo/tw-whiteboard/widget.js\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/widget.js\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"hide-body\":\"yes\",\"Modern.TiddlyDev#Origin\":\"widget.ts\",\"text\":\"\\\"use strict\\\";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__defNormalProp=(e,t,r)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__esm=(e,t)=>function(){return t=e?(0,e[__getOwnPropNames(e)[0]])(e=0):t},__commonJS=(e,t)=>function(){return t||(0,e[__getOwnPropNames(e)[0]])((t={exports:{}}).exports,t),t.exports},__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(t,r,i,n)=>{if(r&&\\\"object\\\"==typeof r||\\\"function\\\"==typeof r)for(let e of __getOwnPropNames(r))__hasOwnProp.call(t,e)||e===i||__defProp(t,e,{get:()=>r[e],enumerable:!(n=__getOwnPropDesc(r,e))||n.enumerable});return t},__reExport=(e,t,r)=>(__copyProps(e,t,\\\"default\\\"),r&&__copyProps(r,t,\\\"default\\\")),__toESM=(e,t,r)=>(r=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?r:__defProp(r,\\\"default\\\",{value:e,enumerable:!0}),e)),__publicField=(e,t,r)=>(__defNormalProp(e,\\\"symbol\\\"!=typeof t?t+\\\"\\\":t,r),r),init_esbuild_inject=__esm({\\\"node_modules/.pnpm/tiddlywiki-plugin-dev@0.0.39_postcss@8.4.33_ts-node@10.9.2/node_modules/tiddlywiki-plugin-dev/dist/js/esbuild-inject.js\\\"(){}}),require_lodash=__commonJS({\\\"node_modules/.pnpm/lodash.isequal@4.5.0/node_modules/lodash.isequal/index.js\\\"(e,t){init_esbuild_inject();var i=\\\"__lodash_hash_undefined__\\\",D=1,K=2,$=9007199254740991,R=\\\"[object Arguments]\\\",N=\\\"[object Array]\\\",E=\\\"[object AsyncFunction]\\\",Y=\\\"[object Boolean]\\\",X=\\\"[object Date]\\\",Z=\\\"[object Error]\\\",P=\\\"[object Function]\\\",I=\\\"[object GeneratorFunction]\\\",L=\\\"[object Map]\\\",J=\\\"[object Number]\\\",j=\\\"[object Null]\\\",V=\\\"[object Object]\\\",C=\\\"[object Promise]\\\",T=\\\"[object Proxy]\\\",Q=\\\"[object RegExp]\\\",B=\\\"[object Set]\\\",ee=\\\"[object String]\\\",te=\\\"[object Symbol]\\\",k=\\\"[object Undefined]\\\",n=\\\"[object WeakMap]\\\",re=\\\"[object ArrayBuffer]\\\",z=\\\"[object DataView]\\\",A=/^\\\\[object .+?Constructor\\\\]$/,M=/^(?:0|[1-9]\\\\d*)$/,r={},o=(r[\\\"[object Float32Array]\\\"]=r[\\\"[object Float64Array]\\\"]=r[\\\"[object Int8Array]\\\"]=r[\\\"[object Int16Array]\\\"]=r[\\\"[object Int32Array]\\\"]=r[\\\"[object Uint8Array]\\\"]=r[\\\"[object Uint8ClampedArray]\\\"]=r[\\\"[object Uint16Array]\\\"]=r[\\\"[object Uint32Array]\\\"]=!0,r[R]=r[N]=r[re]=r[Y]=r[z]=r[X]=r[Z]=r[P]=r[L]=r[J]=r[V]=r[Q]=r[B]=r[ee]=r[n]=!1,\\\"object\\\"==typeof global&&global&&global.Object===Object&&global),a=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,a=o||a||Function(\\\"return this\\\")(),s=\\\"object\\\"==typeof e&&e&&!e.nodeType&&e,l=s&&\\\"object\\\"==typeof t&&t&&!t.nodeType&&t,l=l&&l.exports===s,F=l&&o.process,s=function(){try{return F&&F.binding&&F.binding(\\\"util\\\")}catch(e){}}(),o=s&&s.isTypedArray;function ie(e){var r=-1,i=Array(e.size);return e.forEach(function(e,t){i[++r]=[t,e]}),i}function ne(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}var O,oe,s=Array.prototype,c=Function.prototype,d=Object.prototype,u=a[\\\"__core-js_shared__\\\"],ae=c.toString,U=d.hasOwnProperty,se=(c=/[^.]+$/.exec(u&&u.keys&&u.keys.IE_PROTO||\\\"\\\"))?\\\"Symbol(src)_1.\\\"+c:\\\"\\\",le=d.toString,ce=RegExp(\\\"^\\\"+ae.call(U).replace(/[\\\\\\\\^$.*+?()[\\\\]{}|]/g,\\\"\\\\\\\\$&\\\").replace(/hasOwnProperty|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\"),u=l?a.Buffer:void 0,c=a.Symbol,de=a.Uint8Array,ue=d.propertyIsEnumerable,pe=s.splice,p=c?c.toStringTag:void 0,he=Object.getOwnPropertySymbols,l=u?u.isBuffer:void 0,me=(O=Object.keys,oe=Object,function(e){return O(oe(e))}),s=x(a,\\\"DataView\\\"),h=x(a,\\\"Map\\\"),u=x(a,\\\"Promise\\\"),ge=x(a,\\\"Set\\\"),a=x(a,\\\"WeakMap\\\"),m=x(Object,\\\"create\\\"),_e=w(s),fe=w(h),be=w(u),ve=w(ge),ye=w(a),c=c?c.prototype:void 0,Se=c?c.valueOf:void 0;function g(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var i=e[t];this.set(i[0],i[1])}}function _(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var i=e[t];this.set(i[0],i[1])}}function f(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t\u003Cr;){var i=e[t];this.set(i[0],i[1])}}function b(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new f;++t\u003Cr;)this.add(e[t])}function q(e){var t=this.__data__=new _(e);this.size=t.size}function xe(e,t){var r,i,n,o=G(e),a=!o&&ke(e),s=!o&&!a&&Ae(e),l=!o&&!a&&!s&&Re(e),c=o||a||s||l,d=c?function(e,t){for(var r=-1,i=Array(e);++r\u003Ce;)i[r]=t(r);return i}(e.length,String):[],u=d.length;for(r in e)!t&&!U.call(e,r)||c&&(\\\"length\\\"==r||s&&(\\\"offset\\\"==r||\\\"parent\\\"==r)||l&&(\\\"buffer\\\"==r||\\\"byteLength\\\"==r||\\\"byteOffset\\\"==r)||(i=r,(n=null==(n=u)?$:n)&&(\\\"number\\\"==typeof i||M.test(i))&&-1\u003Ci&&i%1==0&&i\u003Cn))||d.push(r);return d}function v(e,t){for(var r=e.length;r--;)if(Te(e[r][0],t))return r;return-1}function y(e){if(null==e)return void 0===e?k:j;if(p&&p in Object(e)){var t=e,r=U.call(t,p),i=t[p];try{var n=!(t[p]=void 0)}catch(a){}var o=le.call(t);return n&&(r?t[p]=i:delete t[p]),o}return le.call(e)}function we(e){return W(e)&&y(e)==R}function $e(e,t,r,i,n){if(e===t)return!0;if(null==e||null==t||!W(e)&&!W(t))return e!=e&&t!=t;var o=$e,a=G(e),s=G(t),l=a?N:H(e),s=s?N:H(t),c=(l=l==R?V:l)==V,d=(s=s==R?V:s)==V;if((s=l==s)&&Ae(e)){if(!Ae(t))return!1;c=!(a=!0)}if(s&&!c){n=n||new q;if(a||Re(e))return Ie(e,t,r,i,o,n);else{var u=e;var p=t;var h=l;var m=r;var g=i;var _=o;var f=n;switch(h){case z:if(u.byteLength!=p.byteLength||u.byteOffset!=p.byteOffset)return!1;u=u.buffer,p=p.buffer;case re:return u.byteLength==p.byteLength&&_(new de(u),new de(p))?!0:!1;case Y:case X:case J:return Te(+u,+p);case Z:return u.name==p.name&&u.message==p.message;case Q:case ee:return u==p+\\\"\\\";case L:var b=ie;case B:var v=m&D;if(b=b||ne,u.size!=p.size&&!v)return!1;v=f.get(u);if(v)return v==p;m|=K,f.set(u,p);v=Ie(b(u),b(p),m,g,_,f);return f[\\\"delete\\\"](u),v;case te:if(Se)return Se.call(u)==Se.call(p)}return!1;return}}if(!(r&D)){var a=c&&U.call(e,\\\"__wrapped__\\\"),l=d&&U.call(t,\\\"__wrapped__\\\");if(a||l)return c=a?e.value():e,d=l?t.value():t,n=n||new q,o(c,d,r,i,n)}if(s){n=n||new q;var y=e,S=t,x=r,w=i,$=o,E=n,P=x&D,I=je(y),j=I.length,a=je(S).length;if(j!=a&&!P)return!1;for(var C=j;C--;){var T=I[C];if(!(P?T in S:U.call(S,T)))return!1}if((a=E.get(y))&&E.get(S))return a==S;for(var k=!0,A=(E.set(y,S),E.set(S,y),P);++C\u003Cj;){T=I[C];var M,F=y[T],O=S[T];if(!(void 0===(M=w?P?w(O,F,T,S,y,E):w(F,O,T,y,S,E):M)?F===O||$(F,O,x,w,E):M)){k=!1;break}A=A||\\\"constructor\\\"==T}return k&&!A&&(a=y.constructor,l=S.constructor,a!=l)&&\\\"constructor\\\"in y&&\\\"constructor\\\"in S&&!(\\\"function\\\"==typeof a&&a instanceof a&&\\\"function\\\"==typeof l&&l instanceof l)&&(k=!1),E[\\\"delete\\\"](y),E[\\\"delete\\\"](S),k}return!1}function Ee(e){var t;return Oe(e)&&(t=e,!(se&&se in t))&&(Me(e)?ce:A).test(w(e))}function Pe(e){if(r=\\\"function\\\"==typeof(r=(t=e)&&t.constructor)&&r.prototype||d,t!==r)return me(e);var t,r,i,n=[];for(i in Object(e))U.call(e,i)&&\\\"constructor\\\"!=i&&n.push(i);return n}function Ie(e,t,r,i,n,o){var a=r&D,s=e.length,l=t.length;if(s!=l&&!(a&&s\u003Cl))return!1;l=o.get(e);if(l&&o.get(t))return l==t;var c=-1,d=!0,u=r&K?new b:void 0;for(o.set(e,t),o.set(t,e);++c\u003Cs;){var p,h=e[c],m=t[c];if(void 0!==(p=i?a?i(m,h,c,t,e,o):i(h,m,c,e,t,o):p)){if(p)continue;d=!1;break}if(u){if(!function(e,t){for(var r=-1,i=null==e?0:e.length;++r\u003Ci;)if(t(e[r],r,e))return 1}(t,function(e,t){return!u.has(t)&&(h===e||n(h,e,r,i,o))&&u.push(t)})){d=!1;break}}else if(h!==m&&!n(h,m,r,i,o)){d=!1;break}}return o[\\\"delete\\\"](e),o[\\\"delete\\\"](t),d}function je(e){var t=Ce,r=Ne(e);if(G(e))return r;for(var i=r,n=t(e),o=-1,a=n.length,s=i.length;++o\u003Ca;)i[s+o]=n[o];return i}function S(e,t){var r,i=e.__data__;return(\\\"string\\\"==(r=typeof(e=t))||\\\"number\\\"==r||\\\"symbol\\\"==r||\\\"boolean\\\"==r?\\\"__proto__\\\"!==e:null===e)?i[\\\"string\\\"==typeof t?\\\"string\\\":\\\"hash\\\"]:i.map}function x(e,t){t=t;var r=null==(e=e)?void 0:e[t];return Ee(r)?r:void 0}g.prototype.clear=function(){this.__data__=m?m(null):{},this.size=0},g.prototype[\\\"delete\\\"]=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},g.prototype.get=function(e){var t,r=this.__data__;return m?(t=r[e])===i?void 0:t:U.call(r,e)?r[e]:void 0},g.prototype.has=function(e){var t=this.__data__;return m?void 0!==t[e]:U.call(t,e)},g.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=m&&void 0===t?i:t,this},_.prototype.clear=function(){this.__data__=[],this.size=0},_.prototype[\\\"delete\\\"]=function(e){var t=this.__data__,r=v(t,e);return!(r\u003C0||(r==t.length-1?t.pop():pe.call(t,r,1),--this.size,0))},_.prototype.get=function(e){var t=this.__data__,r=v(t,e);return r\u003C0?void 0:t[r][1]},_.prototype.has=function(e){return-1\u003Cv(this.__data__,e)},_.prototype.set=function(e,t){var r=this.__data__,i=v(r,e);return i\u003C0?(++this.size,r.push([e,t])):r[i][1]=t,this},f.prototype.clear=function(){this.size=0,this.__data__={hash:new g,map:new(h||_),string:new g}},f.prototype[\\\"delete\\\"]=function(e){var t=S(this,e)[\\\"delete\\\"](e);return this.size-=t?1:0,t},f.prototype.get=function(e){return S(this,e).get(e)},f.prototype.has=function(e){return S(this,e).has(e)},f.prototype.set=function(e,t){var r=S(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this},b.prototype.add=b.prototype.push=function(e){return this.__data__.set(e,i),this},b.prototype.has=function(e){return this.__data__.has(e)},q.prototype.clear=function(){this.__data__=new _,this.size=0},q.prototype[\\\"delete\\\"]=function(e){var t=this.__data__,r=t[\\\"delete\\\"](e);return this.size=t.size,r},q.prototype.get=function(e){return this.__data__.get(e)},q.prototype.has=function(e){return this.__data__.has(e)},q.prototype.set=function(e,t){var r=this.__data__;if(r instanceof _){var i=r.__data__;if(!h||i.length\u003C199)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new f(i)}return r.set(e,t),this.size=r.size,this};var Ce=he?function(t){if(null==t)return[];t=Object(t);for(var e=he(t),r=function(e){return ue.call(t,e)},i=-1,n=null==e?0:e.length,o=0,a=[];++i\u003Cn;){var s=e[i];r(s,i,e)&&(a[o++]=s)}return a}:function(){return[]},H=y;function w(e){if(null!=e){try{return ae.call(e)}catch(t){}try{return e+\\\"\\\"}catch(t){}}return\\\"\\\"}function Te(e,t){return e===t||e!=e&&t!=t}(s&&H(new s(new ArrayBuffer(1)))!=z||h&&H(new h)!=L||u&&H(u.resolve())!=C||ge&&H(new ge)!=B||a&&H(new a)!=n)&&(H=function(e){var t=y(e),r=t==V?e.constructor:void 0,r=r?w(r):\\\"\\\";if(r)switch(r){case _e:return z;case fe:return L;case be:return C;case ve:return B;case ye:return n}return t});var ke=we(function(){return arguments}())?we:function(e){return W(e)&&U.call(e,\\\"callee\\\")&&!ue.call(e,\\\"callee\\\")},G=Array.isArray;var Ae=l||function(){return!1};function Me(e){var t;if(Oe(e))return(t=y(e))==P||t==I||t==E||t==T}function Fe(e){return\\\"number\\\"==typeof e&&-1\u003Ce&&e%1==0&&e\u003C=$}function Oe(e){var t=typeof e;return null!=e&&(\\\"object\\\"==t||\\\"function\\\"==t)}function W(e){return null!=e&&\\\"object\\\"==typeof e}var De,Re=o?(De=o,function(e){return De(e)}):function(e){return W(e)&&Fe(e.length)&&!!r[y(e)]};function Ne(e){return(null!=(t=e)&&Fe(t.length)&&!Me(t)?xe:Pe)(e);var t}t.exports=function(e,t){return $e(e,t)}}}),require_classnames=__commonJS({\\\"node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.js\\\"(e,t){function a(){for(var e=[],t=0;t\u003Carguments.length;t++){var r=arguments[t];if(r){var i,n=typeof r;if(\\\"string\\\"==n||\\\"number\\\"==n)e.push(r);else if(Array.isArray(r))r.length&&(i=a.apply(null,r))&&e.push(i);else if(\\\"object\\\"==n)if(r.toString===Object.prototype.toString||r.toString.toString().includes(\\\"[native code]\\\"))for(var o in r)s.call(r,o)&&r[o]&&e.push(o);else e.push(r.toString())}}return e.join(\\\" \\\")}var s;init_esbuild_inject(),s={}.hasOwnProperty,void 0!==t&&t.exports?t.exports=a[\\\"default\\\"]=a:\\\"function\\\"==typeof define&&\\\"object\\\"==typeof define.amd&&define.amd?define(\\\"classnames\\\",[],function(){return a}):window.classNames=a}}),require_maths_267f0992_cjs_dev=__commonJS({\\\"node_modules/.pnpm/@use-gesture+core@10.3.0/node_modules/@use-gesture/core/dist/maths-267f0992.cjs.dev.js\\\"(e){function n(e,t,r){return 0===t||Math.abs(t)===Infinity?Math.pow(e,5*r):e*t*r/(t+r*e)}function c(e,t,r,i=.15){return 0===i?Math.max(t,Math.min(e,r)):e\u003Ct?-n(t-e,r-t,i)+t:r\u003Ce?+n(e-r,r-t,i)+r:e}init_esbuild_inject(),e.V={toVector(e,t){return void 0===e&&(e=t),Array.isArray(e)?e:[e,e]},add(e,t){return[e[0]+t[0],e[1]+t[1]]},sub(e,t){return[e[0]-t[0],e[1]-t[1]]},addTo(e,t){e[0]+=t[0],e[1]+=t[1]},subTo(e,t){e[0]-=t[0],e[1]-=t[1]}},e.computeRubberband=function(e,[t,r],[i,n]){var[[o,a],[s,l]]=e;return[c(t,o,a,i),c(r,s,l,n)]},e.rubberbandIfOutOfBounds=c}}),require_actions_6579bdef_cjs_dev=__commonJS({\\\"node_modules/.pnpm/@use-gesture+core@10.3.0/node_modules/@use-gesture/core/dist/actions-6579bdef.cjs.dev.js\\\"(e){init_esbuild_inject();var b=require_maths_267f0992_cjs_dev();function i(e){var t=function(e,t){if(\\\"object\\\"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return(\\\"string\\\"===t?String:Number)(e);if(\\\"object\\\"!=typeof(r=r.call(e,t||\\\"default\\\")))return r;throw new TypeError(\\\"@@toPrimitive must return a primitive value.\\\")}(e,\\\"string\\\");return\\\"symbol\\\"==typeof t?t:String(t)}function n(e,t,r){return(t=i(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(t,e){var r,i=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,r)),i}function a(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(Object(r),!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}var s={pointer:{start:\\\"down\\\",change:\\\"move\\\",end:\\\"up\\\"},mouse:{start:\\\"down\\\",change:\\\"move\\\",end:\\\"up\\\"},touch:{start:\\\"start\\\",change:\\\"move\\\",end:\\\"end\\\"},gesture:{start:\\\"start\\\",change:\\\"change\\\",end:\\\"end\\\"}};function l(e){return e?e[0].toUpperCase()+e.slice(1):\\\"\\\"}var c=[\\\"enter\\\",\\\"leave\\\"];var D=[\\\"gotpointercapture\\\",\\\"lostpointercapture\\\"];function r(e){return\\\"touches\\\"in e}function d(e){return r(e)?\\\"touch\\\":\\\"pointerType\\\"in e?e.pointerType:\\\"mouse\\\"}function u(e){return r(e)?(\\\"touchend\\\"===(t=e).type||\\\"touchcancel\\\"===t.type?t.changedTouches:t.targetTouches)[0]:e;var t}function p(e,t){try{var r=t.clientX-e.clientX,i=t.clientY-e.clientY,n=(t.clientX+e.clientX)/2,o=(t.clientY+e.clientY)/2,a=Math.hypot(r,i);return{angle:-180*Math.atan2(r,i)/Math.PI,distance:a,origin:[n,o]}}catch(s){}return null}function h(e,t){var[r,i]=Array.from(e.touches).filter(e=>t.includes(e.identifier));return p(r,i)}function m(e){var t=u(e);return r(e)?t.identifier:t.pointerId}function g(e){var t=u(e);return[t.clientX,t.clientY]}function _(e){let{deltaX:t,deltaY:r,deltaMode:i}=e;return 1===i?(t*=40,r*=40):2===i&&(t*=800,r*=800),[t,r]}function v(e,...t){return\\\"function\\\"==typeof e?e(...t):e}function R(){}function f(e,t){return Object.assign({},t,e||{})}var t=class{constructor(e,t,r){this.ctrl=e,this.args=t,this.key=r,this.state||(this.state={},this.computeValues([0,0]),this.computeInitial(),this.init&&this.init(),this.reset())}get state(){return this.ctrl.state[this.key]}set state(e){this.ctrl.state[this.key]=e}get shared(){return this.ctrl.state.shared}get eventStore(){return this.ctrl.gestureEventStores[this.key]}get timeoutStore(){return this.ctrl.gestureTimeoutStores[this.key]}get config(){return this.ctrl.config[this.key]}get sharedConfig(){return this.ctrl.config.shared}get handler(){return this.ctrl.handlers[this.key]}reset(){var{state:e,shared:t,ingKey:r,args:i}=this;t[r]=e._active=e.active=e._blocked=e._force=!1,e._step=[!1,!1],e.intentional=!1,e._movement=[0,0],e._distance=[0,0],e._direction=[0,0],e._delta=[0,0],e._bounds=[[-Infinity,Infinity],[-Infinity,Infinity]],e.args=i,e.axis=void 0,e.memo=void 0,e.elapsedTime=e.timeDelta=0,e.direction=[0,0],e.distance=[0,0],e.overflow=[0,0],e._movementBound=[!1,!1],e.velocity=[0,0],e.movement=[0,0],e.delta=[0,0],e.timeStamp=0}start(e){var t=this.state,r=this.config;t._active||(this.reset(),this.computeInitial(),t._active=!0,t.target=e.target,t.currentTarget=e.currentTarget,t.lastOffset=r.from?v(r.from,t):t.offset,t.offset=t.lastOffset,t.startTime=t.timeStamp=e.timeStamp)}computeValues(e){var t=this.state;t._values=e,t.values=this.config.transform(e)}computeInitial(){var e=this.state;e._initial=e._values,e.initial=e.values}compute(e){var t,r,{state:i,config:n,shared:o}=this;i.args=this.args;let a=0;e&&(i.event=e,n.preventDefault&&e.cancelable&&i.event.preventDefault(),i.type=e.type,o.touches=this.ctrl.pointerIds.size||this.ctrl.touchIds.size,o.locked=!!document.pointerLockElement,Object.assign(o,(g={},\\\"buttons\\\"in(t=e)&&(g.buttons=t.buttons),\\\"shiftKey\\\"in t&&(({shiftKey:r,altKey:p,metaKey:h,ctrlKey:m}=t),Object.assign(g,{shiftKey:r,altKey:p,metaKey:h,ctrlKey:m})),g)),o.down=o.pressed=o.buttons%2==1||0\u003Co.touches,a=e.timeStamp-i.timeStamp,i.timeStamp=e.timeStamp,i.elapsedTime=i.timeStamp-i.startTime),i._active&&(r=i._delta.map(Math.abs),b.V.addTo(i._distance,r)),this.axisIntent&&this.axisIntent(e);var s,l,c,d,u,[p,h]=i._movement,[m,g]=n.threshold,{_step:_,values:f}=i;n.hasCustomTransform?(!1===_[0]&&(_[0]=Math.abs(p)>=m&&f[0]),!1===_[1]&&(_[1]=Math.abs(h)>=g&&f[1])):(!1===_[0]&&(_[0]=Math.abs(p)>=m&&Math.sign(p)*m),!1===_[1]&&(_[1]=Math.abs(h)>=g&&Math.sign(h)*g)),i.intentional=!1!==_[0]||!1!==_[1],i.intentional&&(d=[0,0],n.hasCustomTransform?(([f,s]=f),d[0]=!1!==_[0]?f-_[0]:0,d[1]=!1!==_[1]?s-_[1]:0):(d[0]=!1!==_[0]?p-_[0]:0,d[1]=!1!==_[1]?h-_[1]:0),this.restrictToAxis&&!i._blocked&&this.restrictToAxis(d),f=i.offset,([_,o]=((s=i._active&&!i._blocked||i.active)&&(i.first=i._active&&!i.active,i.last=!i._active&&i.active,i.active=o[this.ingKey]=i._active,e)&&(i.first&&(\\\"bounds\\\"in n&&(i._bounds=v(n.bounds,i)),this.setup)&&this.setup(),i.movement=d,this.computeOffset()),i.offset)),([[d,u],[l,c]]=i._bounds),i.overflow=[_\u003Cd?-1:u\u003C_?1:0,o\u003Cl?-1:c\u003Co?1:0],i._movementBound[0]=!!i.overflow[0]&&(!1===i._movementBound[0]?i._movement:i._movementBound)[0],i._movementBound[1]=!!i.overflow[1]&&(!1===i._movementBound[1]?i._movement:i._movementBound)[1],d=i._active&&n.rubberband||[0,0],i.offset=b.computeRubberband(i._bounds,i.offset,d),i.delta=b.V.sub(i.offset,f),this.computeMovement(),s)&&(!i.last||32\u003Ca)&&(i.delta=b.V.sub(i.offset,f),u=i.delta.map(Math.abs),b.V.addTo(i.distance,u),i.direction=i.delta.map(Math.sign),i._direction=i._delta.map(Math.sign),!i.first)&&0\u003Ca&&(i.velocity=[u[0]/a,u[1]/a],i.timeDelta=a)}emit(){var e=this.state,t=this.shared,r=this.config;e._active||this.clean(),(!e._blocked&&e.intentional||e._force||r.triggerAllEvents)&&void 0!==(r=this.handler(a(a(a({},t),e),{},{[this.aliasKey]:e.values})))&&(e.memo=r)}clean(){this.eventStore.clean(),this.timeoutStore.clean()}};var y=class extends t{constructor(...e){super(...e),n(this,\\\"aliasKey\\\",\\\"xy\\\")}reset(){super.reset(),this.state.axis=void 0}init(){this.state.offset=[0,0],this.state.lastOffset=[0,0]}computeOffset(){this.state.offset=b.V.add(this.state.lastOffset,this.state.movement)}computeMovement(){this.state.movement=b.V.sub(this.state.offset,this.state.lastOffset)}axisIntent(e){var t,r,i,n,o=this.state,a=this.config;!o.axis&&e&&(i=\\\"object\\\"==typeof a.axisThreshold?a.axisThreshold[d(e)]:a.axisThreshold,o.axis=(([[e,t],r]=[o._movement,i]),i=Math.abs(e),(n=Math.abs(t))\u003Ci&&r\u003Ci?\\\"x\\\":i\u003Cn&&r\u003Cn?\\\"y\\\":void 0)),o._blocked=(a.lockDirection||!!a.axis)&&!o.axis||!!a.axis&&a.axis!==o.axis}restrictToAxis(e){if(this.config.axis||this.config.lockDirection)switch(this.state.axis){case\\\"x\\\":e[1]=0;break;case\\\"y\\\":e[0]=0}}},N=e=>e,S={enabled(e=!0){return e},eventOptions(e,t,r){return a(a({},r.shared.eventOptions),e)},preventDefault(e=!1){return e},triggerAllEvents(e=!1){return e},rubberband(e=0){switch(e){case!0:return[.15,.15];case!1:return[0,0];default:return b.V.toVector(e)}},from(e){return\\\"function\\\"==typeof e?e:null!=e?b.V.toVector(e):void 0},transform(e,t,r){var i=e||r.shared.transform;this.hasCustomTransform=!!i;{const n=i||N;return e=>{var t=n(e);return isFinite(t[0])&&isFinite(t[1])||console.warn(`[@use-gesture]: config.transform() must produce a valid result, but it was: [${t[0]},${[1]}]`),t}}},threshold(e){return b.V.toVector(e,0)}},x=(Object.assign(S,{domTarget(e){if(void 0!==e)throw Error(\\\"[@use-gesture]: `domTarget` option has been renamed to `target`.\\\");return NaN},lockDirection(e){if(void 0!==e)throw Error(\\\"[@use-gesture]: `lockDirection` option has been merged with `axis`. Use it as in `{ axis: 'lock' }`\\\");return NaN},initial(e){if(void 0!==e)throw Error(\\\"[@use-gesture]: `initial` option has been renamed to `from`.\\\");return NaN}}),a(a({},S),{},{axis(e,t,{axis:r}){if(this.lockDirection=\\\"lock\\\"===r,!this.lockDirection)return r},axisThreshold(e=0){return e},bounds(t={}){var e,r,i,n;return\\\"function\\\"==typeof t?e=>x.bounds(t(e)):\\\"current\\\"in t?()=>t.current:\\\"function\\\"==typeof HTMLElement&&t instanceof HTMLElement?t:(({left:e=-Infinity,right:r=Infinity,top:i=-Infinity,bottom:n=Infinity}=t),[[e,r],[i,n]])}})),w={ArrowRight:(e,t=1)=>[e*t,0],ArrowLeft:(e,t=1)=>[-1*e*t,0],ArrowUp:(e,t=1)=>[0,-1*e*t],ArrowDown:(e,t=1)=>[0,e*t]},$=class extends y{constructor(...e){super(...e),n(this,\\\"ingKey\\\",\\\"dragging\\\")}reset(){super.reset();var e=this.state;e._pointerId=void 0,e._pointerActive=!1,e._keyboardActive=!1,e._preventScroll=!1,e._delayed=!1,e.swipe=[0,0],e.tap=!1,e.canceled=!1,e.cancel=this.cancel.bind(this)}setup(){var e,t,r=this.state;r._bounds instanceof HTMLElement&&(t=r._bounds.getBoundingClientRect(),e=r.currentTarget.getBoundingClientRect(),t={left:t.left-e.left+r.offset[0],right:t.right-e.right+r.offset[0],top:t.top-e.top+r.offset[1],bottom:t.bottom-e.bottom+r.offset[1]},r._bounds=x.bounds(t))}cancel(){var e=this.state;e.canceled||(e.canceled=!0,e._active=!1,setTimeout(()=>{this.compute(),this.emit()},0))}setActive(){this.state._active=this.state._pointerActive||this.state._keyboardActive}clean(){this.pointerClean(),this.state._pointerActive=!1,this.state._keyboardActive=!1,super.clean()}pointerDown(e){var t,r=this.config,i=this.state;null!=e.buttons&&(Array.isArray(r.pointerButtons)?!r.pointerButtons.includes(e.buttons):-1!==r.pointerButtons&&r.pointerButtons!==e.buttons)||(t=this.ctrl.setEventIds(e),r.pointerCapture&&e.target.setPointerCapture(e.pointerId),t&&1\u003Ct.size&&i._pointerActive)||(this.start(e),this.setupPointer(e),i._pointerId=m(e),i._pointerActive=!0,this.computeValues(g(e)),this.computeInitial(),r.preventScrollAxis&&\\\"mouse\\\"!==d(e)?(i._active=!1,this.setupScrollPrevention(e)):0\u003Cr.delay?(this.setupDelayTrigger(e),r.triggerAllEvents&&(this.compute(e),this.emit())):this.startPointerDrag(e))}startPointerDrag(e){var t=this.state;t._active=!0,t._preventScroll=!0,t._delayed=!1,this.compute(e),this.emit()}pointerMove(e){var t=this.state,r=this.config;if(t._pointerActive){var i=m(e);if(void 0===t._pointerId||i===t._pointerId){i=g(e);if(document.pointerLockElement===e.target?t._delta=[e.movementX,e.movementY]:(t._delta=b.V.sub(i,t._values),this.computeValues(i)),b.V.addTo(t._movement,t._delta),this.compute(e),!t._delayed||!t.intentional)return r.preventScrollAxis&&!t._preventScroll?t.axis?t.axis===r.preventScrollAxis||\\\"xy\\\"===r.preventScrollAxis?(t._active=!1,void this.clean()):(this.timeoutStore.remove(\\\"startPointerDrag\\\"),void this.startPointerDrag(e)):void 0:void this.emit();this.timeoutStore.remove(\\\"dragDelay\\\"),t.active=!1,this.startPointerDrag(e)}}}pointerUp(e){this.ctrl.setEventIds(e);try{this.config.pointerCapture&&e.target.hasPointerCapture(e.pointerId)&&e.target.releasePointerCapture(e.pointerId)}catch(p){console.warn(\\\"[@use-gesture]: If you see this message, it's likely that you're using an outdated version of `@react-three/fiber`. \\\\n\\\\nPlease upgrade to the latest version.\\\")}var t,r,i,n,o,a,s,l,c,d=this.state,u=this.config;d._active&&d._pointerActive&&(t=m(e),void 0!==d._pointerId&&t!==d._pointerId||(this.state._pointerActive=!1,this.setActive(),this.compute(e),([t,r]=d._distance),d.tap=t\u003C=u.tapsThreshold&&r\u003C=u.tapsThreshold,d.tap&&u.filterTaps?d._force=!0:(([t,r]=d._delta),([i,n]=d._movement),([o,a]=u.swipe.velocity),([s,l]=u.swipe.distance),u=u.swipe.duration,d.elapsedTime\u003Cu&&(u=Math.abs(t/d.timeDelta),c=Math.abs(r/d.timeDelta),o\u003Cu&&Math.abs(i)>s&&(d.swipe[0]=Math.sign(t)),a\u003Cc)&&Math.abs(n)>l&&(d.swipe[1]=Math.sign(r))),this.emit()))}pointerClick(e){!this.state.tap&&0\u003Ce.detail&&(e.preventDefault(),e.stopPropagation())}setupPointer(e){var t,r=this.config,i=r.device;try{\\\"pointer\\\"===i&&void 0===r.preventScrollDelay&&(t=(\\\"uv\\\"in e?e.sourceEvent:e).currentTarget,\\\"auto\\\"===window.getComputedStyle(t).touchAction)&&console.warn(\\\"[@use-gesture]: The drag target has its `touch-action` style property set to `auto`. It is recommended to add `touch-action: 'none'` so that the drag gesture behaves correctly on touch-enabled devices. For more information read this: https://use-gesture.netlify.app/docs/extras/#touch-action.\\\\n\\\\nThis message will only show in development mode. It won't appear in production. If this is intended, you can ignore it.\\\",t)}catch(n){}r.pointerLock&&e.currentTarget.requestPointerLock(),r.pointerCapture||(this.eventStore.add(this.sharedConfig.window,i,\\\"change\\\",this.pointerMove.bind(this)),this.eventStore.add(this.sharedConfig.window,i,\\\"end\\\",this.pointerUp.bind(this)),this.eventStore.add(this.sharedConfig.window,i,\\\"cancel\\\",this.pointerUp.bind(this)))}pointerClean(){this.config.pointerLock&&document.pointerLockElement===this.state.currentTarget&&document.exitPointerLock()}preventScroll(e){this.state._preventScroll&&e.cancelable&&e.preventDefault()}setupScrollPrevention(e){this.state._preventScroll=!1,\\\"persist\\\"in(t=e)&&\\\"function\\\"==typeof t.persist&&t.persist();var t,r=this.eventStore.add(this.sharedConfig.window,\\\"touch\\\",\\\"change\\\",this.preventScroll.bind(this),{passive:!1});this.eventStore.add(this.sharedConfig.window,\\\"touch\\\",\\\"end\\\",r),this.eventStore.add(this.sharedConfig.window,\\\"touch\\\",\\\"cancel\\\",r),this.timeoutStore.add(\\\"startPointerDrag\\\",this.startPointerDrag.bind(this),this.config.preventScrollDelay,e)}setupDelayTrigger(e){this.state._delayed=!0,this.timeoutStore.add(\\\"dragDelay\\\",()=>{this.state._step=[0,0],this.startPointerDrag(e)},this.config.delay)}keyDown(e){var t,r,i=w[e.key];i&&(t=this.state,r=e.shiftKey?10:e.altKey?.1:1,this.start(e),t._delta=i(this.config.keyboardDisplacement,r),t._keyboardActive=!0,b.V.addTo(t._movement,t._delta),this.compute(e),this.emit())}keyUp(e){e.key in w&&(this.state._keyboardActive=!1,this.setActive(),this.compute(e),this.emit())}bind(e){var t=this.config.device;e(t,\\\"start\\\",this.pointerDown.bind(this)),this.config.pointerCapture&&(e(t,\\\"change\\\",this.pointerMove.bind(this)),e(t,\\\"end\\\",this.pointerUp.bind(this)),e(t,\\\"cancel\\\",this.pointerUp.bind(this)),e(\\\"lostPointerCapture\\\",\\\"\\\",this.pointerUp.bind(this))),this.config.keys&&(e(\\\"key\\\",\\\"down\\\",this.keyDown.bind(this)),e(\\\"key\\\",\\\"up\\\",this.keyUp.bind(this))),this.config.filterTaps&&e(\\\"click\\\",\\\"\\\",this.pointerClick.bind(this),{capture:!0,passive:!1})}};var E=\\\"undefined\\\"!=typeof window&&window.document&&window.document.createElement;function P(){return E&&\\\"ontouchstart\\\"in window}var I={isBrowser:E,gesture:function(){try{return\\\"constructor\\\"in GestureEvent}catch(e){return!1}}(),touch:P(),touchscreen:P()||E&&1\u003Cwindow.navigator.maxTouchPoints,pointer:E&&\\\"onpointerdown\\\"in window,pointerLock:E&&\\\"exitPointerLock\\\"in window.document},j={mouse:0,touch:0,pen:8},C=a(a({},x),{},{device(e,t,{pointer:{touch:r=!1,lock:i=!1,mouse:n=!1}={}}){return this.pointerLock=i&&I.pointerLock,I.touch&&r?\\\"touch\\\":this.pointerLock?\\\"mouse\\\":I.pointer&&!n?\\\"pointer\\\":I.touch?\\\"touch\\\":\\\"mouse\\\"},preventScrollAxis(e,t,{preventScroll:r}){if(this.preventScrollDelay=\\\"number\\\"==typeof r?r:r||void 0===r&&e?250:void 0,I.touchscreen&&!1!==r)return e||(void 0!==r?\\\"y\\\":void 0)},pointerCapture(e,t,{pointer:{capture:r=!0,buttons:i=1,keys:n=!0}={}}){return this.pointerButtons=i,this.keys=n,!this.pointerLock&&\\\"pointer\\\"===this.device&&r},threshold(e,t,{filterTaps:r=!1,tapsThreshold:i=3,axis:n=void 0}){var o=b.V.toVector(e,r?i:n?1:0);return this.filterTaps=r,this.tapsThreshold=i,o},swipe({velocity:e=.5,distance:t=50,duration:r=250}={}){return{velocity:this.transform(b.V.toVector(e)),distance:this.transform(b.V.toVector(t)),duration:r}},delay(e=0){switch(e){case!0:return 180;case!1:return 0;default:return e}},axisThreshold(e){return e?a(a({},j),e):j},keyboardDisplacement(e=10){return e}});function T(e){var[t,r]=e.overflow,[i,n]=e._delta,[o,a]=e._direction;(t\u003C0&&0\u003Ci&&o\u003C0||0\u003Ct&&i\u003C0&&0\u003Co)&&(e._movement[0]=e._movementBound[0]),(r\u003C0&&0\u003Cn&&a\u003C0||0\u003Cr&&n\u003C0&&0\u003Ca)&&(e._movement[1]=e._movementBound[1])}Object.assign(C,{useTouch(e){if(void 0!==e)throw Error(\\\"[@use-gesture]: `useTouch` option has been renamed to `pointer.touch`. Use it as in `{ pointer: { touch: true } }`.\\\");return NaN},experimental_preventWindowScrollY(e){if(void 0!==e)throw Error(\\\"[@use-gesture]: `experimental_preventWindowScrollY` option has been renamed to `preventScroll`.\\\");return NaN},swipeVelocity(e){if(void 0!==e)throw Error(\\\"[@use-gesture]: `swipeVelocity` option has been renamed to `swipe.velocity`. Use it as in `{ swipe: { velocity: 0.5 } }`.\\\");return NaN},swipeDistance(e){if(void 0!==e)throw Error(\\\"[@use-gesture]: `swipeDistance` option has been renamed to `swipe.distance`. Use it as in `{ swipe: { distance: 50 } }`.\\\");return NaN},swipeDuration(e){if(void 0!==e)throw Error(\\\"[@use-gesture]: `swipeDuration` option has been renamed to `swipe.duration`. Use it as in `{ swipe: { duration: 250 } }`.\\\");return NaN}});var t=class extends t{constructor(...e){super(...e),n(this,\\\"ingKey\\\",\\\"pinching\\\"),n(this,\\\"aliasKey\\\",\\\"da\\\")}init(){this.state.offset=[1,0],this.state.lastOffset=[1,0],this.state._pointerEvents=new Map}reset(){super.reset();var e=this.state;e._touchIds=[],e.canceled=!1,e.cancel=this.cancel.bind(this),e.turns=0}computeOffset(){var{type:e,movement:t,lastOffset:r}=this.state;this.state.offset=\\\"wheel\\\"===e?b.V.add(t,r):[(1+t[0])*r[0],t[1]+r[1]]}computeMovement(){var{offset:e,lastOffset:t}=this.state;this.state.movement=[e[0]/t[0],e[1]-t[1]]}axisIntent(){var e=this.state,[t,r]=e._movement;e.axis||((t=30*Math.abs(t)-Math.abs(r))\u003C0?e.axis=\\\"angle\\\":0\u003Ct&&(e.axis=\\\"scale\\\"))}restrictToAxis(e){this.config.lockDirection&&(\\\"scale\\\"===this.state.axis?e[1]=0:\\\"angle\\\"===this.state.axis&&(e[0]=0))}cancel(){const e=this.state;e.canceled||setTimeout(()=>{e.canceled=!0,e._active=!1,this.compute(),this.emit()},0)}touchStart(e){this.ctrl.setEventIds(e);var t=this.state;const r=this.ctrl.touchIds;t._active&&t._touchIds.every(e=>r.has(e))||r.size\u003C2||(this.start(e),t._touchIds=Array.from(r).slice(0,2),(t=h(e,t._touchIds))&&this.pinchStart(e,t))}pointerStart(e){if(null==e.buttons||e.buttons%2==1){this.ctrl.setEventIds(e),e.target.setPointerCapture(e.pointerId);var t=this.state,r=t._pointerEvents;const i=this.ctrl.pointerIds;t._active&&Array.from(r.keys()).every(e=>i.has(e))||(r.size\u003C2&&r.set(e.pointerId,e),t._pointerEvents.size\u003C2)||(this.start(e),(t=p(...Array.from(r.values())))&&this.pinchStart(e,t))}}pinchStart(e,t){this.state.origin=t.origin,this.computeValues([t.distance,t.angle]),this.computeInitial(),this.compute(e),this.emit()}touchMove(e){var t;this.state._active&&(t=h(e,this.state._touchIds))&&this.pinchMove(e,t)}pointerMove(e){var t=this.state._pointerEvents;t.has(e.pointerId)&&t.set(e.pointerId,e),this.state._active&&(t=p(...Array.from(t.values())))&&this.pinchMove(e,t)}pinchMove(e,t){var r=this.state,i=r._values[1],i=t.angle-i;let n=0;270\u003CMath.abs(i)&&(n+=Math.sign(i)),this.computeValues([t.distance,t.angle-360*n]),r.origin=t.origin,r.turns=n,r._movement=[r._values[0]/r._initial[0]-1,r._values[1]-r._initial[1]],this.compute(e),this.emit()}touchEnd(e){this.ctrl.setEventIds(e),this.state._active&&this.state._touchIds.some(e=>!this.ctrl.touchIds.has(e))&&(this.state._active=!1,this.compute(e),this.emit())}pointerEnd(e){var t=this.state;this.ctrl.setEventIds(e);try{e.target.releasePointerCapture(e.pointerId)}catch(r){}t._pointerEvents.has(e.pointerId)&&t._pointerEvents[\\\"delete\\\"](e.pointerId),t._active&&t._pointerEvents.size\u003C2&&(t._active=!1,this.compute(e),this.emit())}gestureStart(e){e.cancelable&&e.preventDefault();var t=this.state;t._active||(this.start(e),this.computeValues([e.scale,e.rotation]),t.origin=[e.clientX,e.clientY],this.compute(e),this.emit())}gestureMove(e){var t,r;e.cancelable&&e.preventDefault(),this.state._active&&(t=this.state,this.computeValues([e.scale,e.rotation]),t.origin=[e.clientX,e.clientY],r=t._movement,t._movement=[e.scale-1,e.rotation],t._delta=b.V.sub(t._movement,r),this.compute(e),this.emit())}gestureEnd(e){this.state._active&&(this.state._active=!1,this.compute(e),this.emit())}wheel(t){var e=this.config.modifierKey;e&&(Array.isArray(e)?!e.find(e=>t[e]):!t[e])||(this.state._active?this.wheelChange(t):this.wheelStart(t),this.timeoutStore.add(\\\"wheelEnd\\\",this.wheelEnd.bind(this)))}wheelStart(e){this.start(e),this.wheelChange(e)}wheelChange(e){\\\"uv\\\"in e||(e.cancelable&&e.preventDefault(),e.defaultPrevented)||console.warn(\\\"[@use-gesture]: To properly support zoom on trackpads, try using the `target` option.\\\\n\\\\nThis message will only appear in development mode.\\\");var t=this.state;t._delta=[-_(e)[1]/100*t.offset[0],0],b.V.addTo(t._movement,t._delta),T(t),this.state.origin=[e.clientX,e.clientY],this.compute(e),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){var t=this.config.device;t&&(e(t,\\\"start\\\",this[t+\\\"Start\\\"].bind(this)),e(t,\\\"change\\\",this[t+\\\"Move\\\"].bind(this)),e(t,\\\"end\\\",this[t+\\\"End\\\"].bind(this)),e(t,\\\"cancel\\\",this[t+\\\"End\\\"].bind(this)),e(\\\"lostPointerCapture\\\",\\\"\\\",this[t+\\\"End\\\"].bind(this))),this.config.pinchOnWheel&&e(\\\"wheel\\\",\\\"\\\",this.wheel.bind(this),{passive:!1})}},S=a(a({},S),{},{device(e,t,{shared:r,pointer:{touch:i=!1}={}}){return r.target&&!I.touch&&I.gesture?\\\"gesture\\\":I.touch&&i?\\\"touch\\\":I.touchscreen?I.pointer?\\\"pointer\\\":I.touch?\\\"touch\\\":void 0:void 0},bounds(e,t,{scaleBounds:r={},angleBounds:i={}}){const n=e=>{var t=f(v(r,e),{min:-Infinity,max:Infinity});return[t.min,t.max]},o=e=>{var t=f(v(i,e),{min:-Infinity,max:Infinity});return[t.min,t.max]};return\\\"function\\\"!=typeof r&&\\\"function\\\"!=typeof i?[n(),o()]:e=>[n(e),o(e)]},threshold(e,t,r){return this.lockDirection=\\\"lock\\\"===r.axis,b.V.toVector(e,this.lockDirection?[.1,3]:0)},modifierKey(e){return void 0===e?\\\"ctrlKey\\\":e},pinchOnWheel(e=!0){return e}}),k=class extends y{constructor(...e){super(...e),n(this,\\\"ingKey\\\",\\\"moving\\\")}move(e){this.config.mouseOnly&&\\\"mouse\\\"!==e.pointerType||(this.state._active?this.moveChange(e):this.moveStart(e),this.timeoutStore.add(\\\"moveEnd\\\",this.moveEnd.bind(this)))}moveStart(e){this.start(e),this.computeValues(g(e)),this.compute(e),this.computeInitial(),this.emit()}moveChange(e){var t,r;this.state._active&&(t=g(e),(r=this.state)._delta=b.V.sub(t,r._values),b.V.addTo(r._movement,r._delta),this.computeValues(t),this.compute(e),this.emit())}moveEnd(e){this.state._active&&(this.state._active=!1,this.compute(e),this.emit())}bind(e){e(\\\"pointer\\\",\\\"change\\\",this.move.bind(this)),e(\\\"pointer\\\",\\\"leave\\\",this.moveEnd.bind(this))}},A=a(a({},x),{},{mouseOnly:(e=!0)=>e}),L=class extends y{constructor(...e){super(...e),n(this,\\\"ingKey\\\",\\\"scrolling\\\")}scroll(e){this.state._active||this.start(e),this.scrollChange(e),this.timeoutStore.add(\\\"scrollEnd\\\",this.scrollEnd.bind(this))}scrollChange(e){e.cancelable&&e.preventDefault();var t=this.state,r=function(e){var{scrollX:t,scrollY:r,scrollLeft:i,scrollTop:n}=e.currentTarget;return[null!=(t=null!=t?t:i)?t:0,null!=(i=null!=r?r:n)?i:0]}(e);t._delta=b.V.sub(r,t._values),b.V.addTo(t._movement,t._delta),this.computeValues(r),this.compute(e),this.emit()}scrollEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){e(\\\"scroll\\\",\\\"\\\",this.scroll.bind(this))}},V=x,B=class extends y{constructor(...e){super(...e),n(this,\\\"ingKey\\\",\\\"wheeling\\\")}wheel(e){this.state._active||this.start(e),this.wheelChange(e),this.timeoutStore.add(\\\"wheelEnd\\\",this.wheelEnd.bind(this))}wheelChange(e){var t=this.state;t._delta=_(e),b.V.addTo(t._movement,t._delta),T(t),this.compute(e),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){e(\\\"wheel\\\",\\\"\\\",this.wheel.bind(this))}},z=x,y=class extends y{constructor(...e){super(...e),n(this,\\\"ingKey\\\",\\\"hovering\\\")}enter(e){this.config.mouseOnly&&\\\"mouse\\\"!==e.pointerType||(this.start(e),this.computeValues(g(e)),this.compute(e),this.emit())}leave(e){var t,r;this.config.mouseOnly&&\\\"mouse\\\"!==e.pointerType||(t=this.state)._active&&(t._active=!1,r=g(e),t._movement=t._delta=b.V.sub(r,t._values),this.computeValues(r),this.compute(e),t.delta=t.movement,this.emit())}bind(e){e(\\\"pointer\\\",\\\"enter\\\",this.enter.bind(this)),e(\\\"pointer\\\",\\\"leave\\\",this.leave.bind(this))}},M=a(a({},x),{},{mouseOnly:(e=!0)=>e}),F=new Map,O=new Map;$={key:\\\"drag\\\",engine:$,resolver:C},C={key:\\\"hover\\\",engine:y,resolver:M},y={key:\\\"move\\\",engine:k,resolver:A},M={key:\\\"pinch\\\",engine:t,resolver:S},k={key:\\\"scroll\\\",engine:L,resolver:V},A={key:\\\"wheel\\\",engine:B,resolver:z};e.ConfigResolverMap=O,e.EngineMap=F,e.SUPPORT=I,e._defineProperty=n,e._objectSpread2=a,e.chain=function(...r){return 0===r.length?R:1===r.length?r[0]:function(){let e;for(const t of r)e=t.apply(this,arguments)||e;return e}},e.dragAction=$,e.hoverAction=C,e.isTouch=r,e.moveAction=y,e.parseProp=function(e){let t=e.substring(2).toLowerCase();var r=!!~t.indexOf(\\\"passive\\\"),i=(r&&(t=t.replace(\\\"passive\\\",\\\"\\\")),D.includes(t)?\\\"capturecapture\\\":\\\"capture\\\"),i=!!~t.indexOf(i);return{device:t=i?t.replace(\\\"capture\\\",\\\"\\\"):t,capture:i,passive:r}},e.pinchAction=M,e.registerAction=function(e){F.set(e.key,e.engine),O.set(e.key,e.resolver)},e.scrollAction=k,e.toDomEventType=function(e,t=\\\"\\\"){var r=s[e];return e+(r&&r[t]||t)},e.toHandlerProp=function(e,t=\\\"\\\",r=!1){var i=(i=s[e])&&i[t]||t;return\\\"on\\\"+l(e)+l(i)+(([t=!1,e]=[r,i]),t&&!c.includes(e)?\\\"Capture\\\":\\\"\\\")},e.touchIds=function(e){return i=e,Array.from(i.touches).filter(e=>{var t,r;return e.target===i.currentTarget||(null==(t=i.currentTarget)||null==(r=t.contains)?void 0:r.call(t,e.target))}).map(e=>e.identifier);var i},e.wheelAction=A}}),require_use_gesture_core_actions_cjs_dev=__commonJS({\\\"node_modules/.pnpm/@use-gesture+core@10.3.0/node_modules/@use-gesture/core/actions/dist/use-gesture-core-actions.cjs.dev.js\\\"(e){init_esbuild_inject(),Object.defineProperty(e,\\\"__esModule\\\",{value:!0});var t=require_actions_6579bdef_cjs_dev();require_maths_267f0992_cjs_dev(),e.ConfigResolverMap=t.ConfigResolverMap,e.EngineMap=t.EngineMap,e.dragAction=t.dragAction,e.hoverAction=t.hoverAction,e.moveAction=t.moveAction,e.pinchAction=t.pinchAction,e.registerAction=t.registerAction,e.scrollAction=t.scrollAction,e.wheelAction=t.wheelAction}}),require_use_gesture_core_actions_cjs=__commonJS({\\\"node_modules/.pnpm/@use-gesture+core@10.3.0/node_modules/@use-gesture/core/actions/dist/use-gesture-core-actions.cjs.js\\\"(e,t){init_esbuild_inject(),t.exports=require_use_gesture_core_actions_cjs_dev()}}),require_use_gesture_core_cjs_dev=__commonJS({\\\"node_modules/.pnpm/@use-gesture+core@10.3.0/node_modules/@use-gesture/core/dist/use-gesture-core.cjs.dev.js\\\"(e){init_esbuild_inject(),Object.defineProperty(e,\\\"__esModule\\\",{value:!0});var m=require_actions_6579bdef_cjs_dev();function u(e,t){if(null==e)return{};var r,i=function(e,t){if(null==e)return{};for(var r,i={},n=Object.keys(e),o=0;o\u003Cn.length;o++)r=n[o],0\u003C=t.indexOf(r)||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols)for(var n=Object.getOwnPropertySymbols(e),o=0;o\u003Cn.length;o++)r=n[o],0\u003C=t.indexOf(r)||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}require_maths_267f0992_cjs_dev();var p={target(e){if(e)return()=>\\\"current\\\"in e?e.current:e},enabled(e=!0){return e},window(e=m.SUPPORT.isBrowser?window:void 0){return e},eventOptions({passive:e=!0,capture:t=!1}={}){return{passive:e,capture:t}},transform(e){return e}},h=[\\\"target\\\",\\\"eventOptions\\\",\\\"window\\\",\\\"enabled\\\",\\\"transform\\\"];function g(e={},t){var r,i,n={};for([r,i]of Object.entries(t))switch(typeof i){case\\\"function\\\":var o=i.call(n,e[r],r,e);Number.isNaN(o)||(n[r]=o);break;case\\\"object\\\":n[r]=g(e[r],i);break;case\\\"boolean\\\":i&&(n[r]=e[r])}return n}var r=class{constructor(e,t){m._defineProperty(this,\\\"_listeners\\\",new Set),this._ctrl=e,this._gestureKey=t}add(e,t,r,i,n){const o=this._listeners,a=m.toDomEventType(t,r);var s=this._gestureKey?this._ctrl.config[this._gestureKey].eventOptions:{};const l=m._objectSpread2(m._objectSpread2({},s),n),c=(e.addEventListener(a,i,l),()=>{e.removeEventListener(a,i,l),o[\\\"delete\\\"](c)});return o.add(c),c}clean(){this._listeners.forEach(e=>e()),this._listeners.clear()}},i=class{constructor(){m._defineProperty(this,\\\"_timeouts\\\",new Map)}add(e,t,r=140,...i){this.remove(e),this._timeouts.set(e,window.setTimeout(t,r,...i))}remove(e){var t=this._timeouts.get(e);t&&window.clearTimeout(t)}clean(){this._timeouts.forEach(e=>{window.clearTimeout(e)}),this._timeouts.clear()}};function n(e,t){e.gestures.add(t),e.gestureEventStores[t]=new r(e,t),e.gestureTimeoutStores[t]=new i}var _=(l,c,d)=>(e,t,r,i={},n=!1)=>{var o=null!=(o=i.capture)?o:c.capture,a=null!=(a=i.passive)?a:c.passive;let s=n?e:m.toHandlerProp(e,t,o);d&&a&&(s+=\\\"Passive\\\"),l[s]=l[s]||[],l[s].push(r)},a=/^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;function s(e,r,i,t,n,o){if(e.has(i))if(m.EngineMap.has(t)){const a=i+\\\"Start\\\",s=i+\\\"End\\\";n[t]=e=>{let t=void 0;return e.first&&a in r&&r[a](e),i in r&&(t=r[i](e)),e.last&&s in r&&r[s](e),t},o[t]=o[t]||{}}else console.warn(`[@use-gesture]: You've created a custom handler that that uses the \\\\`${t}\\\\` gesture but isn't properly configured.\\n\\nPlease add \\\\`${t}Action\\\\` when creating your handler.`)}e.Controller=class{constructor(e){m._defineProperty(this,\\\"gestures\\\",new Set),m._defineProperty(this,\\\"_targetEventStore\\\",new r(this)),m._defineProperty(this,\\\"gestureEventStores\\\",{}),m._defineProperty(this,\\\"gestureTimeoutStores\\\",{}),m._defineProperty(this,\\\"handlers\\\",{}),m._defineProperty(this,\\\"config\\\",{}),m._defineProperty(this,\\\"pointerIds\\\",new Set),m._defineProperty(this,\\\"touchIds\\\",new Set),m._defineProperty(this,\\\"state\\\",{shared:{shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1}});var t=this;e.drag&&n(t,\\\"drag\\\"),e.wheel&&n(t,\\\"wheel\\\"),e.scroll&&n(t,\\\"scroll\\\"),e.move&&n(t,\\\"move\\\"),e.pinch&&n(t,\\\"pinch\\\"),e.hover&&n(t,\\\"hover\\\")}setEventIds(e){return m.isTouch(e)?(this.touchIds=new Set(m.touchIds(e)),this.touchIds):\\\"pointerId\\\"in e?(\\\"pointerup\\\"===e.type||\\\"pointercancel\\\"===e.type?this.pointerIds[\\\"delete\\\"](e.pointerId):\\\"pointerdown\\\"===e.type&&this.pointerIds.add(e.pointerId),this.pointerIds):void 0}applyHandlers(e,t){this.handlers=e,this.nativeHandlers=t}applyConfig(e,t){this.config=function(e,t,r={}){var{target:i,eventOptions:n,window:o,enabled:a,transform:s}=e,l=u(e,h);if(r.shared=g({target:i,eventOptions:n,window:o,enabled:a,transform:s},p),t){i=m.ConfigResolverMap.get(t);r[t]=g(m._objectSpread2({shared:r.shared},l),i)}else for(const d in l){var c=m.ConfigResolverMap.get(d);if(c)r[d]=g(m._objectSpread2({shared:r.shared},l[d]),c);else if(![\\\"drag\\\",\\\"pinch\\\",\\\"scroll\\\",\\\"wheel\\\",\\\"move\\\",\\\"hover\\\"].includes(d)){if(\\\"domTarget\\\"===d)throw Error(\\\"[@use-gesture]: `domTarget` option has been renamed to `target`.\\\");console.warn(`[@use-gesture]: Unknown config key \\\\`${d}\\\\` was used. Please read the documentation for further information.`)}}return r}(e,t,this.config)}clean(){this._targetEventStore.clean();for(const e of this.gestures)this.gestureEventStores[e].clean(),this.gestureTimeoutStores[e].clean()}effect(){return this.config.shared.target&&this.bind(),()=>this._targetEventStore.clean()}bind(...t){var e=this.config.shared,r={};let i;if(!e.target||(i=e.target())){if(e.enabled){for(const d of this.gestures){var n=this.config[d],o=_(r,n.eventOptions,!!i);n.enabled&&new(m.EngineMap.get(d))(this,t,d).bind(o)}var a=_(r,e.eventOptions,!!i);for(const u in this.nativeHandlers)a(u,\\\"\\\",e=>this.nativeHandlers[u](m._objectSpread2(m._objectSpread2({},this.state.shared),{},{event:e,args:t})),void 0,!0)}for(const p in r)r[p]=m.chain(...r[p]);if(!i)return r;for(const h in r){var{device:s,capture:l,passive:c}=m.parseProp(h);this._targetEventStore.add(i,s,\\\"\\\",r[h],{capture:l,passive:c})}}}},e.parseMergedHandlers=function(e,t){var[r,i,n]=function(e){var t,r={},i={},n=new Set;for(t in e)a.test(t)?(n.add(RegExp.lastMatch),i[t]=e[t]):r[t]=e[t];return[i,r,n]}(e),o={};return s(n,r,\\\"onDrag\\\",\\\"drag\\\",o,t),s(n,r,\\\"onWheel\\\",\\\"wheel\\\",o,t),s(n,r,\\\"onScroll\\\",\\\"scroll\\\",o,t),s(n,r,\\\"onPinch\\\",\\\"pinch\\\",o,t),s(n,r,\\\"onMove\\\",\\\"move\\\",o,t),s(n,r,\\\"onHover\\\",\\\"hover\\\",o,t),{handlers:o,config:t,nativeHandlers:i}}}}),require_use_gesture_core_cjs=__commonJS({\\\"node_modules/.pnpm/@use-gesture+core@10.3.0/node_modules/@use-gesture/core/dist/use-gesture-core.cjs.js\\\"(e,t){init_esbuild_inject(),t.exports=require_use_gesture_core_cjs_dev()}}),require_use_gesture_core_utils_cjs_dev=__commonJS({\\\"node_modules/.pnpm/@use-gesture+core@10.3.0/node_modules/@use-gesture/core/utils/dist/use-gesture-core-utils.cjs.dev.js\\\"(e){init_esbuild_inject(),Object.defineProperty(e,\\\"__esModule\\\",{value:!0});var t=require_maths_267f0992_cjs_dev();e.rubberbandIfOutOfBounds=t.rubberbandIfOutOfBounds}}),require_use_gesture_core_utils_cjs=__commonJS({\\\"node_modules/.pnpm/@use-gesture+core@10.3.0/node_modules/@use-gesture/core/utils/dist/use-gesture-core-utils.cjs.js\\\"(e,t){init_esbuild_inject(),t.exports=require_use_gesture_core_utils_cjs_dev()}}),require_use_gesture_core_types_cjs_dev=__commonJS({\\\"node_modules/.pnpm/@use-gesture+core@10.3.0/node_modules/@use-gesture/core/types/dist/use-gesture-core-types.cjs.dev.js\\\"(){init_esbuild_inject()}}),require_use_gesture_core_types_cjs=__commonJS({\\\"node_modules/.pnpm/@use-gesture+core@10.3.0/node_modules/@use-gesture/core/types/dist/use-gesture-core-types.cjs.js\\\"(e,t){init_esbuild_inject(),t.exports=require_use_gesture_core_types_cjs_dev()}}),require_lodash2=__commonJS({\\\"node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js\\\"(e,t){init_esbuild_inject();var b=\\\"Expected a function\\\",n=NaN,o=/^\\\\s+|\\\\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt,r=\\\"object\\\"==typeof global&&global&&global.Object===Object&&global,i=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,d=r||i||Function(\\\"return this\\\")(),u=Object.prototype.toString,v=Math.max,y=Math.min,S=function(){return d.Date.now()};function p(i,n,e){var o,a,r,s,l,c,d=0,u=!1,p=!1,t=!0;if(\\\"function\\\"!=typeof i)throw new TypeError(b);function h(e){var t=o,r=a;return o=a=void 0,d=e,s=i.apply(r,t)}function m(e){var t=e-c;return void 0===c||n\u003C=t||t\u003C0||p&&r\u003C=e-d}function g(){var e,t=S();if(m(t))return _(t);l=setTimeout(g,(t=n-((e=t)-c),p?y(t,r-(e-d)):t))}function _(e){return l=void 0,t&&o?h(e):(o=a=void 0,s)}function f(){var e,t=S(),r=m(t);if(o=arguments,a=this,c=t,r){if(void 0===l)return d=e=c,l=setTimeout(g,n),u?h(e):s;if(p)return l=setTimeout(g,n),h(c)}return void 0===l&&(l=setTimeout(g,n)),s}return n=w(n)||0,x(e)&&(u=!!e.leading,p=\\\"maxWait\\\"in e,r=p?v(w(e.maxWait)||0,n):r,t=\\\"trailing\\\"in e?!!e.trailing:t),f.cancel=function(){void 0!==l&&clearTimeout(l),o=c=a=l=void(d=0)},f.flush=function(){return void 0===l?s:_(S())},f}function x(e){var t=typeof e;return e&&(\\\"object\\\"==t||\\\"function\\\"==t)}function w(e){if(\\\"number\\\"==typeof e)return e;if(\\\"symbol\\\"==typeof(t=e)||!!(r=t)&&\\\"object\\\"==typeof r&&\\\"[object Symbol]\\\"==u.call(t))return n;var t,r;if(\\\"string\\\"!=typeof(e=x(e)?x(i=\\\"function\\\"==typeof e.valueOf?e.valueOf():e)?i+\\\"\\\":i:e))return 0===e?e:+e;e=e.replace(o,\\\"\\\");var i=s.test(e);return i||l.test(e)?c(e.slice(2),i?2:8):a.test(e)?n:+e}t.exports=function(e,t,r){var i=!0,n=!0;if(\\\"function\\\"!=typeof e)throw new TypeError(b);return x(r)&&(i=\\\"leading\\\"in r?!!r.leading:i,n=\\\"trailing\\\"in r?!!r.trailing:n),p(e,t,{leading:i,maxWait:t,trailing:n})}}}),require_lodash3=__commonJS({\\\"node_modules/.pnpm/lodash.uniq@4.5.0/node_modules/lodash.uniq/index.js\\\"(O,e){init_esbuild_inject();var m=200,i=\\\"__lodash_hash_undefined__\\\",n=\\\"[object Function]\\\",o=\\\"[object GeneratorFunction]\\\",a=/^\\\\[object .+?Constructor\\\\]$/,t=\\\"object\\\"==typeof global&&global&&global.Object===Object&&global,r=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,t=t||r||Function(\\\"return this\\\")();function g(e,t){return!!(e?e.length:0)&&-1\u003Cfunction(e,t,r){if(t!=t)return function(e,t,r,i){var n=e.length,o=r+(i?1:-1);for(;i?o--:++o\u003Cn;)if(t(e[o],o,e))return o;return-1}(e,s,r);var i=r-1,n=e.length;for(;++i\u003Cn;)if(e[i]===t)return i;return-1}(e,t,0)}function _(e,t,r){for(var i=-1,n=e?e.length:0;++i\u003Cn;)if(r(t,e[i]))return!0;return!1}function s(e){return e!=e}function f(e,t){return e.has(t)}function b(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}var r=Array.prototype,l=Function.prototype,c=Object.prototype,d=t[\\\"__core-js_shared__\\\"],u=(d=/[^.]+$/.exec(d&&d.keys&&d.keys.IE_PROTO||\\\"\\\"))?\\\"Symbol(src)_1.\\\"+d:\\\"\\\",p=l.toString,h=c.hasOwnProperty,v=c.toString,y=RegExp(\\\"^\\\"+p.call(h).replace(/[\\\\\\\\^$.*+?()[\\\\]{}|]/g,\\\"\\\\\\\\$&\\\").replace(/hasOwnProperty|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\"),S=r.splice,x=M(t,\\\"Map\\\"),w=M(t,\\\"Set\\\"),$=M(Object,\\\"create\\\");function E(e){var t=-1,r=e?e.length:0;for(this.clear();++t\u003Cr;){var i=e[t];this.set(i[0],i[1])}}function P(e){var t=-1,r=e?e.length:0;for(this.clear();++t\u003Cr;){var i=e[t];this.set(i[0],i[1])}}function I(e){var t=-1,r=e?e.length:0;for(this.clear();++t\u003Cr;){var i=e[t];this.set(i[0],i[1])}}function j(e){var t=-1,r=e?e.length:0;for(this.__data__=new I;++t\u003Cr;)this.add(e[t])}function C(e,t){for(var r,i,n=e.length;n--;)if((r=e[n][0])===(i=t)||r!=r&&i!=i)return n;return-1}function T(e){var t,r;return F(e)&&(t=e,!(u&&u in t))&&((r=F(t=e)?v.call(t):\\\"\\\")==n||r==o||function(e){var t=!1;if(null!=e&&\\\"function\\\"!=typeof e.toString)try{t=!!(e+\\\"\\\")}catch(r){}return t}(e)?y:a).test(function(e){if(null!=e){try{return p.call(e)}catch(t){}try{return e+\\\"\\\"}catch(t){}}return\\\"\\\"}(e))}E.prototype.clear=function(){this.__data__=$?$(null):{}},E.prototype[\\\"delete\\\"]=function(e){return this.has(e)&&delete this.__data__[e]},E.prototype.get=function(e){var t,r=this.__data__;return $?(t=r[e])===i?void 0:t:h.call(r,e)?r[e]:void 0},E.prototype.has=function(e){var t=this.__data__;return $?void 0!==t[e]:h.call(t,e)},E.prototype.set=function(e,t){return this.__data__[e]=$&&void 0===t?i:t,this},P.prototype.clear=function(){this.__data__=[]},P.prototype[\\\"delete\\\"]=function(e){var t=this.__data__,r=C(t,e);return!(r\u003C0||(r==t.length-1?t.pop():S.call(t,r,1),0))},P.prototype.get=function(e){var t=this.__data__,r=C(t,e);return r\u003C0?void 0:t[r][1]},P.prototype.has=function(e){return-1\u003CC(this.__data__,e)},P.prototype.set=function(e,t){var r=this.__data__,i=C(r,e);return i\u003C0?r.push([e,t]):r[i][1]=t,this},I.prototype.clear=function(){this.__data__={hash:new E,map:new(x||P),string:new E}},I.prototype[\\\"delete\\\"]=function(e){return A(this,e)[\\\"delete\\\"](e)},I.prototype.get=function(e){return A(this,e).get(e)},I.prototype.has=function(e){return A(this,e).has(e)},I.prototype.set=function(e,t){return A(this,e).set(e,t),this},j.prototype.add=j.prototype.push=function(e){return this.__data__.set(e,i),this},j.prototype.has=function(e){return this.__data__.has(e)};var k=w&&1/b(new w([,-0]))[1]==1/0?function(e){return new w(e)}:function(){};function A(e,t){var r,i=e.__data__;return(\\\"string\\\"==(r=typeof(e=t))||\\\"number\\\"==r||\\\"symbol\\\"==r||\\\"boolean\\\"==r?\\\"__proto__\\\"!==e:null===e)?i[\\\"string\\\"==typeof t?\\\"string\\\":\\\"hash\\\"]:i.map}function M(e,t){t=t;var r=null==(e=e)?void 0:e[t];return T(r)?r:void 0}function F(e){var t=typeof e;return e&&(\\\"object\\\"==t||\\\"function\\\"==t)}e.exports=function(e){if(e&&e.length){var t=e,r=void 0,i=void 0,n=-1,o=g,a=t.length,s=!0,l=[],c=l;if(i)s=!1,o=_;else if(m\u003C=a){var d=r?null:k(t);if(d)return b(d);s=!1,o=f,c=new j}else c=r?[]:l;e:for(;++n\u003Ca;){var u=t[n],p=r?r(u):u,u=i||0!==u?u:0;if(s&&p==p){for(var h=c.length;h--;)if(c[h]===p)continue e;r&&c.push(p),l.push(u)}else o(c,p,i)||(c!==l&&c.push(p),l.push(u))}return l}return[]}}}),require_eventemitter3=__commonJS({\\\"node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js\\\"(e,t){init_esbuild_inject();var i=Object.prototype.hasOwnProperty,h=\\\"~\\\";function r(){}function s(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function n(e,t,r,i,n){if(\\\"function\\\"!=typeof r)throw new TypeError(\\\"The listener must be a function\\\");var o=new s(r,i||e,n),a=h?h+t:t;return e._events[a]?e._events[a].fn?e._events[a]=[e._events[a],o]:e._events[a].push(o):(e._events[a]=o,e._eventsCount++),e}function c(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function o(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(h=!1)),o.prototype.eventNames=function(){var e,t,r=[];if(0===this._eventsCount)return r;for(t in e=this._events)i.call(e,t)&&r.push(h?t.slice(1):t);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},o.prototype.listeners=function(e){var t=h?h+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,n=r.length,o=new Array(n);i\u003Cn;i++)o[i]=r[i].fn;return o},o.prototype.listenerCount=function(e){var t=h?h+e:e,t=this._events[t];return t?t.fn?1:t.length:0},o.prototype.emit=function(e,t,r,i,n,o){var a=h?h+e:e;if(!this._events[a])return!1;var s,l=this._events[a],c=arguments.length;if(l.fn){switch(l.once&&this.removeListener(e,l.fn,void 0,!0),c){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,t),!0;case 3:return l.fn.call(l.context,t,r),!0;case 4:return l.fn.call(l.context,t,r,i),!0;case 5:return l.fn.call(l.context,t,r,i,n),!0;case 6:return l.fn.call(l.context,t,r,i,n,o),!0}for(p=1,s=new Array(c-1);p\u003Cc;p++)s[p-1]=arguments[p];l.fn.apply(l.context,s)}else for(var d,u=l.length,p=0;p\u003Cu;p++)switch(l[p].once&&this.removeListener(e,l[p].fn,void 0,!0),c){case 1:l[p].fn.call(l[p].context);break;case 2:l[p].fn.call(l[p].context,t);break;case 3:l[p].fn.call(l[p].context,t,r);break;case 4:l[p].fn.call(l[p].context,t,r,i);break;default:if(!s)for(d=1,s=new Array(c-1);d\u003Cc;d++)s[d-1]=arguments[d];l[p].fn.apply(l[p].context,s)}return!0},o.prototype.on=function(e,t,r){return n(this,e,t,r,!1)},o.prototype.once=function(e,t,r){return n(this,e,t,r,!0)},o.prototype.removeListener=function(e,t,r,i){var n=h?h+e:e;if(this._events[n])if(t){var o=this._events[n];if(o.fn)o.fn!==t||i&&!o.once||r&&o.context!==r||c(this,n);else{for(var a=0,s=[],l=o.length;a\u003Cl;a++)(o[a].fn!==t||i&&!o[a].once||r&&o[a].context!==r)&&s.push(o[a]);s.length?this._events[n]=1===s.length?s[0]:s:c(this,n)}}else c(this,n);return this},o.prototype.removeAllListeners=function(e){var t;return e?(t=h?h+e:e,this._events[t]&&c(this,t)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=h,o.EventEmitter=o,void 0!==t&&(t.exports=o)}}),require_global=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/global.js\\\"(e,t){init_esbuild_inject();var r=function(e){return e&&e.Math===Math&&e};t.exports=r(\\\"object\\\"==typeof globalThis&&globalThis)||r(\\\"object\\\"==typeof window&&window)||r(\\\"object\\\"==typeof self&&self)||r(\\\"object\\\"==typeof global&&global)||function(){return this}()||e||Function(\\\"return this\\\")()}}),require_fails=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/fails.js\\\"(e,t){init_esbuild_inject(),t.exports=function(e){try{return!!e()}catch(t){return!0}}}}),require_descriptors=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/descriptors.js\\\"(e,t){init_esbuild_inject();var r=require_fails();t.exports=!r(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})}}),require_function_bind_native=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/function-bind-native.js\\\"(e,t){init_esbuild_inject();var r=require_fails();t.exports=!r(function(){var e=(function(){}).bind();return\\\"function\\\"!=typeof e||e.hasOwnProperty(\\\"prototype\\\")})}}),require_function_call=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/function-call.js\\\"(e,t){init_esbuild_inject();var r=require_function_bind_native(),i=Function.prototype.call;t.exports=r?i.bind(i):function(){return i.apply(i,arguments)}}}),require_object_property_is_enumerable=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/object-property-is-enumerable.js\\\"(e){init_esbuild_inject();var t={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,i=r&&!t.call({1:2},1);e.f=i?function(e){var t=r(this,e);return!!t&&t.enumerable}:t}}),require_create_property_descriptor=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/create-property-descriptor.js\\\"(e,t){init_esbuild_inject(),t.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}}}),require_function_uncurry_this=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/function-uncurry-this.js\\\"(e,t){init_esbuild_inject();var r=require_function_bind_native(),i=Function.prototype,n=i.call,i=r&&i.bind.bind(n,n);t.exports=r?i:function(e){return function(){return n.apply(e,arguments)}}}}),require_classof_raw=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/classof-raw.js\\\"(e,t){init_esbuild_inject();var r=require_function_uncurry_this(),i=r({}.toString),n=r(\\\"\\\".slice);t.exports=function(e){return n(i(e),8,-1)}}}),require_indexed_object=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/indexed-object.js\\\"(e,t){init_esbuild_inject();var r=require_function_uncurry_this(),i=require_fails(),n=require_classof_raw(),o=Object,a=r(\\\"\\\".split);t.exports=i(function(){return!o(\\\"z\\\").propertyIsEnumerable(0)})?function(e){return\\\"String\\\"===n(e)?a(e,\\\"\\\"):o(e)}:o}}),require_is_null_or_undefined=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/is-null-or-undefined.js\\\"(e,t){init_esbuild_inject(),t.exports=function(e){return null==e}}}),require_require_object_coercible=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/require-object-coercible.js\\\"(e,t){init_esbuild_inject();var r=require_is_null_or_undefined(),i=TypeError;t.exports=function(e){if(r(e))throw i(\\\"Can't call method on \\\"+e);return e}}}),require_to_indexed_object=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/to-indexed-object.js\\\"(e,t){init_esbuild_inject();var r=require_indexed_object(),i=require_require_object_coercible();t.exports=function(e){return r(i(e))}}}),require_document_all=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/document-all.js\\\"(e,t){init_esbuild_inject();var r=\\\"object\\\"==typeof document&&document.all;t.exports={all:r,IS_HTMLDDA:void 0===r&&void 0!==r}}}),require_is_callable=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/is-callable.js\\\"(e,t){init_esbuild_inject();var r=require_document_all(),i=r.all;t.exports=r.IS_HTMLDDA?function(e){return\\\"function\\\"==typeof e||e===i}:function(e){return\\\"function\\\"==typeof e}}}),require_is_object=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/is-object.js\\\"(e,t){init_esbuild_inject();var r=require_is_callable(),i=require_document_all(),n=i.all;t.exports=i.IS_HTMLDDA?function(e){return\\\"object\\\"==typeof e?null!==e:r(e)||e===n}:function(e){return\\\"object\\\"==typeof e?null!==e:r(e)}}}),require_get_built_in=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/get-built-in.js\\\"(e,t){init_esbuild_inject();var i=require_global(),n=require_is_callable();t.exports=function(e,t){return arguments.length\u003C2?(r=i[e],n(r)?r:void 0):i[e]&&i[e][t];var r}}}),require_object_is_prototype_of=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/object-is-prototype-of.js\\\"(e,t){init_esbuild_inject();var r=require_function_uncurry_this();t.exports=r({}.isPrototypeOf)}}),require_engine_user_agent=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/engine-user-agent.js\\\"(e,t){init_esbuild_inject(),t.exports=\\\"undefined\\\"!=typeof navigator&&String(navigator.userAgent)||\\\"\\\"}}),require_engine_v8_version=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/engine-v8-version.js\\\"(e,t){init_esbuild_inject();var r,i,n=require_global(),o=require_engine_user_agent(),a=n.process,n=n.Deno,a=a&&a.versions||n&&n.version,n=a&&a.v8;!(i=n?0\u003C(r=n.split(\\\".\\\"))[0]&&r[0]\u003C4?1:+(r[0]+r[1]):i)&&o&&(!(r=o.match(/Edge\\\\/(\\\\d+)/))||74\u003C=r[1])&&(r=o.match(/Chrome\\\\/(\\\\d+)/))&&(i=+r[1]),t.exports=i}}),require_symbol_constructor_detection=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/symbol-constructor-detection.js\\\"(e,t){init_esbuild_inject();var r=require_engine_v8_version(),i=require_fails(),n=require_global().String;t.exports=!!Object.getOwnPropertySymbols&&!i(function(){var e=Symbol(\\\"symbol detection\\\");return!n(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r\u003C41})}}),require_use_symbol_as_uid=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/use-symbol-as-uid.js\\\"(e,t){init_esbuild_inject();var r=require_symbol_constructor_detection();t.exports=r&&!Symbol.sham&&\\\"symbol\\\"==typeof Symbol.iterator}}),require_is_symbol=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/is-symbol.js\\\"(e,t){init_esbuild_inject();var r=require_get_built_in(),i=require_is_callable(),n=require_object_is_prototype_of(),o=require_use_symbol_as_uid(),a=Object;t.exports=o?function(e){return\\\"symbol\\\"==typeof e}:function(e){var t=r(\\\"Symbol\\\");return i(t)&&n(t.prototype,a(e))}}}),require_try_to_string=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/try-to-string.js\\\"(e,t){init_esbuild_inject();var r=String;t.exports=function(e){try{return r(e)}catch(t){return\\\"Object\\\"}}}}),require_a_callable=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/a-callable.js\\\"(e,t){init_esbuild_inject();var r=require_is_callable(),i=require_try_to_string(),n=TypeError;t.exports=function(e){if(r(e))return e;throw n(i(e)+\\\" is not a function\\\")}}}),require_get_method=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/get-method.js\\\"(e,t){init_esbuild_inject();var i=require_a_callable(),n=require_is_null_or_undefined();t.exports=function(e,t){var r=e[t];return n(r)?void 0:i(r)}}}),require_ordinary_to_primitive=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/ordinary-to-primitive.js\\\"(e,t){init_esbuild_inject();var n=require_function_call(),o=require_is_callable(),a=require_is_object(),s=TypeError;t.exports=function(e,t){var r,i;if(\\\"string\\\"===t&&o(r=e.toString)&&!a(i=n(r,e)))return i;if(o(r=e.valueOf)&&!a(i=n(r,e)))return i;if(\\\"string\\\"!==t&&o(r=e.toString)&&!a(i=n(r,e)))return i;throw s(\\\"Can't convert object to primitive value\\\")}}}),require_is_pure=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/is-pure.js\\\"(e,t){init_esbuild_inject(),t.exports=!1}}),require_define_global_property=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/define-global-property.js\\\"(e,t){init_esbuild_inject();var i=require_global(),n=Object.defineProperty;t.exports=function(e,t){try{n(i,e,{value:t,configurable:!0,writable:!0})}catch(r){i[e]=t}return t}}}),require_shared_store=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/shared-store.js\\\"(e,t){init_esbuild_inject();var r=require_global(),i=require_define_global_property(),n=\\\"__core-js_shared__\\\",r=r[n]||i(n,{});t.exports=r}}),require_shared=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/shared.js\\\"(e,t){init_esbuild_inject();var r=require_is_pure(),i=require_shared_store();(t.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})(\\\"versions\\\",[]).push({version:\\\"3.32.2\\\",mode:r?\\\"pure\\\":\\\"global\\\",copyright:\\\"© 2014-2023 Denis Pushkarev (zloirock.ru)\\\",license:\\\"https://github.com/zloirock/core-js/blob/v3.32.2/LICENSE\\\",source:\\\"https://github.com/zloirock/core-js\\\"})}}),require_to_object=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/to-object.js\\\"(e,t){init_esbuild_inject();var r=require_require_object_coercible(),i=Object;t.exports=function(e){return i(r(e))}}}),require_has_own_property=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/has-own-property.js\\\"(e,t){init_esbuild_inject();var r=require_function_uncurry_this(),i=require_to_object(),n=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(e,t){return n(i(e),t)}}}),require_uid=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/uid.js\\\"(e,t){init_esbuild_inject();var r=require_function_uncurry_this(),i=0,n=Math.random(),o=r(1..toString);t.exports=function(e){return\\\"Symbol(\\\"+(void 0===e?\\\"\\\":e)+\\\")_\\\"+o(++i+n,36)}}}),require_well_known_symbol=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/well-known-symbol.js\\\"(e,t){init_esbuild_inject();var r=require_global(),i=require_shared(),n=require_has_own_property(),o=require_uid(),a=require_symbol_constructor_detection(),s=require_use_symbol_as_uid(),l=r.Symbol,c=i(\\\"wks\\\"),d=s?l[\\\"for\\\"]||l:l&&l.withoutSetter||o;t.exports=function(e){return n(c,e)||(c[e]=a&&n(l,e)?l[e]:d(\\\"Symbol.\\\"+e)),c[e]}}}),require_to_primitive=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/to-primitive.js\\\"(e,t){init_esbuild_inject();var i=require_function_call(),n=require_is_object(),o=require_is_symbol(),a=require_get_method(),s=require_ordinary_to_primitive(),r=require_well_known_symbol(),l=TypeError,c=r(\\\"toPrimitive\\\");t.exports=function(e,t){if(!n(e)||o(e))return e;var r=a(e,c);if(r){if(r=i(r,e,t=void 0===t?\\\"default\\\":t),!n(r)||o(r))return r;throw l(\\\"Can't convert object to primitive value\\\")}return s(e,t=void 0===t?\\\"number\\\":t)}}}),require_to_property_key=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/to-property-key.js\\\"(e,t){init_esbuild_inject();var r=require_to_primitive(),i=require_is_symbol();t.exports=function(e){var t=r(e,\\\"string\\\");return i(t)?t:t+\\\"\\\"}}}),require_document_create_element=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/document-create-element.js\\\"(e,t){init_esbuild_inject();var r=require_global(),i=require_is_object(),n=r.document,o=i(n)&&i(n.createElement);t.exports=function(e){return o?n.createElement(e):{}}}}),require_ie8_dom_define=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/ie8-dom-define.js\\\"(e,t){init_esbuild_inject();var r=require_descriptors(),i=require_fails(),n=require_document_create_element();t.exports=!r&&!i(function(){return 7!==Object.defineProperty(n(\\\"div\\\"),\\\"a\\\",{get:function(){return 7}}).a})}}),require_object_get_own_property_descriptor=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/object-get-own-property-descriptor.js\\\"(e){init_esbuild_inject();var t=require_descriptors(),i=require_function_call(),n=require_object_property_is_enumerable(),o=require_create_property_descriptor(),a=require_to_indexed_object(),s=require_to_property_key(),l=require_has_own_property(),c=require_ie8_dom_define(),d=Object.getOwnPropertyDescriptor;e.f=t?d:function(e,t){if(e=a(e),t=s(t),c)try{return d(e,t)}catch(r){}if(l(e,t))return o(!i(n.f,e,t),e[t])}}}),require_v8_prototype_define_bug=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/v8-prototype-define-bug.js\\\"(e,t){init_esbuild_inject();var r=require_descriptors(),i=require_fails();t.exports=r&&i(function(){return 42!==Object.defineProperty(function(){},\\\"prototype\\\",{value:42,writable:!1}).prototype})}}),require_an_object=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/an-object.js\\\"(e,t){init_esbuild_inject();var r=require_is_object(),i=String,n=TypeError;t.exports=function(e){if(r(e))return e;throw n(i(e)+\\\" is not an object\\\")}}}),require_object_define_property=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/object-define-property.js\\\"(e){init_esbuild_inject();var t=require_descriptors(),n=require_ie8_dom_define(),r=require_v8_prototype_define_bug(),o=require_an_object(),a=require_to_property_key(),s=TypeError,l=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=\\\"enumerable\\\",u=\\\"configurable\\\",p=\\\"writable\\\";e.f=t?r?function(e,t,r){var i;return o(e),t=a(t),o(r),\\\"function\\\"==typeof e&&\\\"prototype\\\"===t&&\\\"value\\\"in r&&p in r&&!r[p]&&(i=c(e,t))&&i[p]&&(e[t]=r.value,r={configurable:(u in r?r:i)[u],enumerable:(d in r?r:i)[d],writable:!1}),l(e,t,r)}:l:function(e,t,r){if(o(e),t=a(t),o(r),n)try{return l(e,t,r)}catch(i){}if(\\\"get\\\"in r||\\\"set\\\"in r)throw s(\\\"Accessors not supported\\\");return\\\"value\\\"in r&&(e[t]=r.value),e}}}),require_create_non_enumerable_property=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/create-non-enumerable-property.js\\\"(e,t){init_esbuild_inject();var r=require_descriptors(),i=require_object_define_property(),n=require_create_property_descriptor();t.exports=r?function(e,t,r){return i.f(e,t,n(1,r))}:function(e,t,r){return e[t]=r,e}}}),require_function_name=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/function-name.js\\\"(e,t){init_esbuild_inject();var r=require_descriptors(),i=require_has_own_property(),n=Function.prototype,o=r&&Object.getOwnPropertyDescriptor,i=i(n,\\\"name\\\"),a=i&&\\\"something\\\"===(function(){}).name,r=i&&(!r||o(n,\\\"name\\\").configurable);t.exports={EXISTS:i,PROPER:a,CONFIGURABLE:r}}}),require_inspect_source=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/inspect-source.js\\\"(e,t){init_esbuild_inject();var r=require_function_uncurry_this(),i=require_is_callable(),n=require_shared_store(),o=r(Function.toString);i(n.inspectSource)||(n.inspectSource=function(e){return o(e)}),t.exports=n.inspectSource}}),require_weak_map_basic_detection=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/weak-map-basic-detection.js\\\"(e,t){init_esbuild_inject();var r=require_global(),i=require_is_callable(),r=r.WeakMap;t.exports=i(r)&&/native code/.test(String(r))}}),require_shared_key=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/shared-key.js\\\"(e,t){init_esbuild_inject();var r=require_shared(),i=require_uid(),n=r(\\\"keys\\\");t.exports=function(e){return n[e]||(n[e]=i(e))}}}),require_hidden_keys=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/hidden-keys.js\\\"(e,t){init_esbuild_inject(),t.exports={}}}),require_internal_state=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/internal-state.js\\\"(e,t){init_esbuild_inject();var r,i,n,o,a=require_weak_map_basic_detection(),s=require_global(),l=require_is_object(),c=require_create_non_enumerable_property(),d=require_has_own_property(),u=require_shared_store(),p=require_shared_key(),h=require_hidden_keys(),m=\\\"Object already initialized\\\",g=s.TypeError,s=s.WeakMap,_=a||u.state?((n=u.state||(u.state=new s)).get=n.get,n.has=n.has,n.set=n.set,r=function(e,t){if(n.has(e))throw g(m);return t.facade=e,n.set(e,t),t},i=function(e){return n.get(e)||{}},function(e){return n.has(e)}):(h[o=p(\\\"state\\\")]=!0,r=function(e,t){if(d(e,o))throw g(m);return t.facade=e,c(e,o,t),t},i=function(e){return d(e,o)?e[o]:{}},function(e){return d(e,o)});t.exports={set:r,get:i,has:_,enforce:function(e){return _(e)?i(e):r(e,{})},getterFor:function(r){return function(e){var t;if(l(e)&&(t=i(e)).type===r)return t;throw g(\\\"Incompatible receiver, \\\"+r+\\\" required\\\")}}}}}),require_make_built_in=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/make-built-in.js\\\"(e,t){init_esbuild_inject();var r=require_function_uncurry_this(),i=require_fails(),n=require_is_callable(),o=require_has_own_property(),a=require_descriptors(),s=require_function_name().CONFIGURABLE,l=require_inspect_source(),c=require_internal_state(),d=c.enforce,u=c.get,p=String,h=Object.defineProperty,m=r(\\\"\\\".slice),g=r(\\\"\\\".replace),_=r([].join),f=a&&!i(function(){return 8!==h(function(){},\\\"length\\\",{value:8}).length}),b=String(String).split(\\\"String\\\"),c=t.exports=function(e,t,r){\\\"Symbol(\\\"===m(p(t),0,7)&&(t=\\\"[\\\"+g(p(t),/^Symbol\\\\(([^)]*)\\\\)/,\\\"$1\\\")+\\\"]\\\"),r&&r.getter&&(t=\\\"get \\\"+t),r&&r.setter&&(t=\\\"set \\\"+t),(!o(e,\\\"name\\\")||s&&e.name!==t)&&(a?h(e,\\\"name\\\",{value:t,configurable:!0}):e.name=t),f&&r&&o(r,\\\"arity\\\")&&e.length!==r.arity&&h(e,\\\"length\\\",{value:r.arity});try{r&&o(r,\\\"constructor\\\")&&r.constructor?a&&h(e,\\\"prototype\\\",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(n){}var i=d(e);return o(i,\\\"source\\\")||(i.source=_(b,\\\"string\\\"==typeof t?t:\\\"\\\")),e};Function.prototype.toString=c(function(){return n(this)&&u(this).source||l(this)},\\\"toString\\\")}}),require_define_built_in=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/define-built-in.js\\\"(e,t){init_esbuild_inject();var s=require_is_callable(),l=require_object_define_property(),c=require_make_built_in(),d=require_define_global_property();t.exports=function(e,t,r,i){var n=(i=i||{}).enumerable,o=void 0!==i.name?i.name:t;if(s(r)&&c(r,o,i),i.global)n?e[t]=r:d(t,r);else{try{i.unsafe?e[t]&&(n=!0):delete e[t]}catch(a){}n?e[t]=r:l.f(e,t,{value:r,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return e}}}),require_math_trunc=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/math-trunc.js\\\"(e,t){init_esbuild_inject();var r=Math.ceil,i=Math.floor;t.exports=Math.trunc||function(e){var t=+e;return(0\u003Ct?i:r)(t)}}}),require_to_integer_or_infinity=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/to-integer-or-infinity.js\\\"(e,t){init_esbuild_inject();var r=require_math_trunc();t.exports=function(e){var t=+e;return t!=t||0==t?0:r(t)}}}),require_to_absolute_index=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/to-absolute-index.js\\\"(e,t){init_esbuild_inject();var i=require_to_integer_or_infinity(),n=Math.max,o=Math.min;t.exports=function(e,t){var r=i(e);return r\u003C0?n(r+t,0):o(r,t)}}}),require_to_length=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/to-length.js\\\"(e,t){init_esbuild_inject();var r=require_to_integer_or_infinity(),i=Math.min;t.exports=function(e){return 0\u003Ce?i(r(e),9007199254740991):0}}}),require_length_of_array_like=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/length-of-array-like.js\\\"(e,t){init_esbuild_inject();var r=require_to_length();t.exports=function(e){return r(e.length)}}}),require_array_includes=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/array-includes.js\\\"(e,t){init_esbuild_inject();var l=require_to_indexed_object(),c=require_to_absolute_index(),d=require_length_of_array_like(),r=function(s){return function(e,t,r){var i,n=l(e),o=d(n),a=c(r,o);if(s&&t!=t){for(;a\u003Co;)if((i=n[a++])!=i)return!0}else for(;a\u003Co;a++)if((s||a in n)&&n[a]===t)return s||a||0;return!s&&-1}};t.exports={includes:r(!0),indexOf:r(!1)}}}),require_object_keys_internal=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/object-keys-internal.js\\\"(e,t){init_esbuild_inject();var r=require_function_uncurry_this(),a=require_has_own_property(),s=require_to_indexed_object(),l=require_array_includes().indexOf,c=require_hidden_keys(),d=r([].push);t.exports=function(e,t){var r,i=s(e),n=0,o=[];for(r in i)!a(c,r)&&a(i,r)&&d(o,r);for(;t.length>n;)!a(i,r=t[n++])||~l(o,r)||d(o,r);return o}}}),require_enum_bug_keys=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/enum-bug-keys.js\\\"(e,t){init_esbuild_inject(),t.exports=[\\\"constructor\\\",\\\"hasOwnProperty\\\",\\\"isPrototypeOf\\\",\\\"propertyIsEnumerable\\\",\\\"toLocaleString\\\",\\\"toString\\\",\\\"valueOf\\\"]}}),require_object_get_own_property_names=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/object-get-own-property-names.js\\\"(e){init_esbuild_inject();var t=require_object_keys_internal(),r=require_enum_bug_keys().concat(\\\"length\\\",\\\"prototype\\\");e.f=Object.getOwnPropertyNames||function(e){return t(e,r)}}}),require_object_get_own_property_symbols=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/object-get-own-property-symbols.js\\\"(e){init_esbuild_inject(),e.f=Object.getOwnPropertySymbols}}),require_own_keys=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/own-keys.js\\\"(e,t){init_esbuild_inject();var r=require_get_built_in(),i=require_function_uncurry_this(),n=require_object_get_own_property_names(),o=require_object_get_own_property_symbols(),a=require_an_object(),s=i([].concat);t.exports=r(\\\"Reflect\\\",\\\"ownKeys\\\")||function(e){var t=n.f(a(e)),r=o.f;return r?s(t,r(e)):t}}}),require_copy_constructor_properties=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/copy-constructor-properties.js\\\"(e,t){init_esbuild_inject();var l=require_has_own_property(),c=require_own_keys(),d=require_object_get_own_property_descriptor(),u=require_object_define_property();t.exports=function(e,t,r){for(var i=c(t),n=u.f,o=d.f,a=0;a\u003Ci.length;a++){var s=i[a];l(e,s)||r&&l(r,s)||n(e,s,o(t,s))}}}}),require_is_forced=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/is-forced.js\\\"(e,t){init_esbuild_inject();var i=require_fails(),n=require_is_callable(),r=/#|\\\\.prototype\\\\./,o=function(e,t){var r=s[a(e)];return r===c||r!==l&&(n(t)?i(t):!!t)},a=o.normalize=function(e){return String(e).replace(r,\\\".\\\").toLowerCase()},s=o.data={},l=o.NATIVE=\\\"N\\\",c=o.POLYFILL=\\\"P\\\";t.exports=o}}),require_export=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/export.js\\\"(e,t){init_esbuild_inject();var c=require_global(),d=require_object_get_own_property_descriptor().f,u=require_create_non_enumerable_property(),p=require_define_built_in(),h=require_define_global_property(),m=require_copy_constructor_properties(),g=require_is_forced();t.exports=function(e,t){var r,i,n,o=e.target,a=e.global,s=e.stat,l=a?c:s?c[o]||h(o,{}):(c[o]||{}).prototype;if(l)for(r in t){if(i=t[r],n=e.dontCallGetSet?(n=d(l,r))&&n.value:l[r],!g(a?r:o+(s?\\\".\\\":\\\"#\\\")+r,e.forced)&&void 0!==n){if(typeof i==typeof n)continue;m(i,n)}(e.sham||n&&n.sham)&&u(i,\\\"sham\\\",!0),p(l,r,i,e)}}}}),require_object_keys=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/object-keys.js\\\"(e,t){init_esbuild_inject();var r=require_object_keys_internal(),i=require_enum_bug_keys();t.exports=Object.keys||function(e){return r(e,i)}}}),require_object_define_properties=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/object-define-properties.js\\\"(e){init_esbuild_inject();var t=require_descriptors(),r=require_v8_prototype_define_bug(),s=require_object_define_property(),l=require_an_object(),c=require_to_indexed_object(),d=require_object_keys();e.f=t&&!r?Object.defineProperties:function(e,t){l(e);for(var r,i=c(t),n=d(t),o=n.length,a=0;a\u003Co;)s.f(e,r=n[a++],i[r]);return e}}}),require_html=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/html.js\\\"(e,t){init_esbuild_inject();var r=require_get_built_in();t.exports=r(\\\"document\\\",\\\"documentElement\\\")}}),require_object_create=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/object-create.js\\\"(e,t){init_esbuild_inject();var n,i=require_an_object(),o=require_object_define_properties(),a=require_enum_bug_keys(),r=require_hidden_keys(),s=require_html(),l=require_document_create_element(),c=require_shared_key(),d=\\\"prototype\\\",u=\\\"script\\\",p=c(\\\"IE_PROTO\\\"),h=function(){},m=function(e){return\\\"\u003C\\\"+u+\\\">\\\"+e+\\\"\u003C/\\\"+u+\\\">\\\"},g=function(e){e.write(m(\\\"\\\")),e.close();var t=e.parentWindow.Object;return e=null,t},_=function(){try{n=new ActiveXObject(\\\"htmlfile\\\")}catch(i){}_=\\\"undefined\\\"==typeof document||document.domain&&n?g(n):(e=l(\\\"iframe\\\"),t=\\\"java\\\"+u+\\\":\\\",e.style.display=\\\"none\\\",s.appendChild(e),e.src=String(t),(t=e.contentWindow.document).open(),t.write(m(\\\"document.F=Object\\\")),t.close(),t.F);for(var e,t,r=a.length;r--;)delete _[d][a[r]];return _()};r[p]=!0,t.exports=Object.create||function(e,t){var r;return null!==e?(h[d]=i(e),r=new h,h[d]=null,r[p]=e):r=_(),void 0===t?r:o.f(r,t)}}}),require_add_to_unscopables=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/add-to-unscopables.js\\\"(e,t){init_esbuild_inject();var r=require_well_known_symbol(),i=require_object_create(),n=require_object_define_property().f,o=r(\\\"unscopables\\\"),a=Array.prototype;void 0===a[o]&&n(a,o,{configurable:!0,value:i(null)}),t.exports=function(e){a[o][e]=!0}}}),require_es_array_at=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/modules/es.array.at.js\\\"(){init_esbuild_inject();var e=require_export(),n=require_to_object(),o=require_length_of_array_like(),a=require_to_integer_or_infinity(),t=require_add_to_unscopables();e({target:\\\"Array\\\",proto:!0},{at:function(e){var t=n(this),r=o(t),i=a(e),i=0\u003C=i?i:r+i;return i\u003C0||r\u003C=i?void 0:t[i]}}),t(\\\"at\\\")}}),require_entry_unbind=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/entry-unbind.js\\\"(e,t){init_esbuild_inject();var r=require_global(),i=require_function_uncurry_this();t.exports=function(e,t){return i(r[e].prototype[t])}}}),require_at=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/es/array/at.js\\\"(e,t){init_esbuild_inject(),require_es_array_at();var r=require_entry_unbind();t.exports=r(\\\"Array\\\",\\\"at\\\")}}),require_at2=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/stable/array/at.js\\\"(e,t){init_esbuild_inject();var r=require_at();t.exports=r}}),require_is_array=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/is-array.js\\\"(e,t){init_esbuild_inject();var r=require_classof_raw();t.exports=Array.isArray||function(e){return\\\"Array\\\"===r(e)}}}),require_does_not_exceed_safe_integer=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/does-not-exceed-safe-integer.js\\\"(e,t){init_esbuild_inject();var r=TypeError;t.exports=function(e){if(9007199254740991\u003Ce)throw r(\\\"Maximum allowed index exceeded\\\");return e}}}),require_function_uncurry_this_clause=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/function-uncurry-this-clause.js\\\"(e,t){init_esbuild_inject();var r=require_classof_raw(),i=require_function_uncurry_this();t.exports=function(e){if(\\\"Function\\\"===r(e))return i(e)}}}),require_function_bind_context=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/function-bind-context.js\\\"(e,t){init_esbuild_inject();var r=require_function_uncurry_this_clause(),i=require_a_callable(),n=require_function_bind_native(),o=r(r.bind);t.exports=function(e,t){return i(e),void 0===t?e:n?o(e,t):function(){return e.apply(t,arguments)}}}}),require_flatten_into_array=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/flatten-into-array.js\\\"(e,t){init_esbuild_inject();var h=require_is_array(),m=require_length_of_array_like(),g=require_does_not_exceed_safe_integer(),_=require_function_bind_context(),f=function(e,t,r,i,n,o,a,s){for(var l,c,d=n,u=0,p=!!a&&_(a,s);u\u003Ci;)u in r&&(l=p?p(r[u],u,t):r[u],0\u003Co&&h(l)?(c=m(l),d=f(e,t,l,c,d,o-1)-1):(g(d+1),e[d]=l),d++),u++;return d};t.exports=f}}),require_to_string_tag_support=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/to-string-tag-support.js\\\"(e,t){init_esbuild_inject();var r={};r[require_well_known_symbol()(\\\"toStringTag\\\")]=\\\"z\\\",t.exports=\\\"[object z]\\\"===String(r)}}),require_classof=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/classof.js\\\"(e,t){init_esbuild_inject();var r=require_to_string_tag_support(),i=require_is_callable(),n=require_classof_raw(),o=require_well_known_symbol()(\\\"toStringTag\\\"),a=Object,s=\\\"Arguments\\\"===n(function(){return arguments}());t.exports=r?n:function(e){var t,r;return void 0===e?\\\"Undefined\\\":null===e?\\\"Null\\\":\\\"string\\\"==typeof(r=function(e,t){try{return e[t]}catch(r){}}(t=a(e),o))?r:s?n(t):\\\"Object\\\"===(r=n(t))&&i(t.callee)?\\\"Arguments\\\":r}}}),require_is_constructor=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/is-constructor.js\\\"(e,t){init_esbuild_inject();var r=require_function_uncurry_this(),i=require_fails(),n=require_is_callable(),o=require_classof(),a=require_get_built_in(),s=require_inspect_source(),l=function(){},c=[],d=a(\\\"Reflect\\\",\\\"construct\\\"),u=/^\\\\s*(?:class|function)\\\\b/,p=r(u.exec),h=!u.exec(l),m=function(e){if(!n(e))return!1;try{return d(l,c,e),!0}catch(t){return!1}},a=function(e){if(!n(e))return!1;switch(o(e)){case\\\"AsyncFunction\\\":case\\\"GeneratorFunction\\\":case\\\"AsyncGeneratorFunction\\\":return!1}try{return h||!!p(u,s(e))}catch(t){return!0}};a.sham=!0,t.exports=!d||i(function(){var e;return m(m.call)||!m(Object)||!m(function(){e=!0})||e})?a:m}}),require_array_species_constructor=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/array-species-constructor.js\\\"(e,t){init_esbuild_inject();var r=require_is_array(),i=require_is_constructor(),n=require_is_object(),o=require_well_known_symbol()(\\\"species\\\"),a=Array;t.exports=function(e){var t;return void 0===(t=r(e)&&(t=e.constructor,i(t)&&(t===a||r(t.prototype))||n(t)&&null===(t=t[o]))?void 0:t)?a:t}}}),require_array_species_create=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/array-species-create.js\\\"(e,t){init_esbuild_inject();var r=require_array_species_constructor();t.exports=function(e,t){return new(r(e))(0===t?0:t)}}}),require_es_array_flat=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/modules/es.array.flat.js\\\"(){init_esbuild_inject();var e=require_export(),n=require_flatten_into_array(),o=require_to_object(),a=require_length_of_array_like(),s=require_to_integer_or_infinity(),l=require_array_species_create();e({target:\\\"Array\\\",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=o(this),r=a(t),i=l(t,0);return i.length=n(i,t,t,r,0,void 0===e?1:s(e)),i}})}}),require_es_array_unscopables_flat=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/modules/es.array.unscopables.flat.js\\\"(){init_esbuild_inject(),require_add_to_unscopables()(\\\"flat\\\")}}),require_flat=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/es/array/flat.js\\\"(e,t){init_esbuild_inject(),require_es_array_flat(),require_es_array_unscopables_flat();var r=require_entry_unbind();t.exports=r(\\\"Array\\\",\\\"flat\\\")}}),require_flat2=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/stable/array/flat.js\\\"(e,t){init_esbuild_inject();var r=require_flat();t.exports=r}}),require_es_array_flat_map=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/modules/es.array.flat-map.js\\\"(){init_esbuild_inject();var e=require_export(),n=require_flatten_into_array(),o=require_a_callable(),a=require_to_object(),s=require_length_of_array_like(),l=require_array_species_create();e({target:\\\"Array\\\",proto:!0},{flatMap:function(e){var t,r=a(this),i=s(r);return o(e),(t=l(r,0)).length=n(t,r,r,i,0,1,e,1\u003Carguments.length?arguments[1]:void 0),t}})}}),require_es_array_unscopables_flat_map=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/modules/es.array.unscopables.flat-map.js\\\"(){init_esbuild_inject(),require_add_to_unscopables()(\\\"flatMap\\\")}}),require_flat_map=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/es/array/flat-map.js\\\"(e,t){init_esbuild_inject(),require_es_array_flat_map(),require_es_array_unscopables_flat_map();var r=require_entry_unbind();t.exports=r(\\\"Array\\\",\\\"flatMap\\\")}}),require_flat_map2=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/stable/array/flat-map.js\\\"(e,t){init_esbuild_inject();var r=require_flat_map();t.exports=r}}),require_to_string=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/to-string.js\\\"(e,t){init_esbuild_inject();var r=require_classof(),i=String;t.exports=function(e){if(\\\"Symbol\\\"===r(e))throw TypeError(\\\"Cannot convert a Symbol value to a string\\\");return i(e)}}}),require_es_string_at_alternative=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/modules/es.string.at-alternative.js\\\"(){init_esbuild_inject();var e=require_export(),t=require_function_uncurry_this(),n=require_require_object_coercible(),o=require_to_integer_or_infinity(),a=require_to_string(),r=require_fails(),s=t(\\\"\\\".charAt);e({target:\\\"String\\\",proto:!0,forced:r(function(){return\\\"\\\\ud842\\\"!==\\\"𠮷\\\".at(-2)})},{at:function(e){var t=a(n(this)),r=t.length,i=o(e),i=0\u003C=i?i:r+i;return i\u003C0||r\u003C=i?void 0:s(t,i)}})}}),require_at3=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/es/string/at.js\\\"(e,t){init_esbuild_inject(),require_es_string_at_alternative();var r=require_entry_unbind();t.exports=r(\\\"String\\\",\\\"at\\\")}}),require_at4=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/stable/string/at.js\\\"(e,t){init_esbuild_inject();var r=require_at3();t.exports=r}}),require_regexp_flags=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/regexp-flags.js\\\"(e,t){init_esbuild_inject();var r=require_an_object();t.exports=function(){var e=r(this),t=\\\"\\\";return e.hasIndices&&(t+=\\\"d\\\"),e.global&&(t+=\\\"g\\\"),e.ignoreCase&&(t+=\\\"i\\\"),e.multiline&&(t+=\\\"m\\\"),e.dotAll&&(t+=\\\"s\\\"),e.unicode&&(t+=\\\"u\\\"),e.unicodeSets&&(t+=\\\"v\\\"),e.sticky&&(t+=\\\"y\\\"),t}}}),require_regexp_sticky_helpers=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/regexp-sticky-helpers.js\\\"(e,t){init_esbuild_inject();var r=require_fails(),i=require_global().RegExp,n=r(function(){var e=i(\\\"a\\\",\\\"y\\\");return e.lastIndex=2,null!==e.exec(\\\"abcd\\\")}),o=n||r(function(){return!i(\\\"a\\\",\\\"y\\\").sticky}),r=n||r(function(){var e=i(\\\"^r\\\",\\\"gy\\\");return e.lastIndex=2,null!==e.exec(\\\"str\\\")});t.exports={BROKEN_CARET:r,MISSED_STICKY:o,UNSUPPORTED_Y:n}}}),require_regexp_unsupported_dot_all=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/regexp-unsupported-dot-all.js\\\"(e,t){init_esbuild_inject();var r=require_fails(),i=require_global().RegExp;t.exports=r(function(){var e=i(\\\".\\\",\\\"s\\\");return!(e.dotAll&&e.exec(\\\"\\\\n\\\")&&\\\"s\\\"===e.flags)})}}),require_regexp_unsupported_ncg=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/regexp-unsupported-ncg.js\\\"(e,t){init_esbuild_inject();var r=require_fails(),i=require_global().RegExp;t.exports=r(function(){var e=i(\\\"(?\u003Ca>b)\\\",\\\"g\\\");return\\\"b\\\"!==e.exec(\\\"b\\\").groups.a||\\\"bc\\\"!==\\\"b\\\".replace(e,\\\"$\u003Ca>c\\\")})}}),require_regexp_exec=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/regexp-exec.js\\\"(e,t){init_esbuild_inject();var g=require_function_call(),r=require_function_uncurry_this(),_=require_to_string(),f=require_regexp_flags(),i=require_regexp_sticky_helpers(),n=require_shared(),b=require_object_create(),v=require_internal_state().get,o=require_regexp_unsupported_dot_all(),a=require_regexp_unsupported_ncg(),y=n(\\\"native-string-replace\\\",String.prototype.replace),S=RegExp.prototype.exec,x=S,w=r(\\\"\\\".charAt),$=r(\\\"\\\".indexOf),E=r(\\\"\\\".replace),P=r(\\\"\\\".slice),I=(n=/b*/g,g(S,r=/a/,\\\"a\\\"),g(S,n,\\\"a\\\"),0!==r.lastIndex||0!==n.lastIndex),j=i.BROKEN_CARET,C=void 0!==/()??/.exec(\\\"\\\")[1];(I||C||j||o||a)&&(x=function(e){var t,r,i,n,o,a,s=this,l=v(s),c=_(e),d=l.raw;if(d)return d.lastIndex=s.lastIndex,p=g(x,d,c),s.lastIndex=d.lastIndex,p;var u=l.groups,d=j&&s.sticky,p=g(f,s),l=s.source,h=0,m=c;if(d&&(p=E(p,\\\"y\\\",\\\"\\\"),-1===$(p,\\\"g\\\")&&(p+=\\\"g\\\"),m=P(c,s.lastIndex),0\u003Cs.lastIndex&&(!s.multiline||s.multiline&&\\\"\\\\n\\\"!==w(c,s.lastIndex-1))&&(l=\\\"(?: \\\"+l+\\\")\\\",m=\\\" \\\"+m,h++),t=new RegExp(\\\"^(?:\\\"+l+\\\")\\\",p)),C&&(t=new RegExp(\\\"^\\\"+l+\\\"$(?!\\\\\\\\s)\\\",p)),I&&(r=s.lastIndex),i=g(S,d?t:s,m),d?i?(i.input=P(i.input,h),i[0]=P(i[0],h),i.index=s.lastIndex,s.lastIndex+=i[0].length):s.lastIndex=0:I&&i&&(s.lastIndex=s.global?i.index+i[0].length:r),C&&i&&1\u003Ci.length&&g(y,i[0],t,function(){for(n=1;n\u003Carguments.length-2;n++)void 0===arguments[n]&&(i[n]=void 0)}),i&&u)for(i.groups=o=b(null),n=0;n\u003Cu.length;n++)o[(a=u[n])[0]]=i[a[1]];return i}),t.exports=x}}),require_es_regexp_exec=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/modules/es.regexp.exec.js\\\"(){init_esbuild_inject();var e=require_export(),t=require_regexp_exec();e({target:\\\"RegExp\\\",proto:!0,forced:/./.exec!==t},{exec:t})}}),require_function_apply=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/function-apply.js\\\"(e,t){init_esbuild_inject();var r=require_function_bind_native(),i=Function.prototype,n=i.apply,o=i.call;t.exports=\\\"object\\\"==typeof Reflect&&Reflect.apply||(r?o.bind(n):function(){return o.apply(n,arguments)})}}),require_fix_regexp_well_known_symbol_logic=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js\\\"(e,t){init_esbuild_inject(),require_es_regexp_exec();var c=require_function_uncurry_this_clause(),a=require_define_built_in(),d=require_regexp_exec(),u=require_fails(),p=require_well_known_symbol(),h=require_create_non_enumerable_property(),m=p(\\\"species\\\"),g=RegExp.prototype;t.exports=function(r,e,t,i){var s,n=p(r),l=!u(function(){var e={};return e[n]=function(){return 7},7!==\\\"\\\"[r](e)}),o=l&&!u(function(){var e=!1,t=/a/;return\\\"split\\\"===r&&((t={constructor:{}}).constructor[m]=function(){return t},t.flags=\\\"\\\",t[n]=/./[n]),t.exec=function(){return e=!0,null},t[n](\\\"\\\"),!e});l&&o&&!t||(s=c(/./[n]),o=e(n,\\\"\\\"[r],function(e,t,r,i,n){var o=c(e),a=t.exec;return a===d||a===g.exec?l&&!n?{done:!0,value:s(t,r,i)}:{done:!0,value:o(r,t,i)}:{done:!1}}),a(String.prototype,r,o[0]),a(g,n,o[1])),i&&h(g[n],\\\"sham\\\",!0)}}}),require_string_multibyte=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/string-multibyte.js\\\"(e,t){init_esbuild_inject();var r=require_function_uncurry_this(),s=require_to_integer_or_infinity(),l=require_to_string(),c=require_require_object_coercible(),d=r(\\\"\\\".charAt),u=r(\\\"\\\".charCodeAt),p=r(\\\"\\\".slice),r=function(a){return function(e,t){var r,i=l(c(e)),n=s(t),o=i.length;return n\u003C0||o\u003C=n?a?\\\"\\\":void 0:(r=u(i,n))\u003C55296||56319\u003Cr||n+1===o||(o=u(i,n+1))\u003C56320||57343\u003Co?a?d(i,n):r:a?p(i,n,n+2):o-56320+(r-55296\u003C\u003C10)+65536}};t.exports={codeAt:r(!1),charAt:r(!0)}}}),require_advance_string_index=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/advance-string-index.js\\\"(e,t){init_esbuild_inject();var i=require_string_multibyte().charAt;t.exports=function(e,t,r){return t+(r?i(e,t).length:1)}}}),require_get_substitution=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/get-substitution.js\\\"(e,t){init_esbuild_inject();var r=require_function_uncurry_this(),i=require_to_object(),p=Math.floor,h=r(\\\"\\\".charAt),n=r(\\\"\\\".replace),m=r(\\\"\\\".slice),g=/\\\\$([$&'`]|\\\\d{1,2}|\u003C[^>]*>)/g,_=/\\\\$([$&'`]|\\\\d{1,2})/g;t.exports=function(o,a,s,l,c,e){var d=s+o.length,u=l.length,t=_;return void 0!==c&&(c=i(c),t=g),n(e,t,function(e,t){var r;switch(h(t,0)){case\\\"$\\\":return\\\"$\\\";case\\\"&\\\":return o;case\\\"`\\\":return m(a,0,s);case\\\"'\\\":return m(a,d);case\\\"\u003C\\\":r=c[m(t,1,-1)];break;default:var i,n=+t;if(0==n)return e;if(u\u003Cn)return 0!==(i=p(n/10))&&i\u003C=u?void 0===l[i-1]?h(t,1):l[i-1]+h(t,1):e;r=l[n-1]}return void 0===r?\\\"\\\":r})}}}),require_regexp_exec_abstract=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/regexp-exec-abstract.js\\\"(e,t){init_esbuild_inject();var i=require_function_call(),n=require_an_object(),o=require_is_callable(),a=require_classof_raw(),s=require_regexp_exec(),l=TypeError;t.exports=function(e,t){var r=e.exec;if(o(r))return null!==(r=i(r,e,t))&&n(r),r;if(\\\"RegExp\\\"===a(e))return i(s,e,t);throw l(\\\"RegExp#exec called on incompatible receiver\\\")}}}),require_es_string_replace=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/modules/es.string.replace.js\\\"(){init_esbuild_inject();var w=require_function_apply(),n=require_function_call(),e=require_function_uncurry_this(),t=require_fix_regexp_well_known_symbol_logic(),r=require_fails(),$=require_an_object(),E=require_is_callable(),o=require_is_null_or_undefined(),P=require_to_integer_or_infinity(),I=require_to_length(),j=require_to_string(),a=require_require_object_coercible(),C=require_advance_string_index(),s=require_get_method(),T=require_get_substitution(),k=require_regexp_exec_abstract(),l=require_well_known_symbol()(\\\"replace\\\"),A=Math.max,M=Math.min,F=e([].concat),O=e([].push),D=e(\\\"\\\".indexOf),R=e(\\\"\\\".slice),e=\\\"$0\\\"===\\\"a\\\".replace(/./,\\\"$0\\\"),i=!!/./[l]&&\\\"\\\"===/./[l](\\\"a\\\",\\\"$0\\\");t(\\\"replace\\\",function(e,y,S){var x=i?\\\"$\\\":\\\"$0\\\";return[function(e,t){var r=a(this),i=o(e)?void 0:s(e,l);return i?n(i,e,r,t):n(y,j(r),e,t)},function(e,t){var r=$(this),i=j(e);if(\\\"string\\\"==typeof t&&-1===D(t,x)&&-1===D(t,\\\"$\u003C\\\")){var n=S(y,r,i,t);if(n.done)return n.value}for(var o,a=E(t),s=(a||(t=j(t)),r.global),l=(s&&(o=r.unicode,r.lastIndex=0),[]);null!==(h=k(r,i))&&(O(l,h),s);)\\\"\\\"===j(h[0])&&(r.lastIndex=C(i,I(r.lastIndex),o));for(var c,d=\\\"\\\",u=0,p=0;p\u003Cl.length;p++){for(var h,m=j((h=l[p])[0]),g=A(M(P(h.index),i.length),0),_=[],f=1;f\u003Ch.length;f++)O(_,void 0===(c=h[f])?c:String(c));var b=h.groups,v=a?(v=F([m],_,g,i),void 0!==b&&O(v,b),j(w(t,void 0,v))):T(m,i,g,_,b,t);u\u003C=g&&(d+=R(i,u,g)+v,u=g+m.length)}return d+R(i,u)}]},!!r(function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:\\\"7\\\"},e},\\\"7\\\"!==\\\"\\\".replace(e,\\\"$\u003Ca>\\\")})||!e||i)}}),require_is_regexp=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/is-regexp.js\\\"(e,t){init_esbuild_inject();var r=require_is_object(),i=require_classof_raw(),n=require_well_known_symbol()(\\\"match\\\");t.exports=function(e){var t;return r(e)&&(void 0!==(t=e[n])?!!t:\\\"RegExp\\\"===i(e))}}}),require_regexp_get_flags=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/regexp-get-flags.js\\\"(e,t){init_esbuild_inject();var r=require_function_call(),i=require_has_own_property(),n=require_object_is_prototype_of(),o=require_regexp_flags(),a=RegExp.prototype;t.exports=function(e){var t=e.flags;return void 0!==t||\\\"flags\\\"in a||i(e,\\\"flags\\\")||!n(a,e)?t:r(o,e)}}}),require_es_string_replace_all=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/modules/es.string.replace-all.js\\\"(){init_esbuild_inject();var e=require_export(),m=require_function_call(),t=require_function_uncurry_this(),g=require_require_object_coercible(),_=require_is_callable(),f=require_is_null_or_undefined(),b=require_is_regexp(),v=require_to_string(),y=require_get_method(),S=require_regexp_get_flags(),x=require_get_substitution(),r=require_well_known_symbol(),w=require_is_pure(),$=r(\\\"replace\\\"),E=TypeError,P=t(\\\"\\\".indexOf),I=t(\\\"\\\".replace),j=t(\\\"\\\".slice),C=Math.max,T=function(e,t,r){return r>e.length?-1:\\\"\\\"===t?r:P(e,t,r)};e({target:\\\"String\\\",proto:!0},{replaceAll:function(e,t){var r,i,n,o,a,s,l,c,d=g(this),u=0,p=0,h=\\\"\\\";if(!f(e)){if((r=b(e))&&(i=v(g(S(e))),!~P(i,\\\"g\\\")))throw E(\\\"`.replaceAll` does not allow non-global regexes\\\");if(i=y(e,$))return m(i,e,d,t);if(w&&r)return I(v(d),e,t)}for(n=v(d),o=v(e),(a=_(t))||(t=v(t)),s=o.length,l=C(1,s),u=T(n,o,0);-1!==u;)c=a?v(t(o,u,n)):x(o,n,u,[],void 0,t),h+=j(n,p,u)+c,p=u+s,u=T(n,o,u+l);return p\u003Cn.length&&(h+=j(n,p)),h}})}}),require_replace_all=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/es/string/replace-all.js\\\"(e,t){init_esbuild_inject(),require_es_regexp_exec(),require_es_string_replace(),require_es_string_replace_all();var r=require_entry_unbind();t.exports=r(\\\"String\\\",\\\"replaceAll\\\")}}),require_replace_all2=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/stable/string/replace-all.js\\\"(e,t){init_esbuild_inject();var r=require_replace_all();t.exports=r}}),require_downscale=__commonJS({\\\"node_modules/.pnpm/downscale@1.0.6/node_modules/downscale/dist/downscale.js\\\"(e,t){var r;init_esbuild_inject(),e=e,r=function(){function P(e,t,r,i,n,o,a,s){(e=document.createElement(\\\"canvas\\\")).width=r,e.height=i;var l=e.getContext(\\\"2d\\\");return l.mozImageSmoothingEnabled=!0,l.imageSmoothingQuality=\\\"high\\\",l.webkitImageSmoothingEnabled=!0,l.msImageSmoothingEnabled=!0,l.imageSmoothingEnabled=!0,l.drawImage(t,n,o,a,s,0,0,r,i),e}function I(e){return e+.49\u003C\u003C0}function j(e,t,r,i,n,o,a){for(var s=new ImageData(t,r),l=new Int32Array(e.data.buffer),c=e.width,d=new Int32Array(s.data.buffer),u=s.width,p=t/o,h=r/a,m=I(1/p),g=I(1/h),_=m*g,f=0;f\u003Cs.height;f++)for(var b=0;b\u003Cu;b++){for(var v=i+I(b/p)+(n+I(f/h))*c,y=0,S=0,x=0,w=0,$=0;$\u003Cg;$++)for(var E=0;E\u003Cm;E++){var P=l[v+E+$*c];y+=P\u003C\u003C24>>>24,S+=P\u003C\u003C16>>>24,x+=P\u003C\u003C8>>>24,w+=P>>>24}y=I(y/_),S=I(S/_),x=I(x/_),w=I(w/_),d[b+f*u]=w\u003C\u003C24|x\u003C\u003C16|S\u003C\u003C8|y}return s}function C(e,t){return e.width=t.width,e.height=t.height,e.getContext(\\\"2d\\\").putImageData(t,0,0),e}function T(e,t,r,i,n,o){var a=n,s=o,l=n/o,c=(e=0===e?t*l>>0:e)/(t=0===t?e/l>>0:t);return l\u003Cc?o=n/c>>0:n=o*c>>0,{destWidth:e,destHeight:t,sourceX:r=r||(a-n)/2>>0,sourceY:i=i||(s-o)/2>>0,sourceWidth:n,sourceHeight:o}}function k(e,t,r){t.returnCanvas?r(e):t.returnBlob?e.toBlob(r,\\\"image/\\\"+(t.imageType||\\\"jpeg\\\"),t.quality||.85):r(e.toDataURL(\\\"image/\\\"+(t.imageType||\\\"jpeg\\\"),t.quality||.85))}function A(e,t){e.complete?t():e.addEventListener(\\\"load\\\",t)}function M(e){return e instanceof File?\\\"File\\\":e instanceof HTMLImageElement?\\\"HTMLImageElement\\\":e instanceof HTMLVideoElement?\\\"HTMLVideoElement\\\":\\\"string\\\"==typeof e?\\\"URL\\\":void 0}function F(i,l,c,d){u=d&&d.debug||!1,e=i,t=l,r=c,n=new Date,o={},a=n,s=\\\"01\\\";var e,t,r,n,o,a,s,u,p,h={mark:u?function(e){o[e=s+\\\". \\\"+(e||\\\"...\\\")]={\\\"time (ms)\\\":new Date-a},a=new Date,s=(\\\"0\\\"+(1+(s>>0))).substr(-2)}:new Function,finish:u?function(){o[s+\\\" TOTAL\\\"]={\\\"time (ms)\\\":new Date-n},console.log(\\\"IMAGE SOURCE:\\\",e),console.log(\\\"DOWNSCALE TO:\\\",t+\\\"x\\\"+r),console.table(o)}:new Function},m=(u=arguments).length\u003C3?new TypeError(\\\"3 arguments required, but only \\\"+u.length+\\\" present.\\\"):M(u[0])?\\\"number\\\"!=typeof u[1]?new TypeError(\\\"Second argument should be a number\\\"):\\\"number\\\"!=typeof u[2]?new TypeError(\\\"Third argument should be a number\\\"):void 0:new TypeError(\\\"First argument should be HTMLImageElement, HTMLVideoElement, File of String\\\");if(m instanceof TypeError)return Promise.reject(m);d=d||{};var g,_,f,b,m=new Promise(function(e,t){p=e,0}),v=(F.canvas=F.canvas||document.createElement(\\\"canvas\\\"),F.cache=F.cache||(g=[],_=[],f=[],b=new Object,{createSetter:function(e){var t;if(!this.get(e))return t=g.push(e)-1,_.push(b),f.push([]),function(r){_[t]=r,f[t]=f[t].reduce(function(e,t){t(r)},[])}},get:function(e,t){var r=g.indexOf(e);~r&&(_[r]===b?f[r].push(t):t(_[r]))},has:function(e){return!!~g.indexOf(e)}}),F.canvas),y=F.cache;if(y.has(i))h.mark(),y.get(i,function(e){h.mark(\\\"PENDING CACHE\\\");var t=e[0],r=e[1],i=T(l,c,d.sourceX,d.sourceY,r.width,r.height);2\u003C=i.sourceWidth/i.destWidth&&2\u003C=i.sourceHeight/i.destHeight?(h.mark(),r=j(r,i.destWidth,i.destHeight,i.sourceX,i.sourceY,i.sourceWidth,i.sourceHeight),h.mark(\\\"DOWNSCALE\\\"),v=C(v,r)):(v=P(v,t,i.destWidth,i.destHeight,i.sourceX,i.sourceY,i.sourceWidth,i.sourceHeight),h.mark(\\\"RESIZE WITH CANVAS\\\")),k(v,d,function(e){h.mark(\\\"PRODUCE RESULT\\\"),p(e),h.finish()})});else{var S,x,w=function(e,t,r){var i,n,o,a,s=T(l,c,d.sourceX,d.sourceY,t,r);2\u003C=s.sourceWidth/s.destWidth&&2\u003C=s.sourceHeight/s.destHeight?(h.mark(),o=e,t=t,r=r,(n=v).width=t,n.height=r,(a=n.getContext(\\\"2d\\\")).drawImage(o,0,0),a=a.getImageData(0,0,t,r),h.mark(\\\"GET IMAGE DATA\\\"),i=j(a,s.destWidth,s.destHeight,s.sourceX,s.sourceY,s.sourceWidth,s.sourceHeight),h.mark(\\\"DOWNSCALE\\\"),v=C(v,i),\\\"HTMLVideoElement\\\"!==M(e)&&y.createSetter(e)([e,a])):(v=P(v,e,s.destWidth,s.destHeight,s.sourceX,s.sourceY,s.sourceWidth,s.sourceHeight),h.mark(\\\"RESIZE WITH CANVAS\\\")),k(v,d,function(e){h.mark(\\\"PRODUCE RESULT\\\"),p(e),h.finish()})},$=window.URL||window.webkitURL;switch(M(i)){case\\\"File\\\":var E=document.createElement(\\\"img\\\");h.mark(),E.src=$.createObjectURL(i),h.mark(\\\"READ FILE\\\"),A(E,function(){h.mark(\\\"LOAD IMAGE\\\"),w(E,E.naturalWidth,E.naturalHeight)});break;case\\\"HTMLImageElement\\\":h.mark(),A(i,function(){h.mark(\\\"LOAD IMAGE\\\"),w(i,i.naturalWidth,i.naturalHeight)});break;case\\\"HTMLVideoElement\\\":x=function(){w(i,i.videoWidth,i.videoHeight)},1\u003C(S=i).readyState?x():S.addEventListener(\\\"loadeddata\\\",x);break;case\\\"URL\\\":h.mark(),setTimeout(function(){var e,t,r;e=i,t=function(e){h.mark(\\\"LOAD ARRAY BUFFER\\\");var t=new Uint8Array(e),t=new Blob([t],{type:\\\"image/jpeg\\\"}),r=document.createElement(\\\"img\\\");r.src=$.createObjectURL(t),h.mark(),A(r,function(){h.mark(\\\"LOAD IMAGE\\\"),w(r,r.naturalWidth,r.naturalHeight)})},(r=new XMLHttpRequest).open(\\\"GET\\\",e),r.responseType=\\\"arraybuffer\\\",r.addEventListener(\\\"load\\\",function(){t(this.response)}),r.send()})}}return m}return F},\\\"function\\\"==typeof define&&define.amd?define([],r):\\\"object\\\"==typeof t&&t.exports?t.exports=r():e.downscale=r()}}),require_lz_string=__commonJS({\\\"node_modules/.pnpm/lz-string@1.5.0/node_modules/lz-string/libs/lz-string.js\\\"(e,t){init_esbuild_inject();f=String.fromCharCode,r=\\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\\",i=\\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\\\",n={};var f,r,i,n,a,o=a={compressToBase64:function(e){if(null==e)return\\\"\\\";var t=a._compress(e,6,function(e){return r.charAt(e)});switch(t.length%4){default:case 0:return t;case 1:return t+\\\"===\\\";case 2:return t+\\\"==\\\";case 3:return t+\\\"=\\\"}},decompressFromBase64:function(t){return null==t?\\\"\\\":\\\"\\\"==t?null:a._decompress(t.length,32,function(e){return s(r,t.charAt(e))})},compressToUTF16:function(e){return null==e?\\\"\\\":a._compress(e,15,function(e){return f(e+32)})+\\\" \\\"},decompressFromUTF16:function(t){return null==t?\\\"\\\":\\\"\\\"==t?null:a._decompress(t.length,16384,function(e){return t.charCodeAt(e)-32})},compressToUint8Array:function(e){for(var t=a.compress(e),r=new Uint8Array(2*t.length),i=0,n=t.length;i\u003Cn;i++){var o=t.charCodeAt(i);r[2*i]=o>>>8,r[2*i+1]=o%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var t=new Array(e.length/2),r=0,i=t.length;r\u003Ci;r++)t[r]=256*e[2*r]+e[2*r+1];var n=[];return t.forEach(function(e){n.push(f(e))}),a.decompress(n.join(\\\"\\\"))},compressToEncodedURIComponent:function(e){return null==e?\\\"\\\":a._compress(e,6,function(e){return i.charAt(e)})},decompressFromEncodedURIComponent:function(t){return null==t?\\\"\\\":\\\"\\\"==t?null:(t=t.replace(/ /g,\\\"+\\\"),a._decompress(t.length,32,function(e){return s(i,t.charAt(e))}))},compress:function(e){return a._compress(e,16,function(e){return f(e)})},_compress:function(e,t,r){if(null==e)return\\\"\\\";for(var i,n,o,a,s={},l={},c=\\\"\\\",d=2,u=3,p=2,h=[],m=0,g=0,_=0;_\u003Ce.length;_+=1)if(o=e.charAt(_),Object.prototype.hasOwnProperty.call(s,o)||(s[o]=u++,l[o]=!0),a=c+o,Object.prototype.hasOwnProperty.call(s,a))c=a;else{if(Object.prototype.hasOwnProperty.call(l,c)){if(c.charCodeAt(0)\u003C256){for(i=0;i\u003Cp;i++)m\u003C\u003C=1,g==t-1?(g=0,h.push(r(m)),m=0):g++;for(n=c.charCodeAt(0),i=0;i\u003C8;i++)m=m\u003C\u003C1|1&n,g==t-1?(g=0,h.push(r(m)),m=0):g++,n>>=1}else{for(n=1,i=0;i\u003Cp;i++)m=m\u003C\u003C1|n,g==t-1?(g=0,h.push(r(m)),m=0):g++,n=0;for(n=c.charCodeAt(0),i=0;i\u003C16;i++)m=m\u003C\u003C1|1&n,g==t-1?(g=0,h.push(r(m)),m=0):g++,n>>=1}0==--d&&(d=Math.pow(2,p),p++),delete l[c]}else for(n=s[c],i=0;i\u003Cp;i++)m=m\u003C\u003C1|1&n,g==t-1?(g=0,h.push(r(m)),m=0):g++,n>>=1;0==--d&&(d=Math.pow(2,p),p++),s[a]=u++,c=String(o)}if(\\\"\\\"!==c){if(Object.prototype.hasOwnProperty.call(l,c)){if(c.charCodeAt(0)\u003C256){for(i=0;i\u003Cp;i++)m\u003C\u003C=1,g==t-1?(g=0,h.push(r(m)),m=0):g++;for(n=c.charCodeAt(0),i=0;i\u003C8;i++)m=m\u003C\u003C1|1&n,g==t-1?(g=0,h.push(r(m)),m=0):g++,n>>=1}else{for(n=1,i=0;i\u003Cp;i++)m=m\u003C\u003C1|n,g==t-1?(g=0,h.push(r(m)),m=0):g++,n=0;for(n=c.charCodeAt(0),i=0;i\u003C16;i++)m=m\u003C\u003C1|1&n,g==t-1?(g=0,h.push(r(m)),m=0):g++,n>>=1}0==--d&&(d=Math.pow(2,p),p++),delete l[c]}else for(n=s[c],i=0;i\u003Cp;i++)m=m\u003C\u003C1|1&n,g==t-1?(g=0,h.push(r(m)),m=0):g++,n>>=1;0==--d&&(d=Math.pow(2,p),p++)}for(n=2,i=0;i\u003Cp;i++)m=m\u003C\u003C1|1&n,g==t-1?(g=0,h.push(r(m)),m=0):g++,n>>=1;for(;;){if(m\u003C\u003C=1,g==t-1){h.push(r(m));break}g++}return h.join(\\\"\\\")},decompress:function(t){return null==t?\\\"\\\":\\\"\\\"==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,t,r){for(var i,n,o,a,s,l,c=[],d=4,u=4,p=3,h=\\\"\\\",m=[],g={val:r(0),position:t,index:1},_=0;_\u003C3;_+=1)c[_]=_;for(n=0,a=Math.pow(2,2),s=1;s!=a;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=t,g.val=r(g.index++)),n|=(0\u003Co?1:0)*s,s\u003C\u003C=1;switch(n){case 0:for(n=0,a=Math.pow(2,8),s=1;s!=a;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=t,g.val=r(g.index++)),n|=(0\u003Co?1:0)*s,s\u003C\u003C=1;l=f(n);break;case 1:for(n=0,a=Math.pow(2,16),s=1;s!=a;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=t,g.val=r(g.index++)),n|=(0\u003Co?1:0)*s,s\u003C\u003C=1;l=f(n);break;case 2:return\\\"\\\"}for(i=c[3]=l,m.push(l);;){if(e\u003Cg.index)return\\\"\\\";for(n=0,a=Math.pow(2,p),s=1;s!=a;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=t,g.val=r(g.index++)),n|=(0\u003Co?1:0)*s,s\u003C\u003C=1;switch(l=n){case 0:for(n=0,a=Math.pow(2,8),s=1;s!=a;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=t,g.val=r(g.index++)),n|=(0\u003Co?1:0)*s,s\u003C\u003C=1;c[u++]=f(n),l=u-1,d--;break;case 1:for(n=0,a=Math.pow(2,16),s=1;s!=a;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=t,g.val=r(g.index++)),n|=(0\u003Co?1:0)*s,s\u003C\u003C=1;c[u++]=f(n),l=u-1,d--;break;case 2:return m.join(\\\"\\\")}if(0==d&&(d=Math.pow(2,p),p++),c[l])h=c[l];else{if(l!==u)return null;h=i+i.charAt(0)}m.push(h),c[u++]=i+h.charAt(0),i=h,0==--d&&(d=Math.pow(2,p),p++)}}};function s(e,t){if(!n[e]){n[e]={};for(var r=0;r\u003Ce.length;r++)n[e][e.charAt(r)]=r}return n[e][t]}\\\"function\\\"==typeof define&&define.amd?define(function(){return o}):void 0!==t&&null!=t?t.exports=o:\\\"undefined\\\"!=typeof angular&&null!=angular&&angular.module(\\\"LZString\\\",[]).factory(\\\"LZString\\\",function(){return o})}}),import_widget=(init_esbuild_inject(),init_esbuild_inject(),window.requestIdleCallback=window.requestIdleCallback||function(e){var t=Date.now();return setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},window.cancelIdleCallback=window.cancelIdleCallback||function(e){clearTimeout(e)},require(\\\"$:/plugins/linonetwo/tw-react/widget.js\\\")),import_react127=(init_esbuild_inject(),require(\\\"react\\\")),import_tw_react=require(\\\"$:/plugins/linonetwo/tw-react/index.js\\\");function isChild(e){return e&&\\\"object\\\"==typeof e&&\\\"parents\\\"in e}function haveParentsChanged(e){for(let t=0,r=e.parents.length;t\u003Cr;t++)if(e.parents[t].__unsafe__getWithoutCapture(),e.parents[t].lastChangedEpoch!==e.parentEpochs[t])return!0;return!1}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var detach=(r,i)=>{if(r.children.remove(i)&&r.children.isEmpty&&isChild(r))for(let e=0,t=r.parents.length;e\u003Ct;e++)detach(r.parents[e],r)},attach=(r,i)=>{if(r.children.add(i)&&isChild(r))for(let e=0,t=r.parents.length;e\u003Ct;e++)attach(r.parents[e],r)};function equals(e,t){return e===t||Object.is(e,t)||Boolean(e&&t&&\\\"function\\\"==typeof e.equals&&e.equals(t))}function singleton(e,t){var r=Symbol[\\\"for\\\"](\\\"com.tldraw.state/\\\"+e),i=globalThis;return null==i[r]&&(i[r]=t()),i[r]}var EMPTY_ARRAY=singleton(\\\"empty_array\\\",()=>Object.freeze([])),ARRAY_SIZE_THRESHOLD=(init_esbuild_inject(),init_esbuild_inject(),8),ArraySet=class{constructor(){__publicField(this,\\\"arraySize\\\",0),__publicField(this,\\\"array\\\",Array(ARRAY_SIZE_THRESHOLD)),__publicField(this,\\\"set\\\",null)}get isEmpty(){if(this.array)return 0===this.arraySize;if(this.set)return 0===this.set.size;throw new Error(\\\"no set or array\\\")}add(e){if(this.array)return-1===this.array.indexOf(e)&&(this.arraySize\u003CARRAY_SIZE_THRESHOLD?(this.array[this.arraySize]=e,this.arraySize++):(this.set=new Set(this.array),this.array=null,this.set.add(e)),!0);if(this.set)return!this.set.has(e)&&(this.set.add(e),!0);throw new Error(\\\"no set or array\\\")}remove(e){var t;if(this.array)return-1!==(t=this.array.indexOf(e))&&(this.array[t]=void 0,this.arraySize--,t!==this.arraySize&&(this.array[t]=this.array[this.arraySize],this.array[this.arraySize]=void 0),!0);if(this.set)return!!this.set.has(e)&&(this.set[\\\"delete\\\"](e),!0);throw new Error(\\\"no set or array\\\")}visit(t){if(this.array)for(let e=0;e\u003Cthis.arraySize;e++){var r=this.array[e];void 0!==r&&t(r)}else{if(!this.set)throw new Error(\\\"no set or array\\\");this.set.forEach(t)}}},RESET_VALUE=(init_esbuild_inject(),init_esbuild_inject(),Symbol[\\\"for\\\"](\\\"com.tldraw.state/RESET_VALUE\\\")),HistoryBuffer=class{constructor(e){__publicField(this,\\\"index\\\",0),__publicField(this,\\\"buffer\\\"),this.capacity=e,this.buffer=new Array(e)}pushEntry(e,t,r){void 0!==r&&(r===RESET_VALUE?this.clear():(this.buffer[this.index]=[e,t,r],this.index=(this.index+1)%this.capacity))}clear(){this.index=0,this.buffer.fill(void 0)}getChangesSince(e){var{index:t,capacity:r,buffer:i}=this;for(let c=0;c\u003Cr;c++){var n=(t-1+r-c)%r,o=i[n];if(!o)return RESET_VALUE;var[o,a]=o;if(0===c&&a\u003C=e)return[];if(o\u003C=e&&e\u003Ca){var s=c+1,l=new Array(s);for(let e=0;e\u003Cs;e++)l[e]=i[(n+e)%r][2];return l}}return RESET_VALUE}},CaptureStackFrame=(init_esbuild_inject(),class{constructor(e,t){__publicField(this,\\\"offset\\\",0),__publicField(this,\\\"numNewParents\\\",0),__publicField(this,\\\"maybeRemoved\\\"),this.below=e,this.child=t}}),inst=singleton(\\\"capture\\\",()=>({stack:null}));function startCapturingParents(e){inst.stack=new CaptureStackFrame(inst.stack,e)}function stopCapturingParents(){var t=inst.stack,r=(inst.stack=t.below,0\u003Ct.numNewParents||t.offset!==t.child.parents.length);if(r){for(let e=t.offset;e\u003Ct.child.parents.length;e++){var i=t.child.parents[e];t.child.parents.indexOf(i)>=t.offset&&detach(i,t.child)}if(t.child.parents.length=t.offset,t.child.parentEpochs.length=t.offset,null!=(r=inst.stack)&&r.maybeRemoved)for(let e=0;e\u003Cinst.stack.maybeRemoved.length;e++){var n=inst.stack.maybeRemoved[e];-1===t.child.parents.indexOf(n)&&detach(n,t.child)}}}function maybeCaptureParent(e){var t;inst.stack&&((t=inst.stack.child.parents.indexOf(e))\u003C0&&(inst.stack.numNewParents++,inst.stack.child.isActivelyListening)&&attach(e,inst.stack.child),t\u003C0||t>=inst.stack.offset)&&(t!==inst.stack.offset&&0\u003Ct&&(t=inst.stack.child.parents[inst.stack.offset],inst.stack.maybeRemoved?-1===inst.stack.maybeRemoved.indexOf(t)&&inst.stack.maybeRemoved.push(t):inst.stack.maybeRemoved=[t]),inst.stack.child.parents[inst.stack.offset]=e,inst.stack.child.parentEpochs[inst.stack.offset]=e.lastChangedEpoch,inst.stack.offset++)}init_esbuild_inject(),init_esbuild_inject();var GLOBAL_START_EPOCH=-1,__EffectScheduler__=(init_esbuild_inject(),class{constructor(e,t,r){__publicField(this,\\\"_isActivelyListening\\\",!1),__publicField(this,\\\"lastTraversedEpoch\\\",GLOBAL_START_EPOCH),__publicField(this,\\\"lastReactedEpoch\\\",GLOBAL_START_EPOCH),__publicField(this,\\\"_scheduleCount\\\",0),__publicField(this,\\\"parentEpochs\\\",[]),__publicField(this,\\\"parents\\\",[]),__publicField(this,\\\"_scheduleEffect\\\"),__publicField(this,\\\"maybeExecute\\\",()=>{this._isActivelyListening&&this.execute()}),this.name=e,this.runEffect=t,this._scheduleEffect=null==r?void 0:r.scheduleEffect}get isActivelyListening(){return this._isActivelyListening}get scheduleCount(){return this._scheduleCount}maybeScheduleEffect(){this._isActivelyListening&&this.lastReactedEpoch!==getGlobalEpoch()&&(this.parents.length&&!haveParentsChanged(this)?this.lastReactedEpoch=getGlobalEpoch():this.scheduleEffect())}scheduleEffect(){this._scheduleCount++,this._scheduleEffect?this._scheduleEffect(this.maybeExecute):this.execute()}attach(){this._isActivelyListening=!0;for(let e=0,t=this.parents.length;e\u003Ct;e++)attach(this.parents[e],this)}detach(){this._isActivelyListening=!1;for(let e=0,t=this.parents.length;e\u003Ct;e++)detach(this.parents[e],this)}execute(){try{startCapturingParents(this);var e=this.runEffect(this.lastReactedEpoch);return this.lastReactedEpoch=getGlobalEpoch(),e}finally{stopCapturingParents()}}}),EffectScheduler=singleton(\\\"EffectScheduler\\\",()=>__EffectScheduler__);function react(e,t,r){const i=new EffectScheduler(e,t,r);return i.attach(),i.scheduleEffect(),()=>{i.detach()}}function reactor(e,t,r){const i=new EffectScheduler(e,t,r);return{scheduler:i,start:e=>{var t=null!=(t=null==e?void 0:e.force)&&t;i.attach(),t?i.scheduleEffect():i.maybeScheduleEffect()},stop:()=>{i.detach()}}}var Transaction=class{constructor(e){__publicField(this,\\\"initialAtomValues\\\",new Map),this.parent=e}get isRoot(){return null===this.parent}commit(){var e;this.isRoot?(e=this.initialAtomValues,this.initialAtomValues=new Map,flushChanges(e.keys())):this.initialAtomValues.forEach((e,t)=>{this.parent.initialAtomValues.has(t)||this.parent.initialAtomValues.set(t,e)})}abort(){inst2.globalEpoch++,this.initialAtomValues.forEach((e,t)=>{var r;t.set(e),null!=(r=t.historyBuffer)&&r.clear()}),this.commit()}},inst2=singleton(\\\"transactions\\\",()=>({globalEpoch:GLOBAL_START_EPOCH+1,globalIsReacting:!1,currentTransaction:null}));function getGlobalEpoch(){return inst2.globalEpoch}function flushChanges(e){if(inst2.globalIsReacting)throw new Error(\\\"cannot change atoms during reaction cycle\\\");try{inst2.globalIsReacting=!0;const t=new Set,r=e=>{e.lastTraversedEpoch!==inst2.globalEpoch&&(e.lastTraversedEpoch=inst2.globalEpoch,e instanceof EffectScheduler?t.add(e):e.children.visit(r))};for(const i of e)i.children.visit(r);for(const n of t)n.maybeScheduleEffect()}finally{inst2.globalIsReacting=!1}}function atomDidChange(e,t){inst2.currentTransaction?inst2.currentTransaction.initialAtomValues.has(e)||inst2.currentTransaction.initialAtomValues.set(e,t):flushChanges([e])}function advanceGlobalEpoch(){inst2.globalEpoch++}function transaction(t){var r=new Transaction(inst2.currentTransaction);inst2.currentTransaction=r;try{let e=!1;var i=t(()=>e=!0);return e?r.abort():r.commit(),i}catch(e){throw r.abort(),e}finally{inst2.currentTransaction=inst2.currentTransaction.parent}}function transact(e){return inst2.currentTransaction?e():transaction(e)}var __Atom__=class{constructor(e,t,r){var i;__publicField(this,\\\"isEqual\\\"),__publicField(this,\\\"computeDiff\\\"),__publicField(this,\\\"lastChangedEpoch\\\",getGlobalEpoch()),__publicField(this,\\\"children\\\",new ArraySet),__publicField(this,\\\"historyBuffer\\\"),this.name=e,this.current=t,this.isEqual=null!=(i=null==r?void 0:r.isEqual)?i:null,r&&(r.historyLength&&(this.historyBuffer=new HistoryBuffer(r.historyLength)),this.computeDiff=r.computeDiff)}__unsafe__getWithoutCapture(){return this.current}get(){return maybeCaptureParent(this),this.current}set(e,t){if(null!=(r=null==(r=this.isEqual)?void 0:r.call(this,this.current,e))?r:equals(this.current,e))return this.current;advanceGlobalEpoch(),this.historyBuffer&&this.historyBuffer.pushEntry(this.lastChangedEpoch,getGlobalEpoch(),null!=(r=null!=t?t:null==(r=this.computeDiff)?void 0:r.call(this,this.current,e,this.lastChangedEpoch,getGlobalEpoch()))?r:RESET_VALUE),this.lastChangedEpoch=getGlobalEpoch();var r=this.current;return this.current=e,atomDidChange(this,r),e}update(e){return this.set(e(this.current))}getDiffSince(e){var t;return maybeCaptureParent(this),e>=this.lastChangedEpoch?EMPTY_ARRAY:null!=(t=null==(t=this.historyBuffer)?void 0:t.getChangesSince(e))?t:RESET_VALUE}},_Atom=singleton(\\\"Atom\\\",()=>__Atom__);function atom(e,t,r){return new _Atom(e,t,r)}init_esbuild_inject(),init_esbuild_inject();var didWarnComputedGetter=!1;function logComputedGetterWarning(){didWarnComputedGetter||(didWarnComputedGetter=!0,console.warn(`Using \\\\`@computed\\\\` as a decorator for getters is deprecated and will be removed in the near future. Please refactor to use \\\\`@computed\\\\` as a decorator for methods.\\n\\n// Before\\n@computed\\nget foo() {\\n\\treturn 'foo'\\n}\\n\\n// After\\n@computed\\ngetFoo() {\\n\\treturn 'foo'\\n}\\n`))}var UNINITIALIZED=Symbol[\\\"for\\\"](\\\"com.tldraw.state/UNINITIALIZED\\\"),isUninitialized=e=>e===UNINITIALIZED,WithDiff=singleton(\\\"WithDiff\\\",()=>class{constructor(e,t){this.value=e,this.diff=t}});function withDiff(e,t){return new WithDiff(e,t)}var __UNSAFE__Computed=class{constructor(e,t,r){var i;__publicField(this,\\\"lastChangedEpoch\\\",GLOBAL_START_EPOCH),__publicField(this,\\\"lastTraversedEpoch\\\",GLOBAL_START_EPOCH),__publicField(this,\\\"lastCheckedEpoch\\\",GLOBAL_START_EPOCH),__publicField(this,\\\"parents\\\",[]),__publicField(this,\\\"parentEpochs\\\",[]),__publicField(this,\\\"children\\\",new ArraySet),__publicField(this,\\\"historyBuffer\\\"),__publicField(this,\\\"state\\\",UNINITIALIZED),__publicField(this,\\\"computeDiff\\\"),__publicField(this,\\\"isEqual\\\"),this.name=e,this.derive=t,null!=r&&r.historyLength&&(this.historyBuffer=new HistoryBuffer(r.historyLength)),this.computeDiff=null==r?void 0:r.computeDiff,this.isEqual=null!=(i=null==r?void 0:r.isEqual)?i:equals}get isActivelyListening(){return!this.children.isEmpty}__unsafe__getWithoutCapture(){var e,t,r=this.lastChangedEpoch===GLOBAL_START_EPOCH;if(!(r||this.lastCheckedEpoch!==getGlobalEpoch()&&haveParentsChanged(this)))return this.lastCheckedEpoch=getGlobalEpoch(),this.state;try{startCapturingParents(this);var i,n=this.derive(this.state,this.lastCheckedEpoch),o=n instanceof WithDiff?n.value:n;return this.state!==UNINITIALIZED&&this.isEqual(o,this.state)||(this.historyBuffer&&!r&&(i=n instanceof WithDiff?n.diff:void 0,this.historyBuffer.pushEntry(this.lastChangedEpoch,getGlobalEpoch(),null!=(t=null!=i?i:null==(e=this.computeDiff)?void 0:e.call(this,this.state,o,this.lastCheckedEpoch,getGlobalEpoch()))?t:RESET_VALUE)),this.lastChangedEpoch=getGlobalEpoch(),this.state=o),this.lastCheckedEpoch=getGlobalEpoch(),this.state}finally{stopCapturingParents()}}get(){var e=this.__unsafe__getWithoutCapture();return maybeCaptureParent(this),e}getDiffSince(e){var t;return this.get(),e>=this.lastChangedEpoch?EMPTY_ARRAY:null!=(t=null==(t=this.historyBuffer)?void 0:t.getChangesSince(e))?t:RESET_VALUE}},_Computed=singleton(\\\"Computed\\\",()=>__UNSAFE__Computed);function computedMethodAnnotation(t={},e,r,i){const n=i.value,o=Symbol[\\\"for\\\"](\\\"__@tldraw/state__computed__\\\"+r);return i.value=function(){let e=this[o];return e||(e=new _Computed(r,n.bind(this),t),Object.defineProperty(this,o,{enumerable:!1,configurable:!1,writable:!1,value:e})),e.get()},i.value[isComputedMethodKey]=!0,i}function computedAnnotation(e={},t,r,i){return(i.get?(logComputedGetterWarning(),computedGetterAnnotation):computedMethodAnnotation)(e,t,r,i)}function computedGetterAnnotation(t={},e,r,i){const n=i.get,o=Symbol[\\\"for\\\"](\\\"__@tldraw/state__computed__\\\"+r);return i.get=function(){let e=this[o];return e||(e=new _Computed(r,n.bind(this),t),Object.defineProperty(this,o,{enumerable:!1,configurable:!1,writable:!1,value:e})),e.get()},i}var isComputedMethodKey=\\\"@@__isComputedMethod__@@\\\";function computed(){if(1!==arguments.length)return\\\"string\\\"==typeof arguments[0]?new _Computed(arguments[0],arguments[1],arguments[2]):computedAnnotation(void 0,arguments[0],arguments[1],arguments[2]);{const i=arguments[0];return(e,t,r)=>computedAnnotation(i,e,t,r)}}init_esbuild_inject();var currentApiVersion=1,actualApiVersion=singleton(\\\"apiVersion\\\",()=>currentApiVersion);if(actualApiVersion!==currentApiVersion)throw new Error(\\\"You have multiple incompatible versions of @tldraw/state in your app. Please deduplicate the package.\\\");init_esbuild_inject(),init_esbuild_inject();var import_react2=require(\\\"react\\\"),import_react=(init_esbuild_inject(),__toESM(require(\\\"react\\\"),1));function useStateTracking(r,e){const i=import_react[\\\"default\\\"].useRef(e),[t,n,o]=(i.current=e,import_react[\\\"default\\\"].useMemo(()=>{let t=null;const e=new EffectScheduler(`useStateTracking(${r})`,()=>{var e;return null==(e=i.current)?void 0:e.call(i)},{scheduleEffect(){null!=t&&t()}});return[e,e=>(t=e,()=>{t=null}),()=>e.scheduleCount]},[r]));return import_react[\\\"default\\\"].useSyncExternalStore(n,o,o),import_react[\\\"default\\\"].useEffect(()=>(t.attach(),t.maybeScheduleEffect(),()=>{t.detach()}),[t]),t.execute()}var ProxyHandlers={apply(e,t,r){var i;return useStateTracking(null!=(i=null!=(i=e.displayName)?i:e.name)?i:\\\"tracked(???)\\\",()=>e.apply(t,r))}},ReactMemoSymbol=Symbol[\\\"for\\\"](\\\"react.memo\\\"),ReactForwardRefSymbol=Symbol[\\\"for\\\"](\\\"react.forward_ref\\\");function track(e){let t=null;var r=e.$$typeof;return r===ReactMemoSymbol&&(e=e.type,t=e.compare),r===ReactForwardRefSymbol?(0,import_react2.memo)((0,import_react2.forwardRef)(new Proxy(e.render,ProxyHandlers))):(0,import_react2.memo)(new Proxy(e,ProxyHandlers),t)}init_esbuild_inject();var import_react3=require(\\\"react\\\"),import_react4=(init_esbuild_inject(),require(\\\"react\\\"));function useComputed(){const e=arguments[0],t=arguments[1],r=3===arguments.length?void 0:arguments[2];return(0,import_react4.useMemo)(()=>computed(`useComputed(${e})`,t,r),3===arguments.length?arguments[2]:arguments[3])}init_esbuild_inject();var import_react5=require(\\\"react\\\");function useQuickReactor(t,r,e=EMPTY_ARRAY){(0,import_react5.useEffect)(()=>{const e=new EffectScheduler(t,r);return e.attach(),e.execute(),()=>{e.detach()}},e)}init_esbuild_inject();var import_react6=require(\\\"react\\\"),import_react7=(init_esbuild_inject(),require(\\\"react\\\"));function useValue(){const e=arguments;var t=3===e.length?e[2]:[e[0]];const r=3===e.length?e[0]:`useValue(${e[0].name})`,i=(0,import_react7.useRef)(!0),n=(i.current=!0,(0,import_react7.useMemo)(()=>1===e.length?e[0]:computed(r,()=>{if(i.current)return e[1]();try{return e[1]()}catch{return{}}}),t));try{var{subscribe:o,getSnapshot:a}=(0,import_react7.useMemo)(()=>({subscribe:e=>react(`useValue(${r})`,()=>{n.get(),e()}),getSnapshot:()=>n.get()}),[n]);return(0,import_react7.useSyncExternalStore)(o,a,a)}finally{i.current=!1}}init_esbuild_inject(),init_esbuild_inject();var IncrementalSetConstructor=class{constructor(e){__publicField(this,\\\"nextValue\\\"),__publicField(this,\\\"diff\\\"),this.previousValue=e}get(){var e=null!=(e=null==(e=null==(e=this.diff)?void 0:e.removed)?void 0:e.size)?e:0,t=null!=(t=null==(t=null==(t=this.diff)?void 0:t.added)?void 0:t.size)?t:0;if(0!==e||0!==t)return{value:this.nextValue,diff:this.diff}}_add(e,t){var r;null==this.nextValue&&(this.nextValue=new Set(this.previousValue)),this.nextValue.add(e),null==this.diff&&(this.diff={}),t?null!=(r=this.diff.removed)&&r[\\\"delete\\\"](e):(null==(r=this.diff).added&&(r.added=new Set),this.diff.added.add(e))}add(e){var t,r=this.previousValue.has(e);if(r)return(null==(t=null==(t=this.diff)?void 0:t.removed)?void 0:t.has(e))?this._add(e,r):void 0;(null==(t=this.nextValue)?void 0:t.has(e))||this._add(e,r)}_remove(e,t){var r;null==this.nextValue&&(this.nextValue=new Set(this.previousValue)),this.nextValue[\\\"delete\\\"](e),null==this.diff&&(this.diff={}),t?(null==(r=this.diff).removed&&(r.removed=new Set),this.diff.removed.add(e)):null!=(r=this.diff.added)&&r[\\\"delete\\\"](e)}remove(e){var t,r=this.previousValue.has(e);if(!r)return(null==(t=null==(t=this.diff)?void 0:t.added)?void 0:t.has(e))?this._remove(e,r):void 0;(null==(t=null==(t=this.diff)?void 0:t.removed)?void 0:t.has(e))||this._remove(e,r)}};function dedupe(e,t){var r=[];e:for(const i of e){for(const n of r)if(t?t(i,n):i===n)continue e;r.push(i)}return r}function compact(e){return e.filter(e=>null!=e)}function last(e){return e[e.length-1]}function minBy(e,t){let r,i=Infinity;for(const o of e){var n=t(o);n\u003Ci&&(r=o,i=n)}return r}function partition(e,t){var r=[],i=[];for(const n of e)(t(n)?r:i).push(n);return[r,i]}function areArraysShallowEqual(t,r){if(t!==r){if(t.length!==r.length)return!1;for(let e=0;e\u003Ct.length;e++)if(!Object.is(t[e],r[e]))return!1}return!0}function omitFromStackTrace(r){const i=(...e)=>{try{return r(...e)}catch(t){throw t instanceof Error&&Error.captureStackTrace&&Error.captureStackTrace(t,i),t}};return i}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var Result={ok(e){return{ok:!0,value:e}},err(e){return{ok:!1,error:e}}};function exhaustiveSwitchError(e,t){var r=t&&e&&\\\"object\\\"==typeof e&&t in e?e[t]:e;throw new Error(\\\"Unknown switch case \\\"+r)}var assert=omitFromStackTrace((e,t)=>{if(!e)throw new Error(t||\\\"Assertion Error\\\")}),assertExists=omitFromStackTrace((e,t)=>{if(null==e)throw new Error(null!=t?t:\\\"value must be defined\\\");return e});function debounce(r,t){let i=void 0;var e=(...e)=>(i||((i={}).promise=new Promise((e,t)=>{i.resolve=e,i.reject=t})),clearTimeout(i.timeout),i.latestArgs=e,i.timeout=setTimeout(()=>{var e=i;i=void 0;try{e.resolve(r(...e.latestArgs))}catch(t){e.reject(t)}},t),i.promise);return e.cancel=()=>{i&&clearTimeout(i.timeout)},e}init_esbuild_inject(),init_esbuild_inject();var annotationsByError=new WeakMap;function annotateError(t,r){if(\\\"object\\\"==typeof t&&null!==t){let e=annotationsByError.get(t);e||(e={tags:{},extras:{}},annotationsByError.set(t,e)),r.tags&&(e.tags={...e.tags,...r.tags}),r.extras&&(e.extras={...e.extras,...r.extras})}}init_esbuild_inject();var FileHelpers=class{static async base64ToFile(e){return fetch(e).then(function(e){return e.arrayBuffer()})}static async fileToBase64(i){return new Promise((e,t)=>{if(i){const r=new FileReader;r.readAsDataURL(i),r.onload=()=>e(r.result),r.onerror=e=>t(e),r.onabort=e=>t(e)}})}};function getHashForString(e){let t=0;for(let r=0;r\u003Ce.length;r++)t=(t\u003C\u003C5)-t+e.charCodeAt(r),t|=0;return t+\\\"\\\"}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var TABLE=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],crc=(\\\"undefined\\\"!=typeof Int32Array&&(TABLE=new Int32Array(TABLE)),(e,t)=>{let r=0===t?0:-1^~~t;for(let i=0;i\u003Ce.length;i++)r=TABLE[255&(r^e[i])]^r>>>8;return-1^r}),LEN_SIZE=4,CRC_SIZE=4,PngHelpers=class{static isPng(e,t){return 137===e.getUint8(t+0)&&80===e.getUint8(t+1)&&78===e.getUint8(t+2)&&71===e.getUint8(t+3)&&13===e.getUint8(t+4)&&10===e.getUint8(t+5)&&26===e.getUint8(t+6)&&10===e.getUint8(t+7)}static getChunkType(e,t){return[String.fromCharCode(e.getUint8(t)),String.fromCharCode(e.getUint8(t+1)),String.fromCharCode(e.getUint8(t+2)),String.fromCharCode(e.getUint8(t+3))].join(\\\"\\\")}static readChunks(e,t=0){var r={};if(!PngHelpers.isPng(e,t))throw new Error(\\\"Not a PNG\\\");for(t+=8;t\u003C=e.buffer.byteLength;){var i=t,n=e.getInt32(t),o=(t+=4,PngHelpers.getChunkType(e,t));if(\\\"IDAT\\\"===o&&r[o]);else{if(\\\"IEND\\\"===o)break;r[o]={start:i,dataOffset:t+4,size:n}}t+=n+LEN_SIZE+CRC_SIZE}return r}static parsePhys(e,t){return{ppux:e.getUint32(t),ppuy:e.getUint32(t+4),unit:e.getUint8(t+4)}}static findChunk(e,t){return PngHelpers.readChunks(e)[t]}static setPhysChunk(e,t=1,r){let i=46,n=0;var o=PngHelpers.findChunk(e,\\\"pHYs\\\"),o=(o&&(i=o.start,n=o.size),PngHelpers.findChunk(e,\\\"IDAT\\\")),o=(o&&(i=o.start,n=0),new ArrayBuffer(21)),a=new DataView(o),s=(a.setUint32(0,9),a.setUint8(4,\\\"p\\\".charCodeAt(0)),a.setUint8(5,\\\"H\\\".charCodeAt(0)),a.setUint8(6,\\\"Y\\\".charCodeAt(0)),a.setUint8(7,\\\"s\\\".charCodeAt(0)),a.setInt32(8,2835.5*t),a.setInt32(12,2835.5*t),a.setInt8(16,1),new Uint8Array(o.slice(4,17))),s=(a.setInt32(17,crc(s)),e.buffer.slice(0,i)),a=e.buffer.slice(i+n);return new Blob([s,o,a],r)}},MediaHelpers=class{static async getVideoSizeFromSrc(i){return new Promise((e,t)=>{const r=document.createElement(\\\"video\\\");r.onloadeddata=()=>e({w:r.videoWidth,h:r.videoHeight}),r.onerror=e=>{console.error(e),t(new Error(\\\"Could not get video size\\\"))},r.crossOrigin=\\\"anonymous\\\",r.src=i})}static async getImageSizeFromSrc(l){return new Promise((a,t)=>{const s=new Image;s.onload=async()=>{try{var e=await FileHelpers.base64ToFile(l),t=new DataView(e);if(PngHelpers.isPng(t,0)){var r=PngHelpers.findChunk(t,\\\"pHYs\\\");if(r){var i,n=PngHelpers.parsePhys(t,r.dataOffset);if(0===n.unit&&n.ppux===n.ppuy)return i=Math.max(n.ppux/2834.5,1),void a({w:Math.round(s.width/i),h:Math.round(s.height/i)})}}a({w:s.width,h:s.height})}catch(o){console.error(o),a({w:s.width,h:s.height})}},s.onerror=e=>{console.error(e),t(new Error(\\\"Could not get image size\\\"))},s.crossOrigin=\\\"anonymous\\\",s.src=l})}};function rng(e=\\\"\\\"){let t=0,r=0,i=0,n=0;function o(){var e=t^t\u003C\u003C11;return t=r,r=i,(n^=((i=n)>>>19^e^e>>>8)>>>0)/4294967296*2}for(let a=0;a\u003Ce.length+64;a++)t^=0|e.charCodeAt(a),o();return o}function modulate(e,t,r,i=!1){var[n,o]=t,[a,s]=r,o=a+(e-n)/(o-n)*(s-a);return i?a\u003Cs?Math.max(Math.min(o,s),a):Math.max(Math.min(o,a),s):o}function hasOwnProperty(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function getOwnProperty(e,t){if(hasOwnProperty(e,t))return e[t]}function deepCopy(t){if(!t)return t;if(Array.isArray(t)){var r=[],i=t.length;for(let e=0;e\u003Ci;e++)r.push(deepCopy(t[e]));return r}if(\\\"object\\\"!=typeof t)return t;var e=Object.keys(t),n=e.length,o={};for(let s=0;s\u003Cn;s++){var a=e[s];o[a]=deepCopy(t[a])}return o}function objectMapKeys(e){return Object.keys(e)}function objectMapValues(e){return Object.values(e)}function objectMapEntries(e){return Object.entries(e)}function objectMapFromEntries(e){return Object.fromEntries(e)}function filterEntries(e,t){var r,i,n={};let o=!1;for([r,i]of objectMapEntries(e))t(r,i)?n[r]=i:o=!0;return o?n:e}function mapObjectMapValues(e,t){var r,i,n={};for([r,i]of objectMapEntries(e)){var o=t(r,i);n[r]=o}return n}function areObjectsShallowEqual(e,t){if(e!==t){var r=new Set(Object.keys(e)),i=new Set(Object.keys(t));if(r.size!==i.size)return!1;for(const n of r){if(!i.has(n))return!1;if(!Object.is(e[n],t[n]))return!1}}return!0}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var frame,isTest=()=>\\\"undefined\\\"!=typeof process&&!1,rafQueue=[],tick=()=>{for(const e of rafQueue.splice(0,rafQueue.length))e()};function raf(){frame=frame||requestAnimationFrame(()=>{frame=void 0,tick()})}function throttledRaf(e){if(isTest())return e();rafQueue.includes(e)||(rafQueue.push(e),raf())}function sortById(e,t){return e.id>t.id?1:-1}init_esbuild_inject(),init_esbuild_inject();var VALID_URL_REGEX=new RegExp(/^(?:(?:(?:https?|ftp):)?\\\\/\\\\/)(?:\\\\S+(?::\\\\S*)?@)?(?:(?!(?:10|127)(?:\\\\.\\\\d{1,3}){3})(?!(?:169\\\\.254|192\\\\.168)(?:\\\\.\\\\d{1,3}){2})(?!172\\\\.(?:1[6-9]|2\\\\d|3[0-1])(?:\\\\.\\\\d{1,3}){2})(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[1-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))(?::\\\\d{2,5})?(?:[/?#]\\\\S*)?$/i);function isValidUrl(e){return VALID_URL_REGEX.test(e)}function isNonNull(e){return null!==e}init_esbuild_inject();var structuredClone2=\\\"undefined\\\"!=typeof window&&window.structuredClone?window.structuredClone:e=>e&&JSON.parse(JSON.stringify(e)),nanoid=(init_esbuild_inject(),init_esbuild_inject(),(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((e,t)=>e+=(t&=63)\u003C36?t.toString(36):t\u003C62?(t-26).toString(36).toUpperCase():62\u003Ct?\\\"-\\\":\\\"_\\\",\\\"\\\")),RecordType=class{constructor(e,t){var r;__publicField(this,\\\"createDefaultProperties\\\"),__publicField(this,\\\"migrations\\\"),__publicField(this,\\\"validator\\\"),__publicField(this,\\\"scope\\\"),__publicField(this,\\\"isInstance\\\",e=>(null==e?void 0:e.typeName)===this.typeName),this.typeName=e,this.createDefaultProperties=t.createDefaultProperties,this.migrations=t.migrations,this.validator=null!=(r=t.validator)?r:{validate:e=>e},this.scope=null!=(r=t.scope)?r:\\\"document\\\"}create(e){var t,r,i={...this.createDefaultProperties(),id:this.createId()};for([t,r]of Object.entries(e))void 0!==r&&(i[t]=r);return i.typeName=this.typeName,i}clone(e){return{...structuredClone2(e),id:this.createId()}}createId(e){return this.typeName+\\\":\\\"+(null!=e?e:nanoid())}createCustomId(e){return this.typeName+\\\":\\\"+e}parseId(e){if(this.isId(e))return e.slice(this.typeName.length+1);throw new Error(`ID \\\"${e}\\\" is not a valid ID for type \\\"${this.typeName}\\\"`)}isId(e){if(!e)return!1;for(let t=0;t\u003Cthis.typeName.length;t++)if(e[t]!==this.typeName[t])return!1;return\\\":\\\"===e[this.typeName.length]}withDefaultProperties(e){return new RecordType(this.typeName,{createDefaultProperties:e,migrations:this.migrations,validator:this.validator,scope:this.scope})}validate(e){return this.validator.validate(e)}};function createRecordType(e,t){var r;return new RecordType(e,{createDefaultProperties:()=>({}),migrations:null!=(r=t.migrations)?r:{currentVersion:0,firstVersion:0,migrators:{}},validator:t.validator,scope:t.scope})}init_esbuild_inject(),init_esbuild_inject();var Cache=class{constructor(){__publicField(this,\\\"items\\\",new WeakMap)}get(e,t){return this.items.has(e)||this.items.set(e,t(e)),this.items.get(e)}},import_lodash=(init_esbuild_inject(),__toESM(require_lodash(),1));function intersectSets(e){if(0===e.length)return new Set;var t=e[0],r=e.slice(1),i=new Set;for(const n of t)r.every(e=>e.has(n))&&i.add(n);return i}function diffSets(e,t){var r={};for(const i of t)e.has(i)||(null==r.added&&(r.added=new Set),r.added.add(i));for(const n of e)t.has(n)||(null==r.removed&&(r.removed=new Set),r.removed.add(n));return r.added||r.removed?r:void 0}function objectMatchesQuery(e,t){for(var[r,i]of Object.entries(e)){r=t[r];if(\\\"eq\\\"in i&&r!==i.eq)return!1;if(\\\"neq\\\"in i&&r===i.neq)return!1;if(\\\"gt\\\"in i&&(\\\"number\\\"!=typeof r||r\u003C=i.gt))return!1}return!0}function executeQuery(e,t,r){var i,n,o,a,s,l,c=Object.fromEntries(Object.keys(r).map(e=>[e,new Set]));for([i,n]of Object.entries(r))if(\\\"eq\\\"in n){var d=e.index(t,i).get().get(n.eq);if(d)for(const u of d)c[i].add(u)}else if(\\\"neq\\\"in n){for([o,a]of e.index(t,i).get())if(o!==n.neq)for(const p of a)c[i].add(p)}else if(\\\"gt\\\"in n)for([s,l]of e.index(t,i).get())if(s>n.gt)for(const h of l)c[i].add(h);return intersectSets(Object.values(c))}init_esbuild_inject(),init_esbuild_inject();var StoreQueries=class{constructor(e,t){__publicField(this,\\\"indexCache\\\",new Map),__publicField(this,\\\"historyCache\\\",new Map),this.atoms=e,this.history=t}filterHistory(h){var e;return this.historyCache.has(h)?this.historyCache.get(h):(e=computed(\\\"filterHistory:\\\"+h,(e,t)=>{if(isUninitialized(e))return this.history.get();var r=this.history.getDiffSince(t);if(r===RESET_VALUE)return this.history.get();var i,n={added:{},removed:{},updated:{}};let o=0,a=0,s=0;for(const d of r){for(const u of objectMapValues(d.added))u.typeName===h&&(n.removed[u.id]?(i=n.removed[u.id],delete n.removed[u.id],a--,i!==u&&(n.updated[u.id]=[i,u],s++)):(n.added[u.id]=u,o++));for(var[l,c]of objectMapValues(d.updated))c.typeName===h&&(n.added[c.id]?n.added[c.id]=c:n.updated[c.id]?n.updated[c.id]=[n.updated[c.id][0],c]:(n.updated[c.id]=[l,c],s++));for(const p of objectMapValues(d.removed))p.typeName===h&&(n.added[p.id]?(delete n.added[p.id],o--):(n.updated[p.id]?(n.removed[p.id]=n.updated[p.id][0],delete n.updated[p.id],s--):n.removed[p.id]=p,a++))}return o||a||s?withDiff(this.history.get(),n):e},{historyLength:100}),this.historyCache.set(h,e),e)}index(e,t){var r,i=e+\\\":\\\"+t;return this.indexCache.has(i)?this.indexCache.get(i):(r=this.__uncached_createIndex(e,t),this.indexCache.set(i,r),r)}__uncached_createIndex(f,b){const v=this.filterHistory(f),y=()=>{v.get();var e=new Map;for(const i of objectMapValues(this.atoms.get())){var t,r=i.get();r.typeName===f&&(t=r[b],e.has(t)||e.set(t,new Set),e.get(t).add(r.id))}return e};return computed(\\\"index:\\\"+f+\\\":\\\"+b,(n,e)=>{if(isUninitialized(n))return y();var t=v.getDiffSince(e);if(t===RESET_VALUE)return y();const o=new Map;var r,i,a,s=(e,t)=>{var r;let i=o.get(e);(i=i||new IncrementalSetConstructor(null!=(r=n.get(e))?r:new Set)).add(t),o.set(e,i)},l=(e,t)=>{var r;let i=o.get(e);(i=i||new IncrementalSetConstructor(null!=(r=n.get(e))?r:new Set)).remove(t),o.set(e,i)};for(const m of t){for(const g of objectMapValues(m.added))g.typeName===f&&s(g[b],g.id);for(var[c,d]of objectMapValues(m.updated))d.typeName===f&&(c=c[b])!==(r=d[b])&&(l(c,d.id),s(r,d.id));for(const _ of objectMapValues(m.removed))_.typeName===f&&l(_[b],_.id)}let u=void 0,p=void 0;for([i,a]of o){var h=a.get();h&&(u=u||new Map(n),p=p||new Map,0===h.value.size?u[\\\"delete\\\"](i):u.set(i,h.value),p.set(i,h.diff))}return u&&p?withDiff(u,p):n},{historyLength:100})}record(e,t=()=>({}),r=\\\"record:\\\"+e+(t?\\\":\\\"+t.toString():\\\"\\\")){const i=this.ids(e,t,r);return computed(r,()=>{var e;for(const t of i.get())return null==(e=this.atoms.get()[t])?void 0:e.get()})}records(e,t=()=>({}),r=\\\"records:\\\"+e+(t?\\\":\\\"+t.toString():\\\"\\\")){const i=this.ids(e,t,\\\"ids:\\\"+r);return computed(r,()=>[...i.get()].map(e=>{var t=this.atoms.get()[e];if(t)return t.get();throw new Error(\\\"no atom found for record id: \\\"+e)}))}ids(d,t=()=>({}),e=\\\"ids:\\\"+d+(t?\\\":\\\"+t.toString():\\\"\\\")){const u=this.filterHistory(d),p=()=>{u.get();var e=t();return 0===Object.keys(e).length?new Set(objectMapValues(this.atoms.get()).flatMap(e=>{var t=e.get();return t.typeName===d?t.id:[]})):executeQuery(this,d,e)},h=e=>{var t=p(),r=diffSets(e,t);return r?withDiff(t,r):e},m=computed(\\\"ids_query:\\\"+e,t,{isEqual:import_lodash[\\\"default\\\"]});return computed(\\\"query:\\\"+e,(e,t)=>{var r=m.get();if(isUninitialized(e))return p();if(t\u003Cm.lastChangedEpoch)return h(e);var i=u.getDiffSince(t);if(i===RESET_VALUE)return h(e);var n=new IncrementalSetConstructor(e);for(const s of i){for(const l of objectMapValues(s.added))l.typeName===d&&objectMatchesQuery(r,l)&&n.add(l.id);for(var[o,a]of objectMapValues(s.updated))a.typeName===d&&(objectMatchesQuery(r,a)?n.add(a.id):n.remove(a.id));for(const c of objectMapValues(s.removed))c.typeName===d&&n.remove(c.id)}i=n.get();return i?withDiff(i.value,i.diff):e},{historyLength:50})}exec(e,t){var r=executeQuery(this,e,t);if(0===r.size)return EMPTY_ARRAY;const i=this.atoms.get();return[...r].map(e=>i[e].get())}};function devFreeze(e){var t=Object.getPrototypeOf(e);if(t&&t!==Array.prototype&&t!==Object.prototype)throw console.error(\\\"cannot include non-js data in a record\\\",e),new Error(\\\"cannot include non-js data in a record\\\");for(const i of Object.getOwnPropertyNames(e)){var r=e[i];r&&\\\"object\\\"==typeof r&&devFreeze(r)}return Object.freeze(e)}init_esbuild_inject();var Store=class{constructor(e){__publicField(this,\\\"id\\\",nanoid()),__publicField(this,\\\"atoms\\\",atom(\\\"store_atoms\\\",{})),__publicField(this,\\\"history\\\",atom(\\\"history\\\",0,{historyLength:1e3})),__publicField(this,\\\"query\\\",new StoreQueries(this.atoms,this.history)),__publicField(this,\\\"listeners\\\",new Set),__publicField(this,\\\"historyAccumulator\\\",new HistoryAccumulator),__publicField(this,\\\"historyReactor\\\"),__publicField(this,\\\"schema\\\"),__publicField(this,\\\"props\\\"),__publicField(this,\\\"scopedTypes\\\"),__publicField(this,\\\"onBeforeCreate\\\"),__publicField(this,\\\"onAfterCreate\\\"),__publicField(this,\\\"onBeforeChange\\\"),__publicField(this,\\\"onAfterChange\\\"),__publicField(this,\\\"onBeforeDelete\\\"),__publicField(this,\\\"onAfterDelete\\\"),__publicField(this,\\\"_runCallbacks\\\",!0),__publicField(this,\\\"put\\\",(g,_)=>{transact(()=>{var e={},t={},r=this.atoms.__unsafe__getWithoutCapture();let i=null,n,o=!1;var a=this.onBeforeCreate&&this._runCallbacks?this.onBeforeCreate:null,s=this.onBeforeChange&&this._runCallbacks?this.onBeforeChange:null;const l=this.isMergingRemoteChanges?\\\"remote\\\":\\\"user\\\";for(let u=0,p=g.length;u\u003Cp;u++){n=g[u];var c,d=(null!=i?i:r)[n.id];d?(c=d.__unsafe__getWithoutCapture(),s&&(n=s(c,n,l)),n=this.schema.validateRecord(this,n,null!=_?_:\\\"updateRecord\\\",c),d.set(devFreeze(n)),c!==(d=d.__unsafe__getWithoutCapture())&&(o=!0,e[n.id]=[c,d])):(a&&(n=a(n,l)),o=!0,t[(n=this.schema.validateRecord(this,n,null!=_?_:\\\"createRecord\\\",null)).id]=n,(i=i||{...r})[n.id]=atom(\\\"atom:\\\"+n.id,n))}if(i&&this.atoms.set(i),o&&(this.updateHistory({added:t,updated:e,removed:{}}),this._runCallbacks)){const{onAfterCreate:h,onAfterChange:m}=this;h&&Object.values(t).forEach(e=>{h(e,l)}),m&&Object.values(e).forEach(([e,t])=>{m(e,t,l)})}})}),__publicField(this,\\\"remove\\\",a=>{transact(()=>{const i=[];var r,n=this.isMergingRemoteChanges?\\\"remote\\\":\\\"user\\\";if(this.onBeforeDelete&&this._runCallbacks)for(const t of a){var e=this.atoms.__unsafe__getWithoutCapture()[t];e&&!1===this.onBeforeDelete(e.get(),n)&&i.push(t)}let o=void 0;if((this.atoms.update(e=>{let t=void 0;for(const r of a)i.includes(r)||r in e&&(t=t||{...e},o=o||{},delete t[r],o[r]=e[r].get());return null!=t?t:e}),o)&&(this.updateHistory({added:{},updated:{},removed:o}),this.onAfterDelete&&this._runCallbacks))for(let e=0,t=a.length;e\u003Ct;e++)(r=o[a[e]])&&this.onAfterDelete(r,n)})}),__publicField(this,\\\"get\\\",e=>{var t;return null==(t=this.atoms.get()[e])?void 0:t.get()}),__publicField(this,\\\"unsafeGetWithoutCapture\\\",e=>{var t;return null==(t=this.atoms.get()[e])?void 0:t.__unsafe__getWithoutCapture()}),__publicField(this,\\\"serialize\\\",(e=\\\"document\\\")=>{var t,r,i={};for([t,r]of objectMapEntries(this.atoms.get())){var n=r.get();\\\"all\\\"!==e&&!this.scopedTypes[e].has(n.typeName)||(i[t]=n)}return i}),__publicField(this,\\\"allRecords\\\",()=>objectMapValues(this.atoms.get()).map(e=>e.get())),__publicField(this,\\\"clear\\\",()=>{this.remove(objectMapKeys(this.atoms.get()))}),__publicField(this,\\\"update\\\",(e,t)=>{var r=this.atoms.get()[e];r?this.put([t(r.__unsafe__getWithoutCapture())]):console.error(`Record ${e} not found. This is probably an error`)}),__publicField(this,\\\"has\\\",e=>!!this.atoms.get()[e]),__publicField(this,\\\"listen\\\",(e,t)=>{var r;this._flushHistory();const i={onHistory:e,filters:{source:null!=(r=null==t?void 0:t.source)?r:\\\"all\\\",scope:null!=(r=null==t?void 0:t.scope)?r:\\\"all\\\"}};return this.listeners.add(i),this.historyReactor.scheduler.isActivelyListening||this.historyReactor.start(),()=>{this.listeners[\\\"delete\\\"](i),0===this.listeners.size&&this.historyReactor.stop()}}),__publicField(this,\\\"isMergingRemoteChanges\\\",!1),__publicField(this,\\\"mergeRemoteChanges\\\",e=>{if(this.isMergingRemoteChanges)return e();try{this.isMergingRemoteChanges=!0,transact(e)}finally{this.isMergingRemoteChanges=!1}}),__publicField(this,\\\"createComputedCache\\\",(i,n,o)=>{const e=new Cache;return{get:t=>{const r=this.atoms.get()[t];if(r)return e.get(r,()=>{const e=o?computed(r.name+\\\":equals\\\",()=>r.get(),{isEqual:o}):r;return computed(i+\\\":\\\"+t,()=>n(e.get()))}).get()}}}),__publicField(this,\\\"createSelectedComputedCache\\\",(i,n,o)=>{const a=new Cache;return{get:e=>{const t=this.atoms.get()[e];if(t){const r=computed(i+\\\":\\\"+e+\\\":selector\\\",()=>n(t.get()));return a.get(t,()=>computed(i+\\\":\\\"+e,()=>o(r.get()))).get()}}}}),__publicField(this,\\\"getRecordType\\\",e=>{var t=this.schema.types[e.typeName];if(t)return t;throw new Error(`Record type ${e.typeName} not found`)}),__publicField(this,\\\"_integrityChecker\\\"),__publicField(this,\\\"_isPossiblyCorrupted\\\",!1);var{initialData:t,schema:r}=e;this.schema=r,this.props=e.props,t&&this.atoms.set(objectMapFromEntries(objectMapEntries(t).map(([e,t])=>[e,atom(\\\"atom:\\\"+e,devFreeze(this.schema.validateRecord(this,t,\\\"initialize\\\",null)))]))),this.historyReactor=reactor(\\\"Store.historyReactor\\\",()=>{this.history.get(),this._flushHistory()},{scheduleEffect:e=>throttledRaf(e)}),this.scopedTypes={document:new Set(objectMapValues(this.schema.types).filter(e=>\\\"document\\\"===e.scope).map(e=>e.typeName)),session:new Set(objectMapValues(this.schema.types).filter(e=>\\\"session\\\"===e.scope).map(e=>e.typeName)),presence:new Set(objectMapValues(this.schema.types).filter(e=>\\\"presence\\\"===e.scope).map(e=>e.typeName))}}_flushHistory(){var i,n;if(this.historyAccumulator.hasChanges())for({changes:i,source:n}of this.historyAccumulator.flush()){let e=null,t=null,r=null;for(var{onHistory:o,filters:a}of this.listeners)\\\"all\\\"!==a.source&&a.source!==n||(\\\"all\\\"!==a.scope?\\\"document\\\"===a.scope?(null!=t?t:t=this.filterChangesByScope(i,\\\"document\\\"),t&&o({changes:t,source:n})):\\\"session\\\"===a.scope?(null!=e?e:e=this.filterChangesByScope(i,\\\"session\\\"),e&&o({changes:e,source:n})):(null!=r?r:r=this.filterChangesByScope(i,\\\"presence\\\"),r&&o({changes:r,source:n})):o({changes:i,source:n}))}}filterChangesByScope(e,r){var t={added:filterEntries(e.added,(e,t)=>this.scopedTypes[r].has(t.typeName)),updated:filterEntries(e.updated,(e,t)=>this.scopedTypes[r].has(t[1].typeName)),removed:filterEntries(e.removed,(e,t)=>this.scopedTypes[r].has(t.typeName))};return 0===Object.keys(t.added).length&&0===Object.keys(t.updated).length&&0===Object.keys(t.removed).length?null:t}updateHistory(e){this.historyAccumulator.add({changes:e,source:this.isMergingRemoteChanges?\\\"remote\\\":\\\"user\\\"}),0===this.listeners.size&&this.historyAccumulator.clear(),this.history.set(this.history.get()+1,e)}validate(t){this.allRecords().forEach(e=>this.schema.validateRecord(this,e,t,null))}getSnapshot(e=\\\"document\\\"){return{store:this.serialize(e),schema:this.schema.serialize()}}migrateSnapshot(e){var t=this.schema.migrateStoreSnapshot(e);if(\\\"error\\\"===t.type)throw new Error(\\\"Failed to migrate snapshot: \\\"+t.reason);return{store:t.value,schema:this.schema.serialize()}}loadSnapshot(e){const t=this.schema.migrateStoreSnapshot(e);if(\\\"error\\\"===t.type)throw new Error(\\\"Failed to migrate snapshot: \\\"+t.reason);transact(()=>{this.clear(),this.put(Object.values(t.value)),this.ensureStoreIsUsable()})}extractingChanges(e){const t=[];var r=this.historyAccumulator.intercepting(e=>t.push(e.changes));try{return transact(e),squashRecordDiffs(t)}finally{r()}}applyDiff(r,e=!0){var t=this._runCallbacks;try{this._runCallbacks=e,transact(()=>{var e=objectMapValues(r.added).concat(objectMapValues(r.updated).map(([,e])=>e)),t=objectMapKeys(r.removed);e.length&&this.put(e),t.length&&this.remove(t)})}finally{this._runCallbacks=t}}ensureStoreIsUsable(){var e;null==this._integrityChecker&&(this._integrityChecker=this.schema.createIntegrityChecker(this)),null!=(e=this._integrityChecker)&&e.call(this)}markAsPossiblyCorrupted(){this._isPossiblyCorrupted=!0}isPossiblyCorrupted(){return this._isPossiblyCorrupted}};function squashRecordDiffs(e){var t,r={added:{},removed:{},updated:{}};for(const d of e){for(var[i,n]of objectMapEntries(d.added))r.removed[i]?(t=r.removed[i],delete r.removed[i],t!==n&&(r.updated[i]=[t,n])):r.added[i]=n;for(var[o,[a,s]]of objectMapEntries(d.updated))r.added[o]?(r.added[o]=s,delete r.updated[o]):r.updated[o]?r.updated[o]=[r.updated[o][0],s]:r.updated[o]=d.updated[o],delete r.removed[o];for(var[l,c]of objectMapEntries(d.removed))r.added[l]?delete r.added[l]:r.updated[l]?(r.removed[l]=r.updated[l][0],delete r.updated[l]):r.removed[l]=c}return r}function squashHistoryEntries(e){var t,r=[];let i=e[0];for(let n=1,o=e.length;n\u003Co;n++)t=e[n],i=i.source!==t.source?(r.push(i),t):{source:i.source,changes:squashRecordDiffs([i.changes,t.changes])};return r.push(i),devFreeze(r)}var HistoryAccumulator=class{constructor(){__publicField(this,\\\"_history\\\",[]),__publicField(this,\\\"_interceptors\\\",new Set)}intercepting(e){return this._interceptors.add(e),()=>{this._interceptors[\\\"delete\\\"](e)}}add(e){this._history.push(e);for(const t of this._interceptors)t(e)}flush(){var e=squashHistoryEntries(this._history);return this._history=[],e}clear(){this._history=[]}hasChanges(){return 0\u003Cthis._history.length}};function isRecord(e){return\\\"object\\\"==typeof e&&null!==e&&\\\"id\\\"in e&&\\\"typeName\\\"in e}function defineMigrations(e){var{currentVersion:t,firstVersion:r,migrators:i={},subTypeKey:n,subTypeMigrations:o}=e;if(\\\"number\\\"==typeof t&&\\\"number\\\"==typeof r){if(t===r)throw Error(\\\"Current version is equal to initial version.\\\");if(t\u003Cr)throw Error(\\\"Current version is lower than initial version.\\\")}return{firstVersion:null!=r?r:0,currentVersion:null!=t?t:0,migrators:i,subTypeKey:n,subTypeMigrations:o}}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var MigrationFailureReason=(e=>(e.IncompatibleSubtype=\\\"incompatible-subtype\\\",e.UnknownType=\\\"unknown-type\\\",e.TargetVersionTooNew=\\\"target-version-too-new\\\",e.TargetVersionTooOld=\\\"target-version-too-old\\\",e.MigrationError=\\\"migration-error\\\",e.UnrecognizedSubtype=\\\"unrecognized-subtype\\\",e))(MigrationFailureReason||{});function migrateRecord({record:e,migrations:t,fromVersion:r,toVersion:i}){let n=r;if(!isRecord(e))throw new Error(\\\"[migrateRecord] object is not a record\\\");const{typeName:o,id:a,...s}=e;let l=s;for(;n\u003Ci;){var c=n+1,d=t.migrators[c];if(!d)return{type:\\\"error\\\",reason:\\\"target-version-too-new\\\"};l=d.up(l),n=c}for(;n>i;){var u=n-1,p=t.migrators[n];if(!p)return{type:\\\"error\\\",reason:\\\"target-version-too-old\\\"};l=p.down(l),n=u}return{type:\\\"success\\\",value:{...l,id:a,typeName:o}}}function migrate({value:e,migrations:t,fromVersion:r,toVersion:i}){let n=r;for(;n\u003Ci;){var o=n+1,a=t.migrators[o];if(!a)return{type:\\\"error\\\",reason:\\\"target-version-too-new\\\"};e=a.up(e),n=o}for(;n>i;){var s=n-1,l=t.migrators[n];if(!l)return{type:\\\"error\\\",reason:\\\"target-version-too-old\\\"};e=l.down(e),n=s}return{type:\\\"success\\\",value:e}}var StoreSchema=class{constructor(e,t){this.types=e,this.options=t}static create(e,t){return new StoreSchema(e,null!=t?t:{})}get currentStoreVersion(){var e;return null!=(e=null==(e=this.options.snapshotMigrations)?void 0:e.currentVersion)?e:0}validateRecord(e,t,r,i){try{var n=getOwnProperty(this.types,t.typeName);if(n)return n.validate(t);throw new Error(\\\"Missing definition for record type \\\"+t.typeName)}catch(o){if(this.options.onValidationFailure)return this.options.onValidationFailure({store:e,record:t,phase:r,recordBefore:i,error:o});throw o}}migratePersistedRecord(e,t,r=\\\"up\\\"){var i=getOwnProperty(this.types,e.typeName),n=t.recordVersions[e.typeName];if(!n||!i)return{type:\\\"error\\\",reason:MigrationFailureReason.UnknownType};var o=i.migrations.currentVersion,a=n.version;if(o!==a){var o=migrateRecord(\\\"up\\\"===r?{record:e,migrations:i.migrations,fromVersion:a,toVersion:o}:{record:e,migrations:i.migrations,fromVersion:o,toVersion:a});if(\\\"error\\\"===o.type)return o;e=o.value}return i.migrations.subTypeKey?(o=null==(a=i.migrations.subTypeMigrations)?void 0:a[e[i.migrations.subTypeKey]],a=\\\"subTypeVersions\\\"in n?n.subTypeVersions[e[i.migrations.subTypeKey]]:void 0,void 0===o?{type:\\\"error\\\",reason:MigrationFailureReason.UnrecognizedSubtype}:void 0===a?{type:\\\"error\\\",reason:MigrationFailureReason.IncompatibleSubtype}:\\\"error\\\"===(i=migrateRecord(\\\"up\\\"===r?{record:e,migrations:o,fromVersion:a,toVersion:o.currentVersion}:{record:e,migrations:o,fromVersion:o.currentVersion,toVersion:a})).type?i:{type:\\\"success\\\",value:i.value}):{type:\\\"success\\\",value:e}}migrateStoreSnapshot(e){let t=e[\\\"store\\\"];var r=this.options.snapshotMigrations;if(r){var i=r.currentVersion,n=null!=(n=e.schema.storeVersion)?n:0;if(i\u003Cn)return{type:\\\"error\\\",reason:MigrationFailureReason.TargetVersionTooOld};if(n\u003Ci){r=migrate({value:t,migrations:r,fromVersion:n,toVersion:i});if(\\\"error\\\"===r.type)return r;t=r.value}var o=[];for(const s of objectMapValues(t)){var a=this.migratePersistedRecord(s,e.schema);if(\\\"error\\\"===a.type)return a;a.value&&a.value!==s&&o.push(a.value)}if(o.length){t={...t};for(const l of o)t[l.id]=l}}return{type:\\\"success\\\",value:t}}createIntegrityChecker(e){var t,r;return null!=(r=null==(t=(r=this.options).createIntegrityChecker)?void 0:t.call(r,e))?r:void 0}serialize(){var e;return{schemaVersion:1,storeVersion:null!=(e=null==(e=this.options.snapshotMigrations)?void 0:e.currentVersion)?e:0,recordVersions:Object.fromEntries(objectMapValues(this.types).map(e=>[e.typeName,e.migrations.subTypeKey&&e.migrations.subTypeMigrations?{version:e.migrations.currentVersion,subTypeKey:e.migrations.subTypeKey,subTypeVersions:e.migrations.subTypeMigrations?Object.fromEntries(Object.entries(e.migrations.subTypeMigrations).map(([e,t])=>[e,t.currentVersion])):void 0}:{version:e.migrations.currentVersion}]))}}serializeEarliestVersion(){var e;return{schemaVersion:1,storeVersion:null!=(e=null==(e=this.options.snapshotMigrations)?void 0:e.firstVersion)?e:0,recordVersions:Object.fromEntries(objectMapValues(this.types).map(e=>[e.typeName,e.migrations.subTypeKey&&e.migrations.subTypeMigrations?{version:e.migrations.firstVersion,subTypeKey:e.migrations.subTypeKey,subTypeVersions:e.migrations.subTypeMigrations?Object.fromEntries(Object.entries(e.migrations.subTypeMigrations).map(([e,t])=>[e,t.firstVersion])):void 0}:{version:e.migrations.firstVersion}]))}}},compareSchemas=(init_esbuild_inject(),(e,t)=>{if(e.schemaVersion>t.schemaVersion)return 1;if(e.schemaVersion\u003Ct.schemaVersion)return-1;if(e.storeVersion>t.storeVersion)return 1;if(e.storeVersion\u003Ct.storeVersion)return-1;for(const a of Object.keys(e.recordVersions)){var r=e.recordVersions[a],i=t.recordVersions[a];if(r.version>i.version)return 1;if(r.version\u003Ci.version)return-1;if(\\\"subTypeVersions\\\"in r&&!(\\\"subTypeVersions\\\"in i))return 1;if(!(\\\"subTypeVersions\\\"in r)&&\\\"subTypeVersions\\\"in i)return-1;if(\\\"subTypeVersions\\\"in r&&\\\"subTypeVersions\\\"in i)for(const s of Object.keys(r.subTypeVersions)){var n=r.subTypeVersions[s],o=i.subTypeVersions[s];if(o\u003Cn)return 1;if(n\u003Co)return-1}}return 0}),validation_exports=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),{});function formatPath(e){if(!e.length)return null;let t=\\\"\\\";for(const r of e)\\\"number\\\"!=typeof r&&r.startsWith(\\\"(\\\")?t.endsWith(\\\")\\\")?t=t.slice(0,-1)+\\\", \\\"+r.slice(1):t+=r:t+=\\\".\\\"+r;return t.startsWith(\\\".\\\")?t.slice(1):t}__export(validation_exports,{ArrayOfValidator:()=>ArrayOfValidator,DictValidator:()=>DictValidator,ObjectValidator:()=>ObjectValidator,UnionValidator:()=>UnionValidator,ValidationError:()=>ValidationError,Validator:()=>Validator,any:()=>any,array:()=>array,arrayOf:()=>arrayOf,bigint:()=>bigint,\\\"boolean\\\":()=>boolean,dict:()=>dict,integer:()=>integer,jsonDict:()=>jsonDict,jsonValue:()=>jsonValue,literal:()=>literal,literalEnum:()=>literalEnum,model:()=>model,nonZeroInteger:()=>nonZeroInteger,nonZeroNumber:()=>nonZeroNumber,nullable:()=>nullable,number:()=>number,object:()=>object,optional:()=>optional,positiveInteger:()=>positiveInteger,positiveNumber:()=>positiveNumber,setEnum:()=>setEnum,string:()=>string,union:()=>union,unknown:()=>unknown,unknownObject:()=>unknownObject}),init_esbuild_inject();var ValidationError=class extends Error{constructor(e,t=[]){var r=formatPath(t),i=e.split(\\\"\\\\n\\\").map((e,t)=>0===t?e:\\\" \\\"+e).join(\\\"\\\\n\\\");super(t?`At ${r}: `+i:i),__publicField(this,\\\"name\\\",\\\"ValidationError\\\"),this.rawMessage=e,this.path=t}};function prefixError(e,t){try{return t()}catch(r){if(r instanceof ValidationError)throw new ValidationError(r.rawMessage,[e,...r.path]);throw new ValidationError(r.toString(),[e])}}function typeToString(e){if(null===e)return\\\"null\\\";if(Array.isArray(e))return\\\"an array\\\";var t=typeof e;switch(t){case\\\"bigint\\\":case\\\"boolean\\\":case\\\"function\\\":case\\\"number\\\":case\\\"string\\\":case\\\"symbol\\\":return\\\"a \\\"+t;case\\\"object\\\":return\\\"an \\\"+t;case\\\"undefined\\\":return\\\"undefined\\\";default:exhaustiveSwitchError(t)}}var Validator=class{constructor(e){this.validationFn=e}validate(e){var t=this.validationFn(e);if(Object.is(e,t))return t;throw new ValidationError(\\\"Validator functions must return the same value they were passed\\\")}nullable(){return nullable(this)}optional(){return optional(this)}refine(t){return new Validator(e=>t(this.validate(e)))}check(t,r){return\\\"string\\\"==typeof t?this.refine(e=>(prefixError(`(check ${t})`,()=>r(e)),e)):this.refine(e=>(t(e),e))}},ArrayOfValidator=class extends Validator{constructor(i){super(e=>{const t=array.validate(e);for(let r=0;r\u003Ct.length;r++)prefixError(r,()=>i.validate(t[r]));return t}),this.itemValidator=i}nonEmpty(){return this.check(e=>{if(0===e.length)throw new ValidationError(\\\"Expected a non-empty array\\\")})}lengthGreaterThan1(){return this.check(e=>{if(e.length\u003C=1)throw new ValidationError(\\\"Expected an array with length greater than 1\\\")})}},ObjectValidator=class extends Validator{constructor(n,o=!1){super(e=>{if(\\\"object\\\"!=typeof e||null===e)throw new ValidationError(\\\"Expected object, got \\\"+typeToString(e));for(const[t,r]of Object.entries(n))prefixError(t,()=>{r.validate(getOwnProperty(e,t))});if(!o)for(const i of Object.keys(e))if(!hasOwnProperty(n,i))throw new ValidationError(\\\"Unexpected property\\\",[i]);return e}),this.config=n,this.shouldAllowUnknownProperties=o}allowUnknownProperties(){return new ObjectValidator(this.config,!0)}extend(e){return new ObjectValidator({...this.config,...e})}},UnionValidator=class extends Validator{constructor(i,n,e){super(e=>{if(\\\"object\\\"!=typeof e||null===e)throw new ValidationError(\\\"Expected an object, got \\\"+typeToString(e),[]);var t=getOwnProperty(e,i);if(\\\"string\\\"!=typeof t)throw new ValidationError(`Expected a string for key \\\"${i}\\\", got `+typeToString(t));const r=hasOwnProperty(n,t)?n[t]:void 0;return void 0===r?this.unknownValueValidation(e,t):prefixError(`(${i} = ${t})`,()=>r.validate(e))}),this.key=i,this.config=n,this.unknownValueValidation=e}validateUnknownVariants(e){return new UnionValidator(this.key,this.config,e)}},DictValidator=class extends Validator{constructor(i,n){super(e=>{if(\\\"object\\\"!=typeof e||null===e)throw new ValidationError(\\\"Expected object, got \\\"+typeToString(e));for(const[t,r]of Object.entries(e))prefixError(t,()=>{i.validate(t),n.validate(r)});return e}),this.keyValidator=i,this.valueValidator=n}};function typeofValidator(t){return new Validator(e=>{if(typeof e!==t)throw new ValidationError(`Expected ${t}, got `+typeToString(e));return e})}var unknown=new Validator(e=>e),any=new Validator(e=>e),string=typeofValidator(\\\"string\\\"),number=typeofValidator(\\\"number\\\").check(e=>{if(Number.isNaN(e))throw new ValidationError(\\\"Expected a number, got NaN\\\");if(!Number.isFinite(e))throw new ValidationError(\\\"Expected a finite number, got \\\"+e)}),positiveNumber=number.check(e=>{if(e\u003C0)throw new ValidationError(\\\"Expected a positive number, got \\\"+e)}),nonZeroNumber=number.check(e=>{if(e\u003C=0)throw new ValidationError(\\\"Expected a non-zero positive number, got \\\"+e)}),integer=number.check(e=>{if(!Number.isInteger(e))throw new ValidationError(\\\"Expected an integer, got \\\"+e)}),positiveInteger=integer.check(e=>{if(e\u003C0)throw new ValidationError(\\\"Expected a positive integer, got \\\"+e)}),nonZeroInteger=integer.check(e=>{if(e\u003C=0)throw new ValidationError(\\\"Expected a non-zero positive integer, got \\\"+e)}),boolean=typeofValidator(\\\"boolean\\\"),bigint=typeofValidator(\\\"bigint\\\");function literal(t){return new Validator(e=>{if(e!==t)throw new ValidationError(`Expected ${t}, got `+JSON.stringify(e));return t})}var array=new Validator(e=>{if(Array.isArray(e))return e;throw new ValidationError(\\\"Expected an array, got \\\"+typeToString(e))});function arrayOf(e){return new ArrayOfValidator(e)}var unknownObject=new Validator(e=>{if(\\\"object\\\"!=typeof e||null===e)throw new ValidationError(\\\"Expected object, got \\\"+typeToString(e));return e});function object(e){return new ObjectValidator(e)}function isValidJson(e){return null===e||\\\"number\\\"==typeof e||\\\"string\\\"==typeof e||\\\"boolean\\\"==typeof e||(Array.isArray(e)?e.every(isValidJson):\\\"object\\\"==typeof e&&Object.values(e).every(isValidJson))}var jsonValue=new Validator(e=>{if(isValidJson(e))return e;throw new ValidationError(\\\"Expected json serializable value, got \\\"+typeof e)});function jsonDict(){return dict(string,jsonValue)}function dict(e,t){return new DictValidator(e,t)}function union(r,i){return new UnionValidator(r,i,(e,t)=>{throw new ValidationError(`Expected one of ${Object.keys(i).map(e=>JSON.stringify(e)).join(\\\" or \\\")}, got `+JSON.stringify(t),[r])})}function model(t,r){return new Validator(e=>{return prefixError(e&&\\\"object\\\"==typeof e&&\\\"id\\\"in e&&\\\"string\\\"==typeof e.id?`${t}(id = ${e.id})`:t,()=>r.validate(e))})}function setEnum(r){return new Validator(e=>{var t;if(r.has(e))return e;throw t=Array.from(r,e=>JSON.stringify(e)).join(\\\" or \\\"),new ValidationError(`Expected ${t}, got `+e)})}function optional(t){return new Validator(e=>{if(void 0!==e)return t.validate(e)})}function nullable(t){return new Validator(e=>null===e?null:t.validate(e))}function literalEnum(...e){return setEnum(new Set(e))}function idValidator(t){return validation_exports.string.refine(e=>{if(e.startsWith(t+\\\":\\\"))return e;throw new Error(t+` ID must start with \\\"${t}:\\\"`)})}init_esbuild_inject();var assetIdValidator=idValidator(\\\"asset\\\");function createAssetValidator(e,t){return validation_exports.object({id:assetIdValidator,typeName:validation_exports.literal(\\\"asset\\\"),type:validation_exports.literal(e),props:t,meta:validation_exports.jsonValue})}init_esbuild_inject(),init_esbuild_inject();var cameraValidator=validation_exports.model(\\\"camera\\\",validation_exports.object({typeName:validation_exports.literal(\\\"camera\\\"),id:idValidator(\\\"camera\\\"),x:validation_exports.number,y:validation_exports.number,z:validation_exports.number,meta:validation_exports.jsonValue})),cameraVersions={AddMeta:1},cameraMigrations=defineMigrations({currentVersion:cameraVersions.AddMeta,migrators:{[cameraVersions.AddMeta]:{up:e=>({...e,meta:{}}),down:({meta:e,...t})=>({...t})}}}),CameraRecordType=createRecordType(\\\"camera\\\",{validator:cameraValidator,migrations:cameraMigrations,scope:\\\"session\\\"}).withDefaultProperties(()=>({x:0,y:0,z:1,meta:{}})),vecModelValidator=(init_esbuild_inject(),init_esbuild_inject(),validation_exports.object({x:validation_exports.number,y:validation_exports.number,z:validation_exports.number.optional()})),boxModelValidator=validation_exports.object({x:validation_exports.number,y:validation_exports.number,w:validation_exports.number,h:validation_exports.number}),TL_CURSOR_TYPES=(init_esbuild_inject(),new Set([\\\"none\\\",\\\"default\\\",\\\"pointer\\\",\\\"cross\\\",\\\"grab\\\",\\\"rotate\\\",\\\"grabbing\\\",\\\"resize-edge\\\",\\\"resize-corner\\\",\\\"text\\\",\\\"move\\\",\\\"ew-resize\\\",\\\"ns-resize\\\",\\\"nesw-resize\\\",\\\"nwse-resize\\\",\\\"nesw-rotate\\\",\\\"nwse-rotate\\\",\\\"swne-rotate\\\",\\\"senw-rotate\\\",\\\"zoom-in\\\",\\\"zoom-out\\\"])),cursorTypeValidator=validation_exports.setEnum(TL_CURSOR_TYPES),cursorValidator=validation_exports.object({type:cursorTypeValidator,rotation:validation_exports.number}),opacityValidator=(init_esbuild_inject(),validation_exports.number.check(e=>{if(e\u003C0||1\u003Ce)throw new validation_exports.ValidationError(\\\"Opacity must be between 0 and 1\\\")})),TL_CANVAS_UI_COLOR_TYPES=(init_esbuild_inject(),init_esbuild_inject(),new Set([\\\"accent\\\",\\\"white\\\",\\\"black\\\",\\\"selection-stroke\\\",\\\"selection-fill\\\",\\\"laser\\\",\\\"muted-1\\\"])),canvasUiColorTypeValidator=validation_exports.setEnum(TL_CANVAS_UI_COLOR_TYPES),TL_SCRIBBLE_STATES=new Set([\\\"starting\\\",\\\"paused\\\",\\\"active\\\",\\\"stopping\\\"]),scribbleValidator=validation_exports.object({id:validation_exports.string,points:validation_exports.arrayOf(vecModelValidator),size:validation_exports.positiveNumber,color:canvasUiColorTypeValidator,opacity:validation_exports.number,state:validation_exports.setEnum(TL_SCRIBBLE_STATES),delay:validation_exports.number,shrink:validation_exports.number,taper:validation_exports[\\\"boolean\\\"]}),pageIdValidator=(init_esbuild_inject(),idValidator(\\\"page\\\")),pageValidator=validation_exports.model(\\\"page\\\",validation_exports.object({typeName:validation_exports.literal(\\\"page\\\"),id:pageIdValidator,name:validation_exports.string,index:validation_exports.string,meta:validation_exports.jsonValue})),pageVersions={AddMeta:1},pageMigrations=defineMigrations({currentVersion:pageVersions.AddMeta,migrators:{[pageVersions.AddMeta]:{up:e=>({...e,meta:{}}),down:({meta:e,...t})=>({...t})}}}),PageRecordType=createRecordType(\\\"page\\\",{validator:pageValidator,migrations:pageMigrations,scope:\\\"document\\\"}).withDefaultProperties(()=>({meta:{}}));function isPageId(e){return PageRecordType.isId(e)}var instanceIdValidator=idValidator(\\\"instance\\\");function createInstanceRecordType(e){var t,r,i={};for([t,r]of e)i[t]=validation_exports.optional(r);var n=validation_exports.model(\\\"instance\\\",validation_exports.object({typeName:validation_exports.literal(\\\"instance\\\"),id:idValidator(\\\"instance\\\"),currentPageId:pageIdValidator,followingUserId:validation_exports.string.nullable(),brush:boxModelValidator.nullable(),opacityForNextShape:opacityValidator,stylesForNextShape:validation_exports.object(i),cursor:cursorValidator,scribbles:validation_exports.arrayOf(scribbleValidator),isFocusMode:validation_exports[\\\"boolean\\\"],isDebugMode:validation_exports[\\\"boolean\\\"],isToolLocked:validation_exports[\\\"boolean\\\"],exportBackground:validation_exports[\\\"boolean\\\"],screenBounds:boxModelValidator,zoomBrush:boxModelValidator.nullable(),isPenMode:validation_exports[\\\"boolean\\\"],isGridMode:validation_exports[\\\"boolean\\\"],chatMessage:validation_exports.string,isChatting:validation_exports[\\\"boolean\\\"],highlightedUserIds:validation_exports.arrayOf(validation_exports.string),canMoveCamera:validation_exports[\\\"boolean\\\"],isFocused:validation_exports[\\\"boolean\\\"],devicePixelRatio:validation_exports.number,isCoarsePointer:validation_exports[\\\"boolean\\\"],isHoveringCanvas:validation_exports[\\\"boolean\\\"].nullable(),openMenus:validation_exports.arrayOf(validation_exports.string),isChangingStyle:validation_exports[\\\"boolean\\\"],isReadonly:validation_exports[\\\"boolean\\\"],meta:validation_exports.jsonValue}));return createRecordType(\\\"instance\\\",{migrations:instanceMigrations,validator:n,scope:\\\"session\\\"}).withDefaultProperties(()=>({followingUserId:null,opacityForNextShape:1,stylesForNextShape:{},brush:null,scribbles:[],cursor:{type:\\\"default\\\",rotation:0},isFocusMode:!1,exportBackground:!1,isDebugMode:!0,isToolLocked:!1,screenBounds:{x:0,y:0,w:1080,h:720},zoomBrush:null,isGridMode:!1,isPenMode:!1,chatMessage:\\\"\\\",isChatting:!1,highlightedUserIds:[],canMoveCamera:!0,isFocused:!1,devicePixelRatio:\\\"undefined\\\"==typeof window?1:window.devicePixelRatio,isCoarsePointer:!1,isHoveringCanvas:null,openMenus:[],isChangingStyle:!1,isReadonly:!1,meta:{}}))}var instanceVersions={AddTransparentExportBgs:1,RemoveDialog:2,AddToolLockMode:3,RemoveExtraPropsForNextShape:4,AddLabelColor:5,AddFollowingUserId:6,RemoveAlignJustify:7,AddZoom:8,AddVerticalAlign:9,AddScribbleDelay:10,RemoveUserId:11,AddIsPenModeAndIsGridMode:12,HoistOpacity:13,AddChat:14,AddHighlightedUserIds:15,ReplacePropsForNextShapeWithStylesForNextShape:16,AddMeta:17,RemoveCursorColor:18,AddLonelyProperties:19,ReadOnlyReadonly:20,AddHoveringCanvas:21,AddScribbles:22},instanceMigrations=defineMigrations({currentVersion:instanceVersions.AddScribbles,migrators:{[instanceVersions.AddTransparentExportBgs]:{up:e=>({...e,exportBackground:!0}),down:({exportBackground:e,...t})=>t},[instanceVersions.RemoveDialog]:{up:({dialog:e,...t})=>t,down:e=>({...e,dialog:null})},[instanceVersions.AddToolLockMode]:{up:e=>({...e,isToolLocked:!1}),down:({isToolLocked:e,...t})=>t},[instanceVersions.RemoveExtraPropsForNextShape]:{up:({propsForNextShape:e,...t})=>({...t,propsForNextShape:Object.fromEntries(Object.entries(e).filter(([e])=>[\\\"color\\\",\\\"labelColor\\\",\\\"dash\\\",\\\"fill\\\",\\\"size\\\",\\\"font\\\",\\\"align\\\",\\\"verticalAlign\\\",\\\"icon\\\",\\\"geo\\\",\\\"arrowheadStart\\\",\\\"arrowheadEnd\\\",\\\"spline\\\"].includes(e)))}),down:e=>e},[instanceVersions.AddLabelColor]:{up:({propsForNextShape:e,...t})=>({...t,propsForNextShape:{...e,labelColor:\\\"black\\\"}}),down:e=>{const{labelColor:t,...r}=e.propsForNextShape;return{...e,propsForNextShape:{...r}}}},[instanceVersions.AddFollowingUserId]:{up:e=>({...e,followingUserId:null}),down:({followingUserId:e,...t})=>t},[instanceVersions.RemoveAlignJustify]:{up:e=>{let t=e.propsForNextShape.align;return\\\"justify\\\"===t&&(t=\\\"start\\\"),{...e,propsForNextShape:{...e.propsForNextShape,align:t}}},down:e=>({...e})},[instanceVersions.AddZoom]:{up:e=>({...e,zoomBrush:null}),down:({zoomBrush:e,...t})=>t},[instanceVersions.AddVerticalAlign]:{up:e=>({...e,propsForNextShape:{...e.propsForNextShape,verticalAlign:\\\"middle\\\"}}),down:e=>{const{verticalAlign:t,...r}=e.propsForNextShape;return{...e,propsForNextShape:r}}},[instanceVersions.AddScribbleDelay]:{up:e=>null!==e.scribble?{...e,scribble:{...e.scribble,delay:0}}:{...e},down:e=>{if(null===e.scribble)return{...e};{const{delay:t,...r}=e.scribble;return{...e,scribble:r}}}},[instanceVersions.RemoveUserId]:{up:({userId:e,...t})=>t,down:e=>({...e,userId:\\\"user:none\\\"})},[instanceVersions.AddIsPenModeAndIsGridMode]:{up:e=>({...e,isPenMode:!1,isGridMode:!1}),down:({isPenMode:e,isGridMode:t,...r})=>r},[instanceVersions.HoistOpacity]:{up:({propsForNextShape:{opacity:e,...t},...r})=>({...r,opacityForNextShape:Number(null!=e?e:\\\"1\\\"),propsForNextShape:t}),down:({opacityForNextShape:e,...t})=>({...t,propsForNextShape:{...t.propsForNextShape,opacity:e\u003C.175?\\\"0.1\\\":e\u003C.375?\\\"0.25\\\":e\u003C.625?\\\"0.5\\\":e\u003C.875?\\\"0.75\\\":\\\"1\\\"}})},[instanceVersions.AddChat]:{up:e=>({...e,chatMessage:\\\"\\\",isChatting:!1}),down:({chatMessage:e,isChatting:t,...r})=>r},[instanceVersions.AddHighlightedUserIds]:{up:e=>({...e,highlightedUserIds:[]}),down:({highlightedUserIds:e,...t})=>t},[instanceVersions.ReplacePropsForNextShapeWithStylesForNextShape]:{up:({propsForNextShape:e,...t})=>({...t,stylesForNextShape:{}}),down:({stylesForNextShape:e,...t})=>({...t,propsForNextShape:{color:\\\"black\\\",labelColor:\\\"black\\\",dash:\\\"draw\\\",fill:\\\"none\\\",size:\\\"m\\\",icon:\\\"file\\\",font:\\\"draw\\\",align:\\\"middle\\\",verticalAlign:\\\"middle\\\",geo:\\\"rectangle\\\",arrowheadStart:\\\"none\\\",arrowheadEnd:\\\"arrow\\\",spline:\\\"line\\\"}})},[instanceVersions.AddMeta]:{up:e=>({...e,meta:{}}),down:({meta:e,...t})=>({...t})},[instanceVersions.RemoveCursorColor]:{up:e=>{const{color:t,...r}=e.cursor;return{...e,cursor:r}},down:e=>({...e,cursor:{...e.cursor,color:\\\"black\\\"}})},[instanceVersions.AddLonelyProperties]:{up:e=>({...e,canMoveCamera:!0,isFocused:!1,devicePixelRatio:1,isCoarsePointer:!1,openMenus:[],isChangingStyle:!1,isReadOnly:!1}),down:({canMoveCamera:e,isFocused:t,devicePixelRatio:r,isCoarsePointer:i,openMenus:n,isChangingStyle:o,isReadOnly:a,...s})=>({...s})},[instanceVersions.ReadOnlyReadonly]:{up:({isReadOnly:e,...t})=>({...t,isReadonly:e}),down:({isReadonly:e,...t})=>({...t,isReadOnly:e})},[instanceVersions.AddHoveringCanvas]:{up:e=>({...e,isHoveringCanvas:null}),down:({isHoveringCanvas:e,...t})=>({...t})},[instanceVersions.AddScribbles]:{up:({scribble:e,...t})=>({...t,scribbles:[]}),down:({scribbles:e,...t})=>({...t,scribble:null})}}}),TLINSTANCE_ID=\\\"instance:instance\\\",parentIdValidator=(init_esbuild_inject(),init_esbuild_inject(),validation_exports.string.refine(e=>{if(e.startsWith(\\\"page:\\\")||e.startsWith(\\\"shape:\\\"))return e;throw new Error('Parent ID must start with \\\"page:\\\" or \\\"shape:\\\"')})),shapeIdValidator=idValidator(\\\"shape\\\");function createShapeValidator(e,t,r){return validation_exports.object({id:shapeIdValidator,typeName:validation_exports.literal(\\\"shape\\\"),x:validation_exports.number,y:validation_exports.number,rotation:validation_exports.number,index:validation_exports.string,parentId:parentIdValidator,type:validation_exports.literal(e),isLocked:validation_exports[\\\"boolean\\\"],opacity:opacityValidator,props:t?validation_exports.object(t):validation_exports.jsonValue,meta:r?validation_exports.object(r):validation_exports.jsonValue})}var instancePageStateValidator=validation_exports.model(\\\"instance_page_state\\\",validation_exports.object({typeName:validation_exports.literal(\\\"instance_page_state\\\"),id:idValidator(\\\"instance_page_state\\\"),pageId:pageIdValidator,selectedShapeIds:validation_exports.arrayOf(shapeIdValidator),hintingShapeIds:validation_exports.arrayOf(shapeIdValidator),erasingShapeIds:validation_exports.arrayOf(shapeIdValidator),hoveredShapeId:shapeIdValidator.nullable(),editingShapeId:shapeIdValidator.nullable(),croppingShapeId:shapeIdValidator.nullable(),focusedGroupId:shapeIdValidator.nullable(),meta:validation_exports.jsonValue})),instancePageStateVersions={AddCroppingId:1,RemoveInstanceIdAndCameraId:2,AddMeta:3,RenameProperties:4,RenamePropertiesAgain:5},instancePageStateMigrations=defineMigrations({currentVersion:instancePageStateVersions.RenamePropertiesAgain,migrators:{[instancePageStateVersions.AddCroppingId]:{up(e){return{...e,croppingShapeId:null}},down({croppingShapeId:e,...t}){return t}},[instancePageStateVersions.RemoveInstanceIdAndCameraId]:{up({instanceId:e,cameraId:t,...r}){return r},down(e){return{...e,instanceId:TLINSTANCE_ID,cameraId:CameraRecordType.createId(\\\"void\\\")}}},[instancePageStateVersions.AddMeta]:{up:e=>({...e,meta:{}}),down:({meta:e,...t})=>({...t})},[instancePageStateVersions.RenameProperties]:{up:e=>{const{selectedShapeIds:t,hintingShapeIds:r,erasingShapeIds:i,hoveredShapeId:n,editingShapeId:o,croppingShapeId:a,focusedGroupId:s,...l}=e;return{selectedShapeIds:t,hintingShapeIds:r,erasingShapeIds:i,hoveredShapeId:n,editingShapeId:o,croppingShapeId:a,focusedGroupId:s,...l}},down:e=>{const{selectedShapeIds:t,hintingShapeIds:r,erasingShapeIds:i,hoveredShapeId:n,editingShapeId:o,croppingShapeId:a,focusedGroupId:s,...l}=e;return{selectedShapeIds:t,hintingShapeIds:r,erasingShapeIds:i,hoveredShapeId:n,editingShapeId:o,croppingShapeId:a,focusedGroupId:s,...l}}},[instancePageStateVersions.RenamePropertiesAgain]:{up:e=>{var t;const{selectedIds:r,hintingIds:i,erasingIds:n,hoveredId:o,editingId:a,croppingShapeId:s,croppingId:l,focusLayerId:c,...d}=e;return{...d,selectedShapeIds:r,hintingShapeIds:i,erasingShapeIds:n,hoveredShapeId:o,editingShapeId:a,croppingShapeId:null!=(t=null!=s?s:l)?t:null,focusedGroupId:c}},down:e=>{const{selectedShapeIds:t,hintingShapeIds:r,erasingShapeIds:i,hoveredShapeId:n,editingShapeId:o,croppingShapeId:a,focusedGroupId:s,...l}=e;return{...l,selectedIds:t,hintingIds:r,erasingIds:i,hoveredId:n,editingId:o,croppingId:a,focusLayerId:s}}}}}),InstancePageStateRecordType=createRecordType(\\\"instance_page_state\\\",{migrations:instancePageStateMigrations,validator:instancePageStateValidator,scope:\\\"session\\\"}).withDefaultProperties(()=>({editingShapeId:null,croppingShapeId:null,selectedShapeIds:[],hoveredShapeId:null,erasingShapeIds:[],hintingShapeIds:[],focusedGroupId:null,meta:{}})),pointerValidator=(init_esbuild_inject(),validation_exports.model(\\\"pointer\\\",validation_exports.object({typeName:validation_exports.literal(\\\"pointer\\\"),id:idValidator(\\\"pointer\\\"),x:validation_exports.number,y:validation_exports.number,lastActivityTimestamp:validation_exports.number,meta:validation_exports.jsonValue}))),pointerVersions={AddMeta:1},pointerMigrations=defineMigrations({currentVersion:pointerVersions.AddMeta,migrators:{[pointerVersions.AddMeta]:{up:e=>({...e,meta:{}}),down:({meta:e,...t})=>({...t})}}}),PointerRecordType=createRecordType(\\\"pointer\\\",{validator:pointerValidator,migrations:pointerMigrations,scope:\\\"session\\\"}).withDefaultProperties(()=>({x:0,y:0,lastActivityTimestamp:0,meta:{}})),TLPOINTER_ID=PointerRecordType.createId(\\\"pointer\\\"),instancePresenceValidator=(init_esbuild_inject(),validation_exports.model(\\\"instance_presence\\\",validation_exports.object({typeName:validation_exports.literal(\\\"instance_presence\\\"),id:idValidator(\\\"instance_presence\\\"),userId:validation_exports.string,userName:validation_exports.string,lastActivityTimestamp:validation_exports.number,followingUserId:validation_exports.string.nullable(),cursor:validation_exports.object({x:validation_exports.number,y:validation_exports.number,type:cursorTypeValidator,rotation:validation_exports.number}),color:validation_exports.string,camera:validation_exports.object({x:validation_exports.number,y:validation_exports.number,z:validation_exports.number}),screenBounds:boxModelValidator,selectedShapeIds:validation_exports.arrayOf(idValidator(\\\"shape\\\")),currentPageId:idValidator(\\\"page\\\"),brush:boxModelValidator.nullable(),scribbles:validation_exports.arrayOf(scribbleValidator),chatMessage:validation_exports.string,meta:validation_exports.jsonValue}))),instancePresenceVersions={AddScribbleDelay:1,RemoveInstanceId:2,AddChatMessage:3,AddMeta:4,RenameSelectedShapeIds:5},instancePresenceMigrations=defineMigrations({currentVersion:instancePresenceVersions.RenameSelectedShapeIds,migrators:{[instancePresenceVersions.AddScribbleDelay]:{up:e=>null!==e.scribble?{...e,scribble:{...e.scribble,delay:0}}:{...e},down:e=>{if(null===e.scribble)return{...e};{const{delay:t,...r}=e.scribble;return{...e,scribble:r}}}},[instancePresenceVersions.RemoveInstanceId]:{up:({instanceId:e,...t})=>t,down:e=>({...e,instanceId:TLINSTANCE_ID})},[instancePresenceVersions.AddChatMessage]:{up:e=>({...e,chatMessage:\\\"\\\"}),down:({chatMessage:e,...t})=>t},[instancePresenceVersions.AddMeta]:{up:e=>({...e,meta:{}}),down:({meta:e,...t})=>({...t})},[instancePresenceVersions.RenameSelectedShapeIds]:{up:e=>{const{selectedShapeIds:t,...r}=e;return{selectedShapeIds:t,...r}},down:e=>{const{selectedShapeIds:t,...r}=e;return{selectedShapeIds:t,...r}}}}}),InstancePresenceRecordType=createRecordType(\\\"instance_presence\\\",{migrations:instancePresenceMigrations,validator:instancePresenceValidator,scope:\\\"presence\\\"}).withDefaultProperties(()=>({lastActivityTimestamp:0,followingUserId:null,color:\\\"#FF0000\\\",camera:{x:0,y:0,z:1},cursor:{x:0,y:0,type:\\\"default\\\",rotation:0},screenBounds:{x:0,y:0,w:1,h:1},selectedShapeIds:[],brush:null,scribbles:[],chatMessage:\\\"\\\",meta:{}})),documentValidator=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),validation_exports.model(\\\"document\\\",validation_exports.object({typeName:validation_exports.literal(\\\"document\\\"),id:validation_exports.literal(\\\"document:document\\\"),gridSize:validation_exports.number,name:validation_exports.string,meta:validation_exports.jsonValue}))),documentVersions={AddName:1,AddMeta:2},documentMigrations=defineMigrations({currentVersion:documentVersions.AddMeta,migrators:{[documentVersions.AddName]:{up:e=>({...e,name:\\\"\\\"}),down:({name:e,...t})=>t},[documentVersions.AddMeta]:{up:e=>({...e,meta:{}}),down:({meta:e,...t})=>({...t})}}}),DocumentRecordType=createRecordType(\\\"document\\\",{migrations:documentMigrations,validator:documentValidator,scope:\\\"document\\\"}).withDefaultProperties(()=>({gridSize:10,name:\\\"\\\",meta:{}})),TLDOCUMENT_ID=DocumentRecordType.createId(\\\"document\\\");function sortByIndex(e,t){return e.index\u003Ct.index?-1:e.index>t.index?1:0}function redactRecordForErrorReporting(e){\\\"asset\\\"===e.typeName&&(\\\"src\\\"in e&&(e.src=\\\"\u003Credacted>\\\"),\\\"src\\\"in e.props)&&(e.props.src=\\\"\u003Credacted>\\\")}var onValidationFailure=({error:e,phase:t,record:r,recordBefore:i})=>{throw annotateError(e,{tags:{origin:\\\"store.validateRecord\\\",storePhase:t,isExistingValidationIssue:\\\"initialize\\\"===t},extras:{recordBefore:i?redactRecordForErrorReporting(structuredClone2(i)):void 0,recordAfter:redactRecordForErrorReporting(structuredClone2(r))}}),e};function getDefaultPages(){return[PageRecordType.create({id:\\\"page:page\\\",name:\\\"Page 1\\\",index:\\\"a1\\\",meta:{}})]}function createIntegrityChecker(s){const l=s.query.ids(\\\"page\\\"),c=()=>{if(!s.has(TLDOCUMENT_ID))return s.put([DocumentRecordType.create({id:TLDOCUMENT_ID,name:s.props.defaultName})]),c();if(!s.has(TLPOINTER_ID))return s.put([PointerRecordType.create({id:TLPOINTER_ID})]),c();const e=l.get();if(0===e.size)return s.put(getDefaultPages()),c();var t=()=>[...e].map(e=>s.get(e)).sort(sortByIndex)[0].id,r=s.get(TLINSTANCE_ID);if(!r)return s.put([s.schema.types.instance.create({id:TLINSTANCE_ID,currentPageId:t(),exportBackground:!0})]),c();if(!e.has(r.currentPageId))return s.put([{...r,currentPageId:t()}]),c();var i=new Set,n=new Set;for(const a of e){var o=InstancePageStateRecordType.createId(a),o=(s.has(o)||i.add(o),CameraRecordType.createId(a));s.has(o)||n.add(o)}0\u003Ci.size&&s.put([...i].map(e=>InstancePageStateRecordType.create({id:e,pageId:InstancePageStateRecordType.parseId(e)}))),0\u003Cn.size&&s.put([...n].map(e=>CameraRecordType.create({id:e})))};return c}init_esbuild_inject(),init_esbuild_inject();var bookmarkAssetValidator=createAssetValidator(\\\"bookmark\\\",validation_exports.object({title:validation_exports.string,description:validation_exports.string,image:validation_exports.string,src:validation_exports.string.nullable()})),bookmarkAssetMigrations=defineMigrations({}),imageAssetValidator=(init_esbuild_inject(),createAssetValidator(\\\"image\\\",validation_exports.object({w:validation_exports.number,h:validation_exports.number,name:validation_exports.string,isAnimated:validation_exports[\\\"boolean\\\"],mimeType:validation_exports.string.nullable(),src:validation_exports.string.nullable()}))),Versions={AddIsAnimated:1,RenameWidthHeight:2},imageAssetMigrations=defineMigrations({currentVersion:Versions.RenameWidthHeight,migrators:{[Versions.AddIsAnimated]:{up:e=>({...e,props:{...e.props,isAnimated:!1}}),down:e=>{const{isAnimated:t,...r}=e.props;return{...e,props:r}}},[Versions.RenameWidthHeight]:{up:e=>{const{width:t,height:r,...i}=e.props;return{...e,props:{w:t,h:r,...i}}},down:e=>{const{w:t,h:r,...i}=e.props;return{...e,props:{width:t,height:r,...i}}}}}}),videoAssetValidator=(init_esbuild_inject(),createAssetValidator(\\\"video\\\",validation_exports.object({w:validation_exports.number,h:validation_exports.number,name:validation_exports.string,isAnimated:validation_exports[\\\"boolean\\\"],mimeType:validation_exports.string.nullable(),src:validation_exports.string.nullable()}))),Versions2={AddIsAnimated:1,RenameWidthHeight:2},videoAssetMigrations=defineMigrations({currentVersion:Versions2.RenameWidthHeight,migrators:{[Versions2.AddIsAnimated]:{up:e=>({...e,props:{...e.props,isAnimated:!1}}),down:e=>{const{isAnimated:t,...r}=e.props;return{...e,props:r}}},[Versions2.RenameWidthHeight]:{up:e=>{const{width:t,height:r,...i}=e.props;return{...e,props:{w:t,h:r,...i}}},down:e=>{const{w:t,h:r,...i}=e.props;return{...e,props:{width:t,height:r,...i}}}}}}),assetValidator=validation_exports.model(\\\"asset\\\",validation_exports.union(\\\"type\\\",{image:imageAssetValidator,video:videoAssetValidator,bookmark:bookmarkAssetValidator})),assetVersions={AddMeta:1},assetMigrations=defineMigrations({subTypeKey:\\\"type\\\",subTypeMigrations:{image:imageAssetMigrations,video:videoAssetMigrations,bookmark:bookmarkAssetMigrations},currentVersion:assetVersions.AddMeta,migrators:{[assetVersions.AddMeta]:{up:e=>({...e,meta:{}}),down:({meta:e,...t})=>({...t})}}}),AssetRecordType=createRecordType(\\\"asset\\\",{migrations:assetMigrations,validator:assetValidator,scope:\\\"document\\\"}).withDefaultProperties(()=>({meta:{}})),StyleProp=(init_esbuild_inject(),init_esbuild_inject(),class{constructor(e,t,r){this.id=e,this.defaultValue=t,this.type=r}static define(e,t){var{defaultValue:r,type:i=validation_exports.any}=t;return new StyleProp(e,r,i)}static defineEnum(e,t){var{defaultValue:r,values:i}=t;return new EnumStyleProp(e,r,i)}validate(e){return this.type.validate(e)}}),EnumStyleProp=class extends StyleProp{constructor(e,t,r){super(e,t,validation_exports.literalEnum(...r)),this.values=r}},rootShapeVersions={AddIsLocked:1,HoistOpacity:2,AddMeta:3},rootShapeMigrations=defineMigrations({currentVersion:rootShapeVersions.AddMeta,migrators:{[rootShapeVersions.AddIsLocked]:{up:e=>({...e,isLocked:!1}),down:e=>{const{isLocked:t,...r}=e;return{...r}}},[rootShapeVersions.HoistOpacity]:{up:({props:{opacity:e,...t},...r})=>({...r,opacity:Number(null!=e?e:\\\"1\\\"),props:t}),down:({opacity:e,...t})=>({...t,props:{...t.props,opacity:e\u003C.175?\\\"0.1\\\":e\u003C.375?\\\"0.25\\\":e\u003C.625?\\\"0.5\\\":e\u003C.875?\\\"0.75\\\":\\\"1\\\"}})},[rootShapeVersions.AddMeta]:{up:e=>({...e,meta:{}}),down:({meta:e,...t})=>({...t})}}});function isShape(e){return!!e&&\\\"shape\\\"===e.typeName}function isShapeId(e){return!!e&&e.startsWith(\\\"shape:\\\")}function createShapeId(e){return\\\"shape:\\\"+(null!=e?e:nanoid())}function getShapePropKeysByStyle(e){var t,r,i=new Map;for([t,r]of Object.entries(e))if(r instanceof StyleProp){if(i.has(r))throw new Error(`Duplicate style prop ${r.id}. Each style prop can only be used once within a shape.`);i.set(r,t)}return i}function createShapeRecordType(e){return createRecordType(\\\"shape\\\",{migrations:defineMigrations({currentVersion:rootShapeMigrations.currentVersion,firstVersion:rootShapeMigrations.firstVersion,migrators:rootShapeMigrations.migrators,subTypeKey:\\\"type\\\",subTypeMigrations:mapObjectMapValues(e,(e,t)=>{var r;return null!=(r=t.migrations)?r:defineMigrations({})})}),scope:\\\"document\\\",validator:validation_exports.model(\\\"shape\\\",validation_exports.union(\\\"type\\\",mapObjectMapValues(e,(e,{props:t,meta:r})=>createShapeValidator(e,t,r))))}).withDefaultProperties(()=>({x:0,y:0,rotation:0,isLocked:!1,opacity:1,meta:{}}))}init_esbuild_inject();var Versions3={RemoveCodeAndIconShapeTypes:1,AddInstancePresenceType:2,RemoveTLUserAndPresenceAndAddPointer:3,RemoveUserDocument:4},storeMigrations=defineMigrations({currentVersion:Versions3.RemoveUserDocument,migrators:{[Versions3.RemoveCodeAndIconShapeTypes]:{up:e=>Object.fromEntries(Object.entries(e).filter(([,e])=>\\\"shape\\\"!==e.typeName||\\\"icon\\\"!==e.type&&\\\"code\\\"!==e.type)),down:e=>e},[Versions3.AddInstancePresenceType]:{up:e=>e,down:e=>Object.fromEntries(Object.entries(e).filter(([,e])=>\\\"instance_presence\\\"!==e.typeName))},[Versions3.RemoveTLUserAndPresenceAndAddPointer]:{up:e=>Object.fromEntries(Object.entries(e).filter(([,e])=>!e.typeName.match(/^(user|user_presence)$/))),down:e=>Object.fromEntries(Object.entries(e).filter(([,e])=>\\\"pointer\\\"!==e.typeName))},[Versions3.RemoveUserDocument]:{up:e=>Object.fromEntries(Object.entries(e).filter(([,e])=>!e.typeName.match(\\\"user_document\\\"))),down:e=>e}}});function createTLSchema({shapes:e}){var t,r=new Map;for(const o of objectMapValues(e))for(const a of getShapePropKeysByStyle(null!=(t=o.props)?t:{}).keys()){if(r.has(a.id)&&r.get(a.id)!==a)throw new Error(\\\"Multiple StyleProp instances with the same id: \\\"+a.id);r.set(a.id,a)}var i=createShapeRecordType(e),n=createInstanceRecordType(r);return StoreSchema.create({asset:AssetRecordType,camera:CameraRecordType,document:DocumentRecordType,instance:n,instance_page_state:InstancePageStateRecordType,page:PageRecordType,shape:i,instance_presence:InstancePresenceRecordType,pointer:PointerRecordType},{snapshotMigrations:storeMigrations,onValidationFailure:onValidationFailure,createIntegrityChecker:createIntegrityChecker})}init_esbuild_inject(),init_esbuild_inject();var colors=[\\\"black\\\",\\\"grey\\\",\\\"light-violet\\\",\\\"violet\\\",\\\"blue\\\",\\\"light-blue\\\",\\\"yellow\\\",\\\"orange\\\",\\\"green\\\",\\\"light-green\\\",\\\"light-red\\\",\\\"red\\\"],DefaultColorThemePalette={lightMode:{id:\\\"light\\\",text:\\\"#000000\\\",background:\\\"rgb(249, 250, 251)\\\",solid:\\\"#fcfffe\\\",black:{solid:\\\"#1d1d1d\\\",semi:\\\"#e8e8e8\\\",pattern:\\\"#494949\\\",highlight:{srgb:\\\"#fddd00\\\",p3:\\\"color(display-p3 0.972 0.8705 0.05)\\\"}},blue:{solid:\\\"#4263eb\\\",semi:\\\"#dce1f8\\\",pattern:\\\"#6681ee\\\",highlight:{srgb:\\\"#10acff\\\",p3:\\\"color(display-p3 0.308 0.6632 0.9996)\\\"}},green:{solid:\\\"#099268\\\",semi:\\\"#d3e9e3\\\",pattern:\\\"#39a785\\\",highlight:{srgb:\\\"#00ffc8\\\",p3:\\\"color(display-p3 0.2536 0.984 0.7981)\\\"}},grey:{solid:\\\"#adb5bd\\\",semi:\\\"#eceef0\\\",pattern:\\\"#bcc3c9\\\",highlight:{srgb:\\\"#cbe7f1\\\",p3:\\\"color(display-p3 0.8163 0.9023 0.9416)\\\"}},\\\"light-blue\\\":{solid:\\\"#4dabf7\\\",semi:\\\"#ddedfa\\\",pattern:\\\"#6fbbf8\\\",highlight:{srgb:\\\"#00f4ff\\\",p3:\\\"color(display-p3 0.1512 0.9414 0.9996)\\\"}},\\\"light-green\\\":{solid:\\\"#40c057\\\",semi:\\\"#dbf0e0\\\",pattern:\\\"#65cb78\\\",highlight:{srgb:\\\"#65f641\\\",p3:\\\"color(display-p3 0.563 0.9495 0.3857)\\\"}},\\\"light-red\\\":{solid:\\\"#ff8787\\\",semi:\\\"#f4dadb\\\",pattern:\\\"#fe9e9e\\\",highlight:{srgb:\\\"#ff7fa3\\\",p3:\\\"color(display-p3 0.9988 0.5301 0.6397)\\\"}},\\\"light-violet\\\":{solid:\\\"#e599f7\\\",semi:\\\"#f5eafa\\\",pattern:\\\"#e9acf8\\\",highlight:{srgb:\\\"#ff88ff\\\",p3:\\\"color(display-p3 0.9676 0.5652 0.9999)\\\"}},orange:{solid:\\\"#f76707\\\",semi:\\\"#f8e2d4\\\",pattern:\\\"#f78438\\\",highlight:{srgb:\\\"#ffa500\\\",p3:\\\"color(display-p3 0.9988 0.6905 0.266)\\\"}},red:{solid:\\\"#e03131\\\",semi:\\\"#f4dadb\\\",pattern:\\\"#e55959\\\",highlight:{srgb:\\\"#ff636e\\\",p3:\\\"color(display-p3 0.9992 0.4376 0.45)\\\"}},violet:{solid:\\\"#ae3ec9\\\",semi:\\\"#ecdcf2\\\",pattern:\\\"#bd63d3\\\",highlight:{srgb:\\\"#c77cff\\\",p3:\\\"color(display-p3 0.7469 0.5089 0.9995)\\\"}},yellow:{solid:\\\"#ffc078\\\",semi:\\\"#f9f0e6\\\",pattern:\\\"#fecb92\\\",highlight:{srgb:\\\"#fddd00\\\",p3:\\\"color(display-p3 0.972 0.8705 0.05)\\\"}}},darkMode:{id:\\\"dark\\\",text:\\\"#f8f9fa\\\",background:\\\"#212529\\\",solid:\\\"#28292e\\\",black:{solid:\\\"#e1e1e1\\\",semi:\\\"#2c3036\\\",pattern:\\\"#989898\\\",highlight:{srgb:\\\"#d2b700\\\",p3:\\\"color(display-p3 0.8078 0.7225 0.0312)\\\"}},blue:{solid:\\\"#4156be\\\",semi:\\\"#262d40\\\",pattern:\\\"#3a4b9e\\\",highlight:{srgb:\\\"#0079d2\\\",p3:\\\"color(display-p3 0.0032 0.4655 0.7991)\\\"}},green:{solid:\\\"#3b7b5e\\\",semi:\\\"#253231\\\",pattern:\\\"#366a53\\\",highlight:{srgb:\\\"#009774\\\",p3:\\\"color(display-p3 0.0085 0.582 0.4604)\\\"}},grey:{solid:\\\"#93989f\\\",semi:\\\"#33373c\\\",pattern:\\\"#7c8187\\\",highlight:{srgb:\\\"#9cb4cb\\\",p3:\\\"color(display-p3 0.6299 0.7012 0.7856)\\\"}},\\\"light-blue\\\":{solid:\\\"#588fc9\\\",semi:\\\"#2a3642\\\",pattern:\\\"#4d7aa9\\\",highlight:{srgb:\\\"#00bdc8\\\",p3:\\\"color(display-p3 0.0023 0.7259 0.7735)\\\"}},\\\"light-green\\\":{solid:\\\"#599f57\\\",semi:\\\"#2a3830\\\",pattern:\\\"#4e874e\\\",highlight:{srgb:\\\"#00a000\\\",p3:\\\"color(display-p3 0.2711 0.6172 0.0195)\\\"}},\\\"light-red\\\":{solid:\\\"#c67877\\\",semi:\\\"#3b3235\\\",pattern:\\\"#a56767\\\",highlight:{srgb:\\\"#db005b\\\",p3:\\\"color(display-p3 0.7849 0.0585 0.3589)\\\"}},\\\"light-violet\\\":{solid:\\\"#b583c9\\\",semi:\\\"#383442\\\",pattern:\\\"#9770a9\\\",highlight:{srgb:\\\"#c400c7\\\",p3:\\\"color(display-p3 0.7024 0.0403 0.753)\\\"}},orange:{solid:\\\"#bf612e\\\",semi:\\\"#3a2e2a\\\",pattern:\\\"#9f552d\\\",highlight:{srgb:\\\"#d07a00\\\",p3:\\\"color(display-p3 0.7699 0.4937 0.0085)\\\"}},red:{solid:\\\"#aa3c37\\\",semi:\\\"#36292b\\\",pattern:\\\"#8f3734\\\",highlight:{srgb:\\\"#de002c\\\",p3:\\\"color(display-p3 0.7978 0.0509 0.2035)\\\"}},violet:{solid:\\\"#873fa3\\\",semi:\\\"#31293c\\\",pattern:\\\"#763a8b\\\",highlight:{srgb:\\\"#9e00ee\\\",p3:\\\"color(display-p3 0.5651 0.0079 0.8986)\\\"}},yellow:{solid:\\\"#cba371\\\",semi:\\\"#3c3934\\\",pattern:\\\"#fecb92\\\",highlight:{srgb:\\\"#d2b700\\\",p3:\\\"color(display-p3 0.8078 0.7225 0.0312)\\\"}}}};function getDefaultColorTheme(e){return e.isDarkMode?DefaultColorThemePalette.darkMode:DefaultColorThemePalette.lightMode}var DefaultColorStyle=StyleProp.defineEnum(\\\"tldraw:color\\\",{defaultValue:\\\"black\\\",values:colors}),DefaultLabelColorStyle=StyleProp.defineEnum(\\\"tldraw:labelColor\\\",{defaultValue:\\\"black\\\",values:colors}),DefaultDashStyle=(init_esbuild_inject(),StyleProp.defineEnum(\\\"tldraw:dash\\\",{defaultValue:\\\"draw\\\",values:[\\\"draw\\\",\\\"solid\\\",\\\"dashed\\\",\\\"dotted\\\"]})),DefaultFillStyle=(init_esbuild_inject(),StyleProp.defineEnum(\\\"tldraw:fill\\\",{defaultValue:\\\"none\\\",values:[\\\"none\\\",\\\"semi\\\",\\\"solid\\\",\\\"pattern\\\"]})),DefaultFontStyle=(init_esbuild_inject(),StyleProp.defineEnum(\\\"tldraw:font\\\",{defaultValue:\\\"draw\\\",values:[\\\"draw\\\",\\\"sans\\\",\\\"serif\\\",\\\"mono\\\"]})),DefaultFontFamilies={draw:\\\"'tldraw_draw', sans-serif\\\",sans:\\\"'tldraw_sans', sans-serif\\\",serif:\\\"'tldraw_serif', serif\\\",mono:\\\"'tldraw_mono', monospace\\\"},DefaultSizeStyle=(init_esbuild_inject(),StyleProp.defineEnum(\\\"tldraw:size\\\",{defaultValue:\\\"m\\\",values:[\\\"s\\\",\\\"m\\\",\\\"l\\\",\\\"xl\\\"]})),arrowheadTypes=[\\\"arrow\\\",\\\"triangle\\\",\\\"square\\\",\\\"dot\\\",\\\"pipe\\\",\\\"diamond\\\",\\\"inverted\\\",\\\"bar\\\",\\\"none\\\"],ArrowShapeArrowheadStartStyle=StyleProp.defineEnum(\\\"tldraw:arrowheadStart\\\",{defaultValue:\\\"none\\\",values:arrowheadTypes}),ArrowShapeArrowheadEndStyle=StyleProp.defineEnum(\\\"tldraw:arrowheadEnd\\\",{defaultValue:\\\"arrow\\\",values:arrowheadTypes}),ArrowShapeTerminal=validation_exports.union(\\\"type\\\",{binding:validation_exports.object({type:validation_exports.literal(\\\"binding\\\"),boundShapeId:shapeIdValidator,normalizedAnchor:vecModelValidator,isExact:validation_exports[\\\"boolean\\\"],isPrecise:validation_exports[\\\"boolean\\\"]}),point:validation_exports.object({type:validation_exports.literal(\\\"point\\\"),x:validation_exports.number,y:validation_exports.number})}),arrowShapeProps={labelColor:DefaultLabelColorStyle,color:DefaultColorStyle,fill:DefaultFillStyle,dash:DefaultDashStyle,size:DefaultSizeStyle,arrowheadStart:ArrowShapeArrowheadStartStyle,arrowheadEnd:ArrowShapeArrowheadEndStyle,font:DefaultFontStyle,start:ArrowShapeTerminal,end:ArrowShapeTerminal,bend:validation_exports.number,text:validation_exports.string},ArrowMigrationVersions={AddLabelColor:1,AddIsPrecise:2},arrowShapeMigrations=defineMigrations({currentVersion:ArrowMigrationVersions.AddIsPrecise,migrators:{[ArrowMigrationVersions.AddLabelColor]:{up:e=>({...e,props:{...e.props,labelColor:\\\"black\\\"}}),down:e=>{const{labelColor:t,...r}=e.props;return{...e,props:r}}},[ArrowMigrationVersions.AddIsPrecise]:{up:e=>{var{start:t,end:r}=e.props;return{...e,props:{...e.props,start:\\\"binding\\\"===t.type?{...t,isPrecise:!(.5===t.normalizedAnchor.x&&.5===t.normalizedAnchor.y)}:t,end:\\\"binding\\\"===r.type?{...r,isPrecise:!(.5===r.normalizedAnchor.x&&.5===r.normalizedAnchor.y)}:r}}},down:e=>{var{start:t,end:r}=e.props,t={...t},r={...r};return\\\"binding\\\"===t.type&&(t.isPrecise||(t.normalizedAnchor={x:.5,y:.5}),delete t.isPrecise),\\\"binding\\\"===r.type&&(r.isPrecise||(r.normalizedAnchor={x:.5,y:.5}),delete r.isPrecise),{...e,props:{...e.props,start:t,end:r}}}}}}),bookmarkShapeProps=(init_esbuild_inject(),{w:validation_exports.nonZeroNumber,h:validation_exports.nonZeroNumber,assetId:assetIdValidator.nullable(),url:validation_exports.string}),Versions4={NullAssetId:1},bookmarkShapeMigrations=defineMigrations({currentVersion:Versions4.NullAssetId,migrators:{[Versions4.NullAssetId]:{up:e=>void 0===e.props.assetId?{...e,props:{...e.props,assetId:null}}:e,down:e=>{if(null!==e.props.assetId)return e;{const{assetId:t,...r}=e.props;return{...e,props:r}}}}}}),DrawShapeSegment=(init_esbuild_inject(),validation_exports.object({type:validation_exports.literalEnum(\\\"free\\\",\\\"straight\\\"),points:validation_exports.arrayOf(vecModelValidator)})),drawShapeProps={color:DefaultColorStyle,fill:DefaultFillStyle,dash:DefaultDashStyle,size:DefaultSizeStyle,segments:validation_exports.arrayOf(DrawShapeSegment),isComplete:validation_exports[\\\"boolean\\\"],isClosed:validation_exports[\\\"boolean\\\"],isPen:validation_exports[\\\"boolean\\\"]},Versions5={AddInPen:1},drawShapeMigrations=defineMigrations({currentVersion:Versions5.AddInPen,migrators:{[Versions5.AddInPen]:{up:e=>{var t=e.props.segments[0][\\\"points\\\"];if(0===t.length)return{...e,props:{...e.props,isPen:!1}};let r=!(0===t[0].z||.5===t[0].z);return t[1]&&(r=r&&!(0===t[1].z||.5===t[1].z)),{...e,props:{...e.props,isPen:r}}},down:e=>{const{isPen:t,...r}=e.props;return{...e,props:{...r}}}}}}),TLDRAW_APP_RE=(init_esbuild_inject(),/(^\\\\/r\\\\/[^/]+\\\\/?$)/),safeParseUrl=e=>{try{return new URL(e)}catch(t){}},EMBED_DEFINITIONS=[{type:\\\"tldraw\\\",title:\\\"tldraw\\\",hostnames:[\\\"beta.tldraw.com\\\",\\\"tldraw.com\\\"],minWidth:300,minHeight:300,width:720,height:500,doesResize:!0,canUnmount:!0,toEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(TLDRAW_APP_RE))return e},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(TLDRAW_APP_RE))return e}},{type:\\\"figma\\\",title:\\\"Figma\\\",hostnames:[\\\"figma.com\\\"],width:720,height:500,doesResize:!0,canUnmount:!0,toEmbedUrl:e=>{if(e.match(/https:\\\\/\\\\/([\\\\w\\\\.-]+\\\\.)?figma.com\\\\/(file|proto)\\\\/([0-9a-zA-Z]{22,128})(?:\\\\/.*)?$/)&&!e.includes(\\\"figma.com/embed\\\"))return\\\"https://www.figma.com/embed?embed_host=share&url=\\\"+e},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(/^\\\\/embed\\\\/?$/)){t=t.searchParams.get(\\\"url\\\");if(t)return t}}},{type:\\\"google_maps\\\",title:\\\"Google Maps\\\",hostnames:[\\\"google.*\\\"],width:720,height:500,doesResize:!0,canUnmount:!1,toEmbedUrl:t=>{if(t.includes(\\\"/maps/\\\")){var r,i,n=t.match(/@(.*),(.*),(.*)z/);let e;return e=n?(([,n,r,i]=n),`https://${new URL(t).host.replace(\\\"www.\\\",\\\"\\\")}/maps/embed/v1/view?key=${process.env.NEXT_PUBLIC_GC_API_KEY}¢er=${n},${r}&zoom=`+i):\\\"\\\"}},fromEmbedUrl:e=>{var t,r,i=safeParseUrl(e);return i&&i.pathname.match(/^\\\\/maps\\\\/embed\\\\/v1\\\\/view\\\\/?$/)&&i.searchParams.has(\\\"center\\\")&&i.searchParams.get(\\\"zoom\\\")?(t=i.searchParams.get(\\\"zoom\\\"),([i,r]=i.searchParams.get(\\\"center\\\").split(\\\",\\\")),`https://www.google.com/maps/@${i},${r},${t}z`):void 0}},{type:\\\"val_town\\\",title:\\\"Val Town\\\",hostnames:[\\\"val.town\\\"],minWidth:260,minHeight:100,width:720,height:500,doesResize:!0,canUnmount:!1,toEmbedUrl:e=>{var t=safeParseUrl(e),t=t&&t.pathname.match(/\\\\/v\\\\/([^/]+)\\\\/?/);if(t)return\\\"https://www.val.town/embed/\\\"+t[1]},fromEmbedUrl:e=>{var t=safeParseUrl(e),t=t&&t.pathname.match(/\\\\/embed\\\\/([^/]+)\\\\/?/);if(t)return\\\"https://www.val.town/v/\\\"+t[1]}},{type:\\\"codesandbox\\\",title:\\\"CodeSandbox\\\",hostnames:[\\\"codesandbox.io\\\"],minWidth:300,minHeight:300,width:720,height:500,doesResize:!0,canUnmount:!1,toEmbedUrl:e=>{var t=safeParseUrl(e),t=t&&t.pathname.match(/\\\\/s\\\\/([^/]+)\\\\/?/);if(t)return\\\"https://codesandbox.io/embed/\\\"+t[1]},fromEmbedUrl:e=>{var t=safeParseUrl(e),t=t&&t.pathname.match(/\\\\/embed\\\\/([^/]+)\\\\/?/);if(t)return\\\"https://codesandbox.io/s/\\\"+t[1]}},{type:\\\"codepen\\\",title:\\\"Codepen\\\",hostnames:[\\\"codepen.io\\\"],minWidth:300,minHeight:300,width:520,height:400,doesResize:!0,canUnmount:!1,toEmbedUrl:e=>{var t,r,i=e.match(/https:\\\\/\\\\/codepen.io\\\\/([^/]+)\\\\/pen\\\\/([^/]+)/);if(i)return([t,i,r]=i),`https://codepen.io/${i}/embed/`+r},fromEmbedUrl:e=>{var t,r,i=e.match(/https:\\\\/\\\\/codepen.io\\\\/([^/]+)\\\\/embed\\\\/([^/]+)/);if(i)return([t,i,r]=i),`https://codepen.io/${i}/pen/`+r}},{type:\\\"scratch\\\",title:\\\"Scratch\\\",hostnames:[\\\"scratch.mit.edu\\\"],width:520,height:400,doesResize:!1,canUnmount:!1,toEmbedUrl:e=>{var t,r=e.match(/https?:\\\\/\\\\/scratch.mit.edu\\\\/projects\\\\/([^/]+)/);if(r)return([t,r]=r),\\\"https://scratch.mit.edu/projects/embed/\\\"+r},fromEmbedUrl:e=>{var t,r=e.match(/https:\\\\/\\\\/scratch.mit.edu\\\\/projects\\\\/embed\\\\/([^/]+)/);if(r)return([t,r]=r),\\\"https://scratch.mit.edu/projects/\\\"+r}},{type:\\\"youtube\\\",title:\\\"YouTube\\\",hostnames:[\\\"*.youtube.com\\\",\\\"youtube.com\\\",\\\"youtu.be\\\"],width:800,height:450,doesResize:!0,canUnmount:!1,overridePermissions:{\\\"allow-presentation\\\":!0},isAspectRatioLocked:!0,toEmbedUrl:e=>{var t,r=safeParseUrl(e);if(r)return\\\"youtu.be\\\"===(t=r.hostname.replace(/^www./,\\\"\\\"))?\\\"https://www.youtube.com/embed/\\\"+r.pathname.split(\\\"/\\\").filter(Boolean)[0]:\\\"youtube.com\\\"!==t&&\\\"m.youtube.com\\\"!==t||!r.pathname.match(/^\\\\/watch/)?void 0:\\\"https://www.youtube.com/embed/\\\"+r.searchParams.get(\\\"v\\\")},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&\\\"youtube.com\\\"===t.hostname.replace(/^www./,\\\"\\\")){t=t.pathname.match(/^\\\\/embed\\\\/([^/]+)\\\\/?/);if(t)return\\\"https://www.youtube.com/watch?v=\\\"+t[1]}}},{type:\\\"google_calendar\\\",title:\\\"Google Calendar\\\",hostnames:[\\\"calendar.google.*\\\"],width:720,height:500,minWidth:460,minHeight:360,doesResize:!0,canUnmount:!1,instructionLink:\\\"https://support.google.com/calendar/answer/41207?hl=en\\\",toEmbedUrl:e=>{var t=safeParseUrl(e),r=null==t?void 0:t.searchParams.get(\\\"cid\\\");if(null!=t&&t.pathname.match(/\\\\/calendar\\\\/u\\\\/0/)&&r){t.pathname=\\\"/calendar/embed\\\";for(const i of Array.from(t.searchParams.keys()))t.searchParams[\\\"delete\\\"](i);return t.searchParams.set(\\\"src\\\",r),t.href}},fromEmbedUrl:e=>{var t=safeParseUrl(e),r=null==t?void 0:t.searchParams.get(\\\"src\\\");if(null!=t&&t.pathname.match(/\\\\/calendar\\\\/embed/)&&r){t.pathname=\\\"/calendar/u/0\\\";for(const i of Array.from(t.searchParams.keys()))t.searchParams[\\\"delete\\\"](i);return t.searchParams.set(\\\"cid\\\",r),t.href}}},{type:\\\"google_slides\\\",title:\\\"Google Slides\\\",hostnames:[\\\"docs.google.*\\\"],width:720,height:500,minWidth:460,minHeight:360,doesResize:!0,canUnmount:!1,toEmbedUrl:e=>{var t=safeParseUrl(e);if(null!=t&&t.pathname.match(/^\\\\/presentation/)&&null!=t&&t.pathname.match(/\\\\/pub\\\\/?$/)){t.pathname=t.pathname.replace(/\\\\/pub$/,\\\"/embed\\\");for(const r of Array.from(t.searchParams.keys()))t.searchParams[\\\"delete\\\"](r);return t.href}},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(null!=t&&t.pathname.match(/^\\\\/presentation/)&&null!=t&&t.pathname.match(/\\\\/embed\\\\/?$/)){t.pathname=t.pathname.replace(/\\\\/embed$/,\\\"/pub\\\");for(const r of Array.from(t.searchParams.keys()))t.searchParams[\\\"delete\\\"](r);return t.href}}},{type:\\\"github_gist\\\",title:\\\"GitHub Gist\\\",hostnames:[\\\"gist.github.com\\\"],width:720,height:500,doesResize:!0,canUnmount:!0,toEmbedUrl:e=>{var t=safeParseUrl(e);return t&&t.pathname.match(/\\\\/([^/]+)\\\\/([^/]+)/)&&e.split(\\\"/\\\").pop()?e:void 0},fromEmbedUrl:e=>{var t=safeParseUrl(e);return t&&t.pathname.match(/\\\\/([^/]+)\\\\/([^/]+)/)&&e.split(\\\"/\\\").pop()?e:void 0}},{type:\\\"replit\\\",title:\\\"Replit\\\",hostnames:[\\\"replit.com\\\"],width:720,height:500,doesResize:!0,canUnmount:!1,toEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(/\\\\/@([^/]+)\\\\/([^/]+)/))return e+\\\"?embed=true\\\"},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(/\\\\/@([^/]+)\\\\/([^/]+)/)&&t.searchParams.has(\\\"embed\\\"))return t.searchParams[\\\"delete\\\"](\\\"embed\\\"),t.href}},{type:\\\"felt\\\",title:\\\"Felt\\\",hostnames:[\\\"felt.com\\\"],width:720,height:500,doesResize:!0,canUnmount:!1,toEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(/^\\\\/map\\\\//))return t.origin+\\\"/embed\\\"+t.pathname},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(/^\\\\/embed\\\\/map\\\\//))return t.pathname=t.pathname.replace(/^\\\\/embed/,\\\"\\\"),t.href}},{type:\\\"spotify\\\",title:\\\"Spotify\\\",hostnames:[\\\"open.spotify.com\\\"],width:720,height:500,minHeight:500,overrideOutlineRadius:12,doesResize:!0,canUnmount:!1,toEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(/^\\\\/(artist|album)\\\\//))return t.origin+\\\"/embed\\\"+t.pathname},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(/^\\\\/embed\\\\/(artist|album)\\\\//))return t.origin+t.pathname.replace(/^\\\\/embed/,\\\"\\\")}},{type:\\\"vimeo\\\",title:\\\"Vimeo\\\",hostnames:[\\\"vimeo.com\\\",\\\"player.vimeo.com\\\"],width:640,height:360,doesResize:!0,canUnmount:!1,isAspectRatioLocked:!0,toEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&\\\"vimeo.com\\\"===t.hostname&&t.pathname.match(/^\\\\/[0-9]+/))return\\\"https://player.vimeo.com/video/\\\"+t.pathname.split(\\\"/\\\")[1]+\\\"?title=0&byline=0\\\"},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&\\\"player.vimeo.com\\\"===t.hostname){t=t.pathname.match(/^\\\\/video\\\\/([^/]+)\\\\/?$/);if(t)return\\\"https://vimeo.com/\\\"+t[1]}}},{type:\\\"excalidraw\\\",title:\\\"Excalidraw\\\",hostnames:[\\\"excalidraw.com\\\"],width:720,height:500,doesResize:!0,canUnmount:!1,isAspectRatioLocked:!0,toEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.hash.match(/#room=/))return e},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.hash.match(/#room=/))return e}},{type:\\\"observable\\\",title:\\\"Observable\\\",hostnames:[\\\"observablehq.com\\\"],width:720,height:500,doesResize:!0,canUnmount:!1,isAspectRatioLocked:!1,backgroundColor:\\\"#fff\\\",toEmbedUrl:e=>{var t,r=safeParseUrl(e);return r&&r.pathname.match(/^\\\\/@([^/]+)\\\\/([^/]+)\\\\/?$/)?`${r.origin}/embed${r.pathname}?cell=*`:r&&r.pathname.match(/^\\\\/d\\\\/([^/]+)\\\\/?$/)?(t=r.pathname.replace(/^\\\\/d/,\\\"\\\"),r.origin+`/embed${t}?cell=*`):void 0},fromEmbedUrl:e=>{var t=safeParseUrl(e);return t&&t.pathname.match(/^\\\\/embed\\\\/@([^/]+)\\\\/([^/]+)\\\\/?$/)?\\\"\\\"+t.origin+t.pathname.replace(\\\"/embed\\\",\\\"\\\")+\\\"#cell-*\\\":t&&t.pathname.match(/^\\\\/embed\\\\/([^/]+)\\\\/?$/)?\\\"\\\"+t.origin+t.pathname.replace(\\\"/embed\\\",\\\"/d\\\")+\\\"#cell-*\\\":void 0}}],embedShapePermissionDefaults={\\\"allow-downloads-without-user-activation\\\":!1,\\\"allow-downloads\\\":!1,\\\"allow-modals\\\":!1,\\\"allow-orientation-lock\\\":!1,\\\"allow-pointer-lock\\\":!1,\\\"allow-popups\\\":!0,\\\"allow-popups-to-escape-sandbox\\\":!1,\\\"allow-presentation\\\":!1,\\\"allow-storage-access-by-user-activation\\\":!1,\\\"allow-top-navigation\\\":!1,\\\"allow-top-navigation-by-user-activation\\\":!1,\\\"allow-scripts\\\":!0,\\\"allow-same-origin\\\":!0,\\\"allow-forms\\\":!0},embedShapeProps={w:validation_exports.nonZeroNumber,h:validation_exports.nonZeroNumber,url:validation_exports.string},Versions6={GenOriginalUrlInEmbed:1,RemoveDoesResize:2,RemoveTmpOldUrl:3,RemovePermissionOverrides:4},embedShapeMigrations=defineMigrations({currentVersion:Versions6.RemovePermissionOverrides,migrators:{[Versions6.GenOriginalUrlInEmbed]:{up:e=>{var t=e.props.url,r=new URL(t).host.replace(\\\"www.\\\",\\\"\\\");let i;for(const o of EMBED_DEFINITIONS)if(o.hostnames.includes(r))try{i=o.fromEmbedUrl(t)}catch(n){console.warn(n)}return{...e,props:{...e.props,tmpOldUrl:e.props.url,url:null!=i?i:\\\"\\\"}}},down:e=>{let t=e.props.tmpOldUrl;if(!t||\\\"\\\"===t){var r=e.props.url,i=new URL(r).host.replace(\\\"www.\\\",\\\"\\\");for(const s of EMBED_DEFINITIONS)if(s.hostnames.includes(i))try{t=s.toEmbedUrl(r)}catch(a){console.warn(a)}}const{tmpOldUrl:n,...o}=e.props;return{...e,props:{...o,url:null!=t?t:\\\"\\\"}}}},[Versions6.RemoveDoesResize]:{up:e=>{const{doesResize:t,...r}=e.props;return{...e,props:{...r}}},down:e=>({...e,props:{...e.props,doesResize:!0}})},[Versions6.RemoveTmpOldUrl]:{up:e=>{const{tmpOldUrl:t,...r}=e.props;return{...e,props:{...r}}},down:e=>({...e,props:{...e.props}})},[Versions6.RemovePermissionOverrides]:{up:e=>{const{overridePermissions:t,...r}=e.props;return{...e,props:{...r}}},down:e=>({...e,props:{...e.props}})}}}),frameShapeProps=(init_esbuild_inject(),{w:validation_exports.nonZeroNumber,h:validation_exports.nonZeroNumber,name:validation_exports.string}),frameShapeMigrations=defineMigrations({}),DefaultHorizontalAlignStyle=(init_esbuild_inject(),init_esbuild_inject(),StyleProp.defineEnum(\\\"tldraw:horizontalAlign\\\",{defaultValue:\\\"middle\\\",values:[\\\"start\\\",\\\"middle\\\",\\\"end\\\",\\\"start-legacy\\\",\\\"end-legacy\\\",\\\"middle-legacy\\\"]})),DefaultVerticalAlignStyle=(init_esbuild_inject(),StyleProp.defineEnum(\\\"tldraw:verticalAlign\\\",{defaultValue:\\\"middle\\\",values:[\\\"start\\\",\\\"middle\\\",\\\"end\\\"]})),GeoShapeGeoStyle=StyleProp.defineEnum(\\\"tldraw:geo\\\",{defaultValue:\\\"rectangle\\\",values:[\\\"cloud\\\",\\\"rectangle\\\",\\\"ellipse\\\",\\\"triangle\\\",\\\"diamond\\\",\\\"pentagon\\\",\\\"hexagon\\\",\\\"octagon\\\",\\\"star\\\",\\\"rhombus\\\",\\\"rhombus-2\\\",\\\"oval\\\",\\\"trapezoid\\\",\\\"arrow-right\\\",\\\"arrow-left\\\",\\\"arrow-up\\\",\\\"arrow-down\\\",\\\"x-box\\\",\\\"check-box\\\"]}),geoShapeProps={geo:GeoShapeGeoStyle,labelColor:DefaultLabelColorStyle,color:DefaultColorStyle,fill:DefaultFillStyle,dash:DefaultDashStyle,size:DefaultSizeStyle,font:DefaultFontStyle,align:DefaultHorizontalAlignStyle,verticalAlign:DefaultVerticalAlignStyle,url:validation_exports.string,w:validation_exports.nonZeroNumber,h:validation_exports.nonZeroNumber,growY:validation_exports.positiveNumber,text:validation_exports.string},Versions7={AddUrlProp:1,AddLabelColor:2,RemoveJustify:3,AddCheckBox:4,AddVerticalAlign:5,MigrateLegacyAlign:6,AddCloud:7},geoShapeMigrations=defineMigrations({currentVersion:Versions7.AddCloud,migrators:{[Versions7.AddUrlProp]:{up:e=>({...e,props:{...e.props,url:\\\"\\\"}}),down:e=>{const{url:t,...r}=e.props;return{...e,props:r}}},[Versions7.AddLabelColor]:{up:e=>({...e,props:{...e.props,labelColor:\\\"black\\\"}}),down:e=>{const{labelColor:t,...r}=e.props;return{...e,props:r}}},[Versions7.RemoveJustify]:{up:e=>{let t=e.props.align;return\\\"justify\\\"===t&&(t=\\\"start\\\"),{...e,props:{...e.props,align:t}}},down:e=>({...e})},[Versions7.AddCheckBox]:{up:e=>({...e}),down:e=>({...e,props:{...e.props,geo:\\\"check-box\\\"===e.props.geo?\\\"rectangle\\\":e.props.geo}})},[Versions7.AddVerticalAlign]:{up:e=>({...e,props:{...e.props,verticalAlign:\\\"middle\\\"}}),down:e=>{const{verticalAlign:t,...r}=e.props;return{...e,props:r}}},[Versions7.MigrateLegacyAlign]:{up:e=>{let t;switch(e.props.align){case\\\"start\\\":t=\\\"start-legacy\\\";break;case\\\"end\\\":t=\\\"end-legacy\\\";break;default:t=\\\"middle-legacy\\\"}return{...e,props:{...e.props,align:t}}},down:e=>{let t;switch(e.props.align){case\\\"start-legacy\\\":t=\\\"start\\\";break;case\\\"end-legacy\\\":t=\\\"end\\\";break;case\\\"middle-legacy\\\":t=\\\"middle\\\";break;default:t=e.props.align}return{...e,props:{...e.props,align:t}}}},[Versions7.AddCloud]:{up:e=>e,down:e=>{if(\\\"cloud\\\"===e.props.geo)return{...e,props:{...e.props,geo:\\\"rectangle\\\"}}}}}}),groupShapeProps=(init_esbuild_inject(),{}),groupShapeMigrations=defineMigrations({}),highlightShapeProps=(init_esbuild_inject(),{color:DefaultColorStyle,size:DefaultSizeStyle,segments:validation_exports.arrayOf(DrawShapeSegment),isComplete:validation_exports[\\\"boolean\\\"],isPen:validation_exports[\\\"boolean\\\"]}),highlightShapeMigrations=defineMigrations({}),ImageShapeCrop=(init_esbuild_inject(),validation_exports.object({topLeft:vecModelValidator,bottomRight:vecModelValidator})),imageShapeProps={w:validation_exports.nonZeroNumber,h:validation_exports.nonZeroNumber,playing:validation_exports[\\\"boolean\\\"],url:validation_exports.string,assetId:assetIdValidator.nullable(),crop:ImageShapeCrop.nullable()},Versions8={AddUrlProp:1,AddCropProp:2},imageShapeMigrations=defineMigrations({currentVersion:Versions8.AddCropProp,migrators:{[Versions8.AddUrlProp]:{up:e=>({...e,props:{...e.props,url:\\\"\\\"}}),down:e=>{const{url:t,...r}=e.props;return{...e,props:r}}},[Versions8.AddCropProp]:{up:e=>({...e,props:{...e.props,crop:null}}),down:e=>{const{crop:t,...r}=e.props;return{...e,props:r}}}}}),TL_HANDLE_TYPES=(init_esbuild_inject(),init_esbuild_inject(),new Set([\\\"vertex\\\",\\\"virtual\\\",\\\"create\\\"])),handleValidator=validation_exports.object({id:validation_exports.string,type:validation_exports.setEnum(TL_HANDLE_TYPES),canBind:validation_exports[\\\"boolean\\\"].optional(),canSnap:validation_exports[\\\"boolean\\\"].optional(),index:validation_exports.string,x:validation_exports.number,y:validation_exports.number}),LineShapeSplineStyle=StyleProp.defineEnum(\\\"tldraw:spline\\\",{defaultValue:\\\"line\\\",values:[\\\"cubic\\\",\\\"line\\\"]}),lineShapeProps={color:DefaultColorStyle,dash:DefaultDashStyle,size:DefaultSizeStyle,spline:LineShapeSplineStyle,handles:validation_exports.dict(validation_exports.string,handleValidator)},lineShapeVersions={AddSnapHandles:1},lineShapeMigrations=defineMigrations({currentVersion:lineShapeVersions.AddSnapHandles,migrators:{[lineShapeVersions.AddSnapHandles]:{up:e=>{var t=deepCopy(e.props.handles);for(const r in t)t[r].canSnap=!0;return{...e,props:{...e.props,handles:t}}},down:e=>{var t=deepCopy(e.props.handles);for(const r in t)delete t[r].canSnap;return{...e,props:{...e.props,handles:t}}}}}}),noteShapeProps=(init_esbuild_inject(),{color:DefaultColorStyle,size:DefaultSizeStyle,font:DefaultFontStyle,align:DefaultHorizontalAlignStyle,verticalAlign:DefaultVerticalAlignStyle,growY:validation_exports.positiveNumber,url:validation_exports.string,text:validation_exports.string}),Versions9={AddUrlProp:1,RemoveJustify:2,MigrateLegacyAlign:3,AddVerticalAlign:4},noteShapeMigrations=defineMigrations({currentVersion:Versions9.AddVerticalAlign,migrators:{[Versions9.AddUrlProp]:{up:e=>({...e,props:{...e.props,url:\\\"\\\"}}),down:e=>{const{url:t,...r}=e.props;return{...e,props:r}}},[Versions9.RemoveJustify]:{up:e=>{let t=e.props.align;return\\\"justify\\\"===t&&(t=\\\"start\\\"),{...e,props:{...e.props,align:t}}},down:e=>({...e})},[Versions9.MigrateLegacyAlign]:{up:e=>{let t;switch(e.props.align){case\\\"start\\\":t=\\\"start-legacy\\\";break;case\\\"end\\\":t=\\\"end-legacy\\\";break;default:t=\\\"middle-legacy\\\"}return{...e,props:{...e.props,align:t}}},down:e=>{let t;switch(e.props.align){case\\\"start-legacy\\\":t=\\\"start\\\";break;case\\\"end-legacy\\\":t=\\\"end\\\";break;case\\\"middle-legacy\\\":t=\\\"middle\\\";break;default:t=e.props.align}return{...e,props:{...e.props,align:t}}}},[Versions9.AddVerticalAlign]:{up:e=>({...e,props:{...e.props,verticalAlign:\\\"middle\\\"}}),down:e=>{const{verticalAlign:t,...r}=e.props;return{...e,props:r}}}}}),textShapeProps=(init_esbuild_inject(),{color:DefaultColorStyle,size:DefaultSizeStyle,font:DefaultFontStyle,align:DefaultHorizontalAlignStyle,w:validation_exports.nonZeroNumber,text:validation_exports.string,scale:validation_exports.nonZeroNumber,autoSize:validation_exports[\\\"boolean\\\"]}),Versions10={RemoveJustify:1},textShapeMigrations=defineMigrations({currentVersion:Versions10.RemoveJustify,migrators:{[Versions10.RemoveJustify]:{up:e=>{let t=e.props.align;return\\\"justify\\\"===t&&(t=\\\"start\\\"),{...e,props:{...e.props,align:t}}},down:e=>({...e})}}}),videoShapeProps=(init_esbuild_inject(),{w:validation_exports.nonZeroNumber,h:validation_exports.nonZeroNumber,time:validation_exports.number,playing:validation_exports[\\\"boolean\\\"],url:validation_exports.string,assetId:assetIdValidator.nullable()}),Versions11={AddUrlProp:1},videoShapeMigrations=defineMigrations({currentVersion:Versions11.AddUrlProp,migrators:{[Versions11.AddUrlProp]:{up:e=>({...e,props:{...e.props,url:\\\"\\\"}}),down:e=>{const{url:t,...r}=e.props;return{...e,props:r}}}}}),LANGUAGES=(init_esbuild_inject(),init_esbuild_inject(),[{locale:\\\"ar\\\",label:\\\"عربي\\\"},{locale:\\\"ca\\\",label:\\\"Català\\\"},{locale:\\\"cs\\\",label:\\\"Čeština\\\"},{locale:\\\"da\\\",label:\\\"Danish\\\"},{locale:\\\"de\\\",label:\\\"Deutsch\\\"},{locale:\\\"en\\\",label:\\\"English\\\"},{locale:\\\"es\\\",label:\\\"Español\\\"},{locale:\\\"fa\\\",label:\\\"فارسی\\\"},{locale:\\\"fi\\\",label:\\\"Suomi\\\"},{locale:\\\"fr\\\",label:\\\"Français\\\"},{locale:\\\"gl\\\",label:\\\"Galego\\\"},{locale:\\\"he\\\",label:\\\"עברית\\\"},{locale:\\\"it\\\",label:\\\"Italiano\\\"},{locale:\\\"ja\\\",label:\\\"日本語\\\"},{locale:\\\"ko-kr\\\",label:\\\"한국어\\\"},{locale:\\\"ku\\\",label:\\\"کوردی\\\"},{locale:\\\"hi-in\\\",label:\\\"हिन्दी\\\"},{locale:\\\"hu\\\",label:\\\"Magyar\\\"},{locale:\\\"my\\\",label:\\\"မြန်မာစာ\\\"},{locale:\\\"ne\\\",label:\\\"नेपाली\\\"},{locale:\\\"no\\\",label:\\\"Norwegian\\\"},{locale:\\\"pl\\\",label:\\\"Polski\\\"},{locale:\\\"pt-br\\\",label:\\\"Português - Brasil\\\"},{locale:\\\"pt-pt\\\",label:\\\"Português - Europeu\\\"},{locale:\\\"ro\\\",label:\\\"Română\\\"},{locale:\\\"ru\\\",label:\\\"Russian\\\"},{locale:\\\"sv\\\",label:\\\"Svenska\\\"},{locale:\\\"te\\\",label:\\\"తెలుగు\\\"},{locale:\\\"th\\\",label:\\\"ภาษาไทย\\\"},{locale:\\\"tr\\\",label:\\\"Türkçe\\\"},{locale:\\\"uk\\\",label:\\\"Ukrainian\\\"},{locale:\\\"vi\\\",label:\\\"Tiếng Việt\\\"},{locale:\\\"zh-cn\\\",label:\\\"Chinese - Simplified\\\"},{locale:\\\"zh-tw\\\",label:\\\"繁體中文 (台灣)\\\"}]);function getDefaultTranslationLocale(){var e;return _getDefaultTranslationLocale(\\\"undefined\\\"!=typeof window&&null!=(e=window.navigator.languages)?e:[\\\"en\\\"])}function _getDefaultTranslationLocale(e){for(const r of e){var t=getSupportedLocale(r);if(t)return t}return\\\"en\\\"}var DEFAULT_LOCALE_REGIONS={zh:\\\"zh-cn\\\",pt:\\\"pt-br\\\",ko:\\\"ko-kr\\\",hi:\\\"hi-in\\\"};function getSupportedLocale(t){var e=LANGUAGES.find(e=>e.locale===t.toLowerCase());if(e)return e.locale;const[r,i]=t.split(/[-_]/).map(e=>e.toLowerCase());if(i){e=LANGUAGES.find(e=>e.locale===r);if(e)return e.locale}return r in DEFAULT_LOCALE_REGIONS?DEFAULT_LOCALE_REGIONS[r]:null}init_esbuild_inject();var import_jsx_runtime29=require(\\\"react/jsx-runtime\\\"),import_react35=__toESM(require(\\\"react\\\"),1),import_classnames10=__toESM(require_classnames(),1),import_jsx_runtime24=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames9=__toESM(require_classnames(),1),import_react28=__toESM(require(\\\"react\\\"),1),import_react9=(init_esbuild_inject(),require(\\\"react\\\")),featureFlags=(init_esbuild_inject(),init_esbuild_inject(),{}),debugFlags={preventDefaultLogging:createDebugValue(\\\"preventDefaultLogging\\\",{defaults:{all:!1}}),pointerCaptureLogging:createDebugValue(\\\"pointerCaptureLogging\\\",{defaults:{all:!1}}),pointerCaptureTracking:createDebugValue(\\\"pointerCaptureTracking\\\",{defaults:{all:!1}}),pointerCaptureTrackingObject:createDebugValue(\\\"pointerCaptureTrackingObject\\\",{defaults:{all:new Map},shouldStoreForSession:!1}),elementRemovalLogging:createDebugValue(\\\"elementRemovalLogging\\\",{defaults:{all:!1}}),debugSvg:createDebugValue(\\\"debugSvg\\\",{defaults:{all:!1}}),throwToBlob:createDebugValue(\\\"throwToBlob\\\",{defaults:{all:!1}}),logMessages:createDebugValue(\\\"uiLog\\\",{defaults:{all:[]}}),resetConnectionEveryPing:createDebugValue(\\\"resetConnectionEveryPing\\\",{defaults:{all:!1}}),debugCursors:createDebugValue(\\\"debugCursors\\\",{defaults:{all:!1}}),forceSrgb:createDebugValue(\\\"forceSrgbColors\\\",{defaults:{all:!1}}),debugGeometry:createDebugValue(\\\"debugGeometry\\\",{defaults:{all:!1}}),hideShapes:createDebugValue(\\\"hideShapes\\\",{defaults:{all:!1}})};if(\\\"undefined\\\"!=typeof window&&(window.tldrawLog=e=>{debugFlags.logMessages.set(debugFlags.logMessages.get().concat(e))}),\\\"undefined\\\"!=typeof Element){const d5a=Element.prototype.removeChild;react(\\\"element removal logging\\\",()=>{debugFlags.elementRemovalLogging.get()?Element.prototype.removeChild=function(e){return console.warn(\\\"[tldraw] removing child:\\\",e),d5a.call(this,e)}:Element.prototype.removeChild=d5a})}function createDebugValue(e,{defaults:t,shouldStoreForSession:r=!0}){return createDebugValueBase({name:e,defaults:t,shouldStoreForSession:r})}function createDebugValueBase(t){const r=getDefaultValue(t);var e=t.shouldStoreForSession?getStoredInitialValue(t.name):null;const i=atom(\\\"debug:\\\"+t.name,null!=e?e:r);return\\\"undefined\\\"!=typeof window&&(t.shouldStoreForSession&&react(\\\"debug:\\\"+t.name,()=>{var e=i.get();try{e===r?window.sessionStorage.removeItem(\\\"tldraw_debug:\\\"+t.name):window.sessionStorage.setItem(\\\"tldraw_debug:\\\"+t.name,JSON.stringify(e))}catch{}}),Object.defineProperty(window,\\\"tldraw\\\"+t.name.replace(/^[a-z]/,e=>e.toUpperCase()),{get(){return i.get()},set(e){i.set(e)},configurable:!0})),Object.assign(i,t)}function getStoredInitialValue(e){var t;try{return JSON.parse(null!=(t=null==window?void 0:window.sessionStorage.getItem(\\\"tldraw_debug:\\\"+e))?t:\\\"null\\\")}catch(r){return null}}function readEnv(e){try{return e()}catch{return null}}function getDefaultValue(e){var t,r;switch(null!=(t=null!=(t=null!=(t=readEnv(()=>process.env.TLDRAW_ENV))?t:readEnv(()=>process.env.VERCEL_PUBLIC_TLDRAW_ENV))?t:readEnv(()=>process.env.NEXT_PUBLIC_TLDRAW_ENV))?t:\\\"production\\\"){case\\\"production\\\":return null!=(r=e.defaults.production)?r:e.defaults.all;case\\\"preview\\\":case\\\"staging\\\":return null!=(r=e.defaults.staging)?r:e.defaults.all;default:return null!=(r=e.defaults.development)?r:e.defaults.all}}function loopToHtmlElement(e){if(e instanceof HTMLElement)return e;if(e.parentElement)return loopToHtmlElement(e.parentElement);throw Error(\\\"Could not find a parent element of an HTML type!\\\")}function preventDefault(e){e.preventDefault(),debugFlags.preventDefaultLogging.get()&&console.warn(\\\"preventDefault called on event:\\\",e)}function setPointerCapture(e,t){var r;e.setPointerCapture(t.pointerId),debugFlags.pointerCaptureTracking.get()&&(r=debugFlags.pointerCaptureTrackingObject.get()).set(e,(null!=(r=r.get(e))?r:0)+1),debugFlags.pointerCaptureLogging.get()&&console.warn(\\\"setPointerCapture called on element:\\\",e,t)}function releasePointerCapture(e,t){var r;e.hasPointerCapture(t.pointerId)&&(e.releasePointerCapture(t.pointerId),debugFlags.pointerCaptureTracking.get()&&(1===(r=debugFlags.pointerCaptureTrackingObject.get()).get(e)?r[\\\"delete\\\"](e):r.has(e)?r.set(e,r.get(e)-1):console.warn(\\\"Release without capture\\\")),debugFlags.pointerCaptureLogging.get())&&console.warn(\\\"releasePointerCapture called on element:\\\",e,t)}var stopEventPropagation=e=>e.stopPropagation();function getPointerInfo(e){return e.isKilled=!0,{point:{x:e.clientX,y:e.clientY,z:e.pressure},shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.metaKey||e.ctrlKey,pointerId:e.pointerId,button:e.button,isPen:\\\"pen\\\"===e.pointerType}}init_esbuild_inject(),init_esbuild_inject();var import_react8=__toESM(require(\\\"react\\\"),1),EditorContext=import_react8[\\\"default\\\"].createContext({});function useEditor(){return import_react8[\\\"default\\\"].useContext(EditorContext)}function useCanvasEvents(){const i=useEditor();return(0,import_react9.useMemo)(function(){let t,r;return{onPointerDown:function(e){e.isKilled||(2===e.button?i.dispatch({type:\\\"pointer\\\",target:\\\"canvas\\\",name:\\\"right_click\\\",...getPointerInfo(e)}):0!==e.button&&1!==e.button&&5!==e.button||(setPointerCapture(e.currentTarget,e),i.dispatch({type:\\\"pointer\\\",target:\\\"canvas\\\",name:\\\"pointer_down\\\",...getPointerInfo(e)}),0\u003Ci.getOpenMenus().length&&(i.updateInstanceState({openMenus:[]}),document.body.click(),i.getContainer().focus())))},onPointerMove:function(e){e.isKilled||e.clientX===t&&e.clientY===r||(t=e.clientX,r=e.clientY,i.dispatch({type:\\\"pointer\\\",target:\\\"canvas\\\",name:\\\"pointer_move\\\",...getPointerInfo(e)}))},onPointerUp:function(e){e.isKilled||0!==e.button&&1!==e.button&&2!==e.button&&5!==e.button||(t=e.clientX,r=e.clientY,releasePointerCapture(e.currentTarget,e),i.dispatch({type:\\\"pointer\\\",target:\\\"canvas\\\",name:\\\"pointer_up\\\",...getPointerInfo(e)}))},onPointerEnter:function(e){var t;e.isKilled||i.getInstanceState().isPenMode&&\\\"pen\\\"!==e.pointerType||(t=\\\"mouse\\\"===e.pointerType||\\\"pen\\\"===e.pointerType,i.updateInstanceState({isHoveringCanvas:t||null}))},onPointerLeave:function(e){var t;e.isKilled||i.getInstanceState().isPenMode&&\\\"pen\\\"!==e.pointerType||(t=\\\"mouse\\\"===e.pointerType||\\\"pen\\\"===e.pointerType,i.updateInstanceState({isHoveringCanvas:!t&&null}))},onDragOver:function(e){preventDefault(e)},onDrop:async function(e){var t;preventDefault(e),null!=(t=null==(t=e.dataTransfer)?void 0:t.files)&&t.length&&(t=Array.from(e.dataTransfer.files),await i.putExternalContent({type:\\\"files\\\",files:t,point:i.screenToPage({x:e.clientX,y:e.clientY}),ignoreParent:!1}))},onTouchStart:function(e){e.isKilled=!0,document.body.click(),preventDefault(e)},onTouchEnd:function(e){e.isKilled=!0,\\\"A\\\"!==e.target.tagName&&\\\"TEXTAREA\\\"!==e.target.tagName&&preventDefault(e)},onClick:function(e){stopEventPropagation(e)}}},[i])}init_esbuild_inject();var import_react10=require(\\\"react\\\");function useCoarsePointer(){const r=useEditor();(0,import_react10.useEffect)(()=>{if(!r.environment.isFirefox||r.environment.isAndroid||r.environment.isIos){if(window.matchMedia){const e=window.matchMedia(\\\"(pointer: coarse)\\\"),t=()=>{r.updateInstanceState({isCoarsePointer:!!e.matches})};if(t(),e)return e.addEventListener(\\\"change\\\",t),()=>e.removeEventListener(\\\"change\\\",t)}}else r.updateInstanceState({isCoarsePointer:!1})},[r])}init_esbuild_inject();var import_react12=require(\\\"react\\\"),import_jsx_runtime=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react11=require(\\\"react\\\"),ContainerContext=(0,import_react11.createContext)(null);function ContainerProvider({container:e,children:t}){return(0,import_jsx_runtime.jsx)(ContainerContext.Provider,{value:e,children:t})}function useContainer(){return assertExists((0,import_react11.useContext)(ContainerContext),\\\"useContainer used outside of \u003CTldraw />\\\")}function useDocumentEvents(){const o=useEditor(),a=useContainer(),n=useValue(\\\"isFocused\\\",()=>o.getInstanceState().isFocused,[o]);(0,import_react12.useEffect)(()=>{let i=null;const n=()=>{null!=i&&i();var e=`(resolution: ${window.devicePixelRatio}dppx)`;const t=matchMedia(e),r=e=>{\\\"change\\\"===e.type&&n()};t.addEventListener?t.addEventListener(\\\"change\\\",n):t.addListener&&t.addListener(r),i=()=>{t.removeEventListener?t.removeEventListener(\\\"change\\\",n):t.removeListener&&t.removeListener(r)},o.updateInstanceState({devicePixelRatio:window.devicePixelRatio})};return n(),()=>{null!=i&&i()}},[o]),(0,import_react12.useEffect)(()=>{if(n){const t=e=>{if(!e.altKey||!o.isIn(\\\"zoom\\\")&&o.getPath().endsWith(\\\".idle\\\")||isFocusingInput()||preventDefault(e),!e.isKilled){switch(e.isKilled=!0,e.key){case\\\"=\\\":case\\\"-\\\":case\\\"0\\\":if(e.metaKey||e.ctrlKey)return void preventDefault(e);break;case\\\"Tab\\\":if(isFocusingInput()||o.getIsMenuOpen())return;break;case\\\",\\\":var t,r,i;if(!isFocusingInput())if(preventDefault(e),!o.inputs.keys.has(\\\"Comma\\\"))return({x:i,y:t,z:r}=o.inputs.currentScreenPoint),o.inputs.keys.add(\\\"Comma\\\"),i={type:\\\"pointer\\\",name:\\\"pointer_down\\\",point:{x:i,y:t,z:r},shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.metaKey||e.ctrlKey,pointerId:0,button:0,isPen:o.getInstanceState().isPenMode,target:\\\"canvas\\\"},void o.dispatch(i);break;case\\\"Escape\\\":return(o.getEditingShape()||0\u003Co.getSelectedShapeIds().length)&&e.preventDefault(),0\u003Co.getOpenMenus().length?void 0:void(o.inputs.keys.has(\\\"Escape\\\")||(o.inputs.keys.add(\\\"Escape\\\"),o.cancel(),a.focus()));default:if(isFocusingInput()||o.getIsMenuOpen())return}var n={type:\\\"keyboard\\\",name:e.repeat?\\\"key_repeat\\\":\\\"key_down\\\",key:e.key,code:e.code,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.metaKey||e.ctrlKey};o.dispatch(n)}},r=e=>{var t,r;if(!e.isKilled&&(e.isKilled=!0,!isFocusingInput())&&!o.getIsMenuOpen()){if(\\\",\\\"===e.key)if(null!=(r=document.activeElement)&&r.ELEMENT_NODE&&preventDefault(e),o.inputs.keys.has(e.code))return({x:r,y:i,z:t}=o.inputs.currentScreenPoint),o.inputs.keys[\\\"delete\\\"](e.code),r={type:\\\"pointer\\\",name:\\\"pointer_up\\\",point:{x:r,y:i,z:t},shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.metaKey||e.ctrlKey,pointerId:0,button:0,isPen:o.getInstanceState().isPenMode,target:\\\"canvas\\\"},void o.dispatch(r);var i={type:\\\"keyboard\\\",name:\\\"key_up\\\",key:e.key,code:e.code,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.metaKey||e.ctrlKey};o.dispatch(i)}},i=e=>{a.contains(e.target)&&(e.ctrlKey||e.metaKey)&&preventDefault(e)};return a.addEventListener(\\\"touchstart\\\",e,{passive:!1}),a.addEventListener(\\\"wheel\\\",i,{passive:!1}),document.addEventListener(\\\"gesturestart\\\",preventDefault),document.addEventListener(\\\"gesturechange\\\",preventDefault),document.addEventListener(\\\"gestureend\\\",preventDefault),a.addEventListener(\\\"keydown\\\",t),a.addEventListener(\\\"keyup\\\",r),()=>{a.removeEventListener(\\\"touchstart\\\",e),a.removeEventListener(\\\"wheel\\\",i),document.removeEventListener(\\\"gesturestart\\\",preventDefault),document.removeEventListener(\\\"gesturechange\\\",preventDefault),document.removeEventListener(\\\"gestureend\\\",preventDefault),a.removeEventListener(\\\"keydown\\\",t),a.removeEventListener(\\\"keyup\\\",r)};function e(e){var t,r;a.contains(e.target)&&((t=e.touches[0].pageX)-(r=e.touches[0].radiusX||0)\u003C10||t+r>o.getViewportScreenBounds().width-10)&&(\\\"BUTTON\\\"===(null==(t=e.target)?void 0:t.tagName)&&null!=(r=e.target)&&r.click(),preventDefault(e))}}},[o,a,n])}var INPUTS=[\\\"input\\\",\\\"select\\\",\\\"button\\\",\\\"textarea\\\"];function isFocusingInput(){var e=document[\\\"activeElement\\\"];return!(!e||!(e.getAttribute(\\\"contenteditable\\\")||-1\u003CINPUTS.indexOf(e.tagName.toLowerCase())))}init_esbuild_inject();var import_jsx_runtime20=require(\\\"react/jsx-runtime\\\"),import_react19=require(\\\"react\\\"),import_jsx_runtime3=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames=__toESM(require_classnames(),1),React4=__toESM(require(\\\"react\\\"),1),import_jsx_runtime2=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),React3=__toESM(require(\\\"react\\\"),1),initialState={error:null},ErrorBoundary=class extends React3.Component{constructor(){super(...arguments),__publicField(this,\\\"state\\\",initialState)}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e){var t,r;null!=(r=(t=this.props).onError)&&r.call(t,e)}render(){var e,t=this.state[\\\"error\\\"];return null!==t?(e=this.props[\\\"fallback\\\"],(0,import_jsx_runtime2.jsx)(e,{error:t})):this.props.children}};function OptionalErrorBoundary({children:e,fallback:t,...r}){return null===t?(0,import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment,{children:e}):(0,import_jsx_runtime2.jsx)(ErrorBoundary,{fallback:t,...r,children:e})}var ShapeWithPropsEquality=class{constructor(e){this.shape=e}equals(e){var t;return(null==(t=this.shape)?void 0:t.isLocked)===(null==(t=null==e?void 0:e.shape)?void 0:t.isLocked)&&(null==(t=this.shape)?void 0:t.props)===(null==(t=null==e?void 0:e.shape)?void 0:t.props)&&(null==(t=this.shape)?void 0:t.meta)===(null==(t=null==e?void 0:e.shape)?void 0:t.meta)}},EvenInnererIndicator=({shape:e,util:t})=>useStateTracking(\\\"Indicator:\\\"+e.type,()=>t.indicator(e)),InnerIndicator=({editor:t,id:e})=>{var r=useValue(\\\"shape\\\",()=>new ShapeWithPropsEquality(t.store.get(e)),[t,e]),i=useEditorComponents()[\\\"ShapeIndicatorErrorFallback\\\"];return!r.shape||r.shape.isLocked?null:(0,import_jsx_runtime3.jsx)(OptionalErrorBoundary,{fallback:i,onError:e=>t.annotateError(e,{origin:\\\"react.shapeIndicator\\\",willCrashApp:!1}),children:(0,import_jsx_runtime3.jsx)(EvenInnererIndicator,{shape:r.shape,util:t.getShapeUtil(r.shape)},r.shape.id)})},_ShapeIndicator=({id:t,className:e,color:r,opacity:i})=>{const n=useEditor();var o=useValue(\\\"transform\\\",()=>{var e=n.getShapePageTransform(t);return e?e.toCssString():\\\"\\\"},[n,t]);return(0,import_jsx_runtime3.jsx)(\\\"svg\\\",{className:(0,import_classnames[\\\"default\\\"])(\\\"tl-overlays__item\\\",e),children:(0,import_jsx_runtime3.jsx)(\\\"g\\\",{className:\\\"tl-shape-indicator\\\",transform:o,stroke:null!=r?r:\\\"var(--color-selected)\\\",opacity:i,children:(0,import_jsx_runtime3.jsx)(InnerIndicator,{editor:n,id:t})})})},ShapeIndicator=React4.memo(_ShapeIndicator),import_jsx_runtime4=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function DefaultBackground(){return(0,import_jsx_runtime4.jsx)(\\\"div\\\",{className:\\\"tl-background\\\"})}init_esbuild_inject();var import_jsx_runtime5=require(\\\"react/jsx-runtime\\\"),import_react14=require(\\\"react\\\"),import_react13=(init_esbuild_inject(),require(\\\"react\\\"));function useTransform(e,r,i,n,o,a){(0,import_react13.useLayoutEffect)(()=>{var t=e.current;if(t&&void 0!==r){let e=`translate(${r}px, ${i}px)`;void 0!==n&&(e+=` scale(${n})`),void 0!==o&&(e+=` rotate(${o}rad)`),a&&(e+=` translate(${a.x}px, ${a.y}px)`),t.style.transform=e}})}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var EASINGS={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>e*(2-e),easeInOutQuad:e=>e\u003C.5?2*e*e:(4-2*e)*e-1,easeInCubic:e=>e*e*e,easeOutCubic:e=>--e*e*e+1,easeInOutCubic:e=>e\u003C.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1,easeInQuart:e=>e*e*e*e,easeOutQuart:e=>1- --e*e*e*e,easeInOutQuart:e=>e\u003C.5?8*e*e*e*e:1-8*--e*e*e*e,easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>1+--e*e*e*e*e,easeInOutQuint:e=>e\u003C.5?16*e*e*e*e*e:1+16*--e*e*e*e*e,easeInSine:e=>1-Math.cos(e*Math.PI/2),easeOutSine:e=>Math.sin(e*Math.PI/2),easeInOutSine:e=>-(Math.cos(Math.PI*e)-1)/2,easeInExpo:e=>e\u003C=0?0:Math.pow(2,10*e-10),easeOutExpo:e=>1\u003C=e?1:1-Math.pow(2,-10*e),easeInOutExpo:e=>e\u003C=0?0:1\u003C=e?1:e\u003C.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2},Vec=class{constructor(e=0,t=0,r=1){this.x=e,this.y=t,this.z=r}get pressure(){return this.z}set(e=this.x,t=this.y,r=this.z){return this.x=e,this.y=t,this.z=r,this}setTo({x:e=0,y:t=0,z:r=1}){return this.x=e,this.y=t,this.z=r,this}rot(e){var t,r,i,n;return 0!==e&&(({x:t,y:r}=this),i=Math.sin(e),n=Math.cos(e),this.x=t*n-r*i,this.y=t*i+r*n),this}rotWith(e,t){var r,i,n,o;return 0!==t&&(r=this.x-e.x,i=this.y-e.y,n=Math.sin(t),o=Math.cos(t),this.x=e.x+(r*o-i*n),this.y=e.y+(r*n+i*o)),this}clone(){var{x:e,y:t,z:r}=this;return new Vec(e,t,r)}sub(e){return this.x-=e.x,this.y-=e.y,this}subXY(e,t){return this.x-=e,this.y-=t,this}subScalar(e){return this.x-=e,this.y-=e,this}add(e){return this.x+=e.x,this.y+=e.y,this}addXY(e,t){return this.x+=e,this.y+=t,this}addScalar(e){return this.x+=e,this.y+=e,this}clamp(e,t){return this.x=Math.max(this.x,e),this.y=Math.max(this.y,e),void 0!==t&&(this.x=Math.min(this.x,t),this.y=Math.min(this.y,t)),this}div(e){return this.x/=e,this.y/=e,this}divV(e){return this.x/=e.x,this.y/=e.y,this}mul(e){return this.x*=e,this.y*=e,this}mulV(e){return this.x*=e.x,this.y*=e.y,this}abs(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this}nudge(e,t){var r=Vec.Tan(e,this);return this.add(r.mul(t))}neg(){return this.x*=-1,this.y*=-1,this}cross(e){return this.x=this.y*e.z-this.z*e.y,this.y=this.z*e.x-this.x*e.z,this}dpr(e){return Vec.Dpr(this,e)}cpr(e){return Vec.Cpr(this,e)}len2(){return Vec.Len2(this)}len(){return Vec.Len(this)}pry(e){return Vec.Pry(this,e)}per(){var{x:e,y:t}=this;return this.x=t,this.y=-e,this}uni(){return Vec.Uni(this)}tan(e){return Vec.Tan(this,e)}dist(e){return Vec.Dist(this,e)}distanceToLineSegment(e,t){return Vec.DistanceToLineSegment(e,t,this)}slope(e){return Vec.Slope(this,e)}snapToGrid(e){return this.x=Math.round(this.x/e)*e,this.y=Math.round(this.y/e)*e,this}angle(e){return Vec.Angle(this,e)}toAngle(){return Vec.ToAngle(this)}lrp(e,t){return this.x=this.x+(e.x-this.x)*t,this.y=this.y+(e.y-this.y)*t,this}equals(e){return Vec.Equals(this,e)}equalsXY(e,t){return Vec.EqualsXY(this,e,t)}norm(){var e=this.len();return this.x=0===e?0:this.x/e,this.y=0===e?0:this.y/e,this}toFixed(){return Vec.ToFixed(this)}toString(){return Vec.ToString(Vec.ToFixed(this))}toJson(){return Vec.ToJson(this)}toArray(){return Vec.ToArray(this)}static Add(e,t){return new Vec(e.x+t.x,e.y+t.y)}static AddXY(e,t,r){return new Vec(e.x+t,e.y+r)}static Sub(e,t){return new Vec(e.x-t.x,e.y-t.y)}static SubXY(e,t,r){return new Vec(e.x-t,e.y-r)}static AddScalar(e,t){return new Vec(e.x+t,e.y+t)}static SubScalar(e,t){return new Vec(e.x-t,e.y-t)}static Div(e,t){return new Vec(e.x/t,e.y/t)}static Mul(e,t){return new Vec(e.x*t,e.y*t)}static DivV(e,t){return new Vec(e.x/t.x,e.y/t.y)}static MulV(e,t){return new Vec(e.x*t.x,e.y*t.y)}static Neg(e){return new Vec(-e.x,-e.y)}static Per(e){return new Vec(e.y,-e.x)}static Dist2(e,t){return Vec.Sub(e,t).len2()}static Abs(e){return new Vec(Math.abs(e.x),Math.abs(e.y))}static Dist(e,t){return Math.hypot(e.y-t.y,e.x-t.x)}static Dpr(e,t){return e.x*t.x+e.y*t.y}static Cross(e,t){return new Vec(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z)}static Cpr(e,t){return e.x*t.y-t.x*e.y}static Len2(e){return e.x*e.x+e.y*e.y}static Len(e){return Math.hypot(e.x,e.y)}static Pry(e,t){return Vec.Dpr(e,t)/Vec.Len(t)}static Uni(e){return Vec.Div(e,Vec.Len(e))}static Tan(e,t){return Vec.Uni(Vec.Sub(e,t))}static Min(e,t){return new Vec(Math.min(e.x,t.x),Math.min(e.y,t.y))}static Max(e,t){return new Vec(Math.max(e.x,t.x),Math.max(e.y,t.y))}static From({x:e,y:t,z:r=1}){return new Vec(e,t,r)}static FromArray(e){return new Vec(e[0],e[1])}static Rot(e,t=0){var r=Math.sin(t),i=Math.cos(t);return new Vec(e.x*i-e.y*r,e.x*r+e.y*i)}static RotWith(e,t,r){var i=e.x-t.x,n=e.y-t.y,o=Math.sin(r),a=Math.cos(r);return new Vec(t.x+(i*a-n*o),t.y+(i*o+n*a))}static NearestPointOnLineThroughPoint(e,t,r){return Vec.Mul(t,Vec.Sub(r,e).pry(t)).add(e)}static NearestPointOnLineSegment(e,t,r,i=!0){var n=Vec.Tan(t,e),n=Vec.Add(e,Vec.Mul(n,Vec.Sub(r,e).pry(n)));if(i){if(n.x\u003CMath.min(e.x,t.x))return Vec.Cast(e.x\u003Ct.x?e:t);if(n.x>Math.max(e.x,t.x))return Vec.Cast(e.x>t.x?e:t);if(n.y\u003CMath.min(e.y,t.y))return Vec.Cast(e.y\u003Ct.y?e:t);if(n.y>Math.max(e.y,t.y))return Vec.Cast(e.y>t.y?e:t)}return n}static DistanceToLineThroughPoint(e,t,r){return Vec.Dist(r,Vec.NearestPointOnLineThroughPoint(e,t,r))}static DistanceToLineSegment(e,t,r,i=!0){return Vec.Dist(r,Vec.NearestPointOnLineSegment(e,t,r,i))}static Snap(e,t=1){return new Vec(Math.round(e.x/t)*t,Math.round(e.y/t)*t)}static Cast(e){return e instanceof Vec?e:Vec.From(e)}static Slope(e,t){return e.x===t.y?NaN:(e.y-t.y)/(e.x-t.x)}static Angle(e,t){return Math.atan2(t.y-e.y,t.x-e.x)}static Lrp(e,t,r){return Vec.Sub(t,e).mul(r).add(e)}static Med(e,t){return new Vec((e.x+t.x)/2,(e.y+t.y)/2)}static Equals(e,t){return Math.abs(e.x-t.x)\u003C1e-4&&Math.abs(e.y-t.y)\u003C1e-4}static EqualsXY(e,t,r){return e.x===t&&e.y===r}static Clockwise(e,t,r){return(r.x-e.x)*(t.y-e.y)-(t.x-e.x)*(r.y-e.y)\u003C0}static Rescale(e,t){var r=Vec.Len(e);return new Vec(t*e.x/r,t*e.y/r)}static ScaleWithOrigin(e,t,r){return Vec.Sub(e,r).mul(t).add(r)}static ToFixed(e,t=2){return new Vec(+e.x.toFixed(t),+e.y.toFixed(t),+e.z.toFixed(t))}static Nudge(e,t,r){return Vec.Add(e,Vec.Tan(t,e).mul(r))}static ToString(e){return e.x+\\\", \\\"+e.y}static ToAngle(e){let t=Math.atan2(e.y,e.x);return t\u003C0&&(t+=2*Math.PI),t}static FromAngle(e,t=1){return new Vec(Math.cos(e)*t,Math.sin(e)*t)}static ToArray(e){return[e.x,e.y,e.z]}static ToJson(e){var{x:t,y:r,z:i}=e;return{x:t,y:r,z:i}}static Average(e){var t=e.length,r=new Vec(0,0);for(let i=0;i\u003Ct;i++)r.add(e[i]);return r.div(t)}static Clamp(e,t,r){return void 0===r?new Vec(Math.min(Math.max(e.x,t)),Math.min(Math.max(e.y,t))):new Vec(Math.min(Math.max(e.x,t),r),Math.min(Math.max(e.y,t),r))}static PointsBetween(e,t,r=6){var i=[];for(let a=0;a\u003Cr;a++){var n=EASINGS.easeInQuad(a/(r-1)),o=Vec.Lrp(e,t,n);o.z=Math.min(1,.5+.65*Math.abs(.5-ease(n))),i.push(o)}return i}static SnapToGrid(e,t=8){return new Vec(Math.round(e.x/t)*t,Math.round(e.y/t)*t)}},ease=e=>e\u003C.5?2*e*e:(4-2*e)*e-1;function precise(e){return`${toDomPrecision(e.x)},${toDomPrecision(e.y)} `}function average(e,t){return`${toDomPrecision((e.x+t.x)/2)},${toDomPrecision((e.y+t.y)/2)} `}var PI=Math.PI,HALF_PI=PI/2,PI2=2*PI,SIN=Math.sin;function clamp(e,t,r){return Math.max(t,void 0!==r?Math.min(e,r):e)}function toPrecision(e,t=1e10){return e?Math.round(e*t)/t:0}function approximately(e,t,r=1e-6){return Math.abs(e-t)\u003C=r}function perimeterOfEllipse(e,t){var r=Math.pow(e-t,2)/Math.pow(e+t,2);return PI*(e+t)*(1+3*r/(10+Math.sqrt(4-3*r)))}function canonicalizeRotation(e){return(e%=PI2)\u003C0?e+=PI2:0===e&&(e=0),e}function clockwiseAngleDist(e,t){return e=canonicalizeRotation(e),(t=canonicalizeRotation(t))\u003Ce&&(t+=PI2),t-e}function counterClockwiseAngleDist(e,t){return PI2-clockwiseAngleDist(e,t)}function shortAngleDist(e,t){var r=(t-e)%PI2;return 2*r%PI2-r}function clampRadians(e){return(PI2+e)%PI2}function snapAngle(e,t){var r=PI2/t;let i=Math.floor((clampRadians(e)+r/2)/r)*r%PI2;return i\u003CPI&&(i+=PI2),i>PI&&(i-=PI2),i}function areAnglesCompatible(e,t){return e===t||approximately(e%(Math.PI/2)-t%(Math.PI/2),0)}function degreesToRadians(e){return e*PI/180}function radiansToDegrees(e){return 180*e/PI}function getPointOnCircle(e,t,r,i){return new Vec(e+r*Math.cos(i),t+r*Math.sin(i))}function getPolygonVertices(t,r,e){var i=t/2,n=r/2,o=[];let a=Infinity,s=-Infinity,l=Infinity,c=-Infinity;for(let g=0;g\u003Ce;g++){var d=-HALF_PI+g*(PI2/e),u=i+i*Math.cos(d),d=n+n*Math.sin(d);u\u003Ca&&(a=u),d\u003Cl&&(l=d),u>s&&(s=u),d>c&&(c=d),o.push(new Vec(u,d))}var p=s-a,h=c-l;if(0!=t-p||0!=r-h)for(let e=0;e\u003Co.length;e++){var m=o[e];m.x=(m.x-a)/p*t,m.y=(m.y-l)/h*r}return o}function rangesOverlap(e,t,r,i){return e\u003Ci&&r\u003Ct}function rangeIntersection(e,t,r,i){var n=Math.max(e,r),o=Math.min(t,i);return n\u003C=o?[n,o]:null}function cross(e,t,r){return(t.x-e.x)*(r.y-e.y)-(r.x-e.x)*(t.y-e.y)}function pointInPolygon(e,t){let r=0;var i,n;for(let o=0;o\u003Ct.length;o++){if((i=t[o]).x===e.x&&i.y===e.y)return!0;if(n=t[(o+1)%t.length],Vec.Dist(e,i)+Vec.Dist(e,n)===Vec.Dist(i,n))return!0;i.y\u003C=e.y?n.y>e.y&&0\u003Ccross(i,n,e)&&(r+=1):n.y\u003C=e.y&&cross(i,n,e)\u003C0&&--r}return 0!==r}function toDomPrecision(e){return+e.toFixed(4)}function toFixed(e){return+e.toFixed(2)}var isSafeFloat=e=>Math.abs(e)\u003CNumber.MAX_SAFE_INTEGER,DefaultBrush=({brush:e,color:t,opacity:r,className:i})=>{var n=(0,import_react14.useRef)(null),o=(useTransform(n,e.x,e.y),toDomPrecision(Math.max(1,e.w))),a=toDomPrecision(Math.max(1,e.h));return(0,import_jsx_runtime5.jsx)(\\\"svg\\\",{className:\\\"tl-overlays__item\\\",ref:n,children:t?(0,import_jsx_runtime5.jsxs)(\\\"g\\\",{className:\\\"tl-brush\\\",opacity:r,children:[(0,import_jsx_runtime5.jsx)(\\\"rect\\\",{width:o,height:a,fill:t,opacity:.75}),(0,import_jsx_runtime5.jsx)(\\\"rect\\\",{width:o,height:a,fill:\\\"none\\\",stroke:t,opacity:.1})]}):(0,import_jsx_runtime5.jsx)(\\\"rect\\\",{className:\\\"tl-brush tl-brush__default \\\"+i,width:o,height:a})})},import_jsx_runtime6=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames2=__toESM(require_classnames(),1),import_react15=require(\\\"react\\\"),DefaultCollaboratorHint=({className:e,zoom:t,point:r,color:i,viewport:n,opacity:o=1})=>{var a=(0,import_react15.useRef)(null);return useTransform(a,clamp(r.x,n.minX+5/t,n.maxX-5/t),clamp(r.y,n.minY+5/t,n.maxY-5/t),1/t,Vec.Angle(n.center,r)),(0,import_jsx_runtime6.jsxs)(\\\"svg\\\",{ref:a,className:(0,import_classnames2[\\\"default\\\"])(\\\"tl-overlays__item\\\",e),children:[(0,import_jsx_runtime6.jsx)(\\\"use\\\",{href:\\\"#cursor_hint\\\",color:i,strokeWidth:3,stroke:\\\"var(--color-background)\\\"}),(0,import_jsx_runtime6.jsx)(\\\"use\\\",{href:\\\"#cursor_hint\\\",color:i,opacity:o})]})},import_jsx_runtime7=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames3=__toESM(require_classnames(),1),import_react16=require(\\\"react\\\"),_Cursor=({className:e,zoom:t,point:r,color:i,name:n,chatMessage:o})=>{var a=(0,import_react16.useRef)(null);return useTransform(a,null==r?void 0:r.x,null==r?void 0:r.y,1/t),r?(0,import_jsx_runtime7.jsxs)(\\\"div\\\",{ref:a,className:(0,import_classnames3[\\\"default\\\"])(\\\"tl-overlays__item\\\",e),children:[(0,import_jsx_runtime7.jsx)(\\\"svg\\\",{className:\\\"tl-cursor\\\",children:(0,import_jsx_runtime7.jsx)(\\\"use\\\",{href:\\\"#cursor\\\",color:i})}),o?(0,import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment,{children:[n&&(0,import_jsx_runtime7.jsx)(\\\"div\\\",{className:\\\"tl-nametag-title\\\",style:{color:i},children:n}),(0,import_jsx_runtime7.jsx)(\\\"div\\\",{className:\\\"tl-nametag-chat\\\",style:{backgroundColor:i},children:o})]}):n&&(0,import_jsx_runtime7.jsx)(\\\"div\\\",{className:\\\"tl-nametag\\\",style:{backgroundColor:i},children:n})]}):null},DefaultCursor=(0,import_react16.memo)(_Cursor),import_jsx_runtime8=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames4=__toESM(require_classnames(),1),import_react17=require(\\\"react\\\"),runtime=(init_esbuild_inject(),init_esbuild_inject(),{openWindow:(e,t)=>window.open(e,t,\\\"noopener noreferrer\\\"),refreshPage:()=>window.location.reload(),hardReset:async()=>{var e;return null==(e=window.__tldraw__hardReset)?void 0:e.call(window)}});function hardResetEditor(){runtime.hardReset()}function refreshPage(){runtime.refreshPage()}init_esbuild_inject();var BASE_ERROR_URL=\\\"https://github.com/tldraw/tldraw/issues/new\\\";function noop2(){}var DefaultErrorFallback=({error:e,editor:t})=>{const i=(0,import_react17.useRef)(null),[r,n]=(0,import_react17.useState)(!0),[o,a]=(0,import_react17.useState)(!1),[s,l]=(0,import_react17.useState)(!1),c=e instanceof Error?e.message:String(e),d=e instanceof Error?e.stack:null,u=useValue(\\\"isDarkMode\\\",()=>{try{if(t)return t.user.getIsDarkMode()}catch{}return null},[t]),[p,h]=(0,import_react17.useState)(null);(0,import_react17.useLayoutEffect)(()=>{var e;null!==u&&h(u);let t=null==(e=i.current)?void 0:e.parentElement,r=!1;for(;t;){if(t.classList.contains(\\\"tl-theme__dark\\\")||t.classList.contains(\\\"tl-theme__light\\\")){r=!0;break}t=t.parentElement}r?h(null):h(window.matchMedia(\\\"(prefers-color-scheme: dark)\\\").matches)},[u]),(0,import_react17.useEffect)(()=>{if(o){const e=setTimeout(()=>{a(!1)},2e3);return()=>clearTimeout(e)}},[o]);var m=new URL(BASE_ERROR_URL);return m.searchParams.set(\\\"title\\\",c),m.searchParams.set(\\\"labels\\\",\\\"bug\\\"),m.searchParams.set(\\\"body\\\",`Hey, I ran into an error while using tldraw:\\n\\n\\\\`\\\\`\\\\`js\\n${null!=d?d:c}\\n\\\\`\\\\`\\\\`\\n\\nMy browser: `+navigator.userAgent),(0,import_jsx_runtime8.jsxs)(\\\"div\\\",{ref:i,className:(0,import_classnames4[\\\"default\\\"])(\\\"tl-container tl-error-boundary\\\",null===p?\\\"\\\":p?\\\"tl-theme__dark\\\":\\\"tl-theme__light\\\"),children:[(0,import_jsx_runtime8.jsx)(\\\"div\\\",{className:\\\"tl-error-boundary__overlay\\\"}),t&&(0,import_jsx_runtime8.jsx)(ErrorBoundary,{onError:noop2,fallback:()=>null,children:(0,import_jsx_runtime8.jsx)(EditorContext.Provider,{value:t,children:(0,import_jsx_runtime8.jsx)(\\\"div\\\",{className:\\\"tl-overlay tl-error-boundary__canvas\\\",children:(0,import_jsx_runtime8.jsx)(Canvas,{})})})}),(0,import_jsx_runtime8.jsx)(\\\"div\\\",{className:(0,import_classnames4[\\\"default\\\"])(\\\"tl-modal\\\",\\\"tl-error-boundary__content\\\",{\\\"tl-error-boundary__content__expanded\\\":r&&!s}),children:s?(0,import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment,{children:[(0,import_jsx_runtime8.jsx)(\\\"h2\\\",{children:\\\"Are you sure?\\\"}),(0,import_jsx_runtime8.jsx)(\\\"p\\\",{children:\\\"Resetting your data will delete your drawing and cannot be undone.\\\"}),(0,import_jsx_runtime8.jsxs)(\\\"div\\\",{className:\\\"tl-error-boundary__content__actions\\\",children:[(0,import_jsx_runtime8.jsx)(\\\"button\\\",{onClick:()=>l(!1),children:\\\"Cancel\\\"}),(0,import_jsx_runtime8.jsx)(\\\"button\\\",{className:\\\"tl-error-boundary__reset\\\",onClick:async()=>{hardResetEditor()},children:\\\"Reset data\\\"})]})]}):(0,import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment,{children:[(0,import_jsx_runtime8.jsx)(\\\"h2\\\",{children:\\\"Something's gone wrong.\\\"}),(0,import_jsx_runtime8.jsxs)(\\\"p\\\",{children:[\\\"Sorry, we encountered an error. Please refresh the page to continue. If you keep seeing this error, you can \\\",(0,import_jsx_runtime8.jsx)(\\\"a\\\",{href:m.toString(),children:\\\"create a GitHub issue\\\"}),\\\" or\\\",\\\" \\\",(0,import_jsx_runtime8.jsx)(\\\"a\\\",{href:\\\"https://discord.gg/Cq6cPsTfNy\\\",children:\\\"ask for help on Discord\\\"}),\\\".\\\"]}),r&&(0,import_jsx_runtime8.jsxs)(\\\"div\\\",{className:\\\"tl-error-boundary__content__error\\\",children:[(0,import_jsx_runtime8.jsx)(\\\"pre\\\",{children:(0,import_jsx_runtime8.jsx)(\\\"code\\\",{children:null!=d?d:c})}),(0,import_jsx_runtime8.jsx)(\\\"button\\\",{onClick:()=>{var e=document.createElement(\\\"textarea\\\");e.value=null!=d?d:c,document.body.appendChild(e),e.select(),document.execCommand(\\\"copy\\\"),e.remove(),a(!0)},children:o?\\\"Copied!\\\":\\\"Copy\\\"})]}),(0,import_jsx_runtime8.jsxs)(\\\"div\\\",{className:\\\"tl-error-boundary__content__actions\\\",children:[(0,import_jsx_runtime8.jsx)(\\\"button\\\",{onClick:()=>n(!r),children:r?\\\"Hide details\\\":\\\"Show details\\\"}),(0,import_jsx_runtime8.jsxs)(\\\"div\\\",{className:\\\"tl-error-boundary__content__actions__group\\\",children:[(0,import_jsx_runtime8.jsx)(\\\"button\\\",{className:\\\"tl-error-boundary__reset\\\",onClick:()=>l(!0),children:\\\"Reset data\\\"}),(0,import_jsx_runtime8.jsx)(\\\"button\\\",{className:\\\"tl-error-boundary__refresh\\\",onClick:()=>{refreshPage()},children:\\\"Refresh Page\\\"})]})]})]})})]})},import_jsx_runtime9=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),MAX_SHAPES_PER_PAGE=(init_esbuild_inject(),2e3),MAX_PAGES=40,ANIMATION_MEDIUM_MS=320,ZOOMS=[.1,.25,.5,1,2,4,8],MIN_ZOOM=.1,MAX_ZOOM=8,FOLLOW_CHASE_PROPORTION=.5,FOLLOW_CHASE_PAN_SNAP=.1,FOLLOW_CHASE_PAN_UNSNAP=.2,FOLLOW_CHASE_ZOOM_SNAP=.005,FOLLOW_CHASE_ZOOM_UNSNAP=.05,DOUBLE_CLICK_DURATION=450,MULTI_CLICK_DURATION=200,COARSE_DRAG_DISTANCE=6,DRAG_DISTANCE=4,SVG_PADDING=32,HASH_PATTERN_ZOOM_NAMES={};for(let $9a=1;$9a\u003C=Math.ceil(MAX_ZOOM);$9a++)HASH_PATTERN_ZOOM_NAMES[$9a+\\\"_dark\\\"]=`hash_pattern_zoom_${$9a}_dark`,HASH_PATTERN_ZOOM_NAMES[$9a+\\\"_light\\\"]=`hash_pattern_zoom_${$9a}_light`;var DEFAULT_ANIMATION_OPTIONS={duration:0,easing:EASINGS.easeInOutCubic},CAMERA_SLIDE_FRICTION=.09,GRID_STEPS=[{min:-1,mid:.15,step:64},{min:.05,mid:.375,step:16},{min:.15,mid:1,step:4},{min:.7,mid:2.5,step:1}],COLLABORATOR_INACTIVE_TIMEOUT=6e4,COLLABORATOR_IDLE_TIMEOUT=3e3,COLLABORATOR_CHECK_INTERVAL=1200,INTERNAL_POINTER_IDS={CAMERA_MOVE:-10},CAMERA_MOVING_TIMEOUT=64,CAMERA_MAX_RENDERING_INTERVAL=620,HIT_TEST_MARGIN=8,EDGE_SCROLL_SPEED=20,EDGE_SCROLL_DISTANCE=32,DefaultGrid=({x:l,y:c,z:d,size:u})=>(0,import_jsx_runtime9.jsxs)(\\\"svg\\\",{className:\\\"tl-grid\\\",version:\\\"1.1\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\",children:[(0,import_jsx_runtime9.jsx)(\\\"defs\\\",{children:GRID_STEPS.map(({min:e,mid:t,step:r},i)=>{var n=r*u*d,o=.5+l*d,a=.5+c*d,o=0\u003Co?o%n:n+o%n,a=0\u003Ca?a%n:n+a%n,s=d\u003Ct?modulate(d,[e,t],[0,1]):1;return(0,import_jsx_runtime9.jsx)(\\\"pattern\\\",{id:\\\"grid-\\\"+r,width:n,height:n,patternUnits:\\\"userSpaceOnUse\\\",children:(0,import_jsx_runtime9.jsx)(\\\"circle\\\",{className:\\\"tl-grid-dot\\\",cx:o,cy:a,r:1,opacity:s})},\\\"grid-pattern-\\\"+i)})}),GRID_STEPS.map(({step:e},t)=>(0,import_jsx_runtime9.jsx)(\\\"rect\\\",{width:\\\"100%\\\",height:\\\"100%\\\",fill:`url(#grid-${e})`},\\\"grid-rect-\\\"+t))]}),import_jsx_runtime10=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames5=__toESM(require_classnames(),1),DefaultHandle=({handle:e,isCoarse:t,className:r,zoom:i})=>{var n=(t?20:12)/i,o=(\\\"create\\\"===e.type&&t?3:4)/i;return(0,import_jsx_runtime10.jsxs)(\\\"g\\\",{className:(0,import_classnames5[\\\"default\\\"])(\\\"tl-handle\\\",{\\\"tl-handle__virtual\\\":\\\"virtual\\\"===e.type,\\\"tl-handle__create\\\":\\\"create\\\"===e.type},r),children:[(0,import_jsx_runtime10.jsx)(\\\"circle\\\",{className:\\\"tl-handle__bg\\\",r:n}),(0,import_jsx_runtime10.jsx)(\\\"circle\\\",{className:\\\"tl-handle__fg\\\",r:o})]})},import_jsx_runtime11=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),DefaultHandles=({children:e})=>(0,import_jsx_runtime11.jsx)(\\\"svg\\\",{className:\\\"tl-user-handles tl-overlays__item\\\",children:e}),import_jsx_runtime12=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),DefaultHoveredShapeIndicator=({shapeId:e})=>(0,import_jsx_runtime12.jsx)(ShapeIndicator,{className:\\\"tl-user-indicator__hovered\\\",id:e}),import_jsx_runtime13=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames6=__toESM(require_classnames(),1);function getSvgPathFromPoints(e,t=!0){var r=e.length;if(r\u003C2)return\\\"\\\";let i=e[0],n=e[1];if(2===r)return`M${precise(i)}L`+precise(n);let o=\\\"\\\";for(let a=2,s=r-1;a\u003Cs;a++)i=e[a],n=e[a+1],o+=average(i,n);return t?`M${average(e[0],e[1])}Q${precise(e[1])}${average(e[1],e[2])}T${o}${average(e[r-1],e[0])}${average(e[0],e[1])}Z`:`M${precise(e[0])}Q${precise(e[1])}${average(e[1],e[2])}${3\u003Ce.length?\\\"T\\\":\\\"\\\"}${o}L`+precise(e[r-1])}init_esbuild_inject();var DefaultScribble=({scribble:e,zoom:t,color:r,opacity:i,className:n})=>e.points.length?(0,import_jsx_runtime13.jsx)(\\\"svg\\\",{className:n&&(0,import_classnames6[\\\"default\\\"])(\\\"tl-overlays__item\\\",n),children:(0,import_jsx_runtime13.jsx)(\\\"path\\\",{className:\\\"tl-scribble\\\",d:getSvgPathFromPoints(e.points,!1),stroke:null!=r?r:`var(--color-${e.color})`,fill:\\\"none\\\",strokeWidth:8/t,opacity:null!=i?i:e.opacity})}):null,import_jsx_runtime14=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),React5=__toESM(require(\\\"react\\\"),1),DefaultSelectionBackground=({bounds:t,rotation:e})=>{const r=React5.useRef(null);return useTransform(r,t.x,t.y,1,e),React5.useLayoutEffect(()=>{var e=r.current;e&&(e.style.width=toDomPrecision(Math.max(1,t.width))+\\\"px\\\",e.style.height=toDomPrecision(Math.max(1,t.height))+\\\"px\\\")},[t.width,t.height]),(0,import_jsx_runtime14.jsx)(\\\"div\\\",{ref:r,className:\\\"tl-selection__bg\\\",draggable:!1})},import_jsx_runtime15=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames7=__toESM(require_classnames(),1),import_react18=require(\\\"react\\\"),DefaultSelectionForeground=({bounds:e,rotation:t})=>{const r=useEditor();var i=(0,import_react18.useRef)(null),n=useValue(\\\"only selected shape\\\",()=>r.getOnlySelectedShape(),[r]),n=n?r.getShapeUtil(n).expandSelectionOutlinePx(n):0;return useTransform(i,null==e?void 0:e.x,null==e?void 0:e.y,1,t,{x:-n,y:-n}),e=e.clone().expandBy(n).zeroFix(),(0,import_jsx_runtime15.jsx)(\\\"svg\\\",{ref:i,className:\\\"tl-overlays__item tl-selection__fg\\\",\\\"data-testid\\\":\\\"selection-foreground\\\",children:(0,import_jsx_runtime15.jsx)(\\\"rect\\\",{className:(0,import_classnames7[\\\"default\\\"])(\\\"tl-selection__fg__outline\\\"),width:toDomPrecision(e.width),height:toDomPrecision(e.height)})})},import_jsx_runtime16=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),DefaultShapeErrorFallback=()=>(0,import_jsx_runtime16.jsx)(\\\"div\\\",{className:\\\"tl-shape-error-boundary\\\"}),import_jsx_runtime17=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),DefaultShapeIndicatorErrorFallback=()=>(0,import_jsx_runtime17.jsx)(\\\"circle\\\",{cx:4,cy:4,r:8,strokeWidth:\\\"1\\\",stroke:\\\"red\\\"}),import_jsx_runtime18=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames8=__toESM(require_classnames(),1),React6=__toESM(require(\\\"react\\\"),1);function PointsSnapLine({points:e,zoom:t}){const r=2.5/t,i=e.reduce((e,t)=>Math.min(e,t.x),Infinity);var n=e.reduce((e,t)=>Math.max(e,t.x),-Infinity);const o=e.reduce((e,t)=>Math.min(e,t.y),Infinity);var a=e.reduce((e,t)=>Math.max(e,t.y),-Infinity),s=e.some(e=>e.x===i&&e.y===o);let l,c,d,u;return u=s?(l=i,c=o,d=n,a):(l=i,c=a,d=n,o),(0,import_jsx_runtime18.jsxs)(\\\"g\\\",{className:\\\"tl-snap-line\\\",children:[(0,import_jsx_runtime18.jsx)(\\\"line\\\",{x1:l,y1:c,x2:d,y2:u}),e.map((e,t)=>(0,import_jsx_runtime18.jsx)(\\\"g\\\",{transform:`translate(${e.x},${e.y})`,children:(0,import_jsx_runtime18.jsx)(\\\"path\\\",{className:\\\"tl-snap-point\\\",d:`M ${-r},${-r} L ${r},${r} M ${-r},${r} L ${r},`+-r})},t))]})}function GapsSnapLine({gaps:e,direction:t,zoom:r}){const i=3.5/r;let n=[-Infinity,Infinity];var o=null;const a=\\\"horizontal\\\"===t;for(const l of e)(o=(o=rangeIntersection(n[0],n[1],a?l.startEdge[0].y:l.startEdge[0].x,a?l.startEdge[1].y:l.startEdge[1].x))&&rangeIntersection((n=o)[0],n[1],a?l.endEdge[0].y:l.endEdge[0].x,a?l.endEdge[1].y:l.endEdge[1].x))&&(n=o);if(null===n)return null;const s=(n[0]+n[1])/2;return(0,import_jsx_runtime18.jsx)(\\\"g\\\",{className:\\\"tl-snap-line\\\",children:e.map(({startEdge:e,endEdge:t},r)=>(0,import_jsx_runtime18.jsx)(React6.Fragment,{children:a?(0,import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment,{children:[(0,import_jsx_runtime18.jsx)(\\\"line\\\",{x1:e[0].x,y1:s-2*i,x2:e[1].x,y2:s+2*i}),(0,import_jsx_runtime18.jsx)(\\\"line\\\",{x1:t[0].x,y1:s-2*i,x2:t[1].x,y2:s+2*i}),(0,import_jsx_runtime18.jsx)(\\\"line\\\",{x1:e[0].x,y1:s,x2:t[0].x,y2:s}),(0,import_jsx_runtime18.jsx)(\\\"line\\\",{x1:(e[0].x+t[0].x)/2,y1:s-i,x2:(e[0].x+t[0].x)/2,y2:s+i})]}):(0,import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment,{children:[(0,import_jsx_runtime18.jsx)(\\\"line\\\",{x1:s-2*i,y1:e[0].y,x2:s+2*i,y2:e[1].y}),(0,import_jsx_runtime18.jsx)(\\\"line\\\",{x1:s-2*i,y1:t[0].y,x2:s+2*i,y2:t[1].y}),(0,import_jsx_runtime18.jsx)(\\\"line\\\",{x1:s,y1:e[0].y,x2:s,y2:t[0].y}),(0,import_jsx_runtime18.jsx)(\\\"line\\\",{x1:s-i,y1:(e[0].y+t[0].y)/2,x2:s+i,y2:(e[0].y+t[0].y)/2})]})},r))})}var DefaultSnapLine=({className:e,line:t,zoom:r})=>(0,import_jsx_runtime18.jsx)(\\\"svg\\\",{className:(0,import_classnames8[\\\"default\\\"])(\\\"tl-overlays__item\\\",e),children:\\\"points\\\"===t.type?(0,import_jsx_runtime18.jsx)(PointsSnapLine,{...t,zoom:r}):\\\"gaps\\\"===t.type?(0,import_jsx_runtime18.jsx)(GapsSnapLine,{...t,zoom:r}):null}),import_jsx_runtime19=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),DefaultSpinner=()=>(0,import_jsx_runtime19.jsx)(\\\"svg\\\",{width:16,height:16,viewBox:\\\"0 0 16 16\\\",children:(0,import_jsx_runtime19.jsxs)(\\\"g\\\",{strokeWidth:2,fill:\\\"none\\\",fillRule:\\\"evenodd\\\",children:[(0,import_jsx_runtime19.jsx)(\\\"circle\\\",{strokeOpacity:.25,cx:8,cy:8,r:7,stroke:\\\"var(--color-text-1)\\\"}),(0,import_jsx_runtime19.jsx)(\\\"path\\\",{strokeLinecap:\\\"round\\\",d:\\\"M15 8c0-4.5-4.5-7-7-7\\\",stroke:\\\"var(--color-text-1)\\\",children:(0,import_jsx_runtime19.jsx)(\\\"animateTransform\\\",{attributeName:\\\"transform\\\",type:\\\"rotate\\\",from:\\\"0 8 8\\\",to:\\\"360 8 8\\\",dur:\\\"1s\\\",repeatCount:\\\"indefinite\\\"})})]})}),DefaultSvgDefs=(init_esbuild_inject(),()=>null),EditorComponentsContext=(0,import_react19.createContext)({});function EditorComponentsProvider({overrides:e,children:t}){return(0,import_jsx_runtime20.jsx)(EditorComponentsContext.Provider,{value:(0,import_react19.useMemo)(()=>({Background:DefaultBackground,SvgDefs:DefaultSvgDefs,Brush:DefaultBrush,ZoomBrush:DefaultBrush,ScreenshotBrush:DefaultBrush,CollaboratorBrush:DefaultBrush,Cursor:DefaultCursor,CollaboratorCursor:DefaultCursor,CollaboratorHint:DefaultCollaboratorHint,CollaboratorShapeIndicator:ShapeIndicator,Grid:DefaultGrid,Scribble:DefaultScribble,SnapLine:DefaultSnapLine,Handles:DefaultHandles,Handle:DefaultHandle,CollaboratorScribble:DefaultScribble,ErrorFallback:DefaultErrorFallback,ShapeErrorFallback:DefaultShapeErrorFallback,ShapeIndicatorErrorFallback:DefaultShapeIndicatorErrorFallback,Spinner:DefaultSpinner,SelectionBackground:DefaultSelectionBackground,SelectionForeground:DefaultSelectionForeground,HoveredShapeIndicator:DefaultHoveredShapeIndicator,OnTheCanvas:null,InFrontOfTheCanvas:null,...e}),[e]),children:t})}function useEditorComponents(){return(0,import_react19.useContext)(EditorComponentsContext)}init_esbuild_inject();var import_react20=require(\\\"react\\\"),IGNORED_TAGS=[\\\"textarea\\\",\\\"input\\\"];function useFixSafariDoubleTapZoomPencilEvents(r){const i=useEditor();(0,import_react20.useEffect)(()=>{const e=r.current;if(e){const t=e=>{var t;e instanceof PointerEvent&&\\\"pen\\\"===e.pointerType&&(e.isKilled=!0,t=e[\\\"target\\\"],IGNORED_TAGS.includes(null==(t=t.tagName)?void 0:t.toLocaleLowerCase())||i.isIn(\\\"select.editing_shape\\\")||preventDefault(e))};return e.addEventListener(\\\"touchstart\\\",t),e.addEventListener(\\\"touchend\\\",t),()=>{e.removeEventListener(\\\"touchstart\\\",t),e.removeEventListener(\\\"touchend\\\",t)}}},[i,r])}init_esbuild_inject();var use_gesture_react_esm_exports={},import_actions=(__export(use_gesture_react_esm_exports,{createUseGesture:()=>createUseGesture,useDrag:()=>useDrag,useGesture:()=>useGesture,useHover:()=>useHover,useMove:()=>useMove,usePinch:()=>usePinch,useScroll:()=>useScroll,useWheel:()=>useWheel}),init_esbuild_inject(),__toESM(require_use_gesture_core_actions_cjs())),import_react21=(__reExport(use_gesture_react_esm_exports,__toESM(require_use_gesture_core_actions_cjs())),__toESM(require(\\\"react\\\"))),import_core7=__toESM(require_use_gesture_core_cjs());function useRecognizers(e,t={},r,i){const n=import_react21[\\\"default\\\"].useMemo(()=>new import_core7.Controller(e),[]);if(n.applyHandlers(e,i),n.applyConfig(t,r),import_react21[\\\"default\\\"].useEffect(n.effect.bind(n)),import_react21[\\\"default\\\"].useEffect(()=>n.clean.bind(n),[]),void 0===t.target)return n.bind.bind(n)}function useDrag(e,t){return(0,import_actions.registerAction)(import_actions.dragAction),useRecognizers({drag:e},t||{},\\\"drag\\\")}function usePinch(e,t){return(0,import_actions.registerAction)(import_actions.pinchAction),useRecognizers({pinch:e},t||{},\\\"pinch\\\")}function useWheel(e,t){return(0,import_actions.registerAction)(import_actions.wheelAction),useRecognizers({wheel:e},t||{},\\\"wheel\\\")}function useScroll(e,t){return(0,import_actions.registerAction)(import_actions.scrollAction),useRecognizers({scroll:e},t||{},\\\"scroll\\\")}function useMove(e,t){return(0,import_actions.registerAction)(import_actions.moveAction),useRecognizers({move:e},t||{},\\\"move\\\")}function useHover(e,t){return(0,import_actions.registerAction)(import_actions.hoverAction),useRecognizers({hover:e},t||{},\\\"hover\\\")}function createUseGesture(e){return e.forEach(import_actions.registerAction),function(e,t){var{handlers:r,nativeHandlers:i,config:n}=(0,import_core7.parseMergedHandlers)(e,t||{});return useRecognizers(r,n,void 0,i)}}function useGesture(e,t){return createUseGesture([import_actions.dragAction,import_actions.pinchAction,import_actions.scrollAction,import_actions.wheelAction,import_actions.moveAction,import_actions.hoverAction])(e,t||{})}__reExport(use_gesture_react_esm_exports,__toESM(require_use_gesture_core_utils_cjs())),__reExport(use_gesture_react_esm_exports,__toESM(require_use_gesture_core_types_cjs()));var React8=__toESM(require(\\\"react\\\"),1),MAX_ZOOM_STEP=(init_esbuild_inject(),10),IS_DARWIN=/Mac|iPod|iPhone|iPad/.test(\\\"undefined\\\"==typeof window?\\\"node\\\":window.navigator.platform);function normalizeWheel(t){let{deltaY:r,deltaX:e}=t,i=0;if(t.ctrlKey||t.altKey||t.metaKey){var n=Math.sign(t.deltaY),o=Math.abs(t.deltaY);let e=r;MAX_ZOOM_STEP\u003Co&&(e=MAX_ZOOM_STEP*n),i=e/100}else t.shiftKey&&!IS_DARWIN&&(e=r,r=0);return{x:-e,y:-r,z:-i}}var useGesture2=createUseGesture([use_gesture_react_esm_exports.wheelAction,use_gesture_react_esm_exports.pinchAction]),lastWheelTime=void 0,isWheelEndEvent=e=>{if(void 0!==lastWheelTime&&(120\u003Ce-lastWheelTime&&e-lastWheelTime\u003C160))return lastWheelTime=e,!0;return lastWheelTime=e,!1};function useGestureEvents(m){const g=useEditor();var e=React8.useMemo(()=>{let l=\\\"not sure\\\";let o=1,c=1,d=1,u=0;const a=new Vec,p=new Vec;const h=e=>{if(\\\"zooming\\\"!==(l=e?\\\"zooming\\\":l)){var t=Math.abs(u-o),r=Vec.Dist(a,p);switch(l){case\\\"not sure\\\":24\u003Ct?l=\\\"zooming\\\":16\u003Cr&&(l=\\\"panning\\\");break;case\\\"panning\\\":64\u003Ct&&(l=\\\"zooming\\\")}}};return{onWheel:({event:e})=>{if(g.getInstanceState().isFocused&&(l=\\\"not sure\\\",!isWheelEndEvent(Date.now()))){var t=g.getEditingShapeId();if(t){var r=g.getShape(t);if(r)if(g.getShapeUtil(r).canScroll(r)){r=g.getShapePageBounds(t);if(null!=r&&r.containsPoint(g.inputs.currentPagePoint))return}}preventDefault(e);var t=normalizeWheel(e);0===t.x&&0===t.y||(r=g.getContainer().getBoundingClientRect(),t={type:\\\"wheel\\\",name:\\\"wheel\\\",delta:t,point:new Vec(e.clientX,e.clientY).sub({x:r.left,y:r.top}),shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.metaKey||e.ctrlKey},g.dispatch(t))}},onPinchStart:e=>{var t=m.current,{event:r,origin:i,da:n}=(l=\\\"not sure\\\",e);r instanceof WheelEvent||(r.target===t||null!=t&&t.contains(r.target))&&(p.x=i[0],p.y=i[1],a.x=i[0],a.y=i[1],o=n[0],c=g.getZoomLevel(),g.dispatch({type:\\\"pinch\\\",name:\\\"pinch_start\\\",point:{x:i[0],y:i[1],z:g.getZoomLevel()},delta:{x:0,y:0},shiftKey:r.shiftKey,altKey:r.altKey,ctrlKey:r.metaKey||r.ctrlKey}))},onPinchEnd:e=>{var t=m.current;const{event:r,origin:i,offset:n}=e;if(!(r instanceof WheelEvent)&&(r.target===t||null!=t&&t.contains(r.target))){const o=n[0];l=\\\"not sure\\\",requestAnimationFrame(()=>{g.dispatch({type:\\\"pinch\\\",name:\\\"pinch_end\\\",point:{x:i[0],y:i[1],z:o},delta:{x:i[0],y:i[1]},shiftKey:r.shiftKey,altKey:r.altKey,ctrlKey:r.metaKey||r.ctrlKey})})}},onPinch:e=>{var t=m.current,{event:r,origin:i,offset:n,da:o}=e;if(!(r instanceof WheelEvent)&&(r.target===t||null!=t&&t.contains(r.target))){var t=\\\"gesturechange\\\"===e.type||\\\"gestureend\\\"===e.type,a=(u=o[0],i[0]-p.x),s=i[1]-p.y;switch(p.x=i[0],p.y=i[1],h(t),l){case\\\"zooming\\\":d=n[0],g.dispatch({type:\\\"pinch\\\",name:\\\"pinch\\\",point:{x:i[0],y:i[1],z:d},delta:{x:a,y:s},shiftKey:r.shiftKey,altKey:r.altKey,ctrlKey:r.metaKey||r.ctrlKey});break;case\\\"panning\\\":g.dispatch({type:\\\"pinch\\\",name:\\\"pinch\\\",point:{x:i[0],y:i[1],z:c},delta:{x:a,y:s},shiftKey:r.shiftKey,altKey:r.altKey,ctrlKey:r.metaKey||r.ctrlKey})}}}}},[g,m]);useGesture2(e,{target:m,eventOptions:{passive:!1},pinch:{from:()=>[g.getZoomLevel(),0],scaleBounds:()=>({from:g.getZoomLevel(),max:8,min:.05})}})}init_esbuild_inject();var React9=__toESM(require(\\\"react\\\"),1);function getHandle(e,t,r){var i=e.getShape(t);return{shape:i,handle:e.getShapeHandles(i).find(e=>e.id===r)}}function useHandleEvents(o,a){const s=useEditor();return React9.useMemo(()=>{let i,n;return{onPointerDown:e=>{var t,r;e.isKilled||(({shape:t,handle:r}=(setPointerCapture(loopToHtmlElement(e.currentTarget),e),getHandle(s,o,a))),r&&s.dispatch({type:\\\"pointer\\\",target:\\\"handle\\\",handle:r,shape:t,name:\\\"pointer_down\\\",...getPointerInfo(e)}))},onPointerMove:e=>{var t,r;e.isKilled||e.clientX===i&&e.clientY===n||(i=e.clientX,n=e.clientY,({shape:t,handle:r}=getHandle(s,o,a)),r&&s.dispatch({type:\\\"pointer\\\",target:\\\"handle\\\",handle:r,shape:t,name:\\\"pointer_move\\\",...getPointerInfo(e)}))},onPointerUp:e=>{var t,r;e.isKilled||(({shape:t,handle:r}=(releasePointerCapture(loopToHtmlElement(e.currentTarget),e),getHandle(s,o,a))),r&&s.dispatch({type:\\\"pointer\\\",target:\\\"handle\\\",handle:r,shape:t,name:\\\"pointer_up\\\",...getPointerInfo(e)}))}}},[s,o,a])}init_esbuild_inject();var import_lodash2=__toESM(require_lodash2(),1),import_react23=require(\\\"react\\\");function useScreenBounds(){const r=useEditor();(0,import_react23.useLayoutEffect)(()=>{const e=(0,import_lodash2[\\\"default\\\"])(()=>{r.updateViewportScreenBounds()},200,{trailing:!0}),t=(r.updateViewportScreenBounds(),setInterval(e,1e3));return window.addEventListener(\\\"resize\\\",e),window.addEventListener(\\\"scroll\\\",e),()=>{clearInterval(t),window.removeEventListener(\\\"resize\\\",e),window.removeEventListener(\\\"scroll\\\",e)}},[r])}init_esbuild_inject(),init_esbuild_inject();var _Box=class{constructor(e=0,t=0,r=0,i=0){__publicField(this,\\\"x\\\",0),__publicField(this,\\\"y\\\",0),__publicField(this,\\\"w\\\",0),__publicField(this,\\\"h\\\",0),this.x=e,this.y=t,this.w=r,this.h=i}get point(){return new Vec(this.x,this.y)}set point(e){this.x=e.x,this.y=e.y}get minX(){return this.x}set minX(e){this.x=e}get midX(){return this.x+this.w/2}get maxX(){return this.x+this.w}get minY(){return this.y}set minY(e){this.y=e}get midY(){return this.y+this.h/2}get maxY(){return this.y+this.h}get width(){return this.w}set width(e){this.w=e}get height(){return this.h}set height(e){this.h=e}get aspectRatio(){return this.width/this.height}get center(){return new Vec(this.midX,this.midY)}set center(e){this.minX=e.x-this.width/2,this.minY=e.y-this.height/2}get corners(){return[new Vec(this.minX,this.minY),new Vec(this.maxX,this.minY),new Vec(this.maxX,this.maxY),new Vec(this.minX,this.maxY)]}get snapPoints(){return[new Vec(this.minX,this.minY),new Vec(this.maxX,this.minY),new Vec(this.maxX,this.maxY),new Vec(this.minX,this.maxY),this.center]}get sides(){var e=this[\\\"corners\\\"];return[[e[0],e[1]],[e[1],e[2]],[e[2],e[3]],[e[3],e[0]]]}get size(){return new Vec(this.w,this.h)}toFixed(){return this.x=toPrecision(this.x),this.y=toPrecision(this.y),this.w=toPrecision(this.w),this.h=toPrecision(this.h),this}setTo(e){return this.x=e.x,this.y=e.y,this.w=e.w,this.h=e.h,this}set(e=0,t=0,r=0,i=0){return this.x=e,this.y=t,this.w=r,this.h=i,this}expand(e){var t=Math.min(this.minX,e.minX),r=Math.min(this.minY,e.minY),i=Math.max(this.maxX,e.maxX),n=Math.max(this.maxY,e.maxY);return this.x=t,this.y=r,this.w=i-t,this.h=n-r,this}expandBy(e){return this.x-=e,this.y-=e,this.w+=2*e,this.h+=2*e,this}scale(e){return this.x/=e,this.y/=e,this.w/=e,this.h/=e,this}clone(){var{x:e,y:t,w:r,h:i}=this;return new _Box(e,t,r,i)}translate(e){return this.x+=e.x,this.y+=e.y,this}snapToGrid(e){var t=Math.round(this.minX/e)*e,r=Math.round(this.minY/e)*e,i=Math.round(this.maxX/e)*e,n=Math.round(this.maxY/e)*e;this.minX=t,this.minY=r,this.width=Math.max(1,i-t),this.height=Math.max(1,n-r)}collides(e){return _Box.Collides(this,e)}contains(e){return _Box.Contains(this,e)}includes(e){return _Box.Includes(this,e)}containsPoint(e,t=0){return _Box.ContainsPoint(this,e,t)}getHandlePoint(e){switch(e){case\\\"top_left\\\":return new Vec(this.minX,this.minY);case\\\"top_right\\\":return new Vec(this.maxX,this.minY);case\\\"bottom_left\\\":return new Vec(this.minX,this.maxY);case\\\"bottom_right\\\":return new Vec(this.maxX,this.maxY);case\\\"top\\\":return new Vec(this.midX,this.minY);case\\\"right\\\":return new Vec(this.maxX,this.midY);case\\\"bottom\\\":return new Vec(this.midX,this.maxY);case\\\"left\\\":return new Vec(this.minX,this.midY)}}toJson(){return{x:this.minX,y:this.minY,w:this.w,h:this.h}}resize(e,t,r){var{minX:i,minY:n,maxX:o,maxY:a}=this;let{minX:s,minY:l,maxX:c,maxY:d}=this;switch(e){case\\\"left\\\":case\\\"top_left\\\":case\\\"bottom_left\\\":s+=t;break;case\\\"right\\\":case\\\"top_right\\\":case\\\"bottom_right\\\":c+=t}switch(e){case\\\"top\\\":case\\\"top_left\\\":case\\\"top_right\\\":l+=r;break;case\\\"bottom\\\":case\\\"bottom_left\\\":case\\\"bottom_right\\\":d+=r}o=(c-s)/(o-i),i=(d-l)/(a-n);o\u003C0&&(a=c,c=s,s=a),i\u003C0&&(n=d,d=l,l=n),this.minX=s,this.minY=l,this.width=Math.abs(c-s),this.height=Math.abs(d-l)}union(e){var t=Math.min(this.minX,e.x),r=Math.min(this.minY,e.y),i=Math.max(this.maxX,e.w+e.x),n=Math.max(this.maxY,e.h+e.y);return this.x=t,this.y=r,this.width=i-t,this.height=n-r,this}static From(e){return new _Box(e.x,e.y,e.w,e.h)}static FromPoints(e){if(0===e.length)return new _Box;let t=Infinity,r=Infinity,i=-Infinity,n=-Infinity;var o;for(let a=0,s=e.length;a\u003Cs;a++)o=e[a],t=Math.min(o.x,t),r=Math.min(o.y,r),i=Math.max(o.x,i),n=Math.max(o.y,n);return new _Box(t,r,i-t,n-r)}static Expand(e,t){var r=Math.min(t.minX,e.minX),i=Math.min(t.minY,e.minY),n=Math.max(t.maxX,e.maxX),o=Math.max(t.maxY,e.maxY);return new _Box(r,i,n-r,o-i)}static ExpandBy(e,t){return new _Box(e.minX-t,e.minY-t,e.width+2*t,e.height+2*t)}static Resize(e,t,r,i,n=!1){var{minX:o,minY:a,maxX:s,maxY:l}=e;let{minX:c,minY:d,maxX:u,maxY:p}=e;switch(t){case\\\"left\\\":case\\\"top_left\\\":case\\\"bottom_left\\\":c+=r;break;case\\\"right\\\":case\\\"top_right\\\":case\\\"bottom_right\\\":u+=r}switch(t){case\\\"top\\\":case\\\"top_left\\\":case\\\"top_right\\\":d+=i;break;case\\\"bottom\\\":case\\\"bottom_left\\\":case\\\"bottom_right\\\":p+=i}var h=(u-c)/(s-o),m=(p-d)/(l-a),g=h\u003C0,_=m\u003C0;if(n){var f=(s-o)/(l-a),b=Math.abs(u-c),v=Math.abs(p-d),y=b*(m\u003C0?1:-1)*(1/f),S=v*(h\u003C0?1:-1)*f,x=f\u003Cb/v;switch(t){case\\\"top_left\\\":x?d=p+y:c=u+S;break;case\\\"top_right\\\":x?d=p+y:u=c-S;break;case\\\"bottom_right\\\":x?p=d-y:u=c-S;break;case\\\"bottom_left\\\":x?p=d-y:c=u+S;break;case\\\"bottom\\\":case\\\"top\\\":var w=(c+u)/2,$=v*f;c=w-$/2,u=w+$/2;break;case\\\"left\\\":case\\\"right\\\":w=(d+p)/2,$=b/f;d=w-$/2,p=w+$/2}}g&&(s=u,u=c,c=s),_&&(o=p,p=d,d=o);l=new _Box(c,d,Math.abs(u-c),Math.abs(p-d));return{box:l,scaleX:+(l.width/e.width*(0\u003Ch?1:-1)).toFixed(5),scaleY:+(l.height/e.height*(0\u003Cm?1:-1)).toFixed(5)}}equals(e){return _Box.Equals(this,e)}static Equals(e,t){return t.x===e.x&&t.y===e.y&&t.w===e.w&&t.h===e.h}zeroFix(){return this.w=Math.max(1,this.w),this.h=Math.max(1,this.h),this}static ZeroFix(e){return new _Box(e.x,e.y,Math.max(1,e.w),Math.max(1,e.h))}},Box=_Box;function flipSelectionHandleY(e){switch(e){case\\\"top\\\":return\\\"bottom\\\";case\\\"bottom\\\":return\\\"top\\\";case\\\"top_left\\\":return\\\"bottom_left\\\";case\\\"top_right\\\":return\\\"bottom_right\\\";case\\\"bottom_left\\\":return\\\"top_left\\\";case\\\"bottom_right\\\":return\\\"top_right\\\";default:return e}}function flipSelectionHandleX(e){switch(e){case\\\"left\\\":return\\\"right\\\";case\\\"right\\\":return\\\"left\\\";case\\\"top_left\\\":return\\\"top_right\\\";case\\\"top_right\\\":return\\\"top_left\\\";case\\\"bottom_left\\\":return\\\"bottom_right\\\";case\\\"bottom_right\\\":return\\\"bottom_left\\\";default:return e}}function isSelectionCorner(e){return\\\"top_left\\\"===e||\\\"top_right\\\"===e||\\\"bottom_right\\\"===e||\\\"bottom_left\\\"===e}__publicField(Box,\\\"Collides\\\",(e,t)=>!(e.maxX\u003Ct.minX||e.minX>t.maxX||e.maxY\u003Ct.minY||e.minY>t.maxY)),__publicField(Box,\\\"Contains\\\",(e,t)=>e.minX\u003Ct.minX&&e.minY\u003Ct.minY&&e.maxY>t.maxY&&e.maxX>t.maxX),__publicField(Box,\\\"Includes\\\",(e,t)=>_Box.Collides(e,t)||_Box.Contains(e,t)),__publicField(Box,\\\"ContainsPoint\\\",(e,t,r=0)=>!(t.x\u003Ce.minX-r||t.y\u003Ce.minY-r||t.x>e.maxX+r||t.y>e.maxY+r)),__publicField(Box,\\\"Common\\\",e=>{let t=Infinity,r=Infinity,i=-Infinity,n=-Infinity;for(let a=0;a\u003Ce.length;a++){var o=e[a];t=Math.min(t,o.minX),r=Math.min(r,o.minY),i=Math.max(i,o.maxX),n=Math.max(n,o.maxY)}return new _Box(t,r,i-t,n-r)}),__publicField(Box,\\\"Sides\\\",(e,t=0)=>{var r=e[\\\"corners\\\"];return[[r[0],r[1]],[r[1],r[2]],[r[2],r[3]],[r[3],r[0]]]});var _Mat=class{constructor(e,t,r,i,n,o){__publicField(this,\\\"a\\\",1),__publicField(this,\\\"b\\\",0),__publicField(this,\\\"c\\\",0),__publicField(this,\\\"d\\\",1),__publicField(this,\\\"e\\\",0),__publicField(this,\\\"f\\\",0),this.a=e,this.b=t,this.c=r,this.d=i,this.e=n,this.f=o}equals(e){return this.a===e.a&&this.b===e.b&&this.c===e.c&&this.d===e.d&&this.e===e.e&&this.f===e.f}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0,this}multiply(e){var t=e,{a:r,b:i,c:n,d:o,e:a,f:s}=this;return this.a=r*t.a+n*t.b,this.c=r*t.c+n*t.d,this.e=r*t.e+n*t.f+a,this.b=i*t.a+o*t.b,this.d=i*t.c+o*t.d,this.f=i*t.e+o*t.f+s,this}rotate(e,t,r){return 0===e?this:void 0===t?this.multiply(_Mat.Rotate(e)):this.translate(t,r).multiply(_Mat.Rotate(e)).translate(-t,-r)}translate(e,t){return this.multiply(_Mat.Translate(e,t))}scale(e,t){return this.multiply(_Mat.Scale(e,t))}invert(){var{a:e,b:t,c:r,d:i,e:n,f:o}=this,a=e*i-t*r;return this.a=i/a,this.b=t/-a,this.c=r/-a,this.d=e/a,this.e=(i*n-r*o)/-a,this.f=(t*n-e*o)/a,this}applyToPoint(e){return _Mat.applyToPoint(this,e)}applyToPoints(e){return _Mat.applyToPoints(this,e)}rotation(){return _Mat.Rotation(this)}point(){return _Mat.Point(this)}decomposed(){return _Mat.Decompose(this)}toCssString(){return _Mat.toCssString(this)}setTo(e){return Object.assign(this,e),this}decompose(){return _Mat.Decompose(this)}clone(){return new _Mat(this.a,this.b,this.c,this.d,this.e,this.f)}static Identity(){return new _Mat(1,0,0,1,0,0)}static Translate(e,t){return new _Mat(1,0,0,1,e,t)}static Rotate(e,t,r){var i,n;return 0===e?_Mat.Identity():(i=Math.cos(e),n=Math.sin(e),n=new _Mat(i,n,-n,i,0,0),void 0===t?n:_Mat.Compose(_Mat.Translate(t,r),n,_Mat.Translate(-t,-r)))}static Multiply(e,t){return{a:e.a*t.a+e.c*t.b,c:e.a*t.c+e.c*t.d,e:e.a*t.e+e.c*t.f+e.e,b:e.b*t.a+e.d*t.b,d:e.b*t.c+e.d*t.d,f:e.b*t.e+e.d*t.f+e.f}}static Inverse(e){var t=e.a*e.d-e.b*e.c;return{a:e.d/t,b:e.b/-t,c:e.c/-t,d:e.a/t,e:(e.d*e.e-e.c*e.f)/-t,f:(e.b*e.e-e.a*e.f)/t}}static Absolute(e){var t=e.a*e.d-e.b*e.c;return{a:e.d/t,b:e.b/-t,c:e.c/-t,d:e.a/t,e:(e.d*e.e-e.c*e.f)/t,f:(e.b*e.e-e.a*e.f)/-t}}static Compose(...e){var t=_Mat.Identity();for(let r=0,i=e.length;r\u003Ci;r++)t.multiply(e[r]);return t}static Point(e){return new Vec(e.e,e.f)}static Rotation(e){let t;var r;return clampRadians(t=0!==e.a||0!==e.c?(r=Math.hypot(e.a,e.c),Math.acos(e.a/r)*(0\u003Ce.c?-1:1)):0!==e.b||0!==e.d?(r=Math.hypot(e.b,e.d),HALF_PI+Math.acos(e.b/r)*(0\u003Ce.d?-1:1)):0)}static Decompose(e){let t,r,i;var n;return i=0!==e.a||0!==e.c?(n=Math.hypot(e.a,e.c),t=n,r=(e.a*e.d-e.b*e.c)/n,Math.acos(e.a/n)*(0\u003Ce.c?-1:1)):0!==e.b||0!==e.d?(n=Math.hypot(e.b,e.d),t=(e.a*e.d-e.b*e.c)/n,r=n,HALF_PI+Math.acos(e.b/n)*(0\u003Ce.d?-1:1)):(t=0,r=0),{x:e.e,y:e.f,scaleX:t,scaleY:r,rotation:clampRadians(i)}}static Smooth(e,t=1e10){return e.a=Math.round(e.a*t)/t,e.b=Math.round(e.b*t)/t,e.c=Math.round(e.c*t)/t,e.d=Math.round(e.d*t)/t,e.e=Math.round(e.e*t)/t,e.f=Math.round(e.f*t)/t,e}static toCssString(e){return`matrix(${toDomPrecision(e.a)}, ${toDomPrecision(e.b)}, ${toDomPrecision(e.c)}, ${toDomPrecision(e.d)}, ${toDomPrecision(e.e)}, ${toDomPrecision(e.f)})`}static applyToPoint(e,t){return new Vec(e.a*t.x+e.c*t.y+e.e,e.b*t.x+e.d*t.y+e.f,t.z)}static applyToXY(e,t,r){return[e.a*t+e.c*r+e.e,e.b*t+e.d*r+e.f]}static applyToPoints(t,e){return e.map(e=>new Vec(t.a*e.x+t.c*e.y+t.e,t.b*e.x+t.d*e.y+t.f,e.z))}static applyToBounds(e,t){return new Box(e.e+t.minX,e.f+t.minY,t.width,t.height)}static From(e){return new _Mat(e.a,e.b,e.c,e.d,e.e,e.f)}static Cast(e){return e instanceof _Mat?e:_Mat.From(e)}},Mat=_Mat,import_jsx_runtime21=(__publicField(Mat,\\\"Scale\\\",(e,t,r,i)=>{var n=new _Mat(e,0,0,t,0,0);return void 0===r?n:_Mat.Compose(_Mat.Translate(r,i),n,_Mat.Translate(-r,-i))}),init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react24=require(\\\"react\\\");function useTick(t=!0){const[,r]=(0,import_react24.useState)(0),i=useEditor();(0,import_react24.useEffect)(()=>{if(t){const e=()=>r(e=>e+1);return i.on(\\\"tick\\\",e),()=>{i.off(\\\"tick\\\",e)}}},[i,t])}var GeometryDebuggingView=track(function GeometryDebuggingView2({showStroke:l=!0,showVertices:c=!0,showClosestPointOnOutline:d=!0}){const u=useEditor(),p=(useTick(d),u.getZoomLevel());var e=u.getRenderingShapes();const{currentPagePoint:h}=u[\\\"inputs\\\"];return(0,import_jsx_runtime21.jsx)(\\\"svg\\\",{style:{position:\\\"absolute\\\",pointerEvents:\\\"none\\\",zIndex:999999999,top:0,left:0,overflow:\\\"visible\\\"},children:e.map(e=>{var t=u.getShape(e.id);if(\\\"group\\\"===t.type)return null;var r=u.getShapeGeometry(t),i=u.getShapePageTransform(t),t=u.getPointInShapeSpace(t,h),n=r.nearestPoint(t),o=r.distanceToPoint(t,!0),a=Math.abs(o)*p,o=o\u003C0;const s=r[\\\"vertices\\\"];return(0,import_jsx_runtime21.jsxs)(\\\"g\\\",{transform:i.toCssString(),strokeLinecap:\\\"round\\\",strokeLinejoin:\\\"round\\\",children:[l&&(0,import_jsx_runtime21.jsx)(\\\"path\\\",{stroke:\\\"red\\\",strokeWidth:\\\"2\\\",fill:\\\"none\\\",opacity:\\\"1\\\",d:r.toSimpleSvgPath()}),c&&s.map((e,t)=>(0,import_jsx_runtime21.jsx)(\\\"circle\\\",{cx:e.x,cy:e.y,r:\\\"2\\\",fill:`hsl(${modulate(t,[0,s.length-1],[120,200])}, 100%, 50%)`,stroke:\\\"black\\\",strokeWidth:\\\"1\\\"},\\\"v\\\"+t)),d&&a\u003C150&&(0,import_jsx_runtime21.jsx)(\\\"line\\\",{x1:n.x,y1:n.y,x2:t.x,y2:t.y,opacity:1-a/150,stroke:o?\\\"goldenrod\\\":\\\"dodgerblue\\\",strokeWidth:\\\"2\\\"})]},e.id+\\\"_outline\\\")})})}),import_jsx_runtime22=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react27=require(\\\"react\\\"),import_react25=(init_esbuild_inject(),require(\\\"react\\\")),import_lodash3=(init_esbuild_inject(),__toESM(require_lodash3(),1));function uniq(e){return(0,import_lodash3[\\\"default\\\"])(e)}function usePeerIds(){const e=useEditor(),t=(0,import_react25.useMemo)(()=>e.store.query.records(\\\"instance_presence\\\",()=>({userId:{neq:e.user.getId()}})),[e]);return useValue(useComputed(\\\"userIds\\\",()=>uniq(t.get().map(e=>e.userId)).sort(),{isEqual:(e,t)=>{var r;return e.join(\\\",\\\")===(null==(r=t.join)?void 0:r.call(t,\\\",\\\"))}},[t]))}init_esbuild_inject();var import_react26=require(\\\"react\\\");function usePresence(e){const t=useEditor(),r=(0,import_react26.useMemo)(()=>t.store.query.records(\\\"instance_presence\\\",()=>({userId:{eq:e}})),[t,e]);var i=useValue(\\\"latestPresence:\\\"+e,()=>r.get().slice().sort((e,t)=>t.lastActivityTimestamp-e.lastActivityTimestamp)[0],[]);return null!=i?i:null}var LiveCollaborators=track(function Collaborators(){var e=usePeerIds();return(0,import_jsx_runtime22.jsx)(import_jsx_runtime22.Fragment,{children:e.map(e=>(0,import_jsx_runtime22.jsx)(CollaboratorGuard,{collaboratorId:e},e))})}),CollaboratorGuard=track(function CollaboratorGuard2({collaboratorId:e}){var t=useEditor(),r=usePresence(e),i=useCollaboratorState(r);if(!r||r.currentPageId!==t.getCurrentPageId())return null;switch(i){case\\\"inactive\\\":var{followingUserId:n,highlightedUserIds:o}=t.getInstanceState();if(n===r.userId||o.includes(r.userId))break;return null;case\\\"idle\\\":n=t.getInstanceState()[\\\"highlightedUserIds\\\"];if(r.followingUserId!==t.user.getId()||r.chatMessage||n.includes(r.userId))break;return null}return(0,import_jsx_runtime22.jsx)(Collaborator,{latestPresence:r})}),Collaborator=track(function Collaborator2({latestPresence:e}){var t=useEditor();const{CollaboratorBrush:r,CollaboratorScribble:i,CollaboratorCursor:n,CollaboratorHint:o,CollaboratorShapeIndicator:a}=useEditorComponents(),s=t.getZoomLevel();t=t.getViewportPageBounds();const{userId:l,chatMessage:c,brush:d,scribbles:u,selectedShapeIds:p,userName:h,cursor:m,color:g}=e;var _=!(m.x\u003Ct.minX-12/s||m.y\u003Ct.minY-16/s||m.x>t.maxX-12/s||m.y>t.maxY-16/s);return(0,import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment,{children:[d&&r?(0,import_jsx_runtime22.jsx)(r,{className:\\\"tl-collaborator__brush\\\",brush:d,color:g,opacity:.1},l+\\\"_brush\\\"):null,_&&n?(0,import_jsx_runtime22.jsx)(n,{className:\\\"tl-collaborator__cursor\\\",point:m,color:g,zoom:s,name:\\\"New User\\\"!==h?h:null,chatMessage:c},l+\\\"_cursor\\\"):o?(0,import_jsx_runtime22.jsx)(o,{className:\\\"tl-collaborator__cursor-hint\\\",point:m,color:g,zoom:s,viewport:t},l+\\\"_cursor_hint\\\"):null,i&&u.length?(0,import_jsx_runtime22.jsx)(import_jsx_runtime22.Fragment,{children:u.map(e=>(0,import_jsx_runtime22.jsx)(i,{className:\\\"tl-collaborator__scribble\\\",scribble:e,color:g,zoom:s,opacity:\\\"laser\\\"===e.color?.5:.1},l+\\\"_scribble_\\\"+e.id))}):null,a&&p.map(e=>(0,import_jsx_runtime22.jsx)(a,{className:\\\"tl-collaborator__shape-indicator\\\",id:e,color:g,opacity:.5},l+\\\"_\\\"+e))]})});function getStateFromElapsedTime(e){return COLLABORATOR_INACTIVE_TIMEOUT\u003Ce?\\\"inactive\\\":COLLABORATOR_IDLE_TIMEOUT\u003Ce?\\\"idle\\\":\\\"active\\\"}function useCollaboratorState(e){var t;const r=(0,import_react27.useRef)(null!=(t=null==e?void 0:e.lastActivityTimestamp)?t:-1),[i,n]=(0,import_react27.useState)(()=>getStateFromElapsedTime(Date.now()-r.current));return(0,import_react27.useEffect)(()=>{const e=setInterval(()=>{n(getStateFromElapsedTime(Date.now()-r.current))},COLLABORATOR_CHECK_INTERVAL);return()=>clearInterval(e)},[]),e&&(r.current=e.lastActivityTimestamp),i}init_esbuild_inject();var import_jsx_runtime23=require(\\\"react/jsx-runtime\\\"),React11=__toESM(require(\\\"react\\\"),1),React10=(init_esbuild_inject(),__toESM(require(\\\"react\\\"),1));function gcd(e,t){return 0===t?e:gcd(t,e%t)}function nearestMultiple(e){var t,r=e.toString().split(\\\".\\\")[1];return r?(t=Math.pow(10,r.length))/gcd(parseInt(r,10),t):1}function useDPRMultiple(){const t=useEditor(),r=useContainer();React10.useEffect(()=>react(\\\"useDPRMultiple\\\",()=>{var e=t.getInstanceState().devicePixelRatio;r.style.setProperty(\\\"--tl-dpr-multiple\\\",nearestMultiple(e).toString())}),[t,r])}var Shape=track(function Shape2({id:n,shape:e,util:t,index:r,backgroundIndex:i,opacity:o,isCulled:a}){const s=useEditor();var l=useEditorComponents()[\\\"ShapeErrorFallback\\\"];const c=React11.useRef(null),d=React11.useRef(null),u=React11.useCallback((e,t)=>{var r;null!=(r=c.current)&&r.style.setProperty(e,t),null!=(r=d.current)&&r.style.setProperty(e,t)},[]);useQuickReactor(\\\"set shape container transform position\\\",()=>{var e;s.getShape(n)&&(e=s.getShapePageTransform(n),e=Mat.toCssString(e),u(\\\"transform\\\",e))},[s,u]),useQuickReactor(\\\"set shape container clip path\\\",()=>{if(!s.getShape(n))return null;var e=s.getShapeClipPath(n);u(\\\"clip-path\\\",null!=e?e:\\\"none\\\")},[s,u]),useQuickReactor(\\\"set shape height and width\\\",()=>{var e=s.getShape(n);if(!e)return null;var e=s.getShapeGeometry(e).bounds,t=nearestMultiple(Math.floor(100*s.getInstanceState().devicePixelRatio)/100),r=e.w%t,r=0==r?e.w:e.w+(t-r),i=e.h%t,e=0==i?e.h:e.h+(t-i);u(\\\"width\\\",Math.max(r,t)+\\\"px\\\"),u(\\\"height\\\",Math.max(e,t)+\\\"px\\\")},[s]),React11.useLayoutEffect(()=>{var e;u(\\\"opacity\\\",o+\\\"\\\"),null!=(e=c.current)&&e.style.setProperty(\\\"z-index\\\",r+\\\"\\\"),null!=(e=d.current)&&e.style.setProperty(\\\"z-index\\\",i+\\\"\\\")},[o,r,i,u]);var p=React11.useCallback(e=>{s.annotateError(e,{origin:\\\"react.shape\\\",willCrashApp:!1})},[s]);return e?(0,import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment,{children:[t.backgroundComponent&&(0,import_jsx_runtime23.jsx)(\\\"div\\\",{ref:d,className:\\\"tl-shape tl-shape-background\\\",\\\"data-shape-type\\\":e.type,draggable:!1,children:!a&&(0,import_jsx_runtime23.jsx)(OptionalErrorBoundary,{fallback:l,onError:p,children:(0,import_jsx_runtime23.jsx)(InnerShapeBackground,{shape:e,util:t})})}),(0,import_jsx_runtime23.jsx)(\\\"div\\\",{ref:c,className:\\\"tl-shape\\\",\\\"data-shape-type\\\":e.type,draggable:!1,children:a?(0,import_jsx_runtime23.jsx)(CulledShape,{shape:e}):(0,import_jsx_runtime23.jsx)(OptionalErrorBoundary,{fallback:l,onError:p,children:(0,import_jsx_runtime23.jsx)(InnerShape,{shape:e,util:t})})})]}):null}),InnerShape=React11.memo(function InnerShape2({shape:e,util:t}){return useStateTracking(\\\"InnerShape:\\\"+e.type,()=>t.component(e))},(e,t)=>e.shape.props===t.shape.props&&e.shape.meta===t.shape.meta&&e.util===t.util),InnerShapeBackground=React11.memo(function InnerShapeBackground2({shape:t,util:r}){return useStateTracking(\\\"InnerShape:\\\"+t.type,()=>{var e;return null==(e=r.backgroundComponent)?void 0:e.call(r,t)})},(e,t)=>e.shape.props===t.shape.props&&e.shape.meta===t.shape.meta),CulledShape=React11.memo(function CulledShape2({shape:e}){var t=useEditor().getShapeGeometry(e).bounds;return(0,import_jsx_runtime23.jsx)(\\\"div\\\",{className:\\\"tl-shape__culled\\\",style:{transform:`translate(${toDomPrecision(t.minX)}px, ${toDomPrecision(t.minY)}px)`,width:Math.max(1,toDomPrecision(t.width)),height:Math.max(1,toDomPrecision(t.height))}})},()=>!0);function Canvas({className:e}){const a=useEditor();var{Background:t,SvgDefs:r}=useEditorComponents(),i=import_react28[\\\"default\\\"].useRef(null);const s=import_react28[\\\"default\\\"].useRef(null),l=import_react28[\\\"default\\\"].useRef(null);useScreenBounds(),useDocumentEvents(),useCoarsePointer(),useGestureEvents(i),useFixSafariDoubleTapZoomPencilEvents(i),useQuickReactor(\\\"position layers\\\",()=>{var e,t,r,i,n,o=s.current;o&&(e=l.current)&&(({x:t,y:r,z:n}=a.getCamera()),i=1\u003C=n?modulate(n,[1,8],[.125,.5],!0):modulate(n,[.1,1],[-2,.125],!0),n=`scale(${toDomPrecision(n)}) translate(${toDomPrecision(t+i)}px,${toDomPrecision(r+i)}px)`,o.style.setProperty(\\\"transform\\\",n),e.style.setProperty(\\\"transform\\\",n))},[a]);var n=useCanvasEvents(),o=useValue(\\\"shapeSvgDefs\\\",()=>{var e,t,r=new Map;for(const i of objectMapValues(a.shapeUtils)){if(!i)return;for({key:e,component:t}of i.getCanvasSvgDefs())r.has(e)||r.set(e,(0,import_jsx_runtime24.jsx)(t,{},e))}return[...r.values()]},[a]),c=useValue(\\\"debug_shapes\\\",()=>debugFlags.hideShapes.get(),[debugFlags]),d=useValue(\\\"debug_svg\\\",()=>debugFlags.debugSvg.get(),[debugFlags]),u=useValue(\\\"debug_geometry\\\",()=>debugFlags.debugGeometry.get(),[debugFlags]);return(0,import_jsx_runtime24.jsxs)(\\\"div\\\",{ref:i,draggable:!1,className:(0,import_classnames9[\\\"default\\\"])(\\\"tl-canvas\\\",e),\\\"data-testid\\\":\\\"canvas\\\",...n,children:[t&&(0,import_jsx_runtime24.jsx)(t,{}),(0,import_jsx_runtime24.jsx)(GridWrapper,{}),(0,import_jsx_runtime24.jsx)(UiLogger,{}),(0,import_jsx_runtime24.jsx)(\\\"svg\\\",{className:\\\"tl-svg-context\\\",children:(0,import_jsx_runtime24.jsxs)(\\\"defs\\\",{children:[o,Cursor&&(0,import_jsx_runtime24.jsx)(Cursor,{}),(0,import_jsx_runtime24.jsx)(CollaboratorHint,{}),(0,import_jsx_runtime24.jsx)(ArrowheadDot,{}),(0,import_jsx_runtime24.jsx)(ArrowheadCross,{}),r&&(0,import_jsx_runtime24.jsx)(r,{})]})}),(0,import_jsx_runtime24.jsxs)(\\\"div\\\",{ref:s,className:\\\"tl-html-layer tl-shapes\\\",draggable:!1,children:[(0,import_jsx_runtime24.jsx)(OnTheCanvasWrapper,{}),(0,import_jsx_runtime24.jsx)(SelectionBackgroundWrapper,{}),c?null:d?(0,import_jsx_runtime24.jsx)(ShapesWithSVGs,{}):(0,import_jsx_runtime24.jsx)(ShapesToDisplay,{})]}),(0,import_jsx_runtime24.jsxs)(\\\"div\\\",{className:\\\"tl-fixed-layer tl-overlays\\\",children:[(0,import_jsx_runtime24.jsxs)(\\\"div\\\",{ref:l,className:\\\"tl-html-layer\\\",children:[u?(0,import_jsx_runtime24.jsx)(GeometryDebuggingView,{}):null,(0,import_jsx_runtime24.jsx)(HandlesWrapper,{}),(0,import_jsx_runtime24.jsx)(BrushWrapper,{}),(0,import_jsx_runtime24.jsx)(ScribbleWrapper,{}),(0,import_jsx_runtime24.jsx)(ZoomBrushWrapper,{}),(0,import_jsx_runtime24.jsx)(SelectedIdIndicators,{}),(0,import_jsx_runtime24.jsx)(HoveredShapeIndicator,{}),(0,import_jsx_runtime24.jsx)(HintedShapeIndicator,{}),(0,import_jsx_runtime24.jsx)(SnapLinesWrapper,{}),(0,import_jsx_runtime24.jsx)(SelectionForegroundWrapper,{}),(0,import_jsx_runtime24.jsx)(LiveCollaborators,{})]}),(0,import_jsx_runtime24.jsx)(InFrontOfTheCanvasWrapper,{})]})]})}function GridWrapper(){const e=useEditor();var t=useValue(\\\"gridSize\\\",()=>e.getDocumentSettings().gridSize,[e]),{x:r,y:i,z:n}=useValue(\\\"camera\\\",()=>e.getCamera(),[e]),o=useValue(\\\"isGridMode\\\",()=>e.getInstanceState().isGridMode,[e]),a=useEditorComponents()[\\\"Grid\\\"];return a&&o?(0,import_jsx_runtime24.jsx)(a,{x:r,y:i,z:n,size:t}):null}function ScribbleWrapper(){const e=useEditor();var t=useValue(\\\"scribbles\\\",()=>e.getInstanceState().scribbles,[e]);const r=useValue(\\\"zoomLevel\\\",()=>e.getZoomLevel(),[e]),i=useEditorComponents()[\\\"Scribble\\\"];return i&&t.length?(0,import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment,{children:t.map(e=>(0,import_jsx_runtime24.jsx)(i,{className:\\\"tl-user-scribble\\\",scribble:e,zoom:r},e.id))}):null}function BrushWrapper(){const e=useEditor();var t=useValue(\\\"brush\\\",()=>e.getInstanceState().brush,[e]),r=useEditorComponents()[\\\"Brush\\\"];return r&&t?(0,import_jsx_runtime24.jsx)(r,{className:\\\"tl-user-brush\\\",brush:t}):null}function ZoomBrushWrapper(){const e=useEditor();var t=useValue(\\\"zoomBrush\\\",()=>e.getInstanceState().zoomBrush,[e]),r=useEditorComponents()[\\\"ZoomBrush\\\"];return r&&t?(0,import_jsx_runtime24.jsx)(r,{className:\\\"tl-user-brush tl-zoom-brush\\\",brush:t}):null}function SnapLinesWrapper(){const e=useEditor();var t=useValue(\\\"snapLines\\\",()=>e.snaps.getLines(),[e]);const r=useValue(\\\"zoomLevel\\\",()=>e.getZoomLevel(),[e]),i=useEditorComponents()[\\\"SnapLine\\\"];return i&&0\u003Ct.length?(0,import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment,{children:t.map(e=>(0,import_jsx_runtime24.jsx)(i,{className:\\\"tl-user-snapline\\\",line:e,zoom:r},e.id))}):null}var MIN_HANDLE_DISTANCE=48;function HandlesWrapper(){const t=useEditor();var e=useEditorComponents()[\\\"Handles\\\"];const r=useValue(\\\"zoomLevel\\\",()=>t.getZoomLevel(),[t]),i=useValue(\\\"coarse pointer\\\",()=>t.getInstanceState().isCoarsePointer,[t]),n=useValue(\\\"onlySelectedShape\\\",()=>t.getOnlySelectedShape(),[t]);var o=useValue(\\\"isChangingStyle\\\",()=>t.getInstanceState().isChangingStyle,[t]),a=useValue(\\\"isChangingStyle\\\",()=>t.getInstanceState().isReadonly,[t]),s=useValue(\\\"handles\\\",()=>{var e=t.getOnlySelectedShape();if(e)return t.getShapeHandles(e)},[t]),l=useValue(\\\"transform\\\",()=>{var e=t.getOnlySelectedShape();if(e)return t.getShapePageTransform(e)},[t]);if(!e||!n||o||a)return null;if(!s)return null;if(!l)return null;var c=[];for(let p=0,h=s[p];p\u003Cs.length;p++,h=s[p]){if(\\\"vertex\\\"!==h.type){var d=s[p-1],u=s[p+1];if(d&&u&&Math.hypot(d.y-u.y,d.x-u.x)\u003CMIN_HANDLE_DISTANCE/r)continue}c.push(h)}return c.sort(e=>\\\"vertex\\\"===e.type?1:-1),(0,import_jsx_runtime24.jsx)(e,{children:(0,import_jsx_runtime24.jsx)(\\\"g\\\",{transform:Mat.toCssString(l),children:c.map(e=>(0,import_jsx_runtime24.jsx)(HandleWrapper,{shapeId:n.id,handle:e,zoom:r,isCoarse:i},e.id))})})}function HandleWrapper({shapeId:e,handle:t,zoom:r,isCoarse:i}){var n=useHandleEvents(e,t.id),o=useEditorComponents()[\\\"Handle\\\"];return o?(0,import_jsx_runtime24.jsx)(\\\"g\\\",{\\\"aria-label\\\":\\\"handle\\\",transform:`translate(${t.x}, ${t.y})`,...n,children:(0,import_jsx_runtime24.jsx)(o,{shapeId:e,handle:t,zoom:r,isCoarse:i})}):null}function ShapesWithSVGs(){const e=useEditor();var t=useValue(\\\"rendering shapes\\\",()=>e.getRenderingShapes(),[e]);return(0,import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment,{children:t.map(e=>(0,import_jsx_runtime24.jsxs)(import_react28[\\\"default\\\"].Fragment,{children:[(0,import_jsx_runtime24.jsx)(Shape,{...e}),(0,import_jsx_runtime24.jsx)(DebugSvgCopy,{id:e.id})]},e.id+\\\"_fragment\\\"))})}function ShapesToDisplay(){const e=useEditor();var t=useValue(\\\"rendering shapes\\\",()=>e.getRenderingShapes(),[e]);return(0,import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment,{children:t.map(e=>(0,import_jsx_runtime24.jsx)(Shape,{...e},e.id+\\\"_shape\\\"))})}function SelectedIdIndicators(){const e=useEditor();var t=useValue(\\\"selectedShapeIds\\\",()=>e.getCurrentPageState().selectedShapeIds,[e]);return useValue(\\\"should display selected ids\\\",()=>e.isInAny(\\\"select.idle\\\",\\\"select.brushing\\\",\\\"select.scribble_brushing\\\",\\\"select.editing_shape\\\",\\\"select.pointing_shape\\\",\\\"select.pointing_selection\\\",\\\"select.pointing_handle\\\")&&!e.getInstanceState().isChangingStyle,[e])?(0,import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment,{children:t.map(e=>(0,import_jsx_runtime24.jsx)(ShapeIndicator,{className:\\\"tl-user-indicator__selected\\\",id:e},e+\\\"_indicator\\\"))}):null}var HoveredShapeIndicator=function HoveredShapeIndicator2(){const e=useEditor();var t=useEditorComponents()[\\\"HoveredShapeIndicator\\\"],r=useValue(\\\"coarse pointer\\\",()=>e.getInstanceState().isCoarsePointer,[e]),i=useValue(\\\"hovering canvas\\\",()=>e.getInstanceState().isHoveringCanvas,[e]),n=useValue(\\\"hovered id\\\",()=>e.getCurrentPageState().hoveredShapeId,[e]);return!r&&i&&n&&t?(0,import_jsx_runtime24.jsx)(t,{shapeId:n}):null},HintedShapeIndicator=track(function HintedShapeIndicator2(){var e=dedupe(useEditor().getHintingShapeIds());return e.length?(0,import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment,{children:e.map(e=>(0,import_jsx_runtime24.jsx)(ShapeIndicator,{className:\\\"tl-user-indicator__hint\\\",id:e},e+\\\"_hinting\\\"))}):null});function Cursor(){return(0,import_jsx_runtime24.jsxs)(\\\"g\\\",{id:\\\"cursor\\\",children:[(0,import_jsx_runtime24.jsxs)(\\\"g\\\",{fill:\\\"rgba(0,0,0,.2)\\\",transform:\\\"translate(-11,-11)\\\",children:[(0,import_jsx_runtime24.jsx)(\\\"path\\\",{d:\\\"m12 24.4219v-16.015l11.591 11.619h-6.781l-.411.124z\\\"}),(0,import_jsx_runtime24.jsx)(\\\"path\\\",{d:\\\"m21.0845 25.0962-3.605 1.535-4.682-11.089 3.686-1.553z\\\"})]}),(0,import_jsx_runtime24.jsxs)(\\\"g\\\",{fill:\\\"white\\\",transform:\\\"translate(-12,-12)\\\",children:[(0,import_jsx_runtime24.jsx)(\\\"path\\\",{d:\\\"m12 24.4219v-16.015l11.591 11.619h-6.781l-.411.124z\\\"}),(0,import_jsx_runtime24.jsx)(\\\"path\\\",{d:\\\"m21.0845 25.0962-3.605 1.535-4.682-11.089 3.686-1.553z\\\"})]}),(0,import_jsx_runtime24.jsxs)(\\\"g\\\",{fill:\\\"currentColor\\\",transform:\\\"translate(-12,-12)\\\",children:[(0,import_jsx_runtime24.jsx)(\\\"path\\\",{d:\\\"m19.751 24.4155-1.844.774-3.1-7.374 1.841-.775z\\\"}),(0,import_jsx_runtime24.jsx)(\\\"path\\\",{d:\\\"m13 10.814v11.188l2.969-2.866.428-.139h4.768z\\\"})]})]})}function CollaboratorHint(){return(0,import_jsx_runtime24.jsx)(\\\"path\\\",{id:\\\"cursor_hint\\\",fill:\\\"currentColor\\\",d:\\\"M -2,-5 2,0 -2,5 Z\\\"})}function ArrowheadDot(){return(0,import_jsx_runtime24.jsx)(\\\"marker\\\",{id:\\\"arrowhead-dot\\\",className:\\\"tl-arrow-hint\\\",refX:\\\"3.0\\\",refY:\\\"3.0\\\",orient:\\\"0\\\",children:(0,import_jsx_runtime24.jsx)(\\\"circle\\\",{cx:\\\"3\\\",cy:\\\"3\\\",r:\\\"2\\\",strokeDasharray:\\\"100%\\\"})})}function ArrowheadCross(){return(0,import_jsx_runtime24.jsxs)(\\\"marker\\\",{id:\\\"arrowhead-cross\\\",className:\\\"tl-arrow-hint\\\",refX:\\\"3.0\\\",refY:\\\"3.0\\\",orient:\\\"auto\\\",children:[(0,import_jsx_runtime24.jsx)(\\\"line\\\",{x1:\\\"1.5\\\",y1:\\\"1.5\\\",x2:\\\"4.5\\\",y2:\\\"4.5\\\",strokeDasharray:\\\"100%\\\"}),(0,import_jsx_runtime24.jsx)(\\\"line\\\",{x1:\\\"1.5\\\",y1:\\\"4.5\\\",x2:\\\"4.5\\\",y2:\\\"1.5\\\",strokeDasharray:\\\"100%\\\"})]})}var DebugSvgCopy=track(function DupSvg({id:n}){const o=useEditor();var e=o.getShape(n);const[t,a]=import_react28[\\\"default\\\"].useState(\\\"\\\"),r=(null==e?void 0:e.parentId)===o.getCurrentPageId();return import_react28[\\\"default\\\"].useEffect(()=>{if(r){let i=null;const e=react(\\\"shape to svg\\\",async()=>{var e=Math.random(),t=(i=e,o.getShapePageBounds(n)),r=await o.getSvg([n],{padding:0});r&&t&&i===e&&(r.style.setProperty(\\\"overflow\\\",\\\"visible\\\"),r.setAttribute(\\\"preserveAspectRatio\\\",\\\"xMidYMin slice\\\"),r.style.setProperty(\\\"transform\\\",`translate(${t.x}px, ${t.y+t.h+12}px)`),r.style.setProperty(\\\"border\\\",\\\"1px solid black\\\"),a(null==r?void 0:r.outerHTML))});return()=>{i=null,e()}}},[o,n,r]),r?(0,import_jsx_runtime24.jsx)(\\\"div\\\",{style:{paddingTop:12,position:\\\"absolute\\\"},children:(0,import_jsx_runtime24.jsx)(\\\"div\\\",{style:{display:\\\"flex\\\"},dangerouslySetInnerHTML:{__html:t}})}):null});function UiLogger(){var e=useValue(\\\"debugging ui log\\\",()=>debugFlags.logMessages.get(),[debugFlags]);return e.length?(0,import_jsx_runtime24.jsx)(\\\"div\\\",{className:\\\"debug__ui-logger\\\",children:e.map((e,t)=>{var r=\\\"string\\\"==typeof e?e:JSON.stringify(e);return(0,import_jsx_runtime24.jsx)(\\\"div\\\",{className:\\\"debug__ui-logger__line\\\",children:r},t)})}):null}function SelectionForegroundWrapper(){const e=useEditor();var t=useValue(\\\"selection rotation\\\",()=>e.getSelectionRotation(),[e]),r=useValue(\\\"selection bounds\\\",()=>e.getSelectionRotatedPageBounds(),[e]),i=useEditorComponents()[\\\"SelectionForeground\\\"];return r&&i?(0,import_jsx_runtime24.jsx)(i,{bounds:r,rotation:t}):null}function SelectionBackgroundWrapper(){const e=useEditor();var t=useValue(\\\"selection rotation\\\",()=>e.getSelectionRotation(),[e]),r=useValue(\\\"selection bounds\\\",()=>e.getSelectionRotatedPageBounds(),[e]),i=useEditorComponents()[\\\"SelectionBackground\\\"];return r&&i?(0,import_jsx_runtime24.jsx)(i,{bounds:r,rotation:t}):null}function OnTheCanvasWrapper(){var e=useEditorComponents()[\\\"OnTheCanvas\\\"];return e?(0,import_jsx_runtime24.jsx)(e,{}):null}function InFrontOfTheCanvasWrapper(){var e=useEditorComponents()[\\\"InFrontOfTheCanvas\\\"];return e?(0,import_jsx_runtime24.jsx)(e,{}):null}init_esbuild_inject();var import_jsx_runtime25=require(\\\"react/jsx-runtime\\\"),DefaultLoadingScreen=()=>(0,import_jsx_runtime25.jsx)(LoadingScreen,{children:\\\"Connecting...\\\"});function uniqueId(){return nanoid()}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var USER_DATA_KEY=\\\"TLDRAW_USER_DATA_v3\\\",userTypeValidator=validation_exports.object({id:validation_exports.string,name:validation_exports.string.nullable().optional(),locale:validation_exports.string.nullable().optional(),color:validation_exports.string.nullable().optional(),isDarkMode:validation_exports[\\\"boolean\\\"].nullable().optional(),animationSpeed:validation_exports.number.nullable().optional(),edgeScrollSpeed:validation_exports.number.nullable().optional(),isSnapMode:validation_exports[\\\"boolean\\\"].nullable().optional()}),Versions12={AddAnimationSpeed:1,AddIsSnapMode:2,MakeFieldsNullable:3,AddEdgeScrollSpeed:4},userMigrations=defineMigrations({currentVersion:Versions12.AddEdgeScrollSpeed,migrators:{[Versions12.AddAnimationSpeed]:{up:e=>({...e,animationSpeed:1}),down:({animationSpeed:e,...t})=>t},[Versions12.AddIsSnapMode]:{up:e=>({...e,isSnapMode:!1}),down:({isSnapMode:e,...t})=>t},[Versions12.MakeFieldsNullable]:{up:e=>e,down:e=>{var t;return{id:e.id,name:null!=(t=e.name)?t:defaultUserPreferences.name,locale:null!=(t=e.locale)?t:defaultUserPreferences.locale,color:null!=(t=e.color)?t:defaultUserPreferences.color,isDarkMode:null!=(t=e.isDarkMode)?t:defaultUserPreferences.isDarkMode,animationSpeed:null!=(t=e.animationSpeed)?t:defaultUserPreferences.animationSpeed,isSnapMode:null!=(t=e.isSnapMode)?t:defaultUserPreferences.isSnapMode}}},[Versions12.AddEdgeScrollSpeed]:{up:e=>({...e,edgeScrollSpeed:1}),down:({edgeScrollSpeed:e,...t})=>t}}}),USER_COLORS=[\\\"#FF802B\\\",\\\"#EC5E41\\\",\\\"#F2555A\\\",\\\"#F04F88\\\",\\\"#E34BA9\\\",\\\"#BD54C6\\\",\\\"#9D5BD2\\\",\\\"#7B66DC\\\",\\\"#02B1CC\\\",\\\"#11B3A3\\\",\\\"#39B178\\\",\\\"#55B467\\\"];function getRandomColor(){return USER_COLORS[Math.floor(Math.random()*USER_COLORS.length)]}function userPrefersDarkUI(){var e;return\\\"undefined\\\"!=typeof window&&null!=(e=null==(e=null==(e=window.matchMedia)?void 0:e.call(window,\\\"(prefers-color-scheme: dark)\\\"))?void 0:e.matches)&&e}function userPrefersReducedMotion(){var e;return\\\"undefined\\\"!=typeof window&&null!=(e=null==(e=null==(e=window.matchMedia)?void 0:e.call(window,\\\"(prefers-reduced-motion: reduce)\\\"))?void 0:e.matches)&&e}var defaultUserPreferences=Object.freeze({name:\\\"New User\\\",locale:getDefaultTranslationLocale(),color:getRandomColor(),isDarkMode:!1,edgeScrollSpeed:1,animationSpeed:userPrefersReducedMotion()?0:1,isSnapMode:!1});function getFreshUserPreferences(){return{id:uniqueId()}}function migrateUserPreferences(e){if(null===e||\\\"object\\\"!=typeof e)return getFreshUserPreferences();if(!(\\\"version\\\"in e&&\\\"user\\\"in e&&\\\"number\\\"==typeof e.version))return getFreshUserPreferences();var t=migrate({value:e.user,fromVersion:e.version,toVersion:null!=(t=userMigrations.currentVersion)?t:0,migrations:userMigrations});if(\\\"error\\\"===t.type)return getFreshUserPreferences();try{userTypeValidator.validate(t.value)}catch(r){return getFreshUserPreferences()}return t.value}function loadUserPreferences(){var e;return migrateUserPreferences(\\\"undefined\\\"!=typeof window&&null!=(e=JSON.parse((null==(e=null==window?void 0:window.localStorage)?void 0:e.getItem(USER_DATA_KEY))||\\\"null\\\"))?e:null)}var globalUserPreferences=atom(\\\"globalUserData\\\",loadUserPreferences());function storeUserPreferences(){\\\"undefined\\\"!=typeof window&&window.localStorage&&window.localStorage.setItem(USER_DATA_KEY,JSON.stringify({version:userMigrations.currentVersion,user:globalUserPreferences.get()}))}function setUserPreferences(e){userTypeValidator.validate(e),globalUserPreferences.set(e),storeUserPreferences(),broadcastUserPreferencesChange()}var isTest2=\\\"undefined\\\"!=typeof process&&!1,channel=\\\"undefined\\\"==typeof BroadcastChannel||isTest2?null:new BroadcastChannel(\\\"tldraw-user-sync\\\"),broadcastOrigin=(null!=channel&&channel.addEventListener(\\\"message\\\",e=>{var t=e.data;(null==t?void 0:t.type)===broadcastEventKey&&(null==t?void 0:t.origin)!==broadcastOrigin&&globalUserPreferences.set(migrateUserPreferences(t.data))}),uniqueId()),broadcastEventKey=\\\"tldraw-user-preferences-change\\\";function broadcastUserPreferencesChange(){null!=channel&&channel.postMessage({type:broadcastEventKey,origin:broadcastOrigin,data:{user:globalUserPreferences.get(),version:userMigrations.currentVersion}})}function getUserPreferences(){return globalUserPreferences.get()}function createTLUser(e={}){var t;return{derivePresenceState:null!=(t=e.derivePresenceState)?t:()=>computed(\\\"presence\\\",()=>null),userPreferences:null!=(t=e.userPreferences)?t:computed(\\\"userPreferences\\\",()=>getUserPreferences()),setUserPreferences:null!=(t=e.setUserPreferences)?t:setUserPreferences}}init_esbuild_inject();var import_eventemitter3=__toESM(require_eventemitter3(),1),import_jsx_runtime28=(init_esbuild_inject(),init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_jsx_runtime26=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function SVGContainer({children:e,className:t=\\\"\\\",...r}){return(0,import_jsx_runtime26.jsx)(\\\"svg\\\",{...r,className:\\\"tl-svg-container \\\"+t,children:e})}init_esbuild_inject(),init_esbuild_inject();var Geometry2d=class{constructor(e){var t;__publicField(this,\\\"isFilled\\\",!1),__publicField(this,\\\"isClosed\\\",!0),__publicField(this,\\\"isLabel\\\",!1),__publicField(this,\\\"isSnappable\\\",!0),__publicField(this,\\\"_vertices\\\"),__publicField(this,\\\"_bounds\\\"),__publicField(this,\\\"_snapPoints\\\"),__publicField(this,\\\"_area\\\"),this.isFilled=e.isFilled,this.isClosed=e.isClosed,this.isSnappable=null!=(t=e.isSnappable)&&t,this.isLabel=null!=(t=e.isLabel)&&t}hitTestPoint(e,t=0,r=!1){return this.distanceToPoint(e,r)\u003C=t}distanceToPoint(e,t=!1){var r=e.dist(this.nearestPoint(e));return this.isClosed&&(this.isFilled||t)&&pointInPolygon(e,this.vertices)?-r:r}distanceToLineSegment(e,t){var r=this.nearestPointOnLineSegment(e,t),i=Vec.DistanceToLineSegment(e,t,r);return this.isClosed&&this.isFilled&&pointInPolygon(r,this.vertices)?-i:i}hitTestLineSegment(e,t,r=0){return this.distanceToLineSegment(e,t)\u003C=r}nearestPointOnLineSegment(e,t){let r=Infinity,i;for(let a=0;a\u003Cthis.vertices.length;a++){var n=this.vertices[a],o=Vec.DistanceToLineSegment(e,t,n);o\u003Cr&&(r=o,i=n)}if(i)return i;throw Error(\\\"nearest point not found\\\")}isPointInBounds(e,t=0){var r=this[\\\"bounds\\\"];return!(e.x\u003Cr.minX-t||e.y\u003Cr.minY-t||e.x>r.maxX+t||e.y>r.maxY+t)}get vertices(){return this._vertices||(this._vertices=this.getVertices()),this._vertices}getBounds(){return Box.FromPoints(this.vertices)}get bounds(){return this._bounds||(this._bounds=this.getBounds()),this._bounds}get snapPoints(){return this._snapPoints||(this._snapPoints=this.bounds.snapPoints),this._snapPoints}get center(){return this.bounds.center}get area(){return this._area||(this._area=this.getArea()),this._area}getArea(){if(!this.isClosed)return 0;var e=this[\\\"vertices\\\"];let t=0;for(let n=0,o=e.length;n\u003Co;n++){var r=e[n],i=e[(n+1)%o];t+=r.x*i.y-i.x*r.y}return t/2}toSimpleSvgPath(){let t=\\\"\\\";var r=this[\\\"vertices\\\"],i=r.length;if(0!==i){t+=`M${r[0].x},`+r[0].y;for(let e=1;e\u003Ci;e++)t+=`L${r[e].x},`+r[e].y;this.isClosed&&(t+=\\\"Z\\\")}return t}},Group2d=class extends Geometry2d{constructor(e){super({...e,isClosed:!0,isFilled:!1}),__publicField(this,\\\"children\\\");var t=e[\\\"children\\\"];if(0===t.length)throw Error(\\\"Group2d must have at least one child\\\");this.children=t}getVertices(){return this.children.filter(e=>!e.isLabel).flatMap(e=>e.vertices)}nearestPoint(e){let t=Infinity,r;var i=this[\\\"children\\\"];if(0===i.length)throw Error(\\\"no children\\\");for(const a of i){var n=a.nearestPoint(e),o=n.dist(e);o\u003Ct&&(t=o,r=n)}if(r)return r;throw Error(\\\"nearest point not found\\\")}distanceToPoint(r,i=!1){return Math.min(...this.children.map((e,t)=>e.distanceToPoint(r,i||0\u003Ct)))}hitTestPoint(t,r,i){return!!this.children.filter(e=>!e.isLabel).find(e=>e.hitTestPoint(t,r,i))}hitTestLineSegment(t,r,i){return!!this.children.filter(e=>!e.isLabel).find(e=>e.hitTestLineSegment(t,r,i))}getArea(){return this.children[0].area}toSimpleSvgPath(){let e=\\\"\\\";for(const s of this.children)e+=s.toSimpleSvgPath();var t=Box.FromPoints(this.vertices).corners;for(let l=0,c=t.length;l\u003Cc;l++){var r=t[l],i=t[(l-1+c)%c],n=r.dist(i),o=t[(l+1)%c],a=r.dist(o),i=r.clone().lrp(i,4/n),n=r,r=r.clone().lrp(o,4/a);e+=`M${i.x},${i.y} L${n.x},${n.y} L${r.x},${r.y} `}return e}};function intersectLineSegmentLineSegment(e,t,r,i){var n=e.x-r.x,o=e.y-r.y,a=i.x-r.x,s=i.y-r.y,l=t.x-e.x,c=t.y-e.y,d=a*o-s*n,o=l*o-c*n,n=s*l-a*c;if(0!=d&&0!=o&&0!=n){s=d/n,a=o/n;if(0\u003C=s&&s\u003C=1&&0\u003C=a&&a\u003C=1)return Vec.AddXY(e,s*l,s*c)}return null}function intersectLineSegmentCircle(e,t,r,i){var n,o=(t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y),a=2*((t.x-e.x)*(e.x-r.x)+(t.y-e.y)*(e.y-r.y)),s=a*a-4*o*(r.x*r.x+r.y*r.y+e.x*e.x+e.y*e.y-2*(r.x*e.x+r.y*e.y)-i*i);return s\u003C0||0==s||(n=(-a-(s=Math.sqrt(s)))/(2*o),((a=(-a+s)/(2*o))\u003C0||1\u003Ca)&&(n\u003C0||1\u003Cn))||(s=[],0\u003C=a&&a\u003C=1&&s.push(Vec.Lrp(e,t,a)),0\u003C=n&&n\u003C=1&&s.push(Vec.Lrp(e,t,n)),0===s.length)?null:s}function intersectLineSegmentPolyline(e,t,r){var i,n=[];for(let o=0,a=r.length-1;o\u003Ca;o++)(i=intersectLineSegmentLineSegment(e,t,r[o],r[o+1]))&&n.push(i);return 0===n.length?null:n}function intersectLineSegmentPolygon(e,t,r){var i,n=[];for(let o=1,a=r.length;o\u003Ca+1;o++)(i=intersectLineSegmentLineSegment(e,t,r[o-1],r[o%r.length]))&&n.push(i);return 0===n.length?null:n}function intersectCircleCircle(e,t,r,i){var n=r.x-e.x,o=r.y-e.y,a=Math.sqrt(n*n+o*o),s=(a*a-i*i+t*t)/(2*a),l=Math.sqrt(t*t-s*s);return[new Vec(e.x+(n/=a)*s-(o/=a)*l,e.y+o*s+n*l),new Vec(e.x+n*s+o*l,e.y+o*s-n*l)]}function intersectCirclePolygon(e,t,r){var i,n=[];for(let o=0,a=r.length;o\u003Ca;o++)(i=intersectLineSegmentCircle(r[o],r[(o+1)%r.length],e,t))&&n.push(...i);return 0===n.length?null:n}function intersectCirclePolyline(e,t,r){var i,n=[];for(let o=1,a=r.length;o\u003Ca;o++)(i=intersectLineSegmentCircle(r[o-1],r[o],e,t))&&n.push(...i);return 0===n.length?null:n}function ccw(e,t,r){return(r.y-e.y)*(t.x-e.x)>(t.y-e.y)*(r.x-e.x)}function linesIntersect(e,t,r,i){return ccw(e,r,i)!==ccw(t,r,i)&&ccw(e,t,r)!==ccw(e,t,i)}function intersectPolygonPolygon(r,i){var e,t,n=new Map;let o,a,s,l;for(let u=0,p=r.length;u\u003Cp;u++)pointInPolygon(o=r[u],i)&&(e=getPointId(o),n.has(e)||n.set(e,o));for(let h=0,m=i.length;h\u003Cm;h++)pointInPolygon(o=i[h],r)&&(t=getPointId(o),n.has(t)||n.set(t,o));for(let g=0,_=r.length;g\u003C_;g++){o=r[g],a=r[(g+1)%r.length];for(let e=0,t=i.length;e\u003Ct;e++){s=i[e],l=i[(e+1)%i.length];var c,d=intersectLineSegmentLineSegment(o,a,s,l);null!==d&&(c=getPointId(d),n.has(c)||n.set(c,d))}}return 0===n.size?null:orderClockwise([...n.values()])}function getPointId(e){return e.x+\\\",\\\"+e.y}function orderClockwise(e){const r=Vec.Average(e);return e.sort((e,t)=>Vec.Angle(r,e)-Vec.Angle(r,t))}function polygonsIntersect(r,i){var n,o;for(let a=0,s=r.length;a\u003Cs;a++){n=r[a],o=r[(a+1)%s];for(let e=0,t=i.length;e\u003Ct;e++)if(linesIntersect(n,o,i[e],i[(e+1)%t]))return!0}return!1}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var Edge2d=class extends Geometry2d{constructor(e){super({...e,isClosed:!1,isFilled:!1}),__publicField(this,\\\"start\\\"),__publicField(this,\\\"end\\\"),__publicField(this,\\\"d\\\"),__publicField(this,\\\"u\\\"),__publicField(this,\\\"ul\\\"),__publicField(this,\\\"_length\\\");var{start:t,end:r}=e;this.start=t,this.end=r,this.d=t.clone().sub(r),this.u=this.d.clone().uni(),this.ul=this.u.len()}get length(){return this._length||this.d.len()}midPoint(){return this.start.lrp(this.end,.5)}getVertices(){return[this.start,this.end]}nearestPoint(e){var t,{start:r,end:i,u:n,ul:o}=this;return 0===o?r:(o=Vec.Sub(e,r).dpr(n)/o,(t=r.x+n.x*o)\u003CMath.min(r.x,i.x)?r.x\u003Ci.x?r:i:t>Math.max(r.x,i.x)?r.x>i.x?r:i:(n=r.y+n.y*o)\u003CMath.min(r.y,i.y)?r.y\u003Ci.y?r:i:n>Math.max(r.y,i.y)?r.y>i.y?r:i:new Vec(t,n))}hitTestLineSegment(e,t,r){return linesIntersect(e,t,this.start,this.end)}},Polyline2d=class extends Geometry2d{constructor(e){super({isClosed:!1,isFilled:!1,...e}),__publicField(this,\\\"points\\\"),__publicField(this,\\\"_segments\\\"),__publicField(this,\\\"_length\\\");var t=e[\\\"points\\\"];this.points=t}get segments(){if(!this._segments){this._segments=[];var r=this[\\\"vertices\\\"];for(let e=0,t=r.length-1;e\u003Ct;e++){var i=r[e],n=r[e+1];this._segments.push(new Edge2d({start:i,end:n}))}this.isClosed&&this._segments.push(new Edge2d({start:r[r.length-1],end:r[0]}))}return this._segments}get length(){return this._length||(this._length=this.segments.reduce((e,t)=>e+t.length,0)),this._length}getVertices(){return this.points}nearestPoint(e){var t,r,i=this[\\\"segments\\\"];let n=this.points[0],o=Infinity;for(let a=0;a\u003Ci.length;a++)(r=(t=i[a].nearestPoint(e)).dist(e))\u003Co&&(n=t,o=r);return n}hitTestLineSegment(t,r,i){return this.segments.some(e=>e.hitTestLineSegment(t,r,i))}},Polygon2d=class extends Polyline2d{constructor(e){super({...e}),this.isClosed=!0}},Rectangle2d=(init_esbuild_inject(),class extends Polygon2d{constructor(e){var{x:t=0,y:r=0,width:i,height:n}=e;super({...e,points:[new Vec(t,r),new Vec(t+i,r),new Vec(t+i,r+n),new Vec(t,r+n)]}),__publicField(this,\\\"x\\\"),__publicField(this,\\\"y\\\"),__publicField(this,\\\"w\\\"),__publicField(this,\\\"h\\\"),this.x=t,this.y=r,this.w=i,this.h=n}getBounds(){return new Box(this.x,this.y,this.w,this.h)}}),ShapeUtil=(init_esbuild_inject(),class{constructor(e){__publicField(this,\\\"canSnap\\\",()=>!0),__publicField(this,\\\"canScroll\\\",()=>!1),__publicField(this,\\\"canUnmount\\\",()=>!0),__publicField(this,\\\"canBind\\\",(e,t)=>!0),__publicField(this,\\\"canEdit\\\",()=>!1),__publicField(this,\\\"canResize\\\",()=>!0),__publicField(this,\\\"canEditInReadOnly\\\",()=>!1),__publicField(this,\\\"canCrop\\\",()=>!1),__publicField(this,\\\"hideResizeHandles\\\",()=>!1),__publicField(this,\\\"hideRotateHandle\\\",()=>!1),__publicField(this,\\\"hideSelectionBoundsBg\\\",()=>!1),__publicField(this,\\\"hideSelectionBoundsFg\\\",()=>!1),__publicField(this,\\\"isAspectRatioLocked\\\",()=>!1),__publicField(this,\\\"onBeforeCreate\\\"),__publicField(this,\\\"onBeforeUpdate\\\"),__publicField(this,\\\"onDragShapesOver\\\"),__publicField(this,\\\"onDragShapesOut\\\"),__publicField(this,\\\"onDropShapesOver\\\"),__publicField(this,\\\"onResizeStart\\\"),__publicField(this,\\\"onResize\\\"),__publicField(this,\\\"onResizeEnd\\\"),__publicField(this,\\\"onTranslateStart\\\"),__publicField(this,\\\"onTranslate\\\"),__publicField(this,\\\"onTranslateEnd\\\"),__publicField(this,\\\"onRotateStart\\\"),__publicField(this,\\\"onRotate\\\"),__publicField(this,\\\"onRotateEnd\\\"),__publicField(this,\\\"onHandleChange\\\"),__publicField(this,\\\"onBindingChange\\\"),__publicField(this,\\\"onChildrenChange\\\"),__publicField(this,\\\"onDoubleClickHandle\\\"),__publicField(this,\\\"onDoubleClickEdge\\\"),__publicField(this,\\\"onDoubleClick\\\"),__publicField(this,\\\"onClick\\\"),__publicField(this,\\\"onEditEnd\\\"),this.editor=e}providesBackgroundForChildren(e){return!1}getOutlineSegments(e){return[this.editor.getShapeGeometry(e).vertices]}canReceiveNewChildrenOfType(e,t){return!1}canDropShapes(e,t){return!1}expandSelectionOutlinePx(e){return 0}getCanvasSvgDefs(){return[]}}),import_jsx_runtime27=(__publicField(ShapeUtil,\\\"props\\\"),__publicField(ShapeUtil,\\\"migrations\\\"),__publicField(ShapeUtil,\\\"type\\\"),init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function getPerfectDashProps(e,t,r={}){var{closed:i=!1,snap:n=1,start:o=\\\"outset\\\",end:a=\\\"outset\\\",lengthRatio:s=2,style:l=\\\"dashed\\\"}=r;let c=0,d=0,u=1,p=0,h=0;switch(l){case\\\"dashed\\\":u=1,c=Math.min(t*s,e/4);break;case\\\"dotted\\\":u=100,c=t/u;break;default:return{strokeDasharray:\\\"none\\\",strokeDashoffset:\\\"none\\\"}}return i||(\\\"outset\\\"===o?(e+=c/2,h+=c/2):\\\"skip\\\"===o&&(e-=c,h-=c),\\\"outset\\\"===a?e+=c/2:\\\"skip\\\"===a&&(e-=c)),d=Math.floor(e/c/(2*u)),d-=d%n,p=d\u003C3&&\\\"dashed\\\"===l?e/t\u003C5?(c=e,d=1,0):c=.333*e:(d=Math.max(d,3),c=e/d/(2*u),i?(h=c/2,(e-d*c)/d):(e-d*c)/Math.max(1,d-1)),{strokeDasharray:[c,p].join(\\\" \\\"),strokeDashoffset:h.toString()}}function DashedOutlineBox({bounds:e,className:t}){const r=useEditor(),n=useValue(\\\"zoom level\\\",()=>r.getZoomLevel(),[r]);return(0,import_jsx_runtime27.jsx)(\\\"g\\\",{className:t,pointerEvents:\\\"none\\\",strokeLinecap:\\\"round\\\",strokeLinejoin:\\\"round\\\",children:e.sides.map((e,t)=>{var{strokeDasharray:r,strokeDashoffset:i}=getPerfectDashProps(e[0].dist(e[1]),1/n,{style:\\\"dashed\\\",lengthRatio:4});return(0,import_jsx_runtime27.jsx)(\\\"line\\\",{x1:e[0].x,y1:e[0].y,x2:e[1].x,y2:e[1].y,strokeDasharray:r,strokeDashoffset:i},t)})})}init_esbuild_inject();var GroupShapeUtil=class extends ShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"hideSelectionBoundsFg\\\",()=>!0),__publicField(this,\\\"canBind\\\",()=>!1),__publicField(this,\\\"onChildrenChange\\\",e=>{var t=this.editor.getSortedChildIdsForParent(e.id);0===t.length?(this.editor.getCurrentPageState().focusedGroupId===e.id&&this.editor.popFocusedGroupId(),this.editor.deleteShapes([e.id])):1===t.length&&(this.editor.getCurrentPageState().focusedGroupId===e.id&&this.editor.popFocusedGroupId(),this.editor.reparentShapes(t,e.parentId),this.editor.deleteShapes([e.id]))})}getDefaultProps(){return{}}getGeometry(e){var t=this.editor.getSortedChildIdsForParent(e.id);return 0===t.length?new Rectangle2d({width:1,height:1,isFilled:!1}):new Group2d({children:t.map(e=>{var t=this.editor.getShape(e),r=this.editor.getShapeGeometry(e),t=this.editor.getShapeLocalTransform(t).applyToPoints(r.vertices);return r.isClosed?new Polygon2d({points:t,isFilled:!0}):new Polyline2d({points:t})})})}component(t){var e=this.editor.getErasingShapeIds().includes(t.id),r=this.editor.getCurrentPageState()[\\\"hintingShapeIds\\\"],r=0\u003Cr.length&&r.some(e=>e!==t.id&&this.editor.isShapeOfType(this.editor.getShape(e),\\\"group\\\")),i=this.editor.getCurrentPageState().focusedGroupId!==t.id;return e||!i&&!r?(e=this.editor.getShapeGeometry(t).bounds,(0,import_jsx_runtime28.jsx)(SVGContainer,{id:t.id,children:(0,import_jsx_runtime28.jsx)(DashedOutlineBox,{className:\\\"tl-group\\\",bounds:e})})):null}indicator(e){var t=this.editor.getShapeGeometry(e).bounds;return(0,import_jsx_runtime28.jsx)(DashedOutlineBox,{className:\\\"\\\",bounds:t})}},coreShapes=(__publicField(GroupShapeUtil,\\\"type\\\",\\\"group\\\"),__publicField(GroupShapeUtil,\\\"props\\\",groupShapeProps),__publicField(GroupShapeUtil,\\\"migrations\\\",groupShapeMigrations),[GroupShapeUtil]),coreShapeTypes=new Set(coreShapes.map(e=>e.type));function checkShapesAndAddCore(e){var t=[...coreShapes],r=new Set;for(const i of e){if(coreShapeTypes.has(i.type))throw new Error(`Shape type \\\"${i.type}\\\" is a core shapes type and cannot be overridden`);if(r.has(i.type))throw new Error(`Shape type \\\"${i.type}\\\" is defined more than once`);t.push(i),r.add(i.type)}return t}function sharedStyleEquals(e,t){if(!t)return!1;switch(e.type){case\\\"mixed\\\":return\\\"mixed\\\"===t.type;case\\\"shared\\\":return\\\"shared\\\"===t.type&&e.value===t.value;default:throw exhaustiveSwitchError(e)}}init_esbuild_inject();var ReadonlySharedStyleMap=class{constructor(e){__publicField(this,\\\"map\\\"),this.map=new Map(e)}get(e){return this.map.get(e)}getAsKnownValue(e){var t=this.get(e);if(t&&\\\"mixed\\\"!==t.type)return t.value}get size(){return this.map.size}equals(e){if(this.size!==e.size)return!1;var t,r,i,n,o=new Set;for([t,r]of this){if(!sharedStyleEquals(r,e.get(t)))return!1;o.add(t)}for([i,n]of e)if(!o.has(i)&&!sharedStyleEquals(n,this.get(i)))return!1;return!0}keys(){return this.map.keys()}values(){return this.map.values()}entries(){return this.map.entries()}[Symbol.iterator](){return this.map[Symbol.iterator]()}},SharedStyleMap=class extends ReadonlySharedStyleMap{set(e,t){this.map.set(e,t)}applyValue(e,t){var r=this.get(e);if(r)switch(r.type){case\\\"mixed\\\":return;case\\\"shared\\\":return void(r.value!==t&&this.set(e,{type:\\\"mixed\\\"}));default:exhaustiveSwitchError(r,\\\"type\\\")}else this.set(e,{type:\\\"shared\\\",value:t})}},WeakMapCache=(init_esbuild_inject(),class{constructor(){__publicField(this,\\\"items\\\",new WeakMap)}get(e,t){return this.items.has(e)||this.items.set(e,t(e)),this.items.get(e)}access(e){return this.items.get(e)}set(e,t){this.items.set(e,t)}has(e){return this.items.has(e)}invalidate(e){this.items[\\\"delete\\\"](e)}bust(){this.items=new WeakMap}});function dataUrlToFile(e,t,r){return fetch(e).then(function(e){return e.arrayBuffer()}).then(function(e){return new File([e],t,{type:r})})}function getIncrementedName(e,t){var r;let i=e;for(var n=new Set(t);n.has(i);)i=null!=(r=/^.*(\\\\d+)$/.exec(i))&&r[1]?i.replace(/(\\\\d+)(?=\\\\D?)$/,e=>(+e+1).toString()):i+\\\" 1\\\";return i}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var DIGITS=\\\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\\\",INTEGER_ZERO=\\\"a0\\\",SMALLEST_INTEGER=\\\"A00000000000000000000000000\\\";function getIntegerLength(e){if(\\\"a\\\"\u003C=e&&e\u003C=\\\"z\\\")return e.charCodeAt(0)-\\\"a\\\".charCodeAt(0)+2;if(\\\"A\\\"\u003C=e&&e\u003C=\\\"Z\\\")return\\\"Z\\\".charCodeAt(0)-e.charCodeAt(0)+2;throw new Error(\\\"Invalid index key head: \\\"+e)}function validateInteger(e){if(e.length!==getIntegerLength(e.charAt(0)))throw new Error(\\\"invalid integer part of index key: \\\"+e)}function isNotUndefined(e){if(void 0===e)throw Error(\\\"n is undefined\\\")}function incrementInteger(e){validateInteger(e);var t,[r,...i]=e.split(\\\"\\\");let n=!0;for(let a=i.length-1;n&&0\u003C=a;a--){var o=DIGITS.indexOf(i[a])+1;o===DIGITS.length?i[a]=\\\"0\\\":(i[a]=DIGITS.charAt(o),n=!1)}return n?\\\"Z\\\"===r?\\\"a0\\\":\\\"z\\\"!==r?(\\\"a\\\"\u003C(t=String.fromCharCode(r.charCodeAt(0)+1))?i.push(\\\"0\\\"):i.pop(),t+i.join(\\\"\\\")):void 0:r+i.join(\\\"\\\")}function decrementInteger(e){validateInteger(e);var t,[r,...i]=e.split(\\\"\\\");let n=!0;for(let a=i.length-1;n&&0\u003C=a;a--){var o=DIGITS.indexOf(i[a])-1;-1==o?i[a]=DIGITS.slice(-1):(i[a]=DIGITS.charAt(o),n=!1)}return n?\\\"a\\\"===r?\\\"Z\\\"+DIGITS.slice(-1):\\\"A\\\"!==r?((t=String.fromCharCode(r.charCodeAt(0)-1))\u003C\\\"Z\\\"?i.push(DIGITS.slice(-1)):i.pop(),t+i.join(\\\"\\\")):void 0:r+i.join(\\\"\\\")}function midpoint(t,r){if(void 0!==r&&r\u003C=t)throw new Error(t+\\\" >= \\\"+r);if(\\\"0\\\"===t.slice(-1)||r&&\\\"0\\\"===r.slice(-1))throw new Error(\\\"trailing zero\\\");if(r){let e=0;for(;(t.charAt(e)||\\\"0\\\")===r.charAt(e);)e++;if(0\u003Ce)return r.slice(0,e)+midpoint(t.slice(e),r.slice(e))}var e=t?DIGITS.indexOf(t.charAt(0)):0,i=void 0!==r?DIGITS.indexOf(r.charAt(0)):DIGITS.length;return 1\u003Ci-e?(i=Math.round(.5*(e+i)),DIGITS.charAt(i)):r&&1\u003Cr.length?r.slice(0,1):DIGITS.charAt(e)+midpoint(t.slice(1),void 0)}function getIntegerPart(e){var t=getIntegerLength(e.charAt(0));if(t>e.length)throw new Error(\\\"invalid index: \\\"+e);return e.slice(0,t)}function validateOrder(e){if(e===SMALLEST_INTEGER)throw new Error(\\\"invalid index: \\\"+e);var t=getIntegerPart(e);if(\\\"0\\\"===e.slice(t.length).slice(-1))throw new Error(\\\"invalid index: \\\"+e)}function generateKeyBetween(e,t){if(void 0!==e&&validateOrder(e),void 0!==t&&validateOrder(t),void 0!==e&&void 0!==t&&t\u003C=e)throw new Error(e+\\\" >= \\\"+t);if(void 0===e&&void 0===t)return INTEGER_ZERO;if(void 0===e){if(void 0===t)throw Error(\\\"b is undefined\\\");var r=getIntegerPart(t),i=t.slice(r.length);return r===SMALLEST_INTEGER?r+midpoint(\\\"\\\",i):r\u003Ct?r:(isNotUndefined(i=decrementInteger(r)),i)}var n,o;return void 0===t?(r=getIntegerPart(e),i=e.slice(r.length),void 0===(o=incrementInteger(r))?r+midpoint(i,void 0):o):(r=getIntegerPart(e),i=e.slice(r.length),o=getIntegerPart(t),n=t.slice(o.length),r===o?r+midpoint(i,n):(isNotUndefined(o=incrementInteger(r)),o\u003Ct?o:r+midpoint(i,void 0)))}function generateNKeysBetween(r,i,n){if(0===n)return[];if(1===n)return[generateKeyBetween(r,i)];if(void 0===i){let e=generateKeyBetween(r,i);var o=[e];for(let t=0;t\u003Cn-1;t++)e=generateKeyBetween(e,i),o.push(e);return o}if(void 0===r){let e=generateKeyBetween(r,i);var a=[e];for(let t=0;t\u003Cn-1;t++)e=generateKeyBetween(r,e),a.push(e);return a.reverse(),a}var e=Math.floor(n/2),t=generateKeyBetween(r,i);return[...generateNKeysBetween(r,t,e),t,...generateNKeysBetween(t,i,n-e-1)]}function getIndicesBetween(e,t,r){return generateNKeysBetween(e,t,r)}function getIndicesAbove(e,t){return generateNKeysBetween(e,void 0,t)}function getIndexBetween(e,t){return generateNKeysBetween(e,t,1)[0]}function getIndexAbove(e){return generateNKeysBetween(e,void 0,1)[0]}function getIndexBelow(e){return generateNKeysBetween(void 0,e,1)[0]}function getIndices(e,t=\\\"a1\\\"){return[t,...generateNKeysBetween(t,void 0,e)]}function sortByIndex2(e,t){return e.index\u003Ct.index?-1:e.index>t.index?1:0}function getReorderingShapesChanges(t,e,r){if(0===r.length)return[];var i=new Map;for(const a of compact(r.map(e=>t.getShape(e)))){var n=a[\\\"parentId\\\"];i.has(n)||i.set(n,{children:compact(t.getSortedChildIdsForParent(n).map(e=>t.getShape(e))),moving:new Set}),i.get(n).moving.add(a)}const o=[];switch(e){case\\\"toBack\\\":i.forEach(({moving:e,children:t})=>reorderToBack(e,t,o));break;case\\\"toFront\\\":i.forEach(({moving:e,children:t})=>reorderToFront(e,t,o));break;case\\\"forward\\\":i.forEach(({moving:e,children:t})=>reorderForward(e,t,o));break;case\\\"backward\\\":i.forEach(({moving:e,children:t})=>reorderBackward(e,t,o))}return o}function reorderToBack(i,n,o){var a=n.length;if(i.size!==a){let e,t;for(let r=0;r\u003Ca;r++){var s=n[r];if(!i.has(s)){t=s.index;break}e=s.index,i[\\\"delete\\\"](s)}if(0!==i.size){const l=getIndicesBetween(e,t,i.size);o.push(...Array.from(i.values()).sort(sortByIndex2).map((e,t)=>({...e,index:l[t]})))}}}function reorderToFront(i,n,o){var a=n.length;if(i.size!==a){let e,t;for(let r=a-1;-1\u003Cr;r--){var s=n[r];if(!i.has(s)){e=s.index;break}t=s.index,i[\\\"delete\\\"](s)}if(0!==i.size){const l=getIndicesBetween(e,t,i.size);o.push(...Array.from(i.values()).sort(sortByIndex2).map((e,t)=>({...e,index:l[t]})))}}}function reorderForward(r,i,n){var o,a=i.length;if(r.size!==a){let e={name:\\\"skipping\\\"};for(let t=0;t\u003Ca;t++){var s=r.has(i[t]);switch(e.name){case\\\"skipping\\\":s&&(e={name:\\\"selecting\\\",selectIndex:t});break;case\\\"selecting\\\":if(!s){const l=e[\\\"selectIndex\\\"];getIndicesBetween(i[t].index,null==(o=i[t+1])?void 0:o.index,t-l).forEach((e,t)=>n.push({...i[l+t],index:e})),e={name:\\\"skipping\\\"}}}}}}function reorderBackward(t,i,n){var o,a=i.length;if(t.size!==a){let e={name:\\\"skipping\\\"};for(let r=a-1;-1\u003Cr;r--){var s=t.has(i[r]);switch(e.name){case\\\"skipping\\\":s&&(e={name:\\\"selecting\\\",selectIndex:r});break;case\\\"selecting\\\":s||(getIndicesBetween(null==(o=i[r-1])?void 0:o.index,i[r].index,e.selectIndex-r).forEach((e,t)=>{n.push({...i[r+t+1],index:e})}),e={name:\\\"skipping\\\"})}}}}function getRotationSnapshot({editor:t}){var e=t.getSelectedShapes(),r=t.getSelectionRotation(),i=t.getSelectionRotatedPageBounds(),n=t[\\\"inputs\\\"][\\\"originPagePoint\\\"];return i?{selectionPageCenter:i=i.center.clone().rotWith(i.point,r),initialCursorAngle:i.angle(n),initialSelectionRotation:r,shapeSnapshots:e.map(e=>({shape:structuredClone2(e),initialPagePoint:t.getShapePageTransform(e.id).point()}))}:null}function applyRotationToSnapshotShapes({delta:n,editor:o,snapshot:e,stage:a}){const{selectionPageCenter:s,shapeSnapshots:t}=e,l=(o.updateShapes(t.map(({shape:e,initialPagePoint:t})=>{var r=isShapeId(e.parentId)?o.getShapePageTransform(e.parentId):Mat.Identity(),i=Vec.RotWith(t,s,n),r=Mat.applyToPoint(Mat.Inverse(r),i),i=canonicalizeRotation(e.rotation+n);return{id:e.id,type:e.type,x:r.x,y:r.y,rotation:i}})),[]);t.forEach(({shape:e})=>{var t,r,i=o.getShape(e.id);i&&(r=o.getShapeUtil(e),\\\"start\\\"!==a&&\\\"one-off\\\"!==a||(t=null==(t=r.onRotateStart)?void 0:t.call(r,e))&&l.push(t),(t=null==(t=r.onRotate)?void 0:t.call(r,e,i))&&l.push(t),\\\"end\\\"!==a&&\\\"one-off\\\"!==a||(r=null==(t=r.onRotateEnd)?void 0:t.call(r,e,i))&&l.push(r))}),0\u003Cl.length&&o.updateShapes(l)}init_esbuild_inject(),init_esbuild_inject();var arrowBindingsIndex=y=>{var e=y[\\\"store\\\"];const S=e.query.filterHistory(\\\"shape\\\"),o=e.query.records(\\\"shape\\\",()=>({type:{eq:\\\"arrow\\\"}}));function x(){var e={};for(const n of o.get()){var t,{start:r,end:i}=n.props;\\\"binding\\\"===r.type&&((t=e[r.boundShapeId])?t.push({arrowId:n.id,handleId:\\\"start\\\"}):e[r.boundShapeId]=[{arrowId:n.id,handleId:\\\"start\\\"}]),\\\"binding\\\"===i.type&&((t=e[i.boundShapeId])?t.push({arrowId:n.id,handleId:\\\"end\\\"}):e[i.boundShapeId]=[{arrowId:n.id,handleId:\\\"end\\\"}])}return e}return computed(\\\"arrowBindingsIndex\\\",(e,t)=>{if(isUninitialized(e))return x();const r=e;var i,n,o,a,s=S.getDiffSince(t);if(s===RESET_VALUE)return x();let l=void 0;function c(e){(l=l||{...r})[e]?l[e]===r[e]&&(l[e]=[...l[e]]):l[e]=[]}function d(e,t,r){c(e),l[e]=l[e].filter(e=>e.arrowId!==t||e.handleId!==r),0===l[e].length&&delete l[e]}function u(e,t,r){c(e),l[e].push({arrowId:t,handleId:r})}for(const _ of s){for(const f of Object.values(_.added))y.isShapeOfType(f,\\\"arrow\\\")&&(({start:i,end:n}=f.props),\\\"binding\\\"===i.type&&u(i.boundShapeId,f.id,\\\"start\\\"),\\\"binding\\\"===n.type)&&u(n.boundShapeId,f.id,\\\"end\\\");for(var[p,h]of Object.values(_.updated))if(y.isShapeOfType(p,\\\"arrow\\\")&&y.isShapeOfType(h,\\\"arrow\\\"))for(const b of[\\\"start\\\",\\\"end\\\"]){var m=p.props[b],g=h.props[b];\\\"binding\\\"===m.type&&\\\"point\\\"===g.type?d(m.boundShapeId,p.id,b):\\\"point\\\"===m.type&&\\\"binding\\\"===g.type?u(g.boundShapeId,h.id,b):\\\"binding\\\"===m.type&&\\\"binding\\\"===g.type&&m.boundShapeId!==g.boundShapeId&&(d(m.boundShapeId,p.id,b),u(g.boundShapeId,h.id,b))}for(const v of Object.values(_.removed))y.isShapeOfType(v,\\\"arrow\\\")&&(({start:o,end:a}=v.props),\\\"binding\\\"===o.type&&d(o.boundShapeId,v.id,\\\"start\\\"),\\\"binding\\\"===a.type)&&d(a.boundShapeId,v.id,\\\"end\\\")}return null!=l?l:r})},parentsToChildren=(init_esbuild_inject(),g=>{const i=g.query.ids(\\\"shape\\\");function _(){const t={};var e=i.get();const r=Array(e.size);return e.forEach(e=>r.push(g.get(e))),r.sort(sortByIndex2),r.forEach(e=>{t[e.parentId]||(t[e.parentId]=[]),t[e.parentId].push(e.id)}),t}return computed(\\\"parentsToChildrenWithIndexes\\\",(t,e)=>{if(isUninitialized(t))return _();var r=g.history.getDiffSince(e);if(r===RESET_VALUE)return _();if(0===r.length)return t;let i=null;var n,o=e=>{(i=i||{...t})[e]?i[e]===t[e]&&(i[e]=[...i[e]]):i[e]=[]},a=new Set;for(let d=0,u=r.length;d\u003Cu;d++){n=r[d];for(const p of Object.values(n.added))isShape(p)&&(o(p.parentId),i[p.parentId].push(p.id),a.add(i[p.parentId]));for(var[s,l]of Object.values(n.updated))isShape(l)&&isShape(s)&&(s.parentId!==l.parentId?(o(s.parentId),o(l.parentId),i[s.parentId].splice(i[s.parentId].indexOf(l.id),1),i[l.parentId].push(l.id),a.add(i[l.parentId])):s.index!==l.index&&(o(l.parentId),s=i[l.parentId].indexOf(l.id),i[l.parentId][s]=l.id,a.add(i[l.parentId])));for(const h of Object.values(n.removed))isShape(h)&&(o(h.parentId),i[h.parentId].splice(i[h.parentId].indexOf(h.id),1))}for(const m of a){var c=compact(m.map(e=>g.get(e)));c.sort(sortByIndex2),m.splice(0,m.length,...c.map(e=>e.id))}return null!=i?i:t})}),isShapeInPage=(init_esbuild_inject(),(e,t,r)=>{for(;!isPageId(r.parentId);){var i=e.get(r.parentId);if(!i)return!1;r=i}return r.parentId===t}),deriveShapeIdsInCurrentPage=(d,u)=>{const e=d.query.ids(\\\"shape\\\");let p=null;function h(){const t=u();return p=t,new Set([...e.get()].filter(e=>isShapeInPage(d,t,d.get(e))))}return computed(\\\"_shapeIdsInCurrentPage\\\",(e,t)=>{if(isUninitialized(e))return h();var r=u();if(r!==p)return h();var i=d.history.getDiffSince(t);if(i===RESET_VALUE)return h();var n=new IncrementalSetConstructor(e);for(const s of i){for(const l of Object.values(s.added))isShape(l)&&isShapeInPage(d,r,l)&&n.add(l.id);for(var[o,a]of Object.values(s.updated))isShape(a)&&(isShapeInPage(d,r,a)?n.add(a.id):n.remove(a.id));for(const c of Object.keys(s.removed))isShapeId(c)&&n.remove(c)}i=n.get();return i?withDiff(i.value,i.diff):e})},MAX_CLICK_DISTANCE=(init_esbuild_inject(),40),ClickManager=class{constructor(e){__publicField(this,\\\"_clickId\\\",\\\"\\\"),__publicField(this,\\\"_clickTimeout\\\"),__publicField(this,\\\"_clickScreenPoint\\\"),__publicField(this,\\\"_previousScreenPoint\\\"),__publicField(this,\\\"_getClickTimeout\\\",(e,t=uniqueId())=>{this._clickId=t,clearTimeout(this._clickTimeout),this._clickTimeout=setTimeout(()=>{if(this._clickState===e&&this._clickId===t){switch(this._clickState){case\\\"pendingTriple\\\":this.editor.dispatch({...this.lastPointerInfo,type:\\\"click\\\",name:\\\"double_click\\\",phase:\\\"settle\\\"});break;case\\\"pendingQuadruple\\\":this.editor.dispatch({...this.lastPointerInfo,type:\\\"click\\\",name:\\\"triple_click\\\",phase:\\\"settle\\\"});break;case\\\"pendingOverflow\\\":this.editor.dispatch({...this.lastPointerInfo,type:\\\"click\\\",name:\\\"quadruple_click\\\",phase:\\\"settle\\\"})}this._clickState=\\\"idle\\\"}},\\\"idle\\\"===e||\\\"pendingDouble\\\"===e?DOUBLE_CLICK_DURATION:MULTI_CLICK_DURATION)}),__publicField(this,\\\"_clickState\\\",\\\"idle\\\"),__publicField(this,\\\"lastPointerInfo\\\",{}),__publicField(this,\\\"transformPointerDownEvent\\\",e=>{if(!this._clickState)return e;switch(this._clickScreenPoint=Vec.From(e.point),this._previousScreenPoint&&this._previousScreenPoint.dist(this._clickScreenPoint)>MAX_CLICK_DISTANCE&&(this._clickState=\\\"idle\\\"),this._previousScreenPoint=this._clickScreenPoint,this.lastPointerInfo=e,this._clickState){case\\\"idle\\\":return this._clickState=\\\"pendingDouble\\\",this._clickTimeout=this._getClickTimeout(this._clickState),e;case\\\"pendingDouble\\\":return this._clickState=\\\"pendingTriple\\\",this._clickTimeout=this._getClickTimeout(this._clickState),{...e,type:\\\"click\\\",name:\\\"double_click\\\",phase:\\\"down\\\"};case\\\"pendingTriple\\\":return this._clickState=\\\"pendingQuadruple\\\",this._clickTimeout=this._getClickTimeout(this._clickState),{...e,type:\\\"click\\\",name:\\\"triple_click\\\",phase:\\\"down\\\"};case\\\"pendingQuadruple\\\":return this._clickState=\\\"pendingOverflow\\\",this._clickTimeout=this._getClickTimeout(this._clickState),{...e,type:\\\"click\\\",name:\\\"quadruple_click\\\",phase:\\\"down\\\"};case\\\"pendingOverflow\\\":return this._clickState=\\\"overflow\\\",this._clickTimeout=this._getClickTimeout(this._clickState),e;default:return this._clickTimeout=this._getClickTimeout(this._clickState),e}}),__publicField(this,\\\"transformPointerUpEvent\\\",e=>{if(!this._clickState)return e;switch(this._clickScreenPoint=Vec.From(e.point),this._clickState){case\\\"pendingTriple\\\":return{...this.lastPointerInfo,type:\\\"click\\\",name:\\\"double_click\\\",phase:\\\"up\\\"};case\\\"pendingQuadruple\\\":return{...this.lastPointerInfo,type:\\\"click\\\",name:\\\"triple_click\\\",phase:\\\"up\\\"};case\\\"pendingOverflow\\\":return{...this.lastPointerInfo,type:\\\"click\\\",name:\\\"quadruple_click\\\",phase:\\\"up\\\"};default:return e}}),__publicField(this,\\\"cancelDoubleClickTimeout\\\",()=>{this._clickTimeout=clearTimeout(this._clickTimeout),this._clickState=\\\"idle\\\"}),__publicField(this,\\\"handleMove\\\",()=>{\\\"idle\\\"!==this._clickState&&this._clickScreenPoint&&this._clickScreenPoint.dist(this.editor.inputs.currentScreenPoint)>(this.editor.getInstanceState().isCoarsePointer?COARSE_DRAG_DISTANCE:DRAG_DISTANCE)&&this.cancelDoubleClickTimeout()}),this.editor=e}get clickState(){return this._clickState}},EnvironmentManager=(init_esbuild_inject(),class{constructor(e){__publicField(this,\\\"isSafari\\\"),__publicField(this,\\\"isIos\\\"),__publicField(this,\\\"isChromeForIos\\\"),__publicField(this,\\\"isFirefox\\\"),__publicField(this,\\\"isAndroid\\\"),this.editor=e,\\\"undefined\\\"!=typeof window&&\\\"navigator\\\"in window?(this.isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),this.isIos=!!navigator.userAgent.match(/iPad/i)||!!navigator.userAgent.match(/iPhone/i),this.isChromeForIos=/crios.*safari/i.test(navigator.userAgent),this.isFirefox=/firefox/i.test(navigator.userAgent),this.isAndroid=/android/i.test(navigator.userAgent)):(this.isSafari=!1,this.isIos=!1,this.isChromeForIos=!1,this.isFirefox=!1,this.isAndroid=!1)}});function stack(t){if(t){let e=EMPTY_STACK_ITEM;for(;t.length;)e=e.push(t.pop());return e}return EMPTY_STACK_ITEM}init_esbuild_inject(),init_esbuild_inject();var EmptyStackItem=class{constructor(){__publicField(this,\\\"length\\\",0),__publicField(this,\\\"head\\\",null),__publicField(this,\\\"tail\\\",this)}push(e){return new StackItem(e,this)}toArray(){return EMPTY_ARRAY}[Symbol.iterator](){return{next(){return{value:void 0,done:!0}}}}},EMPTY_STACK_ITEM=new EmptyStackItem,StackItem=class{constructor(e,t){__publicField(this,\\\"length\\\"),this.head=e,this.tail=t,this.length=t.length+1}push(e){return new StackItem(e,this)}toArray(){return Array.from(this)}[Symbol.iterator](){let t=this;return{next(){var e;return t.length?(e=t.head,t=t.tail,{value:e,done:!1}):{value:void 0,done:!0}}}}},HistoryManager=class{constructor(e,t){__publicField(this,\\\"_undos\\\",atom(\\\"HistoryManager.undos\\\",stack())),__publicField(this,\\\"_redos\\\",atom(\\\"HistoryManager.redos\\\",stack())),__publicField(this,\\\"_batchDepth\\\",0),__publicField(this,\\\"onBatchComplete\\\",()=>{}),__publicField(this,\\\"_commands\\\",{}),__publicField(this,\\\"createCommand\\\",(s,l,c)=>{if(this._commands[s])throw new Error(\\\"Duplicate command: \\\"+s);this._commands[s]=c;const d=(...e)=>{if(this._batchDepth){var t=l(...e);if(t){const{data:r,ephemeral:i,squashing:n,preservesRedoStack:o}=t;if(this.ignoringUpdates((e,t)=>(c[\\\"do\\\"](r),{undos:e,redos:t})),!i){const a=this._undos.get().head;n&&a&&\\\"command\\\"===a.type&&a.name===s&&a.preservesRedoStack===o?this._undos.update(e=>e.tail.push({...a,id:uniqueId(),data:devFreeze(c.squash(a.data,r))})):this._undos.update(e=>e.push({type:\\\"command\\\",name:s,data:devFreeze(r),id:uniqueId(),preservesRedoStack:o})),t.preservesRedoStack||this._redos.set(stack()),this.ctx.emit(\\\"change-history\\\",{reason:\\\"push\\\"})}}}else this.batch(()=>d(...e));return this.ctx};return d}),__publicField(this,\\\"batch\\\",t=>{try{this._batchDepth++,1===this._batchDepth?transact(()=>{var e=null==(e=this._undos.get().head)?void 0:e.id;t(),e!==(null==(e=this._undos.get().head)?void 0:e.id)&&this.onBatchComplete()}):t()}catch(e){throw this.annotateError(e),e}finally{this._batchDepth--}return this}),__publicField(this,\\\"ignoringUpdates\\\",e=>{let t=this._undos.get(),r=this._redos.get();this._undos.set(stack()),this._redos.set(stack());try{({undos:t,redos:r}=transact(()=>e(t,r)))}finally{this._undos.set(t),this._redos.set(r)}}),__publicField(this,\\\"_undo\\\",({pushToRedoStack:n,toMark:o=void 0})=>(this.ignoringUpdates((e,t)=>{if(0!==e.length){for(;\\\"STOP\\\"===(null==(r=e.head)?void 0:r.type);){var r=e.head;if(e=e.tail,n&&(t=t.push(r)),r.id===o)return this.ctx.emit(\\\"change-history\\\",n?{reason:\\\"undo\\\"}:{reason:\\\"bail\\\",markId:o}),{undos:e,redos:t}}if(0!==e.length)for(;e.head;){var i=e.head;if(e=e.tail,n&&(t=t.push(i)),\\\"STOP\\\"===i.type){if(i.onUndo&&(!o||i.id===o))return this.ctx.emit(\\\"change-history\\\",n?{reason:\\\"undo\\\"}:{reason:\\\"bail\\\",markId:o}),{undos:e,redos:t}}else this._commands[i.name].undo(i.data)}this.ctx.emit(\\\"change-history\\\",n?{reason:\\\"undo\\\"}:{reason:\\\"bail\\\",markId:o})}return{undos:e,redos:t}}),this)),__publicField(this,\\\"undo\\\",()=>(this._undo({pushToRedoStack:!0}),this)),__publicField(this,\\\"redo\\\",()=>(this.ignoringUpdates((e,t)=>{var r;if(0!==t.length){for(;\\\"STOP\\\"===(null==(r=t.head)?void 0:r.type);)e=e.push(t.head),t=t.tail;if(0!==t.length)for(;t.head;){var i=t.head;if(e=e.push(t.head),t=t.tail,\\\"STOP\\\"===i.type){if(i.onRedo)break}else{var n=this._commands[i.name];n.redo?n.redo(i.data):n[\\\"do\\\"](i.data)}}this.ctx.emit(\\\"change-history\\\",{reason:\\\"redo\\\"})}return{undos:e,redos:t}}),this)),__publicField(this,\\\"bail\\\",()=>(this._undo({pushToRedoStack:!1}),this)),__publicField(this,\\\"bailToMark\\\",e=>(this._undo({pushToRedoStack:!1,toMark:e}),this)),__publicField(this,\\\"mark\\\",(t=uniqueId(),r=!0,i=!0)=>{var e=this._undos.get().head;return e&&\\\"STOP\\\"===e.type&&e.id===t&&e.onUndo===r&&e.onRedo===i?e.id:(this._undos.update(e=>e.push({type:\\\"STOP\\\",id:t,onUndo:r,onRedo:i})),this.ctx.emit(\\\"mark-history\\\",{id:t}),t)}),this.ctx=e,this.annotateError=t}getNumUndos(){return this._undos.get().length}getNumRedos(){return this._redos.get().length}clear(){this._undos.set(stack()),this._redos.set(stack())}},ScribbleManager=(init_esbuild_inject(),class{constructor(e){__publicField(this,\\\"scribbleItems\\\",new Map),__publicField(this,\\\"state\\\",\\\"paused\\\"),__publicField(this,\\\"addScribble\\\",(e,t=uniqueId())=>{var r={id:t,scribble:{id:t,size:20,color:\\\"accent\\\",opacity:.8,delay:0,points:[],shrink:.1,taper:!0,...e,state:\\\"starting\\\"},timeoutMs:0,delayRemaining:null!=(r=e.delay)?r:0,prev:null,next:null};return this.scribbleItems.set(t,r),\\\"paused\\\"===this.state&&this.resume(),r}),__publicField(this,\\\"stop\\\",e=>{var t=this.scribbleItems.get(e);if(t)return t.delayRemaining=Math.min(t.delayRemaining,200),t.scribble.state=\\\"stopping\\\",t;throw Error(`Scribble with id ${e} not found`)}),__publicField(this,\\\"addPoint\\\",(e,t,r)=>{var i,n,o=this.scribbleItems.get(e);if(o)return i=o[\\\"prev\\\"],n={x:t,y:r,z:.5},(!i||1\u003C=Vec.Dist(i,n))&&(o.next=n),o;throw Error(`Scribble with id ${e} not found`)}),__publicField(this,\\\"tick\\\",l=>{this.editor.batch(()=>{this.scribbleItems.forEach(e=>{var t,r;if(\\\"starting\\\"===e.scribble.state)({next:t,prev:r}=e),t&&t!==r&&(e.prev=t,e.scribble.points.push(t)),8\u003Ce.scribble.points.length&&(e.scribble.state=\\\"active\\\");else{0\u003Ce.delayRemaining&&(e.delayRemaining=Math.max(0,e.delayRemaining-l)),e.timeoutMs+=l,16\u003C=e.timeoutMs&&(e.timeoutMs=0);var{delayRemaining:i,timeoutMs:n,prev:o,next:a,scribble:s}=e;switch(s.state){case\\\"active\\\":a&&a!==o?(e.prev=a,s.points.push(a),0===i&&8\u003Cs.points.length&&s.points.shift()):0===n&&(1\u003Cs.points.length?s.points.shift():e.delayRemaining=s.delay);break;case\\\"stopping\\\":if(0===e.delayRemaining&&0===n){if(1===s.points.length)return void this.scribbleItems[\\\"delete\\\"](e.id);s.shrink&&(s.size=Math.max(1,s.size*(1-s.shrink))),s.points.shift()}}}}),this.editor.updateInstanceState({scribbles:Array.from(this.scribbleItems.values()).map(({scribble:e})=>({...e,points:[...e.points]})).slice(-5)}),0===this.scribbleItems.size&&this.pause()})}),this.editor=e}resume(){this.state=\\\"running\\\",this.editor.addListener(\\\"tick\\\",this.tick)}pause(){this.editor.removeListener(\\\"tick\\\",this.tick),this.state=\\\"paused\\\"}reset(){this.editor.updateInstanceState({scribbles:[]}),this.scribbleItems.clear(),this.pause()}}),SideEffectManager=(init_esbuild_inject(),class{constructor(e){__publicField(this,\\\"_beforeCreateHandlers\\\",{}),__publicField(this,\\\"_afterCreateHandlers\\\",{}),__publicField(this,\\\"_beforeChangeHandlers\\\",{}),__publicField(this,\\\"_afterChangeHandlers\\\",{}),__publicField(this,\\\"_beforeDeleteHandlers\\\",{}),__publicField(this,\\\"_afterDeleteHandlers\\\",{}),__publicField(this,\\\"_batchCompleteHandlers\\\",[]),(this.editor=e).store.onBeforeCreate=(t,r)=>{var i=this._beforeCreateHandlers[t.typeName];if(i){let e=t;for(const n of i)e=n(e,r);return e}return t},e.store.onAfterCreate=(e,t)=>{var r=this._afterCreateHandlers[e.typeName];if(r)for(const i of r)i(e,t)},e.store.onBeforeChange=(t,r,i)=>{var n=this._beforeChangeHandlers[r.typeName];if(n){let e=r;for(const o of n)e=o(t,e,i);return e}return r};let o=0;e.store.onAfterChange=(e,t,r)=>{if(1e3\u003C++o)console.error(\\\"[CleanupManager.onAfterChange] Maximum update depth exceeded, bailing out.\\\");else{var i=this._afterChangeHandlers[t.typeName];if(i)for(const n of i)n(e,t,r)}o--},e.store.onBeforeDelete=(e,t)=>{var r=this._beforeDeleteHandlers[e.typeName];if(r)for(const i of r)if(!1===i(e,t))return!1},e.store.onAfterDelete=(e,t)=>{var r=this._afterDeleteHandlers[e.typeName];if(r)for(const i of r)i(e,t)},e.history.onBatchComplete=()=>{this._batchCompleteHandlers.forEach(e=>e())}}registerBeforeCreateHandler(e,t){return this._beforeCreateHandlers[e]||(this._beforeCreateHandlers[e]=[]),this._beforeCreateHandlers[e].push(t),()=>remove(this._beforeCreateHandlers[e],t)}registerAfterCreateHandler(e,t){return this._afterCreateHandlers[e]||(this._afterCreateHandlers[e]=[]),this._afterCreateHandlers[e].push(t),()=>remove(this._afterCreateHandlers[e],t)}registerBeforeChangeHandler(e,t){return this._beforeChangeHandlers[e]||(this._beforeChangeHandlers[e]=[]),this._beforeChangeHandlers[e].push(t),()=>remove(this._beforeChangeHandlers[e],t)}registerAfterChangeHandler(e,t){return this._afterChangeHandlers[e]||(this._afterChangeHandlers[e]=[]),this._afterChangeHandlers[e].push(t),()=>remove(this._afterChangeHandlers[e],t)}registerBeforeDeleteHandler(e,t){return this._beforeDeleteHandlers[e]||(this._beforeDeleteHandlers[e]=[]),this._beforeDeleteHandlers[e].push(t),()=>remove(this._beforeDeleteHandlers[e],t)}registerAfterDeleteHandler(e,t){return this._afterDeleteHandlers[e]||(this._afterDeleteHandlers[e]=[]),this._afterDeleteHandlers[e].push(t),()=>remove(this._afterDeleteHandlers[e],t)}registerBatchCompleteHandler(e){return this._batchCompleteHandlers.push(e),()=>remove(this._batchCompleteHandlers,e)}});function remove(e,t){var r=e.indexOf(t);0\u003C=r&&e.splice(r,1)}init_esbuild_inject();var __defProp2=Object.defineProperty,__getOwnPropDesc2=Object.getOwnPropertyDescriptor,__decorateClass=(e,t,r,i)=>{for(var n,o=1\u003Ci?void 0:i?__getOwnPropDesc2(t,r):t,a=e.length-1;0\u003C=a;a--)(n=e[a])&&(o=(i?n(t,r,o):n(o))||o);return i&&o&&__defProp2(t,r,o),o},round=e=>{return Math.round(1e8*e)/1e8};function findAdjacentGaps(r,t,i,n,o){const a=r.filter(e=>(\\\"forward\\\"===n?e.startNode.id===t:e.endNode.id===t)&&round(e.length)===round(i)&&rangeIntersection(e.breadthIntersection[0],e.breadthIntersection[1],o[0],o[1]));if(0===a.length)return[];const s=new Set;return a.forEach(e=>{var t=(\\\"forward\\\"===n?e.endNode:e.startNode).id;s.has(t)||(s.add(t),t=findAdjacentGaps(r,t,i,n,rangeIntersection(e.breadthIntersection[0],e.breadthIntersection[1],o[0],o[1])),a.push(...t))}),a}function dedupeGapSnaps(t){t.sort((e,t)=>t.gaps.length-e.gaps.length);for(let i=t.length-1;0\u003Ci;i--){var r=t[i];for(let e=i-1;0\u003C=e;e--){const n=t[e];if(n.direction===r.direction&&r.gaps.every(t=>n.gaps.some(e=>round(t.startEdge[0].x)===round(e.startEdge[0].x)&&round(t.startEdge[0].y)===round(e.startEdge[0].y)&&round(t.startEdge[1].x)===round(e.startEdge[1].x)&&round(t.startEdge[1].y)===round(e.startEdge[1].y))&&n.gaps.some(e=>round(t.endEdge[0].x)===round(e.endEdge[0].x)&&round(t.endEdge[0].y)===round(e.endEdge[0].y)&&round(t.endEdge[1].x)===round(e.endEdge[1].x)&&round(t.endEdge[1].y)===round(e.endEdge[1].y)))){t.splice(i,1);break}}}}var SnapManager=class{constructor(e){__publicField(this,\\\"_snapLines\\\",atom(\\\"snapLines\\\",void 0)),this.editor=e}getLines(){var e;return null!=(e=this._snapLines.get())?e:EMPTY_ARRAY}clear(){this.getLines().length&&this._snapLines.set(void 0)}setLines(e){this._snapLines.set(e)}getSnapPointsCache(){const e=this[\\\"editor\\\"];return e.store.createComputedCache(\\\"snapPoints\\\",n=>{const o=e.getShapePageTransform(n.id);if(o)return this.editor.getShapeGeometry(n).snapPoints.map((e,t)=>{var{x:r,y:i}=Mat.applyToPoint(o,e);return{x:r,y:i,id:n.id+\\\":\\\"+t}})})}getSnapThreshold(){return 8/this.editor.getZoomLevel()}getSnappableShapes(){var e;const n=this[\\\"editor\\\"],o=n.getRenderingBounds(),a=n.getSelectedShapeIds(),s=[],l=e=>{var t,r;for(const i of n.getSortedChildIdsForParent(e))a.includes(i)||(t=n.getShape(i))&&n.getShapeUtil(t).canSnap(t)&&(r=n.getShapePageBounds(i))&&o.includes(r)&&(n.isShapeOfType(t,\\\"group\\\")?l(i):s.push({id:i,pageBounds:r,isClosed:n.getShapeGeometry(t).isClosed}))};return l(null!=(e=this.getCurrentCommonAncestor())?e:n.getCurrentPageId()),s}getCurrentCommonAncestor(){return this.editor.findCommonAncestor(this.editor.getSelectedShapes())}getSnappablePoints(){const r=this.getSnapPointsCache();var e=this.getSnappableShapes();const i=[];return e.forEach(e=>{var t=r.get(e.id);t&&i.push(...t)}),i}getVisibleGaps(){var t=[],r=[];let i,n;var o=this.getSnappableShapes().sort((e,t)=>e.pageBounds.minX-t.pageBounds.minX);for(let s=0;s\u003Co.length;s++){i=o[s];for(let e=s+1;e\u003Co.length;e++)n=o[e],i.pageBounds.maxX\u003Cn.pageBounds.minX&&rangesOverlap(i.pageBounds.minY,i.pageBounds.maxY,n.pageBounds.minY,n.pageBounds.maxY)&&t.push({startNode:i,endNode:n,startEdge:[new Vec(i.pageBounds.maxX,i.pageBounds.minY),new Vec(i.pageBounds.maxX,i.pageBounds.maxY)],endEdge:[new Vec(n.pageBounds.minX,n.pageBounds.minY),new Vec(n.pageBounds.minX,n.pageBounds.maxY)],length:n.pageBounds.minX-i.pageBounds.maxX,breadthIntersection:rangeIntersection(i.pageBounds.minY,i.pageBounds.maxY,n.pageBounds.minY,n.pageBounds.maxY)})}var a=o.sort((e,t)=>e.pageBounds.minY-t.pageBounds.minY);for(let l=0;l\u003Ca.length;l++){i=a[l];for(let e=l+1;e\u003Ca.length;e++)n=a[e],i.pageBounds.maxY\u003Cn.pageBounds.minY&&rangesOverlap(i.pageBounds.minX,i.pageBounds.maxX,n.pageBounds.minX,n.pageBounds.maxX)&&r.push({startNode:i,endNode:n,startEdge:[new Vec(i.pageBounds.minX,i.pageBounds.maxY),new Vec(i.pageBounds.maxX,i.pageBounds.maxY)],endEdge:[new Vec(n.pageBounds.minX,n.pageBounds.minY),new Vec(n.pageBounds.maxX,n.pageBounds.minY)],length:n.pageBounds.minY-i.pageBounds.maxY,breadthIntersection:rangeIntersection(i.pageBounds.minX,i.pageBounds.maxX,n.pageBounds.minX,n.pageBounds.maxX)})}return{horizontal:t,vertical:r}}snapTranslate({lockedAxis:e,initialSelectionPageBounds:t,initialSelectionSnapPoints:r,dragDelta:i}){var n=this.getSnapThreshold(),o=this.getSnappablePoints(),a=t.clone().translate(i),s=r.map(({x:e,y:t},r)=>({id:\\\"selection:\\\"+r,x:e+i.x,y:t+i.y})),l=[],c=[],n=new Vec(n,n);this.collectPointSnaps({minOffset:n,nearestSnapsX:l,nearestSnapsY:c,otherNodeSnapPoints:o,selectionSnapPoints:s}),this.collectGapSnaps({selectionPageBounds:a,nearestSnapsX:l,nearestSnapsY:c,minOffset:n});const d=new Vec(\\\"x\\\"!==e&&null!=(u=null==(u=l[0])?void 0:u.nudge)?u:0,\\\"y\\\"!==e&&null!=(u=null==(u=c[0])?void 0:u.nudge)?u:0);n.x=0,n.y=0,l.length=0,c.length=0,s.forEach(e=>{e.x+=d.x,e.y+=d.y}),a.translate(d),this.collectPointSnaps({minOffset:n,nearestSnapsX:l,nearestSnapsY:c,otherNodeSnapPoints:o,selectionSnapPoints:s}),this.collectGapSnaps({selectionPageBounds:a,nearestSnapsX:l,nearestSnapsY:c,minOffset:n});var u=this.getPointSnapLines({nearestSnapsX:l,nearestSnapsY:c}),o=this.getGapSnapLines({selectionPageBounds:a,nearestSnapsX:l,nearestSnapsY:c});return this._snapLines.set([...o,...u]),{nudge:d}}getOutlinesInPageSpace(){return this.getSnappableShapes().map(({id:e,isClosed:t})=>{var r=deepCopy(this.editor.getShapeGeometry(e).vertices),i=(t&&r.push(r[0]),this.editor.getShapePageTransform(e));if(i)return Mat.applyToPoints(i,r);throw Error(\\\"No page transform\\\")})}getSnappingHandleDelta({handlePoint:t,additionalSegments:r}){var i,n;let o=this.getSnapThreshold(),a=null;for(const s of[...this.getOutlinesInPageSpace(),...r])for(let e=0;e\u003Cs.length-1;e++)i=s[e],n=s[e+1],i=Vec.NearestPointOnLineSegment(i,n,t),n=Vec.Dist(t,i),isNaN(n)||n\u003Co&&(o=n,a=i);return a?(this._snapLines.set([{id:uniqueId(),type:\\\"points\\\",points:[a]}]),Vec.Sub(a,t)):null}snapResize({initialSelectionPageBounds:e,dragDelta:t,handle:r,isAspectRatioLocked:i,isResizingFromCenter:n}){var o=this.getSnapThreshold(),{box:a,scaleX:s,scaleY:l}=Box.Resize(e,r,n?2*t.x:t.x,n?2*t.y:t.y,i);let c=r;s\u003C0&&(c=flipSelectionHandleX(c)),l\u003C0&&(c=flipSelectionHandleY(c)),n&&(a.center=e.center);var s=\\\"top\\\"===c||\\\"bottom\\\"===c,l=\\\"left\\\"===c||\\\"right\\\"===c,a=getResizeSnapPointsForHandle(c,a),d=this.getSnappablePoints(),u=[],p=[],o=new Vec(o,o),l=(this.collectPointSnaps({minOffset:o,nearestSnapsX:u,nearestSnapsY:p,otherNodeSnapPoints:d,selectionSnapPoints:a}),new Vec(!s&&null!=(s=null==(a=u[0])?void 0:a.nudge)?s:0,!l&&null!=(s=null==(a=p[0])?void 0:a.nudge)?s:0)),a=(i&&isSelectionCorner(c)&&0!==l.len()&&(a=u.length&&p.length?Math.abs(l.x)\u003CMath.abs(l.y)?\\\"x\\\":\\\"y\\\":u.length?\\\"x\\\":\\\"y\\\",s=e.aspectRatio,\\\"x\\\"==a?(p.length=0,l.y=l.x/s,\\\"bottom_left\\\"!==c&&\\\"top_right\\\"!==c||(l.y=-l.y)):(u.length=0,l.x=l.y*s,\\\"bottom_left\\\"!==c&&\\\"top_right\\\"!==c||(l.x=-l.x))),Vec.Add(t,l)),s=Box.Resize(e,r,n?2*a.x:a.x,n?2*a.y:a.y,i)[\\\"box\\\"],a=(n&&(s.center=e.center),getResizeSnapPointsForHandle(\\\"any\\\",s)),s=(u.length=0,p.length=0,o.x=0,o.y=0,this.collectPointSnaps({minOffset:o,nearestSnapsX:u,nearestSnapsY:p,otherNodeSnapPoints:d,selectionSnapPoints:a}),this.getPointSnapLines({nearestSnapsX:u,nearestSnapsY:p}));return this._snapLines.set([...s]),{nudge:l}}collectPointSnaps({selectionSnapPoints:e,otherNodeSnapPoints:t,minOffset:r,nearestSnapsX:i,nearestSnapsY:n}){for(const s of e)for(const l of t){var o=Vec.Sub(s,l),a=Math.abs(o.x),o=Math.abs(o.y);round(a)\u003C=round(r.x)&&(round(a)\u003Cround(r.x)&&(i.length=0),i.push({type:\\\"points\\\",points:{thisPoint:s,otherPoint:l},nudge:l.x-s.x}),r.x=a),round(o)\u003C=round(r.y)&&(round(o)\u003Cround(r.y)&&(n.length=0),n.push({type:\\\"points\\\",points:{thisPoint:s,otherPoint:l},nudge:l.y-s.y}),r.y=o)}}collectGapSnaps({selectionPageBounds:e,minOffset:t,nearestSnapsX:r,nearestSnapsY:i}){var n,o,a,s,l,c,{horizontal:d,vertical:u}=this.getVisibleGaps();for(const p of d)rangesOverlap(p.breadthIntersection[0],p.breadthIntersection[1],e.minY,e.maxY)&&(n=p.startEdge[0].x+p.length/2-e.center.x,p.length>e.width&&round(Math.abs(n))\u003C=round(t.x)&&(round(Math.abs(n))\u003Cround(t.x)&&(r.length=0),t.x=Math.abs(n),n={type:\\\"gap_center\\\",gap:p,nudge:n},a=(o=r.find(({type:e})=>\\\"gap_center\\\"===e))&&rangeIntersection(p.breadthIntersection[0],p.breadthIntersection[1],o.gap.breadthIntersection[0],o.gap.breadthIntersection[1]),o&&o.gap.length>p.length&&a?r[r.indexOf(o)]=n:o&&a||r.push(n)),o=p.startNode.pageBounds.minX-p.length-e.maxX,round(Math.abs(o))\u003C=round(t.x)&&(round(Math.abs(o))\u003Cround(t.x)&&(r.length=0),t.x=Math.abs(o),r.push({type:\\\"gap_duplicate\\\",gap:p,protrusionDirection:\\\"left\\\",nudge:o})),a=p.endNode.pageBounds.maxX+p.length-e.minX,round(Math.abs(a))\u003C=round(t.x))&&(round(Math.abs(a))\u003Cround(t.x)&&(r.length=0),t.x=Math.abs(a),r.push({type:\\\"gap_duplicate\\\",gap:p,protrusionDirection:\\\"right\\\",nudge:a}));for(const h of u)rangesOverlap(h.breadthIntersection[0],h.breadthIntersection[1],e.minX,e.maxX)&&(s=h.startEdge[0].y+h.length/2-e.center.y,h.length>e.height&&round(Math.abs(s))\u003C=round(t.y)?(round(Math.abs(s))\u003Cround(t.y)&&(i.length=0),t.y=Math.abs(s),s={type:\\\"gap_center\\\",gap:h,nudge:s},c=(l=i.find(({type:e})=>\\\"gap_center\\\"===e))&&rangesOverlap(l.gap.breadthIntersection[0],l.gap.breadthIntersection[1],h.breadthIntersection[0],h.breadthIntersection[1]),l&&l.gap.length>h.length&&c?i[i.indexOf(l)]=s:l&&c||i.push(s)):(l=h.startNode.pageBounds.minY-h.length-e.maxY,round(Math.abs(l))\u003C=round(t.y)&&(round(Math.abs(l))\u003Cround(t.y)&&(i.length=0),t.y=Math.abs(l),i.push({type:\\\"gap_duplicate\\\",gap:h,protrusionDirection:\\\"top\\\",nudge:l})),c=h.endNode.pageBounds.maxY+h.length-e.minY,round(Math.abs(c))\u003C=round(t.y)&&(round(Math.abs(c))\u003Cround(t.y)&&(i.length=0),t.y=Math.abs(c),i.push({type:\\\"gap_duplicate\\\",gap:h,protrusionDirection:\\\"bottom\\\",nudge:c}))))}getPointSnapLines({nearestSnapsX:e,nearestSnapsY:t}){var r,i,n={},o={};if(0\u003Ce.length)for(const a of e)\\\"points\\\"===a.type&&(n[r=round(a.points.otherPoint.x)]||(n[r]=[]),n[r].push(a.points));if(0\u003Ct.length)for(const s of t)\\\"points\\\"===s.type&&(o[i=round(s.points.otherPoint.y)]||(o[i]=[]),o[i].push(s.points));return Object.values(n).concat(Object.values(o)).map(e=>({id:uniqueId(),type:\\\"points\\\",points:dedupe(e.map(e=>Vec.From(e.otherPoint)).concat(e.map(e=>Vec.From(e.thisPoint))),(e,t)=>e.equals(t))}))}getGapSnapLines({selectionPageBounds:e,nearestSnapsX:t,nearestSnapsY:r}){var{vertical:i,horizontal:n}=this.getVisibleGaps(),o={top:e.sides[0],right:e.sides[1],bottom:[e.corners[3],e.corners[2]],left:[e.corners[0],e.corners[3]]},a=[];if(0\u003Ct.length)for(const u of t)if(\\\"points\\\"!==u.type){const{breadthIntersection:p,startEdge:h,startNode:m,endNode:g,length:_,endEdge:f}=u[\\\"gap\\\"];switch(u.type){case\\\"gap_center\\\":var s=(_-e.width)/2,l=rangeIntersection(p[0],p[1],e.minY,e.maxY);a.push({type:\\\"gaps\\\",direction:\\\"horizontal\\\",id:uniqueId(),gaps:[...findAdjacentGaps(n,m.id,s,\\\"backward\\\",l),{startEdge:h,endEdge:o.left},{startEdge:o.right,endEdge:f},...findAdjacentGaps(n,g.id,s,\\\"forward\\\",l)]});break;case\\\"gap_duplicate\\\":s=rangeIntersection(p[0],p[1],e.minY,e.maxY);a.push({type:\\\"gaps\\\",direction:\\\"horizontal\\\",id:uniqueId(),gaps:\\\"left\\\"===u.protrusionDirection?[{startEdge:o.right,endEdge:h.map(e=>e.clone().addXY(-m.pageBounds.width,0))},{startEdge:h,endEdge:f},...findAdjacentGaps(n,g.id,_,\\\"forward\\\",s)]:[...findAdjacentGaps(n,m.id,_,\\\"backward\\\",s),{startEdge:h,endEdge:f},{startEdge:f.map(e=>e.clone().addXY(u.gap.endNode.pageBounds.width,0)),endEdge:o.left}]})}}if(0\u003Cr.length)for(const b of r)if(\\\"points\\\"!==b.type){const{breadthIntersection:v,startEdge:y,startNode:S,endNode:x,length:w,endEdge:$}=b[\\\"gap\\\"];switch(b.type){case\\\"gap_center\\\":var c=(w-e.height)/2,d=rangeIntersection(v[0],v[1],e.minX,e.maxX);a.push({type:\\\"gaps\\\",direction:\\\"vertical\\\",id:uniqueId(),gaps:[...findAdjacentGaps(i,S.id,c,\\\"backward\\\",d),{startEdge:y,endEdge:o.top},{startEdge:o.bottom,endEdge:$},...findAdjacentGaps(i,b.gap.endNode.id,c,\\\"forward\\\",d)]});break;case\\\"gap_duplicate\\\":c=rangeIntersection(v[0],v[1],e.minX,e.maxX);a.push({type:\\\"gaps\\\",direction:\\\"vertical\\\",id:uniqueId(),gaps:\\\"top\\\"===b.protrusionDirection?[{startEdge:o.bottom,endEdge:y.map(e=>e.clone().addXY(0,-S.pageBounds.height))},{startEdge:y,endEdge:$},...findAdjacentGaps(i,x.id,w,\\\"forward\\\",c)]:[...findAdjacentGaps(i,S.id,w,\\\"backward\\\",c),{startEdge:y,endEdge:$},{startEdge:$.map(e=>e.clone().addXY(0,x.pageBounds.height)),endEdge:o.top}]})}}return dedupeGapSnaps(a),a}};function getResizeSnapPointsForHandle(e,t){var{minX:r,maxX:i,minY:n,maxY:o}=t,a=[];switch(e){case\\\"top\\\":case\\\"left\\\":case\\\"top_left\\\":case\\\"any\\\":a.push({id:\\\"top_left\\\",handle:\\\"top_left\\\",x:r,y:n})}switch(e){case\\\"top\\\":case\\\"right\\\":case\\\"top_right\\\":case\\\"any\\\":a.push({id:\\\"top_right\\\",handle:\\\"top_right\\\",x:i,y:n})}switch(e){case\\\"bottom\\\":case\\\"right\\\":case\\\"bottom_right\\\":case\\\"any\\\":a.push({id:\\\"bottom_right\\\",handle:\\\"bottom_right\\\",x:i,y:o})}switch(e){case\\\"bottom\\\":case\\\"left\\\":case\\\"bottom_left\\\":case\\\"any\\\":a.push({id:\\\"bottom_left\\\",handle:\\\"bottom_left\\\",x:r,y:o})}return a}__decorateClass([computed],SnapManager.prototype,\\\"getSnapPointsCache\\\",1),__decorateClass([computed],SnapManager.prototype,\\\"getSnapThreshold\\\",1),__decorateClass([computed],SnapManager.prototype,\\\"getSnappableShapes\\\",1),__decorateClass([computed],SnapManager.prototype,\\\"getCurrentCommonAncestor\\\",1),__decorateClass([computed],SnapManager.prototype,\\\"getSnappablePoints\\\",1),__decorateClass([computed],SnapManager.prototype,\\\"getVisibleGaps\\\",1),__decorateClass([computed],SnapManager.prototype,\\\"getOutlinesInPageSpace\\\",1),init_esbuild_inject();var fixNewLines=/\\\\r?\\\\n|\\\\r/g;function normalizeTextForDom(e){return e.replace(fixNewLines,\\\"\\\\n\\\").split(\\\"\\\\n\\\").map(e=>e||\\\" \\\").join(\\\"\\\\n\\\")}var textAlignmentsForLtr={start:\\\"left\\\",\\\"start-legacy\\\":\\\"left\\\",middle:\\\"center\\\",\\\"middle-legacy\\\":\\\"center\\\",end:\\\"right\\\",\\\"end-legacy\\\":\\\"right\\\"},spaceCharacterRegex=/\\\\s/,TextManager=class{constructor(e){__publicField(this,\\\"measureText\\\",(e,t)=>{var r=this.getTextElement(),i=(r.setAttribute(\\\"dir\\\",\\\"ltr\\\"),r.style.setProperty(\\\"font-family\\\",t.fontFamily),r.style.setProperty(\\\"font-style\\\",t.fontStyle),r.style.setProperty(\\\"font-weight\\\",t.fontWeight),r.style.setProperty(\\\"font-size\\\",t.fontSize+\\\"px\\\"),r.style.setProperty(\\\"line-height\\\",t.lineHeight*t.fontSize+\\\"px\\\"),r.style.setProperty(\\\"max-width\\\",null===t.maxWidth?null:t.maxWidth+\\\"px\\\"),r.style.setProperty(\\\"min-width\\\",null!=(i=t.minWidth)?i:null),r.style.setProperty(\\\"padding\\\",t.padding),r.textContent=normalizeTextForDom(e),r.getBoundingClientRect());return{x:0,y:0,w:i.width,h:i.height}}),this.editor=e}getTextElement(){var e=document.querySelector(\\\".tl-text-measure\\\"),e=(null!=e&&e.remove(),document.createElement(\\\"div\\\"));return this.editor.getContainer().appendChild(e),e.id=\\\"__textMeasure_\\\"+uniqueId(),e.classList.add(\\\"tl-text\\\"),e.classList.add(\\\"tl-text-measure\\\"),e.tabIndex=-1,e}measureElementTextNodeSpans(e,{shouldTruncateToFirstLine:t=!1}={}){var r,i=[],n=e.getBoundingClientRect(),o=-n.left,a=-n.top,s=new Range,l=e.childNodes[0];let c=0,d=null,u=null,p=0,h=!1;for(const v of e.childNodes)if(v.nodeType===Node.TEXT_NODE)for(const y of null!=(r=v.textContent)?r:\\\"\\\"){s.setStart(l,c),s.setEnd(l,c+y.length);var m=s.getClientRects(),m=m[m.length-1],g=m.top+a,_=m.left+o,f=m.right+o,b=spaceCharacterRegex.test(y);if(b===u&&g===p&&d)d.box.w=f-d.box.x,d.text+=y;else{if(d){if(t&&g!==p){h=!0;break}i.push(d)}d={box:{x:_,y:g,w:m.width,h:m.height},text:y}}u=b,p=g,c+=y.length}return d&&i.push(d),{spans:i,didTruncate:h}}measureTextSpans(e,t){var r,i,n,o,a;return\\\"\\\"===e?[]:(i=\\\"truncate-ellipsis\\\"===t.overflow||\\\"truncate-clip\\\"===t.overflow,r=this.getTextElement(),o=Math.ceil(t.width-2*t.padding),({spans:i,didTruncate:n}=(r.style.setProperty(\\\"width\\\",o+\\\"px\\\"),r.style.setProperty(\\\"height\\\",\\\"min-content\\\"),r.style.setProperty(\\\"dir\\\",\\\"ltr\\\"),r.style.setProperty(\\\"font-size\\\",t.fontSize+\\\"px\\\"),r.style.setProperty(\\\"font-family\\\",t.fontFamily),r.style.setProperty(\\\"font-weight\\\",t.fontWeight),r.style.setProperty(\\\"line-height\\\",t.lineHeight*t.fontSize+\\\"px\\\"),r.style.setProperty(\\\"text-align\\\",textAlignmentsForLtr[t.textAlign]),i&&(r.style.setProperty(\\\"overflow-wrap\\\",\\\"anywhere\\\"),r.style.setProperty(\\\"word-break\\\",\\\"break-all\\\")),e=normalizeTextForDom(e),r.textContent=e,this.measureElementTextNodeSpans(r,{shouldTruncateToFirstLine:i}))),\\\"truncate-ellipsis\\\"===t.overflow&&n?(r.textContent=\\\"…\\\",n=Math.ceil(this.measureElementTextNodeSpans(r).spans[0].box.w),r.style.setProperty(\\\"width\\\",o-n+\\\"px\\\"),r.textContent=e,a=(o=this.measureElementTextNodeSpans(r,{shouldTruncateToFirstLine:!0}).spans)[o.length-1],o.push({text:\\\"…\\\",box:{x:Math.min(a.box.x+a.box.w,t.width-t.padding-n),y:a.box.y,w:n,h:a.box.h}}),o):(r.remove(),i))}},TickManager=(init_esbuild_inject(),class{constructor(e){__publicField(this,\\\"raf\\\"),__publicField(this,\\\"isPaused\\\",!0),__publicField(this,\\\"last\\\",0),__publicField(this,\\\"t\\\",0),__publicField(this,\\\"start\\\",()=>{this.isPaused=!1,cancelAnimationFrame(this.raf),this.raf=requestAnimationFrame(this.tick),this.last=Date.now()}),__publicField(this,\\\"tick\\\",()=>{var e,t;this.isPaused||(t=(e=Date.now())-this.last,this.last=e,this.t+=t,this.editor.emit(\\\"frame\\\",t),this.t\u003C16||(this.t-=16,this.updatePointerVelocity(t),this.editor.emit(\\\"tick\\\",t)),this.raf=requestAnimationFrame(this.tick))}),__publicField(this,\\\"dispose\\\",()=>{this.isPaused=!0,cancelAnimationFrame(this.raf)}),__publicField(this,\\\"prevPoint\\\",new Vec),__publicField(this,\\\"updatePointerVelocity\\\",e=>{var{prevPoint:t,editor:{inputs:{currentScreenPoint:r,pointerVelocity:i}}}=this;0===e||(t=Vec.Sub(r,t),this.prevPoint=r.clone(),t=(r=t.len())?t.div(r):new Vec(0,0),r=i.clone().lrp(t.mul(r/e),.5),Math.abs(r.x)\u003C.01&&(r.x=0),Math.abs(r.y)\u003C.01&&(r.y=0),i.equals(r))||(this.editor.inputs.pointerVelocity=r)}),this.editor=e,this.editor.disposables.add(this.dispose),this.start()}}),__defProp3=(init_esbuild_inject(),Object.defineProperty),__getOwnPropDesc3=Object.getOwnPropertyDescriptor,__decorateClass2=(e,t,r,i)=>{for(var n,o=1\u003Ci?void 0:i?__getOwnPropDesc3(t,r):t,a=e.length-1;0\u003C=a;a--)(n=e[a])&&(o=(i?n(t,r,o):n(o))||o);return i&&o&&__defProp3(t,r,o),o},UserPreferencesManager=class{constructor(e,t){__publicField(this,\\\"updateUserPreferences\\\",e=>{this.user.setUserPreferences({...this.user.userPreferences.get(),...e})}),this.user=e,this.inferDarkMode=t}getUserPreferences(){return{id:this.getId(),name:this.getName(),locale:this.getLocale(),color:this.getColor(),isDarkMode:this.getIsDarkMode(),animationSpeed:this.getAnimationSpeed(),isSnapMode:this.getIsSnapMode()}}getIsDarkMode(){var e;return null!=(e=this.user.userPreferences.get().isDarkMode)?e:!!this.inferDarkMode&&userPrefersDarkUI()}getEdgeScrollSpeed(){var e;return null!=(e=this.user.userPreferences.get().edgeScrollSpeed)?e:defaultUserPreferences.edgeScrollSpeed}getAnimationSpeed(){var e;return null!=(e=this.user.userPreferences.get().animationSpeed)?e:defaultUserPreferences.animationSpeed}getId(){return this.user.userPreferences.get().id}getName(){var e;return null!=(e=this.user.userPreferences.get().name)?e:defaultUserPreferences.name}getLocale(){var e;return null!=(e=this.user.userPreferences.get().locale)?e:defaultUserPreferences.locale}getColor(){var e;return null!=(e=this.user.userPreferences.get().color)?e:defaultUserPreferences.color}getIsSnapMode(){var e;return null!=(e=this.user.userPreferences.get().isSnapMode)?e:defaultUserPreferences.isSnapMode}};function getIsArrowStraight(e){return Math.abs(e.props.bend)\u003C8}function getBoundShapeInfoForTerminal(e,t){var r,i,n,o;if(\\\"point\\\"!==t.type)return r=e.getShape(t.boundShapeId),i=e.getShapePageTransform(r),o=((n=e.getShapeGeometry(r))instanceof Group2d?n.children[0]:n).vertices,{shape:r,transform:i,isClosed:n.isClosed,isExact:t.isExact,didIntersect:!1,outline:o}}function getArrowTerminalInArrowSpace(e,t,r,i){var n,o,a;return\\\"point\\\"===r.type?Vec.From(r):(n=e.getShape(r.boundShapeId))?(({point:o,size:a}=e.getShapeGeometry(n).bounds),o=Vec.Add(o,Vec.MulV(r.isPrecise||i?r.normalizedAnchor:{x:.5,y:.5},a)),a=Mat.applyToPoint(e.getShapePageTransform(n),o),Mat.applyToPoint(Mat.Inverse(t),a)):new Vec(0,0)}function getArrowTerminalsInArrowSpace(e,t){var r=e.getShapePageTransform(t);let i,n;\\\"binding\\\"===t.props.start.type&&\\\"binding\\\"===t.props.end.type&&(i=t.props.start.boundShapeId,n=t.props.end.boundShapeId);var o=getBoundShapeRelationships(e,i,n);return{start:getArrowTerminalInArrowSpace(e,r,t.props.start,\\\"double-bound\\\"===o||\\\"start-contains-end\\\"===o),end:getArrowTerminalInArrowSpace(e,r,t.props.end,\\\"double-bound\\\"===o||\\\"end-contains-start\\\"===o)}}__decorateClass2([computed],UserPreferencesManager.prototype,\\\"getUserPreferences\\\",1),__decorateClass2([computed],UserPreferencesManager.prototype,\\\"getIsDarkMode\\\",1),__decorateClass2([computed],UserPreferencesManager.prototype,\\\"getEdgeScrollSpeed\\\",1),__decorateClass2([computed],UserPreferencesManager.prototype,\\\"getAnimationSpeed\\\",1),__decorateClass2([computed],UserPreferencesManager.prototype,\\\"getId\\\",1),__decorateClass2([computed],UserPreferencesManager.prototype,\\\"getName\\\",1),__decorateClass2([computed],UserPreferencesManager.prototype,\\\"getLocale\\\",1),__decorateClass2([computed],UserPreferencesManager.prototype,\\\"getColor\\\",1),__decorateClass2([computed],UserPreferencesManager.prototype,\\\"getIsSnapMode\\\",1),init_esbuild_inject(),init_esbuild_inject();var MIN_ARROW_LENGTH=10,BOUND_ARROW_OFFSET=10,WAY_TOO_BIG_ARROW_BEND_FACTOR=10,STROKE_SIZES={s:2,m:3.5,l:5,xl:10};function getBoundShapeRelationships(e,t,r){if(t&&r){if(t===r)return\\\"double-bound\\\";var i=e.getShapePageBounds(t),n=e.getShapePageBounds(r);if(i&&n){if(i.contains(n))return\\\"start-contains-end\\\";if(n.contains(i))return\\\"end-contains-start\\\"}}return\\\"safe\\\"}function getStraightArrowInfo(e,t){var{start:r,end:i,arrowheadStart:n,arrowheadEnd:o}=t.props,a=getArrowTerminalsInArrowSpace(e,t),s=a.start.clone(),l=a.end.clone(),c=Vec.Med(s,l);if(Vec.Equals(s,l))return{isStraight:!0,start:{handle:s,point:s,arrowhead:t.props.arrowheadStart},end:{handle:l,point:l,arrowhead:t.props.arrowheadEnd},middle:c,isValid:!1,length:0};var d=Vec.Sub(l,s).uni(),r=getBoundShapeInfoForTerminal(e,r),i=getBoundShapeInfoForTerminal(e,i),u=e.getShapePageTransform(t);updateArrowheadPointWithBoundShape(l,a.start,u,i),updateArrowheadPointWithBoundShape(s,a.end,u,r);let p=0,h=0;let m=MIN_ARROW_LENGTH;var u=r&&i&&r.shape===i.shape,g=r&&i?getBoundShapeRelationships(e,r.shape.id,i.shape.id):\\\"safe\\\",_=(\\\"safe\\\"!==g||!r||!i||u||r.isExact||i.isExact||(i.didIntersect&&!r.didIntersect?r.isClosed&&s.setTo(l.clone().add(d.clone().mul(MIN_ARROW_LENGTH))):i.didIntersect||i.isClosed&&l.setTo(s.clone().sub(d.clone().mul(MIN_ARROW_LENGTH)))),Vec.Sub(l,s).uni()),d=!Vec.Equals(_,d),u=(u||(\\\"start-contains-end\\\"!==g&&r&&\\\"none\\\"!==n&&!r.isExact&&(u=STROKE_SIZES[t.props.size]/2+(\\\"size\\\"in r.shape.props?STROKE_SIZES[r.shape.props.size]/2:0),p=BOUND_ARROW_OFFSET+u,m+=u),\\\"end-contains-start\\\"!==g&&i&&\\\"none\\\"!==o&&!i.isExact&&(n=STROKE_SIZES[t.props.size]/2+(\\\"size\\\"in i.shape.props?STROKE_SIZES[i.shape.props.size]/2:0),h=BOUND_ARROW_OFFSET+n,m+=n)),s.clone().add(_.clone().mul(p*(d?-1:1)))),g=l.clone().sub(_.clone().mul(h*(d?-1:1))),o=(Vec.Dist(u,g)\u003Cm&&(0!==p&&0!==h?(p*=-1.5,h*=-1.5):0!==p?p*=-1:0!==h&&(h*=-1)),s.add(_.clone().mul(p*(d?-1:1))),l.sub(_.clone().mul(h*(d?-1:1))),d?(r&&i&&l.setTo(Vec.Add(s,_.clone().mul(-MIN_ARROW_LENGTH))),c.setTo(Vec.Med(a.start,a.end))):c.setTo(Vec.Med(s,l)),Vec.Dist(s,l));return{isStraight:!0,start:{handle:a.start,point:s,arrowhead:t.props.arrowheadStart},end:{handle:a.end,point:l,arrowhead:t.props.arrowheadEnd},middle:c,isValid:0\u003Co,length:o}}function updateArrowheadPointWithBoundShape(t,r,i,n){if(void 0!==n&&!n.isExact){var o=Mat.applyToPoint(i,r),a=Mat.applyToPoint(i,t);const l=Mat.applyToPoint(Mat.Inverse(n.transform),o);var o=Mat.applyToPoint(Mat.Inverse(n.transform),a),a=n.isClosed,s=(a?intersectLineSegmentPolygon:intersectLineSegmentPolyline)(l,o,n.outline);let e;void 0!==(e=null!==s?null!=(s=s.sort((e,t)=>Vec.Dist(e,l)-Vec.Dist(t,l))[0])?s:a?void 0:o:e)&&(s=Mat.applyToPoint(n.transform,e),a=Mat.applyToPoint(Mat.Inverse(i),s),t.setTo(a),n.didIntersect=!0)}}function getCurvedArrowInfo(r,i,e=0){var{arrowheadEnd:n,arrowheadStart:o}=i.props,a=i.props.bend+e;if(Math.abs(a)>Math.abs(i.props.bend*WAY_TOO_BIG_ARROW_BEND_FACTOR))return getStraightArrowInfo(r,i);var t=getArrowTerminalsInArrowSpace(r,i),s=Vec.Med(t.start,t.end),l=Vec.Sub(t.end,t.start).uni(),s=Vec.Add(s,l.per().mul(-a)),l=getBoundShapeInfoForTerminal(r,i.props.start),a=getBoundShapeInfoForTerminal(r,i.props.end),c=t.start.clone(),d=t.end.clone(),s=s.clone();if(Vec.Equals(c,d))return{isStraight:!0,start:{handle:c,point:c,arrowhead:i.props.arrowheadStart},end:{handle:d,point:d,arrowhead:i.props.arrowheadEnd},middle:s,isValid:!1,length:0};var u=i.props.bend\u003C0;const p=u?clockwiseAngleDist:counterClockwiseAngleDist;var h=getArcInfo(c,d,s),m=Vec.Angle(h.center,c),g=Vec.Angle(h.center,d),g=p(m,g);if(0===h.length||0===h.size||!isSafeFloat(h.length)||!isSafeFloat(h.size))return getStraightArrowInfo(r,i);var _=c.clone(),f=d.clone(),b=s.clone(),v=r.getShapePageTransform(i);let y=0,S=0,x=MIN_ARROW_LENGTH;if(l&&!l.isExact){var w=Mat.applyToPoint(v,_),$=Mat.applyToPoint(v,h.center),E=Mat.applyToPoint(v,f),P=Mat.Inverse(l.transform),w=Mat.applyToPoint(P,w);const I=Mat.applyToPoint(P,$);var $=Mat.applyToPoint(P,E),P=l[\\\"isClosed\\\"];let e,t=(P?intersectCirclePolygon:intersectCirclePolyline)(I,h.radius,l.outline);if(t){const j=I.angle(w);var E=I.angle($);const C=p(j,E),T=(t=t.filter(e=>p(j,I.angle(e))\u003C=C),.25*C);t.sort(P?(e,t)=>Math.abs(p(j,I.angle(e))-T)\u003CMath.abs(p(j,I.angle(t))-T)?-1:1:(e,t)=>p(j,I.angle(e))\u003Cp(j,I.angle(t))?-1:1),e=null!=($=t[0])?$:P?void 0:w}else e=P?void 0:w;e&&(_.setTo(r.getPointInShapeSpace(i,Mat.applyToPoint(l.transform,e))),l.didIntersect=!0,\\\"none\\\"!==o)&&(E=STROKE_SIZES[i.props.size]/2+(\\\"size\\\"in l.shape.props?STROKE_SIZES[l.shape.props.size]/2:0),y=BOUND_ARROW_OFFSET+E,x+=E)}if(a&&!a.isExact){$=Mat.applyToPoint(v,_),P=Mat.applyToPoint(v,f),w=Mat.applyToPoint(v,h.center),o=Mat.Inverse(a.transform),E=Mat.applyToPoint(o,$);const k=Mat.applyToPoint(o,w);v=Mat.applyToPoint(o,P),$=a.isClosed;let e,t=($?intersectCirclePolygon:intersectCirclePolyline)(k,h.radius,a.outline);if(t){const A=k.angle(E);w=k.angle(v);const M=p(A,w),F=.75*M;(t=t.filter(e=>p(A,k.angle(e))\u003C=M)).sort($?(e,t)=>Math.abs(p(A,k.angle(e))-F)\u003CMath.abs(p(A,k.angle(t))-F)?-1:1:(e,t)=>p(A,k.angle(e))\u003Cp(A,k.angle(t))?-1:1),e=t[0]||($?void 0:v)}else e=$?void 0:v;e&&(f.setTo(r.getPointInShapeSpace(i,Mat.applyToPoint(a.transform,e))),a.didIntersect=!0,\\\"none\\\"!==n)&&(o=STROKE_SIZES[i.props.size]/2+(\\\"size\\\"in a.shape.props?STROKE_SIZES[a.shape.props.size]/2:0),S=BOUND_ARROW_OFFSET+o,x+=o)}var P=Vec.Angle(h.center,_),E=Vec.Angle(h.center,f),w=p(P,E),$=w*h.radius,v=_.clone(),n=f.clone(),o=(0!==y&&(o=y/$*(u?1:-1),o=Vec.FromAngle(P+w*o),v.setTo(h.center).add(o.mul(h.radius))),0!==S&&(o=S/$*(u?-1:1),o=Vec.FromAngle(E+w*o),n.setTo(h.center).add(o.mul(h.radius))),Vec.Dist(v,n)),n=(o\u003Cx&&(0!==y&&0!==S?(y*=-1.5,S*=-1.5):0!==y?y*=-2:0!==S&&(S*=-2)),0!==y&&(v=y/$*(u?1:-1),n=Vec.FromAngle(P+w*v),_.setTo(h.center).add(n.mul(h.radius))),0!==S&&(o=S/$*(u?-1:1),v=Vec.FromAngle(E+w*o),f.setTo(h.center).add(v.mul(h.radius))),l&&a&&!l.isExact&&!a.isExact&&(P=Vec.Angle(h.center,_),E=Vec.Angle(h.center,f),$=(w=p(P,E))*h.radius,\\\"double-bound\\\"===(n=getBoundShapeRelationships(r,l.shape.id,a.shape.id))&&$\u003C30?(_.setTo(c),f.setTo(d),b.setTo(s)):\\\"safe\\\"===n&&(l&&!l.didIntersect&&_.setTo(c),a&&!a.didIntersect||p(m,P)>p(m,E))&&(o=Math.min(.9,MIN_ARROW_LENGTH/$)*(u?1:-1),v=Vec.FromAngle(P+w*o),f.setTo(h.center).add(v.mul(h.radius)))),placeCenterHandle(h.center,h.radius,_,f,b,g,u),_.equals(f)&&(_.setTo(b.clone().addXY(1,1)),f.setTo(b.clone().subXY(1,1))),c.setTo(_),d.setTo(f),s.setTo(b),getArcInfo(c,d,s));return{isStraight:!1,start:{point:c,handle:t.start,arrowhead:i.props.arrowheadStart},end:{point:d,handle:t.end,arrowhead:i.props.arrowheadEnd},middle:s,handleArc:h,bodyArc:n,isValid:0!==n.length&&isFinite(n.center.x)&&isFinite(n.center.y)}}function getArcInfo(e,t,r){var i=-2*(e.x*(t.y-r.y)-e.y*(t.x-r.x)+t.x*r.y-r.x*t.y),i={x:((e.x*e.x+e.y*e.y)*(r.y-t.y)+(t.x*t.x+t.y*t.y)*(e.y-r.y)+(r.x*r.x+r.y*r.y)*(t.y-e.y))/i,y:((e.x*e.x+e.y*e.y)*(t.x-r.x)+(t.x*t.x+t.y*t.y)*(r.x-e.x)+(r.x*r.x+r.y*r.y)*(e.x-t.x))/i},n=Vec.Dist(i,e),o=+Vec.Clockwise(e,r,t),a=Math.hypot(e.y-t.y,e.x-t.x),s=Math.hypot(t.y-r.y,t.x-r.x),l=Math.hypot(r.y-e.y,r.x-e.x),a=2*Math.acos((s*s+l*l-a*a)/(2*s*l)),s=(PI2-a)*(o?1:-1);return{center:i,radius:n,size:s,length:s*n,largeArcFlag:+(a\u003CPI),sweepFlag:o}}function placeCenterHandle(e,t,r,i,n,o,a){var s=Vec.Angle(e,r);let l=clockwiseAngleDist(s,Vec.Angle(e,i));a||(l=PI2-l);var s=Vec.FromAngle(s+l*(.5*(a?1:-1)));n.setTo(e).add(s.mul(t)),l>o&&(n.rotWith(e,PI),s=i.clone(),i.setTo(r),r.setTo(s))}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var EVENT_NAME_MAP={wheel:\\\"onWheel\\\",pointer_down:\\\"onPointerDown\\\",pointer_move:\\\"onPointerMove\\\",pointer_up:\\\"onPointerUp\\\",right_click:\\\"onRightClick\\\",middle_click:\\\"onMiddleClick\\\",key_down:\\\"onKeyDown\\\",key_up:\\\"onKeyUp\\\",key_repeat:\\\"onKeyRepeat\\\",cancel:\\\"onCancel\\\",complete:\\\"onComplete\\\",interrupt:\\\"onInterrupt\\\",double_click:\\\"onDoubleClick\\\",triple_click:\\\"onTripleClick\\\",quadruple_click:\\\"onQuadrupleClick\\\"},StateNode=class{constructor(e,t){__publicField(this,\\\"id\\\"),__publicField(this,\\\"type\\\"),__publicField(this,\\\"shapeType\\\"),__publicField(this,\\\"initial\\\"),__publicField(this,\\\"children\\\"),__publicField(this,\\\"parent\\\"),__publicField(this,\\\"_path\\\"),__publicField(this,\\\"_current\\\"),__publicField(this,\\\"_isActive\\\"),__publicField(this,\\\"transition\\\",(e,t={})=>{var r=e.split(\\\".\\\");let i=this;for(let s=0;s\u003Cr.length;s++){var n=r[s],o=i.getCurrent(),a=null==(a=i.children)?void 0:a[n];if(!a)throw Error(i.id+` - no child state exists with the id ${n}.`);if((null==o?void 0:o.id)!==a.id&&(null!=o&&o.exit(t,n),i._current.set(a),a.enter(t,(null==o?void 0:o.id)||\\\"initial\\\"),!a.getIsActive()))break;i=a}return this}),__publicField(this,\\\"handleEvent\\\",e=>{var t=EVENT_NAME_MAP[e.name],r=this.getCurrent();null!=(t=this[t])&&t.call(this,e),this.getCurrent()===r&&this.getIsActive()&&null!=r&&r.handleEvent(e)}),__publicField(this,\\\"enter\\\",(e,t)=>{var r;this._isActive.set(!0),null!=(r=this.onEnter)&&r.call(this,e,t),this.onTick&&this.editor.on(\\\"tick\\\",this.onTick),this.children&&this.initial&&this.getIsActive()&&(r=this.children[this.initial],this._current.set(r),r.enter(e,t))}),__publicField(this,\\\"exit\\\",(e,t)=>{var r;this._isActive.set(!1),this.onTick&&this.editor.off(\\\"tick\\\",this.onTick),null!=(r=this.onExit)&&r.call(this,e,t),this.getIsActive()||null!=(r=this.getCurrent())&&r.exit(e,t)}),__publicField(this,\\\"_currentToolIdMask\\\",atom(\\\"curent tool id mask\\\",void 0)),__publicField(this,\\\"onWheel\\\"),__publicField(this,\\\"onPointerDown\\\"),__publicField(this,\\\"onPointerMove\\\"),__publicField(this,\\\"onPointerUp\\\"),__publicField(this,\\\"onDoubleClick\\\"),__publicField(this,\\\"onTripleClick\\\"),__publicField(this,\\\"onQuadrupleClick\\\"),__publicField(this,\\\"onRightClick\\\"),__publicField(this,\\\"onMiddleClick\\\"),__publicField(this,\\\"onKeyDown\\\"),__publicField(this,\\\"onKeyUp\\\"),__publicField(this,\\\"onKeyRepeat\\\"),__publicField(this,\\\"onCancel\\\"),__publicField(this,\\\"onComplete\\\"),__publicField(this,\\\"onInterrupt\\\"),__publicField(this,\\\"onEnter\\\"),__publicField(this,\\\"onExit\\\"),__publicField(this,\\\"onTick\\\"),this.editor=e;var{id:r,children:i,initial:n}=this.constructor;this.id=r,this._isActive=atom(\\\"toolIsActive\\\"+this.id,!1),this._current=atom(\\\"toolState\\\"+this.id,void 0),this._path=computed(\\\"toolPath\\\"+this.id,()=>{var e=this.getCurrent();return this.id+(e?\\\".\\\"+e.getPath():\\\"\\\")}),this.parent=null!=t?t:{},this.parent?i&&n?(this.type=\\\"branch\\\",this.initial=n,this.children=Object.fromEntries(i().map(e=>[e.id,new e(this.editor,this)])),this._current.set(this.children[this.initial])):this.type=\\\"leaf\\\":(this.type=\\\"root\\\",i&&n&&(this.initial=n,this.children=Object.fromEntries(i().map(e=>[e.id,new e(this.editor,this)])),this._current.set(this.children[this.initial])))}getPath(){return this._path.get()}getCurrent(){return this._current.get()}getIsActive(){return this._isActive.get()}getCurrentToolIdMask(){return this._currentToolIdMask.get()}setCurrentToolIdMask(e){this._currentToolIdMask.set(e)}},RootState=(__publicField(StateNode,\\\"id\\\"),__publicField(StateNode,\\\"initial\\\"),__publicField(StateNode,\\\"children\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onKeyDown\\\",e=>{var t,r;\\\"KeyZ\\\"!==e.code||e.shiftKey||e.ctrlKey||(r=this.getCurrent())&&\\\"idle\\\"===(null==(t=r.getCurrent())?void 0:t.id)&&this.children.zoom&&this.editor.setCurrentTool(\\\"zoom\\\",{...e,onInteractionEnd:r.id})})}}),__defProp4=(__publicField(RootState,\\\"id\\\",\\\"root\\\"),__publicField(RootState,\\\"initial\\\",\\\"\\\"),__publicField(RootState,\\\"children\\\",()=>[]),Object.defineProperty),__getOwnPropDesc4=Object.getOwnPropertyDescriptor,__decorateClass3=(e,t,r,i)=>{for(var n,o=1\u003Ci?void 0:i?__getOwnPropDesc4(t,r):t,a=e.length-1;0\u003C=a;a--)(n=e[a])&&(o=(i?n(t,r,o):n(o))||o);return i&&o&&__defProp4(t,r,o),o},Editor=class extends import_eventemitter3.EventEmitter{constructor({store:e,user:t,shapeUtils:r,tools:i,getContainer:n,initialState:o,inferDarkMode:a}){super(),__publicField(this,\\\"store\\\"),__publicField(this,\\\"root\\\"),__publicField(this,\\\"disposables\\\",new Set),__publicField(this,\\\"_tickManager\\\",new TickManager(this)),__publicField(this,\\\"snaps\\\"),__publicField(this,\\\"user\\\"),__publicField(this,\\\"textMeasure\\\"),__publicField(this,\\\"environment\\\"),__publicField(this,\\\"scribbles\\\"),__publicField(this,\\\"getContainer\\\"),__publicField(this,\\\"sideEffects\\\"),__publicField(this,\\\"shapeUtils\\\"),__publicField(this,\\\"styleProps\\\"),__publicField(this,\\\"history\\\",new HistoryManager(this,e=>{this.annotateError(e,{origin:\\\"history.batch\\\",willCrashApp:!0}),this.crash(e)})),__publicField(this,\\\"_crashingError\\\",null),__publicField(this,\\\"_updateInstanceState\\\",this.history.createCommand(\\\"updateInstanceState\\\",(e,t)=>{var r=this.store.get(this.getInstanceState().id);return{data:{prev:r,next:{...r,...e}},ephemeral:!1,squashing:!1,...t}},{\\\"do\\\":({next:e})=>{this.store.put([e])},undo:({prev:e})=>{this.store.put([e])},squash({prev:e},{next:t}){return{prev:e,next:t}}})),__publicField(this,\\\"_isChangingStyleTimeout\\\",-1),__publicField(this,\\\"setCursor\\\",e=>(this.updateInstanceState({cursor:{...this.getInstanceState().cursor,...e}},{ephemeral:!0}),this)),__publicField(this,\\\"_setInstancePageState\\\",this.history.createCommand(\\\"setInstancePageState\\\",(e,t)=>{var r;return{data:{prev:this.store.get(null!=(r=e.id)?r:this.getCurrentPageState().id),partial:e},...t}},{\\\"do\\\":({prev:e,partial:t})=>{this.store.update(e.id,e=>({...e,...t}))},undo:({prev:e})=>{this.store.update(e.id,()=>e)}})),__publicField(this,\\\"_setSelectedShapes\\\",this.history.createCommand(\\\"setSelectedShapes\\\",(e,t)=>{var r=this.getCurrentPageState()[\\\"selectedShapeIds\\\"];const i=new Set(r);return e.length===i.size&&e.every(e=>i.has(e))?null:{data:{selectedShapeIds:e,prevSelectedShapeIds:r},preservesRedoStack:!0,...t}},{\\\"do\\\":({selectedShapeIds:e})=>{this.store.put([{...this.getCurrentPageState(),selectedShapeIds:e}])},undo:({prevSelectedShapeIds:e})=>{this.store.put([{...this.getCurrentPageState(),selectedShapeIds:e}])},squash({prevSelectedShapeIds:e},{selectedShapeIds:t}){return{selectedShapeIds:t,prevSelectedShapeIds:e}}})),__publicField(this,\\\"_setFocusedGroupId\\\",this.history.createCommand(\\\"setFocusedGroupId\\\",e=>{var t=this.getCurrentPageState().focusedGroupId;if(t!==e)return{data:{prev:t,next:e},preservesRedoStack:!0,squashing:!0}},{\\\"do\\\":({next:t})=>{this.store.update(this.getCurrentPageState().id,e=>({...e,focusedGroupId:t}))},undo:({prev:t})=>{this.store.update(this.getCurrentPageState().id,e=>({...e,focusedGroupId:t}))},squash({prev:e},{next:t}){return{prev:e,next:t}}})),__publicField(this,\\\"_viewportAnimation\\\",null),__publicField(this,\\\"_willSetInitialBounds\\\",!0),__publicField(this,\\\"_cameraState\\\",atom(\\\"camera state\\\",\\\"idle\\\")),__publicField(this,\\\"_cameraStateTimeoutRemaining\\\",0),__publicField(this,\\\"_lastUpdateRenderingBoundsTimestamp\\\",Date.now()),__publicField(this,\\\"_decayCameraStateTimeout\\\",e=>{this._cameraStateTimeoutRemaining-=e,this._cameraStateTimeoutRemaining\u003C=0&&(this.off(\\\"tick\\\",this._decayCameraStateTimeout),this._cameraState.set(\\\"idle\\\"),this.updateRenderingBounds())}),__publicField(this,\\\"_tickCameraState\\\",()=>{this._cameraStateTimeoutRemaining=CAMERA_MOVING_TIMEOUT;var e=Date.now();\\\"idle\\\"===this._cameraState.__unsafe__getWithoutCapture()?(this._lastUpdateRenderingBoundsTimestamp=e,this._cameraState.set(\\\"moving\\\"),this.on(\\\"tick\\\",this._decayCameraStateTimeout)):e-this._lastUpdateRenderingBoundsTimestamp>CAMERA_MAX_RENDERING_INTERVAL&&this.updateRenderingBounds()}),__publicField(this,\\\"_renderingBounds\\\",atom(\\\"rendering viewport\\\",new Box)),__publicField(this,\\\"_renderingBoundsExpanded\\\",atom(\\\"rendering viewport expanded\\\",new Box)),__publicField(this,\\\"renderingBoundsMargin\\\",100),__publicField(this,\\\"_currentPageShapeIds\\\"),__publicField(this,\\\"_setCurrentPageId\\\",this.history.createCommand(\\\"setCurrentPage\\\",(e,t)=>{if(this.store.has(e))return this.stopFollowingUser(),{data:{toId:e,fromId:this.getCurrentPageId()},squashing:!0,preservesRedoStack:!0,...t};console.error(\\\"Tried to set the current page id to a page that doesn't exist.\\\")},{\\\"do\\\":({toId:t})=>{var e;this.store.has(t)&&(this.getPageStates().find(e=>e.pageId===t)||(e=CameraRecordType.create({id:CameraRecordType.createId(t)}),this.store.put([e,InstancePageStateRecordType.create({id:InstancePageStateRecordType.createId(t),pageId:t})])),this.store.put([{...this.getInstanceState(),currentPageId:t}]),this.updateRenderingBounds())},undo:({fromId:e})=>{this.store.has(e)&&(this.store.put([{...this.getInstanceState(),currentPageId:e}]),this.updateRenderingBounds())},squash:({fromId:e},{toId:t})=>({toId:t,fromId:e})})),__publicField(this,\\\"_updatePage\\\",this.history.createCommand(\\\"updatePage\\\",(e,t)=>{var r;return!this.getInstanceState().isReadonly&&(r=this.getPage(e.id))?{data:{prev:r,partial:e},...t}:null},{\\\"do\\\":({partial:t})=>{this.store.update(t.id,e=>({...e,...t}))},undo:({prev:e,partial:t})=>{this.store.update(t.id,()=>e)},squash(e,t){return{prev:{...e.prev,...t.prev},partial:t.partial}}})),__publicField(this,\\\"_createPage\\\",this.history.createCommand(\\\"createPage\\\",e=>{if(this.getInstanceState().isReadonly)return null;if(this.getPages().length>=MAX_PAGES)return null;var t=this.getPages(),r=getIncrementedName(null!=(r=e.name)?r:\\\"Page 1\\\",t.map(e=>e.name));let i=e.index;i&&!t.some(e=>e.index===i)||(i=getIndexAbove(t[t.length-1].index));t=PageRecordType.create({meta:{},...e,name:r,index:i}),r=CameraRecordType.create({id:CameraRecordType.createId(t.id)});return{data:{newPage:t,newTabPageState:InstancePageStateRecordType.create({id:InstancePageStateRecordType.createId(t.id),pageId:t.id}),newCamera:r}}},{\\\"do\\\":({newPage:e,newTabPageState:t,newCamera:r})=>{this.store.put([e,r,t])},undo:({newPage:e,newTabPageState:t,newCamera:r})=>{1!==this.getPages().length&&this.store.remove([t.id,e.id,r.id])}})),__publicField(this,\\\"_deletePage\\\",this.history.createCommand(\\\"delete_page\\\",t=>{var e,r,i,n,o;return!this.getInstanceState().isReadonly&&1!==(e=this.getPages()).length&&(r=this.getPage(t),i=this.getPageStates().filter(e=>e.pageId===t),r)?(t===this.getCurrentPageId()&&(n=e.findIndex(e=>e.id===t),o=null!=(o=e[n-1])?o:e[n+1],this.setCurrentPage(o.id)),{data:{id:t,deletedPage:r,deletedPageStates:i}}):null},{\\\"do\\\":({deletedPage:t,deletedPageStates:e})=>{var r,i,n=this.getPages();1!==n.length&&(t.id===this.getCurrentPageId()&&(r=n.findIndex(e=>e.id===t.id),i=null!=(i=n[r-1])?i:n[r+1],this.setCurrentPage(i.id)),this.store.remove(e.map(e=>e.id)),this.store.remove([t.id]),this.updateRenderingBounds())},undo:({deletedPage:e,deletedPageStates:t})=>{this.store.put([e]),this.store.put(t),this.updateRenderingBounds()}})),__publicField(this,\\\"_createAssets\\\",this.history.createCommand(\\\"createAssets\\\",e=>this.getInstanceState().isReadonly||e.length\u003C=0?null:{data:{assets:e}},{\\\"do\\\":({assets:e})=>{this.store.put(e)},undo:({assets:e})=>{this.store.remove(e.map(e=>e.id))}})),__publicField(this,\\\"_updateAssets\\\",this.history.createCommand(\\\"updateAssets\\\",e=>{if(!this.getInstanceState().isReadonly&&!(e.length\u003C=0))return{data:{snapshots:{},assets:e}}},{\\\"do\\\":({assets:e,snapshots:r})=>{this.store.put(e.map(e=>{var t=this.store.get(e.id);return{...r[e.id]=t,...e}}))},undo:({snapshots:e})=>{this.store.put(Object.values(e))}})),__publicField(this,\\\"_deleteAssets\\\",this.history.createCommand(\\\"deleteAssets\\\",e=>{var t;if(!this.getInstanceState().isReadonly&&!(e.length\u003C=0))return t=compact(e.map(e=>this.store.get(e))),{data:{ids:e,prev:t}}},{\\\"do\\\":({ids:e})=>{this.store.remove(e)},undo:({prev:e})=>{this.store.put(e)}})),__publicField(this,\\\"_parentIdsToChildIds\\\"),__publicField(this,\\\"_childIdsCache\\\",new WeakMapCache),__publicField(this,\\\"_createShapes\\\",this.history.createCommand(\\\"createShapes\\\",e=>{var t;return this.getInstanceState().isReadonly||e.length\u003C=0?null:(t=this.getCurrentPageShapeIds(),e.length+t.size>MAX_SHAPES_PER_PAGE?void alertMaxShapes(this):0===e.length?null:{data:{currentPageId:this.getCurrentPageId(),partials:e.map(e=>e.id?e:{...e,id:createShapeId()})}})},{\\\"do\\\":({partials:e})=>{var r;const a=this.getFocusedGroupId(),s=this.getCurrentPageShapesSorted();e=e.map(r=>{var i;if(!r.parentId||!this.store.has(r.parentId)&&!e.some(e=>e.id===r.parentId)){let e=this.getFocusedGroupId();for(let t=s.length-1;0\u003C=t;t--){var n=s[t];if(this.getShapeUtil(n).canReceiveNewChildrenOfType(n,r.type)&&this.isPointInShape(n,{x:null!=(i=r.x)?i:0,y:null!=(i=r.y)?i:0},{margin:0,hitInside:!0})){e=n.id;break}}var o=r.parentId;(e=e===r.id?a:e)!==o&&isShapeId((r={...r}).parentId=e)&&(o=this.getPointInShapeSpace(this.getShape(e),{x:null!=(o=r.x)?o:0,y:null!=(o=r.y)?o:0}),r.x=o.x,r.y=o.y,r.rotation=-this.getShapePageTransform(e).rotation()+(null!=(o=r.rotation)?o:0))}return r});var i=new Map,n=[];for(const p of e){var o,l=this.getShapeUtil(p);let e=p.index;e||(o=null!=(o=p.parentId)?o:a,i.has(o)||i.set(o,this.getHighestIndexForParent(o)),e=i.get(o),i.set(o,getIndexAbove(e)));var c,d,u=l.getDefaultProps();for([c,d]of this.styleProps[p.type])u[d]=this.getStyleForNextShape(c);let t=this.store.schema.types.shape.create({...p,index:e,opacity:null!=(o=p.opacity)?o:this.getInstanceState().opacityForNextShape,parentId:null!=(l=p.parentId)?l:a,props:\\\"props\\\"in p?{...u,...p.props}:u});if(void 0===t.index)throw Error(\\\"no index!\\\");l=null==(r=(l=this.getShapeUtil(t)).onBeforeCreate)?void 0:r.call(l,t);l&&(t=l),n.push(t)}n.forEach(e=>{e.meta={...this.getInitialMetaForShape(e),...e.meta}}),this.store.put(n)},undo:({partials:e})=>{this.store.remove(e.map(e=>e.id))}})),__publicField(this,\\\"animatingShapes\\\",new Map),__publicField(this,\\\"_updateShapes\\\",this.history.createCommand(\\\"updateShapes\\\",(e,t)=>{if(this.getInstanceState().isReadonly)return null;var r=compact(e);const u=Object.fromEntries(compact(r.map(({id:e})=>this.getShape(e))).map(e=>[e.id,e]));return r.length\u003C=0?null:(r=compact(r.map(e=>{var t,r,i=u[e.id];if(!i)return null;let n=null;for([t,r]of Object.entries(e))if(void 0!==r)switch(t){case\\\"id\\\":case\\\"type\\\":continue;default:if(r!==i[t])if(n=n||{...i},\\\"props\\\"===t){var o,a,s={...i.props};for([o,a]of Object.entries(r))void 0!==a&&(s[o]=a);n.props=s}else if(\\\"meta\\\"===t){var l,c,d={...i.meta};for([l,c]of Object.entries(r))void 0!==c&&(d[l]=c);n.meta=d}else n[t]=r}return null!=n?n:i})),r=Object.fromEntries(r.map(e=>[e.id,e])),{data:{snapshots:u,updates:r},...t})},{\\\"do\\\":({updates:e})=>{var t,r=Object.values(e);for(let a=0;a\u003Cr.length;a++){var i,n=r[a],o=this.store.get(n.id);o&&(i=null==(t=(i=this.getShapeUtil(n)).onBeforeUpdate)?void 0:t.call(i,o,n))&&(r[a]=i)}this.store.put(r)},undo:({snapshots:e})=>{this.store.put(Object.values(e))},squash(e,t){return{snapshots:{...t.snapshots,...e.snapshots},updates:{...e.updates,...t.updates}}}})),__publicField(this,\\\"_deleteShapes\\\",this.history.createCommand(\\\"delete_shapes\\\",e=>{if(this.getInstanceState().isReadonly)return null;if(0===e.length)return null;var t=[...this.getCurrentPageState().selectedShapeIds];const r=new Set(e);for(const s of e)this.visitDescendants(s,e=>{r.add(e)});var i=[...r];const n=this._getArrowBindingsIndex().get();var o=compact(i.flatMap(e=>{var t=this.getShape(e),r=n[e];return r&&0\u003Cr.length?r.map(({arrowId:e})=>this.getShape(e)).concat(t):t})),a=t.filter(e=>!r.has(e));return{data:{deletedIds:i,snapshots:o,prevSelectedShapeIds:t,postSelectedShapeIds:a}}},{\\\"do\\\":({deletedIds:e,postSelectedShapeIds:t})=>{this.store.remove(e),this.store.update(this.getCurrentPageState().id,e=>({...e,selectedShapeIds:t}))},undo:({snapshots:e,prevSelectedShapeIds:t})=>{this.store.put(e),this.store.update(this.getCurrentPageState().id,e=>({...e,selectedShapeIds:t}))}})),__publicField(this,\\\"_selectionSharedStyles\\\",computed(\\\"_selectionSharedStyles\\\",()=>{var e=this.getSelectedShapes(),t=new SharedStyleMap;for(const r of e)this._extractSharedStyles(r,t);return t})),__publicField(this,\\\"externalAssetContentHandlers\\\",{file:null,url:null}),__publicField(this,\\\"externalContentHandlers\\\",{text:null,files:null,embed:null,\\\"svg-text\\\":null,url:null}),__publicField(this,\\\"inputs\\\",{originPagePoint:new Vec,originScreenPoint:new Vec,previousPagePoint:new Vec,previousScreenPoint:new Vec,currentPagePoint:new Vec,currentScreenPoint:new Vec,keys:new Set,buttons:new Set,isPen:!1,shiftKey:!1,ctrlKey:!1,altKey:!1,isDragging:!1,isPointing:!1,isPinching:!1,isEditing:!1,isPanning:!1,pointerVelocity:new Vec}),__publicField(this,\\\"_clickManager\\\",new ClickManager(this)),__publicField(this,\\\"_prevCursor\\\",\\\"default\\\"),__publicField(this,\\\"_shiftKeyTimeout\\\",-1),__publicField(this,\\\"_setShiftKeyTimeout\\\",()=>{this.inputs.shiftKey=!1,this.dispatch({type:\\\"keyboard\\\",name:\\\"key_up\\\",key:\\\"Shift\\\",shiftKey:this.inputs.shiftKey,ctrlKey:this.inputs.ctrlKey,altKey:this.inputs.altKey,code:\\\"ShiftLeft\\\"})}),__publicField(this,\\\"_altKeyTimeout\\\",-1),__publicField(this,\\\"_setAltKeyTimeout\\\",()=>{this.inputs.altKey=!1,this.dispatch({type:\\\"keyboard\\\",name:\\\"key_up\\\",key:\\\"Alt\\\",shiftKey:this.inputs.shiftKey,ctrlKey:this.inputs.ctrlKey,altKey:this.inputs.altKey,code:\\\"AltLeft\\\"})}),__publicField(this,\\\"_ctrlKeyTimeout\\\",-1),__publicField(this,\\\"_setCtrlKeyTimeout\\\",()=>{this.inputs.ctrlKey=!1,this.dispatch({type:\\\"keyboard\\\",name:\\\"key_up\\\",key:\\\"Ctrl\\\",shiftKey:this.inputs.shiftKey,ctrlKey:this.inputs.ctrlKey,altKey:this.inputs.altKey,code:\\\"ControlLeft\\\"})}),__publicField(this,\\\"_restoreToolId\\\",\\\"select\\\"),__publicField(this,\\\"_pinchStart\\\",1),__publicField(this,\\\"_didPinch\\\",!1),__publicField(this,\\\"_selectedShapeIdsAtPointerDown\\\",[]),__publicField(this,\\\"capturedPointerId\\\",null),__publicField(this,\\\"dispatch\\\",w=>{if(!this.getCrashingError()){const $=this[\\\"inputs\\\"],E=w[\\\"type\\\"];this.batch(()=>{if(\\\"misc\\\"===w.type)\\\"cancel\\\"!==w.name&&\\\"complete\\\"!==w.name||(this.inputs.isDragging=!1,this.inputs.isPanning&&(this.inputs.isPanning=!1,this.updateInstanceState({cursor:{type:this._prevCursor,rotation:0}}))),this.root.handleEvent(w);else{w.shiftKey?(clearInterval(this._shiftKeyTimeout),this._shiftKeyTimeout=-1,$.shiftKey=!0):!w.shiftKey&&$.shiftKey&&-1===this._shiftKeyTimeout&&(this._shiftKeyTimeout=setTimeout(this._setShiftKeyTimeout,150)),w.altKey?(clearInterval(this._altKeyTimeout),this._altKeyTimeout=-1,$.altKey=!0):!w.altKey&&$.altKey&&-1===this._altKeyTimeout&&(this._altKeyTimeout=setTimeout(this._setAltKeyTimeout,150)),w.ctrlKey?(clearInterval(this._ctrlKeyTimeout),this._ctrlKeyTimeout=-1,$.ctrlKey=!0):!w.ctrlKey&&$.ctrlKey&&-1===this._ctrlKeyTimeout&&(this._ctrlKeyTimeout=setTimeout(this._setCtrlKeyTimeout,150));var e,t,r,i,n,o,a,s,l,c,d,u,p,h,{originPagePoint:m,originScreenPoint:g,currentPagePoint:_,currentScreenPoint:f}=$;switch($.isPointing||($.isDragging=!1),E){case\\\"pinch\\\":if(!this.getInstanceState().canMoveCamera)return;switch(this._updateInputsFromEvent(w),w.name){case\\\"pinch_start\\\":return $.isPinching?void 0:void($.isEditing||(this._pinchStart=this.getCamera().z,this._selectedShapeIdsAtPointerDown.length||(this._selectedShapeIdsAtPointerDown=this.getSelectedShapeIds()),this._didPinch=!0,$.isPinching=!0,this.interrupt()));case\\\"pinch\\\":return $.isPinching?(({point:{x:e,y:t,z:s=1},delta:{x:r,y:i}}=w),({x:n,y:o,z:a}=this.getCamera()),s=Math.min(MAX_ZOOM,Math.max(MIN_ZOOM,s)),void this.setCamera({x:n+r/a-e/a+e/s,y:o+i/a-t/a+t/s,z:s})):void 0;case\\\"pinch_end\\\":{if(!$.isPinching)return this;$.isPinching=!1;const x=this[\\\"_selectedShapeIdsAtPointerDown\\\"];return this.setSelectedShapes(this._selectedShapeIdsAtPointerDown,{squashing:!0}),this._selectedShapeIdsAtPointerDown=[],void(this._didPinch&&(this._didPinch=!1,requestAnimationFrame(()=>{this._didPinch||this.setSelectedShapes(x,{squashing:!0})})))}}case\\\"wheel\\\":if(!this.getInstanceState().canMoveCamera)return;if(this._updateInputsFromEvent(w),!this.getIsMenuOpen()){if($.ctrlKey)return({x:l,y:c}=this.inputs.currentScreenPoint),({x:d,y:u,z:p}=this.getCamera()),h=Math.min(MAX_ZOOM,Math.max(MIN_ZOOM,p+(null!=(h=w.delta.z)?h:0)*p)),void this.setCamera({x:d+(l/h-l)-(l/p-l),y:u+(c/h-c)-(c/p-c),z:h});this.pan(w.delta),!$.isDragging&&$.isPointing&&m.dist(_)>(this.getInstanceState().isCoarsePointer?COARSE_DRAG_DISTANCE:DRAG_DISTANCE)/this.getZoomLevel()&&($.isDragging=!0)}break;case\\\"pointer\\\":if($.isPinching)return;this._updateInputsFromEvent(w);var b,v,y=w[\\\"isPen\\\"];switch(w.name){case\\\"pointer_down\\\":if(this.clearOpenMenus(),this._selectedShapeIdsAtPointerDown=this.getSelectedShapeIds(),0===w.button&&(this.capturedPointerId=w.pointerId),$.buttons.add(w.button),$.isPointing=!0,$.isDragging=!1,this.getInstanceState().isPenMode){if(!y)return}else y&&this.updateInstanceState({isPenMode:!0});if(5===w.button?(this._restoreToolId=this.getCurrentToolId(),this.complete(),this.setCurrentTool(\\\"eraser\\\")):1===w.button&&(this.inputs.isPanning||(this._prevCursor=this.getInstanceState().cursor.type),this.inputs.isPanning=!0),this.inputs.isPanning)return this.stopCameraAnimation(),this.updateInstanceState({cursor:{type:\\\"grabbing\\\",rotation:0}}),this;g.setTo(f),m.setTo(_);break;case\\\"pointer_move\\\":if(!y&&this.getInstanceState().isPenMode)return;if(this.inputs.isPanning&&this.inputs.isPointing)return({currentScreenPoint:b,previousScreenPoint:v}=this.inputs),void this.pan(Vec.Sub(b,v));!$.isDragging&&$.isPointing&&m.dist(_)>(this.getInstanceState().isCoarsePointer?COARSE_DRAG_DISTANCE:DRAG_DISTANCE)/this.getZoomLevel()&&($.isDragging=!0);break;case\\\"pointer_up\\\":if($.buttons[\\\"delete\\\"](w.button),$.isPointing=!1,$.isDragging=!1,this.getIsMenuOpen())return;if(!y&&this.getInstanceState().isPenMode)return;this.capturedPointerId===w.pointerId&&(this.capturedPointerId=null,w.button=0),$.isPanning?1===w.button?this.inputs.keys.has(\\\" \\\")?(this.slideCamera({speed:Math.min(2,this.inputs.pointerVelocity.len()),direction:this.inputs.pointerVelocity,friction:CAMERA_SLIDE_FRICTION}),this.updateInstanceState({cursor:{type:\\\"grab\\\",rotation:0}})):($.isPanning=!1,this.slideCamera({speed:Math.min(2,this.inputs.pointerVelocity.len()),direction:this.inputs.pointerVelocity,friction:CAMERA_SLIDE_FRICTION}),this.updateInstanceState({cursor:{type:this._prevCursor,rotation:0}})):0===w.button&&(this.slideCamera({speed:Math.min(2,this.inputs.pointerVelocity.len()),direction:this.inputs.pointerVelocity,friction:CAMERA_SLIDE_FRICTION}),this.updateInstanceState({cursor:{type:\\\"grab\\\",rotation:0}})):5===w.button&&(this.complete(),this.setCurrentTool(this._restoreToolId))}break;case\\\"keyboard\\\":switch(\\\"ShiftRight\\\"===w.key&&(w.key=\\\"ShiftLeft\\\"),\\\"AltRight\\\"===w.key&&(w.key=\\\"AltLeft\\\"),\\\"ControlRight\\\"===w.code&&(w.code=\\\"ControlLeft\\\"),w.name){case\\\"key_down\\\":$.keys.add(w.code),w.ctrlKey||\\\"Space\\\"!==w.code||(this.inputs.isPanning||(this._prevCursor=this.getInstanceState().cursor.type),this.inputs.isPanning=!0,this.updateInstanceState({cursor:{type:this.inputs.isPointing?\\\"grabbing\\\":\\\"grab\\\",rotation:0}}));break;case\\\"key_up\\\":$.keys[\\\"delete\\\"](w.code),\\\"Space\\\"!==w.code||this.inputs.buttons.has(1)||(this.inputs.isPanning=!1,this.updateInstanceState({cursor:{type:this._prevCursor,rotation:0}}))}}if(\\\"pointer\\\"===w.type&&(1===w.button?w.name=\\\"middle_click\\\":2===w.button&&(w.name=\\\"right_click\\\"),w.isPen===this.getInstanceState().isPenMode))switch(w.name){case\\\"pointer_down\\\":var S=this._clickManager.transformPointerDownEvent(w);if(w.name!==S.name)return this.root.handleEvent(w),this.emit(\\\"event\\\",w),this.root.handleEvent(S),void this.emit(\\\"event\\\",S);break;case\\\"pointer_up\\\":S=this._clickManager.transformPointerUpEvent(w);if(w.name!==S.name)return this.root.handleEvent(w),this.emit(\\\"event\\\",w),this.root.handleEvent(S),void this.emit(\\\"event\\\",S);break;case\\\"pointer_move\\\":this._clickManager.handleMove()}this.root.handleEvent(w),this.emit(\\\"event\\\",w)}})}return this}),this.store=e,this.snaps=new SnapManager(this),this.user=new UserPreferencesManager(null!=t?t:createTLUser(),null!=a&&a),this.getContainer=null!=n?n:()=>document.body,this.textMeasure=new TextManager(this);class s extends RootState{}__publicField(s,\\\"initial\\\",null!=o?o:\\\"\\\"),this.root=new s(this),this.root.children={};var l=checkShapesAndAddCore(r),c=new Set(Object.keys(e.schema.types.shape.migrations.subTypeMigrations));for(const v of l){if(!c.has(v.type))throw Error(`Editor and store have different shapes: \\\"${v.type}\\\" was passed into the editor but not the schema`);c[\\\"delete\\\"](v.type)}if(0\u003Cc.size)throw Error(`Editor and store have different shapes: \\\"${[...c][0]}\\\" is present in the store schema but not provided to the editor`);var d={},u={},p=new Map;for(const y of l){var h=new y(this),h=(d[y.type]=h,getShapePropKeysByStyle(null!=(h=y.props)?h:{}));for(const S of(u[y.type]=h).keys())if(p.has(S.id)){if(p.get(S.id)!==S)throw Error(`Multiple style props with id \\\"${S.id}\\\" in use. Style prop IDs must be unique.`)}else p.set(S.id,S)}this.shapeUtils=d,this.styleProps=u;for(const x of[...i]){if(hasOwnProperty(this.root.children,x.id))throw Error(`Can't override tool with id \\\"${x.id}\\\"`);this.root.children[x.id]=new x(this,this.root)}this.environment=new EnvironmentManager(this),this.scribbles=new ScribbleManager(this);const m=new Set,g=i=>{var n=this.getShape(i);if(n){var{start:o,end:a}=n.props,o=\\\"binding\\\"===o.type?this.getShape(o.boundShapeId):void 0,a=\\\"binding\\\"===a.type?this.getShape(a.boundShapeId):void 0,s=this.getAncestorPageId(n);if(s){let e;if(o&&a)e=null!=(l=this.findCommonAncestor([o,a]))?l:s;else{if(!o&&!a)return;var l=null==(l=o||a)?void 0:l.parentId;e=l&&l===n.parentId?n.parentId:s}e&&e!==n.parentId&&this.reparentShapes([i],e);l=this.getShape(i);if(!l)throw Error(\\\"no reparented arrow\\\");s=this.getShapeNearestSibling(l,o),n=this.getShapeNearestSibling(l,a);let t;if(s&&n)t=s.index>n.index?s:n;else if(s&&!n)t=s;else{if(!n||s)return;t=n}let r;o=this.getSortedChildIdsForParent(t.parentId).map(e=>this.getShape(e)).filter(e=>e.index>t.index);if(o.length){a=o.find(e=>\\\"arrow\\\"!==e.type);if(l.index>t.index&&(!a||l.index\u003Ca.index))return;r=getIndexBetween(t.index,o[0].index)}else r=getIndexAbove(t.index);r!==l.index&&this.updateShapes([{id:i,type:\\\"arrow\\\",index:r}])}}},_=(e,t)=>{var{x:r,y:i}=getArrowTerminalsInArrowSpace(this,e)[t];this.store.put([{...e,props:{...e.props,[t]:{type:\\\"point\\\",x:r,y:i}}}])},f=e=>{for(const i of[\\\"start\\\",\\\"end\\\"]){var t,r=e.props[i];\\\"binding\\\"!==r.type||(r=this.getShape(r.boundShapeId),t=this.getAncestorPageId(e)===this.getAncestorPageId(r),r&&t)||_(e,i)}g(e.id)},b=(e,t)=>{let r=null;var i=e.selectedShapeIds.filter(e=>!t.has(e)),i=(i.length!==e.selectedShapeIds.length&&((r=r||{...e}).selectedShapeIds=i),e.erasingShapeIds.filter(e=>!t.has(e))),i=(i.length!==e.erasingShapeIds.length&&((r=r||{...e}).erasingShapeIds=i),e.hoveredShapeId&&t.has(e.hoveredShapeId)&&((r=r||{...e}).hoveredShapeId=null),e.editingShapeId&&t.has(e.editingShapeId)&&((r=r||{...e}).editingShapeId=null),e.hintingShapeIds.filter(e=>!t.has(e)));return i.length!==e.hintingShapeIds.length&&((r=r||{...e}).hintingShapeIds=i),e.focusedGroupId&&t.has(e.focusedGroupId)&&((r=r||{...e}).focusedGroupId=null),r};if(this.sideEffects=new SideEffectManager(this),this.sideEffects.registerBatchCompleteHandler(()=>{var e;for(const i of m){m[\\\"delete\\\"](i);var t,r=this.getShape(i);r&&null!=(t=null==(e=(t=this.getShapeUtil(r)).onChildrenChange)?void 0:e.call(t,r))&&t.length&&this.updateShapes(t,{squashing:!0})}this.emit(\\\"update\\\")}),this.sideEffects.registerBeforeDeleteHandler(\\\"shape\\\",e=>{e.parentId&&isShapeId(e.parentId)&&m.add(e.parentId);var t=this._getArrowBindingsIndex().get()[e.id];if(null!=t&&t.length)for(var{arrowId:r,handleId:i}of t){r=this.getShape(r);r&&_(r,i)}const n=new Set([e.id]);t=compact(this.getPageStates().map(e=>b(e,n)));t.length&&this.store.put(t)}),this.sideEffects.registerBeforeDeleteHandler(\\\"page\\\",t=>{var e,r;this.getInstanceState().currentPageId===t.id&&(e=null==(e=this.getPages().find(e=>e.id!==t.id))?void 0:e.id)&&(this.store.put([{...this.getInstanceState(),currentPageId:e}]),e=CameraRecordType.createId(t.id),r=InstancePageStateRecordType.createId(t.id),this.store.remove([e,r]))}),this.sideEffects.registerAfterChangeHandler(\\\"shape\\\",(e,t)=>{var r,i;if(this.isShapeOfType(t,\\\"arrow\\\")&&f(t),e.parentId!==t.parentId&&((r=e=>{var t=this._getArrowBindingsIndex().get()[e];if(null!=t&&t.length)for(const r of t)g(r.arrowId)})(t.id),this.visitDescendants(t.id,r)),e.parentId!==t.parentId&&isPageId(t.parentId)){const n=new Set([e.id]);this.visitDescendants(e.id,e=>{n.add(e)});for(const o of this.getPageStates())o.pageId!==t.parentId&&(i=b(o,n))&&this.store.put([i])}e.parentId&&isShapeId(e.parentId)&&m.add(e.parentId),t.parentId!==e.parentId&&isShapeId(t.parentId)&&m.add(t.parentId)}),this.sideEffects.registerAfterChangeHandler(\\\"instance_page_state\\\",(e,n)=>{if((null==e?void 0:e.selectedShapeIds)!==(null==n?void 0:n.selectedShapeIds)){var t,r=n.selectedShapeIds.filter(e=>{var t,r;let i=null==(t=this.getShape(e))?void 0:t.parentId;for(;isShapeId(i);){if(n.selectedShapeIds.includes(i))return!1;i=null==(r=this.getShape(i))?void 0:r.parentId}return!0});let e=null;0\u003Cr.length?(t=this.findCommonAncestor(compact(r.map(e=>this.getShape(e))),e=>this.isShapeOfType(e,\\\"group\\\")))&&(e=t):null!=n&&n.focusedGroupId&&(e=n.focusedGroupId),r.length===n.selectedShapeIds.length&&e===n.focusedGroupId||this.store.put([{...n,selectedShapeIds:r,focusedGroupId:null!=e?e:null}])}}),this.sideEffects.registerAfterCreateHandler(\\\"shape\\\",e=>{this.isShapeOfType(e,\\\"arrow\\\")&&f(e)}),this.sideEffects.registerAfterCreateHandler(\\\"page\\\",e=>{var t=CameraRecordType.createId(e.id),r=InstancePageStateRecordType.createId(e.id);this.store.has(t)||this.store.put([CameraRecordType.create({id:t})]),this.store.has(r)||this.store.put([InstancePageStateRecordType.create({id:r,pageId:e.id})])}),this._currentPageShapeIds=deriveShapeIdsInCurrentPage(this.store,()=>this.getCurrentPageId()),this._parentIdsToChildIds=parentsToChildren(this.store),this.disposables.add(this.store.listen(e=>{this.emit(\\\"change\\\",e)})),this.store.ensureStoreIsUsable(),this._setInstancePageState({editingShapeId:null,hoveredShapeId:null,erasingShapeIds:[]},{ephemeral:!0}),o&&void 0===this.root.children[o])throw Error(`No state found for initialState \\\"${o}\\\".`);this.root.enter(void 0,\\\"initial\\\"),this.getInstanceState().followingUserId&&this.stopFollowingUser(),this.updateRenderingBounds(),requestAnimationFrame(()=>{this._tickManager.start()})}dispose(){this.disposables.forEach(e=>e()),this.disposables.clear()}getShapeUtil(e){var t=\\\"string\\\"==typeof e?e:e.type,r=getOwnProperty(this.shapeUtils,t);return assert(r,`No shape util found for type \\\"${t}\\\"`),r}undo(){return this.history.undo(),this}getCanUndo(){return 0\u003Cthis.history.getNumUndos()}redo(){return this.history.redo(),this}getCanRedo(){return 0\u003Cthis.history.getNumRedos()}mark(e,t,r){return this.history.mark(e,t,r),this}bail(){return this.history.bail(),this}bailToMark(e){return this.history.bailToMark(e),this}batch(e){return this.history.batch(e),this}_getArrowBindingsIndex(){return arrowBindingsIndex(this)}getArrowsBoundTo(e){return this._getArrowBindingsIndex().get()[e]||EMPTY_ARRAY}getArrowInfoCache(){return this.store.createComputedCache(\\\"arrow infoCache\\\",e=>(getIsArrowStraight(e)?getStraightArrowInfo:getCurvedArrowInfo)(this,e))}getArrowInfo(e){var t=\\\"string\\\"==typeof e?e:e.id;return this.getArrowInfoCache().get(t)}annotateError(e,{origin:t,willCrashApp:r,tags:i,extras:n}){var o=this.createErrorAnnotations(t,r);return annotateError(e,{tags:{...o.tags,...i},extras:{...o.extras,...n}}),r&&this.store.markAsPossiblyCorrupted(),this}createErrorAnnotations(e,t){try{var r=this.getEditingShapeId();return{tags:{origin:e,willCrashApp:t},extras:{activeStateNode:this.root.getPath(),selectedShapes:this.getSelectedShapes(),editingShape:r?this.getShape(r):void 0,inputs:this.inputs}}}catch{return{tags:{origin:e,willCrashApp:t},extras:{}}}}getCrashingError(){return this._crashingError}crash(e){return this._crashingError=e,this.store.markAsPossiblyCorrupted(),this.emit(\\\"crash\\\",{error:e}),this}getPath(){return this.root.getPath().split(\\\"root.\\\")[1]}isIn(e){var t=e.split(\\\".\\\").reverse();let r=this.root;for(;0\u003Ct.length;){var i=t.pop();if(!i)return!0;var n=r.getCurrent();if((null==n?void 0:n.id)!==i)return!1;if(0===t.length)return!0;r=n}return!1}isInAny(...e){return e.some(e=>this.isIn(e))}setCurrentTool(e,t={}){return this.root.transition(e,t),this}getCurrentTool(){return this.root.getCurrent()}getCurrentToolId(){var e,t=this.getCurrentTool();return t?null!=(e=t.getCurrentToolIdMask())?e:t.id:\\\"\\\"}getStateDescendant(e){var t,r=e.split(\\\".\\\").reverse();let i=this.root;for(;0\u003Cr.length;){var n=r.pop();if(!n)return i;n=null==(t=i.children)?void 0:t[n];if(!n)return;i=n}return i}getDocumentSettings(){return this.store.get(TLDOCUMENT_ID)}updateDocumentSettings(e){return this.store.put([{...this.getDocumentSettings(),...e}]),this}getInstanceState(){return this.store.get(TLINSTANCE_ID)}updateInstanceState(e,t){return this._updateInstanceState(e,{ephemeral:!0,squashing:!0,...t}),void 0!==e.isChangingStyle&&(clearTimeout(this._isChangingStyleTimeout),!0===e.isChangingStyle)&&(this._isChangingStyleTimeout=setTimeout(()=>{this.updateInstanceState({isChangingStyle:!1})},2e3)),this}getOpenMenus(){return this.getInstanceState().openMenus}addOpenMenu(e){var t=new Set(this.getOpenMenus());return t.has(e)||(t.add(e),this.updateInstanceState({openMenus:[...t]})),this}deleteOpenMenu(e){var t=new Set(this.getOpenMenus());return t.has(e)&&(t[\\\"delete\\\"](e),this.updateInstanceState({openMenus:[...t]})),this}clearOpenMenus(){return this.getOpenMenus().length&&this.updateInstanceState({openMenus:[]}),this}getIsMenuOpen(){return 0\u003Cthis.getOpenMenus().length}getPageStates(){return this._getPageStatesQuery().get()}_getPageStatesQuery(){return this.store.query.records(\\\"instance_page_state\\\")}getCurrentPageState(){return this.store.get(this._getCurrentPageStateId())}_getCurrentPageStateId(){return InstancePageStateRecordType.createId(this.getCurrentPageId())}updateCurrentPageState(e,t){return this._setInstancePageState(e,t),this}getSelectedShapeIds(){return this.getCurrentPageState().selectedShapeIds}getSelectedShapes(){var e=this.getCurrentPageState()[\\\"selectedShapeIds\\\"];return compact(e.map(e=>this.store.get(e)))}setSelectedShapes(e,t){var r=e.map(e=>\\\"string\\\"==typeof e?e:e.id);return this._setSelectedShapes(r,t),this}isAncestorSelected(e){var t=\\\"string\\\"==typeof e?e:null!=(t=null==e?void 0:e.id)?t:null,t=this.getShape(t);if(!t)return!1;const r=this.getSelectedShapeIds();return!!this.findShapeAncestor(t,e=>r.includes(e.id))}select(...e){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);return this.setSelectedShapes(t),this}deselect(...e){const t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);var r=this.getSelectedShapeIds();return 0\u003Cr.length&&0\u003Ct.length&&this.setSelectedShapes(r.filter(e=>!t.includes(e))),this}selectAll(){var e=this.getSortedChildIdsForParent(this.getCurrentPageId());return e.length\u003C=0||this.setSelectedShapes(this._getUnlockedShapeIds(e)),this}selectNone(){return 0\u003Cthis.getSelectedShapeIds().length&&this.setSelectedShapes([]),this}getOnlySelectedShape(){var e=this.getSelectedShapes();return 1===e.length?e[0]:null}getSelectionPageBounds(){var e=this.getCurrentPageState().selectedShapeIds;return 0===e.length?null:Box.Common(compact(e.map(e=>this.getShapePageBounds(e))))}getSelectionRotation(){var e=this.getSelectedShapeIds();if(0===e.length)return 0;if(1===e.length)return this.getShapePageTransform(this.getSelectedShapeIds()[0]).rotation();const t=e.map(e=>this.getShapePageTransform(e).rotation());return t.every(e=>Math.abs(e-t[0])\u003CMath.PI/180)?this.getShapePageTransform(e[0]).rotation():0}getSelectionRotatedPageBounds(){var e,t=this.getSelectedShapeIds();if(0!==t.length){const r=this.getSelectionRotation();return 0===r?this.getSelectionPageBounds():1===t.length?(e=this.getShapeGeometry(t[0]).bounds.clone(),t=this.getShapePageTransform(t[0]),e.point=t.applyToPoint(e.point),e):((t=Box.FromPoints(this.getSelectedShapeIds().flatMap(e=>{var t=this.getShapePageTransform(e);return t?t.applyToPoints(this.getShapeGeometry(e).vertices):[]}).map(e=>Vec.Rot(e,-r)))).point=t.point.rot(r),t)}}getFocusedGroupId(){var e;return null!=(e=this.getCurrentPageState().focusedGroupId)?e:this.getCurrentPageId()}getFocusedGroup(){var e=this.getFocusedGroupId();return e?this.getShape(e):void 0}setFocusedGroup(e){var t=\\\"string\\\"==typeof e?e:null!=(t=null==e?void 0:e.id)?t:null;if(null!==t){var r=this.getShape(t);if(!r)throw Error(`Editor.setFocusedGroup: Shape with id ${t} does not exist`);if(!this.isShapeOfType(r,\\\"group\\\"))throw Error(\\\"Editor.setFocusedGroup: Cannot set focused group to shape of type \\\"+r.type)}return t!==this.getFocusedGroupId()&&this._setFocusedGroupId(t),this}popFocusedGroupId(){var e,t=this.getFocusedGroup();return t?(e=this.findShapeAncestor(t,e=>this.isShapeOfType(e,\\\"group\\\")),this.setFocusedGroup(null!=(e=null==e?void 0:e.id)?e:null),this.select(t.id)):(this.setFocusedGroup(null),this.selectNone()),this}getEditingShapeId(){return this.getCurrentPageState().editingShapeId}getEditingShape(){var e=this.getEditingShapeId();return e?this.getShape(e):void 0}setEditingShape(e){var t=\\\"string\\\"==typeof e?e:null!=(t=null==e?void 0:e.id)?t:null;if(t!==this.getEditingShapeId()){if(t){var r=this.getShape(t);if(r&&this.getShapeUtil(r).canEdit(r))return this._setInstancePageState({editingShapeId:t}),this}this._setInstancePageState({editingShapeId:null})}return this}getHoveredShapeId(){return this.getCurrentPageState().hoveredShapeId}getHoveredShape(){var e=this.getHoveredShapeId();return e?this.getShape(e):void 0}setHoveredShape(e){var t=\\\"string\\\"==typeof e?e:null!=(t=null==e?void 0:e.id)?t:null;return t!==this.getHoveredShapeId()&&this.updateCurrentPageState({hoveredShapeId:t},{ephemeral:!0}),this}getHintingShapeIds(){return this.getCurrentPageState().hintingShapeIds}getHintingShape(){return compact(this.getHintingShapeIds().map(e=>this.getShape(e)))}setHintingShapes(e){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);return this.updateCurrentPageState({hintingShapeIds:dedupe(t)},{ephemeral:!0}),this}getErasingShapeIds(){return this.getCurrentPageState().erasingShapeIds}getErasingShapes(){return compact(this.getErasingShapeIds().map(e=>this.getShape(e)))}setErasingShapes(e){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id),r=(t.sort(),this.getErasingShapeIds());if(t.length===r.length){for(let e=0;e\u003Ct.length;e++)if(t[e]!==r[e]){this._setInstancePageState({erasingShapeIds:t},{ephemeral:!0});break}}else this._setInstancePageState({erasingShapeIds:t},{ephemeral:!0});return this}getCroppingShapeId(){return this.getCurrentPageState().croppingShapeId}setCroppingShape(e){var t,r,i=\\\"string\\\"==typeof e?e:null!=(i=null==e?void 0:e.id)?i:null;return i!==this.getCroppingShapeId()&&(i?(t=this.getShape(i),r=this.getShapeUtil(t),t&&r.canCrop(t)&&this.updateCurrentPageState({croppingShapeId:i})):this.updateCurrentPageState({croppingShapeId:null})),this}getCameraId(){return CameraRecordType.createId(this.getCurrentPageId())}getCamera(){return this.store.get(this.getCameraId())}getZoomLevel(){return this.getCamera().z}_setCamera(t){const r=this.getCamera();return r.x===t.x&&r.y===t.y&&r.z===t.z||this.batch(()=>{var e=(this.store.put([{...r,...t}]),this.inputs)[\\\"currentScreenPoint\\\"];this.dispatch({type:\\\"pointer\\\",target:\\\"canvas\\\",name:\\\"pointer_move\\\",point:e,pointerId:INTERNAL_POINTER_IDS.CAMERA_MOVE,ctrlKey:this.inputs.ctrlKey,altKey:this.inputs.altKey,shiftKey:this.inputs.shiftKey,button:0,isPen:null!=(e=this.getInstanceState().isPenMode)&&e}),this._tickCameraState()}),this}setCamera(e,t){var r,i,n=Number.isFinite(e.x)?e.x:0,o=Number.isFinite(e.y)?e.y:0,a=Number.isFinite(e.z)?e.z:this.getZoomLevel();return this.stopCameraAnimation(),this.getInstanceState().followingUserId&&this.stopFollowingUser(),t?(({width:r,height:i}=this.getViewportScreenBounds()),this._animateToViewport(new Box(-n,-o,r/a,i/a),t)):(this._setCamera({x:n,y:o,z:a}),this)}centerOnPoint(e,t){var r,i;return this.getInstanceState().canMoveCamera&&(({width:r,height:i}=this.getViewportPageBounds()),this.setCamera({x:-(e.x-r/2),y:-(e.y-i/2),z:this.getCamera().z},t)),this}zoomToContent(){var e=null!=(e=this.getSelectionPageBounds())?e:this.getCurrentPageBounds();return e&&this.zoomToBounds(e,Math.min(1,this.getZoomLevel()),{duration:220}),this}zoomToFit(e){var t;return!this.getInstanceState().canMoveCamera||(t=[...this.getCurrentPageShapeIds()]).length\u003C=0||(t=Box.Common(compact(t.map(e=>this.getShapePageBounds(e)))),this.zoomToBounds(t,void 0,e)),this}resetZoom(e=this.getViewportScreenCenter(),t){var r,i,n,o,a;return this.getInstanceState().canMoveCamera&&(({x:r,y:i,z:n}=this.getCamera()),({x:o,y:a}=e),this.setCamera({x:r+(+o-o)-(o/n-o),y:i+(+a-a)-(a/n-a),z:1},t)),this}zoomIn(r=this.getViewportScreenCenter(),i){if(this.getInstanceState().canMoveCamera){var{x:n,y:o,z:a}=this.getCamera();let e=MAX_ZOOM;for(let t=1;t\u003CZOOMS.length;t++){var s=ZOOMS[t-1],l=ZOOMS[t];if(!(l-a\u003C=(l-s)/2)){e=l;break}}var{x:c,y:d}=r;this.setCamera({x:n+(c/e-c)-(c/a-c),y:o+(d/e-d)-(d/a-d),z:e},i)}return this}zoomOut(r=this.getViewportScreenCenter(),i){if(this.getInstanceState().canMoveCamera){var{x:n,y:o,z:a}=this.getCamera();let e=MIN_ZOOM;for(let t=ZOOMS.length-1;0\u003Ct;t--){var s=ZOOMS[t-1],l=ZOOMS[t];if(!((l-s)/2\u003C=l-a)){e=s;break}}var{x:c,y:d}=r;this.setCamera({x:n+(c/e-c)-(c/a-c),y:o+(d/e-d)-(d/a-d),z:e},i)}return this}zoomToSelection(e){var t;return this.getInstanceState().canMoveCamera&&(t=this.getSelectionPageBounds())&&this.zoomToBounds(t,Math.max(1,this.getZoomLevel()),e),this}panZoomIntoView(e,r){if(this.getInstanceState().canMoveCamera&&!(e.length\u003C=0)){var i=Box.Common(compact(e.map(e=>this.getShapePageBounds(e)))),n=this.getViewportPageBounds();if(n.h\u003Ci.h||n.w\u003Ci.w)this.zoomToBounds(i,this.getCamera().z,r);else{n=this.getViewportPageBounds().clone().expandBy(-32/this.getZoomLevel());let e=0,t=0;n.maxY\u003Ci.maxY?t=n.maxY-i.maxY:n.minY>i.minY&&(t=n.minY-i.minY),n.maxX\u003Ci.maxX?e=n.maxX-i.maxX:n.minX>i.minX&&(e=n.minX-i.minX);n=this.getCamera();this.setCamera({x:n.x+e,y:n.y+t,z:n.z},r)}}return this}zoomToBounds(t,r,i){if(this.getInstanceState().canMoveCamera){var n=this.getViewportScreenBounds(),o=Math.min(256,.28*n.width);let e=clamp(Math.min((n.width-o)/t.width,(n.height-o)/t.height),MIN_ZOOM,MAX_ZOOM);void 0!==r&&(e=Math.min(r,e)),this.setCamera({x:-t.minX+(n.width-t.width*e)/2/e,y:-t.minY+(n.height-t.height*e)/2/e,z:e},i)}return this}pan(e,t){var r,i,n;return this.getInstanceState().canMoveCamera&&(({x:r,y:i,z:n}=this.getCamera()),this.setCamera({x:r+e.x/n,y:i+e.y/n,z:n},t)),this}stopCameraAnimation(){return this.emit(\\\"stop-camera-animation\\\"),this}_animateViewport(e){if(this._viewportAnimation){const a=()=>{this.removeListener(\\\"tick\\\",this._animateViewport),this.removeListener(\\\"stop-camera-animation\\\",a),this._viewportAnimation=null};this.once(\\\"stop-camera-animation\\\",a),this._viewportAnimation.elapsed+=e;var{elapsed:t,easing:r,duration:i,start:n,end:o}=this._viewportAnimation;i\u003Ct?(this._setCamera({x:-o.x,y:-o.y,z:this.getViewportScreenBounds().width/o.width}),a()):(t=r(1-(i-t)/i),i=n.minX+(o.minX-n.minX)*t,r=n.minY+(o.minY-n.minY)*t,o=n.maxX+(o.maxX-n.maxX)*t,this._setCamera({x:-i,y:-r,z:this.getViewportScreenBounds().width/(o-i)}))}}_animateToViewport(e,t={}){var{duration:r=0,easing:i=EASINGS.easeInOutCubic}=t,n=this.user.getAnimationSpeed(),o=this.getViewportPageBounds();return this.stopCameraAnimation(),this.getInstanceState().followingUserId&&this.stopFollowingUser(),0===r||0===n?this._setCamera({x:-e.x,y:-e.y,z:this.getViewportScreenBounds().width/e.width}):(this._viewportAnimation={elapsed:0,duration:r/n,easing:i,start:o.clone(),end:e.clone()},this.addListener(\\\"tick\\\",this._animateViewport),this)}slideCamera(e={}){if(!this.getInstanceState().canMoveCamera)return this;if(this.stopCameraAnimation(),0===this.user.getAnimationSpeed())return this;const{speed:t,friction:o,direction:a,speedThreshold:s=.01}=e;let l=Math.min(t,1);const c=()=>{this.removeListener(\\\"tick\\\",r),this.removeListener(\\\"stop-camera-animation\\\",c)},r=(this.once(\\\"stop-camera-animation\\\",c),e=>{var{x:t,y:r,z:i}=this.getCamera(),n=Vec.Mul(a,l*e/i);(l*=1-o)\u003Cs?c():this._setCamera({x:t+n.x,y:r+n.y,z:i})});return this.addListener(\\\"tick\\\",r),this}animateToUser(r){const t=[...this.store.query.records(\\\"instance_presence\\\",()=>({userId:{eq:r}})).get()].sort((e,t)=>e.lastActivityTimestamp-t.lastActivityTimestamp).pop();return t&&this.batch(()=>{null!==this.getInstanceState().followingUserId&&this.stopFollowingUser();var e=t.currentPageId===this.getCurrentPageId(),e=(e||this.setCurrentPage(t.currentPageId),e?{duration:500}:void 0),e=(this.centerOnPoint(t.cursor,e),this.getInstanceState())[\\\"highlightedUserIds\\\"];this.updateInstanceState({highlightedUserIds:[...e,r]}),setTimeout(()=>{var e=[...this.getInstanceState().highlightedUserIds],t=e.indexOf(r);t\u003C0||(e.splice(t,1),this.updateInstanceState({highlightedUserIds:e}))},COLLABORATOR_IDLE_TIMEOUT)}),this}animateToShape(e,t=DEFAULT_ANIMATION_OPTIONS){var r,i,n,o,a,s;return this.getInstanceState().canMoveCamera&&(i=(r=this.getViewportScreenBounds().clone().expandBy(-32)).width/r.height,n=this.getShapePageBounds(e))?(o=n.width/n.height,a=n.clone(),s=n.width/r.width,a.width+=(r.minX+r.maxX)*s,a.height+=(r.minY+r.maxY)*s,a.x-=r.minX*s,a.y-=r.minY*s,i\u003Co?(a.height=n.width/i,a.y-=(a.height-n.height)/2):(a.width=n.height*i,a.x-=(a.width-n.width)/2),this._animateToViewport(a,t)):this}updateViewportScreenBounds(e=!1){var t,r,i=this.getContainer();return i&&(i=i.getBoundingClientRect(),r=(i=new Box(i.left||i.x,i.top||i.y,Math.max(i.width,1),Math.max(i.height,1))).equals(this.getViewportScreenBounds()),t=this[\\\"_willSetInitialBounds\\\"],r?this._willSetInitialBounds=!1:t?(this._willSetInitialBounds=!1,this.updateInstanceState({screenBounds:i.toJson()},{squashing:!0,ephemeral:!0})):e&&!this.getInstanceState().followingUserId?(r=this.getViewportPageCenter(),this.updateInstanceState({screenBounds:i.toJson()},{squashing:!0,ephemeral:!0}),this.centerOnPoint(r)):this.updateInstanceState({screenBounds:i.toJson()},{squashing:!0,ephemeral:!0}),this._tickCameraState(),this.updateRenderingBounds()),this}getViewportScreenBounds(){var{x:e,y:t,w:r,h:i}=this.getInstanceState().screenBounds;return new Box(e,t,r,i)}getViewportScreenCenter(){return this.getViewportScreenBounds().center}getViewportPageBounds(){var{w:e,h:t}=this.getViewportScreenBounds(),{x:r,y:i,z:n}=this.getCamera();return new Box(-r,-i,e/n,t/n)}getViewportPageCenter(){return this.getViewportPageBounds().center}screenToPage(e){var t=this.store.unsafeGetWithoutCapture(TLINSTANCE_ID)[\\\"screenBounds\\\"],{x:r,y:i,z:n=1}=this.getCamera();return{x:(e.x-t.x)/n-r,y:(e.y-t.y)/n-i,z:null!=(r=e.z)?r:.5}}pageToScreen(e){var t=this.store.unsafeGetWithoutCapture(TLINSTANCE_ID)[\\\"screenBounds\\\"],{x:r,y:i,z:n=1}=this.getCamera();return{x:(e.x+r)*n+t.x,y:(e.y+i)*n+t.y,z:null!=(r=e.z)?r:.5}}startFollowingUser(l){const c=this.store.query.records(\\\"instance_presence\\\",()=>({userId:{eq:l}})),d=this.user.getId();if(d||console.warn(\\\"You should set the userId for the current instance before following a user\\\"),c.get().some(e=>e.followingUserId===d))return this;transact(()=>{this.stopFollowingUser(),this.updateInstanceState({followingUserId:l},{ephemeral:!0})});const e=()=>{this.removeListener(\\\"frame\\\",t),this.removeListener(\\\"stop-following\\\",e)};let u=!1;const t=()=>{var e,t,r,i,n,o,a,s=[...c.get()].sort((e,t)=>e.lastActivityTimestamp-t.lastActivityTimestamp).pop();s?(a=(e=s.currentPageId===this.getCurrentPageId())?FOLLOW_CHASE_PROPORTION:1,e?(({center:e,width:t,height:r}=this.getViewportPageBounds()),o=(i=Box.From(s.screenBounds)).width/s.camera.z,i=i.height/s.camera.z,n=new Vec(o/2-s.camera.x,i/2-s.camera.y),i=r+(i-r)*a,o=s.followingUserId===d?r/i:Math.min(t/(t+(o-t)*a),r/i),t=clamp(this.getCamera().z*o,MIN_ZOOM,MAX_ZOOM),r=this.getViewportScreenBounds().w/t,i=this.getViewportScreenBounds().h/t,o=n.sub(e),n=Vec.Add(e,Vec.Mul(o,a)),o=Vec.Sub(n,e).len(),a=Math.abs(t-this.getCamera().z),o\u003CFOLLOW_CHASE_PAN_SNAP&&a\u003CFOLLOW_CHASE_ZOOM_SNAP?u=!0:u&&o\u003CFOLLOW_CHASE_PAN_UNSNAP&&a\u003CFOLLOW_CHASE_ZOOM_UNSNAP||(u=!1,this.stopCameraAnimation(),this._setCamera({x:-(n.x-r/2),y:-(n.y-i/2),z:t}))):(this.stopFollowingUser(),this.setCurrentPage(s.currentPageId),this.startFollowingUser(l))):this.stopFollowingUser()};return this.once(\\\"stop-following\\\",e),this.addListener(\\\"frame\\\",t),this}stopFollowingUser(){return this.updateInstanceState({followingUserId:null},{ephemeral:!0}),this.emit(\\\"stop-following\\\"),this}getCameraState(){return this._cameraState.get()}getUnorderedRenderingShapes(c){const d=[];let u=2*MAX_SHAPES_PER_PAGE,p=MAX_SHAPES_PER_PAGE;const h=this.getEditingShapeId(),m=this.getSelectedShapeIds(),g=this.getErasingShapeIds(),_=this.getRenderingBoundsExpanded(),f=Number.isFinite(this.renderingBoundsMargin),b=(r,i,n)=>{var o=this.getShape(r);if(o){i*=o.opacity;let e=!1,t=!1;var a=this.getShapeUtil(o),s=this.getShapeMaskedPageBounds(r),s=(c&&((t=!n&&g.includes(r))&&(i*=.32),e=f&&a.canUnmount(o)&&h!==r&&(void 0===s||!_.includes(s)&&!m.includes(r))),d.push({id:r,shape:o,util:a,index:u,backgroundIndex:p,opacity:i,isCulled:e,maskedPageBounds:s}),u+=1,p+=1,this.getSortedChildIdsForParent(r));if(s.length){let e=null;a.providesBackgroundForChildren(o)&&(e=p,p=u,u+=MAX_SHAPES_PER_PAGE);for(const l of s)b(l,i,n||t);null!==e&&(p=e)}}};for(const e of this.getSortedChildIdsForParent(this.getCurrentPageId()))b(e,1,!1);return d}getRenderingShapes(){return this.getUnorderedRenderingShapes(!0).sort(sortById)}getRenderingBounds(){return this._renderingBounds.get()}getRenderingBoundsExpanded(){return this._renderingBoundsExpanded.get()}updateRenderingBounds(){var e=this.getViewportPageBounds();return e.equals(this._renderingBounds.__unsafe__getWithoutCapture())||(this._renderingBounds.set(e.clone()),Number.isFinite(this.renderingBoundsMargin)?this._renderingBoundsExpanded.set(e.clone().expandBy(this.renderingBoundsMargin/this.getZoomLevel())):this._renderingBoundsExpanded.set(e)),this}_getAllPagesQuery(){return this.store.query.records(\\\"page\\\")}getPages(){return this._getAllPagesQuery().get().sort(sortByIndex2)}getCurrentPage(){return this.getPage(this.getCurrentPageId())}getCurrentPageId(){return this.getInstanceState().currentPageId}getPage(e){return this.store.get(\\\"string\\\"==typeof e?e:e.id)}getCurrentPageShapeIds(){return this._currentPageShapeIds.get()}getPageShapeIds(e){var t=\\\"string\\\"==typeof e?e:e.id,t=this.store.query.exec(\\\"shape\\\",{parentId:{eq:t}});return this.getShapeAndDescendantIds(t.map(e=>e.id))}setCurrentPage(e,t){var r=\\\"string\\\"==typeof e?e:e.id;return this._setCurrentPageId(r,t),this}updatePage(e,t){return this._updatePage(e,t),this}createPage(e){return this._createPage(e),this}deletePage(e){var t=\\\"string\\\"==typeof e?e:e.id;return this._deletePage(t),this}duplicatePage(e,t=PageRecordType.createId()){if(!(this.getPages().length>=MAX_PAGES)){var r=\\\"string\\\"==typeof e?e:e.id;const i=this.getPage(r);if(i){const n={...this.getCamera()},o=this.getContentFromCurrentPage(this.getSortedChildIdsForParent(i.id));this.batch(()=>{var e=this.getPages(),e=getIndexBetween(i.index,null==(e=e[e.indexOf(i)+1])?void 0:e.index);if(this.createPage({name:i.name+\\\" Copy\\\",id:t,index:e}),this.setCurrentPage(t),this.setCamera(n),o)return this.putContentOntoCurrentPage(o)})}}return this}renamePage(e,t,r){var i=\\\"string\\\"==typeof e?e:e.id;return this.getInstanceState().isReadonly||this.updatePage({id:i,name:t},r),this}_getAllAssetsQuery(){return this.store.query.records(\\\"asset\\\")}getAssets(){return this._getAllAssetsQuery().get()}createAssets(e){return this._createAssets(e),this}updateAssets(e){return this._updateAssets(e),this}deleteAssets(e){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);return this._deleteAssets(t),this}getAsset(e){return this.store.get(\\\"string\\\"==typeof e?e:e.id)}_getShapeGeometryCache(){return this.store.createComputedCache(\\\"bounds\\\",e=>this.getShapeUtil(e).getGeometry(e),(e,t)=>e.props===t.props)}getShapeGeometry(e){return this._getShapeGeometryCache().get(\\\"string\\\"==typeof e?e:e.id)}_getShapeOutlineSegmentsCache(){return this.store.createComputedCache(\\\"outline-segments\\\",e=>this.getShapeUtil(e).getOutlineSegments(e))}getShapeOutlineSegments(e){var t;return null!=(t=this._getShapeOutlineSegmentsCache().get(\\\"string\\\"==typeof e?e:e.id))?t:EMPTY_ARRAY}_getShapeHandlesCache(){return this.store.createComputedCache(\\\"handles\\\",e=>{var t,r;return null==(r=(t=this.getShapeUtil(e)).getHandles)?void 0:r.call(t,e)})}getShapeHandles(e){return this._getShapeHandlesCache().get(\\\"string\\\"==typeof e?e:e.id)}getShapeLocalTransform(e){var t=\\\"string\\\"==typeof e?e:e.id,t=this.getShape(t);if(t)return Mat.Identity().translate(t.x,t.y).rotate(t.rotation);throw Error(\\\"Editor.getTransform: shape not found\\\")}_getShapePageTransformCache(){return this.store.createComputedCache(\\\"pageTransformCache\\\",e=>{var t;return isPageId(e.parentId)?this.getShapeLocalTransform(e):(t=null!=(t=this._getShapePageTransformCache().get(e.parentId))?t:Mat.Identity(),Mat.Compose(t,this.getShapeLocalTransform(e)))})}getShapeParentTransform(e){var t=\\\"string\\\"==typeof e?e:e.id,t=this.getShape(t);return t&&!isPageId(t.parentId)&&null!=(t=this._getShapePageTransformCache().get(t.parentId))?t:Mat.Identity()}getShapePageTransform(e){var t=\\\"string\\\"==typeof e?e:this.getShape(e).id;return null!=(t=this._getShapePageTransformCache().get(t))?t:Mat.Identity()}_getShapePageBoundsCache(){return this.store.createComputedCache(\\\"pageBoundsCache\\\",e=>{var t=this._getShapePageTransformCache().get(e.id);return t?Box.FromPoints(Mat.applyToPoints(t,this.getShapeGeometry(e).vertices)):new Box})}getShapePageBounds(e){return this._getShapePageBoundsCache().get(\\\"string\\\"==typeof e?e:e.id)}_getShapeClipPathCache(){return this.store.createComputedCache(\\\"clipPathCache\\\",e=>{var t,r=this._getShapeMaskCache().get(e.id);if(r)return 0===r.length?\\\"polygon(0px 0px, 0px 0px, 0px 0px)\\\":(t=this._getShapePageTransformCache().get(e.id))?`polygon(${Mat.applyToPoints(Mat.Inverse(t),r).map(e=>`${e.x}px ${e.y}px`).join(\\\",\\\")})`:void 0})}getShapeClipPath(e){return this._getShapeClipPathCache().get(\\\"string\\\"==typeof e?e:e.id)}_getShapeMaskCache(){return this.store.createComputedCache(\\\"pageMaskCache\\\",e=>{if(!isPageId(e.parentId)){var t=this.getShapeAncestors(e.id).filter(e=>this.isShapeOfType(e,\\\"frame\\\"));if(0!==t.length)return t.map(e=>this._getShapePageTransformCache().get(e.id).applyToPoints(this.getShapeGeometry(e).vertices)).reduce((e,t)=>{var r;if(t&&e)return(r=intersectPolygonPolygon(e,t))?r.map(Vec.Cast):[]})}})}getShapeMask(e){return this._getShapeMaskCache().get(\\\"string\\\"==typeof e?e:e.id)}getShapeMaskedPageBounds(e){\\\"string\\\"!=typeof e&&(e=e.id);var t,r=this._getShapePageBoundsCache().get(e);if(r){const i=this._getShapeMaskCache().get(e);return i?0===i.length?void 0:(t=r[\\\"corners\\\"],t.every((e,t)=>e&&Vec.Equals(e,i[t]))?r.clone():(t=intersectPolygonPolygon(i,t))?Box.FromPoints(t):void 0):r}}getShapeAncestors(e,t=[]){var r=\\\"string\\\"==typeof e?e:e.id,r=this.getShape(r);return r?isPageId(r=r.parentId)?(t.reverse(),t):(r=this.store.get(r))?(t.push(r),this.getShapeAncestors(r,t)):t:t}findShapeAncestor(e,t){var r=\\\"string\\\"==typeof e?e:e.id,r=this.getShape(r);if(r){r=r.parentId;if(!isPageId(r)){r=this.getShape(r);if(r)return t(r)?r:this.findShapeAncestor(r,t)}}}hasAncestor(e,t){var r=\\\"string\\\"==typeof e?e:null==e?void 0:e.id,r=r&&this.getShape(r);return!!r&&(r.parentId===t||this.hasAncestor(this.getShapeParent(r),t))}findCommonAncestor(e,r){if(0!==e.length){var i,n=compact((\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id)).map(e=>this.getShape(e)));if(1===n.length)return isPageId(i=n[0].parentId)?void 0:r?null==(o=this.findShapeAncestor(n[0],r))?void 0:o.id:i;var[o,...a]=n;let t=this.getShapeParent(o);for(;t;){if(r&&!r(t));else if(a.every(e=>this.hasAncestor(e,t.id)))return t.id;t=this.getShapeParent(t)}}}isShapeOrAncestorLocked(e){var t=\\\"string\\\"==typeof e?this.getShape(e):e;return void 0!==t&&(!!t.isLocked||this.isShapeOrAncestorLocked(this.getShapeParent(t)))}getCurrentPageBounds(){let r;return this.getCurrentPageShapeIds().forEach(e=>{var t=this.getShapeMaskedPageBounds(e);t&&(r=r?r.expand(t):t.clone())}),r}getSelectedShapeAtPoint(t){const r=this.getSelectedShapeIds();return this.getCurrentPageShapesSorted().filter(e=>\\\"group\\\"!==e.type&&r.includes(e.id)).reverse().find(e=>this.isPointInShape(e,t,{hitInside:!0,margin:0}))}getShapeAtPoint(r,e={}){var i=this.getZoomLevel(),n=this.getViewportPageBounds();const{filter:o,margin:a=0,hitLabels:s=!1,hitInside:l=!1,hitFrameInside:t=!1}=e;let c=Infinity,d=null,u=Infinity,p=null;var h=(e.renderingOnly?this.getCurrentPageRenderingShapesSorted():this.getCurrentPageShapesSorted()).filter(e=>{var t;return!(this.isShapeOfType(e,\\\"group\\\")||(t=this.getShapeMask(e))&&!pointInPolygon(r,t))&&(!o||o(e))});for(let y=h.length-1;0\u003C=y;y--){var m,g=h[y],_=this.getShapeGeometry(g),f=_ instanceof Group2d,b=this.getPointInShapeSpace(g,r);if((this.isShapeOfType(g,\\\"arrow\\\")||this.isShapeOfType(g,\\\"geo\\\")&&\\\"none\\\"===g.props.fill)&&g.props.text.trim())for(const S of _.children)if(S.isLabel&&S.isPointInBounds(b))return g;if(this.isShapeOfType(g,\\\"frame\\\")){var v=_.distanceToPoint(b,l);if(Math.abs(v)\u003C=a)return p||g;if(_.hitTestPoint(b,0,!0))return p||d||(t?g:void 0)}else{let t;if(f){let e=Infinity;for(const x of _.children)x.isLabel&&!s||(m=x.distanceToPoint(b,l))\u003Ce&&(e=m);t=e}else t=0===a&&(_.bounds.w\u003C1||_.bounds.h\u003C1)||_.bounds.containsPoint(b,a)?_.distanceToPoint(b,l):Infinity;if(_.isClosed){if(t\u003C=a){if(_.isFilled||f&&_.children[0].isFilled)return p||g;this.getShapePageBounds(g).contains(n)||(Math.abs(t)\u003Ca?Math.abs(t)\u003Cu&&(u=Math.abs(t),p=g):p||(v=_[\\\"area\\\"],v\u003Cc&&(c=v,d=g)))}}else if(t\u003CHIT_TEST_MARGIN/i)return g}}return p||d||void 0}getShapesAtPoint(t,r={}){return this.getCurrentPageShapes().filter(e=>this.isPointInShape(e,t,r))}isPointInShape(e,t,r={}){var{hitInside:i=!1,margin:n=0}=r,o=\\\"string\\\"==typeof e?e:e.id,a=this.getShapeMask(o);return!(a&&!pointInPolygon(t,a))&&this.getShapeGeometry(o).hitTestPoint(this.getPointInShapeSpace(e,t),n,i)}getPointInShapeSpace(e,t){var r=\\\"string\\\"==typeof e?e:e.id;return this._getShapePageTransformCache().get(r).clone().invert().applyToPoint(t)}getPointInParentSpace(e,t){var r=\\\"string\\\"==typeof e?e:e.id,r=this.getShape(r);return r?!isPageId(r.parentId)&&(r=this.getShapePageTransform(r.parentId))?r.clone().invert().applyToPoint(t):Vec.From(t):new Vec(0,0)}getCurrentPageShapes(){return Array.from(this.getCurrentPageShapeIds(),e=>this.store.get(e))}getCurrentPageShapesSorted(){const i=new Set(this.getCurrentPageShapes().sort(sortByIndex2)),n=[];return i.forEach(e=>{isShape(this.getShape(e.parentId))||!function r(t){n.push(t),i[\\\"delete\\\"](t),i.forEach(e=>{e.parentId===t.id&&r(e)})}(e)}),n}getCurrentPageRenderingShapesSorted(){return this.getRenderingShapes().filter(({isCulled:e})=>!e).sort((e,t)=>e.index-t.index).map(({shape:e})=>e)}isShapeOfType(e,t){return(\\\"string\\\"==typeof e?this.getShape(e):e).type===t}getShape(e){var t=\\\"string\\\"==typeof e?e:e.id;if(isShapeId(t))return this.store.get(t)}getShapeParent(e){var t=\\\"string\\\"==typeof e?e:null==e?void 0:e.id;if(t){t=this.getShape(t);if(void 0!==t&&isShapeId(t.parentId))return this.store.get(t.parentId)}}getShapeNearestSibling(t,e){if(e)return e.parentId===t.parentId?e:this.findShapeAncestor(e,e=>e.parentId===t.parentId)}isShapeInPage(e,t=this.getCurrentPageId()){var r=\\\"string\\\"==typeof e?e:e.id,r=this.getShape(r);if(!r)return!1;let i=!1;if(r.parentId===t)i=!0;else{let e=this.getShape(r.parentId);for(;e;){if(e.parentId===t){i=!0;break}e=this.getShape(e.parentId)}}return i}getAncestorPageId(e){var t=\\\"string\\\"==typeof e?e:null==e?void 0:e.id,t=t&&this.getShape(t);if(t)return isPageId(t.parentId)?t.parentId:this.getAncestorPageId(this.getShape(t.parentId))}reparentShapes(e,r,i){var n=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(0!==n.length){var o=[],a=isPageId(r)?Mat.Identity():this.getShapePageTransform(r),s=a.rotation();let e=[];var l,c=compact(this.getSortedChildIdsForParent(r).map(e=>this.getShape(e))),d=(e=i?(l=c.find(e=>e.index===i))?(l=c[c.indexOf(l)+1])?getIndicesBetween(i,l.index,n.length):getIndicesAbove(i,n.length):(l=c.sort(sortByIndex2).find(e=>e.index>i))?getIndicesBetween(i,l.index,n.length):getIndicesAbove(i,n.length):(l=c.length&&c[c.length-1])?getIndicesAbove(l.index,n.length):getIndices(n.length),a.clone().invert()),u=compact(n.map(e=>this.getShape(e))),c=u.filter(e=>e.isLocked);c.length&&this.updateShapes(c.map(({id:e,type:t})=>({id:e,type:t,isLocked:!1})));for(let t=0;t\u003Cu.length;t++){var p,h=u[t],m=this.getShapePageTransform(h);m&&(p=m.point())&&(p=d.applyToPoint(p),m=m.rotation()-s,o.push({id:h.id,type:h.type,parentId:r,x:p.x,y:p.y,rotation:m,index:e[t],isLocked:h.isLocked}))}this.updateShapes(o)}return this}getHighestIndexForParent(e){var t=\\\"string\\\"==typeof e?e:e.id,t=this._parentIdsToChildIds.get()[t];return t&&0!==t.length?getIndexAbove(this.getShape(t[t.length-1]).index):\\\"a1\\\"}getSortedChildIdsForParent(e){var t=\\\"string\\\"==typeof e?e:e.id;const r=this._parentIdsToChildIds.get()[t];return r?this._childIdsCache.get(r,()=>r):EMPTY_ARRAY}visitDescendants(e,t){var r=\\\"string\\\"==typeof e?e:e.id;for(const i of this.getSortedChildIdsForParent(r))!1!==t(i)&&this.visitDescendants(i,t);return this}getShapeAndDescendantIds(e){for(var t=new Set,r=[...e];0\u003Cr.length;){var i=r.pop();if(!i)break;if(!t.has(i)){t.add(i);for(const n of this.getSortedChildIdsForParent(i))r.push(n)}}return t}getDroppingOverShape(e,t=[]){var r=this.getCurrentPageShapesSorted();for(let n=r.length-1;0\u003C=n;n--){const o=r[n];if(this.getShapeUtil(o).canDropShapes(o,t)&&!t.find(e=>e.id===o.id||this.hasAncestor(o,e.id))){var i=this.getShapeMaskedPageBounds(o.id);if(i&&i.containsPoint(e)&&this.getShapeGeometry(o).hitTestPoint(this.getPointInShapeSpace(o,e),0,!0))return o}}}getOutermostSelectableShape(e,t){var r,i=\\\"string\\\"==typeof e?e:e.id,i=this.getShape(i);let n=i,o=i;for(var a=this.getFocusedGroup();o;){if(!this.isShapeOfType(o,\\\"group\\\")||(null==a?void 0:a.id)===o.id||this.hasAncestor(a,o.id)||null!=(r=null==t?void 0:t(o))&&!r){if((null==a?void 0:a.id)===o.id)break}else n=o;o=this.getShapeParent(o)}return n}rotateShapesBy(e,t){var r;return(\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id)).length\u003C=0||(r=getRotationSnapshot({editor:this}))&&applyRotationToSnapshotShapes({delta:t,snapshot:r,editor:this,stage:\\\"one-off\\\"}),this}nudgeShapes(e,t,r){var i,n=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!(n.length\u003C=0)){var o=[];for(const c of n){var a=this.getShape(c);if(!a)throw Error(`Could not find a shape with the id ${c}.`);var s=Vec.Cast(t),l=this.getShapeParentTransform(a),l=(l&&s.rot(-l.rotation()),null==(i=(l=this.getShapeUtil(a)).onTranslateStart)?void 0:i.call(l,a));o.push(l?{...l,x:a.x+s.x,y:a.y+s.y}:{id:c,x:a.x+s.x,y:a.y+s.y,type:a.type})}this.updateShapes(o,{squashing:!0,...r})}return this}duplicateShapes(e,d){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!(t.length\u003C=0)){const u=new Set(t);var r=[];const n=[...t];for(;0\u003Cn.length;){var i=n.pop();if(!i)break;r.push(i),this.getSortedChildIdsForParent(i).forEach(e=>n.push(e))}r.reverse();const p=new Map(r.map(e=>[e,createShapeId()])),o=compact(r.map(e=>{var r=this.getShape(e);if(!r)return null;var t=p.get(e);let i=0,n=0;d&&u.has(e)&&(o=this.getShapeParentTransform(r),o=new Vec(d.x,d.y).rot(-o.rotation()),i=o.x,n=o.y);var o=null!=(o=r.parentId)?o:this.getCurrentPageId(),o=this.getSortedChildIdsForParent(o),a=o.indexOf(r.id),a=o[a+1],o=a?this.getShape(a):null,a=o?getIndexBetween(r.index,o.index):getIndexAbove(r.index);let s=deepCopy(r);if(this.isShapeOfType(r,\\\"arrow\\\")&&this.isShapeOfType(s,\\\"arrow\\\")){o=this.getArrowInfo(r);let e=void 0,t=void 0;\\\"binding\\\"!==r.props.start.type||(e=p.get(r.props.start.boundShapeId))||(null!=o&&o.isValid?(({x:c,y:l}=o.start.point),s.props.start={type:\\\"point\\\",x:c,y:l}):(c=getArrowTerminalsInArrowSpace(this,r)[\\\"start\\\"],s.props.start={type:\\\"point\\\",x:c.x,y:c.y})),\\\"binding\\\"!==r.props.end.type||(t=p.get(r.props.end.boundShapeId))||(null!=o&&o.isValid?(({x:l,y:c}=o.end.point),s.props.end={type:\\\"point\\\",x:l,y:c}):(l=getArrowTerminalsInArrowSpace(this,r)[\\\"end\\\"],s.props.start={type:\\\"point\\\",x:l.x,y:l.y}));var l,c=(getIsArrowStraight(s)?getStraightArrowInfo:getCurvedArrowInfo)(this,s);null!=o&&o.isValid&&null!=c&&c.isValid&&!getIsArrowStraight(r)&&(l=Vec.Med(o.start.handle,o.end.handle),o=Vec.Dist(o.middle,l),c=Vec.Dist(c.middle,l),s.props.bend\u003C0?s.props.bend+=c-o:s.props.bend-=c-o),\\\"binding\\\"===s.props.start.type&&e&&(s.props.start.boundShapeId=e),\\\"binding\\\"===s.props.end.type&&t&&(s.props.end.boundShapeId=t)}return s={...s,id:t,x:r.x+i,y:r.y+n,index:a}}));o.forEach(e=>{isShapeId(e.parentId)&&p.has(e.parentId)&&(e.parentId=p.get(e.parentId))}),this.history.batch(()=>{var e=o.length+this.getCurrentPageShapeIds().size>MAX_SHAPES_PER_PAGE,e=(e&&alertMaxShapes(this),e?o.slice(0,MAX_SHAPES_PER_PAGE-this.getCurrentPageShapeIds().size):o),t=e.map(e=>e.id);this.createShapes(e),this.setSelectedShapes(t),void 0!==d&&(e=this.getSelectionPageBounds(),t=this.getViewportPageBounds(),e)&&!t.contains(e)&&this.centerOnPoint(e.center,{duration:ANIMATION_MEDIUM_MS})})}return this}moveShapesToPage(e,t){const r=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(0!==r.length&&!this.getInstanceState().isReadonly){var i=this.getCurrentPageId();if(t!==i&&this.store.has(t)){const n=this.getContentFromCurrentPage(r);if(n)if(this.getPageShapeIds(t).size+n.shapes.length>MAX_SHAPES_PER_PAGE)alertMaxShapes(this,t);else{const o=this.getCamera().z;this.history.batch(()=>{this.deleteShapes(r),this.setCurrentPage(t),this.setFocusedGroup(null),this.selectNone(),this.putContentOntoCurrentPage(n,{select:!0,preserveIds:!0,preservePosition:!0}),this.setCamera({...this.getCamera(),z:o}),this.centerOnPoint(this.getSelectionRotatedPageBounds().center)})}}}return this}toggleLock(e){var r=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!this.getInstanceState().isReadonly&&0!==r.length){let e=!0,t=!0;const n=[];for(const o of r){var i=this.getShape(o);i&&(n.push(i),i.isLocked?t=!1:e=!1)}this.batch(()=>{t?(this.updateShapes(n.map(e=>({id:e.id,type:e.type,isLocked:!0}))),this.setSelectedShapes([])):e?this.updateShapes(n.map(e=>({id:e.id,type:e.type,isLocked:!1}))):this.updateShapes(n.map(e=>({id:e.id,type:e.type,isLocked:!0})))})}return this}sendToBack(e){var t=getReorderingShapesChanges(this,\\\"toBack\\\",\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id));return t&&this.updateShapes(t),this}sendBackward(e){var t=getReorderingShapesChanges(this,\\\"backward\\\",\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id));return t&&this.updateShapes(t),this}bringForward(e){var t=getReorderingShapesChanges(this,\\\"forward\\\",\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id));return t&&this.updateShapes(t),this}bringToFront(e){var t=getReorderingShapesChanges(this,\\\"toFront\\\",\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id));return t&&this.updateShapes(t),this}flipShapes(e,n){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!this.getInstanceState().isReadonly){let i=compact(t.map(e=>this.getShape(e)));if(i.length){i=compact(i.map(e=>this.isShapeOfType(e,\\\"group\\\")?this.getSortedChildIdsForParent(e.id).map(e=>this.getShape(e)):e).flat());const o=Box.Common(compact(i.map(e=>this.getShapePageBounds(e)))).center;this.batch(()=>{for(const r of i){var e=this.getShapeGeometry(r).bounds,t=this.getShapePageTransform(r.id);t&&this.resizeShape(r.id,{x:\\\"horizontal\\\"===n?-1:1,y:\\\"vertical\\\"===n?-1:1},{initialBounds:e,initialPageTransform:t,initialShape:r,mode:\\\"scale_shape\\\",scaleOrigin:o,scaleAxisRotation:0})}})}}return this}stackShapes(e,t,n){var r=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!this.getInstanceState().isReadonly){var c=compact(r.map(e=>this.getShape(e)).filter(e=>!!e&&(!this.isShapeOfType(e,\\\"arrow\\\")||\\\"binding\\\"!==e.props.start.type&&\\\"binding\\\"!==e.props.end.type))),d=c.length;if(!(0===n&&d\u003C3||d\u003C2)){const m=Object.fromEntries(c.map(e=>[e.id,this.getShapePageBounds(e)]));let o,r,i,a;a=\\\"horizontal\\\"===t?(o=\\\"x\\\",r=\\\"minX\\\",i=\\\"maxX\\\",\\\"width\\\"):(o=\\\"y\\\",r=\\\"minY\\\",i=\\\"maxY\\\",\\\"height\\\");let s;if(0===n){var u=[];c.sort((e,t)=>m[e.id][r]-m[t.id][r]);for(let e=0;e\u003Cd-1;e++){var p=c[e],h=c[e+1],p=m[p.id];const _=m[h.id][r]-p[i];h=u.find(e=>e.gap===_);h?h.count++:u.push({gap:_,count:1})}let t=0;u.forEach(e=>{e.count>t&&(t=e.count,s=e.gap)}),1===t&&(s=Math.max(0,u.reduce((e,t)=>e+t.gap*t.count,0)/(d-1)))}else s=n;const g=[];let l=m[c[0].id][i];c.forEach((e,t)=>{var r,i,n;0!==t&&((n={x:0,y:0})[o]=l+s-m[e.id][o],i=(i=this.getShapeParent(e))?Vec.Rot(n,-this.getShapePageTransform(i).decompose().rotation):n,n=null==(r=(n=this.getShapeUtil(e)).onTranslateStart)?void 0:r.call(n,e),g.push(n?{...n,[o]:e[o]+i[o]}:{id:e.id,type:e.type,[o]:e[o]+i[o]}),l+=m[e.id][a]+s)}),this.updateShapes(g)}}return this}packShapes(e,l){var c,d=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!(this.getInstanceState().isReadonly||d.length\u003C2)){var u=compact(d.map(e=>this.getShape(e)).filter(e=>!!e&&(!this.isShapeOfType(e,\\\"arrow\\\")||\\\"binding\\\"!==e.props.start.type&&\\\"binding\\\"!==e.props.end.type)));const S={};var p={};let t,r,e=0;for(let o=0;o\u003Cu.length;o++)t=u[o],r=this.getShapePageBounds(t),S[t.id]=r,p[t.id]=r.clone(),e+=r.width*r.height;var h,m,d=Box.Common(compact(Object.values(S))),g=d.width,g=(u.sort((e,t)=>S[t.id].height-S[e.id].height),Math.max(Math.ceil(Math.sqrt(e/.95)),g)),_=[new Box(d.x,d.y,g,Infinity)];let i=0,n=0;for(let a=0;a\u003Cu.length;a++){t=u[a],r=p[t.id];for(let e=_.length-1;0\u003C=e;e--)if(h=_[e],!(r.width>h.width||r.height>h.height)){r.x=h.x,r.y=h.y,n=Math.max(n,r.maxY),i=Math.max(i,r.maxX),r.width===h.width&&r.height===h.height?(m=_.pop(),e\u003C_.length&&(_[e]=m)):r.height===h.height?(h.x+=r.width+l,h.width-=r.width+l):(r.width!==h.width&&_.push(new Box(h.x+(r.width+l),h.y,h.width-(r.width+l),r.height)),h.y+=r.height+l,h.height-=r.height+l);break}}var g=Box.Common(Object.values(p)),f=Vec.Sub(d.center,g.center),b=[];for(let s=0;s\u003Cu.length;s++){t=u[s],r=S[t.id];var v=p[t.id],v=Vec.Sub(v.point,r.point).add(f),y=this.getShapeParentTransform(t),y=(y&&v.rot(-y.rotation()),{id:t.id,type:t.type,x:t.x+v.x,y:t.y+v.y}),v=null==(c=(v=this.getShapeUtil(t)).onTranslateStart)?void 0:c.call(v,{...t,...y});b.push(v?{...y,...v}:y)}b.length&&this.updateShapes(b)}return this}alignShapes(e,a){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!(this.getInstanceState().isReadonly||t.length\u003C2)){t=compact(t.map(e=>this.getShape(e)));const s=Object.fromEntries(t.map(e=>[e.id,this.getShapePageBounds(e)])),l=Box.Common(compact(Object.values(s))),c=[];t.forEach(e=>{var t,r=s[e.id];if(r){var i={x:0,y:0};switch(a){case\\\"top\\\":i.y=l.minY-r.minY;break;case\\\"center-vertical\\\":i.y=l.midY-r.minY-r.height/2;break;case\\\"bottom\\\":i.y=l.maxY-r.minY-r.height;break;case\\\"left\\\":i.x=l.minX-r.minX;break;case\\\"center-horizontal\\\":i.x=l.midX-r.minX-r.width/2;break;case\\\"right\\\":i.x=l.maxX-r.minX-r.width}var n=this.getShapeParent(e),n=n?Vec.Rot(i,-this.getShapePageTransform(n).decompose().rotation):i,o=null==(t=(o=this.getShapeUtil(e)).onTranslateStart)?void 0:t.call(o,e);c.push(o?{...o,x:e.x+n.x,y:e.y+n.y}:{id:e.id,type:e.type,x:e.x+n.x,y:e.y+n.y})}}),this.updateShapes(c)}return this}distributeShapes(e,t){var s=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!(this.getInstanceState().isReadonly||s.length\u003C3)){var l=s.length,s=compact(s.map(e=>this.getShape(e)));const d=Object.fromEntries(s.map(e=>[e.id,this.getShapePageBounds(e)]));let o,r,i,n,a;a=\\\"horizontal\\\"===t?(o=\\\"x\\\",r=\\\"minX\\\",i=\\\"maxX\\\",n=\\\"midX\\\",\\\"width\\\"):(o=\\\"y\\\",r=\\\"minY\\\",i=\\\"maxY\\\",n=\\\"midY\\\",\\\"height\\\");const u=[],p=s.sort((e,t)=>d[e.id][r]-d[t.id][r])[0],h=s.sort((e,t)=>d[t.id][i]-d[e.id][i])[0];var c=d[p.id][n];const m=(d[h.id][n]-c)/(l-1),g=c+m;s.filter(e=>e!==p&&e!==h).sort((e,t)=>d[e.id][n]-d[t.id][n]).forEach((e,t)=>{var r,i={x:0,y:0},n=(i[o]=g+m*t-d[e.id][a]/2-d[e.id][o],this.getShapeParent(e)),n=n?Vec.Rot(i,-this.getShapePageTransform(n).rotation()):i,i=null==(r=(i=this.getShapeUtil(e)).onTranslateStart)?void 0:r.call(i,e);u.push(i?{...i,[o]:e[o]+n[o]}:{id:e.id,type:e.type,[o]:e[o]+n[o]})}),this.updateShapes(u)}return this}stretchShapes(e,t){var r=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!(this.getInstanceState().isReadonly||r.length\u003C2)){const o=compact(r.map(e=>this.getShape(e))),a=Object.fromEntries(r.map(e=>[e,this.getShapeGeometry(e).bounds])),s=Object.fromEntries(r.map(e=>[e,this.getShapePageBounds(e)])),l=Box.Common(compact(Object.values(s)));switch(t){case\\\"vertical\\\":this.batch(()=>{for(const n of o){var e,t,r,i;this.getShapePageTransform(n).rotation()%PI2||(e=a[n.id],t=s[n.id],r=new Vec(0,l.minY-t.minY),({x:i,y:r}=((i=this.getShapeParentTransform(n))&&r.rot(-i.rotation()),Vec.Add(r,n))),this.updateShapes([{id:n.id,type:n.type,x:i,y:r}],{squashing:!0}),i=new Vec(1,l.height/t.height),this.resizeShape(n.id,i,{initialBounds:e,scaleOrigin:new Vec(t.center.x,l.minY),scaleAxisRotation:0}))}});break;case\\\"horizontal\\\":this.batch(()=>{for(const n of o){var e,t,r=a[n.id],i=s[n.id];this.getShapePageTransform(n).rotation()%PI2||(e=new Vec(l.minX-i.minX,0),({x:t,y:e}=((t=this.getShapeParentTransform(n))&&e.rot(-t.rotation()),Vec.Add(e,n))),this.updateShapes([{id:n.id,type:n.type,x:t,y:e}],{squashing:!0}),t=new Vec(l.width/i.width,1),this.resizeShape(n.id,t,{initialBounds:r,scaleOrigin:new Vec(l.minX,i.center.y),scaleAxisRotation:0}))}})}}return this}resizeShape(e,t,r={}){var i=\\\"string\\\"==typeof e?e:e.id;if(!this.getInstanceState().isReadonly){Number.isFinite(t.x)||(t=new Vec(1,t.y)),Number.isFinite(t.y)||(t=new Vec(t.x,1));var n=null!=(n=r.initialShape)?n:this.getShape(i);if(n){var o=null!=(o=r.scaleOrigin)?o:null==(o=this.getShapePageBounds(i))?void 0:o.center;if(o){var a=r.initialPageTransform?Mat.Cast(r.initialPageTransform):this.getShapePageTransform(i);if(a){var s=a.rotation();if(null!=s){var l=null!=(l=r.scaleAxisRotation)?l:s,c=null!=(c=r.initialBounds)?c:this.getShapeGeometry(i).bounds;if(c){if(!areAnglesCompatible(s,l))return this._resizeUnalignedShape(i,t,{...r,initialBounds:c,scaleOrigin:o,scaleAxisRotation:l,initialPageTransform:a,initialShape:n});var d,u,p,h=this.getShapeUtil(n);h.isAspectRatioLocked(n)&&(t=Math.abs(t.x)>Math.abs(t.y)?new Vec(t.x,Math.sign(t.y)*Math.abs(t.x)):new Vec(Math.sign(t.x)*Math.abs(t.y),t.y)),h.onResize&&h.canResize(n)?(d=this._scalePagePoint(Mat.applyToPoint(a,new Vec(0,0)),o,t,l),d=this.getPointInParentSpace(n.id,d),p=new Vec(t.x,t.y),s=approximately((s-l)%Math.PI,0),p.x=s?t.x:t.y,p.y=s?t.y:t.x,s=Mat.applyToPoint(a,new Vec),({x:s,y:u}=this.getPointInParentSpace(n.id,s)),this.updateShapes([{id:i,type:n.type,x:d.x,y:d.y,...h.onResize({...n,x:s,y:u},{newPoint:d,handle:null!=(s=r.dragHandle)?s:\\\"bottom_right\\\",mode:null!=(u=r.mode)?u:\\\"scale_shape\\\",scaleX:p.x,scaleY:p.y,initialBounds:c,initialShape:n})}],{squashing:!0})):(d=Mat.applyToPoint(a,c.center),s=this._scalePagePoint(d,o,t,l),u=this.getPointInParentSpace(n.id,d),p=this.getPointInParentSpace(n.id,s),h=Vec.Sub(p,u),this.updateShapes([{id:i,type:n.type,x:n.x+h.x,y:n.y+h.y}],{squashing:!0}))}}}}}}return this}_scalePagePoint(e,t,r,i){var n=Vec.RotWith(e,t,-i).sub(t),n=Vec.MulV(n,r);return Vec.Add(n,t).rotWith(t,i)}_resizeUnalignedShape(e,t,r){var i=r.initialShape[\\\"type\\\"],n=new Vec(t.x,t.y),n=(Math.abs(t.x)>Math.abs(t.y)?n.x=Math.sign(t.x)*Math.abs(t.y):n.y=Math.sign(t.y)*Math.abs(t.x),this.resizeShape(e,n,{initialShape:r.initialShape,initialBounds:r.initialBounds}),Math.sign(t.x)*Math.sign(t.y)\u003C0&&(n=Mat.Decompose(r.initialPageTransform)[\\\"rotation\\\"],this.updateShapes([{id:e,type:i,rotation:n-=2*n}],{squashing:!0})),Mat.applyToPoint(r.initialPageTransform,r.initialBounds.center)),n=this._scalePagePoint(n,r.scaleOrigin,t,r.scaleAxisRotation),o=this.getShapePageBounds(e),a=this.getShapePageTransform(e),o=o.center,a=a.point();return o&&a&&(n=Vec.Sub(n,o),o=Vec.Add(a,n),({x:a,y:n}=this.getPointInParentSpace(e,o)),this.updateShapes([{id:e,type:i,x:a,y:n}],{squashing:!0})),this}getInitialMetaForShape(e){return{}}createShape(e){return this._createShapes([e]),this}createShapes(e){if(Array.isArray(e))return this._createShapes(e),this;throw Error(\\\"Editor.createShapes: must provide an array of shapes or shape partials\\\")}animateShape(e,t){return this.animateShapes([e],t)}animateShapes(a,e={}){const{duration:s=500,easing:l=EASINGS.linear}=e,c=uniqueId();let d=s,u;const p=[];a.forEach(e=>{if(e){var t={partial:e,values:[]},r=this.getShape(e.id);if(r){for(const i of[\\\"x\\\",\\\"y\\\",\\\"rotation\\\"])void 0!==e[i]&&r[i]!==e[i]&&t.values.push({prop:i,from:r[i],to:e[i]});p.push(t),this.animatingShapes.set(r.id,c)}}});let h;const m=e=>{if((d-=e)\u003C0){const o=this[\\\"animatingShapes\\\"];var t=a.filter(e=>e&&o.get(e.id)===c);t.length&&this.updateShapes(t,{squashing:!1}),void this.removeListener(\\\"tick\\\",m)}else{u=l(1-d/s);var r=this[\\\"animatingShapes\\\"];try{var i=[];for(let e=0;e\u003Cp.length;e++)h=p[e],r.get(h.partial.id)===c&&i.push({id:h.partial.id,type:h.partial.type,...h.values.reduce((e,{prop:t,from:r,to:i})=>(e[t]=r+(i-r)*u,e),{})});this._updateShapes(i,{squashing:!0})}catch(n){}}};return this.addListener(\\\"tick\\\",m),this}groupShapes(e,t=createShapeId()){if(!Array.isArray(e))throw Error(\\\"Editor.groupShapes: must provide an array of shapes or shape ids\\\");if(!this.getInstanceState().isReadonly){var r=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!(r.length\u003C=1)){var r=compact(this._getUnlockedShapeIds(r).map(e=>this.getShape(e)));const n=r.sort(sortByIndex2).map(e=>e.id),{x:o,y:a}=Box.Common(compact(r.map(e=>this.getShapePageBounds(e)))).point,s=null!=(i=this.findCommonAncestor(r))?i:this.getCurrentPageId();if(\\\"select\\\"===this.getCurrentToolId()){this.isIn(\\\"select.idle\\\")||this.cancel();var i=r.filter(e=>e.parentId===s).sort(sortByIndex2);const l=null==(r=i[i.length-1])?void 0:r.index;this.batch(()=>{this.createShapes([{id:t,type:\\\"group\\\",parentId:s,index:l,x:o,y:a,opacity:1,props:{}}]),this.reparentShapes(n,t),this.select(t)})}}}return this}ungroupShapes(e){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!this.getInstanceState().isReadonly&&0!==t.length&&\\\"select\\\"===this.getCurrentToolId()){this.isIn(\\\"select.idle\\\")||this.cancel();const o=new Set;t=compact(t.map(e=>this.getShape(e)));const a=[];t.forEach(e=>{this.isShapeOfType(e,\\\"group\\\")?a.push(e):o.add(e.id)}),0!==a.length&&this.batch(()=>{for(let n=0,e=a.length;n\u003Ce;n++){var r=a[n],i=this.getSortedChildIdsForParent(r.id);for(let e=0,t=i.length;e\u003Ct;e++)o.add(i[e]);this.reparentShapes(i,r.parentId,r.index)}this.deleteShapes(a.map(e=>e.id)),this.select(...o)})}return this}updateShape(e,t){return this.updateShapes([e],t),this}updateShapes(e,t){let r=compact(e);return 0\u003Cthis.animatingShapes.size&&r.forEach(e=>this.animatingShapes[\\\"delete\\\"](e.id)),r=r.filter(e=>{var t=this.getShape(e.id);return!(!t||this.isShapeOrAncestorLocked(t)&&!Object.hasOwn(e,\\\"isLocked\\\"))}),this._updateShapes(r,t),this}_getUnlockedShapeIds(e){return e.filter(e=>{var t;return!(null!=(t=this.getShape(e))&&t.isLocked)})}deleteShapes(e){if(Array.isArray(e))return this._deleteShapes(this._getUnlockedShapeIds(\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id))),this;throw Error(\\\"Editor.deleteShapes: must provide an array of shapes or shapeIds\\\")}deleteShape(e){return this.deleteShapes([\\\"string\\\"==typeof e?e:e.id]),this}_extractSharedStyles(e,r){if(this.isShapeOfType(e,\\\"group\\\")){var i=this._parentIdsToChildIds.get()[e.id];if(i)for(let e=0,t=i.length;e\u003Ct;e++)this._extractSharedStyles(this.getShape(i[e]),r)}else for(var[t,n]of this.styleProps[e.type])r.applyValue(t,getOwnProperty(e.props,n))}getStyleForNextShape(e){var t=this.getInstanceState().stylesForNextShape[e.id];return void 0===t?e.defaultValue:t}getShapeStyleIfExists(e,t){var r=this.styleProps[e.type].get(t);if(void 0!==r)return getOwnProperty(e.props,r)}getSharedStyles(){if(this.isIn(\\\"select\\\")&&0\u003Cthis.getSelectedShapeIds().length)return this._selectionSharedStyles.get();var e=this.root.getCurrent(),t=new SharedStyleMap;if(e&&e.shapeType)for(const r of this.styleProps[e.shapeType].keys())t.applyValue(r,this.getStyleForNextShape(r));return t}getSharedOpacity(){if(this.isIn(\\\"select\\\")&&0\u003Cthis.getSelectedShapeIds().length){const i=[],n=e=>{var t=this.getShape(e);if(t)if(this.isShapeOfType(t,\\\"group\\\"))for(const r of this.getSortedChildIdsForParent(t.id))n(r);else i.push(t)};for(const t of this.getSelectedShapeIds())n(t);let e=null;for(const r of i)if(null===e)e=r.opacity;else if(e!==r.opacity)return{type:\\\"mixed\\\"};if(null!==e)return{type:\\\"shared\\\",value:e}}return{type:\\\"shared\\\",value:this.getInstanceState().opacityForNextShape}}setOpacityForNextShapes(e,t){return this.updateInstanceState({opacityForNextShape:e},t),this}setOpacityForSelectedShapes(t,e){var r=this.getSelectedShapes();if(0\u003Cr.length){const i=[],n=e=>{if(this.isShapeOfType(e,\\\"group\\\"))for(const t of this.getSortedChildIdsForParent(e))n(this.getShape(t));else i.push(e)};for(const o of r)n(o);this.updateShapes(i.map(e=>({id:e.id,type:e.type,opacity:t})),e)}return this}setStyleForNextShapes(e,t,r){var i=this.getInstanceState().stylesForNextShape;return this.updateInstanceState({stylesForNextShape:{...i,[e.id]:t}},r),this}setStyleForSelectedShapes(n,o,e){var t=this.getSelectedShapes();if(0\u003Ct.length){const a=[],s=e=>{if(this.isShapeOfType(e,\\\"group\\\"))for(const i of this.getSortedChildIdsForParent(e.id))s(this.getShape(i));else{var t=this.getShapeUtil(e),r=this.styleProps[e.type].get(n);r&&(r={id:e.id,type:e.type,props:{[r]:o}},a.push({util:t,originalShape:e,updatePartial:r}))}};for(const r of t)s(r);this.updateShapes(a.map(({updatePartial:e})=>e),e)}return this}registerExternalAssetHandler(e,t){return this.externalAssetContentHandlers[e]=t,this}async getAssetForExternalContent(e){var t,r;return null==(r=(t=this.externalAssetContentHandlers)[e.type])?void 0:r.call(t,e)}registerExternalContentHandler(e,t){return this.externalContentHandlers[e]=t,this}async putExternalContent(e){var t,r;return null==(r=(t=this.externalContentHandlers)[e.type])?void 0:r.call(t,e)}getContentFromCurrentPage(e){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(t&&0!==t.length){const s={};let a=dedupe(t.map(e=>this.getShape(e)).sort(sortByIndex2).flatMap(e=>{const t=[e];return this.visitDescendants(e.id,e=>{t.push(this.getShape(e))}),t}));a=a.map(e=>{if(s[e.id]=this.getShapePageTransform(e.id),e=structuredClone2(e),this.isShapeOfType(e,\\\"arrow\\\")){const n=\\\"binding\\\"===e.props.start.type?e.props.start.boundShapeId:void 0,o=\\\"binding\\\"===e.props.end.type?e.props.end.boundShapeId:void 0;var t,r=this.getArrowInfo(e),i=(\\\"binding\\\"!==e.props.start.type||a.some(e=>e.id===n)||(null!=r&&r.isValid?(({x:i,y:t}=r.start.point),e.props.start={type:\\\"point\\\",x:i,y:t}):(i=getArrowTerminalsInArrowSpace(this,e)[\\\"start\\\"],e.props.start={type:\\\"point\\\",x:i.x,y:i.y})),\\\"binding\\\"!==e.props.end.type||a.some(e=>e.id===o)||(null!=r&&r.isValid?(({x:t,y:i}=r.end.point),e.props.end={type:\\\"point\\\",x:t,y:i}):(t=getArrowTerminalsInArrowSpace(this,e)[\\\"end\\\"],e.props.end={type:\\\"point\\\",x:t.x,y:t.y})),(getIsArrowStraight(e)?getStraightArrowInfo:getCurvedArrowInfo)(this,e));null!=r&&r.isValid&&null!=i&&i.isValid&&!getIsArrowStraight(e)&&(t=Vec.Med(r.start.handle,r.end.handle),r=Vec.Dist(r.middle,t),i=Vec.Dist(i.middle,t),e.props.bend\u003C0?e.props.bend+=i-r:e.props.bend-=i-r)}return e});const i=[],r=(a.forEach(t=>{var e,r;void 0===a.find(e=>e.id===t.parentId)&&(e=(r=this.getShapePageTransform(t.id)).point(),r=r.rotation(),t.x=e.x,t.y=e.y,t.rotation=r,t.parentId=this.getCurrentPageId(),i.push(t.id))}),new Set);return a.forEach(e=>{\\\"assetId\\\"in e.props&&null!==e.props.assetId&&r.add(e.props.assetId)}),{shapes:a,rootShapeIds:i,schema:this.store.schema.serialize(),assets:compact(Array.from(r).map(e=>this.getAsset(e)))}}}putContentOntoCurrentPage(t,e={}){if(this.getInstanceState().isReadonly)return this;if(!t.schema)throw Error(\\\"Could not put content:\\\\ncontent is missing a schema.\\\");const{select:o=!1,preserveIds:i=!1,preservePosition:a=!1}=e;let{point:s=void 0}=e;const l=this.getCurrentPageId(),{assets:r,shapes:n,rootShapeIds:c}=t,d=new Map(n.map(e=>[e.id,createShapeId()]));let u=this.getCurrentPageId(),p=Infinity,h=[];for(const I of this.getSelectedShapes()){if(0===p)break;var m=this.isShapeOfType(I,\\\"frame\\\"),g=this.getShapeAncestors(I),_=(m&&g.push(I),m?g.length+1:g.length);if(_\u003Cp)p=_,h=g,u=m?I.id:I.parentId;else if(_===p){if(h.length!==g.length)throw Error(`Ancestors: ${h.length} !== `+g.length);if(0===h.length){u=l;break}u=l;for(let e=0;e\u003Ch.length&&g[e]===h[e];e++)u=g[e].id}}let f=!1;var b,v;isPageId(u)||((b=this.getShape(u))&&this.getViewportPageBounds().includes(this.getShapePageBounds(b))?1===c.length&&(v=n.find(e=>e.id===c[0]),this.isShapeOfType(b,\\\"frame\\\"))&&this.isShapeOfType(v,\\\"frame\\\")&&v.props.w===(null==b?void 0:b.props.w)&&v.props.h===(null==b?void 0:b.props.h)&&(f=!0):u=l),(f=f||d.has(u))&&(u=this.getShape(u).parentId);let y=this.getHighestIndexForParent(u);const S=[],x=n.map(e=>{let t;var r;return i?(t=deepCopy(e),d.set(e.id,e.id)):(r=d.get(e.id),t=deepCopy({...e,id:r})),c.includes(e.id)&&(t.parentId=l,S.push(t)),d.has(t.parentId)?t.parentId=d.get(e.parentId):(c.push(t.id),y=getIndexAbove(t.index=y)),this.isShapeOfType(t,\\\"arrow\\\")&&(\\\"binding\\\"===t.props.start.type&&(r=d.get(t.props.start.boundShapeId),t.props.start=r?{...t.props.start,boundShapeId:r}:{type:\\\"point\\\",x:0,y:0}),\\\"binding\\\"===t.props.end.type)&&(r=d.get(t.props.end.boundShapeId),t.props.end=r?{...t.props.end,boundShapeId:r}:{type:\\\"point\\\",x:0,y:0}),t});if(x.length+this.getCurrentPageShapeIds().size>MAX_SHAPES_PER_PAGE)alertMaxShapes(this);else{let n=[];if(r){for(let e=0;e\u003Cr.length;e++){var w=r[e],$=this.store.schema.migratePersistedRecord(w,t.schema);if(\\\"success\\\"!==$.type)throw Error(`Could not put content:\\ncould not migrate content for asset:\\n${w.id}\\n${w.type}\\nreason:`+$.reason);r[e]=$.value}const j=[];n=r.filter(e=>!this.store.has(e.id)).map(e=>{var t;return\\\"image\\\"!==e.type&&\\\"video\\\"!==e.type||(e.props.src&&null!=(t=e.props.src)&&t.startsWith(\\\"data:image\\\")?(j.push(structuredClone2(e)),e.props.src=null):j.push(structuredClone2(e))),e}),Promise.allSettled(j.map(async e=>{var t=await dataUrlToFile(e.props.src,e.props.name,null!=(t=e.props.mimeType)?t:\\\"image/png\\\"),t=await this.getAssetForExternalContent({type:\\\"file\\\",file:t});return t?[e,t]:null})).then(e=>{this.updateAssets(compact(e.map(e=>\\\"fulfilled\\\"===e.status&&e.value?{...e.value[1],id:e.value[0].id}:void 0)))})}for(let e=0;e\u003Cx.length;e++){var E=x[e],P=this.store.schema.migratePersistedRecord(E,t.schema);if(\\\"success\\\"!==P.type)throw Error(`Could not put content:\\ncould not migrate content for shape:\\n${E.id}, ${E.type}\\nreason:`+P.reason);x[e]=P.value}this.batch(()=>{0\u003Cn.length&&this.createAssets(n),this.createShapes(x),o&&this.select(...S.map(e=>e.id)),u!==l&&this.reparentShapes(S.map(e=>e.id),u);var e=x.map(e=>this.getShape(e.id)),t=Box.Common(e.map(e=>this.getShapePageBounds(e)));if(void 0===s&&(s=isPageId(u)?(e=this.getViewportPageBounds(),(a||e.includes(Box.From(t))?t:e).center):(e=this.getShape(u),Mat.applyToPoint(this.getShapePageTransform(e),this.getShapeGeometry(e).bounds.center))),1===S.length){const r=S[0];if(this.isShapeOfType(r,\\\"frame\\\"))for(;this.getShapesAtPoint(s).some(e=>this.isShapeOfType(e,\\\"frame\\\")&&e.props.w===r.props.w&&e.props.h===r.props.h);)s.x+=t.w+16}e=Box.Common(compact(S.map(({id:e})=>this.getShapePageBounds(e)))).center;const i=Vec.Sub(s,e);this.updateShapes(S.map(({id:e})=>{var t=this.getShape(e),r=this.getShapeParentTransform(e).decompose().rotation,r=Vec.Rot(i,-r);return{id:t.id,type:t.type,x:t.x+r.x,y:t.y+r.y}}))})}return this}async getSvg(e,t={}){var r,i,n=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(0!==n.length){if(!window.document)throw Error(\\\"No document\\\");var{scale:o=1,background:a=!1,padding:s=SVG_PADDING,preserveAspectRatio:l=!1}=t;const m=getDefaultColorTheme({isDarkMode:this.user.getIsDarkMode()}),g=this.getShapeAndDescendantIds(n);var c=this.getUnorderedRenderingShapes(!1).filter(({id:e})=>g.has(e));let e=null;if(t.bounds)e=t.bounds;else for(var{maskedPageBounds:d}of c)d&&(e?e.union(d):e=d.clone());if(e){const _=1===n.length&&this.isShapeOfType(this.getShape(n[0]),\\\"frame\\\")?n[0]:null;_||e.expandBy(s);var n=e.width*o,s=e.height*o,u=window.document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"svg\\\");l&&u.setAttribute(\\\"preserveAspectRatio\\\",l),u.setAttribute(\\\"direction\\\",\\\"ltr\\\"),u.setAttribute(\\\"width\\\",n+\\\"\\\"),u.setAttribute(\\\"height\\\",s+\\\"\\\"),u.setAttribute(\\\"viewBox\\\",`${e.minX} ${e.minY} ${e.width} `+e.height),u.setAttribute(\\\"stroke-linecap\\\",\\\"round\\\"),u.setAttribute(\\\"stroke-linejoin\\\",\\\"round\\\"),a?_?u.style.setProperty(\\\"background\\\",m.solid):u.style.setProperty(\\\"background-color\\\",m.background):u.style.setProperty(\\\"background-color\\\",\\\"transparent\\\");try{null!=(i=(r=document.body).focus)&&i.call(r)}catch(h){}const f=window.document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"defs\\\"),b=(u.append(f),new Map),v={addExportDef:i=>{var e;b.has(i.key)||(e=(async()=>{var e=await i.getElement();if(e){var t=document.createComment(\\\"def: \\\"+i.key);f.appendChild(t);for(const r of Array.isArray(e)?e:[e])f.appendChild(r)}})(),b.set(i.key,e))}};var p,o=(await Promise.all(c.map(async({id:e,opacity:t,index:r,backgroundIndex:i})=>{if(e===_)return[];var n=this.getShape(e);if(this.isShapeOfType(n,\\\"group\\\"))return[];var o=this.getShapeUtil(n);let a=await(null==(d=o.toSvg)?void 0:d.call(o,n,v)),s=await(null==(d=o.toBackgroundSvg)?void 0:d.call(o,n,v)),l=(a&&((o=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")).appendChild(a),a=o),s&&((d=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")).appendChild(s),s=d),a||s||(o=this.getShapePageBounds(n),(d=window.document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\")).setAttribute(\\\"width\\\",o.width+\\\"\\\"),d.setAttribute(\\\"height\\\",o.height+\\\"\\\"),d.setAttribute(\\\"fill\\\",m.solid),d.setAttribute(\\\"stroke\\\",m.grey.pattern),d.setAttribute(\\\"stroke-width\\\",\\\"1\\\"),a=d),this.getShapePageTransform(n).toCssString());\\\"scale\\\"in n.props&&1!==n.props.scale&&(l=`${l} scale(${n.props.scale}, ${n.props.scale})`),null!=a&&a.setAttribute(\\\"transform\\\",l),null!=s&&s.setAttribute(\\\"transform\\\",l),null!=a&&a.setAttribute(\\\"opacity\\\",t+\\\"\\\"),null!=s&&s.setAttribute(\\\"opacity\\\",t+\\\"\\\");var c,o=this.getShapeMask(n.id),d=(o&&(d=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"clipPath\\\"),f.appendChild(d),n=uniqueId(),d.id=n,(c=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\")).setAttribute(\\\"d\\\",`M${o.map(({x:e,y:t})=>e+\\\",\\\"+t).join(\\\"L\\\")}Z`),d.appendChild(c),a&&((o=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")).setAttribute(\\\"clip-path\\\",`url(#${n})`),o.appendChild(a),a=o),s)&&((c=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")).setAttribute(\\\"clip-path\\\",`url(#${n})`),c.appendChild(s),s=c),[]);return a&&d.push({zIndex:r,element:a}),s&&d.push({zIndex:i,element:s}),d}))).flat();await Promise.all(b.values());for({element:p}of o.sort((e,t)=>e.zIndex-t.zIndex))u.appendChild(p);return u}}}_updateInputsFromEvent(e){var{previousScreenPoint:t,previousPagePoint:r,currentScreenPoint:i,currentPagePoint:n}=this.inputs,o=this.store.unsafeGetWithoutCapture(TLINSTANCE_ID)[\\\"screenBounds\\\"],{x:a,y:s,z:l}=e.point,{x:c,y:d,z:u}=this.getCamera();t.setTo(i),r.setTo(n),i.set(a,s),n.set((a-o.x)/u-c,(s-o.y)/u-d,null!=l?l:.5),this.inputs.isPen=\\\"pointer\\\"===e.type&&e.isPen,\\\"pointer_down\\\"===e.name&&this.inputs.pointerVelocity.set(0,0),this.store.put([{id:TLPOINTER_ID,typeName:\\\"pointer\\\",x:n.x,y:n.y,lastActivityTimestamp:\\\"pointer\\\"===e.type&&e.pointerId===INTERNAL_POINTER_IDS.CAMERA_MOVE&&null!=(r=null==(t=this.store.get(TLPOINTER_ID))?void 0:t.lastActivityTimestamp)?r:Date.now(),meta:{}}])}cancel(){return this.dispatch({type:\\\"misc\\\",name:\\\"cancel\\\"}),this}interrupt(){return this.dispatch({type:\\\"misc\\\",name:\\\"interrupt\\\"}),this}complete(){return this.dispatch({type:\\\"misc\\\",name:\\\"complete\\\"}),this}cancelDoubleClick(){this._clickManager.cancelDoubleClickTimeout()}};function alertMaxShapes(e,t=e.getCurrentPageId()){var r=e.getPage(t).name;e.emit(\\\"max-shapes\\\",{name:r,pageId:t,count:MAX_SHAPES_PER_PAGE})}function useIsDarkMode(){const e=useEditor();return useValue(\\\"isDarkMode\\\",()=>e.user.getIsDarkMode(),[e])}__decorateClass3([computed],Editor.prototype,\\\"getCanUndo\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getCanRedo\\\",1),__decorateClass3([computed],Editor.prototype,\\\"_getArrowBindingsIndex\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getArrowInfoCache\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getPath\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getCurrentTool\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getCurrentToolId\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getDocumentSettings\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getInstanceState\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getOpenMenus\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getIsMenuOpen\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getPageStates\\\",1),__decorateClass3([computed],Editor.prototype,\\\"_getPageStatesQuery\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getCurrentPageState\\\",1),__decorateClass3([computed],Editor.prototype,\\\"_getCurrentPageStateId\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getSelectedShapeIds\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getSelectedShapes\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getOnlySelectedShape\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getSelectionPageBounds\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getSelectionRotation\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getSelectionRotatedPageBounds\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getFocusedGroupId\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getFocusedGroup\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getEditingShapeId\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getEditingShape\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getHoveredShapeId\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getHoveredShape\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getHintingShapeIds\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getHintingShape\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getErasingShapeIds\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getErasingShapes\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getCameraId\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getCamera\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getZoomLevel\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getViewportScreenBounds\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getViewportScreenCenter\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getViewportPageBounds\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getViewportPageCenter\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getRenderingShapes\\\",1),__decorateClass3([computed],Editor.prototype,\\\"_getAllPagesQuery\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getPages\\\",1),__decorateClass3([computed],Editor.prototype,\\\"_getAllAssetsQuery\\\",1),__decorateClass3([computed],Editor.prototype,\\\"_getShapeGeometryCache\\\",1),__decorateClass3([computed],Editor.prototype,\\\"_getShapeOutlineSegmentsCache\\\",1),__decorateClass3([computed],Editor.prototype,\\\"_getShapeHandlesCache\\\",1),__decorateClass3([computed],Editor.prototype,\\\"_getShapePageTransformCache\\\",1),__decorateClass3([computed],Editor.prototype,\\\"_getShapePageBoundsCache\\\",1),__decorateClass3([computed],Editor.prototype,\\\"_getShapeClipPathCache\\\",1),__decorateClass3([computed],Editor.prototype,\\\"_getShapeMaskCache\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getCurrentPageBounds\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getCurrentPageShapes\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getCurrentPageShapesSorted\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getCurrentPageRenderingShapesSorted\\\",1),__decorateClass3([computed({isEqual:(e,t)=>e.equals(t)})],Editor.prototype,\\\"getSharedStyles\\\",1),__decorateClass3([computed],Editor.prototype,\\\"getSharedOpacity\\\",1),init_esbuild_inject(),init_esbuild_inject();var DEFAULT_SVG='\u003Cpath d=\\\"m12 24.4219v-16.015l11.591 11.619h-6.781l-.411.124z\\\" fill=\\\"white\\\"/>\u003Cpath d=\\\"m21.0845 25.0962-3.605 1.535-4.682-11.089 3.686-1.553z\\\" fill=\\\"white\\\"/>\u003Cpath d=\\\"m19.751 24.4155-1.844.774-3.1-7.374 1.841-.775z\\\" fill=\\\"black\\\"/>\u003Cpath d=\\\"m13 10.814v11.188l2.969-2.866.428-.139h4.768z\\\" fill=\\\"black\\\"/>',POINTER_SVG='\u003Cpath d=\\\"m13.3315 21.3799c-.284-.359-.629-1.093-1.243-1.984-.348-.504-1.211-1.453-1.468-1.935-.223-.426-.199-.617-.146-.97.094-.628.738-1.117 1.425-1.051.519.049.959.392 1.355.716.239.195.533.574.71.788.163.196.203.277.377.509.23.307.302.459.214.121-.071-.496-.187-1.343-.355-2.092-.128-.568-.159-.657-.281-1.093-.129-.464-.195-.789-.316-1.281-.084-.348-.235-1.059-.276-1.459-.057-.547-.087-1.439.264-1.849.275-.321.906-.418 1.297-.22.512.259.803 1.003.936 1.3.239.534.387 1.151.516 1.961.164 1.031.466 2.462.476 2.763.024-.369-.068-1.146-.004-1.5.058-.321.328-.694.666-.795.286-.085.621-.116.916-.055.313.064.643.288.766.499.362.624.369 1.899.384 1.831.086-.376.071-1.229.284-1.584.14-.234.497-.445.687-.479.294-.052.655-.068.964-.008.249.049.586.345.677.487.218.344.342 1.317.379 1.658.015.141.074-.392.293-.736.406-.639 1.843-.763 1.898.639.025.654.02.624.02 1.064 0 .517-.012.828-.04 1.202-.031.4-.117 1.304-.242 1.742-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.191 1.813-.118.562-.079.566-.102.965-.023.398.121.922.121.922s-.802.104-1.234.035c-.391-.063-.875-.841-1-1.079-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.031-3.139.02 0 0 .185-1.011-.227-1.358-.305-.259-.83-.784-1.144-1.06z\\\" fill=\\\"white\\\"/>\u003Cg stroke=\\\"black\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\".75\\\">\u003Cpath d=\\\"m13.3315 21.3799c-.284-.359-.629-1.093-1.243-1.984-.348-.504-1.211-1.453-1.468-1.935-.223-.426-.199-.617-.146-.97.094-.628.738-1.117 1.425-1.051.519.049.959.392 1.355.716.239.195.533.574.71.788.163.196.203.277.377.509.23.307.302.459.214.121-.071-.496-.187-1.343-.355-2.092-.128-.568-.159-.657-.281-1.093-.129-.464-.195-.789-.316-1.281-.084-.348-.235-1.059-.276-1.459-.057-.547-.087-1.439.264-1.849.275-.321.906-.418 1.297-.22.512.259.803 1.003.936 1.3.239.534.387 1.151.516 1.961.164 1.031.466 2.462.476 2.763.024-.369-.068-1.146-.004-1.5.058-.321.328-.694.666-.795.286-.085.621-.116.916-.055.313.064.643.288.766.499.362.624.369 1.899.384 1.831.086-.376.071-1.229.284-1.584.14-.234.497-.445.687-.479.294-.052.655-.068.964-.008.249.049.586.345.677.487.218.344.342 1.317.379 1.658.015.141.074-.392.293-.736.406-.639 1.843-.763 1.898.639.025.654.02.624.02 1.064 0 .517-.012.828-.04 1.202-.031.4-.117 1.304-.242 1.742-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.191 1.813-.118.562-.079.566-.102.965-.023.398.121.922.121.922s-.802.104-1.234.035c-.391-.063-.875-.841-1-1.079-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.031-3.139.02 0 0 .185-1.011-.227-1.358-.305-.259-.83-.784-1.144-1.06z\\\" stroke-linejoin=\\\"round\\\"/>\u003Cpath d=\\\"m21.5664 21.7344v-3.459\\\"/>\u003Cpath d=\\\"m19.5508 21.7461-.016-3.473\\\"/>\u003Cpath d=\\\"m17.5547 18.3047.021 3.426\\\"/>\u003C/g>',CROSS_SVG='\u003Cpath d=\\\"m25 16h-6.01v-6h-2.98v6h-6.01v3h6.01v6h2.98v-6h6.01z\\\" fill=\\\"white\\\"/>\u003Cpath d=\\\"m23.9902 17.0103h-6v-6.01h-.98v6.01h-6v.98h6v6.01h.98v-6.01h6z\\\" fill=\\\"%23231f1f\\\"/>',MOVE_SVG='\u003Cpath d=\\\"m19 14h1v1h-1zm1 6h-1v-1h1zm-5-5h-1v-1h1zm0 5h-1v-1h1zm2-10.987-7.985 7.988 5.222 5.221 2.763 2.763 7.984-7.985z\\\" fill=\\\"white\\\"/>\u003Cg fill=\\\"black\\\">\u003Cpath d=\\\"m23.5664 16.9971-2.557-2.809v1.829h-4.009-4.001v-1.829l-2.571 2.809 2.572 2.808-.001-1.808h4.001 4.009l-.001 1.808z\\\"/>\u003Cpath d=\\\"m17.9873 17h.013v-4.001l1.807.001-2.807-2.571-2.809 2.57h1.809v4.001h.008v4.002l-1.828-.001 2.807 2.577 2.805-2.576h-1.805z\\\"/>\u003C/g>',CORNER_SVG=\\\"\u003Cpath d='m19.7432 17.0869-4.072 4.068 2.829 2.828-8.473-.013-.013-8.47 2.841 2.842 4.075-4.068 1.414-1.415-2.844-2.842h8.486v8.484l-2.83-2.827z' fill='%23fff'/>\u003Cpath d='m18.6826 16.7334-4.427 4.424 1.828 1.828-5.056-.016-.014-5.054 1.842 1.841 4.428-4.422 2.474-2.475-1.844-1.843h5.073v5.071l-1.83-1.828z' fill='%23000'/>\\\",EDGE_SVG=\\\"\u003Cpath d='m9 17.9907v.005l5.997 5.996.001-3.999h1.999 2.02v4l5.98-6.001-5.98-5.999.001 4.019-2.021.002h-2l.001-4.022zm1.411.003 3.587-3.588-.001 2.587h3.5 2.521v-2.585l3.565 3.586-3.564 3.585-.001-2.585h-2.521l-3.499-.001-.001 2.586z' fill='%23fff'/>\u003Cpath d='m17.4971 18.9932h2.521v2.586l3.565-3.586-3.565-3.585v2.605h-2.521-3.5v-2.607l-3.586 3.587 3.586 3.586v-2.587z' fill='%23000'/>\\\",ROTATE_CORNER_SVG='\u003Cpath d=\\\"M22.4789 9.45728L25.9935 12.9942L22.4789 16.5283V14.1032C18.126 14.1502 14.6071 17.6737 14.5675 22.0283H17.05L13.513 25.543L9.97889 22.0283H12.5674C12.6071 16.5691 17.0214 12.1503 22.4789 12.1031L22.4789 9.45728Z\\\" fill=\\\"black\\\"/>\u003Cpath fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M21.4789 7.03223L27.4035 12.9945L21.4789 18.9521V15.1868C18.4798 15.6549 16.1113 18.0273 15.649 21.0284H19.475L13.5128 26.953L7.55519 21.0284H11.6189C12.1243 15.8155 16.2679 11.6677 21.4789 11.1559L21.4789 7.03223ZM22.4789 12.1031C17.0214 12.1503 12.6071 16.5691 12.5674 22.0284H9.97889L13.513 25.543L17.05 22.0284H14.5675C14.5705 21.6896 14.5947 21.3558 14.6386 21.0284C15.1157 17.4741 17.9266 14.6592 21.4789 14.1761C21.8063 14.1316 22.1401 14.1069 22.4789 14.1032V16.5284L25.9935 12.9942L22.4789 9.45729L22.4789 12.1031Z\\\" fill=\\\"white\\\"/>',TEXT_SVG='\u003Cpath fill=\\\"white\\\" d=\\\"M7.94 0a5.25 5.25 0 0 0-3.47 1.17A5.27 5.27 0 0 0 1 0H0v3h1c1.41 0 1.85.7 2 1v3.94H2v3h1v3c-.13.3-.57 1-2 1H0v3h1a5.27 5.27 0 0 0 3.47-1.17c.98.8 2.21 1.21 3.47 1.17h1v-3h-1c-1.41 0-1.85-.7-2-1v-3H7v-3H6V4c.13-.3.57-1 2-1h1V0H7.94z\\\"/>\u003Cpath fill=\\\"black\\\" d=\\\"M7.94 2V1a4 4 0 0 0-3.47 1.64A4 4 0 0 0 1 1v1c1.3-.17 2.56.6 3 1.84v5.1H3v1h1v4.16c-.45 1.24-1.7 2-3 1.84v1a4.05 4.05 0 0 0 3.47-1.63 4.05 4.05 0 0 0 3.47 1.63v-1A2.82 2.82 0 0 1 5 14.1V9.93h1v-1H5V3.85A2.81 2.81 0 0 1 7.94 2z\\\"/>',GRABBING_SVG=\\\"\u003Cpath d='m13.5732 12.0361c.48-.178 1.427-.069 1.677.473.213.462.396 1.241.406 1.075.024-.369-.024-1.167.137-1.584.117-.304.347-.59.686-.691.285-.086.62-.116.916-.055.313.064.642.287.765.499.362.623.368 1.899.385 1.831.064-.272.07-1.229.283-1.584.141-.235.497-.445.687-.479.294-.052.656-.068.964-.008.249.049.586.344.677.487.219.344.342 1.316.379 1.658.016.141.074-.393.293-.736.406-.639 1.844-.763 1.898.639.026.654.02.624.02 1.064 0 .516-.012.828-.04 1.202-.03.399-.116 1.304-.241 1.742-.086.301-.371.978-.653 1.384 0 0-1.074 1.25-1.191 1.812-.117.563-.078.567-.102.965-.023.399.121.923.121.923s-.801.104-1.234.034c-.391-.062-.875-.84-1-1.078-.172-.328-.539-.265-.682-.023-.224.383-.709 1.07-1.05 1.113-.669.084-2.055.03-3.14.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.283-.36-1.002-.929-1.243-1.985-.213-.936-.192-1.395.037-1.77.232-.381.67-.589.854-.625.208-.042.692-.039.875.062.223.123.313.159.488.391.23.307.312.456.213.121-.076-.262-.322-.595-.434-.97-.109-.361-.401-.943-.38-1.526.008-.221.103-.771.832-1.042' fill='white'/>\u003Cg stroke='black' stroke-width='.75'>\u003Cpath d='m13.5732 12.0361c.48-.178 1.427-.069 1.677.473.213.462.396 1.241.406 1.075.024-.369-.024-1.167.137-1.584.117-.304.347-.59.686-.691.285-.086.62-.116.916-.055.313.064.642.287.765.499.362.623.368 1.899.385 1.831.064-.272.07-1.229.283-1.584.141-.235.497-.445.687-.479.294-.052.656-.068.964-.008.249.049.586.344.677.487.219.344.342 1.316.379 1.658.016.141.074-.393.293-.736.406-.639 1.844-.763 1.898.639.026.654.02.624.02 1.064 0 .516-.012.828-.04 1.202-.03.399-.116 1.304-.241 1.742-.086.301-.371.978-.653 1.384 0 0-1.074 1.25-1.191 1.812-.117.563-.078.567-.102.965-.023.399.121.923.121.923s-.801.104-1.234.034c-.391-.062-.875-.84-1-1.078-.172-.328-.539-.265-.682-.023-.224.383-.709 1.07-1.05 1.113-.669.084-2.055.03-3.14.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.283-.36-1.002-.929-1.243-1.985-.213-.936-.192-1.395.037-1.77.232-.381.67-.589.854-.625.208-.042.692-.039.875.062.223.123.313.159.488.391.23.307.312.456.213.121-.076-.262-.322-.595-.434-.97-.109-.361-.401-.943-.38-1.526.008-.221.103-.771.832-1.042z' stroke-linejoin='round'/>\u003Cpath d='m20.5664 19.7344v-3.459' stroke-linecap='round'/>\u003Cpath d='m18.5508 19.7461-.016-3.473' stroke-linecap='round'/>\u003Cpath d='m16.5547 16.3047.021 3.426' stroke-linecap='round'/>\u003C/g>\\\",GRAB_SVG='\u003Cpath d=\\\"m13.5557 17.5742c-.098-.375-.196-.847-.406-1.552-.167-.557-.342-.859-.47-1.233-.155-.455-.303-.721-.496-1.181-.139-.329-.364-1.048-.457-1.44-.119-.509.033-.924.244-1.206.253-.339.962-.49 1.357-.351.371.13.744.512.916.788.288.46.357.632.717 1.542.393.992.564 1.918.611 2.231l.085.452c-.001-.04-.043-1.122-.044-1.162-.035-1.029-.06-1.823-.038-2.939.002-.126.064-.587.084-.715.078-.5.305-.8.673-.979.412-.201.926-.215 1.401-.017.423.173.626.55.687 1.022.014.109.094.987.093 1.107-.013 1.025.006 1.641.015 2.174.004.231.003 1.625.017 1.469.061-.656.094-3.189.344-3.942.144-.433.405-.746.794-.929.431-.203 1.113-.07 1.404.243.285.305.446.692.482 1.153.032.405-.019.897-.02 1.245 0 .867-.021 1.324-.037 2.121-.001.038-.015.298.023.182.094-.28.188-.542.266-.745.049-.125.241-.614.359-.859.114-.234.211-.369.415-.688.2-.313.415-.448.668-.561.54-.235 1.109.112 1.301.591.086.215.009.713-.028 1.105-.061.647-.254 1.306-.352 1.648-.128.447-.274 1.235-.34 1.601-.072.394-.234 1.382-.359 1.82-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.192 1.812-.117.563-.078.567-.101.965-.024.399.121.923.121.923s-.802.104-1.234.034c-.391-.062-.875-.841-1-1.078-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.03-3.139.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.284-.36-.629-1.093-1.243-1.985-.348-.504-1.027-1.085-1.284-1.579-.223-.425-.331-.954-.19-1.325.225-.594.675-.897 1.362-.832.519.05.848.206 1.238.537.225.19.573.534.75.748.163.195.203.276.377.509.23.307.302.459.214.121\\\" fill=\\\"white\\\"/>\u003Cg stroke=\\\"black\\\" stroke-linecap=\\\"round\\\" stroke-width=\\\".75\\\">\u003Cpath d=\\\"m13.5557 17.5742c-.098-.375-.196-.847-.406-1.552-.167-.557-.342-.859-.47-1.233-.155-.455-.303-.721-.496-1.181-.139-.329-.364-1.048-.457-1.44-.119-.509.033-.924.244-1.206.253-.339.962-.49 1.357-.351.371.13.744.512.916.788.288.46.357.632.717 1.542.393.992.564 1.918.611 2.231l.085.452c-.001-.04-.043-1.122-.044-1.162-.035-1.029-.06-1.823-.038-2.939.002-.126.064-.587.084-.715.078-.5.305-.8.673-.979.412-.201.926-.215 1.401-.017.423.173.626.55.687 1.022.014.109.094.987.093 1.107-.013 1.025.006 1.641.015 2.174.004.231.003 1.625.017 1.469.061-.656.094-3.189.344-3.942.144-.433.405-.746.794-.929.431-.203 1.113-.07 1.404.243.285.305.446.692.482 1.153.032.405-.019.897-.02 1.245 0 .867-.021 1.324-.037 2.121-.001.038-.015.298.023.182.094-.28.188-.542.266-.745.049-.125.241-.614.359-.859.114-.234.211-.369.415-.688.2-.313.415-.448.668-.561.54-.235 1.109.112 1.301.591.086.215.009.713-.028 1.105-.061.647-.254 1.306-.352 1.648-.128.447-.274 1.235-.34 1.601-.072.394-.234 1.382-.359 1.82-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.192 1.812-.117.563-.078.567-.101.965-.024.399.121.923.121.923s-.802.104-1.234.034c-.391-.062-.875-.841-1-1.078-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.03-3.139.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.284-.36-.629-1.093-1.243-1.985-.348-.504-1.027-1.085-1.284-1.579-.223-.425-.331-.954-.19-1.325.225-.594.675-.897 1.362-.832.519.05.848.206 1.238.537.225.19.573.534.75.748.163.195.203.276.377.509.23.307.302.459.214.121\\\" stroke-linejoin=\\\"round\\\"/>\u003Cpath d=\\\"m20.5664 21.7344v-3.459\\\"/>\u003Cpath d=\\\"m18.5508 21.7461-.016-3.473\\\"/>\u003Cpath d=\\\"m16.5547 18.3047.021 3.426\\\"/>\u003C/g>',ZOOM_IN_SVG='\u003Cpath d=\\\"m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5\\\" fill=\\\"white\\\"/>\u003Cpath d=\\\"m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5z\\\" stroke=\\\"black\\\"/>\u003Cg fill=\\\"black\\\">\u003Cpath d=\\\"m18 14h-2v-2h-2v2h-2v1.98h2v2.02h2v-2.02h2z\\\"/>\u003Cpath d=\\\"m23.5859 25 1.414-1.414-5.449-5.449-1.414 1.414z\\\"/>\u003C/g>',ZOOM_OUT_SVG='\u003Cpath d=\\\"m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5\\\" fill=\\\"white\\\"/>\u003Cpath d=\\\"m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5z\\\" stroke=\\\"black\\\"/>\u003Cg fill=\\\"black\\\">\u003Cpath d=\\\"m18 16h-5.98v-1.98h5.98z\\\"/>\u003Cpath d=\\\"m23.5859 25 1.414-1.414-5.449-5.449-1.414 1.414z\\\"/>\u003C/g>';function getCursorCss(e,t,r,i,n,o=16,a=16){var s=PI/180*(-r-t),l=Math.sin(s),s=Math.cos(s);return`url(\\\"data:image/svg+xml,\u003Csvg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: ${n};'>\u003Cdefs>\u003Cfilter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'>\u003CfeDropShadow dx='${+s-+l}' dy='${+l+ +s}' stdDeviation='1.2' flood-opacity='.5'/>\u003C/filter>\u003C/defs>\u003Cg fill='none' transform='rotate(${t+r} 16 16)${i?\\\" scale(-1,-1) translate(0, -32)\\\":\\\"\\\"}' filter='url(%23shadow)'>`+e.replaceAll('\\\"',\\\"'\\\")+`\u003C/g>\u003C/svg>\\\") ${o} ${a}, pointer`}var CURSORS={none:()=>\\\"none\\\",\\\"default\\\":(e,t,r)=>getCursorCss(DEFAULT_SVG,e,0,t,r,12,8),pointer:(e,t,r)=>getCursorCss(POINTER_SVG,e,0,t,r,14,10),cross:(e,t,r)=>getCursorCss(CROSS_SVG,e,0,t,r),move:(e,t,r)=>getCursorCss(MOVE_SVG,e,0,t,r),grab:(e,t,r)=>getCursorCss(GRAB_SVG,e,0,t,r),grabbing:(e,t,r)=>getCursorCss(GRABBING_SVG,e,0,t,r),text:(e,t,r)=>getCursorCss(TEXT_SVG,e,0,t,r,4,10),\\\"ew-resize\\\":(e,t,r)=>getCursorCss(EDGE_SVG,e,0,t,r),\\\"ns-resize\\\":(e,t,r)=>getCursorCss(EDGE_SVG,e,90,t,r),\\\"nesw-resize\\\":(e,t,r)=>getCursorCss(CORNER_SVG,e,0,t,r),\\\"nwse-resize\\\":(e,t,r)=>getCursorCss(CORNER_SVG,e,90,t,r),\\\"nwse-rotate\\\":(e,t,r)=>getCursorCss(ROTATE_CORNER_SVG,e,0,t,r),\\\"nesw-rotate\\\":(e,t,r)=>getCursorCss(ROTATE_CORNER_SVG,e,90,t,r),\\\"senw-rotate\\\":(e,t,r)=>getCursorCss(ROTATE_CORNER_SVG,e,180,t,r),\\\"swne-rotate\\\":(e,t,r)=>getCursorCss(ROTATE_CORNER_SVG,e,270,t,r),\\\"zoom-in\\\":(e,t,r)=>getCursorCss(ZOOM_IN_SVG,e,0,t,r),\\\"zoom-out\\\":(e,t,r)=>getCursorCss(ZOOM_OUT_SVG,e,0,t,r)};function getCursor(e,t=0,r=\\\"black\\\"){return CURSORS[e](radiansToDegrees(t),!1,r)}var STATIC_CURSORS=[\\\"default\\\",\\\"pointer\\\",\\\"cross\\\",\\\"move\\\",\\\"grab\\\",\\\"grabbing\\\",\\\"text\\\"];function useCursor(){const r=useEditor(),i=useContainer(),n=useIsDarkMode();useQuickReactor(\\\"useCursor\\\",()=>{var{type:e,rotation:t}=r.getInstanceState().cursor;STATIC_CURSORS.includes(e)?i.style.setProperty(\\\"--tl-cursor\\\",`var(--tl-cursor-${e})`):i.style.setProperty(\\\"--tl-cursor\\\",getCursor(e,t,n?\\\"white\\\":\\\"black\\\"))},[r,i,n])}init_esbuild_inject();var import_react29=__toESM(require(\\\"react\\\"),1);function useDarkMode(){var e=useEditor();const t=useContainer(),r=useIsDarkMode(),i=useValue(debugFlags.forceSrgb);import_react29[\\\"default\\\"].useEffect(()=>{r?(t.setAttribute(\\\"data-color-mode\\\",\\\"dark\\\"),t.classList.remove(\\\"tl-theme__light\\\"),t.classList.add(\\\"tl-theme__dark\\\")):(t.setAttribute(\\\"data-color-mode\\\",\\\"light\\\"),t.classList.remove(\\\"tl-theme__dark\\\"),t.classList.add(\\\"tl-theme__light\\\")),i?t.classList.add(\\\"tl-theme__force-sRGB\\\"):t.classList.remove(\\\"tl-theme__force-sRGB\\\")},[e,t,i,r])}init_esbuild_inject();var import_react30=require(\\\"react\\\");function useEvent(e){const r=(0,import_react30.useRef)();return(0,import_react30.useLayoutEffect)(()=>{r.current=e}),(0,import_react30.useDebugValue)(e),(0,import_react30.useCallback)((...e)=>{var t=r.current;return assert(t,\\\"fn does not exist\\\"),t(...e)},[])}init_esbuild_inject();var import_react31=require(\\\"react\\\");function useFocusEvents(e){const t=useEditor();var r=useContainer();(0,import_react31.useLayoutEffect)(()=>{e?(t.getInstanceState().isFocused||t.updateInstanceState({isFocused:!0}),t.getContainer().focus()):t.getInstanceState().isFocused&&t.updateInstanceState({isFocused:!1})},[t,r,e])}init_esbuild_inject();var import_react32=require(\\\"react\\\");function useForceUpdate(){const[,e]=(0,import_react32.useState)(0);(0,import_react32.useEffect)(()=>e(e=>e+1),[])}init_esbuild_inject();var _a,_b,import_react34=require(\\\"react\\\"),tabIdKey=(init_esbuild_inject(),init_esbuild_inject(),\\\"TLDRAW_TAB_ID_v2\\\"),window2=globalThis.window;function iOS(){return!!window2&&([\\\"iPad Simulator\\\",\\\"iPhone Simulator\\\",\\\"iPod Simulator\\\",\\\"iPad\\\",\\\"iPhone\\\",\\\"iPod\\\"].includes(window2.navigator.platform)||window2.navigator.userAgent.includes(\\\"Mac\\\")&&\\\"ontouchend\\\"in document)}var TAB_ID=null!=(_b=null!=(_a=null==window2?void 0:window2[tabIdKey])?_a:null==window2?void 0:window2.sessionStorage[tabIdKey])?_b:\\\"TLDRAW_INSTANCE_STATE_V1_\\\"+uniqueId(),Versions13=(window2&&(window2[tabIdKey]=TAB_ID,iOS()?window2.sessionStorage[tabIdKey]=TAB_ID:delete window2.sessionStorage[tabIdKey]),null!=window2&&window2.addEventListener(\\\"beforeunload\\\",()=>{window2.sessionStorage[tabIdKey]=TAB_ID}),{Initial:0}),CURRENT_SESSION_STATE_SNAPSHOT_VERSION=Versions13.Initial,sessionStateSnapshotValidator=validation_exports.object({version:validation_exports.number,currentPageId:pageIdValidator,isFocusMode:validation_exports[\\\"boolean\\\"],exportBackground:validation_exports[\\\"boolean\\\"],isDebugMode:validation_exports[\\\"boolean\\\"],isToolLocked:validation_exports[\\\"boolean\\\"],isGridMode:validation_exports[\\\"boolean\\\"],pageStates:validation_exports.arrayOf(validation_exports.object({pageId:pageIdValidator,camera:validation_exports.object({x:validation_exports.number,y:validation_exports.number,z:validation_exports.number}),selectedShapeIds:validation_exports.arrayOf(shapeIdValidator),focusedGroupId:shapeIdValidator.nullable()}))}),sessionStateSnapshotMigrations=defineMigrations({currentVersion:CURRENT_SESSION_STATE_SNAPSHOT_VERSION});function migrateAndValidateSessionStateSnapshot(e){if(!e||\\\"object\\\"!=typeof e)return console.warn(\\\"Invalid instance state\\\"),null;if(!(\\\"version\\\"in e)||\\\"number\\\"!=typeof e.version)return console.warn(\\\"No version in instance state\\\"),null;var t=migrate({value:e,fromVersion:e.version,toVersion:CURRENT_SESSION_STATE_SNAPSHOT_VERSION,migrations:sessionStateSnapshotMigrations});if(\\\"error\\\"===t.type)return console.warn(t.reason),null;t={...t.value,version:CURRENT_SESSION_STATE_SNAPSHOT_VERSION};try{sessionStateSnapshotValidator.validate(t)}catch(r){return console.warn(r),null}return t}function createSessionStateSnapshotSignal(n){const r=n.query.ids(\\\"page\\\");return computed(\\\"sessionStateSnapshot\\\",()=>{var e,t=n.get(TLINSTANCE_ID);return t?(e=[...r.get()],{version:CURRENT_SESSION_STATE_SNAPSHOT_VERSION,currentPageId:t.currentPageId,exportBackground:t.exportBackground,isFocusMode:t.isFocusMode,isDebugMode:t.isDebugMode,isToolLocked:t.isToolLocked,isGridMode:t.isGridMode,pageStates:e.map(e=>{var t,r=n.get(InstancePageStateRecordType.createId(e)),i=n.get(CameraRecordType.createId(e));return{pageId:e,camera:{x:null!=(t=null==i?void 0:i.x)?t:0,y:null!=(t=null==i?void 0:i.y)?t:0,z:null!=(t=null==i?void 0:i.z)?t:1},selectedShapeIds:null!=(i=null==r?void 0:r.selectedShapeIds)?i:[],focusedGroupId:null!=(t=null==r?void 0:r.focusedGroupId)?t:null}})}):null})}function loadSessionStateSnapshotIntoStore(e,t){var r=migrateAndValidateSessionStateSnapshot(t);if(r){const o={added:{},updated:{},removed:{...objectMapFromEntries(e.allRecords().filter(e=>\\\"instance_page_state\\\"===e.typeName||\\\"camera\\\"===e.typeName).map(e=>[e.id,e]))}},a=(e.has(TLINSTANCE_ID)&&(o.removed[TLINSTANCE_ID]=e.get(TLINSTANCE_ID)),{removed:{},updated:{},added:{[TLINSTANCE_ID]:e.schema.types.instance.create({id:TLINSTANCE_ID,currentPageId:r.currentPageId,isDebugMode:r.isDebugMode,isFocusMode:r.isFocusMode,isToolLocked:r.isToolLocked,isGridMode:r.isGridMode,exportBackground:r.exportBackground})}});for(const s of r.pageStates){var i=CameraRecordType.createId(s.pageId),n=InstancePageStateRecordType.createId(s.pageId);a.added[i]=CameraRecordType.create({id:CameraRecordType.createId(s.pageId),x:s.camera.x,y:s.camera.y,z:s.camera.z}),a.added[n]=InstancePageStateRecordType.create({id:InstancePageStateRecordType.createId(s.pageId),pageId:s.pageId,selectedShapeIds:s.selectedShapeIds,focusedGroupId:s.focusedGroupId})}transact(()=>{e.applyDiff(squashRecordDiffs([o,a])),e.ensureStoreIsUsable()})}}function extractSessionStateFromLegacySnapshot(r){var e,t=[];for(const a of Object.values(r))null!=(e=a.typeName)&&e.match(/^(instance.*|pointer|camera)$/)&&t.push(a);const i=t.filter(e=>\\\"instance\\\"===e.typeName&&e.id!==TLINSTANCE_ID)[0];if(!i)return null;var n={version:CURRENT_SESSION_STATE_SNAPSHOT_VERSION,currentPageId:i.currentPageId,exportBackground:!!i.exportBackground,isFocusMode:!!i.isFocusMode,isDebugMode:!!i.isDebugMode,isToolLocked:!!i.isToolLocked,isGridMode:!1,pageStates:t.filter(e=>\\\"instance_page_state\\\"===e.typeName&&e.instanceId===i.id).map(e=>{var t=null!=(t=r[e.cameraId])?t:{x:0,y:0,z:1};return{pageId:e.pageId,camera:{x:t.x,y:t.y,z:t.z},selectedShapeIds:e.selectedShapeIds,focusedGroupId:e.focusedGroupId}})};try{return sessionStateSnapshotValidator.validate(n),n}catch(o){return null}}function showCantWriteToIndexDbAlert(){window.alert(`Oops! We could not save changes to your browser's storage. We now need to reload the page and try again.\\n\\nKeep seeing this message?\\n• If you're using tldraw in a private or \\\"incognito\\\" window, try loading tldraw in a regular window or in a different browser.\\n• If your hard disk is full, try clearing up some space and then reload the page.`)}function showCantReadFromIndexDbAlert(){window.alert(`Oops! We could not access your browser's storage—and the app won't work correctly without that. We now need to reload the page and try again.\\n\\nKeep seeing this message?\\n• If you're using tldraw in a private or \\\"incognito\\\" window, try loading tldraw in a regular window or in a different browser.`)}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var idbProxyableTypes,cursorAdvanceMethods,instanceOfAny=(t,e)=>e.some(e=>t instanceof e);function getIdbProxyableTypes(){return idbProxyableTypes=idbProxyableTypes||[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]}function getCursorAdvanceMethods(){return cursorAdvanceMethods=cursorAdvanceMethods||[IDBCursor.prototype.advance,IDBCursor.prototype[\\\"continue\\\"],IDBCursor.prototype.continuePrimaryKey]}var cursorRequestMap=new WeakMap,transactionDoneMap=new WeakMap,transactionStoreNamesMap=new WeakMap,transformCache=new WeakMap,reverseTransformCache=new WeakMap;function promisifyRequest(o){var e=new Promise((e,t)=>{const r=()=>{o.removeEventListener(\\\"success\\\",i),o.removeEventListener(\\\"error\\\",n)},i=()=>{e(wrap(o.result)),r()},n=()=>{t(o.error),r()};o.addEventListener(\\\"success\\\",i),o.addEventListener(\\\"error\\\",n)});return e.then(e=>{e instanceof IDBCursor&&cursorRequestMap.set(e,o)})[\\\"catch\\\"](()=>{}),reverseTransformCache.set(e,o),e}function cacheDonePromiseForTransaction(o){var e;transactionDoneMap.has(o)||(e=new Promise((e,t)=>{const r=()=>{o.removeEventListener(\\\"complete\\\",i),o.removeEventListener(\\\"error\\\",n),o.removeEventListener(\\\"abort\\\",n)},i=()=>{e(),r()},n=()=>{t(o.error||new DOMException(\\\"AbortError\\\",\\\"AbortError\\\")),r()};o.addEventListener(\\\"complete\\\",i),o.addEventListener(\\\"error\\\",n),o.addEventListener(\\\"abort\\\",n)}),transactionDoneMap.set(o,e))}var idbProxyTraps={get(e,t,r){if(e instanceof IDBTransaction){if(\\\"done\\\"===t)return transactionDoneMap.get(e);if(\\\"objectStoreNames\\\"===t)return e.objectStoreNames||transactionStoreNamesMap.get(e);if(\\\"store\\\"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return wrap(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(\\\"done\\\"===t||\\\"store\\\"===t)||t in e}};function replaceTraps(e){idbProxyTraps=e(idbProxyTraps)}function wrapFunction(i){return i!==IDBDatabase.prototype.transaction||\\\"objectStoreNames\\\"in IDBTransaction.prototype?getCursorAdvanceMethods().includes(i)?function(...e){return i.apply(unwrap(this),e),wrap(cursorRequestMap.get(this))}:function(...e){return wrap(i.apply(unwrap(this),e))}:function(e,...t){var r=i.call(unwrap(this),e,...t);return transactionStoreNamesMap.set(r,e.sort?e.sort():[e]),wrap(r)}}function transformCachableValue(e){return\\\"function\\\"==typeof e?wrapFunction(e):(e instanceof IDBTransaction&&cacheDonePromiseForTransaction(e),instanceOfAny(e,getIdbProxyableTypes())?new Proxy(e,idbProxyTraps):e)}function wrap(e){var t;return e instanceof IDBRequest?promisifyRequest(e):transformCache.has(e)?transformCache.get(e):((t=transformCachableValue(e))!==e&&(transformCache.set(e,t),reverseTransformCache.set(t,e)),t)}var unwrap=e=>reverseTransformCache.get(e);function openDB(e,t,{blocked:r,upgrade:i,blocking:n,terminated:o}={}){const a=indexedDB.open(e,t);var s=wrap(a);return i&&a.addEventListener(\\\"upgradeneeded\\\",e=>{i(wrap(a.result),e.oldVersion,e.newVersion,wrap(a.transaction),e)}),r&&a.addEventListener(\\\"blocked\\\",e=>r(e.oldVersion,e.newVersion,e)),s.then(e=>{o&&e.addEventListener(\\\"close\\\",()=>o()),n&&e.addEventListener(\\\"versionchange\\\",e=>n(e.oldVersion,e.newVersion,e))})[\\\"catch\\\"](()=>{}),s}function deleteDB(e,{blocked:t}={}){var r=indexedDB.deleteDatabase(e);return t&&r.addEventListener(\\\"blocked\\\",e=>t(e.oldVersion,e)),wrap(r).then(()=>{})}var readMethods=[\\\"get\\\",\\\"getKey\\\",\\\"getAll\\\",\\\"getAllKeys\\\",\\\"count\\\"],writeMethods=[\\\"put\\\",\\\"add\\\",\\\"delete\\\",\\\"clear\\\"],cachedMethods=new Map;function getMethod(e,t){if(e instanceof IDBDatabase&&!(t in e)&&\\\"string\\\"==typeof t){if(cachedMethods.get(t))return cachedMethods.get(t);const n=t.replace(/FromIndex$/,\\\"\\\"),o=t!==n,a=writeMethods.includes(n);var r;return n in(o?IDBIndex:IDBObjectStore).prototype&&(a||readMethods.includes(n))?(cachedMethods.set(t,r=async function(e,...t){var r=this.transaction(e,a?\\\"readwrite\\\":\\\"readonly\\\");let i=r.store;return o&&(i=i.index(t.shift())),(await Promise.all([i[n](...t),a&&r.done]))[0]}),r):void 0}}replaceTraps(i=>({...i,get:(e,t,r)=>getMethod(e,t)||i.get(e,t,r),has:(e,t)=>!!getMethod(e,t)||i.has(e,t)}));var STORE_PREFIX=\\\"TLDRAW_DOCUMENT_v2\\\",dbNameIndexKey=\\\"TLDRAW_DB_NAME_INDEX_v2\\\",Table={Records:\\\"records\\\",Schema:\\\"schema\\\",SessionState:\\\"session_state\\\"};async function withDb(e,t){addDbName(e);var r=await openDB(e,3,{upgrade(e){e.objectStoreNames.contains(Table.Records)||e.createObjectStore(Table.Records),e.objectStoreNames.contains(Table.Schema)||e.createObjectStore(Table.Schema),e.objectStoreNames.contains(Table.SessionState)||e.createObjectStore(Table.SessionState)}});try{return await t(r)}finally{r.close()}}async function loadDataFromStore({persistenceKey:e,sessionId:s,didCancel:l}){var t=STORE_PREFIX+e;if(getAllIndexDbNames().includes(t))return await pruneSessionState({persistenceKey:e,didCancel:l}),withDb(t,async t=>{if(null==l||!l()){var r=t.transaction([Table.Records,Table.Schema,Table.SessionState],\\\"readonly\\\"),i=r.objectStore(Table.Records),n=r.objectStore(Table.Schema),o=r.objectStore(Table.SessionState);let e=s?null==(a=await o.get(s))?void 0:a.snapshot:null;e||(a=await o.getAll(),e=null==(o=a.sort((e,t)=>e.updatedAt-t.updatedAt).pop())?void 0:o.snapshot);var a={records:await i.getAll(),schema:await n.get(Table.Schema),sessionStateSnapshot:e};if(null==l||!l())return await r.done,a;r.abort()}})}async function storeChangesInIndexedDb({persistenceKey:e,schema:d,changes:u,sessionId:p,sessionStateSnapshot:h,didCancel:m}){await withDb(STORE_PREFIX+e,async e=>{var t,r,i,n,o=e.transaction([Table.Records,Table.Schema,Table.SessionState],\\\"readwrite\\\"),a=o.objectStore(Table.Records),s=o.objectStore(Table.Schema),l=o.objectStore(Table.SessionState);for([t,r]of Object.entries(u.added))await a.put(r,t);for([i,n]of Object.values(u.updated))await a.put(n,n.id);for(const c of Object.keys(u.removed))await a[\\\"delete\\\"](c);if(s.put(d.serialize(),Table.Schema),h&&p?l.put({snapshot:h,updatedAt:Date.now(),id:p},p):(h||p)&&console.error(\\\"sessionStateSnapshot and instanceId must be provided together\\\"),null!=m&&m())return o.abort();await o.done})}async function storeSnapshotInIndexedDb({persistenceKey:e,schema:s,snapshot:l,sessionId:c,sessionStateSnapshot:d,didCancel:u}){await withDb(STORE_PREFIX+e,async e=>{var t,r,i=e.transaction([Table.Records,Table.Schema,Table.SessionState],\\\"readwrite\\\"),n=i.objectStore(Table.Records),o=i.objectStore(Table.Schema),a=i.objectStore(Table.SessionState);await n.clear();for([t,r]of Object.entries(l))await n.put(r,t);if(o.put(s.serialize(),Table.Schema),d&&c?a.put({snapshot:d,updatedAt:Date.now(),id:c},c):(d||c)&&console.error(\\\"sessionStateSnapshot and instanceId must be provided together\\\"),null!=u&&u())return i.abort();await i.done})}async function pruneSessionState({persistenceKey:e,didCancel:o}){await withDb(STORE_PREFIX+e,async e=>{var t,r=e.transaction([Table.SessionState],\\\"readwrite\\\"),i=r.objectStore(Table.SessionState),n=(await i.getAll()).sort((e,t)=>e.updatedAt-t.updatedAt);if(!(n.length\u003C10)){for({id:t}of n.slice(0,n.length-10))await i[\\\"delete\\\"](t);if(null!=o&&o())return r.abort()}await r.done})}function getAllIndexDbNames(){var e=null!=(e=JSON.parse((null==window?void 0:window.localStorage.getItem(dbNameIndexKey))||\\\"[]\\\"))?e:[];return Array.isArray(e)?e:[]}function addDbName(e){var t=new Set(getAllIndexDbNames());t.add(e),null!=window&&window.localStorage.setItem(dbNameIndexKey,JSON.stringify([...t]))}var PERSIST_THROTTLE_MS=350,PERSIST_RETRY_THROTTLE_MS=1e4,UPDATE_INSTANCE_STATE=Symbol(\\\"UPDATE_INSTANCE_STATE\\\"),msg=e=>e,BroadcastChannelMock=class{constructor(e){__publicField(this,\\\"onmessage\\\")}postMessage(e){}close(){}},BC=\\\"undefined\\\"==typeof BroadcastChannel?BroadcastChannelMock:BroadcastChannel,TLLocalSyncClient=class{constructor(e,{persistenceKey:t,sessionId:r=TAB_ID,onLoad:i,onLoadError:n},o=new BC(\\\"tldraw-tab-sync-\\\"+t)){__publicField(this,\\\"disposables\\\",new Set),__publicField(this,\\\"diffQueue\\\",[]),__publicField(this,\\\"didDispose\\\",!1),__publicField(this,\\\"shouldDoFullDBWrite\\\",!0),__publicField(this,\\\"isReloading\\\",!1),__publicField(this,\\\"persistenceKey\\\"),__publicField(this,\\\"sessionId\\\"),__publicField(this,\\\"serializedSchema\\\"),__publicField(this,\\\"isDebugging\\\",!1),__publicField(this,\\\"documentTypes\\\"),__publicField(this,\\\"$sessionStateSnapshot\\\"),__publicField(this,\\\"initTime\\\",Date.now()),__publicField(this,\\\"isPersisting\\\",!1),__publicField(this,\\\"didLastWriteError\\\",!1),__publicField(this,\\\"scheduledPersistTimeout\\\",null),this.store=e,this.channel=o,\\\"undefined\\\"!=typeof window&&(window.tlsync=this),this.persistenceKey=t,this.sessionId=r,this.serializedSchema=this.store.schema.serialize(),this.$sessionStateSnapshot=createSessionStateSnapshotSignal(this.store),this.disposables.add(e.listen(({changes:e})=>{this.diffQueue.push(e),this.channel.postMessage(msg({type:\\\"diff\\\",storeId:this.store.id,changes:e,schema:this.serializedSchema})),this.schedulePersist()},{source:\\\"user\\\",scope:\\\"document\\\"})),this.disposables.add(e.listen(()=>{this.diffQueue.push(UPDATE_INSTANCE_STATE),this.schedulePersist()},{scope:\\\"session\\\"})),this.connect(i,n),this.documentTypes=new Set(Object.values(this.store.schema.types).filter(e=>\\\"document\\\"===e.scope).map(e=>e.typeName))}debug(...e){this.isDebugging&&console.debug(...e)}async connect(e,o){var t,r;this.debug(\\\"connecting\\\");let i;try{i=await loadDataFromStore({persistenceKey:this.persistenceKey,sessionId:this.sessionId,didCancel:()=>this.didDispose})}catch(s){return o(s),showCantReadFromIndexDbAlert(),void(\\\"undefined\\\"!=typeof window&&window.location.reload())}if(this.debug(\\\"loaded data from store\\\",i,\\\"didDispose\\\",this.didDispose),!this.didDispose)try{if(i){var n=Object.fromEntries(i.records.map(e=>[e.id,e])),a=null!=(t=i.sessionStateSnapshot)?t:extractSessionStateFromLegacySnapshot(n);const c=this.store.schema.migrateStoreSnapshot({store:n,schema:null!=(r=i.schema)?r:this.store.schema.serializeEarliestVersion()});if(\\\"error\\\"===c.type)return console.error(\\\"failed to migrate store\\\",c),void o(new Error(\\\"Failed to migrate store: \\\"+c.reason));this.store.mergeRemoteChanges(()=>{this.store.put(Object.values(c.value).filter(e=>this.documentTypes.has(e.typeName)),\\\"initialize\\\")}),a&&loadSessionStateSnapshotIntoStore(this.store,a)}this.channel.onmessage=({data:e})=>{var t,r;this.debug(\\\"got message\\\",e);const i=e;var n=compareSchemas(this.serializedSchema,null!=(n=i.schema)?n:this.store.schema.serializeEarliestVersion());if(-1===n)return Date.now()-this.initTime\u003C5e3?void o(new Error(\\\"Schema mismatch, please close other tabs and reload the page\\\")):(this.debug(\\\"reloading\\\"),this.isReloading=!0,void(null!=(r=null==(t=null==window?void 0:window.location)?void 0:t.reload)&&r.call(t)));1===n?(this.debug(\\\"telling them to reload\\\"),this.channel.postMessage({type:\\\"announce\\\",schema:this.serializedSchema}),this.shouldDoFullDBWrite=!0,this.persistIfNeeded()):\\\"diff\\\"===i.type&&(this.debug(\\\"applying diff\\\"),transact(()=>{this.store.mergeRemoteChanges(()=>{this.store.applyDiff(i.changes),this.store.ensureStoreIsUsable()})}))},this.channel.postMessage({type:\\\"announce\\\",schema:this.serializedSchema}),this.disposables.add(()=>{this.channel.close()}),e(this)}catch(l){this.debug(\\\"error loading data from store\\\",l),this.didDispose||o(l)}}close(){this.debug(\\\"closing\\\"),this.didDispose=!0,this.disposables.forEach(e=>e())}schedulePersist(){this.debug(\\\"schedulePersist\\\",this.scheduledPersistTimeout),this.scheduledPersistTimeout||(this.scheduledPersistTimeout=setTimeout(()=>{this.scheduledPersistTimeout=null,this.persistIfNeeded()},this.didLastWriteError?PERSIST_RETRY_THROTTLE_MS:PERSIST_THROTTLE_MS))}persistIfNeeded(){this.debug(\\\"persistIfNeeded\\\",{isPersisting:this.isPersisting,isReloading:this.isReloading,shouldDoFullDBWrite:this.shouldDoFullDBWrite,diffQueueLength:this.diffQueue.length,storeIsPossiblyCorrupt:this.store.isPossiblyCorrupted()}),this.scheduledPersistTimeout&&(clearTimeout(this.scheduledPersistTimeout),this.scheduledPersistTimeout=null),this.isPersisting||this.isReloading||this.store.isPossiblyCorrupted()||(this.shouldDoFullDBWrite||0\u003Cthis.diffQueue.length)&&this.doPersist()}async doPersist(){assert(!this.isPersisting,\\\"persist already in progress\\\"),this.isPersisting=!0,this.debug(\\\"doPersist start\\\");var e,t=this.diffQueue;this.diffQueue=[];try{this.shouldDoFullDBWrite?(this.shouldDoFullDBWrite=!1,await storeSnapshotInIndexedDb({persistenceKey:this.persistenceKey,schema:this.store.schema,snapshot:this.store.serialize(),didCancel:()=>this.didDispose,sessionId:this.sessionId,sessionStateSnapshot:this.$sessionStateSnapshot.get()})):(e=squashRecordDiffs(t.filter(e=>e!==UPDATE_INSTANCE_STATE)),await storeChangesInIndexedDb({persistenceKey:this.persistenceKey,changes:e,schema:this.store.schema,didCancel:()=>this.didDispose,sessionId:this.sessionId,sessionStateSnapshot:this.$sessionStateSnapshot.get()})),this.didLastWriteError=!1}catch(r){this.shouldDoFullDBWrite=!0,this.didLastWriteError=!0,console.error(\\\"failed to store changes in indexed db\\\",r),showCantWriteToIndexDbAlert(),\\\"undefined\\\"!=typeof window&&window.location.reload()}this.isPersisting=!1,this.debug(\\\"doPersist end\\\"),this.schedulePersist()}},import_react33=(init_esbuild_inject(),require(\\\"react\\\"));function createTLStore({initialData:e,defaultName:t=\\\"\\\",...r}){var i=\\\"schema\\\"in r&&r.schema?r.schema:createTLSchema({shapes:currentPageShapesToShapeMap(checkShapesAndAddCore(\\\"shapeUtils\\\"in r&&r.shapeUtils?r.shapeUtils:[]))});return new Store({schema:i,initialData:e,props:{defaultName:t}})}function currentPageShapesToShapeMap(e){return Object.fromEntries(e.map(e=>[e.type,{props:e.props,migrations:e.migrations}]))}function createStore(e){var t=createTLStore(e);return e.snapshot&&t.loadSnapshot(e.snapshot),{store:t,opts:e}}function useTLStore(e){var[t,r]=(0,import_react33.useState)(()=>createStore(e));return areObjectsShallowEqual(t.opts,e)||r(t=createStore(e)),t.store}function useLocalStore({persistenceKey:i,sessionId:n,...e}){var t;const[r,o]=(0,import_react34.useState)(null),a=useTLStore(e);return(0,import_react34.useEffect)(()=>{const r=uniqueId();if(i){o({id:r,storeWithStatus:{status:\\\"loading\\\"}});const t=t=>{o(e=>(null==e?void 0:e.id)===r?{id:r,storeWithStatus:t}:e)},e=new TLLocalSyncClient(a,{sessionId:n,persistenceKey:i,onLoad(){t({store:a,status:\\\"synced-local\\\"})},onLoadError(e){t({status:\\\"error\\\",error:e})}});return()=>{o(e=>(null==e?void 0:e.id)===r?null:e),e.close()}}o({id:r,storeWithStatus:{status:\\\"not-synced\\\",store:a}})},[i,a,n]),null!=(t=null==r?void 0:r.storeWithStatus)?t:{status:\\\"loading\\\"}}init_esbuild_inject(),init_esbuild_inject();var React14=__toESM(require(\\\"react\\\"),1),isMobileSafari=!1;if(\\\"undefined\\\"!=typeof window){const Cq0=window.navigator.userAgent,Dq0=!!Cq0.match(/iPad/i)||!!Cq0.match(/iPhone/i),Eq0=!!Cq0.match(/WebKit/i);isMobileSafari=Dq0&&Eq0&&!Cq0.match(/CriOS/i)}function useSafariFocusOutFix(){const t=useEditor();React14.useEffect(()=>{if(isMobileSafari)return document.addEventListener(\\\"focusout\\\",e),()=>document.removeEventListener(\\\"focusout\\\",e);function e(e){(e.target instanceof HTMLInputElement&&\\\"text\\\"===e.target.type||e.target instanceof HTMLTextAreaElement)&&t.complete()}},[t])}init_esbuild_inject();var React15=__toESM(require(\\\"react\\\"),1);function useZoomCss(){const i=useEditor(),n=useContainer();React15.useEffect(()=>{const e=e=>n.style.setProperty(\\\"--tl-zoom\\\",e.toString()),t=debounce(e,100),r=new EffectScheduler(\\\"useZoomCss\\\",()=>{(i.getCurrentPageShapeIds().size\u003C300?e:t)(i.getZoomLevel())});return r.attach(),r.execute(),()=>{r.detach()}},[i,n])}var EMPTY_SHAPE_UTILS_ARRAY=[],EMPTY_TOOLS_ARRAY=[],TldrawEditor=(0,import_react35.memo)(function TldrawEditor2({store:e,components:t,className:r,user:i,...n}){var[o,a]=import_react35[\\\"default\\\"].useState(null),s=(0,import_react35.useMemo)(()=>null!=i?i:createTLUser(),[i]),l=void 0===(null==t?void 0:t.ErrorFallback)?DefaultErrorFallback:null==t?void 0:t.ErrorFallback,c={...n,shapeUtils:null!=(c=n.shapeUtils)?c:EMPTY_SHAPE_UTILS_ARRAY,tools:null!=(c=n.tools)?c:EMPTY_TOOLS_ARRAY,components:t};return(0,import_jsx_runtime29.jsx)(\\\"div\\\",{ref:a,draggable:!1,className:(0,import_classnames10[\\\"default\\\"])(\\\"tl-container tl-theme__light\\\",r),onPointerDown:stopEventPropagation,tabIndex:-1,children:(0,import_jsx_runtime29.jsx)(OptionalErrorBoundary,{fallback:l,onError:e=>annotateError(e,{tags:{origin:\\\"react.tldraw-before-app\\\"}}),children:o&&(0,import_jsx_runtime29.jsx)(ContainerProvider,{container:o,children:(0,import_jsx_runtime29.jsx)(EditorComponentsProvider,{overrides:t,children:e?e instanceof Store?(0,import_jsx_runtime29.jsx)(TldrawEditorWithReadyStore,{...c,store:e,user:s}):(0,import_jsx_runtime29.jsx)(TldrawEditorWithLoadingStore,{...c,store:e,user:s}):(0,import_jsx_runtime29.jsx)(TldrawEditorWithOwnStore,{...c,store:e,user:s})})})})})});function TldrawEditorWithOwnStore(e){var{defaultName:t,snapshot:r,initialData:i,shapeUtils:n,persistenceKey:o,sessionId:a,user:s}=e,n=useLocalStore({shapeUtils:n,initialData:i,persistenceKey:o,sessionId:a,defaultName:t,snapshot:r});return(0,import_jsx_runtime29.jsx)(TldrawEditorWithLoadingStore,{...e,store:n,user:s})}var TldrawEditorWithLoadingStore=(0,import_react35.memo)(function TldrawEditorBeforeLoading({store:e,user:t,...r}){const i=useContainer();switch((0,import_react35.useLayoutEffect)(()=>{t.userPreferences.get().isDarkMode&&(i.classList.remove(\\\"tl-theme__light\\\"),i.classList.add(\\\"tl-theme__dark\\\"))},[i,t]),e.status){case\\\"error\\\":throw e.error;case\\\"loading\\\":var n=null!=(n=null==(n=r.components)?void 0:n.LoadingScreen)?n:DefaultLoadingScreen;return(0,import_jsx_runtime29.jsx)(n,{})}return(0,import_jsx_runtime29.jsx)(TldrawEditorWithReadyStore,{...r,store:e.store,user:t})});function TldrawEditorWithReadyStore({onMount:e,children:t,store:r,tools:i,shapeUtils:n,user:o,initialState:a,autoFocus:s=!0,inferDarkMode:l}){var c=useEditorComponents()[\\\"ErrorFallback\\\"];const d=useContainer(),[u,p]=(0,import_react35.useState)(null);(0,import_react35.useLayoutEffect)(()=>{const e=new Editor({store:r,shapeUtils:n,tools:i,getContainer:()=>d,user:o,initialState:a,inferDarkMode:l});return window.app=e,window.editor=e,p(e),()=>{e.dispose()}},[d,n,i,r,o,a,l]);var h=(0,import_react35.useSyncExternalStore)((0,import_react35.useCallback)(e=>u?(u.on(\\\"crash\\\",e),()=>u.off(\\\"crash\\\",e)):()=>{},[u]),()=>{var e;return null!=(e=null==u?void 0:u.getCrashingError())?e:null});return u?(0,import_jsx_runtime29.jsx)(OptionalErrorBoundary,{fallback:c,onError:e=>u.annotateError(e,{origin:\\\"react.tldraw\\\",willCrashApp:!0}),children:h?(0,import_jsx_runtime29.jsx)(Crash,{crashingError:h}):(0,import_jsx_runtime29.jsx)(EditorContext.Provider,{value:u,children:(0,import_jsx_runtime29.jsx)(Layout,{autoFocus:s,onMount:e,children:t})})}):null}function Layout({children:e,onMount:t,autoFocus:r}){return useZoomCss(),useCursor(),useDarkMode(),useSafariFocusOutFix(),useForceUpdate(),useFocusEvents(r),useOnMount(t),useDPRMultiple(),useEditor().updateViewportScreenBounds(),null!=e?e:(0,import_jsx_runtime29.jsx)(Canvas,{})}function Crash({crashingError:e}){throw e}function LoadingScreen({children:e}){var t=useEditorComponents()[\\\"Spinner\\\"];return(0,import_jsx_runtime29.jsxs)(\\\"div\\\",{className:\\\"tl-loading\\\",children:[t?(0,import_jsx_runtime29.jsx)(t,{}):null,e]})}function ErrorScreen({children:e}){return(0,import_jsx_runtime29.jsx)(\\\"div\\\",{className:\\\"tl-loading\\\",children:e})}function useOnMount(r){const e=useEditor(),t=useEvent(e=>{var t=null==r?void 0:r(e);return e.emit(\\\"mount\\\"),window.tldrawReady=!0,t});import_react35[\\\"default\\\"].useLayoutEffect(()=>!e||null==t?void 0:t(e),[e,t])}init_esbuild_inject();var import_jsx_runtime30=require(\\\"react/jsx-runtime\\\");function HTMLContainer({children:e,className:t=\\\"\\\",...r}){return(0,import_jsx_runtime30.jsx)(\\\"div\\\",{...r,className:\\\"tl-html-container \\\"+t,children:e})}init_esbuild_inject();var import_jsx_runtime31=require(\\\"react/jsx-runtime\\\"),import_classnames11=__toESM(require_classnames(),1),import_react36=require(\\\"react\\\"),PositionedOnCanvas=track(function PositionedOnCanvas2({x:n=0,y:o=0,rotation:a=0,...e}){const s=useEditor(),l=(0,import_react36.useRef)(null);var t=s.getCamera();return(0,import_react36.useLayoutEffect)(()=>{var{x:e,y:t,z:r}=s.getCamera(),i=l.current;i&&void 0!==e&&(i.style.transform=`translate(${e}px, ${t}px) scale(${r}) rotate(${a}rad) translate(${n}px, ${o}px)`)},[t,s,n,o,a]),(0,import_jsx_runtime31.jsx)(\\\"div\\\",{ref:l,...e,className:(0,import_classnames11[\\\"default\\\"])(\\\"tl-positioned\\\",e.className)})});function resizeBox(e,t,r={}){var{newPoint:i,handle:n,scaleX:o,scaleY:a}=t,{minWidth:s=1,maxWidth:l=Infinity,minHeight:c=1,maxHeight:d=Infinity}=r;let u=e.props.w*o,p=e.props.h*a;var h=new Vec(0,0);if(0\u003Cu){if(u\u003Cs){switch(n){case\\\"top_left\\\":case\\\"left\\\":case\\\"bottom_left\\\":h.x=u-s;break;case\\\"top\\\":case\\\"bottom\\\":h.x=(u-s)/2;break;default:h.x=0}u=s}}else if((u=-(h.x=u))\u003Cs){switch(n){case\\\"top_left\\\":case\\\"left\\\":case\\\"bottom_left\\\":h.x=-u;break;default:h.x=-s}u=s}if(0\u003Cp){if(p\u003Cc){switch(n){case\\\"top_left\\\":case\\\"top\\\":case\\\"top_right\\\":h.y=p-c;break;case\\\"right\\\":case\\\"left\\\":h.y=(p-c)/2;break;default:h.y=0}p=c}}else if((p=-(h.y=p))\u003Cc){switch(n){case\\\"top_left\\\":case\\\"top\\\":case\\\"top_right\\\":h.y=-p;break;default:h.y=-c}p=c}var{x:o,y:a}=h.rot(e.rotation).add(i);return{x:o,y:a,props:{w:Math.min(l,u),h:Math.min(d,p)}}}init_esbuild_inject(),init_esbuild_inject();var BaseBoxShapeUtil=class extends ShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"onResize\\\",(e,t)=>resizeBox(e,t))}getGeometry(e){return new Rectangle2d({width:e.props.w,height:e.props.h,isFilled:!0})}},Idle=(init_esbuild_inject(),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onPointerDown\\\",e=>{this.parent.transition(\\\"pointing\\\",e)}),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")})}}),Pointing=(__publicField(Idle,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"wasFocusedOnEnter\\\",!1),__publicField(this,\\\"onEnter\\\",()=>{this.wasFocusedOnEnter=!this.editor.getIsMenuOpen()}),__publicField(this,\\\"onPointerMove\\\",e=>{var t,r,i;this.editor.inputs.isDragging&&(t=this.editor.inputs[\\\"originPagePoint\\\"],r=this.parent.shapeType,i=createShapeId(),this.markId=\\\"creating:\\\"+i,this.editor.mark(this.markId),this.editor.createShapes([{id:i,type:r,x:t.x,y:t.y,props:{w:1,h:1}}]).select(i),this.editor.setCurrentTool(\\\"select.resizing\\\",{...e,target:\\\"selection\\\",handle:\\\"bottom_right\\\",isCreating:!0,creationCursorOffset:{x:1,y:1},onInteractionEnd:this.parent.id,onCreate:this.parent.onCreate}))}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()})}complete(){var e,t,r,i,n=this.editor.inputs[\\\"originPagePoint\\\"];this.wasFocusedOnEnter&&(this.editor.mark(this.markId),e=this.parent.shapeType,t=createShapeId(),this.editor.mark(this.markId),this.editor.createShapes([{id:t,type:e,x:n.x,y:n.y}]),n=this.editor.getShape(t),({w:r,h:i}=this.editor.getShapeUtil(n).getDefaultProps()),r=new Vec(r/2,i/2),(i=this.editor.getShapeParentTransform(n))&&r.rot(-i.rotation()),this.editor.updateShapes([{id:t,type:e,x:n.x-r.x,y:n.y-r.y}]),this.editor.setSelectedShapes([t]),this.editor.getInstanceState().isToolLocked?this.parent.transition(\\\"idle\\\"):this.editor.setCurrentTool(\\\"select.idle\\\"))}cancel(){this.parent.transition(\\\"idle\\\")}}),BaseBoxShapeTool=(__publicField(Pointing,\\\"id\\\",\\\"pointing\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onCreate\\\")}}),import_react37=(__publicField(BaseBoxShapeTool,\\\"id\\\",\\\"box\\\"),__publicField(BaseBoxShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(BaseBoxShapeTool,\\\"children\\\",()=>[Idle,Pointing]),init_esbuild_inject(),require(\\\"react\\\"));function useIdentity(e,t){var r=(0,import_react37.useRef)(e);return t(e,r.current)?r.current:r.current=e}function useShallowArrayIdentity(e){return useIdentity(e,areArraysShallowEqual)}function useShallowObjectIdentity(e){return useIdentity(e,areObjectsShallowEqual)}function useIsCropping(e){const t=useEditor();return useValue(\\\"isCropping\\\",()=>t.getCroppingShapeId()===e,[t,e])}function useIsEditing(e){const t=useEditor();return useValue(\\\"isEditing\\\",()=>t.getEditingShapeId()===e,[t,e])}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var import_react38=require(\\\"react\\\");function useSelectionEvents(i){const n=useEditor();return(0,import_react38.useMemo)(function(){let t,r;return{onPointerDown:e=>{if(!e.isKilled)if(2===e.button)n.dispatch({type:\\\"pointer\\\",target:\\\"selection\\\",handle:i,name:\\\"right_click\\\",...getPointerInfo(e)});else if(0===e.button){const r=loopToHtmlElement(e.currentTarget);setPointerCapture(r,e),r.addEventListener(\\\"pointerup\\\",function t(){r.removeEventListener(\\\"pointerup\\\",t),releasePointerCapture(r,e)}),n.dispatch({name:\\\"pointer_down\\\",type:\\\"pointer\\\",target:\\\"selection\\\",handle:i,...getPointerInfo(e)}),stopEventPropagation(e)}},onPointerMove:function(e){e.isKilled||0!==e.button||e.clientX===t&&e.clientY===r||(t=e.clientX,r=e.clientY,n.dispatch({name:\\\"pointer_move\\\",type:\\\"pointer\\\",target:\\\"selection\\\",handle:i,...getPointerInfo(e)}))},onPointerUp:e=>{e.isKilled||0===e.button&&n.dispatch({name:\\\"pointer_up\\\",type:\\\"pointer\\\",target:\\\"selection\\\",handle:i,...getPointerInfo(e)})}}},[n,i])}init_esbuild_inject(),init_esbuild_inject();var SPACING=20,MIN_COUNT=8;function getVerticesCountForLength(e,t=SPACING){return Math.max(MIN_COUNT,Math.ceil(e/t))}var Arc2d=class extends Geometry2d{constructor(e){super({...e,isFilled:!1,isClosed:!1}),__publicField(this,\\\"_center\\\"),__publicField(this,\\\"radius\\\"),__publicField(this,\\\"start\\\"),__publicField(this,\\\"end\\\"),__publicField(this,\\\"measure\\\"),__publicField(this,\\\"length\\\"),__publicField(this,\\\"angleStart\\\"),__publicField(this,\\\"angleEnd\\\");var{center:t,radius:r,sweepFlag:i,largeArcFlag:n,start:o,end:a}=e;if(o.equals(a))throw Error(\\\"Arc must have different start and end points.\\\");this.angleStart=Vec.Angle(t,o),this.angleEnd=Vec.Angle(t,a),this.measure=getArcMeasure(this.angleStart,this.angleEnd,i,n),this.length=this.measure*r,this.start=o,this.end=a,this._center=t,this.radius=r}nearestPoint(e){var{_center:t,measure:r,radius:i,angleEnd:n,angleStart:o,start:a,end:s}=this,r=getPointInArcT(r,o,n,t.angle(e));if(r\u003C=0)return a;if(1\u003C=r)return s;o=t.clone().add(e.clone().sub(t).uni().mul(i));let l=Infinity,c;for(const d of[a,s,o])e.dist(d)\u003Cl&&(c=d,l=e.dist(d));if(c)return c;throw Error(\\\"nearest point not found\\\")}hitTestLineSegment(e,t,r){const{_center:i,radius:n,measure:o,angleStart:a,angleEnd:s}=this;var l=intersectLineSegmentCircle(e,t,i,n);return null!==l&&l.some(e=>{var t=getPointInArcT(o,a,s,i.angle(e));return 0\u003C=t&&t\u003C=1})}getVertices(){var{_center:e,measure:t,length:r,radius:i,angleStart:n}=this,o=[];for(let s=0,l=getVerticesCountForLength(Math.abs(r));s\u003Cl+1;s++){var a=n+s/l*t;o.push(e.clone().add(new Vec(Math.cos(a),Math.sin(a)).mul(i)))}return o}};function getPointInArcT(e,t,r,i){let n;var o;return Math.abs(e)>PI?(n=shortAngleDist(t,i),o=shortAngleDist(i,r),Math.abs(n)\u003CMath.abs(o)?n/e:(e-o)/e):(n=shortAngleDist(t,i))/e}function getArcMeasure(e,t,r,i){var n=(t-e)%PI2*2%PI2-(t-e)%PI2;return i?(PI2-Math.abs(n))*(r?1:-1):n}init_esbuild_inject();var Circle2d=class extends Geometry2d{constructor(e){super({isClosed:!0,...e}),__publicField(this,\\\"_center\\\"),__publicField(this,\\\"radius\\\"),__publicField(this,\\\"x\\\"),__publicField(this,\\\"y\\\");var{x:t=0,y:r=0,radius:i}=this.config=e;this.x=t,this.y=r,this._center=new Vec(i+t,i+r),this.radius=i}getBounds(){return new Box(this.x,this.y,2*this.radius,2*this.radius)}getVertices(){var{_center:e,radius:t}=this,r=[];for(let n=0,o=getVerticesCountForLength(PI2*t);n\u003Co;n++){var i=n/o*PI2;r.push(e.clone().add(Vec.FromAngle(i).mul(t)))}return r}nearestPoint(e){var{_center:t,radius:r}=this;return t.equals(e)?Vec.AddXY(t,r,0):t.clone().add(e.clone().sub(t).uni().mul(r))}hitTestLineSegment(e,t,r){var{_center:i,radius:n}=this;return null!==intersectLineSegmentCircle(e,t,i,n)}},CubicBezier2d=(init_esbuild_inject(),class extends Polyline2d{constructor(e){var{start:t,cp1:r,cp2:i,end:n}=e;super({...e,points:[t,n]}),__publicField(this,\\\"a\\\"),__publicField(this,\\\"b\\\"),__publicField(this,\\\"c\\\"),__publicField(this,\\\"d\\\"),this.a=t,this.b=r,this.c=i,this.d=n}getVertices(){var e=[],{a:t,b:r,c:i,d:n}=this;for(let a=0;a\u003C=10;a++){var o=a/10;e.push(new Vec((1-o)*(1-o)*(1-o)*t.x+(1-o)*(1-o)*3*o*r.x+3*(1-o)*(o*o)*i.x+o*o*o*n.x,(1-o)*(1-o)*(1-o)*t.y+(1-o)*(1-o)*3*o*r.y+3*(1-o)*(o*o)*i.y+o*o*o*n.y))}return e}midPoint(){return getAtT(this,.5)}nearestPoint(e){let t,r=Infinity;for(const o of this.segments){var i=o.nearestPoint(e),n=i.dist(e);n\u003Cr&&(t=i,r=n)}if(t)return t;throw Error(\\\"nearest point not found\\\")}});function getAtT(e,t){var{a:r,b:i,c:n,d:o}=e;return new Vec((1-t)*(1-t)*(1-t)*r.x+(1-t)*(1-t)*3*t*i.x+3*(1-t)*(t*t)*n.x+t*t*t*o.x,(1-t)*(1-t)*(1-t)*r.y+(1-t)*(1-t)*3*t*i.y+3*(1-t)*(t*t)*n.y+t*t*t*o.y)}init_esbuild_inject();var CubicSpline2d=class extends Geometry2d{constructor(e){super({...e,isClosed:!1,isFilled:!1}),__publicField(this,\\\"points\\\"),__publicField(this,\\\"_segments\\\"),__publicField(this,\\\"_length\\\");var t=e[\\\"points\\\"];this.points=t}get segments(){if(!this._segments){this._segments=[];var t=this[\\\"points\\\"],r=t.length,i=r-2;for(let e=0;e\u003Cr-1;e++){var n=0===e?t[0]:t[e-1],o=t[e],a=t[e+1],s=e===i?a:t[e+2],l=o,n=0===e?n:new Vec(o.x+(a.x-n.x)/6*1.25,o.y+(a.y-n.y)/6*1.25),s=e===i?a:new Vec(a.x-(s.x-o.x)/6*1.25,a.y-(s.y-o.y)/6*1.25);this._segments.push(new CubicBezier2d({start:l,cp1:n,cp2:s,end:a}))}}return this._segments}get length(){return this._length||(this._length=this.segments.reduce((e,t)=>e+t.length,0)),this._length}getVertices(){var e=this.segments.reduce((e,t)=>e.concat(t.vertices),[]);return e.push(this.points[this.points.length-1]),e}nearestPoint(e){let t,r=Infinity;for(const o of this.segments){var i=o.nearestPoint(e),n=i.dist(e);n\u003Cr&&(t=i,r=n)}if(t)return t;throw Error(\\\"nearest point not found\\\")}hitTestLineSegment(t,r,i){return this.segments.some(e=>e.hitTestLineSegment(t,r,i))}},Ellipse2d=(init_esbuild_inject(),class extends Geometry2d{constructor(e){super({...e,isClosed:!0}),__publicField(this,\\\"w\\\"),__publicField(this,\\\"h\\\"),__publicField(this,\\\"_edges\\\");var{width:t,height:r}=this.config=e;this.w=t,this.h=r}get edges(){if(!this._edges){var r=this[\\\"vertices\\\"];this._edges=[];for(let e=0,t=r.length;e\u003Ct;e++){var i=r[e],n=r[(e+1)%t];this._edges.push(new Edge2d({start:i,end:n}))}}return this._edges}getVertices(){var e=Math.max(1,this.w)/2,t=Math.max(1,this.h)/2,r=Math.pow(e-t,2)/Math.pow(e+t,2),i=getVerticesCountForLength(PI*(e+t)*(1+3*r/(10+Math.sqrt(4-3*r)))),r=PI2/i,n=Math.cos(r),o=Math.sin(r);let a=0,s=1;var l,c,d=Array(i);for(let u=0;u\u003Ci;u++)d[u]=new Vec(e+e*s,t+t*a),l=o*s+n*a,c=n*s-o*a,a=l,s=c;return d}nearestPoint(e){let t,r=Infinity;for(const o of this.edges){var i=o.nearestPoint(e),n=i.dist(e);n\u003Cr&&(t=i,r=n)}if(t)return t;throw Error(\\\"nearest point not found\\\")}hitTestLineSegment(t,r,i){return this.edges.some(e=>e.hitTestLineSegment(t,r,i))}getBounds(){return new Box(0,0,this.w,this.h)}}),Stadium2d=(init_esbuild_inject(),init_esbuild_inject(),class extends Ellipse2d{constructor(e){super({...e}),this.config=e}getVertices(){var r=Math.max(1,this.w),i=Math.max(1,this.h),n=r/2,o=i/2,a=Array(18);if(r\u003Ci)for(let e=0;e\u003C9;e++){var s=-PI+PI*e/8,l=PI*e/8;a[e]=new Vec(n+n*Math.cos(s),n+n*Math.sin(s)),a[e+9]=new Vec(n+n*Math.cos(l),i-n+n*Math.sin(l))}else for(let t=0;t\u003C9;t++){var c=-HALF_PI+PI*t/8,d=HALF_PI+PI*-t/8;a[t]=new Vec(r-o+o*Math.cos(c),i-o+o*Math.sin(c)),a[t+9]=new Vec(o-o*Math.cos(d),i-o+o*Math.sin(d))}return a}});function getEdgeProximityFactor(e,t){return e\u003C0?1:t\u003Ce?-1:e\u003CEDGE_SCROLL_DISTANCE?(EDGE_SCROLL_DISTANCE-e)/EDGE_SCROLL_DISTANCE:t-EDGE_SCROLL_DISTANCE\u003Ce?-(EDGE_SCROLL_DISTANCE-t+e)/EDGE_SCROLL_DISTANCE:0}function moveCameraWhenCloseToEdge(e){var t,r,i,n,o,a;e.inputs.isDragging&&!e.inputs.isPanning&&(({currentScreenPoint:{x:n,y:i}}=e.inputs),t=e.getZoomLevel(),o=(a=e.getViewportScreenBounds()).w\u003C1e3?.612:1,r=a.h\u003C1e3?.612:1,n=getEdgeProximityFactor(n-a.x,a.w),i=getEdgeProximityFactor(i-a.y,a.h),0!==n||0!==i)&&(n=(a=e.user.getEdgeScrollSpeed()*EDGE_SCROLL_SPEED)*n*o/t,o=a*i*r/t,a=e.getCamera(),e.setCamera({x:a.x+n,y:a.y+o}))}async function hardReset({shouldReload:e=!0}={}){sessionStorage.clear(),await Promise.all(getAllIndexDbNames().map(e=>deleteDB(e))),localStorage.clear(),e&&window.location.reload()}function openWindow(e,t=\\\"_blank\\\"){runtime.openWindow(e,t)}init_esbuild_inject(),init_esbuild_inject(),\\\"undefined\\\"!=typeof window&&(window.hardReset=hardReset,window.__tldraw__hardReset=hardReset),init_esbuild_inject();var import_at=__toESM(require_at2(),1),import_flat=__toESM(require_flat2(),1),import_flat_map=__toESM(require_flat_map2(),1),import_at2=__toESM(require_at4(),1),import_replace_all=__toESM(require_replace_all2(),1),import_jsx_runtime127=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react125=require(\\\"react\\\"),import_jsx_runtime32=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),TldrawHandles=({children:e})=>{const t=useEditor();return useValue(\\\"shouldDisplayHandles\\\",()=>t.isInAny(\\\"select.idle\\\",\\\"select.pointing_handle\\\"),[t])?(0,import_jsx_runtime32.jsx)(\\\"svg\\\",{className:\\\"tl-user-handles tl-overlays__item\\\",children:e}):null},import_jsx_runtime33=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),TldrawHoveredShapeIndicator=({shapeId:e})=>{const t=useEditor();return useValue(\\\"show hovered\\\",()=>t.isIn(\\\"select.editing_shape\\\")?t.getHoveredShapeId()!==t.getEditingShapeId():t.isInAny(\\\"select.idle\\\"),[t])?(0,import_jsx_runtime33.jsx)(ShapeIndicator,{className:\\\"tl-user-indicator__hovered\\\",id:e}):null},import_jsx_runtime34=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames12=__toESM(require_classnames(),1),PI3=(init_esbuild_inject(),init_esbuild_inject(),Math)[\\\"PI\\\"],FIXED_PI=PI3+1e-4;function getStrokeOutlineTracks(e,t={}){var{size:r=16,smoothing:i=.5}=t;if(0===e.length||r\u003C=0)return{left:[],right:[]};var n=e[0],o=e[e.length-1],a=o.runningLength,s=Math.pow(r*i,2),l=[],c=[];let d=e[0].vector,u=e[0].point,p=u,h=u,m=p,g=!1;for(let E=0;E\u003Ce.length;E++){var _=e[E],{point:f,vector:b}=e[E],v=_.vector.dpr(d),y=(E\u003Ce.length-1?e[E+1]:e[E]).vector,S=E\u003Ce.length-1?y.dpr(_.vector):1,x=null!==S&&S\u003C.2;if(v\u003C0&&!g||x){if(-.62\u003CS&&a-_.runningLength>_.radius){var v=d.clone().mul(_.radius),w=d.clone().cpr(y);m=w\u003C0?(h=Vec.Add(f,v),Vec.Sub(f,v)):(h=Vec.Sub(f,v),Vec.Add(f,v)),l.push(h),c.push(m)}else{var w=d.clone().mul(_.radius).per(),$=Vec.Sub(_.input,w);for(let e=0;e\u003C1;e+=1/13)h=Vec.RotWith($,_.input,FIXED_PI*e),l.push(h),m=Vec.RotWith($,_.input,FIXED_PI+FIXED_PI*-e),c.push(m)}u=h,p=m,x&&(g=!0)}else g=!1,_===n||_===o?(v=Vec.Per(b).mul(_.radius),l.push(Vec.Sub(f,v)),c.push(Vec.Add(f,v))):(x=Vec.Lrp(y,b,S).per().mul(_.radius),h=Vec.Sub(f,x),(E\u003C=1||Vec.Dist2(u,h)>s)&&(l.push(h),u=h),m=Vec.Add(f,x),(E\u003C=1||Vec.Dist2(p,m)>s)&&(c.push(m),p=m),d=b)}return{left:l,right:c}}function getStrokeOutlinePoints(e,t={}){var{size:r=16,start:i={},end:n={},last:o=!1}=t,{cap:a=!0}=i,{cap:s=!0}=n;if(0===e.length||r\u003C=0)return[];var l=e[0],c=e[e.length-1],d=c.runningLength,i=!1===i.taper?0:!0===i.taper?Math.max(r,d):i.taper,r=!1===n.taper?0:!0===n.taper?Math.max(r,d):n.taper,{left:d,right:u}=getStrokeOutlineTracks(e,t),p=l.point,h=1\u003Ce.length?e[e.length-1].point:Vec.AddXY(l.point,1,1);if(1===e.length&&(!i&&!r||o)){var m=Vec.Add(p,Vec.Sub(p,h).uni().per().mul(-l.radius)),g=[];for(let e=1/13;e\u003C=1;e+=1/13)g.push(Vec.RotWith(m,p,2*FIXED_PI*e));return g}var _=[];if(!(i||r&&1===e.length))if(a)for(let e=1/8;e\u003C=1;e+=1/8){var f=Vec.RotWith(u[0],p,FIXED_PI*e);_.push(f)}else{n=Vec.Sub(d[0],u[0]),o=Vec.Mul(n,.5),l=Vec.Mul(n,.51);_.push(Vec.Sub(p,o),Vec.Sub(p,l),Vec.Add(p,l),Vec.Add(p,o))}var b=[],a=c.vector.clone().per().neg();if(r||i&&1===e.length)b.push(h);else if(s){var v=Vec.Add(h,Vec.Mul(a,c.radius));for(let e=1/29;e\u003C1;e+=1/29)b.push(Vec.RotWith(v,h,3*FIXED_PI*e))}else b.push(Vec.Add(h,Vec.Mul(a,c.radius)),Vec.Add(h,Vec.Mul(a,.99*c.radius)),Vec.Sub(h,Vec.Mul(a,.99*c.radius)),Vec.Sub(h,Vec.Mul(a,c.radius)));return d.concat(b,u.reverse(),_)}init_esbuild_inject();var MIN_START_PRESSURE=.025,MIN_END_PRESSURE=.01;function getStrokePoints(e,t={}){var{streamline:r=.5,size:i=16,simulatePressure:n=!1}=t;if(0===e.length)return[];var o=.15+.85*(1-r);let a=e.map(Vec.From),s=0;if(!n){let e=a[0];for(;e&&!(e.z>=MIN_START_PRESSURE);)a.shift(),e=a[0]}if(!n){let e=a[a.length-1];for(;e&&!(e.z>=MIN_END_PRESSURE);)a.pop(),e=a[a.length-1]}if(0===a.length)return[{point:Vec.From(e[0]),input:Vec.From(e[0]),pressure:n?.5:.15,vector:new Vec(1,1),distance:0,runningLength:0,radius:1}];let l=a[1];for(;l&&!(Vec.Dist(l,a[0])>i/3);)a[0].z=Math.max(a[0].z,l.z),a.splice(1,1),l=a[1];var c=a.pop();for(l=a[a.length-1];l&&!(Vec.Dist(l,c)>i/3);)a.pop(),l=a[a.length-1],s++;a.push(c);var d=t.last||!t.simulatePressure||1\u003Ca.length&&Vec.Dist(a[a.length-1],a[a.length-2])\u003Ci||0\u003Cs;if(2===a.length&&t.simulatePressure){var u=a[1];a=a.slice(0,-1);for(let e=1;e\u003C5;e++){var p=Vec.Lrp(a[0],u,e/4);p.z=(a[0].z+(u.z-a[0].z))*e/4,a.push(p)}}var h,m,g=[{point:a[0],input:a[0],pressure:n?.5:a[0].z,vector:new Vec(1,1),distance:0,runningLength:0,radius:1}];let _=0,f=g[0];d&&0\u003Cr&&a.push(a[a.length-1].clone());for(let b=1,v=a.length;b\u003Cv;b++)h=!o||t.last&&b===v-1?a[b].clone():a[b].clone().lrp(f.point,1-o),f.point.equals(h)||(m=Vec.Dist(h,f.point),_+=m,b\u003C4&&_\u003Ci)||(f={input:a[b],point:h,pressure:n?.5:a[b].z,vector:Vec.Sub(f.point,h).uni(),distance:m,runningLength:_,radius:1},g.push(f));if(null!=(d=g[1])&&d.vector&&(g[0].vector=g[1].vector.clone()),_\u003C1){const y=Math.max(.5,...g.map(e=>e.pressure));g.forEach(e=>e.pressure=y)}return g}init_esbuild_inject();var min=Math[\\\"min\\\"],RATE_OF_PRESSURE_CHANGE=.275;function setStrokePointRadii(n,e){const{size:o=16,thinning:a=.5,simulatePressure:s=!0,easing:l=e=>e,start:t={},end:r={}}=e;var{easing:i=EASINGS.easeOutQuad}=t,{easing:c=EASINGS.easeOutCubic}=r,d=n[n.length-1].runningLength;let u,p=n[0].pressure,h;if(!s&&d\u003Co){const x=n.reduce((e,t)=>Math.max(e,t.pressure),.5);n.forEach(e=>{e.pressure=x,e.radius=o*l(.5-a*(.5-e.pressure))})}else{{let e;for(let t=0,r=n.length;t\u003Cr&&!((h=n[t]).runningLength>5*o);t++){var m,g=min(1,h.distance/o);e=s?(m=min(1,1-g),min(1,p+(m-p)*(g*RATE_OF_PRESSURE_CHANGE))):min(1,p+.5*(h.pressure-p)),p+=.5*(e-p)}for(let i=0;i\u003Cn.length;i++){if(h=n[i],a){let e=h[\\\"pressure\\\"];var _,f=min(1,h.distance/o);e=s?(_=min(1,1-f),min(1,p+(_-p)*(f*RATE_OF_PRESSURE_CHANGE))):min(1,p+(e-p)*(f*RATE_OF_PRESSURE_CHANGE)),h.radius=o*l(.5-a*(.5-e)),p=e}else h.radius=o/2;void 0===u&&(u=h.radius)}}var b=!1===t.taper?0:!0===t.taper?Math.max(o,d):t.taper,v=!1===r.taper?0:!0===r.taper?Math.max(o,d):r.taper;if(b||v)for(let e=0;e\u003Cn.length;e++){var y=(h=n[e])[\\\"runningLength\\\"],S=y\u003Cb?i(y/b):1,y=d-y\u003Cv?c((d-y)/v):1;h.radius=Math.max(.01,h.radius*Math.min(S,y))}}return n}function getStroke(e,t={}){return getStrokeOutlinePoints(setStrokePointRadii(getStrokePoints(e,t),t),t)}var TldrawScribble=({scribble:e,zoom:t,color:r,opacity:i,className:n})=>{if(!e.points.length)return null;var o,a,s,l=getStroke(e.points,{size:e.size/t,start:{taper:e.taper,easing:EASINGS.linear},last:\\\"stopping\\\"===e.state,simulatePressure:!1,streamline:.32});let c;return c=l.length\u003C4?(o=e.size/t/2,({x:a,y:s}=e.points[e.points.length-1]),`M ${a-o},${s} a ${o},${o} 0 1,0 ${2*o},0 a ${o},${o} 0 1,0 ${2*-o},0`):getSvgPathFromPoints(l),(0,import_jsx_runtime34.jsx)(\\\"svg\\\",{className:n&&(0,import_classnames12[\\\"default\\\"])(\\\"tl-overlays__item\\\",n),children:(0,import_jsx_runtime34.jsx)(\\\"path\\\",{className:\\\"tl-scribble\\\",d:c,fill:null!=r?r:`var(--color-${e.color})`,opacity:null!=i?i:e.opacity})})},import_jsx_runtime35=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),TldrawSelectionBackground=({bounds:e,rotation:t})=>{const r=useEditor();return useValue(\\\"should display\\\",()=>r.isInAny(\\\"select.idle\\\",\\\"select.brushing\\\",\\\"select.scribble_brushing\\\",\\\"select.pointing_shape\\\",\\\"select.pointing_selection\\\",\\\"text.resizing\\\"),[r])?(0,import_jsx_runtime35.jsx)(DefaultSelectionBackground,{bounds:e,rotation:t}):null},import_jsx_runtime37=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames14=__toESM(require_classnames(),1),import_react39=require(\\\"react\\\");function useReadonly(){const e=useEditor();return useValue(\\\"isReadonlyMode\\\",()=>e.getInstanceState().isReadonly,[e])}init_esbuild_inject(),init_esbuild_inject();var import_jsx_runtime36=require(\\\"react/jsx-runtime\\\"),import_classnames13=__toESM(require_classnames(),1);function TldrawCropHandles({size:e,width:t,height:r,hideAlternateHandles:i}){var n=toDomPrecision(e/3),o=n/2;return(0,import_jsx_runtime36.jsxs)(\\\"svg\\\",{className:\\\"tl-overlays__item\\\",children:[(0,import_jsx_runtime36.jsx)(\\\"polyline\\\",{className:\\\"tl-corner-crop-handle\\\",points:`\\n\\t\\t\\t\\t\\t\\t${toDomPrecision(0-o)},${toDomPrecision(e)} \\n\\t\\t\\t\\t\\t\\t${toDomPrecision(0-o)},${toDomPrecision(0-o)} \\n\\t\\t\\t\\t\\t\\t${toDomPrecision(e)},`+toDomPrecision(0-o),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.top_left\\\",\\\"aria-label\\\":\\\"top_left handle\\\"}),(0,import_jsx_runtime36.jsx)(\\\"line\\\",{className:(0,import_classnames13[\\\"default\\\"])(\\\"tl-corner-crop-edge-handle\\\",{\\\"tl-hidden\\\":i}),x1:toDomPrecision(t/2-e),y1:toDomPrecision(0-o),x2:toDomPrecision(t/2+e),y2:toDomPrecision(0-o),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.top\\\",\\\"aria-label\\\":\\\"top handle\\\"}),(0,import_jsx_runtime36.jsx)(\\\"polyline\\\",{className:(0,import_classnames13[\\\"default\\\"])(\\\"tl-corner-crop-handle\\\",{\\\"tl-hidden\\\":i}),points:`\\n\\t\\t\\t\\t\\t\\t${toDomPrecision(t-e)},${toDomPrecision(0-o)} \\n\\t\\t\\t\\t\\t\\t${toDomPrecision(t+o)},${toDomPrecision(0-o)} \\n\\t\\t\\t\\t\\t\\t${toDomPrecision(t+o)},`+toDomPrecision(e),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.top_right\\\",\\\"aria-label\\\":\\\"top_right handle\\\"}),(0,import_jsx_runtime36.jsx)(\\\"line\\\",{className:(0,import_classnames13[\\\"default\\\"])(\\\"tl-corner-crop-edge-handle\\\",{\\\"tl-hidden\\\":i}),x1:toDomPrecision(t+o),y1:toDomPrecision(r/2-e),x2:toDomPrecision(t+o),y2:toDomPrecision(r/2+e),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.right\\\",\\\"aria-label\\\":\\\"right handle\\\"}),(0,import_jsx_runtime36.jsx)(\\\"polyline\\\",{className:\\\"tl-corner-crop-handle\\\",points:`\\n\\t\\t\\t\\t\\t\\t${toDomPrecision(t+o)},${toDomPrecision(r-e)} \\n\\t\\t\\t\\t\\t\\t${toDomPrecision(t+o)},${toDomPrecision(r+o)}\\n\\t\\t\\t\\t\\t\\t${toDomPrecision(t-e)},`+toDomPrecision(r+o),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.bottom_right\\\",\\\"aria-label\\\":\\\"bottom_right handle\\\"}),(0,import_jsx_runtime36.jsx)(\\\"line\\\",{className:(0,import_classnames13[\\\"default\\\"])(\\\"tl-corner-crop-edge-handle\\\",{\\\"tl-hidden\\\":i}),x1:toDomPrecision(t/2-e),y1:toDomPrecision(r+o),x2:toDomPrecision(t/2+e),y2:toDomPrecision(r+o),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.bottom\\\",\\\"aria-label\\\":\\\"bottom handle\\\"}),(0,import_jsx_runtime36.jsx)(\\\"polyline\\\",{className:(0,import_classnames13[\\\"default\\\"])(\\\"tl-corner-crop-handle\\\",{\\\"tl-hidden\\\":i}),points:`\\n\\t\\t\\t\\t\\t\\t${toDomPrecision(0+e)},${toDomPrecision(r+o)} \\n\\t\\t\\t\\t\\t\\t${toDomPrecision(0-o)},${toDomPrecision(r+o)}\\n\\t\\t\\t\\t\\t\\t${toDomPrecision(0-o)},`+toDomPrecision(r-e),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.bottom_left\\\",\\\"aria-label\\\":\\\"bottom_left handle\\\"}),(0,import_jsx_runtime36.jsx)(\\\"line\\\",{className:(0,import_classnames13[\\\"default\\\"])(\\\"tl-corner-crop-edge-handle\\\",{\\\"tl-hidden\\\":i}),x1:toDomPrecision(0-o),y1:toDomPrecision(r/2-e),x2:toDomPrecision(0-o),y2:toDomPrecision(r/2+e),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.left\\\",\\\"aria-label\\\":\\\"left handle\\\"})]})}var TldrawSelectionForeground=track(function TldrawSelectionForeground2({bounds:e,rotation:t}){var r=useEditor(),i=(0,import_react39.useRef)(null),n=useReadonly(),o=useSelectionEvents(\\\"top\\\"),a=useSelectionEvents(\\\"right\\\"),s=useSelectionEvents(\\\"bottom\\\"),l=useSelectionEvents(\\\"left\\\"),c=useSelectionEvents(\\\"top_left\\\"),D=useSelectionEvents(\\\"top_right\\\"),R=useSelectionEvents(\\\"bottom_right\\\"),N=useSelectionEvents(\\\"bottom_left\\\"),d=!r.getIsMenuOpen()&&\\\"default\\\"===r.getInstanceState().cursor.type,u=r.getInstanceState().isCoarsePointer,p=r.getOnlySelectedShape(),h=p&&r.isShapeOrAncestorLocked(p),m=p?r.getShapeUtil(p).expandSelectionOutlinePx(p):0;if(useTransform(i,null==e?void 0:e.x,null==e?void 0:e.y,1,r.getSelectionRotation(),{x:-m,y:-m}),!e)return null;e=e.clone().expandBy(m).zeroFix();var m=r.getZoomLevel(),g=r.getInstanceState().isChangingStyle,_=e.width,f=e.height,b=8/m,v=_\u003C2*b,y=f\u003C2*b,S=_\u003C4*b,x=f\u003C4*b,w=_\u003C5*b,$=f\u003C5*b,E=u?1.75:1,P=6/m*E,I=.75*E*(S?P/2:P),E=.75*E*(x?P/2:P),j=!(p&&r.getShapeUtil(p).hideSelectionBoundsFg(p)||g);let C=j&&r.isInAny(\\\"select.idle\\\",\\\"select.brushing\\\",\\\"select.scribble_brushing\\\",\\\"select.pointing_canvas\\\",\\\"select.pointing_selection\\\",\\\"select.pointing_shape\\\",\\\"select.crop.idle\\\",\\\"select.crop.pointing_crop\\\",\\\"select.pointing_resize_handle\\\",\\\"select.pointing_crop_handle\\\")||j&&r.isIn(\\\"select.resizing\\\")&&p&&r.isShapeOfType(p,\\\"text\\\");p&&C&&r.environment.isFirefox&&r.isShapeOfType(p,\\\"embed\\\")&&(C=!1);var j=r.isInAny(\\\"select.pointing_crop_handle\\\",\\\"select.crop.idle\\\",\\\"select.crop.pointing_crop\\\")&&!g&&!n,g=r.isInAny(\\\"select.idle\\\",\\\"select.pointing_selection\\\",\\\"select.pointing_shape\\\",\\\"select.crop.idle\\\")&&!g&&!n,n=!u&&!(v||y)&&(g||j)&&(!p||!r.getShapeUtil(p).hideRotateHandle(p))&&!h,T=u&&(!S||!x)&&(g||j)&&(!p||!r.getShapeUtil(p).hideRotateHandle(p))&&!h,h=g&&(!p||r.getShapeUtil(p).canResize(p)&&!r.getShapeUtil(p).hideResizeHandles(p))&&!j&&!h,k=v||y,v=v&&y,y=w||$,w=h||j,$=!n,n=!g||!T,T=!g||!w,A=!g||!w||k,M=!g||!w||k,w=!g||!w||v&&!j;let F=u,O=(F&&p&&\\\"text\\\"===p.type&&(F=!1),!0);j?O=y:h&&(O=k||v||F);k=Math.min(24/m,f-3*E),v=g&&u&&p&&r.isShapeOfType(p,\\\"text\\\")&&4\u003C=k*m;return(0,import_jsx_runtime37.jsx)(\\\"svg\\\",{className:\\\"tl-overlays__item tl-selection__fg tl-svg-context\\\",\\\"data-testid\\\":\\\"selection-foreground\\\",children:(0,import_jsx_runtime37.jsxs)(\\\"g\\\",{ref:i,children:[C&&(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-selection__fg__outline\\\"),width:toDomPrecision(_),height:toDomPrecision(f)}),(0,import_jsx_runtime37.jsx)(RotateCornerHandle,{\\\"data-testid\\\":\\\"selection.rotate.top-left\\\",cx:0,cy:0,targetSize:P,corner:\\\"top_left_rotate\\\",cursor:d?getCursor(\\\"nwse-rotate\\\",t):void 0,isHidden:$}),(0,import_jsx_runtime37.jsx)(RotateCornerHandle,{\\\"data-testid\\\":\\\"selection.rotate.top-right\\\",cx:_+3*P,cy:0,targetSize:P,corner:\\\"top_right_rotate\\\",cursor:d?getCursor(\\\"nesw-rotate\\\",t):void 0,isHidden:$}),(0,import_jsx_runtime37.jsx)(RotateCornerHandle,{\\\"data-testid\\\":\\\"selection.rotate.bottom-left\\\",cx:0,cy:f+3*P,targetSize:P,corner:\\\"bottom_left_rotate\\\",cursor:d?getCursor(\\\"swne-rotate\\\",t):void 0,isHidden:$}),(0,import_jsx_runtime37.jsx)(RotateCornerHandle,{\\\"data-testid\\\":\\\"selection.rotate.bottom-right\\\",cx:_+3*P,cy:f+3*P,targetSize:P,corner:\\\"bottom_right_rotate\\\",cursor:d?getCursor(\\\"senw-rotate\\\",t):void 0,isHidden:$}),(0,import_jsx_runtime37.jsx)(MobileRotateHandle,{\\\"data-testid\\\":\\\"selection.rotate.mobile\\\",cx:S?1.5*-P:_/2,cy:S?f/2:1.5*-P,size:b,isHidden:n}),(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":O}),\\\"data-testid\\\":\\\"selection.resize.top\\\",\\\"aria-label\\\":\\\"top target\\\",pointerEvents:\\\"all\\\",x:0,y:toDomPrecision(0-(x?2*E:E)),width:toDomPrecision(_),height:toDomPrecision(Math.max(1,2*E)),style:d?{cursor:getCursor(\\\"ns-resize\\\",t)}:void 0,...o}),(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":O}),\\\"data-testid\\\":\\\"selection.resize.right\\\",\\\"aria-label\\\":\\\"right target\\\",pointerEvents:\\\"all\\\",x:toDomPrecision(_-(S?0:I)),y:0,height:toDomPrecision(f),width:toDomPrecision(Math.max(1,2*I)),style:d?{cursor:getCursor(\\\"ew-resize\\\",t)}:void 0,...a}),(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":O}),\\\"data-testid\\\":\\\"selection.resize.bottom\\\",\\\"aria-label\\\":\\\"bottom target\\\",pointerEvents:\\\"all\\\",x:0,y:toDomPrecision(f-(x?0:E)),width:toDomPrecision(_),height:toDomPrecision(Math.max(1,2*E)),style:d?{cursor:getCursor(\\\"ns-resize\\\",t)}:void 0,...s}),(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":O}),\\\"data-testid\\\":\\\"selection.resize.left\\\",\\\"aria-label\\\":\\\"left target\\\",pointerEvents:\\\"all\\\",x:toDomPrecision(0-(S?2*I:I)),y:0,height:toDomPrecision(f),width:toDomPrecision(Math.max(1,2*I)),style:d?{cursor:getCursor(\\\"ew-resize\\\",t)}:void 0,...l}),(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":T}),\\\"data-testid\\\":\\\"selection.target.top-left\\\",\\\"aria-label\\\":\\\"top-left target\\\",pointerEvents:\\\"all\\\",x:toDomPrecision(0-(S?2*I:1.5*I)),y:toDomPrecision(0-(x?2*E:1.5*E)),width:toDomPrecision(3*I),height:toDomPrecision(3*E),style:d?{cursor:getCursor(\\\"nwse-resize\\\",t)}:void 0,...c}),(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":A}),\\\"data-testid\\\":\\\"selection.target.top-right\\\",\\\"aria-label\\\":\\\"top-right target\\\",pointerEvents:\\\"all\\\",x:toDomPrecision(_-(S?0:1.5*I)),y:toDomPrecision(0-(x?2*E:1.5*E)),width:toDomPrecision(3*I),height:toDomPrecision(3*E),style:d?{cursor:getCursor(\\\"nesw-resize\\\",t)}:void 0,...D}),(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":w}),\\\"data-testid\\\":\\\"selection.target.bottom-right\\\",\\\"aria-label\\\":\\\"bottom-right target\\\",pointerEvents:\\\"all\\\",x:toDomPrecision(_-(S?I:1.5*I)),y:toDomPrecision(f-(x?E:1.5*E)),width:toDomPrecision(3*I),height:toDomPrecision(3*E),style:d?{cursor:getCursor(\\\"nwse-resize\\\",t)}:void 0,...R}),(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":M}),\\\"data-testid\\\":\\\"selection.target.bottom-left\\\",\\\"aria-label\\\":\\\"bottom-left target\\\",pointerEvents:\\\"all\\\",x:toDomPrecision(0-(S?3*I:1.5*I)),y:toDomPrecision(f-(x?0:1.5*E)),width:toDomPrecision(3*I),height:toDomPrecision(3*E),style:d?{cursor:getCursor(\\\"nesw-resize\\\",t)}:void 0,...N}),h&&(0,import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment,{children:[(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{\\\"data-testid\\\":\\\"selection.resize.top-left\\\",className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-corner-handle\\\",{\\\"tl-hidden\\\":T}),\\\"aria-label\\\":\\\"top_left handle\\\",x:toDomPrecision(0-b/2),y:toDomPrecision(0-b/2),width:toDomPrecision(b),height:toDomPrecision(b)}),(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{\\\"data-testid\\\":\\\"selection.resize.top-right\\\",className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-corner-handle\\\",{\\\"tl-hidden\\\":A}),\\\"aria-label\\\":\\\"top_right handle\\\",x:toDomPrecision(_-b/2),y:toDomPrecision(0-b/2),width:toDomPrecision(b),height:toDomPrecision(b)}),(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{\\\"data-testid\\\":\\\"selection.resize.bottom-right\\\",className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-corner-handle\\\",{\\\"tl-hidden\\\":w}),\\\"aria-label\\\":\\\"bottom_right handle\\\",x:toDomPrecision(_-b/2),y:toDomPrecision(f-b/2),width:toDomPrecision(b),height:toDomPrecision(b)}),(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{\\\"data-testid\\\":\\\"selection.resize.bottom-left\\\",className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-corner-handle\\\",{\\\"tl-hidden\\\":M}),\\\"aria-label\\\":\\\"bottom_left handle\\\",x:toDomPrecision(0-b/2),y:toDomPrecision(f-b/2),width:toDomPrecision(b),height:toDomPrecision(b)})]}),v&&(0,import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment,{children:[(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{\\\"data-testid\\\":\\\"selection.text-resize.left.handle\\\",className:\\\"tl-text-handle\\\",\\\"aria-label\\\":\\\"bottom_left handle\\\",x:toDomPrecision(0-b/4),y:toDomPrecision(f/2-k/2),rx:b/4,width:toDomPrecision(b/2),height:toDomPrecision(k)}),(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{\\\"data-testid\\\":\\\"selection.text-resize.right.handle\\\",className:\\\"tl-text-handle\\\",\\\"aria-label\\\":\\\"bottom_left handle\\\",rx:b/4,x:toDomPrecision(_-b/4),y:toDomPrecision(f/2-k/2),width:toDomPrecision(b/2),height:toDomPrecision(k)})]}),j&&(0,import_jsx_runtime37.jsx)(TldrawCropHandles,{size:b,width:_,height:f,hideAlternateHandles:y})]})})}),RotateCornerHandle=function RotateCornerHandle2({cx:e,cy:t,targetSize:r,corner:i,cursor:n,isHidden:o,\\\"data-testid\\\":a}){var s=useSelectionEvents(i);return(0,import_jsx_runtime37.jsx)(\\\"rect\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-transparent\\\",\\\"tl-rotate-corner\\\",{\\\"tl-hidden\\\":o}),\\\"data-testid\\\":a,\\\"aria-label\\\":i+\\\" target\\\",pointerEvents:\\\"all\\\",x:toDomPrecision(e-3*r),y:toDomPrecision(t-3*r),width:toDomPrecision(Math.max(1,3*r)),height:toDomPrecision(Math.max(1,3*r)),cursor:n,...s})},SQUARE_ROOT_PI=Math.sqrt(Math.PI),MobileRotateHandle=function RotateHandle({cx:e,cy:t,size:r,isHidden:i,\\\"data-testid\\\":n}){var o=useSelectionEvents(\\\"mobile_rotate\\\");const a=useEditor();var s=useValue(\\\"zoom level\\\",()=>a.getZoomLevel(),[a]),s=Math.max(1/s*14,20/Math.max(1,s));return(0,import_jsx_runtime37.jsxs)(\\\"g\\\",{children:[(0,import_jsx_runtime37.jsx)(\\\"circle\\\",{\\\"data-testid\\\":n,pointerEvents:\\\"all\\\",className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-transparent\\\",\\\"tl-mobile-rotate__bg\\\",{\\\"tl-hidden\\\":i}),cx:e,cy:t,r:s,...o}),(0,import_jsx_runtime37.jsx)(\\\"circle\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-mobile-rotate__fg\\\",{\\\"tl-hidden\\\":i}),cx:e,cy:t,r:r/SQUARE_ROOT_PI})]})},TEXT_PROPS=(init_esbuild_inject(),init_esbuild_inject(),{lineHeight:1.35,fontWeight:\\\"normal\\\",fontVariant:\\\"normal\\\",fontStyle:\\\"normal\\\",padding:\\\"0px\\\"}),STROKE_SIZES2={s:2,m:3.5,l:5,xl:10},FONT_SIZES={s:18,m:24,l:36,xl:44},LABEL_FONT_SIZES={s:18,m:22,l:26,xl:32},ARROW_LABEL_FONT_SIZES={s:18,m:20,l:24,xl:28},FONT_FAMILIES={draw:\\\"var(--tl-font-draw)\\\",sans:\\\"var(--tl-font-sans)\\\",serif:\\\"var(--tl-font-serif)\\\",mono:\\\"var(--tl-font-mono)\\\"},import_downscale=(init_esbuild_inject(),__toESM(require_downscale(),1));function _iterableToArrayLimit(e,t){var r=null==e?null:\\\"undefined\\\"!=typeof Symbol&&e[Symbol.iterator]||e[\\\"@@iterator\\\"];if(null!=r){var i,n,o,a,s=[],l=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(i=o.call(r)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(d){c=!0,n=d}finally{try{if(!l&&null!=r[\\\"return\\\"]&&(a=r[\\\"return\\\"](),Object(a)!==a))return}finally{if(c)throw n}}return s}}function ownKeys(t,e){var r,i=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,r)),i}function _objectSpread2(t){for(var e=1;e\u003Carguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};for(var r,i={},n=Object.keys(e),o=0;o\u003Cn.length;o++)r=n[o],0\u003C=t.indexOf(r)||(i[r]=e[r]);return i}function _objectWithoutProperties(e,t){if(null==e)return{};var r,i=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols)for(var n=Object.getOwnPropertySymbols(e),o=0;o\u003Cn.length;o++)r=n[o],0\u003C=t.indexOf(r)||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArray(e){if(\\\"undefined\\\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\\\"@@iterator\\\"])return Array.from(e)}function _unsupportedIterableToArray(e,t){var r;if(e)return\\\"string\\\"==typeof e?_arrayLikeToArray(e,t):\\\"Map\\\"===(r=\\\"Object\\\"===(r=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||\\\"Set\\\"===r?Array.from(e):\\\"Arguments\\\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r\u003Ct;r++)i[r]=e[r];return i}function _nonIterableSpread(){throw new TypeError(\\\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\")}function _nonIterableRest(){throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\")}function _toPrimitive(e,t){if(\\\"object\\\"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return(\\\"string\\\"===t?String:Number)(e);r=r.call(e,t||\\\"default\\\");if(\\\"object\\\"!=typeof r)return r;throw new TypeError(\\\"@@toPrimitive must return a primitive value.\\\")}function _toPropertyKey(e){var t=_toPrimitive(e,\\\"string\\\");return\\\"symbol\\\"==typeof t?t:String(t)}function canvasTest(e){var t,r,i=e.sizes.shift(),n=Math.max(Math.ceil(i[0]),1),i=Math.max(Math.ceil(i[1]),1),o=[n-1,i-1,1,1],a=Date.now(),s=\\\"undefined\\\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,l=(s?(t=new OffscreenCanvas(1,1),r=new OffscreenCanvas(n,i)):((t=document.createElement(\\\"canvas\\\")).width=1,t.height=1,(r=document.createElement(\\\"canvas\\\")).width=n,r.height=i),t.getContext(\\\"2d\\\")),c=r.getContext(\\\"2d\\\"),o=(c&&(c.fillRect.apply(c,o),l.drawImage(r,n-1,i-1,1,1,0,0,1,1)),l&&0!==l.getImageData(0,0,1,1).data[3]),c=Date.now()-a;return[t,r].forEach(function(e){e.height=0,e.width=0}),s?(postMessage({width:n,height:i,benchmark:c,isTestPass:o}),!o&&e.sizes.length&&canvasTest(e)):o?e.onSuccess(n,i,c):(e.onError(n,i,c),e.sizes.length&&canvasTest(e)),o}init_esbuild_inject(),init_esbuild_inject();var testSizes={area:[16384,14188,11402,11180,10836,8192,4096,1],height:[8388607,65535,32767,16384,8192,4096,1],width:[4194303,65535,32767,16384,8192,4096,1]},_excluded=[\\\"onError\\\",\\\"onSuccess\\\"],defaults={max:null,min:1,sizes:[],step:1024,usePromise:!1,useWorker:!1,onError:Function.prototype,onSuccess:Function.prototype},workerJobs={};function createSizesArray(e){var t=e.width===e.height,r=1===e.height,i=1===e.width,n=[];if(e.width&&e.height)for(var o=e.min||defaults.min,a=e.step||defaults.step,s=Math.max(e.width,e.height);o\u003C=s;)n.push([t||r?s:1,t||i?s:1]),s-=a;else e.sizes.forEach(function(e){n.push([t||r?e:1,t||i?e:1])});return n}function handleMethod(a){var e=window&&\\\"HTMLCanvasElement\\\"in window,t=window&&\\\"OffscreenCanvas\\\"in window,s=Date.now(),l=a.onError,n=a.onSuccess,c=_objectWithoutProperties(a,_excluded),d=null;return!!e&&(a.useWorker&&t&&(e=\\\"\\\\n var canvasTest = \\\".concat(canvasTest.toString(),\\\";\\\\n onmessage = function(e) {\\\\n canvasTest(e.data);\\\\n };\\\\n \\\"),t=new Blob([e],{type:\\\"application/javascript\\\"}),e=URL.createObjectURL(t),d=new Worker(e),URL.revokeObjectURL(e),d.onmessage=function(e){var t=e.data,r=t.width,i=t.height,n=t.benchmark;t.isTestPass?(workerJobs[s].onSuccess(r,i,n),delete workerJobs[s]):workerJobs[s].onError(r,i,n)}),a.usePromise?new Promise(function(i,o){var e,t,r=_objectSpread2(_objectSpread2({},a),{},{onError:function(e,t,r){var i,n;n=0===a.sizes.length||(i=_slicedToArray(a.sizes.slice(-1),1),n=(i=_slicedToArray(i[0],2))[0],i=i[1],e===n&&t===i),l(e,t,r),n&&o({width:e,height:t,benchmark:r})},onSuccess:function(e,t,r){n(e,t,r),i({width:e,height:t,benchmark:r})}});d?(e=r.onError,t=r.onSuccess,workerJobs[s]={onError:e,onSuccess:t},d.postMessage(c)):canvasTest(r)}):d?(workerJobs[s]={onError:l,onSuccess:n},void d.postMessage(c)):canvasTest(a))}var canvasSize={maxArea:function maxArea(){var e=0\u003Carguments.length&&void 0!==arguments[0]?arguments[0]:{},t=createSizesArray({width:e.max,height:e.max,min:e.min,step:e.step,sizes:_toConsumableArray(testSizes.area)});return handleMethod(_objectSpread2(_objectSpread2(_objectSpread2({},defaults),e),{},{sizes:t}))},maxHeight:function maxHeight(){var e=0\u003Carguments.length&&void 0!==arguments[0]?arguments[0]:{},t=createSizesArray({width:1,height:e.max,min:e.min,step:e.step,sizes:_toConsumableArray(testSizes.height)});return handleMethod(_objectSpread2(_objectSpread2(_objectSpread2({},defaults),e),{},{sizes:t}))},maxWidth:function maxWidth(){var e=0\u003Carguments.length&&void 0!==arguments[0]?arguments[0]:{},t=createSizesArray({width:e.max,height:1,min:e.min,step:e.step,sizes:_toConsumableArray(testSizes.width)});return handleMethod(_objectSpread2(_objectSpread2(_objectSpread2({},defaults),e),{},{sizes:t}))},test:function test(){var e=0\u003Carguments.length&&void 0!==arguments[0]?arguments[0]:{},e=_objectSpread2(_objectSpread2({},defaults),e);return e.sizes=_toConsumableArray(e.sizes),e.width&&e.height&&(e.sizes=[[e.width,e.height]]),handleMethod(e)}},maxSizePromise=null;function getBrowserCanvasMaxSize(){return maxSizePromise=maxSizePromise||calculateBrowserCanvasMaxSize()}async function calculateBrowserCanvasMaxSize(){var e=await canvasSize.maxWidth({usePromise:!0}),t=await canvasSize.maxHeight({usePromise:!0}),r=await canvasSize.maxArea({usePromise:!0});return{maxWidth:e.width,maxHeight:t.height,maxArea:r.width*r.height}}function getDataBlocksLength(e,t){let r=0;for(;e[t+r];)r+=e[t+r]+1;return r+1}function isGIF(e){return\\\"GIF\\\"===new TextDecoder(\\\"ascii\\\").decode(e.slice(0,3))}function isAnimated(e){var t=new Uint8Array(e);let r,i,n=0,o=0;if(!isGIF(e))return!1;for(r=128&t[10],i=7&t[10],n=(n=n+6+7)+(r?3*Math.pow(2,i+1):0);o\u003C2&&n\u003Ct.length;)switch(t[n]){case 44:o+=1,r=128&t[n+9],i=7&t[n+9],n=(n=(n+=10)+(r?3*Math.pow(2,i+1):0))+(getDataBlocksLength(t,n+1)+1);break;case 33:n=(n+=2)+getDataBlocksLength(t,n);break;default:n=t.length}return 1\u003Co}function containBoxSize(e,t){var r=e.w/t.w,i=e.h/t.h;return r\u003C=1&&i\u003C=1?e:i\u003Cr?{w:e.w/r,h:e.h/r}:{w:e.w/i,h:e.h/i}}async function getResizedImageDataUrl(e,t,r,i={}){let n=2*t,o=2*r;var{type:a=\\\"image/jpeg\\\",quality:s=.92}=i,l=await getBrowserCanvasMaxSize(),c=t/r;return n>l.maxWidth&&(n=l.maxWidth,o=n/c),o>l.maxHeight&&(o=l.maxHeight,n=o*c),n*o>l.maxArea&&(c=Math.sqrt(l.maxArea/(n*o)),n*=c,o*=c),(0,import_downscale[\\\"default\\\"])(e,n,o,{imageType:a.replace(\\\"image/\\\",\\\"\\\"),quality:s})}async function isGifAnimated(i){return new Promise((e,t)=>{const r=new FileReader;r.onerror=()=>t(r.error),r.onload=()=>{e(!!r.result&&isAnimated(r.result))},r.readAsArrayBuffer(i)})}function escapeStringRegexp(e){if(\\\"string\\\"!=typeof e)throw new TypeError(\\\"Expected a string\\\");return e.replace(/[|\\\\\\\\{}()[\\\\]^$+*?.]/g,\\\"\\\\\\\\$&\\\").replace(/-/g,\\\"\\\\\\\\x2d\\\")}function matchEmbedUrl(e){var t=new URL(e).host.replace(\\\"www.\\\",\\\"\\\");for(const i of EMBED_DEFINITIONS)if(checkHostnames(i.hostnames,t)){var r=i.fromEmbedUrl(e);if(r)return{definition:i,url:r,embedUrl:e}}}init_esbuild_inject(),init_esbuild_inject();var globlikeRegExp=e=>e.split(\\\"*\\\").map(e=>escapeStringRegexp(e)).join(\\\".+\\\"),checkHostnames=(e,r)=>!!e.find(e=>{var t=new RegExp(globlikeRegExp(e));return r.match(t)});function matchUrl(e){var t=new URL(e).host.replace(\\\"www.\\\",\\\"\\\");for(const i of EMBED_DEFINITIONS)if(checkHostnames(i.hostnames,t)){var r=i.toEmbedUrl(e);if(r)return{definition:i,embedUrl:r,url:e}}}function getEmbedInfoUnsafely(e){var t;return null!=(t=matchUrl(e))?t:matchEmbedUrl(e)}function getEmbedInfo(e){try{return getEmbedInfoUnsafely(e)}catch(t){console.error(t)}}init_esbuild_inject(),init_esbuild_inject();var INDENT=\\\" \\\",_TextHelpers=class{static insertTextFirefox(e,t){e.setRangeText(t,e.selectionStart||0,e.selectionEnd||0,\\\"end\\\"),e.dispatchEvent(new InputEvent(\\\"input\\\",{data:t,inputType:\\\"insertText\\\",isComposing:!1}))}static insert(e,t){var r=e.ownerDocument,i=r.activeElement;i!==e&&e.focus(),r.execCommand(\\\"insertText\\\",!1,t)||_TextHelpers.insertTextFirefox(e,t),i===r.body?e.blur():i instanceof HTMLElement&&i!==e&&i.focus()}static set(e,t){e.select(),_TextHelpers.insert(e,t)}static getSelection(e){var{selectionStart:t,selectionEnd:r}=e;return e.value.slice(t||void 0,r||void 0)}static wrapSelection(e,t,r){var{selectionStart:i,selectionEnd:n}=e,o=_TextHelpers.getSelection(e);_TextHelpers.insert(e,t+o+(null!=r?r:t)),e.selectionStart=(i||0)+t.length,e.selectionEnd=(n||0)+t.length}static replace(n,e,o){let a=0;n.value.replace(e,(...e)=>{var t=a+e[e.length-2],r=e[0].length,i=(n.selectionStart=t,n.selectionEnd=t+r,\\\"string\\\"==typeof o?o:o(...e));return _TextHelpers.insert(n,i),n.selectionStart=t,a+=i.length-r,i})}static findLineEnd(e,t){var r=e.lastIndexOf(\\\"\\\\n\\\",t-1)+1;return\\\"\\\\t\\\"!==e.charAt(r)?t:r+1}static indent(e){var t,{selectionStart:r,selectionEnd:i,value:n}=e,o=n.slice(r,i),o=null==(o=/\\\\n/g.exec(o))?void 0:o.length;o&&0\u003Co?(o=n.lastIndexOf(\\\"\\\\n\\\",r-1)+1,n=(t=(n=e.value.slice(o,i-1)).replace(/^|\\\\n/g,\\\"$&\\\"+INDENT)).length-n.length,e.setSelectionRange(o,i-1),_TextHelpers.insert(e,t),e.setSelectionRange(r+1,i+n)):_TextHelpers.insert(e,INDENT)}static unindent(e){var{selectionStart:t,selectionEnd:r,value:i}=e,n=i.lastIndexOf(\\\"\\\\n\\\",t-1)+1,o=_TextHelpers.findLineEnd(i,r),a=e.value.slice(n,o),s=a.replace(/(^|\\\\n)(\\\\t| {1,2})/g,\\\"$1\\\"),a=a.length-s.length,o=(e.setSelectionRange(n,o),_TextHelpers.insert(e,s),/\\\\t| {1,2}/.exec(i.slice(n,t))),s=o?o[0].length:0;e.setSelectionRange(t-s,Math.max(t-s,r-a))}static indentCE(e){var t=window.getSelection(),r=e.innerText,i=null!=(i=getCaretIndex(e))?i:0,n=null!=(n=getCaretIndex(e))?n:0,o=r.slice(i,n),o=null==(o=/\\\\n/g.exec(o))?void 0:o.length;o&&0\u003Co?(o=r.lastIndexOf(\\\"\\\\n\\\",i-1)+1,o=(o=r.slice(o,n-1)).replace(/^|\\\\n/g,\\\"$&\\\"+INDENT).length-o.length,t&&t.setBaseAndExtent(e,i+1,e,n+o)):(n=window.getSelection(),e.innerText=r.slice(0,i)+INDENT+r.slice(i),null!=n&&n.setBaseAndExtent(e,i+1,e,i+2))}static unindentCE(e){var t=window.getSelection(),r=e.innerText,i=null!=(i=getCaretIndex(e))?i:0,n=null!=(n=getCaretIndex(e))?n:0,o=r.lastIndexOf(\\\"\\\\n\\\",i-1)+1,a=_TextHelpers.findLineEnd(r,n),s=r.slice(o,a),l=s.replace(/(^|\\\\n)(\\\\t| {1,2})/g,\\\"$1\\\"),s=s.length-l.length;t&&(t.setBaseAndExtent(e,o,e,a),a=(l=/\\\\t| {1,2}/.exec(r.slice(o,i)))?l[0].length:0,t.setBaseAndExtent(e,i-a,e,Math.max(i-a,n-s)))}static normalizeText(e){return e.replace(_TextHelpers.fixNewLines,\\\"\\\\n\\\")}static normalizeTextForDom(e){return e.replace(_TextHelpers.fixNewLines,\\\"\\\\n\\\").split(\\\"\\\\n\\\").map(e=>e||\\\" \\\").join(\\\"\\\\n\\\")}},TextHelpers=_TextHelpers;function getCaretIndex(t){if(\\\"undefined\\\"!=typeof window.getSelection){var r,i=window.getSelection();if(i){let e=0;return 0!==i.rangeCount&&((r=(i=i.getRangeAt(0)).cloneRange()).selectNodeContents(t),r.setEnd(i.endContainer,i.endOffset),e=r.toString().length),e}}}__publicField(TextHelpers,\\\"fixNewLines\\\",/\\\\r?\\\\n|\\\\r/g);var rtlRegex=/[\\\\u0590-\\\\u05FF\\\\u0600-\\\\u06FF\\\\u0750-\\\\u077F\\\\u08A0-\\\\u08FF\\\\uFB50-\\\\uFDFF\\\\uFE70-\\\\uFEFF]/;function isRightToLeftLanguage(e){return rtlRegex.test(e)}function replaceTabsWithSpaces(e){return e.replace(/\\\\t/g,INDENT)}function stripCommonMinimumIndentation(e){for(var t,r=e.split(\\\"\\\\n\\\");r[0]&&0===r[0].trim().length;)r.shift();let i=Infinity;for(const n of r)0\u003Cn.trim().length&&(t=n.length-n.trimStart().length,i=Math.min(i,t));return r.map(e=>e.slice(i)).join(\\\"\\\\n\\\")}function stripTrailingWhitespace(e){return e.replace(/[ \\\\t]+$/gm,\\\"\\\").replace(/\\\\n+$/,\\\"\\\")}function cleanupText(e){return stripTrailingWhitespace(stripCommonMinimumIndentation(replaceTabsWithSpaces(e)))}var truncateStringWithEllipsis=(e,t)=>e.length\u003C=t?e:e.substring(0,t-3)+\\\"...\\\";function registerDefaultExternalContentHandlers(p,{maxImageDimension:l,maxAssetSize:c,acceptedImageMimeTypes:d,acceptedVideoMimeTypes:u}){p.registerExternalAssetHandler(\\\"file\\\",async({file:s})=>new Promise((o,e)=>{d.includes(s.type)||u.includes(s.type)||(console.warn(\\\"File type not allowed: \\\"+s.type),e()),s.size>c&&(console.warn(`File size too big: ${(s.size/1024).toFixed()}kb > ${(c/1024).toFixed()}kb`),e());const a=new FileReader;a.onerror=()=>e(a.error),a.onload=async()=>{let e=a.result;\\\"video/quicktime\\\"===s.type&&e.includes(\\\"video/quicktime\\\")&&(e=e.replace(\\\"video/quicktime\\\",\\\"video/mp4\\\"));var t=d.includes(s.type);let r,i;t?(r=await MediaHelpers.getImageSizeFromSrc(e),i=\\\"image/gif\\\"===s.type&&await isGifAnimated(s)):(i=!0,r=await MediaHelpers.getVideoSizeFromSrc(e)),isFinite(l)&&(n=containBoxSize(r,{w:l,h:l}),r===n||\\\"image/jpeg\\\"!==s.type&&\\\"image/png\\\"!==s.type||(r=n)),\\\"image/jpeg\\\"!==s.type&&\\\"image/png\\\"!==s.type||(e=await getResizedImageDataUrl(e,r.w,r.h,{type:s.type,quality:.92}));var n=AssetRecordType.createId(getHashForString(e)),n=AssetRecordType.create({id:n,type:t?\\\"image\\\":\\\"video\\\",typeName:\\\"asset\\\",props:{name:s.name,src:e,w:r.w,h:r.h,mimeType:s.type,isAnimated:i}});o(n)},a.readAsDataURL(s)})),p.registerExternalAssetHandler(\\\"url\\\",async({url:e})=>{var t,r,i,n,o,a;let s;try{var l=await(await fetch(e,{method:\\\"GET\\\",mode:\\\"no-cors\\\"})).text(),c=(new DOMParser).parseFromString(l,\\\"text/html\\\");s={image:null!=(r=null==(t=c.head.querySelector('meta[property=\\\"og:image\\\"]'))?void 0:t.getAttribute(\\\"content\\\"))?r:\\\"\\\",title:null!=(n=null==(i=c.head.querySelector('meta[property=\\\"og:title\\\"]'))?void 0:i.getAttribute(\\\"content\\\"))?n:truncateStringWithEllipsis(e,32),description:null!=(a=null==(o=c.head.querySelector('meta[property=\\\"og:description\\\"]'))?void 0:o.getAttribute(\\\"content\\\"))?a:\\\"\\\"}}catch(d){console.error(d),s={image:\\\"\\\",title:truncateStringWithEllipsis(e,32),description:\\\"\\\"}}return{id:AssetRecordType.createId(getHashForString(e)),typeName:\\\"asset\\\",type:\\\"bookmark\\\",props:{src:e,description:s.description,image:s.image,title:s.title},meta:{}}}),p.registerExternalContentHandler(\\\"svg-text\\\",async({point:e,text:t})=>{var r=null!=e?e:p.inputs.shiftKey?p.inputs.currentPagePoint:p.getViewportPageCenter(),i=(new DOMParser).parseFromString(t,\\\"image/svg+xml\\\").querySelector(\\\"svg\\\");if(!i)throw new Error(\\\"No \u003Csvg/> element present\\\");var n=parseFloat(i.getAttribute(\\\"width\\\")||\\\"0\\\"),o=parseFloat(i.getAttribute(\\\"height\\\")||\\\"0\\\"),o=(n&&o||(document.body.appendChild(i),n=i.getBoundingClientRect(),document.body.removeChild(i),n.width,n.height),await p.getAssetForExternalContent({type:\\\"file\\\",file:new File([t],\\\"asset.svg\\\",{type:\\\"image/svg+xml\\\"})}));if(!o)throw Error(\\\"Could not create an asset\\\");createShapesForAssets(p,[o],r)}),p.registerExternalContentHandler(\\\"embed\\\",({point:e,url:t,embed:r})=>{var i=null!=e?e:p.inputs.shiftKey?p.inputs.currentPagePoint:p.getViewportPageCenter(),{width:n,height:o}=r,a=createShapeId(),i={id:a,type:\\\"embed\\\",x:i.x-(n||450)/2,y:i.y-(o||450)/2,props:{w:n,h:o,url:t}};p.createShapes([i]).select(a)}),p.registerExternalContentHandler(\\\"files\\\",async({point:e,files:t})=>{var r=null!=e?e:p.inputs.shiftKey?p.inputs.currentPagePoint:p.getViewportPageCenter(),r=new Vec(r.x,r.y);const n=[];await Promise.all(t.map(async(e,t)=>{if(e.size>c)return console.warn(`File size too big: ${(e.size/1024).toFixed()}kb > ${(c/1024).toFixed()}kb`),null;if(!e.type)throw new Error(\\\"No mime type\\\");if(!d.concat(u).includes(e.type))return console.warn(e.name+\\\" not loaded - Extension not allowed.\\\"),null;try{var r=await p.getAssetForExternalContent({type:\\\"file\\\",file:e});if(!r)throw Error(\\\"Could not create an asset\\\");n[t]=r}catch(i){return console.error(i),null}})),createShapesForAssets(p,compact(n),r)}),p.registerExternalContentHandler(\\\"text\\\",async({point:e,text:t})=>{var r=null!=e?e:p.inputs.shiftKey?p.inputs.currentPagePoint:p.getViewportPageCenter(),i=p.getShapeUtil(\\\"text\\\").getDefaultProps(),n=cleanupText(t);let o,a,s,l=\\\"middle\\\";var c=1\u003Cn.split(\\\"\\\\n\\\").length,d=isRightToLeftLanguage(n),u=(c&&(l=c?d?\\\"end\\\":\\\"start\\\":\\\"middle\\\"),p.textMeasure.measureText(n,{...TEXT_PROPS,fontFamily:FONT_FAMILIES[i.font],fontSize:FONT_SIZES[i.size],maxWidth:null})),c=Math.min(c?.9*p.getViewportPageBounds().width:920,Math.max(200,.9*p.getViewportPageBounds().width));u.w>c?(i=p.textMeasure.measureText(n,{...TEXT_PROPS,fontFamily:FONT_FAMILIES[i.font],fontSize:FONT_SIZES[i.size],maxWidth:c}),o=i.w,a=i.h,s=!1,l=d?\\\"end\\\":\\\"start\\\"):(o=u.w,a=u.h,s=!0),r.y-a/2\u003Cp.getViewportPageBounds().minY+40&&(r.y=p.getViewportPageBounds().minY+40+a/2),p.createShapes([{id:createShapeId(),type:\\\"text\\\",x:r.x-o/2,y:r.y-a/2,props:{text:n,align:l,autoSize:s,w:o}}])}),p.registerExternalContentHandler(\\\"url\\\",async({point:e,url:t})=>{var r=getEmbedInfo(t);if(r)return p.putExternalContent({type:\\\"embed\\\",url:r.url,point:e,embed:r.definition});var r=null!=e?e:p.inputs.shiftKey?p.inputs.currentPagePoint:p.getViewportPageCenter(),i=AssetRecordType.createId(getHashForString(t));const n=createEmptyBookmarkShape(p,t,r);let o=p.getAsset(i),a=!1;if(!o){a=!0;r=await p.getAssetForExternalContent({type:\\\"url\\\",url:t});if(!r)throw Error(\\\"Could not create an asset\\\");o=r}p.batch(()=>{a&&p.createAssets([o]),p.updateShapes([{id:n.id,type:n.type,props:{assetId:o.id}}])})})}async function createShapesForAssets(t,r,i){if(!r.length)return[];var e=Vec.From(i);const n=[];for(const o of r)switch(o.type){case\\\"bookmark\\\":n.push({id:createShapeId(),type:\\\"bookmark\\\",x:e.x-150,y:e.y-160,opacity:1,props:{assetId:o.id,url:o.props.src}}),e.x+=300;break;case\\\"image\\\":n.push({id:createShapeId(),type:\\\"image\\\",x:e.x-o.props.w/2,y:e.y-o.props.h/2,opacity:1,props:{assetId:o.id,w:o.props.w,h:o.props.h}}),e.x+=o.props.w;break;case\\\"video\\\":n.push({id:createShapeId(),type:\\\"video\\\",x:e.x-o.props.w/2,y:e.y-o.props.h/2,opacity:1,props:{assetId:o.id,w:o.props.w,h:o.props.h}}),e.x+=o.props.w}return t.batch(()=>{var e=r.filter(e=>!t.getAsset(e.id));e.length&&t.createAssets(e),t.createShapes(n).select(...n.map(e=>e.id)),centerSelectionAroundPoint(t,i)}),n.map(e=>e.id)}function centerSelectionAroundPoint(r,e){var t=r.getViewportPageBounds();let i=r.getSelectionPageBounds();if(i){const n=i.center.sub(e);r.updateShapes(r.getSelectedShapes().map(e=>{var t=r.getShapeParentTransform(e).decompose().rotation,t=Vec.Rot(n,-t);return{id:e.id,type:e.type,x:e.x-t.x,y:e.y-t.y}}))}(i=r.getSelectionPageBounds())&&!t.contains(i)&&r.zoomToSelection()}function createEmptyBookmarkShape(e,t,r){const i={id:createShapeId(),type:\\\"bookmark\\\",x:r.x-150,y:r.y-160,opacity:1,props:{assetId:null,url:t}};return e.batch(()=>{e.createShapes([i]).select(i.id),centerSelectionAroundPoint(e,r)}),e.getShape(i.id)}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var Idle2=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onPointerDown\\\",e=>{this.parent.transition(\\\"pointing\\\",e)}),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")}),__publicField(this,\\\"onKeyUp\\\",e=>{var t;if(\\\"Enter\\\"===e.key){if(this.editor.getInstanceState().isReadonly)return null;var r=this.editor.getOnlySelectedShape();r&&this.editor.getShapeUtil(r).canEdit(r)&&(this.editor.setCurrentTool(\\\"select\\\"),this.editor.setEditingShape(r.id),null!=(t=this.editor.root.getCurrent()))&&t.transition(\\\"editing_shape\\\",{...e,target:\\\"shape\\\",shape:r})}})}},Pointing2=(__publicField(Idle2,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shape\\\"),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"onEnter\\\",()=>{this.didTimeout=!1;var e=this.editor.getShapeAtPoint(this.editor.inputs.currentPagePoint,{filter:e=>!e.isLocked&&this.editor.getShapeUtil(e).canBind(e),margin:0,hitInside:!0,renderingOnly:!0});e?this.editor.setHintingShapes([e.id]):this.createArrowShape(),this.startPreciseTimeout()}),__publicField(this,\\\"onExit\\\",()=>{this.shape=void 0,this.editor.setHintingShapes([]),this.clearPreciseTimeout()}),__publicField(this,\\\"onPointerMove\\\",()=>{if(this.editor.inputs.isDragging){if(this.shape||this.createArrowShape(),!this.shape)throw Error(\\\"expected shape\\\");this.updateArrowShapeEndHandle(),this.editor.setCurrentTool(\\\"select.dragging_handle\\\",{shape:this.shape,handle:this.editor.getShapeHandles(this.shape).find(e=>\\\"end\\\"===e.id),isCreating:!0,onInteractionEnd:\\\"arrow\\\"})}}),__publicField(this,\\\"onPointerUp\\\",()=>{this.cancel()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.cancel()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()}),__publicField(this,\\\"preciseTimeout\\\",-1),__publicField(this,\\\"didTimeout\\\",!1)}cancel(){this.shape&&this.editor.bailToMark(this.markId),this.editor.setHintingShapes([]),this.parent.transition(\\\"idle\\\")}createArrowShape(){var e,t=this.editor.inputs[\\\"originPagePoint\\\"],r=createShapeId(),t=(this.markId=\\\"creating:\\\"+r,this.editor.mark(this.markId),this.editor.createShapes([{id:r,type:\\\"arrow\\\",x:t.x,y:t.y}]),this.editor.getShape(r));if(!t)throw Error(\\\"expected shape\\\");var i=this.editor.getShapeHandles(t);if(!i)throw Error(\\\"expected handles for arrow\\\");var n=this.editor.getShapeUtil(\\\"arrow\\\"),o=this.shape,i=i.find(e=>\\\"start\\\"===e.id),n=null==(e=n.onHandleChange)?void 0:e.call(n,t,{handle:{...i,x:0,y:0},isPrecise:!0,initial:o});n&&(\\\"binding\\\"===(null==(i=null==(t=n.props)?void 0:t.start)?void 0:i.type)&&this.editor.setHintingShapes([i.boundShapeId]),this.editor.updateShapes([n],{squashing:!0})),this.shape=this.editor.getShape(r),this.editor.select(r)}updateArrowShapeEndHandle(){var e=this.shape;if(!e)throw Error(\\\"expected shape\\\");var t=this.editor.getShapeHandles(e);if(!t)throw Error(\\\"expected handles for arrow\\\");var r={...e,props:{...e.props,end:{...e.props.end,x:0,y:0}}},i=this.editor.getShapeUtil(\\\"arrow\\\"),n=this.shape,o=this.editor.getPointInShapeSpace(e,this.editor.inputs.currentPagePoint),a=t.find(e=>\\\"end\\\"===e.id),i=null==(s=i.onHandleChange)?void 0:s.call(i,r,{handle:{...a,x:o.x,y:o.y},isPrecise:!1,initial:n}),n=(i&&(\\\"binding\\\"===(null==(o=null==(a=i.props)?void 0:a.end)?void 0:o.type)&&this.editor.setHintingShapes([o.boundShapeId]),this.editor.updateShapes([i],{squashing:!0})),this.editor.getShapeUtil(\\\"arrow\\\")),s=this.shape,a=t.find(e=>\\\"start\\\"===e.id),i=null==(o=n.onHandleChange)?void 0:o.call(n,r,{handle:{...a,x:0,y:0},isPrecise:this.didTimeout,initial:s});i&&this.editor.updateShapes([i],{squashing:!0}),this.shape=this.editor.getShape(e.id)}startPreciseTimeout(){this.preciseTimeout=window.setTimeout(()=>{this.getIsActive()&&(this.didTimeout=!0)},320)}clearPreciseTimeout(){clearTimeout(this.preciseTimeout)}}),ArrowShapeTool=(__publicField(Pointing2,\\\"id\\\",\\\"pointing\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"arrow\\\")}}),Drawing=(__publicField(ArrowShapeTool,\\\"id\\\",\\\"arrow\\\"),__publicField(ArrowShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(ArrowShapeTool,\\\"children\\\",()=>[Idle2,Pointing2]),init_esbuild_inject(),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"initialShape\\\"),__publicField(this,\\\"shapeType\\\",\\\"highlight\\\"===this.parent.id?\\\"highlight\\\":\\\"draw\\\"),__publicField(this,\\\"util\\\",this.editor.getShapeUtil(this.shapeType)),__publicField(this,\\\"isPen\\\",!1),__publicField(this,\\\"segmentMode\\\",\\\"free\\\"),__publicField(this,\\\"didJustShiftClickToExtendPreviousShapeLine\\\",!1),__publicField(this,\\\"pagePointWhereCurrentSegmentChanged\\\",{}),__publicField(this,\\\"pagePointWhereNextSegmentChanged\\\",null),__publicField(this,\\\"lastRecordedPoint\\\",{}),__publicField(this,\\\"mergeNextPoint\\\",!1),__publicField(this,\\\"currentLineLength\\\",0),__publicField(this,\\\"canDraw\\\",!1),__publicField(this,\\\"markId\\\",null),__publicField(this,\\\"onEnter\\\",e=>{this.markId=null,this.info=e,this.canDraw=!this.editor.getIsMenuOpen(),this.lastRecordedPoint=this.editor.inputs.currentPagePoint.clone(),this.canDraw&&this.startShape()}),__publicField(this,\\\"onPointerMove\\\",()=>{var{inputs:e}=this[\\\"editor\\\"];if(this.isPen!==e.isPen){if(this.markId)return this.editor.bailToMark(this.markId),void this.startShape()}else!this.canDraw&&e.isDragging&&(this.startShape(),this.canDraw=!0);this.canDraw&&(e.isPen?Vec.Dist(e.currentPagePoint,this.lastRecordedPoint)>=1/this.editor.getZoomLevel()?(this.lastRecordedPoint=e.currentPagePoint.clone(),this.mergeNextPoint=!1):this.mergeNextPoint=!0:this.mergeNextPoint=!1,this.updateShapes())}),__publicField(this,\\\"onKeyDown\\\",e=>{if(\\\"Shift\\\"===e.key)switch(this.segmentMode){case\\\"free\\\":this.segmentMode=\\\"starting_straight\\\",this.pagePointWhereNextSegmentChanged=this.editor.inputs.currentPagePoint.clone();break;case\\\"starting_free\\\":this.segmentMode=\\\"starting_straight\\\"}this.updateShapes()}),__publicField(this,\\\"onKeyUp\\\",e=>{if(\\\"Shift\\\"===e.key)switch(this.editor.snaps.clear(),this.segmentMode){case\\\"straight\\\":this.segmentMode=\\\"starting_free\\\",this.pagePointWhereNextSegmentChanged=this.editor.inputs.currentPagePoint.clone();break;case\\\"starting_straight\\\":this.pagePointWhereNextSegmentChanged=null,this.segmentMode=\\\"free\\\"}this.updateShapes()}),__publicField(this,\\\"onExit\\\",()=>{this.editor.snaps.clear(),this.pagePointWhereCurrentSegmentChanged=this.editor.inputs.currentPagePoint.clone()}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.editor.inputs.isDragging||(this.markId&&this.editor.bailToMark(this.markId),this.cancel())})}canClose(){return\\\"highlight\\\"!==this.shapeType}getIsClosed(e,t){var r,i,n;return!!this.canClose()&&(r=STROKE_SIZES2[t],(i=e[0].points[0])!==(n=(n=e[e.length-1]).points[n.points.length-1]))&&this.currentLineLength>4*r&&Vec.Dist(i,n)\u003C2*r}startShape(){var{originPagePoint:e,isPen:t}=this.editor[\\\"inputs\\\"],t=(this.markId=\\\"draw start \\\"+uniqueId(),this.editor.mark(this.markId),this.isPen=t,this.isPen?1.25*this.info.point.z:.5);if(this.segmentMode=this.editor.inputs.shiftKey?\\\"straight\\\":\\\"free\\\",this.didJustShiftClickToExtendPreviousShapeLine=!1,this.lastRecordedPoint=e.clone(),this.initialShape){var r=this.editor.getShape(this.initialShape.id);if(r&&\\\"straight\\\"===this.segmentMode){this.didJustShiftClickToExtendPreviousShapeLine=!0;var i=last(r.props.segments);if(!i)throw Error(\\\"Expected a previous segment!\\\");var n,o,i=last(i.points);if(i)return({x:n,y:a}=this.editor.getPointInShapeSpace(r,e).toFixed()),o=this.isPen?1.25*this.info.point.z:.5,n={type:this.segmentMode,points:[{x:i.x,y:i.y,z:+o.toFixed(2)},{x:n,y:a,z:+o.toFixed(2)}]},a=Mat.applyToPoint(this.editor.getShapePageTransform(r.id),i),this.pagePointWhereCurrentSegmentChanged=a,this.pagePointWhereNextSegmentChanged=null,o=[...r.props.segments,n],this.currentLineLength=this.getLineLength(o),i={id:r.id,type:this.shapeType,props:{segments:o}},this.canClose()&&(i.props.isClosed=this.getIsClosed(o,r.props.size)),void this.editor.updateShapes([i]);throw Error(\\\"Expected a previous point!\\\")}}this.pagePointWhereCurrentSegmentChanged=e.clone();var a=createShapeId();this.editor.createShapes([{id:a,type:this.shapeType,x:e.x,y:e.y,props:{isPen:this.isPen,segments:[{type:this.segmentMode,points:[{x:0,y:0,z:+t.toFixed(2)}]}]}}]),this.currentLineLength=0,this.initialShape=this.editor.getShape(a)}updateShapes(){var e=this.editor[\\\"inputs\\\"],t=this[\\\"initialShape\\\"];if(t){var{id:r,props:{size:i}}=t,s=this.editor.getShape(r);if(s){var l=s.props[\\\"segments\\\"],{x:t,y:n,z:o}=this.editor.getPointInShapeSpace(s,e.currentPagePoint).toFixed(),a={x:t,y:n,z:this.isPen?+(1.25*o).toFixed(2):.5};switch(this.segmentMode){case\\\"starting_straight\\\":var c=this[\\\"pagePointWhereNextSegmentChanged\\\"];if(null===c)throw Error(\\\"We should have a point where the segment changed\\\");if(Vec.Dist(c,e.currentPagePoint)>DRAG_DISTANCE){this.pagePointWhereCurrentSegmentChanged=this.pagePointWhereNextSegmentChanged.clone(),this.pagePointWhereNextSegmentChanged=null,this.segmentMode=\\\"straight\\\";c=last(l);if(!c)throw Error(\\\"Expected a previous segment!\\\");var d=last(c.points);if(!d)throw Error(\\\"Expected a previous last point!\\\");let e;var u=this.editor.getPointInShapeSpace(s,this.pagePointWhereCurrentSegmentChanged).toFixed().toJson(),c=(\\\"straight\\\"===c.type?(this.currentLineLength+=Vec.Dist(d,u),e={type:\\\"straight\\\",points:[{...d},u]},c=this.editor.getShapePageTransform(s),this.pagePointWhereCurrentSegmentChanged=Mat.applyToPoint(c,d)):e={type:\\\"straight\\\",points:[u,a]},{id:r,type:this.shapeType,props:{segments:[...l,e]}});this.canClose()&&(c.props.isClosed=this.getIsClosed(l,i)),this.editor.updateShapes([c],{squashing:!0})}break;case\\\"starting_free\\\":d=this[\\\"pagePointWhereNextSegmentChanged\\\"];if(null===d)throw Error(\\\"We should have a point where the segment changed\\\");if(Vec.Dist(d,e.currentPagePoint)>DRAG_DISTANCE){this.pagePointWhereCurrentSegmentChanged=this.pagePointWhereNextSegmentChanged.clone(),this.pagePointWhereNextSegmentChanged=null,this.segmentMode=\\\"free\\\";u=l.slice(),c=last(u[u.length-1].points);if(!c)throw Error(\\\"No previous point!\\\");d={type:\\\"free\\\",points:[...Vec.PointsBetween(c,a,6).map(e=>e.toFixed().toJson())]},c=[...u,d],u=(this.currentLineLength=this.getLineLength(c),{id:r,type:this.shapeType,props:{segments:c}});this.canClose()&&(u.props.isClosed=this.getIsClosed(c,i)),this.editor.updateShapes([u],{squashing:!0})}break;case\\\"straight\\\":{var d=l.slice(),c=d[d.length-1],u=this[\\\"pagePointWhereCurrentSegmentChanged\\\"],{currentPagePoint:p,ctrlKey:h}=this.editor.inputs;if(!u)throw Error(\\\"We should have a point where the segment changed\\\");let e,t=!1,n=(this.didJustShiftClickToExtendPreviousShapeLine?this.editor.inputs.isDragging&&(t=!h,this.didJustShiftClickToExtendPreviousShapeLine=!1):t=!h,this.editor.getPointInShapeSpace(s,p).toFixed().toJson()),o=!1,a=void 0;var h=this.editor.user.getIsSnapMode()?!h:h;if(h&&2\u003Cd.length){let e=void 0,t=8/this.editor.getZoomLevel();for(let r=0,i=l.length-2;r\u003Ci;r++){var m=l[r];if(!m)break;if(\\\"free\\\"!==m.type){var g=m.points[0],_=last(m.points);if(g&&_){g=Vec.NearestPointOnLineSegment(g,_,n),_=Vec.Dist(g,n);if(_\u003Ct){e=g.toFixed().toJson(),t=_,a=m;break}}}}e&&(o=!0,n=e)}if(o&&a){var h=this.editor.getShapePageTransform(s),f=a.points[0],b=last(a.points);if(!b)throw Error(\\\"Expected a last point!\\\");var f=Mat.applyToPoint(h,f),b=Mat.applyToPoint(h,b),h=Mat.applyToPoint(h,n);this.editor.snaps.setLines([{id:uniqueId(),type:\\\"points\\\",points:[f,h,b]}])}else this.editor.snaps.clear(),e=t?(h=snapAngle(f=Vec.Angle(u,p),24),Vec.RotWith(p,u,h-f)):p,n=this.editor.getPointInShapeSpace(s,e).toFixed().toJson();this.currentLineLength+=Vec.Dist(c.points[0],n),d[d.length-1]={...c,type:\\\"straight\\\",points:[c.points[0],n]};b={id:r,type:this.shapeType,props:{segments:d}};this.canClose()&&(b.props.isClosed=this.getIsClosed(l,i)),this.editor.updateShapes([b],{squashing:!0});break}case\\\"free\\\":u=l.slice(),h=u[u.length-1],f=[...h.points],c=(f.length&&this.mergeNextPoint?(p=f[f.length-1][\\\"z\\\"],f[f.length-1]={x:a.x,y:a.y,z:p?Math.max(p,a.z):a.z}):(this.currentLineLength+=Vec.Dist(f[f.length-1],a),f.push(a)),u[u.length-1]={...h,points:f},this.currentLineLength=this.getLineLength(u),{id:r,type:this.shapeType,props:{segments:u}});this.canClose()&&(c.props.isClosed=this.getIsClosed(u,i)),this.editor.updateShapes([c],{squashing:!0}),500\u003Cf.length&&(this.editor.updateShapes([{id:r,type:this.shapeType,props:{isComplete:!0}}]),d=this.editor.inputs[\\\"currentPagePoint\\\"],b=createShapeId(),this.editor.createShapes([{id:b,type:this.shapeType,x:toFixed(d.x),y:toFixed(d.y),props:{isPen:this.isPen,segments:[{type:\\\"free\\\",points:[{x:0,y:0,z:this.isPen?+(1.25*o).toFixed():.5}]}]}}]),this.initialShape=structuredClone(this.editor.getShape(b)),this.mergeNextPoint=!1,this.lastRecordedPoint=this.editor.inputs.currentPagePoint.clone(),this.currentLineLength=0)}}}}getLineLength(t){let r=0;for(const o of t)for(let e=0;e\u003Co.points.length-1;e++){var i=o.points[e],n=o.points[e+1];r+=Vec.Sub(n,i).len2()}return Math.sqrt(r)}complete(){var e;this.canDraw?(e=this.initialShape,e&&(this.editor.updateShapes([{id:e.id,type:e.type,props:{isComplete:!0}}]),this.parent.transition(\\\"idle\\\"))):this.cancel()}cancel(){this.parent.transition(\\\"idle\\\",this.info)}}),Idle3=(__publicField(Drawing,\\\"id\\\",\\\"drawing\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onPointerDown\\\",e=>{this.parent.transition(\\\"drawing\\\",e)}),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")})}}),DrawShapeTool=(__publicField(Idle3,\\\"id\\\",\\\"idle\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"draw\\\"),__publicField(this,\\\"onExit\\\",()=>{this.children.drawing.initialShape=void 0})}}),FrameShapeTool=(__publicField(DrawShapeTool,\\\"id\\\",\\\"draw\\\"),__publicField(DrawShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(DrawShapeTool,\\\"children\\\",()=>[Idle3,Drawing]),init_esbuild_inject(),class extends BaseBoxShapeTool{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"frame\\\"),__publicField(this,\\\"onCreate\\\",r=>{if(r){const i=this.editor.getShapePageBounds(r),n=[],o=this.editor.getShapeAncestors(r).map(e=>e.id);this.editor.getCurrentPageShapes().map(e=>{var t;e.id===r.id||e.isLocked||(t=this.editor.getShapePageBounds(e))&&i.contains(t)&&canEnclose(e,o,r)&&n.push(e.id)}),this.editor.reparentShapes(n,r.id),this.editor.getInstanceState().isToolLocked?this.editor.setCurrentTool(\\\"frame\\\"):this.editor.setCurrentTool(\\\"select.idle\\\")}})}});function canEnclose(e,t,r){return!t.includes(e.id)&&e.parentId===r.parentId}__publicField(FrameShapeTool,\\\"id\\\",\\\"frame\\\"),__publicField(FrameShapeTool,\\\"initial\\\",\\\"idle\\\"),init_esbuild_inject(),init_esbuild_inject();var Idle4=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onPointerDown\\\",e=>{this.parent.transition(\\\"pointing\\\",e)}),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})}),__publicField(this,\\\"onKeyUp\\\",e=>{var t;if(\\\"Enter\\\"===e.key){if(this.editor.getInstanceState().isReadonly)return null;var r=this.editor.getOnlySelectedShape();r&&this.editor.getShapeUtil(r).canEdit(r)&&(this.editor.setCurrentTool(\\\"select\\\"),this.editor.setEditingShape(r.id),null!=(t=this.editor.root.getCurrent()))&&t.transition(\\\"editing_shape\\\",{...e,target:\\\"shape\\\",shape:r})}}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")})}},Pointing3=(__publicField(Idle4,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onPointerMove\\\",e=>{var t,r;this.editor.inputs.isDragging&&(t=this.editor.inputs[\\\"originPagePoint\\\"],r=createShapeId(),this.markId=\\\"creating:\\\"+r,this.editor.mark(this.markId),this.editor.createShapes([{id:r,type:\\\"geo\\\",x:t.x,y:t.y,props:{w:1,h:1,geo:this.editor.getStyleForNextShape(GeoShapeGeoStyle)}}]).select(r).setCurrentTool(\\\"select.resizing\\\",{...e,target:\\\"selection\\\",handle:\\\"bottom_right\\\",isCreating:!0,creationCursorOffset:{x:1,y:1},onInteractionEnd:\\\"geo\\\"}))}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()})}complete(){var e,t,r,i=this.editor.inputs[\\\"originPagePoint\\\"],n=createShapeId(),i=(this.markId=\\\"creating:\\\"+n,this.editor.mark(this.markId),this.editor.createShapes([{id:n,type:\\\"geo\\\",x:i.x,y:i.y,props:{geo:this.editor.getStyleForNextShape(GeoShapeGeoStyle),w:1,h:1}}]),this.editor.getShape(n));i&&(t=(e=\\\"star\\\"===i.props.geo?new Box(0,0,200,190):\\\"cloud\\\"===i.props.geo?new Box(0,0,300,180):new Box(0,0,200,200)).center,(r=this.editor.getShapeParentTransform(i))&&t.rot(-r.rotation()),this.editor.select(n),this.editor.updateShapes([{id:i.id,type:\\\"geo\\\",x:i.x-t.x,y:i.y-t.y,props:{geo:this.editor.getStyleForNextShape(GeoShapeGeoStyle),w:e.width,h:e.height}}]),this.editor.getInstanceState().isToolLocked?this.parent.transition(\\\"idle\\\"):this.editor.setCurrentTool(\\\"select\\\",{}))}cancel(){this.parent.transition(\\\"idle\\\")}}),GeoShapeTool=(__publicField(Pointing3,\\\"id\\\",\\\"pointing\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"geo\\\")}}),HighlightShapeTool=(__publicField(GeoShapeTool,\\\"id\\\",\\\"geo\\\"),__publicField(GeoShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(GeoShapeTool,\\\"children\\\",()=>[Idle4,Pointing3]),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"highlight\\\"),__publicField(this,\\\"onExit\\\",()=>{this.children.drawing.initialShape=void 0})}}),Idle5=(__publicField(HighlightShapeTool,\\\"id\\\",\\\"highlight\\\"),__publicField(HighlightShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(HighlightShapeTool,\\\"children\\\",()=>[Idle3,Drawing]),init_esbuild_inject(),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeId\\\",\\\"\\\"),__publicField(this,\\\"onEnter\\\",e=>{this.shapeId=e.shapeId,this.editor.setCursor({type:\\\"cross\\\",rotation:0})}),__publicField(this,\\\"onPointerDown\\\",()=>{this.parent.transition(\\\"pointing\\\",{shapeId:this.shapeId})}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")})}}),MINIMUM_DISTANCE_BETWEEN_SHIFT_CLICKED_HANDLES=(__publicField(Idle5,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),2),Pointing4=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shape\\\",{}),__publicField(this,\\\"markId\\\"),__publicField(this,\\\"onEnter\\\",e=>{var i=this.editor[\\\"inputs\\\"],n=i[\\\"currentPagePoint\\\"],o=(this.markId=void 0,e.shapeId&&this.editor.getShape(e.shapeId));if(o&&i.shiftKey){this.markId=\\\"creating:\\\"+o.id,this.editor.mark(this.markId),this.shape=o;i=this.editor.getShapeHandles(this.shape);if(i){var o=i.filter(e=>\\\"vertex\\\"===e.type).sort(sortByIndex2),i=o[o.length-1],o=o[o.length-2],a=Mat.applyToPoint(this.editor.getShapeParentTransform(this.shape),new Vec(this.shape.x,this.shape.y));let e,t,r;a=Vec.Sub(n,a),o=(r=Vec.Dist(i,o)\u003CMINIMUM_DISTANCE_BETWEEN_SHIFT_CLICKED_HANDLES||Vec.Dist(a,i)\u003CMINIMUM_DISTANCE_BETWEEN_SHIFT_CLICKED_HANDLES?(e=i.index,t=i.id,{...i,x:a.x+.1,y:a.y+.1}):(e=getIndexAbove(i.index),{id:t=\\\"handle:\\\"+e,type:\\\"vertex\\\",index:e,x:a.x+.1,y:a.y+.1,canBind:!1}),structuredClone2(this.shape.props.handles));o[r.id]=r,this.editor.updateShapes([{id:this.shape.id,type:this.shape.type,props:{handles:o}}])}}else{i=createShapeId();this.markId=\\\"creating:\\\"+i,this.editor.mark(this.markId),this.editor.createShapes([{id:i,type:\\\"line\\\",x:n.x,y:n.y}]),this.editor.select(i),this.shape=this.editor.getShape(i)}}),__publicField(this,\\\"onPointerMove\\\",()=>{if(this.shape&&this.editor.inputs.isDragging){var e=this.editor.getShapeHandles(this.shape);if(console,!e)throw this.markId&&this.editor.bailToMark(this.markId),Error(\\\"No handles found\\\");e=last(e);this.editor.setCurrentTool(\\\"select.dragging_handle\\\",{shape:this.shape,isCreating:!0,handle:{...e,x:e.x-.1,y:e.y-.1},onInteractionEnd:\\\"line\\\"})}}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.parent.transition(\\\"idle\\\"),this.markId&&this.editor.bailToMark(this.markId),this.editor.snaps.clear()})}complete(){this.parent.transition(\\\"idle\\\",{shapeId:this.shape.id}),this.editor.snaps.clear()}cancel(){this.markId&&this.editor.bailToMark(this.markId),this.parent.transition(\\\"idle\\\",{shapeId:this.shape.id}),this.editor.snaps.clear()}},LineShapeTool=(__publicField(Pointing4,\\\"id\\\",\\\"pointing\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"line\\\")}}),Idle6=(__publicField(LineShapeTool,\\\"id\\\",\\\"line\\\"),__publicField(LineShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(LineShapeTool,\\\"children\\\",()=>[Idle5,Pointing4]),init_esbuild_inject(),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onPointerDown\\\",e=>{this.parent.transition(\\\"pointing\\\",e)}),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")})}}),Pointing5=(__publicField(Idle6,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"dragged\\\",!1),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"wasFocusedOnEnter\\\",!1),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"shape\\\",{}),__publicField(this,\\\"onEnter\\\",()=>{this.wasFocusedOnEnter=!this.editor.getIsMenuOpen(),this.wasFocusedOnEnter&&(this.shape=this.createShape())}),__publicField(this,\\\"onPointerMove\\\",e=>{this.editor.inputs.isDragging&&(this.wasFocusedOnEnter||(this.shape=this.createShape()),this.editor.setCurrentTool(\\\"select.translating\\\",{...e,target:\\\"shape\\\",shape:this.shape,onInteractionEnd:\\\"note\\\",isCreating:!0,onCreate:()=>{this.editor.setEditingShape(this.shape.id),this.editor.setCurrentTool(\\\"select.editing_shape\\\")}}))}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()})}complete(){this.wasFocusedOnEnter&&(this.editor.getInstanceState().isToolLocked?this.parent.transition(\\\"idle\\\"):(this.editor.setEditingShape(this.shape.id),this.editor.setCurrentTool(\\\"select.editing_shape\\\",{...this.info,target:\\\"shape\\\",shape:this.shape})))}cancel(){this.editor.bailToMark(this.markId),this.parent.transition(\\\"idle\\\",this.info)}createShape(){var e=this.editor[\\\"inputs\\\"][\\\"originPagePoint\\\"],t=createShapeId(),e=(this.markId=\\\"creating:\\\"+t,this.editor.mark(this.markId),this.editor.createShapes([{id:t,type:\\\"note\\\",x:e.x,y:e.y}]).select(t),this.editor.getShape(t)),r=this.editor.getShapeGeometry(e).bounds;return this.editor.updateShapes([{id:t,type:\\\"note\\\",x:e.x-r.width/2,y:e.y-r.height/2}]),this.editor.getShape(t)}}),NoteShapeTool=(__publicField(Pointing5,\\\"id\\\",\\\"pointing\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"note\\\")}});function updateHoveredId(e){var t=e.getShapeAtPoint(e.inputs.currentPagePoint,{hitInside:!1,hitLabels:!1,margin:HIT_TEST_MARGIN/e.getZoomLevel(),renderingOnly:!0});if(!t)return e.setHoveredShape(null);let r=void 0;var i=e.getOutermostSelectableShape(t);return r=i===t||i.id===e.getFocusedGroupId()||e.getSelectedShapeIds().includes(i.id)?t:i,e.setHoveredShape(r.id)}__publicField(NoteShapeTool,\\\"id\\\",\\\"note\\\"),__publicField(NoteShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(NoteShapeTool,\\\"children\\\",()=>[Idle6,Pointing5]),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var Idle7=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onPointerMove\\\",e=>{switch(e.target){case\\\"shape\\\":case\\\"canvas\\\":updateHoveredId(this.editor)}}),__publicField(this,\\\"onPointerDown\\\",e=>{this.parent.transition(\\\"pointing\\\",e)}),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})}),__publicField(this,\\\"onKeyDown\\\",e=>{var t;if(\\\"Enter\\\"===e.key){if(this.editor.getInstanceState().isReadonly)return null;var r=this.editor.getOnlySelectedShape();r&&this.editor.getShapeUtil(r).canEdit(r)&&(this.editor.setCurrentTool(\\\"select\\\"),this.editor.setEditingShape(r.id),null!=(t=this.editor.root.getCurrent()))&&t.transition(\\\"editing_shape\\\",{...e,target:\\\"shape\\\",shape:r})}}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")})}},Pointing6=(__publicField(Idle7,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shape\\\"),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"onExit\\\",()=>{this.editor.setHintingShapes([])}),__publicField(this,\\\"onPointerMove\\\",e=>{if(this.editor.inputs.isDragging){var{originPagePoint:t}=this.editor[\\\"inputs\\\"],r=createShapeId();if(this.markId=\\\"creating:\\\"+r,this.editor.mark(this.markId),this.editor.createShapes([{id:r,type:\\\"text\\\",x:t.x,y:t.y,props:{text:\\\"\\\",autoSize:!1,w:20}}]),this.editor.select(r),this.shape=this.editor.getShape(r),this.shape){const i=this[\\\"shape\\\"];this.editor.setCurrentTool(\\\"select.resizing\\\",{...e,target:\\\"selection\\\",handle:\\\"right\\\",isCreating:!0,creationCursorOffset:{x:1,y:1},onInteractionEnd:\\\"text\\\",onCreate:()=>{this.editor.setEditingShape(i.id),this.editor.setCurrentTool(\\\"select.editing_shape\\\")}})}}}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onComplete\\\",()=>{this.cancel()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()})}complete(){this.editor.mark(\\\"creating text shape\\\");var e=createShapeId(),{x:t,y:r}=this.editor.inputs.currentPagePoint;this.editor.createShapes([{id:e,type:\\\"text\\\",x:t,y:r,props:{text:\\\"\\\",autoSize:!0}}]).select(e),this.editor.setEditingShape(e),this.editor.setCurrentTool(\\\"select\\\"),null!=(t=this.editor.root.getCurrent())&&t.transition(\\\"editing_shape\\\")}cancel(){this.parent.transition(\\\"idle\\\"),this.editor.bailToMark(this.markId)}}),TextShapeTool=(__publicField(Pointing6,\\\"id\\\",\\\"pointing\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"text\\\")}}),defaultShapeTools=(__publicField(TextShapeTool,\\\"id\\\",\\\"text\\\"),__publicField(TextShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(TextShapeTool,\\\"children\\\",()=>[Idle7,Pointing6]),[TextShapeTool,DrawShapeTool,GeoShapeTool,NoteShapeTool,LineShapeTool,FrameShapeTool,ArrowShapeTool,HighlightShapeTool]),import_jsx_runtime41=(init_esbuild_inject(),init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react43=__toESM(require(\\\"react\\\"),1),import_jsx_runtime38=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react40=__toESM(require(\\\"react\\\"),1);function useDefaultColorTheme(){return getDefaultColorTheme({isDarkMode:useIsDarkMode()})}var ShapeFill=import_react40[\\\"default\\\"].memo(function ShapeFill2({theme:e,d:t,color:r,fill:i}){switch(i){case\\\"none\\\":return null;case\\\"solid\\\":return(0,import_jsx_runtime38.jsx)(\\\"path\\\",{fill:e[r].semi,d:t});case\\\"semi\\\":return(0,import_jsx_runtime38.jsx)(\\\"path\\\",{fill:e.solid,d:t});case\\\"pattern\\\":return(0,import_jsx_runtime38.jsx)(PatternFill,{theme:e,color:r,fill:i,d:t})}}),PatternFill=function PatternFill2({d:e,color:t,theme:r}){const i=useEditor();var n=useValue(\\\"zoomLevel\\\",()=>i.getZoomLevel(),[i]),n=Math.ceil(n),o=i.getZoomLevel()\u003C=.18;return(0,import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment,{children:[(0,import_jsx_runtime38.jsx)(\\\"path\\\",{fill:r[t].pattern,d:e}),(0,import_jsx_runtime38.jsx)(\\\"path\\\",{fill:o?r[t].semi:`url(#${HASH_PATTERN_ZOOM_NAMES[n+\\\"_\\\"+r.id]})`,d:e})]})};function getShapeFillSvg({d:e,color:t,fill:r,theme:i}){if(\\\"none\\\"!==r){var n,o,a;if(\\\"pattern\\\"===r)return n=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\"),(o=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\")).setAttribute(\\\"d\\\",e),o.setAttribute(\\\"fill\\\",i[t].pattern),(a=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\")).setAttribute(\\\"d\\\",e),a.setAttribute(\\\"fill\\\",\\\"url(#hash_pattern)\\\"),n.appendChild(o),n.appendChild(a),n;var s=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\");switch(s.setAttribute(\\\"d\\\",e),r){case\\\"semi\\\":s.setAttribute(\\\"fill\\\",i.solid);break;case\\\"solid\\\":s.setAttribute(\\\"fill\\\",i[t].semi)}return s}}function getSvgWithShapeFill(e,t){var r;return t?((r=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")).appendChild(t),r.appendChild(e),r):e}function correctSpacesToNbsp(e){return e.replace(/\\\\s/g,\\\" \\\")}function createTextSvgElementFromSpans(e,t,r){var i,{padding:n=0}=r,o=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"text\\\");if(o.setAttribute(\\\"font-size\\\",r.fontSize+\\\"px\\\"),o.setAttribute(\\\"font-family\\\",r.fontFamily),o.setAttribute(\\\"font-style\\\",r.fontStyle),o.setAttribute(\\\"font-weight\\\",r.fontWeight),o.setAttribute(\\\"line-height\\\",r.lineHeight*r.fontSize+\\\"px\\\"),o.setAttribute(\\\"dominant-baseline\\\",\\\"mathematical\\\"),o.setAttribute(\\\"alignment-baseline\\\",\\\"mathematical\\\"),0!==t.length){var a,s=Box.From(t[0].box);for({box:a}of t)s.union(a);var l,c,d=n+(null!=(i=r.offsetX)?i:0),u=(null!=(i=r.offsetY)?i:0)+r.fontSize/2+(\\\"start\\\"===r.verticalTextAlign?n:\\\"end\\\"===r.verticalTextAlign?r.height-n-s.height:(Math.ceil(r.height)-s.height)/2);let e=null;for({text:l,box:c}of t){null!==e&&c.y>e&&((p=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"tspan\\\")).setAttribute(\\\"alignment-baseline\\\",\\\"mathematical\\\"),p.setAttribute(\\\"x\\\",d+\\\"px\\\"),p.setAttribute(\\\"y\\\",c.y+u+\\\"px\\\"),p.textContent=\\\"\\\\n\\\",o.appendChild(p));var p=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"tspan\\\"),h=(p.setAttribute(\\\"alignment-baseline\\\",\\\"mathematical\\\"),p.setAttribute(\\\"x\\\",c.x+d+\\\"px\\\"),p.setAttribute(\\\"y\\\",c.y+u+\\\"px\\\"),correctSpacesToNbsp(l));p.textContent=h,o.appendChild(p),e=c.y}r.stroke&&r.strokeWidth&&(o.setAttribute(\\\"stroke\\\",r.stroke),o.setAttribute(\\\"stroke-width\\\",r.strokeWidth+\\\"px\\\")),r.fill&&o.setAttribute(\\\"fill\\\",r.fill)}return o}init_esbuild_inject(),init_esbuild_inject();var import_jsx_runtime39=require(\\\"react/jsx-runtime\\\"),import_react41=require(\\\"react\\\");function getFontDefForExport(n){return{key:DefaultFontStyle.id+\\\":\\\"+n,getElement:async()=>{var e=findFont(n);if(!e)return null;var t=e.$$_url,e=e.$$_fontface;if(!t||!e)return null;const i=await(await fetch(t)).blob();var r=await new Promise((e,t)=>{const r=new FileReader;r.onload=()=>e(r.result),r.onerror=t,r.readAsDataURL(i)}),t=e.replace(t,r),r=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"style\\\");return r.textContent=t,r}}}function findFont(e){var t=DefaultFontFamilies[e];for(const r of document.fonts)if(t.includes(r.family))return r;return null}function getFillDefForExport(r,i){return{key:DefaultFontStyle.id+\\\":\\\"+r,getElement:async()=>{var e,t;return\\\"pattern\\\"!==r?null:(e=8/12,(t=document.createElement(\\\"div\\\")).innerHTML=`\\n\\t\\t\\t\\t\u003Csvg>\\n\\t\\t\\t\\t\\t\u003Cdefs>\\n\\t\\t\\t\\t\\t\\t\u003Cmask id=\\\"hash_pattern_mask\\\">\\n\\t\\t\\t\\t\\t\\t\\t\u003Crect x=\\\"0\\\" y=\\\"0\\\" width=\\\"8\\\" height=\\\"8\\\" fill=\\\"white\\\" />\\n\\t\\t\\t\\t\\t\\t\\t\u003Cg\\n\\t\\t\\t\\t\\t\\t\\t\\tstrokeLinecap=\\\"round\\\"\\n\\t\\t\\t\\t\\t\\t\\t\\tstroke=\\\"black\\\"\\n\\t\\t\\t\\t\\t\\t\\t>\\n\\t\\t\\t\\t\\t\\t\\t\\t\u003Cline x1=\\\"${e}\\\" y1=\\\"2\\\" x2=\\\"2\\\" y2=\\\"${e}\\\" />\\n\\t\\t\\t\\t\\t\\t\\t\\t\u003Cline x1=\\\"${5*e}\\\" y1=\\\"${7*e}\\\" x2=\\\"${7*e}\\\" y2=\\\"${5*e}\\\" />\\n\\t\\t\\t\\t\\t\\t\\t\\t\u003Cline x1=\\\"6\\\" y1=\\\"${11*e}\\\" x2=\\\"${11*e}\\\" y2=\\\"6\\\" />\\n\\t\\t\\t\\t\\t\\t\\t\u003C/g>\\n\\t\\t\\t\\t\\t\\t\u003C/mask>\\n\\t\\t\\t\\t\\t\\t\u003Cpattern\\n\\t\\t\\t\\t\\t\\t\\tid=\\\"hash_pattern\\\"\\n\\t\\t\\t\\t\\t\\t\\twidth=\\\"8\\\"\\n\\t\\t\\t\\t\\t\\t\\theight=\\\"8\\\"\\n\\t\\t\\t\\t\\t\\t\\tpatternUnits=\\\"userSpaceOnUse\\\"\\n\\t\\t\\t\\t\\t\\t>\\n\\t\\t\\t\\t\\t\\t\\t\u003Crect x=\\\"0\\\" y=\\\"0\\\" width=\\\"8\\\" height=\\\"8\\\" fill=\\\"${i.solid}\\\" mask=\\\"url(#hash_pattern_mask)\\\" />\\n\\t\\t\\t\\t\\t\\t\u003C/pattern>\\n\\t\\t\\t\\t\\t\u003C/defs>\\n\\t\\t\\t\\t\u003C/svg>\\n\\t\\t\\t`,Array.from(t.querySelectorAll(\\\"defs > *\\\")))}}}function getFillDefForCanvas(){return{key:DefaultFontStyle.id+\\\":pattern\\\",component:PatternFillDefForCanvas}}var TILE_PATTERN_SIZE=8,generateImage=(a,s,l)=>new Promise((t,r)=>{var e,i=TILE_PATTERN_SIZE*s*a,n=document.createElement(\\\"canvas\\\"),o=(n.width=i,n.height=i,n.getContext(\\\"2d\\\"));o&&(o.fillStyle=l?\\\"#212529\\\":\\\"#f8f9fa\\\",o.fillRect(0,0,i,i),o.globalCompositeOperation=\\\"destination-out\\\",o.lineCap=\\\"round\\\",o.lineWidth=1.25*s*a,i=8/12,e=e=>e*s*a,o.beginPath(),o.moveTo(e(i),e(2)),o.lineTo(e(2),e(i)),o.moveTo(e(5*i),e(7*i)),o.lineTo(e(7*i),e(5*i)),o.moveTo(e(6),e(11*i)),o.lineTo(e(11*i),e(6)),o.stroke(),n.toBlob(e=>{!e||debugFlags.throwToBlob.get()?r():t(e)}))}),canvasBlob=(e,t)=>{var r=document.createElement(\\\"canvas\\\"),i=(r.width=e[0],r.height=e[1],r.getContext(\\\"2d\\\"));return i?(t(i),r.toDataURL()):\\\"\\\"},getDefaultPatterns=()=>{var e=[];for(let i=1;i\u003C=Math.ceil(MAX_ZOOM);i++){var t=canvasBlob([1,1],e=>{e.fillStyle=DefaultColorThemePalette.lightMode.black.semi,e.fillRect(0,0,1,1)}),r=canvasBlob([1,1],e=>{e.fillStyle=DefaultColorThemePalette.darkMode.black.semi,e.fillRect(0,0,1,1)});e.push({zoom:i,url:t,darkMode:!1}),e.push({zoom:i,url:r,darkMode:!0})}return e};function usePattern(){const i=useEditor().getInstanceState().devicePixelRatio,[e,n]=(0,import_react41.useState)(!1);var t=(0,import_react41.useMemo)(()=>getDefaultPatterns(),[]);const[r,o]=(0,import_react41.useState)(t);return(0,import_react41.useEffect)(()=>{var e=[];for(let r=1;r\u003C=Math.ceil(MAX_ZOOM);r++)e.push(generateImage(i,r,!1).then(e=>({zoom:r,url:URL.createObjectURL(e),darkMode:!1}))),e.push(generateImage(i,r,!0).then(e=>({zoom:r,url:URL.createObjectURL(e),darkMode:!0})));let t=!1;return Promise.all(e).then(e=>{t||(o(e),n(!0))}),()=>{t=!0,n(!1)}},[i]),{defs:(0,import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment,{children:r.map(e=>{var t=e.zoom+(e.darkMode?\\\"_dark\\\":\\\"_light\\\");return(0,import_jsx_runtime39.jsx)(\\\"pattern\\\",{id:HASH_PATTERN_ZOOM_NAMES[t],width:TILE_PATTERN_SIZE,height:TILE_PATTERN_SIZE,patternUnits:\\\"userSpaceOnUse\\\",children:(0,import_jsx_runtime39.jsx)(\\\"image\\\",{href:e.url,width:TILE_PATTERN_SIZE,height:TILE_PATTERN_SIZE})},t)})}),isReady:e}}function PatternFillDefForCanvas(){const t=useEditor(),r=(0,import_react41.useRef)(null),{defs:e,isReady:i}=usePattern();return(0,import_react41.useEffect)(()=>{if(i&&t.environment.isSafari){const e=findHtmlLayerParent(r.current);e&&requestAnimationFrame(()=>{e.style.display=\\\"none\\\",requestAnimationFrame(()=>{e.style.display=\\\"\\\"})})}},[t,i]),(0,import_jsx_runtime39.jsx)(\\\"g\\\",{ref:r,children:e})}function findHtmlLayerParent(e){return e.classList.contains(\\\"tl-html-layer\\\")?e:e.parentElement?findHtmlLayerParent(e.parentElement):null}function getPerfectDashProps2(e,t,r={}){var{closed:i=!1,snap:n=1,start:o=\\\"outset\\\",end:a=\\\"outset\\\",lengthRatio:s=2,style:l=\\\"dashed\\\"}=r;let c=0,d=0,u=1,p=0,h=0;switch(l){case\\\"dashed\\\":u=1,c=Math.min(t*s,e/4);break;case\\\"dotted\\\":u=100,c=t/u;break;default:return{strokeDasharray:\\\"none\\\",strokeDashoffset:\\\"none\\\"}}return i||(\\\"outset\\\"===o?(e+=c/2,h+=c/2):\\\"skip\\\"===o&&(e-=c,h-=c),\\\"outset\\\"===a?e+=c/2:\\\"skip\\\"===a&&(e-=c)),d=Math.floor(e/c/(2*u)),d-=d%n,p=d\u003C3&&\\\"dashed\\\"===l?e/t\u003C5?(c=e,d=1,0):c=.333*e:(d=Math.max(d,3),c=e/d/(2*u),i?(h=c/2,(e-d*c)/d):(e-d*c)/Math.max(1,d-1)),{strokeDasharray:[c,p].join(\\\" \\\"),strokeDashoffset:h.toString()}}function getArrowPoints(e,t,r){var i=(\\\"end\\\"===t?e.end:e.start).point,n=(\\\"end\\\"===t?e.start:e.end).point,o=e.isStraight?Vec.Dist(n,i):Math.abs(e.bodyArc.length),o=Math.max(Math.min(o/5,3*r),r);let a;return{point:i,\\\"int\\\":a=e.isStraight?Vec.Nudge(i,n,o):(n=intersectCircleCircle(i,o,e.handleArc.center,e.handleArc.radius),\\\"end\\\"===t?e.handleArc.sweepFlag?n[0]:n[1]:e.handleArc.sweepFlag?n[1]:n[0])}}function getArrowhead({point:e,\\\"int\\\":t}){var r=Vec.RotWith(t,e,PI/6),i=Vec.RotWith(t,e,-PI/6);return`M ${r.x} ${r.y} L ${e.x} ${e.y} L ${i.x} `+i.y}function getTriangleHead({point:e,\\\"int\\\":t}){var r=Vec.RotWith(t,e,PI/6),i=Vec.RotWith(t,e,-PI/6);return`M ${r.x} ${r.y} L ${e.x} ${e.y} L ${i.x} ${i.y} Z`}function getInvertedTriangleHead({point:e,\\\"int\\\":t}){var r=Vec.Sub(t,e).div(2),i=Vec.Add(e,Vec.Rot(r,HALF_PI)),r=Vec.Sub(e,Vec.Rot(r,HALF_PI));return`M ${i.x} ${i.y} L ${t.x} ${t.y} L ${r.x} ${r.y} Z`}function getDotHead({point:e,\\\"int\\\":t}){var r=Vec.Lrp(e,t,.45),i=Vec.Dist(r,e);return`M ${r.x-i},${r.y}\\n a ${i},${i} 0 1,0 ${2*i},0\\n a ${i},${i} 0 1,0 -${2*i},0 `}function getDiamondHead({point:e,\\\"int\\\":t}){var r=Vec.Lrp(e,t,.75),i=Vec.RotWith(r,e,PI/4),r=Vec.RotWith(r,e,-PI/4),n=Vec.Lrp(i,r,.5);return n.add(Vec.Sub(n,e)),`M ${n.x} ${n.y} L ${i.x} ${i.y} ${e.x} ${e.y} L ${r.x} ${r.y} Z`}function getSquareHead({\\\"int\\\":e,point:t}){var r=Vec.Lrp(t,e,.85),i=Vec.Sub(r,t).div(2),n=Vec.Add(t,Vec.Rot(i,HALF_PI)),o=Vec.Sub(t,Vec.Rot(i,HALF_PI)),a=Vec.Add(r,Vec.Rot(i,HALF_PI)),r=Vec.Sub(r,Vec.Rot(i,HALF_PI));return`M ${n.x} ${n.y} L ${a.x} ${a.y} L ${r.x} ${r.y} L ${o.x} ${o.y} Z`}function getBarHead({\\\"int\\\":e,point:t}){var r=Vec.Sub(e,t).div(2),i=Vec.Add(t,Vec.Rot(r,HALF_PI)),r=Vec.Sub(t,Vec.Rot(r,HALF_PI));return`M ${i.x} ${i.y} L ${r.x} `+r.y}function getArrowheadPathForType(e,t,r){var i=(\\\"end\\\"===t?e.end:e.start).arrowhead;if(\\\"none\\\"!==i){var n=getArrowPoints(e,t,r);if(n){switch(i){case\\\"bar\\\":return getBarHead(n);case\\\"square\\\":return getSquareHead(n);case\\\"diamond\\\":return getDiamondHead(n);case\\\"dot\\\":return getDotHead(n);case\\\"inverted\\\":return getInvertedTriangleHead(n);case\\\"arrow\\\":return getArrowhead(n);case\\\"triangle\\\":return getTriangleHead(n)}return\\\"\\\"}}}function getCurvedArrowHandlePath(e){var{start:t,end:r,handleArc:{radius:i,largeArcFlag:n,sweepFlag:o}}=e;return`M${t.handle.x},${t.handle.y} A${i} ${i} 0 ${n} ${o} ${r.handle.x},`+r.handle.y}function getSolidCurvedArrowPath(e){var{start:t,end:r,bodyArc:{radius:i,largeArcFlag:n,sweepFlag:o}}=e;return`M${t.point.x},${t.point.y} A${i} ${i} 0 ${n} ${o} ${r.point.x},`+r.point.y}function getArrowPath(e,t){return`M${e.x},${e.y}L${t.x},`+t.y}function getStraightArrowHandlePath(e){return getArrowPath(e.start.handle,e.end.handle)}function getSolidStraightArrowPath(e){return getArrowPath(e.start.point,e.end.point)}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var import_jsx_runtime40=require(\\\"react/jsx-runtime\\\"),React18=__toESM(require(\\\"react\\\"),1),import_react42=(init_esbuild_inject(),require(\\\"react\\\"));function useEditableText(n,o,e){const a=useEditor(),s=(0,import_react42.useRef)(null),l=(0,import_react42.useRef)(!1),c=(0,import_react42.useRef)(),d=useValue(\\\"isEditing\\\",()=>a.getEditingShapeId()===n,[a,n]);(0,import_react42.useEffect)(()=>{var e=s.current;e&&d&&document.activeElement!==e&&e.focus()},[d]);var t=(0,import_react42.useCallback)(()=>{const r=l.current;l.current=!1,requestAnimationFrame(()=>{var e,t=s.current;t&&(e=a.getShape(n))&&(t.value=e.props.text,t.value.length)&&!r&&t.select()})},[a,n]),r=(0,import_react42.useCallback)(()=>{const i=c.current;requestAnimationFrame(()=>{var e=s.current,t=a.getEditingShapeId();if(e&&t){if(t===n)if(i)if(i.length){l.current=!0,e.focus();const r=window.getSelection();r&&i.forEach(e=>r.addRange(e))}else e.focus();else e.focus()}else null!=(t=window.getSelection())&&t.removeAllRanges(),a.complete()})},[a,n]),i=(0,import_react42.useCallback)(e=>{if(d)switch((e.ctrlKey||e.metaKey)&&stopEventPropagation(e),e.key){case\\\"Enter\\\":(e.ctrlKey||e.metaKey)&&a.complete();break;case\\\"Tab\\\":preventDefault(e),e.shiftKey?TextHelpers.unindent(e.currentTarget):TextHelpers.indent(e.currentTarget)}},[a,d]),u=(0,import_react42.useCallback)(t=>{if(d){let e=TextHelpers.normalizeText(t.currentTarget.value);var r,i=e.replace(/\\\\t/g,INDENT);i!==e&&(r=t.currentTarget.selectionStart,t.currentTarget.value=i,t.currentTarget.selectionStart=r+(i.length-e.length),t.currentTarget.selectionEnd=r+(i.length-e.length),e=i),a.updateShapes([{id:n,type:o,props:{text:e}}])}},[a,n,o,d]),p=0===e.trim().length,h=((0,import_react42.useEffect)(()=>{if(d&&s.current){let e=function(){var e,t,r=null==(e=window.getSelection)?void 0:e.call(window);if(r&&\\\"None\\\"!==r.type){var i=[];if(r)for(let e=0;e\u003Cr.rangeCount;e++)i.push(null==(t=r.getRangeAt)?void 0:t.call(r,e));c.current=i}};e;return document.addEventListener(\\\"selectionchange\\\",e),()=>{document.removeEventListener(\\\"selectionchange\\\",e)}}},[d]),(0,import_react42.useCallback)(e=>{a.dispatch({...getPointerInfo(e),type:\\\"pointer\\\",name:\\\"pointer_down\\\",target:\\\"shape\\\",shape:a.getShape(n)}),stopEventPropagation(e)},[a,n]));return{rInput:s,isEditing:d,handleFocus:t,handleBlur:r,handleKeyDown:i,handleChange:u,handleInputPointerDown:h,handleDoubleClick:stopEventPropagation,isEmpty:p}}var ArrowTextLabel=React18.memo(function ArrowTextLabel2({id:e,text:t,size:r,font:i,position:n,width:o,labelColor:a}){var{rInput:s,isEditing:l,handleFocus:c,handleBlur:d,handleKeyDown:u,handleChange:p,isEmpty:h,handleInputPointerDown:m,handleDoubleClick:g}=useEditableText(e,\\\"arrow\\\",t),_=0\u003CTextHelpers.normalizeTextForDom(t).trim().length;return l||_?(0,import_jsx_runtime40.jsx)(\\\"div\\\",{className:\\\"tl-arrow-label\\\",\\\"data-font\\\":i,\\\"data-align\\\":\\\"center\\\",\\\"data-hastext\\\":!h,\\\"data-isediting\\\":l,style:{textAlign:\\\"center\\\",fontSize:ARROW_LABEL_FONT_SIZES[r],lineHeight:ARROW_LABEL_FONT_SIZES[r]*TEXT_PROPS.lineHeight+\\\"px\\\",transform:`translate(${n.x}px, ${n.y}px)`,color:a},children:(0,import_jsx_runtime40.jsxs)(\\\"div\\\",{className:\\\"tl-arrow-label__inner\\\",children:[(0,import_jsx_runtime40.jsx)(\\\"p\\\",{style:{width:o||\\\"9px\\\"},children:t?TextHelpers.normalizeTextForDom(t):\\\" \\\"}),l&&(0,import_jsx_runtime40.jsx)(\\\"textarea\\\",{ref:s,className:\\\"tl-text tl-text-input\\\",name:\\\"text\\\",tabIndex:-1,autoComplete:\\\"false\\\",autoCapitalize:\\\"false\\\",autoCorrect:\\\"false\\\",autoSave:\\\"false\\\",autoFocus:!0,placeholder:\\\"\\\",spellCheck:\\\"true\\\",wrap:\\\"off\\\",dir:\\\"auto\\\",datatype:\\\"wysiwyg\\\",defaultValue:t,onFocus:c,onChange:p,onKeyDown:u,onBlur:d,onContextMenu:stopEventPropagation,onPointerDown:m,onDoubleClick:g})]})}):null}),globalRenderIndex=0,ArrowShapeUtil=class extends ShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"canEdit\\\",()=>!0),__publicField(this,\\\"canBind\\\",()=>!1),__publicField(this,\\\"canSnap\\\",()=>!1),__publicField(this,\\\"hideResizeHandles\\\",()=>!0),__publicField(this,\\\"hideRotateHandle\\\",()=>!0),__publicField(this,\\\"hideSelectionBoundsBg\\\",()=>!0),__publicField(this,\\\"hideSelectionBoundsFg\\\",()=>!0),__publicField(this,\\\"onHandleChange\\\",(t,{handle:r,isPrecise:i})=>{var n=r.id;if(\\\"middle\\\"===n){var{start:o,end:a}=getArrowTerminalsInArrowSpace(this.editor,t),s=Vec.Sub(a,o),s=Vec.Per(s),o=Vec.Med(a,o),l=Vec.Sub(o,s),s=Vec.Add(o,s),l=Vec.NearestPointOnLineSegment(l,s,r,!1);let e=Vec.Dist(l,o);return Vec.Clockwise(l,a,o)&&(e*=-1),{id:t.id,type:t.type,props:{bend:e}}}s=deepCopy(t),l=this.editor.getShapePageTransform(s.id).applyToPoint(r);if(this.editor.inputs.ctrlKey)s.props[n]={type:\\\"point\\\",x:r.x,y:r.y};else{a=this.editor.getShapePageTransform(t.id).applyToPoint(r),o=this.editor.getShapeAtPoint(a,{hitInside:!0,hitFrameInside:!0,margin:0,filter:e=>!e.isLocked&&this.editor.getShapeUtil(e).canBind(e)});if(o){var c,a=this.editor.getShapeGeometry(o),d=Box.ZeroFix(a.bounds),l=this.editor.getPointInShapeSpace(o,l);let e=i;e||\\\"point\\\"!==(c=s.props[n]).type&&(\\\"binding\\\"!==c.type||o.id===c.boundShapeId)||(e=this.editor.inputs.pointerVelocity.len()\u003C.5),i||(a.isClosed||(e=!0),\\\"binding\\\"===(c=s.props[\\\"start\\\"===n?\\\"end\\\":\\\"start\\\"]).type&&o.id===c.boundShapeId&&c.isPrecise&&(e=!0));a={x:(l.x-d.minX)/d.width,y:(l.y-d.minY)/d.height};e&&Vec.Dist(l,d.center)\u003CMath.max(4,Math.min(.15*Math.min(d.width,d.height),16))/this.editor.getZoomLevel()&&(a.x=.5,a.y=.5),s.props[n]={type:\\\"binding\\\",boundShapeId:o.id,normalizedAnchor:a,isPrecise:e,isExact:this.editor.inputs.altKey},\\\"binding\\\"===s.props.start.type&&\\\"binding\\\"===s.props.end.type&&s.props.start.boundShapeId===s.props.end.boundShapeId&&Vec.Equals(s.props.start.normalizedAnchor,s.props.end.normalizedAnchor)&&(s.props.end.normalizedAnchor.x+=.05)}else s.props[n]={type:\\\"point\\\",x:r.x,y:r.y}}return s}),__publicField(this,\\\"onTranslateStart\\\",e=>{var t=\\\"binding\\\"===e.props.start.type?e.props.start.boundShapeId:null,r=\\\"binding\\\"===e.props.end.type?e.props.end.boundShapeId:null,i=this.editor.getSelectedShapeIds();if(!(t&&(i.includes(t)||this.editor.isAncestorSelected(t))||r&&(i.includes(r)||this.editor.isAncestorSelected(r))))return({start:t,end:i}=getArrowTerminalsInArrowSpace(this.editor,e)),{id:e.id,type:e.type,props:{...e.props,start:{type:\\\"point\\\",x:t.x,y:t.y},end:{type:\\\"point\\\",x:i.x,y:i.y}}}}),__publicField(this,\\\"onResize\\\",(e,t)=>{var{scaleX:r,scaleY:i}=t,n=getArrowTerminalsInArrowSpace(this.editor,e),{start:o,end:a}=deepCopy(e.props);let s=e.props[\\\"bend\\\"];\\\"point\\\"===o.type&&(o.x=n.start.x*r,o.y=n.start.y*i),\\\"point\\\"===a.type&&(a.x=n.end.x*r,a.y=n.end.y*i);var n=Math.abs(r),l=Math.abs(i),r=(r\u003C0&&0\u003C=i?(0!==s&&(s=(s*=-1)*Math.max(n,l)),\\\"binding\\\"===o.type&&(o.normalizedAnchor.x=1-o.normalizedAnchor.x),\\\"binding\\\"===a.type&&(a.normalizedAnchor.x=1-a.normalizedAnchor.x)):0\u003C=r&&i\u003C0?(0!==s&&(s=(s*=-1)*Math.max(n,l)),\\\"binding\\\"===o.type&&(o.normalizedAnchor.y=1-o.normalizedAnchor.y),\\\"binding\\\"===a.type&&(a.normalizedAnchor.y=1-a.normalizedAnchor.y)):0\u003C=r&&0\u003C=i?0!==s&&(s*=Math.max(n,l)):r\u003C0&&i\u003C0&&(0!==s&&(s*=Math.max(n,l)),\\\"binding\\\"===o.type&&(o.normalizedAnchor.x=1-o.normalizedAnchor.x,o.normalizedAnchor.y=1-o.normalizedAnchor.y),\\\"binding\\\"===a.type)&&(a.normalizedAnchor.x=1-a.normalizedAnchor.x,a.normalizedAnchor.y=1-a.normalizedAnchor.y),{props:{start:o,end:a,bend:s}});return r}),__publicField(this,\\\"onDoubleClickHandle\\\",(e,t)=>{switch(t.id){case\\\"start\\\":return{id:e.id,type:e.type,props:{...e.props,arrowheadStart:\\\"none\\\"===e.props.arrowheadStart?\\\"arrow\\\":\\\"none\\\"}};case\\\"end\\\":return{id:e.id,type:e.type,props:{...e.props,arrowheadEnd:\\\"none\\\"===e.props.arrowheadEnd?\\\"arrow\\\":\\\"none\\\"}}}}),__publicField(this,\\\"onEditEnd\\\",e=>{var{id:t,type:r,props:{text:i}}=e;i.trimEnd()!==e.props.text&&this.editor.updateShapes([{id:t,type:r,props:{text:i.trimEnd()}}])})}getDefaultProps(){return{dash:\\\"draw\\\",size:\\\"m\\\",fill:\\\"none\\\",color:\\\"black\\\",labelColor:\\\"black\\\",bend:0,start:{type:\\\"point\\\",x:0,y:0},end:{type:\\\"point\\\",x:2,y:0},arrowheadStart:\\\"none\\\",arrowheadEnd:\\\"arrow\\\",text:\\\"\\\",font:\\\"draw\\\"}}getGeometry(r){var i=this.editor.getArrowInfo(r),n=i.isStraight?new Edge2d({start:Vec.From(i.start.point),end:Vec.From(i.end.point)}):new Arc2d({center:Vec.Cast(i.handleArc.center),radius:i.handleArc.radius,start:Vec.Cast(i.start.point),end:Vec.Cast(i.end.point),sweepFlag:i.bodyArc.sweepFlag,largeArcFlag:i.bodyArc.largeArcFlag});let o;if(r.props.text.trim()){var a=n.bounds,{w:s,h:l}=this.editor.textMeasure.measureText(r.props.text,{...TEXT_PROPS,fontFamily:FONT_FAMILIES[r.props.font],fontSize:ARROW_LABEL_FONT_SIZES[r.props.size],maxWidth:null});let e=s,t=l;a.width>a.height&&(e=Math.max(Math.min(s,64),Math.min(a.width-64,s)),({w:l,h:a}=this.editor.textMeasure.measureText(r.props.text,{...TEXT_PROPS,fontFamily:FONT_FAMILIES[r.props.font],fontSize:ARROW_LABEL_FONT_SIZES[r.props.size],maxWidth:e})),e=l,t=a),e>16*ARROW_LABEL_FONT_SIZES[r.props.size]&&(e=16*ARROW_LABEL_FONT_SIZES[r.props.size],({w:s,h:l}=this.editor.textMeasure.measureText(r.props.text,{...TEXT_PROPS,fontFamily:FONT_FAMILIES[r.props.font],fontSize:ARROW_LABEL_FONT_SIZES[r.props.size],maxWidth:e})),e=s,t=l),o=new Rectangle2d({x:i.middle.x-e/2-4.25,y:i.middle.y-t/2-4.25,width:e+8.5,height:t+8.5,isFilled:!0,isLabel:!0})}return new Group2d({children:o?[n,o]:[n],isSnappable:!1})}getHandles(e){var t=this.editor.getArrowInfo(e);return[{id:\\\"start\\\",type:\\\"vertex\\\",index:\\\"a0\\\",x:t.start.handle.x,y:t.start.handle.y,canBind:!0},{id:\\\"middle\\\",type:\\\"virtual\\\",index:\\\"a2\\\",x:t.middle.x,y:t.middle.y,canBind:!1},{id:\\\"end\\\",type:\\\"vertex\\\",index:\\\"a3\\\",x:t.end.handle.x,y:t.end.handle.y,canBind:!0}]}component(e){var t=useDefaultColorTheme(),r=this.editor.getOnlySelectedShape(),i=this.editor.isInAny(\\\"select.idle\\\",\\\"select.pointing_handle\\\",\\\"select.dragging_handle\\\",\\\"arrow.dragging\\\")&&!this.editor.getInstanceState().isReadonly,n=this.editor.getArrowInfo(e),o=Box.ZeroFix(this.editor.getShapeGeometry(e).bounds),a=import_react43[\\\"default\\\"].useMemo(()=>this.editor.environment.isSafari?globalRenderIndex+=1:0,[e]);if(null==n||!n.isValid)return null;var s=STROKE_SIZES2[e.props.size],l=n.start.arrowhead&&getArrowheadPathForType(n,\\\"start\\\",s),c=n.end.arrowhead&&getArrowheadPathForType(n,\\\"end\\\",s),d=(n.isStraight?getSolidStraightArrowPath:getSolidCurvedArrowPath)(n);let u=null;r===e&&i&&(({strokeDasharray:r,strokeDashoffset:i}=getPerfectDashProps2(n.isStraight?Vec.Dist(n.start.handle,n.end.handle):Math.abs(n.handleArc.length),2,{end:\\\"skip\\\",start:\\\"skip\\\",lengthRatio:2.5})),u=\\\"binding\\\"===e.props.start.type||\\\"binding\\\"===e.props.end.type?(0,import_jsx_runtime41.jsx)(\\\"path\\\",{className:\\\"tl-arrow-hint\\\",d:(n.isStraight?getStraightArrowHandlePath:getCurvedArrowHandlePath)(n),strokeDasharray:r,strokeDashoffset:i,strokeWidth:2,markerStart:\\\"binding\\\"!==e.props.start.type||e.props.start.isExact?\\\"\\\":e.props.start.isPrecise?\\\"url(#arrowhead-cross)\\\":\\\"url(#arrowhead-dot)\\\",markerEnd:\\\"binding\\\"!==e.props.end.type||e.props.end.isExact?\\\"\\\":e.props.end.isPrecise?\\\"url(#arrowhead-cross)\\\":\\\"url(#arrowhead-dot)\\\",opacity:.16}):null);var{strokeDasharray:r,strokeDashoffset:i}=getPerfectDashProps2(n.isStraight?n.length:Math.abs(n.bodyArc.length),s,{style:e.props.dash}),p=e.props.text.trim()?this.editor.getShapeGeometry(e).children[1]:null,h=!(\\\"none\\\"===n.start.arrowhead||\\\"arrow\\\"===n.start.arrowhead),m=!(\\\"none\\\"===n.end.arrowhead||\\\"arrow\\\"===n.end.arrowhead),a=(e.id+\\\"_clip_\\\"+a).replace(\\\":\\\",\\\"_\\\");return(0,import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment,{children:[(0,import_jsx_runtime41.jsxs)(SVGContainer,{id:e.id,style:{minWidth:50,minHeight:50},children:[(0,import_jsx_runtime41.jsx)(\\\"defs\\\",{children:(0,import_jsx_runtime41.jsxs)(\\\"mask\\\",{id:a,children:[(0,import_jsx_runtime41.jsx)(\\\"rect\\\",{x:toDomPrecision(-100+o.minX),y:toDomPrecision(-100+o.minY),width:toDomPrecision(o.width+200),height:toDomPrecision(o.height+200),fill:\\\"white\\\"}),p&&(0,import_jsx_runtime41.jsx)(\\\"rect\\\",{x:p.x,y:p.y,width:p.w,height:p.h,fill:\\\"black\\\",rx:4,ry:4}),l&&h&&(0,import_jsx_runtime41.jsx)(\\\"path\\\",{d:l,fill:\\\"arrow\\\"===n.start.arrowhead?\\\"none\\\":\\\"black\\\",stroke:\\\"none\\\"}),c&&m&&(0,import_jsx_runtime41.jsx)(\\\"path\\\",{d:c,fill:\\\"arrow\\\"===n.end.arrowhead?\\\"none\\\":\\\"black\\\",stroke:\\\"none\\\"})]})}),(0,import_jsx_runtime41.jsxs)(\\\"g\\\",{fill:\\\"none\\\",stroke:t[e.props.color].solid,strokeWidth:s,strokeLinejoin:\\\"round\\\",strokeLinecap:\\\"round\\\",pointerEvents:\\\"none\\\",children:[u,(0,import_jsx_runtime41.jsxs)(\\\"g\\\",{mask:`url(#${a})`,children:[(0,import_jsx_runtime41.jsx)(\\\"rect\\\",{x:toDomPrecision(o.minX-100),y:toDomPrecision(o.minY-100),width:toDomPrecision(o.width+200),height:toDomPrecision(o.height+200),opacity:0}),(0,import_jsx_runtime41.jsx)(\\\"path\\\",{d:d,strokeDasharray:r,strokeDashoffset:i})]}),l&&h&&\\\"none\\\"!==e.props.fill&&(0,import_jsx_runtime41.jsx)(ShapeFill,{theme:t,d:l,color:e.props.color,fill:e.props.fill}),c&&m&&\\\"none\\\"!==e.props.fill&&(0,import_jsx_runtime41.jsx)(ShapeFill,{theme:t,d:c,color:e.props.color,fill:e.props.fill}),l&&(0,import_jsx_runtime41.jsx)(\\\"path\\\",{d:l}),c&&(0,import_jsx_runtime41.jsx)(\\\"path\\\",{d:c})]})]}),(0,import_jsx_runtime41.jsx)(ArrowTextLabel,{id:e.id,text:e.props.text,font:e.props.font,size:e.props.size,position:n.middle,width:null!=(s=null==p?void 0:p.w)?s:0,labelColor:t[e.props.labelColor].solid})]})}indicator(e){var t,r,i,{start:n,end:o}=getArrowTerminalsInArrowSpace(this.editor,e),a=this.editor.getArrowInfo(e),s=this.editor.getShapeGeometry(e),l=s.bounds,s=e.props.text.trim()?s.children[1]:null,c=useIsEditing(e.id);return!a||Vec.Equals(n,o)?null:(n=STROKE_SIZES2[e.props.size],o=a.start.arrowhead&&getArrowheadPathForType(a,\\\"start\\\",n),n=a.end.arrowhead&&getArrowheadPathForType(a,\\\"end\\\",n),t=(a.isStraight?getSolidStraightArrowPath:getSolidCurvedArrowPath)(a),r=o&&\\\"arrow\\\"!==a.start.arrowhead||n&&\\\"arrow\\\"!==a.end.arrowhead||!!s,i=(e.id+\\\"_clip\\\").replace(\\\":\\\",\\\"_\\\"),c&&s?(0,import_jsx_runtime41.jsx)(\\\"rect\\\",{x:toDomPrecision(s.x),y:toDomPrecision(s.y),width:s.w,height:s.h,rx:3.5,ry:3.5}):(0,import_jsx_runtime41.jsxs)(\\\"g\\\",{children:[r&&(0,import_jsx_runtime41.jsx)(\\\"defs\\\",{children:(0,import_jsx_runtime41.jsxs)(\\\"mask\\\",{id:i,children:[(0,import_jsx_runtime41.jsx)(\\\"rect\\\",{x:l.minX-100,y:l.minY-100,width:l.w+200,height:l.h+200,fill:\\\"white\\\"}),s&&(0,import_jsx_runtime41.jsx)(\\\"rect\\\",{x:toDomPrecision(s.x),y:toDomPrecision(s.y),width:s.w,height:s.h,fill:\\\"black\\\",rx:3.5,ry:3.5}),o&&(0,import_jsx_runtime41.jsx)(\\\"path\\\",{d:o,fill:\\\"arrow\\\"===a.start.arrowhead?\\\"none\\\":\\\"black\\\",stroke:\\\"none\\\"}),n&&(0,import_jsx_runtime41.jsx)(\\\"path\\\",{d:n,fill:\\\"arrow\\\"===a.end.arrowhead?\\\"none\\\":\\\"black\\\",stroke:\\\"none\\\"})]})}),(0,import_jsx_runtime41.jsxs)(\\\"g\\\",{...r?{mask:`url(#${i})`}:void 0,children:[r&&(0,import_jsx_runtime41.jsx)(\\\"rect\\\",{x:l.minX-100,y:l.minY-100,width:l.width+200,height:l.height+200,opacity:0}),(0,import_jsx_runtime41.jsx)(\\\"path\\\",{d:t})]}),o&&(0,import_jsx_runtime41.jsx)(\\\"path\\\",{d:o}),n&&(0,import_jsx_runtime41.jsx)(\\\"path\\\",{d:n}),s&&(0,import_jsx_runtime41.jsx)(\\\"rect\\\",{x:toDomPrecision(s.x),y:toDomPrecision(s.y),width:s.w,height:s.h,rx:3.5,ry:3.5})]}))}toSvg(e,t){var r=getDefaultColorTheme({isDarkMode:this.editor.user.getIsDarkMode()}),i=(t.addExportDef(getFillDefForExport(e.props.fill,r)),r[e.props.color].solid),n=this.editor.getArrowInfo(e),o=STROKE_SIZES2[e.props.size],a=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");if(n){var s=n.start.arrowhead&&getArrowheadPathForType(n,\\\"start\\\",o),l=n.end.arrowhead&&getArrowheadPathForType(n,\\\"end\\\",o),c=this.editor.getShapeGeometry(e),d=c.bounds;const m=e.props.text.trim()?c.children[1]:null;var c=(e.id+\\\"_clip\\\").replace(\\\":\\\",\\\"_\\\"),u=((s||l||m)&&(h=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"defs\\\"),(p=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"mask\\\")).id=c,(u=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\")).setAttribute(\\\"x\\\",d.minX-100+\\\"\\\"),u.setAttribute(\\\"y\\\",d.minY-100+\\\"\\\"),u.setAttribute(\\\"width\\\",d.width+200+\\\"\\\"),u.setAttribute(\\\"height\\\",d.height+200+\\\"\\\"),u.setAttribute(\\\"fill\\\",\\\"white\\\"),p.appendChild(u),s&&p.appendChild(getArrowheadSvgMask(s,n.start.arrowhead)),l&&p.appendChild(getArrowheadSvgMask(l,n.end.arrowhead)),m&&((u=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\")).setAttribute(\\\"x\\\",m.x+\\\"\\\"),u.setAttribute(\\\"y\\\",m.y+\\\"\\\"),u.setAttribute(\\\"width\\\",m.w+\\\"\\\"),u.setAttribute(\\\"height\\\",m.h+\\\"\\\"),u.setAttribute(\\\"fill\\\",\\\"black\\\"),p.appendChild(u)),h.appendChild(p),a.appendChild(h)),document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")),p=(u.setAttribute(\\\"mask\\\",`url(#${c})`),a.appendChild(u),document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\")),h=(p.setAttribute(\\\"x\\\",\\\"-100\\\"),p.setAttribute(\\\"y\\\",\\\"-100\\\"),p.setAttribute(\\\"width\\\",d.width+200+\\\"\\\"),p.setAttribute(\\\"height\\\",d.height+200+\\\"\\\"),p.setAttribute(\\\"fill\\\",\\\"transparent\\\"),p.setAttribute(\\\"stroke\\\",\\\"none\\\"),u.appendChild(p),getArrowSvgPath((n.isStraight?getSolidStraightArrowPath:getSolidCurvedArrowPath)(n),i,o)),{strokeDasharray:c,strokeDashoffset:d}=getPerfectDashProps2(n.isStraight?n.length:Math.abs(n.bodyArc.length),o,{style:e.props.dash});h.setAttribute(\\\"stroke-dasharray\\\",c),h.setAttribute(\\\"stroke-dashoffset\\\",d),u.appendChild(h),s&&a.appendChild(getArrowheadSvgPath(s,e.props.color,o,\\\"arrow\\\"===e.props.arrowheadStart?\\\"none\\\":e.props.fill,r)),l&&a.appendChild(getArrowheadSvgPath(l,e.props.color,o,\\\"arrow\\\"===e.props.arrowheadEnd?\\\"none\\\":e.props.fill,r)),m&&(t.addExportDef(getFontDefForExport(e.props.font)),p={fontSize:ARROW_LABEL_FONT_SIZES[e.props.size],lineHeight:TEXT_PROPS.lineHeight,fontFamily:DefaultFontFamilies[e.props.font],padding:0,textAlign:\\\"middle\\\",width:m.w-8,verticalTextAlign:\\\"middle\\\",height:m.h,fontStyle:\\\"normal\\\",fontWeight:\\\"normal\\\",overflow:\\\"wrap\\\"},(i=createTextSvgElementFromSpans(this.editor,this.editor.textMeasure.measureTextSpans(e.props.text,p),p)).setAttribute(\\\"fill\\\",r[e.props.labelColor].solid),Array.from(i.children).forEach(e=>{var t=parseFloat(e.getAttribute(\\\"x\\\")||\\\"0\\\"),r=parseFloat(e.getAttribute(\\\"y\\\")||\\\"0\\\");e.setAttribute(\\\"x\\\",t+4+m.x+\\\"px\\\"),e.setAttribute(\\\"y\\\",r+m.y+\\\"px\\\")}),(n=i.cloneNode(!0)).setAttribute(\\\"stroke-width\\\",\\\"2\\\"),n.setAttribute(\\\"fill\\\",r.background),n.setAttribute(\\\"stroke\\\",r.background),a.appendChild(n),a.appendChild(i))}return a}getCanvasSvgDefs(){return[getFillDefForCanvas()]}};function getArrowheadSvgMask(e,t){var r=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\");return r.setAttribute(\\\"d\\\",e),r.setAttribute(\\\"fill\\\",\\\"arrow\\\"===t?\\\"none\\\":\\\"black\\\"),r.setAttribute(\\\"stroke\\\",\\\"none\\\"),r}function getArrowSvgPath(e,t,r){var i=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\");return i.setAttribute(\\\"d\\\",e),i.setAttribute(\\\"fill\\\",\\\"none\\\"),i.setAttribute(\\\"stroke\\\",t),i.setAttribute(\\\"stroke-width\\\",r+\\\"\\\"),i}function getArrowheadSvgPath(e,t,r,i,n){var o,a=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\"),s=(a.setAttribute(\\\"d\\\",e),a.setAttribute(\\\"fill\\\",\\\"none\\\"),a.setAttribute(\\\"stroke\\\",n[t].solid),a.setAttribute(\\\"stroke-width\\\",r+\\\"\\\"),getShapeFillSvg({d:e,fill:i,color:t,theme:n}));return s?((o=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")).appendChild(s),o.appendChild(a),o):a}__publicField(ArrowShapeUtil,\\\"type\\\",\\\"arrow\\\"),__publicField(ArrowShapeUtil,\\\"props\\\",arrowShapeProps),__publicField(ArrowShapeUtil,\\\"migrations\\\",arrowShapeMigrations),init_esbuild_inject();var import_jsx_runtime43=require(\\\"react/jsx-runtime\\\"),import_jsx_runtime42=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames15=__toESM(require_classnames(),1),LINK_ICON=\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' fill='none'%3E%3Cpath stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13 5H7a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6M19 5h6m0 0v6m0-6L13 17'/%3E%3C/svg%3E\\\";function HyperlinkButton({url:e,zoomLevel:t}){return(0,import_jsx_runtime42.jsx)(\\\"a\\\",{className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-hyperlink-button\\\",{\\\"tl-hyperlink-button__hidden\\\":t\u003C.32}),href:e,target:\\\"_blank\\\",rel:\\\"noopener noreferrer\\\",onPointerDown:stopEventPropagation,onPointerUp:stopEventPropagation,title:e,draggable:!1,children:(0,import_jsx_runtime42.jsx)(\\\"div\\\",{className:\\\"tl-hyperlink-button__icon\\\",style:{mask:`url(\\\"${LINK_ICON}\\\") center 100% / 100% no-repeat`,WebkitMask:`url(\\\"${LINK_ICON}\\\") center 100% / 100% no-repeat`}})})}init_esbuild_inject();var ROTATING_BOX_SHADOWS=[{offsetX:0,offsetY:2,blur:4,spread:0,color:\\\"#00000029\\\"},{offsetX:0,offsetY:3,blur:6,spread:0,color:\\\"#0000001f\\\"}];function getRotatedBoxShadow(a){return ROTATING_BOX_SHADOWS.map(e=>{var{offsetX:t,offsetY:r,blur:i,spread:n,color:o}=e,{x:t,y:r}=new Vec(t,r).rot(-a);return t+`px ${r}px ${i}px ${n}px `+o}).join(\\\", \\\")}var BookmarkShapeUtil=class extends BaseBoxShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"canResize\\\",()=>!1),__publicField(this,\\\"hideSelectionBoundsFg\\\",()=>!0),__publicField(this,\\\"onBeforeCreate\\\",e=>{updateBookmarkAssetOnUrlChange(this.editor,e)}),__publicField(this,\\\"onBeforeUpdate\\\",(e,t)=>{if(e.props.url!==t.props.url){if(!isValidUrl(t.props.url))return{...t,props:{...t.props,url:e.props.url}};updateBookmarkAssetOnUrlChange(this.editor,t)}})}getDefaultProps(){return{url:\\\"\\\",w:300,h:320,assetId:null}}component(e){var t=e.props.assetId?this.editor.getAsset(e.props.assetId):null,r=this.editor.getShapePageTransform(e).rotation(),i=getHumanReadableAddress(e);return(0,import_jsx_runtime43.jsx)(HTMLContainer,{children:(0,import_jsx_runtime43.jsxs)(\\\"div\\\",{className:\\\"tl-bookmark__container\\\",style:{boxShadow:getRotatedBoxShadow(r)},children:[(0,import_jsx_runtime43.jsxs)(\\\"div\\\",{className:\\\"tl-bookmark__image_container\\\",children:[null!=t&&t.props.image?(0,import_jsx_runtime43.jsx)(\\\"img\\\",{className:\\\"tl-bookmark__image\\\",draggable:!1,src:null==t?void 0:t.props.image,alt:(null==t?void 0:t.props.title)||\\\"\\\"}):(0,import_jsx_runtime43.jsx)(\\\"div\\\",{className:\\\"tl-bookmark__placeholder\\\"}),(0,import_jsx_runtime43.jsx)(HyperlinkButton,{url:e.props.url,zoomLevel:this.editor.getZoomLevel()})]}),(0,import_jsx_runtime43.jsxs)(\\\"div\\\",{className:\\\"tl-bookmark__copy_container\\\",children:[(null==t?void 0:t.props.title)&&(0,import_jsx_runtime43.jsx)(\\\"h2\\\",{className:\\\"tl-bookmark__heading\\\",children:truncateStringWithEllipsis((null==t?void 0:t.props.title)||\\\"\\\",54)}),(null==t?void 0:t.props.description)&&(0,import_jsx_runtime43.jsx)(\\\"p\\\",{className:\\\"tl-bookmark__description\\\",children:truncateStringWithEllipsis((null==t?void 0:t.props.description)||\\\"\\\",128)}),(0,import_jsx_runtime43.jsx)(\\\"a\\\",{className:\\\"tl-bookmark__link\\\",href:e.props.url||\\\"\\\",target:\\\"_blank\\\",rel:\\\"noopener noreferrer\\\",onPointerDown:stopEventPropagation,onPointerUp:stopEventPropagation,onClick:stopEventPropagation,children:truncateStringWithEllipsis(i,45)})]})]})})}indicator(e){return(0,import_jsx_runtime43.jsx)(\\\"rect\\\",{width:toDomPrecision(e.props.w),height:toDomPrecision(e.props.h),rx:\\\"6\\\",ry:\\\"6\\\"})}},getHumanReadableAddress=(__publicField(BookmarkShapeUtil,\\\"type\\\",\\\"bookmark\\\"),__publicField(BookmarkShapeUtil,\\\"props\\\",bookmarkShapeProps),__publicField(BookmarkShapeUtil,\\\"migrations\\\",bookmarkShapeMigrations),e=>{try{var t=new URL(e.props.url),r=t.pathname.replace(/\\\\/*$/,\\\"\\\");return\\\"\\\"+t.hostname+r}catch(i){return e.props.url}});function updateBookmarkAssetOnUrlChange(e,t){var r=t.props[\\\"url\\\"],r=AssetRecordType.createId(getHashForString(r));e.getAsset(r)?t.props.assetId!==r&&e.updateShapes([{id:t.id,type:t.type,props:{assetId:r}}]):(e.updateShapes([{id:t.id,type:t.type,props:{assetId:null}}]),createBookmarkAssetOnUrlChange(e,t))}var createBookmarkAssetOnUrlChange=debounce(async(e,t)=>{var r=t.props[\\\"url\\\"];const i=await e.getAssetForExternalContent({type:\\\"url\\\",url:r});i&&e.batch(()=>{e.createAssets([i]),e.updateShapes([{id:t.id,type:t.type,props:{assetId:i.id}}])})},500),import_jsx_runtime44=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function getSvgPathFromStrokePoints(e,t=!1){var r=e.length;if(r\u003C2)return\\\"\\\";let i=e[0].point,n=e[1].point;if(2===r)return`M${precise(i)}L`+precise(n);let o=\\\"\\\";for(let a=2,s=r-1;a\u003Cs;a++)i=e[a].point,n=e[a+1].point,o+=average(i,n);return t?`M${average(e[0].point,e[1].point)}Q${precise(e[1].point)}${average(e[1].point,e[2].point)}T${o}${average(e[r-1].point,e[0].point)}${average(e[0].point,e[1].point)}Z`:`M${precise(e[0].point)}Q${precise(e[1].point)}${average(e[1].point,e[2].point)}${3\u003Ce.length?\\\"T\\\":\\\"\\\"}${o}L`+precise(e[r-1].point)}function svgInk(e,t={}){var{start:r={},end:i={}}=t,{cap:n=!0}=r,{cap:o=!0}=i,r=(assert(!r.taper&&!i.taper,\\\"cap taper not supported here\\\"),assert(!r.easing&&!i.easing,\\\"cap easing not supported here\\\"),assert(n&&o,\\\"cap must be true\\\"),getStrokePoints(e,t)),i=(setStrokePointRadii(r,t),partitionAtElbows(r));let a=\\\"\\\";for(const s of i)a+=renderPartition(s,t);return a}function partitionAtElbows(e){if(e.length\u003C=2)return[e];var t=[];let r=[e[0]];for(let l=1;l\u003Ce.length-1;l++){var i=e[l-1],n=e[l],o=e[l+1],a=Vec.Angle(i.point,n.point),s=Vec.Angle(n.point,o.point),a=Math.abs(shortAngleDist(a,s))/Math.PI;.8\u003Ca?(s={...n,point:n.input},r.push(s),t.push(cleanUpPartition(r)),r=[s]):(r.push(n),a\u003C.25||(s=(i.radius+n.radius+o.radius)/3,Vec.Dist(i.point,n.point)/s+Vec.Dist(n.point,o.point)/s\u003C1.5&&(r.push(n),t.push(cleanUpPartition(r)),r=[n])))}return r.push(e[e.length-1]),t.push(cleanUpPartition(r)),t}function cleanUpPartition(e){for(var t=e[0];2\u003Ce.length;){var r=e[1];if(!(Vec.Dist(t.point,r.point)\u003C.5*((t.radius+r.radius)/2)))break;e.splice(1,1)}for(var i=e[e.length-1];2\u003Ce.length;){var n=e[e.length-2];if(!(Vec.Dist(i.point,n.point)\u003C.5*((i.radius+n.radius)/2)))break;e.splice(e.length-2,1)}return 1\u003Ce.length&&(e[0]={...e[0],vector:Vec.FromAngle(Vec.Angle(e[1].point,e[0].point))},e[e.length-1]={...e[e.length-1],vector:Vec.FromAngle(Vec.Angle(e[e.length-1].point,e[e.length-2].point))}),e}function circlePath(e,t,r){return\\\"M \\\"+e+\\\" \\\"+t+\\\" m -\\\"+r+\\\", 0 a \\\"+r+\\\",\\\"+r+\\\" 0 1,1 \\\"+2*r+\\\",0 a \\\"+r+\\\",\\\"+r+\\\" 0 1,1 -\\\"+2*r+\\\",0\\\"}function renderPartition(e,t={}){if(0===e.length)return\\\"\\\";if(1===e.length)return circlePath(e[0].point.x,e[0].point.y,e[0].radius);var{left:r,right:i}=getStrokeOutlineTracks(e,t);i.reverse();let n=`M${precise(r[0])}T`;for(let c=1;c\u003Cr.length;c++)n+=average(r[c-1],r[c]);var o=e[e.length-1],a=o.radius,s=o.vector.clone().per().neg(),l=Vec.Add(o.point,Vec.Mul(s,a)),o=Vec.Add(o.point,Vec.Mul(s,-a));n+=`${precise(l)}A${toDomPrecision(a)},${toDomPrecision(a)} 0 0 1 ${precise(o)}T`;for(let d=1;d\u003Ci.length;d++)n+=average(i[d-1],i[d]);s=e[0],l=s.radius,a=s.vector.clone().per(),o=Vec.Add(s.point,Vec.Mul(a,l)),s=Vec.Add(s.point,Vec.Mul(a,-l));return n+=`${precise(o)}A${toDomPrecision(l)},${toDomPrecision(l)} 0 0 1 ${precise(s)}Z`}function useForceSolid(){const e=useEditor();return useValue(\\\"zoom\\\",()=>e.getZoomLevel()\u003C.35,[e])}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var PEN_EASING=e=>.65*e+.35*SIN(e*PI/2),simulatePressureSettings=e=>({size:1+e,thinning:.5,streamline:.62+(1+e)/8*.06,smoothing:.62,easing:EASINGS.easeOutSine,simulatePressure:!0}),realPressureSettings=e=>({size:1+1.2*e,thinning:.62,streamline:.62,smoothing:.62,simulatePressure:!1,easing:PEN_EASING}),solidSettings=e=>({size:1+e,thinning:0,streamline:.62+(1+e)/8*.06,smoothing:.62,simulatePressure:!1,easing:EASINGS.linear});function getHighlightFreehandSettings({strokeWidth:e,showAsComplete:t}){return{size:1+e,thinning:0,streamline:.5,smoothing:.5,simulatePressure:!1,easing:EASINGS.easeOutSine,last:t}}function getFreehandOptions(e,t,r,i){return{...(!i&&\\\"draw\\\"===e.dash?e.isPen?realPressureSettings:simulatePressureSettings:solidSettings)(t),last:e.isComplete||r}}function getPointsFromSegments(e){var t,r=[];for(const i of e)\\\"free\\\"===i.type||i.points.length\u003C2?r.push(...i.points.map(Vec.Cast)):(t=Math.max(4,Math.floor(Vec.Dist(i.points[0],i.points[1])/16)),r.push(...Vec.PointsBetween(i.points[0],i.points[1],t)));return r}function getDrawShapeStrokeDashArray(e,t){return{draw:\\\"none\\\",solid:\\\"none\\\",dotted:\\\"0.1 \\\"+2*t,dashed:2*t+\\\" \\\"+2*t}[e.props.dash]}var DrawShapeUtil=class extends ShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"hideResizeHandles\\\",e=>getIsDot(e)),__publicField(this,\\\"hideRotateHandle\\\",e=>getIsDot(e)),__publicField(this,\\\"hideSelectionBoundsFg\\\",e=>getIsDot(e)),__publicField(this,\\\"onResize\\\",(e,t)=>{const{scaleX:i,scaleY:n}=t;var r=[];for(const o of e.props.segments)r.push({...o,points:o.points.map(({x:e,y:t,z:r})=>({x:toFixed(i*e),y:toFixed(n*t),z:r}))});return{props:{segments:r}}})}getDefaultProps(){return{segments:[],color:\\\"black\\\",fill:\\\"none\\\",dash:\\\"draw\\\",size:\\\"m\\\",isComplete:!1,isClosed:!1,isPen:!1}}getGeometry(e){var t=getPointsFromSegments(e.props.segments),r=STROKE_SIZES2[e.props.size];if(1===e.props.segments.length){var i=Box.FromPoints(t);if(i.width\u003C2*r&&i.height\u003C2*r)return new Circle2d({x:-r,y:-r,radius:r,isFilled:!0})}i=getStrokePoints(t,getFreehandOptions(e.props,r,!0,!0)).map(e=>e.point);return e.props.isClosed?new Polygon2d({points:i,isFilled:\\\"none\\\"!==e.props.fill}):new Polyline2d({points:i})}component(e){var t=useDefaultColorTheme(),r=useForceSolid(),i=STROKE_SIZES2[e.props.size],n=getPointsFromSegments(e.props.segments),o=e.props.isComplete||\\\"straight\\\"===(null==(o=last(e.props.segments))?void 0:o.type);let a=i;r||e.props.isPen||\\\"draw\\\"!==e.props.dash||1!==n.length||(a+=rng(e.id)()*(i/6));var s,o=getFreehandOptions(e.props,a,o,r);return r||\\\"draw\\\"!==e.props.dash?(r=(s=(r=getStrokePoints(n,o)).length\u003C2)?getDot(n[0],0):getSvgPathFromStrokePoints(r,e.props.isClosed),(0,import_jsx_runtime44.jsxs)(SVGContainer,{id:e.id,children:[(0,import_jsx_runtime44.jsx)(ShapeFill,{theme:t,color:e.props.color,fill:s||e.props.isClosed?e.props.fill:\\\"none\\\",d:r}),(0,import_jsx_runtime44.jsx)(\\\"path\\\",{d:r,strokeLinecap:\\\"round\\\",fill:s?t[e.props.color].solid:\\\"none\\\",stroke:t[e.props.color].solid,strokeWidth:i,strokeDasharray:s?\\\"none\\\":getDrawShapeStrokeDashArray(e,i),strokeDashoffset:\\\"0\\\"})]})):(0,import_jsx_runtime44.jsxs)(SVGContainer,{id:e.id,children:[e.props.isClosed&&e.props.fill&&1\u003Cn.length?(0,import_jsx_runtime44.jsx)(ShapeFill,{theme:t,fill:e.props.isClosed?e.props.fill:\\\"none\\\",color:e.props.color,d:getSvgPathFromStrokePoints(getStrokePoints(n,o),e.props.isClosed)}):null,(0,import_jsx_runtime44.jsx)(\\\"path\\\",{d:svgInk(n,o),strokeLinecap:\\\"round\\\",fill:t[e.props.color].solid})]})}indicator(e){var t=useForceSolid(),r=STROKE_SIZES2[e.props.size],i=getPointsFromSegments(e.props.segments);let n=r;t||e.props.isPen||\\\"draw\\\"!==e.props.dash||1!==i.length||(n+=rng(e.id)()*(r/6));r=e.props.isComplete||\\\"straight\\\"===(null==(t=last(e.props.segments))?void 0:t.type),t=getStrokePoints(i,getFreehandOptions(e.props,n,r,!0)),r=1\u003Ct.length?getSvgPathFromStrokePoints(t,e.props.isClosed):getDot(i[0],n);return(0,import_jsx_runtime44.jsx)(\\\"path\\\",{d:r})}toSvg(e,t){var r=getDefaultColorTheme({isDarkMode:this.editor.user.getIsDarkMode()}),i=(t.addExportDef(getFillDefForExport(e.props.fill,r)),e.props)[\\\"color\\\"],n=STROKE_SIZES2[e.props.size],o=getPointsFromSegments(e.props.segments),a=e.props.isComplete||\\\"straight\\\"===(null==(a=last(e.props.segments))?void 0:a.type);let s=n;e.props.isPen||\\\"draw\\\"!==e.props.dash||1!==o.length||(s+=rng(e.id)()*(n/6));var a=getFreehandOptions(e.props,s,a,!1),l=getStrokePoints(o,a),o=1\u003Cl.length?getSvgPathFromStrokePoints(l,e.props.isClosed):getDot(o[0],s);let c;c=\\\"draw\\\"===e.props.dash||l.length\u003C2?(setStrokePointRadii(l,a),l=getStrokeOutlinePoints(l,a),(a=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\")).setAttribute(\\\"d\\\",getSvgPathFromPoints(l,!0)),a.setAttribute(\\\"fill\\\",r[i].solid),a.setAttribute(\\\"stroke-linecap\\\",\\\"round\\\"),a):((l=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\")).setAttribute(\\\"d\\\",o),l.setAttribute(\\\"stroke\\\",r[i].solid),l.setAttribute(\\\"fill\\\",\\\"none\\\"),l.setAttribute(\\\"stroke-linecap\\\",\\\"round\\\"),l.setAttribute(\\\"stroke-width\\\",n.toString()),l.setAttribute(\\\"stroke-dasharray\\\",getDrawShapeStrokeDashArray(e,n)),l.setAttribute(\\\"stroke-dashoffset\\\",\\\"0\\\"),l);a=getShapeFillSvg({fill:e.props.isClosed?e.props.fill:\\\"none\\\",d:o,color:e.props.color,theme:r});return a?((i=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")).appendChild(a),i.appendChild(c),i):c}getCanvasSvgDefs(){return[getFillDefForCanvas()]}expandSelectionOutlinePx(e){var t=\\\"draw\\\"===e.props.dash?1.6:1;return STROKE_SIZES2[e.props.size]*t/2}};function getDot(e,t){var r=.5*(t+1);return`M ${e.x} ${e.y} m -${r}, 0 a ${r},${r} 0 1,0 ${2*r},0 a ${r},${r} 0 1,0 -${2*r},0`}function getIsDot(e){return 1===e.props.segments.length&&e.props.segments[0].points.length\u003C2}__publicField(DrawShapeUtil,\\\"type\\\",\\\"draw\\\"),__publicField(DrawShapeUtil,\\\"props\\\",drawShapeProps),__publicField(DrawShapeUtil,\\\"migrations\\\",drawShapeMigrations),init_esbuild_inject();var import_jsx_runtime45=require(\\\"react/jsx-runtime\\\"),import_react44=require(\\\"react\\\");function resizeBox2(e,t,r={}){var{newPoint:i,handle:n,scaleX:o,scaleY:a}=t,{minWidth:s=1,maxWidth:l=Infinity,minHeight:c=1,maxHeight:d=Infinity}=r;let u=e.props.w*o,p=e.props.h*a;var h=new Vec(0,0);if(0\u003Cu){if(u\u003Cs){switch(n){case\\\"top_left\\\":case\\\"left\\\":case\\\"bottom_left\\\":h.x=u-s;break;case\\\"top\\\":case\\\"bottom\\\":h.x=(u-s)/2;break;default:h.x=0}u=s}}else if((u=-(h.x=u))\u003Cs){switch(n){case\\\"top_left\\\":case\\\"left\\\":case\\\"bottom_left\\\":h.x=-u;break;default:h.x=-s}u=s}if(0\u003Cp){if(p\u003Cc){switch(n){case\\\"top_left\\\":case\\\"top\\\":case\\\"top_right\\\":h.y=p-c;break;case\\\"right\\\":case\\\"left\\\":h.y=(p-c)/2;break;default:h.y=0}p=c}}else if((p=-(h.y=p))\u003Cc){switch(n){case\\\"top_left\\\":case\\\"top\\\":case\\\"top_right\\\":h.y=-p;break;default:h.y=-c}p=c}var{x:o,y:a}=h.rot(e.rotation).add(i);return{x:o,y:a,props:{w:Math.min(l,u),h:Math.min(d,p)}}}init_esbuild_inject();var getSandboxPermissions=e=>Object.entries(e).filter(([,e])=>e).map(([e])=>e).join(\\\" \\\"),EmbedShapeUtil=class extends BaseBoxShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"hideSelectionBoundsFg\\\",e=>!this.canResize(e)),__publicField(this,\\\"canEdit\\\",()=>!0),__publicField(this,\\\"canUnmount\\\",e=>{var t;return!(null==(t=null==(t=getEmbedInfo(e.props.url))?void 0:t.definition)||!t.canUnmount)}),__publicField(this,\\\"canResize\\\",e=>{var t;return!(null==(t=null==(t=getEmbedInfo(e.props.url))?void 0:t.definition)||!t.doesResize)}),__publicField(this,\\\"canEditInReadOnly\\\",()=>!0),__publicField(this,\\\"isAspectRatioLocked\\\",e=>{var t=getEmbedInfo(e.props.url);return null!=(t=null==t?void 0:t.definition.isAspectRatioLocked)&&t}),__publicField(this,\\\"onResize\\\",(e,t)=>{var r,i=this.isAspectRatioLocked(e),n=getEmbedInfo(e.props.url);let o=null!=(r=null==n?void 0:n.definition.minWidth)?r:200,a=null!=(r=null==n?void 0:n.definition.minHeight)?r:200;return i&&(1\u003C(n=e.props.w/e.props.h)?o*=n:a/=n),resizeBox2(e,t,{minWidth:o,minHeight:a})})}getDefaultProps(){return{w:300,h:300,url:\\\"\\\"}}component(e){const{w:t,h:r,url:i}=e.props;var n=useIsEditing(e.id),o=(0,import_react44.useMemo)(()=>getEmbedInfoUnsafely(i),[i]),a=useValue(\\\"is hovering\\\",()=>{var{editingShapeId:e,hoveredShapeId:t}=this.editor.getCurrentPageState();if(e&&t!==e){t=this.editor.getShape(e);if(t&&this.editor.isShapeOfType(t,\\\"embed\\\"))return!0}return!1},[]),s=this.editor.getShapePageTransform(e).rotation(),n=n||a;if(\\\"github_gist\\\"===(null==o?void 0:o.definition.type)){var a=o.url.split(\\\"/\\\").pop();if(a)return(0,import_jsx_runtime45.jsx)(HTMLContainer,{className:\\\"tl-embed-container\\\",id:e.id,children:(0,import_jsx_runtime45.jsx)(Gist,{id:a,width:toDomPrecision(t),height:toDomPrecision(r),isInteractive:n,pageRotation:s})});throw Error(\\\"No gist id!\\\")}a=getSandboxPermissions({...embedShapePermissionDefaults,...null!=(a=null==o?void 0:o.definition.overridePermissions)?a:{}});return(0,import_jsx_runtime45.jsx)(HTMLContainer,{className:\\\"tl-embed-container\\\",id:e.id,children:null!=o&&o.definition?(0,import_jsx_runtime45.jsx)(\\\"iframe\\\",{className:\\\"tl-embed\\\",sandbox:a,src:o.embedUrl,width:toDomPrecision(t),height:toDomPrecision(r),draggable:!1,frameBorder:\\\"0\\\",referrerPolicy:\\\"no-referrer-when-downgrade\\\",style:{border:0,pointerEvents:n?\\\"auto\\\":\\\"none\\\",zIndex:n?\\\"\\\":\\\"-1\\\",boxShadow:getRotatedBoxShadow(s),borderRadius:null!=(a=null==o?void 0:o.definition.overrideOutlineRadius)?a:8,background:null==o?void 0:o.definition.backgroundColor}}):null})}indicator(e){var t,r=(0,import_react44.useMemo)(()=>getEmbedInfo(e.props.url),[e.props.url]);return(0,import_jsx_runtime45.jsx)(\\\"rect\\\",{width:toDomPrecision(e.props.w),height:toDomPrecision(e.props.h),rx:null!=(t=null==r?void 0:r.definition.overrideOutlineRadius)?t:8,ry:null!=(t=null==r?void 0:r.definition.overrideOutlineRadius)?t:8})}};function Gist({id:e,file:t,isInteractive:r,width:i,height:n,style:o,pageRotation:a}){return(0,import_jsx_runtime45.jsx)(\\\"iframe\\\",{className:\\\"tl-embed\\\",draggable:!1,width:toDomPrecision(i),height:toDomPrecision(n),frameBorder:\\\"0\\\",scrolling:\\\"no\\\",seamless:!0,referrerPolicy:\\\"no-referrer-when-downgrade\\\",style:{...o,pointerEvents:r?\\\"all\\\":\\\"none\\\",zIndex:r?\\\"\\\":\\\"-1\\\",boxShadow:getRotatedBoxShadow(a)},srcDoc:`\\n\\t\\t\\t\u003Chtml>\\n\\t\\t\\t\\t\u003Chead>\\n\\t\\t\\t\\t\\t\u003Cbase target=\\\"_blank\\\">\\n\\t\\t\\t\\t\u003C/head>\\n\\t\\t\\t\\t\u003Cbody>\\n\\t\\t\\t\\t\\t\u003Cscript src=${`https://gist.github.com/${e}.js`+(t?\\\"?file=\\\"+t:\\\"\\\")}>\u003C/script>\\n\\t\\t\\t\\t\\t\u003Cstyle type=\\\"text/css\\\">\\n\\t\\t\\t\\t\\t\\t* { margin: 0px; }\\n\\t\\t\\t\\t\\t\\ttable { height: 100%; background-color: red; }\\n\\t\\t\\t\\t\\t\\t.gist { background-color: none; height: 100%; }\\n\\t\\t\\t\\t\\t\\t.gist .gist-file { height: calc(100vh - 2px); padding: 0px; display: grid; grid-template-rows: 1fr auto; }\\n\\t\\t\\t\\t\\t\u003C/style>\\n\\t\\t\\t\\t\u003C/body>\\n\\t\\t\\t\u003C/html>`})}__publicField(EmbedShapeUtil,\\\"type\\\",\\\"embed\\\"),__publicField(EmbedShapeUtil,\\\"props\\\",embedShapeProps),__publicField(EmbedShapeUtil,\\\"migrations\\\",embedShapeMigrations),init_esbuild_inject();var import_jsx_runtime48=require(\\\"react/jsx-runtime\\\"),import_classnames16=__toESM(require_classnames(),1),import_jsx_runtime47=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react46=require(\\\"react\\\"),import_jsx_runtime46=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react45=require(\\\"react\\\"),FrameLabelInput=(0,import_react45.forwardRef)(({id:r,name:e,isEditing:t},i)=>{const n=useEditor();var o=(0,import_react45.useCallback)(e=>{\\\"Enter\\\"!==e.key||e.nativeEvent.isComposing||(stopEventPropagation(e),e.currentTarget.blur(),n.setEditingShape(null))},[n]),a=(0,import_react45.useCallback)(e=>{var t=n.getShape(r);t&&t.props.name!==(t=e.currentTarget.value.trim())&&n.updateShapes([{id:r,type:\\\"frame\\\",props:{name:t}}],{squashing:!0})},[r,n]),s=(0,import_react45.useCallback)(e=>{var t=n.getShape(r);t&&t.props.name!==(t=e.currentTarget.value)&&n.updateShapes([{id:r,type:\\\"frame\\\",props:{name:t}}],{squashing:!0})},[r,n]);return(0,import_jsx_runtime46.jsxs)(\\\"div\\\",{className:\\\"tl-frame-label \\\"+(t?\\\"tl-frame-label__editing\\\":\\\"\\\"),children:[(0,import_jsx_runtime46.jsx)(\\\"input\\\",{className:\\\"tl-frame-name-input\\\",ref:i,style:{display:t?void 0:\\\"none\\\"},value:e,autoFocus:!0,onKeyDown:o,onBlur:a,onChange:s}),defaultEmptyAs(e,\\\"Frame\\\")+String.fromCharCode(8203)]})}),FrameHeading=function FrameHeading2({id:r,name:e,width:t,height:i}){const n=useEditor();var o=useValue(\\\"shape rotation\\\",()=>canonicalizeRotation(n.getShapePageTransform(r).rotation()),[n,r]);const a=useIsEditing(r),s=(0,import_react46.useRef)(null);var l=(0,import_react46.useCallback)(e=>{var t=getPointerInfo(e);n.getEditingShapeId()!==r&&(n.dispatch({type:\\\"pointer\\\",name:\\\"pointer_down\\\",target:\\\"shape\\\",shape:n.getShape(r),...t}),e.preventDefault())},[n,r]),o=((0,import_react46.useEffect)(()=>{const e=s.current;e&&a&&(e.focus(),e.select(),requestAnimationFrame(()=>{document.activeElement!==e&&(e.focus(),e.select())}))},[s,a]),o+Math.PI/4),o=(o*(2/Math.PI)+4)%4,o=[\\\"top\\\",\\\"left\\\",\\\"bottom\\\",\\\"right\\\"][Math.floor(o)];let c;switch(o){case\\\"top\\\":c=\\\"\\\";break;case\\\"right\\\":c=`translate(${toDomPrecision(t)}px, 0px) rotate(90deg)`;break;case\\\"bottom\\\":c=`translate(${toDomPrecision(t)}px, ${toDomPrecision(i)}px) rotate(180deg)`;break;case\\\"left\\\":c=`translate(0px, ${toDomPrecision(i)}px) rotate(270deg)`}return(0,import_jsx_runtime47.jsx)(\\\"div\\\",{className:\\\"tl-frame-heading\\\",style:{overflow:a?\\\"visible\\\":\\\"hidden\\\",maxWidth:`calc(var(--tl-zoom) * ${\\\"top\\\"===o||\\\"bottom\\\"===o?Math.ceil(t):Math.ceil(i)}px + var(--space-5))`,bottom:\\\"100%\\\",transform:c+\\\" scale(var(--tl-scale)) translateX(calc(-1 * var(--space-3))\\\"},onPointerDown:l,children:(0,import_jsx_runtime47.jsx)(\\\"div\\\",{className:\\\"tl-frame-heading-hit-area\\\",children:(0,import_jsx_runtime47.jsx)(FrameLabelInput,{ref:s,id:r,name:e,isEditing:a})})})};function defaultEmptyAs(e,t){return e.match(/^\\\\s*$/)?t:e}var FrameShapeUtil=class extends BaseBoxShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"canBind\\\",()=>!0),__publicField(this,\\\"canEdit\\\",()=>!0),__publicField(this,\\\"canReceiveNewChildrenOfType\\\",(e,t)=>!e.isLocked),__publicField(this,\\\"canDropShapes\\\",(e,t)=>!e.isLocked),__publicField(this,\\\"onDragShapesOver\\\",(t,e)=>e.every(e=>e.parentId===t.id)?{shouldHint:!1}:(this.editor.reparentShapes(e.map(e=>e.id),t.id),{shouldHint:!0})),__publicField(this,\\\"onDragShapesOut\\\",(e,t)=>{var r=this.editor.getShape(e.parentId);r&&this.editor.isShapeOfType(r,\\\"group\\\")?this.editor.reparentShapes(t,r.id):this.editor.reparentShapes(t,this.editor.getCurrentPageId())}),__publicField(this,\\\"onResizeEnd\\\",e=>{var t=this.editor.getShapePageBounds(e),r=[];for(const n of this.editor.getSortedChildIdsForParent(e.id)){var i=this.editor.getShapePageBounds(n);t.includes(i)||r.push(n)}0\u003Cr.length&&this.editor.reparentShapes(r,this.editor.getCurrentPageId())}),__publicField(this,\\\"onResize\\\",(e,t)=>resizeBox(e,t))}getDefaultProps(){return{w:320,h:180,name:\\\"\\\"}}getGeometry(e){return new Rectangle2d({width:e.props.w,height:e.props.h,isFilled:!1})}component(t){var e=this.editor.getShapeGeometry(t).bounds,r=useDefaultColorTheme(),i=useValue(\\\"is creating this shape\\\",()=>{var e=this.editor.getStateDescendant(\\\"select.resizing\\\");return!!e&&!!e.getIsActive()&&!!(e=null==e?void 0:e.info)&&e.isCreating&&(null==(e=this.editor.getOnlySelectedShape())?void 0:e.id)===t.id},[t.id]);return(0,import_jsx_runtime48.jsxs)(import_jsx_runtime48.Fragment,{children:[(0,import_jsx_runtime48.jsx)(SVGContainer,{children:(0,import_jsx_runtime48.jsx)(\\\"rect\\\",{className:(0,import_classnames16[\\\"default\\\"])(\\\"tl-frame__body\\\",{\\\"tl-frame__creating\\\":i}),width:e.width,height:e.height,fill:r.solid,stroke:r.text})}),i?null:(0,import_jsx_runtime48.jsx)(FrameHeading,{id:t.id,name:t.props.name,width:e.width,height:e.height})]})}toSvg(e){var t=getDefaultColorTheme({isDarkMode:this.editor.user.getIsDarkMode()}),r=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\"),i=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\"),i=(i.setAttribute(\\\"width\\\",e.props.w.toString()),i.setAttribute(\\\"height\\\",e.props.h.toString()),i.setAttribute(\\\"fill\\\",t.solid),i.setAttribute(\\\"stroke\\\",t.black.solid),i.setAttribute(\\\"stroke-width\\\",\\\"1\\\"),i.setAttribute(\\\"rx\\\",\\\"1\\\"),i.setAttribute(\\\"ry\\\",\\\"1\\\"),r.appendChild(i),canonicalizeRotation(this.editor.getShapePageTransform(e.id).rotation())),i=((i+Math.PI/4)*(2/Math.PI)+4)%4;let n;switch([\\\"top\\\",\\\"left\\\",\\\"bottom\\\",\\\"right\\\"][Math.floor(i)]){case\\\"top\\\":n=\\\"\\\";break;case\\\"right\\\":n=`translate(${toDomPrecision(e.props.w)}px, 0px) rotate(90deg)`;break;case\\\"bottom\\\":n=`translate(${toDomPrecision(e.props.w)}px, ${toDomPrecision(e.props.h)}px) rotate(180deg)`;break;case\\\"left\\\":n=`translate(0px, ${toDomPrecision(e.props.h)}px) rotate(270deg)`;break;default:n=\\\"\\\"}var i={fontSize:12,fontFamily:\\\"Inter, sans-serif\\\",textAlign:\\\"start\\\",width:e.props.w,height:32,padding:0,lineHeight:1,fontStyle:\\\"normal\\\",fontWeight:\\\"normal\\\",overflow:\\\"truncate-ellipsis\\\",verticalTextAlign:\\\"middle\\\"},o=this.editor.textMeasure.measureTextSpans(defaultEmptyAs(e.props.name,\\\"Frame\\\")+String.fromCharCode(8203),i),a=o[0],s=last(o),s=s.box.w+s.box.x-a.box.x,a=createTextSvgElementFromSpans(this.editor,o,{offsetY:-i.height-2,...i}),o=(a.style.setProperty(\\\"transform\\\",n),document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\"));return o.setAttribute(\\\"x\\\",\\\"-8px\\\"),o.setAttribute(\\\"y\\\",-i.height-4+\\\"px\\\"),o.setAttribute(\\\"width\\\",16+s+\\\"px\\\"),o.setAttribute(\\\"height\\\",i.height+\\\"px\\\"),o.setAttribute(\\\"rx\\\",\\\"4px\\\"),o.setAttribute(\\\"ry\\\",\\\"4px\\\"),o.setAttribute(\\\"fill\\\",t.background),r.appendChild(o),r.appendChild(a),r}indicator(e){var t=this.editor.getShapeGeometry(e).bounds;return(0,import_jsx_runtime48.jsx)(\\\"rect\\\",{width:toDomPrecision(t.width),height:toDomPrecision(t.height),className:\\\"tl-frame-indicator\\\"})}providesBackgroundForChildren(){return!0}},import_jsx_runtime61=(__publicField(FrameShapeUtil,\\\"type\\\",\\\"frame\\\"),__publicField(FrameShapeUtil,\\\"props\\\",frameShapeProps),__publicField(FrameShapeUtil,\\\"migrations\\\",frameShapeMigrations),init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_jsx_runtime49=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react47=__toESM(require(\\\"react\\\"),1);function getLegacyOffsetX(e,t,r,i){if((\\\"start-legacy\\\"===e||\\\"end-legacy\\\"===e)&&0!==r.length){var n,o=Box.From(r[0].box);for({box:n}of r)o.union(n);return\\\"start-legacy\\\"===e?(i-2*t-o.width)/2:\\\"end-legacy\\\"===e?-(i-2*t-o.width)/2:void 0}}function isLegacyAlign(e){return\\\"start-legacy\\\"===e||\\\"middle-legacy\\\"===e||\\\"end-legacy\\\"===e}init_esbuild_inject();var TextLabel=import_react47[\\\"default\\\"].memo(function TextLabel2({id:e,type:t,text:r,size:i,labelColor:n,font:o,align:a,verticalAlign:s,wrap:l,bounds:c}){var{rInput:d,isEmpty:u,isEditing:p,handleFocus:h,handleChange:m,handleKeyDown:g,handleBlur:_,handleInputPointerDown:f,handleDoubleClick:b}=useEditableText(e,t,r),v=TextHelpers.normalizeTextForDom(r),y=0\u003Cv.length,S=isLegacyAlign(a),x=useDefaultColorTheme();return p||y?(0,import_jsx_runtime49.jsx)(\\\"div\\\",{className:\\\"tl-text-label\\\",\\\"data-font\\\":o,\\\"data-align\\\":a,\\\"data-hastext\\\":!u,\\\"data-isediting\\\":p,\\\"data-textwrap\\\":!!l,style:{justifyContent:\\\"middle\\\"===a||S?\\\"center\\\":a,alignItems:\\\"middle\\\"===s?\\\"center\\\":s,...c?{top:c.minY,left:c.minX,width:c.width,height:c.height,position:\\\"absolute\\\"}:{}},children:(0,import_jsx_runtime49.jsxs)(\\\"div\\\",{className:\\\"tl-text-label__inner\\\",style:{fontSize:LABEL_FONT_SIZES[i],lineHeight:LABEL_FONT_SIZES[i]*TEXT_PROPS.lineHeight+\\\"px\\\",minHeight:TEXT_PROPS.lineHeight+32,minWidth:0,color:x[n].solid},children:[(0,import_jsx_runtime49.jsx)(\\\"div\\\",{className:\\\"tl-text tl-text-content\\\",dir:\\\"ltr\\\",children:v}),p&&(0,import_jsx_runtime49.jsx)(\\\"textarea\\\",{ref:d,className:\\\"tl-text tl-text-input\\\",name:\\\"text\\\",tabIndex:-1,autoComplete:\\\"false\\\",autoCapitalize:\\\"false\\\",autoCorrect:\\\"false\\\",autoSave:\\\"false\\\",autoFocus:!0,placeholder:\\\"\\\",spellCheck:\\\"true\\\",wrap:\\\"off\\\",dir:\\\"auto\\\",datatype:\\\"wysiwyg\\\",defaultValue:r,onFocus:h,onChange:m,onKeyDown:g,onBlur:_,onContextMenu:stopEventPropagation,onPointerDown:f,onDoubleClick:b})]})}):null});function getTextLabelSvgElement({bounds:e,editor:t,font:r,shape:i}){var n={fontSize:LABEL_FONT_SIZES[i.props.size],fontFamily:r,textAlign:i.props.align,verticalTextAlign:i.props.verticalAlign,width:Math.ceil(e.width),height:Math.ceil(e.height),padding:16,lineHeight:TEXT_PROPS.lineHeight,fontStyle:\\\"normal\\\",fontWeight:\\\"normal\\\",overflow:\\\"wrap\\\",offsetX:0},o=t.textMeasure.measureTextSpans(i.props.text,n),a=getLegacyOffsetX(i.props.align,16,o,e.width),a=(a&&(n.offsetX=a),createTextSvgElementFromSpans(t,o,n));return a}function precise2(e){return`${toDomPrecision(e.x)},${toDomPrecision(e.y)} `}function rng2(e=\\\"\\\"){let t=0,r=0,i=0,n=0;function o(){var e=t^t\u003C\u003C11;return t=r,r=i,(n^=((i=n)>>>19^e^e>>>8)>>>0)/4294967296*2}for(let a=0;a\u003Ce.length+64;a++)t^=0|e.charCodeAt(a),o();return o}function getRoundedInkyPolygonPath(e){let t=\\\"M\\\";var r,i,n;for(let o=0,a=e.length;o\u003Ca;o+=3)r=e[o],i=e[o+1],n=e[o+2],t+=`${precise2(r)}L${precise2(i)}Q`+precise2(n);return t+=\\\"\\\"+precise2(e[0])}function getRoundedPolygonPoints(e,t,r,i,n){var o=[],a=rng2(e);let s=t[0];var l=t.length;for(let p=0,h=l*n;p\u003Ch;p++){var c=Vec.AddXY(t[(p+1)%l],a()*r,a()*r),d=Vec.Sub(c,s),u=Vec.Len(d),d=Vec.Div(d,u).mul(Math.min(u/4,i));o.push(Vec.Add(s,d),Vec.Add(c,d.neg()),c),s=c}return o}function getDrawLinePathData(e,t,r){let i=`M ${precise2(t[0])}L`,n=`M ${precise2(t[0])}L`;var o=r/3,a=2*r,s=rng2(e);let l=t[0],c=t[0];for(let _=0,f=t.length-1;_\u003Cf;_++){var d=t[_+1],u=Vec.AddXY(t[_+1],s()*o,s()*o),p=Vec.Sub(d,l),h=Vec.Len(p),p=Vec.Div(p,h).mul(Math.min(h/4,a)),h=Vec.Add(l,p),p=Vec.Add(d,p.neg()),m=Vec.Sub(u,c),g=Vec.Len(m),m=Vec.Div(m,g).mul(Math.min(g/4,a)),g=Vec.Add(c,m),m=Vec.Add(u,m.neg());_===f-1?(i+=precise2(h)+\\\"L \\\"+precise2(d),n+=precise2(g)+\\\"L \\\"+precise2(u)):(i+=`${precise2(h)}L ${precise2(p)}Q `+precise2(d),n+=`${precise2(g)}L ${precise2(m)}Q `+precise2(u),l=d,c=u)}return[i,i+n]}function getPillCircumference(e,t){var r=Math.min(e,t)/2,i=Math.max(e,t)-2*r;return Math.PI*(2*r)+2*i}function getPillPoints(e,t,r){var i=Math.min(e,t)/2,n=Math.max(e,t)-2*i,o=(Math.PI*(2*i)+2*n)/r,a=t\u003Ce?[{type:\\\"straight\\\",start:new Vec(i,0),delta:new Vec(1,0)},{type:\\\"arc\\\",center:new Vec(e-i,i),startAngle:-PI/2},{type:\\\"straight\\\",start:new Vec(e-i,t),delta:new Vec(-1,0)},{type:\\\"arc\\\",center:new Vec(i,i),startAngle:PI/2}]:[{type:\\\"straight\\\",start:new Vec(e,i),delta:new Vec(0,1)},{type:\\\"arc\\\",center:new Vec(i,t-i),startAngle:0},{type:\\\"straight\\\",start:new Vec(0,t-i),delta:new Vec(0,-1)},{type:\\\"arc\\\",center:new Vec(i,i),startAngle:PI}];let s=0;var l=[];for(let d=0;d\u003Cr;d++){var c=a[0];\\\"straight\\\"===c.type?l.push(Vec.Add(c.start,Vec.Mul(c.delta,s))):l.push(getPointOnCircle(c.center.x,c.center.y,i,c.startAngle+s/i)),s+=o;let e=\\\"straight\\\"===c.type?n:PI*i;for(;s>e;)s-=e,a.push(a.shift()),e=\\\"straight\\\"===a[0].type?n:PI*i}return l}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var switchSize=(e,t,r,i,n)=>{switch(e){case\\\"s\\\":return t;case\\\"m\\\":return r;case\\\"l\\\":return i;case\\\"xl\\\":return n}};function getCloudArcs(e,t,r,i){var n=rng(r),o=getPillCircumference(e,t),a=Math.max(Math.ceil(o/switchSize(i,50,70,100,130)),6,Math.ceil(o/Math.min(e,t))),o=o/a*.2,s=Math.max(e-2*o,1),l=Math.max(t-2*o,1);const c=(e-s)/2,d=(t-l)/2;var u=getPillCircumference(s,l)/a,p=getPillPoints(s,l,a).map(e=>e.addXY(c,d)),h=e\u003C20?0:.3*o,m=t\u003C20?0:.3*o,g=p.slice(0);for(let w=0;w\u003CMath.floor(a/2);w++)g[w]=Vec.AddXY(g[w],n()*h,n()*m),g[a-w-1]=Vec.AddXY(g[a-w-1],n()*h,n()*m);var _=[];for(let $=0;$\u003Cg.length;$++){var f=$===g.length-1?0:$+1,b=g[$],v=g[f],y=p[$],f=p[f],S=Vec.Average([y,f]),x=Vec.Angle(y,f)-Math.PI/2,y=Vec.Dist(y,f),f=u-y,y=Vec.Dist(b,v)/y,f=(Math.max(c,d)+f)*y,y=Vec.Add(S,Vec.FromAngle(x,f)),S=(y.x\u003C0?y.x=0:y.x>e&&(y.x=e),y.y\u003C0?y.y=0:y.y>t&&(y.y=t),getCenterOfCircleGivenThreePoints(b,v,y)),x=Vec.Dist(S||Vec.Average([b,v]),b);_.push({leftPoint:b,rightPoint:v,arcPoint:y,center:S,radius:x})}return _}function getCenterOfCircleGivenThreePoints(e,t,r){var i=e.x*(t.y-r.y)-e.y*(t.x-r.x)+t.x*r.y-r.x*t.y,n=-((e.x*e.x+e.y*e.y)*(r.y-t.y)+(t.x*t.x+t.y*t.y)*(e.y-r.y)+(r.x*r.x+r.y*r.y)*(t.y-e.y))/(2*i),i=-((e.x*e.x+e.y*e.y)*(t.x-r.x)+(t.x*t.x+t.y*t.y)*(r.x-e.x)+(r.x*r.x+r.y*r.y)*(e.x-t.x))/(2*i);return Number.isFinite(n)&&Number.isFinite(i)?new Vec(n,i):null}function cloudOutline(e,t,r,i){var n,o,a,s,l=[];for({center:n,radius:o,leftPoint:a,rightPoint:s}of getCloudArcs(e,t,r,i))l.push(...pointsOnArc(a,s,n,o,10));return l}function cloudSvgPath(e,t,r,i){var n,o,a,s,l,c=getCloudArcs(e,t,r,i);let d=`M${toDomPrecision(c[0].leftPoint.x)},`+toDomPrecision(c[0].leftPoint.y);for({leftPoint:n,rightPoint:o,radius:a,center:s}of c)null===s?d+=` L${toDomPrecision(o.x)},`+toDomPrecision(o.y):(l=isLeft(n,o,s)?\\\"0\\\":\\\"1\\\",d+=` A${toDomPrecision(a)},${toDomPrecision(a)} 0 ${l},1 ${toDomPrecision(o.x)},`+toDomPrecision(o.y));return d+=\\\" Z\\\"}function inkyCloudSvgPath(e,t,r,i){const n=rng(r),o=\\\"s\\\"===i?.5:\\\"m\\\"===i?.7:\\\"l\\\"===i?.9:1.6,a=e=>e+n()*o*2;var s,l,c,d,u,p,h,m,g=getCloudArcs(e,t,r,i),_=g.reduce((e,t)=>e+Vec.Dist(t.leftPoint,t.rightPoint),0)/g.length>15*o?e=>new Vec(a(e.x),a(e.y)):e=>e;let f=`M${toDomPrecision(g[0].leftPoint.x)},`+toDomPrecision(g[0].leftPoint.y),b=_(g[0].leftPoint),v=`M${toDomPrecision(b.x)},`+toDomPrecision(b.y);for({leftPoint:s,center:l,rightPoint:c,radius:d,arcPoint:u}of g)null===l?(f+=` L${toDomPrecision(c.x)},`+toDomPrecision(c.y),p=_(c),v+=` L${toDomPrecision(p.x)},`+toDomPrecision(p.y),b=p):(p=isLeft(s,c,l)?\\\"0\\\":\\\"1\\\",h=(f+=` A${toDomPrecision(d)},${toDomPrecision(d)} 0 ${p},1 ${toDomPrecision(c.x)},`+toDomPrecision(c.y),_(c)),m=_(u),m=getCenterOfCircleGivenThreePoints(b,h,m),b=(m?(m=Math.abs(Vec.Dist(m,b)),v+=` A${toDomPrecision(m)},${toDomPrecision(m)} 0 ${p},1 ${toDomPrecision(h.x)},`+toDomPrecision(h.y)):v+=` L${toDomPrecision(h.x)},`+toDomPrecision(h.y),h));return f+v+\\\" Z\\\"}function pointsOnArc(e,t,r,i,n){if(null===r)return[Vec.From(e),Vec.From(t)];var o=[],a=Vec.Angle(r,e),s=clockwiseAngleDist(a,Vec.Angle(r,t));for(let c=0;c\u003Cn;c++){var l=c/(n-1),l=getPointOnCircle(r.x,r.y,i,a+s*l);o.push(l)}return o}function isLeft(e,t,r){return 0\u003C(t.x-e.x)*(r.y-e.y)-(t.y-e.y)*(r.x-e.x)}init_esbuild_inject();var import_jsx_runtime50=require(\\\"react/jsx-runtime\\\"),React21=__toESM(require(\\\"react\\\"),1),DashStyleCloud=React21.memo(function DashStylePolygon({dash:s,fill:e,color:t,strokeWidth:l,w:r,h:i,id:n,size:o}){var a=useDefaultColorTheme(),c=cloudSvgPath(r,i,n,o),d=getCloudArcs(r,i,n,o);return(0,import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment,{children:[(0,import_jsx_runtime50.jsx)(ShapeFill,{theme:a,d:c,fill:e,color:t}),(0,import_jsx_runtime50.jsx)(\\\"g\\\",{strokeWidth:l,stroke:a[t].solid,fill:\\\"none\\\",pointerEvents:\\\"all\\\",children:d.map(({leftPoint:e,rightPoint:t,center:r,radius:i},n)=>{var{strokeDasharray:o,strokeDashoffset:a}=getPerfectDashProps2(r?i*canonicalizeRotation(canonicalizeRotation(Vec.Angle(r,t))-canonicalizeRotation(Vec.Angle(r,e))):Vec.Dist(e,t),l,{style:s,start:\\\"outset\\\",end:\\\"outset\\\"});return(0,import_jsx_runtime50.jsx)(\\\"path\\\",{d:r?`M${e.x},${e.y}A${i},${i},0,0,1,${t.x},`+t.y:`M${e.x},${e.y}L${t.x},`+t.y,strokeDasharray:o,strokeDashoffset:a},n)})})]})});function DashStyleCloudSvg({dash:e,fill:t,color:r,theme:i,strokeWidth:n,w:o,h:a,id:s,size:l}){var c,d,u,p,h=cloudSvgPath(o,a,s,l),m=getCloudArcs(o,a,s,l),g=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");g.setAttribute(\\\"stroke-width\\\",n.toString()),g.setAttribute(\\\"stroke\\\",i[r].solid),g.setAttribute(\\\"fill\\\",\\\"none\\\");for({leftPoint:c,rightPoint:d,center:u,radius:p}of m){var{strokeDasharray:_,strokeDashoffset:f}=getPerfectDashProps2(u?p*canonicalizeRotation(canonicalizeRotation(Vec.Angle(u,d))-canonicalizeRotation(Vec.Angle(u,c))):Vec.Dist(c,d),n,{style:e,start:\\\"outset\\\",end:\\\"outset\\\"}),b=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\");b.setAttribute(\\\"d\\\",u?`M${c.x},${c.y}A${p},${p},0,0,1,${d.x},`+d.y:`M${c.x},${c.y}L${d.x},`+d.y),b.setAttribute(\\\"stroke-dasharray\\\",_.toString()),b.setAttribute(\\\"stroke-dashoffset\\\",f.toString()),g.appendChild(b)}return getSvgWithShapeFill(g,getShapeFillSvg({d:h,fill:t,color:r,theme:i}))}init_esbuild_inject();var import_jsx_runtime51=require(\\\"react/jsx-runtime\\\"),React22=__toESM(require(\\\"react\\\"),1),DashStyleEllipse=React22.memo(function DashStyleEllipse2({w:e,h:t,strokeWidth:r,dash:i,color:n,fill:o}){var a=useDefaultColorTheme(),s=e/2,l=t/2,c=Math.max(0,s),d=Math.max(0,l),u=perimeterOfEllipse(c,d),{strokeDasharray:u,strokeDashoffset:p}=getPerfectDashProps2(u\u003C64?2*u:u,r,{style:i,snap:4,closed:!0}),s=`M${s-c},${l}a${c},${d},0,1,1,${2*c},0a${c},${d},0,1,1,-${2*c},0`;return(0,import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment,{children:[(0,import_jsx_runtime51.jsx)(ShapeFill,{theme:a,d:s,color:n,fill:o}),(0,import_jsx_runtime51.jsx)(\\\"path\\\",{d:s,strokeWidth:r,width:toDomPrecision(e),height:toDomPrecision(t),fill:\\\"none\\\",stroke:a[n].solid,strokeDasharray:u,strokeDashoffset:p,pointerEvents:\\\"all\\\"})]})});function DashStyleEllipseSvg({w:e,h:t,strokeWidth:r,dash:i,color:n,theme:o,fill:a}){var s=e/2,l=t/2,c=Math.max(0,s-r/2),d=Math.max(0,l-r/2),u=perimeterOfEllipse(c,d),{strokeDasharray:u,strokeDashoffset:p}=getPerfectDashProps2(u\u003C64?2*u:u,r,{style:i,snap:4,closed:!0}),s=`M${s-c},${l}a${c},${d},0,1,1,${2*c},0a${c},${d},0,1,1,-${2*c},0`,l=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\"),d=(l.setAttribute(\\\"d\\\",s),l.setAttribute(\\\"stroke-width\\\",r.toString()),l.setAttribute(\\\"width\\\",e.toString()),l.setAttribute(\\\"height\\\",t.toString()),l.setAttribute(\\\"fill\\\",\\\"none\\\"),l.setAttribute(\\\"stroke\\\",o[n].solid),l.setAttribute(\\\"stroke-dasharray\\\",u),l.setAttribute(\\\"stroke-dashoffset\\\",p),getShapeFillSvg({d:s,fill:a,color:n,theme:o}));return getSvgWithShapeFill(l,d)}init_esbuild_inject();var import_jsx_runtime52=require(\\\"react/jsx-runtime\\\"),React23=__toESM(require(\\\"react\\\"),1);function getOvalSolidPath(e,t){var r;return e\u003Ct?`\\n M0,${r=e/2}\\n a${r},${r},0,1,1,${2*r},0\\n L${e},${t-r}\\n a${r},${r},0,1,1,-${2*r},0\\n Z`:`\\n M${r=t/2},0\\n L${e-r},0\\n a${r},${r},0,1,1,0,${2*r}\\n L${r},${t}\\n a${r},${r},0,1,1,0,${2*-r}\\n Z`}function getOvalPerimeter(e,t){var r;return t\u003Ce?perimeterOfEllipse(r=t/2,r)+2*(e-2*r):perimeterOfEllipse(r=e/2,r)+2*(t-2*r)}init_esbuild_inject();var DashStyleOval=React23.memo(function DashStyleOval2({w:e,h:t,strokeWidth:r,dash:i,color:n,fill:o}){var a=useDefaultColorTheme(),s=getOvalSolidPath(e,t),l=getOvalPerimeter(e,t),{strokeDasharray:l,strokeDashoffset:c}=getPerfectDashProps2(l\u003C64?2*l:l,r,{style:i,snap:4,start:\\\"outset\\\",end:\\\"outset\\\",closed:!0});return(0,import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment,{children:[(0,import_jsx_runtime52.jsx)(ShapeFill,{theme:a,d:s,color:n,fill:o}),(0,import_jsx_runtime52.jsx)(\\\"path\\\",{d:s,strokeWidth:r,width:toDomPrecision(e),height:toDomPrecision(t),fill:\\\"none\\\",stroke:a[n].solid,strokeDasharray:l,strokeDashoffset:c,pointerEvents:\\\"all\\\"})]})});function DashStyleOvalSvg({w:e,h:t,strokeWidth:r,dash:i,color:n,theme:o,fill:a}){var s=getOvalSolidPath(e,t),l=getOvalPerimeter(e,t),{strokeDasharray:l,strokeDashoffset:c}=getPerfectDashProps2(l\u003C64?2*l:l,r,{style:i,snap:4,closed:!0}),d=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\"),l=(d.setAttribute(\\\"d\\\",s),d.setAttribute(\\\"stroke-width\\\",r.toString()),d.setAttribute(\\\"width\\\",e.toString()),d.setAttribute(\\\"height\\\",t.toString()),d.setAttribute(\\\"fill\\\",\\\"none\\\"),d.setAttribute(\\\"stroke\\\",o[n].solid),d.setAttribute(\\\"stroke-dasharray\\\",l),d.setAttribute(\\\"stroke-dashoffset\\\",c),getShapeFillSvg({d:s,fill:a,color:n,theme:o}));return getSvgWithShapeFill(d,l)}init_esbuild_inject();var import_jsx_runtime53=require(\\\"react/jsx-runtime\\\"),React24=__toESM(require(\\\"react\\\"),1),DashStylePolygon2=React24.memo(function DashStylePolygon22({dash:a,fill:e,color:o,strokeWidth:s,outline:l,lines:t}){const c=useDefaultColorTheme();var r=\\\"M\\\"+l[0]+\\\"L\\\"+l.slice(1)+\\\"Z\\\";return(0,import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment,{children:[(0,import_jsx_runtime53.jsx)(ShapeFill,{theme:c,d:r,fill:e,color:o}),(0,import_jsx_runtime53.jsxs)(\\\"g\\\",{strokeWidth:s,stroke:c[o].solid,fill:\\\"none\\\",pointerEvents:\\\"all\\\",children:[Array.from(Array(l.length)).map((e,t)=>{var r=l[t],i=l[(t+1)%l.length],{strokeDasharray:n,strokeDashoffset:o}=getPerfectDashProps2(Vec.Dist(r,i),s,{style:a,start:\\\"outset\\\",end:\\\"outset\\\"});return(0,import_jsx_runtime53.jsx)(\\\"line\\\",{x1:r.x,y1:r.y,x2:i.x,y2:i.y,strokeDasharray:n,strokeDashoffset:o},t)}),t&&t.map(([e,t],r)=>{var{strokeDasharray:i,strokeDashoffset:n}=getPerfectDashProps2(Vec.Dist(e,t),s,{style:a,start:\\\"skip\\\",end:\\\"outset\\\",snap:\\\"dotted\\\"===a?4:void 0});return(0,import_jsx_runtime53.jsx)(\\\"path\\\",{d:`M${e.x},${e.y}L${t.x},`+t.y,stroke:c[o].solid,strokeWidth:s,fill:\\\"none\\\",strokeDasharray:i,strokeDashoffset:n},\\\"line_fg_\\\"+r)})]})]})});function DashStylePolygonSvg({dash:s,fill:e,color:t,theme:r,strokeWidth:l,outline:c,lines:i}){const d=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\");if(d.setAttribute(\\\"stroke-width\\\",l.toString()),d.setAttribute(\\\"stroke\\\",r[t].solid),d.setAttribute(\\\"fill\\\",\\\"none\\\"),Array.from(Array(c.length)).forEach((e,t)=>{var r=c[t],i=c[(t+1)%c.length],{strokeDasharray:n,strokeDashoffset:o}=getPerfectDashProps2(Vec.Dist(r,i),l,{style:s}),a=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"line\\\");a.setAttribute(\\\"x1\\\",r.x.toString()),a.setAttribute(\\\"y1\\\",r.y.toString()),a.setAttribute(\\\"x2\\\",i.x.toString()),a.setAttribute(\\\"y2\\\",i.y.toString()),a.setAttribute(\\\"stroke-dasharray\\\",n.toString()),a.setAttribute(\\\"stroke-dashoffset\\\",o.toString()),d.appendChild(a)}),i)for(var[n,o]of i){var{strokeDasharray:a,strokeDashoffset:u}=getPerfectDashProps2(Vec.Dist(n,o),l,{style:s,start:\\\"skip\\\",end:\\\"skip\\\",snap:\\\"dotted\\\"===s?4:2}),p=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"line\\\");p.setAttribute(\\\"x1\\\",n.x.toString()),p.setAttribute(\\\"y1\\\",n.y.toString()),p.setAttribute(\\\"x2\\\",o.x.toString()),p.setAttribute(\\\"y2\\\",o.y.toString()),p.setAttribute(\\\"stroke-dasharray\\\",a.toString()),p.setAttribute(\\\"stroke-dashoffset\\\",u.toString()),d.appendChild(p)}var h=getShapeFillSvg({d:\\\"M\\\"+c[0]+\\\"L\\\"+c.slice(1)+\\\"Z\\\",fill:e,color:t,theme:r});return getSvgWithShapeFill(d,h)}init_esbuild_inject();var import_jsx_runtime54=require(\\\"react/jsx-runtime\\\"),React25=__toESM(require(\\\"react\\\"),1),DrawStyleCloud=React25.memo(function StyleCloud({fill:e,color:t,strokeWidth:r,w:i,h:n,id:o,size:a}){var s=useDefaultColorTheme(),l=inkyCloudSvgPath(i,n,o,a);return(0,import_jsx_runtime54.jsxs)(import_jsx_runtime54.Fragment,{children:[(0,import_jsx_runtime54.jsx)(ShapeFill,{theme:s,d:l,fill:e,color:t}),(0,import_jsx_runtime54.jsx)(\\\"path\\\",{d:l,stroke:s[t].solid,strokeWidth:r,fill:\\\"none\\\"})]})});function DrawStyleCloudSvg({fill:e,color:t,strokeWidth:r,theme:i,w:n,h:o,id:a,size:s}){var l=inkyCloudSvgPath(n,o,a,s),c=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\"),l=(c.setAttribute(\\\"d\\\",l),c.setAttribute(\\\"stroke-width\\\",r.toString()),c.setAttribute(\\\"stroke\\\",i[t].solid),c.setAttribute(\\\"fill\\\",\\\"none\\\"),getShapeFillSvg({d:l,fill:e,color:t,theme:i}));return getSvgWithShapeFill(c,l)}init_esbuild_inject();var import_jsx_runtime55=require(\\\"react/jsx-runtime\\\"),React26=__toESM(require(\\\"react\\\"),1),DrawStyleEllipse=React26.memo(function DrawStyleEllipse2({id:e,w:t,h:r,strokeWidth:i,fill:n,color:o}){var a=useDefaultColorTheme(),s=getEllipseIndicatorPath(e,t,r,i),l=getEllipsePath(e,t,r,i);return(0,import_jsx_runtime55.jsxs)(import_jsx_runtime55.Fragment,{children:[(0,import_jsx_runtime55.jsx)(ShapeFill,{theme:a,d:s,color:o,fill:n}),(0,import_jsx_runtime55.jsx)(\\\"path\\\",{d:l,fill:a[o].solid,strokeWidth:0,pointerEvents:\\\"all\\\"})]})});function DrawStyleEllipseSvg({id:e,w:t,h:r,strokeWidth:i,fill:n,color:o,theme:a}){var s=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\"),l=(s.setAttribute(\\\"d\\\",getEllipsePath(e,t,r,i)),s.setAttribute(\\\"fill\\\",a[o].solid),getShapeFillSvg({d:getEllipseIndicatorPath(e,t,r,i),fill:n,color:o,theme:a}));return getSvgWithShapeFill(s,l)}function getEllipseStrokeOptions(e){return{size:1+e,thinning:.25,end:{taper:e},start:{taper:e},streamline:0,smoothing:1,simulatePressure:!1}}function getEllipseStrokePoints(e,t,r,i){var n=rng(e),o=t/2,a=r/2,s=perimeterOfEllipse(o,a),l=[],c=PI2*n(),d=PI2+HALF_PI/2+Math.abs(n())*HALF_PI,u=Math.max(16,s/10);for(let g=0;g\u003Cu;g++){var p=g/(u-1),h=c+p*d,m=Math.cos(h),h=Math.sin(h);l.push(new Vec(o*m+.5*t+.05*n(),a*h+r/2+.05*n(),Math.min(1,.5+Math.abs(.5-(0\u003Cn()?EASINGS.easeInOutSine(p):EASINGS.easeInExpo(p)))/2)))}return getStrokePoints(l,getEllipseStrokeOptions(i))}function getEllipsePath(e,t,r,i){var n=getEllipseStrokeOptions(i);return getSvgPathFromPoints(getStrokeOutlinePoints(setStrokePointRadii(getEllipseStrokePoints(e,t,r,i),n),n))}function getEllipseIndicatorPath(e,t,r,i){return getSvgPathFromStrokePoints(getEllipseStrokePoints(e,t,r,i))}init_esbuild_inject();var import_jsx_runtime56=require(\\\"react/jsx-runtime\\\"),React27=__toESM(require(\\\"react\\\"),1),DrawStylePolygon=React27.memo(function DrawStylePolygon2({id:e,outline:t,lines:r,fill:i,color:n,strokeWidth:o}){var a=useDefaultColorTheme();let s=getRoundedInkyPolygonPath(getRoundedPolygonPoints(e,t,o/3,2*o,2));if(r)for(var[l,c]of r)s+=`M${l.x},${l.y}L${c.x},`+c.y;var d=getRoundedInkyPolygonPath(getRoundedPolygonPoints(e,t,0,2*o,1));return(0,import_jsx_runtime56.jsxs)(import_jsx_runtime56.Fragment,{children:[(0,import_jsx_runtime56.jsx)(ShapeFill,{d:d,fill:i,color:n,theme:a}),(0,import_jsx_runtime56.jsx)(\\\"path\\\",{d:s,stroke:a[n].solid,strokeWidth:o,fill:\\\"none\\\"})]})});function DrawStylePolygonSvg({id:e,outline:t,lines:r,fill:i,color:n,theme:o,strokeWidth:a}){let s=getRoundedInkyPolygonPath(getRoundedPolygonPoints(e,t,a/3,2*a,2));if(r)for(var[l,c]of r)s+=`M${l.x},${l.y}L${c.x},`+c.y;var d=getRoundedInkyPolygonPath(getRoundedPolygonPoints(e,t,0,2*a,1)),u=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\"),d=(u.setAttribute(\\\"d\\\",s),u.setAttribute(\\\"fill\\\",\\\"none\\\"),u.setAttribute(\\\"stroke\\\",o[n].solid),u.setAttribute(\\\"stroke-width\\\",a.toString()),getShapeFillSvg({d:d,fill:i,color:n,theme:o}));return getSvgWithShapeFill(u,d)}init_esbuild_inject();var import_jsx_runtime57=require(\\\"react/jsx-runtime\\\"),React28=__toESM(require(\\\"react\\\"),1),SolidStyleCloud=React28.memo(function SolidStyleCloud2({fill:e,color:t,strokeWidth:r,w:i,h:n,id:o,size:a}){var s=useDefaultColorTheme(),l=cloudSvgPath(i,n,o,a);return(0,import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment,{children:[(0,import_jsx_runtime57.jsx)(ShapeFill,{theme:s,d:l,fill:e,color:t}),(0,import_jsx_runtime57.jsx)(\\\"path\\\",{d:l,stroke:s[t].solid,strokeWidth:r,fill:\\\"none\\\"})]})});function SolidStyleCloudSvg({fill:e,color:t,strokeWidth:r,theme:i,w:n,h:o,id:a,size:s}){var l=cloudSvgPath(n,o,a,s),c=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\"),l=(c.setAttribute(\\\"d\\\",l),c.setAttribute(\\\"stroke-width\\\",r.toString()),c.setAttribute(\\\"stroke\\\",i[t].solid),c.setAttribute(\\\"fill\\\",\\\"none\\\"),getShapeFillSvg({d:l,fill:e,color:t,theme:i}));return getSvgWithShapeFill(c,l)}init_esbuild_inject();var import_jsx_runtime58=require(\\\"react/jsx-runtime\\\"),React29=__toESM(require(\\\"react\\\"),1),SolidStyleEllipse=React29.memo(function SolidStyleEllipse2({w:e,h:t,strokeWidth:r,fill:i,color:n}){var o=useDefaultColorTheme(),a=e/2,s=t/2,l=Math.max(0,a),c=Math.max(0,s),a=`M${a-l},${s}a${l},${c},0,1,1,${2*l},0a${l},${c},0,1,1,-${2*l},0`;return(0,import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment,{children:[(0,import_jsx_runtime58.jsx)(ShapeFill,{d:a,color:n,fill:i,theme:o}),(0,import_jsx_runtime58.jsx)(\\\"path\\\",{d:a,stroke:o[n].solid,strokeWidth:r,fill:\\\"none\\\"})]})});function SolidStyleEllipseSvg({w:e,h:t,strokeWidth:r,fill:i,color:n,theme:o}){var a=e/2,s=t/2,l=Math.max(0,a),c=Math.max(0,s),a=`M${a-l},${s}a${l},${c},0,1,1,${2*l},0a${l},${c},0,1,1,-${2*l},0`,s=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\"),c=(s.setAttribute(\\\"d\\\",a),s.setAttribute(\\\"stroke-width\\\",r.toString()),s.setAttribute(\\\"width\\\",e.toString()),s.setAttribute(\\\"height\\\",t.toString()),s.setAttribute(\\\"fill\\\",\\\"none\\\"),s.setAttribute(\\\"stroke\\\",o[n].solid),getShapeFillSvg({d:a,fill:i,color:n,theme:o}));return getSvgWithShapeFill(s,c)}init_esbuild_inject();var import_jsx_runtime59=require(\\\"react/jsx-runtime\\\"),React30=__toESM(require(\\\"react\\\"),1),SolidStyleOval=React30.memo(function SolidStyleOval2({w:e,h:t,strokeWidth:r,fill:i,color:n}){var o=useDefaultColorTheme(),a=getOvalIndicatorPath(e,t);return(0,import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment,{children:[(0,import_jsx_runtime59.jsx)(ShapeFill,{d:a,color:n,fill:i,theme:o}),(0,import_jsx_runtime59.jsx)(\\\"path\\\",{d:a,stroke:o[n].solid,strokeWidth:r,fill:\\\"none\\\"})]})});function SolidStyleOvalSvg({w:e,h:t,strokeWidth:r,fill:i,color:n,theme:o}){var a=getOvalIndicatorPath(e,t),s=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\"),a=(s.setAttribute(\\\"d\\\",a),s.setAttribute(\\\"stroke-width\\\",r.toString()),s.setAttribute(\\\"width\\\",e.toString()),s.setAttribute(\\\"height\\\",t.toString()),s.setAttribute(\\\"fill\\\",\\\"none\\\"),s.setAttribute(\\\"stroke\\\",o[n].solid),getShapeFillSvg({d:a,fill:i,color:n,theme:o}));return getSvgWithShapeFill(s,a)}function getOvalIndicatorPath(e,t){let r;var i;return r=e\u003Ct?`\\n M0,${i=e/2}\\n a${i},${i},0,1,1,${2*i},0\\n L${e},${t-i}\\n a${i},${i},0,1,1,-${2*i},0\\n Z`:`\\n M${i=t/2},0\\n L${e-i},0\\n a${i},${i},0,1,1,0,${2*i}\\n L${i},${t}\\n a${i},${i},0,1,1,0,${2*-i}\\n Z`}init_esbuild_inject();var import_jsx_runtime60=require(\\\"react/jsx-runtime\\\"),React31=__toESM(require(\\\"react\\\"),1),SolidStylePolygon=React31.memo(function SolidStylePolygon2({outline:e,lines:t,fill:r,color:i,strokeWidth:n}){var o=useDefaultColorTheme();let a=\\\"M\\\"+e[0]+\\\"L\\\"+e.slice(1)+\\\"Z\\\";if(t)for(var[s,l]of t)a+=`M${s.x},${s.y}L${l.x},`+l.y;return(0,import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment,{children:[(0,import_jsx_runtime60.jsx)(ShapeFill,{d:a,fill:r,color:i,theme:o}),(0,import_jsx_runtime60.jsx)(\\\"path\\\",{d:a,stroke:o[i].solid,strokeWidth:n,fill:\\\"none\\\"})]})});function SolidStylePolygonSvg({outline:e,lines:t,fill:r,color:i,strokeWidth:n,theme:o}){var a=\\\"M\\\"+e[0]+\\\"L\\\"+e.slice(1)+\\\"Z\\\",s=a;let l=a;if(t)for(var[c,d]of t)l+=`M${c.x},${c.y}L${d.x},`+d.y;a=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\"),a.setAttribute(\\\"d\\\",l),a.setAttribute(\\\"stroke-width\\\",n.toString()),a.setAttribute(\\\"stroke\\\",o[i].solid),a.setAttribute(\\\"fill\\\",\\\"none\\\"),s=getShapeFillSvg({d:s,fill:r,color:i,theme:o});return getSvgWithShapeFill(a,s)}var LABEL_PADDING=16,MIN_SIZE_WITH_LABEL=51,GeoShapeUtil=class extends BaseBoxShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"canEdit\\\",()=>!0),__publicField(this,\\\"onEditEnd\\\",e=>{var{id:t,type:r,props:{text:i}}=e;i.trimEnd()!==e.props.text&&this.editor.updateShapes([{id:t,type:r,props:{text:i.trimEnd()}}])}),__publicField(this,\\\"onResize\\\",(r,{handle:e,newPoint:t,scaleX:i,scaleY:n,initialShape:o})=>{let a=o.props.w*i,s=(o.props.h+o.props.growY)*n,l=0,c=0;if(r.props.text.trim()){let e=Math.max(Math.abs(a),MIN_SIZE_WITH_LABEL),t=Math.max(Math.abs(s),MIN_SIZE_WITH_LABEL);(e=e\u003CMIN_SIZE_WITH_LABEL&&t===MIN_SIZE_WITH_LABEL?MIN_SIZE_WITH_LABEL:e)===MIN_SIZE_WITH_LABEL&&t\u003CMIN_SIZE_WITH_LABEL&&(t=MIN_SIZE_WITH_LABEL);var d=getLabelSize(this.editor,{...r,props:{...r.props,w:e,h:t}}),u=Math.max(Math.abs(a),d.w)*Math.sign(a),d=Math.max(Math.abs(s),d.h)*Math.sign(s);l=Math.abs(u)-Math.abs(a),c=Math.abs(d)-Math.abs(s),a=u,s=d}var u=new Vec(0,0),{x:d,y:u}=(i\u003C0&&(u.x+=a),\\\"left\\\"!==e&&\\\"top_left\\\"!==e&&\\\"bottom_left\\\"!==e||(u.x+=i\u003C0?l:-l),n\u003C0&&(u.y+=s),\\\"top\\\"!==e&&\\\"top_left\\\"!==e&&\\\"top_right\\\"!==e||(u.y+=n\u003C0?c:-c),u.rot(r.rotation).add(t));return{x:d,y:u,props:{w:Math.max(Math.abs(a),1),h:Math.max(Math.abs(s),1),growY:0}}}),__publicField(this,\\\"onBeforeCreate\\\",e=>{if(!e.props.text)return e.props.growY?{...e,props:{...e.props,growY:0}}:void 0;var t=e.props.h,r=getLabelSize(this.editor,e).h;let i=null;return t\u003Cr?i=r-t:e.props.growY&&(i=0),null!==i?{...e,props:{...e.props,growY:i}}:void 0}),__publicField(this,\\\"onBeforeUpdate\\\",(r,i)=>{var t=r.props.text,n=i.props.text;if(t!==n||r.props.font!==i.props.font||r.props.size!==i.props.size){if(t&&!n)return{...i,props:{...i.props,growY:0}};var o=r.props.w,a=r.props.h,s=getLabelSize(this.editor,i),l=s.w,s=s.h;if(!t&&n&&1===n.length){let e=Math.max(o,l),t=Math.max(a,s);return r.props.w\u003CMIN_SIZE_WITH_LABEL&&r.props.h\u003CMIN_SIZE_WITH_LABEL&&(e=Math.max(e,MIN_SIZE_WITH_LABEL),t=Math.max(t,MIN_SIZE_WITH_LABEL),e=Math.max(e,t),t=Math.max(e,t)),{...i,props:{...i.props,w:e,h:t,growY:0}}}let e=null;return a\u003Cs?e=s-a:r.props.growY&&(e=0),null!==e?{...i,props:{...i.props,growY:e,w:Math.max(i.props.w,l)}}:l>r.props.w?{...i,props:{...i.props,w:l}}:void 0}}),__publicField(this,\\\"onDoubleClick\\\",e=>{if(this.editor.inputs.altKey)switch(e.props.geo){case\\\"rectangle\\\":return{...e,props:{geo:\\\"check-box\\\"}};case\\\"check-box\\\":return{...e,props:{geo:\\\"rectangle\\\"}}}})}getDefaultProps(){return{w:100,h:100,geo:\\\"rectangle\\\",color:\\\"black\\\",labelColor:\\\"black\\\",fill:\\\"none\\\",dash:\\\"draw\\\",size:\\\"m\\\",font:\\\"draw\\\",text:\\\"\\\",align:\\\"middle\\\",verticalAlign:\\\"middle\\\",growY:0,url:\\\"\\\"}}getGeometry(e){var t=Math.max(1,e.props.w),r=Math.max(1,e.props.h+e.props.growY),i=t/2,n=r/2,o=STROKE_SIZES2[e.props.size],a=\\\"none\\\"!==e.props.fill;let s;switch(e.props.geo){case\\\"cloud\\\":s=new Polygon2d({points:cloudOutline(t,r,e.id,e.props.size),isFilled:a});break;case\\\"triangle\\\":s=new Polygon2d({points:[new Vec(i,0),new Vec(t,r),new Vec(0,r)],isFilled:a});break;case\\\"diamond\\\":s=new Polygon2d({points:[new Vec(i,0),new Vec(t,n),new Vec(i,r),new Vec(0,n)],isFilled:a});break;case\\\"pentagon\\\":s=new Polygon2d({points:getPolygonVertices(t,r,5),isFilled:a});break;case\\\"hexagon\\\":s=new Polygon2d({points:getPolygonVertices(t,r,6),isFilled:a});break;case\\\"octagon\\\":s=new Polygon2d({points:getPolygonVertices(t,r,8),isFilled:a});break;case\\\"ellipse\\\":s=new Ellipse2d({width:t,height:r,isFilled:a});break;case\\\"oval\\\":s=new Stadium2d({width:t,height:r,isFilled:a});break;case\\\"star\\\":{const _=PI2/5/2;var l=2*Math.floor(5/4),c=10-l,d=2*Math.floor(2.5),l=Math.cos(-HALF_PI+l*_)*t/2,c=Math.cos(-HALF_PI+c*_)*t/2,u=Math.sin(-HALF_PI+0*_)*r/2,d=Math.sin(-HALF_PI+d*_)*r/2,p=t-Math.abs(l-c),h=r-Math.abs(d-u);const f=(t-(t/2+c-(t/2-l)))/2,b=(r-(r/2+u-(r/2-d)))/2,v=(t+p)/2,y=(r+h)/2,S=v/2,x=y/2;s=new Polygon2d({points:Array.from(Array(10)).map((e,t)=>{var r=-HALF_PI+t*_;return new Vec(f+(t%2?S:v)*Math.cos(r),b+(t%2?x:y)*Math.sin(r))}),isFilled:a});break}case\\\"rhombus\\\":c=Math.min(.38*t,.38*r);s=new Polygon2d({points:[new Vec(c,0),new Vec(t,0),new Vec(t-c,r),new Vec(0,r)],isFilled:a});break;case\\\"rhombus-2\\\":l=Math.min(.38*t,.38*r);s=new Polygon2d({points:[new Vec(0,0),new Vec(t-l,0),new Vec(t,r),new Vec(l,r)],isFilled:a});break;case\\\"trapezoid\\\":u=Math.min(.38*t,.38*r);s=new Polygon2d({points:[new Vec(u,0),new Vec(t-u,0),new Vec(t,r),new Vec(0,r)],isFilled:a});break;case\\\"arrow-right\\\":d=.38*Math.min(t,r),p=.16*r;s=new Polygon2d({points:[new Vec(0,p),new Vec(t-d,p),new Vec(t-d,0),new Vec(t,r/2),new Vec(t-d,r),new Vec(t-d,r-p),new Vec(0,r-p)],isFilled:a});break;case\\\"arrow-left\\\":h=.38*Math.min(t,r),c=.16*r;s=new Polygon2d({points:[new Vec(h,0),new Vec(h,c),new Vec(t,c),new Vec(t,r-c),new Vec(h,r-c),new Vec(h,r),new Vec(0,r/2)],isFilled:a});break;case\\\"arrow-up\\\":l=.16*t,u=.38*Math.min(t,r);s=new Polygon2d({points:[new Vec(t/2,0),new Vec(t,u),new Vec(t-l,u),new Vec(t-l,r),new Vec(l,r),new Vec(l,u),new Vec(0,u)],isFilled:a});break;case\\\"arrow-down\\\":d=.16*t,p=.38*Math.min(t,r);s=new Polygon2d({points:[new Vec(d,0),new Vec(t-d,0),new Vec(t-d,r-p),new Vec(t,r-p),new Vec(t/2,r),new Vec(0,r-p),new Vec(d,r-p)],isFilled:a});break;case\\\"check-box\\\":case\\\"x-box\\\":case\\\"rectangle\\\":s=new Rectangle2d({width:t,height:r,isFilled:a,isSnappable:!0})}var m=getLabelSize(this.editor,e),g=Math.min(t,Math.max(m.w,Math.min(32,Math.max(1,t-8)))),m=Math.min(r,Math.max(m.h,Math.min(32,Math.max(1,t-8)))),o=getLines(e.props,o),o=o?o.map(e=>new Polyline2d({points:e})):[];return new Group2d({children:[s,new Rectangle2d({x:\\\"start\\\"===e.props.align?0:\\\"end\\\"===e.props.align?t-g:(t-g)/2,y:\\\"start\\\"===e.props.verticalAlign?0:\\\"end\\\"===e.props.verticalAlign?r-m:(r-m)/2,width:g,height:m,isFilled:!0,isSnappable:!1,isLabel:!0}),...o],isSnappable:!1})}component(i){const{id:n,type:e,props:o}=i,a=STROKE_SIZES2[o.size],{w:s,color:l,labelColor:t,fill:c,dash:d,growY:u,font:r,align:p,verticalAlign:h,size:m,text:g}=o;return(0,import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment,{children:[(0,import_jsx_runtime61.jsx)(SVGContainer,{id:n,children:(()=>{var e=o.h+u;switch(o.geo){case\\\"cloud\\\":if(\\\"solid\\\"===d)return(0,import_jsx_runtime61.jsx)(SolidStyleCloud,{color:l,fill:c,strokeWidth:a,w:s,h:e,id:n,size:m});if(\\\"dashed\\\"===d||\\\"dotted\\\"===d)return(0,import_jsx_runtime61.jsx)(DashStyleCloud,{color:l,fill:c,strokeWidth:a,w:s,h:e,id:n,size:m,dash:d});if(\\\"draw\\\"===d)return(0,import_jsx_runtime61.jsx)(DrawStyleCloud,{color:l,fill:c,strokeWidth:a,w:s,h:e,id:n,size:m});break;case\\\"ellipse\\\":if(\\\"solid\\\"===d)return(0,import_jsx_runtime61.jsx)(SolidStyleEllipse,{strokeWidth:a,w:s,h:e,color:l,fill:c});if(\\\"dashed\\\"===d||\\\"dotted\\\"===d)return(0,import_jsx_runtime61.jsx)(DashStyleEllipse,{id:n,strokeWidth:a,w:s,h:e,dash:d,color:l,fill:c});if(\\\"draw\\\"===d)return(0,import_jsx_runtime61.jsx)(SolidStyleEllipse,{strokeWidth:a,w:s,h:e,color:l,fill:c});break;case\\\"oval\\\":if(\\\"solid\\\"===d)return(0,import_jsx_runtime61.jsx)(SolidStyleOval,{strokeWidth:a,w:s,h:e,color:l,fill:c});if(\\\"dashed\\\"===d||\\\"dotted\\\"===d)return(0,import_jsx_runtime61.jsx)(DashStyleOval,{id:n,strokeWidth:a,w:s,h:e,dash:d,color:l,fill:c});if(\\\"draw\\\"===d)return(0,import_jsx_runtime61.jsx)(SolidStyleOval,{strokeWidth:a,w:s,h:e,color:l,fill:c});break;default:var t=this.editor.getShapeGeometry(i),t=(t instanceof Group2d?t.children[0]:t).vertices,r=getLines(i.props,a);return\\\"solid\\\"===d?(0,import_jsx_runtime61.jsx)(SolidStylePolygon,{fill:c,color:l,strokeWidth:a,outline:t,lines:r}):\\\"dashed\\\"===d||\\\"dotted\\\"===d?(0,import_jsx_runtime61.jsx)(DashStylePolygon2,{dash:d,fill:c,color:l,strokeWidth:a,outline:t,lines:r}):\\\"draw\\\"===d?(0,import_jsx_runtime61.jsx)(DrawStylePolygon,{id:n,fill:c,color:l,strokeWidth:a,outline:t,lines:r}):void 0}})()}),(0,import_jsx_runtime61.jsxs)(HTMLContainer,{id:i.id,style:{overflow:\\\"hidden\\\",width:i.props.w,height:i.props.h+o.growY},children:[(0,import_jsx_runtime61.jsx)(TextLabel,{id:n,type:e,font:r,fill:c,size:m,align:p,verticalAlign:h,text:g,labelColor:t,wrap:!0,bounds:\\\"cloud\\\"===o.geo?this.getGeometry(i).bounds:void 0}),i.props.url&&(0,import_jsx_runtime61.jsx)(HyperlinkButton,{url:i.props.url,zoomLevel:this.editor.getZoomLevel()})]})]})}indicator(t){var{id:r,props:i}=t,{w:e,size:n}=i,o=i.h+i.growY,a=STROKE_SIZES2[n];switch(i.geo){case\\\"ellipse\\\":return\\\"draw\\\"===i.dash?(0,import_jsx_runtime61.jsx)(\\\"path\\\",{d:getEllipseIndicatorPath(r,e,o,a)}):(0,import_jsx_runtime61.jsx)(\\\"ellipse\\\",{cx:e/2,cy:o/2,rx:e/2,ry:o/2});case\\\"oval\\\":return(0,import_jsx_runtime61.jsx)(\\\"path\\\",{d:getOvalIndicatorPath(e,o)});case\\\"cloud\\\":return(0,import_jsx_runtime61.jsx)(\\\"path\\\",{d:cloudSvgPath(e,o,r,n)});default:{var s=this.editor.getShapeGeometry(t),s=(s instanceof Group2d?s.children[0]:s).vertices;let e;e=\\\"draw\\\"===i.dash?getRoundedInkyPolygonPath(getRoundedPolygonPoints(r,s,0,2*a,1)):\\\"M\\\"+s[0]+\\\"L\\\"+s.slice(1)+\\\"Z\\\";s=getLines(t.props,a);if(s)for(var[l,c]of s)e+=`M${l.x},${l.y}L${c.x},`+c.y;return(0,import_jsx_runtime61.jsx)(\\\"path\\\",{d:e})}}}toSvg(e,t){var r,i,n,{id:o,props:a}=e,s=STROKE_SIZES2[a.size],l=getDefaultColorTheme({isDarkMode:this.editor.user.getIsDarkMode()});t.addExportDef(getFillDefForExport(e.props.fill,l));let c;switch(a.geo){case\\\"ellipse\\\":switch(a.dash){case\\\"draw\\\":c=DrawStyleEllipseSvg({id:o,w:a.w,h:a.h,color:a.color,fill:a.fill,strokeWidth:s,theme:l});break;case\\\"solid\\\":c=SolidStyleEllipseSvg({strokeWidth:s,w:a.w,h:a.h,color:a.color,fill:a.fill,theme:l});break;default:c=DashStyleEllipseSvg({id:o,strokeWidth:s,w:a.w,h:a.h,dash:a.dash,color:a.color,fill:a.fill,theme:l})}break;case\\\"oval\\\":switch(a.dash){case\\\"draw\\\":c=DashStyleOvalSvg({id:o,strokeWidth:s,w:a.w,h:a.h,dash:a.dash,color:a.color,fill:a.fill,theme:l});break;case\\\"solid\\\":c=SolidStyleOvalSvg({strokeWidth:s,w:a.w,h:a.h,color:a.color,fill:a.fill,theme:l});break;default:c=DashStyleOvalSvg({id:o,strokeWidth:s,w:a.w,h:a.h,dash:a.dash,color:a.color,fill:a.fill,theme:l})}break;case\\\"cloud\\\":switch(a.dash){case\\\"draw\\\":c=DrawStyleCloudSvg({id:o,strokeWidth:s,w:a.w,h:a.h,color:a.color,fill:a.fill,size:a.size,theme:l});break;case\\\"solid\\\":c=SolidStyleCloudSvg({strokeWidth:s,w:a.w,h:a.h,color:a.color,fill:a.fill,size:a.size,id:o,theme:l});break;default:c=DashStyleCloudSvg({id:o,strokeWidth:s,w:a.w,h:a.h,dash:a.dash,color:a.color,fill:a.fill,theme:l,size:a.size})}break;default:var d=this.editor.getShapeGeometry(e),u=(d instanceof Group2d?d.children[0]:d).vertices,p=getLines(e.props,s);switch(a.dash){case\\\"draw\\\":c=DrawStylePolygonSvg({id:o,fill:a.fill,color:a.color,strokeWidth:s,outline:u,lines:p,theme:l});break;case\\\"solid\\\":c=SolidStylePolygonSvg({fill:a.fill,color:a.color,strokeWidth:s,outline:u,lines:p,theme:l});break;default:c=DashStylePolygonSvg({dash:a.dash,fill:a.fill,color:a.color,strokeWidth:s,outline:u,lines:p,theme:l})}}return a.text?(n=this.editor.getShapeGeometry(e).bounds,t.addExportDef(getFontDefForExport(e.props.font)),(r=(n=getTextLabelSvgElement({editor:this.editor,shape:e,font:DefaultFontFamilies[e.props.font],bounds:n})).cloneNode(!0)).setAttribute(\\\"fill\\\",l[e.props.labelColor].solid),r.setAttribute(\\\"stroke\\\",\\\"none\\\"),(n=n.cloneNode(!0)).setAttribute(\\\"stroke-width\\\",\\\"2\\\"),n.setAttribute(\\\"fill\\\",l.background),n.setAttribute(\\\"stroke\\\",l.background),(i=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")).append(n),i.append(r),\\\"g\\\"===c.nodeName?(c.appendChild(i),c):((n=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")).appendChild(c),n.appendChild(i),n)):c}getCanvasSvgDefs(){return[getFillDefForCanvas()]}};function getLabelSize(e,t){var r,i=t.props.text;return i?(r=e.textMeasure.measureText(\\\"w\\\",{...TEXT_PROPS,fontFamily:FONT_FAMILIES[t.props.font],fontSize:LABEL_FONT_SIZES[t.props.size],maxWidth:100}),{w:(i=e.textMeasure.measureText(i,{...TEXT_PROPS,fontFamily:FONT_FAMILIES[t.props.font],fontSize:LABEL_FONT_SIZES[t.props.size],minWidth:r.w+\\\"px\\\",maxWidth:Math.max(0,Math.ceil(r.w+{s:2,m:3.5,l:5,xl:10}[t.props.size]),Math.ceil(t.props.w-2*LABEL_PADDING))})).w+2*LABEL_PADDING,h:i.h+2*LABEL_PADDING}):{w:0,h:0}}function getLines(e,t){switch(e.geo){case\\\"x-box\\\":return getXBoxLines(e.w,e.h,t,e.dash);case\\\"check-box\\\":return getCheckBoxLines(e.w,e.h)}}function getXBoxLines(t,r,e,i){var n,o,a=\\\"draw\\\"===i?.62:0;return\\\"dashed\\\"===i?[[new Vec(0,0),new Vec(t/2,r/2)],[new Vec(t,r),new Vec(t/2,r/2)],[new Vec(0,r),new Vec(t/2,r/2)],[new Vec(t,0),new Vec(t/2,r/2)]]:(o=e=>Math.max(0,Math.min(r,e)),[[new Vec((n=e=>Math.max(0,Math.min(t,e)))(e*a),o(e*a)),new Vec(n(t-e*a),o(r-e*a))],[new Vec(n(e*a),o(r-e*a)),new Vec(n(t-e*a),o(e*a))]])}function getCheckBoxLines(t,r){var e=.82*Math.min(t,r),i=(t-e)/2,n=(r-e)/2,o=e=>Math.max(0,Math.min(t,e)),a=e=>Math.max(0,Math.min(r,e));return[[new Vec(o(i+.25*e),a(n+.52*e)),new Vec(o(i+.45*e),a(n+.82*e))],[new Vec(o(i+.45*e),a(n+.82*e)),new Vec(o(i+.82*e),a(n+.22*e))]]}__publicField(GeoShapeUtil,\\\"type\\\",\\\"geo\\\"),__publicField(GeoShapeUtil,\\\"props\\\",geoShapeProps),__publicField(GeoShapeUtil,\\\"migrations\\\",geoShapeMigrations),init_esbuild_inject();var import_jsx_runtime62=require(\\\"react/jsx-runtime\\\"),import_react48=(init_esbuild_inject(),require(\\\"react\\\"));function useColorSpace(){const[e,i]=(0,import_react48.useState)(!1);return(0,import_react48.useEffect)(()=>{const e=CSS.supports(\\\"color\\\",\\\"color(display-p3 1 1 1)\\\"),t=matchMedia(\\\"(color-gamut: p3)\\\"),r=(i(e&&t.matches),()=>i(e&&t.matches));return t.addEventListener(\\\"change\\\",r),()=>t.removeEventListener(\\\"change\\\",r)},[]),useValue(debugFlags.forceSrgb)||!e?\\\"srgb\\\":\\\"p3\\\"}var OVERLAY_OPACITY=.35,UNDERLAY_OPACITY=.82,HighlightShapeUtil=class extends ShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"hideResizeHandles\\\",e=>getIsDot2(e)),__publicField(this,\\\"hideRotateHandle\\\",e=>getIsDot2(e)),__publicField(this,\\\"hideSelectionBoundsFg\\\",e=>getIsDot2(e)),__publicField(this,\\\"onResize\\\",(e,t)=>{const{scaleX:i,scaleY:n}=t;var r=[];for(const o of e.props.segments)r.push({...o,points:o.points.map(({x:e,y:t,z:r})=>({x:i*e,y:n*t,z:r}))});return{props:{segments:r}}})}getDefaultProps(){return{segments:[],color:\\\"black\\\",size:\\\"m\\\",isComplete:!1,isPen:!1}}getGeometry(e){var t,r=getStrokeWidth(e);return getIsDot2(e)?new Circle2d({x:-r/2,y:-r/2,radius:r/2,isFilled:!0}):(({strokePoints:r,sw:t}=getHighlightStrokePoints(e,r,!0)),setStrokePointRadii(r,t=getHighlightFreehandSettings({strokeWidth:t,showAsComplete:!0})),new Polygon2d({points:getStrokeOutlinePoints(r,t),isFilled:!0}))}component(e){return(0,import_jsx_runtime62.jsx)(HighlightRenderer,{strokeWidth:getStrokeWidth(e),shape:e,opacity:OVERLAY_OPACITY})}backgroundComponent(e){return(0,import_jsx_runtime62.jsx)(HighlightRenderer,{strokeWidth:getStrokeWidth(e),shape:e,opacity:UNDERLAY_OPACITY})}indicator(e){var t=useForceSolid(),r=getStrokeWidth(e),i=getPointsFromSegments(e.props.segments);let n=r;t||e.props.isPen||1!==i.length||(n+=rng(e.id)()*(r/6));r=getStrokePoints(i,getHighlightFreehandSettings({strokeWidth:r,showAsComplete:e.props.isComplete||\\\"straight\\\"===(null==(t=last(e.props.segments))?void 0:t.type)}));let o;return o=r.length\u003C2?getIndicatorDot(i[0],n):getSvgPathFromStrokePoints(r,!1),(0,import_jsx_runtime62.jsx)(\\\"path\\\",{d:o})}toSvg(e){var t=getDefaultColorTheme({isDarkMode:this.editor.user.getIsDarkMode()});return highlighterToSvg(getStrokeWidth(e),e,OVERLAY_OPACITY,t)}toBackgroundSvg(e){var t=getDefaultColorTheme({isDarkMode:this.editor.user.getIsDarkMode()});return highlighterToSvg(getStrokeWidth(e),e,UNDERLAY_OPACITY,t)}};function getShapeDot(e){return`M ${e.x} ${e.y} m -0.1, 0 a 0.1,0.1 0 1,0 0.2,0 a 0.1,0.1 0 1,0 -0.2,0`}function getIndicatorDot(e,t){var r=t/2;return`M ${e.x} ${e.y} m -${r}, 0 a ${r},${r} 0 1,0 ${2*r},0 a ${r},${r} 0 1,0 -${2*r},0`}function getHighlightStrokePoints(e,t,r){var i=getPointsFromSegments(e.props.segments),n=e.props.isComplete||\\\"straight\\\"===(null==(n=last(e.props.segments))?void 0:n.type);let o=t;return r||e.props.isPen||1!==i.length||(o+=rng(e.id)()*(t/6)),{strokePoints:getStrokePoints(i,getHighlightFreehandSettings({strokeWidth:o,showAsComplete:n})),sw:o}}function getHighlightSvgPath(e,t,r){var{strokePoints:i,sw:n}=getHighlightStrokePoints(e,t,r);return{solidStrokePath:1\u003Ci.length?getSvgPathFromStrokePoints(i,!1):getShapeDot(e.props.segments[0].points[0]),sw:n}}function HighlightRenderer({strokeWidth:e,shape:t,opacity:r}){var i=useDefaultColorTheme(),{solidStrokePath:n,sw:o}=getHighlightSvgPath(t,e,useForceSolid()),a=useColorSpace(),a=i[t.props.color].highlight[a];return(0,import_jsx_runtime62.jsx)(SVGContainer,{id:t.id,style:{opacity:r},children:(0,import_jsx_runtime62.jsx)(\\\"path\\\",{d:n,strokeLinecap:\\\"round\\\",fill:\\\"none\\\",pointerEvents:\\\"all\\\",stroke:a,strokeWidth:o})})}function highlighterToSvg(e,t,r,i){var{solidStrokePath:n,sw:o}=getHighlightSvgPath(t,e,!1),a=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\");return a.setAttribute(\\\"d\\\",n),a.setAttribute(\\\"fill\\\",\\\"none\\\"),a.setAttribute(\\\"stroke\\\",i[t.props.color].highlight.srgb),a.setAttribute(\\\"stroke-width\\\",\\\"\\\"+o),a.setAttribute(\\\"opacity\\\",\\\"\\\"+r),a}function getStrokeWidth(e){return 1.12*FONT_SIZES[e.props.size]}function getIsDot2(e){return 1===e.props.segments.length&&e.props.segments[0].points.length\u003C2}__publicField(HighlightShapeUtil,\\\"type\\\",\\\"highlight\\\"),__publicField(HighlightShapeUtil,\\\"props\\\",highlightShapeProps),__publicField(HighlightShapeUtil,\\\"migrations\\\",highlightShapeMigrations),init_esbuild_inject();var import_jsx_runtime63=require(\\\"react/jsx-runtime\\\"),import_react50=require(\\\"react\\\"),import_react49=(init_esbuild_inject(),require(\\\"react\\\"));function usePrefersReducedMotion(){const[e,r]=(0,import_react49.useState)(!1);return(0,import_react49.useEffect)(()=>{const e=window.matchMedia(\\\"(prefers-reduced-motion: reduce)\\\"),t=()=>{r(e.matches)};return t(),e.addEventListener(\\\"change\\\",t),()=>e.removeEventListener(\\\"change\\\",t)},[]),e}var loadImage=async i=>new Promise((e,t)=>{const r=new Image;r.onload=()=>e(r),r.onerror=()=>t(new Error(\\\"Failed to load image\\\")),r.crossOrigin=\\\"anonymous\\\",r.src=i}),getStateFrame=async e=>{var t=await loadImage(e),r=document.createElement(\\\"canvas\\\"),i=(r.width=t.width,r.height=t.height,r.getContext(\\\"2d\\\"));if(i)return i.drawImage(t,0,0),r.toDataURL()};async function getDataURIFromURL(e){const i=await(await fetch(e)).blob();return new Promise((e,t)=>{const r=new FileReader;r.onloadend=()=>e(r.result),r.onerror=t,r.readAsDataURL(i)})}var ImageShapeUtil=class extends BaseBoxShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"isAspectRatioLocked\\\",()=>!0),__publicField(this,\\\"canCrop\\\",()=>!0),__publicField(this,\\\"onDoubleClick\\\",e=>{var t=e.props.assetId?this.editor.getAsset(e.props.assetId):void 0;t&&t.props.src&&\\\"mimeType\\\"in t.props&&\\\"image/gif\\\"===t.props.mimeType&&this.editor.updateShapes([{type:\\\"image\\\",id:e.id,props:{playing:!e.props.playing}}])}),__publicField(this,\\\"onDoubleClickEdge\\\",e=>{var t,r,i=e.props;i&&this.editor.getCroppingShapeId()===e.id&&(t=1/((i=deepCopy(i.crop)||{topLeft:{x:0,y:0},bottomRight:{x:1,y:1}}).bottomRight.x-i.topLeft.x)*e.props.w,r=1/(i.bottomRight.y-i.topLeft.y)*e.props.h,i=new Vec(i.topLeft.x*t,i.topLeft.y*r).rot(e.rotation),i={id:e.id,type:e.type,x:e.x-i.x,y:e.y-i.y,props:{crop:{topLeft:{x:0,y:0},bottomRight:{x:1,y:1}},w:t,h:r}},this.editor.updateShapes([i]))})}getDefaultProps(){return{w:100,h:100,assetId:null,playing:!0,url:\\\"\\\",crop:null}}component(t){var e=getContainerStyle(t),r=useIsCropping(t.id),i=usePrefersReducedMotion();const[n,o]=(0,import_react50.useState)(\\\"\\\"),a=t.props.assetId?this.editor.getAsset(t.props.assetId):void 0;if(\\\"bookmark\\\"===(null==a?void 0:a.type))throw Error(\\\"Bookmark assets can't be rendered as images\\\");var r=useValue(\\\"onlySelectedShape\\\",()=>{var e;return t.id===(null==(e=this.editor.getOnlySelectedShape())?void 0:e.id)},[this.editor])&&r&&this.editor.isInAny(\\\"select.crop\\\",\\\"select.cropping\\\",\\\"select.pointing_crop_handle\\\"),s=i&&((null==(s=null==a?void 0:a.props.mimeType)?void 0:s.includes(\\\"video\\\"))||(null==(s=null==a?void 0:a.props.mimeType)?void 0:s.includes(\\\"gif\\\")));return(0,import_react50.useEffect)(()=>{if(null!=a&&a.props.src&&\\\"mimeType\\\"in a.props&&\\\"image/gif\\\"===(null==a?void 0:a.props.mimeType)){let t=!1;return(async()=>{var e=await getStateFrame(a.props.src);t||e&&o(e)})(),()=>{t=!0}}},[i,null==a?void 0:a.props]),(0,import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment,{children:[(null==a?void 0:a.props.src)&&r&&(0,import_jsx_runtime63.jsx)(\\\"div\\\",{style:e,children:(0,import_jsx_runtime63.jsx)(\\\"div\\\",{className:\\\"tl-image\\\",style:{opacity:.1,backgroundImage:`url(${!t.props.playing||s?n:a.props.src})`},draggable:!1})}),(0,import_jsx_runtime63.jsxs)(HTMLContainer,{id:t.id,style:{overflow:\\\"hidden\\\",width:t.props.w,height:t.props.h},children:[(0,import_jsx_runtime63.jsxs)(\\\"div\\\",{className:\\\"tl-image-container\\\",style:e,children:[null!=a&&a.props.src?(0,import_jsx_runtime63.jsx)(\\\"div\\\",{className:\\\"tl-image\\\",style:{backgroundImage:`url(${!t.props.playing||s?n:a.props.src})`},draggable:!1}):null,(null==a?void 0:a.props.isAnimated)&&!t.props.playing&&(0,import_jsx_runtime63.jsx)(\\\"div\\\",{className:\\\"tl-image__tg\\\",children:\\\"GIF\\\"})]}),\\\"url\\\"in t.props&&t.props.url&&(0,import_jsx_runtime63.jsx)(HyperlinkButton,{url:t.props.url,zoomLevel:this.editor.getZoomLevel()})]})]})}indicator(e){return useIsCropping(e.id)?null:(0,import_jsx_runtime63.jsx)(\\\"rect\\\",{width:toDomPrecision(e.props.w),height:toDomPrecision(e.props.h)})}async toSvg(e){var t=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\"),r=e.props.assetId?this.editor.getAsset(e.props.assetId):null;let i=(null==r?void 0:r.props.src)||\\\"\\\";i&&i.startsWith(\\\"http\\\")&&(i=await getDataURIFromURL(i)||\\\"\\\");var n,o,a,r=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"image\\\"),s=(r.setAttributeNS(\\\"http://www.w3.org/1999/xlink\\\",\\\"href\\\",i),getContainerStyle(e)),l=e.props.crop;return s.transform&&l?(({transform:s,width:n,height:o}=s),a=(l.bottomRight.x-l.topLeft.x)*n,l=(l.bottomRight.y-l.topLeft.y)*o,a=[new Vec(0,0),new Vec(a,0),new Vec(a,l),new Vec(0,l)],(l=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"polygon\\\")).setAttribute(\\\"points\\\",a.map(e=>e.x+\\\",\\\"+e.y).join(\\\" \\\")),(a=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"clipPath\\\")).setAttribute(\\\"id\\\",\\\"cropClipPath\\\"),a.appendChild(l),(l=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"defs\\\")).appendChild(a),t.appendChild(l),(a=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\")).setAttribute(\\\"clip-path\\\",\\\"url(#cropClipPath)\\\"),r.setAttribute(\\\"width\\\",n.toString()),r.setAttribute(\\\"height\\\",o.toString()),r.style.transform=s,a.appendChild(r),t.appendChild(a)):(r.setAttribute(\\\"width\\\",e.props.w.toString()),r.setAttribute(\\\"height\\\",e.props.h.toString()),t.appendChild(r)),t}};function getContainerStyle(e){var t,r=e.props.crop,i=null==r?void 0:r.topLeft;return i?(t=1/(r.bottomRight.x-r.topLeft.x)*e.props.w,r=1/(r.bottomRight.y-r.topLeft.y)*e.props.h,{transform:`translate(${-i.x*t}px, ${-i.y*r}px)`,width:t,height:r}):{width:e.props.w,height:e.props.h}}__publicField(ImageShapeUtil,\\\"type\\\",\\\"image\\\"),__publicField(ImageShapeUtil,\\\"props\\\",imageShapeProps),__publicField(ImageShapeUtil,\\\"migrations\\\",imageShapeMigrations),init_esbuild_inject();var import_jsx_runtime64=require(\\\"react/jsx-runtime\\\");function getSvgPathForEdge(e,t){var{start:r,end:i}=e;return t?`M${toDomPrecision(r.x)},${toDomPrecision(r.y)} L${toDomPrecision(i.x)},${toDomPrecision(i.y)} `:`${toDomPrecision(i.x)},${toDomPrecision(i.y)} `}function getSvgPathForBezierCurve(e,t){var{a:r,b:i,c:n,d:o}=e;return Vec.Equals(r,o)?\\\"\\\":`${t?`M${toDomPrecision(r.x)},`+toDomPrecision(r.y):\\\"\\\"}C${toDomPrecision(i.x)},${toDomPrecision(i.y)} ${toDomPrecision(n.x)},${toDomPrecision(n.y)} ${toDomPrecision(o.x)},`+toDomPrecision(o.y)}function getSvgPathForCubicSpline(e,t){let r=e.segments.reduce((e,t,r)=>e+getSvgPathForBezierCurve(t,0===r),\\\"\\\");return t&&(r+=\\\"Z\\\"),r}function getSvgPathForPolylineSpline(e,t){let r=e.segments.reduce((e,t,r)=>e+getSvgPathForEdge(t,0===r),\\\"\\\");return t&&(r+=\\\"Z\\\"),r}function getSvgPathForLineGeometry(e,t=!1){return(e instanceof Polyline2d?getSvgPathForPolylineSpline:getSvgPathForCubicSpline)(e,t)}function getLineDrawFreehandOptions(e){return{size:e,thinning:.4,streamline:0,smoothing:.5,simulatePressure:!0,last:!0}}function getLineStrokePoints(e,t,r){return getStrokePoints(t.vertices,getLineDrawFreehandOptions(r))}function getLineDrawStrokeOutlinePoints(e,t,r){var i=getLineDrawFreehandOptions(r);return getStrokeOutlinePoints(setStrokePointRadii(getLineStrokePoints(e,t,r),i),i)}function getLineDrawPath(e,t,r){return getSvgPathFromPoints(getLineDrawStrokeOutlinePoints(e,t,r))}function getLineIndicatorPath(e,t,r){return\\\"draw\\\"===e.props.dash?getSvgPathFromStrokePoints(getLineStrokePoints(e,t,r)):getSvgPathForLineGeometry(t)}init_esbuild_inject(),init_esbuild_inject();var handlesCache=new WeakMapCache,LineShapeUtil=class extends ShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"hideResizeHandles\\\",()=>!0),__publicField(this,\\\"hideRotateHandle\\\",()=>!0),__publicField(this,\\\"hideSelectionBoundsFg\\\",()=>!0),__publicField(this,\\\"hideSelectionBoundsBg\\\",()=>!0),__publicField(this,\\\"onResize\\\",(e,t)=>{const{scaleX:i,scaleY:n}=t,o=deepCopy(e.props.handles);return Object.values(e.props.handles).forEach(({id:e,x:t,y:r})=>{o[e].x=t*i,o[e].y=r*n}),{props:{handles:o}}}),__publicField(this,\\\"onHandleChange\\\",(e,{handle:t})=>{var r=deepCopy(e);switch(t.id){case\\\"start\\\":case\\\"end\\\":r.props.handles[t.id]={...r.props.handles[t.id],x:t.x,y:t.y};break;default:var i=\\\"handle:\\\"+t.index,n=e.props.handles[i];r.props.handles[i]=n?{...n,x:t.x,y:t.y}:{id:i,type:\\\"vertex\\\",canBind:!1,index:t.index,x:t.x,y:t.y}}return r})}getDefaultProps(){return{dash:\\\"draw\\\",size:\\\"m\\\",color:\\\"black\\\",spline:\\\"line\\\",handles:{start:{id:\\\"start\\\",type:\\\"vertex\\\",canBind:!1,canSnap:!0,index:\\\"a1\\\",x:0,y:0},end:{id:\\\"end\\\",type:\\\"vertex\\\",canBind:!1,canSnap:!0,index:\\\"a2\\\",x:.1,y:.1}}}}getGeometry(e){return getGeometryForLineShape(e)}getHandles(s){return handlesCache.get(s.props,()=>{var e=s.props.handles,t=getGeometryForLineShape(s),r=Object.values(e).sort(sortByIndex2),i=r.slice();for(let a=0;a\u003Ct.segments.length;a++){var n=t.segments[a].midPoint(),o=getIndexBetween(r[a].index,r[a+1].index);i.push({id:\\\"mid-\\\"+a,type:\\\"create\\\",index:o,x:n.x,y:n.y})}return i.sort(sortByIndex2)})}getOutlineSegments(e){return this.editor.getShapeGeometry(e).segments.map(e=>e.vertices)}component(e){var t,r,i=useDefaultColorTheme();const n=getGeometryForLineShape(e),o=STROKE_SIZES2[e.props.size],{dash:a,color:s}=e.props;if(\\\"line\\\"===e.props.spline){if(\\\"solid\\\"===a)return r=\\\"M\\\"+(r=n.points)[0]+\\\"L\\\"+r.slice(1),(0,import_jsx_runtime64.jsxs)(SVGContainer,{id:e.id,children:[(0,import_jsx_runtime64.jsx)(ShapeFill,{d:r,fill:\\\"none\\\",color:s,theme:i}),(0,import_jsx_runtime64.jsx)(\\\"path\\\",{d:r,stroke:i[s].solid,strokeWidth:o,fill:\\\"none\\\"})]});if(\\\"dashed\\\"===a||\\\"dotted\\\"===a)return r=\\\"M\\\"+(r=n.points)[0]+\\\"L\\\"+r.slice(1),(0,import_jsx_runtime64.jsxs)(SVGContainer,{id:e.id,children:[(0,import_jsx_runtime64.jsx)(ShapeFill,{d:r,fill:\\\"none\\\",color:s,theme:i}),(0,import_jsx_runtime64.jsx)(\\\"g\\\",{stroke:i[s].solid,strokeWidth:o,children:n.segments.map((e,t)=>{var{strokeDasharray:r,strokeDashoffset:i}=getPerfectDashProps2(e.length,o,{style:a,start:0\u003Ct?\\\"outset\\\":\\\"none\\\",end:t\u003Cn.segments.length-1?\\\"outset\\\":\\\"none\\\"});return(0,import_jsx_runtime64.jsx)(\\\"path\\\",{strokeDasharray:r,strokeDashoffset:i,d:getSvgPathForEdge(e,!0),fill:\\\"none\\\"},t)})})]});if(\\\"draw\\\"===a)return r=n.points,([r,t]=getDrawLinePathData(e.id,r,o)),(0,import_jsx_runtime64.jsxs)(SVGContainer,{id:e.id,children:[(0,import_jsx_runtime64.jsx)(ShapeFill,{d:r,fill:\\\"none\\\",color:s,theme:i}),(0,import_jsx_runtime64.jsx)(\\\"path\\\",{d:t,stroke:i[s].solid,strokeWidth:o,fill:\\\"none\\\"})]})}if(\\\"cubic\\\"===e.props.spline)return r=getSvgPathForLineGeometry(n),\\\"solid\\\"===a?(0,import_jsx_runtime64.jsxs)(SVGContainer,{id:e.id,children:[(0,import_jsx_runtime64.jsx)(ShapeFill,{d:r,fill:\\\"none\\\",color:s,theme:i}),(0,import_jsx_runtime64.jsx)(\\\"path\\\",{strokeWidth:o,stroke:i[s].solid,fill:\\\"none\\\",d:r})]}):\\\"dashed\\\"===a||\\\"dotted\\\"===a?(0,import_jsx_runtime64.jsxs)(SVGContainer,{id:e.id,children:[(0,import_jsx_runtime64.jsx)(ShapeFill,{d:r,fill:\\\"none\\\",color:s,theme:i}),(0,import_jsx_runtime64.jsx)(\\\"g\\\",{stroke:i[s].solid,strokeWidth:o,children:n.segments.map((e,t)=>{var{strokeDasharray:r,strokeDashoffset:i}=getPerfectDashProps2(e.length,o,{style:a,start:0\u003Ct?\\\"outset\\\":\\\"none\\\",end:t\u003Cn.segments.length-1?\\\"outset\\\":\\\"none\\\"});return(0,import_jsx_runtime64.jsx)(\\\"path\\\",{strokeDasharray:r,strokeDashoffset:i,d:getSvgPathForBezierCurve(e,!0),fill:\\\"none\\\"},t)})})]}):\\\"draw\\\"===a?(0,import_jsx_runtime64.jsxs)(SVGContainer,{id:e.id,children:[(0,import_jsx_runtime64.jsx)(ShapeFill,{d:r,fill:\\\"none\\\",color:s,theme:i}),(0,import_jsx_runtime64.jsx)(\\\"path\\\",{d:getLineDrawPath(e,n,o),strokeWidth:1,stroke:i[s].solid,fill:i[s].solid})]}):void 0}indicator(e){var t,r=STROKE_SIZES2[e.props.size],i=getGeometryForLineShape(e),n=e.props[\\\"dash\\\"];let o;return o=\\\"line\\\"===e.props.spline?(t=i.points,\\\"solid\\\"===n||\\\"dotted\\\"===n||\\\"dashed\\\"===n?\\\"M\\\"+t[0]+\\\"L\\\"+t.slice(1):(([n]=getDrawLinePathData(e.id,t,r)),n)):getLineIndicatorPath(e,i,r),(0,import_jsx_runtime64.jsx)(\\\"path\\\",{d:o})}toSvg(o){var t=getDefaultColorTheme({isDarkMode:this.editor.user.getIsDarkMode()})[o.props.color].solid,r=getGeometryForLineShape(o);const a=STROKE_SIZES2[o.props.size];switch(o.props.dash){case\\\"draw\\\":{let e;e=r instanceof CubicSpline2d?getLineDrawPath(o,r,a):(([i,n]=getDrawLinePathData(o.id,r.points,a)),n);var i,n=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\");return n.setAttribute(\\\"stroke-width\\\",a+\\\"px\\\"),n.setAttribute(\\\"stroke\\\",t),n.setAttribute(\\\"fill\\\",\\\"none\\\"),n.setAttribute(\\\"d\\\",e),n}case\\\"solid\\\":{let e;e=r instanceof CubicSpline2d?getSvgPathForCubicSpline(r,!1):\\\"M\\\"+(n=r.points)[0]+\\\"L\\\"+n.slice(1);n=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\");return n.setAttribute(\\\"stroke-width\\\",a+\\\"px\\\"),n.setAttribute(\\\"stroke\\\",t),n.setAttribute(\\\"fill\\\",\\\"none\\\"),n.setAttribute(\\\"d\\\",e),n}default:{const s=r[\\\"segments\\\"],l=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\"),c=(l.setAttribute(\\\"stroke\\\",t),l.setAttribute(\\\"stroke-width\\\",a.toString()),r instanceof CubicSpline2d?getSvgPathForBezierCurve:getSvgPathForEdge);return s.forEach((e,t)=>{var r=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\"),{strokeDasharray:i,strokeDashoffset:n}=getPerfectDashProps2(e.length,a,{style:o.props.dash,start:0\u003Ct?\\\"outset\\\":\\\"none\\\",end:t\u003Cs.length-1?\\\"outset\\\":\\\"none\\\"});r.setAttribute(\\\"stroke-dasharray\\\",i.toString()),r.setAttribute(\\\"stroke-dashoffset\\\",n.toString()),r.setAttribute(\\\"d\\\",c(e,!0)),r.setAttribute(\\\"fill\\\",\\\"none\\\"),l.appendChild(r)}),l}}}};function getGeometryForLineShape(e){var{spline:t,handles:r}=e.props,i=Object.values(r).sort(sortByIndex2).map(Vec.From);switch(t){case\\\"cubic\\\":return new CubicSpline2d({points:i});case\\\"line\\\":return new Polyline2d({points:i})}}__publicField(LineShapeUtil,\\\"type\\\",\\\"line\\\"),__publicField(LineShapeUtil,\\\"props\\\",lineShapeProps),__publicField(LineShapeUtil,\\\"migrations\\\",lineShapeMigrations),init_esbuild_inject();var import_jsx_runtime65=require(\\\"react/jsx-runtime\\\"),NOTE_SIZE=200,NoteShapeUtil=class extends ShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"canEdit\\\",()=>!0),__publicField(this,\\\"hideResizeHandles\\\",()=>!0),__publicField(this,\\\"hideSelectionBoundsFg\\\",()=>!0),__publicField(this,\\\"onBeforeCreate\\\",e=>getGrowY(this.editor,e,e.props.growY)),__publicField(this,\\\"onBeforeUpdate\\\",(e,t)=>{if(e.props.text!==t.props.text||e.props.font!==t.props.font||e.props.size!==t.props.size)return getGrowY(this.editor,t,e.props.growY)}),__publicField(this,\\\"onEditEnd\\\",e=>{var{id:t,type:r,props:{text:i}}=e;i.trimEnd()!==e.props.text&&this.editor.updateShapes([{id:t,type:r,props:{text:i.trimEnd()}}])})}getDefaultProps(){return{color:\\\"black\\\",size:\\\"m\\\",text:\\\"\\\",font:\\\"draw\\\",align:\\\"middle\\\",verticalAlign:\\\"middle\\\",growY:0,url:\\\"\\\"}}getHeight(e){return NOTE_SIZE+e.props.growY}getGeometry(e){var t=this.getHeight(e);return new Rectangle2d({width:NOTE_SIZE,height:t,isFilled:!0})}component(e){var{id:t,type:r,props:{color:i,font:n,size:o,align:a,text:s,verticalAlign:l}}=e,c=useDefaultColorTheme(),i=\\\"black\\\"===i?\\\"yellow\\\":i;return(0,import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment,{children:[(0,import_jsx_runtime65.jsx)(\\\"div\\\",{style:{position:\\\"absolute\\\",width:NOTE_SIZE,height:this.getHeight(e)},children:(0,import_jsx_runtime65.jsxs)(\\\"div\\\",{className:\\\"tl-note__container\\\",style:{color:c[i].solid,backgroundColor:c[i].solid},children:[(0,import_jsx_runtime65.jsx)(\\\"div\\\",{className:\\\"tl-note__scrim\\\"}),(0,import_jsx_runtime65.jsx)(TextLabel,{id:t,type:r,font:n,size:o,align:a,verticalAlign:l,text:s,labelColor:\\\"black\\\",wrap:!0})]})}),\\\"url\\\"in e.props&&e.props.url&&(0,import_jsx_runtime65.jsx)(HyperlinkButton,{url:e.props.url,zoomLevel:this.editor.getZoomLevel()})]})}indicator(e){return(0,import_jsx_runtime65.jsx)(\\\"rect\\\",{rx:\\\"7\\\",width:toDomPrecision(NOTE_SIZE),height:toDomPrecision(this.getHeight(e))})}toSvg(e,t){t.addExportDef(getFontDefForExport(e.props.font));var r=getDefaultColorTheme({isDarkMode:this.editor.user.getIsDarkMode()}),i=this.editor.getShapeGeometry(e).bounds,n=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\"),o=\\\"black\\\"===e.props.color?\\\"yellow\\\":e.props.color,a=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\"),o=(a.setAttribute(\\\"rx\\\",\\\"10\\\"),a.setAttribute(\\\"width\\\",NOTE_SIZE.toString()),a.setAttribute(\\\"height\\\",i.height.toString()),a.setAttribute(\\\"fill\\\",r[o].solid),a.setAttribute(\\\"stroke\\\",r[o].solid),a.setAttribute(\\\"stroke-width\\\",\\\"1\\\"),n.appendChild(a),document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\")),a=(o.setAttribute(\\\"rx\\\",\\\"10\\\"),o.setAttribute(\\\"width\\\",NOTE_SIZE.toString()),o.setAttribute(\\\"height\\\",i.height.toString()),o.setAttribute(\\\"fill\\\",r.background),o.setAttribute(\\\"opacity\\\",\\\".28\\\"),n.appendChild(o),getTextLabelSvgElement({editor:this.editor,shape:e,font:DefaultFontFamilies[e.props.font],bounds:i}));return a.setAttribute(\\\"fill\\\",r.text),a.setAttribute(\\\"stroke\\\",\\\"none\\\"),n.appendChild(a),n}};function getGrowY(e,t,r=0){var i=e.textMeasure.measureText(t.props.text,{...TEXT_PROPS,fontFamily:FONT_FAMILIES[t.props.font],fontSize:LABEL_FONT_SIZES[t.props.size],maxWidth:NOTE_SIZE-34}).h+34;let n=null;if(NOTE_SIZE\u003Ci?n=i-NOTE_SIZE:r&&(n=0),null!==n)return{...t,props:{...t.props,growY:n}}}__publicField(NoteShapeUtil,\\\"type\\\",\\\"note\\\"),__publicField(NoteShapeUtil,\\\"props\\\",noteShapeProps),__publicField(NoteShapeUtil,\\\"migrations\\\",noteShapeMigrations),init_esbuild_inject();var import_jsx_runtime66=require(\\\"react/jsx-runtime\\\");function resizeScaled(e,{initialBounds:t,scaleX:r,scaleY:i,newPoint:n}){var o=Math.max(.01,Math.min(Math.abs(r),Math.abs(i))),a=new Vec(0,0),{x:a,y:s}=(r\u003C0&&(a.x=-t.width*o),i\u003C0&&(a.y=-t.height*o),Vec.Add(n,a.rot(e.rotation)));return{x:a,y:s,props:{scale:o*e.props.scale}}}init_esbuild_inject();var sizeCache=new WeakMapCache,TextShapeUtil=class extends ShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"canEdit\\\",()=>!0),__publicField(this,\\\"isAspectRatioLocked\\\",()=>!0),__publicField(this,\\\"onResize\\\",(e,t)=>{var r,i,{initialBounds:n,initialShape:o,scaleX:a,handle:s}=t;return\\\"scale_shape\\\"===t.mode||\\\"right\\\"!==s&&\\\"left\\\"!==s?{id:e.id,type:e.type,...resizeScaled(e,t)}:(i=(n=n.width)*a,r=new Vec(0,0),i=Math.max(1,Math.abs(i)),({x:s,y:n}=(\\\"left\\\"===s?(r.x=n-i,a\u003C0&&(r.x+=i)):a\u003C0&&(r.x-=i),r.rot(e.rotation).add(o))),{id:e.id,type:e.type,x:s,y:n,props:{w:i/o.props.scale,autoSize:!1}})}),__publicField(this,\\\"onBeforeCreate\\\",e=>{var t;if(e.props.autoSize&&!e.props.text.trim())return t=this.getMinDimensions(e),{...e,x:e.x-t.width/2,y:e.y-t.height/2}}),__publicField(this,\\\"onEditEnd\\\",e=>{var{id:t,type:r,props:{text:i}}=e,n=e.props.text.trimEnd();0===n.length?this.editor.deleteShapes([e.id]):n!==e.props.text&&this.editor.updateShapes([{id:t,type:r,props:{text:i.trimEnd()}}])}),__publicField(this,\\\"onBeforeUpdate\\\",(t,r)=>{if(r.props.autoSize){var i=t.props.size!==r.props.size||t.props.align!==r.props.align||t.props.font!==r.props.font||1!==t.props.scale&&1===r.props.scale,n=t.props.text!==r.props.text;if(i||n){var i=this.getMinDimensions(t),o=getTextSize(this.editor,r.props),a=i.width*t.props.scale,s=i.height*t.props.scale,l=o.width*r.props.scale,c=o.height*r.props.scale;let e;switch(r.props.align){case\\\"middle\\\":e=new Vec((l-a)/2,n?0:(c-s)/2);break;case\\\"end\\\":e=new Vec(l-a,n?0:(c-s)/2);break;default:n||(e=new Vec(0,(c-s)/2))}return e?(e.rot(r.rotation),({x:i,y:o}=r),{...r,x:i-e.x,y:o-e.y,props:{...r.props,w:l}}):{...r,props:{...r.props,w:l}}}}}),__publicField(this,\\\"onDoubleClickEdge\\\",e=>e.props.autoSize?1!==e.props.scale?{id:e.id,type:e.type,props:{scale:1}}:void 0:{id:e.id,type:e.type,props:{autoSize:!0}})}getDefaultProps(){return{color:\\\"black\\\",size:\\\"m\\\",w:8,text:\\\"\\\",font:\\\"draw\\\",align:\\\"middle\\\",autoSize:!0,scale:1}}getMinDimensions(e){return sizeCache.get(e.props,e=>getTextSize(this.editor,e))}getGeometry(e){var t=e.props[\\\"scale\\\"],{width:r,height:i}=this.getMinDimensions(e);return new Rectangle2d({width:r*t,height:i*t,isFilled:!0})}component(e){var{id:t,type:r,props:{text:i,color:n}}=e,o=getDefaultColorTheme({isDarkMode:this.editor.user.getIsDarkMode()}),{width:a,height:s}=this.getMinDimensions(e),{rInput:t,isEmpty:r,isEditing:l,handleFocus:c,handleChange:d,handleKeyDown:u,handleBlur:p,handleInputPointerDown:h,handleDoubleClick:m}=useEditableText(t,r,i);return(0,import_jsx_runtime66.jsx)(HTMLContainer,{id:e.id,children:(0,import_jsx_runtime66.jsxs)(\\\"div\\\",{className:\\\"tl-text-shape__wrapper tl-text-shadow\\\",\\\"data-font\\\":e.props.font,\\\"data-align\\\":e.props.align,\\\"data-hastext\\\":!r,\\\"data-isediting\\\":l,\\\"data-textwrap\\\":!0,style:{fontSize:FONT_SIZES[e.props.size],lineHeight:FONT_SIZES[e.props.size]*TEXT_PROPS.lineHeight+\\\"px\\\",transform:`scale(${e.props.scale})`,transformOrigin:\\\"top left\\\",width:Math.max(1,a),height:Math.max(FONT_SIZES[e.props.size]*TEXT_PROPS.lineHeight,s),color:o[n].solid},children:[(0,import_jsx_runtime66.jsx)(\\\"div\\\",{className:\\\"tl-text tl-text-content\\\",dir:\\\"ltr\\\",children:i}),l?(0,import_jsx_runtime66.jsx)(\\\"textarea\\\",{ref:t,className:\\\"tl-text tl-text-input\\\",name:\\\"text\\\",tabIndex:-1,autoComplete:\\\"false\\\",autoCapitalize:\\\"false\\\",autoCorrect:\\\"false\\\",autoSave:\\\"false\\\",autoFocus:l,placeholder:\\\"\\\",spellCheck:\\\"true\\\",wrap:\\\"off\\\",dir:\\\"ltr\\\",datatype:\\\"wysiwyg\\\",defaultValue:i,onFocus:c,onChange:d,onKeyDown:u,onBlur:p,onTouchEnd:stopEventPropagation,onContextMenu:stopEventPropagation,onPointerDown:h,onDoubleClick:m}):null]})})}indicator(e){var t=this.editor.getShapeGeometry(e).bounds,r=useEditor();return e.props.autoSize&&r.getEditingShapeId()===e.id?null:(0,import_jsx_runtime66.jsx)(\\\"rect\\\",{width:toDomPrecision(t.width),height:toDomPrecision(t.height)})}toSvg(e,t){t.addExportDef(getFontDefForExport(e.props.font));var r=getDefaultColorTheme({isDarkMode:this.editor.user.getIsDarkMode()}),i=this.editor.getShapeGeometry(e).bounds,n=e.props.text,o=i.width/(null!=(o=e.props.scale)?o:1),i=i.height/(null!=(i=e.props.scale)?i:1),o={fontSize:FONT_SIZES[e.props.size],fontFamily:DefaultFontFamilies[e.props.font],textAlign:e.props.align,verticalTextAlign:\\\"middle\\\",width:o,height:i,padding:0,lineHeight:TEXT_PROPS.lineHeight,fontStyle:\\\"normal\\\",fontWeight:\\\"normal\\\",overflow:\\\"wrap\\\"},i=r[e.props.color].solid,a=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\"),n=createTextSvgElementFromSpans(this.editor,this.editor.textMeasure.measureTextSpans(n,o),{...o,stroke:r.background,strokeWidth:2,fill:r.background,padding:0}),o=n.cloneNode(!0);return o.setAttribute(\\\"fill\\\",i),o.setAttribute(\\\"stroke\\\",\\\"none\\\"),a.append(n),a.append(o),a}};function getTextSize(e,t){var{font:r,text:i,autoSize:n,size:o,w:a}=t,s=n?16:Math.max(16,a),o=FONT_SIZES[o],a=n?null:Math.floor(Math.max(s,a)),i=e.textMeasure.measureText(i,{...TEXT_PROPS,fontFamily:FONT_FAMILIES[r],fontSize:o,maxWidth:a});return n&&(i.w+=1),{width:Math.max(s,i.w),height:Math.max(o,i.h)}}__publicField(TextShapeUtil,\\\"type\\\",\\\"text\\\"),__publicField(TextShapeUtil,\\\"props\\\",textShapeProps),__publicField(TextShapeUtil,\\\"migrations\\\",textShapeMigrations),init_esbuild_inject();var import_jsx_runtime67=require(\\\"react/jsx-runtime\\\"),import_react51=__toESM(require(\\\"react\\\"),1),VideoShapeUtil=class extends BaseBoxShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"canEdit\\\",()=>!0),__publicField(this,\\\"isAspectRatioLocked\\\",()=>!0)}getDefaultProps(){return{w:100,h:100,assetId:null,time:0,playing:!0,url:\\\"\\\"}}component(e){return(0,import_jsx_runtime67.jsx)(TLVideoUtilComponent,{shape:e,videoUtil:this})}indicator(e){return(0,import_jsx_runtime67.jsx)(\\\"rect\\\",{width:toDomPrecision(e.props.w),height:toDomPrecision(e.props.h)})}toSvg(e){var t=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\"),r=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"image\\\");return r.setAttributeNS(\\\"http://www.w3.org/1999/xlink\\\",\\\"href\\\",serializeVideo(e.id)),r.setAttribute(\\\"width\\\",e.props.w.toString()),r.setAttribute(\\\"height\\\",e.props.h.toString()),t.appendChild(r),t}};function serializeVideo(e){var t,r=e.split(\\\":\\\")[1],i=document.querySelector(\\\".tl-video-shape-\\\"+r);if(i)return(t=document.createElement(\\\"canvas\\\")).width=i.videoWidth,t.height=i.videoHeight,t.getContext(\\\"2d\\\").drawImage(i,0,0),t.toDataURL(\\\"image/png\\\");throw new Error(\\\"Video with id \\\"+r+\\\" not found\\\")}__publicField(VideoShapeUtil,\\\"type\\\",\\\"video\\\"),__publicField(VideoShapeUtil,\\\"props\\\",videoShapeProps),__publicField(VideoShapeUtil,\\\"migrations\\\",videoShapeMigrations);var TLVideoUtilComponent=track(function TLVideoUtilComponent2(e){const{shape:r,videoUtil:i}=e;var t=110\u003C=i.editor.getShapeGeometry(r).bounds.w*i.editor.getZoomLevel(),n=r.props.assetId?i.editor.getAsset(r.props.assetId):null;const{time:o,playing:a}=r.props,s=useIsEditing(r.id),l=usePrefersReducedMotion(),c=import_react51[\\\"default\\\"].useRef(null);var d=import_react51[\\\"default\\\"].useCallback(e=>{var t=e.currentTarget;i.editor.updateShapes([{type:\\\"video\\\",id:r.id,props:{playing:!0,time:t.currentTime}}])},[r.id,i.editor]),u=import_react51[\\\"default\\\"].useCallback(e=>{var t=e.currentTarget;i.editor.updateShapes([{type:\\\"video\\\",id:r.id,props:{playing:!1,time:t.currentTime}}])},[r.id,i.editor]),p=import_react51[\\\"default\\\"].useCallback(e=>{var t=e.currentTarget;s&&i.editor.updateShapes([{type:\\\"video\\\",id:r.id,props:{time:t.currentTime}}])},[s,r.id,i.editor]);const[h,m]=import_react51[\\\"default\\\"].useState(!1);var g=import_react51[\\\"default\\\"].useCallback(e=>{var t=e.currentTarget;o!==t.currentTime&&(t.currentTime=o),a||t.pause(),m(!0)},[a,o]);return import_react51[\\\"default\\\"].useEffect(()=>{var e=c.current;e&&(h&&!s&&o!==e.currentTime&&(e.currentTime=o),s)&&document.activeElement!==e&&e.focus()},[s,h,o]),import_react51[\\\"default\\\"].useEffect(()=>{var e;l&&((e=c.current).pause(),e.currentTime=0)},[c,l]),(0,import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment,{children:[(0,import_jsx_runtime67.jsx)(HTMLContainer,{id:r.id,children:(0,import_jsx_runtime67.jsx)(\\\"div\\\",{className:\\\"tl-counter-scaled\\\",children:null!=n&&n.props.src?(0,import_jsx_runtime67.jsx)(\\\"video\\\",{ref:c,style:s?{pointerEvents:\\\"all\\\"}:void 0,className:\\\"tl-video tl-video-shape-\\\"+r.id.split(\\\":\\\")[1],width:\\\"100%\\\",height:\\\"100%\\\",draggable:!1,playsInline:!0,autoPlay:!0,muted:!0,loop:!0,disableRemotePlayback:!0,disablePictureInPicture:!0,controls:s&&t,onPlay:d,onPause:u,onTimeUpdate:p,onLoadedData:g,hidden:!h,children:(0,import_jsx_runtime67.jsx)(\\\"source\\\",{src:n.props.src})}):null})}),\\\"url\\\"in r.props&&r.props.url&&(0,import_jsx_runtime67.jsx)(HyperlinkButton,{url:r.props.url,zoomLevel:i.editor.getZoomLevel()})]})}),defaultShapeUtils=[TextShapeUtil,BookmarkShapeUtil,DrawShapeUtil,GeoShapeUtil,NoteShapeUtil,LineShapeUtil,FrameShapeUtil,ArrowShapeUtil,HighlightShapeUtil,EmbedShapeUtil,ImageShapeUtil,VideoShapeUtil];function registerDefaultSideEffects(i){return[i.sideEffects.registerAfterChangeHandler(\\\"instance\\\",(e,t)=>{e.isFocused!==t.isFocused&&(t.isFocused?i.getContainer().focus():(i.complete(),i.getContainer().blur()),i.updateViewportScreenBounds())}),i.sideEffects.registerAfterChangeHandler(\\\"instance_page_state\\\",(e,t)=>{var r;e.croppingShapeId!==t.croppingShapeId&&(r=i.isInAny(\\\"select.crop\\\",\\\"select.pointing_crop_handle\\\",\\\"select.cropping\\\"),!e.croppingShapeId&&t.croppingShapeId?r||i.setCurrentTool(\\\"select.crop.idle\\\"):e.croppingShapeId&&!t.croppingShapeId&&r&&i.setCurrentTool(\\\"select.idle\\\")),e.editingShapeId!==t.editingShapeId&&(!e.editingShapeId&&t.editingShapeId?i.isIn(\\\"select.editing_shape\\\")||i.setCurrentTool(\\\"select.editing_shape\\\"):e.editingShapeId&&!t.editingShapeId&&i.isIn(\\\"select.editing_shape\\\")&&i.setCurrentTool(\\\"select.idle\\\"))})]}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var Erasing=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"scribbleId\\\",\\\"id\\\"),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"excludedShapeIds\\\",new Set),__publicField(this,\\\"onEnter\\\",e=>{this.markId=\\\"erase scribble begin\\\",this.editor.mark(this.markId),this.info=e;const r=this.editor.inputs[\\\"originPagePoint\\\"];this.excludedShapeIds=new Set(this.editor.getCurrentPageShapes().filter(e=>{var t;return!!this.editor.isShapeOrAncestorLocked(e)||!(!this.editor.isShapeOfType(e,\\\"group\\\")&&!this.editor.isShapeOfType(e,\\\"frame\\\"))&&(t=this.editor.getPointInShapeSpace(e,r),this.editor.getShapeGeometry(e).bounds.containsPoint(t))}).map(e=>e.id));var t=this.editor.scribbles.addScribble({color:\\\"muted-1\\\",size:12});this.scribbleId=t.id,this.update()}),__publicField(this,\\\"pushPointToScribble\\\",()=>{var{x:e,y:t}=this.editor.inputs.currentPagePoint;this.editor.scribbles.addPoint(this.scribbleId,e,t)}),__publicField(this,\\\"onExit\\\",()=>{this.editor.scribbles.stop(this.scribbleId)}),__publicField(this,\\\"onPointerMove\\\",()=>{this.update()}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()})}update(){var e=this.editor.getErasingShapeIds(),t=this.editor.getZoomLevel(),r=this.editor.getCurrentPageShapes(),{currentPagePoint:i,previousPagePoint:n}=this.editor[\\\"inputs\\\"];const o=this[\\\"excludedShapeIds\\\"];this.pushPointToScribble();var a,s,l,c=new Set(e);for(const d of r)this.editor.isShapeOfType(d,\\\"group\\\")||(a=this.editor.getShapeMask(d.id))&&!pointInPolygon(i,a)||(a=this.editor.getShapeGeometry(d),s=this.editor.getPointInShapeSpace(d,n),l=this.editor.getPointInShapeSpace(d,i),a.hitTestLineSegment(s,l,HIT_TEST_MARGIN/t)&&c.add(this.editor.getOutermostSelectableShape(d).id));this.editor.setErasingShapes([...c].filter(e=>!o.has(e)))}complete(){this.editor.deleteShapes(this.editor.getCurrentPageState().erasingShapeIds),this.editor.setErasingShapes([]),this.parent.transition(\\\"idle\\\")}cancel(){this.editor.setErasingShapes([]),this.editor.bailToMark(this.markId),this.parent.transition(\\\"idle\\\",this.info)}},Idle8=(__publicField(Erasing,\\\"id\\\",\\\"erasing\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onPointerDown\\\",e=>{this.parent.transition(\\\"pointing\\\",e)}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")})}}),Pointing7=(__publicField(Idle8,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onEnter\\\",()=>{var e=this.editor.getZoomLevel(),t=this.editor.getCurrentPageShapesSorted(),r=this.editor[\\\"inputs\\\"][\\\"currentPagePoint\\\"],i=new Set,n=i.size;for(let a=t.length,s=a-1;0\u003C=s;s--){var o=t[s];if(!this.editor.isShapeOrAncestorLocked(o)&&!this.editor.isShapeOfType(o,\\\"group\\\")&&this.editor.isPointInShape(o,r,{hitInside:!1,margin:HIT_TEST_MARGIN/e})){o=this.editor.getOutermostSelectableShape(o);if(this.editor.isShapeOfType(o,\\\"frame\\\")&&i.size>n)break;i.add(o.id)}}this.editor.setErasingShapes([...i])}),__publicField(this,\\\"onPointerMove\\\",e=>{this.editor.inputs.isDragging&&this.parent.transition(\\\"erasing\\\",e)}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()})}complete(){var e=this.editor.getErasingShapeIds();e.length&&(this.editor.mark(\\\"erase end\\\"),this.editor.deleteShapes(e)),this.editor.setErasingShapes([]),this.parent.transition(\\\"idle\\\")}cancel(){this.editor.setErasingShapes([]),this.parent.transition(\\\"idle\\\")}}),EraserTool=(__publicField(Pointing7,\\\"id\\\",\\\"pointing\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})})}}),Dragging=(__publicField(EraserTool,\\\"id\\\",\\\"eraser\\\"),__publicField(EraserTool,\\\"initial\\\",\\\"idle\\\"),__publicField(EraserTool,\\\"children\\\",()=>[Idle8,Pointing7,Erasing]),init_esbuild_inject(),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onEnter\\\",()=>{this.update()}),__publicField(this,\\\"onPointerMove\\\",()=>{this.update()}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.complete()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()})}update(){var{currentScreenPoint:e,previousScreenPoint:t}=this.editor.inputs,e=Vec.Sub(e,t);(0\u003CMath.abs(e.x)||0\u003CMath.abs(e.y))&&this.editor.pan(e)}complete(){this.editor.slideCamera({speed:Math.min(2,this.editor.inputs.pointerVelocity.len()),direction:this.editor.inputs.pointerVelocity,friction:CAMERA_SLIDE_FRICTION}),this.parent.transition(\\\"idle\\\")}}),Idle9=(__publicField(Dragging,\\\"id\\\",\\\"dragging\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"grab\\\",rotation:0})}),__publicField(this,\\\"onPointerDown\\\",e=>{this.parent.transition(\\\"pointing\\\",e)}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")})}}),Pointing8=(__publicField(Idle9,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onEnter\\\",()=>{this.editor.stopCameraAnimation(),this.editor.updateInstanceState({cursor:{type:\\\"grabbing\\\",rotation:0}},{ephemeral:!0})}),__publicField(this,\\\"onPointerMove\\\",e=>{this.editor.inputs.isDragging&&this.parent.transition(\\\"dragging\\\",e)}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.complete()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.complete()})}complete(){this.parent.transition(\\\"idle\\\")}}),HandTool=(__publicField(Pointing8,\\\"id\\\",\\\"pointing\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onDoubleClick\\\",e=>{var t;\\\"settle\\\"===e.phase&&(t=this.editor.inputs[\\\"currentScreenPoint\\\"],this.editor.zoomIn(t,{duration:220,easing:EASINGS.easeOutQuint}))}),__publicField(this,\\\"onTripleClick\\\",e=>{var t;\\\"settle\\\"===e.phase&&(t=this.editor.inputs[\\\"currentScreenPoint\\\"],this.editor.zoomOut(t,{duration:320,easing:EASINGS.easeOutQuint}))}),__publicField(this,\\\"onQuadrupleClick\\\",e=>{var t,r;\\\"settle\\\"===e.phase&&(t=this.editor.getZoomLevel(),({currentScreenPoint:r}=this.editor[\\\"inputs\\\"]),1===t?this.editor.zoomToFit({duration:400,easing:EASINGS.easeOutQuint}):this.editor.resetZoom(r,{duration:320,easing:EASINGS.easeOutQuint}))})}}),Idle10=(__publicField(HandTool,\\\"id\\\",\\\"hand\\\"),__publicField(HandTool,\\\"initial\\\",\\\"idle\\\"),__publicField(HandTool,\\\"children\\\",()=>[Idle9,Pointing8,Dragging]),init_esbuild_inject(),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onPointerDown\\\",e=>{this.parent.transition(\\\"lasering\\\",e)})}}),Lasering=(__publicField(Idle10,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"scribbleId\\\",\\\"id\\\"),__publicField(this,\\\"onEnter\\\",()=>{var e=this.editor.scribbles.addScribble({color:\\\"laser\\\",opacity:.7,size:4,delay:1200,shrink:.05,taper:!0});this.scribbleId=e.id,this.pushPointToScribble()}),__publicField(this,\\\"onExit\\\",()=>{this.editor.scribbles.stop(this.scribbleId)}),__publicField(this,\\\"onPointerMove\\\",()=>{this.pushPointToScribble()}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"pushPointToScribble\\\",()=>{var{x:e,y:t}=this.editor.inputs.currentPagePoint;this.editor.scribbles.addPoint(this.scribbleId,e,t)}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()})}complete(){this.parent.transition(\\\"idle\\\")}cancel(){this.parent.transition(\\\"idle\\\")}}),LaserTool=(__publicField(Lasering,\\\"id\\\",\\\"lasering\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})})}}),Brushing=(__publicField(LaserTool,\\\"id\\\",\\\"laser\\\"),__publicField(LaserTool,\\\"initial\\\",\\\"idle\\\"),__publicField(LaserTool,\\\"children\\\",()=>[Idle10,Lasering]),init_esbuild_inject(),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"brush\\\",new Box),__publicField(this,\\\"initialSelectedShapeIds\\\",[]),__publicField(this,\\\"excludedShapeIds\\\",new Set),__publicField(this,\\\"initialStartShape\\\",null),__publicField(this,\\\"onEnter\\\",e=>{var{altKey:t,currentPagePoint:r}=this.editor.inputs;t?this.parent.transition(\\\"scribble_brushing\\\",e):(this.excludedShapeIds=new Set(this.editor.getCurrentPageShapes().filter(e=>this.editor.isShapeOfType(e,\\\"group\\\")||this.editor.isShapeOrAncestorLocked(e)).map(e=>e.id)),this.info=e,this.initialSelectedShapeIds=this.editor.getSelectedShapeIds().slice(),this.initialStartShape=this.editor.getShapesAtPoint(r)[0],this.onPointerMove())}),__publicField(this,\\\"onExit\\\",()=>{this.initialSelectedShapeIds=[],this.editor.updateInstanceState({brush:null})}),__publicField(this,\\\"onTick\\\",()=>{moveCameraWhenCloseToEdge(this.editor)}),__publicField(this,\\\"onPointerMove\\\",()=>{this.hitTestShapes()}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",e=>{this.editor.setSelectedShapes(this.initialSelectedShapeIds,{squashing:!0}),this.parent.transition(\\\"idle\\\",e)}),__publicField(this,\\\"onKeyDown\\\",e=>{this.editor.inputs.altKey?this.parent.transition(\\\"scribble_brushing\\\",e):this.hitTestShapes()}),__publicField(this,\\\"onKeyUp\\\",()=>{this.hitTestShapes()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.editor.updateInstanceState({brush:null})})}complete(){this.parent.transition(\\\"idle\\\")}hitTestShapes(){var t,r,i,e,n,o=this.editor.getZoomLevel(),a=this.editor.getCurrentPageShapes(),s=this.editor.getCurrentPageId(),{originPagePoint:l,currentPagePoint:c,shiftKey:d,ctrlKey:u}=this.editor[\\\"inputs\\\"],p=(this.brush.setTo(Box.FromPoints([l,c])),new Set(d?this.initialSelectedShapeIds:[])),h=this.brush[\\\"corners\\\"],m=this[\\\"excludedShapeIds\\\"];for(let f=0,b=a.length;f\u003Cb;f++)if(i=a[f],!m.has(i.id)&&!p.has(i.id)&&(e=this.editor.getShapePageBounds(i)))if(this.brush.contains(e))this.handleHit(i,c,s,p,h);else if(!u&&!this.editor.isShapeOfType(i,\\\"frame\\\")&&this.brush.collides(e)){var g,_=this.editor.getShapeGeometry(i);if(g=this.editor.getShapePageTransform(i)){n=g.clone().invert().applyToPoints(h);for(let e=0;e\u003Cn.length;e++)if(t=n[e],r=n[(e+1)%n.length],_.hitTestLineSegment(t,r,HIT_TEST_MARGIN/o)){this.handleHit(i,c,s,p,h);break}}}this.editor.updateInstanceState({brush:{...this.brush.toJson()}}),this.editor.setSelectedShapes(Array.from(p),{squashing:!0})}handleHit(e,t,r,i,n){var o,a;e.parentId===r?i.add(e.id):(o=this.editor.getOutermostSelectableShape(e),(a=this.editor.getShapeMask(o.id))&&!polygonsIntersect(a,n)&&!pointInPolygon(t,a)||i.add(o.id))}});function getHitShapeOnCanvasPointerDown(e){var t=e.getZoomLevel(),r=e[\\\"inputs\\\"][\\\"currentPagePoint\\\"];return null!=(t=e.getShapeAtPoint(r,{hitInside:!1,hitLabels:!1,margin:HIT_TEST_MARGIN/t,renderingOnly:!0}))?t:e.getSelectedShapeAtPoint(r)}function getTranslateCroppedImageChange(e,t,r){if(!t)throw Error(\\\"Needs to translate a cropped shape!\\\");var i,n,o,a,s=t.props[\\\"crop\\\"];if(s)return\\\"x\\\"===(i=e.inputs.shiftKey?Math.abs(r.x)\u003CMath.abs(r.y)?\\\"x\\\":\\\"y\\\":null)?r.x=0:\\\"y\\\"===i&&(r.y=0),r.rot(-t.rotation),i=1/(s.bottomRight.x-s.topLeft.x)*t.props.w,n=1/(s.bottomRight.y-s.topLeft.y)*t.props.h,o=s.bottomRight.y-s.topLeft.y,a=s.bottomRight.x-s.topLeft.x,(s=deepCopy(s)).topLeft.x=Math.min(1-a,Math.max(0,s.topLeft.x-r.x/i)),s.topLeft.y=Math.min(1-o,Math.max(0,s.topLeft.y-r.y/n)),s.bottomRight.x=s.topLeft.x+a,s.bottomRight.y=s.topLeft.y+o,{id:t.id,type:t.type,props:{crop:s}}}__publicField(Brushing,\\\"id\\\",\\\"brushing\\\"),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var Idle11=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onEnter\\\",()=>{this.editor.updateInstanceState({cursor:{type:\\\"default\\\",rotation:0}},{ephemeral:!0});var e=this.editor.getOnlySelectedShape();this.editor.on(\\\"change-history\\\",this.cleanupCroppingState),e&&(this.editor.mark(\\\"crop\\\"),this.editor.setCroppingShape(e.id))}),__publicField(this,\\\"onExit\\\",()=>{this.editor.updateInstanceState({cursor:{type:\\\"default\\\",rotation:0}},{ephemeral:!0}),this.editor.off(\\\"change-history\\\",this.cleanupCroppingState)}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCroppingShape(null),this.editor.setCurrentTool(\\\"select.idle\\\",{})}),__publicField(this,\\\"onPointerDown\\\",e=>{if(!this.editor.getIsMenuOpen())if(e.ctrlKey)this.cancel(),this.editor.root.handleEvent(e);else switch(e.target){case\\\"canvas\\\":var t=getHitShapeOnCanvasPointerDown(this.editor);if(t&&!this.editor.isShapeOfType(t,\\\"group\\\"))return void this.onPointerDown({...e,shape:t,target:\\\"shape\\\"});this.cancel(),this.editor.root.handleEvent(e);break;case\\\"shape\\\":if(e.shape.id===this.editor.getCroppingShapeId())return void this.editor.setCurrentTool(\\\"select.crop.pointing_crop\\\",e);null!=(t=this.editor.getShapeUtil(e.shape))&&t.canCrop(e.shape)?(this.editor.setCroppingShape(e.shape.id),this.editor.setSelectedShapes([e.shape.id]),this.editor.setCurrentTool(\\\"select.crop.pointing_crop\\\",e)):(this.cancel(),this.editor.root.handleEvent(e));break;case\\\"selection\\\":switch(e.handle){case\\\"mobile_rotate\\\":case\\\"top_left_rotate\\\":case\\\"top_right_rotate\\\":case\\\"bottom_left_rotate\\\":case\\\"bottom_right_rotate\\\":this.editor.setCurrentTool(\\\"select.pointing_rotate_handle\\\",{...e,onInteractionEnd:\\\"select.crop\\\"});break;case\\\"top\\\":case\\\"right\\\":case\\\"bottom\\\":case\\\"left\\\":this.editor.setCurrentTool(\\\"select.pointing_crop_handle\\\",{...e,onInteractionEnd:\\\"select.crop\\\"});break;case\\\"top_left\\\":case\\\"top_right\\\":case\\\"bottom_left\\\":case\\\"bottom_right\\\":this.editor.setCurrentTool(\\\"select.pointing_crop_handle\\\",{...e,onInteractionEnd:\\\"select.crop\\\"});break;default:this.cancel()}}}),__publicField(this,\\\"onDoubleClick\\\",e=>{var t,r,i;this.editor.inputs.shiftKey||\\\"up\\\"!==e.phase||(r=this.editor.getCroppingShapeId())&&(r=this.editor.getShape(r))&&(i=this.editor.getShapeUtil(r))&&\\\"selection\\\"===e.target&&null!=(t=i.onDoubleClickEdge)&&t.call(i,r)}),__publicField(this,\\\"onKeyDown\\\",()=>{this.nudgeCroppingImage(!1)}),__publicField(this,\\\"onKeyRepeat\\\",()=>{this.nudgeCroppingImage(!0)}),__publicField(this,\\\"onKeyUp\\\",e=>{\\\"Enter\\\"===e.code&&(this.editor.setCroppingShape(null),this.editor.setCurrentTool(\\\"select.idle\\\",{}))}),__publicField(this,\\\"cleanupCroppingState\\\",()=>{this.editor.getCroppingShapeId()||this.editor.setCurrentTool(\\\"select.idle\\\",{})})}cancel(){this.editor.setCroppingShape(null),this.editor.setCurrentTool(\\\"select.idle\\\",{})}nudgeCroppingImage(e=!1){var{keys:t}=this[\\\"editor\\\"][\\\"inputs\\\"],r=t.has(\\\"ShiftLeft\\\"),i=new Vec(0,0);t.has(\\\"ArrowLeft\\\")&&(i.x+=1),t.has(\\\"ArrowRight\\\")&&--i.x,t.has(\\\"ArrowUp\\\")&&(i.y+=1),t.has(\\\"ArrowDown\\\")&&--i.y,i.equals(new Vec(0,0))||(r&&i.mul(10),(t=this.editor.getShape(this.editor.getCroppingShapeId()))&&(r=getTranslateCroppedImageChange(this.editor,t,i))&&(e||this.editor.mark(\\\"translate crop\\\"),this.editor.updateShapes([r])))}},PointingCrop=(__publicField(Idle11,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select.crop.idle\\\",{})}),__publicField(this,\\\"onPointerMove\\\",e=>{this.editor.inputs.isDragging&&this.editor.setCurrentTool(\\\"select.crop.translating_crop\\\",e)}),__publicField(this,\\\"onPointerUp\\\",e=>{this.editor.setCurrentTool(\\\"select.crop.idle\\\",e)})}}),TranslatingCrop=(__publicField(PointingCrop,\\\"id\\\",\\\"pointing_crop\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"markId\\\",\\\"translating crop\\\"),__publicField(this,\\\"snapshot\\\",{}),__publicField(this,\\\"onEnter\\\",e=>{this.info=e,this.snapshot=this.createSnapshot(),this.editor.mark(this.markId),this.editor.setCursor({type:\\\"move\\\",rotation:0}),this.updateShapes()}),__publicField(this,\\\"onExit\\\",()=>{this.editor.updateInstanceState({cursor:{type:\\\"default\\\",rotation:0}},{ephemeral:!0})}),__publicField(this,\\\"onPointerMove\\\",()=>{this.updateShapes()}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onKeyDown\\\",e=>{switch(e.key){case\\\"Alt\\\":case\\\"Shift\\\":this.updateShapes()}}),__publicField(this,\\\"onKeyUp\\\",e=>{switch(e.key){case\\\"Enter\\\":return void this.complete();case\\\"Alt\\\":case\\\"Shift\\\":this.updateShapes()}})}complete(){this.updateShapes(),this.editor.setCurrentTool(\\\"select.crop.idle\\\",this.info)}cancel(){this.editor.bailToMark(this.markId),this.editor.setCurrentTool(\\\"select.crop.idle\\\",this.info)}createSnapshot(){return{shape:this.editor.getOnlySelectedShape()}}updateShapes(){var e,t,r=this.snapshot.shape;r&&(({originPagePoint:t,currentPagePoint:e}=this.editor.inputs),e=e.clone().sub(t),t=getTranslateCroppedImageChange(this.editor,r,e))&&this.editor.updateShapes([t],{squashing:!0})}}),Crop=(__publicField(TranslatingCrop,\\\"id\\\",\\\"translating_crop\\\"),class extends StateNode{}),MIN_CROP_SIZE=(__publicField(Crop,\\\"id\\\",\\\"crop\\\"),__publicField(Crop,\\\"initial\\\",\\\"idle\\\"),__publicField(Crop,\\\"children\\\",()=>[Idle11,TranslatingCrop,PointingCrop]),init_esbuild_inject(),init_esbuild_inject(),8),CursorTypeMap=(init_esbuild_inject(),{bottom:\\\"ns-resize\\\",top:\\\"ns-resize\\\",left:\\\"ew-resize\\\",right:\\\"ew-resize\\\",bottom_left:\\\"nesw-resize\\\",bottom_right:\\\"nwse-resize\\\",top_left:\\\"nwse-resize\\\",top_right:\\\"nesw-resize\\\",bottom_left_rotate:\\\"swne-rotate\\\",bottom_right_rotate:\\\"senw-rotate\\\",top_left_rotate:\\\"nwse-rotate\\\",top_right_rotate:\\\"nesw-rotate\\\",mobile_rotate:\\\"grabbing\\\"}),PointingResizeHandle=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"onEnter\\\",e=>{this.info=e,this.updateCursor()}),__publicField(this,\\\"onPointerMove\\\",()=>{this.editor.inputs.isDragging&&this.parent.transition(\\\"resizing\\\",this.info)}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.cancel()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()})}updateCursor(){var e=this.editor.getSelectedShapes(),t=CursorTypeMap[this.info.handle];this.editor.updateInstanceState({cursor:{type:t,rotation:1===e.length?e[0].rotation:0}})}complete(){this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd,{}):this.parent.transition(\\\"idle\\\")}cancel(){this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd,{}):this.parent.transition(\\\"idle\\\")}},Cropping=(__publicField(PointingResizeHandle,\\\"id\\\",\\\"pointing_resize_handle\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"snapshot\\\",{}),__publicField(this,\\\"onEnter\\\",e=>{this.info=e,this.markId=\\\"cropping\\\",this.editor.mark(this.markId),this.snapshot=this.createSnapshot(),this.updateShapes()}),__publicField(this,\\\"onPointerMove\\\",()=>{this.updateShapes()}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"getDefaultCrop\\\",()=>({topLeft:{x:0,y:0},bottomRight:{x:1,y:1}}))}updateCursor(){var e,t=this.editor.getSelectedShapes()[0];t&&(e=CursorTypeMap[this.info.handle],this.editor.updateInstanceState({cursor:{type:e,rotation:t.rotation}}))}updateShapes(){var{shape:t,cursorHandleOffset:r}=this.snapshot;if(t&&this.editor.getShapeUtil(\\\"image\\\")){var i=t.props,n=this.editor.inputs.currentPagePoint.clone().sub(r),r=this.editor.inputs.originPagePoint.clone().sub(r),o=n.clone().sub(r).rot(-t.rotation),a=null!=(n=i.crop)?n:this.getDefaultCrop(),s=deepCopy(a),r=new Vec(t.x,t.y),l=new Vec(0,0),c=1/(a.bottomRight.x-a.topLeft.x)*i.w,d=1/(a.bottomRight.y-a.topLeft.y)*i.h;let e=!1;switch(this.info.handle){case\\\"top\\\":case\\\"top_left\\\":case\\\"top_right\\\":d\u003CMIN_CROP_SIZE||(e=!0,s.topLeft.y=s.topLeft.y+o.y/d,d*(s.bottomRight.y-s.topLeft.y)\u003CMIN_CROP_SIZE?(s.topLeft.y=s.bottomRight.y-MIN_CROP_SIZE/d,l.y=(s.topLeft.y-a.topLeft.y)*d):s.topLeft.y\u003C=0?(s.topLeft.y=0,l.y=(s.topLeft.y-a.topLeft.y)*d):l.y=o.y);break;case\\\"bottom\\\":case\\\"bottom_left\\\":case\\\"bottom_right\\\":d\u003CMIN_CROP_SIZE||(e=!0,s.bottomRight.y=Math.min(1,s.bottomRight.y+o.y/d),d*(s.bottomRight.y-s.topLeft.y)\u003CMIN_CROP_SIZE&&(s.bottomRight.y=s.topLeft.y+MIN_CROP_SIZE/d))}switch(this.info.handle){case\\\"left\\\":case\\\"top_left\\\":case\\\"bottom_left\\\":c\u003CMIN_CROP_SIZE||(e=!0,s.topLeft.x=s.topLeft.x+o.x/c,c*(s.bottomRight.x-s.topLeft.x)\u003CMIN_CROP_SIZE?(s.topLeft.x=s.bottomRight.x-MIN_CROP_SIZE/c,l.x=(s.topLeft.x-a.topLeft.x)*c):s.topLeft.x\u003C=0?(s.topLeft.x=0,l.x=(s.topLeft.x-a.topLeft.x)*c):l.x=o.x);break;case\\\"right\\\":case\\\"top_right\\\":case\\\"bottom_right\\\":c\u003CMIN_CROP_SIZE||(e=!0,s.bottomRight.x=Math.min(1,s.bottomRight.x+o.x/c),c*(s.bottomRight.x-s.topLeft.x)\u003CMIN_CROP_SIZE&&(s.bottomRight.x=s.topLeft.x+MIN_CROP_SIZE/c))}e&&(r.add(l.rot(t.rotation)),n={id:t.id,type:t.type,x:r.x,y:r.y,props:{crop:s,w:(s.bottomRight.x-s.topLeft.x)*c,h:(s.bottomRight.y-s.topLeft.y)*d}},this.editor.updateShapes([n],{squashing:!0}),this.updateCursor())}}complete(){this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd,this.info):(this.editor.setCroppingShape(null),this.parent.transition(\\\"idle\\\"))}cancel(){this.editor.bailToMark(this.markId),this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd,this.info):(this.editor.setCroppingShape(null),this.parent.transition(\\\"idle\\\"))}createSnapshot(){var e=this.editor.getSelectionRotation(),t=this.editor[\\\"inputs\\\"][\\\"originPagePoint\\\"],r=this.editor.getOnlySelectedShape(),i=this.editor.getSelectionRotatedPageBounds(),i=Vec.RotWith(i.getHandlePoint(this.info.handle),i.point,e);return{shape:r,cursorHandleOffset:Vec.Sub(t,i)}}}),DraggingHandle=(__publicField(Cropping,\\\"id\\\",\\\"cropping\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeId\\\",\\\"\\\"),__publicField(this,\\\"initialHandle\\\",{}),__publicField(this,\\\"initialAdjacentHandle\\\",null),__publicField(this,\\\"initialPagePoint\\\",{}),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"initialPageTransform\\\"),__publicField(this,\\\"initialPageRotation\\\"),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"isPrecise\\\",!1),__publicField(this,\\\"isPreciseId\\\",null),__publicField(this,\\\"pointingId\\\",null),__publicField(this,\\\"onEnter\\\",t=>{var{shape:e,isCreating:r,handle:i}=t,n=(this.info=t,this.parent.setCurrentToolIdMask(t.onInteractionEnd),this.shapeId=e.id,this.markId=r?\\\"creating:\\\"+e.id:\\\"dragging handle\\\",r||this.editor.mark(this.markId),this.initialHandle=deepCopy(i),this.initialPageTransform=this.editor.getShapePageTransform(e),this.initialPageRotation=this.initialPageTransform.rotation(),this.initialPagePoint=this.editor.inputs.originPagePoint.clone(),this.editor.updateInstanceState({cursor:{type:r?\\\"cross\\\":\\\"grabbing\\\",rotation:0}},{ephemeral:!0}),this.editor.getShapeHandles(e).sort(sortByIndex2)),i=n.findIndex(e=>e.id===t.handle.id);this.initialAdjacentHandle=null;for(let s=i+1;s\u003Cn.length;s++){var o=n[s];if(\\\"vertex\\\"===o.type&&\\\"middle\\\"!==o.id&&o.id!==t.handle.id){this.initialAdjacentHandle=o;break}}if(!this.initialAdjacentHandle)for(let e=n.length-1;0\u003C=e;e--){var a=n[e];if(\\\"vertex\\\"===a.type&&\\\"middle\\\"!==a.id&&a.id!==t.handle.id){this.initialAdjacentHandle=a;break}}r=e.props[t.handle.id];this.isPrecise=!1,\\\"binding\\\"===(null==r?void 0:r.type)?(this.editor.setHintingShapes([r.boundShapeId]),this.isPrecise=r.isPrecise,this.isPrecise?this.isPreciseId=r.boundShapeId:this.resetExactTimeout()):this.editor.setHintingShapes([]),this.update(),this.editor.select(this.shapeId)}),__publicField(this,\\\"exactTimeout\\\",-1),__publicField(this,\\\"onPointerMove\\\",()=>{this.update()}),__publicField(this,\\\"onKeyDown\\\",()=>{this.update()}),__publicField(this,\\\"onKeyUp\\\",()=>{this.update()}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onExit\\\",()=>{this.parent.setCurrentToolIdMask(void 0),this.editor.setHintingShapes([]),this.editor.snaps.clear(),this.editor.updateInstanceState({cursor:{type:\\\"default\\\",rotation:0}},{ephemeral:!0})})}resetExactTimeout(){-1!==this.exactTimeout&&this.clearExactTimeout(),this.exactTimeout=setTimeout(()=>{this.getIsActive()&&!this.isPrecise&&(this.isPrecise=!0,this.isPreciseId=this.pointingId,this.update()),this.exactTimeout=-1},750)}clearExactTimeout(){-1!==this.exactTimeout&&(clearTimeout(this.exactTimeout),this.exactTimeout=-1)}complete(){this.editor.snaps.clear();var e=this.info[\\\"onInteractionEnd\\\"];this.editor.getInstanceState().isToolLocked&&e?this.editor.setCurrentTool(e,{shapeId:this.shapeId}):this.parent.transition(\\\"idle\\\")}cancel(){this.editor.bailToMark(this.markId),this.editor.snaps.clear();var e=this.info[\\\"onInteractionEnd\\\"];e?this.editor.setCurrentTool(e,{shapeId:this.shapeId}):this.parent.transition(\\\"idle\\\")}update(){var{editor:t,shapeId:r,initialPagePoint:i}=this;const{initialHandle:n,initialPageRotation:o,initialAdjacentHandle:a}=this;var s=this.editor.getHintingShapeIds(),l=this.editor.user.getIsSnapMode(),{snaps:c,inputs:{currentPagePoint:d,shiftKey:u,ctrlKey:p,altKey:h,pointerVelocity:m}}=t,g=this.info.shape,r=t.getShape(r);if(r){var _=t.getShapeUtil(r);let e=d.clone().sub(i).rot(-o).add(n);if(u&&a&&\\\"middle\\\"!==n.id&&(i=snapAngle(d=Vec.Angle(a,e),24),e=Vec.RotWith(e,a,i-d)),t.snaps.clear(),n.canSnap&&(l?!p:p)){const f=t.getShapePageTransform(r.id);if(!f)throw Error(\\\"Expected a page transform\\\");const b=t.getShapeHandles(r).filter(({type:e})=>\\\"vertex\\\"===e).sort(sortByIndex2).findIndex(({index:e})=>n.index===e);u=_.getOutlineSegments(r).map(e=>Mat.applyToPoints(f,e)).filter((e,t)=>t!==b-1&&t!==b),i=c.getSnappingHandleDelta({additionalSegments:u,handlePoint:Mat.applyToPoint(f,e)});i&&(i.rot(-t.getShapeParentTransform(r).rotation()),e.add(i))}l=null==(d=_.onHandleChange)?void 0:d.call(_,r,{handle:{...n,x:e.x,y:e.y},isPrecise:this.isPrecise||h,initial:g}),p={...r,...l};n.canBind&&(\\\"binding\\\"===(null==(u=p.props[n.id])?void 0:u.type)?s[0]!==u.boundShapeId&&(t.setHintingShapes([u.boundShapeId]),this.pointingId=u.boundShapeId,this.isPrecise=m.len()\u003C.5||h,this.isPreciseId=this.isPrecise?u.boundShapeId:null,this.resetExactTimeout()):0\u003Cs.length&&(t.setHintingShapes([]),this.pointingId=null,this.isPrecise=!1,this.isPreciseId=null,this.resetExactTimeout())),l&&t.updateShapes([p],{squashing:!0})}}}),EditingShape=(__publicField(DraggingHandle,\\\"id\\\",\\\"dragging_handle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onEnter\\\",()=>{var e=this.editor.getEditingShape();if(!e)throw Error(\\\"Entered editing state without an editing shape\\\");updateHoveredId(this.editor),this.editor.select(e)}),__publicField(this,\\\"onExit\\\",()=>{var e,t,r=this.editor.getCurrentPageState()[\\\"editingShapeId\\\"];r&&(this.editor.setEditingShape(null),r=this.editor.getShape(r),null!=(e=(t=this.editor.getShapeUtil(r)).onEditEnd)&&e.call(t,r),setTimeout(()=>{this.editor.updateViewportScreenBounds()},500))}),__publicField(this,\\\"onPointerMove\\\",e=>{switch(e.target){case\\\"shape\\\":case\\\"canvas\\\":updateHoveredId(this.editor)}}),__publicField(this,\\\"onPointerDown\\\",e=>{switch(e.target){case\\\"canvas\\\":var t=getHitShapeOnCanvasPointerDown(this.editor);if(t)return void this.onPointerDown({...e,shape:t,target:\\\"shape\\\"});break;case\\\"shape\\\":var t=e[\\\"shape\\\"],r=this.editor.getEditingShape();if(!r)throw Error(\\\"Expected an editing shape!\\\");if(t.type===r.type){if(!this.editor.isShapeOfType(t,\\\"geo\\\")&&!this.editor.isShapeOfType(t,\\\"arrow\\\"))return t.id!==r.id?void this.parent.transition(\\\"pointing_shape\\\",e):void(this.editor.isShapeOfType(t,\\\"frame\\\")&&this.editor.setEditingShape(null));var i=this.editor.getShapeUtil(t).getGeometry(t).children[1];if(i){var n=this.editor.getPointInShapeSpace(t,this.editor.inputs.currentPagePoint);if(i.bounds.containsPoint(n))return t.id===r.id?void 0:void this.parent.transition(\\\"pointing_shape\\\",e)}}}this.parent.transition(\\\"idle\\\",e),this.editor.root.handleEvent(e)}),__publicField(this,\\\"onComplete\\\",e=>{this.parent.transition(\\\"idle\\\",e)}),__publicField(this,\\\"onCancel\\\",e=>{this.parent.transition(\\\"idle\\\",e)})}});function getShouldEnterCropMode(e){var t=e.getOnlySelectedShape();return!(!t||e.isShapeOrAncestorLocked(t)||!e.getShapeUtil(t).canCrop(t))}function selectOnCanvasPointerUp(t){var r=t.getSelectedShapeIds(),{shiftKey:e,altKey:i,currentPagePoint:n}=t.inputs,o=t.getShapeAtPoint(n,{hitInside:!1,margin:HIT_TEST_MARGIN/t.getZoomLevel(),hitLabels:!0,renderingOnly:!0,filter:e=>!e.isLocked});if(o){var a=t.getOutermostSelectableShape(o);if(e&&!i)t.cancelDoubleClick(),r.includes(a.id)?(t.mark(\\\"deselecting shape\\\"),t.deselect(a)):(t.mark(\\\"shift selecting shape\\\"),t.setSelectedShapes([...r,a.id]));else{let e=void 0;(e=a===o||a.id===t.getFocusedGroupId()||r.includes(a.id)?o:a)&&!r.includes(e.id)&&(t.mark(\\\"selecting shape\\\"),t.select(e.id))}}else e||(0\u003Cr.length&&(t.mark(\\\"selecting none\\\"),t.selectNone()),isShapeId(i=t.getFocusedGroupId())&&(o=t.getShape(i),t.isPointInShape(o,n,{margin:0,hitInside:!0})||t.setFocusedGroup(null)))}__publicField(EditingShape,\\\"id\\\",\\\"editing_shape\\\"),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var Idle12=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onEnter\\\",()=>{this.parent.setCurrentToolIdMask(void 0),updateHoveredId(this.editor),this.editor.updateInstanceState({cursor:{type:\\\"default\\\",rotation:0}},{ephemeral:!0})}),__publicField(this,\\\"onPointerMove\\\",()=>{updateHoveredId(this.editor)}),__publicField(this,\\\"onPointerDown\\\",e=>{if(!this.editor.getIsMenuOpen()){var t=e.ctrlKey&&getShouldEnterCropMode(this.editor);if(e.ctrlKey&&!t)return\\\"shape\\\"===e.target&&this.isDarwin&&this.editor.inputs.keys.has(\\\"ControlLeft\\\")&&!this.editor.isShapeOrAncestorLocked(e.shape)?void this.parent.transition(\\\"pointing_shape\\\",e):void this.parent.transition(\\\"brushing\\\",e);switch(e.target){case\\\"canvas\\\":var r=getHitShapeOnCanvasPointerDown(this.editor);if(r&&!r.isLocked)return void this.onPointerDown({...e,shape:r,target:\\\"shape\\\"});var r=this.editor.getSelectedShapeIds(),i=this.editor.getOnlySelectedShape(),n=this.editor[\\\"inputs\\\"][\\\"currentPagePoint\\\"];if((1\u003Cr.length||i&&!this.editor.getShapeUtil(i).hideSelectionBoundsBg(i))&&isPointInRotatedSelectionBounds(this.editor,n))return void this.onPointerDown({...e,target:\\\"selection\\\"});this.parent.transition(\\\"pointing_canvas\\\",e);break;case\\\"shape\\\":this.editor.isShapeOrAncestorLocked(e.shape)?this.parent.transition(\\\"pointing_canvas\\\",e):this.parent.transition(\\\"pointing_shape\\\",e);break;case\\\"handle\\\":this.editor.getInstanceState().isReadonly||(this.editor.inputs.altKey?this.parent.transition(\\\"pointing_shape\\\",e):this.parent.transition(\\\"pointing_handle\\\",e));break;case\\\"selection\\\":switch(e.handle){case\\\"mobile_rotate\\\":case\\\"top_left_rotate\\\":case\\\"top_right_rotate\\\":case\\\"bottom_left_rotate\\\":case\\\"bottom_right_rotate\\\":this.parent.transition(\\\"pointing_rotate_handle\\\",e);break;case\\\"top\\\":case\\\"right\\\":case\\\"bottom\\\":case\\\"left\\\":t?this.parent.transition(\\\"pointing_crop_handle\\\",e):this.parent.transition(\\\"pointing_resize_handle\\\",e);break;case\\\"top_left\\\":case\\\"top_right\\\":case\\\"bottom_left\\\":case\\\"bottom_right\\\":t?this.parent.transition(\\\"pointing_crop_handle\\\",e):this.parent.transition(\\\"pointing_resize_handle\\\",e);break;default:var o=this.editor.getHoveredShape();if(o&&!this.editor.getSelectedShapeIds().includes(o.id)&&!o.isLocked)return void this.onPointerDown({...e,shape:o,target:\\\"shape\\\"});this.parent.transition(\\\"pointing_selection\\\",e)}}}}),__publicField(this,\\\"onDoubleClick\\\",e=>{var t;if(!this.editor.inputs.shiftKey&&\\\"up\\\"===e.phase)switch(e.target){case\\\"canvas\\\":var r=this.editor.getHoveredShape(),r=r&&!this.editor.isShapeOfType(r,\\\"group\\\")?r:null!=(r=this.editor.getSelectedShapeAtPoint(this.editor.inputs.currentPagePoint))?r:this.editor.getShapeAtPoint(this.editor.inputs.currentPagePoint,{margin:HIT_TEST_MARGIN/this.editor.getZoomLevel(),hitInside:!1}),i=this.editor.getFocusedGroupId();if(r)return!this.editor.isShapeOfType(r,\\\"group\\\")&&(!(n=this.editor.getShape(r.parentId))||!this.editor.isShapeOfType(n,\\\"group\\\")||i&&n.id===i)?void this.onDoubleClick({...e,shape:r,target:\\\"shape\\\"}):void selectOnCanvasPointerUp(this.editor);this.editor.inputs.shiftKey||this.handleDoubleClickOnCanvas(e);break;case\\\"selection\\\":if(!this.editor.getInstanceState().isReadonly){var n=this.editor.getOnlySelectedShape();if(n){var i=this.editor.getShapeUtil(n);if(!this.canInteractWithShapeInReadOnly(n))return;if(\\\"right\\\"===e.handle||\\\"left\\\"===e.handle||\\\"top\\\"===e.handle||\\\"bottom\\\"===e.handle){var r=null==(r=i.onDoubleClickEdge)?void 0:r.call(i,n);if(r)return this.editor.mark(\\\"double click edge\\\"),void this.editor.updateShapes([r])}if(i.canCrop(n)&&!this.editor.isShapeOrAncestorLocked(n))return void this.parent.transition(\\\"crop\\\",e);this.shouldStartEditingShape(n)&&this.startEditingShape(n,e)}}break;case\\\"shape\\\":r=e[\\\"shape\\\"],i=this.editor.getShapeUtil(r);if(\\\"video\\\"===r.type||\\\"embed\\\"===r.type||!this.editor.getInstanceState().isReadonly){if(i.onDoubleClick){var n=null==(n=i.onDoubleClick)?void 0:n.call(i,r);if(n)return void this.editor.updateShapes([n]);if(i.canCrop(r)&&!this.editor.isShapeOrAncestorLocked(r))return this.editor.mark(\\\"select and crop\\\"),this.editor.select(null==(n=e.shape)?void 0:n.id),void this.parent.transition(\\\"crop\\\",e)}this.shouldStartEditingShape(r)?this.startEditingShape(r,e):this.handleDoubleClickOnCanvas(e)}break;case\\\"handle\\\":this.editor.getInstanceState().isReadonly||(({shape:i,handle:n}=e),(r=null==(t=(r=this.editor.getShapeUtil(i)).onDoubleClickHandle)?void 0:t.call(r,i,n))?this.editor.updateShapes([r]):this.shouldStartEditingShape(i)&&this.startEditingShape(i,e))}}),__publicField(this,\\\"onRightClick\\\",e=>{switch(e.target){case\\\"canvas\\\":var t=this.editor.getHoveredShape(),t=t&&!this.editor.isShapeOfType(t,\\\"group\\\")?t:this.editor.getShapeAtPoint(this.editor.inputs.currentPagePoint,{margin:HIT_TEST_MARGIN/this.editor.getZoomLevel(),hitInside:!1,hitLabels:!0,hitFrameInside:!1,renderingOnly:!0});if(t)return void this.onRightClick({...e,shape:t,target:\\\"shape\\\"});var t=this.editor.getSelectedShapeIds(),r=this.editor.getOnlySelectedShape(),i=this.editor[\\\"inputs\\\"][\\\"currentPagePoint\\\"];if((1\u003Ct.length||r&&!this.editor.getShapeUtil(r).hideSelectionBoundsBg(r))&&isPointInRotatedSelectionBounds(this.editor,i))return void this.onRightClick({...e,target:\\\"selection\\\"});this.editor.selectNone();break;case\\\"shape\\\":{const n=this.editor.getCurrentPageState()[\\\"selectedShapeIds\\\"];t=e[\\\"shape\\\"],r=this.editor.getOutermostSelectableShape(t,e=>!n.includes(e.id));n.includes(r.id)||(this.editor.mark(\\\"selecting shape\\\"),this.editor.setSelectedShapes([r.id]));break}}}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.getFocusedGroupId()!==this.editor.getCurrentPageId()&&0\u003Cthis.editor.getSelectedShapeIds().length?this.editor.popFocusedGroupId():(this.editor.mark(\\\"clearing selection\\\"),this.editor.selectNone())}),__publicField(this,\\\"onKeyDown\\\",e=>{switch(e.code){case\\\"ArrowLeft\\\":case\\\"ArrowRight\\\":case\\\"ArrowUp\\\":case\\\"ArrowDown\\\":this.nudgeSelectedShapes(!1)}}),__publicField(this,\\\"onKeyRepeat\\\",e=>{switch(e.code){case\\\"ArrowLeft\\\":case\\\"ArrowRight\\\":case\\\"ArrowUp\\\":case\\\"ArrowDown\\\":this.nudgeSelectedShapes(!0)}}),__publicField(this,\\\"onKeyUp\\\",e=>{var t;\\\"Enter\\\"===e.code&&((t=this.editor.getSelectedShapes()).every(e=>this.editor.isShapeOfType(e,\\\"group\\\"))?this.editor.setSelectedShapes(t.flatMap(e=>this.editor.getSortedChildIdsForParent(e.id))):(t=this.editor.getOnlySelectedShape())&&this.shouldStartEditingShape(t)?this.startEditingShape(t,{...e,target:\\\"shape\\\",shape:t}):getShouldEnterCropMode(this.editor)&&this.parent.transition(\\\"crop\\\",e))}),__publicField(this,\\\"isDarwin\\\",-1\u003Cwindow.navigator.userAgent.toLowerCase().indexOf(\\\"mac\\\"))}shouldStartEditingShape(e=this.editor.getOnlySelectedShape()){return!!e&&!(this.editor.isShapeOrAncestorLocked(e)&&\\\"embed\\\"!==e.type||!this.canInteractWithShapeInReadOnly(e))&&this.editor.getShapeUtil(e).canEdit(e)}startEditingShape(e,t){this.editor.isShapeOrAncestorLocked(e)&&\\\"embed\\\"!==e.type||(this.editor.mark(\\\"editing shape\\\"),this.editor.setEditingShape(e.id),this.parent.transition(\\\"editing_shape\\\",t))}handleDoubleClickOnCanvas(e){var t,r,i;!this.editor.getInstanceState().isReadonly&&(this.editor.mark(\\\"creating text shape\\\"),t=createShapeId(),({x:r,y:i}=this.editor.inputs.currentPagePoint),this.editor.createShapes([{id:t,type:\\\"text\\\",x:r,y:i,props:{text:\\\"\\\",autoSize:!0}}]),r=this.editor.getShape(t))&&(i=this.editor.getShapeUtil(r),this.editor.getInstanceState().isReadonly&&!i.canEditInReadOnly(r)||(this.editor.setEditingShape(t),this.editor.select(t),this.parent.transition(\\\"editing_shape\\\",e)))}nudgeSelectedShapes(e=!1){var{keys:t}=this[\\\"editor\\\"][\\\"inputs\\\"],r=t.has(\\\"ShiftLeft\\\"),i=new Vec(0,0);t.has(\\\"ArrowLeft\\\")&&--i.x,t.has(\\\"ArrowRight\\\")&&(i.x+=1),t.has(\\\"ArrowUp\\\")&&--i.y,t.has(\\\"ArrowDown\\\")&&(i.y+=1),i.equals(new Vec(0,0))||(e||this.editor.mark(\\\"nudge shapes\\\"),t=this.editor.getDocumentSettings()[\\\"gridSize\\\"],t=this.editor.getInstanceState().isGridMode?r?t*GRID_INCREMENT:t:r?MAJOR_NUDGE_FACTOR:MINOR_NUDGE_FACTOR,this.editor.nudgeShapes(this.editor.getSelectedShapeIds(),i.mul(t)))}canInteractWithShapeInReadOnly(e){return!this.editor.getInstanceState().isReadonly||!!this.editor.getShapeUtil(e).canEditInReadOnly(e)}},MAJOR_NUDGE_FACTOR=(__publicField(Idle12,\\\"id\\\",\\\"idle\\\"),10),MINOR_NUDGE_FACTOR=1,GRID_INCREMENT=5;function isPointInRotatedSelectionBounds(e,t){const r=e.getSelectionRotatedPageBounds();if(!r)return!1;const i=e.getSelectionRotation();return i?pointInPolygon(t,r.corners.map(e=>Vec.RotWith(e,r.point,i))):r.containsPoint(t)}init_esbuild_inject();var PointingCanvas=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onEnter\\\",()=>{var e=this.editor[\\\"inputs\\\"];e.shiftKey||0\u003Cthis.editor.getSelectedShapeIds().length&&(this.editor.mark(\\\"selecting none\\\"),this.editor.selectNone())}),__publicField(this,\\\"onPointerMove\\\",e=>{this.editor.inputs.isDragging&&this.parent.transition(\\\"brushing\\\",e)}),__publicField(this,\\\"onPointerUp\\\",()=>{selectOnCanvasPointerUp(this.editor),this.complete()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.parent.transition(\\\"idle\\\")})}complete(){this.parent.transition(\\\"idle\\\")}},PointingCropHandle=(__publicField(PointingCanvas,\\\"id\\\",\\\"pointing_canvas\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"onEnter\\\",e=>{this.info=e,this.parent.setCurrentToolIdMask(e.onInteractionEnd);var t=this.editor.getSelectedShapes()[0];t&&(this.updateCursor(t),this.editor.setCroppingShape(t.id))}),__publicField(this,\\\"onExit\\\",()=>{this.editor.updateInstanceState({cursor:{type:\\\"default\\\",rotation:0}},{ephemeral:!0}),this.parent.setCurrentToolIdMask(void 0)}),__publicField(this,\\\"onPointerMove\\\",()=>{this.editor.inputs.isDragging&&this.parent.transition(\\\"cropping\\\",{...this.info,onInteractionEnd:this.info.onInteractionEnd})}),__publicField(this,\\\"onPointerUp\\\",()=>{this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd,this.info):(this.editor.setCroppingShape(null),this.parent.transition(\\\"idle\\\"))}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.cancel()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()})}updateCursor(e){var t=CursorTypeMap[this.info.handle];this.editor.updateInstanceState({cursor:{type:t,rotation:e.rotation}})}cancel(){this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd,this.info):(this.editor.setCroppingShape(null),this.parent.transition(\\\"idle\\\"))}}),PointingHandle=(__publicField(PointingCropHandle,\\\"id\\\",\\\"pointing_crop_handle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"onEnter\\\",e=>{var t=(this.info=e).shape.props[e.handle.id];\\\"binding\\\"===(null==t?void 0:t.type)&&this.editor.setHintingShapes([t.boundShapeId]),this.editor.updateInstanceState({cursor:{type:\\\"grabbing\\\",rotation:0}},{ephemeral:!0})}),__publicField(this,\\\"onExit\\\",()=>{this.editor.setHintingShapes([]),this.editor.updateInstanceState({cursor:{type:\\\"default\\\",rotation:0}},{ephemeral:!0})}),__publicField(this,\\\"onPointerUp\\\",()=>{this.parent.transition(\\\"idle\\\",this.info)}),__publicField(this,\\\"onPointerMove\\\",()=>{this.editor.inputs.isDragging&&this.parent.transition(\\\"dragging_handle\\\",this.info)}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.cancel()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()})}cancel(){this.parent.transition(\\\"idle\\\")}}),PointingRotateHandle=(__publicField(PointingHandle,\\\"id\\\",\\\"pointing_handle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"onEnter\\\",e=>{this.parent.setCurrentToolIdMask(e.onInteractionEnd),this.info=e,this.updateCursor()}),__publicField(this,\\\"onExit\\\",()=>{this.parent.setCurrentToolIdMask(void 0),this.editor.updateInstanceState({cursor:{type:\\\"default\\\",rotation:0}},{ephemeral:!0})}),__publicField(this,\\\"onPointerMove\\\",()=>{var e=this.editor.inputs[\\\"isDragging\\\"];e&&this.parent.transition(\\\"rotating\\\",this.info)}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.cancel()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()})}updateCursor(){var e=this.editor.getSelectionRotation();this.editor.updateInstanceState({cursor:{type:CursorTypeMap[this.info.handle],rotation:e}})}complete(){this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd,{}):this.parent.transition(\\\"idle\\\")}cancel(){this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd,{}):this.parent.transition(\\\"idle\\\")}}),PointingSelection=(__publicField(PointingRotateHandle,\\\"id\\\",\\\"pointing_rotate_handle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"onEnter\\\",e=>{this.info=e}),__publicField(this,\\\"onPointerUp\\\",e=>{selectOnCanvasPointerUp(this.editor),this.parent.transition(\\\"idle\\\",e)}),__publicField(this,\\\"onPointerMove\\\",e=>{!this.editor.inputs.isDragging||this.editor.getInstanceState().isReadonly||this.parent.transition(\\\"translating\\\",e)}),__publicField(this,\\\"onDoubleClick\\\",e=>{var t,r,i=this.editor.getHoveredShape(),i=i&&!this.editor.isShapeOfType(i,\\\"group\\\")?i:this.editor.getShapeAtPoint(this.editor.inputs.currentPagePoint,{hitInside:!0,margin:0,renderingOnly:!0});i&&(this.parent.transition(\\\"idle\\\"),null!=(r=(t=this.parent).onDoubleClick))&&r.call(t,{...e,target:\\\"shape\\\",shape:this.editor.getShape(i)})}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.cancel()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()})}cancel(){this.parent.transition(\\\"idle\\\")}}),PointingShape=(__publicField(PointingSelection,\\\"id\\\",\\\"pointing_selection\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"hitShape\\\",{}),__publicField(this,\\\"hitShapeForPointerUp\\\",{}),__publicField(this,\\\"didSelectOnEnter\\\",!1),__publicField(this,\\\"onEnter\\\",e=>{var t=this.editor.getSelectedShapeIds(),r=this.editor.getSelectionRotatedPageBounds(),i=this.editor.getFocusedGroupId(),{currentPagePoint:n,shiftKey:o,altKey:a}=this.editor[\\\"inputs\\\"],s=(this.hitShape=e.shape,this.editor.getOutermostSelectableShape(e.shape));this.editor.getShapeUtil(e.shape).onClick||s.id===i||t.includes(s.id)||this.editor.isAncestorSelected(s.id)||1\u003Ct.length&&null!=r&&r.containsPoint(n)?(this.didSelectOnEnter=!1,this.hitShapeForPointerUp=s):(this.didSelectOnEnter=!0,o&&!a?(this.editor.cancelDoubleClick(),t.includes(s.id)||(this.editor.mark(\\\"shift selecting shape\\\"),this.editor.setSelectedShapes([...t,s.id]))):(this.editor.mark(\\\"selecting shape\\\"),this.editor.setSelectedShapes([s.id])))}),__publicField(this,\\\"onPointerUp\\\",e=>{const t=this.editor.getSelectedShapeIds();var r=this.editor.getFocusedGroupId(),i=this.editor.getZoomLevel(),{currentPagePoint:n,shiftKey:o}=this.editor[\\\"inputs\\\"],i=null!=(i=this.editor.getShapeAtPoint(n,{margin:HIT_TEST_MARGIN/i,hitInside:!0,renderingOnly:!0}))?i:this.hitShape;const a=i?this.editor.getOutermostSelectableShape(i):this.hitShapeForPointerUp;if(a){var s=this.editor.getShapeUtil(a);if(s.onClick){s=null==(l=s.onClick)?void 0:l.call(s,a);if(s)return this.editor.mark(\\\"shape on click\\\"),this.editor.updateShapes([s]),void this.parent.transition(\\\"idle\\\",e)}if(a.id===r)return 0\u003Ct.length?(this.editor.mark(\\\"clearing shape ids\\\"),this.editor.setSelectedShapes([])):this.editor.popFocusedGroupId(),void this.parent.transition(\\\"idle\\\",e)}if(!this.didSelectOnEnter){var l=this.editor.getOutermostSelectableShape(i,e=>!t.includes(e.id));if(t.includes(l.id))if(o)this.editor.mark(\\\"deselecting on pointer up\\\"),this.editor.deselect(a);else if(t.includes(a.id)){if(1===t.length&&(this.editor.isShapeOfType(a,\\\"geo\\\")||this.editor.isShapeOfType(a,\\\"arrow\\\"))){s=this.editor.getShapeGeometry(a).children[1];if(s){r=this.editor.getPointInShapeSpace(a,n);if(s.bounds.containsPoint(r,0)&&s.hitTestPoint(r))return void this.editor.batch(()=>{this.editor.mark(\\\"editing on pointer up\\\"),this.editor.select(a.id);var e=this.editor.getShapeUtil(a);this.editor.getInstanceState().isReadonly&&!e.canEditInReadOnly(a)||(this.editor.setEditingShape(a.id),this.editor.setCurrentTool(\\\"select.editing_shape\\\"))})}}this.editor.mark(\\\"selecting on pointer up\\\"),this.editor.select(a.id)}else this.editor.mark(\\\"selecting on pointer up\\\"),this.editor.select(a);else if(o){const c=this.editor.getShapeAncestors(l);this.editor.mark(\\\"shift deselecting on pointer up\\\"),this.editor.setSelectedShapes([...this.editor.getSelectedShapeIds().filter(t=>!c.find(e=>e.id===t)),l.id])}else this.editor.mark(\\\"selecting on pointer up\\\"),this.editor.setSelectedShapes([l.id])}this.parent.transition(\\\"idle\\\",e)}),__publicField(this,\\\"onPointerMove\\\",e=>{!this.editor.inputs.isDragging||this.editor.getInstanceState().isReadonly||this.parent.transition(\\\"translating\\\",e)}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.cancel()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()})}cancel(){this.parent.transition(\\\"idle\\\")}}),Resizing=(__publicField(PointingShape,\\\"id\\\",\\\"pointing_shape\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"didHoldCommand\\\",!1),__publicField(this,\\\"creationCursorOffset\\\",{x:0,y:0}),__publicField(this,\\\"snapshot\\\",{}),__publicField(this,\\\"onEnter\\\",e=>{var{isCreating:t=!1,creationCursorOffset:r={x:0,y:0}}=e;this.info=e,this.didHoldCommand=!1,this.parent.setCurrentToolIdMask(e.onInteractionEnd),this.creationCursorOffset=r,this.snapshot=this._createSnapshot(),t?(this.markId=\\\"creating:\\\"+this.editor.getOnlySelectedShape().id,this.editor.updateInstanceState({cursor:{type:\\\"cross\\\",rotation:0}},{ephemeral:!0})):(this.markId=\\\"starting resizing\\\",this.editor.mark(this.markId)),this.handleResizeStart(),this.updateShapes()}),__publicField(this,\\\"onTick\\\",()=>{moveCameraWhenCloseToEdge(this.editor)}),__publicField(this,\\\"onPointerMove\\\",()=>{this.updateShapes()}),__publicField(this,\\\"onKeyDown\\\",()=>{this.updateShapes()}),__publicField(this,\\\"onKeyUp\\\",()=>{this.updateShapes()}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onExit\\\",()=>{this.parent.setCurrentToolIdMask(void 0),this.editor.updateInstanceState({cursor:{type:\\\"default\\\",rotation:0}},{ephemeral:!0}),this.editor.snaps.clear()}),__publicField(this,\\\"_createSnapshot\\\",()=>{const r=this.editor.getSelectedShapeIds(),t=this.editor.getSelectionRotation();var e=this.editor[\\\"inputs\\\"][\\\"originPagePoint\\\"],i=this.editor.getSelectionRotatedPageBounds(),n=Vec.RotWith(i.getHandlePoint(this.info.handle),i.point,t),e=Vec.Sub(e,n);const o=new Map,a=[];r.forEach(e=>{var t=this.editor.getShape(e);t&&(\\\"frame\\\"===t.type&&a.push({id:e,children:compact(this.editor.getSortedChildIdsForParent(t).map(e=>this.editor.getShape(e)))}),o.set(t.id,this._createShapeSnapshot(t)),this.editor.isShapeOfType(t,\\\"frame\\\")&&1===r.length||this.editor.visitDescendants(t.id,e=>{var t=this.editor.getShape(e);if(t&&(o.set(t.id,this._createShapeSnapshot(t)),this.editor.isShapeOfType(t,\\\"frame\\\")))return!1}))});n=![...o.values()].some(e=>!areAnglesCompatible(e.pageRotation,t)||e.isAspectRatioLocked);return{shapeSnapshots:o,selectionBounds:i,cursorHandleOffset:e,selectionRotation:t,selectedShapeIds:r,canShapesDeform:n,initialSelectionPageBounds:this.editor.getSelectionPageBounds(),frames:a}}),__publicField(this,\\\"_createShapeSnapshot\\\",e=>{var t=this.editor.getShapePageTransform(e),r=this.editor.getShapeUtil(e);return{shape:e,bounds:this.editor.getShapeGeometry(e).bounds,pageTransform:t,pageRotation:Mat.Decompose(t).rotation,isAspectRatioLocked:r.isAspectRatioLocked(e)}})}cancel(){this.editor.bailToMark(this.markId),this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd,{}):this.parent.transition(\\\"idle\\\")}complete(){var e,t;this.handleResizeEnd(),this.info.isCreating&&this.info.onCreate?null!=(t=(e=this.info).onCreate)&&t.call(e,this.editor.getOnlySelectedShape()):this.editor.getInstanceState().isToolLocked&&this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd,{}):this.parent.transition(\\\"idle\\\")}handleResizeStart(){var e=this.snapshot[\\\"shapeSnapshots\\\"];const i=[];e.forEach(({shape:e})=>{var t,r=this.editor.getShapeUtil(e),r=null==(t=r.onResizeStart)?void 0:t.call(r,e);r&&i.push(r)}),0\u003Ci.length&&this.editor.updateShapes(i)}handleResizeEnd(){var e=this.snapshot[\\\"shapeSnapshots\\\"];const n=[];e.forEach(({shape:e})=>{var t,r=this.editor.getShape(e.id),i=this.editor.getShapeUtil(e),i=null==(t=i.onResizeEnd)?void 0:t.call(i,e,r);i&&n.push(i)}),0\u003Cn.length&&this.editor.updateShapes(n)}updateShapes(){var{altKey:e,shiftKey:t}=this.editor.inputs,{frames:r,shapeSnapshots:i,selectionBounds:n,cursorHandleOffset:o,selectedShapeIds:a,selectionRotation:s,canShapesDeform:l}=this.snapshot,t=t||!l,l=this.editor.inputs[\\\"ctrlKey\\\"],c=this.editor.inputs.currentPagePoint.clone().sub(o).sub(this.creationCursorOffset),o=this.editor.inputs.originPagePoint.clone().sub(o),d=(this.editor.getInstanceState().isGridMode&&!l&&(u=this.editor.getDocumentSettings()[\\\"gridSize\\\"],c.snapToGrid(u)),this.info.handle),u=rotateSelectionHandle2(d,Math.PI),l=(this.editor.snaps.clear(),this.editor.user.getIsSnapMode()?!l:l),p=(l&&s%HALF_PI==0&&(l=this.editor.snaps.snapResize({dragDelta:Vec.Sub(c,o),initialSelectionPageBounds:this.snapshot.initialSelectionPageBounds,handle:rotateSelectionHandle2(d,s),isAspectRatioLocked:t,isResizingFromCenter:e})[\\\"nudge\\\"],c.add(l)),Vec.RotWith(e?n.center:n.getHandlePoint(u),n.point,s)),l=Vec.Sub(c,p).rot(-s),e=Vec.Sub(o,p).rot(-s),h=Vec.DivV(l,e),u=(Number.isFinite(h.x)||(h.x=1),Number.isFinite(h.y)||(h.y=1),\\\"top\\\"===d||\\\"bottom\\\"===d),n=\\\"left\\\"===d||\\\"right\\\"===d;t?n?h.y=Math.abs(h.x):u?h.x=Math.abs(h.y):Math.abs(h.x)>Math.abs(h.y)?h.y=Math.abs(h.x)*(h.y\u003C0?-1:1):h.x=Math.abs(h.y)*(h.x\u003C0?-1:1):(u&&(h.x=1),n&&(h.y=1)),this.info.isCreating||this.updateCursor({dragHandle:d,isFlippedX:h.x\u003C0,isFlippedY:h.y\u003C0,rotation:s});for(const S of i.keys()){var m=i.get(S);this.editor.resizeShape(S,h,{initialShape:m.shape,initialBounds:m.bounds,initialPageTransform:m.pageTransform,dragHandle:d,mode:1===a.length&&S===a[0]?\\\"resize_bounds\\\":\\\"scale_shape\\\",scaleOrigin:p,scaleAxisRotation:s})}if(this.editor.inputs.ctrlKey){this.didHoldCommand=!0;for(var{id:g,children:_}of r)if(_.length){var f=i.get(g).shape,g=this.editor.getShape(g);if(f&&g){var b=g.x-f.x,g=g.y-f.y,v=new Vec(b,g).rot(-f.rotation);if(0!==v.x||0!==v.y)for(const x of _)this.editor.updateShape({id:x.id,type:x.type,x:x.x-v.x,y:x.y-v.y})}}}else if(this.didHoldCommand){this.didHoldCommand=!1;for(var{children:y}of r)if(y.length)for(const w of y)this.editor.updateShape({id:w.id,type:w.type,x:w.x,y:w.y})}}updateCursor({dragHandle:e,isFlippedX:t,isFlippedY:r,rotation:i}){var n={...this.editor.getInstanceState().cursor};switch(e){case\\\"top_left\\\":case\\\"bottom_right\\\":n.type=\\\"nwse-resize\\\",t!==r&&(n.type=\\\"nesw-resize\\\");break;case\\\"top_right\\\":case\\\"bottom_left\\\":n.type=\\\"nesw-resize\\\",t!==r&&(n.type=\\\"nwse-resize\\\")}n.rotation=i,this.editor.setCursor(n)}}),ORDERED_SELECTION_HANDLES=(__publicField(Resizing,\\\"id\\\",\\\"resizing\\\"),[\\\"top\\\",\\\"top_right\\\",\\\"right\\\",\\\"bottom_right\\\",\\\"bottom\\\",\\\"bottom_left\\\",\\\"left\\\",\\\"top_left\\\"]);function rotateSelectionHandle2(e,t){t%=PI2;var r=Math.round(t/(PI/4)),i=ORDERED_SELECTION_HANDLES.indexOf(e);return ORDERED_SELECTION_HANDLES[(i+r)%ORDERED_SELECTION_HANDLES.length]}init_esbuild_inject();var ONE_DEGREE=Math.PI/180,Rotating=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"snapshot\\\",{}),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"onEnter\\\",e=>{this.info=e,this.parent.setCurrentToolIdMask(e.onInteractionEnd),this.markId=\\\"rotate start\\\",this.editor.mark(this.markId);var t=getRotationSnapshot({editor:this.editor});if(!t)return this.parent.transition(\\\"idle\\\",this.info);this.snapshot=t,this.handleStart()}),__publicField(this,\\\"onExit\\\",()=>{this.editor.setCursor({type:\\\"default\\\",rotation:0}),this.parent.setCurrentToolIdMask(void 0),this.snapshot={}}),__publicField(this,\\\"onPointerMove\\\",()=>{this.update()}),__publicField(this,\\\"onKeyDown\\\",()=>{this.update()}),__publicField(this,\\\"onKeyUp\\\",()=>{this.update()}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"update\\\",()=>{var e=this._getRotationFromPointerPosition({snapToNearestDegree:!1});applyRotationToSnapshotShapes({editor:this.editor,delta:e,snapshot:this.snapshot,stage:\\\"update\\\"}),this.editor.updateInstanceState({cursor:{type:CursorTypeMap[this.info.handle],rotation:e+this.snapshot.initialSelectionRotation}})}),__publicField(this,\\\"cancel\\\",()=>{this.editor.bailToMark(this.markId),this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd,this.info):this.parent.transition(\\\"idle\\\",this.info)}),__publicField(this,\\\"complete\\\",()=>{applyRotationToSnapshotShapes({editor:this.editor,delta:this._getRotationFromPointerPosition({snapToNearestDegree:!0}),snapshot:this.snapshot,stage:\\\"end\\\"}),this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd,this.info):this.parent.transition(\\\"idle\\\",this.info)})}handleStart(){var e=this._getRotationFromPointerPosition({snapToNearestDegree:!1});applyRotationToSnapshotShapes({editor:this.editor,delta:this._getRotationFromPointerPosition({snapToNearestDegree:!1}),snapshot:this.snapshot,stage:\\\"start\\\"}),this.editor.updateInstanceState({cursor:{type:CursorTypeMap[this.info.handle],rotation:e+this.snapshot.initialSelectionRotation}})}_getRotationFromPointerPosition({snapToNearestDegree:e}){var t=this.editor.getSelectionRotation(),r=this.editor.getSelectionRotatedPageBounds(),{shiftKey:i,currentPagePoint:n}=this.editor[\\\"inputs\\\"],{initialCursorAngle:o,initialSelectionRotation:a}=this.snapshot;if(!r)return a;let s=a+(r.center.clone().rotWith(r.point,t).angle(n)-o);return i?s=snapAngle(s,24):e&&(s=Math.round(s/ONE_DEGREE)*ONE_DEGREE,this.editor.getInstanceState().isCoarsePointer)&&(r=snapAngle(s,4),t=shortAngleDist(s,r),Math.abs(t)\u003CdegreesToRadians(5))&&(s=r),s-a}},ScribbleBrushing=(__publicField(Rotating,\\\"id\\\",\\\"rotating\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"hits\\\",new Set),__publicField(this,\\\"size\\\",0),__publicField(this,\\\"scribbleId\\\",\\\"id\\\"),__publicField(this,\\\"initialSelectedShapeIds\\\",new Set),__publicField(this,\\\"newlySelectedShapeIds\\\",new Set),__publicField(this,\\\"onEnter\\\",()=>{this.initialSelectedShapeIds=new Set(this.editor.inputs.shiftKey?this.editor.getSelectedShapeIds():[]),this.newlySelectedShapeIds=new Set,this.size=0,this.hits.clear();var e=this.editor.scribbles.addScribble({color:\\\"selection-stroke\\\",opacity:.32,size:12});this.scribbleId=e.id,this.updateScribbleSelection(!0),requestAnimationFrame(()=>{this.editor.updateInstanceState({brush:null})})}),__publicField(this,\\\"onExit\\\",()=>{this.editor.scribbles.stop(this.scribbleId)}),__publicField(this,\\\"onPointerMove\\\",()=>{this.updateScribbleSelection(!0)}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onKeyDown\\\",()=>{this.updateScribbleSelection(!1)}),__publicField(this,\\\"onKeyUp\\\",()=>{this.editor.inputs.altKey?this.updateScribbleSelection(!1):this.parent.transition(\\\"brushing\\\")}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"pushPointToScribble\\\",()=>{var{x:e,y:t}=this.editor.inputs.currentPagePoint;this.editor.scribbles.addPoint(this.scribbleId,e,t)})}updateScribbleSelection(e){var t=this.editor.getZoomLevel(),r=this.editor.getCurrentPageShapes(),{shiftKey:i,originPagePoint:n,previousPagePoint:o,currentPagePoint:a}=this.editor[\\\"inputs\\\"],{newlySelectedShapeIds:s,initialSelectedShapeIds:l}=this,c=(e&&this.pushPointToScribble(),r);for(let m=0,g=c.length;m\u003Cg;m++)if(h=c[m],p=this.editor.getShapeGeometry(h),!(this.editor.isShapeOfType(h,\\\"group\\\")||s.has(h.id)||this.editor.isShapeOrAncestorLocked(h))){if(this.editor.isShapeOfType(h,\\\"frame\\\")){var d=this.editor.getPointInShapeSpace(h,n);if(p.bounds.containsPoint(d))continue}if(d=this.editor.getPointInShapeSpace(h,o),u=this.editor.getPointInShapeSpace(h,a),p.hitTestLineSegment(d,u,HIT_TEST_MARGIN/t)){var u=this.editor.getOutermostSelectableShape(h),p=this.editor.getShapeMask(u.id);if(p){var h=intersectLineSegmentPolyline(o,a,p);if(null!==h)if(!pointInPolygon(a,p))continue}s.add(u.id)}}this.editor.setSelectedShapes([...new Set(i?[...s,...l]:[...s])],{squashing:!0})}complete(){this.parent.transition(\\\"idle\\\")}cancel(){this.editor.setSelectedShapes([...this.initialSelectedShapeIds],{squashing:!0}),this.parent.transition(\\\"idle\\\")}}),LAG_DURATION=(__publicField(ScribbleBrushing,\\\"id\\\",\\\"scribble_brushing\\\"),init_esbuild_inject(),init_esbuild_inject(),100),DragAndDropManager=class{constructor(e){__publicField(this,\\\"prevDroppingShapeId\\\",null),__publicField(this,\\\"droppingNodeTimer\\\",null),__publicField(this,\\\"first\\\",!0),__publicField(this,\\\"dispose\\\",()=>{this.clear()}),(this.editor=e).disposables.add(this.dispose)}updateDroppingNode(e,t){var r;this.first&&(this.prevDroppingShapeId=null!=(r=null==(r=this.editor.getDroppingOverShape(this.editor.inputs.originPagePoint,e))?void 0:r.id)?r:null,this.first=!1),null===this.droppingNodeTimer?this.setDragTimer(e,10*LAG_DURATION,t):.5\u003Cthis.editor.inputs.pointerVelocity.len()&&(clearInterval(this.droppingNodeTimer),this.setDragTimer(e,LAG_DURATION,t))}setDragTimer(e,t,r){this.droppingNodeTimer=setTimeout(()=>{this.editor.batch(()=>{this.handleDrag(this.editor.inputs.currentPagePoint,e,r)}),this.droppingNodeTimer=null},t)}handleDrag(e,t,r){t=compact(t.map(e=>this.editor.getShape(e.id)));var i,n,o,a,s=null!=(s=null==(s=this.editor.getDroppingOverShape(e,t))?void 0:s.id)?s:null;s!==this.prevDroppingShapeId&&(n=this[\\\"prevDroppingShapeId\\\"],n=n&&this.editor.getShape(n),o=s&&this.editor.getShape(s),n&&null!=(a=(i=this.editor.getShapeUtil(n)).onDragShapesOut)&&a.call(i,n,t),o?(a=null==(n=(i=this.editor.getShapeUtil(o)).onDragShapesOver)?void 0:n.call(i,o,t))&&a.shouldHint&&this.editor.setHintingShapes([o.id]):this.editor.setHintingShapes([]),null!=r&&r(),this.prevDroppingShapeId=s)}dropShapes(e){var t,r,i=this[\\\"prevDroppingShapeId\\\"];this.handleDrag(this.editor.inputs.currentPagePoint,e),i&&(i=this.editor.getShape(i))&&null!=(r=(t=this.editor.getShapeUtil(i)).onDropShapesOver)&&r.call(t,i,e)}clear(){(this.prevDroppingShapeId=null)!==this.droppingNodeTimer&&clearInterval(this.droppingNodeTimer),this.droppingNodeTimer=null,this.editor.setHintingShapes([]),this.first=!0}},Translating=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"selectionSnapshot\\\",{}),__publicField(this,\\\"snapshot\\\",{}),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"isCloning\\\",!1),__publicField(this,\\\"isCreating\\\",!1),__publicField(this,\\\"onCreate\\\",()=>{}),__publicField(this,\\\"dragAndDropManager\\\",new DragAndDropManager(this.editor)),__publicField(this,\\\"onEnter\\\",e=>{var{isCreating:t=!1,onCreate:r=()=>{}}=e;this.info=e,this.parent.setCurrentToolIdMask(e.onInteractionEnd),this.isCreating=t,this.onCreate=r,t?this.markId=\\\"creating:\\\"+this.editor.getOnlySelectedShape().id:(this.markId=\\\"translating\\\",this.editor.mark(this.markId)),this.isCloning=!1,this.info=e,this.editor.setCursor({type:\\\"move\\\",rotation:0}),this.selectionSnapshot=getTranslatingSnapshot(this.editor),!this.isCreating&&this.editor.inputs.altKey?this.startCloning():(this.snapshot=this.selectionSnapshot,this.handleStart(),this.updateShapes())}),__publicField(this,\\\"onExit\\\",()=>{this.parent.setCurrentToolIdMask(void 0),this.selectionSnapshot={},this.snapshot={},this.editor.snaps.clear(),this.editor.updateInstanceState({cursor:{type:\\\"default\\\",rotation:0}},{ephemeral:!0}),this.dragAndDropManager.clear()}),__publicField(this,\\\"onTick\\\",()=>{this.dragAndDropManager.updateDroppingNode(this.snapshot.movingShapes,this.updateParentTransforms),moveCameraWhenCloseToEdge(this.editor)}),__publicField(this,\\\"onPointerMove\\\",()=>{this.updateShapes()}),__publicField(this,\\\"onKeyDown\\\",()=>{this.editor.inputs.altKey&&!this.isCloning?this.startCloning():this.updateShapes()}),__publicField(this,\\\"onKeyUp\\\",()=>{!this.editor.inputs.altKey&&this.isCloning?this.stopCloning():this.updateShapes()}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"updateParentTransforms\\\",()=>{const{editor:r,snapshot:{shapeSnapshots:e}}=this,i=[];e.forEach(e=>{var t=r.getShape(e.shape.id);if(!t)return null;i.push(t);t=isPageId(t.parentId)?null:Mat.Inverse(r.getShapePageTransform(t.parentId));e.parentTransform=t})})}startCloning(){this.isCreating||(this.isCloning=!0,this.reset(),this.markId=\\\"translating\\\",this.editor.mark(this.markId),this.editor.duplicateShapes(Array.from(this.editor.getSelectedShapeIds())),this.snapshot=getTranslatingSnapshot(this.editor),this.handleStart(),this.updateShapes())}stopCloning(){this.isCloning=!1,this.snapshot=this.selectionSnapshot,this.reset(),this.markId=\\\"translating\\\",this.editor.mark(this.markId),this.updateShapes()}reset(){this.editor.bailToMark(this.markId)}complete(){var e;this.updateShapes(),this.dragAndDropManager.dropShapes(this.snapshot.movingShapes),this.handleEnd(),this.editor.getInstanceState().isToolLocked&&this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd):this.isCreating?null!=(e=this.onCreate)&&e.call(this,this.editor.getOnlySelectedShape()):this.parent.transition(\\\"idle\\\")}cancel(){this.reset(),this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd):this.parent.transition(\\\"idle\\\",this.info)}handleStart(){var e=this.snapshot[\\\"movingShapes\\\"];const i=[];e.forEach(e=>{var t,r=this.editor.getShapeUtil(e),r=null==(t=r.onTranslateStart)?void 0:t.call(r,e);r&&i.push(r)}),0\u003Ci.length&&this.editor.updateShapes(i),this.editor.setHoveredShape(null)}handleEnd(){var e=this.snapshot[\\\"movingShapes\\\"];const n=[];e.forEach(e=>{var t,r=this.editor.getShape(e.id),i=this.editor.getShapeUtil(e),i=null==(t=i.onTranslateEnd)?void 0:t.call(i,e,r);i&&n.push(i)}),0\u003Cn.length&&this.editor.updateShapes(n)}handleChange(){var e=this.snapshot[\\\"movingShapes\\\"];const n=[];e.forEach(e=>{var t,r=this.editor.getShape(e.id),i=this.editor.getShapeUtil(e),i=null==(t=i.onTranslate)?void 0:t.call(i,e,r);i&&n.push(i)}),0\u003Cn.length&&this.editor.updateShapes(n)}updateShapes(){var e=this[\\\"snapshot\\\"];this.dragAndDropManager.updateDroppingNode(e.movingShapes,this.updateParentTransforms),moveShapesToPoint({editor:this.editor,shapeSnapshots:e.shapeSnapshots,averagePagePoint:e.averagePagePoint,initialSelectionPageBounds:e.initialPageBounds,initialSelectionSnapPoints:e.initialSnapPoints}),this.handleChange()}};function getTranslatingSnapshot(i){const n=[],o=[];var e,t=compact(i.getSelectedShapeIds().map(e=>{var t=i.getShape(e);if(!t)return null;n.push(t);var r=i.getShapePageTransform(e).point();return r?(o.push(r),{shape:t,pagePoint:r,parentTransform:PageRecordType.isId(t.parentId)?null:Mat.Inverse(i.getShapePageTransform(t.parentId))}):null}));let r=[];return 1===i.getSelectedShapeIds().length?r=i.snaps.getSnapPointsCache().get(i.getSelectedShapeIds()[0]):(e=i.getSelectionPageBounds())&&(r=e.snapPoints.map((e,t)=>({id:\\\"selection:\\\"+t,x:e.x,y:e.y}))),{averagePagePoint:Vec.Average(o),movingShapes:n,shapeSnapshots:t,initialPageBounds:i.getSelectionPageBounds(),initialSnapPoints:r}}function moveShapesToPoint({editor:e,shapeSnapshots:t,averagePagePoint:r,initialSelectionPageBounds:i,initialSelectionSnapPoints:n}){var o=e[\\\"inputs\\\"],a=e.getInstanceState().isGridMode,s=e.getDocumentSettings().gridSize,l=Vec.Sub(o.currentPagePoint,o.originPagePoint),c=e.inputs.shiftKey?Math.abs(l.x)\u003CMath.abs(l.y)?\\\"x\\\":\\\"y\\\":null,d=(\\\"x\\\"===c?l.x=0:\\\"y\\\"===c&&(l.y=0),e.snaps.clear(),(e.user.getIsSnapMode()?!o.ctrlKey:o.ctrlKey)&&e.inputs.pointerVelocity.len()\u003C.5),c=(d&&(d=e.snaps.snapTranslate({dragDelta:l,initialSelectionPageBounds:i,lockedAxis:c,initialSelectionSnapPoints:n})[\\\"nudge\\\"],l.add(d)),Vec.Add(r,l));a&&!o.ctrlKey&&c.snapToGrid(s);const u=Vec.Sub(c,r);e.updateShapes(compact(t.map(({shape:e,pagePoint:t,parentTransform:r})=>{var i=Vec.Add(t,u),i=r?Mat.applyToPoint(r,i):i;return{id:e.id,type:e.type,x:i.x,y:i.y}})),{squashing:!0})}__publicField(Translating,\\\"id\\\",\\\"translating\\\");var SelectTool=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onExit\\\",()=>{this.editor.getCurrentPageState().editingShapeId&&this.editor.setEditingShape(null)})}},Idle13=(__publicField(SelectTool,\\\"id\\\",\\\"select\\\"),__publicField(SelectTool,\\\"initial\\\",\\\"idle\\\"),__publicField(SelectTool,\\\"children\\\",()=>[Crop,Cropping,Idle12,PointingCanvas,PointingShape,Translating,Brushing,ScribbleBrushing,PointingCropHandle,PointingSelection,PointingResizeHandle,EditingShape,Resizing,Rotating,PointingRotateHandle,PointingHandle,DraggingHandle]),init_esbuild_inject(),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"onEnter\\\",e=>{this.info=e}),__publicField(this,\\\"onPointerDown\\\",()=>{this.parent.transition(\\\"pointing\\\",this.info)})}}),Pointing9=(__publicField(Idle13,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"onEnter\\\",e=>{this.info=e}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onPointerMove\\\",()=>{this.editor.inputs.isDragging&&this.parent.transition(\\\"zoom_brushing\\\",this.info)}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()})}complete(){var e=this.editor.inputs[\\\"currentScreenPoint\\\"];this.editor.inputs.altKey?this.editor.zoomOut(e,{duration:220}):this.editor.zoomIn(e,{duration:220}),this.parent.transition(\\\"idle\\\",this.info)}cancel(){this.parent.transition(\\\"idle\\\",this.info)}}),ZoomBrushing=(__publicField(Pointing9,\\\"id\\\",\\\"pointing\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"zoomBrush\\\",new Box),__publicField(this,\\\"onEnter\\\",e=>{this.info=e,this.update()}),__publicField(this,\\\"onExit\\\",()=>{this.editor.updateInstanceState({zoomBrush:null})}),__publicField(this,\\\"onPointerMove\\\",()=>{this.update()}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()})}update(){var{originPagePoint:e,currentPagePoint:t}=this.editor[\\\"inputs\\\"];this.zoomBrush.setTo(Box.FromPoints([e,t])),this.editor.updateInstanceState({zoomBrush:this.zoomBrush.toJson()})}cancel(){this.parent.transition(\\\"idle\\\",this.info)}complete(){var e=this[\\\"zoomBrush\\\"],t=8/this.editor.getZoomLevel();e.width\u003Ct&&e.height\u003Ct?(t=this.editor.inputs.currentScreenPoint,this.editor.inputs.altKey?this.editor.zoomOut(t,{duration:220}):this.editor.zoomIn(t,{duration:220})):(t=this.editor.inputs.altKey?this.editor.getZoomLevel()/2:void 0,this.editor.zoomToBounds(e,t,{duration:220})),this.parent.transition(\\\"idle\\\",this.info)}}),ZoomTool=(__publicField(ZoomBrushing,\\\"id\\\",\\\"zoom_brushing\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"onEnter\\\",e=>{this.info=e,this.parent.setCurrentToolIdMask(e.onInteractionEnd),this.updateCursor()}),__publicField(this,\\\"onExit\\\",()=>{this.parent.setCurrentToolIdMask(void 0),this.editor.updateInstanceState({zoomBrush:null,cursor:{type:\\\"default\\\",rotation:0}},{ephemeral:!0}),this.parent.setCurrentToolIdMask(void 0)}),__publicField(this,\\\"onKeyDown\\\",()=>{this.updateCursor()}),__publicField(this,\\\"onKeyUp\\\",e=>{this.updateCursor(),\\\"KeyZ\\\"===e.code&&this.complete()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.complete()})}complete(){this.info.onInteractionEnd&&\\\"select\\\"!==this.info.onInteractionEnd?this.editor.setCurrentTool(this.info.onInteractionEnd,this.info):this.parent.transition(\\\"select\\\")}updateCursor(){this.editor.inputs.altKey?this.editor.updateInstanceState({cursor:{type:\\\"zoom-out\\\",rotation:0}},{ephemeral:!0}):this.editor.updateInstanceState({cursor:{type:\\\"zoom-in\\\",rotation:0}},{ephemeral:!0})}}),defaultTools=(__publicField(ZoomTool,\\\"id\\\",\\\"zoom\\\"),__publicField(ZoomTool,\\\"initial\\\",\\\"idle\\\"),__publicField(ZoomTool,\\\"children\\\",()=>[Idle13,ZoomBrushing,Pointing9]),[EraserTool,HandTool,LaserTool,ZoomTool,SelectTool]),import_jsx_runtime124=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function _extends(){return(_extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t\u003Carguments.length;t++){var r,i=arguments[t];for(r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e}).apply(this,arguments)}init_esbuild_inject(),init_esbuild_inject();var import_react65=require(\\\"react\\\"),import_react_dom4=require(\\\"react-dom\\\");function $e42e1063c40fb3ef$export$b9ecd428b558ff10(t,r,{checkForDefaultPrevented:i=!0}={}){return function(e){return null!=t&&t(e),!1!==i&&e.defaultPrevented||null==r?void 0:r(e)}}init_esbuild_inject(),init_esbuild_inject();var import_react52=require(\\\"react\\\");function $6ed0406888f73fc4$var$setRef(e,t){\\\"function\\\"==typeof e?e(t):null!=e&&(e.current=t)}function $6ed0406888f73fc4$export$43e446d32b3d21af(...e){return t=>e.forEach(e=>$6ed0406888f73fc4$var$setRef(e,t))}function $6ed0406888f73fc4$export$c7b2cbe3552a0d05(...e){return(0,import_react52.useCallback)($6ed0406888f73fc4$export$43e446d32b3d21af(...e),e)}init_esbuild_inject();var import_react55=__toESM(require(\\\"react\\\"),1),import_react53=(init_esbuild_inject(),require(\\\"react\\\"));function $c512c27ab02ef895$export$fd42f52fd3ae1109(r,i){const n=(0,import_react53.createContext)(i);function e(e){const{children:t,...r}=e;var i=(0,import_react53.useMemo)(()=>r,Object.values(r));return(0,import_react53.createElement)(n.Provider,{value:i},t)}return e.displayName=r+\\\"Provider\\\",[e,function(e){var t=(0,import_react53.useContext)(n);if(t)return t;if(void 0!==i)return i;throw new Error(`\\\\`${e}\\\\` must be used within \\\\`${r}\\\\``)}]}function $c512c27ab02ef895$export$50c7b4e9d9f19c1(l,e=[]){let t=[];var r=()=>{const r=t.map(e=>(0,import_react53.createContext)(e));return function(e){const t=(null==e?void 0:e[l])||r;return(0,import_react53.useMemo)(()=>({[\\\"__scope\\\"+l]:{...e,[l]:t}}),[e,t])}};return r.scopeName=l,[function(i,n){const a=(0,import_react53.createContext)(n),s=t.length;function e(e){const{scope:t,children:r,...i}=e;var n=(null==t?void 0:t[l][s])||a,o=(0,import_react53.useMemo)(()=>i,Object.values(i));return(0,import_react53.createElement)(n.Provider,{value:o},r)}return t=[...t,n],e.displayName=i+\\\"Provider\\\",[e,function(e,t){var r=(null==t?void 0:t[l][s])||a;if(r=(0,import_react53.useContext)(r))return r;if(void 0!==n)return n;throw new Error(`\\\\`${e}\\\\` must be used within \\\\`${i}\\\\``)}]},$c512c27ab02ef895$var$composeContextScopes(r,...e)]}function $c512c27ab02ef895$var$composeContextScopes(...e){const r=e[0];var t;return 1===e.length?r:((t=()=>{const t=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(n){const e=t.reduce((e,{useScope:t,scopeName:r})=>{var i=t(n)[\\\"__scope\\\"+r];return{...e,...i}},{});return(0,import_react53.useMemo)(()=>({[\\\"__scope\\\"+r.scopeName]:e}),[e])}}).scopeName=r.scopeName,t)}init_esbuild_inject();var import_react54=require(\\\"react\\\"),$5e63c961fc1ce211$export$8c6ed5c666ac1360=(0,import_react54.forwardRef)((e,t)=>{const{children:r,...i}=e;var n=import_react54.Children.toArray(r);const o=n.find($5e63c961fc1ce211$var$isSlottable);if(o){const a=o.props.children;n=n.map(e=>e===o?1\u003Cimport_react54.Children.count(a)?import_react54.Children.only(null):(0,import_react54.isValidElement)(a)?a.props.children:null:e);return(0,import_react54.createElement)($5e63c961fc1ce211$var$SlotClone,_extends({},i,{ref:t}),(0,import_react54.isValidElement)(a)?(0,import_react54.cloneElement)(a,void 0,n):null)}return(0,import_react54.createElement)($5e63c961fc1ce211$var$SlotClone,_extends({},i,{ref:t}),r)}),$5e63c961fc1ce211$var$SlotClone=($5e63c961fc1ce211$export$8c6ed5c666ac1360.displayName=\\\"Slot\\\",(0,import_react54.forwardRef)((e,t)=>{const{children:r,...i}=e;return(0,import_react54.isValidElement)(r)?(0,import_react54.cloneElement)(r,{...$5e63c961fc1ce211$var$mergeProps(i,r.props),ref:t?$6ed0406888f73fc4$export$43e446d32b3d21af(t,r.ref):r.ref}):1\u003Cimport_react54.Children.count(r)?import_react54.Children.only(null):null})),$5e63c961fc1ce211$export$d9f1ccf0bdb05d45=($5e63c961fc1ce211$var$SlotClone.displayName=\\\"SlotClone\\\",({children:e})=>(0,import_react54.createElement)(import_react54.Fragment,null,e));function $5e63c961fc1ce211$var$isSlottable(e){return(0,import_react54.isValidElement)(e)&&e.type===$5e63c961fc1ce211$export$d9f1ccf0bdb05d45}function $5e63c961fc1ce211$var$mergeProps(e,t){var r={...t};for(const i in t){const n=e[i],o=t[i];/^on[A-Z]/.test(i)?n&&o?r[i]=(...e)=>{o(...e),n(...e)}:n&&(r[i]=n):\\\"style\\\"===i?r[i]={...n,...o}:\\\"className\\\"===i&&(r[i]=[n,o].filter(Boolean).join(\\\" \\\"))}return{...e,...r}}function $e02a7d9cb1dc128c$export$c74125a8e3af6bb2(r){var e=r+\\\"CollectionProvider\\\",[t,i]=$c512c27ab02ef895$export$50c7b4e9d9f19c1(e);const[o,l]=t(e,{collectionRef:{current:null},itemMap:new Map});e=e=>{var{scope:t,children:r}=e,i=import_react55[\\\"default\\\"].useRef(null),n=import_react55[\\\"default\\\"].useRef(new Map).current;return import_react55[\\\"default\\\"].createElement(o,{scope:t,itemMap:n,collectionRef:i},r)};const n=r+\\\"CollectionSlot\\\";t=import_react55[\\\"default\\\"].forwardRef((e,t)=>{var{scope:r,children:i}=e,r=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,l(n,r).collectionRef);return import_react55[\\\"default\\\"].createElement($5e63c961fc1ce211$export$8c6ed5c666ac1360,{ref:r},i)});n;const c=r+\\\"CollectionItemSlot\\\",a=\\\"data-radix-collection-item\\\";var s=import_react55[\\\"default\\\"].forwardRef((e,t)=>{const{scope:r,children:i,...n}=e,o=import_react55[\\\"default\\\"].useRef(null);var a=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,o);const s=l(c,r);return import_react55[\\\"default\\\"].useEffect(()=>(s.itemMap.set(o,{ref:o,...n}),()=>{s.itemMap[\\\"delete\\\"](o)})),import_react55[\\\"default\\\"].createElement($5e63c961fc1ce211$export$8c6ed5c666ac1360,{\\\"data-radix-collection-item\\\":\\\"\\\",ref:a},i)});return c,[{Provider:e,Slot:t,ItemSlot:s},function(e){const t=l(r+\\\"CollectionConsumer\\\",e);return import_react55[\\\"default\\\"].useCallback(()=>{var e=t.collectionRef.current;if(!e)return[];const r=Array.from(e.querySelectorAll(`[${a}]`));return Array.from(t.itemMap.values()).sort((e,t)=>r.indexOf(e.ref.current)-r.indexOf(t.ref.current))},[t.collectionRef,t.itemMap])},i]}init_esbuild_inject();var import_react59=require(\\\"react\\\"),import_react56=(init_esbuild_inject(),require(\\\"react\\\")),import_react_dom=require(\\\"react-dom\\\"),$8927f6f2acc4f386$var$NODES=[\\\"a\\\",\\\"button\\\",\\\"div\\\",\\\"form\\\",\\\"h2\\\",\\\"h3\\\",\\\"img\\\",\\\"input\\\",\\\"label\\\",\\\"li\\\",\\\"nav\\\",\\\"ol\\\",\\\"p\\\",\\\"span\\\",\\\"svg\\\",\\\"ul\\\"],$8927f6f2acc4f386$export$250ffa63cdc0d034=$8927f6f2acc4f386$var$NODES.reduce((e,o)=>{var t=(0,import_react56.forwardRef)((e,t)=>{const{asChild:r,...i}=e;var n=r?$5e63c961fc1ce211$export$8c6ed5c666ac1360:o;return(0,import_react56.useEffect)(()=>{window[Symbol[\\\"for\\\"](\\\"radix-ui\\\")]=!0},[]),(0,import_react56.createElement)(n,_extends({},i,{ref:t}))});return t.displayName=\\\"Primitive.\\\"+o,{...e,[o]:t}},{});function $8927f6f2acc4f386$export$6d1a0317bde7de7f(e,t){e&&(0,import_react_dom.flushSync)(()=>e.dispatchEvent(t))}init_esbuild_inject();var import_react57=require(\\\"react\\\");function $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(e){const r=(0,import_react57.useRef)(e);return(0,import_react57.useEffect)(()=>{r.current=e}),(0,import_react57.useMemo)(()=>(...e)=>{var t;return null==(t=r.current)?void 0:t.call(r,...e)},[])}init_esbuild_inject();var import_react58=require(\\\"react\\\");function $addc16e1bbe58fd0$export$3a72a57244d6e765(e,t=null===globalThis||void 0===globalThis?void 0:globalThis.document){const r=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(e);(0,import_react58.useEffect)(()=>{const e=e=>{\\\"Escape\\\"===e.key&&r(e)};return t.addEventListener(\\\"keydown\\\",e),()=>t.removeEventListener(\\\"keydown\\\",e)},[r,t])}var $5cb92bef7577960e$var$originalBodyPointerEvents,$5cb92bef7577960e$var$CONTEXT_UPDATE=\\\"dismissableLayer.update\\\",$5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE=\\\"dismissableLayer.pointerDownOutside\\\",$5cb92bef7577960e$var$FOCUS_OUTSIDE=\\\"dismissableLayer.focusOutside\\\",$5cb92bef7577960e$var$DismissableLayerContext=(0,import_react59.createContext)({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),$5cb92bef7577960e$export$177fb62ff3ec1f22=(0,import_react59.forwardRef)((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:i,onPointerDownOutside:n,onFocusOutside:o,onInteractOutside:a,onDismiss:s,...l}=e,c=(0,import_react59.useContext)($5cb92bef7577960e$var$DismissableLayerContext),[d,u]=(0,import_react59.useState)(null),p=null!=(m=null===d||void 0===d?void 0:d.ownerDocument)?m:null===globalThis||void 0===globalThis?void 0:globalThis.document,[,h]=(0,import_react59.useState)({});var m=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,e=>u(e)),g=Array.from(c.layers),[_]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),_=g.indexOf(_);const f=d?g.indexOf(d):-1;g=0\u003Cc.layersWithOutsidePointerEventsDisabled.size;const b=f>=_;var _=$5cb92bef7577960e$var$usePointerDownOutside(e=>{const t=e.target;var r=[...c.branches].some(e=>e.contains(t));!b||r||(null!==n&&void 0!==n&&n(e),null!==a&&void 0!==a&&a(e),e.defaultPrevented)||null!==s&&void 0!==s&&s()},p),v=$5cb92bef7577960e$var$useFocusOutside(e=>{const t=e.target;[...c.branches].some(e=>e.contains(t))||(null!==o&&void 0!==o&&o(e),null!==a&&void 0!==a&&a(e),e.defaultPrevented)||null!==s&&void 0!==s&&s()},p);return $addc16e1bbe58fd0$export$3a72a57244d6e765(e=>{f===c.layers.size-1&&(null!==i&&void 0!==i&&i(e),!e.defaultPrevented)&&s&&(e.preventDefault(),s())},p),(0,import_react59.useEffect)(()=>{if(d)return r&&(0===c.layersWithOutsidePointerEventsDisabled.size&&($5cb92bef7577960e$var$originalBodyPointerEvents=p.body.style.pointerEvents,p.body.style.pointerEvents=\\\"none\\\"),c.layersWithOutsidePointerEventsDisabled.add(d)),c.layers.add(d),$5cb92bef7577960e$var$dispatchUpdate(),()=>{r&&1===c.layersWithOutsidePointerEventsDisabled.size&&(p.body.style.pointerEvents=$5cb92bef7577960e$var$originalBodyPointerEvents)}},[d,p,r,c]),(0,import_react59.useEffect)(()=>()=>{d&&(c.layers[\\\"delete\\\"](d),c.layersWithOutsidePointerEventsDisabled[\\\"delete\\\"](d),$5cb92bef7577960e$var$dispatchUpdate())},[d,c]),(0,import_react59.useEffect)(()=>{const e=()=>h({});return document.addEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE,e),()=>document.removeEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE,e)},[]),(0,import_react59.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({},l,{ref:m,style:{pointerEvents:g?b?\\\"auto\\\":\\\"none\\\":void 0,...e.style},onFocusCapture:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocusCapture,v.onFocusCapture),onBlurCapture:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onBlurCapture,v.onBlurCapture),onPointerDownCapture:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerDownCapture,_.onPointerDownCapture)}))}),$5cb92bef7577960e$export$4d5eb2109db14228=(0,import_react59.forwardRef)((e,t)=>{const r=(0,import_react59.useContext)($5cb92bef7577960e$var$DismissableLayerContext),i=(0,import_react59.useRef)(null);var n=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,i);return(0,import_react59.useEffect)(()=>{const e=i.current;if(e)return r.branches.add(e),()=>{r.branches[\\\"delete\\\"](e)}},[r.branches]),(0,import_react59.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({},e,{ref:n}))});function $5cb92bef7577960e$var$usePointerDownOutside(e,i=null===globalThis||void 0===globalThis?void 0:globalThis.document){const n=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(e),o=(0,import_react59.useRef)(!1),a=(0,import_react59.useRef)(()=>{});return(0,import_react59.useEffect)(()=>{const e=e=>{if(e.target&&!o.current){var t=function(){$5cb92bef7577960e$var$handleAndDispatchCustomEvent($5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE,n,r,{discrete:!0})};const r={originalEvent:e};\\\"touch\\\"===e.pointerType?(i.removeEventListener(\\\"click\\\",a.current),a.current=t,i.addEventListener(\\\"click\\\",a.current,{once:!0})):t()}o.current=!1},t=window.setTimeout(()=>{i.addEventListener(\\\"pointerdown\\\",e)},0);return()=>{window.clearTimeout(t),i.removeEventListener(\\\"pointerdown\\\",e),i.removeEventListener(\\\"click\\\",a.current)}},[i,n]),{onPointerDownCapture:()=>o.current=!0}}function $5cb92bef7577960e$var$useFocusOutside(e,t=null===globalThis||void 0===globalThis?void 0:globalThis.document){const r=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(e),i=(0,import_react59.useRef)(!1);return(0,import_react59.useEffect)(()=>{const e=e=>{var t;e.target&&!i.current&&(t={originalEvent:e},$5cb92bef7577960e$var$handleAndDispatchCustomEvent($5cb92bef7577960e$var$FOCUS_OUTSIDE,r,t,{discrete:!1}))};return t.addEventListener(\\\"focusin\\\",e),()=>t.removeEventListener(\\\"focusin\\\",e)},[t,r]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function $5cb92bef7577960e$var$dispatchUpdate(){var e=new CustomEvent($5cb92bef7577960e$var$CONTEXT_UPDATE);document.dispatchEvent(e)}function $5cb92bef7577960e$var$handleAndDispatchCustomEvent(e,t,r,{discrete:i}){var n=r.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&n.addEventListener(e,t,{once:!0}),i?$8927f6f2acc4f386$export$6d1a0317bde7de7f(n,o):n.dispatchEvent(o)}var $5cb92bef7577960e$export$be92b6f5f03c0fe9=$5cb92bef7577960e$export$177fb62ff3ec1f22,$5cb92bef7577960e$export$aecb2ddcb55c95be=$5cb92bef7577960e$export$4d5eb2109db14228,import_react60=(init_esbuild_inject(),require(\\\"react\\\")),import_react_dom2=__toESM(require(\\\"react-dom\\\"),1),$f1701beae083dbae$export$602eac185826482c=(0,import_react60.forwardRef)((e,t)=>{var r;const{container:i=null===globalThis||void 0===globalThis||null==(r=globalThis.document)?void 0:r.body,...n}=e;return i?import_react_dom2[\\\"default\\\"].createPortal((0,import_react60.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({},n,{ref:t})),i):null}),import_react62=(init_esbuild_inject(),require(\\\"react\\\")),import_react_dom3=require(\\\"react-dom\\\"),import_react61=(init_esbuild_inject(),require(\\\"react\\\")),$9f79659886946c16$export$e5c5a5f917a5871c=Boolean(null===globalThis||void 0===globalThis?void 0:globalThis.document)?import_react61.useLayoutEffect:()=>{};function $fe963b355347cc68$export$3e6543de14f8614f(e,i){return(0,import_react62.useReducer)((e,t)=>{var r=i[e][t];return null!=r?r:e},e)}var $921a889cee6df7e8$export$99c2b779aa4e8b8b=e=>{var{present:t,children:r}=e,t=$921a889cee6df7e8$var$usePresence(t),i=\\\"function\\\"==typeof r?r({present:t.isPresent}):import_react62.Children.only(r),n=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t.ref,i.ref);return\\\"function\\\"==typeof r||t.isPresent?(0,import_react62.cloneElement)(i,{ref:n}):null};function $921a889cee6df7e8$var$usePresence(n){const[r,t]=(0,import_react62.useState)(),o=(0,import_react62.useRef)({}),a=(0,import_react62.useRef)(n),s=(0,import_react62.useRef)(\\\"none\\\");const[i,l]=$fe963b355347cc68$export$3e6543de14f8614f(n?\\\"mounted\\\":\\\"unmounted\\\",{mounted:{UNMOUNT:\\\"unmounted\\\",ANIMATION_OUT:\\\"unmountSuspended\\\"},unmountSuspended:{MOUNT:\\\"mounted\\\",ANIMATION_END:\\\"unmounted\\\"},unmounted:{MOUNT:\\\"mounted\\\"}});return(0,import_react62.useEffect)(()=>{var e=$921a889cee6df7e8$var$getAnimationName(o.current);s.current=\\\"mounted\\\"===i?e:\\\"none\\\"},[i]),$9f79659886946c16$export$e5c5a5f917a5871c(()=>{var e,t,r=o.current,i=a.current;i!==n&&(e=s.current,t=$921a889cee6df7e8$var$getAnimationName(r),n?l(\\\"MOUNT\\\"):\\\"none\\\"!==t&&\\\"none\\\"!==(null==r?void 0:r.display)&&i&&e!==t?l(\\\"ANIMATION_OUT\\\"):l(\\\"UNMOUNT\\\"),a.current=n)},[n,l]),$9f79659886946c16$export$e5c5a5f917a5871c(()=>{if(r){const e=e=>{var t=$921a889cee6df7e8$var$getAnimationName(o.current).includes(e.animationName);e.target===r&&t&&(0,import_react_dom3.flushSync)(()=>l(\\\"ANIMATION_END\\\"))},t=e=>{e.target===r&&(s.current=$921a889cee6df7e8$var$getAnimationName(o.current))};return r.addEventListener(\\\"animationstart\\\",t),r.addEventListener(\\\"animationcancel\\\",e),r.addEventListener(\\\"animationend\\\",e),()=>{r.removeEventListener(\\\"animationstart\\\",t),r.removeEventListener(\\\"animationcancel\\\",e),r.removeEventListener(\\\"animationend\\\",e)}}l(\\\"ANIMATION_END\\\")},[r,l]),{isPresent:[\\\"mounted\\\",\\\"unmountSuspended\\\"].includes(i),ref:(0,import_react62.useCallback)(e=>{e&&(o.current=getComputedStyle(e)),t(e)},[])}}function $921a889cee6df7e8$var$getAnimationName(e){return(null==e?void 0:e.animationName)||\\\"none\\\"}$921a889cee6df7e8$export$99c2b779aa4e8b8b.displayName=\\\"Presence\\\",init_esbuild_inject();var import_react63=require(\\\"react\\\");function $71cd76cc60e0454e$export$6f32135080cb4c3({prop:r,defaultProp:e,onChange:t=()=>{}}){const[i,n]=$71cd76cc60e0454e$var$useUncontrolledState({defaultProp:e,onChange:t}),o=void 0!==r;var a=o?r:i;const s=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(t);return[a,(0,import_react63.useCallback)(e=>{var t;o?(t=\\\"function\\\"==typeof e?e(r):e)!==r&&s(t):n(e)},[o,r,n,s])]}function $71cd76cc60e0454e$var$useUncontrolledState({defaultProp:e,onChange:t}){var r=(0,import_react63.useState)(e);const[i]=r,n=(0,import_react63.useRef)(i),o=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(t);return(0,import_react63.useEffect)(()=>{n.current!==i&&(o(i),n.current=i)},[i,n,o]),r}init_esbuild_inject();var import_react64=require(\\\"react\\\"),$ea1ef594cf570d83$export$439d29a4e110a164=(0,import_react64.forwardRef)((e,t)=>(0,import_react64.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.span,_extends({},e,{ref:t,style:{position:\\\"absolute\\\",border:0,width:1,height:1,padding:0,margin:-1,overflow:\\\"hidden\\\",clip:\\\"rect(0, 0, 0, 0)\\\",whiteSpace:\\\"nowrap\\\",wordWrap:\\\"normal\\\",...e.style}}))),$054eb8030ebde76e$var$PROVIDER_NAME=\\\"ToastProvider\\\",[$054eb8030ebde76e$var$Collection,$054eb8030ebde76e$var$useCollection,$054eb8030ebde76e$var$createCollectionScope]=$e02a7d9cb1dc128c$export$c74125a8e3af6bb2(\\\"Toast\\\"),[$054eb8030ebde76e$var$createToastContext,$054eb8030ebde76e$export$8a359da18fbc9073]=$c512c27ab02ef895$export$50c7b4e9d9f19c1(\\\"Toast\\\",[$054eb8030ebde76e$var$createCollectionScope]),[$054eb8030ebde76e$var$ToastProviderProvider,$054eb8030ebde76e$var$useToastProviderContext]=$054eb8030ebde76e$var$createToastContext($054eb8030ebde76e$var$PROVIDER_NAME),$054eb8030ebde76e$export$f5d03d415824e0e=e=>{var{__scopeToast:t,label:r=\\\"Notification\\\",duration:i=5e3,swipeDirection:n=\\\"right\\\",swipeThreshold:o=50,children:a}=e,[s,l]=(0,import_react65.useState)(null);const[c,d]=(0,import_react65.useState)(0);var u=(0,import_react65.useRef)(!1),p=(0,import_react65.useRef)(!1);return(0,import_react65.createElement)($054eb8030ebde76e$var$Collection.Provider,{scope:t},(0,import_react65.createElement)($054eb8030ebde76e$var$ToastProviderProvider,{scope:t,label:r,duration:i,swipeDirection:n,swipeThreshold:o,toastCount:c,viewport:s,onViewportChange:l,onToastAdd:(0,import_react65.useCallback)(()=>d(e=>e+1),[]),onToastRemove:(0,import_react65.useCallback)(()=>d(e=>e-1),[]),isFocusedToastEscapeKeyDownRef:u,isClosePausedRef:p},a))},$054eb8030ebde76e$var$VIEWPORT_NAME=($054eb8030ebde76e$export$f5d03d415824e0e.propTypes={label(e){return e.label&&\\\"string\\\"==typeof e.label&&!e.label.trim()?new Error(`Invalid prop \\\\`label\\\\` supplied to \\\\`${$054eb8030ebde76e$var$PROVIDER_NAME}\\\\`. Expected non-empty \\\\`string\\\\`.`):null}},\\\"ToastViewport\\\"),$054eb8030ebde76e$var$VIEWPORT_DEFAULT_HOTKEY=[\\\"F8\\\"],$054eb8030ebde76e$var$VIEWPORT_PAUSE=\\\"toast.viewportPause\\\",$054eb8030ebde76e$var$VIEWPORT_RESUME=\\\"toast.viewportResume\\\",$054eb8030ebde76e$export$6192c2425ecfd989=(0,import_react65.forwardRef)((e,t)=>{const{__scopeToast:r,hotkey:i=$054eb8030ebde76e$var$VIEWPORT_DEFAULT_HOTKEY,label:n=\\\"Notifications ({hotkey})\\\",...o}=e,a=$054eb8030ebde76e$var$useToastProviderContext($054eb8030ebde76e$var$VIEWPORT_NAME,r),s=$054eb8030ebde76e$var$useCollection(r),l=(0,import_react65.useRef)(null),c=(0,import_react65.useRef)(null),d=(0,import_react65.useRef)(null),u=(0,import_react65.useRef)(null);var p=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,u,a.onViewportChange),h=i.join(\\\"+\\\").replace(/Key/g,\\\"\\\").replace(/Digit/g,\\\"\\\");const m=0\u003Ca.toastCount,g=((0,import_react65.useEffect)(()=>{const e=t=>{var e;i.every(e=>t[e]||t.code===e)&&null!=(e=u.current)&&e.focus()};return document.addEventListener(\\\"keydown\\\",e),()=>document.removeEventListener(\\\"keydown\\\",e)},[i]),(0,import_react65.useEffect)(()=>{const t=l.current,r=u.current;if(m&&t&&r){const e=()=>{var e;a.isClosePausedRef.current||(e=new CustomEvent($054eb8030ebde76e$var$VIEWPORT_PAUSE),r.dispatchEvent(e),a.isClosePausedRef.current=!0)},i=()=>{var e;a.isClosePausedRef.current&&(e=new CustomEvent($054eb8030ebde76e$var$VIEWPORT_RESUME),r.dispatchEvent(e),a.isClosePausedRef.current=!1)},n=e=>{t.contains(e.relatedTarget)||i()},o=()=>{t.contains(document.activeElement)||i()};return t.addEventListener(\\\"focusin\\\",e),t.addEventListener(\\\"focusout\\\",n),t.addEventListener(\\\"pointermove\\\",e),t.addEventListener(\\\"pointerleave\\\",o),window.addEventListener(\\\"blur\\\",e),window.addEventListener(\\\"focus\\\",i),()=>{t.removeEventListener(\\\"focusin\\\",e),t.removeEventListener(\\\"focusout\\\",n),t.removeEventListener(\\\"pointermove\\\",e),t.removeEventListener(\\\"pointerleave\\\",o),window.removeEventListener(\\\"blur\\\",e),window.removeEventListener(\\\"focus\\\",i)}}},[m,a.isClosePausedRef]),(0,import_react65.useCallback)(({tabbingDirection:r})=>{var e=s().map(e=>{var t=e.ref.current,t=[t,...$054eb8030ebde76e$var$getTabbableCandidates(t)];return\\\"forwards\\\"===r?t:t.reverse()});return(\\\"forwards\\\"===r?e.reverse():e).flat()},[s]));return(0,import_react65.useEffect)(()=>{const o=u.current;if(o){const e=e=>{var t=e.altKey||e.ctrlKey||e.metaKey;if(\\\"Tab\\\"===e.key&&!t){const n=document.activeElement;var r,i,t=e.shiftKey;e.target===o&&t?null!=(i=c.current)&&i.focus():(i=t?\\\"backwards\\\":\\\"forwards\\\",r=(i=g({tabbingDirection:i})).findIndex(e=>e===n),$054eb8030ebde76e$var$focusFirst(i.slice(r+1))?e.preventDefault():t?null!=(r=c.current)&&r.focus():null!=(i=d.current)&&i.focus())}};return o.addEventListener(\\\"keydown\\\",e),()=>o.removeEventListener(\\\"keydown\\\",e)}},[s,g]),(0,import_react65.createElement)($5cb92bef7577960e$export$aecb2ddcb55c95be,{ref:l,role:\\\"region\\\",\\\"aria-label\\\":n.replace(\\\"{hotkey}\\\",h),tabIndex:-1,style:{pointerEvents:m?void 0:\\\"none\\\"}},m&&(0,import_react65.createElement)($054eb8030ebde76e$var$FocusProxy,{ref:c,onFocusFromOutsideViewport:()=>{$054eb8030ebde76e$var$focusFirst(g({tabbingDirection:\\\"forwards\\\"}))}}),(0,import_react65.createElement)($054eb8030ebde76e$var$Collection.Slot,{scope:r},(0,import_react65.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.ol,_extends({tabIndex:-1},o,{ref:p}))),m&&(0,import_react65.createElement)($054eb8030ebde76e$var$FocusProxy,{ref:d,onFocusFromOutsideViewport:()=>{$054eb8030ebde76e$var$focusFirst(g({tabbingDirection:\\\"backwards\\\"}))}}))}),$054eb8030ebde76e$var$FOCUS_PROXY_NAME=\\\"ToastFocusProxy\\\",$054eb8030ebde76e$var$FocusProxy=(0,import_react65.forwardRef)((e,t)=>{const{__scopeToast:r,onFocusFromOutsideViewport:i,...n}=e,o=$054eb8030ebde76e$var$useToastProviderContext($054eb8030ebde76e$var$FOCUS_PROXY_NAME,r);return(0,import_react65.createElement)($ea1ef594cf570d83$export$439d29a4e110a164,_extends({\\\"aria-hidden\\\":!0,tabIndex:0},n,{ref:t,style:{position:\\\"fixed\\\"},onFocus:e=>{var t,r=e.relatedTarget;null!=(t=o.viewport)&&t.contains(r)||i()}}))}),$054eb8030ebde76e$var$TOAST_NAME=\\\"Toast\\\",$054eb8030ebde76e$var$TOAST_SWIPE_START=\\\"toast.swipeStart\\\",$054eb8030ebde76e$var$TOAST_SWIPE_MOVE=\\\"toast.swipeMove\\\",$054eb8030ebde76e$var$TOAST_SWIPE_CANCEL=\\\"toast.swipeCancel\\\",$054eb8030ebde76e$var$TOAST_SWIPE_END=\\\"toast.swipeEnd\\\",$054eb8030ebde76e$export$8d8dc7d5f743331b=(0,import_react65.forwardRef)((e,t)=>{const{forceMount:r,open:i,defaultOpen:n,onOpenChange:o,...a}=e,[s=!0,l]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:i,defaultProp:n,onChange:o});return(0,import_react65.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:r||s},(0,import_react65.createElement)($054eb8030ebde76e$var$ToastImpl,_extends({open:s},a,{ref:t,onClose:()=>l(!1),onPause:$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(e.onPause),onResume:$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(e.onResume),onSwipeStart:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onSwipeStart,e=>{e.currentTarget.setAttribute(\\\"data-swipe\\\",\\\"start\\\")}),onSwipeMove:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onSwipeMove,e=>{var{x:t,y:r}=e.detail.delta;e.currentTarget.setAttribute(\\\"data-swipe\\\",\\\"move\\\"),e.currentTarget.style.setProperty(\\\"--radix-toast-swipe-move-x\\\",t+\\\"px\\\"),e.currentTarget.style.setProperty(\\\"--radix-toast-swipe-move-y\\\",r+\\\"px\\\")}),onSwipeCancel:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onSwipeCancel,e=>{e.currentTarget.setAttribute(\\\"data-swipe\\\",\\\"cancel\\\"),e.currentTarget.style.removeProperty(\\\"--radix-toast-swipe-move-x\\\"),e.currentTarget.style.removeProperty(\\\"--radix-toast-swipe-move-y\\\"),e.currentTarget.style.removeProperty(\\\"--radix-toast-swipe-end-x\\\"),e.currentTarget.style.removeProperty(\\\"--radix-toast-swipe-end-y\\\")}),onSwipeEnd:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onSwipeEnd,e=>{var{x:t,y:r}=e.detail.delta;e.currentTarget.setAttribute(\\\"data-swipe\\\",\\\"end\\\"),e.currentTarget.style.removeProperty(\\\"--radix-toast-swipe-move-x\\\"),e.currentTarget.style.removeProperty(\\\"--radix-toast-swipe-move-y\\\"),e.currentTarget.style.setProperty(\\\"--radix-toast-swipe-end-x\\\",t+\\\"px\\\"),e.currentTarget.style.setProperty(\\\"--radix-toast-swipe-end-y\\\",r+\\\"px\\\"),l(!1)})})))}),[$054eb8030ebde76e$var$ToastInteractiveProvider,$054eb8030ebde76e$var$useToastInteractiveContext]=$054eb8030ebde76e$var$createToastContext($054eb8030ebde76e$var$TOAST_NAME,{onClose(){}}),$054eb8030ebde76e$var$ToastImpl=(0,import_react65.forwardRef)((e,t)=>{const{__scopeToast:r,type:i=\\\"foreground\\\",duration:n,open:o,onClose:a,onEscapeKeyDown:s,onPause:l,onResume:c,onSwipeStart:d,onSwipeMove:u,onSwipeCancel:p,onSwipeEnd:h,...m}=e,g=$054eb8030ebde76e$var$useToastProviderContext($054eb8030ebde76e$var$TOAST_NAME,r),[_,f]=(0,import_react65.useState)(null);var b=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,e=>f(e));const v=(0,import_react65.useRef)(null),y=(0,import_react65.useRef)(null),S=n||g.duration,x=(0,import_react65.useRef)(0),w=(0,import_react65.useRef)(S),$=(0,import_react65.useRef)(0),{onToastAdd:E,onToastRemove:P}=g,I=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(()=>{var e;(null===_||void 0===_?void 0:_.contains(document.activeElement))&&null!=(e=g.viewport)&&e.focus(),a()}),j=(0,import_react65.useCallback)(e=>{e&&e!==Infinity&&(window.clearTimeout($.current),x.current=(new Date).getTime(),$.current=window.setTimeout(I,e))},[I]);(0,import_react65.useEffect)(()=>{const e=g.viewport;if(e){const t=()=>{j(w.current),null!==c&&void 0!==c&&c()},r=()=>{var e=(new Date).getTime()-x.current;w.current=w.current-e,window.clearTimeout($.current),null!==l&&void 0!==l&&l()};return e.addEventListener($054eb8030ebde76e$var$VIEWPORT_PAUSE,r),e.addEventListener($054eb8030ebde76e$var$VIEWPORT_RESUME,t),()=>{e.removeEventListener($054eb8030ebde76e$var$VIEWPORT_PAUSE,r),e.removeEventListener($054eb8030ebde76e$var$VIEWPORT_RESUME,t)}}},[g.viewport,S,l,c,j]),(0,import_react65.useEffect)(()=>{o&&!g.isClosePausedRef.current&&j(S)},[o,S,g.isClosePausedRef,j]),(0,import_react65.useEffect)(()=>(E(),()=>P()),[E,P]);var C=(0,import_react65.useMemo)(()=>_?$054eb8030ebde76e$var$getAnnounceTextContent(_):null,[_]);return g.viewport?(0,import_react65.createElement)(import_react65.Fragment,null,C&&(0,import_react65.createElement)($054eb8030ebde76e$var$ToastAnnounce,{__scopeToast:r,role:\\\"status\\\",\\\"aria-live\\\":\\\"foreground\\\"===i?\\\"assertive\\\":\\\"polite\\\",\\\"aria-atomic\\\":!0},C),(0,import_react65.createElement)($054eb8030ebde76e$var$ToastInteractiveProvider,{scope:r,onClose:I},(0,import_react_dom4.createPortal)((0,import_react65.createElement)($054eb8030ebde76e$var$Collection.ItemSlot,{scope:r},(0,import_react65.createElement)($5cb92bef7577960e$export$be92b6f5f03c0fe9,{asChild:!0,onEscapeKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(s,()=>{g.isFocusedToastEscapeKeyDownRef.current||I(),g.isFocusedToastEscapeKeyDownRef.current=!1})},(0,import_react65.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.li,_extends({role:\\\"status\\\",\\\"aria-live\\\":\\\"off\\\",\\\"aria-atomic\\\":!0,tabIndex:0,\\\"data-state\\\":o?\\\"open\\\":\\\"closed\\\",\\\"data-swipe-direction\\\":g.swipeDirection},m,{ref:b,style:{userSelect:\\\"none\\\",touchAction:\\\"none\\\",...e.style},onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onKeyDown,e=>{\\\"Escape\\\"!==e.key||(null!==s&&void 0!==s&&s(e.nativeEvent),e.nativeEvent.defaultPrevented)||(g.isFocusedToastEscapeKeyDownRef.current=!0,I())}),onPointerDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerDown,e=>{0===e.button&&(v.current={x:e.clientX,y:e.clientY})}),onPointerMove:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerMove,e=>{var t,r,i,n,o,a;v.current&&(t=e.clientX-v.current.x,r=e.clientY-v.current.y,i=Boolean(y.current),a=[\\\"left\\\",\\\"right\\\"].includes(g.swipeDirection),n=[\\\"left\\\",\\\"up\\\"].includes(g.swipeDirection)?Math.min:Math.max,o=a?n(0,t):0,a=a?0:n(0,r),n=\\\"touch\\\"===e.pointerType?10:2,a={originalEvent:e,delta:o={x:o,y:a}},i?(y.current=o,$054eb8030ebde76e$var$handleAndDispatchCustomEvent($054eb8030ebde76e$var$TOAST_SWIPE_MOVE,u,a,{discrete:!1})):$054eb8030ebde76e$var$isDeltaInDirection(o,g.swipeDirection,n)?(y.current=o,$054eb8030ebde76e$var$handleAndDispatchCustomEvent($054eb8030ebde76e$var$TOAST_SWIPE_START,d,a,{discrete:!1}),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>n||Math.abs(r)>n)&&(v.current=null))}),onPointerUp:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerUp,e=>{var t,r=y.current,i=e.target;i.hasPointerCapture(e.pointerId)&&i.releasePointerCapture(e.pointerId),y.current=null,v.current=null,r&&(i=e.currentTarget,t={originalEvent:e,delta:r},$054eb8030ebde76e$var$isDeltaInDirection(r,g.swipeDirection,g.swipeThreshold)?$054eb8030ebde76e$var$handleAndDispatchCustomEvent($054eb8030ebde76e$var$TOAST_SWIPE_END,h,t,{discrete:!0}):$054eb8030ebde76e$var$handleAndDispatchCustomEvent($054eb8030ebde76e$var$TOAST_SWIPE_CANCEL,p,t,{discrete:!0}),i.addEventListener(\\\"click\\\",e=>e.preventDefault(),{once:!0}))})})))),g.viewport))):null}),$054eb8030ebde76e$var$ToastAnnounce=($054eb8030ebde76e$var$ToastImpl.propTypes={type(e){return e.type&&![\\\"foreground\\\",\\\"background\\\"].includes(e.type)?new Error(`Invalid prop \\\\`type\\\\` supplied to \\\\`${$054eb8030ebde76e$var$TOAST_NAME}\\\\`. Expected \\\\`foreground | background\\\\`.`):null}},e=>{const{__scopeToast:t,children:r,...i}=e;var n=$054eb8030ebde76e$var$useToastProviderContext($054eb8030ebde76e$var$TOAST_NAME,t);const[o,a]=(0,import_react65.useState)(!1),[s,l]=(0,import_react65.useState)(!1);return $054eb8030ebde76e$var$useNextFrame(()=>a(!0)),(0,import_react65.useEffect)(()=>{const e=window.setTimeout(()=>l(!0),1e3);return()=>window.clearTimeout(e)},[]),s?null:(0,import_react65.createElement)($f1701beae083dbae$export$602eac185826482c,{asChild:!0},(0,import_react65.createElement)($ea1ef594cf570d83$export$439d29a4e110a164,i,o&&(0,import_react65.createElement)(import_react65.Fragment,null,n.label,\\\" \\\",r)))}),$054eb8030ebde76e$export$16d42d7c29b95a4=(0,import_react65.forwardRef)((e,t)=>{const{__scopeToast:r,...i}=e;return(0,import_react65.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({},i,{ref:t}))}),$054eb8030ebde76e$export$ecddd96c53621d9a=(0,import_react65.forwardRef)((e,t)=>{const{__scopeToast:r,...i}=e;return(0,import_react65.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({},i,{ref:t}))}),$054eb8030ebde76e$var$ACTION_NAME=\\\"ToastAction\\\",$054eb8030ebde76e$export$3019feecfda683d2=(0,import_react65.forwardRef)((e,t)=>{const{altText:r,...i}=e;return r?(0,import_react65.createElement)($054eb8030ebde76e$var$ToastAnnounceExclude,{altText:r,asChild:!0},(0,import_react65.createElement)($054eb8030ebde76e$export$811e70f61c205839,_extends({},i,{ref:t}))):null}),$054eb8030ebde76e$var$CLOSE_NAME=($054eb8030ebde76e$export$3019feecfda683d2.propTypes={altText(e){return e.altText?null:new Error(`Missing prop \\\\`altText\\\\` expected on \\\\`${$054eb8030ebde76e$var$ACTION_NAME}\\\\``)}},\\\"ToastClose\\\"),$054eb8030ebde76e$export$811e70f61c205839=(0,import_react65.forwardRef)((e,t)=>{const{__scopeToast:r,...i}=e;var n=$054eb8030ebde76e$var$useToastInteractiveContext($054eb8030ebde76e$var$CLOSE_NAME,r);return(0,import_react65.createElement)($054eb8030ebde76e$var$ToastAnnounceExclude,{asChild:!0},(0,import_react65.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.button,_extends({type:\\\"button\\\"},i,{ref:t,onClick:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onClick,n.onClose)})))}),$054eb8030ebde76e$var$ToastAnnounceExclude=(0,import_react65.forwardRef)((e,t)=>{const{__scopeToast:r,altText:i,...n}=e;return(0,import_react65.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({\\\"data-radix-toast-announce-exclude\\\":\\\"\\\",\\\"data-radix-toast-announce-alt\\\":i||void 0},n,{ref:t}))});function $054eb8030ebde76e$var$getAnnounceTextContent(e){const i=[];return Array.from(e.childNodes).forEach(e=>{var t,r;e.nodeType===e.TEXT_NODE&&e.textContent&&i.push(e.textContent),$054eb8030ebde76e$var$isHTMLElement(e)&&(r=e.ariaHidden||e.hidden||\\\"none\\\"===e.style.display,t=\\\"\\\"===e.dataset.radixToastAnnounceExclude,r||(t?(r=e.dataset.radixToastAnnounceAlt)&&i.push(r):i.push(...$054eb8030ebde76e$var$getAnnounceTextContent(e))))}),i}function $054eb8030ebde76e$var$handleAndDispatchCustomEvent(e,t,r,{discrete:i}){var n=r.originalEvent.currentTarget,o=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:r});t&&n.addEventListener(e,t,{once:!0}),i?$8927f6f2acc4f386$export$6d1a0317bde7de7f(n,o):n.dispatchEvent(o)}var $054eb8030ebde76e$var$isDeltaInDirection=(e,t,r=0)=>{var i=Math.abs(e.x),n=Math.abs(e.y),o=n\u003Ci;return\\\"left\\\"===t||\\\"right\\\"===t?o&&r\u003Ci:!o&&r\u003Cn};function $054eb8030ebde76e$var$useNextFrame(e=()=>{}){const r=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(e);$9f79659886946c16$export$e5c5a5f917a5871c(()=>{let e,t=0;return e=window.requestAnimationFrame(()=>t=window.requestAnimationFrame(r)),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(t)}},[r])}function $054eb8030ebde76e$var$isHTMLElement(e){return e.nodeType===e.ELEMENT_NODE}function $054eb8030ebde76e$var$getTabbableCandidates(e){for(var t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{var t=\\\"INPUT\\\"===e.tagName&&\\\"hidden\\\"===e.type;return!(e.disabled||e.hidden||t)&&0\u003C=e.tabIndex?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});r.nextNode();)t.push(r.currentNode);return t}function $054eb8030ebde76e$var$focusFirst(e){const t=document.activeElement;return e.some(e=>e===t||(e.focus(),document.activeElement!==t))}var $054eb8030ebde76e$export$be92b6f5f03c0fe9=$054eb8030ebde76e$export$8d8dc7d5f743331b,$054eb8030ebde76e$export$f99233281efd08a0=$054eb8030ebde76e$export$16d42d7c29b95a4,$054eb8030ebde76e$export$393edc798c47379d=$054eb8030ebde76e$export$ecddd96c53621d9a,$054eb8030ebde76e$export$e19cd5f9376f8cee=$054eb8030ebde76e$export$3019feecfda683d2,$054eb8030ebde76e$export$f39c2d165cd861fe=$054eb8030ebde76e$export$811e70f61c205839,import_classnames24=__toESM(require_classnames(),1),import_react121=__toESM(require(\\\"react\\\"),1),import_jsx_runtime91=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),version=(init_esbuild_inject(),init_esbuild_inject(),\\\"2.0.0-canary.01ab3604d0d1\\\"),import_react66=(init_esbuild_inject(),require(\\\"react\\\")),defaultEditorAssetUrls={fonts:{draw:`https://unpkg.com/@tldraw/assets@${version}/fonts/Shantell_Sans-Tldrawish.woff2`,serif:`https://unpkg.com/@tldraw/assets@${version}/fonts/IBMPlexSerif-Medium.woff2`,sansSerif:`https://unpkg.com/@tldraw/assets@${version}/fonts/IBMPlexSans-Medium.woff2`,monospace:`https://unpkg.com/@tldraw/assets@${version}/fonts/IBMPlexMono-Medium.woff2`}};function useDefaultEditorAssetsWithOverrides(e){return(0,import_react66.useMemo)(()=>e?{fonts:{...defaultEditorAssetUrls.fonts,...null==e?void 0:e.fonts}}:defaultEditorAssetUrls,[e])}init_esbuild_inject();var iconTypes=[\\\"align-bottom-center\\\",\\\"align-bottom-left\\\",\\\"align-bottom-right\\\",\\\"align-bottom\\\",\\\"align-center-center\\\",\\\"align-center-horizontal\\\",\\\"align-center-left\\\",\\\"align-center-right\\\",\\\"align-center-vertical\\\",\\\"align-left\\\",\\\"align-right\\\",\\\"align-top-center\\\",\\\"align-top-left\\\",\\\"align-top-right\\\",\\\"align-top\\\",\\\"arrow-left\\\",\\\"arrowhead-arrow\\\",\\\"arrowhead-bar\\\",\\\"arrowhead-diamond\\\",\\\"arrowhead-dot\\\",\\\"arrowhead-none\\\",\\\"arrowhead-square\\\",\\\"arrowhead-triangle-inverted\\\",\\\"arrowhead-triangle\\\",\\\"aspect-ratio\\\",\\\"avatar\\\",\\\"blob\\\",\\\"bring-forward\\\",\\\"bring-to-front\\\",\\\"check\\\",\\\"checkbox-checked\\\",\\\"checkbox-empty\\\",\\\"chevron-down\\\",\\\"chevron-left\\\",\\\"chevron-right\\\",\\\"chevron-up\\\",\\\"chevrons-ne\\\",\\\"chevrons-sw\\\",\\\"clipboard-copied\\\",\\\"clipboard-copy\\\",\\\"code\\\",\\\"collab\\\",\\\"color\\\",\\\"comment\\\",\\\"cross-2\\\",\\\"cross\\\",\\\"dash-dashed\\\",\\\"dash-dotted\\\",\\\"dash-draw\\\",\\\"dash-solid\\\",\\\"discord\\\",\\\"distribute-horizontal\\\",\\\"distribute-vertical\\\",\\\"dot\\\",\\\"dots-horizontal\\\",\\\"dots-vertical\\\",\\\"drag-handle-dots\\\",\\\"duplicate\\\",\\\"edit\\\",\\\"external-link\\\",\\\"file\\\",\\\"fill-none\\\",\\\"fill-pattern\\\",\\\"fill-semi\\\",\\\"fill-solid\\\",\\\"follow\\\",\\\"following\\\",\\\"font-draw\\\",\\\"font-mono\\\",\\\"font-sans\\\",\\\"font-serif\\\",\\\"geo-arrow-down\\\",\\\"geo-arrow-left\\\",\\\"geo-arrow-right\\\",\\\"geo-arrow-up\\\",\\\"geo-check-box\\\",\\\"geo-cloud\\\",\\\"geo-diamond\\\",\\\"geo-ellipse\\\",\\\"geo-hexagon\\\",\\\"geo-octagon\\\",\\\"geo-oval\\\",\\\"geo-pentagon\\\",\\\"geo-rectangle\\\",\\\"geo-rhombus-2\\\",\\\"geo-rhombus\\\",\\\"geo-star\\\",\\\"geo-trapezoid\\\",\\\"geo-triangle\\\",\\\"geo-x-box\\\",\\\"github\\\",\\\"group\\\",\\\"hidden\\\",\\\"image\\\",\\\"info-circle\\\",\\\"leading\\\",\\\"link\\\",\\\"lock-small\\\",\\\"lock\\\",\\\"menu\\\",\\\"minus\\\",\\\"mixed\\\",\\\"pack\\\",\\\"page\\\",\\\"plus\\\",\\\"question-mark-circle\\\",\\\"question-mark\\\",\\\"redo\\\",\\\"reset-zoom\\\",\\\"rotate-ccw\\\",\\\"rotate-cw\\\",\\\"ruler\\\",\\\"search\\\",\\\"send-backward\\\",\\\"send-to-back\\\",\\\"settings-horizontal\\\",\\\"settings-vertical-1\\\",\\\"settings-vertical\\\",\\\"share-1\\\",\\\"share-2\\\",\\\"size-extra-large\\\",\\\"size-large\\\",\\\"size-medium\\\",\\\"size-small\\\",\\\"spline-cubic\\\",\\\"spline-line\\\",\\\"stack-horizontal\\\",\\\"stack-vertical\\\",\\\"status-offline\\\",\\\"status-online\\\",\\\"stretch-horizontal\\\",\\\"stretch-vertical\\\",\\\"text-align-center\\\",\\\"text-align-justify\\\",\\\"text-align-left\\\",\\\"text-align-right\\\",\\\"tool-arrow\\\",\\\"tool-embed\\\",\\\"tool-eraser\\\",\\\"tool-frame\\\",\\\"tool-hand\\\",\\\"tool-highlight\\\",\\\"tool-laser\\\",\\\"tool-line\\\",\\\"tool-media\\\",\\\"tool-note\\\",\\\"tool-pencil\\\",\\\"tool-pointer\\\",\\\"tool-text\\\",\\\"trash\\\",\\\"triangle-down\\\",\\\"triangle-up\\\",\\\"twitter\\\",\\\"undo\\\",\\\"ungroup\\\",\\\"unlock-small\\\",\\\"unlock\\\",\\\"vertical-align-center\\\",\\\"vertical-align-end\\\",\\\"vertical-align-start\\\",\\\"visible\\\",\\\"warning-triangle\\\",\\\"zoom-in\\\",\\\"zoom-out\\\"],defaultUiAssetUrls={...defaultEditorAssetUrls,icons:Object.fromEntries(iconTypes.map(e=>[e,`https://unpkg.com/@tldraw/assets@${version}/icons/icon/${e}.svg`])),translations:Object.fromEntries(LANGUAGES.map(e=>[e.locale,`https://unpkg.com/@tldraw/assets@${version}/translations/${e.locale}.json`])),embedIcons:Object.fromEntries(EMBED_DEFINITIONS.map(e=>[e.type,`https://unpkg.com/@tldraw/assets@${version}/embed-icons/${e.type}.png`]))};function useDefaultUiAssetUrlsWithOverrides(e){return e?{fonts:Object.assign({...defaultUiAssetUrls.fonts},{...null==e?void 0:e.fonts}),icons:Object.assign({...defaultUiAssetUrls.icons},{...null==e?void 0:e.icons}),embedIcons:Object.assign({...defaultUiAssetUrls.embedIcons},{...null==e?void 0:e.embedIcons}),translations:Object.assign({...defaultUiAssetUrls.translations},{...null==e?void 0:e.translations})}:defaultUiAssetUrls}init_esbuild_inject();var import_jsx_runtime81=require(\\\"react/jsx-runtime\\\"),React43=__toESM(require(\\\"react\\\"),1);function removeFrame(r,e){const t=compact(e.map(e=>r.getShape(e)).filter(e=>e&&r.isShapeOfType(e,\\\"frame\\\")));if(t.length){const i=[];r.batch(()=>{t.map(e=>{var t=r.getSortedChildIdsForParent(e.id);t.length&&(r.reparentShapes(t,e.parentId,e.index),i.push(...t))}),r.setSelectedShapes(i),r.deleteShapes(e)})}}init_esbuild_inject();var DEFAULT_FRAME_PADDING=50;function fitFrameToContent(r,e,t={}){const i=r.getShape(e);if(i){const a=r.getSortedChildIdsForParent(i.id);var n=compact(a.map(e=>r.getShape(e)));if(n.length){var n=Box.FromPoints(n.flatMap(e=>{var t=r.getShapeGeometry(e.id);return r.getShapeLocalTransform(e).applyToPoints(t.vertices)})),{padding:o=DEFAULT_FRAME_PADDING}=t;const s=n.w+2*o,l=n.h+2*o,c=o-n.minX,d=o-n.minY;if(0!=c||0!=d||i.props.w!==s||i.props.h!==l){const u=new Vec(c,d).rot(i.rotation);r.batch(()=>{var e=a.map(e=>{var t=r.getShape(e);return{id:t.id,type:t.type,x:t.x+c,y:t.y+d}});e.push({id:i.id,type:i.type,x:i.x-u.x,y:i.y-u.y,props:{w:s,h:l}}),r.updateShapes(e)})}}}}init_esbuild_inject();var import_jsx_runtime76=require(\\\"react/jsx-runtime\\\"),import_react75=require(\\\"react\\\"),import_jsx_runtime69=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),React33=__toESM(require(\\\"react\\\"),1),import_jsx_runtime68=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react67=require(\\\"react\\\"),AssetUrlsContext=(0,import_react67.createContext)(null);function AssetUrlsProvider({assetUrls:e,children:t}){return(0,import_jsx_runtime68.jsx)(AssetUrlsContext.Provider,{value:e,children:t})}function useAssetUrls(){var e=(0,import_react67.useContext)(AssetUrlsContext);if(e)return e;throw new Error(\\\"useAssetUrls must be used within an AssetUrlsProvider\\\")}init_esbuild_inject();var DEFAULT_TRANSLATION={\\\"action.convert-to-bookmark\\\":\\\"Convert to Bookmark\\\",\\\"action.convert-to-embed\\\":\\\"Convert to Embed\\\",\\\"action.open-embed-link\\\":\\\"Open link\\\",\\\"action.align-bottom\\\":\\\"Align bottom\\\",\\\"action.align-center-horizontal\\\":\\\"Align horizontally\\\",\\\"action.align-center-vertical\\\":\\\"Align vertically\\\",\\\"action.align-center-horizontal.short\\\":\\\"Align H\\\",\\\"action.align-center-vertical.short\\\":\\\"Align V\\\",\\\"action.align-left\\\":\\\"Align left\\\",\\\"action.align-right\\\":\\\"Align right\\\",\\\"action.align-top\\\":\\\"Align top\\\",\\\"action.back-to-content\\\":\\\"Back to content\\\",\\\"action.bring-forward\\\":\\\"Bring forward\\\",\\\"action.bring-to-front\\\":\\\"Bring to front\\\",\\\"action.copy-as-json.short\\\":\\\"JSON\\\",\\\"action.copy-as-json\\\":\\\"Copy as JSON\\\",\\\"action.copy-as-png.short\\\":\\\"PNG\\\",\\\"action.copy-as-png\\\":\\\"Copy as PNG\\\",\\\"action.copy-as-svg.short\\\":\\\"SVG\\\",\\\"action.copy-as-svg\\\":\\\"Copy as SVG\\\",\\\"action.copy\\\":\\\"Copy\\\",\\\"action.cut\\\":\\\"Cut\\\",\\\"action.delete\\\":\\\"Delete\\\",\\\"action.unlock-all\\\":\\\"Unlock all\\\",\\\"action.distribute-horizontal\\\":\\\"Distribute horizontally\\\",\\\"action.distribute-vertical\\\":\\\"Distribute vertically\\\",\\\"action.distribute-horizontal.short\\\":\\\"Distribute H\\\",\\\"action.distribute-vertical.short\\\":\\\"Distribute V\\\",\\\"action.duplicate\\\":\\\"Duplicate\\\",\\\"action.edit-link\\\":\\\"Edit link\\\",\\\"action.exit-pen-mode\\\":\\\"Exit pen mode\\\",\\\"action.export-as-json.short\\\":\\\"JSON\\\",\\\"action.export-as-json\\\":\\\"Export as JSON\\\",\\\"action.export-as-png.short\\\":\\\"PNG\\\",\\\"action.export-as-png\\\":\\\"Export as PNG\\\",\\\"action.export-as-svg.short\\\":\\\"SVG\\\",\\\"action.export-as-svg\\\":\\\"Export as SVG\\\",\\\"action.fit-frame-to-content\\\":\\\"Fit to content\\\",\\\"action.flip-horizontal\\\":\\\"Flip horizontally\\\",\\\"action.flip-vertical\\\":\\\"Flip vertically\\\",\\\"action.flip-horizontal.short\\\":\\\"Flip H\\\",\\\"action.flip-vertical.short\\\":\\\"Flip V\\\",\\\"action.fork-project\\\":\\\"Fork this project\\\",\\\"action.group\\\":\\\"Group\\\",\\\"action.insert-embed\\\":\\\"Insert embed\\\",\\\"action.insert-media\\\":\\\"Upload media\\\",\\\"action.leave-shared-project\\\":\\\"Leave shared project\\\",\\\"action.new-project\\\":\\\"New project\\\",\\\"action.new-shared-project\\\":\\\"New shared project\\\",\\\"action.open-cursor-chat\\\":\\\"Cursor chat\\\",\\\"action.open-file\\\":\\\"Open file\\\",\\\"action.pack\\\":\\\"Pack\\\",\\\"action.paste\\\":\\\"Paste\\\",\\\"action.print\\\":\\\"Print\\\",\\\"action.redo\\\":\\\"Redo\\\",\\\"action.remove-frame\\\":\\\"Remove frame\\\",\\\"action.rotate-ccw\\\":\\\"Rotate counterclockwise\\\",\\\"action.rotate-cw\\\":\\\"Rotate clockwise\\\",\\\"action.save-copy\\\":\\\"Save a copy\\\",\\\"action.select-all\\\":\\\"Select all\\\",\\\"action.select-none\\\":\\\"Select none\\\",\\\"action.send-backward\\\":\\\"Send backward\\\",\\\"action.send-to-back\\\":\\\"Send to back\\\",\\\"action.share-project\\\":\\\"Share this project\\\",\\\"action.stack-horizontal\\\":\\\"Stack horizontally\\\",\\\"action.stack-vertical\\\":\\\"Stack vertically\\\",\\\"action.stack-horizontal.short\\\":\\\"Stack H\\\",\\\"action.stack-vertical.short\\\":\\\"Stack V\\\",\\\"action.stop-following\\\":\\\"Stop following\\\",\\\"action.stretch-horizontal\\\":\\\"Stretch horizontally\\\",\\\"action.stretch-vertical\\\":\\\"Stretch vertically\\\",\\\"action.stretch-horizontal.short\\\":\\\"Stretch H\\\",\\\"action.stretch-vertical.short\\\":\\\"Stretch V\\\",\\\"action.toggle-auto-size\\\":\\\"Toggle auto size\\\",\\\"action.toggle-dark-mode.menu\\\":\\\"Dark mode\\\",\\\"action.toggle-dark-mode\\\":\\\"Toggle dark mode\\\",\\\"action.toggle-reduce-motion.menu\\\":\\\"Reduce motion\\\",\\\"action.toggle-reduce-motion\\\":\\\"Toggle reduce motion\\\",\\\"action.toggle-edge-scrolling.menu\\\":\\\"Edge scrolling\\\",\\\"action.toggle-edge-scrolling\\\":\\\"Toggle edge scrolling\\\",\\\"action.toggle-debug-mode.menu\\\":\\\"Debug mode\\\",\\\"action.toggle-debug-mode\\\":\\\"Toggle debug mode\\\",\\\"action.toggle-focus-mode.menu\\\":\\\"Focus mode\\\",\\\"action.toggle-focus-mode\\\":\\\"Toggle focus mode\\\",\\\"action.toggle-grid.menu\\\":\\\"Show grid\\\",\\\"action.toggle-grid\\\":\\\"Toggle grid\\\",\\\"action.toggle-lock\\\":\\\"Toggle locked\\\",\\\"action.toggle-snap-mode.menu\\\":\\\"Always snap\\\",\\\"action.toggle-snap-mode\\\":\\\"Toggle always snap\\\",\\\"action.toggle-tool-lock.menu\\\":\\\"Tool lock\\\",\\\"action.toggle-tool-lock\\\":\\\"Toggle tool lock\\\",\\\"action.toggle-transparent.context-menu\\\":\\\"Transparent\\\",\\\"action.toggle-transparent.menu\\\":\\\"Transparent\\\",\\\"action.toggle-transparent\\\":\\\"Toggle transparent background\\\",\\\"action.undo\\\":\\\"Undo\\\",\\\"action.ungroup\\\":\\\"Ungroup\\\",\\\"action.zoom-in\\\":\\\"Zoom in\\\",\\\"action.zoom-out\\\":\\\"Zoom out\\\",\\\"action.zoom-to-100\\\":\\\"Zoom to 100%\\\",\\\"action.zoom-to-fit\\\":\\\"Zoom to fit\\\",\\\"action.zoom-to-selection\\\":\\\"Zoom to selection\\\",\\\"color-style.black\\\":\\\"Black\\\",\\\"color-style.blue\\\":\\\"Blue\\\",\\\"color-style.green\\\":\\\"Green\\\",\\\"color-style.grey\\\":\\\"Grey\\\",\\\"color-style.light-blue\\\":\\\"Light blue\\\",\\\"color-style.light-green\\\":\\\"Light green\\\",\\\"color-style.light-red\\\":\\\"Light red\\\",\\\"color-style.light-violet\\\":\\\"Light violet\\\",\\\"color-style.orange\\\":\\\"Orange\\\",\\\"color-style.red\\\":\\\"Red\\\",\\\"color-style.violet\\\":\\\"Violet\\\",\\\"color-style.yellow\\\":\\\"Yellow\\\",\\\"fill-style.none\\\":\\\"None\\\",\\\"fill-style.semi\\\":\\\"Semi\\\",\\\"fill-style.solid\\\":\\\"Solid\\\",\\\"fill-style.pattern\\\":\\\"Pattern\\\",\\\"dash-style.dashed\\\":\\\"Dashed\\\",\\\"dash-style.dotted\\\":\\\"Dotted\\\",\\\"dash-style.draw\\\":\\\"Draw\\\",\\\"dash-style.solid\\\":\\\"Solid\\\",\\\"size-style.s\\\":\\\"Small\\\",\\\"size-style.m\\\":\\\"Medium\\\",\\\"size-style.l\\\":\\\"Large\\\",\\\"size-style.xl\\\":\\\"Extra large\\\",\\\"opacity-style.0.1\\\":\\\"10%\\\",\\\"opacity-style.0.25\\\":\\\"25%\\\",\\\"opacity-style.0.5\\\":\\\"50%\\\",\\\"opacity-style.0.75\\\":\\\"75%\\\",\\\"opacity-style.1\\\":\\\"100%\\\",\\\"font-style.draw\\\":\\\"Draw\\\",\\\"font-style.sans\\\":\\\"Sans\\\",\\\"font-style.serif\\\":\\\"Serif\\\",\\\"font-style.mono\\\":\\\"Mono\\\",\\\"align-style.start\\\":\\\"Start\\\",\\\"align-style.middle\\\":\\\"Middle\\\",\\\"align-style.end\\\":\\\"End\\\",\\\"align-style.justify\\\":\\\"Justify\\\",\\\"geo-style.arrow-down\\\":\\\"Arrow down\\\",\\\"geo-style.arrow-left\\\":\\\"Arrow left\\\",\\\"geo-style.arrow-right\\\":\\\"Arrow right\\\",\\\"geo-style.arrow-up\\\":\\\"Arrow up\\\",\\\"geo-style.diamond\\\":\\\"Diamond\\\",\\\"geo-style.ellipse\\\":\\\"Ellipse\\\",\\\"geo-style.hexagon\\\":\\\"Hexagon\\\",\\\"geo-style.octagon\\\":\\\"Octagon\\\",\\\"geo-style.oval\\\":\\\"Oval\\\",\\\"geo-style.cloud\\\":\\\"Cloud\\\",\\\"geo-style.pentagon\\\":\\\"Pentagon\\\",\\\"geo-style.rectangle\\\":\\\"Rectangle\\\",\\\"geo-style.rhombus-2\\\":\\\"Rhombus 2\\\",\\\"geo-style.rhombus\\\":\\\"Rhombus\\\",\\\"geo-style.star\\\":\\\"Star\\\",\\\"geo-style.trapezoid\\\":\\\"Trapezoid\\\",\\\"geo-style.triangle\\\":\\\"Triangle\\\",\\\"geo-style.x-box\\\":\\\"X box\\\",\\\"geo-style.check-box\\\":\\\"Check box\\\",\\\"arrowheadStart-style.none\\\":\\\"None\\\",\\\"arrowheadStart-style.arrow\\\":\\\"Arrow\\\",\\\"arrowheadStart-style.bar\\\":\\\"Bar\\\",\\\"arrowheadStart-style.diamond\\\":\\\"Diamond\\\",\\\"arrowheadStart-style.dot\\\":\\\"Dot\\\",\\\"arrowheadStart-style.inverted\\\":\\\"Inverted\\\",\\\"arrowheadStart-style.pipe\\\":\\\"Pipe\\\",\\\"arrowheadStart-style.square\\\":\\\"Square\\\",\\\"arrowheadStart-style.triangle\\\":\\\"Triangle\\\",\\\"arrowheadEnd-style.none\\\":\\\"None\\\",\\\"arrowheadEnd-style.arrow\\\":\\\"Arrow\\\",\\\"arrowheadEnd-style.bar\\\":\\\"Bar\\\",\\\"arrowheadEnd-style.diamond\\\":\\\"Diamond\\\",\\\"arrowheadEnd-style.dot\\\":\\\"Dot\\\",\\\"arrowheadEnd-style.inverted\\\":\\\"Inverted\\\",\\\"arrowheadEnd-style.pipe\\\":\\\"Pipe\\\",\\\"arrowheadEnd-style.square\\\":\\\"Square\\\",\\\"arrowheadEnd-style.triangle\\\":\\\"Triangle\\\",\\\"spline-style.line\\\":\\\"Line\\\",\\\"spline-style.cubic\\\":\\\"Cubic\\\",\\\"tool.select\\\":\\\"Select\\\",\\\"tool.hand\\\":\\\"Hand\\\",\\\"tool.draw\\\":\\\"Draw\\\",\\\"tool.eraser\\\":\\\"Eraser\\\",\\\"tool.arrow-down\\\":\\\"Arrow down\\\",\\\"tool.arrow-left\\\":\\\"Arrow left\\\",\\\"tool.arrow-right\\\":\\\"Arrow right\\\",\\\"tool.arrow-up\\\":\\\"Arrow up\\\",\\\"tool.arrow\\\":\\\"Arrow\\\",\\\"tool.cloud\\\":\\\"Cloud\\\",\\\"tool.diamond\\\":\\\"Diamond\\\",\\\"tool.ellipse\\\":\\\"Ellipse\\\",\\\"tool.hexagon\\\":\\\"Hexagon\\\",\\\"tool.highlight\\\":\\\"Highlight\\\",\\\"tool.line\\\":\\\"Line\\\",\\\"tool.octagon\\\":\\\"Octagon\\\",\\\"tool.oval\\\":\\\"Oval\\\",\\\"tool.pentagon\\\":\\\"Pentagon\\\",\\\"tool.rectangle\\\":\\\"Rectangle\\\",\\\"tool.rhombus\\\":\\\"Rhombus\\\",\\\"tool.star\\\":\\\"Star\\\",\\\"tool.trapezoid\\\":\\\"Trapezoid\\\",\\\"tool.triangle\\\":\\\"Triangle\\\",\\\"tool.x-box\\\":\\\"X box\\\",\\\"tool.check-box\\\":\\\"Check box\\\",\\\"tool.asset\\\":\\\"Asset\\\",\\\"tool.frame\\\":\\\"Frame\\\",\\\"tool.note\\\":\\\"Note\\\",\\\"tool.laser\\\":\\\"Laser\\\",\\\"tool.embed\\\":\\\"Embed\\\",\\\"tool.text\\\":\\\"Text\\\",\\\"menu.title\\\":\\\"Menu\\\",\\\"menu.copy-as\\\":\\\"Copy as\\\",\\\"menu.edit\\\":\\\"Edit\\\",\\\"menu.export-as\\\":\\\"Export as\\\",\\\"menu.file\\\":\\\"File\\\",\\\"menu.language\\\":\\\"Language\\\",\\\"menu.preferences\\\":\\\"Preferences\\\",\\\"menu.view\\\":\\\"View\\\",\\\"context-menu.arrange\\\":\\\"Arrange\\\",\\\"context-menu.copy-as\\\":\\\"Copy as\\\",\\\"context-menu.export-as\\\":\\\"Export as\\\",\\\"context-menu.move-to-page\\\":\\\"Move to page\\\",\\\"context-menu.reorder\\\":\\\"Reorder\\\",\\\"page-menu.title\\\":\\\"Pages\\\",\\\"page-menu.create-new-page\\\":\\\"Create new page\\\",\\\"page-menu.max-page-count-reached\\\":\\\"Max pages reached\\\",\\\"page-menu.new-page-initial-name\\\":\\\"Page 1\\\",\\\"page-menu.edit-start\\\":\\\"Edit\\\",\\\"page-menu.edit-done\\\":\\\"Done\\\",\\\"page-menu.go-to-page\\\":\\\"Go to page\\\",\\\"page-menu.submenu.rename\\\":\\\"Rename\\\",\\\"page-menu.submenu.duplicate-page\\\":\\\"Duplicate\\\",\\\"page-menu.submenu.title\\\":\\\"Menu\\\",\\\"page-menu.submenu.move-down\\\":\\\"Move down\\\",\\\"page-menu.submenu.move-up\\\":\\\"Move up\\\",\\\"page-menu.submenu.delete\\\":\\\"Delete\\\",\\\"share-menu.title\\\":\\\"Share\\\",\\\"share-menu.save-note\\\":\\\"Download this project to your computer as a .tldr file.\\\",\\\"share-menu.fork-note\\\":\\\"Create a new shared project based on this snapshot.\\\",\\\"share-menu.share-project\\\":\\\"Share this project\\\",\\\"share-menu.default-project-name\\\":\\\"Shared Project\\\",\\\"share-menu.copy-link\\\":\\\"Copy share link\\\",\\\"share-menu.readonly-link\\\":\\\"Read-only\\\",\\\"share-menu.create-snapshot-link\\\":\\\"Copy snapshot link\\\",\\\"share-menu.snapshot-link-note\\\":\\\"Capture and share this project as a read-only snapshot link.\\\",\\\"share-menu.copy-readonly-link\\\":\\\"Copy read-only link\\\",\\\"share-menu.offline-note\\\":\\\"Create a new shared project based on your current project.\\\",\\\"share-menu.copy-link-note\\\":\\\"Anyone with the link will be able to view and edit this project.\\\",\\\"share-menu.copy-readonly-link-note\\\":\\\"Anyone with the link will be able to view (but not edit) this project.\\\",\\\"share-menu.project-too-large\\\":\\\"Sorry, this project can't be shared because it's too large. We're working on it!\\\",\\\"share-menu.upload-failed\\\":\\\"Sorry, we couldn't upload your project at the moment. Please try again or let us know if the problem persists.\\\",\\\"status.offline\\\":\\\"Offline\\\",\\\"status.online\\\":\\\"Online\\\",\\\"people-menu.title\\\":\\\"People\\\",\\\"people-menu.change-name\\\":\\\"Change name\\\",\\\"people-menu.change-color\\\":\\\"Change color\\\",\\\"people-menu.follow\\\":\\\"Following\\\",\\\"people-menu.following\\\":\\\"Following\\\",\\\"people-menu.leading\\\":\\\"Following You\\\",\\\"people-menu.user\\\":\\\"(You)\\\",\\\"people-menu.invite\\\":\\\"Invite others\\\",\\\"help-menu.title\\\":\\\"Help and resources\\\",\\\"help-menu.about\\\":\\\"About\\\",\\\"help-menu.discord\\\":\\\"Discord\\\",\\\"help-menu.github\\\":\\\"GitHub\\\",\\\"help-menu.keyboard-shortcuts\\\":\\\"Keyboard shortcuts\\\",\\\"help-menu.twitter\\\":\\\"Twitter\\\",\\\"actions-menu.title\\\":\\\"Actions\\\",\\\"edit-link-dialog.title\\\":\\\"Edit link\\\",\\\"edit-link-dialog.invalid-url\\\":\\\"A link must be a valid URL.\\\",\\\"edit-link-dialog.detail\\\":\\\"Links will open in a new tab.\\\",\\\"edit-link-dialog.url\\\":\\\"URL\\\",\\\"edit-link-dialog.clear\\\":\\\"Clear\\\",\\\"edit-link-dialog.save\\\":\\\"Continue\\\",\\\"edit-link-dialog.cancel\\\":\\\"Cancel\\\",\\\"embed-dialog.title\\\":\\\"Insert embed\\\",\\\"embed-dialog.back\\\":\\\"Back\\\",\\\"embed-dialog.create\\\":\\\"Create\\\",\\\"embed-dialog.cancel\\\":\\\"Cancel\\\",\\\"embed-dialog.url\\\":\\\"URL\\\",\\\"embed-dialog.instruction\\\":\\\"Paste in the site's URL to create the embed.\\\",\\\"embed-dialog.invalid-url\\\":\\\"We could not create an embed from that URL.\\\",\\\"edit-pages-dialog.move-down\\\":\\\"Move down\\\",\\\"edit-pages-dialog.move-up\\\":\\\"Move up\\\",\\\"shortcuts-dialog.title\\\":\\\"Keyboard shortcuts\\\",\\\"shortcuts-dialog.edit\\\":\\\"Edit\\\",\\\"shortcuts-dialog.file\\\":\\\"File\\\",\\\"shortcuts-dialog.preferences\\\":\\\"Preferences\\\",\\\"shortcuts-dialog.tools\\\":\\\"Tools\\\",\\\"shortcuts-dialog.transform\\\":\\\"Transform\\\",\\\"shortcuts-dialog.view\\\":\\\"View\\\",\\\"shortcuts-dialog.collaboration\\\":\\\"Collaboration\\\",\\\"home-project-dialog.title\\\":\\\"Home project\\\",\\\"home-project-dialog.description\\\":\\\"This is your local home project. It's just for you!\\\",\\\"rename-project-dialog.title\\\":\\\"Rename project\\\",\\\"rename-project-dialog.cancel\\\":\\\"Cancel\\\",\\\"rename-project-dialog.rename\\\":\\\"Rename\\\",\\\"home-project-dialog.ok\\\":\\\"Ok\\\",\\\"style-panel.title\\\":\\\"Styles\\\",\\\"style-panel.align\\\":\\\"Align\\\",\\\"style-panel.vertical-align\\\":\\\"Vertical align\\\",\\\"style-panel.position\\\":\\\"Position\\\",\\\"style-panel.arrowheads\\\":\\\"Arrows\\\",\\\"style-panel.arrowhead-start\\\":\\\"Start\\\",\\\"style-panel.arrowhead-end\\\":\\\"End\\\",\\\"style-panel.color\\\":\\\"Color\\\",\\\"style-panel.dash\\\":\\\"Dash\\\",\\\"style-panel.fill\\\":\\\"Fill\\\",\\\"style-panel.font\\\":\\\"Font\\\",\\\"style-panel.geo\\\":\\\"Shape\\\",\\\"style-panel.mixed\\\":\\\"Mixed\\\",\\\"style-panel.opacity\\\":\\\"Opacity\\\",\\\"style-panel.size\\\":\\\"Size\\\",\\\"style-panel.spline\\\":\\\"Spline\\\",\\\"tool-panel.drawing\\\":\\\"Drawing\\\",\\\"tool-panel.shapes\\\":\\\"Shapes\\\",\\\"tool-panel.more\\\":\\\"More\\\",\\\"debug-panel.more\\\":\\\"More\\\",\\\"navigation-zone.toggle-minimap\\\":\\\"Toggle minimap\\\",\\\"navigation-zone.zoom\\\":\\\"Zoom\\\",\\\"focus-mode.toggle-focus-mode\\\":\\\"Toggle focus mode\\\",\\\"toast.close\\\":\\\"Close\\\",\\\"file-system.file-open-error.title\\\":\\\"Could not open file\\\",\\\"file-system.file-open-error.not-a-tldraw-file\\\":\\\"The file you tried to open doesn't look like a tldraw file.\\\",\\\"file-system.file-open-error.file-format-version-too-new\\\":\\\"The file you tried to open is from a newer version of tldraw. Please reload the page and try again.\\\",\\\"file-system.file-open-error.generic-corrupted-file\\\":\\\"The file you tried to open is corrupted.\\\",\\\"file-system.confirm-open.title\\\":\\\"Overwrite current project?\\\",\\\"file-system.confirm-open.description\\\":\\\"Opening a file will replace your current project and any unsaved changes will be lost. Are you sure you want to continue?\\\",\\\"file-system.confirm-open.cancel\\\":\\\"Cancel\\\",\\\"file-system.confirm-open.open\\\":\\\"Open file\\\",\\\"file-system.confirm-open.dont-show-again\\\":\\\"Don't ask again\\\",\\\"file-system.confirm-clear.title\\\":\\\"Clear current project?\\\",\\\"file-system.confirm-clear.description\\\":\\\"Creating a new project will clear your current project and any unsaved changes will be lost. Are you sure you want to continue?\\\",\\\"file-system.confirm-clear.cancel\\\":\\\"Cancel\\\",\\\"file-system.confirm-clear.continue\\\":\\\"Continue\\\",\\\"file-system.confirm-clear.dont-show-again\\\":\\\"Don't ask again\\\",\\\"file-system.shared-document-file-open-error.title\\\":\\\"Could not open file\\\",\\\"file-system.shared-document-file-open-error.description\\\":\\\"Opening files from shared projects is not supported.\\\",\\\"sharing.confirm-leave.title\\\":\\\"Leave current project?\\\",\\\"sharing.confirm-leave.description\\\":\\\"Are you sure you want to leave this shared project? You can return to it by navigating to its URL.\\\",\\\"sharing.confirm-leave.cancel\\\":\\\"Cancel\\\",\\\"sharing.confirm-leave.leave\\\":\\\"Leave\\\",\\\"sharing.confirm-leave.dont-show-again\\\":\\\"Don't ask again\\\",\\\"toast.error.export-fail.title\\\":\\\"Failed export\\\",\\\"toast.error.export-fail.desc\\\":\\\"Failed to export image\\\",\\\"toast.error.copy-fail.title\\\":\\\"Failed copy\\\",\\\"toast.error.copy-fail.desc\\\":\\\"Failed to copy image\\\",\\\"context.pages.new-page\\\":\\\"New page\\\",\\\"vscode.file-open.desc\\\":\\\"We've updated this document to work with the current version of tldraw. If you'd like to keep the original version (which will work on old.tldraw.com), click below to create a backup.\\\",\\\"vscode.file-open.open\\\":\\\"Continue\\\",\\\"vscode.file-open.backup\\\":\\\"Backup\\\",\\\"vscode.file-open.backup-saved\\\":\\\"Backup saved\\\",\\\"vscode.file-open.backup-failed\\\":\\\"Backup failed: this is not a .tldr file.\\\",\\\"vscode.file-open.dont-show-again\\\":\\\"Don't ask again\\\",\\\"cursor-chat.type-to-chat\\\":\\\"Type to chat...\\\"},EN_TRANSLATION=(init_esbuild_inject(),{locale:\\\"en\\\",label:\\\"English\\\",messages:DEFAULT_TRANSLATION});async function fetchTranslation(t,e){if(!(await fetch(e.translations.en)).ok)return console.warn(\\\"No main translations found.\\\"),EN_TRANSLATION;if(\\\"en\\\"===t)return EN_TRANSLATION;var r=LANGUAGES.find(e=>e.locale===t);if(!r)return console.warn(\\\"No translation found for locale \\\"+t),EN_TRANSLATION;var i=await(await fetch(e.translations[r.locale])).json();if(!i)return console.warn(\\\"No messages found for locale \\\"+t),EN_TRANSLATION;var n=[];for(const o in EN_TRANSLATION.messages)i[o]||n.push(o);return 0\u003Cn.length&&console.warn(`Language ${t}: missing messages for keys:\\n`+n.join(\\\"\\\\n\\\")),{locale:t,label:r.label,messages:{...EN_TRANSLATION.messages,...i}}}var TranslationsContext=React33.createContext({}),useCurrentTranslation=()=>React33.useContext(TranslationsContext),TranslationProvider=track(function TranslationProvider2({overrides:r,children:e}){const i=useEditor().user.getLocale(),n=useAssetUrls(),[t,o]=React33.useState(()=>r&&r.en?{locale:\\\"en\\\",label:\\\"English\\\",messages:{...DEFAULT_TRANSLATION,...r.en}}:{locale:\\\"en\\\",label:\\\"English\\\",messages:DEFAULT_TRANSLATION});return React33.useEffect(()=>{let t=!1;return async function(){var e=await fetchTranslation(i,n);e&&!t&&(r&&r[i]?o({...e,messages:{...e.messages,...r[i]}}):o(e))}(),()=>{t=!0}},[n,i,r]),(0,import_jsx_runtime69.jsx)(TranslationsContext.Provider,{value:t,children:e})});function useTranslation(){const r=useCurrentTranslation();return React33.useCallback(function(e){var t;return null!=(t=r.messages[e])?t:e},[r])}function untranslated(e){return e}init_esbuild_inject();var import_jsx_runtime73=require(\\\"react/jsx-runtime\\\"),import_classnames18=__toESM(require_classnames(),1),React34=__toESM(require(\\\"react\\\"),1),import_jsx_runtime70=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function Spinner(e){return(0,import_jsx_runtime70.jsx)(\\\"svg\\\",{width:16,height:16,viewBox:\\\"0 0 16 16\\\",...e,children:(0,import_jsx_runtime70.jsxs)(\\\"g\\\",{strokeWidth:2,fill:\\\"none\\\",fillRule:\\\"evenodd\\\",children:[(0,import_jsx_runtime70.jsx)(\\\"circle\\\",{strokeOpacity:.25,cx:8,cy:8,r:7,stroke:\\\"currentColor\\\"}),(0,import_jsx_runtime70.jsx)(\\\"path\\\",{strokeLinecap:\\\"round\\\",d:\\\"M15 8c0-4.5-4.5-7-7-7\\\",stroke:\\\"currentColor\\\",children:(0,import_jsx_runtime70.jsx)(\\\"animateTransform\\\",{attributeName:\\\"transform\\\",type:\\\"rotate\\\",from:\\\"0 8 8\\\",to:\\\"360 8 8\\\",dur:\\\"1s\\\",repeatCount:\\\"indefinite\\\"})})]})})}init_esbuild_inject();var import_jsx_runtime71=require(\\\"react/jsx-runtime\\\"),import_classnames17=__toESM(require_classnames(),1),import_react68=require(\\\"react\\\"),Icon=(0,import_react68.memo)(function Icon2({small:e,invertIcon:t,icon:r,color:i,className:n,...o}){var a,s=useAssetUrls();const l=null!=(a=s.icons[r])?a:s.icons[\\\"question-mark-circle\\\"],c=(0,import_react68.useRef)(null);return(0,import_react68.useLayoutEffect)(()=>{l||console.error(`Icon not found: ${r}. Add it to the assetUrls.icons object.`),null!=c&&c.current&&(c.current.style.webkitMask=`url(${l}) center 100% / 100% no-repeat`)},[c,l,r]),(0,import_jsx_runtime71.jsx)(\\\"div\\\",{...o,ref:c,className:(0,import_classnames17[\\\"default\\\"])(\\\"tlui-icon\\\",{\\\"tlui-icon__small\\\":e},n),style:{color:i,mask:`url(${l}) center 100% / 100% no-repeat`,transform:t?\\\"scale(-1, 1)\\\":void 0}})}),import_jsx_runtime72=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),isDarwin=(init_esbuild_inject(),\\\"undefined\\\"!=typeof window&&-1\u003Cwindow.navigator.userAgent.toLowerCase().indexOf(\\\"mac\\\")),cmdKey=isDarwin?\\\"⌘\\\":\\\"Ctrl\\\",altKey=isDarwin?\\\"⌥\\\":\\\"Alt\\\";function kbd(e){return e.split(\\\",\\\")[0].split(\\\"\\\").map(e=>{var t=e.replace(/\\\\$/g,cmdKey).replace(/\\\\?/g,altKey).replace(/!/g,\\\"⇧\\\");return t[0].toUpperCase()+t.slice(1)})}function kbdStr(e){return\\\"— \\\"+e.split(\\\",\\\")[0].split(\\\"\\\").map(e=>{var t=e.replace(/\\\\$/g,cmdKey).replace(/\\\\?/g,altKey).replace(/!/g,\\\"⇧\\\");return t[0].toUpperCase()+t.slice(1)}).join(\\\" \\\")}function Kbd({children:e}){return(0,import_jsx_runtime72.jsx)(\\\"kbd\\\",{className:\\\"tlui-kbd\\\",children:kbd(e).map((e,t)=>(0,import_jsx_runtime72.jsx)(\\\"span\\\",{children:e},t))})}var Button=React34.forwardRef(function Button2({label:e,icon:t,invertIcon:r,iconLeft:i,smallIcon:n,kbd:o,isChecked:a=!1,type:s,children:l,spinner:c,...d},u){var p,h=useTranslation(),h=e?h(e):\\\"\\\";return(0,import_jsx_runtime73.jsxs)(\\\"button\\\",{ref:u,draggable:!1,type:\\\"button\\\",...d,title:null!=(p=d.title)?p:h,className:(0,import_classnames18[\\\"default\\\"])(\\\"tlui-button\\\",\\\"tlui-button__\\\"+s,d.className),children:[i&&(0,import_jsx_runtime73.jsx)(Icon,{icon:i,className:\\\"tlui-button__icon-left\\\",small:!0}),l,e&&(0,import_jsx_runtime73.jsxs)(\\\"span\\\",{className:\\\"tlui-button__label\\\",draggable:!1,children:[h,a&&(0,import_jsx_runtime73.jsx)(Icon,{icon:\\\"check\\\"})]}),o&&(0,import_jsx_runtime73.jsx)(Kbd,{children:o}),t&&!c&&(0,import_jsx_runtime73.jsx)(Icon,{icon:t,small:!!e||n,invertIcon:r}),c&&(0,import_jsx_runtime73.jsx)(Spinner,{})]})}),import_jsx_runtime74=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react74=(init_esbuild_inject(),require(\\\"react\\\")),$2AODx$react=(init_esbuild_inject(),__toESM(require(\\\"react\\\"),1)),$1746a345f3d73bb7$var$useReactId=$2AODx$react[\\\"useId\\\".toString()]||(()=>{}),$1746a345f3d73bb7$var$count=0;function $1746a345f3d73bb7$export$f680877a34711e37(e){const[t,r]=$2AODx$react.useState($1746a345f3d73bb7$var$useReactId());return $9f79659886946c16$export$e5c5a5f917a5871c(()=>{e||r(e=>null!=e?e:String($1746a345f3d73bb7$var$count++))},[e]),e||(t?\\\"radix-\\\"+t:\\\"\\\")}init_esbuild_inject();var $5cb92bef7577960e$var$originalBodyPointerEvents2,import_react69=require(\\\"react\\\"),$5cb92bef7577960e$var$CONTEXT_UPDATE2=\\\"dismissableLayer.update\\\",$5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE2=\\\"dismissableLayer.pointerDownOutside\\\",$5cb92bef7577960e$var$FOCUS_OUTSIDE2=\\\"dismissableLayer.focusOutside\\\",$5cb92bef7577960e$var$DismissableLayerContext2=(0,import_react69.createContext)({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),$5cb92bef7577960e$export$177fb62ff3ec1f222=(0,import_react69.forwardRef)((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:i,onPointerDownOutside:n,onFocusOutside:o,onInteractOutside:a,onDismiss:s,...l}=e,c=(0,import_react69.useContext)($5cb92bef7577960e$var$DismissableLayerContext2),[d,u]=(0,import_react69.useState)(null),p=null!=(m=null===d||void 0===d?void 0:d.ownerDocument)?m:null===globalThis||void 0===globalThis?void 0:globalThis.document,[,h]=(0,import_react69.useState)({});var m=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,e=>u(e)),g=Array.from(c.layers),[_]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),_=g.indexOf(_);const f=d?g.indexOf(d):-1;g=0\u003Cc.layersWithOutsidePointerEventsDisabled.size;const b=f>=_;var _=$5cb92bef7577960e$var$usePointerDownOutside2(e=>{const t=e.target;var r=[...c.branches].some(e=>e.contains(t));!b||r||(null!==n&&void 0!==n&&n(e),null!==a&&void 0!==a&&a(e),e.defaultPrevented)||null!==s&&void 0!==s&&s()},p),v=$5cb92bef7577960e$var$useFocusOutside2(e=>{const t=e.target;[...c.branches].some(e=>e.contains(t))||(null!==o&&void 0!==o&&o(e),null!==a&&void 0!==a&&a(e),e.defaultPrevented)||null!==s&&void 0!==s&&s()},p);return $addc16e1bbe58fd0$export$3a72a57244d6e765(e=>{f===c.layers.size-1&&(null!==i&&void 0!==i&&i(e),!e.defaultPrevented)&&s&&(e.preventDefault(),s())},p),(0,import_react69.useEffect)(()=>{if(d)return r&&(0===c.layersWithOutsidePointerEventsDisabled.size&&($5cb92bef7577960e$var$originalBodyPointerEvents2=p.body.style.pointerEvents,p.body.style.pointerEvents=\\\"none\\\"),c.layersWithOutsidePointerEventsDisabled.add(d)),c.layers.add(d),$5cb92bef7577960e$var$dispatchUpdate2(),()=>{r&&1===c.layersWithOutsidePointerEventsDisabled.size&&(p.body.style.pointerEvents=$5cb92bef7577960e$var$originalBodyPointerEvents2)}},[d,p,r,c]),(0,import_react69.useEffect)(()=>()=>{d&&(c.layers[\\\"delete\\\"](d),c.layersWithOutsidePointerEventsDisabled[\\\"delete\\\"](d),$5cb92bef7577960e$var$dispatchUpdate2())},[d,c]),(0,import_react69.useEffect)(()=>{const e=()=>h({});return document.addEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE2,e),()=>document.removeEventListener($5cb92bef7577960e$var$CONTEXT_UPDATE2,e)},[]),(0,import_react69.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({},l,{ref:m,style:{pointerEvents:g?b?\\\"auto\\\":\\\"none\\\":void 0,...e.style},onFocusCapture:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocusCapture,v.onFocusCapture),onBlurCapture:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onBlurCapture,v.onBlurCapture),onPointerDownCapture:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerDownCapture,_.onPointerDownCapture)}))});function $5cb92bef7577960e$var$usePointerDownOutside2(e,i=null===globalThis||void 0===globalThis?void 0:globalThis.document){const n=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(e),o=(0,import_react69.useRef)(!1),a=(0,import_react69.useRef)(()=>{});return(0,import_react69.useEffect)(()=>{const e=e=>{if(e.target&&!o.current){var t=function(){$5cb92bef7577960e$var$handleAndDispatchCustomEvent2($5cb92bef7577960e$var$POINTER_DOWN_OUTSIDE2,n,r,{discrete:!0})};const r={originalEvent:e};\\\"touch\\\"===e.pointerType?(i.removeEventListener(\\\"click\\\",a.current),a.current=t,i.addEventListener(\\\"click\\\",a.current,{once:!0})):t()}else i.removeEventListener(\\\"click\\\",a.current);o.current=!1},t=window.setTimeout(()=>{i.addEventListener(\\\"pointerdown\\\",e)},0);return()=>{window.clearTimeout(t),i.removeEventListener(\\\"pointerdown\\\",e),i.removeEventListener(\\\"click\\\",a.current)}},[i,n]),{onPointerDownCapture:()=>o.current=!0}}function $5cb92bef7577960e$var$useFocusOutside2(e,t=null===globalThis||void 0===globalThis?void 0:globalThis.document){const r=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(e),i=(0,import_react69.useRef)(!1);return(0,import_react69.useEffect)(()=>{const e=e=>{var t;e.target&&!i.current&&(t={originalEvent:e},$5cb92bef7577960e$var$handleAndDispatchCustomEvent2($5cb92bef7577960e$var$FOCUS_OUTSIDE2,r,t,{discrete:!1}))};return t.addEventListener(\\\"focusin\\\",e),()=>t.removeEventListener(\\\"focusin\\\",e)},[t,r]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function $5cb92bef7577960e$var$dispatchUpdate2(){var e=new CustomEvent($5cb92bef7577960e$var$CONTEXT_UPDATE2);document.dispatchEvent(e)}function $5cb92bef7577960e$var$handleAndDispatchCustomEvent2(e,t,r,{discrete:i}){var n=r.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&n.addEventListener(e,t,{once:!0}),i?$8927f6f2acc4f386$export$6d1a0317bde7de7f(n,o):n.dispatchEvent(o)}init_esbuild_inject();var import_react70=require(\\\"react\\\"),$d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT=\\\"focusScope.autoFocusOnMount\\\",$d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT=\\\"focusScope.autoFocusOnUnmount\\\",$d3863c46a17e8a28$var$EVENT_OPTIONS={bubbles:!1,cancelable:!0},$d3863c46a17e8a28$export$20e40289641fbbb6=(0,import_react70.forwardRef)((e,t)=>{const{loop:o=!1,trapped:a=!1,onMountAutoFocus:r,onUnmountAutoFocus:i,...n}=e,[s,l]=(0,import_react70.useState)(null),c=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(r),d=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(i),u=(0,import_react70.useRef)(null);var p=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,e=>l(e));const h=(0,import_react70.useRef)({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;(0,import_react70.useEffect)(()=>{if(a){let e=function(e){var t;!h.paused&&s&&(t=e.target,s.contains(t)?u.current=t:$d3863c46a17e8a28$var$focus(u.current,{select:!0}))},t=function(e){var t;h.paused||!s||null===(t=e.relatedTarget)||s.contains(t)||$d3863c46a17e8a28$var$focus(u.current,{select:!0})},r=function(e){var t=document.activeElement;if(t===document.body)for(const r of e)0\u003Cr.removedNodes.length&&$d3863c46a17e8a28$var$focus(s)};document.addEventListener(\\\"focusin\\\",e),document.addEventListener(\\\"focusout\\\",t);const i=new MutationObserver(r);return s&&i.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(\\\"focusin\\\",e),document.removeEventListener(\\\"focusout\\\",t),i.disconnect()}}},[a,s,h.paused]),(0,import_react70.useEffect)(()=>{if(s){$d3863c46a17e8a28$var$focusScopesStack.add(h);const t=document.activeElement;var e;return s.contains(t)||(e=new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT,$d3863c46a17e8a28$var$EVENT_OPTIONS),s.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT,c),s.dispatchEvent(e),e.defaultPrevented)||($d3863c46a17e8a28$var$focusFirst($d3863c46a17e8a28$var$removeLinks($d3863c46a17e8a28$var$getTabbableCandidates(s)),{select:!0}),document.activeElement===t&&$d3863c46a17e8a28$var$focus(s)),()=>{s.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_MOUNT,c),setTimeout(()=>{var e=new CustomEvent($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT,$d3863c46a17e8a28$var$EVENT_OPTIONS);s.addEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT,d),s.dispatchEvent(e),e.defaultPrevented||$d3863c46a17e8a28$var$focus(null!==t&&void 0!==t?t:document.body,{select:!0}),s.removeEventListener($d3863c46a17e8a28$var$AUTOFOCUS_ON_UNMOUNT,d),$d3863c46a17e8a28$var$focusScopesStack.remove(h)},0)}}},[s,c,d,h]);var m=(0,import_react70.useCallback)(e=>{var t,r,i,n;!o&&!a||h.paused||(r=\\\"Tab\\\"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,t=document.activeElement,r&&t&&(([i,n]=$d3863c46a17e8a28$var$getTabbableEdges(r=e.currentTarget)),i&&n?e.shiftKey||t!==n?e.shiftKey&&t===i&&(e.preventDefault(),o)&&$d3863c46a17e8a28$var$focus(n,{select:!0}):(e.preventDefault(),o&&$d3863c46a17e8a28$var$focus(i,{select:!0})):t===r&&e.preventDefault()))},[o,a,h.paused]);return(0,import_react70.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({tabIndex:-1},n,{ref:p,onKeyDown:m}))});function $d3863c46a17e8a28$var$focusFirst(e,{select:t=!1}={}){var r=document.activeElement;for(const i of e)if($d3863c46a17e8a28$var$focus(i,{select:t}),document.activeElement!==r)return}function $d3863c46a17e8a28$var$getTabbableEdges(e){var t=$d3863c46a17e8a28$var$getTabbableCandidates(e);return[$d3863c46a17e8a28$var$findVisible(t,e),$d3863c46a17e8a28$var$findVisible(t.reverse(),e)]}function $d3863c46a17e8a28$var$getTabbableCandidates(e){for(var t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{var t=\\\"INPUT\\\"===e.tagName&&\\\"hidden\\\"===e.type;return!(e.disabled||e.hidden||t)&&0\u003C=e.tabIndex?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});r.nextNode();)t.push(r.currentNode);return t}function $d3863c46a17e8a28$var$findVisible(e,t){for(const r of e)if(!$d3863c46a17e8a28$var$isHidden(r,{upTo:t}))return r}function $d3863c46a17e8a28$var$isHidden(e,{upTo:t}){if(\\\"hidden\\\"===getComputedStyle(e).visibility)return!0;for(;e;){if(void 0!==t&&e===t)return!1;if(\\\"none\\\"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}function $d3863c46a17e8a28$var$isSelectableInput(e){return e instanceof HTMLInputElement&&\\\"select\\\"in e}function $d3863c46a17e8a28$var$focus(e,{select:t=!1}={}){var r;e&&e.focus&&(r=document.activeElement,e.focus({preventScroll:!0}),e!==r)&&$d3863c46a17e8a28$var$isSelectableInput(e)&&t&&e.select()}var $d3863c46a17e8a28$var$focusScopesStack=$d3863c46a17e8a28$var$createFocusScopesStack();function $d3863c46a17e8a28$var$createFocusScopesStack(){let r=[];return{add(e){var t=r[0];e!==t&&null!=t&&t.pause(),(r=$d3863c46a17e8a28$var$arrayRemove(r,e)).unshift(e)},remove(e){var t;null!=(t=(r=$d3863c46a17e8a28$var$arrayRemove(r,e))[0])&&t.resume()}}}function $d3863c46a17e8a28$var$arrayRemove(e,t){var r=[...e],i=r.indexOf(t);return-1!==i&&r.splice(i,1),r}function $d3863c46a17e8a28$var$removeLinks(e){return e.filter(e=>\\\"A\\\"!==e.tagName)}init_esbuild_inject();var import_react71=require(\\\"react\\\"),import_react_dom5=__toESM(require(\\\"react-dom\\\"),1),$f1701beae083dbae$export$602eac185826482c2=(0,import_react71.forwardRef)((e,t)=>{var r;const{container:i=null===globalThis||void 0===globalThis||null==(r=globalThis.document)?void 0:r.body,...n}=e;return i?import_react_dom5[\\\"default\\\"].createPortal((0,import_react71.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({},n,{ref:t})),i):null}),import_react72=(init_esbuild_inject(),require(\\\"react\\\")),$3db38b7d1fb3fe6a$var$count=0;function $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c(){(0,import_react72.useEffect)(()=>{var e,t=document.querySelectorAll(\\\"[data-radix-focus-guard]\\\");return document.body.insertAdjacentElement(\\\"afterbegin\\\",null!=(e=t[0])?e:$3db38b7d1fb3fe6a$var$createFocusGuard()),document.body.insertAdjacentElement(\\\"beforeend\\\",null!=(e=t[1])?e:$3db38b7d1fb3fe6a$var$createFocusGuard()),$3db38b7d1fb3fe6a$var$count++,()=>{1===$3db38b7d1fb3fe6a$var$count&&document.querySelectorAll(\\\"[data-radix-focus-guard]\\\").forEach(e=>e.remove()),$3db38b7d1fb3fe6a$var$count--}},[])}function $3db38b7d1fb3fe6a$var$createFocusGuard(){var e=document.createElement(\\\"span\\\");return e.setAttribute(\\\"data-radix-focus-guard\\\",\\\"\\\"),e.tabIndex=0,e.style.cssText=\\\"outline: none; opacity: 0; position: fixed; pointer-events: none\\\",e}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,i=arguments.length;r\u003Ci;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};function __rest(e,t){var r={};for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)\u003C0&&(r[n]=e[n]);if(null!=e&&\\\"function\\\"==typeof Object.getOwnPropertySymbols)for(var i=0,n=Object.getOwnPropertySymbols(e);i\u003Cn.length;i++)t.indexOf(n[i])\u003C0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r}function __spreadArray(e,t,r){if(r||2===arguments.length)for(var i,n=0,o=t.length;n\u003Co;n++)!i&&n in t||((i=i||Array.prototype.slice.call(t,0,n))[n]=t[n]);return e.concat(i||Array.prototype.slice.call(t))}var React40=__toESM(require(\\\"react\\\")),React36=(init_esbuild_inject(),__toESM(require(\\\"react\\\"))),zeroRightClassName=(init_esbuild_inject(),\\\"right-scroll-bar-position\\\"),fullWidthClassName=\\\"width-before-scroll-bar\\\",noScrollbarsClassName=\\\"with-scroll-bars-hidden\\\",removedBarSizeVariable=\\\"--removed-body-scroll-bar-size\\\";function assignRef(e,t){return\\\"function\\\"==typeof e?e(t):e&&(e.current=t),e}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var import_react73=require(\\\"react\\\");function useCallbackRef(e,t){var r=(0,import_react73.useState)(function(){return{value:e,callback:t,facade:{get current(){return r.value},set current(e){var t=r.value;t!==e&&(r.value=e,r.callback(e,t))}}}})[0];return r.callback=t,r.facade}function useMergeRefs(e,t){return useCallbackRef(t||null,function(t){return e.forEach(function(e){return assignRef(e,t)})})}function ItoI(e){return e}function innerCreateMedium(e,r){void 0===r&&(r=ItoI);var o=[],a=!1;return{read:function(){if(a)throw new Error(\\\"Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.\\\");return o.length?o[o.length-1]:e},useMedium:function(e){var t=r(e,a);return o.push(t),function(){o=o.filter(function(e){return e!==t})}},assignSyncMedium:function(t){for(a=!0;o.length;){var e=o;o=[],e.forEach(t)}o={push:function(e){return t(e)},filter:function(){return o}}},assignMedium:function(t){a=!0;var e,r=[],i=(o.length&&(e=o,o=[],e.forEach(t),r=o),function(){var e=r;r=[],e.forEach(t)}),n=function(){return Promise.resolve().then(i)};n(),o={push:function(e){r.push(e),n()},filter:function(e){return r=r.filter(e),o}}}}}function createSidecarMedium(e){void 0===e&&(e={});var t=innerCreateMedium(null);return t.options=__assign({\\\"async\\\":!0,ssr:!1},e),t}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var React35=__toESM(require(\\\"react\\\")),SideCar=function(e){var t=e.sideCar,r=__rest(e,[\\\"sideCar\\\"]);if(!t)throw new Error(\\\"Sidecar: please provide `sideCar` property to import the right car\\\");t=t.read();if(t)return React35.createElement(t,__assign({},r));throw new Error(\\\"Sidecar medium not found\\\")};function exportSidecar(e,t){return e.useMedium(t),SideCar}SideCar.isSideCarExport=!0;var currentNonce,effectCar=createSidecarMedium(),nothing=function(){},RemoveScroll=React36.forwardRef(function(e,t){var r=React36.useRef(null),i=React36.useState({onScrollCapture:nothing,onWheelCapture:nothing,onTouchMoveCapture:nothing}),n=i[0],i=i[1],o=e.forwardProps,a=e.children,s=e.className,l=e.removeScrollBar,c=e.enabled,d=e.shards,u=e.sideCar,p=e.noIsolation,h=e.inert,m=e.allowPinchZoom,g=e.as,g=void 0===g?\\\"div\\\":g,_=__rest(e,[\\\"forwardProps\\\",\\\"children\\\",\\\"className\\\",\\\"removeScrollBar\\\",\\\"enabled\\\",\\\"shards\\\",\\\"sideCar\\\",\\\"noIsolation\\\",\\\"inert\\\",\\\"allowPinchZoom\\\",\\\"as\\\"]),f=useMergeRefs([r,t]),_=__assign(__assign({},_),n);return React36.createElement(React36.Fragment,null,c&&React36.createElement(u,{sideCar:effectCar,removeScrollBar:l,shards:d,noIsolation:p,inert:h,setCallbacks:i,allowPinchZoom:!!m,lockRef:r}),o?React36.cloneElement(React36.Children.only(a),__assign(__assign({},_),{ref:f})):React36.createElement(g,__assign({},_,{className:s,ref:f}),a))}),React39=(RemoveScroll.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},RemoveScroll.classNames={fullWidth:fullWidthClassName,zeroRight:zeroRightClassName},init_esbuild_inject(),init_esbuild_inject(),__toESM(require(\\\"react\\\"))),React38=(init_esbuild_inject(),init_esbuild_inject(),__toESM(require(\\\"react\\\"))),React37=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),__toESM(require(\\\"react\\\"))),getNonce=(init_esbuild_inject(),init_esbuild_inject(),function(){return currentNonce||(\\\"undefined\\\"!=typeof __webpack_nonce__?__webpack_nonce__:void 0)});function makeStyleTag(){var e,t;return document?((e=document.createElement(\\\"style\\\")).type=\\\"text/css\\\",(t=getNonce())&&e.setAttribute(\\\"nonce\\\",t),e):null}function injectStyles(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function insertStyleTag(e){(document.head||document.getElementsByTagName(\\\"head\\\")[0]).appendChild(e)}var options,stylesheetSingleton=function(){var t=0,r=null;return{add:function(e){0==t&&(r=makeStyleTag())&&(injectStyles(r,e),insertStyleTag(r)),t++},remove:function(){!--t&&r&&(r.parentNode&&r.parentNode.removeChild(r),r=null)}}},styleHookSingleton=function(){var r=stylesheetSingleton();return function(e,t){React37.useEffect(function(){return r.add(e),function(){r.remove()}},[e&&t])}},styleSingleton=function(){var i=styleHookSingleton();return function(e){var t=e.styles,r=e.dynamic;return i(t,r),null}},zeroGap=(init_esbuild_inject(),{left:0,top:0,right:0,gap:0}),parse=function(e){return parseInt(e||\\\"\\\",10)||0},getOffset=function(e){var t=window.getComputedStyle(document.body),r=t[\\\"padding\\\"===e?\\\"paddingLeft\\\":\\\"marginLeft\\\"],i=t[\\\"padding\\\"===e?\\\"paddingTop\\\":\\\"marginTop\\\"],t=t[\\\"padding\\\"===e?\\\"paddingRight\\\":\\\"marginRight\\\"];return[parse(r),parse(i),parse(t)]},getGapWidth=function(e){var t,r,i;return void 0===e&&(e=\\\"margin\\\"),\\\"undefined\\\"==typeof window?zeroGap:(t=getOffset(e),r=document.documentElement.clientWidth,i=window.innerWidth,{left:t[0],top:t[1],right:t[2],gap:Math.max(0,i-r+t[2]-t[0])})},Style=styleSingleton(),getStyles=function(e,t,r,i){var n=e.left,o=e.top,a=e.right,s=e.gap;return void 0===r&&(r=\\\"margin\\\"),\\\"\\\\n .\\\".concat(noScrollbarsClassName,\\\" {\\\\n overflow: hidden \\\").concat(i,\\\";\\\\n padding-right: \\\").concat(s,\\\"px \\\").concat(i,\\\";\\\\n }\\\\n body {\\\\n overflow: hidden \\\").concat(i,\\\";\\\\n overscroll-behavior: contain;\\\\n \\\").concat([t&&\\\"position: relative \\\".concat(i,\\\";\\\"),\\\"margin\\\"===r&&\\\"\\\\n padding-left: \\\".concat(n,\\\"px;\\\\n padding-top: \\\").concat(o,\\\"px;\\\\n padding-right: \\\").concat(a,\\\"px;\\\\n margin-left:0;\\\\n margin-top:0;\\\\n margin-right: \\\").concat(s,\\\"px \\\").concat(i,\\\";\\\\n \\\"),\\\"padding\\\"===r&&\\\"padding-right: \\\".concat(s,\\\"px \\\").concat(i,\\\";\\\")].filter(Boolean).join(\\\"\\\"),\\\"\\\\n }\\\\n \\\\n .\\\").concat(zeroRightClassName,\\\" {\\\\n right: \\\").concat(s,\\\"px \\\").concat(i,\\\";\\\\n }\\\\n \\\\n .\\\").concat(fullWidthClassName,\\\" {\\\\n margin-right: \\\").concat(s,\\\"px \\\").concat(i,\\\";\\\\n }\\\\n \\\\n .\\\").concat(zeroRightClassName,\\\" .\\\").concat(zeroRightClassName,\\\" {\\\\n right: 0 \\\").concat(i,\\\";\\\\n }\\\\n \\\\n .\\\").concat(fullWidthClassName,\\\" .\\\").concat(fullWidthClassName,\\\" {\\\\n margin-right: 0 \\\").concat(i,\\\";\\\\n }\\\\n \\\\n body {\\\\n \\\").concat(removedBarSizeVariable,\\\": \\\").concat(s,\\\"px;\\\\n }\\\\n\\\")},RemoveScrollBar=function(e){var t=e.noRelative,r=e.noImportant,i=e.gapMode,n=void 0===i?\\\"margin\\\":i,i=React38.useMemo(function(){return getGapWidth(n)},[n]);return React38.createElement(Style,{styles:getStyles(i,!t,n,r?\\\"\\\":\\\"!important\\\")})},passiveSupported=(init_esbuild_inject(),!1);if(\\\"undefined\\\"!=typeof window)try{options=Object.defineProperty({},\\\"passive\\\",{get:function(){return passiveSupported=!0}}),window.addEventListener(\\\"test\\\",options,options),window.removeEventListener(\\\"test\\\",options,options)}catch(err){passiveSupported=!1}var nonPassive=!!passiveSupported&&{passive:!1},alwaysContainsScroll=(init_esbuild_inject(),function(e){return\\\"TEXTAREA\\\"===e.tagName}),elementCanBeScrolled=function(e,t){var r=window.getComputedStyle(e);return\\\"hidden\\\"!==r[t]&&!(r.overflowY===r.overflowX&&!alwaysContainsScroll(e)&&\\\"visible\\\"===r[t])},elementCouldBeVScrolled=function(e){return elementCanBeScrolled(e,\\\"overflowY\\\")},elementCouldBeHScrolled=function(e){return elementCanBeScrolled(e,\\\"overflowX\\\")},locationCouldBeScrolled=function(e,t){var r=t;do{if(\\\"undefined\\\"!=typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),elementCouldBeScrolled(e,r)){var i=getScrollVariables(e,r),n=i[1];if(i[2]\u003Cn)return!0}}while((r=r.parentNode)&&r!==document.body);return!1},getVScrollVariables=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},getHScrollVariables=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},elementCouldBeScrolled=function(e,t){return(\\\"v\\\"===e?elementCouldBeVScrolled:elementCouldBeHScrolled)(t)},getScrollVariables=function(e,t){return(\\\"v\\\"===e?getVScrollVariables:getHScrollVariables)(t)},getDirectionFactor=function(e,t){return\\\"h\\\"===e&&\\\"rtl\\\"===t?-1:1},handleScroll=function(e,t,r,i,n){var o=getDirectionFactor(e,window.getComputedStyle(t).direction),a=o*i,s=r.target,l=t.contains(s),c=!1,d=0\u003Ca,u=0,p=0;do{var h=getScrollVariables(e,s),m=h[0],h=h[1]-h[2]-o*m}while((m||h)&&elementCouldBeScrolled(e,s)&&(u+=h,p+=m),s=s.parentNode,!l&&s!==document.body||l&&(t.contains(s)||t===s));return c=d&&(n&&0===u||!n&&u\u003Ca)||!d&&(n&&0===p||!n&&p\u003C-a)?!0:c},getTouchXY=function(e){return\\\"changedTouches\\\"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},getDeltaXY=function(e){return[e.deltaX,e.deltaY]},extractRef=function(e){return e&&\\\"current\\\"in e?e.current:e},deltaCompare=function(e,t){return e[0]===t[0]&&e[1]===t[1]},generateStyle=function(e){return\\\"\\\\n .block-interactivity-\\\".concat(e,\\\" {pointer-events: none;}\\\\n .allow-interactivity-\\\").concat(e,\\\" {pointer-events: all;}\\\\n\\\")},idCounter=0,lockStack=[];function RemoveScrollSideCar(t){var o=React39.useRef([]),l=React39.useRef([0,0]),c=React39.useRef(),r=React39.useState(idCounter++)[0],n=React39.useState(function(){return styleSingleton()})[0],d=React39.useRef(t),a=(React39.useEffect(function(){d.current=t},[t]),React39.useEffect(function(){var e;if(t.inert)return document.body.classList.add(\\\"block-interactivity-\\\".concat(r)),(e=__spreadArray([t.lockRef.current],(t.shards||[]).map(extractRef),!0).filter(Boolean)).forEach(function(e){return e.classList.add(\\\"allow-interactivity-\\\".concat(r))}),function(){document.body.classList.remove(\\\"block-interactivity-\\\".concat(r)),e.forEach(function(e){return e.classList.remove(\\\"allow-interactivity-\\\".concat(r))})}},[t.inert,t.lockRef.current,t.shards]),React39.useCallback(function(e,t){var r,i,n,o,a,s;return\\\"touches\\\"in e&&2===e.touches.length?!d.current.allowPinchZoom:(o=getTouchXY(e),i=l.current,r=\\\"deltaX\\\"in e?e.deltaX:i[0]-o[0],i=\\\"deltaY\\\"in e?e.deltaY:i[1]-o[1],o=e.target,s=Math.abs(r)>Math.abs(i)?\\\"h\\\":\\\"v\\\",!(\\\"touches\\\"in e&&\\\"h\\\"==s&&\\\"range\\\"===o.type)&&(!(a=locationCouldBeScrolled(s,o))||(a?n=s:(n=\\\"v\\\"==s?\\\"h\\\":\\\"v\\\",a=locationCouldBeScrolled(s,o)),!!a&&(!c.current&&\\\"changedTouches\\\"in e&&(r||i)&&(c.current=n),!n||(s=c.current||n,handleScroll(s,t,e,\\\"h\\\"===s?r:i,!0))))))},[])),e=React39.useCallback(function(e){var t,r,i=e;lockStack.length&&lockStack[lockStack.length-1]===n&&(t=(\\\"deltaY\\\"in i?getDeltaXY:getTouchXY)(i),(r=o.current.filter(function(e){return e.name===i.type&&e.target===i.target&&deltaCompare(e.delta,t)})[0])&&r.should?i.cancelable&&i.preventDefault():r||(0\u003C(r=(d.current.shards||[]).map(extractRef).filter(Boolean).filter(function(e){return e.contains(i.target)})).length?a(i,r[0]):!d.current.noIsolation)&&i.cancelable&&i.preventDefault())},[]),i=React39.useCallback(function(e,t,r,i){var n={name:e,delta:t,target:r,should:i};o.current.push(n),setTimeout(function(){o.current=o.current.filter(function(e){return e!==n})},1)},[]),s=React39.useCallback(function(e){l.current=getTouchXY(e),c.current=void 0},[]),u=React39.useCallback(function(e){i(e.type,getDeltaXY(e),e.target,a(e,t.lockRef.current))},[]),p=React39.useCallback(function(e){i(e.type,getTouchXY(e),e.target,a(e,t.lockRef.current))},[]),h=(React39.useEffect(function(){return lockStack.push(n),t.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:p}),document.addEventListener(\\\"wheel\\\",e,nonPassive),document.addEventListener(\\\"touchmove\\\",e,nonPassive),document.addEventListener(\\\"touchstart\\\",s,nonPassive),function(){lockStack=lockStack.filter(function(e){return e!==n}),document.removeEventListener(\\\"wheel\\\",e,nonPassive),document.removeEventListener(\\\"touchmove\\\",e,nonPassive),document.removeEventListener(\\\"touchstart\\\",s,nonPassive)}},[]),t.removeScrollBar),m=t.inert;return React39.createElement(React39.Fragment,null,m?React39.createElement(n,{styles:generateStyle(r)}):null,h?React39.createElement(RemoveScrollBar,{gapMode:\\\"margin\\\"}):null)}var sidecar_default=exportSidecar(effectCar,RemoveScrollSideCar),ReactRemoveScroll=React40.forwardRef(function(e,t){return React40.createElement(RemoveScroll,__assign({},e,{ref:t,sideCar:sidecar_default}))}),Combination_default=(ReactRemoveScroll.classNames=RemoveScroll.classNames,ReactRemoveScroll),getDefaultParent=(init_esbuild_inject(),function(e){return\\\"undefined\\\"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body}),counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={},lockCount=0,unwrapHost=function(e){return e&&(e.host||unwrapHost(e.parentNode))},correctTargets=function(r,e){return e.map(function(e){var t;return r.contains(e)?e:(t=unwrapHost(e))&&r.contains(t)?t:(console.error(\\\"aria-hidden\\\",e,\\\"in not contained inside\\\",r,\\\". Doing nothing\\\"),null)}).filter(function(e){return Boolean(e)})},applyAttributeToOthers=function(e,t,n,o){var r=correctTargets(t,Array.isArray(e)?e:[e]),a=(markerMap[n]||(markerMap[n]=new WeakMap),markerMap[n]),s=[],l=new Set,i=new Set(r),c=function(e){e&&!l.has(e)&&(l.add(e),c(e.parentNode))},d=(r.forEach(c),function(e){e&&!i.has(e)&&Array.prototype.forEach.call(e.children,function(e){var t,r,i;l.has(e)?d(e):(t=null!==(t=e.getAttribute(o))&&\\\"false\\\"!==t,r=(counterMap.get(e)||0)+1,i=(a.get(e)||0)+1,counterMap.set(e,r),a.set(e,i),s.push(e),1===r&&t&&uncontrolledNodes.set(e,!0),1===i&&e.setAttribute(n,\\\"true\\\"),t||e.setAttribute(o,\\\"true\\\"))})});return d(t),l.clear(),lockCount++,function(){s.forEach(function(e){var t=counterMap.get(e)-1,r=a.get(e)-1;counterMap.set(e,t),a.set(e,r),t||(uncontrolledNodes.has(e)||e.removeAttribute(o),uncontrolledNodes[\\\"delete\\\"](e)),r||e.removeAttribute(n)}),--lockCount||(counterMap=new WeakMap,counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={})}},hideOthers=function(e,t,r){void 0===r&&(r=\\\"data-aria-hidden\\\");var i=Array.from(Array.isArray(e)?e:[e]),n=t||getDefaultParent(e);return n?(i.push.apply(i,Array.from(n.querySelectorAll(\\\"[aria-live]\\\"))),applyAttributeToOthers(i,n,r,\\\"aria-hidden\\\")):function(){return null}},$5d3850c4d0b4e6c7$var$DIALOG_NAME=\\\"Dialog\\\",[$5d3850c4d0b4e6c7$var$createDialogContext,$5d3850c4d0b4e6c7$export$cc702773b8ea3e41]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($5d3850c4d0b4e6c7$var$DIALOG_NAME),[$5d3850c4d0b4e6c7$var$DialogProvider,$5d3850c4d0b4e6c7$var$useDialogContext]=$5d3850c4d0b4e6c7$var$createDialogContext($5d3850c4d0b4e6c7$var$DIALOG_NAME),$5d3850c4d0b4e6c7$export$3ddf2d174ce01153=e=>{var{__scopeDialog:t,children:r,open:i,defaultOpen:n,onOpenChange:o,modal:a=!0}=e,s=(0,import_react74.useRef)(null),l=(0,import_react74.useRef)(null);const[c=!1,d]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:i,defaultProp:n,onChange:o});return(0,import_react74.createElement)($5d3850c4d0b4e6c7$var$DialogProvider,{scope:t,triggerRef:s,contentRef:l,contentId:$1746a345f3d73bb7$export$f680877a34711e37(),titleId:$1746a345f3d73bb7$export$f680877a34711e37(),descriptionId:$1746a345f3d73bb7$export$f680877a34711e37(),open:c,onOpenChange:d,onOpenToggle:(0,import_react74.useCallback)(()=>d(e=>!e),[d]),modal:a},r)},$5d3850c4d0b4e6c7$var$PORTAL_NAME=\\\"DialogPortal\\\",[$5d3850c4d0b4e6c7$var$PortalProvider,$5d3850c4d0b4e6c7$var$usePortalContext]=$5d3850c4d0b4e6c7$var$createDialogContext($5d3850c4d0b4e6c7$var$PORTAL_NAME,{forceMount:void 0}),$5d3850c4d0b4e6c7$export$dad7c95542bacce0=e=>{const{__scopeDialog:t,forceMount:r,children:i,container:n}=e,o=$5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$PORTAL_NAME,t);return(0,import_react74.createElement)($5d3850c4d0b4e6c7$var$PortalProvider,{scope:t,forceMount:r},import_react74.Children.map(i,e=>(0,import_react74.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:r||o.open},(0,import_react74.createElement)($f1701beae083dbae$export$602eac185826482c2,{asChild:!0,container:n},e))))},$5d3850c4d0b4e6c7$var$OVERLAY_NAME=\\\"DialogOverlay\\\",$5d3850c4d0b4e6c7$export$bd1d06c79be19e17=(0,import_react74.forwardRef)((e,t)=>{var r=$5d3850c4d0b4e6c7$var$usePortalContext($5d3850c4d0b4e6c7$var$OVERLAY_NAME,e.__scopeDialog);const{forceMount:i=r.forceMount,...n}=e;r=$5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$OVERLAY_NAME,e.__scopeDialog);return r.modal?(0,import_react74.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:i||r.open},(0,import_react74.createElement)($5d3850c4d0b4e6c7$var$DialogOverlayImpl,_extends({},n,{ref:t}))):null}),$5d3850c4d0b4e6c7$var$DialogOverlayImpl=(0,import_react74.forwardRef)((e,t)=>{const{__scopeDialog:r,...i}=e;var n=$5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$OVERLAY_NAME,r);return(0,import_react74.createElement)(Combination_default,{as:$5e63c961fc1ce211$export$8c6ed5c666ac1360,allowPinchZoom:!0,shards:[n.contentRef]},(0,import_react74.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({\\\"data-state\\\":$5d3850c4d0b4e6c7$var$getState(n.open)},i,{ref:t,style:{pointerEvents:\\\"auto\\\",...i.style}})))}),$5d3850c4d0b4e6c7$var$CONTENT_NAME=\\\"DialogContent\\\",$5d3850c4d0b4e6c7$export$b6d9565de1e068cf=(0,import_react74.forwardRef)((e,t)=>{var r=$5d3850c4d0b4e6c7$var$usePortalContext($5d3850c4d0b4e6c7$var$CONTENT_NAME,e.__scopeDialog);const{forceMount:i=r.forceMount,...n}=e;r=$5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME,e.__scopeDialog);return(0,import_react74.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:i||r.open},r.modal?(0,import_react74.createElement)($5d3850c4d0b4e6c7$var$DialogContentModal,_extends({},n,{ref:t})):(0,import_react74.createElement)($5d3850c4d0b4e6c7$var$DialogContentNonModal,_extends({},n,{ref:t})))}),$5d3850c4d0b4e6c7$var$DialogContentModal=(0,import_react74.forwardRef)((e,t)=>{const r=$5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME,e.__scopeDialog),i=(0,import_react74.useRef)(null);var n=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,r.contentRef,i);return(0,import_react74.useEffect)(()=>{var e=i.current;if(e)return hideOthers(e)},[]),(0,import_react74.createElement)($5d3850c4d0b4e6c7$var$DialogContentImpl,_extends({},e,{ref:n,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),null!=(t=r.triggerRef.current)&&t.focus()}),onPointerDownOutside:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerDownOutside,e=>{var t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;2!==t.button&&!r||e.preventDefault()}),onFocusOutside:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocusOutside,e=>e.preventDefault())}))}),$5d3850c4d0b4e6c7$var$DialogContentNonModal=(0,import_react74.forwardRef)((i,e)=>{const n=$5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME,i.__scopeDialog),o=(0,import_react74.useRef)(!1),a=(0,import_react74.useRef)(!1);return(0,import_react74.createElement)($5d3850c4d0b4e6c7$var$DialogContentImpl,_extends({},i,{ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:e=>{var t;null!=(t=i.onCloseAutoFocus)&&t.call(i,e),e.defaultPrevented||(o.current||null!=(t=n.triggerRef.current)&&t.focus(),e.preventDefault()),o.current=!1,a.current=!1},onInteractOutside:e=>{null!=(r=i.onInteractOutside)&&r.call(i,e),e.defaultPrevented||(o.current=!0,\\\"pointerdown\\\"===e.detail.originalEvent.type&&(a.current=!0));var t,r=e.target;(null==(t=n.triggerRef.current)?void 0:t.contains(r))&&e.preventDefault(),\\\"focusin\\\"===e.detail.originalEvent.type&&a.current&&e.preventDefault()}}))}),$5d3850c4d0b4e6c7$var$DialogContentImpl=(0,import_react74.forwardRef)((e,t)=>{const{__scopeDialog:r,trapFocus:i,onOpenAutoFocus:n,onCloseAutoFocus:o,...a}=e,s=$5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME,r);var l=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,(0,import_react74.useRef)(null));return $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c(),(0,import_react74.createElement)(import_react74.Fragment,null,(0,import_react74.createElement)($d3863c46a17e8a28$export$20e40289641fbbb6,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:n,onUnmountAutoFocus:o},(0,import_react74.createElement)($5cb92bef7577960e$export$177fb62ff3ec1f222,_extends({role:\\\"dialog\\\",id:s.contentId,\\\"aria-describedby\\\":s.descriptionId,\\\"aria-labelledby\\\":s.titleId,\\\"data-state\\\":$5d3850c4d0b4e6c7$var$getState(s.open)},a,{ref:l,onDismiss:()=>s.onOpenChange(!1)}))),!1)}),$5d3850c4d0b4e6c7$var$TITLE_NAME=\\\"DialogTitle\\\",$5d3850c4d0b4e6c7$export$16f7638e4a34b909=(0,import_react74.forwardRef)((e,t)=>{const{__scopeDialog:r,...i}=e;var n=$5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$TITLE_NAME,r);return(0,import_react74.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.h2,_extends({id:n.titleId},i,{ref:t}))}),$5d3850c4d0b4e6c7$var$CLOSE_NAME=\\\"DialogClose\\\",$5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac=(0,import_react74.forwardRef)((e,t)=>{const{__scopeDialog:r,...i}=e,n=$5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CLOSE_NAME,r);return(0,import_react74.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.button,_extends({type:\\\"button\\\"},i,{ref:t,onClick:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onClick,()=>n.onOpenChange(!1))}))});function $5d3850c4d0b4e6c7$var$getState(e){return e?\\\"open\\\":\\\"closed\\\"}var $5d3850c4d0b4e6c7$var$TITLE_WARNING_NAME=\\\"DialogTitleWarning\\\",[$5d3850c4d0b4e6c7$export$69b62a49393917d6,$5d3850c4d0b4e6c7$var$useWarningContext]=$c512c27ab02ef895$export$fd42f52fd3ae1109($5d3850c4d0b4e6c7$var$TITLE_WARNING_NAME,{contentName:$5d3850c4d0b4e6c7$var$CONTENT_NAME,titleName:$5d3850c4d0b4e6c7$var$TITLE_NAME,docsSlug:\\\"dialog\\\"}),$5d3850c4d0b4e6c7$export$be92b6f5f03c0fe9=$5d3850c4d0b4e6c7$export$3ddf2d174ce01153,$5d3850c4d0b4e6c7$export$602eac185826482c=$5d3850c4d0b4e6c7$export$dad7c95542bacce0,$5d3850c4d0b4e6c7$export$c6fdb837b070b4ff=$5d3850c4d0b4e6c7$export$bd1d06c79be19e17,$5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2=$5d3850c4d0b4e6c7$export$b6d9565de1e068cf,import_classnames19=__toESM(require_classnames(),1);function Header({className:e,children:t}){return(0,import_jsx_runtime74.jsx)(\\\"div\\\",{className:(0,import_classnames19[\\\"default\\\"])(\\\"tlui-dialog__header\\\",e),children:t})}function Title({className:e,children:t}){return(0,import_jsx_runtime74.jsx)($5d3850c4d0b4e6c7$export$16f7638e4a34b909,{dir:\\\"ltr\\\",className:(0,import_classnames19[\\\"default\\\"])(\\\"tlui-dialog__header__title\\\",e),children:t})}function CloseButton(){return(0,import_jsx_runtime74.jsx)(\\\"div\\\",{className:\\\"tlui-dialog__header__close\\\",children:(0,import_jsx_runtime74.jsx)($5d3850c4d0b4e6c7$export$fba2fb7cd781b7ac,{\\\"data-testid\\\":\\\"dialog.close\\\",dir:\\\"ltr\\\",asChild:!0,children:(0,import_jsx_runtime74.jsx)(Button,{type:\\\"icon\\\",\\\"aria-label\\\":\\\"Close\\\",onTouchEnd:e=>e.target.click(),children:(0,import_jsx_runtime74.jsx)(Icon,{small:!0,icon:\\\"cross-2\\\"})})})})}function Body({className:e,children:t,style:r}){return(0,import_jsx_runtime74.jsx)(\\\"div\\\",{className:(0,import_classnames19[\\\"default\\\"])(\\\"tlui-dialog__body\\\",e),style:r,children:t})}function Footer({className:e,children:t}){return(0,import_jsx_runtime74.jsx)(\\\"div\\\",{className:(0,import_classnames19[\\\"default\\\"])(\\\"tlui-dialog__footer\\\",e),children:t})}init_esbuild_inject();var import_jsx_runtime75=require(\\\"react/jsx-runtime\\\"),import_classnames20=__toESM(require_classnames(),1),React41=__toESM(require(\\\"react\\\"),1),Input=React41.forwardRef(function Input2({className:e,label:t,icon:r,iconLeft:i,autoselect:n=!1,autofocus:o=!1,defaultValue:a,placeholder:s,onComplete:l,onValueChange:c,onCancel:d,onBlur:u,shouldManuallyMaintainScrollPositionWhenFocused:p=!1,children:h,value:m},g){const _=useEditor(),f=React41.useRef(null);React41.useImperativeHandle(g,()=>f.current);var b=useTranslation();const v=React41.useRef(null!=a?a:\\\"\\\"),y=React41.useRef(null!=a?a:\\\"\\\"),[S,x]=React41.useState(!1);var w=React41.useCallback(e=>{x(!0);const t=e.currentTarget;y.current=t.value,requestAnimationFrame(()=>{n&&t.select()})},[n]),$=React41.useCallback(e=>{var t=e.currentTarget.value;y.current=t,null!=c&&c(t)},[c]),E=React41.useCallback(e=>{switch(e.key){case\\\"Enter\\\":e.currentTarget.blur(),stopEventPropagation(e),null!=l&&l(e.currentTarget.value);break;case\\\"Escape\\\":e.currentTarget.value=v.current,e.currentTarget.blur(),stopEventPropagation(e),null!=d&&d(e.currentTarget.value)}},[l,d]),P=React41.useCallback(e=>{x(!1);var t=e.currentTarget.value;null!=u&&u(t)},[u]);return React41.useEffect(()=>{if(_.environment.isIos){const e=window.visualViewport;if(S&&p&&e){const t=()=>{var e;null!=(e=f.current)&&e.scrollIntoView({block:\\\"center\\\"})};return e.addEventListener(\\\"resize\\\",t),e.addEventListener(\\\"scroll\\\",t),requestAnimationFrame(()=>{var e;null!=(e=f.current)&&e.scrollIntoView({block:\\\"center\\\"})}),()=>{e.removeEventListener(\\\"resize\\\",t),e.removeEventListener(\\\"scroll\\\",t)}}}},[_,S,p]),(0,import_jsx_runtime75.jsxs)(\\\"div\\\",{draggable:!1,className:\\\"tlui-input__wrapper\\\",children:[h,t&&(0,import_jsx_runtime75.jsx)(\\\"label\\\",{children:b(t)}),i&&(0,import_jsx_runtime75.jsx)(Icon,{icon:i,className:\\\"tlui-icon-left\\\",small:!0}),(0,import_jsx_runtime75.jsx)(\\\"input\\\",{ref:f,className:(0,import_classnames20[\\\"default\\\"])(\\\"tlui-input\\\",e),type:\\\"text\\\",defaultValue:a,onKeyUp:E,onChange:$,onFocus:w,onBlur:P,autoFocus:o,placeholder:s,value:m}),r&&(0,import_jsx_runtime75.jsx)(Icon,{icon:r,small:!!t})]})});function validateUrl(e){return isValidUrl(e)?{isValid:!0,hasProtocol:!0}:isValidUrl(\\\"https://\\\"+e)?{isValid:!0,hasProtocol:!1}:{isValid:!1,hasProtocol:!1}}var EditLinkDialog=track(function EditLinkDialog2({onClose:e}){var t=useEditor().getOnlySelectedShape();return t&&\\\"url\\\"in t.props&&\\\"string\\\"==typeof t.props.url?(0,import_jsx_runtime76.jsx)(EditLinkDialogInner,{onClose:e,selectedShape:t}):null}),EditLinkDialogInner=track(function EditLinkDialogInner2({onClose:t,selectedShape:r}){const i=useEditor();var e=useTranslation();const n=(0,import_react75.useRef)(null);(0,import_react75.useEffect)(()=>{requestAnimationFrame(()=>{var e;return null==(e=n.current)?void 0:e.focus()})},[]);var o=(0,import_react75.useRef)(r.props.url);const[a,s]=(0,import_react75.useState)(()=>{var e=validateUrl(r.props.url),e=!0===e.isValid?e.hasProtocol?r.props.url:\\\"https://\\\"+r.props.url:\\\"https://\\\";return{actual:e,safe:e,valid:!0}});var l=(0,import_react75.useCallback)(e=>{var t=e.replace(/https?:\\\\/\\\\/(https?:\\\\/\\\\/)/,(e,t)=>t),r=validateUrl(t),i=!0===r.isValid?r.hasProtocol?t:\\\"https://\\\"+t:\\\"https://\\\";s({actual:t,safe:i,valid:r.isValid})},[]),c=(0,import_react75.useCallback)(()=>{var e=i.getOnlySelectedShape();e&&(i.updateShapes([{id:e.id,type:e.type,props:{url:\\\"\\\"}}]),t())},[i,t]),d=(0,import_react75.useCallback)(()=>{var e=i.getOnlySelectedShape();e&&(e&&\\\"url\\\"in e.props&&e.props.url!==a.safe&&i.updateShapes([{id:e.id,type:e.type,props:{url:a.safe}}]),t())},[i,t,a]),u=(0,import_react75.useCallback)(()=>{t()},[t]);return r?(o=o.current&&!a.valid,(0,import_jsx_runtime76.jsxs)(import_jsx_runtime76.Fragment,{children:[(0,import_jsx_runtime76.jsxs)(Header,{children:[(0,import_jsx_runtime76.jsx)(Title,{children:e(\\\"edit-link-dialog.title\\\")}),(0,import_jsx_runtime76.jsx)(CloseButton,{})]}),(0,import_jsx_runtime76.jsx)(Body,{children:(0,import_jsx_runtime76.jsxs)(\\\"div\\\",{className:\\\"tlui-edit-link-dialog\\\",children:[(0,import_jsx_runtime76.jsx)(Input,{ref:n,className:\\\"tlui-edit-link-dialog__input\\\",label:\\\"edit-link-dialog.url\\\",autofocus:!0,value:a.actual,onValueChange:l,onComplete:d,onCancel:u}),(0,import_jsx_runtime76.jsx)(\\\"div\\\",{children:a.valid?e(\\\"edit-link-dialog.detail\\\"):e(\\\"edit-link-dialog.invalid-url\\\")})]})}),(0,import_jsx_runtime76.jsxs)(Footer,{className:\\\"tlui-dialog__footer__actions\\\",children:[(0,import_jsx_runtime76.jsx)(Button,{type:\\\"normal\\\",onClick:u,onTouchEnd:u,children:e(\\\"edit-link-dialog.cancel\\\")}),o?(0,import_jsx_runtime76.jsx)(Button,{type:\\\"danger\\\",onTouchEnd:c,onClick:c,children:e(\\\"edit-link-dialog.clear\\\")}):(0,import_jsx_runtime76.jsx)(Button,{type:\\\"primary\\\",disabled:!a.valid,onTouchEnd:d,onClick:d,children:e(\\\"edit-link-dialog.save\\\")})]})]})):(t(),null)}),import_jsx_runtime77=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react76=require(\\\"react\\\"),EmbedDialog=track(function EmbedDialog2({onClose:e}){const t=useEditor();var r=useTranslation();const i=useAssetUrls(),[n,o]=(0,import_react76.useState)(null),[a,s]=(0,import_react76.useState)(\\\"\\\"),[l,c]=(0,import_react76.useState)(null),[d,u]=(0,import_react76.useState)(!1),p=(0,import_react76.useRef)(-1);return(0,import_jsx_runtime77.jsxs)(import_jsx_runtime77.Fragment,{children:[(0,import_jsx_runtime77.jsxs)(Header,{children:[(0,import_jsx_runtime77.jsx)(Title,{children:n?r(\\\"embed-dialog.title\\\")+\\\" — \\\"+n.title:r(\\\"embed-dialog.title\\\")}),(0,import_jsx_runtime77.jsx)(CloseButton,{})]}),n?(0,import_jsx_runtime77.jsxs)(import_jsx_runtime77.Fragment,{children:[(0,import_jsx_runtime77.jsxs)(Body,{className:\\\"tlui-embed-dialog__enter\\\",children:[(0,import_jsx_runtime77.jsx)(Input,{className:\\\"tlui-embed-dialog__input\\\",label:\\\"embed-dialog.url\\\",placeholder:\\\"http://example.com\\\",autofocus:!0,onValueChange:e=>{s(e);const t=getEmbedInfo(e);c(t&&t.definition.type===n.type?t:null),u(!1),clearTimeout(p.current),p.current=setTimeout(()=>u(!t),320)}}),\\\"\\\"===a?(0,import_jsx_runtime77.jsxs)(\\\"div\\\",{className:\\\"tlui-embed-dialog__instruction\\\",children:[(0,import_jsx_runtime77.jsx)(\\\"span\\\",{children:r(\\\"embed-dialog.instruction\\\")}),\\\" \\\",n.instructionLink&&(0,import_jsx_runtime77.jsxs)(\\\"a\\\",{target:\\\"_blank\\\",rel:\\\"noopener noreferrer\\\",href:n.instructionLink,className:\\\"tlui-embed-dialog__instruction__link\\\",children:[\\\"Learn more.\\\",(0,import_jsx_runtime77.jsx)(Icon,{icon:\\\"external-link\\\",small:!0})]})]}):(0,import_jsx_runtime77.jsx)(\\\"div\\\",{className:\\\"tlui-embed-dialog__warning\\\",children:d?r(\\\"embed-dialog.invalid-url\\\"):\\\" \\\"})]}),(0,import_jsx_runtime77.jsxs)(Footer,{className:\\\"tlui-dialog__footer__actions\\\",children:[(0,import_jsx_runtime77.jsx)(Button,{type:\\\"normal\\\",onClick:()=>{o(null),c(null),s(\\\"\\\")},label:\\\"embed-dialog.back\\\"}),(0,import_jsx_runtime77.jsx)(\\\"div\\\",{className:\\\"tlui-embed__spacer\\\"}),(0,import_jsx_runtime77.jsx)(Button,{type:\\\"normal\\\",label:\\\"embed-dialog.cancel\\\",onClick:e}),(0,import_jsx_runtime77.jsx)(Button,{type:\\\"primary\\\",disabled:!l,label:\\\"embed-dialog.create\\\",onClick:()=>{l&&(t.putExternalContent({type:\\\"embed\\\",url:a,point:t.getViewportPageCenter(),embed:l.definition}),e())}})]})]}):(0,import_jsx_runtime77.jsx)(import_jsx_runtime77.Fragment,{children:(0,import_jsx_runtime77.jsx)(Body,{className:\\\"tlui-embed-dialog__list\\\",children:EMBED_DEFINITIONS.map(e=>(0,import_jsx_runtime77.jsx)(Button,{type:\\\"menu\\\",onClick:()=>o(e),label:untranslated(e.title),children:(0,import_jsx_runtime77.jsx)(\\\"div\\\",{className:\\\"tlui-embed-dialog__item__image\\\",style:{backgroundImage:`url(${i.embedIcons[e.type]})`}})},e.type))})})]})}),import_lz_string=(init_esbuild_inject(),__toESM(require_lz_string(),1)),import_react77=require(\\\"react\\\");async function pasteExcalidrawContent(t,D,e){var r,i,{elements:n,files:R}=D,o={shapes:[],rootShapeIds:[],assets:[],schema:t.store.schema.serialize()},a=new Map,s=new Map,N=t.getCurrentPageId();const l=new Map;var c=[];const d=new Set;n.forEach(e=>{if(l.set(e.id,createShapeId()),null!==e.boundElements)for(const t of e.boundElements)\\\"text\\\"===t.type&&d.add(t.id)});let u=\\\"a1\\\";for(const k of n)if(!d.has(k.id)){var p,h,m=l.get(k.id),g={id:m,typeName:\\\"shape\\\",parentId:N,index:u,x:k.x,y:k.y,rotation:0,isLocked:k.locked,opacity:getOpacity(k.opacity),meta:{}};switch(0!==k.angle&&s.set(m,k.angle),k.groupIds&&0\u003Ck.groupIds.length?a.has(k.groupIds[0])?null!=(r=a.get(k.groupIds[0]))&&r.push(m):a.set(k.groupIds[0],[m]):c.push(m),k.type){case\\\"rectangle\\\":case\\\"ellipse\\\":case\\\"diamond\\\":{let e=\\\"\\\",t=\\\"middle\\\";if(null!==k.boundElements)for(const A of k.boundElements)\\\"text\\\"===A.type&&(p=n.find(e=>e.id===A.id))&&(e=p.text,t=textAlignToAlignTypes[p.textAlign]);var _=\\\"transparent\\\"===k.backgroundColor?k.strokeColor:k.backgroundColor;o.shapes.push({...g,type:\\\"geo\\\",props:{geo:k.type,url:null!=(f=k.link)?f:\\\"\\\",w:k.width,h:k.height,size:null!=(f=strokeWidthsToSizes[k.strokeWidth])?f:\\\"draw\\\",color:null!=(f=colorsToColors[_])?f:\\\"black\\\",text:e,align:t,dash:getDash(k),fill:getFill(k)}});break}case\\\"freedraw\\\":o.shapes.push({...g,type:\\\"draw\\\",props:{dash:getDash(k),size:strokeWidthsToSizes[k.strokeWidth],color:null!=(_=colorsToColors[k.strokeColor])?_:\\\"black\\\",segments:[{type:\\\"free\\\",points:k.points.map(([e,t,r=.5])=>({x:e,y:t,z:r}))}]}});break;case\\\"line\\\":{var f=k.points[0],b=k.points[k.points.length-1];const M=getIndices(k.points.length);o.shapes.push({...g,type:\\\"line\\\",props:{dash:getDash(k),size:strokeWidthsToSizes[k.strokeWidth],color:null!=(v=colorsToColors[k.strokeColor])?v:\\\"black\\\",spline:k.roundness?\\\"cubic\\\":\\\"line\\\",handles:{start:{id:\\\"start\\\",type:\\\"vertex\\\",index:M[0],x:f[0],y:f[1]},end:{id:\\\"end\\\",type:\\\"vertex\\\",index:M[M.length-1],x:b[0],y:b[1]},...Object.fromEntries(k.points.slice(1,-1).map(([e,t],r)=>{var i=uniqueId();return[i,{id:i,type:\\\"vertex\\\",index:M[r+1],x:e,y:t}]}))}}});break}case\\\"arrow\\\":{let e=\\\"\\\";if(null!==k.boundElements)for(const F of k.boundElements)\\\"text\\\"===F.type&&(h=n.find(e=>e.id===F.id))&&(e=h.text);var v=k.points[0],b=k.points[k.points.length-1],y=l.get(null==(y=k.startBinding)?void 0:y.elementId),S=l.get(null==(S=k.endBinding)?void 0:S.elementId);o.shapes.push({...g,type:\\\"arrow\\\",props:{text:e,bend:getBend(k,v,b),dash:getDash(k),size:null!=(x=strokeWidthsToSizes[k.strokeWidth])?x:\\\"m\\\",color:null!=(x=colorsToColors[k.strokeColor])?x:\\\"black\\\",start:y?{type:\\\"binding\\\",boundShapeId:y,normalizedAnchor:{x:.5,y:.5},isPrecise:!1,isExact:!1}:{type:\\\"point\\\",x:v[0],y:v[1]},end:S?{type:\\\"binding\\\",boundShapeId:S,normalizedAnchor:{x:.5,y:.5},isPrecise:!1,isExact:!1}:{type:\\\"point\\\",x:b[0],y:b[1]},arrowheadEnd:null!=(x=arrowheadsToArrowheadTypes[k.endArrowhead])?x:\\\"none\\\",arrowheadStart:null!=(y=arrowheadsToArrowheadTypes[k.startArrowhead])?y:\\\"none\\\"}});break}case\\\"text\\\":var{size:S,scale:x}=getFontSizeAndScale(k.fontSize);o.shapes.push({...g,type:\\\"text\\\",props:{size:S,scale:x,font:null!=(y=fontFamilyToFontType[k.fontFamily])?y:\\\"draw\\\",color:null!=($=colorsToColors[k.strokeColor])?$:\\\"black\\\",text:k.text,align:textAlignToAlignTypes[k.textAlign]}});break;case\\\"image\\\":var w,$=R[k.fileId];$&&(w=AssetRecordType.createId(),o.assets.push({id:w,typeName:\\\"asset\\\",type:\\\"image\\\",props:{w:k.width,h:k.height,name:null!=(i=k.id)?i:\\\"Untitled\\\",isAnimated:!1,mimeType:$.mimeType,src:$.dataURL},meta:{}}),o.shapes.push({...g,type:\\\"image\\\",props:{w:k.width,h:k.height,assetId:w}}))}u=getIndexAbove(u)}var E,P,I,j=null!=e?e:t.inputs.shiftKey?t.inputs.currentPagePoint:void 0;t.mark(\\\"paste\\\"),t.putContentOntoCurrentPage(o,{point:j,select:!1,preserveIds:!0});for(const O of a.values())1\u003CO.length&&(t.groupShapes(O),null!=(E=t.getShape(O[0])))&&E.parentId&&isShapeId(E.parentId)&&c.push(E.parentId);for([P,I]of s)t.select(P),t.rotateShapesBy([P],I);j=compact(c.map(e=>t.getShape(e)));const C=Box.Common(j.map(e=>t.getShapePageBounds(e))),T=t.getViewportPageBounds().center;t.updateShapes(j.map(e=>{var t;const r=(null!=(t=e.x)?t:0)-(C.x+C.w/2),i=(null!=(t=e.y)?t:0)-(C.y+C.h/2);return{id:e.id,type:e.type,x:T.x+r,y:T.y+i}})),t.setSelectedShapes(c)}init_esbuild_inject();var getOpacity=e=>{var t=e/100;return t\u003C.2?.1:t\u003C.4?.25:t\u003C.6?.5:t\u003C.8?.75:1},strokeWidthsToSizes={1:\\\"s\\\",2:\\\"m\\\",3:\\\"l\\\",4:\\\"xl\\\"},fontSizesToSizes={16:\\\"s\\\",20:\\\"m\\\",28:\\\"l\\\",36:\\\"xl\\\"};function getFontSizeAndScale(e){var t=fontSizesToSizes[e];return t?{size:t,scale:1}:e\u003C16?{size:\\\"s\\\",scale:e/16}:36\u003Ce?{size:\\\"xl\\\",scale:e/36}:{size:\\\"m\\\",scale:1}}var fontFamilyToFontType={1:\\\"draw\\\",2:\\\"sans\\\",3:\\\"mono\\\"},colorsToColors={\\\"#ffffff\\\":\\\"grey\\\",\\\"#000000\\\":\\\"black\\\",\\\"#343a40\\\":\\\"black\\\",\\\"#495057\\\":\\\"grey\\\",\\\"#c92a2a\\\":\\\"red\\\",\\\"#a61e4d\\\":\\\"light-red\\\",\\\"#862e9c\\\":\\\"violet\\\",\\\"#5f3dc4\\\":\\\"light-violet\\\",\\\"#364fc7\\\":\\\"blue\\\",\\\"#1864ab\\\":\\\"light-blue\\\",\\\"#0b7285\\\":\\\"light-green\\\",\\\"#087f5b\\\":\\\"light-green\\\",\\\"#2b8a3e\\\":\\\"green\\\",\\\"#5c940d\\\":\\\"light-green\\\",\\\"#e67700\\\":\\\"yellow\\\",\\\"#d9480f\\\":\\\"orange\\\",\\\"#ced4da\\\":\\\"grey\\\",\\\"#868e96\\\":\\\"grey\\\",\\\"#fa5252\\\":\\\"light-red\\\",\\\"#e64980\\\":\\\"red\\\",\\\"#be4bdb\\\":\\\"light-violet\\\",\\\"#7950f2\\\":\\\"violet\\\",\\\"#4c6ef5\\\":\\\"blue\\\",\\\"#228be6\\\":\\\"light-blue\\\",\\\"#15aabf\\\":\\\"light-green\\\",\\\"#12b886\\\":\\\"green\\\",\\\"#40c057\\\":\\\"green\\\",\\\"#82c91e\\\":\\\"light-green\\\",\\\"#fab005\\\":\\\"yellow\\\",\\\"#fd7e14\\\":\\\"orange\\\",\\\"#212529\\\":\\\"grey\\\"},strokeStylesToStrokeTypes={solid:\\\"draw\\\",dashed:\\\"dashed\\\",dotted:\\\"dotted\\\"},fillStylesToFillType={\\\"cross-hatch\\\":\\\"pattern\\\",hachure:\\\"pattern\\\",solid:\\\"solid\\\"},textAlignToAlignTypes={left:\\\"start\\\",center:\\\"middle\\\",right:\\\"end\\\"},arrowheadsToArrowheadTypes={arrow:\\\"arrow\\\",dot:\\\"dot\\\",triangle:\\\"triangle\\\",bar:\\\"pipe\\\"};function getBend(e,t,r){let i=0;var n,o,a,s,l;return 2\u003Ce.points.length&&(a=new Vec(t[0],t[1]),n=new Vec(r[0],r[1]),o=new Vec(e.points[1][0],e.points[1][1]),s=Vec.Sub(n,a),s=Vec.Per(s),a=Vec.Med(n,a),l=Vec.Sub(a,s),s=Vec.Add(a,s),l=Vec.NearestPointOnLineSegment(l,s,o,!1),i=Vec.Dist(l,a),Vec.Clockwise(l,n,a))&&(i*=-1),i}var getDash=e=>{var t;let r=null!=(t=strokeStylesToStrokeTypes[e.strokeStyle])?t:\\\"draw\\\";return r=\\\"draw\\\"===r&&0===e.roughness?\\\"solid\\\":r},getFill=e=>{var t;return\\\"transparent\\\"===e.backgroundColor?\\\"none\\\":null!=(t=fillStylesToFillType[e.fillStyle])?t:\\\"solid\\\"};async function pasteFiles(e,t,r,i){var n=(await Promise.all(t.map(async e=>(await fetch(e)).blob()))).map(e=>new File([e],\\\"tldrawFile\\\",{type:e.type}));e.mark(\\\"paste\\\"),await e.putExternalContent({type:\\\"files\\\",files:n,point:r,ignoreParent:!1,sources:i}),t.forEach(e=>URL.revokeObjectURL(e))}function pasteTldrawContent(e,t,r){var i=null!=r?r:e.inputs.shiftKey?e.inputs.currentPagePoint:void 0;e.mark(\\\"paste\\\"),e.putContentOntoCurrentPage(t,{point:i,select:!0})}async function pasteUrl(e,t,r,i){var n;try{if(new URL(t).pathname.match(/\\\\.(png|jpe?g|gif|svg|webp)$/i))if(null!=(n=(await fetch(t,{method:\\\"HEAD\\\"})).headers.get(\\\"content-type\\\"))&&n.match(/^image\\\\//))return e.mark(\\\"paste\\\"),void pasteFiles(e,[t])}catch(err){\\\"Failed to fetch\\\"!==err.message&&console.error(err)}return e.mark(\\\"paste\\\"),e.putExternalContent({type:\\\"url\\\",point:r,url:t,sources:i})}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var import_jsx_runtime78=require(\\\"react/jsx-runtime\\\"),React42=__toESM(require(\\\"react\\\"),1),defaultEventHandler=()=>{},EventsContext=React42.createContext({});function UiEventsProvider({onEvent:e,children:t}){return(0,import_jsx_runtime78.jsx)(EventsContext.Provider,{value:null!=e?e:defaultEventHandler,children:t})}function useUiEvents(){var e=React42.useContext(EventsContext);return null!=e?e:defaultEventHandler}function stripHtml(e){var t=document.implementation.createHTMLDocument(\\\"\\\");return t.documentElement.innerHTML=e.trim(),t.body.textContent||t.body.innerText||\\\"\\\"}var isValidHttpURL=e=>{try{var t=new URL(e);return\\\"http:\\\"===t.protocol||\\\"https:\\\"===t.protocol}catch(r){return!1}},getValidHttpURLList=e=>{var t=e.split(/[\\\\n\\\\s]/);for(const n of t)try{var r=new URL(n);if(\\\"http:\\\"!==r.protocol&&\\\"https:\\\"!==r.protocol)return}catch(i){return}return uniq(t)},isSvgText=e=>/^\u003Csvg/.test(e),INPUTS2=[\\\"input\\\",\\\"select\\\",\\\"textarea\\\"];function disallowClipboardEvents(e){var t=document[\\\"activeElement\\\"];return e.getIsMenuOpen()||t&&(t.getAttribute(\\\"contenteditable\\\")||-1\u003CINPUTS2.indexOf(t.tagName.toLowerCase()))}async function blobAsString(i){return new Promise((t,e)=>{const r=new FileReader;r.addEventListener(\\\"loadend\\\",()=>{var e=r.result;t(e)}),r.addEventListener(\\\"error\\\",()=>{e(r.error)}),r.readAsText(i)})}var isFile=e=>e.types.find(e=>e.match(/^image\\\\//)),handleText=(e,t,r,i)=>{var n=getValidHttpURLList(t);if(n)for(const o of n)pasteUrl(e,o,r);else isValidHttpURL(t)?pasteUrl(e,t,r):isSvgText(t)?(e.mark(\\\"paste\\\"),e.putExternalContent({type:\\\"svg-text\\\",text:t,point:r,sources:i})):(e.mark(\\\"paste\\\"),e.putExternalContent({type:\\\"text\\\",text:t,point:r,sources:i}))},handlePasteFromEventClipboardData=async(e,t,r)=>{if(null===e.getEditingShapeId()){if(!t)throw Error(\\\"No clipboard data\\\");var i=[];for(const n of Object.values(t.items))switch(n.kind){case\\\"file\\\":i.push({type:\\\"file\\\",source:new Promise(e=>e(n.getAsFile()))});break;case\\\"string\\\":\\\"text/html\\\"===n.type?i.push({type:\\\"html\\\",source:new Promise(e=>n.getAsString(e))}):\\\"text/plain\\\"===n.type?i.push({type:\\\"text\\\",source:new Promise(e=>n.getAsString(e))}):i.push({type:n.type,source:new Promise(e=>n.getAsString(e))})}handleClipboardThings(e,i,r)}},handlePasteFromClipboardApi=async(e,t,r)=>{var i=[];for(const n of t){if(isFile(n))for(const o of n.types)o.match(/^image\\\\//)&&i.push({type:\\\"blob\\\",source:n.getType(o)});n.types.includes(\\\"text/html\\\")&&i.push({type:\\\"html\\\",source:new Promise(t=>n.getType(\\\"text/html\\\").then(e=>blobAsString(e).then(t)))}),n.types.includes(\\\"text/uri-list\\\")&&i.push({type:\\\"url\\\",source:new Promise(t=>n.getType(\\\"text/uri-list\\\").then(e=>blobAsString(e).then(t)))}),n.types.includes(\\\"text/plain\\\")&&i.push({type:\\\"text\\\",source:new Promise(t=>n.getType(\\\"text/plain\\\").then(e=>blobAsString(e).then(t)))})}return handleClipboardThings(e,i,r)};async function handleClipboardThings(e,t,r){var i=t.filter(e=>(\\\"file\\\"===e.type||\\\"blob\\\"===e.type)&&null!==e.source);if(i.length)return pasteFiles(e,(await Promise.all(i.map(e=>e.source))).filter(Boolean).map(e=>URL.createObjectURL(e)),r);var n=await Promise.all(t.filter(e=>\\\"file\\\"!==e.type).map(e=>new Promise(a=>{const s=e;\\\"file\\\"===s.type?a({type:\\\"error\\\",data:null,reason:\\\"unexpected file\\\"}):s.source.then(e=>{var t=null==(t=e.match(/\u003Ctldraw[^>]*>(.*)\u003C\\\\/tldraw>/))?void 0:t[1];if(t)try{var r,i=(0,import_lz_string.decompressFromBase64)(t);return null===i?void a({type:\\\"error\\\",data:i,reason:\\\"found tldraw data comment but could not parse base64\\\"}):(\\\"application/tldraw\\\"!==(r=JSON.parse(i)).type&&a({type:\\\"error\\\",data:r,reason:\\\"found tldraw data comment but JSON was of a different type: \\\"+r.type}),\\\"string\\\"==typeof r.data?void a({type:\\\"error\\\",data:r,reason:\\\"found tldraw json but data was a string instead of a TLClipboardModel object\\\"}):void a({type:\\\"tldraw\\\",data:r.data}))}catch(o){return void a({type:\\\"error\\\",data:t,reason:\\\"found tldraw json but data was a string instead of a TLClipboardModel object\\\"})}else{if(\\\"html\\\"===s.type)return void a({type:\\\"text\\\",data:e,subtype:\\\"html\\\"});if(\\\"url\\\"===s.type)return void a({type:\\\"text\\\",data:e,subtype:\\\"url\\\"});try{var n=JSON.parse(e);return\\\"excalidraw/clipboard\\\"===n.type?void a({type:\\\"excalidraw\\\",data:n}):void a({type:\\\"text\\\",data:e,subtype:\\\"json\\\"})}catch(o){return void a({type:\\\"text\\\",data:e,subtype:\\\"text\\\"})}}a({type:\\\"error\\\",data:e,reason:\\\"unhandled case\\\"})})})));for(const a of n)if(\\\"tldraw\\\"===a.type)return void pasteTldrawContent(e,a.data,r);for(const s of n)if(\\\"excalidraw\\\"===s.type)return void pasteExcalidrawContent(e,s.data,r);for(const l of n)if(\\\"text\\\"===l.type&&\\\"html\\\"===l.subtype){var o=(new DOMParser).parseFromString(l.data,\\\"text/html\\\").querySelector(\\\"body\\\");if(o&&1===Array.from(o.children).filter(e=>1===e.nodeType).length&&o.firstElementChild&&\\\"A\\\"===o.firstElementChild.tagName&&o.firstElementChild.hasAttribute(\\\"href\\\")&&\\\"\\\"!==o.firstElementChild.getAttribute(\\\"href\\\"))return o=o.firstElementChild.getAttribute(\\\"href\\\"),void handleText(e,o,r,n);if(!n.some(e=>\\\"text\\\"===e.type&&\\\"html\\\"!==e.subtype)&&l.data.trim())return void handleText(e,stripHtml(l.data),r,n)}for(const c of n)if(\\\"text\\\"===c.type&&\\\"url\\\"===c.subtype)return void pasteUrl(e,c.data,r,n);for(const d of n)if(\\\"text\\\"===d.type&&\\\"text\\\"===d.subtype&&d.data.trim())return void handleText(e,d.data,r,n)}var handleNativeOrMenuCopy=t=>{var r=t.getContentFromCurrentPage(t.getSelectedShapeIds());if(r){var i=(0,import_lz_string.compressToBase64)(JSON.stringify({type:\\\"application/tldraw\\\",kind:\\\"content\\\",data:r}));if(\\\"undefined\\\"!=typeof navigator){r=r.shapes.map(e=>t.isShapeOfType(e,\\\"text\\\")||t.isShapeOfType(e,\\\"geo\\\")||t.isShapeOfType(e,\\\"arrow\\\")?e.props.text:t.isShapeOfType(e,\\\"bookmark\\\")||t.isShapeOfType(e,\\\"embed\\\")?e.props.url:null).filter(isNonNull);if(null!=(n=navigator.clipboard)&&n.write){var n=new Blob([`\u003Ctldraw>${i}\u003C/tldraw>`],{type:\\\"text/html\\\"});let e=r.join(\\\" \\\");\\\"\\\"===e&&(e=\\\" \\\"),navigator.clipboard.write([new ClipboardItem({\\\"text/html\\\":n,\\\"text/plain\\\":new Blob([e],{type:\\\"text/plain\\\"})})])}else navigator.clipboard.writeText&&navigator.clipboard.writeText(`\u003Ctldraw>${i}\u003C/tldraw>`)}}else navigator&&navigator.clipboard&&navigator.clipboard.writeText(\\\"\\\")};function useMenuClipboardEvents(){const i=useEditor(),n=useUiEvents();var e=(0,import_react77.useCallback)(function(e){0!==i.getSelectedShapeIds().length&&(handleNativeOrMenuCopy(i),n(\\\"copy\\\",{source:e}))},[i,n]),t=(0,import_react77.useCallback)(function(e){0!==i.getSelectedShapeIds().length&&(handleNativeOrMenuCopy(i),i.deleteShapes(i.getSelectedShapeIds()),n(\\\"cut\\\",{source:e}))},[i,n]);const o=(0,import_react77.useCallback)(async function(e,t,r){null!==i.getEditingShapeId()||disallowClipboardEvents(i)||(Array.isArray(e)&&e[0]instanceof ClipboardItem?(handlePasteFromClipboardApi(i,e,r),n(\\\"paste\\\",{source:\\\"menu\\\"})):navigator.clipboard.read().then(e=>{o(e,t,r)}))},[i,n]);return{copy:e,cut:t,paste:o}}function useNativeClipboardEvents(){const o=useEditor(),a=useUiEvents(),t=useValue(\\\"editor.isFocused\\\",()=>o.getInstanceState().isFocused,[o]);(0,import_react77.useEffect)(()=>{if(t){const r=()=>{0===o.getSelectedShapeIds().length||null!==o.getEditingShapeId()||disallowClipboardEvents(o)||(handleNativeOrMenuCopy(o),a(\\\"copy\\\",{source:\\\"kbd\\\"}))};let t=!1;const i=e=>{1===e.button&&(t=!0,requestAnimationFrame(()=>{t=!1}))},n=e=>{t?e.stopPropagation():null!==o.getEditingShapeId()||disallowClipboardEvents(o)||(e.clipboardData&&!o.inputs.shiftKey?handlePasteFromEventClipboardData(o,e.clipboardData):navigator.clipboard.read().then(e=>{Array.isArray(e)&&e[0]instanceof ClipboardItem&&handlePasteFromClipboardApi(o,e,o.inputs.currentPagePoint)}),a(\\\"paste\\\",{source:\\\"kbd\\\"}))};return document.addEventListener(\\\"copy\\\",r),document.addEventListener(\\\"cut\\\",e),document.addEventListener(\\\"paste\\\",n),document.addEventListener(\\\"pointerup\\\",i),()=>{document.removeEventListener(\\\"copy\\\",r),document.removeEventListener(\\\"cut\\\",e),document.removeEventListener(\\\"paste\\\",n),document.removeEventListener(\\\"pointerup\\\",i)};function e(){0===o.getSelectedShapeIds().length||null!==o.getEditingShapeId()||disallowClipboardEvents(o)||(handleNativeOrMenuCopy(o),o.deleteShapes(o.getSelectedShapeIds()),a(\\\"cut\\\",{source:\\\"kbd\\\"}))}}},[o,a,t])}init_esbuild_inject();var import_react79=require(\\\"react\\\");async function getSvgAsImage(e,n,t){const{type:r,quality:i,scale:o}=t;var a=+e.getAttribute(\\\"width\\\"),s=+e.getAttribute(\\\"height\\\");let l=a*o,c=s*o;const d=await getSvgAsDataUrl(e);var u=await getBrowserCanvasMaxSize(),u=(a>u.maxWidth&&(l=u.maxWidth,c=l/a*s),s>u.maxHeight&&(c=u.maxHeight,l=c/s*a),l*c>u.maxArea&&(s=Math.sqrt(u.maxArea/(l*c)),l*=s,c*=s),l=Math.floor(l),c=Math.floor(c),l/a);const p=await new Promise(r=>{const i=new Image;i.crossOrigin=\\\"anonymous\\\",i.onload=async()=>{n&&await new Promise(e=>setTimeout(e,250));var e=document.createElement(\\\"canvas\\\"),t=e.getContext(\\\"2d\\\");e.width=l,e.height=c,t.imageSmoothingEnabled=!0,t.imageSmoothingQuality=\\\"high\\\",t.drawImage(i,0,0,l,c),URL.revokeObjectURL(d),r(e)},i.onerror=()=>{r(null)},i.src=d});return p&&(s=await new Promise(t=>p.toBlob(e=>{e&&!debugFlags.throwToBlob.get()||t(null),t(e)},\\\"image/\\\"+r,i)))?(a=new DataView(await s.arrayBuffer()),PngHelpers.setPhysChunk(a,u,{type:\\\"image/\\\"+r})):null}async function getSvgAsDataUrl(e){var t=e.cloneNode(!0);t.setAttribute(\\\"encoding\\\",'UTF-8\\\"');const r=new FileReader;for(const n of Array.from(t.querySelectorAll(\\\"image\\\"))){var i=n.getAttribute(\\\"xlink:href\\\");if(i&&!i.startsWith(\\\"data:\\\")){const o=await(await fetch(i)).blob();i=await new Promise((e,t)=>{r.onload=()=>e(r.result),r.onerror=()=>t(r.error),r.readAsDataURL(o)});n.setAttribute(\\\"xlink:href\\\",i)}}t=(new XMLSerializer).serializeToString(t);return\\\"data:image/svg+xml;base64,\\\"+window.btoa(unescape(encodeURIComponent(t)))}function copyAs(o,a,s=\\\"svg\\\",e={}){return o.getSvg(null!=a&&a.length?a:[...o.getCurrentPageShapeIds()],{scale:1,background:o.getInstanceState().exportBackground,...e}).then(e=>{if(!e)throw new Error(\\\"Could not construct SVG.\\\");switch(s){case\\\"svg\\\":window.navigator.clipboard&&(window.navigator.clipboard.write?window.navigator.clipboard.write([new ClipboardItem({\\\"text/plain\\\":new Blob([getSvgAsString(e)],{type:\\\"text/plain\\\"})})]):fallbackWriteTextAsync(async()=>getSvgAsString(e)));break;case\\\"jpeg\\\":case\\\"png\\\":{const r=getSvgAsImage(e,o.environment.isSafari,{type:s,quality:1,scale:2}).then(e=>{if(e){if(window.navigator.clipboard)return e;throw new Error(\\\"Copy not supported\\\")}throw new Error(\\\"Copy not possible\\\")}),i=\\\"jpeg\\\"===s?\\\"image/jpeg\\\":\\\"image/png\\\";window.navigator.clipboard.write&&window.navigator.clipboard.write([new ClipboardItem({[i]:r})])[\\\"catch\\\"](e=>{e.toString().match(/^TypeError: DOMString not supported/)||console.error(e),r.then(e=>{window.navigator.clipboard.write([new ClipboardItem({[i]:e})])})});break}case\\\"json\\\":{var t=o.getContentFromCurrentPage(a);const n=JSON.stringify(t);window.navigator.clipboard.write?window.navigator.clipboard.write([new ClipboardItem({\\\"text/plain\\\":new Blob([n],{type:\\\"text/plain\\\"})})]):fallbackWriteTextAsync(async()=>n);break}default:throw new Error(`Copy type ${s} not supported.`)}})}async function fallbackWriteTextAsync(e){var t,r;null!=(r=null==(t=navigator.clipboard)?void 0:t.writeText)&&r.call(t,await e())}function getSvgAsString(e){var t=e.cloneNode(!0),t=(e.setAttribute(\\\"width\\\",+e.getAttribute(\\\"width\\\")+\\\"\\\"),e.setAttribute(\\\"height\\\",+e.getAttribute(\\\"height\\\")+\\\"\\\"),(new XMLSerializer).serializeToString(t).replaceAll(\\\" \\\",\\\"\\\").replaceAll(/((\\\\s|\\\")[0-9]*\\\\.[0-9]{2})([0-9]*)(\\\\b|\\\"|\\\\))/g,\\\"$1\\\"));return t}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var import_jsx_runtime79=require(\\\"react/jsx-runtime\\\"),import_react78=require(\\\"react\\\"),ToastsContext=(0,import_react78.createContext)({});function ToastsProvider({children:e}){const[t,i]=(0,import_react78.useState)([]);var r=(0,import_react78.useCallback)(t=>{var e;const r=null!=(e=t.id)?e:uniqueId();return i(e=>[...e.filter(e=>e.id!==t.id),{...t,id:r}]),r},[]),n=(0,import_react78.useCallback)(t=>(i(e=>e.filter(e=>e.id!==t)),t),[]),o=(0,import_react78.useCallback)(()=>{i(()=>[])},[]);return(0,import_jsx_runtime79.jsx)(ToastsContext.Provider,{value:{toasts:t,addToast:r,removeToast:n,clearToasts:o},children:e})}function useToasts(){var e=(0,import_react78.useContext)(ToastsContext);if(e)return e;throw new Error(\\\"useToasts must be used within a ToastsProvider\\\")}function useCopyAs(){const r=useEditor(),i=useToasts()[\\\"addToast\\\"],n=useTranslation();return(0,import_react79.useCallback)((e,t=\\\"svg\\\")=>{copyAs(r,e,t)[\\\"catch\\\"](()=>{i({id:\\\"copy-fail\\\",icon:\\\"warning-triangle\\\",title:n(\\\"toast.error.copy-fail.title\\\"),description:n(\\\"toast.error.copy-fail.desc\\\")})})},[r,i,n])}init_esbuild_inject();var import_jsx_runtime80=require(\\\"react/jsx-runtime\\\"),import_react80=require(\\\"react\\\"),DialogsContext=(0,import_react80.createContext)({});function DialogsProvider({children:e}){const i=useEditor(),n=useUiEvents(),[t,o]=(0,import_react80.useState)([]);var r=(0,import_react80.useCallback)(t=>{var e;const r=null!=(e=t.id)?e:uniqueId();return o(e=>[...e.filter(e=>e.id!==t.id),{...t,id:r}]),n(\\\"open-menu\\\",{source:\\\"dialog\\\",id:r}),i.addOpenMenu(r),r},[i,n]),a=(0,import_react80.useCallback)((t,r)=>(o(e=>e.map(e=>e.id===t?{...e,...r}:e)),n(\\\"open-menu\\\",{source:\\\"dialog\\\",id:t}),i.addOpenMenu(t),t),[i,n]),s=(0,import_react80.useCallback)(r=>(o(e=>e.filter(e=>{var t;return e.id!==r||(null!=(t=e.onClose)&&t.call(e),!1)})),n(\\\"close-menu\\\",{source:\\\"dialog\\\",id:r}),i.deleteOpenMenu(r),r),[i,n]),l=(0,import_react80.useCallback)(()=>{o(e=>(e.forEach(e=>{var t;null!=(t=e.onClose)&&t.call(e),n(\\\"close-menu\\\",{source:\\\"dialog\\\",id:e.id}),i.deleteOpenMenu(e.id)}),[]))},[i,n]);return(0,import_jsx_runtime80.jsx)(DialogsContext.Provider,{value:{dialogs:t,addDialog:r,removeDialog:s,clearDialogs:l,updateDialog:a},children:e})}function useDialogs(){var e=(0,import_react80.useContext)(DialogsContext);if(e)return e;throw new Error(\\\"useDialogs must be used within a DialogsProvider\\\")}init_esbuild_inject();var import_react81=require(\\\"react\\\");function exportAs(o,a,s=\\\"png\\\",e={}){return o.getSvg(null!=a&&a.length?a:[...o.getCurrentPageShapeIds()],e).then(e=>{var t,r;if(!e)throw new Error(\\\"Could not construct SVG.\\\");let i=\\\"shapes\\\"+getTimestamp();switch(1===a.length&&(r=o.getShape(a[0]),i=o.isShapeOfType(r,\\\"frame\\\")?null!=(t=r.props.name)?t:\\\"frame\\\":r.id.replace(/:/,\\\"_\\\")),s){case\\\"svg\\\":return void getSvgAsDataUrl(e).then(e=>downloadDataURLAsFile(e,i+\\\".svg\\\"));case\\\"webp\\\":case\\\"png\\\":return void getSvgAsImage(e,o.environment.isSafari,{type:s,quality:1,scale:2}).then(e=>{if(!e)throw Error();var t=URL.createObjectURL(e);downloadDataURLAsFile(t,i+\\\".\\\"+s),URL.revokeObjectURL(t)});case\\\"json\\\":var n=o.getContentFromCurrentPage(a),n=new Blob([JSON.stringify(n,null,4)],{type:\\\"application/json\\\"}),n=URL.createObjectURL(n);return downloadDataURLAsFile(n,`${i||\\\"shapes\\\"}.json`),void URL.revokeObjectURL(n);default:throw new Error(`Export type ${s} not supported.`)}})}function getTimestamp(){var e=new Date;return` at ${String(e.getFullYear()).slice(2)}-${String(e.getMonth()+1).padStart(2,\\\"0\\\")}-${String(e.getDate()).padStart(2,\\\"0\\\")} ${String(e.getHours()).padStart(2,\\\"0\\\")}.${String(e.getMinutes()).padStart(2,\\\"0\\\")}.`+String(e.getSeconds()).padStart(2,\\\"0\\\")}function downloadDataURLAsFile(e,t){var r=document.createElement(\\\"a\\\");r.href=e,r.download=t,r.click()}function useExportAs(){const r=useEditor(),i=useToasts()[\\\"addToast\\\"],n=useTranslation();return(0,import_react81.useCallback)((e,t=\\\"png\\\")=>{exportAs(r,e,t,{scale:1,background:r.getInstanceState().exportBackground})[\\\"catch\\\"](e=>{console.error(e.message),i({id:\\\"export-fail\\\",title:n(\\\"toast.error.export-fail.title\\\"),description:n(\\\"toast.error.export-fail.desc\\\")})})},[r,i,n])}init_esbuild_inject(),init_esbuild_inject();var import_react82=require(\\\"react\\\");function useInsertMedia(){const i=useEditor(),t=(0,import_react82.useRef)();return(0,import_react82.useEffect)(()=>{const r=window.document.createElement(\\\"input\\\");async function e(e){var t=e.target.files;t&&0!==t.length&&(await i.putExternalContent({type:\\\"files\\\",files:Array.from(t),point:i.getViewportPageBounds().center,ignoreParent:!1}),r.value=\\\"\\\")}return r.type=\\\"file\\\",r.accept=\\\"image/jpeg,image/png,image/gif,image/svg+xml,video/mp4,video/quicktime\\\",r.multiple=!0,(t.current=r).addEventListener(\\\"change\\\",e),()=>{t.current=void 0,r.removeEventListener(\\\"change\\\",e)}},[i]),(0,import_react82.useCallback)(()=>{var e;null!=(e=t.current)&&e.click()},[t])}init_esbuild_inject();var import_react83=require(\\\"react\\\");function usePrint(){const p=useEditor(),h=(0,import_react83.useRef)(null),m=(0,import_react83.useRef)(null);return(0,import_react83.useCallback)(async function(){const n=document.createElement(\\\"div\\\"),e=document.createElement(\\\"style\\\"),t=(e,t)=>{e&&(e.innerHTML=\\\"\\\"),t&&document.head.contains(t)&&document.head.removeChild(t),e&&document.body.contains(e)&&document.body.removeChild(e)},o=(t(h.current,m.current),h.current=n,m.current=e,\\\"tl-print-surface-\\\"+uniqueId());n.className=o;e.innerHTML=`\\n\\t\\t\\t.${o} {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.${o} svg {\\n\\t\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\n\\t\\t\\t@media print {\\t\\t\\t\\t \\n\\t\\t\\t\\thtml, body {\\n\\t\\t\\t\\t\\tmin-height: 100%;\\n\\t\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tbody {\\n\\t\\t\\t\\t\\tposition: relative;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tbody > * {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.tldraw__editor {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.${o} {\\n\\t\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t\\tbackground: white;\\n\\t\\t\\t\\t\\tmin-height: 100%;\\n\\t\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.${o}__item {\\n\\t\\t\\t\\t\\tpadding: 10mm;\\n\\t\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\t\\tmin-height: 100%;\\n\\t\\t\\t\\t\\tflex-direction: column;\\n\\t\\t\\t\\t\\tpage-break-after: always;\\n\\t\\t\\t\\t\\tposition: relative;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.${o}__item__main {\\n\\t\\t\\t\\t\\tflex: 1;\\n\\t\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\t\\tmax-height: 100%;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.${o}__item__header {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.${o}__item__footer {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t\\ttext-align: right;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.${o}__item__footer__hide {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t${\\\"\\\"}\\n\\t\\t\\t}\\n\\n\\t\\t`;const r=()=>{document.head.appendChild(e),document.body.appendChild(n)};var i=()=>{p.once(\\\"change-history\\\",()=>{t(n,e)})};function a(e,t,r){try{n.innerHTML+=`\u003Cdiv class=\\\"${o}__item\\\">\\n \u003Cdiv class=\\\"${o}__item__header\\\">\\n ${e.replace(/\u003C/g,\\\"<\\\").replace(/>/g,\\\">\\\")}\\n \u003C/div>\\n \u003Cdiv class=\\\"${o}__item__main\\\">\\n ${r.outerHTML}\\n \u003C/div>\\n \u003Cdiv class=\\\"${o}__item__footer ${o}__item__footer__${t?\\\"\\\":\\\"hide\\\"}\\\">\\n ${null!=t?t:\\\"\\\"}\\n \u003C/div>\\n \u003C/div>`}catch(i){console.error(i)}}function s(){p.environment.isChromeForIos?(r(),window.print()):p.environment.isSafari?(r(),document.execCommand(\\\"print\\\",!1)):window.print()}window.addEventListener(\\\"beforeprint\\\",r),window.addEventListener(\\\"afterprint\\\",i);var l=p.getSelectedShapeIds();const c=p.getCurrentPageId();var d=p.getPages(),u={scale:1,background:!1,darkMode:!1,preserveAspectRatio:\\\"xMidYMid meet\\\"};if(0\u003Cp.getSelectedShapeIds().length){l=await p.getSvg(l,u);l&&(a(\\\"tldraw — \\\"+(null==(d=d.find(e=>e.id===c))?void 0:d.name),null,l),s())}else{d=p.getCurrentPage(),l=await p.getSvg(p.getSortedChildIdsForParent(d.id),u);l&&(a(\\\"tldraw — \\\"+d.name,null,l),s())}window.removeEventListener(\\\"beforeprint\\\",r),window.removeEventListener(\\\"afterprint\\\",i)},[p])}var ActionsContext=React43.createContext({});function makeActions(e){return Object.fromEntries(e.map(e=>[e.id,e]))}function ActionsProvider({overrides:t,children:e}){const s=useEditor(),{addDialog:r,clearDialogs:n}=useDialogs(),a=useToasts()[\\\"clearToasts\\\"],l=useInsertMedia(),c=usePrint(),{cut:d,copy:u,paste:p}=useMenuClipboardEvents(),h=useCopyAs(),m=useExportAs(),g=useUiEvents();var i=React43.useMemo(()=>{function i(){s.isIn(\\\"select\\\")||(s.complete(),s.setCurrentTool(\\\"select\\\"))}function o(){return 0\u003Cs.getSelectedShapeIds().length}var e=makeActions([{id:\\\"edit-link\\\",label:\\\"action.edit-link\\\",icon:\\\"link\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"edit-link\\\",{source:e}),s.mark(\\\"edit-link\\\"),r({component:EditLinkDialog}))}},{id:\\\"insert-embed\\\",label:\\\"action.insert-embed\\\",readonlyOk:!1,kbd:\\\"$i\\\",onSelect(e){g(\\\"insert-embed\\\",{source:e}),r({component:EmbedDialog})}},{id:\\\"insert-media\\\",label:\\\"action.insert-media\\\",kbd:\\\"$u\\\",readonlyOk:!1,onSelect(e){g(\\\"insert-media\\\",{source:e}),l()}},{id:\\\"undo\\\",label:\\\"action.undo\\\",icon:\\\"undo\\\",kbd:\\\"$z\\\",readonlyOk:!1,onSelect(e){g(\\\"undo\\\",{source:e}),s.undo()}},{id:\\\"redo\\\",label:\\\"action.redo\\\",icon:\\\"redo\\\",kbd:\\\"$!z\\\",readonlyOk:!1,onSelect(e){g(\\\"redo\\\",{source:e}),s.redo()}},{id:\\\"export-as-svg\\\",label:\\\"action.export-as-svg\\\",menuLabel:\\\"action.export-as-svg.short\\\",contextMenuLabel:\\\"action.export-as-svg.short\\\",readonlyOk:!0,onSelect(e){g(\\\"export-as\\\",{format:\\\"svg\\\",source:e}),m(s.getSelectedShapeIds(),\\\"svg\\\")}},{id:\\\"export-as-png\\\",label:\\\"action.export-as-png\\\",menuLabel:\\\"action.export-as-png.short\\\",contextMenuLabel:\\\"action.export-as-png.short\\\",readonlyOk:!0,onSelect(e){g(\\\"export-as\\\",{format:\\\"png\\\",source:e}),m(s.getSelectedShapeIds(),\\\"png\\\")}},{id:\\\"export-as-json\\\",label:\\\"action.export-as-json\\\",menuLabel:\\\"action.export-as-json.short\\\",contextMenuLabel:\\\"action.export-as-json.short\\\",readonlyOk:!0,onSelect(e){g(\\\"export-as\\\",{format:\\\"json\\\",source:e}),m(s.getSelectedShapeIds(),\\\"json\\\")}},{id:\\\"copy-as-svg\\\",label:\\\"action.copy-as-svg\\\",menuLabel:\\\"action.copy-as-svg.short\\\",contextMenuLabel:\\\"action.copy-as-svg.short\\\",kbd:\\\"$!c\\\",readonlyOk:!0,onSelect(e){g(\\\"copy-as\\\",{format:\\\"svg\\\",source:e}),h(s.getSelectedShapeIds(),\\\"svg\\\")}},{id:\\\"copy-as-png\\\",label:\\\"action.copy-as-png\\\",menuLabel:\\\"action.copy-as-png.short\\\",contextMenuLabel:\\\"action.copy-as-png.short\\\",readonlyOk:!0,onSelect(e){g(\\\"copy-as\\\",{format:\\\"png\\\",source:e}),h(s.getSelectedShapeIds(),\\\"png\\\")}},{id:\\\"copy-as-json\\\",label:\\\"action.copy-as-json\\\",menuLabel:\\\"action.copy-as-json.short\\\",contextMenuLabel:\\\"action.copy-as-json.short\\\",readonlyOk:!0,onSelect(e){g(\\\"copy-as\\\",{format:\\\"json\\\",source:e}),h(s.getSelectedShapeIds(),\\\"json\\\")}},{id:\\\"toggle-auto-size\\\",label:\\\"action.toggle-auto-size\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"toggle-auto-size\\\",{source:e}),s.mark(\\\"toggling auto size\\\"),s.updateShapes(s.getSelectedShapes().filter(e=>s.isShapeOfType(e,\\\"text\\\")&&!1===e.props.autoSize).map(e=>({id:e.id,type:e.type,props:{...e.props,w:8,autoSize:!0}}))))}},{id:\\\"open-embed-link\\\",label:\\\"action.open-embed-link\\\",readonlyOk:!0,onSelect(e){g(\\\"open-embed-link\\\",{source:e});var t=s.getSelectedShapeIds(),r=\\\"No embed shapes selected\\\";1===t.length&&(t=s.getShape(t[0]))&&s.isShapeOfType(t,\\\"embed\\\")?openWindow(t.props.url,\\\"_blank\\\"):console.error(r)}},{id:\\\"select-zoom-tool\\\",readonlyOk:!0,kbd:\\\"z\\\",onSelect(e){var t,r;\\\"zoom\\\"===(null==(r=s.root.getCurrent())?void 0:r.id)||(g(\\\"zoom-tool\\\",{source:e}),s.inputs.shiftKey)||s.inputs.ctrlKey||(r=s.root.getCurrent())&&\\\"idle\\\"===(null==(t=r.getCurrent())?void 0:t.id)&&s.setCurrentTool(\\\"zoom\\\",{onInteractionEnd:r.id,maskAs:\\\"zoom\\\"})}},{id:\\\"convert-to-bookmark\\\",label:\\\"action.convert-to-bookmark\\\",readonlyOk:!1,onSelect(n){o()&&(i(),s.batch(()=>{g(\\\"convert-to-bookmark\\\",{source:n});var e,t=[],r=[];for(const i of s.getSelectedShapes())i&&s.isShapeOfType(i,\\\"embed\\\")&&i.props.url&&((e=new Vec(i.x,i.y)).rot(-i.rotation),e.add(new Vec(i.props.w/2-150,i.props.h/2-160)),e.rot(i.rotation),e={id:createShapeId(),type:\\\"bookmark\\\",rotation:i.rotation,x:e.x,y:e.y,opacity:1,props:{url:i.props.url}},t.push(e),r.push(i.id));s.mark(\\\"convert shapes to bookmark\\\"),s.deleteShapes(r),s.createShapes(t)}))}},{id:\\\"convert-to-embed\\\",label:\\\"action.convert-to-embed\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"convert-to-embed\\\",{source:e}),s.batch(()=>{var e,t,r,i,n=[],o=[];for(const a of compact(s.getSelectedShapeIds().map(e=>s.getShape(e))))s.isShapeOfType(a,\\\"bookmark\\\")&&(e=a.props[\\\"url\\\"],t=getEmbedInfo(a.props.url))&&t.definition&&(({width:t,height:r}=t.definition),(i=new Vec(a.x,a.y)).rot(-a.rotation),i.add(new Vec(a.props.w/2-t/2,a.props.h/2-r/2)),i.rot(a.rotation),i={id:createShapeId(),type:\\\"embed\\\",x:i.x,y:i.y,rotation:a.rotation,props:{url:e,w:t,h:r}},n.push(i),o.push(a.id));s.mark(\\\"convert shapes to embed\\\"),s.deleteShapes(o),s.createShapes(n)}))}},{id:\\\"duplicate\\\",kbd:\\\"$d\\\",label:\\\"action.duplicate\\\",icon:\\\"duplicate\\\",readonlyOk:!1,onSelect(e){var t,r;o()&&(i(),g(\\\"duplicate-shapes\\\",{source:e}),t=s.getSelectedShapeIds(),r=Box.Common(compact(t.map(e=>s.getShapePageBounds(e)))),r=s.getInstanceState().canMoveCamera?{x:r.width+10,y:0}:{x:16/s.getZoomLevel(),y:16/s.getZoomLevel()},s.mark(\\\"duplicate shapes\\\"),s.duplicateShapes(t,r))}},{id:\\\"ungroup\\\",label:\\\"action.ungroup\\\",kbd:\\\"$!g\\\",icon:\\\"ungroup\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"ungroup-shapes\\\",{source:e}),s.mark(\\\"ungroup\\\"),s.ungroupShapes(s.getSelectedShapeIds()))}},{id:\\\"group\\\",label:\\\"action.group\\\",kbd:\\\"$g\\\",icon:\\\"group\\\",readonlyOk:!1,onSelect(e){var t;o()&&(i(),g(\\\"group-shapes\\\",{source:e}),(t=s.getOnlySelectedShape())&&s.isShapeOfType(t,\\\"group\\\")?(s.mark(\\\"ungroup\\\"),s.ungroupShapes(s.getSelectedShapeIds())):(s.mark(\\\"group\\\"),s.groupShapes(s.getSelectedShapeIds())))}},{id:\\\"remove-frame\\\",label:\\\"action.remove-frame\\\",kbd:\\\"$!f\\\",readonlyOk:!1,onSelect(e){var t;o()&&(g(\\\"remove-frame\\\",{source:e}),0\u003C(t=s.getSelectedShapes()).length)&&t.every(e=>s.isShapeOfType(e,\\\"frame\\\"))&&(s.mark(\\\"remove-frame\\\"),removeFrame(s,t.map(e=>e.id)))}},{id:\\\"fit-frame-to-content\\\",label:\\\"action.fit-frame-to-content\\\",readonlyOk:!1,onSelect(e){var t;o()&&(g(\\\"fit-frame-to-content\\\",{source:e}),t=s.getOnlySelectedShape())&&s.isShapeOfType(t,\\\"frame\\\")&&(s.mark(\\\"fit-frame-to-content\\\"),fitFrameToContent(s,t.id))}},{id:\\\"align-left\\\",label:\\\"action.align-left\\\",kbd:\\\"?A\\\",icon:\\\"align-left\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"align-shapes\\\",{operation:\\\"left\\\",source:e}),s.mark(\\\"align left\\\"),s.alignShapes(s.getSelectedShapeIds(),\\\"left\\\"))}},{id:\\\"align-center-horizontal\\\",label:\\\"action.align-center-horizontal\\\",contextMenuLabel:\\\"action.align-center-horizontal.short\\\",kbd:\\\"?H\\\",icon:\\\"align-center-horizontal\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"align-shapes\\\",{operation:\\\"center-horizontal\\\",source:e}),s.mark(\\\"align center horizontal\\\"),s.alignShapes(s.getSelectedShapeIds(),\\\"center-horizontal\\\"))}},{id:\\\"align-right\\\",label:\\\"action.align-right\\\",kbd:\\\"?D\\\",icon:\\\"align-right\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"align-shapes\\\",{operation:\\\"right\\\",source:e}),s.mark(\\\"align right\\\"),s.alignShapes(s.getSelectedShapeIds(),\\\"right\\\"))}},{id:\\\"align-center-vertical\\\",label:\\\"action.align-center-vertical\\\",contextMenuLabel:\\\"action.align-center-vertical.short\\\",kbd:\\\"?V\\\",icon:\\\"align-center-vertical\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"align-shapes\\\",{operation:\\\"center-vertical\\\",source:e}),s.mark(\\\"align center vertical\\\"),s.alignShapes(s.getSelectedShapeIds(),\\\"center-vertical\\\"))}},{id:\\\"align-top\\\",label:\\\"action.align-top\\\",icon:\\\"align-top\\\",kbd:\\\"?W\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"align-shapes\\\",{operation:\\\"top\\\",source:e}),s.mark(\\\"align top\\\"),s.alignShapes(s.getSelectedShapeIds(),\\\"top\\\"))}},{id:\\\"align-bottom\\\",label:\\\"action.align-bottom\\\",icon:\\\"align-bottom\\\",kbd:\\\"?S\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"align-shapes\\\",{operation:\\\"bottom\\\",source:e}),s.mark(\\\"align bottom\\\"),s.alignShapes(s.getSelectedShapeIds(),\\\"bottom\\\"))}},{id:\\\"distribute-horizontal\\\",label:\\\"action.distribute-horizontal\\\",contextMenuLabel:\\\"action.distribute-horizontal.short\\\",icon:\\\"distribute-horizontal\\\",kbd:\\\"?!h\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"distribute-shapes\\\",{operation:\\\"horizontal\\\",source:e}),s.mark(\\\"distribute horizontal\\\"),s.distributeShapes(s.getSelectedShapeIds(),\\\"horizontal\\\"))}},{id:\\\"distribute-vertical\\\",label:\\\"action.distribute-vertical\\\",contextMenuLabel:\\\"action.distribute-vertical.short\\\",icon:\\\"distribute-vertical\\\",kbd:\\\"?!V\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"distribute-shapes\\\",{operation:\\\"vertical\\\",source:e}),s.mark(\\\"distribute vertical\\\"),s.distributeShapes(s.getSelectedShapeIds(),\\\"vertical\\\"))}},{id:\\\"stretch-horizontal\\\",label:\\\"action.stretch-horizontal\\\",contextMenuLabel:\\\"action.stretch-horizontal.short\\\",icon:\\\"stretch-horizontal\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"stretch-shapes\\\",{operation:\\\"horizontal\\\",source:e}),s.mark(\\\"stretch horizontal\\\"),s.stretchShapes(s.getSelectedShapeIds(),\\\"horizontal\\\"))}},{id:\\\"stretch-vertical\\\",label:\\\"action.stretch-vertical\\\",contextMenuLabel:\\\"action.stretch-vertical.short\\\",icon:\\\"stretch-vertical\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"stretch-shapes\\\",{operation:\\\"vertical\\\",source:e}),s.mark(\\\"stretch vertical\\\"),s.stretchShapes(s.getSelectedShapeIds(),\\\"vertical\\\"))}},{id:\\\"flip-horizontal\\\",label:\\\"action.flip-horizontal\\\",contextMenuLabel:\\\"action.flip-horizontal.short\\\",kbd:\\\"!h\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"flip-shapes\\\",{operation:\\\"horizontal\\\",source:e}),s.mark(\\\"flip horizontal\\\"),s.flipShapes(s.getSelectedShapeIds(),\\\"horizontal\\\"))}},{id:\\\"flip-vertical\\\",label:\\\"action.flip-vertical\\\",contextMenuLabel:\\\"action.flip-vertical.short\\\",kbd:\\\"!v\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"flip-shapes\\\",{operation:\\\"vertical\\\",source:e}),s.mark(\\\"flip vertical\\\"),s.flipShapes(s.getSelectedShapeIds(),\\\"vertical\\\"))}},{id:\\\"pack\\\",label:\\\"action.pack\\\",icon:\\\"pack\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"pack-shapes\\\",{source:e}),s.mark(\\\"pack\\\"),s.packShapes(s.getSelectedShapeIds(),16))}},{id:\\\"stack-vertical\\\",label:\\\"action.stack-vertical\\\",contextMenuLabel:\\\"action.stack-vertical.short\\\",icon:\\\"stack-vertical\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"stack-shapes\\\",{operation:\\\"vertical\\\",source:e}),s.mark(\\\"stack-vertical\\\"),s.stackShapes(s.getSelectedShapeIds(),\\\"vertical\\\",16))}},{id:\\\"stack-horizontal\\\",label:\\\"action.stack-horizontal\\\",contextMenuLabel:\\\"action.stack-horizontal.short\\\",icon:\\\"stack-horizontal\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"stack-shapes\\\",{operation:\\\"horizontal\\\",source:e}),s.mark(\\\"stack-horizontal\\\"),s.stackShapes(s.getSelectedShapeIds(),\\\"horizontal\\\",16))}},{id:\\\"bring-to-front\\\",label:\\\"action.bring-to-front\\\",kbd:\\\"]\\\",icon:\\\"bring-to-front\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"reorder-shapes\\\",{operation:\\\"toFront\\\",source:e}),s.mark(\\\"bring to front\\\"),s.bringToFront(s.getSelectedShapeIds()))}},{id:\\\"bring-forward\\\",label:\\\"action.bring-forward\\\",icon:\\\"bring-forward\\\",kbd:\\\"?]\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"reorder-shapes\\\",{operation:\\\"forward\\\",source:e}),s.mark(\\\"bring forward\\\"),s.bringForward(s.getSelectedShapeIds()))}},{id:\\\"send-backward\\\",label:\\\"action.send-backward\\\",icon:\\\"send-backward\\\",kbd:\\\"?[\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"reorder-shapes\\\",{operation:\\\"backward\\\",source:e}),s.mark(\\\"send backward\\\"),s.sendBackward(s.getSelectedShapeIds()))}},{id:\\\"send-to-back\\\",label:\\\"action.send-to-back\\\",icon:\\\"send-to-back\\\",kbd:\\\"[\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"reorder-shapes\\\",{operation:\\\"toBack\\\",source:e}),s.mark(\\\"send to back\\\"),s.sendToBack(s.getSelectedShapeIds()))}},{id:\\\"cut\\\",label:\\\"action.cut\\\",kbd:\\\"$x\\\",readonlyOk:!1,onSelect(e){o()&&(i(),s.mark(\\\"cut\\\"),d(e))}},{id:\\\"copy\\\",label:\\\"action.copy\\\",kbd:\\\"$c\\\",readonlyOk:!0,onSelect(e){o()&&(i(),u(e))}},{id:\\\"paste\\\",label:\\\"action.paste\\\",kbd:\\\"$v\\\",readonlyOk:!1,onSelect(t){var e;null!=(e=navigator.clipboard)&&e.read().then(e=>{p(e,t,\\\"context-menu\\\"===t?s.inputs.currentPagePoint:void 0)})}},{id:\\\"select-all\\\",label:\\\"action.select-all\\\",kbd:\\\"$a\\\",readonlyOk:!0,onSelect(e){s.batch(()=>{i(),g(\\\"select-all-shapes\\\",{source:e}),s.mark(\\\"select all kbd\\\"),s.selectAll()})}},{id:\\\"select-none\\\",label:\\\"action.select-none\\\",readonlyOk:!0,onSelect(e){o()&&(i(),g(\\\"select-none-shapes\\\",{source:e}),s.mark(\\\"select none\\\"),s.selectNone())}},{id:\\\"delete\\\",label:\\\"action.delete\\\",kbd:\\\"⌫,del,backspace\\\",icon:\\\"trash\\\",readonlyOk:!1,onSelect(e){o()&&(i(),g(\\\"delete-shapes\\\",{source:e}),s.mark(\\\"delete\\\"),s.deleteShapes(s.getSelectedShapeIds()))}},{id:\\\"rotate-cw\\\",label:\\\"action.rotate-cw\\\",icon:\\\"rotate-cw\\\",readonlyOk:!1,onSelect(e){var t,r;o()&&(i(),g(\\\"rotate-cw\\\",{source:e}),s.mark(\\\"rotate-cw\\\"),r=approximately(t=s.getSelectionRotation()%(HALF_PI/2),0)||approximately(t,HALF_PI/2),s.rotateShapesBy(s.getSelectedShapeIds(),HALF_PI/2-(r?0:t)))}},{id:\\\"rotate-ccw\\\",label:\\\"action.rotate-ccw\\\",icon:\\\"rotate-ccw\\\",readonlyOk:!1,onSelect(e){var t,r;o()&&(i(),g(\\\"rotate-ccw\\\",{source:e}),s.mark(\\\"rotate-ccw\\\"),r=approximately(t=s.getSelectionRotation()%(HALF_PI/2),0),s.rotateShapesBy(s.getSelectedShapeIds(),r?-HALF_PI/2:-t))}},{id:\\\"zoom-in\\\",label:\\\"action.zoom-in\\\",kbd:\\\"$=,=\\\",readonlyOk:!0,onSelect(e){g(\\\"zoom-in\\\",{source:e}),s.zoomIn(s.getViewportScreenCenter(),{duration:ANIMATION_MEDIUM_MS})}},{id:\\\"zoom-out\\\",label:\\\"action.zoom-out\\\",kbd:\\\"$-,-\\\",readonlyOk:!0,onSelect(e){g(\\\"zoom-out\\\",{source:e}),s.zoomOut(s.getViewportScreenCenter(),{duration:ANIMATION_MEDIUM_MS})}},{id:\\\"zoom-to-100\\\",label:\\\"action.zoom-to-100\\\",icon:\\\"reset-zoom\\\",kbd:\\\"!0\\\",readonlyOk:!0,onSelect(e){g(\\\"reset-zoom\\\",{source:e}),s.resetZoom(s.getViewportScreenCenter(),{duration:ANIMATION_MEDIUM_MS})}},{id:\\\"zoom-to-fit\\\",label:\\\"action.zoom-to-fit\\\",kbd:\\\"!1\\\",readonlyOk:!0,onSelect(e){g(\\\"zoom-to-fit\\\",{source:e}),s.zoomToFit({duration:ANIMATION_MEDIUM_MS})}},{id:\\\"zoom-to-selection\\\",label:\\\"action.zoom-to-selection\\\",kbd:\\\"!2\\\",readonlyOk:!0,onSelect(e){o()&&(i(),g(\\\"zoom-to-selection\\\",{source:e}),s.zoomToSelection({duration:ANIMATION_MEDIUM_MS}))}},{id:\\\"toggle-snap-mode\\\",label:\\\"action.toggle-snap-mode\\\",menuLabel:\\\"action.toggle-snap-mode.menu\\\",readonlyOk:!1,onSelect(e){g(\\\"toggle-snap-mode\\\",{source:e}),s.user.updateUserPreferences({isSnapMode:!s.user.getIsSnapMode()})},checkbox:!0},{id:\\\"toggle-dark-mode\\\",label:\\\"action.toggle-dark-mode\\\",menuLabel:\\\"action.toggle-dark-mode.menu\\\",kbd:\\\"$/\\\",readonlyOk:!0,onSelect(e){g(\\\"toggle-dark-mode\\\",{source:e}),s.user.updateUserPreferences({isDarkMode:!s.user.getIsDarkMode()})},checkbox:!0},{id:\\\"toggle-reduce-motion\\\",label:\\\"action.toggle-reduce-motion\\\",menuLabel:\\\"action.toggle-reduce-motion.menu\\\",readonlyOk:!0,onSelect(e){g(\\\"toggle-reduce-motion\\\",{source:e}),s.user.updateUserPreferences({animationSpeed:0===s.user.getAnimationSpeed()?1:0})},checkbox:!0},{id:\\\"toggle-edge-scrolling\\\",label:\\\"action.toggle-edge-scrolling\\\",menuLabel:\\\"action.toggle-edge-scrolling.menu\\\",readonlyOk:!0,onSelect(e){g(\\\"toggle-edge-scrolling\\\",{source:e}),s.user.updateUserPreferences({edgeScrollSpeed:0===s.user.getEdgeScrollSpeed()?1:0})},checkbox:!0},{id:\\\"toggle-transparent\\\",label:\\\"action.toggle-transparent\\\",menuLabel:\\\"action.toggle-transparent.menu\\\",contextMenuLabel:\\\"action.toggle-transparent.context-menu\\\",readonlyOk:!0,onSelect(e){g(\\\"toggle-transparent\\\",{source:e}),s.updateInstanceState({exportBackground:!s.getInstanceState().exportBackground},{ephemeral:!0})},checkbox:!0},{id:\\\"toggle-tool-lock\\\",label:\\\"action.toggle-tool-lock\\\",menuLabel:\\\"action.toggle-tool-lock.menu\\\",readonlyOk:!1,kbd:\\\"q\\\",onSelect(e){g(\\\"toggle-tool-lock\\\",{source:e}),s.updateInstanceState({isToolLocked:!s.getInstanceState().isToolLocked})},checkbox:!0},{id:\\\"unlock-all\\\",label:\\\"action.unlock-all\\\",readonlyOk:!1,onSelect(e){g(\\\"unlock-all\\\",{source:e});var t=[];for(const r of s.getCurrentPageShapes())r.isLocked&&t.push({id:r.id,type:r.type,isLocked:!1});0\u003Ct.length&&s.updateShapes(t)}},{id:\\\"toggle-focus-mode\\\",label:\\\"action.toggle-focus-mode\\\",menuLabel:\\\"action.toggle-focus-mode.menu\\\",readonlyOk:!0,kbd:\\\"$.\\\",checkbox:!0,onSelect(e){requestAnimationFrame(()=>{s.batch(()=>{g(\\\"toggle-focus-mode\\\",{source:e}),n(),a(),s.updateInstanceState({isFocusMode:!s.getInstanceState().isFocusMode})})})}},{id:\\\"toggle-grid\\\",label:\\\"action.toggle-grid\\\",menuLabel:\\\"action.toggle-grid.menu\\\",readonlyOk:!0,kbd:\\\"$'\\\",onSelect(e){g(\\\"toggle-grid-mode\\\",{source:e}),s.updateInstanceState({isGridMode:!s.getInstanceState().isGridMode})},checkbox:!0},{id:\\\"toggle-debug-mode\\\",label:\\\"action.toggle-debug-mode\\\",menuLabel:\\\"action.toggle-debug-mode.menu\\\",readonlyOk:!0,onSelect(e){g(\\\"toggle-debug-mode\\\",{source:e}),s.updateInstanceState({isDebugMode:!s.getInstanceState().isDebugMode})},checkbox:!0},{id:\\\"print\\\",label:\\\"action.print\\\",kbd:\\\"$p\\\",readonlyOk:!0,onSelect(e){g(\\\"print\\\",{source:e}),c()}},{id:\\\"exit-pen-mode\\\",label:\\\"action.exit-pen-mode\\\",icon:\\\"cross-2\\\",readonlyOk:!0,onSelect(e){g(\\\"exit-pen-mode\\\",{source:e}),s.updateInstanceState({isPenMode:!1})}},{id:\\\"stop-following\\\",label:\\\"action.stop-following\\\",icon:\\\"cross-2\\\",readonlyOk:!0,onSelect(e){g(\\\"stop-following\\\",{source:e}),s.stopFollowingUser()}},{id:\\\"back-to-content\\\",label:\\\"action.back-to-content\\\",icon:\\\"arrow-left\\\",readonlyOk:!0,onSelect(e){g(\\\"zoom-to-content\\\",{source:e}),s.zoomToContent()}},{id:\\\"toggle-lock\\\",label:\\\"action.toggle-lock\\\",readonlyOk:!1,kbd:\\\"!l\\\",onSelect(e){s.mark(\\\"locking\\\"),g(\\\"toggle-lock\\\",{source:e}),s.toggleLock(s.getSelectedShapeIds())}}]);return t?t(s,e,void 0):e},[s,g,t,r,l,m,h,d,u,p,n,a,c]);return(0,import_jsx_runtime81.jsx)(ActionsContext.Provider,{value:asActions(i),children:e})}function useActions(){var e=React43.useContext(ActionsContext);if(e)return e;throw new Error(\\\"useTools must be used within a ToolProvider\\\")}function asActions(e){return e}init_esbuild_inject();var import_jsx_runtime83=require(\\\"react/jsx-runtime\\\"),import_react85=__toESM(require(\\\"react\\\"),1);function compactMenuItems(e){return e.filter(e=>null!=e&&!1!==e)}function menuGroup(e,...t){var r=compactMenuItems(t);return 0===r.length?null:{id:e,type:\\\"group\\\",checkbox:r.every(e=>\\\"item\\\"===e.type&&e.actionItem.checkbox),disabled:r.every(e=>e.disabled),readonlyOk:r.some(e=>e.readonlyOk),children:r}}function menuSubmenu(e,t,...r){var i=compactMenuItems(r);return 0===i.length?null:{id:e,type:\\\"submenu\\\",label:t,children:i,disabled:i.every(e=>e.disabled),readonlyOk:i.some(e=>e.readonlyOk)}}function menuCustom(e,t={}){var{readonlyOk:r=!0,disabled:i=!1}=t;return{id:e,type:\\\"custom\\\",disabled:i,readonlyOk:r}}function menuItem(e,t={}){if(!e)throw Error(\\\"No action item provided to menuItem\\\");var r,i;if(e.label)return({checked:r=!1,disabled:i=!1}=t),{id:e.id,type:\\\"item\\\",actionItem:e,disabled:i,checked:r,readonlyOk:e.readonlyOk};throw Error(\\\"Trying to create menu item for action item that doesn't have a label\\\")}function shapesWithUnboundArrows(t){return t.getSelectedShapeIds().map(e=>t.getShape(e)).filter(e=>!!e&&!(t.isShapeOfType(e,\\\"arrow\\\")&&\\\"binding\\\"===e.props.start.type||t.isShapeOfType(e,\\\"arrow\\\")&&\\\"binding\\\"===e.props.end.type))}init_esbuild_inject();var useThreeStackableItems=()=>{const e=useEditor();return useValue(\\\"threeStackableItems\\\",()=>2\u003CshapesWithUnboundArrows(e).length,[e])};function shapesWithArrowsBoundToThem(e){var t=e.getSelectedShapes();const r=[],i=new Map;t.forEach(e=>{\\\"arrow\\\"===e.type?r.push(e):i.set(e.id,e)});t=r.filter(e=>!(\\\"binding\\\"===e.props.start.type&&!i.has(e.props.start.boundShapeId)||\\\"binding\\\"===e.props.end.type&&!i.has(e.props.end.boundShapeId)));return Array.from(i.values()).concat(t)}var useAllowGroup=()=>{const e=useEditor();return useValue(\\\"allowGroup\\\",()=>1\u003CshapesWithArrowsBoundToThem(e).length,[e])},useAllowUngroup=()=>{const r=useEditor();return useValue(\\\"allowUngroup\\\",()=>r.getSelectedShapeIds().some(e=>{var t;return\\\"group\\\"===(null==(t=r.getShape(e))?void 0:t.type)}),[r])},showMenuPaste=\\\"undefined\\\"!=typeof window&&\\\"navigator\\\"in window&&Boolean(navigator.clipboard)&&Boolean(navigator.clipboard.read),import_jsx_runtime82=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react84=__toESM(require(\\\"react\\\"),1),PORTRAIT_BREAKPOINTS=(init_esbuild_inject(),[0,390,428,468,580,640,840,1023]),BreakpointContext=import_react84[\\\"default\\\"].createContext(0);function BreakPointProvider({forceMobile:i=!1,children:e}){const n=useEditor();var t=useValue(\\\"breakpoint\\\",()=>{var e=n.getViewportScreenBounds()[\\\"width\\\"],t=i?3:PORTRAIT_BREAKPOINTS.length-1;for(let r=0;r\u003Ct;r++)if(e>PORTRAIT_BREAKPOINTS[r]&&e\u003C=PORTRAIT_BREAKPOINTS[r+1])return r;return t},[n]);return(0,import_jsx_runtime82.jsx)(BreakpointContext.Provider,{value:t,children:e})}function useBreakpoint(){return(0,import_react84.useContext)(BreakpointContext)}function useHasLinkShapeSelected(){const t=useEditor();return useValue(\\\"hasLinkShapeSelected\\\",()=>{var e=t.getSelectedShapes();return 1===e.length&&\\\"url\\\"in e[0].props&&\\\"embed\\\"!==e[0].type},[t])}init_esbuild_inject();var ActionsMenuSchemaContext=import_react85[\\\"default\\\"].createContext({}),ActionsMenuSchemaProvider=({overrides:t,children:e})=>{const r=useEditor(),i=useActions();var n=useValue(\\\"selected count\\\",()=>r.getSelectedShapeIds().length,[r]);const o=0\u003Cn,a=1\u003Cn,s=2\u003Cn,l=useThreeStackableItems(),c=useAllowGroup(),d=useAllowUngroup(),u=useHasLinkShapeSelected(),p=useBreakpoint(),h=useValue(\\\"zoom is 1\\\",()=>1===r.getZoomLevel(),[r]);n=(0,import_react85.useMemo)(()=>{var e=[menuItem(i[\\\"align-left\\\"],{disabled:!a}),menuItem(i[\\\"align-center-horizontal\\\"],{disabled:!a}),menuItem(i[\\\"align-right\\\"],{disabled:!a}),menuItem(i[\\\"stretch-horizontal\\\"],{disabled:!a}),menuItem(i[\\\"align-top\\\"],{disabled:!a}),menuItem(i[\\\"align-center-vertical\\\"],{disabled:!a}),menuItem(i[\\\"align-bottom\\\"],{disabled:!a}),menuItem(i[\\\"stretch-vertical\\\"],{disabled:!a}),menuItem(i[\\\"distribute-horizontal\\\"],{disabled:!s}),menuItem(i[\\\"distribute-vertical\\\"],{disabled:!s}),menuItem(i[\\\"stack-horizontal\\\"],{disabled:!l}),menuItem(i[\\\"stack-vertical\\\"],{disabled:!l}),menuItem(i[\\\"send-to-back\\\"],{disabled:!o}),menuItem(i[\\\"send-backward\\\"],{disabled:!o}),menuItem(i[\\\"bring-forward\\\"],{disabled:!o}),menuItem(i[\\\"bring-to-front\\\"],{disabled:!o}),p\u003C5?menuItem(i[\\\"zoom-to-100\\\"],{disabled:!!h}):menuItem(i[\\\"rotate-ccw\\\"],{disabled:!o}),menuItem(i[\\\"rotate-cw\\\"],{disabled:!o}),menuItem(i[\\\"edit-link\\\"],{disabled:!u}),!c&&d?menuItem(i.ungroup):menuItem(i.group,{disabled:!a})];return t?t(r,e,{actions:i,oneSelected:o,twoSelected:a,threeSelected:s}):e},[r,h,c,t,i,o,a,s,l,d,u,p]);return(0,import_jsx_runtime83.jsx)(ActionsMenuSchemaContext.Provider,{value:n,children:e})};function useActionsMenuSchema(){var e=import_react85[\\\"default\\\"].useContext(ActionsMenuSchemaContext);if(e)return e;throw new Error(\\\"useActionsMenuSchema must be used inside of a ActionsMenuSchemaProvider.\\\")}init_esbuild_inject();var import_jsx_runtime84=require(\\\"react/jsx-runtime\\\"),import_react86=__toESM(require(\\\"react\\\"),1);function useOnlyFlippableShape(){const t=useEditor();return useValue(\\\"onlyFlippableShape\\\",()=>{var e=t.getSelectedShapes();return 1===e.length&&e.every(e=>t.isShapeOfType(e,\\\"group\\\")||t.isShapeOfType(e,\\\"arrow\\\")||t.isShapeOfType(e,\\\"line\\\")||t.isShapeOfType(e,\\\"draw\\\"))},[t])}function useShowAutoSizeToggle(){const t=useEditor();return useValue(\\\"showAutoSizeToggle\\\",()=>{var e=t.getSelectedShapes();return 1===e.length&&t.isShapeOfType(e[0],\\\"text\\\")&&!1===e[0].props.autoSize},[t])}init_esbuild_inject(),init_esbuild_inject();var TLUiContextMenuSchemaContext=import_react86[\\\"default\\\"].createContext({}),TLUiContextMenuSchemaProvider=track(function TLUiContextMenuSchemaProvider2({overrides:t,children:e}){const r=useEditor(),i=useActions(),n=useShowAutoSizeToggle(),o=useOnlyFlippableShape();var a=r.getSelectedShapes(),s=a.length;const l=0\u003Cs,c=1\u003Cs,d=2\u003Cs,u=useThreeStackableItems(),p=useValue(\\\"atLeastOneShapeOnPage\\\",()=>0\u003Cr.getCurrentPageShapeIds().size,[]),h=useValue(\\\"isTransparentBg\\\",()=>r.getInstanceState().exportBackground,[]),m=useAllowGroup(),g=useAllowUngroup(),_=Boolean(null==(s=window.navigator.clipboard)?void 0:s.write),f=useHasLinkShapeSelected();s=r.getOnlySelectedShape();const b=l&&a.every(e=>r.isShapeOfType(e,\\\"frame\\\")),v=s&&r.isShapeOfType(s,\\\"frame\\\")&&0\u003Cr.getSortedChildIdsForParent(s).length,y=s&&r.isShapeOrAncestorLocked(s);a=(0,import_react86.useMemo)(()=>{let e=compactMenuItems([menuGroup(\\\"selection\\\",n&&menuItem(i[\\\"toggle-auto-size\\\"]),f&&!y&&menuItem(i[\\\"edit-link\\\"]),l&&!y&&menuItem(i.duplicate),m&&!y&&menuItem(i.group),g&&!y&&menuItem(i.ungroup),b&&!y&&menuItem(i[\\\"remove-frame\\\"]),v&&!y&&menuItem(i[\\\"fit-frame-to-content\\\"]),l&&menuItem(i[\\\"toggle-lock\\\"])),menuGroup(\\\"modify\\\",(c||o)&&menuSubmenu(\\\"arrange\\\",\\\"context-menu.arrange\\\",c&&menuGroup(\\\"align\\\",menuItem(i[\\\"align-left\\\"]),menuItem(i[\\\"align-center-horizontal\\\"]),menuItem(i[\\\"align-right\\\"]),menuItem(i[\\\"align-top\\\"]),menuItem(i[\\\"align-center-vertical\\\"]),menuItem(i[\\\"align-bottom\\\"])),d&&menuGroup(\\\"distribute\\\",menuItem(i[\\\"distribute-horizontal\\\"]),menuItem(i[\\\"distribute-vertical\\\"])),c&&menuGroup(\\\"stretch\\\",menuItem(i[\\\"stretch-horizontal\\\"]),menuItem(i[\\\"stretch-vertical\\\"])),o&&!y&&menuGroup(\\\"flip\\\",menuItem(i[\\\"flip-horizontal\\\"]),menuItem(i[\\\"flip-vertical\\\"])),c&&menuGroup(\\\"order\\\",menuItem(i.pack,{disabled:!c}),u&&menuItem(i[\\\"stack-vertical\\\"]),u&&menuItem(i[\\\"stack-horizontal\\\"]))),l&&!y&&menuSubmenu(\\\"reorder\\\",\\\"context-menu.reorder\\\",menuGroup(\\\"reorder\\\",menuItem(i[\\\"bring-to-front\\\"]),menuItem(i[\\\"bring-forward\\\"]),menuItem(i[\\\"send-backward\\\"]),menuItem(i[\\\"send-to-back\\\"]))),l&&!y&&menuCustom(\\\"MOVE_TO_PAGE_MENU\\\",{readonlyOk:!1})),menuGroup(\\\"clipboard-group\\\",l&&!y&&menuItem(i.cut),l&&menuItem(i.copy),showMenuPaste&&menuItem(i.paste)),p&&menuGroup(\\\"conversions\\\",menuSubmenu(\\\"copy-as\\\",\\\"context-menu.copy-as\\\",menuGroup(\\\"copy-as-group\\\",menuItem(i[\\\"copy-as-svg\\\"]),_&&menuItem(i[\\\"copy-as-png\\\"]),menuItem(i[\\\"copy-as-json\\\"])),menuGroup(\\\"export-bg\\\",menuItem(i[\\\"toggle-transparent\\\"],{checked:!h}))),menuSubmenu(\\\"export-as\\\",\\\"context-menu.export-as\\\",menuGroup(\\\"export-as-group\\\",menuItem(i[\\\"export-as-svg\\\"]),menuItem(i[\\\"export-as-png\\\"]),menuItem(i[\\\"export-as-json\\\"])),menuGroup(\\\"export-bg,\\\",menuItem(i[\\\"toggle-transparent\\\"],{checked:!h})))),p&&menuGroup(\\\"set-selection-group\\\",menuItem(i[\\\"select-all\\\"]),l&&menuItem(i[\\\"select-none\\\"])),l&&!y&&menuGroup(\\\"delete-group\\\",menuItem(i[\\\"delete\\\"]))]);return e=t?t(r,e,{actions:i,oneSelected:l,twoSelected:c,threeSelected:d,showAutoSizeToggle:n,showUngroup:g,onlyFlippableShapeSelected:o}):e},[r,t,i,l,c,d,n,o,p,u,m,g,b,v,_,f,h,y]);return(0,import_jsx_runtime84.jsx)(TLUiContextMenuSchemaContext.Provider,{value:a,children:e})});function useContextMenuSchema(){var e=import_react86[\\\"default\\\"].useContext(TLUiContextMenuSchemaContext);if(e)return e;throw new Error(\\\"useContextMenuSchema must be used inside of a TLUiContextMenuSchemaProvider.\\\")}init_esbuild_inject();var import_jsx_runtime88=require(\\\"react/jsx-runtime\\\"),import_react88=__toESM(require(\\\"react\\\"),1),import_jsx_runtime87=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_jsx_runtime86=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react87=__toESM(require(\\\"react\\\"),1),import_jsx_runtime85=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),React47=__toESM(require(\\\"react\\\"),1),ToolsContext=React47.createContext({});function ToolsProvider({overrides:t,children:e}){const r=useEditor(),i=useUiEvents(),n=useDialogs()[\\\"addDialog\\\"],o=useInsertMedia();var a=React47.useMemo(()=>{var e=[{id:\\\"select\\\",label:\\\"tool.select\\\",icon:\\\"tool-pointer\\\",kbd:\\\"v\\\",readonlyOk:!0,onSelect(e){r.setCurrentTool(\\\"select\\\"),i(\\\"select-tool\\\",{source:e,id:\\\"select\\\"})}},{id:\\\"hand\\\",label:\\\"tool.hand\\\",icon:\\\"tool-hand\\\",kbd:\\\"h\\\",readonlyOk:!0,onSelect(e){r.setCurrentTool(\\\"hand\\\"),i(\\\"select-tool\\\",{source:e,id:\\\"hand\\\"})}},{id:\\\"eraser\\\",label:\\\"tool.eraser\\\",icon:\\\"tool-eraser\\\",kbd:\\\"e\\\",readonlyOk:!1,onSelect(e){r.setCurrentTool(\\\"eraser\\\"),i(\\\"select-tool\\\",{source:e,id:\\\"eraser\\\"})}},{id:\\\"draw\\\",label:\\\"tool.draw\\\",readonlyOk:!1,icon:\\\"tool-pencil\\\",kbd:\\\"d,b,x\\\",onSelect(e){r.setCurrentTool(\\\"draw\\\"),i(\\\"select-tool\\\",{source:e,id:\\\"draw\\\"})}},...[...GeoShapeGeoStyle.values].map(t=>({id:t,label:\\\"tool.\\\"+t,readonlyOk:!1,meta:{geo:t},kbd:\\\"rectangle\\\"===t?\\\"r\\\":\\\"ellipse\\\"===t?\\\"o\\\":void 0,icon:\\\"geo-\\\"+t,onSelect(e){r.batch(()=>{r.updateInstanceState({stylesForNextShape:{...r.getInstanceState().stylesForNextShape,[GeoShapeGeoStyle.id]:t}},{ephemeral:!0}),r.setCurrentTool(\\\"geo\\\"),i(\\\"select-tool\\\",{source:e,id:\\\"geo-\\\"+t})})}})),{id:\\\"arrow\\\",label:\\\"tool.arrow\\\",readonlyOk:!1,icon:\\\"tool-arrow\\\",kbd:\\\"a\\\",onSelect(e){r.setCurrentTool(\\\"arrow\\\"),i(\\\"select-tool\\\",{source:e,id:\\\"arrow\\\"})}},{id:\\\"line\\\",label:\\\"tool.line\\\",readonlyOk:!1,icon:\\\"tool-line\\\",kbd:\\\"l\\\",onSelect(e){r.setCurrentTool(\\\"line\\\"),i(\\\"select-tool\\\",{source:e,id:\\\"line\\\"})}},{id:\\\"frame\\\",label:\\\"tool.frame\\\",readonlyOk:!1,icon:\\\"tool-frame\\\",kbd:\\\"f\\\",onSelect(e){r.setCurrentTool(\\\"frame\\\"),i(\\\"select-tool\\\",{source:e,id:\\\"frame\\\"})}},{id:\\\"text\\\",label:\\\"tool.text\\\",readonlyOk:!1,icon:\\\"tool-text\\\",kbd:\\\"t\\\",onSelect(e){r.setCurrentTool(\\\"text\\\"),i(\\\"select-tool\\\",{source:e,id:\\\"text\\\"})}},{id:\\\"asset\\\",label:\\\"tool.asset\\\",readonlyOk:!1,icon:\\\"tool-media\\\",kbd:\\\"$u\\\",onSelect(e){o(),i(\\\"select-tool\\\",{source:e,id:\\\"media\\\"})}},{id:\\\"note\\\",label:\\\"tool.note\\\",readonlyOk:!1,icon:\\\"tool-note\\\",kbd:\\\"n\\\",onSelect(e){r.setCurrentTool(\\\"note\\\"),i(\\\"select-tool\\\",{source:e,id:\\\"note\\\"})}},{id:\\\"laser\\\",label:\\\"tool.laser\\\",readonlyOk:!0,icon:\\\"tool-laser\\\",kbd:\\\"k\\\",onSelect(e){r.setCurrentTool(\\\"laser\\\"),i(\\\"select-tool\\\",{source:e,id:\\\"laser\\\"})}},{id:\\\"embed\\\",label:\\\"tool.embed\\\",readonlyOk:!1,icon:\\\"tool-embed\\\",onSelect(e){n({component:EmbedDialog}),i(\\\"select-tool\\\",{source:e,id:\\\"embed\\\"})}}],e=(e.push({id:\\\"highlight\\\",label:\\\"tool.highlight\\\",readonlyOk:!0,icon:\\\"tool-highlight\\\",kbd:\\\"!d\\\",onSelect(e){r.setCurrentTool(\\\"highlight\\\"),i(\\\"select-tool\\\",{source:e,id:\\\"highlight\\\"})}}),Object.fromEntries(e.map(e=>[e.id,e])));return t?t(r,e,{insertMedia:o}):e},[t,r,i,o,n]);return(0,import_jsx_runtime85.jsx)(ToolsContext.Provider,{value:a,children:e})}function useTools(){var e=React47.useContext(ToolsContext);if(e)return e;throw new Error(\\\"useTools must be used within a ToolProvider\\\")}var KeyboardShortcutsSchemaContext=import_react87[\\\"default\\\"].createContext({}),KeyboardShortcutsSchemaProvider=track(function KeyboardShortcutsSchemaProvider2({overrides:t,children:e}){const r=useEditor(),i=useTools(),n=useActions();var o=(0,import_react87.useMemo)(()=>{var e=compact([menuGroup(\\\"shortcuts-dialog.tools\\\",menuItem(n[\\\"toggle-tool-lock\\\"]),menuItem(i.select),menuItem(i.draw),menuItem(i.eraser),menuItem(i.hand),menuItem(i.rectangle),menuItem(i.ellipse),menuItem(i.arrow),menuItem(i.line),menuItem(i.text),menuItem(i.frame),menuItem(i.note),menuItem(i.laser)),menuGroup(\\\"shortcuts-dialog.file\\\",menuItem(n[\\\"insert-media\\\"]),menuItem(n.print)),menuGroup(\\\"shortcuts-dialog.preferences\\\",menuItem(n[\\\"toggle-dark-mode\\\"]),menuItem(n[\\\"toggle-focus-mode\\\"]),menuItem(n[\\\"toggle-grid\\\"])),menuGroup(\\\"shortcuts-dialog.edit\\\",menuItem(n.undo),menuItem(n.redo),menuItem(n.cut),menuItem(n.copy),menuItem(n.paste),menuItem(n[\\\"select-all\\\"]),menuItem(n[\\\"delete\\\"]),menuItem(n.duplicate),menuItem(n[\\\"export-as-svg\\\"]),menuItem(n[\\\"export-as-png\\\"])),menuGroup(\\\"shortcuts-dialog.view\\\",menuItem(n[\\\"zoom-in\\\"]),menuItem(n[\\\"zoom-out\\\"]),menuItem(n[\\\"zoom-to-100\\\"]),menuItem(n[\\\"zoom-to-fit\\\"]),menuItem(n[\\\"zoom-to-selection\\\"])),menuGroup(\\\"shortcuts-dialog.transform\\\",menuItem(n[\\\"bring-to-front\\\"]),menuItem(n[\\\"bring-forward\\\"]),menuItem(n[\\\"send-backward\\\"]),menuItem(n[\\\"send-to-back\\\"]),menuItem(n.group),menuItem(n.ungroup),menuItem(n[\\\"flip-horizontal\\\"]),menuItem(n[\\\"flip-vertical\\\"]),menuItem(n[\\\"align-top\\\"]),menuItem(n[\\\"align-center-vertical\\\"]),menuItem(n[\\\"align-bottom\\\"]),menuItem(n[\\\"align-left\\\"]),menuItem(n[\\\"align-center-horizontal\\\"]),menuItem(n[\\\"align-right\\\"]))]);return t?t(r,e,{tools:i,actions:n}):e},[r,t,n,i]);return(0,import_jsx_runtime86.jsx)(KeyboardShortcutsSchemaContext.Provider,{value:o,children:e})});function useKeyboardShortcutsSchema(){var e=import_react87[\\\"default\\\"].useContext(KeyboardShortcutsSchemaContext);if(e)return e;throw new Error(\\\"Shortcuts must be used inside of a ShortcutsProvider.\\\")}var KeyboardShortcutsDialog=()=>{const o=useTranslation(),a=useReadonly();var e=useKeyboardShortcutsSchema();return(0,import_jsx_runtime87.jsxs)(import_jsx_runtime87.Fragment,{children:[(0,import_jsx_runtime87.jsxs)(Header,{className:\\\"tlui-shortcuts-dialog__header\\\",children:[(0,import_jsx_runtime87.jsx)(Title,{children:o(\\\"shortcuts-dialog.title\\\")}),(0,import_jsx_runtime87.jsx)(CloseButton,{})]}),(0,import_jsx_runtime87.jsx)(Body,{className:\\\"tlui-shortcuts-dialog__body\\\",children:e.map(function s(e){if(!e)return null;if(a&&!e.readonlyOk)return null;switch(e.type){case\\\"group\\\":return(0,import_jsx_runtime87.jsxs)(\\\"div\\\",{className:\\\"tlui-shortcuts-dialog__group\\\",children:[(0,import_jsx_runtime87.jsx)(\\\"h2\\\",{className:\\\"tlui-shortcuts-dialog__group__title\\\",children:o(e.id)}),(0,import_jsx_runtime87.jsx)(\\\"div\\\",{className:\\\"tlui-shortcuts-dialog__group__content\\\",children:e.children.filter(e=>e&&\\\"item\\\"===e.type&&e.actionItem.kbd).map(s)})]},e.id);case\\\"item\\\":var{id:t,label:r,shortcutsLabel:i,kbd:n}=e.actionItem;return(0,import_jsx_runtime87.jsxs)(\\\"div\\\",{className:\\\"tlui-shortcuts-dialog__key-pair\\\",children:[(0,import_jsx_runtime87.jsx)(\\\"div\\\",{className:\\\"tlui-shortcuts-dialog__key-pair__key\\\",children:o(null!=i?i:r)}),(0,import_jsx_runtime87.jsx)(\\\"div\\\",{className:\\\"tlui-shortcuts-dialog__key-pair__value\\\",children:(0,import_jsx_runtime87.jsx)(Kbd,{children:n})})]},t)}})}),(0,import_jsx_runtime87.jsx)(\\\"div\\\",{className:\\\"tlui-dialog__scrim\\\"})]})};function useLanguages(){var e=useEditor();return{languages:LANGUAGES,currentLanguage:e.user.getLocale()}}init_esbuild_inject();var HelpMenuSchemaContext=import_react88[\\\"default\\\"].createContext({}),HelpMenuSchemaProvider=track(function HelpMenuSchemaProvider2({overrides:t,children:e}){const r=useEditor(),i=useActions();var n=r.getSelectedShapeIds().length;const o=0\u003Cn,a=1\u003Cn,s=2\u003Cn,{languages:l,currentLanguage:c}=useLanguages(),d=useDialogs()[\\\"addDialog\\\"];n=(0,import_react88.useMemo)(()=>{var e=compact([menuGroup(\\\"top\\\",menuCustom(\\\"LANGUAGE_MENU\\\",{readonlyOk:!0}),menuItem({id:\\\"keyboard-shortcuts\\\",label:\\\"help-menu.keyboard-shortcuts\\\",readonlyOk:!0,onSelect(){d({component:KeyboardShortcutsDialog})}}))]);return t?t(r,e,{actions:i,currentLanguage:c,languages:l,oneSelected:o,twoSelected:a,threeSelected:s}):e},[r,t,l,i,o,a,s,c,d]);return(0,import_jsx_runtime88.jsx)(HelpMenuSchemaContext.Provider,{value:n,children:e})});function useHelpMenuSchema(){var e=import_react88[\\\"default\\\"].useContext(HelpMenuSchemaContext);if(e)return e;throw new Error(\\\"useHelpMenuSchema must be used inside of a helpTLUiMenuSchemaProvider.\\\")}init_esbuild_inject();var import_jsx_runtime89=require(\\\"react/jsx-runtime\\\"),import_react89=__toESM(require(\\\"react\\\"),1);function useCanRedo(){const e=useEditor();return useValue(\\\"useCanRedo\\\",()=>e.getCanRedo(),[e])}function useCanUndo(){const e=useEditor();return useValue(\\\"useCanUndo\\\",()=>e.getCanUndo(),[e])}init_esbuild_inject(),init_esbuild_inject();var TLUiMenuSchemaContext=import_react89[\\\"default\\\"].createContext({});function TLUiMenuSchemaProvider({overrides:t,children:e}){const r=useEditor(),i=useActions(),n=useBreakpoint()\u003C5,o=useValue(\\\"isDarkMode\\\",()=>r.user.getIsDarkMode(),[r]),a=useValue(\\\"animationSpeed\\\",()=>r.user.getAnimationSpeed(),[r]),s=useValue(\\\"edgeScrollSpeed\\\",()=>r.user.getEdgeScrollSpeed(),[r]),l=useValue(\\\"isGridMode\\\",()=>r.getInstanceState().isGridMode,[r]),c=useValue(\\\"isSnapMode\\\",()=>r.user.getIsSnapMode(),[r]),d=useValue(\\\"isToolLock\\\",()=>r.getInstanceState().isToolLocked,[r]),u=useValue(\\\"isFocusMode\\\",()=>r.getInstanceState().isFocusMode,[r]),p=useValue(\\\"isDebugMode\\\",()=>r.getInstanceState().isDebugMode,[r]),h=useValue(\\\"exportBackground\\\",()=>r.getInstanceState().exportBackground,[r]),m=useValue(\\\"emptyPage\\\",()=>0===r.getCurrentPageShapeIds().size,[r]);var g=useValue(\\\"selectedCount\\\",()=>r.getSelectedShapeIds().length,[r]);const _=0===g,f=0\u003Cg,b=1\u003Cg,v=2\u003Cg,y=Boolean(null==(g=window.navigator.clipboard)?void 0:g.write),S=useHasLinkShapeSelected(),x=useShowAutoSizeToggle(),w=useAllowGroup(),$=useAllowUngroup(),E=useCanUndo(),P=useCanRedo(),I=useValue(\\\"isZoomedTo100\\\",()=>1===r.getZoomLevel(),[r]),j=useValue(\\\"oneEmbedSelected\\\",()=>{var e=r.getOnlySelectedShape();return!!e&&!(!r.isShapeOfType(e,\\\"embed\\\")||!e.props.url||r.isShapeOrAncestorLocked(e))},[]),C=useValue(\\\"oneEmbeddableBookmarkSelected\\\",()=>{var e=r.getOnlySelectedShape();return!!e&&!(!(r.isShapeOfType(e,\\\"bookmark\\\")&&e.props.url&&getEmbedInfo(e.props.url))||r.isShapeOrAncestorLocked(e))},[]);g=(0,import_react89.useMemo)(()=>{var e=compactMenuItems([menuGroup(\\\"menu\\\",menuSubmenu(\\\"file\\\",\\\"menu.file\\\",menuGroup(\\\"print\\\",menuItem(i.print,{disabled:m}))),menuSubmenu(\\\"edit\\\",\\\"menu.edit\\\",menuGroup(\\\"undo-actions\\\",menuItem(i.undo,{disabled:!E}),menuItem(i.redo,{disabled:!P})),menuGroup(\\\"clipboard-actions\\\",menuItem(i.cut,{disabled:_}),menuItem(i.copy,{disabled:_}),menuItem(i.paste,{disabled:!showMenuPaste})),menuGroup(\\\"conversions\\\",menuSubmenu(\\\"copy-as\\\",\\\"menu.copy-as\\\",menuGroup(\\\"copy-as-group\\\",menuItem(i[\\\"copy-as-svg\\\"],{disabled:m}),menuItem(i[\\\"copy-as-png\\\"],{disabled:m||!y}),menuItem(i[\\\"copy-as-json\\\"],{disabled:m})),menuGroup(\\\"export-bg\\\",menuItem(i[\\\"toggle-transparent\\\"],{checked:!h}))),menuSubmenu(\\\"export-as\\\",\\\"menu.export-as\\\",menuGroup(\\\"export-as-group\\\",menuItem(i[\\\"export-as-svg\\\"],{disabled:m}),menuItem(i[\\\"export-as-png\\\"],{disabled:m}),menuItem(i[\\\"export-as-json\\\"],{disabled:m})),menuGroup(\\\"export-bg\\\",menuItem(i[\\\"toggle-transparent\\\"],{checked:!h})))),menuGroup(\\\"set-selection-group\\\",menuItem(i[\\\"select-all\\\"],{disabled:m}),menuItem(i[\\\"select-none\\\"],{disabled:!f})),menuGroup(\\\"selection\\\",x&&menuItem(i[\\\"toggle-auto-size\\\"]),S&&menuItem(i[\\\"edit-link\\\"]),menuItem(i.duplicate,{disabled:!f}),w&&menuItem(i.group),$&&menuItem(i.ungroup),menuItem(i[\\\"unlock-all\\\"],{disabled:m})),menuGroup(\\\"delete-group\\\",menuItem(i[\\\"delete\\\"],{disabled:!f})),menuGroup(\\\"embeds\\\",j&&menuItem(i[\\\"open-embed-link\\\"]),j&&menuItem(i[\\\"convert-to-bookmark\\\"]),C&&menuItem(i[\\\"convert-to-embed\\\"]))),menuSubmenu(\\\"view\\\",\\\"menu.view\\\",menuGroup(\\\"view-actions\\\",menuItem(i[\\\"zoom-in\\\"]),menuItem(i[\\\"zoom-out\\\"]),menuItem(i[\\\"zoom-to-100\\\"],{disabled:I}),menuItem(i[\\\"zoom-to-fit\\\"],{disabled:m}),menuItem(i[\\\"zoom-to-selection\\\"],{disabled:m||!f})))),menuGroup(\\\"extras\\\",menuItem(i[\\\"insert-embed\\\"]),menuItem(i[\\\"insert-media\\\"])),menuGroup(\\\"preferences\\\",menuSubmenu(\\\"preferences\\\",\\\"menu.preferences\\\",menuGroup(\\\"preferences-actions\\\",menuItem(i[\\\"toggle-snap-mode\\\"],{checked:c}),menuItem(i[\\\"toggle-tool-lock\\\"],{checked:d}),menuItem(i[\\\"toggle-grid\\\"],{checked:l}),menuItem(i[\\\"toggle-dark-mode\\\"],{checked:o}),menuItem(i[\\\"toggle-focus-mode\\\"],{checked:u}),menuItem(i[\\\"toggle-edge-scrolling\\\"],{checked:1===s}),menuItem(i[\\\"toggle-reduce-motion\\\"],{checked:0===a}),menuItem(i[\\\"toggle-debug-mode\\\"],{checked:p}))),n&&menuCustom(\\\"LANGUAGE_MENU\\\",{readonlyOk:!0}))]);return t?t(r,e,{actions:i,noneSelected:_,oneSelected:f,twoSelected:b,threeSelected:v}):e},[r,t,i,f,b,v,m,n,w,$,S,y,x,_,E,P,a,o,l,c,d,u,h,p,s,I,C,j]);return(0,import_jsx_runtime89.jsx)(TLUiMenuSchemaContext.Provider,{value:g,children:e})}function useMenuSchema(){var e=import_react89[\\\"default\\\"].useContext(TLUiMenuSchemaContext);if(e)return e;throw new Error(\\\"useMenuSchema must be used inside of a TLUiMenuSchemaProvider.\\\")}init_esbuild_inject();var import_jsx_runtime90=require(\\\"react/jsx-runtime\\\"),import_react90=__toESM(require(\\\"react\\\"),1);function toolbarItem(e){return{id:e.id,type:\\\"item\\\",readonlyOk:e.readonlyOk,toolItem:e}}var ToolbarSchemaContext=import_react90[\\\"default\\\"].createContext([]);function ToolbarSchemaProvider({overrides:t,children:e}){const r=useEditor(),i=useTools();var n=import_react90[\\\"default\\\"].useMemo(()=>{var e=compact([toolbarItem(i.select),toolbarItem(i.hand),toolbarItem(i.draw),toolbarItem(i.eraser),toolbarItem(i.arrow),toolbarItem(i.text),toolbarItem(i.note),toolbarItem(i.asset),toolbarItem(i.rectangle),toolbarItem(i.ellipse),toolbarItem(i.diamond),toolbarItem(i.triangle),toolbarItem(i.trapezoid),toolbarItem(i.rhombus),toolbarItem(i.hexagon),toolbarItem(i.cloud),toolbarItem(i.star),toolbarItem(i.oval),toolbarItem(i[\\\"x-box\\\"]),toolbarItem(i[\\\"check-box\\\"]),toolbarItem(i[\\\"arrow-left\\\"]),toolbarItem(i[\\\"arrow-up\\\"]),toolbarItem(i[\\\"arrow-down\\\"]),toolbarItem(i[\\\"arrow-right\\\"]),toolbarItem(i.line),toolbarItem(i.highlight),toolbarItem(i.frame),toolbarItem(i.laser)]);return t?t(r,e,{tools:i}):e},[r,t,i]);return(0,import_jsx_runtime90.jsx)(ToolbarSchemaContext.Provider,{value:n,children:e})}function useToolbarSchema(){var e=import_react90[\\\"default\\\"].useContext(ToolbarSchemaContext);if(e)return e;throw new Error(\\\"useToolbarSchema must be used within a ToolbarSchemaProvider\\\")}init_esbuild_inject();var import_react91=require(\\\"react\\\");function useDefaultHelpers(){const{addToast:e,removeToast:t,clearToasts:r}=useToasts(),{addDialog:i,clearDialogs:n,removeDialog:o,updateDialog:a}=useDialogs();const s=useBreakpoint()\u003C5,l=useTranslation();return(0,import_react91.useMemo)(()=>({addToast:e,removeToast:t,clearToasts:r,addDialog:i,clearDialogs:n,removeDialog:o,updateDialog:a,msg:l,isMobile:s}),[i,e,n,r,l,o,t,a,s])}function mergeOverrides(n,o){var t={};for(const e of n)if(e.translations)for(var[r,i]of objectMapEntries(e.translations)){let e=t[r];e=e||(t[r]={}),Object.assign(e,i)}return{actionsMenu:(e,t,r)=>{for(const i of n)i.actionsMenu&&(t=i.actionsMenu(e,t,{...o,...r}));return t},actions:(e,t)=>{for(const r of n)r.actions&&(t=r.actions(e,t,o));return t},contextMenu:(e,t,r)=>{for(const i of n)i.contextMenu&&(t=i.contextMenu(e,t,{...o,...r}));return t},helpMenu:(e,t,r)=>{for(const i of n)i.helpMenu&&(t=i.helpMenu(e,t,{...o,...r}));return t},menu:(e,t,r)=>{for(const i of n)i.menu&&(t=i.menu(e,t,{...o,...r}));return t},toolbar:(e,t,r)=>{for(const i of n)i.toolbar&&(t=i.toolbar(e,t,{...o,...r}));return t},keyboardShortcutsMenu:(e,t,r)=>{for(const i of n)i.keyboardShortcutsMenu&&(t=i.keyboardShortcutsMenu(e,t,{...o,...r}));return t},tools:(e,t,r)=>{for(const i of n)i.tools&&(t=i.tools(e,t,{...o,...r}));return t},translations:t}}function useShallowArrayEquality(e){return(0,import_react91.useMemo)(()=>e,e)}function useMergedTranslationOverrides(e){const n=useShallowArrayEquality(null==e?[]:Array.isArray(e)?e:[e]);return(0,import_react91.useMemo)(()=>{var t={};for(const e of n)if(e.translations)for(var[r,i]of objectMapEntries(e.translations)){let e=t[r];e=e||(t[r]={}),Object.assign(e,i)}return t},[n])}function useMergedOverrides(e){const t=useDefaultHelpers(),r=useShallowArrayEquality(null==e?[]:Array.isArray(e)?e:[e]);return(0,import_react91.useMemo)(()=>mergeOverrides(r,t),[r,t])}function TldrawUiContextProvider({overrides:e,assetUrls:t,onUiEvent:r,forceMobile:i,children:n}){return(0,import_jsx_runtime91.jsx)(AssetUrlsProvider,{assetUrls:useDefaultUiAssetUrlsWithOverrides(t),children:(0,import_jsx_runtime91.jsx)(TranslationProvider,{overrides:useMergedTranslationOverrides(e),children:(0,import_jsx_runtime91.jsx)(UiEventsProvider,{onEvent:r,children:(0,import_jsx_runtime91.jsx)(ToastsProvider,{children:(0,import_jsx_runtime91.jsx)(DialogsProvider,{children:(0,import_jsx_runtime91.jsx)(BreakPointProvider,{forceMobile:i,children:(0,import_jsx_runtime91.jsx)(InternalProviders,{overrides:e,children:n})})})})})})})}function InternalProviders({overrides:e,children:t}){var r=useMergedOverrides(e);return(0,import_jsx_runtime91.jsx)(ActionsProvider,{overrides:r.actions,children:(0,import_jsx_runtime91.jsx)(ToolsProvider,{overrides:r.tools,children:(0,import_jsx_runtime91.jsx)(ToolbarSchemaProvider,{overrides:r.toolbar,children:(0,import_jsx_runtime91.jsx)(ActionsMenuSchemaProvider,{overrides:r.actionsMenu,children:(0,import_jsx_runtime91.jsx)(KeyboardShortcutsSchemaProvider,{overrides:r.keyboardShortcutsMenu,children:(0,import_jsx_runtime91.jsx)(TLUiContextMenuSchemaProvider,{overrides:r.contextMenu,children:(0,import_jsx_runtime91.jsx)(HelpMenuSchemaProvider,{overrides:r.helpMenu,children:(0,import_jsx_runtime91.jsx)(TLUiMenuSchemaProvider,{overrides:r.menu,children:t})})})})})})})})}init_esbuild_inject();var import_jsx_runtime92=require(\\\"react/jsx-runtime\\\"),import_react92=require(\\\"react\\\");function BackToContent(){const i=useEditor();const e=useActions()[\\\"back-to-content\\\"],[t,n]=(0,import_react92.useState)(!1);return(0,import_react92.useEffect)(()=>{let r=!1;const e=setInterval(()=>{var e=i.getRenderingShapes();const t=i.getRenderingBounds();e=0===e.filter(e=>e.maskedPageBounds&&t.includes(e.maskedPageBounds)).length&&0\u003Ci.getCurrentPageShapes().length;r!==e&&(n(e),r=e)},1e3);return()=>{clearInterval(e)}},[i]),t?(0,import_jsx_runtime92.jsx)(Button,{iconLeft:e.icon,label:e.label,type:\\\"low\\\",onClick:()=>{e.onSelect(\\\"helper-buttons\\\"),n(!1)}}):null}init_esbuild_inject();var import_jsx_runtime94=require(\\\"react/jsx-runtime\\\"),React53=__toESM(require(\\\"react\\\"),1),import_jsx_runtime93=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react99=(init_esbuild_inject(),require(\\\"react\\\")),import_react98=(init_esbuild_inject(),require(\\\"react\\\")),import_react93=(init_esbuild_inject(),require(\\\"react\\\")),$f631663db3294ace$var$DirectionContext=(0,import_react93.createContext)(void 0);function $f631663db3294ace$export$b39126d51d94e6f3(e){var t=(0,import_react93.useContext)($f631663db3294ace$var$DirectionContext);return e||t||\\\"ltr\\\"}init_esbuild_inject();var import_react96=require(\\\"react\\\"),sides=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),[\\\"top\\\",\\\"right\\\",\\\"bottom\\\",\\\"left\\\"]),min2=Math.min,max=Math.max,round2=Math.round,floor=Math.floor,createCoords=e=>({x:e,y:e}),oppositeSideMap={left:\\\"right\\\",right:\\\"left\\\",bottom:\\\"top\\\",top:\\\"bottom\\\"},oppositeAlignmentMap={start:\\\"end\\\",end:\\\"start\\\"};function clamp2(e,t,r){return max(e,min2(t,r))}function evaluate(e,t){return\\\"function\\\"==typeof e?e(t):e}function getSide(e){return e.split(\\\"-\\\")[0]}function getAlignment(e){return e.split(\\\"-\\\")[1]}function getOppositeAxis(e){return\\\"x\\\"===e?\\\"y\\\":\\\"x\\\"}function getAxisLength(e){return\\\"y\\\"===e?\\\"height\\\":\\\"width\\\"}function getSideAxis(e){return[\\\"top\\\",\\\"bottom\\\"].includes(getSide(e))?\\\"y\\\":\\\"x\\\"}function getAlignmentAxis(e){return getOppositeAxis(getSideAxis(e))}function getAlignmentSides(e,t,r){void 0===r&&(r=!1);var i=getAlignment(e),n=getAlignmentAxis(e),o=getAxisLength(n);let a=\\\"x\\\"===n?i===(r?\\\"end\\\":\\\"start\\\")?\\\"right\\\":\\\"left\\\":\\\"start\\\"===i?\\\"bottom\\\":\\\"top\\\";return[a=t.reference[o]>t.floating[o]?getOppositePlacement(a):a,getOppositePlacement(a)]}function getExpandedPlacements(e){var t=getOppositePlacement(e);return[getOppositeAlignmentPlacement(e),t,getOppositeAlignmentPlacement(t)]}function getOppositeAlignmentPlacement(e){return e.replace(/start|end/g,e=>oppositeAlignmentMap[e])}function getSideList(e,t,r){var i=[\\\"left\\\",\\\"right\\\"],n=[\\\"right\\\",\\\"left\\\"];switch(e){case\\\"top\\\":case\\\"bottom\\\":return r?t?n:i:t?i:n;case\\\"left\\\":case\\\"right\\\":return t?[\\\"top\\\",\\\"bottom\\\"]:[\\\"bottom\\\",\\\"top\\\"];default:return[]}}function getOppositeAxisPlacements(e,t,r,i){const n=getAlignment(e);let o=getSideList(getSide(e),\\\"start\\\"===r,i);return o=n&&(o=o.map(e=>e+\\\"-\\\"+n),t)?o.concat(o.map(getOppositeAlignmentPlacement)):o}function getOppositePlacement(e){return e.replace(/left|right|bottom|top/g,e=>oppositeSideMap[e])}function expandPaddingObject(e){return{top:0,right:0,bottom:0,left:0,...e}}function getPaddingObject(e){return\\\"number\\\"!=typeof e?expandPaddingObject(e):{top:e,right:e,bottom:e,left:e}}function rectToClientRect(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}function computeCoordsFromPlacement(e,t,r){var{reference:i,floating:n}=e,o=getSideAxis(t),a=getAlignmentAxis(t),s=getAxisLength(a),l=getSide(t),c=\\\"y\\\"===o,d=i.x+i.width/2-n.width/2,u=i.y+i.height/2-n.height/2,p=i[s]/2-n[s]/2;let h;switch(l){case\\\"top\\\":h={x:d,y:i.y-n.height};break;case\\\"bottom\\\":h={x:d,y:i.y+i.height};break;case\\\"right\\\":h={x:i.x+i.width,y:u};break;case\\\"left\\\":h={x:i.x-n.width,y:u};break;default:h={x:i.x,y:i.y}}switch(getAlignment(t)){case\\\"start\\\":h[a]-=p*(r&&c?-1:1);break;case\\\"end\\\":h[a]+=p*(r&&c?-1:1)}return h}var computePosition=async(e,t,r)=>{var{placement:i=\\\"bottom\\\",strategy:n=\\\"absolute\\\",middleware:o=[],platform:a}=r,s=o.filter(Boolean),l=await(null==a.isRTL?void 0:a.isRTL(t));let c=await a.getElementRects({reference:e,floating:t,strategy:n}),{x:d,y:u}=computeCoordsFromPlacement(c,i,l),p=i,h={},m=0;for(let y=0;y\u003Cs.length;y++){var{name:g,fn:_}=s[y],{x:_,y:f,data:b,reset:v}=await _({x:d,y:u,initialPlacement:i,placement:p,strategy:n,middlewareData:h,rects:c,platform:a,elements:{reference:e,floating:t}});d=null!=_?_:d,u=null!=f?f:u,h={...h,[g]:{...h[g],...b}},v&&m\u003C=50&&(m++,\\\"object\\\"==typeof v&&(v.placement&&(p=v.placement),v.rects&&(c=!0===v.rects?await a.getElementRects({reference:e,floating:t,strategy:n}):v.rects),({x:d,y:u}=computeCoordsFromPlacement(c,p,l))),y=-1)}return{x:d,y:u,placement:p,strategy:n,middlewareData:h}};async function detectOverflow(e,t){var{x:r,y:i,platform:n,rects:o,elements:a,strategy:s}=e,{boundary:l=\\\"clippingAncestors\\\",rootBoundary:c=\\\"viewport\\\",elementContext:d=\\\"floating\\\",altBoundary:u=!1,padding:p=0}=evaluate(t=void 0===t?{}:t,e),p=getPaddingObject(p),u=a[u?\\\"floating\\\"===d?\\\"reference\\\":\\\"floating\\\":d],h=rectToClientRect(await n.getClippingRect({element:null==(h=await(null==n.isElement?void 0:n.isElement(u)))||h?u:u.contextElement||await(null==n.getDocumentElement?void 0:n.getDocumentElement(a.floating)),boundary:l,rootBoundary:c,strategy:s})),u=\\\"floating\\\"===d?{...o.floating,x:r,y:i}:o.reference,l=await(null==n.getOffsetParent?void 0:n.getOffsetParent(a.floating)),c=await(null==n.isElement?void 0:n.isElement(l))&&await(null==n.getScale?void 0:n.getScale(l))||{x:1,y:1},d=rectToClientRect(n.convertOffsetParentRelativeRectToViewportRelativeRect?await n.convertOffsetParentRelativeRectToViewportRelativeRect({rect:u,offsetParent:l,strategy:s}):u);return{top:(h.top-d.top+p.top)/c.y,bottom:(d.bottom-h.bottom+p.bottom)/c.y,left:(h.left-d.left+p.left)/c.x,right:(d.right-h.right+p.right)/c.x}}var arrow=b=>({name:\\\"arrow\\\",options:b,async fn(e){var{x:t,y:r,placement:i,rects:n,platform:o,elements:a,middlewareData:s}=e,{element:l,padding:c=0}=evaluate(b,e)||{};if(null==l)return{};var c=getPaddingObject(c),t={x:t,y:r},r=getAlignmentAxis(i),d=getAxisLength(r),u=await o.getDimensions(l),p=\\\"y\\\"===r,h=p?\\\"top\\\":\\\"left\\\",m=p?\\\"bottom\\\":\\\"right\\\",p=p?\\\"clientHeight\\\":\\\"clientWidth\\\",g=n.reference[d]+n.reference[r]-t[r]-n.floating[d],_=t[r]-n.reference[r],l=await(null==o.getOffsetParent?void 0:o.getOffsetParent(l));let f=l?l[p]:0;g=g/2-_/2,_=(f=f&&await(null==o.isElement?void 0:o.isElement(l))?f:a.floating[p]||n.floating[d])/2-u[d]/2-1,l=min2(c[h],_),o=min2(c[m],_),p=l,a=f-u[d]-o,h=f/2-u[d]/2+g,m=clamp2(p,h,a),c=!s.arrow&&null!=getAlignment(i)&&h!=m&&n.reference[d]/2-(h\u003Cp?l:o)-u[d]/2\u003C0,_=c?h\u003Cp?h-p:h-a:0;return{[r]:t[r]+_,data:{[r]:m,centerOffset:h-m-_,...c&&{alignmentOffset:_}},reset:c}}}),flip=function(y){return{name:\\\"flip\\\",options:y=void 0===y?{}:y,async fn(e){var{placement:t,middlewareData:r,rects:i,initialPlacement:n,platform:o,elements:a}=e;const{mainAxis:s=!0,crossAxis:l=!0,fallbackPlacements:c,fallbackStrategy:d=\\\"bestFit\\\",fallbackAxisSideDirection:u=\\\"none\\\",flipAlignment:p=!0,...h}=evaluate(y,e);if(null==(m=r.arrow)||!m.alignmentOffset){var m=getSide(t),g=getSide(n)===n,a=await(null==o.isRTL?void 0:o.isRTL(a.floating)),o=c||(g||!p?[getOppositePlacement(n)]:getExpandedPlacements(n)),g=(c||\\\"none\\\"===u||o.push(...getOppositeAxisPlacements(n,p,u,a)),[n,...o]),o=await detectOverflow(e,h),_=[],f=(null==(b=r.flip)?void 0:b.overflows)||[];if(s&&_.push(o[m]),l&&(b=getAlignmentSides(t,i,a),_.push(o[b[0]],o[b[1]])),f=[...f,{placement:t,overflows:_}],!_.every(e=>e\u003C=0)){var b,i=((null==(m=r.flip)?void 0:m.index)||0)+1,a=g[i];if(a)return{data:{index:i,overflows:f},reset:{placement:a}};let e=null==(b=f.filter(e=>e.overflows[0]\u003C=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:b.placement;if(!e)switch(d){case\\\"bestFit\\\":var v=null==(v=f.map(e=>[e.placement,e.overflows.filter(e=>0\u003Ce).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:v[0];v&&(e=v);break;case\\\"initialPlacement\\\":e=n}if(t!==e)return{reset:{placement:e}}}}return{}}}};function getSideOffsets(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function isAnySideFullyClipped(t){return sides.some(e=>0\u003C=t[e])}var hide=function(o){return{name:\\\"hide\\\",options:o=void 0===o?{}:o,async fn(e){var t=e[\\\"rects\\\"];const{strategy:r=\\\"referenceHidden\\\",...i}=evaluate(o,e);switch(r){case\\\"referenceHidden\\\":var n=getSideOffsets(await detectOverflow(e,{...i,elementContext:\\\"reference\\\"}),t.reference);return{data:{referenceHiddenOffsets:n,referenceHidden:isAnySideFullyClipped(n)}};case\\\"escaped\\\":n=getSideOffsets(await detectOverflow(e,{...i,altBoundary:!0}),t.floating);return{data:{escapedOffsets:n,escaped:isAnySideFullyClipped(n)}};default:return{}}}}};async function convertValueToCoords(e,t){var{placement:r,platform:i,elements:n}=e,n=await(null==i.isRTL?void 0:i.isRTL(n.floating)),i=getSide(r),o=getAlignment(r),r=\\\"y\\\"===getSideAxis(r),i=[\\\"left\\\",\\\"top\\\"].includes(i)?-1:1,n=n&&r?-1:1,a=evaluate(t,e);let{mainAxis:s,crossAxis:l,alignmentAxis:c}=\\\"number\\\"==typeof a?{mainAxis:a,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...a};return o&&\\\"number\\\"==typeof c&&(l=\\\"end\\\"===o?-1*c:c),r?{x:l*n,y:s*i}:{x:s*i,y:l*n}}var offset=function(n){return{name:\\\"offset\\\",options:n=void 0===n?0:n,async fn(e){var{x:t,y:r}=e,i=await convertValueToCoords(e,n);return{x:t+i.x,y:r+i.y,data:i}}}},shift=function(m){return{name:\\\"shift\\\",options:m=void 0===m?{}:m,async fn(e){var{x:t,y:r,placement:i}=e;const{mainAxis:n=!0,crossAxis:o=!1,limiter:a={fn:e=>{var{x:t,y:r}=e;return{x:t,y:r}}},...s}=evaluate(m,e);var l,c={x:t,y:r},d=await detectOverflow(e,s),i=getSideAxis(getSide(i)),u=getOppositeAxis(i);let p=c[u],h=c[i];n&&(c=p+d[\\\"y\\\"===u?\\\"top\\\":\\\"left\\\"],l=p-d[\\\"y\\\"===u?\\\"bottom\\\":\\\"right\\\"],p=clamp2(c,p,l)),o&&(c=h+d[\\\"y\\\"===i?\\\"top\\\":\\\"left\\\"],l=h-d[\\\"y\\\"===i?\\\"bottom\\\":\\\"right\\\"],h=clamp2(c,h,l));d=a.fn({...e,[u]:p,[i]:h});return{...d,data:{x:d.x-t,y:d.y-r}}}}},limitShift=function(p){return{options:p=void 0===p?{}:p,fn(e){var{x:t,y:r,placement:i,rects:n,middlewareData:o}=e,{offset:a=0,mainAxis:s=!0,crossAxis:l=!0}=evaluate(p,e),t={x:t,y:r},r=getSideAxis(i),c=getOppositeAxis(r);let d=t[c],u=t[r];var t=evaluate(a,e),a=\\\"number\\\"==typeof t?{mainAxis:t,crossAxis:0}:{mainAxis:0,crossAxis:0,...t};return s&&(s=n.reference[c]-n.floating[t=\\\"y\\\"===c?\\\"height\\\":\\\"width\\\"]+a.mainAxis,t=n.reference[c]+n.reference[t]-a.mainAxis,d\u003Cs?d=s:d>t&&(d=t)),l&&(s=\\\"y\\\"===c?\\\"width\\\":\\\"height\\\",t=[\\\"top\\\",\\\"left\\\"].includes(getSide(i)),i=n.reference[r]-n.floating[s]+(t&&(null==(l=o.offset)?void 0:l[r])||0)+(t?0:a.crossAxis),s=n.reference[r]+n.reference[s]+(!t&&(null==(l=o.offset)?void 0:l[r])||0)-(t?a.crossAxis:0),u\u003Ci?u=i:u>s&&(u=s)),{[c]:d,[r]:u}}}},size=function(b){return{name:\\\"size\\\",options:b=void 0===b?{}:b,async fn(e){var{placement:t,rects:r,platform:i,elements:n}=e;const{apply:o=()=>{},...a}=evaluate(b,e);var s=await detectOverflow(e,a),l=getSide(t),c=getAlignment(t),t=\\\"y\\\"===getSideAxis(t),{width:r,height:d}=r.floating;let u,p;\\\"top\\\"===l||\\\"bottom\\\"===l?(u=l,p=c===(await(null==i.isRTL?void 0:i.isRTL(n.floating))?\\\"start\\\":\\\"end\\\")?\\\"left\\\":\\\"right\\\"):(p=l,u=\\\"end\\\"===c?\\\"top\\\":\\\"bottom\\\");var h,l=d-s[u],m=r-s[p],g=!e.middlewareData.shift;let _=l,f=m;t?(h=r-s.left-s.right,f=c||g?min2(m,h):h):(m=d-s.top-s.bottom,_=c||g?min2(l,m):m),g&&!c&&(h=max(s.left,0),l=max(s.right,0),m=max(s.top,0),g=max(s.bottom,0),t?f=r-2*(0!==h||0!==l?h+l:max(s.left,s.right)):_=d-2*(0!==m||0!==g?m+g:max(s.top,s.bottom))),await o({...e,availableWidth:f,availableHeight:_});c=await i.getDimensions(n.floating);return r!==c.width||d!==c.height?{reset:{rects:!0}}:{}}}};function getNodeName(e){return isNode(e)?(e.nodeName||\\\"\\\").toLowerCase():\\\"#document\\\"}function getWindow(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function getDocumentElement(e){var t;return null==(t=(isNode(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function isNode(e){return e instanceof Node||e instanceof getWindow(e).Node}function isElement(e){return e instanceof Element||e instanceof getWindow(e).Element}function isHTMLElement(e){return e instanceof HTMLElement||e instanceof getWindow(e).HTMLElement}function isShadowRoot(e){return\\\"undefined\\\"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof getWindow(e).ShadowRoot)}function isOverflowElement(e){var{overflow:t,overflowX:r,overflowY:i,display:n}=getComputedStyle2(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+r)&&![\\\"inline\\\",\\\"contents\\\"].includes(n)}function isTableElement(e){return[\\\"table\\\",\\\"td\\\",\\\"th\\\"].includes(getNodeName(e))}function isContainingBlock(e){var t=isWebKit();const r=getComputedStyle2(e);return\\\"none\\\"!==r.transform||\\\"none\\\"!==r.perspective||!!r.containerType&&\\\"normal\\\"!==r.containerType||!t&&!!r.backdropFilter&&\\\"none\\\"!==r.backdropFilter||!t&&!!r.filter&&\\\"none\\\"!==r.filter||[\\\"transform\\\",\\\"perspective\\\",\\\"filter\\\"].some(e=>(r.willChange||\\\"\\\").includes(e))||[\\\"paint\\\",\\\"layout\\\",\\\"strict\\\",\\\"content\\\"].some(e=>(r.contain||\\\"\\\").includes(e))}function getContainingBlock(e){let t=getParentNode(e);for(;isHTMLElement(t)&&!isLastTraversableNode(t);){if(isContainingBlock(t))return t;t=getParentNode(t)}return null}function isWebKit(){return!(\\\"undefined\\\"==typeof CSS||!CSS.supports)&&CSS.supports(\\\"-webkit-backdrop-filter\\\",\\\"none\\\")}function isLastTraversableNode(e){return[\\\"html\\\",\\\"body\\\",\\\"#document\\\"].includes(getNodeName(e))}function getComputedStyle2(e){return getWindow(e).getComputedStyle(e)}function getNodeScroll(e){return isElement(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function getParentNode(e){var t;return\\\"html\\\"===getNodeName(e)?e:(t=e.assignedSlot||e.parentNode||isShadowRoot(e)&&e.host||getDocumentElement(e),isShadowRoot(t)?t.host:t)}function getNearestOverflowAncestor(e){var t=getParentNode(e);return isLastTraversableNode(t)?(e.ownerDocument||e).body:isHTMLElement(t)&&isOverflowElement(t)?t:getNearestOverflowAncestor(t)}function getOverflowAncestors(e,t,r){void 0===t&&(t=[]),void 0===r&&(r=!0);var i=getNearestOverflowAncestor(e),n=i===(null==(n=e.ownerDocument)?void 0:n.body),o=getWindow(i);return n?t.concat(o,o.visualViewport||[],isOverflowElement(i)?i:[],o.frameElement&&r?getOverflowAncestors(o.frameElement):[]):t.concat(i,getOverflowAncestors(i,[],r))}function getCssDimensions(e){var t=getComputedStyle2(e);let r=parseFloat(t.width)||0,i=parseFloat(t.height)||0;var t=isHTMLElement(e),n=t?e.offsetWidth:r,t=t?e.offsetHeight:i,o=round2(r)!==n||round2(i)!==t;return o&&(r=n,i=t),{width:r,height:i,$:o}}function unwrapElement(e){return isElement(e)?e:e.contextElement}function getScale(e){var t=unwrapElement(e);if(!isHTMLElement(t))return createCoords(1);var r=t.getBoundingClientRect(),{width:t,height:i,$:n}=getCssDimensions(t);let o=(n?round2(r.width):r.width)/t,a=(n?round2(r.height):r.height)/i;return o&&Number.isFinite(o)||(o=1),a&&Number.isFinite(a)||(a=1),{x:o,y:a}}init_esbuild_inject();var noOffsets=createCoords(0);function getVisualOffsets(e){var t=getWindow(e);return isWebKit()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:noOffsets}function shouldAddVisualOffsets(e,t,r){return void 0===t&&(t=!1),!(!r||t&&r!==getWindow(e))&&t}function getBoundingClientRect(e,t,r,i){void 0===t&&(t=!1),void 0===r&&(r=!1);var n=e.getBoundingClientRect(),o=unwrapElement(e);let a=createCoords(1);t&&(i?isElement(i)&&(a=getScale(i)):a=getScale(e));var s=shouldAddVisualOffsets(o,r,i)?getVisualOffsets(o):createCoords(0);let l=(n.left+s.x)/a.x,c=(n.top+s.y)/a.y,d=n.width/a.x,u=n.height/a.y;if(o){var p=getWindow(o),h=i&&isElement(i)?getWindow(i):i;let e=p.frameElement;for(;e&&i&&h!==p;){var m=getScale(e),g=e.getBoundingClientRect(),_=getComputedStyle2(e),f=g.left+(e.clientLeft+parseFloat(_.paddingLeft))*m.x,g=g.top+(e.clientTop+parseFloat(_.paddingTop))*m.y;l*=m.x,c*=m.y,d*=m.x,u*=m.y,l+=f,c+=g,e=getWindow(e).frameElement}}return rectToClientRect({width:d,height:u,x:l,y:c})}function convertOffsetParentRelativeRectToViewportRelativeRect(e){var{rect:t,offsetParent:r,strategy:i}=e,n=isHTMLElement(r),o=getDocumentElement(r);if(r===o)return t;let a={scrollLeft:0,scrollTop:0},s=createCoords(1);var l=createCoords(0);return(n||!n&&\\\"fixed\\\"!==i)&&(\\\"body\\\"===getNodeName(r)&&!isOverflowElement(o)||(a=getNodeScroll(r)),isHTMLElement(r))&&(n=getBoundingClientRect(r),s=getScale(r),l.x=n.x+r.clientLeft,l.y=n.y+r.clientTop),{width:t.width*s.x,height:t.height*s.y,x:t.x*s.x-a.scrollLeft*s.x+l.x,y:t.y*s.y-a.scrollTop*s.y+l.y}}function getClientRects(e){return Array.from(e.getClientRects())}function getWindowScrollBarX(e){return getBoundingClientRect(getDocumentElement(e)).left+getNodeScroll(e).scrollLeft}function getDocumentRect(e){var t=getDocumentElement(e),r=getNodeScroll(e),i=e.ownerDocument.body,n=max(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),o=max(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight);let a=-r.scrollLeft+getWindowScrollBarX(e);r=-r.scrollTop;return\\\"rtl\\\"===getComputedStyle2(i).direction&&(a+=max(t.clientWidth,i.clientWidth)-n),{width:n,height:o,x:a,y:r}}function getViewportRect(e,t){var r=getWindow(e),i=getDocumentElement(e),r=r.visualViewport;let n=i.clientWidth,o=i.clientHeight,a=0,s=0;return r&&(n=r.width,o=r.height,isWebKit()&&\\\"fixed\\\"!==t||(a=r.offsetLeft,s=r.offsetTop)),{width:n,height:o,x:a,y:s}}function getInnerBoundingClientRect(e,t){var r=getBoundingClientRect(e,!0,\\\"fixed\\\"===t),i=r.top+e.clientTop,r=r.left+e.clientLeft,n=isHTMLElement(e)?getScale(e):createCoords(1);return{width:e.clientWidth*n.x,height:e.clientHeight*n.y,x:r*n.x,y:i*n.y}}function getClientRectFromClippingAncestor(e,t,r){let i;var n;return rectToClientRect(i=\\\"viewport\\\"===t?getViewportRect(e,r):\\\"document\\\"===t?getDocumentRect(getDocumentElement(e)):isElement(t)?getInnerBoundingClientRect(t,r):(n=getVisualOffsets(e),{...t,x:t.x-n.x,y:t.y-n.y}))}function hasFixedPositionAncestor(e,t){var r=getParentNode(e);return!(r===t||!isElement(r)||isLastTraversableNode(r))&&(\\\"fixed\\\"===getComputedStyle2(r).position||hasFixedPositionAncestor(r,t))}function getClippingElementAncestors(e,t){var r=t.get(e);if(r)return r;let i=getOverflowAncestors(e,[],!1).filter(e=>isElement(e)&&\\\"body\\\"!==getNodeName(e)),n=null;var o=\\\"fixed\\\"===getComputedStyle2(e).position;let a=o?getParentNode(e):e;for(;isElement(a)&&!isLastTraversableNode(a);){var s=getComputedStyle2(a),l=isContainingBlock(a),l=(l||\\\"fixed\\\"!==s.position||(n=null),o?!l&&!n:!l&&\\\"static\\\"===s.position&&!!n&&[\\\"absolute\\\",\\\"fixed\\\"].includes(n.position)||isOverflowElement(a)&&!l&&hasFixedPositionAncestor(e,a));l?i=i.filter(e=>e!==a):n=s,a=getParentNode(a)}return t.set(e,i),i}function getClippingRect(e){let{element:i,boundary:t,rootBoundary:r,strategy:n}=e;var o=[...\\\"clippingAncestors\\\"===t?getClippingElementAncestors(i,this._c):[].concat(t),r],a=o[0],a=o.reduce((e,t)=>{var r=getClientRectFromClippingAncestor(i,t,n);return e.top=max(r.top,e.top),e.right=min2(r.right,e.right),e.bottom=min2(r.bottom,e.bottom),e.left=max(r.left,e.left),e},getClientRectFromClippingAncestor(i,a,n));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function getDimensions(e){return getCssDimensions(e)}function getRectRelativeToOffsetParent(e,t,r){var i=isHTMLElement(t),n=getDocumentElement(t),o=\\\"fixed\\\"===r,a=getBoundingClientRect(e,!0,o,t);let s={scrollLeft:0,scrollTop:0};var l=createCoords(0);return!i&&o||(\\\"body\\\"===getNodeName(t)&&!isOverflowElement(n)||(s=getNodeScroll(t)),i?(i=getBoundingClientRect(t,!0,o,t),l.x=i.x+t.clientLeft,l.y=i.y+t.clientTop):n&&(l.x=getWindowScrollBarX(n))),{x:a.left+s.scrollLeft-l.x,y:a.top+s.scrollTop-l.y,width:a.width,height:a.height}}function getTrueOffsetParent(e,t){return isHTMLElement(e)&&\\\"fixed\\\"!==getComputedStyle2(e).position?t?t(e):e.offsetParent:null}function getOffsetParent(e,t){var r=getWindow(e);if(!isHTMLElement(e))return r;let i=getTrueOffsetParent(e,t);for(;i&&isTableElement(i)&&\\\"static\\\"===getComputedStyle2(i).position;)i=getTrueOffsetParent(i,t);return(!i||\\\"html\\\"!==getNodeName(i)&&(\\\"body\\\"!==getNodeName(i)||\\\"static\\\"!==getComputedStyle2(i).position||isContainingBlock(i)))&&(i||getContainingBlock(e))||r}var getElementRects=async function(e){var{reference:t,floating:r,strategy:i}=e,n=this.getOffsetParent||getOffsetParent,o=this.getDimensions;return{reference:getRectRelativeToOffsetParent(t,await n(r),i),floating:{x:0,y:0,...await o(r)}}};function isRTL(e){return\\\"rtl\\\"===getComputedStyle2(e).direction}var platform={convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement:getDocumentElement,getClippingRect:getClippingRect,getOffsetParent:getOffsetParent,getElementRects:getElementRects,getClientRects:getClientRects,getDimensions:getDimensions,getScale:getScale,isElement:isElement,isRTL:isRTL};function observeMove(c,r){let d=null,u;const p=getDocumentElement(c);function h(){clearTimeout(u),d&&d.disconnect(),d=null}return function m(e,i){void 0===e&&(e=!1),void 0===i&&(i=1),h();var{left:t,top:n,width:o,height:a}=c.getBoundingClientRect();if(e||r(),o&&a){o={rootMargin:-floor(n)+\\\"px \\\"+-floor(p.clientWidth-(t+o))+\\\"px \\\"+-floor(p.clientHeight-(n+a))+\\\"px \\\"+-floor(t)+\\\"px\\\",threshold:max(0,min2(1,i))||1};let r=!0;try{d=new IntersectionObserver(s,{...o,root:p.ownerDocument})}catch(l){d=new IntersectionObserver(s,o)}function s(e){var t=e[0].intersectionRatio;if(t!==i){if(!r)return m();t?m(!1,t):u=setTimeout(()=>{m(!1,1e-7)},100)}r=!1}d.observe(c)}}(!0),h}function autoUpdate(t,r,i,e){void 0===e&&(e={});const{ancestorScroll:n=!0,ancestorResize:o=!0,elementResize:a=\\\"function\\\"==typeof ResizeObserver,layoutShift:s=\\\"function\\\"==typeof IntersectionObserver,animationFrame:l=!1}=e,c=unwrapElement(t),d=n||o?[...c?getOverflowAncestors(c):[],...getOverflowAncestors(r)]:[],u=(d.forEach(e=>{n&&e.addEventListener(\\\"scroll\\\",i,{passive:!0}),o&&e.addEventListener(\\\"resize\\\",i)}),c&&s?observeMove(c,i):null);let p=-1,h=null;a&&(h=new ResizeObserver(e=>{var[t]=e;t&&t.target===c&&h&&(h.unobserve(r),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{h&&h.observe(r)})),i()}),c&&!l&&h.observe(c),h.observe(r));let m,g=l?getBoundingClientRect(t):null;return l&&function _(){const e=getBoundingClientRect(t);!g||e.x===g.x&&e.y===g.y&&e.width===g.width&&e.height===g.height||i();g=e;m=requestAnimationFrame(_)}(),i(),()=>{d.forEach(e=>{n&&e.removeEventListener(\\\"scroll\\\",i),o&&e.removeEventListener(\\\"resize\\\",i)}),u&&u(),h&&h.disconnect(),h=null,l&&cancelAnimationFrame(m)}}var computePosition2=(e,t,r)=>{var i=new Map,n={platform:platform,...r},i={...n.platform,_c:i};return computePosition(e,t,{...n,platform:i})},React52=__toESM(require(\\\"react\\\"),1),import_react94=require(\\\"react\\\"),ReactDOM=__toESM(require(\\\"react-dom\\\"),1),arrow2=i=>{return{name:\\\"arrow\\\",options:i,fn(e){var{element:t,padding:r}=\\\"function\\\"==typeof i?i(e):i;return t&&{}.hasOwnProperty.call(t,\\\"current\\\")?null!=t.current?arrow({element:t.current,padding:r}).fn(e):{}:t?arrow({element:t,padding:r}).fn(e):{}}}},index=\\\"undefined\\\"!=typeof document?import_react94.useLayoutEffect:import_react94.useEffect;function deepEqual(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(\\\"function\\\"==typeof e&&e.toString()===t.toString())return!0;let r,i,n;if(e&&t&&\\\"object\\\"==typeof e){if(Array.isArray(e)){if((r=e.length)!=t.length)return!1;for(i=r;0!=i--;)if(!deepEqual(e[i],t[i]))return!1}else{if(n=Object.keys(e),(r=n.length)!==Object.keys(t).length)return!1;for(i=r;0!=i--;)if(!{}.hasOwnProperty.call(t,n[i]))return!1;for(i=r;0!=i--;){var o=n[i];if((\\\"_owner\\\"!==o||!e.$$typeof)&&!deepEqual(e[o],t[o]))return!1}}return!0}return e!=e&&t!=t}function getDPR(e){return\\\"undefined\\\"!=typeof window&&(e.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(e,t){var r=getDPR(e);return Math.round(t*r)/r}function useLatestRef(e){const t=React52.useRef(e);return index(()=>{t.current=e}),t}function useFloating(e){const{placement:t=\\\"bottom\\\",strategy:i=\\\"absolute\\\",middleware:r=[],platform:n,elements:{reference:o,floating:a}={},transform:s=!0,whileElementsMounted:l,open:c}=e=void 0===e?{}:e,[d,u]=React52.useState({x:0,y:0,strategy:i,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=React52.useState(r),[m,g]=(deepEqual(p,r)||h(r),React52.useState(null)),[_,f]=React52.useState(null),b=React52.useCallback(e=>{e!=x.current&&(x.current=e,g(e))},[g]),v=React52.useCallback(e=>{e!==w.current&&(w.current=e,f(e))},[f]),y=o||m,S=a||_,x=React52.useRef(null),w=React52.useRef(null),$=React52.useRef(d),E=useLatestRef(l),P=useLatestRef(n),I=React52.useCallback(()=>{var e;x.current&&w.current&&(e={placement:t,strategy:i,middleware:p},P.current&&(e.platform=P.current),computePosition2(x.current,w.current,e).then(e=>{const t={...e,isPositioned:!0};j.current&&!deepEqual($.current,t)&&($.current=t,ReactDOM.flushSync(()=>{u(t)}))}))},[p,t,i,P]),j=(index(()=>{!1===c&&$.current.isPositioned&&($.current.isPositioned=!1,u(e=>({...e,isPositioned:!1})))},[c]),React52.useRef(!1)),C=(index(()=>(j.current=!0,()=>{j.current=!1}),[]),index(()=>{if(y&&(x.current=y),S&&(w.current=S),y&&S){if(E.current)return E.current(y,S,I);I()}},[y,S,I,E]),React52.useMemo(()=>({reference:x,floating:w,setReference:b,setFloating:v}),[b,v])),T=React52.useMemo(()=>({reference:y,floating:S}),[y,S]),k=React52.useMemo(()=>{var e,t,r={position:i,left:0,top:0};return T.floating?(e=roundByDPR(T.floating,d.x),t=roundByDPR(T.floating,d.y),s?{...r,transform:\\\"translate(\\\"+e+\\\"px, \\\"+t+\\\"px)\\\",...1.5\u003C=getDPR(T.floating)&&{willChange:\\\"transform\\\"}}:{position:i,left:e,top:t}):r},[i,s,T.floating,d.x,d.y]);return React52.useMemo(()=>({...d,update:I,refs:C,elements:T,floatingStyles:k}),[d,I,C,T,k])}init_esbuild_inject();var import_react95=require(\\\"react\\\");function $db6c3485150b8e66$export$1ab7ae714698c4b8(n){const[e,o]=(0,import_react95.useState)(void 0);return $9f79659886946c16$export$e5c5a5f917a5871c(()=>{if(n){o({width:n.offsetWidth,height:n.offsetHeight});const e=new ResizeObserver(r=>{if(Array.isArray(r)&&r.length){var i=r[0];let e,t;t=\\\"borderBoxSize\\\"in i?(i=i.borderBoxSize,i=Array.isArray(i)?i[0]:i,e=i.inlineSize,i.blockSize):(e=n.offsetWidth,n.offsetHeight),o({width:e,height:t})}});return e.observe(n,{box:\\\"border-box\\\"}),()=>e.unobserve(n)}o(void 0)},[n]),e}var $cf1ac5d9fe0e8206$var$POPPER_NAME=\\\"Popper\\\",[$cf1ac5d9fe0e8206$var$createPopperContext,$cf1ac5d9fe0e8206$export$722aac194ae923]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($cf1ac5d9fe0e8206$var$POPPER_NAME),[$cf1ac5d9fe0e8206$var$PopperProvider,$cf1ac5d9fe0e8206$var$usePopperContext]=$cf1ac5d9fe0e8206$var$createPopperContext($cf1ac5d9fe0e8206$var$POPPER_NAME),$cf1ac5d9fe0e8206$export$badac9ada3a0bdf9=e=>{var{__scopePopper:t,children:r}=e,[i,n]=(0,import_react96.useState)(null);return(0,import_react96.createElement)($cf1ac5d9fe0e8206$var$PopperProvider,{scope:t,anchor:i,onAnchorChange:n},r)},$cf1ac5d9fe0e8206$var$ANCHOR_NAME=\\\"PopperAnchor\\\",$cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d=(0,import_react96.forwardRef)((e,t)=>{const{__scopePopper:r,virtualRef:i,...n}=e,o=$cf1ac5d9fe0e8206$var$usePopperContext($cf1ac5d9fe0e8206$var$ANCHOR_NAME,r),a=(0,import_react96.useRef)(null);var s=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,a);return(0,import_react96.useEffect)(()=>{o.onAnchorChange((null===i||void 0===i?void 0:i.current)||a.current)}),i?null:(0,import_react96.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({},n,{ref:s}))}),$cf1ac5d9fe0e8206$var$CONTENT_NAME=\\\"PopperContent\\\",[$cf1ac5d9fe0e8206$var$PopperContentProvider,$cf1ac5d9fe0e8206$var$useContentContext]=$cf1ac5d9fe0e8206$var$createPopperContext($cf1ac5d9fe0e8206$var$CONTENT_NAME),$cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc=(0,import_react96.forwardRef)((e,t)=>{const{__scopePopper:r,side:i=\\\"bottom\\\",sideOffset:n=0,align:o=\\\"center\\\",alignOffset:a=0,arrowPadding:s=0,avoidCollisions:l=!0,collisionBoundary:c=[],collisionPadding:d=0,sticky:u=\\\"partial\\\",hideWhenDetached:p=!1,updatePositionStrategy:h=\\\"optimized\\\",onPlaced:m,...g}=e;var _=$cf1ac5d9fe0e8206$var$usePopperContext($cf1ac5d9fe0e8206$var$CONTENT_NAME,r);const[f,b]=(0,import_react96.useState)(null);var v=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,e=>b(e)),[y,S]=(0,import_react96.useState)(null),x=$db6c3485150b8e66$export$1ab7ae714698c4b8(y),w=null!=(w=null==x?void 0:x.width)?w:0,x=null!=(x=null==x?void 0:x.height)?x:0,$=i+(\\\"center\\\"!==o?\\\"-\\\"+o:\\\"\\\"),E=\\\"number\\\"==typeof d?d:{top:0,right:0,bottom:0,left:0,...d},P=Array.isArray(c)?c:[c],I=0\u003CP.length,E={padding:E,boundary:P.filter($cf1ac5d9fe0e8206$var$isNotNull),altBoundary:I};const{refs:j,floatingStyles:C,placement:T,isPositioned:k,middlewareData:A}=useFloating({strategy:\\\"fixed\\\",placement:$,whileElementsMounted:(...e)=>{return autoUpdate(...e,{animationFrame:\\\"always\\\"===h})},elements:{reference:_.anchor},middleware:[offset({mainAxis:n+x,alignmentAxis:a}),l&&shift({mainAxis:!0,crossAxis:!1,limiter:\\\"partial\\\"===u?limitShift():void 0,...E}),l&&flip({...E}),size({...E,apply:({elements:e,rects:t,availableWidth:r,availableHeight:i})=>{var{width:n,height:o}=t.reference,a=e.floating.style;a.setProperty(\\\"--radix-popper-available-width\\\",r+\\\"px\\\"),a.setProperty(\\\"--radix-popper-available-height\\\",i+\\\"px\\\"),a.setProperty(\\\"--radix-popper-anchor-width\\\",n+\\\"px\\\"),a.setProperty(\\\"--radix-popper-anchor-height\\\",o+\\\"px\\\")}}),y&&arrow2({element:y,padding:s}),$cf1ac5d9fe0e8206$var$transformOrigin({arrowWidth:w,arrowHeight:x}),p&&hide({strategy:\\\"referenceHidden\\\",...E})]});var[P,I]=$cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement(T);const M=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(m);$9f79659886946c16$export$e5c5a5f917a5871c(()=>{k&&null!==M&&void 0!==M&&M()},[k,M]);_=null==($=A.arrow)?void 0:$.x,w=null==(y=A.arrow)?void 0:y.y,E=0!==(null==(x=A.arrow)?void 0:x.centerOffset);const[F,O]=(0,import_react96.useState)();return $9f79659886946c16$export$e5c5a5f917a5871c(()=>{f&&O(window.getComputedStyle(f).zIndex)},[f]),(0,import_react96.createElement)(\\\"div\\\",{ref:j.setFloating,\\\"data-radix-popper-content-wrapper\\\":\\\"\\\",style:{...C,transform:k?C.transform:\\\"translate(0, -200%)\\\",minWidth:\\\"max-content\\\",zIndex:F,\\\"--radix-popper-transform-origin\\\":[null==($=A.transformOrigin)?void 0:$.x,null==(y=A.transformOrigin)?void 0:y.y].join(\\\" \\\")},dir:e.dir},(0,import_react96.createElement)($cf1ac5d9fe0e8206$var$PopperContentProvider,{scope:r,placedSide:P,onArrowChange:S,arrowX:_,arrowY:w,shouldHideArrow:E},(0,import_react96.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({\\\"data-side\\\":P,\\\"data-align\\\":I},g,{ref:v,style:{...g.style,animation:k?void 0:\\\"none\\\",opacity:null!=(x=A.hide)&&x.referenceHidden?0:void 0}}))))});function $cf1ac5d9fe0e8206$var$isNotNull(e){return null!==e}var $cf1ac5d9fe0e8206$var$transformOrigin=u=>({name:\\\"transformOrigin\\\",options:u,fn(e){var{placement:t,rects:r,middlewareData:i}=e,n=0!==(null==(n=i.arrow)?void 0:n.centerOffset),o=n?0:u.arrowWidth,a=n?0:u.arrowHeight,[t,s]=$cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement(t),s={start:\\\"0%\\\",center:\\\"50%\\\",end:\\\"100%\\\"}[s],l=(null!=(l=null==(l=i.arrow)?void 0:l.x)?l:0)+o/2,o=(null!=(i=null==(o=i.arrow)?void 0:o.y)?i:0)+a/2;let c=\\\"\\\",d=\\\"\\\";return\\\"bottom\\\"===t?(c=n?s:l+\\\"px\\\",d=-a+\\\"px\\\"):\\\"top\\\"===t?(c=n?s:l+\\\"px\\\",d=r.floating.height+a+\\\"px\\\"):\\\"right\\\"===t?(c=-a+\\\"px\\\",d=n?s:o+\\\"px\\\"):\\\"left\\\"===t&&(c=r.floating.width+a+\\\"px\\\",d=n?s:o+\\\"px\\\"),{data:{x:c,y:d}}}});function $cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement(e){var[t,r=\\\"center\\\"]=e.split(\\\"-\\\");return[t,r]}var $cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9=$cf1ac5d9fe0e8206$export$badac9ada3a0bdf9,$cf1ac5d9fe0e8206$export$b688253958b8dfe7=$cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d,$cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2=$cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc,import_react97=(init_esbuild_inject(),require(\\\"react\\\")),$d7bdfb9eb0fdf311$var$ENTRY_FOCUS=\\\"rovingFocusGroup.onEntryFocus\\\",$d7bdfb9eb0fdf311$var$EVENT_OPTIONS={bubbles:!1,cancelable:!0},$d7bdfb9eb0fdf311$var$GROUP_NAME=\\\"RovingFocusGroup\\\",[$d7bdfb9eb0fdf311$var$Collection,$d7bdfb9eb0fdf311$var$useCollection,$d7bdfb9eb0fdf311$var$createCollectionScope]=$e02a7d9cb1dc128c$export$c74125a8e3af6bb2($d7bdfb9eb0fdf311$var$GROUP_NAME),[$d7bdfb9eb0fdf311$var$createRovingFocusGroupContext,$d7bdfb9eb0fdf311$export$c7109489551a4f4]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($d7bdfb9eb0fdf311$var$GROUP_NAME,[$d7bdfb9eb0fdf311$var$createCollectionScope]),[$d7bdfb9eb0fdf311$var$RovingFocusProvider,$d7bdfb9eb0fdf311$var$useRovingFocusContext]=$d7bdfb9eb0fdf311$var$createRovingFocusGroupContext($d7bdfb9eb0fdf311$var$GROUP_NAME),$d7bdfb9eb0fdf311$export$8699f7c8af148338=(0,import_react97.forwardRef)((e,t)=>(0,import_react97.createElement)($d7bdfb9eb0fdf311$var$Collection.Provider,{scope:e.__scopeRovingFocusGroup},(0,import_react97.createElement)($d7bdfb9eb0fdf311$var$Collection.Slot,{scope:e.__scopeRovingFocusGroup},(0,import_react97.createElement)($d7bdfb9eb0fdf311$var$RovingFocusGroupImpl,_extends({},e,{ref:t}))))),$d7bdfb9eb0fdf311$var$RovingFocusGroupImpl=(0,import_react97.forwardRef)((e,t)=>{const{__scopeRovingFocusGroup:r,orientation:i,loop:n=!1,dir:o,currentTabStopId:a,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:l,onEntryFocus:c,...d}=e,u=(0,import_react97.useRef)(null);var p=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,u),h=$f631663db3294ace$export$b39126d51d94e6f3(o);const[m=null,g]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:a,defaultProp:s,onChange:l}),[_,f]=(0,import_react97.useState)(!1),b=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(c),v=$d7bdfb9eb0fdf311$var$useCollection(r),y=(0,import_react97.useRef)(!1),[S,x]=(0,import_react97.useState)(0);return(0,import_react97.useEffect)(()=>{const e=u.current;if(e)return e.addEventListener($d7bdfb9eb0fdf311$var$ENTRY_FOCUS,b),()=>e.removeEventListener($d7bdfb9eb0fdf311$var$ENTRY_FOCUS,b)},[b]),(0,import_react97.createElement)($d7bdfb9eb0fdf311$var$RovingFocusProvider,{scope:r,orientation:i,dir:h,loop:n,currentTabStopId:m,onItemFocus:(0,import_react97.useCallback)(e=>g(e),[g]),onItemShiftTab:(0,import_react97.useCallback)(()=>f(!0),[]),onFocusableItemAdd:(0,import_react97.useCallback)(()=>x(e=>e+1),[]),onFocusableItemRemove:(0,import_react97.useCallback)(()=>x(e=>e-1),[])},(0,import_react97.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({tabIndex:_||0===S?-1:0,\\\"data-orientation\\\":i},d,{ref:p,style:{outline:\\\"none\\\",...e.style},onMouseDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onMouseDown,()=>{y.current=!0}),onFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocus,e=>{var t=!y.current;e.target===e.currentTarget&&t&&!_&&(t=new CustomEvent($d7bdfb9eb0fdf311$var$ENTRY_FOCUS,$d7bdfb9eb0fdf311$var$EVENT_OPTIONS),e.currentTarget.dispatchEvent(t),t.defaultPrevented||$d7bdfb9eb0fdf311$var$focusFirst([(t=v().filter(e=>e.focusable)).find(e=>e.active),t.find(e=>e.id===m),...t].filter(Boolean).map(e=>e.ref.current))),y.current=!1}),onBlur:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onBlur,()=>f(!1))})))}),$d7bdfb9eb0fdf311$var$ITEM_NAME=\\\"RovingFocusGroupItem\\\",$d7bdfb9eb0fdf311$export$ab9df7c53fe8454=(0,import_react97.forwardRef)((e,t)=>{const{__scopeRovingFocusGroup:r,focusable:i=!0,active:n=!1,tabStopId:o,...a}=e;var s=$1746a345f3d73bb7$export$f680877a34711e37();const l=o||s,c=$d7bdfb9eb0fdf311$var$useRovingFocusContext($d7bdfb9eb0fdf311$var$ITEM_NAME,r);s=c.currentTabStopId===l;const d=$d7bdfb9eb0fdf311$var$useCollection(r),{onFocusableItemAdd:u,onFocusableItemRemove:p}=c;return(0,import_react97.useEffect)(()=>{if(i)return u(),()=>p()},[i,u,p]),(0,import_react97.createElement)($d7bdfb9eb0fdf311$var$Collection.ItemSlot,{scope:r,id:l,focusable:i,active:n},(0,import_react97.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.span,_extends({tabIndex:s?0:-1,\\\"data-orientation\\\":c.orientation},a,{ref:t,onMouseDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onMouseDown,e=>{i?c.onItemFocus(l):e.preventDefault()}),onFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocus,()=>c.onItemFocus(l)),onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onKeyDown,t=>{if(\\\"Tab\\\"===t.key&&t.shiftKey)c.onItemShiftTab();else if(t.target===t.currentTarget){var r=$d7bdfb9eb0fdf311$var$getFocusIntent(t,c.orientation,c.dir);if(void 0!==r){t.preventDefault();let e=d().filter(e=>e.focusable).map(e=>e.ref.current);\\\"last\\\"===r?e.reverse():\\\"prev\\\"!==r&&\\\"next\\\"!==r||(\\\"prev\\\"===r&&e.reverse(),r=e.indexOf(t.currentTarget),e=c.loop?$d7bdfb9eb0fdf311$var$wrapArray(e,r+1):e.slice(r+1)),setTimeout(()=>$d7bdfb9eb0fdf311$var$focusFirst(e))}}})})))}),$d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT={ArrowLeft:\\\"prev\\\",ArrowUp:\\\"prev\\\",ArrowRight:\\\"next\\\",ArrowDown:\\\"next\\\",PageUp:\\\"first\\\",Home:\\\"first\\\",PageDown:\\\"last\\\",End:\\\"last\\\"};function $d7bdfb9eb0fdf311$var$getDirectionAwareKey(e,t){return\\\"rtl\\\"!==t?e:\\\"ArrowLeft\\\"===e?\\\"ArrowRight\\\":\\\"ArrowRight\\\"===e?\\\"ArrowLeft\\\":e}function $d7bdfb9eb0fdf311$var$getFocusIntent(e,t,r){var i=$d7bdfb9eb0fdf311$var$getDirectionAwareKey(e.key,r);if(!(\\\"vertical\\\"===t&&[\\\"ArrowLeft\\\",\\\"ArrowRight\\\"].includes(i)||\\\"horizontal\\\"===t&&[\\\"ArrowUp\\\",\\\"ArrowDown\\\"].includes(i)))return $d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT[i]}function $d7bdfb9eb0fdf311$var$focusFirst(e){var t=document.activeElement;for(const r of e){if(r===t)return;if(r.focus(),document.activeElement!==t)return}}function $d7bdfb9eb0fdf311$var$wrapArray(r,i){return r.map((e,t)=>r[(i+t)%r.length])}var $d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9=$d7bdfb9eb0fdf311$export$8699f7c8af148338,$d7bdfb9eb0fdf311$export$6d08773d2e66f8f2=$d7bdfb9eb0fdf311$export$ab9df7c53fe8454,$6cc32821e9371a1c$var$SELECTION_KEYS=[\\\"Enter\\\",\\\" \\\"],$6cc32821e9371a1c$var$FIRST_KEYS=[\\\"ArrowDown\\\",\\\"PageUp\\\",\\\"Home\\\"],$6cc32821e9371a1c$var$LAST_KEYS=[\\\"ArrowUp\\\",\\\"PageDown\\\",\\\"End\\\"],$6cc32821e9371a1c$var$FIRST_LAST_KEYS=[...$6cc32821e9371a1c$var$FIRST_KEYS,...$6cc32821e9371a1c$var$LAST_KEYS],$6cc32821e9371a1c$var$SUB_OPEN_KEYS={ltr:[...$6cc32821e9371a1c$var$SELECTION_KEYS,\\\"ArrowRight\\\"],rtl:[...$6cc32821e9371a1c$var$SELECTION_KEYS,\\\"ArrowLeft\\\"]},$6cc32821e9371a1c$var$SUB_CLOSE_KEYS={ltr:[\\\"ArrowLeft\\\"],rtl:[\\\"ArrowRight\\\"]},$6cc32821e9371a1c$var$MENU_NAME=\\\"Menu\\\",[$6cc32821e9371a1c$var$Collection,$6cc32821e9371a1c$var$useCollection,$6cc32821e9371a1c$var$createCollectionScope]=$e02a7d9cb1dc128c$export$c74125a8e3af6bb2($6cc32821e9371a1c$var$MENU_NAME),[$6cc32821e9371a1c$var$createMenuContext,$6cc32821e9371a1c$export$4027731b685e72eb]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($6cc32821e9371a1c$var$MENU_NAME,[$6cc32821e9371a1c$var$createCollectionScope,$cf1ac5d9fe0e8206$export$722aac194ae923,$d7bdfb9eb0fdf311$export$c7109489551a4f4]),$6cc32821e9371a1c$var$usePopperScope=$cf1ac5d9fe0e8206$export$722aac194ae923(),$6cc32821e9371a1c$var$useRovingFocusGroupScope=$d7bdfb9eb0fdf311$export$c7109489551a4f4(),[$6cc32821e9371a1c$var$MenuProvider,$6cc32821e9371a1c$var$useMenuContext]=$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$MENU_NAME),[$6cc32821e9371a1c$var$MenuRootProvider,$6cc32821e9371a1c$var$useMenuRootContext]=$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$MENU_NAME),$6cc32821e9371a1c$export$d9b273488cd8ce6f=e=>{var{__scopeMenu:t,open:r=!1,children:i,dir:n,onOpenChange:o,modal:a=!0}=e,s=$6cc32821e9371a1c$var$usePopperScope(t),[l,c]=(0,import_react98.useState)(null);const d=(0,import_react98.useRef)(!1),u=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(o);o=$f631663db3294ace$export$b39126d51d94e6f3(n);return(0,import_react98.useEffect)(()=>{const e=()=>{d.current=!0,document.addEventListener(\\\"pointerdown\\\",t,{capture:!0,once:!0}),document.addEventListener(\\\"pointermove\\\",t,{capture:!0,once:!0})},t=()=>d.current=!1;return document.addEventListener(\\\"keydown\\\",e,{capture:!0}),()=>{document.removeEventListener(\\\"keydown\\\",e,{capture:!0}),document.removeEventListener(\\\"pointerdown\\\",t,{capture:!0}),document.removeEventListener(\\\"pointermove\\\",t,{capture:!0})}},[]),(0,import_react98.createElement)($cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9,s,(0,import_react98.createElement)($6cc32821e9371a1c$var$MenuProvider,{scope:t,open:r,onOpenChange:u,content:l,onContentChange:c},(0,import_react98.createElement)($6cc32821e9371a1c$var$MenuRootProvider,{scope:t,onClose:(0,import_react98.useCallback)(()=>u(!1),[u]),isUsingKeyboardRef:d,dir:o,modal:a},i)))},$6cc32821e9371a1c$export$9fa5ebd18bee4d43=(0,import_react98.forwardRef)((e,t)=>{const{__scopeMenu:r,...i}=e;var n=$6cc32821e9371a1c$var$usePopperScope(r);return(0,import_react98.createElement)($cf1ac5d9fe0e8206$export$b688253958b8dfe7,_extends({},n,i,{ref:t}))}),$6cc32821e9371a1c$var$PORTAL_NAME=\\\"MenuPortal\\\",[$6cc32821e9371a1c$var$PortalProvider,$6cc32821e9371a1c$var$usePortalContext]=$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$PORTAL_NAME,{forceMount:void 0}),$6cc32821e9371a1c$export$793392f970497feb=e=>{var{__scopeMenu:t,forceMount:r,children:i,container:n}=e,o=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$PORTAL_NAME,t);return(0,import_react98.createElement)($6cc32821e9371a1c$var$PortalProvider,{scope:t,forceMount:r},(0,import_react98.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:r||o.open},(0,import_react98.createElement)($f1701beae083dbae$export$602eac185826482c2,{asChild:!0,container:n},i)))},$6cc32821e9371a1c$var$CONTENT_NAME=\\\"MenuContent\\\",[$6cc32821e9371a1c$var$MenuContentProvider,$6cc32821e9371a1c$var$useMenuContentContext]=$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$CONTENT_NAME),$6cc32821e9371a1c$export$479f0f2f71193efe=(0,import_react98.forwardRef)((e,t)=>{var r=$6cc32821e9371a1c$var$usePortalContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu);const{forceMount:i=r.forceMount,...n}=e;var r=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu),o=$6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu);return(0,import_react98.createElement)($6cc32821e9371a1c$var$Collection.Provider,{scope:e.__scopeMenu},(0,import_react98.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:i||r.open},(0,import_react98.createElement)($6cc32821e9371a1c$var$Collection.Slot,{scope:e.__scopeMenu},o.modal?(0,import_react98.createElement)($6cc32821e9371a1c$var$MenuRootContentModal,_extends({},n,{ref:t})):(0,import_react98.createElement)($6cc32821e9371a1c$var$MenuRootContentNonModal,_extends({},n,{ref:t})))))}),$6cc32821e9371a1c$var$MenuRootContentModal=(0,import_react98.forwardRef)((e,t)=>{const r=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu),i=(0,import_react98.useRef)(null);var n=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,i);return(0,import_react98.useEffect)(()=>{var e=i.current;if(e)return hideOthers(e)},[]),(0,import_react98.createElement)($6cc32821e9371a1c$var$MenuContentImpl,_extends({},e,{ref:n,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)}))}),$6cc32821e9371a1c$var$MenuRootContentNonModal=(0,import_react98.forwardRef)((e,t)=>{const r=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu);return(0,import_react98.createElement)($6cc32821e9371a1c$var$MenuContentImpl,_extends({},e,{ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)}))}),$6cc32821e9371a1c$var$MenuContentImpl=(0,import_react98.forwardRef)((e,t)=>{const{__scopeMenu:r,loop:i=!1,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEntryFocus:l,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:u,onInteractOutside:p,onDismiss:h,disableOutsideScroll:m,...g}=e;var _=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME,r);const f=$6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME,r);var b=$6cc32821e9371a1c$var$usePopperScope(r),v=$6cc32821e9371a1c$var$useRovingFocusGroupScope(r);const y=$6cc32821e9371a1c$var$useCollection(r),[S,x]=(0,import_react98.useState)(null),w=(0,import_react98.useRef)(null);var $=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,w,_.onContentChange);const E=(0,import_react98.useRef)(0),P=(0,import_react98.useRef)(\\\"\\\");var I=(0,import_react98.useRef)(0);const j=(0,import_react98.useRef)(null),C=(0,import_react98.useRef)(\\\"right\\\"),T=(0,import_react98.useRef)(0);var k=m?Combination_default:import_react98.Fragment,A=m?{as:$5e63c961fc1ce211$export$8c6ed5c666ac1360,allowPinchZoom:!0}:void 0;const M=e=>{var t=P.current+e,r=y().filter(e=>!e.disabled);const i=document.activeElement;var n=null==(n=r.find(e=>e.ref.current===i))?void 0:n.textValue;const o=$6cc32821e9371a1c$var$getNextMatch(r.map(e=>e.textValue),t,n),a=null==(n=r.find(e=>e.textValue===o))?void 0:n.ref.current;!function s(e){P.current=e,window.clearTimeout(E.current),\\\"\\\"!==e&&(E.current=window.setTimeout(()=>s(\\\"\\\"),1e3))}(t),a&&setTimeout(()=>a.focus())},F=((0,import_react98.useEffect)(()=>()=>window.clearTimeout(E.current),[]),$3db38b7d1fb3fe6a$export$b7ece24a22aeda8c(),(0,import_react98.useCallback)(e=>{var t;return C.current===(null==(t=j.current)?void 0:t.side)&&$6cc32821e9371a1c$var$isPointerInGraceArea(e,null==(t=j.current)?void 0:t.area)},[]));return(0,import_react98.createElement)($6cc32821e9371a1c$var$MenuContentProvider,{scope:r,searchRef:P,onItemEnter:(0,import_react98.useCallback)(e=>{F(e)&&e.preventDefault()},[F]),onItemLeave:(0,import_react98.useCallback)(e=>{var t;F(e)||(null!=(t=w.current)&&t.focus(),x(null))},[F]),onTriggerLeave:(0,import_react98.useCallback)(e=>{F(e)&&e.preventDefault()},[F]),pointerGraceTimerRef:I,onPointerGraceIntentChange:(0,import_react98.useCallback)(e=>{j.current=e},[])},(0,import_react98.createElement)(k,A,(0,import_react98.createElement)($d3863c46a17e8a28$export$20e40289641fbbb6,{asChild:!0,trapped:n,onMountAutoFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(o,e=>{var t;e.preventDefault(),null!=(t=w.current)&&t.focus()}),onUnmountAutoFocus:a},(0,import_react98.createElement)($5cb92bef7577960e$export$177fb62ff3ec1f222,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:u,onInteractOutside:p,onDismiss:h},(0,import_react98.createElement)($d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9,_extends({asChild:!0},v,{dir:f.dir,orientation:\\\"vertical\\\",loop:i,currentTabStopId:S,onCurrentTabStopIdChange:x,onEntryFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(l,e=>{f.isUsingKeyboardRef.current||e.preventDefault()})}),(0,import_react98.createElement)($cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2,_extends({role:\\\"menu\\\",\\\"aria-orientation\\\":\\\"vertical\\\",\\\"data-state\\\":$6cc32821e9371a1c$var$getOpenState(_.open),\\\"data-radix-menu-content\\\":\\\"\\\",dir:f.dir},b,g,{ref:$,style:{outline:\\\"none\\\",...g.style},onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(g.onKeyDown,e=>{var t=e.target.closest(\\\"[data-radix-menu-content]\\\")===e.currentTarget,r=e.ctrlKey||e.altKey||e.metaKey,i=1===e.key.length,t=(t&&(\\\"Tab\\\"===e.key&&e.preventDefault(),!r)&&i&&M(e.key),w.current);e.target===t&&$6cc32821e9371a1c$var$FIRST_LAST_KEYS.includes(e.key)&&(e.preventDefault(),r=y().filter(e=>!e.disabled).map(e=>e.ref.current),$6cc32821e9371a1c$var$LAST_KEYS.includes(e.key)&&r.reverse(),$6cc32821e9371a1c$var$focusFirst(r))}),onBlur:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(E.current),P.current=\\\"\\\")}),onPointerMove:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerMove,$6cc32821e9371a1c$var$whenMouse(e=>{var t=e.target,r=T.current!==e.clientX;e.currentTarget.contains(t)&&r&&(t=e.clientX>T.current?\\\"right\\\":\\\"left\\\",C.current=t,T.current=e.clientX)}))})))))))}),$6cc32821e9371a1c$export$22a631d1f72787bb=(0,import_react98.forwardRef)((e,t)=>{const{__scopeMenu:r,...i}=e;return(0,import_react98.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({role:\\\"group\\\"},i,{ref:t}))}),$6cc32821e9371a1c$var$ITEM_NAME=\\\"MenuItem\\\",$6cc32821e9371a1c$var$ITEM_SELECT=\\\"menu.itemSelect\\\",$6cc32821e9371a1c$export$2ce376c2cc3355c8=(0,import_react98.forwardRef)((r,e)=>{const{disabled:i=!1,onSelect:n,...t}=r,o=(0,import_react98.useRef)(null),a=$6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$ITEM_NAME,r.__scopeMenu),s=$6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$ITEM_NAME,r.__scopeMenu);var l=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(e,o);const c=(0,import_react98.useRef)(!1);return(0,import_react98.createElement)($6cc32821e9371a1c$var$MenuItemImpl,_extends({},t,{ref:l,disabled:i,onClick:$e42e1063c40fb3ef$export$b9ecd428b558ff10(r.onClick,()=>{var e,t=o.current;!i&&t&&(e=new CustomEvent($6cc32821e9371a1c$var$ITEM_SELECT,{bubbles:!0,cancelable:!0}),t.addEventListener($6cc32821e9371a1c$var$ITEM_SELECT,e=>null===n||void 0===n?void 0:n(e),{once:!0}),$8927f6f2acc4f386$export$6d1a0317bde7de7f(t,e),e.defaultPrevented?c.current=!1:a.onClose())}),onPointerDown:e=>{var t;null!=(t=r.onPointerDown)&&t.call(r,e),c.current=!0},onPointerUp:$e42e1063c40fb3ef$export$b9ecd428b558ff10(r.onPointerUp,e=>{var t;c.current||null!=(t=e.currentTarget)&&t.click()}),onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(r.onKeyDown,e=>{var t=\\\"\\\"!==s.searchRef.current;i||t&&\\\" \\\"===e.key||$6cc32821e9371a1c$var$SELECTION_KEYS.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})}))}),$6cc32821e9371a1c$var$MenuItemImpl=(0,import_react98.forwardRef)((e,t)=>{const{__scopeMenu:r,disabled:i=!1,textValue:n,...o}=e,a=$6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$ITEM_NAME,r);var s=$6cc32821e9371a1c$var$useRovingFocusGroupScope(r);const l=(0,import_react98.useRef)(null);var c=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,l);const[d,u]=(0,import_react98.useState)(!1),[p,h]=(0,import_react98.useState)(\\\"\\\");return(0,import_react98.useEffect)(()=>{var e=l.current;e&&h((null!=(e=e.textContent)?e:\\\"\\\").trim())},[o.children]),(0,import_react98.createElement)($6cc32821e9371a1c$var$Collection.ItemSlot,{scope:r,disabled:i,textValue:null!=n?n:p},(0,import_react98.createElement)($d7bdfb9eb0fdf311$export$6d08773d2e66f8f2,_extends({asChild:!0},s,{focusable:!i}),(0,import_react98.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.div,_extends({role:\\\"menuitem\\\",\\\"data-highlighted\\\":d?\\\"\\\":void 0,\\\"aria-disabled\\\":i||void 0,\\\"data-disabled\\\":i?\\\"\\\":void 0},o,{ref:c,onPointerMove:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerMove,$6cc32821e9371a1c$var$whenMouse(e=>{i?a.onItemLeave(e):(a.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus())})),onPointerLeave:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerLeave,$6cc32821e9371a1c$var$whenMouse(e=>a.onItemLeave(e))),onFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocus,()=>u(!0)),onBlur:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onBlur,()=>u(!1))}))))}),$6cc32821e9371a1c$export$f6f243521332502d=(0,import_react98.forwardRef)((e,t)=>{const{checked:r=!1,onCheckedChange:i,...n}=e;return(0,import_react98.createElement)($6cc32821e9371a1c$var$ItemIndicatorProvider,{scope:e.__scopeMenu,checked:r},(0,import_react98.createElement)($6cc32821e9371a1c$export$2ce376c2cc3355c8,_extends({role:\\\"menuitemcheckbox\\\",\\\"aria-checked\\\":$6cc32821e9371a1c$var$isIndeterminate(r)?\\\"mixed\\\":r},n,{ref:t,\\\"data-state\\\":$6cc32821e9371a1c$var$getCheckedState(r),onSelect:$e42e1063c40fb3ef$export$b9ecd428b558ff10(n.onSelect,()=>null===i||void 0===i?void 0:i(!!$6cc32821e9371a1c$var$isIndeterminate(r)||!r),{checkForDefaultPrevented:!1})})))}),$6cc32821e9371a1c$var$RADIO_GROUP_NAME=\\\"MenuRadioGroup\\\",[$6cc32821e9371a1c$var$RadioGroupProvider,$6cc32821e9371a1c$var$useRadioGroupContext]=$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$RADIO_GROUP_NAME,{value:void 0,onValueChange:()=>{}}),$6cc32821e9371a1c$var$ITEM_INDICATOR_NAME=\\\"MenuItemIndicator\\\",[$6cc32821e9371a1c$var$ItemIndicatorProvider,$6cc32821e9371a1c$var$useItemIndicatorContext]=$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$ITEM_INDICATOR_NAME,{checked:!1}),$6cc32821e9371a1c$export$a2593e23056970a3=(0,import_react98.forwardRef)((e,t)=>{const{__scopeMenu:r,forceMount:i,...n}=e;var o=$6cc32821e9371a1c$var$useItemIndicatorContext($6cc32821e9371a1c$var$ITEM_INDICATOR_NAME,r);return(0,import_react98.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:i||$6cc32821e9371a1c$var$isIndeterminate(o.checked)||!0===o.checked},(0,import_react98.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.span,_extends({},n,{ref:t,\\\"data-state\\\":$6cc32821e9371a1c$var$getCheckedState(o.checked)})))}),$6cc32821e9371a1c$var$SUB_NAME=\\\"MenuSub\\\",[$6cc32821e9371a1c$var$MenuSubProvider,$6cc32821e9371a1c$var$useMenuSubContext]=$6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$SUB_NAME),$6cc32821e9371a1c$export$71bdb9d1e2909932=e=>{var{__scopeMenu:t,children:r,open:i=!1,onOpenChange:n}=e;const o=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$SUB_NAME,t);var a=$6cc32821e9371a1c$var$usePopperScope(t),[s,l]=(0,import_react98.useState)(null),[c,d]=(0,import_react98.useState)(null);const u=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(n);return(0,import_react98.useEffect)(()=>(!1===o.open&&u(!1),()=>u(!1)),[o.open,u]),(0,import_react98.createElement)($cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9,a,(0,import_react98.createElement)($6cc32821e9371a1c$var$MenuProvider,{scope:t,open:i,onOpenChange:u,content:c,onContentChange:d},(0,import_react98.createElement)($6cc32821e9371a1c$var$MenuSubProvider,{scope:t,contentId:$1746a345f3d73bb7$export$f680877a34711e37(),triggerId:$1746a345f3d73bb7$export$f680877a34711e37(),trigger:s,onTriggerChange:l},r)))},$6cc32821e9371a1c$var$SUB_TRIGGER_NAME=\\\"MenuSubTrigger\\\",$6cc32821e9371a1c$export$5fbbb3ba7297405f=(0,import_react98.forwardRef)((r,e)=>{const a=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME,r.__scopeMenu),i=$6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME,r.__scopeMenu);var t=$6cc32821e9371a1c$var$useMenuSubContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME,r.__scopeMenu);const s=$6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME,r.__scopeMenu),n=(0,import_react98.useRef)(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:o}=s;var c={__scopeMenu:r.__scopeMenu};const d=(0,import_react98.useCallback)(()=>{n.current&&window.clearTimeout(n.current),n.current=null},[]);return(0,import_react98.useEffect)(()=>d,[d]),(0,import_react98.useEffect)(()=>{const e=l.current;return()=>{window.clearTimeout(e),o(null)}},[l,o]),(0,import_react98.createElement)($6cc32821e9371a1c$export$9fa5ebd18bee4d43,_extends({asChild:!0},c),(0,import_react98.createElement)($6cc32821e9371a1c$var$MenuItemImpl,_extends({id:t.triggerId,\\\"aria-haspopup\\\":\\\"menu\\\",\\\"aria-expanded\\\":a.open,\\\"aria-controls\\\":t.contentId,\\\"data-state\\\":$6cc32821e9371a1c$var$getOpenState(a.open)},r,{ref:$6ed0406888f73fc4$export$43e446d32b3d21af(e,t.onTriggerChange),onClick:e=>{var t;null!=(t=r.onClick)&&t.call(r,e),r.disabled||e.defaultPrevented||(e.currentTarget.focus(),a.open)||a.onOpenChange(!0)},onPointerMove:$e42e1063c40fb3ef$export$b9ecd428b558ff10(r.onPointerMove,$6cc32821e9371a1c$var$whenMouse(e=>{s.onItemEnter(e),e.defaultPrevented||r.disabled||a.open||n.current||(s.onPointerGraceIntentChange(null),n.current=window.setTimeout(()=>{a.onOpenChange(!0),d()},100))})),onPointerLeave:$e42e1063c40fb3ef$export$b9ecd428b558ff10(r.onPointerLeave,$6cc32821e9371a1c$var$whenMouse(e=>{d();var t,r,i,n,o=null==(o=a.content)?void 0:o.getBoundingClientRect();o?(r=(n=\\\"right\\\"===(t=null==(t=a.content)?void 0:t.dataset.side))?-5:5,i=o[n?\\\"left\\\":\\\"right\\\"],n=o[n?\\\"right\\\":\\\"left\\\"],s.onPointerGraceIntentChange({area:[{x:e.clientX+r,y:e.clientY},{x:i,y:o.top},{x:n,y:o.top},{x:n,y:o.bottom},{x:i,y:o.bottom}],side:t}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)):(s.onTriggerLeave(e),e.defaultPrevented||s.onPointerGraceIntentChange(null))})),onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(r.onKeyDown,e=>{var t=\\\"\\\"!==s.searchRef.current;r.disabled||t&&\\\" \\\"===e.key||$6cc32821e9371a1c$var$SUB_OPEN_KEYS[i.dir].includes(e.key)&&(a.onOpenChange(!0),null!=(t=a.content)&&t.focus(),e.preventDefault())})})))}),$6cc32821e9371a1c$var$SUB_CONTENT_NAME=\\\"MenuSubContent\\\",$6cc32821e9371a1c$export$e7142ab31822bde6=(0,import_react98.forwardRef)((e,t)=>{var r=$6cc32821e9371a1c$var$usePortalContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu);const{forceMount:i=r.forceMount,...n}=e,o=$6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu),a=$6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME,e.__scopeMenu),s=$6cc32821e9371a1c$var$useMenuSubContext($6cc32821e9371a1c$var$SUB_CONTENT_NAME,e.__scopeMenu),l=(0,import_react98.useRef)(null);r=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,l);return(0,import_react98.createElement)($6cc32821e9371a1c$var$Collection.Provider,{scope:e.__scopeMenu},(0,import_react98.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:i||o.open},(0,import_react98.createElement)($6cc32821e9371a1c$var$Collection.Slot,{scope:e.__scopeMenu},(0,import_react98.createElement)($6cc32821e9371a1c$var$MenuContentImpl,_extends({id:s.contentId,\\\"aria-labelledby\\\":s.triggerId},n,{ref:r,align:\\\"start\\\",side:\\\"rtl\\\"===a.dir?\\\"left\\\":\\\"right\\\",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{var t;a.isUsingKeyboardRef.current&&null!=(t=l.current)&&t.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocusOutside,e=>{e.target!==s.trigger&&o.onOpenChange(!1)}),onEscapeKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onEscapeKeyDown,e=>{a.onClose(),e.preventDefault()}),onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onKeyDown,e=>{var t=e.currentTarget.contains(e.target),r=$6cc32821e9371a1c$var$SUB_CLOSE_KEYS[a.dir].includes(e.key);t&&r&&(o.onOpenChange(!1),null!=(t=s.trigger)&&t.focus(),e.preventDefault())})})))))});function $6cc32821e9371a1c$var$getOpenState(e){return e?\\\"open\\\":\\\"closed\\\"}function $6cc32821e9371a1c$var$isIndeterminate(e){return\\\"indeterminate\\\"===e}function $6cc32821e9371a1c$var$getCheckedState(e){return $6cc32821e9371a1c$var$isIndeterminate(e)?\\\"indeterminate\\\":e?\\\"checked\\\":\\\"unchecked\\\"}function $6cc32821e9371a1c$var$focusFirst(e){var t=document.activeElement;for(const r of e){if(r===t)return;if(r.focus(),document.activeElement!==t)return}}function $6cc32821e9371a1c$var$wrapArray(r,i){return r.map((e,t)=>r[(i+t)%r.length])}function $6cc32821e9371a1c$var$getNextMatch(e,t,r){const i=1\u003Ct.length&&Array.from(t).every(e=>e===t[0])?t[0]:t;var n=r?e.indexOf(r):-1;let o=$6cc32821e9371a1c$var$wrapArray(e,Math.max(n,0));n=1===i.length,n=(o=n?o.filter(e=>e!==r):o).find(e=>e.toLowerCase().startsWith(i.toLowerCase()));return n!==r?n:void 0}function $6cc32821e9371a1c$var$isPointInPolygon(e,t){var{x:r,y:i}=e;let n=!1;for(let c=0,d=t.length-1;c\u003Ct.length;d=c++){var o=t[c].x,a=t[c].y,s=t[d].x,l=t[d].y;i\u003Ca!=i\u003Cl&&r\u003C(s-o)*(i-a)/(l-a)+o&&(n=!n)}return n}function $6cc32821e9371a1c$var$isPointerInGraceArea(e,t){return!!t&&$6cc32821e9371a1c$var$isPointInPolygon({x:e.clientX,y:e.clientY},t)}function $6cc32821e9371a1c$var$whenMouse(t){return e=>\\\"mouse\\\"===e.pointerType?t(e):void 0}var $6cc32821e9371a1c$export$be92b6f5f03c0fe9=$6cc32821e9371a1c$export$d9b273488cd8ce6f,$6cc32821e9371a1c$export$b688253958b8dfe7=$6cc32821e9371a1c$export$9fa5ebd18bee4d43,$6cc32821e9371a1c$export$602eac185826482c=$6cc32821e9371a1c$export$793392f970497feb,$6cc32821e9371a1c$export$7c6e2c02157bb7d2=$6cc32821e9371a1c$export$479f0f2f71193efe,$6cc32821e9371a1c$export$eb2fcfdbd7ba97d4=$6cc32821e9371a1c$export$22a631d1f72787bb,$6cc32821e9371a1c$export$6d08773d2e66f8f2=$6cc32821e9371a1c$export$2ce376c2cc3355c8,$6cc32821e9371a1c$export$16ce288f89fa631c=$6cc32821e9371a1c$export$f6f243521332502d,$6cc32821e9371a1c$export$c3468e2714d175fa=$6cc32821e9371a1c$export$a2593e23056970a3,$6cc32821e9371a1c$export$d7a01e11500dfb6f=$6cc32821e9371a1c$export$71bdb9d1e2909932,$6cc32821e9371a1c$export$2ea8a7a591ac5eac=$6cc32821e9371a1c$export$5fbbb3ba7297405f,$6cc32821e9371a1c$export$6d4de93b380beddf=$6cc32821e9371a1c$export$e7142ab31822bde6,$d08ef79370b62062$var$DROPDOWN_MENU_NAME=\\\"DropdownMenu\\\",[$d08ef79370b62062$var$createDropdownMenuContext,$d08ef79370b62062$export$c0623cd925aeb687]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($d08ef79370b62062$var$DROPDOWN_MENU_NAME,[$6cc32821e9371a1c$export$4027731b685e72eb]),$d08ef79370b62062$var$useMenuScope=$6cc32821e9371a1c$export$4027731b685e72eb(),[$d08ef79370b62062$var$DropdownMenuProvider,$d08ef79370b62062$var$useDropdownMenuContext]=$d08ef79370b62062$var$createDropdownMenuContext($d08ef79370b62062$var$DROPDOWN_MENU_NAME),$d08ef79370b62062$export$e44a253a59704894=e=>{var{__scopeDropdownMenu:t,children:r,dir:i,open:n,defaultOpen:o,onOpenChange:a,modal:s=!0}=e,l=$d08ef79370b62062$var$useMenuScope(t),c=(0,import_react99.useRef)(null);const[d=!1,u]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:n,defaultProp:o,onChange:a});return(0,import_react99.createElement)($d08ef79370b62062$var$DropdownMenuProvider,{scope:t,triggerId:$1746a345f3d73bb7$export$f680877a34711e37(),triggerRef:c,contentId:$1746a345f3d73bb7$export$f680877a34711e37(),open:d,onOpenChange:u,onOpenToggle:(0,import_react99.useCallback)(()=>u(e=>!e),[u]),modal:s},(0,import_react99.createElement)($6cc32821e9371a1c$export$be92b6f5f03c0fe9,_extends({},l,{open:d,onOpenChange:u,dir:i,modal:s}),r))},$d08ef79370b62062$var$TRIGGER_NAME=\\\"DropdownMenuTrigger\\\",$d08ef79370b62062$export$d2469213b3befba9=(0,import_react99.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,disabled:i=!1,...n}=e,o=$d08ef79370b62062$var$useDropdownMenuContext($d08ef79370b62062$var$TRIGGER_NAME,r);var a=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react99.createElement)($6cc32821e9371a1c$export$b688253958b8dfe7,_extends({asChild:!0},a),(0,import_react99.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.button,_extends({type:\\\"button\\\",id:o.triggerId,\\\"aria-haspopup\\\":\\\"menu\\\",\\\"aria-expanded\\\":o.open,\\\"aria-controls\\\":o.open?o.contentId:void 0,\\\"data-state\\\":o.open?\\\"open\\\":\\\"closed\\\",\\\"data-disabled\\\":i?\\\"\\\":void 0,disabled:i},n,{ref:$6ed0406888f73fc4$export$43e446d32b3d21af(t,o.triggerRef),onPointerDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerDown,e=>{i||0!==e.button||!1!==e.ctrlKey||(o.onOpenToggle(),o.open)||e.preventDefault()}),onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onKeyDown,e=>{i||([\\\"Enter\\\",\\\" \\\"].includes(e.key)&&o.onOpenToggle(),\\\"ArrowDown\\\"===e.key&&o.onOpenChange(!0),[\\\"Enter\\\",\\\" \\\",\\\"ArrowDown\\\"].includes(e.key)&&e.preventDefault())})})))}),$d08ef79370b62062$export$cd369b4d4d54efc9=e=>{const{__scopeDropdownMenu:t,...r}=e;var i=$d08ef79370b62062$var$useMenuScope(t);return(0,import_react99.createElement)($6cc32821e9371a1c$export$602eac185826482c,_extends({},i,r))},$d08ef79370b62062$var$CONTENT_NAME=\\\"DropdownMenuContent\\\",$d08ef79370b62062$export$6e76d93a37c01248=(0,import_react99.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...i}=e,n=$d08ef79370b62062$var$useDropdownMenuContext($d08ef79370b62062$var$CONTENT_NAME,r);var o=$d08ef79370b62062$var$useMenuScope(r);const a=(0,import_react99.useRef)(!1);return(0,import_react99.createElement)($6cc32821e9371a1c$export$7c6e2c02157bb7d2,_extends({id:n.contentId,\\\"aria-labelledby\\\":n.triggerId},o,i,{ref:t,onCloseAutoFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onCloseAutoFocus,e=>{var t;a.current||null!=(t=n.triggerRef.current)&&t.focus(),a.current=!1,e.preventDefault()}),onInteractOutside:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onInteractOutside,e=>{var t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey,t=2===t.button||r;n.modal&&!t||(a.current=!0)}),style:{...e.style,\\\"--radix-dropdown-menu-content-transform-origin\\\":\\\"var(--radix-popper-transform-origin)\\\",\\\"--radix-dropdown-menu-content-available-width\\\":\\\"var(--radix-popper-available-width)\\\",\\\"--radix-dropdown-menu-content-available-height\\\":\\\"var(--radix-popper-available-height)\\\",\\\"--radix-dropdown-menu-trigger-width\\\":\\\"var(--radix-popper-anchor-width)\\\",\\\"--radix-dropdown-menu-trigger-height\\\":\\\"var(--radix-popper-anchor-height)\\\"}}))}),$d08ef79370b62062$export$246bebaba3a2f70e=(0,import_react99.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...i}=e;var n=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react99.createElement)($6cc32821e9371a1c$export$eb2fcfdbd7ba97d4,_extends({},n,i,{ref:t}))}),$d08ef79370b62062$export$ed97964d1871885d=(0,import_react99.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...i}=e;var n=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react99.createElement)($6cc32821e9371a1c$export$6d08773d2e66f8f2,_extends({},n,i,{ref:t}))}),$d08ef79370b62062$export$53a69729da201fa9=(0,import_react99.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...i}=e;var n=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react99.createElement)($6cc32821e9371a1c$export$16ce288f89fa631c,_extends({},n,i,{ref:t}))}),$d08ef79370b62062$export$42355ae145153fb6=(0,import_react99.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...i}=e;var n=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react99.createElement)($6cc32821e9371a1c$export$c3468e2714d175fa,_extends({},n,i,{ref:t}))}),$d08ef79370b62062$export$2f307d81a64f5442=e=>{var{__scopeDropdownMenu:t,children:r,open:i,onOpenChange:n,defaultOpen:o}=e,t=$d08ef79370b62062$var$useMenuScope(t),[i=!1,o]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:i,defaultProp:o,onChange:n});return(0,import_react99.createElement)($6cc32821e9371a1c$export$d7a01e11500dfb6f,_extends({},t,{open:i,onOpenChange:o}),r)},$d08ef79370b62062$export$21dcb7ec56f874cf=(0,import_react99.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...i}=e;var n=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react99.createElement)($6cc32821e9371a1c$export$2ea8a7a591ac5eac,_extends({},n,i,{ref:t}))}),$d08ef79370b62062$export$f34ec8bc2482cc5f=(0,import_react99.forwardRef)((e,t)=>{const{__scopeDropdownMenu:r,...i}=e;var n=$d08ef79370b62062$var$useMenuScope(r);return(0,import_react99.createElement)($6cc32821e9371a1c$export$6d4de93b380beddf,_extends({},n,i,{ref:t,style:{...e.style,\\\"--radix-dropdown-menu-content-transform-origin\\\":\\\"var(--radix-popper-transform-origin)\\\",\\\"--radix-dropdown-menu-content-available-width\\\":\\\"var(--radix-popper-available-width)\\\",\\\"--radix-dropdown-menu-content-available-height\\\":\\\"var(--radix-popper-available-height)\\\",\\\"--radix-dropdown-menu-trigger-width\\\":\\\"var(--radix-popper-anchor-width)\\\",\\\"--radix-dropdown-menu-trigger-height\\\":\\\"var(--radix-popper-anchor-height)\\\"}}))}),$d08ef79370b62062$export$be92b6f5f03c0fe9=$d08ef79370b62062$export$e44a253a59704894,$d08ef79370b62062$export$41fb9f06171c75f4=$d08ef79370b62062$export$d2469213b3befba9,$d08ef79370b62062$export$602eac185826482c=$d08ef79370b62062$export$cd369b4d4d54efc9,$d08ef79370b62062$export$7c6e2c02157bb7d2=$d08ef79370b62062$export$6e76d93a37c01248,$d08ef79370b62062$export$eb2fcfdbd7ba97d4=$d08ef79370b62062$export$246bebaba3a2f70e,$d08ef79370b62062$export$6d08773d2e66f8f2=$d08ef79370b62062$export$ed97964d1871885d,$d08ef79370b62062$export$16ce288f89fa631c=$d08ef79370b62062$export$53a69729da201fa9,$d08ef79370b62062$export$c3468e2714d175fa=$d08ef79370b62062$export$42355ae145153fb6,$d08ef79370b62062$export$d7a01e11500dfb6f=$d08ef79370b62062$export$2f307d81a64f5442,$d08ef79370b62062$export$2ea8a7a591ac5eac=$d08ef79370b62062$export$21dcb7ec56f874cf,$d08ef79370b62062$export$6d4de93b380beddf=$d08ef79370b62062$export$f34ec8bc2482cc5f,import_react100=(init_esbuild_inject(),require(\\\"react\\\"));function useMenuIsOpen(r,i){const n=useEditor(),o=(0,import_react100.useRef)(!1),t=useUiEvents(),a=(0,import_react100.useRef)(0);var e=(0,import_react100.useCallback)(e=>{var t=Date.now();t-a.current\u003C50||(a.current=t,o.current=e,n.batch(()=>{e?(n.complete(),n.addOpenMenu(r)):n.updateInstanceState({openMenus:n.getOpenMenus().filter(e=>!e.startsWith(r))}),null!=i&&i(e)}))},[n,r,i]),s=useValue(\\\"is menu open\\\",()=>n.getOpenMenus().includes(r),[n,r]);return(0,import_react100.useEffect)(()=>(o.current&&(t(\\\"open-menu\\\",{source:\\\"unknown\\\",id:r}),n.addOpenMenu(r)),()=>{o.current&&(n.deleteOpenMenu(r),n.getOpenMenus().forEach(e=>{e.startsWith(r)&&(t(\\\"close-menu\\\",{source:\\\"unknown\\\",id:r}),n.deleteOpenMenu(e))}),o.current=!1)}),[n,r,t]),[s,e]}function Root({id:e,children:t,modal:r=!1,debugOpen:i=!1}){var[n,o]=useMenuIsOpen(e);return(0,import_jsx_runtime93.jsx)($d08ef79370b62062$export$be92b6f5f03c0fe9,{open:i||n,dir:\\\"ltr\\\",modal:r,onOpenChange:o,children:t})}function Trigger({children:e,\\\"data-testid\\\":t}){return(0,import_jsx_runtime93.jsx)($d08ef79370b62062$export$41fb9f06171c75f4,{dir:\\\"ltr\\\",\\\"data-testid\\\":t,asChild:!0,onTouchEnd:e=>preventDefault(e),children:e})}function Content({side:e=\\\"bottom\\\",align:t=\\\"start\\\",sideOffset:r=8,alignOffset:i=8,children:n}){var o=useContainer();return(0,import_jsx_runtime93.jsx)($d08ef79370b62062$export$602eac185826482c,{container:o,children:(0,import_jsx_runtime93.jsx)($d08ef79370b62062$export$7c6e2c02157bb7d2,{className:\\\"tlui-menu\\\",align:t,sideOffset:r,side:e,alignOffset:i,collisionPadding:4,children:n})})}function Sub({id:e,children:t}){var[r,i]=useMenuIsOpen(e);return(0,import_jsx_runtime93.jsx)($d08ef79370b62062$export$d7a01e11500dfb6f,{open:r,onOpenChange:i,children:t})}function SubTrigger({label:e,\\\"data-testid\\\":t,\\\"data-direction\\\":r}){return(0,import_jsx_runtime93.jsx)($d08ef79370b62062$export$2ea8a7a591ac5eac,{dir:\\\"ltr\\\",\\\"data-direction\\\":r,\\\"data-testid\\\":t,asChild:!0,children:(0,import_jsx_runtime93.jsx)(Button,{type:\\\"menu\\\",className:\\\"tlui-menu__submenu__trigger\\\",label:e,icon:\\\"chevron-right\\\"})})}function SubContent({alignOffset:e=0,sideOffset:t=5,children:r}){var i=useContainer();return(0,import_jsx_runtime93.jsx)($d08ef79370b62062$export$602eac185826482c,{container:i,children:(0,import_jsx_runtime93.jsx)($d08ef79370b62062$export$6d4de93b380beddf,{className:\\\"tlui-menu tlui-menu__submenu__content\\\",alignOffset:e,sideOffset:t,collisionPadding:4,children:r})})}function Group({children:e,size:t=\\\"medium\\\"}){return(0,import_jsx_runtime93.jsx)($d08ef79370b62062$export$eb2fcfdbd7ba97d4,{dir:\\\"ltr\\\",className:\\\"tlui-menu__group\\\",\\\"data-size\\\":t,children:e})}function Item({noClose:e,...t}){return(0,import_jsx_runtime93.jsx)($d08ef79370b62062$export$6d08773d2e66f8f2,{dir:\\\"ltr\\\",asChild:!0,onClick:e||void 0!==t.isChecked?preventDefault:void 0,children:(0,import_jsx_runtime93.jsx)(Button,{...t})})}function CheckboxItem({children:e,onSelect:t,...r}){return(0,import_jsx_runtime93.jsxs)($d08ef79370b62062$export$16ce288f89fa631c,{dir:\\\"ltr\\\",className:\\\"tlui-button tlui-button__menu tlui-button__checkbox\\\",onSelect:e=>{null!=t&&t(e),preventDefault(e)},...r,children:[(0,import_jsx_runtime93.jsx)(Icon,{small:!0,icon:r.checked?\\\"check\\\":\\\"checkbox-empty\\\"}),e]})}function RadioItem({children:e,onSelect:t,...r}){return(0,import_jsx_runtime93.jsxs)($d08ef79370b62062$export$16ce288f89fa631c,{dir:\\\"ltr\\\",className:\\\"tlui-button tlui-button__menu tlui-button__checkbox\\\",onSelect:e=>{null!=t&&t(e),preventDefault(e)},...r,children:[(0,import_jsx_runtime93.jsx)(\\\"div\\\",{className:\\\"tlui-button__checkbox__indicator\\\",children:(0,import_jsx_runtime93.jsx)($d08ef79370b62062$export$c3468e2714d175fa,{dir:\\\"ltr\\\",children:(0,import_jsx_runtime93.jsx)(Icon,{icon:\\\"check\\\",small:!0})})}),e]})}var t=0;function createNShapes(e,r){const i=Array(r);var n=Math.floor(Math.sqrt(r));for(let o=0;o\u003Cr;o++)t++,i[o]={id:createShapeId(\\\"box\\\"+t),type:\\\"geo\\\",x:o%n*132,y:132*Math.floor(o/n)};e.batch(()=>{e.createShapes(i).setSelectedShapes(i.map(e=>e.id))})}var DebugPanel=React53.memo(function DebugPanel2({renderDebugMenuItems:e}){var t=useTranslation();return(0,import_jsx_runtime94.jsxs)(\\\"div\\\",{className:\\\"tlui-debug-panel\\\",children:[(0,import_jsx_runtime94.jsx)(CurrentState,{}),(0,import_jsx_runtime94.jsx)(ShapeCount,{}),(0,import_jsx_runtime94.jsxs)(Root,{id:\\\"debug\\\",children:[(0,import_jsx_runtime94.jsx)(Trigger,{children:(0,import_jsx_runtime94.jsx)(Button,{type:\\\"icon\\\",icon:\\\"dots-horizontal\\\",title:t(\\\"debug-panel.more\\\")})}),(0,import_jsx_runtime94.jsx)(Content,{side:\\\"top\\\",align:\\\"end\\\",alignOffset:0,children:(0,import_jsx_runtime94.jsx)(DebugMenuContent,{renderDebugMenuItems:e})})]})]})}),CurrentState=track(function CurrentState2(){var e=useEditor();return(0,import_jsx_runtime94.jsx)(\\\"div\\\",{className:\\\"tlui-debug-panel__current-state\\\",children:e.getPath()})}),ShapeCount=function ShapeCount2(){const e=useEditor();var t=useValue(\\\"rendering shapes count\\\",()=>e.getRenderingShapes().length,[e]);return(0,import_jsx_runtime94.jsxs)(\\\"div\\\",{children:[t,\\\" Shapes\\\"]})},DebugMenuContent=track(function DebugMenuContent2({renderDebugMenuItems:e}){const o=useEditor(),t=useToasts()[\\\"addToast\\\"],r=useDialogs()[\\\"addDialog\\\"],[i,n]=React53.useState(!1);return(0,import_jsx_runtime94.jsxs)(import_jsx_runtime94.Fragment,{children:[(0,import_jsx_runtime94.jsxs)(Group,{children:[(0,import_jsx_runtime94.jsx)(Item,{type:\\\"menu\\\",onClick:()=>{t({id:uniqueId(),title:\\\"Something happened\\\",description:\\\"Hey, attend to this thing over here. It might be important!\\\",keepOpen:!0}),t({id:uniqueId(),title:\\\"Something happened\\\",description:\\\"Hey, attend to this thing over here. It might be important!\\\",keepOpen:!0,actions:[{label:\\\"Primary\\\",type:\\\"primary\\\",onClick:()=>{}},{label:\\\"Normal\\\",type:\\\"normal\\\",onClick:()=>{}},{label:\\\"Danger\\\",type:\\\"danger\\\",onClick:()=>{}}]}),t({id:uniqueId(),title:\\\"Something happened\\\",description:\\\"Hey, attend to this thing over here. It might be important!\\\",keepOpen:!0,icon:\\\"twitter\\\",actions:[{label:\\\"Primary\\\",type:\\\"primary\\\",onClick:()=>{}},{label:\\\"Normal\\\",type:\\\"normal\\\",onClick:()=>{}},{label:\\\"Danger\\\",type:\\\"danger\\\",onClick:()=>{}}]})},label:untranslated(\\\"Show toast\\\")}),(0,import_jsx_runtime94.jsx)(Item,{type:\\\"menu\\\",onClick:()=>{r({component:({onClose:e})=>(0,import_jsx_runtime94.jsx)(ExampleDialog,{displayDontShowAgain:!0,onCancel:()=>{e()},onContinue:()=>{e()}}),onClose:()=>{}})},label:untranslated(\\\"Show dialog\\\")}),(0,import_jsx_runtime94.jsx)(Item,{type:\\\"menu\\\",onClick:()=>createNShapes(o,100),label:untranslated(\\\"Create 100 shapes\\\")}),(0,import_jsx_runtime94.jsx)(Item,{type:\\\"menu\\\",onClick:()=>{var e=o.getSelectedShapes(),e=0===e.length?o.getRenderingShapes():e,t=e.map(e=>document.getElementById(e.id).parentElement);let r=t.length;for(const n of t)r+=function i({children:e}){let t=0;if(!e.length)return 0;for(const r of[...e])t++,t+=i(r);return t}(n);window.alert(`Shapes ${e.length}, DOM nodes:`+r)},label:untranslated(\\\"Count shapes / nodes\\\")}),(()=>{if(i)throw Error(\\\"oh no!\\\")})(),(0,import_jsx_runtime94.jsx)(Item,{type:\\\"menu\\\",onClick:()=>{n(!0)},label:untranslated(\\\"Throw error\\\")}),(0,import_jsx_runtime94.jsx)(Item,{type:\\\"menu\\\",onClick:()=>{hardResetEditor()},label:untranslated(\\\"Hard reset\\\")})]}),(0,import_jsx_runtime94.jsxs)(Group,{children:[(0,import_jsx_runtime94.jsx)(DebugFlagToggle,{flag:debugFlags.debugSvg}),(0,import_jsx_runtime94.jsx)(DebugFlagToggle,{flag:debugFlags.forceSrgb}),(0,import_jsx_runtime94.jsx)(DebugFlagToggle,{flag:debugFlags.debugGeometry}),(0,import_jsx_runtime94.jsx)(DebugFlagToggle,{flag:debugFlags.hideShapes})]}),(0,import_jsx_runtime94.jsx)(Group,{children:Object.values(featureFlags).map(e=>(0,import_jsx_runtime94.jsx)(DebugFlagToggle,{flag:e},e.name))}),null==e?void 0:e()]})});function Toggle({label:e,value:t,onChange:r}){return(0,import_jsx_runtime94.jsx)(CheckboxItem,{title:untranslated(e),checked:t,onSelect:()=>r(!t),children:(0,import_jsx_runtime94.jsx)(\\\"span\\\",{className:\\\"tlui-button__label\\\",draggable:!1,children:e})})}var DebugFlagToggle=track(function DebugFlagToggle2({flag:t,onChange:r}){return(0,import_jsx_runtime94.jsx)(Toggle,{label:t.name.replace(/([a-z0-9])([A-Z])/g,e=>e[0]+\\\" \\\"+e[1].toLowerCase()).replace(/^[a-z]/,e=>e.toUpperCase()),value:t.get(),onChange:e=>{t.set(e),null!=r&&r(e)}})});function ExampleDialog({title:e=\\\"title\\\",body:t=\\\"hello hello hello\\\",cancel:r=\\\"Cancel\\\",confirm:i=\\\"Continue\\\",displayDontShowAgain:n=!1,onCancel:o,onContinue:a}){const[s,l]=React53.useState(!1);return(0,import_jsx_runtime94.jsxs)(import_jsx_runtime94.Fragment,{children:[(0,import_jsx_runtime94.jsxs)(Header,{children:[(0,import_jsx_runtime94.jsx)(Title,{children:e}),(0,import_jsx_runtime94.jsx)(CloseButton,{})]}),(0,import_jsx_runtime94.jsx)(Body,{style:{maxWidth:350},children:t}),(0,import_jsx_runtime94.jsxs)(Footer,{className:\\\"tlui-dialog__footer__actions\\\",children:[n&&(0,import_jsx_runtime94.jsx)(Button,{type:\\\"normal\\\",onClick:()=>l(!s),iconLeft:s?\\\"check\\\":\\\"checkbox-empty\\\",style:{marginRight:\\\"auto\\\"},children:\\\"Don't show again\\\"}),(0,import_jsx_runtime94.jsx)(Button,{type:\\\"normal\\\",onClick:o,children:r}),(0,import_jsx_runtime94.jsx)(Button,{type:\\\"primary\\\",onClick:async()=>a(),children:i})]})]})}init_esbuild_inject();var import_jsx_runtime95=require(\\\"react/jsx-runtime\\\"),import_react101=__toESM(require(\\\"react\\\"),1),Dialog=({id:t,component:e,onClose:r})=>{const i=useDialogs()[\\\"removeDialog\\\"];var n=useContainer();const o=(0,import_react101.useCallback)(e=>{if(!e){if(r)try{r()}catch(err){console.warn(err)}i(t)}},[t,r,i]);return(0,import_jsx_runtime95.jsx)($5d3850c4d0b4e6c7$export$be92b6f5f03c0fe9,{onOpenChange:o,defaultOpen:!0,children:(0,import_jsx_runtime95.jsx)($5d3850c4d0b4e6c7$export$602eac185826482c,{container:n,children:(0,import_jsx_runtime95.jsx)($5d3850c4d0b4e6c7$export$c6fdb837b070b4ff,{dir:\\\"ltr\\\",className:\\\"tlui-dialog__overlay\\\",children:(0,import_jsx_runtime95.jsx)($5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2,{dir:\\\"ltr\\\",className:\\\"tlui-dialog__content\\\",children:(0,import_jsx_runtime95.jsx)(e,{onClose:()=>o(!1)})})})})})};function _Dialogs(){var e=useDialogs()[\\\"dialogs\\\"];return(0,import_jsx_runtime95.jsx)(import_jsx_runtime95.Fragment,{children:e.map(e=>(0,import_jsx_runtime95.jsx)(Dialog,{...e},e.id))})}var Dialogs=import_react101[\\\"default\\\"].memo(_Dialogs),import_jsx_runtime96=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function FollowingIndicator(){const e=useEditor();var t=useValue(\\\"follow\\\",()=>e.getInstanceState().followingUserId,[e]);return t?(0,import_jsx_runtime96.jsx)(FollowingIndicatorInner,{userId:t}):null}function FollowingIndicatorInner({userId:e}){var t=usePresence(e);return t?(0,import_jsx_runtime96.jsx)(\\\"div\\\",{className:\\\"tlui-following-indicator\\\",style:{borderColor:t.color}}):null}init_esbuild_inject();var import_jsx_runtime98=require(\\\"react/jsx-runtime\\\"),React55=__toESM(require(\\\"react\\\"),1),import_jsx_runtime97=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react102=require(\\\"react\\\");function LanguageMenu(){const t=useEditor(),{languages:e,currentLanguage:r}=useLanguages(),i=(0,import_react102.useCallback)(e=>t.user.updateUserPreferences({locale:e}),[t]);return(0,import_jsx_runtime97.jsxs)(Sub,{id:\\\"help menu language\\\",children:[(0,import_jsx_runtime97.jsx)(SubTrigger,{label:\\\"menu.language\\\",\\\"data-direction\\\":\\\"left\\\"}),(0,import_jsx_runtime97.jsx)(SubContent,{sideOffset:-4,children:(0,import_jsx_runtime97.jsx)(Group,{children:e.map(({locale:e,label:t})=>(0,import_jsx_runtime97.jsx)(RadioItem,{title:e,checked:e===r,onSelect:()=>i(e),children:(0,import_jsx_runtime97.jsx)(\\\"span\\\",{className:\\\"tlui-button__label\\\",children:t})},e))})})]})}var HelpMenu=React55.memo(function HelpMenu2(){var e=useContainer(),t=useTranslation(),[r,i]=useMenuIsOpen(\\\"help menu\\\");return(0,import_jsx_runtime98.jsx)(\\\"div\\\",{className:\\\"tlui-help-menu\\\",children:(0,import_jsx_runtime98.jsxs)($d08ef79370b62062$export$be92b6f5f03c0fe9,{dir:\\\"ltr\\\",open:r,onOpenChange:i,modal:!1,children:[(0,import_jsx_runtime98.jsx)($d08ef79370b62062$export$41fb9f06171c75f4,{asChild:!0,dir:\\\"ltr\\\",children:(0,import_jsx_runtime98.jsx)(Button,{type:\\\"help\\\",className:\\\"tlui-button\\\",smallIcon:!0,title:t(\\\"help-menu.title\\\"),icon:\\\"question-mark\\\"})}),(0,import_jsx_runtime98.jsx)($d08ef79370b62062$export$602eac185826482c,{container:e,children:(0,import_jsx_runtime98.jsx)($d08ef79370b62062$export$7c6e2c02157bb7d2,{className:\\\"tlui-menu\\\",side:\\\"top\\\",sideOffset:8,align:\\\"end\\\",alignOffset:0,collisionPadding:4,children:(0,import_jsx_runtime98.jsx)(HelpMenuContent,{})})})]})})});function HelpMenuContent(){var e=useHelpMenuSchema();const a=useReadonly();return(0,import_jsx_runtime98.jsx)(import_jsx_runtime98.Fragment,{children:e.map(function s(e){if(!e)return null;if(a&&!e.readonlyOk)return null;switch(e.type){case\\\"custom\\\":if(\\\"LANGUAGE_MENU\\\"===e.id)return(0,import_jsx_runtime98.jsx)(LanguageMenu,{},\\\"item\\\");break;case\\\"group\\\":return(0,import_jsx_runtime98.jsx)(Group,{size:\\\"small\\\",children:e.children.map(s)},e.id);case\\\"submenu\\\":return(0,import_jsx_runtime98.jsxs)(Sub,{id:\\\"help menu \\\"+e.id,children:[(0,import_jsx_runtime98.jsx)(SubTrigger,{label:e.label}),(0,import_jsx_runtime98.jsx)(SubContent,{children:e.children.map(s)})]},e.id);case\\\"item\\\":{const{id:t,kbd:r,label:i,onSelect:n,icon:o}=e.actionItem;return(0,import_jsx_runtime98.jsx)(Item,{type:\\\"menu\\\",kbd:r,label:i,onClick:()=>n(\\\"help-menu\\\"),iconLeft:o},t)}}})})}init_esbuild_inject();var import_jsx_runtime109=require(\\\"react/jsx-runtime\\\"),import_jsx_runtime100=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react103=(init_esbuild_inject(),require(\\\"react\\\")),$cb5cc270b50c6fcd$var$POPOVER_NAME=\\\"Popover\\\",[$cb5cc270b50c6fcd$var$createPopoverContext,$cb5cc270b50c6fcd$export$c8393c9e73286932]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($cb5cc270b50c6fcd$var$POPOVER_NAME,[$cf1ac5d9fe0e8206$export$722aac194ae923]),$cb5cc270b50c6fcd$var$usePopperScope=$cf1ac5d9fe0e8206$export$722aac194ae923(),[$cb5cc270b50c6fcd$var$PopoverProvider,$cb5cc270b50c6fcd$var$usePopoverContext]=$cb5cc270b50c6fcd$var$createPopoverContext($cb5cc270b50c6fcd$var$POPOVER_NAME),$cb5cc270b50c6fcd$export$5b6b19405a83ff9d=e=>{var{__scopePopover:t,children:r,open:i,defaultOpen:n,onOpenChange:o,modal:a=!1}=e,s=$cb5cc270b50c6fcd$var$usePopperScope(t),l=(0,import_react103.useRef)(null);const[c,d]=(0,import_react103.useState)(!1),[u=!1,p]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:i,defaultProp:n,onChange:o});return(0,import_react103.createElement)($cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9,s,(0,import_react103.createElement)($cb5cc270b50c6fcd$var$PopoverProvider,{scope:t,contentId:$1746a345f3d73bb7$export$f680877a34711e37(),triggerRef:l,open:u,onOpenChange:p,onOpenToggle:(0,import_react103.useCallback)(()=>p(e=>!e),[p]),hasCustomAnchor:c,onCustomAnchorAdd:(0,import_react103.useCallback)(()=>d(!0),[]),onCustomAnchorRemove:(0,import_react103.useCallback)(()=>d(!1),[]),modal:a},r))},$cb5cc270b50c6fcd$var$TRIGGER_NAME=\\\"PopoverTrigger\\\",$cb5cc270b50c6fcd$export$7dacb05d26466c3=(0,import_react103.forwardRef)((e,t)=>{const{__scopePopover:r,...i}=e;var n=$cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$TRIGGER_NAME,r),o=$cb5cc270b50c6fcd$var$usePopperScope(r),a=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,n.triggerRef),a=(0,import_react103.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.button,_extends({type:\\\"button\\\",\\\"aria-haspopup\\\":\\\"dialog\\\",\\\"aria-expanded\\\":n.open,\\\"aria-controls\\\":n.contentId,\\\"data-state\\\":$cb5cc270b50c6fcd$var$getState(n.open)},i,{ref:a,onClick:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onClick,n.onOpenToggle)}));return n.hasCustomAnchor?a:(0,import_react103.createElement)($cf1ac5d9fe0e8206$export$b688253958b8dfe7,_extends({asChild:!0},o),a)}),$cb5cc270b50c6fcd$var$PORTAL_NAME=\\\"PopoverPortal\\\",[$cb5cc270b50c6fcd$var$PortalProvider,$cb5cc270b50c6fcd$var$usePortalContext]=$cb5cc270b50c6fcd$var$createPopoverContext($cb5cc270b50c6fcd$var$PORTAL_NAME,{forceMount:void 0}),$cb5cc270b50c6fcd$export$dd679ffb4362d2d4=e=>{var{__scopePopover:t,forceMount:r,children:i,container:n}=e,o=$cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$PORTAL_NAME,t);return(0,import_react103.createElement)($cb5cc270b50c6fcd$var$PortalProvider,{scope:t,forceMount:r},(0,import_react103.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:r||o.open},(0,import_react103.createElement)($f1701beae083dbae$export$602eac185826482c2,{asChild:!0,container:n},i)))},$cb5cc270b50c6fcd$var$CONTENT_NAME=\\\"PopoverContent\\\",$cb5cc270b50c6fcd$export$d7e1f420b25549ff=(0,import_react103.forwardRef)((e,t)=>{var r=$cb5cc270b50c6fcd$var$usePortalContext($cb5cc270b50c6fcd$var$CONTENT_NAME,e.__scopePopover);const{forceMount:i=r.forceMount,...n}=e;r=$cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME,e.__scopePopover);return(0,import_react103.createElement)($921a889cee6df7e8$export$99c2b779aa4e8b8b,{present:i||r.open},r.modal?(0,import_react103.createElement)($cb5cc270b50c6fcd$var$PopoverContentModal,_extends({},n,{ref:t})):(0,import_react103.createElement)($cb5cc270b50c6fcd$var$PopoverContentNonModal,_extends({},n,{ref:t})))}),$cb5cc270b50c6fcd$var$PopoverContentModal=(0,import_react103.forwardRef)((e,t)=>{const r=$cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME,e.__scopePopover),i=(0,import_react103.useRef)(null);var n=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,i);const o=(0,import_react103.useRef)(!1);return(0,import_react103.useEffect)(()=>{var e=i.current;if(e)return hideOthers(e)},[]),(0,import_react103.createElement)(Combination_default,{as:$5e63c961fc1ce211$export$8c6ed5c666ac1360,allowPinchZoom:!0},(0,import_react103.createElement)($cb5cc270b50c6fcd$var$PopoverContentImpl,_extends({},e,{ref:n,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),o.current||null!=(t=r.triggerRef.current)&&t.focus()}),onPointerDownOutside:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerDownOutside,e=>{var t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey,t=2===t.button||r;o.current=t},{checkForDefaultPrevented:!1}),onFocusOutside:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})))}),$cb5cc270b50c6fcd$var$PopoverContentNonModal=(0,import_react103.forwardRef)((i,e)=>{const n=$cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME,i.__scopePopover),o=(0,import_react103.useRef)(!1),a=(0,import_react103.useRef)(!1);return(0,import_react103.createElement)($cb5cc270b50c6fcd$var$PopoverContentImpl,_extends({},i,{ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:e=>{var t;null!=(t=i.onCloseAutoFocus)&&t.call(i,e),e.defaultPrevented||(o.current||null!=(t=n.triggerRef.current)&&t.focus(),e.preventDefault()),o.current=!1,a.current=!1},onInteractOutside:e=>{null!=(r=i.onInteractOutside)&&r.call(i,e),e.defaultPrevented||(o.current=!0,\\\"pointerdown\\\"===e.detail.originalEvent.type&&(a.current=!0));var t,r=e.target;(null==(t=n.triggerRef.current)?void 0:t.contains(r))&&e.preventDefault(),\\\"focusin\\\"===e.detail.originalEvent.type&&a.current&&e.preventDefault()}}))}),$cb5cc270b50c6fcd$var$PopoverContentImpl=(0,import_react103.forwardRef)((e,t)=>{const{__scopePopover:r,trapFocus:i,onOpenAutoFocus:n,onCloseAutoFocus:o,disableOutsidePointerEvents:a,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:c,onInteractOutside:d,...u}=e,p=$cb5cc270b50c6fcd$var$usePopoverContext($cb5cc270b50c6fcd$var$CONTENT_NAME,r);var h=$cb5cc270b50c6fcd$var$usePopperScope(r);return $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c(),(0,import_react103.createElement)($d3863c46a17e8a28$export$20e40289641fbbb6,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:n,onUnmountAutoFocus:o},(0,import_react103.createElement)($5cb92bef7577960e$export$177fb62ff3ec1f222,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:d,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:c,onDismiss:()=>p.onOpenChange(!1)},(0,import_react103.createElement)($cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2,_extends({\\\"data-state\\\":$cb5cc270b50c6fcd$var$getState(p.open),role:\\\"dialog\\\",id:p.contentId},h,u,{ref:t,style:{...u.style,\\\"--radix-popover-content-transform-origin\\\":\\\"var(--radix-popper-transform-origin)\\\",\\\"--radix-popover-content-available-width\\\":\\\"var(--radix-popper-available-width)\\\",\\\"--radix-popover-content-available-height\\\":\\\"var(--radix-popper-available-height)\\\",\\\"--radix-popover-trigger-width\\\":\\\"var(--radix-popper-anchor-width)\\\",\\\"--radix-popover-trigger-height\\\":\\\"var(--radix-popper-anchor-height)\\\"}}))))});function $cb5cc270b50c6fcd$var$getState(e){return e?\\\"open\\\":\\\"closed\\\"}var $cb5cc270b50c6fcd$export$be92b6f5f03c0fe9=$cb5cc270b50c6fcd$export$5b6b19405a83ff9d,$cb5cc270b50c6fcd$export$41fb9f06171c75f4=$cb5cc270b50c6fcd$export$7dacb05d26466c3,$cb5cc270b50c6fcd$export$602eac185826482c=$cb5cc270b50c6fcd$export$dd679ffb4362d2d4,$cb5cc270b50c6fcd$export$7c6e2c02157bb7d2=$cb5cc270b50c6fcd$export$d7e1f420b25549ff,import_react104=require(\\\"react\\\"),import_jsx_runtime99=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),Popover=({id:e,children:t,onOpenChange:r,open:i})=>{var[n,o]=useMenuIsOpen(e,r);return(0,import_jsx_runtime99.jsx)($cb5cc270b50c6fcd$export$be92b6f5f03c0fe9,{onOpenChange:o,open:i||n,children:(0,import_jsx_runtime99.jsx)(\\\"div\\\",{className:\\\"tlui-popover\\\",children:t})})},PopoverTrigger=({children:e,disabled:t,\\\"data-testid\\\":r})=>(0,import_jsx_runtime99.jsx)($cb5cc270b50c6fcd$export$41fb9f06171c75f4,{\\\"data-testid\\\":r,disabled:t,asChild:!0,dir:\\\"ltr\\\",children:e}),PopoverContent=({side:e,children:t,align:r=\\\"center\\\",sideOffset:i=8,alignOffset:n=0})=>{var o=useContainer();return(0,import_jsx_runtime99.jsx)($cb5cc270b50c6fcd$export$602eac185826482c,{container:o,children:(0,import_jsx_runtime99.jsx)($cb5cc270b50c6fcd$export$7c6e2c02157bb7d2,{className:\\\"tlui-popover__content\\\",side:e,sideOffset:i,align:r,alignOffset:n,dir:\\\"ltr\\\",children:t})})},ActionsMenu=(0,import_react104.memo)(function ActionsMenu2(){const a=useTranslation();var e=useContainer(),t=useActionsMenuSchema();const s=useReadonly();return(0,import_jsx_runtime100.jsxs)(Popover,{id:\\\"actions-menu\\\",children:[(0,import_jsx_runtime100.jsx)(PopoverTrigger,{children:(0,import_jsx_runtime100.jsx)(Button,{className:\\\"tlui-menu__trigger\\\",\\\"data-testid\\\":\\\"main.action-menu\\\",icon:\\\"dots-vertical\\\",title:a(\\\"actions-menu.title\\\"),type:\\\"icon\\\",smallIcon:!0})}),(0,import_jsx_runtime100.jsx)($cb5cc270b50c6fcd$export$602eac185826482c,{container:e,children:(0,import_jsx_runtime100.jsx)($cb5cc270b50c6fcd$export$7c6e2c02157bb7d2,{className:\\\"tlui-popover__content\\\",side:\\\"bottom\\\",dir:\\\"ltr\\\",sideOffset:6,children:(0,import_jsx_runtime100.jsx)(\\\"div\\\",{className:\\\"tlui-actions-menu tlui-buttons__grid\\\",children:t.map(function(e){if(!e)return null;if(s&&!e.readonlyOk)return null;if(\\\"item\\\"===e.type){const{id:t,icon:r,label:i,kbd:n,onSelect:o}=e.actionItem;return(0,import_jsx_runtime100.jsx)(Button,{\\\"data-testid\\\":\\\"menu-item.\\\"+e.id,icon:r,type:\\\"icon\\\",title:i?n?a(i)+\\\" \\\"+kbdStr(n):\\\"\\\"+a(i):n?\\\"\\\"+kbdStr(n):\\\"\\\",onClick:()=>o(\\\"actions-menu\\\"),disabled:e.disabled},t)}})})})})]})}),import_jsx_runtime101=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),DuplicateButton=track(function DuplicateButton2(){var e=useEditor(),t=useActions(),r=useTranslation();const i=t.duplicate;return(0,import_jsx_runtime101.jsx)(Button,{icon:i.icon,type:\\\"icon\\\",onClick:()=>i.onSelect(\\\"quick-actions\\\"),disabled:!(e.isIn(\\\"select\\\")&&0\u003Ce.getSelectedShapeIds().length),title:r(i.label)+\\\" \\\"+kbdStr(i.kbd),smallIcon:!0})}),import_jsx_runtime102=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),React56=__toESM(require(\\\"react\\\"),1),Menu=React56.memo(function Menu2(){var e=useTranslation();return(0,import_jsx_runtime102.jsxs)(Root,{id:\\\"main menu\\\",children:[(0,import_jsx_runtime102.jsx)(Trigger,{children:(0,import_jsx_runtime102.jsx)(Button,{type:\\\"icon\\\",className:\\\"tlui-menu__trigger\\\",\\\"data-testid\\\":\\\"main.menu\\\",title:e(\\\"menu.title\\\"),icon:\\\"menu\\\",smallIcon:!0})}),(0,import_jsx_runtime102.jsx)(Content,{alignOffset:0,sideOffset:6,children:(0,import_jsx_runtime102.jsx)(MenuContent,{})})]})});function MenuContent(){const t=useEditor(),h=useTranslation();var e=useMenuSchema();const m=useBreakpoint(),g=useReadonly();return(0,import_jsx_runtime102.jsx)(import_jsx_runtime102.Fragment,{children:e.map(e=>function p(t,r,e,i){if(!r)return null;switch(r.type){case\\\"custom\\\":return g&&!r.readonlyOk||\\\"LANGUAGE_MENU\\\"!==r.id?null:(0,import_jsx_runtime102.jsx)(LanguageMenu,{},\\\"item\\\");case\\\"group\\\":return g&&!r.readonlyOk?null:(0,import_jsx_runtime102.jsx)(Group,{size:i\u003C=1||!(m\u003C3||\\\"submenu\\\"===(null==e?void 0:e.type)&&2\u003Ci)?\\\"medium\\\":\\\"tiny\\\",children:r.children.map(e=>p(t,e,r,i+1))},r.id);case\\\"submenu\\\":return g&&!r.readonlyOk?null:(0,import_jsx_runtime102.jsxs)(Sub,{id:\\\"main menu \\\"+(e?e.id+\\\" \\\":\\\"\\\")+r.id,children:[(0,import_jsx_runtime102.jsx)(SubTrigger,{label:r.label,\\\"data-testid\\\":\\\"menu-item.\\\"+r.id}),(0,import_jsx_runtime102.jsx)(SubContent,{sideOffset:-4,alignOffset:-1,children:r.children.map(e=>p(t,e,r,i+1))})]},r.id);case\\\"item\\\":{if(g&&!r.readonlyOk)return null;const{id:a,checkbox:s,menuLabel:l,label:c,onSelect:d,kbd:u}=r.actionItem;var n=null!=l?l:c,o=n?h(n):void 0;return s?(0,import_jsx_runtime102.jsxs)(CheckboxItem,{onSelect:()=>d(\\\"menu\\\"),title:o||\\\"\\\",checked:r.checked,disabled:r.disabled,children:[o&&(0,import_jsx_runtime102.jsx)(\\\"span\\\",{className:\\\"tlui-button__label\\\",children:o}),u&&(0,import_jsx_runtime102.jsx)(Kbd,{children:u})]},a):(0,import_jsx_runtime102.jsx)(Item,{type:\\\"menu\\\",\\\"data-testid\\\":\\\"menu-item.\\\"+r.id,kbd:u,label:n,onClick:()=>d(\\\"menu\\\"),disabled:r.disabled},a)}}}(t,e,null,0))})}init_esbuild_inject();var import_jsx_runtime105=require(\\\"react/jsx-runtime\\\"),import_react107=require(\\\"react\\\"),import_jsx_runtime103=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react105=require(\\\"react\\\"),PageItemInput=function PageItemInput2({name:e,id:t,isCurrentPage:r}){const i=useEditor(),n=(0,import_react105.useRef)(null);var o=(0,import_react105.useCallback)(e=>{i.renamePage(t,e||\\\"New Page\\\",{ephemeral:!0})},[i,t]),a=(0,import_react105.useCallback)(e=>{i.mark(\\\"rename page\\\"),i.renamePage(t,e||\\\"New Page\\\",{ephemeral:!1})},[i,t]);return(0,import_jsx_runtime103.jsx)(Input,{className:\\\"tlui-page-menu__item__input\\\",ref:e=>n.current=e,defaultValue:e,onValueChange:o,onComplete:a,onCancel:a,shouldManuallyMaintainScrollPositionWhenFocused:!0,autofocus:r,autoselect:!0})},import_jsx_runtime104=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react106=require(\\\"react\\\"),onMovePage=(init_esbuild_inject(),(e,t,r,i)=>{let n;var o=e.getPages(),a=i\u003Cr?o[i-1]:o[i],s=i\u003Cr?o[i]:o[i+1];(n=a&&!s?getIndexAbove(a.index):!a&&s?getIndexBelow(o[0].index):getIndexBetween(a.index,s.index))!==o[r].index&&(e.mark(\\\"moving page\\\"),e.updatePage({id:t,index:n}))}),PageItemSubmenu=track(function PageItemSubmenu2({index:e,listSize:t,item:r,onRename:i}){const n=useEditor();var o=useTranslation(),a=n.getPages(),s=(0,import_react106.useCallback)(()=>{n.mark(\\\"creating page\\\");var e=PageRecordType.createId();n.duplicatePage(r.id,e)},[n,r]),l=(0,import_react106.useCallback)(()=>{onMovePage(n,r.id,e,e-1)},[n,r,e]),c=(0,import_react106.useCallback)(()=>{onMovePage(n,r.id,e,e+1)},[n,r,e]),d=(0,import_react106.useCallback)(()=>{n.mark(\\\"deleting page\\\"),n.deletePage(r.id)},[n,r]);return(0,import_jsx_runtime104.jsxs)(Root,{id:\\\"page item submenu \\\"+e,children:[(0,import_jsx_runtime104.jsx)(Trigger,{children:(0,import_jsx_runtime104.jsx)(Button,{type:\\\"icon\\\",title:o(\\\"page-menu.submenu.title\\\"),icon:\\\"dots-vertical\\\"})}),(0,import_jsx_runtime104.jsxs)(Content,{alignOffset:0,children:[(0,import_jsx_runtime104.jsxs)(Group,{children:[i&&(0,import_jsx_runtime104.jsx)($d08ef79370b62062$export$6d08773d2e66f8f2,{dir:\\\"ltr\\\",onSelect:i,asChild:!0,children:(0,import_jsx_runtime104.jsx)(Button,{type:\\\"menu\\\",label:\\\"page-menu.submenu.rename\\\"})}),(0,import_jsx_runtime104.jsx)($d08ef79370b62062$export$6d08773d2e66f8f2,{dir:\\\"ltr\\\",onSelect:s,disabled:a.length>=MAX_PAGES,asChild:!0,children:(0,import_jsx_runtime104.jsx)(Button,{type:\\\"menu\\\",label:\\\"page-menu.submenu.duplicate-page\\\"})}),0\u003Ce&&(0,import_jsx_runtime104.jsx)($d08ef79370b62062$export$6d08773d2e66f8f2,{dir:\\\"ltr\\\",onSelect:l,asChild:!0,children:(0,import_jsx_runtime104.jsx)(Button,{type:\\\"menu\\\",label:\\\"page-menu.submenu.move-up\\\"})}),e\u003Ct-1&&(0,import_jsx_runtime104.jsx)($d08ef79370b62062$export$6d08773d2e66f8f2,{dir:\\\"ltr\\\",onSelect:c,asChild:!0,children:(0,import_jsx_runtime104.jsx)(Button,{type:\\\"menu\\\",label:\\\"page-menu.submenu.move-down\\\"})})]}),1\u003Ct&&(0,import_jsx_runtime104.jsx)(Group,{children:(0,import_jsx_runtime104.jsx)($d08ef79370b62062$export$6d08773d2e66f8f2,{dir:\\\"ltr\\\",onSelect:d,asChild:!0,children:(0,import_jsx_runtime104.jsx)(Button,{type:\\\"menu\\\",label:\\\"page-menu.submenu.delete\\\"})})})]})]})}),PageMenu=function PageMenu2(){const n=useEditor(),i=useTranslation(),o=useBreakpoint();const[e,t]=useMenuIsOpen(\\\"page-menu\\\",(0,import_react107.useCallback)(()=>h(!1),[])),r=(0,import_react107.useRef)(null),d=useValue(\\\"pages\\\",()=>n.getPages(),[n]),a=useValue(\\\"currentPage\\\",()=>n.getCurrentPage(),[n]),s=useValue(\\\"currentPageId\\\",()=>n.getCurrentPageId(),[n]),l=useReadonly();var c=useValue(\\\"maxPageCountReached\\\",()=>n.getPages().length>=MAX_PAGES,[n]);const u=useValue(\\\"isCoarsePointer\\\",()=>n.getInstanceState().isCoarsePointer,[n]),[p,h]=(0,import_react107.useState)(!1),m=(0,import_react107.useCallback)(()=>{l||h(e=>!e)},[l]),g=(0,import_react107.useRef)({isPointing:!1,status:\\\"idle\\\",pointing:null,startY:0,startIndex:0,dragIndex:0}),[_,f]=(0,import_react107.useState)(Object.fromEntries(d.map((e,t)=>[e.id,{y:36*t,offsetY:0,isSelected:!1}]))),b=((0,import_react107.useLayoutEffect)(()=>{f(Object.fromEntries(d.map((e,t)=>[e.id,{y:36*t,offsetY:0,isSelected:!1}])))},[36,d]),(0,import_react107.useEffect)(()=>{e&&requestAnimationFrame(()=>{var e,t=document.querySelector(`[data-testid=\\\"page-menu-item-${s}\\\"]`);t&&(e=r.current)&&((t=t.offsetTop)\u003Ce.scrollTop&&e.scrollTo({top:t}),e.scrollTop+e.offsetHeight\u003C(t=t+36))&&e.scrollTo({top:t-e.offsetHeight})})},[36,s,e]),(0,import_react107.useCallback)(e=>{var t,{clientY:r,currentTarget:i}=e,{id:i,index:n}=i[\\\"dataset\\\"];i&&n&&(t=g.current,setPointerCapture(e.currentTarget,e),t.status=\\\"pointing\\\",t.pointing={id:i,index:+n},n=_[i].y,t.startY=r,t.startIndex=Math.max(0,Math.min(Math.round(n/36),d.length-1)))},[36,d.length,_])),v=(0,import_react107.useCallback)(e=>{var r=g.current;if(\\\"pointing\\\"===r.status&&(t=e[\\\"clientY\\\"],t=t-r.startY,5\u003CMath.abs(t))&&(r.status=\\\"dragging\\\"),\\\"dragging\\\"===r.status){var t=e[\\\"clientY\\\"],t=t-r.startY,i=_[r.pointing.id],{startIndex:n,pointing:o}=r,a=i.y+t,s=Math.max(0,Math.min(Math.round(a/36),d.length-1)),l={..._};if(l[o.id]={y:i.y,offsetY:t,isSelected:!0},s!==r.dragIndex){r.dragIndex=s;for(let t=0;t\u003Cd.length;t++){var c=d[t];if(c.id!==r.pointing.id){let e=l[c.id][\\\"y\\\"];s===n?e=36*t:s\u003Cn?e=s\u003C=t&&t\u003Cn?36*(t+1):36*t:n\u003Cs&&(e=s>=t&&t>n?36*(t-1):36*t),e!==l[c.id].y&&(l[c.id]={y:e,offsetY:0,isSelected:!0})}}}f(l)}},[36,d,_]),y=(0,import_react107.useCallback)(e=>{var t,r,i=g.current;\\\"dragging\\\"===i.status&&(({id:t,index:r}=i.pointing),onMovePage(n,t,r,i.dragIndex)),releasePointerCapture(e.currentTarget,e),i.status=\\\"idle\\\"},[n]),S=(0,import_react107.useCallback)(e=>{var t=g.current;\\\"Escape\\\"===e.key&&(\\\"dragging\\\"===t.status&&f(Object.fromEntries(d.map((e,t)=>[e.id,{y:36*t,offsetY:0,isSelected:!1}]))),t.status=\\\"idle\\\")},[36,d]);var x=(0,import_react107.useCallback)(()=>{l||n.batch(()=>{n.mark(\\\"creating page\\\");var e=PageRecordType.createId();n.createPage({name:i(\\\"page-menu.new-page-initial-name\\\"),id:e}),n.setCurrentPage(e),h(!0)})},[n,i,l]);return(0,import_jsx_runtime105.jsxs)(Popover,{id:\\\"pages\\\",onOpenChange:t,open:e,children:[(0,import_jsx_runtime105.jsx)(PopoverTrigger,{children:(0,import_jsx_runtime105.jsx)(Button,{className:\\\"tlui-page-menu__trigger tlui-menu__trigger\\\",\\\"data-testid\\\":\\\"main.page-menu\\\",icon:\\\"chevron-down\\\",type:\\\"menu\\\",title:a.name,children:(0,import_jsx_runtime105.jsx)(\\\"div\\\",{className:\\\"tlui-page-menu__name\\\",children:a.name})})}),(0,import_jsx_runtime105.jsx)(PopoverContent,{side:\\\"bottom\\\",align:\\\"start\\\",sideOffset:6,children:(0,import_jsx_runtime105.jsxs)(\\\"div\\\",{className:\\\"tlui-page-menu__wrapper\\\",children:[(0,import_jsx_runtime105.jsxs)(\\\"div\\\",{className:\\\"tlui-page-menu__header\\\",children:[(0,import_jsx_runtime105.jsx)(\\\"div\\\",{className:\\\"tlui-page-menu__header__title\\\",children:i(\\\"page-menu.title\\\")}),!l&&(0,import_jsx_runtime105.jsxs)(\\\"div\\\",{className:\\\"tlui-buttons__horizontal\\\",children:[(0,import_jsx_runtime105.jsx)(Button,{type:\\\"icon\\\",\\\"data-testid\\\":\\\"page-menu.edit\\\",title:i(p?\\\"page-menu.edit-done\\\":\\\"page-menu.edit-start\\\"),icon:p?\\\"check\\\":\\\"edit\\\",onClick:m}),(0,import_jsx_runtime105.jsx)(Button,{type:\\\"icon\\\",\\\"data-testid\\\":\\\"page-menu.create\\\",icon:\\\"plus\\\",title:i(c?\\\"page-menu.max-page-count-reached\\\":\\\"page-menu.create-new-page\\\"),disabled:c,onClick:x})]})]}),(0,import_jsx_runtime105.jsx)(\\\"div\\\",{className:\\\"tlui-page-menu__list tlui-menu__group\\\",style:{height:36*d.length+4},ref:r,children:d.map((t,e)=>{var r=null!=(r=_[t.id])?r:{position:40*e,offsetY:0};return p?(0,import_jsx_runtime105.jsxs)(\\\"div\\\",{\\\"data-testid\\\":\\\"page-menu-item-\\\"+t.id,className:\\\"tlui-page_menu__item__sortable\\\",style:{zIndex:t.id===a.id?888:e,transform:`translate(0px, ${r.y+r.offsetY}px)`},children:[(0,import_jsx_runtime105.jsx)(Button,{type:\\\"icon\\\",tabIndex:-1,className:\\\"tlui-page_menu__item__sortable__handle\\\",icon:\\\"drag-handle-dots\\\",onPointerDown:b,onPointerUp:y,onPointerMove:v,onKeyDown:S,\\\"data-id\\\":t.id,\\\"data-index\\\":e}),o\u003C5&&u?(0,import_jsx_runtime105.jsx)(Button,{type:\\\"normal\\\",className:\\\"tlui-page-menu__item__button\\\",onClick:()=>{var e=window.prompt(\\\"Rename page\\\",t.name);e&&e!==t.name&&n.renamePage(t.id,e)},onDoubleClick:m,isChecked:t.id===a.id,children:(0,import_jsx_runtime105.jsx)(\\\"span\\\",{children:t.name})}):(0,import_jsx_runtime105.jsx)(\\\"div\\\",{className:\\\"tlui-page_menu__item__sortable__title\\\",style:{height:36},children:(0,import_jsx_runtime105.jsx)(PageItemInput,{id:t.id,name:t.name,isCurrentPage:t.id===a.id})}),!l&&(0,import_jsx_runtime105.jsx)(\\\"div\\\",{className:\\\"tlui-page_menu__item__submenu\\\",\\\"data-isediting\\\":p,children:(0,import_jsx_runtime105.jsx)(PageItemSubmenu,{index:e,item:t,listSize:d.length})})]},t.id+\\\"_editing\\\"):(0,import_jsx_runtime105.jsxs)(\\\"div\\\",{\\\"data-testid\\\":\\\"page-menu-item-\\\"+t.id,className:\\\"tlui-page-menu__item\\\",children:[(0,import_jsx_runtime105.jsxs)(Button,{type:\\\"normal\\\",className:\\\"tlui-page-menu__item__button tlui-page-menu__item__button__checkbox\\\",onClick:()=>n.setCurrentPage(t.id),onDoubleClick:m,isChecked:t.id===a.id,title:i(\\\"page-menu.go-to-page\\\"),children:[(0,import_jsx_runtime105.jsx)(\\\"div\\\",{className:\\\"tlui-page-menu__item__button__check\\\",children:t.id===a.id&&(0,import_jsx_runtime105.jsx)(Icon,{icon:\\\"check\\\"})}),(0,import_jsx_runtime105.jsx)(\\\"span\\\",{children:t.name})]}),!l&&(0,import_jsx_runtime105.jsx)(\\\"div\\\",{className:\\\"tlui-page_menu__item__submenu\\\",children:(0,import_jsx_runtime105.jsx)(PageItemSubmenu,{index:e,item:t,listSize:d.length,onRename:()=>{var e;n.environment.isIos?(e=window.prompt(\\\"Rename page\\\",t.name))&&e!==t.name&&n.renamePage(t.id,e):n.batch(()=>{h(!0),n.setCurrentPage(t.id)})}})})]},t.id)})})]})})]})},import_jsx_runtime106=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react108=require(\\\"react\\\"),RedoButton=(0,import_react108.memo)(function RedoButton2(){var e=useTranslation(),t=useCanRedo();const r=useActions().redo;return(0,import_jsx_runtime106.jsx)(Button,{\\\"data-testid\\\":\\\"main.redo\\\",icon:r.icon,type:\\\"icon\\\",title:e(r.label)+\\\" \\\"+kbdStr(r.kbd),disabled:!t,onClick:()=>r.onSelect(\\\"quick-actions\\\"),smallIcon:!0})}),import_jsx_runtime107=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),TrashButton=track(function TrashButton2(){const e=useEditor();var t=useActions(),r=useTranslation();const i=t[\\\"delete\\\"];return useReadonly()?null:(0,import_jsx_runtime107.jsx)(Button,{icon:i.icon,type:\\\"icon\\\",onClick:()=>{i.onSelect(\\\"quick-actions\\\"),e.getContainer().focus()},disabled:!(e.isIn(\\\"select\\\")&&0\u003Ce.getSelectedShapeIds().length),title:r(i.label)+\\\" \\\"+kbdStr(i.kbd),smallIcon:!0})}),import_jsx_runtime108=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react109=require(\\\"react\\\"),UndoButton=(0,import_react109.memo)(function UndoButton2(){var e=useTranslation(),t=useCanUndo();const r=useActions().undo;return(0,import_jsx_runtime108.jsx)(Button,{\\\"data-testid\\\":\\\"main.undo\\\",icon:r.icon,type:\\\"icon\\\",title:e(r.label)+\\\" \\\"+kbdStr(r.kbd),disabled:!t,onClick:()=>r.onSelect(\\\"quick-actions\\\"),smallIcon:!0})}),MenuZone=track(function MenuZone2(){var e=useEditor(),t=useBreakpoint(),r=useReadonly();return(0,import_jsx_runtime109.jsx)(\\\"div\\\",{className:\\\"tlui-menu-zone\\\",children:(0,import_jsx_runtime109.jsxs)(\\\"div\\\",{className:\\\"tlui-buttons__horizontal\\\",children:[(0,import_jsx_runtime109.jsx)(Menu,{}),(0,import_jsx_runtime109.jsx)(PageMenu,{}),6\u003C=t&&!r&&!e.isInAny(\\\"hand\\\",\\\"zoom\\\")&&(0,import_jsx_runtime109.jsxs)(import_jsx_runtime109.Fragment,{children:[(0,import_jsx_runtime109.jsx)(UndoButton,{}),(0,import_jsx_runtime109.jsx)(RedoButton,{}),(0,import_jsx_runtime109.jsx)(TrashButton,{}),(0,import_jsx_runtime109.jsx)(DuplicateButton,{}),(0,import_jsx_runtime109.jsx)(ActionsMenu,{})]})]})})}),import_jsx_runtime112=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react111=require(\\\"react\\\"),import_react110=(init_esbuild_inject(),__toESM(require(\\\"react\\\"),1));function useLocalStorageState(i,e){const[t,n]=import_react110[\\\"default\\\"].useState(e);return import_react110[\\\"default\\\"].useLayoutEffect(()=>{var e=localStorage.getItem(i);if(e)try{n(JSON.parse(e))}catch(t){console.error(`Could not restore value ${i} from local storage.`)}},[i]),[t,import_react110[\\\"default\\\"].useCallback(r=>{n(e=>{var t=\\\"function\\\"==typeof r?r(e):r;return localStorage.setItem(i,JSON.stringify(t)),t})},[i])]}init_esbuild_inject();var import_jsx_runtime110=require(\\\"react/jsx-runtime\\\"),React58=__toESM(require(\\\"react\\\"),1),MinimapManager=(init_esbuild_inject(),class{constructor(e){__publicField(this,\\\"dpr\\\",1),__publicField(this,\\\"colors\\\",{shapeFill:\\\"rgba(144, 144, 144, .1)\\\",selectFill:\\\"#2f80ed\\\",viewportFill:\\\"rgba(144, 144, 144, .1)\\\"}),__publicField(this,\\\"id\\\",uniqueId()),__publicField(this,\\\"cvs\\\",null),__publicField(this,\\\"pageBounds\\\",[]),__publicField(this,\\\"collaborators\\\",[]),__publicField(this,\\\"canvasScreenBounds\\\",new Box),__publicField(this,\\\"canvasPageBounds\\\",new Box),__publicField(this,\\\"contentPageBounds\\\",new Box),__publicField(this,\\\"contentScreenBounds\\\",new Box),__publicField(this,\\\"originPagePoint\\\",new Vec),__publicField(this,\\\"originPageCenter\\\",new Vec),__publicField(this,\\\"isInViewport\\\",!1),__publicField(this,\\\"debug\\\",!1),__publicField(this,\\\"updateContentScreenBounds\\\",()=>{var e,{contentScreenBounds:t,contentPageBounds:r,canvasScreenBounds:i}=this;let{x:n,y:o,w:a,h:s}=t;s=r.w>r.h?(e=i.w/(r.w/r.h))>i.h?(n=(i.w-i.w*(i.h/e))/2,o=0,a=i.w*(i.h/e),i.h):(n=0,o=(i.h-e)/2,a=i.w,e):(a=r.w\u003Cr.h?(e=i.h/(r.h/r.w),n=(i.w-e)/2,o=0,e):(n=i.h/2,o=0,i.h),i.h),t.set(n,o,a,s)}),__publicField(this,\\\"updateCanvasPageBounds\\\",()=>{var{canvasPageBounds:e,canvasScreenBounds:t,contentPageBounds:r,contentScreenBounds:i}=this;e.set(0,0,r.width/(i.width/t.width),r.height/(i.height/t.height)),e.center=r.center}),__publicField(this,\\\"getScreenPoint\\\",(e,t)=>{var r=this[\\\"canvasScreenBounds\\\"];return{x:(e-r.minX)*this.dpr,y:(t-r.minY)*this.dpr}}),__publicField(this,\\\"getPagePoint\\\",(e,t)=>{var{contentPageBounds:r,contentScreenBounds:i,canvasPageBounds:n}=this,{x:o,y:a}=this.getScreenPoint(e,t);return new Vec(n.minX+o*r.width/i.width,n.minY+a*r.height/i.height,1)}),__publicField(this,\\\"minimapScreenPointToPagePoint\\\",(e,t,r=!1,i=!1)=>{var n,o,a,s,l,c,d,u,p=this[\\\"editor\\\"],p=p.getViewportPageBounds();let{x:h,y:m}=this.getPagePoint(e,t);return i&&(p=(null!=(c=null==(a=this.editor.getCurrentPageBounds())?void 0:a.minX)?c:0)-(c=p).width/2,n=(null!=(n=null==a?void 0:a.maxX)?n:0)+c.width/2,o=(null!=(o=null==a?void 0:a.minY)?o:0)-c.height/2,a=(null!=(a=null==a?void 0:a.maxY)?a:0)+c.height/2,l=Math.max(0,p+c.width-h),s=Math.max(0,-(n-c.width-h)),d=Math.max(0,o+c.height-m),c=Math.max(0,-(a-c.height-m)),u=Math.max(0,l-s),s=Math.max(0,s-l),l=Math.max(0,d-c),c=Math.max(0,c-d),u&&s\u003Cu?h+=u/2:s&&(h-=s/2),l&&c\u003Cl?m+=l/2:c&&(m-=c/2),h=clamp(h,p,n),m=clamp(m,o,a)),r&&(d=this[\\\"originPagePoint\\\"],u=Math.abs(h-d.x),Math.abs(m-d.y)\u003Cu?m=d.y:h=d.x),new Vec(h,m)}),__publicField(this,\\\"render\\\",()=>{var{cvs:i,pageBounds:n}=this,{editor:o,canvasScreenBounds:a,canvasPageBounds:s,contentPageBounds:l,contentScreenBounds:c}=(this.updateCanvasPageBounds(),this),{width:a,height:d}=a,u=o.getSelectedShapeIds(),p=o.getViewportPageBounds();if(i&&n){var h=i.getContext(\\\"2d\\\");if(!h)throw new Error(\\\"Minimap (shapes): Could not get context\\\");h.resetTransform(),h.globalAlpha=1,h.clearRect(0,0,a,d);var m,g=c.width/l.width,_=c.height/l.height,f=(h.translate((a-c.width)/2,(d-c.height)/2),h.scale(g,_),h.translate(-l.minX,-l.minY),8/g),b=8/g,v=1/g,y=1/g,S=f/4,x=b/4,w=new Path2D,$=new Path2D,{shapeFill:i,selectFill:a,viewportFill:d}=this.colors;for(let e=0,t=n.length;e\u003Ct;e++)m=n[e],MinimapManager.roundedRect(u.includes(m.id)?$:w,m.minX,m.minY,m.width,m.height,clamp(f,v,m.width/S),clamp(b,y,m.height/x));h.fillStyle=i,h.fill(w),h.fillStyle=a,h.fill($),this.debug&&(({minX:c,minY:i,width:a,height:P}=Box.Common(n)),h.strokeStyle=\\\"green\\\",h.lineWidth=2/g,h.strokeRect(c+1/g,i+1/_,a-2/g,P-2/_));var E,c=o.getInstanceState()[\\\"brush\\\"],{minX:i,minY:a,width:P,height:c}=(c&&(({x:i,y:a,w:P,h:c}=c),h.beginPath(),MinimapManager.sharpRect(h,i,a,P,c),h.closePath(),h.fillStyle=d,h.fill()),p),p=(h.beginPath(),12/g),I=12/g,j=(MinimapManager.roundedRect(h,i,a,P,c,Math.min(P/4,p),Math.min(c/4,I)),h.closePath(),h.fillStyle=d,h.fill(),this.debug&&(h.strokeStyle=\\\"orange\\\",h.strokeRect(i+1/g,a+1/_,P-2/g,c-2/_)),2.5/g),C=2.5/_,T=o.getCurrentPageId();for(let r=0;r\u003Cthis.collaborators.length;r++)(E=this.collaborators[r]).currentPageId===T&&(h.beginPath(),h.ellipse(clamp(E.cursor.x,s.minX+j,s.maxX-j),clamp(E.cursor.y,s.minY+C,s.maxY-C),5/g,5/_,0,0,PI2),h.fillStyle=E.color,h.fill());this.debug&&(h.lineWidth=2/g,({minX:p,minY:I,width:d,height:i}=l),({minX:a,minY:P,width:c,height:o}=(h.strokeStyle=\\\"red\\\",h.strokeRect(p+1/g,I+1/_,d-2/g,i-2/_),s)),h.strokeStyle=\\\"blue\\\",h.strokeRect(a+1/g,P+1/_,c-2/g,o-2/_))}}),this.editor=e}setDpr(e){this.dpr=+e.toFixed(2)}static roundedRect(e,t,r,i,n,o,a){o\u003C1&&a\u003C1?e.rect(t,r,i,n):(e.moveTo(t+o,r),e.lineTo(t+i-o,r),e.quadraticCurveTo(t+i,r,t+i,r+a),e.lineTo(t+i,r+n-a),e.quadraticCurveTo(t+i,r+n,t+i-o,r+n),e.lineTo(t+o,r+n),e.quadraticCurveTo(t,r+n,t,r+n-a),e.lineTo(t,r+a),e.quadraticCurveTo(t,r,t+o,r))}static sharpRect(e,t,r,i,n,o,a){e.rect(t,r,i,n)}});function Minimap({shapeFill:t,selectFill:r,viewportFill:i}){const a=useEditor(),n=React58.useRef(null),s=React58.useRef(!1);var e=useIsDarkMode();const o=useComputed(\\\"dpr\\\",()=>a.getInstanceState().devicePixelRatio,[a]),l=React58.useMemo(()=>a.store.query.records(\\\"instance_presence\\\"),[a]),c=React58.useMemo(()=>new MinimapManager(a),[a]);React58.useEffect(()=>{const e=requestAnimationFrame(()=>{var e=getComputedStyle(a.getContainer());c.colors={shapeFill:e.getPropertyValue(t).trim(),selectFill:e.getPropertyValue(r).trim(),viewportFill:e.getPropertyValue(i).trim()},c.render()});return()=>{cancelAnimationFrame(e)}},[a,r,t,i,c,e]);var e=React58.useCallback(e=>{var t,r;a.getCurrentPageShapeIds().size&&(t=c.minimapScreenPointToPagePoint(e.clientX,e.clientY,!1,!1),r=c.minimapScreenPointToPagePoint(e.clientX,e.clientY,!1,!0),c.originPagePoint.setTo(r),c.originPageCenter.setTo(a.getViewportPageBounds().center),a.centerOnPoint(t,{duration:ANIMATION_MEDIUM_MS}))},[a,c]),d=React58.useCallback(e=>{const t=e.currentTarget;var r,i,n;setPointerCapture(t,e),a.getCurrentPageShapeIds().size&&(s.current=!0,c.isInViewport=!1,r=c.minimapScreenPointToPagePoint(e.clientX,e.clientY,!1,!1),i=c.minimapScreenPointToPagePoint(e.clientX,e.clientY,!1,!0),n=a.getViewportPageBounds(),c.isInViewport=n.containsPoint(i),c.isInViewport?(c.originPagePoint.setTo(i),c.originPageCenter.setTo(n.center)):(i=Vec.Sub(n.center,n.point),n=Vec.Add(r,i),c.originPagePoint.setTo(n),c.originPageCenter.setTo(r),a.centerOnPoint(r,{duration:ANIMATION_MEDIUM_MS})),document.body.addEventListener(\\\"pointerup\\\",function o(e){t&&releasePointerCapture(t,e),s.current=!1,document.body.removeEventListener(\\\"pointerup\\\",o)}))},[a,c]),u=React58.useCallback(e=>{var t=c.minimapScreenPointToPagePoint(e.clientX,e.clientY,e.shiftKey,!0);if(s.current){if(c.isInViewport)return r=c.originPagePoint.clone().sub(c.originPageCenter),void a.centerOnPoint(Vec.Sub(t,r));a.centerOnPoint(t)}var r=c.getPagePoint(e.clientX,e.clientY),t=a.pageToScreen(r),r={type:\\\"pointer\\\",target:\\\"canvas\\\",name:\\\"pointer_move\\\",...getPointerInfo(e),point:t,isPen:a.getInstanceState().isPenMode};a.dispatch(r)},[a,c]),p=React58.useCallback(e=>{var t=normalizeWheel(e);a.dispatch({type:\\\"wheel\\\",name:\\\"wheel\\\",delta:t,point:new Vec(e.clientX,e.clientY),shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.metaKey||e.ctrlKey})},[a]);return useQuickReactor(\\\"update when dpr changes\\\",()=>{var e=o.get(),t=(c.setDpr(e),n.current),r=t.getBoundingClientRect(),i=r.width*e,e=r.height*e;t.width=i,t.height=e,c.canvasScreenBounds.set(r.x,r.y,i,e),c.cvs=n.current},[o,c]),useQuickReactor(\\\"minimap render when pagebounds or collaborators changes\\\",()=>{var e=a.getCurrentPageShapeIds(),t=a.getCurrentPageBounds(),r=a.getViewportPageBounds();o.get();c.contentPageBounds=t?Box.Expand(t,r):r,c.updateContentScreenBounds();const i=[];e.forEach(e=>{let t=a.getShapePageBounds(e);if(t){var r=a.getShapeMask(e);if(r){r=intersectPolygonPolygon(r,t.corners);if(!r)return;t=Box.FromPoints(r)}t&&(t.id=e,i.push(t))}}),c.pageBounds=i,c.collaborators=l.get(),c.render()},[a,c]),(0,import_jsx_runtime110.jsx)(\\\"div\\\",{className:\\\"tlui-minimap\\\",children:(0,import_jsx_runtime110.jsx)(\\\"canvas\\\",{ref:n,className:\\\"tlui-minimap__canvas\\\",onDoubleClick:e,onPointerMove:u,onPointerDown:d,onWheel:p})})}init_esbuild_inject();var import_jsx_runtime111=require(\\\"react/jsx-runtime\\\"),React59=__toESM(require(\\\"react\\\"),1),ZoomMenu=track(function ZoomMenu2(){const e=useEditor();var t=useTranslation(),r=useBreakpoint(),i=e.getZoomLevel(),n=0\u003Ce.getCurrentPageShapeIds().size,o=0\u003Ce.getSelectedShapeIds().length,a=1===e.getZoomLevel(),s=React59.useCallback(()=>{e.resetZoom(e.getViewportScreenCenter(),{duration:ANIMATION_MEDIUM_MS})},[e]);return(0,import_jsx_runtime111.jsxs)(Root,{id:\\\"zoom\\\",children:[(0,import_jsx_runtime111.jsx)(Trigger,{children:(0,import_jsx_runtime111.jsx)(Button,{type:\\\"icon\\\",title:\\\"\\\"+t(\\\"navigation-zone.zoom\\\"),\\\"data-testid\\\":\\\"minimap.zoom-menu\\\",className:r\u003C5?\\\"tlui-zoom-menu__button\\\":\\\"tlui-zoom-menu__button__pct\\\",onDoubleClick:s,icon:r\u003C4?\\\"zoom-in\\\":void 0,children:r\u003C4?null:(0,import_jsx_runtime111.jsxs)(\\\"span\\\",{style:{flexGrow:0,textAlign:\\\"center\\\"},children:[Math.floor(100*i),\\\"%\\\"]})})}),(0,import_jsx_runtime111.jsx)(Content,{side:\\\"top\\\",align:\\\"start\\\",alignOffset:0,children:(0,import_jsx_runtime111.jsxs)(Group,{children:[(0,import_jsx_runtime111.jsx)(ZoomMenuItem,{action:\\\"zoom-in\\\",\\\"data-testid\\\":\\\"minimap.zoom-menu.zoom-in\\\",noClose:!0}),(0,import_jsx_runtime111.jsx)(ZoomMenuItem,{action:\\\"zoom-out\\\",\\\"data-testid\\\":\\\"minimap.zoom-menu.zoom-out\\\",noClose:!0}),(0,import_jsx_runtime111.jsx)(ZoomMenuItem,{action:\\\"zoom-to-100\\\",\\\"data-testid\\\":\\\"minimap.zoom-menu.zoom-to-100\\\",noClose:!0,disabled:a}),(0,import_jsx_runtime111.jsx)(ZoomMenuItem,{action:\\\"zoom-to-fit\\\",disabled:!n,\\\"data-testid\\\":\\\"minimap.zoom-menu.zoom-to-fit\\\",noClose:!0}),(0,import_jsx_runtime111.jsx)(ZoomMenuItem,{action:\\\"zoom-to-selection\\\",disabled:!o,\\\"data-testid\\\":\\\"minimap.zoom-menu.zoom-to-selection\\\",noClose:!0})]})})]})});function ZoomMenuItem(e){const{action:t,disabled:r=!1,noClose:i=!1}=e,n=useActions();return(0,import_jsx_runtime111.jsx)(Item,{type:\\\"menu\\\",label:n[t].label,kbd:n[t].kbd,\\\"data-testid\\\":e[\\\"data-testid\\\"],onClick:()=>n[t].onSelect(\\\"zoom-menu\\\"),noClose:i,disabled:r})}var NavigationZone=(0,import_react111.memo)(function NavigationZone2(){const e=useActions();var t=useTranslation(),r=useBreakpoint();const[i,n]=useLocalStorageState(\\\"minimap\\\",!0);var o=(0,import_react111.useCallback)(()=>{n(e=>!e)},[n]);return r\u003C4?null:(0,import_jsx_runtime112.jsxs)(\\\"div\\\",{className:\\\"tlui-navigation-zone\\\",children:[(0,import_jsx_runtime112.jsx)(\\\"div\\\",{className:\\\"tlui-buttons__horizontal\\\",children:r\u003C6?(0,import_jsx_runtime112.jsx)(ZoomMenu,{}):i?(0,import_jsx_runtime112.jsxs)(import_jsx_runtime112.Fragment,{children:[(0,import_jsx_runtime112.jsx)(ZoomMenu,{}),(0,import_jsx_runtime112.jsx)(Button,{type:\\\"icon\\\",icon:i?\\\"chevrons-ne\\\":\\\"chevrons-sw\\\",\\\"data-testid\\\":\\\"minimap.toggle\\\",title:t(\\\"navigation-zone.toggle-minimap\\\"),className:\\\"tlui-navigation-zone__toggle\\\",onClick:o})]}):(0,import_jsx_runtime112.jsxs)(import_jsx_runtime112.Fragment,{children:[(0,import_jsx_runtime112.jsx)(Button,{type:\\\"icon\\\",icon:\\\"minus\\\",\\\"data-testid\\\":\\\"minimap.zoom-out\\\",title:t(e[\\\"zoom-out\\\"].label)+\\\" \\\"+kbdStr(e[\\\"zoom-out\\\"].kbd),onClick:()=>e[\\\"zoom-out\\\"].onSelect(\\\"navigation-zone\\\")}),(0,import_jsx_runtime112.jsx)(ZoomMenu,{}),(0,import_jsx_runtime112.jsx)(Button,{type:\\\"icon\\\",icon:\\\"plus\\\",\\\"data-testid\\\":\\\"minimap.zoom-in\\\",title:t(e[\\\"zoom-in\\\"].label)+\\\" \\\"+kbdStr(e[\\\"zoom-in\\\"].kbd),onClick:()=>e[\\\"zoom-in\\\"].onSelect(\\\"navigation-zone\\\")}),(0,import_jsx_runtime112.jsx)(Button,{type:\\\"icon\\\",icon:i?\\\"chevrons-ne\\\":\\\"chevrons-sw\\\",\\\"data-testid\\\":\\\"minimap.toggle\\\",title:t(\\\"navigation-zone.toggle-minimap\\\"),className:\\\"tlui-navigation-zone__toggle\\\",onClick:o})]})}),6\u003C=r&&!i&&(0,import_jsx_runtime112.jsx)(Minimap,{viewportFill:\\\"--color-muted-1\\\",selectFill:\\\"--color-selected\\\",shapeFill:\\\"--color-text-3\\\"})]})}),import_jsx_runtime113=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),ExitPenMode=track(function ExitPenMode2(){var e=useEditor().getInstanceState().isPenMode,t=useActions();if(!e)return null;const r=t[\\\"exit-pen-mode\\\"];return(0,import_jsx_runtime113.jsx)(Button,{type:\\\"normal\\\",label:r.label,iconLeft:r.icon,onClick:()=>r.onSelect(\\\"helper-buttons\\\")})}),import_jsx_runtime114=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),StopFollowing=track(function ExitPenMode3(){var e=useEditor(),t=useActions();if(!e.getInstanceState().followingUserId)return null;const r=t[\\\"stop-following\\\"];return(0,import_jsx_runtime114.jsx)(Button,{type:\\\"normal\\\",label:r.label,iconLeft:r.icon,onClick:()=>r.onSelect(\\\"people-menu\\\")})}),import_jsx_runtime119=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react116=__toESM(require(\\\"react\\\"),1),selectToolStyles=(init_esbuild_inject(),[DefaultColorStyle,DefaultDashStyle,DefaultFillStyle,DefaultSizeStyle]);function useRelevantStyles(){const i=useEditor();return useValue(\\\"getRelevantStyles\\\",()=>{var e=new SharedStyleMap(i.getSharedStyles()),t=0\u003Ci.getSelectedShapeIds().length||!(null==(t=i.root.getCurrent())||!t.shapeType);if(0===e.size&&i.isIn(\\\"select\\\")&&0===i.getSelectedShapeIds().length)for(const r of selectToolStyles)e.applyValue(r,i.getStyleForNextShape(r));return 0!==e.size||t?{styles:e,opacity:i.getSharedOpacity()}:null},[i])}init_esbuild_inject();var import_jsx_runtime115=require(\\\"react/jsx-runtime\\\"),import_classnames21=__toESM(require_classnames(),1),React60=__toESM(require(\\\"react\\\"),1),import_react112=require(\\\"react\\\");function _ButtonPicker(e){const{uiType:t,items:r,title:i,style:n,value:o,onValueChange:a}=e,s=useEditor(),l=useTranslation(),c=(0,import_react112.useRef)(!1),{handleButtonClick:d,handleButtonPointerDown:u,handleButtonPointerEnter:p,handleButtonPointerUp:h}=React60.useMemo(()=>{const r=()=>{c.current=!1,window.removeEventListener(\\\"pointerup\\\",r)};return{handleButtonClick:e=>{var t=e.currentTarget.dataset[\\\"id\\\"];\\\"shared\\\"===o.type&&o.value===t||(s.mark(\\\"point picker item\\\"),a(n,t,!1))},handleButtonPointerDown:e=>{var t=e.currentTarget.dataset[\\\"id\\\"];s.mark(\\\"point picker item\\\"),a(n,t,!0),c.current=!0,window.addEventListener(\\\"pointerup\\\",r)},handleButtonPointerEnter:e=>{var t;c.current&&(t=e.currentTarget.dataset[\\\"id\\\"],a(n,t,!0))},handleButtonPointerUp:e=>{var t=e.currentTarget.dataset[\\\"id\\\"];a(n,t,!1)}}},[o,s,a,n]),m=useValue(\\\"theme\\\",()=>getDefaultColorTheme({isDarkMode:s.user.getIsDarkMode()}),[s]);return(0,import_jsx_runtime115.jsx)(\\\"div\\\",{className:(0,import_classnames21[\\\"default\\\"])(\\\"tlui-buttons__grid\\\"),children:r.map(e=>(0,import_jsx_runtime115.jsx)(Button,{type:\\\"icon\\\",\\\"data-id\\\":e.value,\\\"data-testid\\\":`style.${t}.`+e.value,\\\"aria-label\\\":e.value,\\\"data-state\\\":\\\"shared\\\"===o.type&&o.value===e.value?\\\"hinted\\\":void 0,title:i+\\\" — \\\"+l(t+\\\"-style.\\\"+e.value),className:(0,import_classnames21[\\\"default\\\"])(\\\"tlui-button-grid__button\\\"),style:n===DefaultColorStyle?{color:m[e.value].solid}:void 0,onPointerEnter:p,onPointerDown:u,onPointerUp:h,onClick:d,icon:e.icon},e.value))})}var ButtonPicker=React60.memo(_ButtonPicker),import_jsx_runtime116=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react114=(init_esbuild_inject(),require(\\\"react\\\"));function $ae6933e535247d3d$export$7d15b64cf5a3a4c4(e,[t,r]){return Math.min(r,Math.max(t,e))}init_esbuild_inject(),init_esbuild_inject();var import_react113=require(\\\"react\\\");function $010c2913dbd2fe3d$export$5cae361ad82dce8b(e){const t=(0,import_react113.useRef)({value:e,previous:e});return(0,import_react113.useMemo)(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var $faa2e61a3361514f$var$PAGE_KEYS=[\\\"PageUp\\\",\\\"PageDown\\\"],$faa2e61a3361514f$var$ARROW_KEYS=[\\\"ArrowUp\\\",\\\"ArrowDown\\\",\\\"ArrowLeft\\\",\\\"ArrowRight\\\"],$faa2e61a3361514f$var$BACK_KEYS={\\\"from-left\\\":[\\\"Home\\\",\\\"PageDown\\\",\\\"ArrowDown\\\",\\\"ArrowLeft\\\"],\\\"from-right\\\":[\\\"Home\\\",\\\"PageDown\\\",\\\"ArrowDown\\\",\\\"ArrowRight\\\"],\\\"from-bottom\\\":[\\\"Home\\\",\\\"PageDown\\\",\\\"ArrowDown\\\",\\\"ArrowLeft\\\"],\\\"from-top\\\":[\\\"Home\\\",\\\"PageDown\\\",\\\"ArrowUp\\\",\\\"ArrowLeft\\\"]},$faa2e61a3361514f$var$SLIDER_NAME=\\\"Slider\\\",[$faa2e61a3361514f$var$Collection,$faa2e61a3361514f$var$useCollection,$faa2e61a3361514f$var$createCollectionScope]=$e02a7d9cb1dc128c$export$c74125a8e3af6bb2($faa2e61a3361514f$var$SLIDER_NAME),[$faa2e61a3361514f$var$createSliderContext,$faa2e61a3361514f$export$ef72632d7b901f97]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($faa2e61a3361514f$var$SLIDER_NAME,[$faa2e61a3361514f$var$createCollectionScope]),[$faa2e61a3361514f$var$SliderProvider,$faa2e61a3361514f$var$useSliderContext]=$faa2e61a3361514f$var$createSliderContext($faa2e61a3361514f$var$SLIDER_NAME),$faa2e61a3361514f$export$472062a354075cee=(0,import_react114.forwardRef)((e,t)=>{const{name:r,min:a=0,max:s=100,step:l=1,orientation:i=\\\"horizontal\\\",disabled:n=!1,minStepsBetweenThumbs:c=0,defaultValue:o=[a],value:d,onValueChange:u=()=>{},onValueCommit:p=()=>{},inverted:h=!1,...m}=e,[g,_]=(0,import_react114.useState)(null);var f=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,e=>_(e));const b=(0,import_react114.useRef)(new Set),v=(0,import_react114.useRef)(0);var y=\\\"horizontal\\\"===i,S=!g||Boolean(g.closest(\\\"form\\\")),y=y?$faa2e61a3361514f$var$SliderHorizontal:$faa2e61a3361514f$var$SliderVertical;const[x=[],w]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:d,defaultProp:o,onChange:e=>{var t;null!=(t=[...b.current][v.current])&&t.focus(),u(e)}}),$=(0,import_react114.useRef)(x);function E(e,i,{commit:n}={commit:!1}){var t=$faa2e61a3361514f$var$getDecimalCount(l);const o=$ae6933e535247d3d$export$7d15b64cf5a3a4c4($faa2e61a3361514f$var$roundValue(Math.round((e-a)/l)*l+a,t),[a,s]);w((e=[])=>{var t,r=$faa2e61a3361514f$var$getNextSortedValues(e,o,i);return $faa2e61a3361514f$var$hasMinStepsBetweenValues(r,c*l)&&(v.current=r.indexOf(o),(t=String(r)!==String(e))&&n&&p(r),t)?r:e})}return(0,import_react114.createElement)($faa2e61a3361514f$var$SliderProvider,{scope:e.__scopeSlider,disabled:n,min:a,max:s,valueIndexToChangeRef:v,thumbs:b.current,values:x,orientation:i},(0,import_react114.createElement)($faa2e61a3361514f$var$Collection.Provider,{scope:e.__scopeSlider},(0,import_react114.createElement)($faa2e61a3361514f$var$Collection.Slot,{scope:e.__scopeSlider},(0,import_react114.createElement)(y,_extends({\\\"aria-disabled\\\":n,\\\"data-disabled\\\":n?\\\"\\\":void 0},m,{ref:f,onPointerDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(m.onPointerDown,()=>{n||($.current=x)}),min:a,max:s,inverted:h,onSlideStart:n?void 0:function(e){E(e,$faa2e61a3361514f$var$getClosestValueIndex(x,e))},onSlideMove:n?void 0:function(e){E(e,v.current)},onSlideEnd:n?void 0:function(){var e=$.current[v.current];x[v.current]!==e&&p(x)},onHomeKeyDown:()=>!n&&E(a,0,{commit:!0}),onEndKeyDown:()=>!n&&E(s,x.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{var r,i;n||(r=$faa2e61a3361514f$var$PAGE_KEYS.includes(e.key)||e.shiftKey&&$faa2e61a3361514f$var$ARROW_KEYS.includes(e.key)?10:1,i=v.current,E(x[i]+l*r*t,i,{commit:!0}))}})))),S&&x.map((e,t)=>(0,import_react114.createElement)($faa2e61a3361514f$var$BubbleInput,{key:t,name:r?r+(1\u003Cx.length?\\\"[]\\\":\\\"\\\"):void 0,value:e})))}),[$faa2e61a3361514f$var$SliderOrientationProvider,$faa2e61a3361514f$var$useSliderOrientationContext]=$faa2e61a3361514f$var$createSliderContext($faa2e61a3361514f$var$SLIDER_NAME,{startEdge:\\\"left\\\",endEdge:\\\"right\\\",size:\\\"width\\\",direction:1}),$faa2e61a3361514f$var$SliderHorizontal=(0,import_react114.forwardRef)((e,t)=>{const{min:r,max:i,dir:n,inverted:o,onSlideStart:a,onSlideMove:s,onSlideEnd:l,onStepKeyDown:c,...d}=e,[u,p]=(0,import_react114.useState)(null);var h=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,e=>p(e));const m=(0,import_react114.useRef)();var g=$f631663db3294ace$export$b39126d51d94e6f3(n),_=\\\"ltr\\\"===g;const f=_&&!o||!_&&o;function b(e){var t=m.current||u.getBoundingClientRect();return $faa2e61a3361514f$var$linearScale([0,t.width],f?[r,i]:[i,r])(e-(m.current=t).left)}return(0,import_react114.createElement)($faa2e61a3361514f$var$SliderOrientationProvider,{scope:e.__scopeSlider,startEdge:f?\\\"left\\\":\\\"right\\\",endEdge:f?\\\"right\\\":\\\"left\\\",direction:f?1:-1,size:\\\"width\\\"},(0,import_react114.createElement)($faa2e61a3361514f$var$SliderImpl,_extends({dir:g,\\\"data-orientation\\\":\\\"horizontal\\\"},d,{ref:h,style:{...d.style,\\\"--radix-slider-thumb-transform\\\":\\\"translateX(-50%)\\\"},onSlideStart:e=>{var t=b(e.clientX);null!==a&&void 0!==a&&a(t)},onSlideMove:e=>{var t=b(e.clientX);null!==s&&void 0!==s&&s(t)},onSlideEnd:()=>{m.current=void 0,null!==l&&void 0!==l&&l()},onStepKeyDown:e=>{var t=f?\\\"from-left\\\":\\\"from-right\\\",t=$faa2e61a3361514f$var$BACK_KEYS[t].includes(e.key);null!==c&&void 0!==c&&c({event:e,direction:t?-1:1})}})))}),$faa2e61a3361514f$var$SliderVertical=(0,import_react114.forwardRef)((e,t)=>{const{min:r,max:i,inverted:n,onSlideStart:o,onSlideMove:a,onSlideEnd:s,onStepKeyDown:l,...c}=e,d=(0,import_react114.useRef)(null);var u=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,d);const p=(0,import_react114.useRef)(),h=!n;function m(e){var t=p.current||d.current.getBoundingClientRect();return $faa2e61a3361514f$var$linearScale([0,t.height],h?[i,r]:[r,i])(e-(p.current=t).top)}return(0,import_react114.createElement)($faa2e61a3361514f$var$SliderOrientationProvider,{scope:e.__scopeSlider,startEdge:h?\\\"bottom\\\":\\\"top\\\",endEdge:h?\\\"top\\\":\\\"bottom\\\",size:\\\"height\\\",direction:h?1:-1},(0,import_react114.createElement)($faa2e61a3361514f$var$SliderImpl,_extends({\\\"data-orientation\\\":\\\"vertical\\\"},c,{ref:u,style:{...c.style,\\\"--radix-slider-thumb-transform\\\":\\\"translateY(50%)\\\"},onSlideStart:e=>{var t=m(e.clientY);null!==o&&void 0!==o&&o(t)},onSlideMove:e=>{var t=m(e.clientY);null!==a&&void 0!==a&&a(t)},onSlideEnd:()=>{p.current=void 0,null!==s&&void 0!==s&&s()},onStepKeyDown:e=>{var t=h?\\\"from-bottom\\\":\\\"from-top\\\",t=$faa2e61a3361514f$var$BACK_KEYS[t].includes(e.key);null!==l&&void 0!==l&&l({event:e,direction:t?-1:1})}})))}),$faa2e61a3361514f$var$SliderImpl=(0,import_react114.forwardRef)((e,t)=>{const{__scopeSlider:r,onSlideStart:i,onSlideMove:n,onSlideEnd:o,onHomeKeyDown:a,onEndKeyDown:s,onStepKeyDown:l,...c}=e,d=$faa2e61a3361514f$var$useSliderContext($faa2e61a3361514f$var$SLIDER_NAME,r);return(0,import_react114.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.span,_extends({},c,{ref:t,onKeyDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onKeyDown,e=>{\\\"Home\\\"===e.key?(a(e),e.preventDefault()):\\\"End\\\"===e.key?(s(e),e.preventDefault()):$faa2e61a3361514f$var$PAGE_KEYS.concat($faa2e61a3361514f$var$ARROW_KEYS).includes(e.key)&&(l(e),e.preventDefault())}),onPointerDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerDown,e=>{var t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),d.thumbs.has(t)?t.focus():i(e)}),onPointerMove:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&n(e)}),onPointerUp:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerUp,e=>{var t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),o(e))})}))}),$faa2e61a3361514f$var$TRACK_NAME=\\\"SliderTrack\\\",$faa2e61a3361514f$export$105594979f116971=(0,import_react114.forwardRef)((e,t)=>{const{__scopeSlider:r,...i}=e;var n=$faa2e61a3361514f$var$useSliderContext($faa2e61a3361514f$var$TRACK_NAME,r);return(0,import_react114.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.span,_extends({\\\"data-disabled\\\":n.disabled?\\\"\\\":void 0,\\\"data-orientation\\\":n.orientation},i,{ref:t}))}),$faa2e61a3361514f$var$RANGE_NAME=\\\"SliderRange\\\",$faa2e61a3361514f$export$a5cf38a7a000fe77=(0,import_react114.forwardRef)((e,t)=>{const{__scopeSlider:r,...i}=e,n=$faa2e61a3361514f$var$useSliderContext($faa2e61a3361514f$var$RANGE_NAME,r);var o=$faa2e61a3361514f$var$useSliderOrientationContext($faa2e61a3361514f$var$RANGE_NAME,r),a=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,(0,import_react114.useRef)(null)),s=n.values.length,l=n.values.map(e=>$faa2e61a3361514f$var$convertValueToPercentage(e,n.min,n.max)),s=1\u003Cs?Math.min(...l):0,l=100-Math.max(...l);return(0,import_react114.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.span,_extends({\\\"data-orientation\\\":n.orientation,\\\"data-disabled\\\":n.disabled?\\\"\\\":void 0},i,{ref:a,style:{...e.style,[o.startEdge]:s+\\\"%\\\",[o.endEdge]:l+\\\"%\\\"}}))}),$faa2e61a3361514f$var$THUMB_NAME=\\\"SliderThumb\\\",$faa2e61a3361514f$export$2c1b491743890dec=(0,import_react114.forwardRef)((e,t)=>{const r=$faa2e61a3361514f$var$useCollection(e.__scopeSlider),[i,n]=(0,import_react114.useState)(null);var o=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,e=>n(e)),a=(0,import_react114.useMemo)(()=>i?r().findIndex(e=>e.ref.current===i):-1,[r,i]);return(0,import_react114.createElement)($faa2e61a3361514f$var$SliderThumbImpl,_extends({},e,{ref:o,index:a}))}),$faa2e61a3361514f$var$SliderThumbImpl=(0,import_react114.forwardRef)((e,t)=>{const{__scopeSlider:r,index:i,...n}=e,o=$faa2e61a3361514f$var$useSliderContext($faa2e61a3361514f$var$THUMB_NAME,r);var a=$faa2e61a3361514f$var$useSliderOrientationContext($faa2e61a3361514f$var$THUMB_NAME,r);const[s,l]=(0,import_react114.useState)(null);var c=$6ed0406888f73fc4$export$c7b2cbe3552a0d05(t,e=>l(e)),d=$db6c3485150b8e66$export$1ab7ae714698c4b8(s),u=o.values[i],p=void 0===u?0:$faa2e61a3361514f$var$convertValueToPercentage(u,o.min,o.max),h=$faa2e61a3361514f$var$getLabel(i,o.values.length),d=null==d?void 0:d[a.size],d=d?$faa2e61a3361514f$var$getThumbInBoundsOffset(d,p,a.direction):0;return(0,import_react114.useEffect)(()=>{if(s)return o.thumbs.add(s),()=>{o.thumbs[\\\"delete\\\"](s)}},[s,o.thumbs]),(0,import_react114.createElement)(\\\"span\\\",{style:{transform:\\\"var(--radix-slider-thumb-transform)\\\",position:\\\"absolute\\\",[a.startEdge]:`calc(${p}% + ${d}px)`}},(0,import_react114.createElement)($faa2e61a3361514f$var$Collection.ItemSlot,{scope:e.__scopeSlider},(0,import_react114.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.span,_extends({role:\\\"slider\\\",\\\"aria-label\\\":e[\\\"aria-label\\\"]||h,\\\"aria-valuemin\\\":o.min,\\\"aria-valuenow\\\":u,\\\"aria-valuemax\\\":o.max,\\\"aria-orientation\\\":o.orientation,\\\"data-orientation\\\":o.orientation,\\\"data-disabled\\\":o.disabled?\\\"\\\":void 0,tabIndex:o.disabled?void 0:0},n,{ref:c,style:void 0===u?{display:\\\"none\\\"}:e.style,onFocus:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onFocus,()=>{o.valueIndexToChangeRef.current=i})}))))}),$faa2e61a3361514f$var$BubbleInput=e=>{const{value:i,...t}=e,n=(0,import_react114.useRef)(null),o=$010c2913dbd2fe3d$export$5cae361ad82dce8b(i);return(0,import_react114.useEffect)(()=>{var e,t=n.current,r=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(r,\\\"value\\\").set;o!==i&&r&&(e=new Event(\\\"input\\\",{bubbles:!0}),r.call(t,i),t.dispatchEvent(e))},[o,i]),(0,import_react114.createElement)(\\\"input\\\",_extends({style:{display:\\\"none\\\"}},t,{ref:n,defaultValue:i}))};function $faa2e61a3361514f$var$getNextSortedValues(e=[],t,r){var i=[...e];return i[r]=t,i.sort((e,t)=>e-t)}function $faa2e61a3361514f$var$convertValueToPercentage(e,t,r){return $ae6933e535247d3d$export$7d15b64cf5a3a4c4(100/(r-t)*(e-t),[0,100])}function $faa2e61a3361514f$var$getLabel(e,t){return 2\u003Ct?`Value ${e+1} of `+t:2===t?[\\\"Minimum\\\",\\\"Maximum\\\"][e]:void 0}function $faa2e61a3361514f$var$getClosestValueIndex(e,t){var r,i;return 1===e.length?0:(r=e.map(e=>Math.abs(e-t)),i=Math.min(...r),r.indexOf(i))}function $faa2e61a3361514f$var$getThumbInBoundsOffset(e,t,r){var i=e/2;return(i-$faa2e61a3361514f$var$linearScale([0,50],[0,i])(t)*r)*r}function $faa2e61a3361514f$var$getStepsBetweenValues(r){return r.slice(0,-1).map((e,t)=>r[t+1]-e)}function $faa2e61a3361514f$var$hasMinStepsBetweenValues(e,t){var r;return!(0\u003Ct)||(r=$faa2e61a3361514f$var$getStepsBetweenValues(e),t\u003C=Math.min(...r))}function $faa2e61a3361514f$var$linearScale(r,i){return e=>{var t;return r[0]===r[1]||i[0]===i[1]?i[0]:(t=(i[1]-i[0])/(r[1]-r[0]),i[0]+t*(e-r[0]))}}function $faa2e61a3361514f$var$getDecimalCount(e){return(String(e).split(\\\".\\\")[1]||\\\"\\\").length}function $faa2e61a3361514f$var$roundValue(e,t){var r=Math.pow(10,t);return Math.round(e*r)/r}var $faa2e61a3361514f$export$be92b6f5f03c0fe9=$faa2e61a3361514f$export$472062a354075cee,$faa2e61a3361514f$export$13921ac0cc260818=$faa2e61a3361514f$export$105594979f116971,$faa2e61a3361514f$export$9a58ef0d7ad3278c=$faa2e61a3361514f$export$a5cf38a7a000fe77,$faa2e61a3361514f$export$6521433ed15a34db=$faa2e61a3361514f$export$2c1b491743890dec,import_react115=require(\\\"react\\\"),Slider=(0,import_react115.memo)(function Slider2(e){const{title:t,steps:r,value:i,label:n,onValueChange:o}=e,a=useEditor();var s=useTranslation(),l=(0,import_react115.useCallback)(e=>{o(e[0],!0)},[o]),c=(0,import_react115.useCallback)(()=>{a.mark(\\\"click slider\\\")},[a]),d=(0,import_react115.useCallback)(()=>{i&&o(i,!1)},[i,o]);return(0,import_jsx_runtime116.jsx)(\\\"div\\\",{className:\\\"tlui-slider__container\\\",children:(0,import_jsx_runtime116.jsxs)($faa2e61a3361514f$export$be92b6f5f03c0fe9,{\\\"data-testid\\\":e[\\\"data-testid\\\"],className:\\\"tlui-slider\\\",\\\"area-label\\\":\\\"Opacity\\\",dir:\\\"ltr\\\",min:0,max:r,step:1,value:i?[i]:void 0,onPointerDown:c,onValueChange:l,onPointerUp:d,title:t+\\\" — \\\"+s(n),children:[(0,import_jsx_runtime116.jsx)($faa2e61a3361514f$export$13921ac0cc260818,{className:\\\"tlui-slider__track\\\",dir:\\\"ltr\\\",children:null!==i&&(0,import_jsx_runtime116.jsx)($faa2e61a3361514f$export$9a58ef0d7ad3278c,{className:\\\"tlui-slider__range\\\",dir:\\\"ltr\\\"})}),null!==i&&(0,import_jsx_runtime116.jsx)($faa2e61a3361514f$export$6521433ed15a34db,{className:\\\"tlui-slider__thumb\\\",dir:\\\"ltr\\\"})]})})}),import_jsx_runtime117=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),React61=__toESM(require(\\\"react\\\"),1),DoubleDropdownPicker=React61.memo(function DoubleDropdownPicker2({label:e,uiTypeA:t,uiTypeB:r,labelA:i,labelB:n,itemsA:o,itemsB:a,styleA:s,styleB:l,valueA:c,valueB:d,onValueChange:u}){const p=useTranslation();var h=React61.useMemo(()=>{var e;return null!=(e=null==(e=o.find(e=>\\\"shared\\\"===c.type&&c.value===e.value))?void 0:e.icon)?e:\\\"mixed\\\"},[o,c]),m=React61.useMemo(()=>{var e;return null!=(e=null==(e=a.find(e=>\\\"shared\\\"===d.type&&d.value===e.value))?void 0:e.icon)?e:\\\"mixed\\\"},[a,d]);return void 0===c&&void 0===d?null:(0,import_jsx_runtime117.jsxs)(\\\"div\\\",{className:\\\"tlui-style-panel__double-select-picker\\\",children:[(0,import_jsx_runtime117.jsx)(\\\"div\\\",{title:p(e),className:\\\"tlui-style-panel__double-select-picker-label\\\",children:p(e)}),(0,import_jsx_runtime117.jsxs)(\\\"div\\\",{className:\\\"tlui-buttons__horizontal\\\",children:[(0,import_jsx_runtime117.jsxs)(Root,{id:`style panel ${t} A`,children:[(0,import_jsx_runtime117.jsx)($d08ef79370b62062$export$41fb9f06171c75f4,{asChild:!0,onTouchEnd:e=>preventDefault(e),children:(0,import_jsx_runtime117.jsx)(Button,{type:\\\"icon\\\",\\\"data-testid\\\":\\\"style.\\\"+t,title:p(i)+\\\" — \\\"+(null===c||\\\"mixed\\\"===c.type?p(\\\"style-panel.mixed\\\"):p(t+\\\"-style.\\\"+c.value)),icon:h,invertIcon:!0,smallIcon:!0})}),(0,import_jsx_runtime117.jsx)(Content,{side:\\\"bottom\\\",align:\\\"end\\\",sideOffset:0,alignOffset:-2,children:(0,import_jsx_runtime117.jsx)(\\\"div\\\",{className:\\\"tlui-buttons__grid\\\",children:o.map(e=>(0,import_jsx_runtime117.jsx)(Item,{type:\\\"icon\\\",title:p(i)+\\\" — \\\"+p(t+\\\"-style.\\\"+e.value),\\\"data-testid\\\":`style.${t}.`+e.value,icon:e.icon,onClick:()=>u(s,e.value,!1),invertIcon:!0},e.value))})})]}),(0,import_jsx_runtime117.jsxs)(Root,{id:\\\"style panel \\\"+r,children:[(0,import_jsx_runtime117.jsx)($d08ef79370b62062$export$41fb9f06171c75f4,{asChild:!0,onTouchEnd:e=>preventDefault(e),children:(0,import_jsx_runtime117.jsx)(Button,{type:\\\"icon\\\",\\\"data-testid\\\":\\\"style.\\\"+r,title:p(n)+\\\" — \\\"+(null===d||\\\"mixed\\\"===d.type?p(\\\"style-panel.mixed\\\"):p(r+\\\"-style.\\\"+d.value)),icon:m,smallIcon:!0})}),(0,import_jsx_runtime117.jsx)(Content,{side:\\\"bottom\\\",align:\\\"end\\\",sideOffset:0,alignOffset:-2,children:(0,import_jsx_runtime117.jsx)(\\\"div\\\",{className:\\\"tlui-buttons__grid\\\",children:a.map(e=>(0,import_jsx_runtime117.jsx)(Item,{type:\\\"icon\\\",title:p(n)+\\\" — \\\"+p(r+\\\"-style.\\\"+e.value),\\\"data-testid\\\":`style.${r}.`+e.value,icon:e.icon,onClick:()=>u(l,e.value,!1)},e.value))})})]})]})]})}),import_jsx_runtime118=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),React62=__toESM(require(\\\"react\\\"),1),DropdownPicker=React62.memo(function DropdownPicker2({id:e,label:t,uiType:r,style:i,items:n,type:o,value:a,onValueChange:s}){const l=useTranslation();var c=React62.useMemo(()=>{var e;return null==(e=n.find(e=>\\\"shared\\\"===a.type&&e.value===a.value))?void 0:e.icon},[n,a]);return(0,import_jsx_runtime118.jsxs)(Root,{id:\\\"style panel \\\"+e,children:[(0,import_jsx_runtime118.jsx)($d08ef79370b62062$export$41fb9f06171c75f4,{asChild:!0,onTouchEnd:e=>preventDefault(e),children:(0,import_jsx_runtime118.jsx)(Button,{type:o,\\\"data-testid\\\":\\\"style.\\\"+r,title:\\\"mixed\\\"===a.type?l(\\\"style-panel.mixed\\\"):l(r+\\\"-style.\\\"+a.value),label:t,icon:null!=c?c:\\\"mixed\\\"})}),(0,import_jsx_runtime118.jsx)(Content,{side:\\\"left\\\",align:\\\"center\\\",alignOffset:0,children:(0,import_jsx_runtime118.jsx)(\\\"div\\\",{className:\\\"tlui-buttons__grid\\\",children:n.map(e=>(0,import_jsx_runtime118.jsx)(Item,{type:\\\"icon\\\",\\\"data-testid\\\":`style.${r}.`+e.value,title:l(r+\\\"-style.\\\"+e.value),icon:e.icon,onClick:()=>s(i,e.value,!1)},e.value))})})]})}),STYLES=(init_esbuild_inject(),{color:[{value:\\\"black\\\",icon:\\\"color\\\"},{value:\\\"grey\\\",icon:\\\"color\\\"},{value:\\\"light-violet\\\",icon:\\\"color\\\"},{value:\\\"violet\\\",icon:\\\"color\\\"},{value:\\\"blue\\\",icon:\\\"color\\\"},{value:\\\"light-blue\\\",icon:\\\"color\\\"},{value:\\\"yellow\\\",icon:\\\"color\\\"},{value:\\\"orange\\\",icon:\\\"color\\\"},{value:\\\"green\\\",icon:\\\"color\\\"},{value:\\\"light-green\\\",icon:\\\"color\\\"},{value:\\\"light-red\\\",icon:\\\"color\\\"},{value:\\\"red\\\",icon:\\\"color\\\"}],fill:[{value:\\\"none\\\",icon:\\\"fill-none\\\"},{value:\\\"semi\\\",icon:\\\"fill-semi\\\"},{value:\\\"solid\\\",icon:\\\"fill-solid\\\"},{value:\\\"pattern\\\",icon:\\\"fill-pattern\\\"}],dash:[{value:\\\"draw\\\",icon:\\\"dash-draw\\\"},{value:\\\"dashed\\\",icon:\\\"dash-dashed\\\"},{value:\\\"dotted\\\",icon:\\\"dash-dotted\\\"},{value:\\\"solid\\\",icon:\\\"dash-solid\\\"}],size:[{value:\\\"s\\\",icon:\\\"size-small\\\"},{value:\\\"m\\\",icon:\\\"size-medium\\\"},{value:\\\"l\\\",icon:\\\"size-large\\\"},{value:\\\"xl\\\",icon:\\\"size-extra-large\\\"}],font:[{value:\\\"draw\\\",icon:\\\"font-draw\\\"},{value:\\\"sans\\\",icon:\\\"font-sans\\\"},{value:\\\"serif\\\",icon:\\\"font-serif\\\"},{value:\\\"mono\\\",icon:\\\"font-mono\\\"}],horizontalAlign:[{value:\\\"start\\\",icon:\\\"text-align-left\\\"},{value:\\\"middle\\\",icon:\\\"text-align-center\\\"},{value:\\\"end\\\",icon:\\\"text-align-right\\\"}],verticalAlign:[{value:\\\"start\\\",icon:\\\"vertical-align-start\\\"},{value:\\\"middle\\\",icon:\\\"vertical-align-center\\\"},{value:\\\"end\\\",icon:\\\"vertical-align-end\\\"}],geo:[{value:\\\"rectangle\\\",icon:\\\"geo-rectangle\\\"},{value:\\\"ellipse\\\",icon:\\\"geo-ellipse\\\"},{value:\\\"cloud\\\",icon:\\\"geo-cloud\\\"},{value:\\\"triangle\\\",icon:\\\"geo-triangle\\\"},{value:\\\"diamond\\\",icon:\\\"geo-diamond\\\"},{value:\\\"pentagon\\\",icon:\\\"geo-pentagon\\\"},{value:\\\"hexagon\\\",icon:\\\"geo-hexagon\\\"},{value:\\\"octagon\\\",icon:\\\"geo-octagon\\\"},{value:\\\"star\\\",icon:\\\"geo-star\\\"},{value:\\\"rhombus\\\",icon:\\\"geo-rhombus\\\"},{value:\\\"rhombus-2\\\",icon:\\\"geo-rhombus-2\\\"},{value:\\\"oval\\\",icon:\\\"geo-oval\\\"},{value:\\\"trapezoid\\\",icon:\\\"geo-trapezoid\\\"},{value:\\\"arrow-right\\\",icon:\\\"geo-arrow-right\\\"},{value:\\\"arrow-left\\\",icon:\\\"geo-arrow-left\\\"},{value:\\\"arrow-up\\\",icon:\\\"geo-arrow-up\\\"},{value:\\\"arrow-down\\\",icon:\\\"geo-arrow-down\\\"},{value:\\\"x-box\\\",icon:\\\"geo-x-box\\\"},{value:\\\"check-box\\\",icon:\\\"geo-check-box\\\"}],arrowheadStart:[{value:\\\"none\\\",icon:\\\"arrowhead-none\\\"},{value:\\\"arrow\\\",icon:\\\"arrowhead-arrow\\\"},{value:\\\"triangle\\\",icon:\\\"arrowhead-triangle\\\"},{value:\\\"square\\\",icon:\\\"arrowhead-square\\\"},{value:\\\"dot\\\",icon:\\\"arrowhead-dot\\\"},{value:\\\"diamond\\\",icon:\\\"arrowhead-diamond\\\"},{value:\\\"inverted\\\",icon:\\\"arrowhead-triangle-inverted\\\"},{value:\\\"bar\\\",icon:\\\"arrowhead-bar\\\"}],arrowheadEnd:[{value:\\\"none\\\",icon:\\\"arrowhead-none\\\"},{value:\\\"arrow\\\",icon:\\\"arrowhead-arrow\\\"},{value:\\\"triangle\\\",icon:\\\"arrowhead-triangle\\\"},{value:\\\"square\\\",icon:\\\"arrowhead-square\\\"},{value:\\\"dot\\\",icon:\\\"arrowhead-dot\\\"},{value:\\\"diamond\\\",icon:\\\"arrowhead-diamond\\\"},{value:\\\"inverted\\\",icon:\\\"arrowhead-triangle-inverted\\\"},{value:\\\"bar\\\",icon:\\\"arrowhead-bar\\\"}],spline:[{value:\\\"line\\\",icon:\\\"spline-line\\\"},{value:\\\"cubic\\\",icon:\\\"spline-cubic\\\"}]}),StylePanel=function StylePanel2({isMobile:e}){const t=useEditor();var r,i,n,o,a,s,l=useRelevantStyles(),c=(0,import_react116.useCallback)(()=>{e||t.updateInstanceState({isChangingStyle:!1})},[t,e]);return l?(({styles:l,opacity:r}=l),i=l.get(GeoShapeGeoStyle),n=l.get(ArrowShapeArrowheadEndStyle),o=l.get(ArrowShapeArrowheadStartStyle),a=l.get(LineShapeSplineStyle),s=l.get(DefaultFontStyle),(0,import_jsx_runtime119.jsxs)(\\\"div\\\",{className:\\\"tlui-style-panel\\\",\\\"data-ismobile\\\":e,onPointerLeave:c,children:[(0,import_jsx_runtime119.jsx)(CommonStylePickerSet,{styles:l,opacity:r}),!(void 0===s)&&(0,import_jsx_runtime119.jsx)(TextStylePickerSet,{styles:l}),!(void 0===i&&(void 0===n&&void 0===o)&&void 0===a)&&(0,import_jsx_runtime119.jsxs)(\\\"div\\\",{className:\\\"tlui-style-panel__section\\\",\\\"aria-label\\\":\\\"style panel styles\\\",children:[(0,import_jsx_runtime119.jsx)(GeoStylePickerSet,{styles:l}),(0,import_jsx_runtime119.jsx)(ArrowheadStylePickerSet,{styles:l}),(0,import_jsx_runtime119.jsx)(SplineStylePickerSet,{styles:l})]})]})):null};function useStyleChangeCallback(){const i=useEditor();return import_react116[\\\"default\\\"].useMemo(()=>function(e,t,r){i.batch(()=>{i.isIn(\\\"select\\\")&&i.setStyleForSelectedShapes(e,t,{squashing:r}),i.setStyleForNextShapes(e,t,{squashing:r}),i.updateInstanceState({isChangingStyle:!0})})},[i])}var tldrawSupportedOpacities=[.1,.25,.5,.75,1];function CommonStylePickerSet({styles:e,opacity:t}){const i=useEditor();var r=useTranslation(),n=useStyleChangeCallback(),o=import_react116[\\\"default\\\"].useCallback((e,t)=>{const r=tldrawSupportedOpacities[e];i.batch(()=>{i.isIn(\\\"select\\\")&&i.setOpacityForSelectedShapes(r,{ephemeral:t}),i.setOpacityForNextShapes(r,{ephemeral:t}),i.updateInstanceState({isChangingStyle:!0})})},[i]),a=e.get(DefaultColorStyle),s=e.get(DefaultFillStyle),l=e.get(DefaultDashStyle),c=e.get(DefaultSizeStyle),d=void 0!==s||void 0!==l||void 0!==c,u=\\\"mixed\\\"===t.type?-1:tldrawSupportedOpacities.indexOf(minBy(tldrawSupportedOpacities,e=>Math.abs(e-t.value)));return(0,import_jsx_runtime119.jsxs)(import_jsx_runtime119.Fragment,{children:[(0,import_jsx_runtime119.jsxs)(\\\"div\\\",{tabIndex:-1,className:\\\"tlui-style-panel__section__common\\\",\\\"aria-label\\\":\\\"style panel styles\\\",children:[void 0===a?null:(0,import_jsx_runtime119.jsx)(ButtonPicker,{title:r(\\\"style-panel.color\\\"),uiType:\\\"color\\\",style:DefaultColorStyle,items:STYLES.color,value:a,onValueChange:n}),void 0===t?null:(0,import_jsx_runtime119.jsx)(Slider,{\\\"data-testid\\\":\\\"style.opacity\\\",value:0\u003C=u?u:tldrawSupportedOpacities.length-1,label:\\\"mixed\\\"===t.type?\\\"style-panel.mixed\\\":\\\"opacity-style.\\\"+t.value,onValueChange:o,steps:tldrawSupportedOpacities.length-1,title:r(\\\"style-panel.opacity\\\")})]}),d&&(0,import_jsx_runtime119.jsxs)(\\\"div\\\",{className:\\\"tlui-style-panel__section\\\",\\\"aria-label\\\":\\\"style panel styles\\\",children:[void 0===s?null:(0,import_jsx_runtime119.jsx)(ButtonPicker,{title:r(\\\"style-panel.fill\\\"),uiType:\\\"fill\\\",style:DefaultFillStyle,items:STYLES.fill,value:s,onValueChange:n}),void 0===l?null:(0,import_jsx_runtime119.jsx)(ButtonPicker,{title:r(\\\"style-panel.dash\\\"),uiType:\\\"dash\\\",style:DefaultDashStyle,items:STYLES.dash,value:l,onValueChange:n}),void 0===c?null:(0,import_jsx_runtime119.jsx)(ButtonPicker,{title:r(\\\"style-panel.size\\\"),uiType:\\\"size\\\",style:DefaultSizeStyle,items:STYLES.size,value:c,onValueChange:n})]})]})}function TextStylePickerSet({styles:e}){var t=useTranslation(),r=useStyleChangeCallback(),i=e.get(DefaultFontStyle),n=e.get(DefaultHorizontalAlignStyle),o=e.get(DefaultVerticalAlignStyle);return void 0===i&&void 0===n?null:(0,import_jsx_runtime119.jsxs)(\\\"div\\\",{className:\\\"tlui-style-panel__section\\\",\\\"aria-label\\\":\\\"style panel text\\\",children:[void 0===i?null:(0,import_jsx_runtime119.jsx)(ButtonPicker,{title:t(\\\"style-panel.font\\\"),uiType:\\\"font\\\",style:DefaultFontStyle,items:STYLES.font,value:i,onValueChange:r}),void 0===n?null:(0,import_jsx_runtime119.jsxs)(\\\"div\\\",{className:\\\"tlui-style-panel__row\\\",children:[(0,import_jsx_runtime119.jsx)(ButtonPicker,{title:t(\\\"style-panel.align\\\"),uiType:\\\"align\\\",style:DefaultHorizontalAlignStyle,items:STYLES.horizontalAlign,value:n,onValueChange:r}),(0,import_jsx_runtime119.jsx)(\\\"div\\\",{className:\\\"tlui-style-panel__row__extra-button\\\",children:void 0===o?(0,import_jsx_runtime119.jsx)(Button,{type:\\\"icon\\\",title:t(\\\"style-panel.vertical-align\\\"),\\\"data-testid\\\":\\\"vertical-align\\\",icon:\\\"vertical-align-center\\\",disabled:!0}):(0,import_jsx_runtime119.jsx)(DropdownPicker,{type:\\\"icon\\\",id:\\\"geo-vertical-alignment\\\",uiType:\\\"verticalAlign\\\",style:DefaultVerticalAlignStyle,items:STYLES.verticalAlign,value:o,onValueChange:r})})]})]})}function GeoStylePickerSet({styles:e}){var t=useStyleChangeCallback(),r=e.get(GeoShapeGeoStyle);return void 0===r?null:(0,import_jsx_runtime119.jsx)(DropdownPicker,{id:\\\"geo\\\",type:\\\"menu\\\",label:\\\"style-panel.geo\\\",uiType:\\\"geo\\\",style:GeoShapeGeoStyle,items:STYLES.geo,value:r,onValueChange:t})}function SplineStylePickerSet({styles:e}){var t=useStyleChangeCallback(),r=e.get(LineShapeSplineStyle);return void 0===r?null:(0,import_jsx_runtime119.jsx)(DropdownPicker,{id:\\\"spline\\\",type:\\\"menu\\\",label:\\\"style-panel.spline\\\",uiType:\\\"spline\\\",style:LineShapeSplineStyle,items:STYLES.spline,value:r,onValueChange:t})}function ArrowheadStylePickerSet({styles:e}){var t=useStyleChangeCallback(),r=e.get(ArrowShapeArrowheadEndStyle),i=e.get(ArrowShapeArrowheadStartStyle);return r&&i?(0,import_jsx_runtime119.jsx)(DoubleDropdownPicker,{label:\\\"style-panel.arrowheads\\\",uiTypeA:\\\"arrowheadStart\\\",styleA:ArrowShapeArrowheadStartStyle,itemsA:STYLES.arrowheadStart,valueA:i,uiTypeB:\\\"arrowheadEnd\\\",styleB:ArrowShapeArrowheadEndStyle,itemsB:STYLES.arrowheadEnd,valueB:r,onValueChange:t,labelA:\\\"style-panel.arrowhead-start\\\",labelB:\\\"style-panel.arrowhead-end\\\"}):null}init_esbuild_inject();var import_jsx_runtime120=require(\\\"react/jsx-runtime\\\"),React64=__toESM(require(\\\"react\\\"),1);function Toast({toast:t}){var e;const r=useToasts()[\\\"removeToast\\\"];var i=useTranslation(),n=t.actions&&0\u003Ct.actions.length;return(0,import_jsx_runtime120.jsxs)($054eb8030ebde76e$export$be92b6f5f03c0fe9,{onOpenChange:e=>{e||r(t.id)},className:\\\"tlui-toast__container\\\",duration:t.keepOpen?Infinity:5e3,children:[t.icon&&(0,import_jsx_runtime120.jsx)(\\\"div\\\",{className:\\\"tlui-toast__icon\\\",children:(0,import_jsx_runtime120.jsx)(Icon,{icon:t.icon})}),(0,import_jsx_runtime120.jsxs)(\\\"div\\\",{className:\\\"tlui-toast__main\\\",children:[(0,import_jsx_runtime120.jsxs)(\\\"div\\\",{className:\\\"tlui-toast__content\\\",children:[t.title&&(0,import_jsx_runtime120.jsx)($054eb8030ebde76e$export$f99233281efd08a0,{className:\\\"tlui-toast__title\\\",children:t.title}),t.description&&(0,import_jsx_runtime120.jsx)($054eb8030ebde76e$export$393edc798c47379d,{className:\\\"tlui-toast__description\\\",children:t.description})]}),t.actions&&(0,import_jsx_runtime120.jsxs)(\\\"div\\\",{className:\\\"tlui-toast__actions\\\",children:[t.actions.map((e,t)=>(0,import_jsx_runtime120.jsx)($054eb8030ebde76e$export$e19cd5f9376f8cee,{altText:e.label,asChild:!0,onClick:e.onClick,children:(0,import_jsx_runtime120.jsx)(Button,{type:e.type,children:e.label})},t)),(0,import_jsx_runtime120.jsx)($054eb8030ebde76e$export$f39c2d165cd861fe,{asChild:!0,children:(0,import_jsx_runtime120.jsx)(Button,{type:\\\"normal\\\",className:\\\"tlui-toast__close\\\",style:{marginLeft:\\\"auto\\\"},children:null!=(e=t.closeLabel)?e:i(\\\"toast.close\\\")})})]})]}),!n&&(0,import_jsx_runtime120.jsx)($054eb8030ebde76e$export$f39c2d165cd861fe,{asChild:!0,children:(0,import_jsx_runtime120.jsx)(Button,{type:\\\"normal\\\",className:\\\"tlui-toast__close\\\",children:null!=(e=t.closeLabel)?e:i(\\\"toast.close\\\")})})]})}function _Toasts(){var e=useToasts()[\\\"toasts\\\"];return(0,import_jsx_runtime120.jsx)(import_jsx_runtime120.Fragment,{children:e.map(e=>(0,import_jsx_runtime120.jsx)(Toast,{toast:e},e.id))})}var Toasts=React64.memo(_Toasts);function ToastViewport(){const t=useToasts()[\\\"toasts\\\"],[e,r]=React64.useState(!1);return React64.useEffect(()=>{let e=!1;return t.length?r(!0):setTimeout(()=>{e||r(!1)},1e3),()=>{e=!0}},[t.length,r]),e?(0,import_jsx_runtime120.jsx)($054eb8030ebde76e$export$6192c2425ecfd989,{className:\\\"tlui-toast__viewport\\\"}):null}init_esbuild_inject();var import_jsx_runtime123=require(\\\"react/jsx-runtime\\\"),import_classnames23=__toESM(require_classnames(),1),import_react118=__toESM(require(\\\"react\\\"),1),import_jsx_runtime121=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react117=require(\\\"react\\\");function MobileStylePanel(){const t=useEditor();var e=useTranslation(),r=useRelevantStyles(),r=null==r?void 0:r.styles.get(DefaultColorStyle),i=getDefaultColorTheme({isDarkMode:t.user.getIsDarkMode()}),i=(\\\"shared\\\"===(null==r?void 0:r.type)?i[r.value]:i.black).solid,n=useValue(\\\"isHandOrEraserToolActive\\\",()=>t.isInAny(\\\"hand\\\",\\\"zoom\\\",\\\"eraser\\\",\\\"laser\\\"),[t]),o=(0,import_react117.useCallback)(e=>{e||t.updateInstanceState({isChangingStyle:!1})},[t]);return(0,import_jsx_runtime121.jsxs)(Popover,{id:\\\"style menu\\\",onOpenChange:o,children:[(0,import_jsx_runtime121.jsx)(PopoverTrigger,{disabled:n,children:(0,import_jsx_runtime121.jsx)(Button,{type:\\\"tool\\\",\\\"data-testid\\\":\\\"mobile.styles\\\",style:{color:n?\\\"var(--color-muted-1)\\\":i},title:e(\\\"style-panel.title\\\"),children:(0,import_jsx_runtime121.jsx)(Icon,{icon:!n&&\\\"mixed\\\"===(null==r?void 0:r.type)?\\\"mixed\\\":\\\"blob\\\"})})}),(0,import_jsx_runtime121.jsx)(PopoverContent,{side:\\\"top\\\",align:\\\"end\\\",children:(0,import_jsx_runtime121.jsx)(StylePanel,{isMobile:!0})})]})}init_esbuild_inject();var import_jsx_runtime122=require(\\\"react/jsx-runtime\\\"),import_classnames22=__toESM(require_classnames(),1),NOT_LOCKABLE_TOOLS=[\\\"select\\\",\\\"hand\\\",\\\"draw\\\",\\\"eraser\\\",\\\"text\\\",\\\"zoom\\\",\\\"laser\\\",\\\"highlight\\\"];function ToggleToolLockedButton({activeToolId:e}){const t=useEditor();var r=useBreakpoint(),i=useTranslation();const n=useValue(\\\"is tool locked\\\",()=>t.getInstanceState().isToolLocked,[t]);return!e||NOT_LOCKABLE_TOOLS.includes(e)?null:(0,import_jsx_runtime122.jsx)(Button,{type:\\\"normal\\\",title:i(\\\"action.toggle-tool-lock\\\"),className:(0,import_classnames22[\\\"default\\\"])(\\\"tlui-toolbar__lock-button\\\",{\\\"tlui-toolbar__lock-button__mobile\\\":r\u003C5}),icon:n?\\\"lock\\\":\\\"unlock\\\",onClick:()=>t.updateInstanceState({isToolLocked:!n}),smallIcon:!0})}var Toolbar=(0,import_react118.memo)(function Toolbar2(){const e=useEditor(),t=useTranslation(),a=useBreakpoint(),s=import_react118[\\\"default\\\"].useRef(void 0);var r=useReadonly();const l=useToolbarSchema();var i=l.find(e=>\\\"laser\\\"===e.toolItem.id);const n=useValue(\\\"current tool id\\\",()=>e.getCurrentToolId(),[e]),o=useValue(\\\"geo\\\",()=>e.getSharedStyles().getAsKnownValue(GeoShapeGeoStyle),[e]);var c=!r;const d=e=>e.label?t(e.label)+\\\" \\\"+(e.kbd?kbdStr(e.kbd):\\\"\\\"):\\\"\\\",u=l.find(e=>isActiveTLUiToolItem(e.toolItem,n,o));var{itemsInPanel:p,itemsInDropdown:h,dropdownFirstItem:m}=import_react118[\\\"default\\\"].useMemo(()=>{var e=[],t=[];let r;var i=Math.min(8,5+a);for(let o=4;o\u003Cl.length;o++){var n=l[o];(o\u003Ci?e:(n===u&&(r=n),t)).push(n)}return r||(s.current||(s.current=t[0]),r=s.current,t.includes(r))||(r=t[0]),s.current=r,t.length\u003C=2&&(e.push(...t),t.length=0),{itemsInPanel:e,itemsInDropdown:t,dropdownFirstItem:r}},[l,u,a]);return(0,import_jsx_runtime123.jsx)(\\\"div\\\",{className:\\\"tlui-toolbar\\\",children:(0,import_jsx_runtime123.jsxs)(\\\"div\\\",{className:\\\"tlui-toolbar__inner\\\",children:[(0,import_jsx_runtime123.jsxs)(\\\"div\\\",{className:\\\"tlui-toolbar__left\\\",children:[!r&&(0,import_jsx_runtime123.jsxs)(\\\"div\\\",{className:\\\"tlui-toolbar__extras\\\",children:[a\u003C6&&!(\\\"hand\\\"===n||\\\"zoom\\\"===n)&&(0,import_jsx_runtime123.jsxs)(\\\"div\\\",{className:\\\"tlui-toolbar__extras__controls tlui-buttons__horizontal\\\",children:[(0,import_jsx_runtime123.jsx)(UndoButton,{}),(0,import_jsx_runtime123.jsx)(RedoButton,{}),(0,import_jsx_runtime123.jsx)(TrashButton,{}),(0,import_jsx_runtime123.jsx)(DuplicateButton,{}),(0,import_jsx_runtime123.jsx)(ActionsMenu,{})]}),(0,import_jsx_runtime123.jsx)(ToggleToolLockedButton,{activeToolId:n})]}),(0,import_jsx_runtime123.jsxs)(\\\"div\\\",{className:(0,import_classnames23[\\\"default\\\"])(\\\"tlui-toolbar__tools\\\",{\\\"tlui-toolbar__tools__mobile\\\":a\u003C5}),children:[l.slice(0,2).map(({toolItem:e})=>(0,import_jsx_runtime123.jsx)(ToolbarButton,{item:e,title:d(e),isSelected:isActiveTLUiToolItem(e,n,o)},e.id)),r&&i&&(0,import_jsx_runtime123.jsx)(ToolbarButton,{item:i.toolItem,title:d(i.toolItem),isSelected:isActiveTLUiToolItem(i.toolItem,n,o)},i.toolItem.id),c&&(0,import_jsx_runtime123.jsxs)(import_jsx_runtime123.Fragment,{children:[l.slice(2,4).map(({toolItem:e})=>(0,import_jsx_runtime123.jsx)(ToolbarButton,{item:e,title:d(e),isSelected:isActiveTLUiToolItem(e,n,o)},e.id)),p.map(({toolItem:e})=>(0,import_jsx_runtime123.jsx)(ToolbarButton,{item:e,title:d(e),isSelected:isActiveTLUiToolItem(e,n,o)},e.id)),h.length?(0,import_jsx_runtime123.jsxs)(import_jsx_runtime123.Fragment,{children:[(0,import_jsx_runtime123.jsx)(ToolbarButton,{item:m.toolItem,title:d(m.toolItem),isSelected:isActiveTLUiToolItem(m.toolItem,n,o)},m.toolItem.id),(0,import_jsx_runtime123.jsxs)(Root,{id:\\\"toolbar overflow\\\",modal:!1,children:[(0,import_jsx_runtime123.jsx)(Trigger,{children:(0,import_jsx_runtime123.jsx)(Button,{className:\\\"tlui-toolbar__overflow\\\",icon:\\\"chevron-up\\\",type:\\\"tool\\\",\\\"data-testid\\\":\\\"tools.more\\\",title:t(\\\"tool-panel.more\\\")})}),(0,import_jsx_runtime123.jsx)(Content,{side:\\\"top\\\",align:\\\"center\\\",children:(0,import_jsx_runtime123.jsx)(OverflowToolsContent,{toolbarItems:h})})]})]}):null]})]})]}),a\u003C5&&!r&&(0,import_jsx_runtime123.jsx)(\\\"div\\\",{className:\\\"tlui-toolbar__tools\\\",children:(0,import_jsx_runtime123.jsx)(MobileStylePanel,{})})]})})}),OverflowToolsContent=track(function OverflowToolsContent2({toolbarItems:e}){const s=useTranslation();return(0,import_jsx_runtime123.jsx)(\\\"div\\\",{className:\\\"tlui-buttons__grid\\\",children:e.map(({toolItem:{id:e,meta:t,kbd:r,label:i,onSelect:n,icon:o}})=>{var a;return(0,import_jsx_runtime123.jsx)(Item,{type:\\\"icon\\\",className:\\\"tlui-button-grid__button\\\",\\\"data-testid\\\":\\\"tools.more.\\\"+e,\\\"data-tool\\\":e,\\\"data-geo\\\":null!=(a=null==t?void 0:t.geo)?a:\\\"\\\",\\\"aria-label\\\":i,onClick:()=>n(\\\"toolbar\\\"),title:i?s(i)+\\\" \\\"+(r?kbdStr(r):\\\"\\\"):\\\"\\\",icon:o},e)})})});function ToolbarButton({item:t,title:e,isSelected:r}){var i;return(0,import_jsx_runtime123.jsx)(Button,{type:\\\"tool\\\",\\\"data-testid\\\":\\\"tools.\\\"+t.id,\\\"data-tool\\\":t.id,\\\"data-geo\\\":null!=(i=null==(i=t.meta)?void 0:i.geo)?i:\\\"\\\",\\\"aria-label\\\":t.label,title:e,icon:t.icon,\\\"data-state\\\":r?\\\"selected\\\":void 0,onClick:()=>t.onSelect(\\\"toolbar\\\"),onTouchStart:e=>{preventDefault(e),t.onSelect(\\\"toolbar\\\")}})}var isActiveTLUiToolItem=(e,t,r)=>{var i;return null!=(i=e.meta)&&i.geo?\\\"geo\\\"===t&&r===(null==(i=e.meta)?void 0:i.geo):t===e.id},import_react119=(init_esbuild_inject(),require(\\\"react\\\"));function useEditorEvents(){const t=useEditor(),r=useToasts()[\\\"addToast\\\"];(0,import_react119.useEffect)(()=>{function e({name:e,count:t}){r({title:\\\"Maximum Shapes Reached\\\",description:`You've reached the maximum number of shapes allowed on ${e} (${t}). Please delete some shapes or move to a different page to continue.`})}return t.addListener(\\\"max-shapes\\\",e),()=>{t.removeListener(\\\"max-shapes\\\",e)}},[t,r])}init_esbuild_inject(),init_esbuild_inject();var isff=\\\"undefined\\\"!=typeof navigator&&0\u003Cnavigator.userAgent.toLowerCase().indexOf(\\\"firefox\\\");function addEvent(e,t,r,i){e.addEventListener?e.addEventListener(t,r,i):e.attachEvent&&e.attachEvent(\\\"on\\\".concat(t),function(){r(window.event)})}function getMods(e,t){for(var r=t.slice(0,t.length-1),i=0;i\u003Cr.length;i++)r[i]=e[r[i].toLowerCase()];return r}function getKeys(e){for(var t=(e=(e=\\\"string\\\"!=typeof e?\\\"\\\":e).replace(/\\\\s/g,\\\"\\\")).split(\\\",\\\"),r=t.lastIndexOf(\\\"\\\");0\u003C=r;)t[r-1]+=\\\",\\\",t.splice(r,1),r=t.lastIndexOf(\\\"\\\");return t}function compareArray(e,t){for(var r=e.length>=t.length?e:t,i=e.length>=t.length?t:e,n=!0,o=0;o\u003Cr.length;o++)-1===i.indexOf(r[o])&&(n=!1);return n}for(var k,_keyMap={backspace:8,\\\"⌫\\\":8,tab:9,clear:12,enter:13,\\\"↩\\\":13,\\\"return\\\":13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,\\\"delete\\\":46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,\\\"⇪\\\":20,\\\",\\\":188,\\\".\\\":190,\\\"/\\\":191,\\\"`\\\":192,\\\"-\\\":isff?173:189,\\\"=\\\":isff?61:187,\\\";\\\":isff?59:186,\\\"'\\\":222,\\\"[\\\":219,\\\"]\\\":221,\\\"\\\\\\\\\\\":220},_modifier={\\\"⇧\\\":16,shift:16,\\\"⌥\\\":18,alt:18,option:18,\\\"⌃\\\":17,ctrl:17,control:17,\\\"⌘\\\":91,cmd:91,command:91},modifierMap={16:\\\"shiftKey\\\",18:\\\"altKey\\\",17:\\\"ctrlKey\\\",91:\\\"metaKey\\\",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},_mods={16:!1,18:!1,17:!1,91:!1},_handlers={},k=1;k\u003C20;k++)_keyMap[\\\"f\\\".concat(k)]=111+k;var _downKeys=[],winListendFocus=!1,_scope=\\\"all\\\",elementHasBindEvent=[],code=function code2(e){return _keyMap[e.toLowerCase()]||_modifier[e.toLowerCase()]||e.toUpperCase().charCodeAt(0)},getKey=function getKey2(t){return Object.keys(_keyMap).find(function(e){return _keyMap[e]===t})},getModifier=function getModifier2(t){return Object.keys(_modifier).find(function(e){return _modifier[e]===t})};function setScope(e){_scope=e||\\\"all\\\"}function getScope(){return _scope||\\\"all\\\"}function getPressedKeyCodes(){return _downKeys.slice(0)}function getPressedKeyString(){return _downKeys.map(function(e){return getKey(e)||getModifier(e)||String.fromCharCode(e)})}function getAllKeyCodes(){var o=[];return Object.keys(_handlers).forEach(function(e){_handlers[e].forEach(function(e){var t=e.key,r=e.scope,i=e.mods,n=e.shortcut;o.push({scope:r,shortcut:n,mods:i,keys:t.split(\\\"+\\\").map(function(e){return code(e)})})})}),o}function filter(e){var t=e.target||e.srcElement,r=t.tagName,i=!0;return i=!t.isContentEditable&&(\\\"INPUT\\\"!==r&&\\\"TEXTAREA\\\"!==r&&\\\"SELECT\\\"!==r||t.readOnly)?i:!1}function isPressed(e){return\\\"string\\\"==typeof e&&(e=code(e)),-1!==_downKeys.indexOf(e)}function deleteScope(e,t){var r,i,n;for(n in e=e||getScope(),_handlers)if(Object.prototype.hasOwnProperty.call(_handlers,n))for(r=_handlers[n],i=0;i\u003Cr.length;)r[i].scope===e?r.splice(i,1):i++;getScope()===e&&setScope(t||\\\"all\\\")}function clearModifier(e){var t=e.keyCode||e.which||e.charCode,r=_downKeys.indexOf(t);if(0\u003C=r&&_downKeys.splice(r,1),e.key&&\\\"meta\\\"===e.key.toLowerCase()&&_downKeys.splice(0,_downKeys.length),(t=93!==t&&224!==t?t:91)in _mods)for(var i in _mods[t]=!1,_modifier)_modifier[i]===t&&(hotkeys[i]=!1)}function unbind(e){if(void 0===e)Object.keys(_handlers).forEach(function(e){return delete _handlers[e]});else if(Array.isArray(e))e.forEach(function(e){e.key&&eachUnbind(e)});else if(\\\"object\\\"==typeof e)e.key&&eachUnbind(e);else if(\\\"string\\\"==typeof e){for(var t=arguments.length,r=new Array(1\u003Ct?t-1:0),i=1;i\u003Ct;i++)r[i-1]=arguments[i];var n=r[0],o=r[1];\\\"function\\\"==typeof n&&(o=n,n=\\\"\\\"),eachUnbind({key:e,scope:n,method:o,splitKey:\\\"+\\\"})}}var eachUnbind=function eachUnbind2(e){var t=e.key,o=e.scope,a=e.method,r=e.splitKey,s=void 0===r?\\\"+\\\":r;getKeys(t).forEach(function(e){var t,r=e.split(s),i=r.length,n=r[i-1],n=\\\"*\\\"===n?\\\"*\\\":code(n);_handlers[n]&&(o=o||getScope(),t=1\u003Ci?getMods(_modifier,r):[],_handlers[n]=_handlers[n].filter(function(e){return!((!a||e.method===a)&&e.scope===o&&compareArray(e.mods,t))}))})};function eventHandler(e,t,r,i){var n;if(t.element===i&&(t.scope===r||\\\"all\\\"===t.scope)){for(var o in n=0\u003Ct.mods.length,_mods)Object.prototype.hasOwnProperty.call(_mods,o)&&(!_mods[o]&&-1\u003Ct.mods.indexOf(+o)||_mods[o]&&-1===t.mods.indexOf(+o))&&(n=!1);(0!==t.mods.length||_mods[16]||_mods[18]||_mods[17]||_mods[91])&&!n&&\\\"*\\\"!==t.shortcut||(t.keys=[],t.keys=t.keys.concat(_downKeys),!1===t.method(e,t)&&(e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation&&e.stopPropagation(),e.cancelBubble)&&(e.cancelBubble=!0))}}function dispatch(r,e){var t=_handlers[\\\"*\\\"],i=r.keyCode||r.which||r.charCode;if(hotkeys.filter.call(this,r)){if(-1===_downKeys.indexOf(i=93!==i&&224!==i?i:91)&&229!==i&&_downKeys.push(i),[\\\"ctrlKey\\\",\\\"altKey\\\",\\\"shiftKey\\\",\\\"metaKey\\\"].forEach(function(e){var t=modifierMap[e];r[e]&&-1===_downKeys.indexOf(t)?_downKeys.push(t):!r[e]&&-1\u003C_downKeys.indexOf(t)?_downKeys.splice(_downKeys.indexOf(t),1):\\\"metaKey\\\"!==e||!r[e]||3!==_downKeys.length||r.ctrlKey||r.shiftKey||r.altKey||(_downKeys=_downKeys.slice(_downKeys.indexOf(t)))}),i in _mods){for(var n in _mods[i]=!0,_modifier)_modifier[n]===i&&(hotkeys[n]=!0);if(!t)return}for(var o in _mods)Object.prototype.hasOwnProperty.call(_mods,o)&&(_mods[o]=r[modifierMap[o]]);r.getModifierState&&(!r.altKey||r.ctrlKey)&&r.getModifierState(\\\"AltGraph\\\")&&(-1===_downKeys.indexOf(17)&&_downKeys.push(17),-1===_downKeys.indexOf(18)&&_downKeys.push(18),_mods[17]=!0,_mods[18]=!0);var a=getScope();if(t)for(var s=0;s\u003Ct.length;s++)t[s].scope===a&&(\\\"keydown\\\"===r.type&&t[s].keydown||\\\"keyup\\\"===r.type&&t[s].keyup)&&eventHandler(r,t[s],a,e);if(i in _handlers)for(var l=0;l\u003C_handlers[i].length;l++)if((\\\"keydown\\\"===r.type&&_handlers[i][l].keydown||\\\"keyup\\\"===r.type&&_handlers[i][l].keyup)&&_handlers[i][l].key){for(var c=_handlers[i][l],d=c.splitKey,u=c.key.split(d),p=[],h=0;h\u003Cu.length;h++)p.push(code(u[h]));p.sort().join(\\\"\\\")===_downKeys.sort().join(\\\"\\\")&&eventHandler(r,c,a,e)}}}function isElementBind(e){return-1\u003CelementHasBindEvent.indexOf(e)}function hotkeys(e,t,r){_downKeys=[];var i=getKeys(e),n=[],o=\\\"all\\\",a=document,s=0,l=!1,c=!0,d=\\\"+\\\",u=!1;for(void 0===r&&\\\"function\\\"==typeof t&&(r=t),\\\"[object Object]\\\"===Object.prototype.toString.call(t)&&(t.scope&&(o=t.scope),t.element&&(a=t.element),t.keyup&&(l=t.keyup),void 0!==t.keydown&&(c=t.keydown),void 0!==t.capture&&(u=t.capture),\\\"string\\\"==typeof t.splitKey)&&(d=t.splitKey),\\\"string\\\"==typeof t&&(o=t);s\u003Ci.length;s++)n=[],1\u003C(e=i[s].split(d)).length&&(n=getMods(_modifier,e)),(e=\\\"*\\\"===(e=e[e.length-1])?\\\"*\\\":code(e))in _handlers||(_handlers[e]=[]),_handlers[e].push({keyup:l,keydown:c,scope:o,mods:n,shortcut:i[s],method:r,key:i[s],splitKey:d,element:a});void 0!==a&&!isElementBind(a)&&window&&(elementHasBindEvent.push(a),addEvent(a,\\\"keydown\\\",function(e){dispatch(e,a)},u),winListendFocus||(winListendFocus=!0,addEvent(window,\\\"focus\\\",function(){_downKeys=[]},u)),addEvent(a,\\\"keyup\\\",function(e){dispatch(e,a),clearModifier(e)},u))}function trigger(t){var r=1\u003Carguments.length&&void 0!==arguments[1]?arguments[1]:\\\"all\\\";Object.keys(_handlers).forEach(function(e){_handlers[e].filter(function(e){return e.scope===r&&e.shortcut===t}).forEach(function(e){e&&e.method&&e.method()})})}var a,_hotkeys,_api={getPressedKeyString:getPressedKeyString,setScope:setScope,getScope:getScope,deleteScope:deleteScope,getPressedKeyCodes:getPressedKeyCodes,getAllKeyCodes:getAllKeyCodes,isPressed:isPressed,filter:filter,trigger:trigger,unbind:unbind,keyMap:_keyMap,modifier:_modifier,modifierMap:modifierMap};for(a in _api)Object.prototype.hasOwnProperty.call(_api,a)&&(hotkeys[a]=_api[a]);\\\"undefined\\\"!=typeof window&&(_hotkeys=window.hotkeys,hotkeys.noConflict=function(e){return e&&window.hotkeys===hotkeys&&(window.hotkeys=_hotkeys),hotkeys},window.hotkeys=hotkeys);var import_react120=require(\\\"react\\\"),SKIP_KBDS=[\\\"copy\\\",\\\"cut\\\",\\\"paste\\\",\\\"asset\\\"];function useKeyboardShortcuts(){const o=useEditor(),a=useReadonly(),s=useActions(),l=useTools(),c=useValue(\\\"is focused\\\",()=>o.getInstanceState().isFocused,[o]);(0,import_react120.useEffect)(()=>{if(c){const r=o.getContainer();hotkeys.setScope(o.store.id);var e=(e,t)=>{hotkeys(e,{element:r,scope:o.store.id},t)};const t=()=>o.getIsMenuOpen()||null!==o.getEditingShapeId()||o.getCrashingError();for(const i of Object.values(s))!i.kbd||a&&!i.readonlyOk||SKIP_KBDS.includes(i.id)||e(getHotkeysStringFromKbd(i.kbd),e=>{t()||(preventDefault(e),i.onSelect(\\\"kbd\\\"))});for(const n of Object.values(l))!n.kbd||!n.readonlyOk&&o.getInstanceState().isReadonly||SKIP_KBDS.includes(n.id)||e(getHotkeysStringFromKbd(n.kbd),e=>{t()||(preventDefault(e),n.onSelect(\\\"kbd\\\"))});return()=>{hotkeys.deleteScope(o.store.id)}}},[s,l,a,o,c])}function getHotkeysStringFromKbd(e){return getKeys2(e).map(e=>{let t=\\\"\\\";var r=e.split(\\\"\\\");return t=1===r.length?r[0]:\\\"!\\\"===r[0]?\\\"shift+\\\"+r[1]:\\\"?\\\"===r[0]?3===r.length&&\\\"!\\\"===r[1]?\\\"alt+shift+\\\"+r[2]:\\\"alt+\\\"+r[1]:\\\"$\\\"===r[0]?\\\"!\\\"===r[1]?`cmd+shift+${r[2]},ctrl+shift+`+r[2]:\\\"?\\\"===r[1]?`cmd+⌥+${r[2]},ctrl+alt+`+r[2]:`cmd+${r[1]},ctrl+`+r[1]:e}).join(\\\",\\\")}function getKeys2(e){var t=(e=(e=\\\"string\\\"!=typeof e?\\\"\\\":e).replace(/\\\\s/g,\\\"\\\")).split(\\\",\\\");let r=t.lastIndexOf(\\\"\\\");for(;0\u003C=r;)t[r-1]+=\\\",\\\",t.splice(r,1),r=t.lastIndexOf(\\\"\\\");return t}var TldrawUi=import_react121[\\\"default\\\"].memo(function TldrawUi2({shareZone:e,topZone:t,renderDebugMenuItems:r,children:i,hideUi:n,...o}){return(0,import_jsx_runtime124.jsx)(TldrawUiContextProvider,{...o,children:(0,import_jsx_runtime124.jsx)(TldrawUiInner,{hideUi:n,shareZone:e,topZone:t,renderDebugMenuItems:r,children:i})})}),TldrawUiInner=import_react121[\\\"default\\\"].memo(function TldrawUiInner2({children:e,hideUi:t,...r}){return(0,import_jsx_runtime124.jsxs)(import_jsx_runtime124.Fragment,{children:[e,t?null:(0,import_jsx_runtime124.jsx)(TldrawUiContent,{...r})]})}),TldrawUiContent=import_react121[\\\"default\\\"].memo(function TldrawUI({shareZone:e,topZone:t,renderDebugMenuItems:r}){const i=useEditor();var n=useTranslation(),o=useBreakpoint(),a=useValue(\\\"isReadonlyMode\\\",()=>i.getInstanceState().isReadonly,[i]),s=useValue(\\\"focus\\\",()=>i.getInstanceState().isFocusMode,[i]),l=useValue(\\\"debug\\\",()=>i.getInstanceState().isDebugMode,[i]);useKeyboardShortcuts(),useNativeClipboardEvents(),useEditorEvents();const c=useActions()[\\\"toggle-focus-mode\\\"];return(0,import_jsx_runtime124.jsx)($054eb8030ebde76e$export$f5d03d415824e0e,{children:(0,import_jsx_runtime124.jsxs)(\\\"div\\\",{className:(0,import_classnames24[\\\"default\\\"])(\\\"tlui-layout\\\",{\\\"tlui-layout__mobile\\\":o\u003C5}),\\\"data-breakpoint\\\":o,children:[s?(0,import_jsx_runtime124.jsx)(\\\"div\\\",{className:\\\"tlui-layout__top\\\",children:(0,import_jsx_runtime124.jsx)(Button,{type:\\\"icon\\\",className:\\\"tlui-focus-button\\\",title:\\\"\\\"+n(\\\"focus-mode.toggle-focus-mode\\\"),icon:\\\"dot\\\",onClick:()=>c.onSelect(\\\"menu\\\")})}):(0,import_jsx_runtime124.jsxs)(import_jsx_runtime124.Fragment,{children:[(0,import_jsx_runtime124.jsxs)(\\\"div\\\",{className:\\\"tlui-layout__top\\\",children:[(0,import_jsx_runtime124.jsxs)(\\\"div\\\",{className:\\\"tlui-layout__top__left\\\",children:[(0,import_jsx_runtime124.jsx)(MenuZone,{}),(0,import_jsx_runtime124.jsxs)(\\\"div\\\",{className:\\\"tlui-helper-buttons\\\",children:[(0,import_jsx_runtime124.jsx)(ExitPenMode,{}),(0,import_jsx_runtime124.jsx)(BackToContent,{}),(0,import_jsx_runtime124.jsx)(StopFollowing,{})]})]}),(0,import_jsx_runtime124.jsx)(\\\"div\\\",{className:\\\"tlui-layout__top__center\\\",children:t}),(0,import_jsx_runtime124.jsxs)(\\\"div\\\",{className:\\\"tlui-layout__top__right\\\",children:[e,5\u003C=o&&!a&&(0,import_jsx_runtime124.jsx)(\\\"div\\\",{className:\\\"tlui-style-panel__wrapper\\\",children:(0,import_jsx_runtime124.jsx)(StylePanel,{})})]})]}),(0,import_jsx_runtime124.jsxs)(\\\"div\\\",{className:\\\"tlui-layout__bottom\\\",children:[(0,import_jsx_runtime124.jsxs)(\\\"div\\\",{className:\\\"tlui-layout__bottom__main\\\",children:[(0,import_jsx_runtime124.jsx)(NavigationZone,{}),(0,import_jsx_runtime124.jsx)(Toolbar,{}),4\u003C=o&&(0,import_jsx_runtime124.jsx)(HelpMenu,{})]}),l&&(0,import_jsx_runtime124.jsx)(DebugPanel,{renderDebugMenuItems:null!=r?r:null})]})]}),(0,import_jsx_runtime124.jsx)(Toasts,{}),(0,import_jsx_runtime124.jsx)(Dialogs,{}),(0,import_jsx_runtime124.jsx)(ToastViewport,{}),(0,import_jsx_runtime124.jsx)(FollowingIndicator,{})]})})}),import_jsx_runtime126=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react122=(init_esbuild_inject(),require(\\\"react\\\")),$1b0217ee4a91d156$var$CONTEXT_MENU_NAME=\\\"ContextMenu\\\",[$1b0217ee4a91d156$var$createContextMenuContext,$1b0217ee4a91d156$export$1059331f43ddcc82]=$c512c27ab02ef895$export$50c7b4e9d9f19c1($1b0217ee4a91d156$var$CONTEXT_MENU_NAME,[$6cc32821e9371a1c$export$4027731b685e72eb]),$1b0217ee4a91d156$var$useMenuScope=$6cc32821e9371a1c$export$4027731b685e72eb(),[$1b0217ee4a91d156$var$ContextMenuProvider,$1b0217ee4a91d156$var$useContextMenuContext]=$1b0217ee4a91d156$var$createContextMenuContext($1b0217ee4a91d156$var$CONTEXT_MENU_NAME),$1b0217ee4a91d156$export$8dc6765e8be191c7=e=>{var{__scopeContextMenu:t,children:r,onOpenChange:i,dir:n,modal:o=!0}=e;const[a,s]=(0,import_react122.useState)(!1);var l=$1b0217ee4a91d156$var$useMenuScope(t);const c=$b1b2314f5f9a1d84$export$25bec8c6f54ee79a(i);i=(0,import_react122.useCallback)(e=>{s(e),c(e)},[c]);return(0,import_react122.createElement)($1b0217ee4a91d156$var$ContextMenuProvider,{scope:t,open:a,onOpenChange:i,modal:o},(0,import_react122.createElement)($6cc32821e9371a1c$export$be92b6f5f03c0fe9,_extends({},l,{dir:n,open:a,onOpenChange:i,modal:o}),r))},$1b0217ee4a91d156$var$TRIGGER_NAME=\\\"ContextMenuTrigger\\\",$1b0217ee4a91d156$export$be6fc7b1d5b0beb9=(0,import_react122.forwardRef)((e,t)=>{const{__scopeContextMenu:r,disabled:i=!1,...n}=e,o=$1b0217ee4a91d156$var$useContextMenuContext($1b0217ee4a91d156$var$TRIGGER_NAME,r);var a=$1b0217ee4a91d156$var$useMenuScope(r);const s=(0,import_react122.useRef)({x:0,y:0});var l=(0,import_react122.useRef)({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...s.current})});const c=(0,import_react122.useRef)(0),d=(0,import_react122.useCallback)(()=>window.clearTimeout(c.current),[]),u=e=>{s.current={x:e.clientX,y:e.clientY},o.onOpenChange(!0)};return(0,import_react122.useEffect)(()=>d,[d]),(0,import_react122.useEffect)(()=>{i&&d()},[i,d]),(0,import_react122.createElement)(import_react122.Fragment,null,(0,import_react122.createElement)($6cc32821e9371a1c$export$b688253958b8dfe7,_extends({},a,{virtualRef:l})),(0,import_react122.createElement)($8927f6f2acc4f386$export$250ffa63cdc0d034.span,_extends({\\\"data-state\\\":o.open?\\\"open\\\":\\\"closed\\\",\\\"data-disabled\\\":i?\\\"\\\":void 0},n,{ref:t,style:{WebkitTouchCallout:\\\"none\\\",...e.style},onContextMenu:i?e.onContextMenu:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onContextMenu,e=>{d(),u(e),e.preventDefault()}),onPointerDown:i?e.onPointerDown:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerDown,$1b0217ee4a91d156$var$whenTouchOrPen(e=>{d(),c.current=window.setTimeout(()=>u(e),700)})),onPointerMove:i?e.onPointerMove:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerMove,$1b0217ee4a91d156$var$whenTouchOrPen(d)),onPointerCancel:i?e.onPointerCancel:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerCancel,$1b0217ee4a91d156$var$whenTouchOrPen(d)),onPointerUp:i?e.onPointerUp:$e42e1063c40fb3ef$export$b9ecd428b558ff10(e.onPointerUp,$1b0217ee4a91d156$var$whenTouchOrPen(d))})))}),$1b0217ee4a91d156$export$14afd0be83e45060=e=>{const{__scopeContextMenu:t,...r}=e;var i=$1b0217ee4a91d156$var$useMenuScope(t);return(0,import_react122.createElement)($6cc32821e9371a1c$export$602eac185826482c,_extends({},i,r))},$1b0217ee4a91d156$var$CONTENT_NAME=\\\"ContextMenuContent\\\",$1b0217ee4a91d156$export$572205900c9369e=(0,import_react122.forwardRef)((r,e)=>{const{__scopeContextMenu:t,...i}=r,n=$1b0217ee4a91d156$var$useContextMenuContext($1b0217ee4a91d156$var$CONTENT_NAME,t);var o=$1b0217ee4a91d156$var$useMenuScope(t);const a=(0,import_react122.useRef)(!1);return(0,import_react122.createElement)($6cc32821e9371a1c$export$7c6e2c02157bb7d2,_extends({},o,i,{ref:e,side:\\\"right\\\",sideOffset:2,align:\\\"start\\\",onCloseAutoFocus:e=>{var t;null!=(t=r.onCloseAutoFocus)&&t.call(r,e),!e.defaultPrevented&&a.current&&e.preventDefault(),a.current=!1},onInteractOutside:e=>{var t;null!=(t=r.onInteractOutside)&&t.call(r,e),e.defaultPrevented||n.modal||(a.current=!0)},style:{...r.style,\\\"--radix-context-menu-content-transform-origin\\\":\\\"var(--radix-popper-transform-origin)\\\",\\\"--radix-context-menu-content-available-width\\\":\\\"var(--radix-popper-available-width)\\\",\\\"--radix-context-menu-content-available-height\\\":\\\"var(--radix-popper-available-height)\\\",\\\"--radix-context-menu-trigger-width\\\":\\\"var(--radix-popper-anchor-width)\\\",\\\"--radix-context-menu-trigger-height\\\":\\\"var(--radix-popper-anchor-height)\\\"}}))}),$1b0217ee4a91d156$export$9860523b0fcdd664=(0,import_react122.forwardRef)((e,t)=>{const{__scopeContextMenu:r,...i}=e;var n=$1b0217ee4a91d156$var$useMenuScope(r);return(0,import_react122.createElement)($6cc32821e9371a1c$export$eb2fcfdbd7ba97d4,_extends({},n,i,{ref:t}))}),$1b0217ee4a91d156$export$16a26dc176a49100=(0,import_react122.forwardRef)((e,t)=>{const{__scopeContextMenu:r,...i}=e;var n=$1b0217ee4a91d156$var$useMenuScope(r);return(0,import_react122.createElement)($6cc32821e9371a1c$export$6d08773d2e66f8f2,_extends({},n,i,{ref:t}))}),$1b0217ee4a91d156$export$b6adbe51d5d8b7ec=(0,import_react122.forwardRef)((e,t)=>{const{__scopeContextMenu:r,...i}=e;var n=$1b0217ee4a91d156$var$useMenuScope(r);return(0,import_react122.createElement)($6cc32821e9371a1c$export$16ce288f89fa631c,_extends({},n,i,{ref:t}))}),$1b0217ee4a91d156$export$5bc21d1c00c4b201=e=>{var{__scopeContextMenu:t,children:r,onOpenChange:i,open:n,defaultOpen:o}=e,t=$1b0217ee4a91d156$var$useMenuScope(t),[n,o]=$71cd76cc60e0454e$export$6f32135080cb4c3({prop:n,defaultProp:o,onChange:i});return(0,import_react122.createElement)($6cc32821e9371a1c$export$d7a01e11500dfb6f,_extends({},t,{open:n,onOpenChange:o}),r)},$1b0217ee4a91d156$export$30b2b5c64556d316=(0,import_react122.forwardRef)((e,t)=>{const{__scopeContextMenu:r,...i}=e;var n=$1b0217ee4a91d156$var$useMenuScope(r);return(0,import_react122.createElement)($6cc32821e9371a1c$export$2ea8a7a591ac5eac,_extends({},n,i,{ref:t}))}),$1b0217ee4a91d156$export$2c967063bd2dc512=(0,import_react122.forwardRef)((e,t)=>{const{__scopeContextMenu:r,...i}=e;var n=$1b0217ee4a91d156$var$useMenuScope(r);return(0,import_react122.createElement)($6cc32821e9371a1c$export$6d4de93b380beddf,_extends({},n,i,{ref:t,style:{...e.style,\\\"--radix-context-menu-content-transform-origin\\\":\\\"var(--radix-popper-transform-origin)\\\",\\\"--radix-context-menu-content-available-width\\\":\\\"var(--radix-popper-available-width)\\\",\\\"--radix-context-menu-content-available-height\\\":\\\"var(--radix-popper-available-height)\\\",\\\"--radix-context-menu-trigger-width\\\":\\\"var(--radix-popper-anchor-width)\\\",\\\"--radix-context-menu-trigger-height\\\":\\\"var(--radix-popper-anchor-height)\\\"}}))});function $1b0217ee4a91d156$var$whenTouchOrPen(t){return e=>\\\"mouse\\\"!==e.pointerType?t(e):void 0}var $1b0217ee4a91d156$export$be92b6f5f03c0fe9=$1b0217ee4a91d156$export$8dc6765e8be191c7,$1b0217ee4a91d156$export$41fb9f06171c75f4=$1b0217ee4a91d156$export$be6fc7b1d5b0beb9,$1b0217ee4a91d156$export$602eac185826482c=$1b0217ee4a91d156$export$14afd0be83e45060,$1b0217ee4a91d156$export$7c6e2c02157bb7d2=$1b0217ee4a91d156$export$572205900c9369e,$1b0217ee4a91d156$export$eb2fcfdbd7ba97d4=$1b0217ee4a91d156$export$9860523b0fcdd664,$1b0217ee4a91d156$export$6d08773d2e66f8f2=$1b0217ee4a91d156$export$16a26dc176a49100,$1b0217ee4a91d156$export$16ce288f89fa631c=$1b0217ee4a91d156$export$b6adbe51d5d8b7ec,$1b0217ee4a91d156$export$d7a01e11500dfb6f=$1b0217ee4a91d156$export$5bc21d1c00c4b201,$1b0217ee4a91d156$export$2ea8a7a591ac5eac=$1b0217ee4a91d156$export$30b2b5c64556d316,$1b0217ee4a91d156$export$6d4de93b380beddf=$1b0217ee4a91d156$export$2c967063bd2dc512,import_classnames25=__toESM(require_classnames(),1),import_react123=require(\\\"react\\\"),import_jsx_runtime125=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),MoveToPageMenu=track(function MoveToPageMenu2(){const r=useEditor();var e=useContainer(),t=r.getPages();const i=r.getCurrentPageId(),n=useTranslation(),o=useToasts()[\\\"addToast\\\"];return(0,import_jsx_runtime125.jsxs)($1b0217ee4a91d156$export$d7a01e11500dfb6f,{children:[(0,import_jsx_runtime125.jsx)($1b0217ee4a91d156$export$2ea8a7a591ac5eac,{dir:\\\"ltr\\\",asChild:!0,children:(0,import_jsx_runtime125.jsx)(Button,{type:\\\"menu\\\",label:\\\"context-menu.move-to-page\\\",\\\"data-testid\\\":\\\"menu-item.move-to-page\\\",icon:\\\"chevron-right\\\"})}),(0,import_jsx_runtime125.jsx)($1b0217ee4a91d156$export$602eac185826482c,{container:e,children:(0,import_jsx_runtime125.jsxs)($1b0217ee4a91d156$export$6d4de93b380beddf,{className:\\\"tlui-menu\\\",sideOffset:-4,collisionPadding:4,children:[(0,import_jsx_runtime125.jsx)($1b0217ee4a91d156$export$eb2fcfdbd7ba97d4,{dir:\\\"ltr\\\",className:\\\"tlui-menu__group\\\",\\\"data-testid\\\":\\\"menu-item.pages\\\",children:t.map(t=>(0,import_jsx_runtime125.jsx)($1b0217ee4a91d156$export$6d08773d2e66f8f2,{disabled:i===t.id,onSelect:()=>{r.mark(\\\"move_shapes_to_page\\\"),r.moveShapesToPage(r.getSelectedShapeIds(),t.id);var e=r.getPage(t.id);e&&o({title:\\\"Changed Page\\\",description:`Moved to ${e.name}.`,actions:[{label:\\\"Go Back\\\",type:\\\"primary\\\",onClick:()=>{r.mark(\\\"change-page\\\"),r.setCurrentPage(i)}}]})},asChild:!0,children:(0,import_jsx_runtime125.jsx)(Button,{type:\\\"menu\\\",title:t.name,className:\\\"tlui-context-menu__move-to-page__name\\\",children:(0,import_jsx_runtime125.jsx)(\\\"span\\\",{className:\\\"tlui-button__label\\\",children:t.name})})},t.id))},\\\"pages\\\"),(0,import_jsx_runtime125.jsx)($1b0217ee4a91d156$export$eb2fcfdbd7ba97d4,{dir:\\\"ltr\\\",className:\\\"tlui-menu__group\\\",\\\"data-testid\\\":\\\"menu-item.new-page\\\",children:(0,import_jsx_runtime125.jsx)($1b0217ee4a91d156$export$6d08773d2e66f8f2,{onSelect:()=>{const e=PageRecordType.createId(),t=r.getSelectedShapeIds();r.batch(()=>{r.mark(\\\"move_shapes_to_page\\\"),r.createPage({name:n(\\\"page-menu.new-page-initial-name\\\"),id:e}),r.moveShapesToPage(t,e)})},asChild:!0,children:(0,import_jsx_runtime125.jsx)(Button,{type:\\\"menu\\\",title:n(\\\"context.pages.new-page\\\"),className:\\\"tlui-context-menu__move-to-page__name\\\",children:(0,import_jsx_runtime125.jsx)(\\\"span\\\",{className:\\\"tlui-button__label\\\",children:n(\\\"context.pages.new-page\\\")})})},\\\"new-page\\\")},\\\"new-page\\\")]})})]})}),ContextMenu=function ContextMenu2({children:e}){const i=useEditor();var t=useContextMenuSchema(),[r,n]=useMenuIsOpen(\\\"context menu\\\",(0,import_react123.useCallback)(e=>{if(e){if(i.getInstanceState().isCoarsePointer){const r=i.getSelectedShapes();var t=i[\\\"inputs\\\"][\\\"currentPagePoint\\\"],t=i.getShapesAtPoint(t);i.getSelectedShapes().length&&t.some(e=>r.includes(e))||(t=t.filter(e=>i.isShapeOrAncestorLocked(e))).length&&i.select(...t.map(e=>e.id))}}else{t=i.getOnlySelectedShape();t&&i.isShapeOrAncestorLocked(t)&&i.setSelectedShapes([])}},[i])),o=useReadonly(),o=0===t.length||o&&t.every(e=>!e.readonlyOk),t=!useValue(\\\"isSelectToolActive\\\",()=>\\\"select\\\"===i.getCurrentToolId(),[i])||o;return(0,import_jsx_runtime126.jsxs)($1b0217ee4a91d156$export$be92b6f5f03c0fe9,{dir:\\\"ltr\\\",onOpenChange:n,modal:!1,children:[(0,import_jsx_runtime126.jsx)($1b0217ee4a91d156$export$41fb9f06171c75f4,{onContextMenu:t?preventDefault:void 0,dir:\\\"ltr\\\",disabled:t,children:e}),r&&(0,import_jsx_runtime126.jsx)(ContextMenuContent,{})]})},ContextMenuContent=(0,import_react123.forwardRef)(function ContextMenuContent2(){const t=useEditor(),m=useTranslation();var e=useContextMenuSchema();const[,g]=useMenuIsOpen(\\\"context menu sub\\\"),_=useReadonly(),f=useBreakpoint(),b=useContainer(),[v,y]=(0,import_react123.useState)(!1);return(0,import_jsx_runtime126.jsx)($1b0217ee4a91d156$export$602eac185826482c,{container:b,children:(0,import_jsx_runtime126.jsx)($1b0217ee4a91d156$export$7c6e2c02157bb7d2,{className:\\\"tlui-menu scrollable\\\",alignOffset:-4,collisionPadding:4,onContextMenu:preventDefault,children:e.map(e=>function h(t,r,e,i){if(!r)return null;if(_&&!r.readonlyOk)return null;switch(r.type){case\\\"custom\\\":if(\\\"MOVE_TO_PAGE_MENU\\\"===r.id)return(0,import_jsx_runtime126.jsx)(MoveToPageMenu,{},r.id);break;case\\\"group\\\":return(0,import_jsx_runtime126.jsx)($1b0217ee4a91d156$export$eb2fcfdbd7ba97d4,{dir:\\\"ltr\\\",className:(0,import_classnames25[\\\"default\\\"])(\\\"tlui-menu__group\\\",{\\\"tlui-menu__group__small\\\":\\\"submenu\\\"===(null==e?void 0:e.type)}),\\\"data-testid\\\":\\\"menu-item.\\\"+r.id,children:r.children.map(e=>h(t,e,r,i+1))},r.id);case\\\"submenu\\\":return(0,import_jsx_runtime126.jsxs)($1b0217ee4a91d156$export$d7a01e11500dfb6f,{onOpenChange:g,children:[(0,import_jsx_runtime126.jsx)($1b0217ee4a91d156$export$2ea8a7a591ac5eac,{dir:\\\"ltr\\\",disabled:r.disabled,asChild:!0,children:(0,import_jsx_runtime126.jsx)(Button,{type:\\\"menu\\\",label:r.label,\\\"data-testid\\\":\\\"menu-item.\\\"+r.id,icon:\\\"chevron-right\\\"})}),(0,import_jsx_runtime126.jsx)($1b0217ee4a91d156$export$602eac185826482c,{container:b,children:(0,import_jsx_runtime126.jsx)($1b0217ee4a91d156$export$6d4de93b380beddf,{className:\\\"tlui-menu\\\",sideOffset:-4,collisionPadding:4,children:r.children.map(e=>h(t,e,r,i+1))})})]},r.id);case\\\"item\\\":{if(_&&!r.readonlyOk)return null;const{id:a,checkbox:s,contextMenuLabel:l,label:c,onSelect:d,kbd:u,icon:p}=r.actionItem;var n=null!=l?l:c,o=n?m(n):void 0;return s?(0,import_jsx_runtime126.jsxs)($1b0217ee4a91d156$export$16ce288f89fa631c,{className:\\\"tlui-button tlui-button__menu tlui-button__checkbox\\\",dir:\\\"ltr\\\",disabled:r.disabled,onSelect:e=>{d(\\\"context-menu\\\"),preventDefault(e)},title:o||void 0,checked:r.checked,children:[(0,import_jsx_runtime126.jsx)(Icon,{small:!0,icon:r.checked?\\\"check\\\":\\\"checkbox-empty\\\"}),o&&(0,import_jsx_runtime126.jsx)(\\\"span\\\",{className:\\\"tlui-button__label\\\",draggable:!1,children:o}),u&&(0,import_jsx_runtime126.jsx)(Kbd,{children:u})]},a):(0,import_jsx_runtime126.jsx)($1b0217ee4a91d156$export$6d08773d2e66f8f2,{dir:\\\"ltr\\\",asChild:!0,children:(0,import_jsx_runtime126.jsx)(Button,{type:\\\"menu\\\",\\\"data-testid\\\":\\\"menu-item.\\\"+a,kbd:u,label:n,disabled:r.disabled,iconLeft:f\u003C3&&2\u003Ci?p:void 0,onClick:()=>{v?y(!1):d(\\\"context-menu\\\")}})},a)}}}(t,e,null,0))})})}),import_react124=(init_esbuild_inject(),require(\\\"react\\\")),usePreloadFont=(d,u)=>{const[e,p]=(0,import_react124.useState)(2);return(0,import_react124.useEffect)(()=>{var{url:e,style:t=\\\"normal\\\",weight:r=\\\"500\\\",display:i,featureSettings:n,stretch:o,unicodeRange:a,variant:s}=u;let l=!1;p(2);const c=new FontFace(d,`url(${e})`,{style:t,weight:r,display:i,featureSettings:n,stretch:o,unicodeRange:a,variant:s});return c.load().then(()=>{l||(document.fonts.add(c),p(0))})[\\\"catch\\\"](e=>{l||(console.error(e),p(1))}),c.$$_url=e,c.$$_fontface=`\\n@font-face {\\n\\tfont-family: ${c.family};\\n\\tfont-stretch: ${c.stretch};\\n\\tfont-weight: ${c.weight};\\n\\tfont-style: ${c.style};\\n\\tsrc: url(\\\"${e}\\\") format(\\\"woff2\\\")\\n}`,()=>{document.fonts[\\\"delete\\\"](c),l=!0}},[d,u]),e};function getTypefaces(e){return{draw:{url:e.fonts.draw},serif:{url:e.fonts.serif},sansSerif:{url:e.fonts.sansSerif},monospace:{url:e.fonts.monospace}}}function usePreloadAssets(e){var t=(0,import_react124.useMemo)(()=>getTypefaces(e),[e]),t=[usePreloadFont(\\\"tldraw_draw\\\",t.draw),usePreloadFont(\\\"tldraw_serif\\\",t.serif),usePreloadFont(\\\"tldraw_sans\\\",t.sansSerif),usePreloadFont(\\\"tldraw_mono\\\",t.monospace)];return{error:t.some(e=>1===e),done:!t.some(e=>2===e)}}function Tldraw(e){const{children:t,maxImageDimension:r,maxAssetSize:i,acceptedImageMimeTypes:n,acceptedVideoMimeTypes:o,onMount:a,...s}=e,l=useShallowObjectIdentity(null!=(u=s.components)?u:{}),c=useShallowArrayIdentity(null!=(u=s.shapeUtils)?u:[]),d=useShallowArrayIdentity(null!=(u=s.tools)?u:[]);var u={initialState:\\\"select\\\",...s,components:(0,import_react125.useMemo)(()=>({Scribble:TldrawScribble,CollaboratorScribble:TldrawScribble,SelectionForeground:TldrawSelectionForeground,SelectionBackground:TldrawSelectionBackground,Handles:TldrawHandles,HoveredShapeIndicator:TldrawHoveredShapeIndicator,...l}),[l]),shapeUtils:(0,import_react125.useMemo)(()=>[...defaultShapeUtils,...c],[c]),tools:(0,import_react125.useMemo)(()=>[...defaultTools,...defaultShapeTools,...d],[d])},{done:p,error:h}=usePreloadAssets(useDefaultEditorAssetsWithOverrides(s.assetUrls));return h?(0,import_jsx_runtime127.jsx)(ErrorScreen,{children:\\\"Could not load assets. Please refresh the page.\\\"}):p?(0,import_jsx_runtime127.jsx)(TldrawEditor,{...u,children:(0,import_jsx_runtime127.jsxs)(TldrawUi,{...u,children:[(0,import_jsx_runtime127.jsx)(ContextMenu,{children:(0,import_jsx_runtime127.jsx)(Canvas,{})}),(0,import_jsx_runtime127.jsx)(InsideOfEditorContext,{maxImageDimension:r,maxAssetSize:i,acceptedImageMimeTypes:n,acceptedVideoMimeTypes:o,onMount:a}),t]})}):(0,import_jsx_runtime127.jsx)(LoadingScreen,{children:\\\"Loading assets...\\\"})}function InsideOfEditorContext({maxImageDimension:r=1e3,maxAssetSize:i=10485760,acceptedImageMimeTypes:n=[\\\"image/jpeg\\\",\\\"image/png\\\",\\\"image/gif\\\",\\\"image/svg+xml\\\"],acceptedVideoMimeTypes:o=[\\\"video/mp4\\\",\\\"video/quicktime\\\"],onMount:a}){const e=useEditor(),t=useEvent2(e=>{const t=[];return t.push(...registerDefaultSideEffects(e)),registerDefaultExternalContentHandlers(e,{maxImageDimension:r,maxAssetSize:i,acceptedImageMimeTypes:n,acceptedVideoMimeTypes:o}),t.push(null==a?void 0:a(e)),()=>{t.forEach(e=>null==e?void 0:e())}});return(0,import_react125.useLayoutEffect)(()=>!e||null==t?void 0:t(e),[e,t]),null}function useEvent2(e){const r=(0,import_react125.useRef)();return(0,import_react125.useLayoutEffect)(()=>{r.current=e}),(0,import_react125.useDebugValue)(e),(0,import_react125.useCallback)((...e)=>{var t=r.current;return assert(t,\\\"fn does not exist\\\"),t(...e)},[])}init_esbuild_inject();var import_jsx_runtime128=require(\\\"react/jsx-runtime\\\"),import_classnames26=__toESM(require_classnames(),1),import_react126=require(\\\"react\\\"),LATEST_TLDRAW_FILE_FORMAT_VERSION=(init_esbuild_inject(),init_esbuild_inject(),1),tldrawFileValidator=validation_exports.object({tldrawFileFormatVersion:validation_exports.nonZeroInteger,schema:validation_exports.object({schemaVersion:validation_exports.positiveInteger,storeVersion:validation_exports.positiveInteger,recordVersions:validation_exports.dict(validation_exports.string,validation_exports.object({version:validation_exports.positiveInteger,subTypeVersions:validation_exports.dict(validation_exports.string,validation_exports.positiveInteger).optional(),subTypeKey:validation_exports.string.optional()}))}),records:validation_exports.arrayOf(validation_exports.object({id:validation_exports.string,typeName:validation_exports.string}).allowUnknownProperties())});function isV1File(e){var t;try{return null!=(t=e.document)&&t.version?!0:!1}catch(r){return!1}}function parseTldrawJsonFile({json:e,schema:t}){let r;try{r=tldrawFileValidator.validate(JSON.parse(e))}catch(o){try{if(isV1File(r=JSON.parse(e)))return Result.err({type:\\\"v1File\\\",data:r})}catch(a){}return Result.err({type:\\\"notATldrawFile\\\",cause:o})}if(r.tldrawFileFormatVersion>LATEST_TLDRAW_FILE_FORMAT_VERSION)return Result.err({type:\\\"fileFormatVersionTooNew\\\",version:r.tldrawFileFormatVersion});let i;try{var n=Object.fromEntries(r.records.map(e=>[e.id,e]));i=t.migrateStoreSnapshot({store:n,schema:r.schema})}catch(o){return Result.err({type:\\\"invalidRecords\\\",cause:o})}if(\\\"error\\\"===i.type)return Result.err({type:\\\"migrationFailed\\\",reason:i.reason});try{return Result.ok(createTLStore({initialData:i.value,schema:t}))}catch(o){return Result.err({type:\\\"invalidRecords\\\",cause:o})}}async function serializeTldrawJson(e){var t=[];const r=new Set;var i=[];for(const o of e.allRecords())switch(o.typeName){case\\\"asset\\\":if(\\\"bookmark\\\"!==o.type&&o.props.src&&!o.props.src.startsWith(\\\"data:\\\")){let e;try{e=await FileHelpers.fileToBase64(await(await fetch(o.props.src)).blob())}catch{e=o.props.src}i.push({...o,props:{...o.props,src:e}})}else i.push(o);break;case\\\"shape\\\":\\\"assetId\\\"in o.props&&r.add(o.props.assetId),t.push(o);break;default:t.push(o)}var n=t.concat(i.filter(e=>r.has(e.id)));return JSON.stringify({tldrawFileFormatVersion:LATEST_TLDRAW_FILE_FORMAT_VERSION,schema:e.schema.serialize(),records:n})}function getAssetUrlsByMetaUrl(e){return{fonts:{monospace:e(\\\"fonts/IBMPlexMono-Medium.woff2\\\"),sansSerif:e(\\\"fonts/IBMPlexSans-Medium.woff2\\\"),serif:e(\\\"fonts/IBMPlexSerif-Medium.woff2\\\"),draw:e(\\\"fonts/Shantell_Sans-Tldrawish.woff2\\\")},icons:{\\\"align-bottom-center\\\":e(\\\"icons/icon/align-bottom-center.svg\\\"),\\\"align-bottom-left\\\":e(\\\"icons/icon/align-bottom-left.svg\\\"),\\\"align-bottom-right\\\":e(\\\"icons/icon/align-bottom-right.svg\\\"),\\\"align-bottom\\\":e(\\\"icons/icon/align-bottom.svg\\\"),\\\"align-center-center\\\":e(\\\"icons/icon/align-center-center.svg\\\"),\\\"align-center-horizontal\\\":e(\\\"icons/icon/align-center-horizontal.svg\\\"),\\\"align-center-left\\\":e(\\\"icons/icon/align-center-left.svg\\\"),\\\"align-center-right\\\":e(\\\"icons/icon/align-center-right.svg\\\"),\\\"align-center-vertical\\\":e(\\\"icons/icon/align-center-vertical.svg\\\"),\\\"align-left\\\":e(\\\"icons/icon/align-left.svg\\\"),\\\"align-right\\\":e(\\\"icons/icon/align-right.svg\\\"),\\\"align-top-center\\\":e(\\\"icons/icon/align-top-center.svg\\\"),\\\"align-top-left\\\":e(\\\"icons/icon/align-top-left.svg\\\"),\\\"align-top-right\\\":e(\\\"icons/icon/align-top-right.svg\\\"),\\\"align-top\\\":e(\\\"icons/icon/align-top.svg\\\"),\\\"arrow-left\\\":e(\\\"icons/icon/arrow-left.svg\\\"),\\\"arrowhead-arrow\\\":e(\\\"icons/icon/arrowhead-arrow.svg\\\"),\\\"arrowhead-bar\\\":e(\\\"icons/icon/arrowhead-bar.svg\\\"),\\\"arrowhead-diamond\\\":e(\\\"icons/icon/arrowhead-diamond.svg\\\"),\\\"arrowhead-dot\\\":e(\\\"icons/icon/arrowhead-dot.svg\\\"),\\\"arrowhead-none\\\":e(\\\"icons/icon/arrowhead-none.svg\\\"),\\\"arrowhead-square\\\":e(\\\"icons/icon/arrowhead-square.svg\\\"),\\\"arrowhead-triangle-inverted\\\":e(\\\"icons/icon/arrowhead-triangle-inverted.svg\\\"),\\\"arrowhead-triangle\\\":e(\\\"icons/icon/arrowhead-triangle.svg\\\"),\\\"aspect-ratio\\\":e(\\\"icons/icon/aspect-ratio.svg\\\"),avatar:e(\\\"icons/icon/avatar.svg\\\"),blob:e(\\\"icons/icon/blob.svg\\\"),\\\"bring-forward\\\":e(\\\"icons/icon/bring-forward.svg\\\"),\\\"bring-to-front\\\":e(\\\"icons/icon/bring-to-front.svg\\\"),check:e(\\\"icons/icon/check.svg\\\"),\\\"checkbox-checked\\\":e(\\\"icons/icon/checkbox-checked.svg\\\"),\\\"checkbox-empty\\\":e(\\\"icons/icon/checkbox-empty.svg\\\"),\\\"chevron-down\\\":e(\\\"icons/icon/chevron-down.svg\\\"),\\\"chevron-left\\\":e(\\\"icons/icon/chevron-left.svg\\\"),\\\"chevron-right\\\":e(\\\"icons/icon/chevron-right.svg\\\"),\\\"chevron-up\\\":e(\\\"icons/icon/chevron-up.svg\\\"),\\\"chevrons-ne\\\":e(\\\"icons/icon/chevrons-ne.svg\\\"),\\\"chevrons-sw\\\":e(\\\"icons/icon/chevrons-sw.svg\\\"),\\\"clipboard-copied\\\":e(\\\"icons/icon/clipboard-copied.svg\\\"),\\\"clipboard-copy\\\":e(\\\"icons/icon/clipboard-copy.svg\\\"),code:e(\\\"icons/icon/code.svg\\\"),collab:e(\\\"icons/icon/collab.svg\\\"),color:e(\\\"icons/icon/color.svg\\\"),comment:e(\\\"icons/icon/comment.svg\\\"),\\\"cross-2\\\":e(\\\"icons/icon/cross-2.svg\\\"),cross:e(\\\"icons/icon/cross.svg\\\"),\\\"dash-dashed\\\":e(\\\"icons/icon/dash-dashed.svg\\\"),\\\"dash-dotted\\\":e(\\\"icons/icon/dash-dotted.svg\\\"),\\\"dash-draw\\\":e(\\\"icons/icon/dash-draw.svg\\\"),\\\"dash-solid\\\":e(\\\"icons/icon/dash-solid.svg\\\"),discord:e(\\\"icons/icon/discord.svg\\\"),\\\"distribute-horizontal\\\":e(\\\"icons/icon/distribute-horizontal.svg\\\"),\\\"distribute-vertical\\\":e(\\\"icons/icon/distribute-vertical.svg\\\"),dot:e(\\\"icons/icon/dot.svg\\\"),\\\"dots-horizontal\\\":e(\\\"icons/icon/dots-horizontal.svg\\\"),\\\"dots-vertical\\\":e(\\\"icons/icon/dots-vertical.svg\\\"),\\\"drag-handle-dots\\\":e(\\\"icons/icon/drag-handle-dots.svg\\\"),duplicate:e(\\\"icons/icon/duplicate.svg\\\"),edit:e(\\\"icons/icon/edit.svg\\\"),\\\"external-link\\\":e(\\\"icons/icon/external-link.svg\\\"),file:e(\\\"icons/icon/file.svg\\\"),\\\"fill-none\\\":e(\\\"icons/icon/fill-none.svg\\\"),\\\"fill-pattern\\\":e(\\\"icons/icon/fill-pattern.svg\\\"),\\\"fill-semi\\\":e(\\\"icons/icon/fill-semi.svg\\\"),\\\"fill-solid\\\":e(\\\"icons/icon/fill-solid.svg\\\"),follow:e(\\\"icons/icon/follow.svg\\\"),following:e(\\\"icons/icon/following.svg\\\"),\\\"font-draw\\\":e(\\\"icons/icon/font-draw.svg\\\"),\\\"font-mono\\\":e(\\\"icons/icon/font-mono.svg\\\"),\\\"font-sans\\\":e(\\\"icons/icon/font-sans.svg\\\"),\\\"font-serif\\\":e(\\\"icons/icon/font-serif.svg\\\"),\\\"geo-arrow-down\\\":e(\\\"icons/icon/geo-arrow-down.svg\\\"),\\\"geo-arrow-left\\\":e(\\\"icons/icon/geo-arrow-left.svg\\\"),\\\"geo-arrow-right\\\":e(\\\"icons/icon/geo-arrow-right.svg\\\"),\\\"geo-arrow-up\\\":e(\\\"icons/icon/geo-arrow-up.svg\\\"),\\\"geo-check-box\\\":e(\\\"icons/icon/geo-check-box.svg\\\"),\\\"geo-cloud\\\":e(\\\"icons/icon/geo-cloud.svg\\\"),\\\"geo-diamond\\\":e(\\\"icons/icon/geo-diamond.svg\\\"),\\\"geo-ellipse\\\":e(\\\"icons/icon/geo-ellipse.svg\\\"),\\\"geo-hexagon\\\":e(\\\"icons/icon/geo-hexagon.svg\\\"),\\\"geo-octagon\\\":e(\\\"icons/icon/geo-octagon.svg\\\"),\\\"geo-oval\\\":e(\\\"icons/icon/geo-oval.svg\\\"),\\\"geo-pentagon\\\":e(\\\"icons/icon/geo-pentagon.svg\\\"),\\\"geo-rectangle\\\":e(\\\"icons/icon/geo-rectangle.svg\\\"),\\\"geo-rhombus-2\\\":e(\\\"icons/icon/geo-rhombus-2.svg\\\"),\\\"geo-rhombus\\\":e(\\\"icons/icon/geo-rhombus.svg\\\"),\\\"geo-star\\\":e(\\\"icons/icon/geo-star.svg\\\"),\\\"geo-trapezoid\\\":e(\\\"icons/icon/geo-trapezoid.svg\\\"),\\\"geo-triangle\\\":e(\\\"icons/icon/geo-triangle.svg\\\"),\\\"geo-x-box\\\":e(\\\"icons/icon/geo-x-box.svg\\\"),github:e(\\\"icons/icon/github.svg\\\"),group:e(\\\"icons/icon/group.svg\\\"),hidden:e(\\\"icons/icon/hidden.svg\\\"),image:e(\\\"icons/icon/image.svg\\\"),\\\"info-circle\\\":e(\\\"icons/icon/info-circle.svg\\\"),leading:e(\\\"icons/icon/leading.svg\\\"),link:e(\\\"icons/icon/link.svg\\\"),\\\"lock-small\\\":e(\\\"icons/icon/lock-small.svg\\\"),lock:e(\\\"icons/icon/lock.svg\\\"),menu:e(\\\"icons/icon/menu.svg\\\"),minus:e(\\\"icons/icon/minus.svg\\\"),mixed:e(\\\"icons/icon/mixed.svg\\\"),pack:e(\\\"icons/icon/pack.svg\\\"),page:e(\\\"icons/icon/page.svg\\\"),plus:e(\\\"icons/icon/plus.svg\\\"),\\\"question-mark-circle\\\":e(\\\"icons/icon/question-mark-circle.svg\\\"),\\\"question-mark\\\":e(\\\"icons/icon/question-mark.svg\\\"),redo:e(\\\"icons/icon/redo.svg\\\"),\\\"reset-zoom\\\":e(\\\"icons/icon/reset-zoom.svg\\\"),\\\"rotate-ccw\\\":e(\\\"icons/icon/rotate-ccw.svg\\\"),\\\"rotate-cw\\\":e(\\\"icons/icon/rotate-cw.svg\\\"),ruler:e(\\\"icons/icon/ruler.svg\\\"),search:e(\\\"icons/icon/search.svg\\\"),\\\"send-backward\\\":e(\\\"icons/icon/send-backward.svg\\\"),\\\"send-to-back\\\":e(\\\"icons/icon/send-to-back.svg\\\"),\\\"settings-horizontal\\\":e(\\\"icons/icon/settings-horizontal.svg\\\"),\\\"settings-vertical-1\\\":e(\\\"icons/icon/settings-vertical-1.svg\\\"),\\\"settings-vertical\\\":e(\\\"icons/icon/settings-vertical.svg\\\"),\\\"share-1\\\":e(\\\"icons/icon/share-1.svg\\\"),\\\"share-2\\\":e(\\\"icons/icon/share-2.svg\\\"),\\\"size-extra-large\\\":e(\\\"icons/icon/size-extra-large.svg\\\"),\\\"size-large\\\":e(\\\"icons/icon/size-large.svg\\\"),\\\"size-medium\\\":e(\\\"icons/icon/size-medium.svg\\\"),\\\"size-small\\\":e(\\\"icons/icon/size-small.svg\\\"),\\\"spline-cubic\\\":e(\\\"icons/icon/spline-cubic.svg\\\"),\\\"spline-line\\\":e(\\\"icons/icon/spline-line.svg\\\"),\\\"stack-horizontal\\\":e(\\\"icons/icon/stack-horizontal.svg\\\"),\\\"stack-vertical\\\":e(\\\"icons/icon/stack-vertical.svg\\\"),\\\"stretch-horizontal\\\":e(\\\"icons/icon/stretch-horizontal.svg\\\"),\\\"stretch-vertical\\\":e(\\\"icons/icon/stretch-vertical.svg\\\"),\\\"text-align-center\\\":e(\\\"icons/icon/text-align-center.svg\\\"),\\\"text-align-justify\\\":e(\\\"icons/icon/text-align-justify.svg\\\"),\\\"text-align-left\\\":e(\\\"icons/icon/text-align-left.svg\\\"),\\\"text-align-right\\\":e(\\\"icons/icon/text-align-right.svg\\\"),\\\"tool-arrow\\\":e(\\\"icons/icon/tool-arrow.svg\\\"),\\\"tool-embed\\\":e(\\\"icons/icon/tool-embed.svg\\\"),\\\"tool-eraser\\\":e(\\\"icons/icon/tool-eraser.svg\\\"),\\\"tool-frame\\\":e(\\\"icons/icon/tool-frame.svg\\\"),\\\"tool-hand\\\":e(\\\"icons/icon/tool-hand.svg\\\"),\\\"tool-highlight\\\":e(\\\"icons/icon/tool-highlight.svg\\\"),\\\"tool-laser\\\":e(\\\"icons/icon/tool-laser.svg\\\"),\\\"tool-line\\\":e(\\\"icons/icon/tool-line.svg\\\"),\\\"tool-media\\\":e(\\\"icons/icon/tool-media.svg\\\"),\\\"tool-note\\\":e(\\\"icons/icon/tool-note.svg\\\"),\\\"tool-pencil\\\":e(\\\"icons/icon/tool-pencil.svg\\\"),\\\"tool-pointer\\\":e(\\\"icons/icon/tool-pointer.svg\\\"),\\\"tool-text\\\":e(\\\"icons/icon/tool-text.svg\\\"),trash:e(\\\"icons/icon/trash.svg\\\"),\\\"triangle-down\\\":e(\\\"icons/icon/triangle-down.svg\\\"),\\\"triangle-up\\\":e(\\\"icons/icon/triangle-up.svg\\\"),twitter:e(\\\"icons/icon/twitter.svg\\\"),undo:e(\\\"icons/icon/undo.svg\\\"),ungroup:e(\\\"icons/icon/ungroup.svg\\\"),\\\"unlock-small\\\":e(\\\"icons/icon/unlock-small.svg\\\"),unlock:e(\\\"icons/icon/unlock.svg\\\"),\\\"vertical-align-center\\\":e(\\\"icons/icon/vertical-align-center.svg\\\"),\\\"vertical-align-end\\\":e(\\\"icons/icon/vertical-align-end.svg\\\"),\\\"vertical-align-start\\\":e(\\\"icons/icon/vertical-align-start.svg\\\"),visible:e(\\\"icons/icon/visible.svg\\\"),\\\"warning-triangle\\\":e(\\\"icons/icon/warning-triangle.svg\\\"),\\\"zoom-in\\\":e(\\\"icons/icon/zoom-in.svg\\\"),\\\"zoom-out\\\":e(\\\"icons/icon/zoom-out.svg\\\")},translations:{ar:e(\\\"translations/ar.json\\\"),ca:e(\\\"translations/ca.json\\\"),da:e(\\\"translations/da.json\\\"),de:e(\\\"translations/de.json\\\"),en:e(\\\"translations/en.json\\\"),es:e(\\\"translations/es.json\\\"),fa:e(\\\"translations/fa.json\\\"),fi:e(\\\"translations/fi.json\\\"),fr:e(\\\"translations/fr.json\\\"),gl:e(\\\"translations/gl.json\\\"),he:e(\\\"translations/he.json\\\"),\\\"hi-in\\\":e(\\\"translations/hi-in.json\\\"),hu:e(\\\"translations/hu.json\\\"),it:e(\\\"translations/it.json\\\"),ja:e(\\\"translations/ja.json\\\"),\\\"ko-kr\\\":e(\\\"translations/ko-kr.json\\\"),ku:e(\\\"translations/ku.json\\\"),languages:e(\\\"translations/languages.json\\\"),main:e(\\\"translations/main.json\\\"),my:e(\\\"translations/my.json\\\"),ne:e(\\\"translations/ne.json\\\"),no:e(\\\"translations/no.json\\\"),pl:e(\\\"translations/pl.json\\\"),\\\"pt-br\\\":e(\\\"translations/pt-br.json\\\"),\\\"pt-pt\\\":e(\\\"translations/pt-pt.json\\\"),ro:e(\\\"translations/ro.json\\\"),ru:e(\\\"translations/ru.json\\\"),sv:e(\\\"translations/sv.json\\\"),te:e(\\\"translations/te.json\\\"),th:e(\\\"translations/th.json\\\"),tr:e(\\\"translations/tr.json\\\"),uk:e(\\\"translations/uk.json\\\"),vi:e(\\\"translations/vi.json\\\"),\\\"zh-cn\\\":e(\\\"translations/zh-cn.json\\\"),\\\"zh-tw\\\":e(\\\"translations/zh-tw.json\\\")},embedIcons:{codepen:e(\\\"embed-icons/codepen.png\\\"),codesandbox:e(\\\"embed-icons/codesandbox.png\\\"),excalidraw:e(\\\"embed-icons/excalidraw.png\\\"),felt:e(\\\"embed-icons/felt.png\\\"),figma:e(\\\"embed-icons/figma.png\\\"),github_gist:e(\\\"embed-icons/github_gist.png\\\"),google_calendar:e(\\\"embed-icons/google_calendar.png\\\"),google_maps:e(\\\"embed-icons/google_maps.png\\\"),google_slides:e(\\\"embed-icons/google_slides.png\\\"),observable:e(\\\"embed-icons/observable.png\\\"),replit:e(\\\"embed-icons/replit.png\\\"),scratch:e(\\\"embed-icons/scratch.png\\\"),spotify:e(\\\"embed-icons/spotify.png\\\"),tldraw:e(\\\"embed-icons/tldraw.png\\\"),val_town:e(\\\"embed-icons/val_town.png\\\"),vimeo:e(\\\"embed-icons/vimeo.png\\\"),youtube:e(\\\"embed-icons/youtube.png\\\")}}}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var Idle14=class extends StateNode{constructor(){super(...arguments),this.onPointerDown=e=>{this.parent.transition(\\\"pointing\\\",e)},this.onEnter=()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})},this.onCancel=()=>{this.editor.setCurrentTool(\\\"select\\\")}}},Pointing10=(Idle14.id=\\\"idle\\\",init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),this.dragged=!1,this.info={},this.wasFocusedOnEnter=!1,this.markId=\\\"\\\",this.shape={},this.onEnter=()=>{this.wasFocusedOnEnter=!this.editor.getIsMenuOpen(),this.wasFocusedOnEnter&&(this.shape=this.createShape())},this.onPointerMove=e=>{this.editor.inputs.isDragging&&(this.wasFocusedOnEnter||(this.shape=this.createShape()),this.editor.setCurrentTool(\\\"select.translating\\\",{...e,target:\\\"shape\\\",shape:this.shape,isCreating:!0,editAfterComplete:!0,onInteractionEnd:\\\"note\\\"}))},this.onPointerUp=()=>{this.complete()},this.onInterrupt=()=>{this.cancel()},this.onComplete=()=>{this.complete()},this.onCancel=()=>{this.cancel()}}complete(){this.wasFocusedOnEnter&&(this.editor.getInstanceState().isToolLocked?this.parent.transition(\\\"idle\\\",{}):(this.editor.setEditingShape(this.shape.id),this.editor.setCurrentTool(\\\"select.editing_shape\\\",{...this.info,target:\\\"shape\\\",shape:this.shape})))}cancel(){this.editor.bailToMark(this.markId),this.parent.transition(\\\"idle\\\",this.info)}createShape(){var e=this.editor[\\\"inputs\\\"][\\\"originPagePoint\\\"],t=createShapeId(),e=(this.markId=\\\"creating:\\\"+t,this.editor.mark(this.markId),this.editor.createShapes([{id:t,type:\\\"note\\\",x:e.x,y:e.y}]).select(t),this.editor.getShape(t)),r=this.editor.getShapeGeometry(e).bounds;return this.editor.updateShapes([{id:t,type:\\\"note\\\",x:e.x-r.width/2,y:e.y-r.height/2}]),this.editor.getShape(t)}}),WikiTextShapeTool=(Pointing10.id=\\\"pointing\\\",class extends StateNode{constructor(){super(...arguments),this.shapeType=\\\"wikitext\\\"}}),import_jsx_runtime=(WikiTextShapeTool.id=\\\"wikitext\\\",WikiTextShapeTool.initial=\\\"idle\\\",WikiTextShapeTool.children=()=>[Idle14,Pointing10],init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),NOTE_SIZE2=200,TEXT_PROPS2={lineHeight:1.35,fontWeight:\\\"normal\\\",fontVariant:\\\"normal\\\",fontStyle:\\\"normal\\\",padding:\\\"0px\\\",maxWidth:\\\"auto\\\"},LABEL_FONT_SIZES2={s:18,m:22,l:26,xl:32},FONT_FAMILIES2={draw:\\\"var(--tl-font-draw)\\\",sans:\\\"var(--tl-font-sans)\\\",serif:\\\"var(--tl-font-serif)\\\",mono:\\\"var(--tl-font-mono)\\\"},WikiTextShapeUtil=class extends ShapeUtil{constructor(){super(...arguments),this.canEdit=()=>!0,this.hideResizeHandles=()=>!0,this.hideSelectionBoundsFg=()=>!0,this.onBeforeCreate=e=>getGrowY2(this.editor,e,e.props.growY),this.onBeforeUpdate=(e,t)=>{if(e.props.text!==t.props.text||e.props.font!==t.props.font||e.props.size!==t.props.size)return getGrowY2(this.editor,t,e.props.growY)},this.onEditEnd=e=>{var{id:t,type:r,props:{text:i}}=e;i.trimEnd()!==i&&this.editor.updateShapes([{id:t,type:r,props:{text:i.trimEnd()}}])}}getDefaultProps(){return{color:\\\"black\\\",size:\\\"m\\\",text:\\\"\\\",font:\\\"draw\\\",align:\\\"middle\\\",verticalAlign:\\\"middle\\\",growY:0,url:\\\"\\\"}}getHeight(e){return NOTE_SIZE2+e.props.growY}getGeometry(e){var t=this.getHeight(e);return new Rectangle2d({width:NOTE_SIZE2,height:t,isFilled:!0})}component(e){var t=e[\\\"props\\\"][\\\"color\\\"],r=getDefaultColorTheme({isDarkMode:this.editor.user.getIsDarkMode()}),t=\\\"black\\\"===t?\\\"yellow\\\":t;return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:(0,import_jsx_runtime.jsx)(\\\"div\\\",{style:{position:\\\"absolute\\\",width:NOTE_SIZE2,height:this.getHeight(e)},children:(0,import_jsx_runtime.jsxs)(\\\"div\\\",{className:\\\"tl-note__container\\\",style:{color:r[t].solid,backgroundColor:r[t].solid},children:[(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:\\\"tl-note__scrim\\\"}),\\\"aaa\\\"]})})})}indicator(e){return(0,import_jsx_runtime.jsx)(\\\"rect\\\",{rx:\\\"7\\\",width:toDomPrecision(NOTE_SIZE2),height:toDomPrecision(this.getHeight(e))})}toSvg(e,t){var r=getDefaultColorTheme({isDarkMode:this.editor.user.getIsDarkMode()}),i=this.editor.getShapeGeometry(e).bounds,n=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"g\\\"),o=\\\"black\\\"===e.props.color?\\\"yellow\\\":e.props.color,a=document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\"),o=(a.setAttribute(\\\"rx\\\",\\\"10\\\"),a.setAttribute(\\\"width\\\",NOTE_SIZE2.toString()),a.setAttribute(\\\"height\\\",i.height.toString()),a.setAttribute(\\\"fill\\\",r[o].solid),a.setAttribute(\\\"stroke\\\",r[o].solid),a.setAttribute(\\\"stroke-width\\\",\\\"1\\\"),n.append(a),document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"rect\\\"));return o.setAttribute(\\\"rx\\\",\\\"10\\\"),o.setAttribute(\\\"width\\\",NOTE_SIZE2.toString()),o.setAttribute(\\\"height\\\",i.height.toString()),o.setAttribute(\\\"fill\\\",r.background),o.setAttribute(\\\"opacity\\\",\\\".28\\\"),n.append(o),n}};function getGrowY2(e,t,r=0){var i=e.textMeasure.measureText(t.props.text,{...TEXT_PROPS2,fontFamily:FONT_FAMILIES2[t.props.font],fontSize:LABEL_FONT_SIZES2[t.props.size],maxWidth:NOTE_SIZE2-34}).h+34;let n=null;if(NOTE_SIZE2\u003Ci?n=i-NOTE_SIZE2:r&&(n=0),null!==n)return{...t,props:{...t.props,growY:n}}}WikiTextShapeUtil.type=\\\"wikitext\\\",WikiTextShapeUtil.props=noteShapeProps,init_esbuild_inject();var uiOverrides={tools(t,e){return e.wikitext={id:WikiTextShapeTool.id,label:\\\"tool.note\\\",readonlyOk:!1,icon:\\\"tool-note\\\",kbd:\\\"n\\\",onSelect(e){t.setCurrentTool(\\\"wikitext\\\")}},e},toolbar(e,t,{tools:r}){var i=t.filter(e=>\\\"note\\\"!==e.id),n=i.findIndex(e=>\\\"arrow\\\"===e.id);return[...i.slice(0,n),toolbarItem(r.wikitext),...i.slice(n)]},keyboardShortcutsMenu(e,t,{tools:r}){return t.find(e=>\\\"shortcuts-dialog.tools\\\"===e.id).children.push(menuItem(r.wikitext)),t}},import_jsx_runtime=require(\\\"react/jsx-runtime\\\"),debounceSaveTime=500,extraShapeUtils=[WikiTextShapeUtil],extraTools=[WikiTextShapeTool],assetUrls=getAssetUrlsByMetaUrl(e=>{var t,r=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/tw-whiteboard/assets/\\\"+e);return r?(t=$tw.config.contentTypeInfo[r.fields.type],`data:${r.fields.type};${null!=(t=t.encoding)?t:\\\"utf8\\\"},`+encodeURIComponent(r.fields.text)):\\\"https://unpkg.com/@tldraw/assets@2.0.0-alpha.12/\\\"+e});function App(e){const{height:t,width:r,currentTiddler:n,initialTiddlerText:o,readonly:a,zoomToFit:s,zoom:l,saver:{onSave:i,lock:c},parentWidget:d}=e,[u,p]=(0,import_react127.useState)(void 0);var h=(0,import_react127.useCallback)(r=>{var e;if(p(r),o){const i=parseTldrawJsonFile({schema:r.store.schema,json:o});if(!i.ok)return e=`$:/plugins/linonetwo/tw-whiteboard load tiddler ${n} failed, type: ${i.error.type}, cause ${null==(e=i.error)?void 0:e.cause},\\ntext:\\n`+o,void $tw.utils.error(e);transact(()=>{r.store.clear();var[e,t]=partition(i.value.allRecords(),e=>\\\"shape\\\"===e.typeName),t=(r.store.put(t,\\\"initialize\\\"),r.store.ensureStoreIsUsable(),r.store.put(e,\\\"initialize\\\"),r.history.clear(),r.updateViewportScreenBounds(),r.updateRenderingBounds(),r.getCurrentPageBounds());t&&r.zoomToBounds(t,1)})}\\\"yes\\\"===$tw.wiki.getTiddlerText(\\\"$:/info/darkmode\\\")&&r.user.updateUserPreferences({isDarkMode:!0}),r.updateInstanceState({isReadonly:Boolean(a),isDebugMode:!1}),!0===s?r.zoomToFit():Number.isFinite(Number(l))&&(e=null!=(e=r.getSelectionPageBounds())?e:r.getCurrentPageBounds())&&r.zoomToBounds(e,Math.min(1,Number(l)),{duration:220})},[o,a,s,l,n]);(0,import_react127.useEffect)(()=>()=>{a||(async()=>{u&&i(await serializeTldrawJson(u.store))})()},[u]);const m=(0,import_react127.useCallback)(()=>{var e=async()=>{var e;void 0!==u&&(e=await serializeTldrawJson(u.store),c(),i(e))};\\\"undefined\\\"!=typeof requestIdleCallback?requestIdleCallback(e,{timeout:60}):\\\"undefined\\\"==typeof requestAnimationFrame?setTimeout(e,16.66):requestAnimationFrame(e)},[u,c,i]);return(0,import_react127.useEffect)(()=>{if(u){const e=debounce(m,debounceSaveTime);return u.on(\\\"change-history\\\",e),()=>{u&&u.off(\\\"change-history\\\",e)}}},[m,u]),(0,import_jsx_runtime.jsx)(import_react127.StrictMode,{children:(0,import_jsx_runtime.jsx)(import_tw_react.ParentWidgetContext.Provider,{value:d,children:(0,import_jsx_runtime.jsx)(\\\"div\\\",{className:\\\"tw-whiteboard-tldraw-container\\\",style:{height:t,width:r},children:(0,import_jsx_runtime.jsx)(Tldraw,{persistenceKey:n,onMount:h,shapeUtils:extraShapeUtils,tools:extraTools,autoFocus:!1,assetUrls:assetUrls,overrides:uiOverrides})})})})}var SAVE_DEBOUNCE_INTERVAL=1e3,TldrawWhiteBoardWidget=class extends import_widget.widget{constructor(){super(...arguments),this.reactComponent=App,this.getProps=()=>{var e;return{currentTiddler:null!=(e=this.editTitle)?e:this.getVariable(\\\"currentTiddler\\\"),initialTiddlerText:void 0===this.editTitle?\\\"\\\":$tw.wiki.getTiddlerText(this.editTitle),height:this.getAttribute(\\\"height\\\"),width:this.getAttribute(\\\"width\\\"),readonly:\\\"yes\\\"===this.getAttribute(\\\"readonly\\\")||\\\"true\\\"===this.getAttribute(\\\"readonly\\\"),zoomToFit:\\\"yes\\\"===this.getAttribute(\\\"zoomToFit\\\")||\\\"true\\\"===this.getAttribute(\\\"zoomToFit\\\"),zoom:this.getAttribute(\\\"zoom\\\"),isDraft:void 0!==this.editTitle&&Boolean(this.getAttribute(\\\"draftTitle\\\")),saver:{lock:this.lock,onSave:this.onSave,interval:SAVE_DEBOUNCE_INTERVAL}}},this.editorOperations={},this.onSave=e=>{var t;\\\"\\\"!==this.editTitle&&void 0!==this.editTitle&&((null==(t=$tw.wiki.getTiddler(this.editTitle))?void 0:t.fields.text)!==e&&($tw.wiki.setText(this.editTitle,\\\"text\\\",void 0,e),$tw.wiki.setText(this.editTitle,\\\"type\\\",void 0,\\\"application/vnd.tldraw+json\\\")),this.unlock())},this.isUpdatingByUserInput=!1,this.lock=()=>{this.isUpdatingByUserInput=!0,void 0!==this.updatingLockTimeoutHandle&&clearTimeout(this.updatingLockTimeoutHandle)},this.unlock=()=>{this.updatingLockTimeoutHandle=setTimeout(()=>{this.isUpdatingByUserInput=!1},SAVE_DEBOUNCE_INTERVAL)}}refresh(e){var t;return void 0!==this.editTitle&&(!0===(null==(t=e[this.editTitle])?void 0:t.deleted)?(this.lock(),!1):!this.isUpdatingByUserInput&&(t=this.computeAttributes(),0\u003C$tw.utils.count(t)||!0===(null==(t=e[this.editTitle])?void 0:t.modified))&&(this.refreshSelf(),!0))}execute(){this.editTitle=this.getAttribute(\\\"tiddler\\\"),this.makeChildWidgets()}get editIconElement(){var e;return null==(e=this.parentDomNode.closest(\\\".tc-tiddler-exists\\\"))?void 0:e.querySelector(\\\".tc-image-wysiwyg-edit-button\\\")}};exports.whiteboard=TldrawWhiteBoardWidget;\"},\"$:/plugins/linonetwo/tw-whiteboard/widget.css\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/widget.css\",\"tags\":[\"$:/tags/Stylesheet\"],\"type\":\"text/css\",\"Modern.TiddlyDev#Origin\":\"../../temp_stylePlugin:ni:sha-256;AkiT-s5MFlkzQA0NMCdHVJvPAdiPhWlQ01yNMGmlAPY\",\"text\":\".tw-whiteboard-tldraw-container{width:100%;height:500px;position:relative;z-index:0}.tw-whiteboard-tldraw-container button:not(.tc-btn-invisible){margin:unset;border-radius:unset;background-color:unset}.tl-container{font-size:12px;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:28px;--space-8:32px;--space-9:64px;--space-10:72px;--radius-0:2px;--radius-1:4px;--radius-2:6px;--radius-3:9px;--radius-4:13px;--layer-background:100;--layer-grid:150;--layer-canvas:200;--layer-shapes:300;--layer-overlays:400;--layer-following-indicator:1000;--tl-zoom:1;--tl-dpr-multiple:100;--tl-dpr-multiple-px:calc(var(--tl-dpr-multiple) * 1px);--tl-cursor-none:none;--tl-cursor-default:url(\\\"data:image/svg+xml,\u003Csvg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'>\u003Cdefs>\u003Cfilter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'>\u003CfeDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/>\u003C/filter>\u003C/defs>\u003Cg fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'>\u003Cpath d='m12 24.4219v-16.015l11.591 11.619h-6.781l-.411.124z' fill='white'/>\u003Cpath d='m21.0845 25.0962-3.605 1.535-4.682-11.089 3.686-1.553z' fill='white'/>\u003Cpath d='m19.751 24.4155-1.844.774-3.1-7.374 1.841-.775z' fill='black'/>\u003Cpath d='m13 10.814v11.188l2.969-2.866.428-.139h4.768z' fill='black'/>\u003C/g>\u003C/svg>\\\") 12 8,default;--tl-cursor-pointer:url(\\\"data:image/svg+xml,\u003Csvg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'>\u003Cdefs>\u003Cfilter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'>\u003CfeDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/>\u003C/filter>\u003C/defs>\u003Cg fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'>\u003Cpath d='m13.3315 21.3799c-.284-.359-.629-1.093-1.243-1.984-.348-.504-1.211-1.453-1.468-1.935-.223-.426-.199-.617-.146-.97.094-.628.738-1.117 1.425-1.051.519.049.959.392 1.355.716.239.195.533.574.71.788.163.196.203.277.377.509.23.307.302.459.214.121-.071-.496-.187-1.343-.355-2.092-.128-.568-.159-.657-.281-1.093-.129-.464-.195-.789-.316-1.281-.084-.348-.235-1.059-.276-1.459-.057-.547-.087-1.439.264-1.849.275-.321.906-.418 1.297-.22.512.259.803 1.003.936 1.3.239.534.387 1.151.516 1.961.164 1.031.466 2.462.476 2.763.024-.369-.068-1.146-.004-1.5.058-.321.328-.694.666-.795.286-.085.621-.116.916-.055.313.064.643.288.766.499.362.624.369 1.899.384 1.831.086-.376.071-1.229.284-1.584.14-.234.497-.445.687-.479.294-.052.655-.068.964-.008.249.049.586.345.677.487.218.344.342 1.317.379 1.658.015.141.074-.392.293-.736.406-.639 1.843-.763 1.898.639.025.654.02.624.02 1.064 0 .517-.012.828-.04 1.202-.031.4-.117 1.304-.242 1.742-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.191 1.813-.118.562-.079.566-.102.965-.023.398.121.922.121.922s-.802.104-1.234.035c-.391-.063-.875-.841-1-1.079-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.031-3.139.02 0 0 .185-1.011-.227-1.358-.305-.259-.83-.784-1.144-1.06z' fill='white'/>\u003Cg stroke='black' stroke-linecap='round' stroke-width='.75'>\u003Cpath d='m13.3315 21.3799c-.284-.359-.629-1.093-1.243-1.984-.348-.504-1.211-1.453-1.468-1.935-.223-.426-.199-.617-.146-.97.094-.628.738-1.117 1.425-1.051.519.049.959.392 1.355.716.239.195.533.574.71.788.163.196.203.277.377.509.23.307.302.459.214.121-.071-.496-.187-1.343-.355-2.092-.128-.568-.159-.657-.281-1.093-.129-.464-.195-.789-.316-1.281-.084-.348-.235-1.059-.276-1.459-.057-.547-.087-1.439.264-1.849.275-.321.906-.418 1.297-.22.512.259.803 1.003.936 1.3.239.534.387 1.151.516 1.961.164 1.031.466 2.462.476 2.763.024-.369-.068-1.146-.004-1.5.058-.321.328-.694.666-.795.286-.085.621-.116.916-.055.313.064.643.288.766.499.362.624.369 1.899.384 1.831.086-.376.071-1.229.284-1.584.14-.234.497-.445.687-.479.294-.052.655-.068.964-.008.249.049.586.345.677.487.218.344.342 1.317.379 1.658.015.141.074-.392.293-.736.406-.639 1.843-.763 1.898.639.025.654.02.624.02 1.064 0 .517-.012.828-.04 1.202-.031.4-.117 1.304-.242 1.742-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.191 1.813-.118.562-.079.566-.102.965-.023.398.121.922.121.922s-.802.104-1.234.035c-.391-.063-.875-.841-1-1.079-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.031-3.139.02 0 0 .185-1.011-.227-1.358-.305-.259-.83-.784-1.144-1.06z' stroke-linejoin='round'/>\u003Cpath d='m21.5664 21.7344v-3.459'/>\u003Cpath d='m19.5508 21.7461-.016-3.473'/>\u003Cpath d='m17.5547 18.3047.021 3.426'/>\u003C/g>\u003C/g>\u003C/svg>\\\") 14 10,pointer;--tl-cursor-cross:url(\\\"data:image/svg+xml,\u003Csvg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'>\u003Cdefs>\u003Cfilter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'>\u003CfeDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/>\u003C/filter>\u003C/defs>\u003Cg fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'>\u003Cpath d='m25 16h-6.01v-6h-2.98v6h-6.01v3h6.01v6h2.98v-6h6.01z' fill='white'/>\u003Cpath d='m23.9902 17.0103h-6v-6.01h-.98v6.01h-6v.98h6v6.01h.98v-6.01h6z' fill='%23231f1f'/>\u003C/g>\u003C/svg>\\\") 16 16,crosshair;--tl-cursor-move:url(\\\"data:image/svg+xml,\u003Csvg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'>\u003Cdefs>\u003Cfilter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'>\u003CfeDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/>\u003C/filter>\u003C/defs>\u003Cg fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'>\u003Cpath d='m19 14h1v1h-1zm1 6h-1v-1h1zm-5-5h-1v-1h1zm0 5h-1v-1h1zm2-10.987-7.985 7.988 5.222 5.221 2.763 2.763 7.984-7.985z' fill='white'/>\u003Cg fill='black'>\u003Cpath d='m23.5664 16.9971-2.557-2.809v1.829h-4.009-4.001v-1.829l-2.571 2.809 2.572 2.808-.001-1.808h4.001 4.009l-.001 1.808z'/>\u003Cpath d='m17.9873 17h.013v-4.001l1.807.001-2.807-2.571-2.809 2.57h1.809v4.001h.008v4.002l-1.828-.001 2.807 2.577 2.805-2.576h-1.805z'/>\u003C/g>\u003C/g>\u003C/svg>\\\") 16 16,move;--tl-cursor-grab:url(\\\"data:image/svg+xml,\u003Csvg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'>\u003Cdefs>\u003Cfilter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'>\u003CfeDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/>\u003C/filter>\u003C/defs>\u003Cg fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'>\u003Cpath d='m13.5557 17.5742c-.098-.375-.196-.847-.406-1.552-.167-.557-.342-.859-.47-1.233-.155-.455-.303-.721-.496-1.181-.139-.329-.364-1.048-.457-1.44-.119-.509.033-.924.244-1.206.253-.339.962-.49 1.357-.351.371.13.744.512.916.788.288.46.357.632.717 1.542.393.992.564 1.918.611 2.231l.085.452c-.001-.04-.043-1.122-.044-1.162-.035-1.029-.06-1.823-.038-2.939.002-.126.064-.587.084-.715.078-.5.305-.8.673-.979.412-.201.926-.215 1.401-.017.423.173.626.55.687 1.022.014.109.094.987.093 1.107-.013 1.025.006 1.641.015 2.174.004.231.003 1.625.017 1.469.061-.656.094-3.189.344-3.942.144-.433.405-.746.794-.929.431-.203 1.113-.07 1.404.243.285.305.446.692.482 1.153.032.405-.019.897-.02 1.245 0 .867-.021 1.324-.037 2.121-.001.038-.015.298.023.182.094-.28.188-.542.266-.745.049-.125.241-.614.359-.859.114-.234.211-.369.415-.688.2-.313.415-.448.668-.561.54-.235 1.109.112 1.301.591.086.215.009.713-.028 1.105-.061.647-.254 1.306-.352 1.648-.128.447-.274 1.235-.34 1.601-.072.394-.234 1.382-.359 1.82-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.192 1.812-.117.563-.078.567-.101.965-.024.399.121.923.121.923s-.802.104-1.234.034c-.391-.062-.875-.841-1-1.078-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.03-3.139.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.284-.36-.629-1.093-1.243-1.985-.348-.504-1.027-1.085-1.284-1.579-.223-.425-.331-.954-.19-1.325.225-.594.675-.897 1.362-.832.519.05.848.206 1.238.537.225.19.573.534.75.748.163.195.203.276.377.509.23.307.302.459.214.121' fill='white'/>\u003Cg stroke='black' stroke-linecap='round' stroke-width='.75'>\u003Cpath d='m13.5557 17.5742c-.098-.375-.196-.847-.406-1.552-.167-.557-.342-.859-.47-1.233-.155-.455-.303-.721-.496-1.181-.139-.329-.364-1.048-.457-1.44-.119-.509.033-.924.244-1.206.253-.339.962-.49 1.357-.351.371.13.744.512.916.788.288.46.357.632.717 1.542.393.992.564 1.918.611 2.231l.085.452c-.001-.04-.043-1.122-.044-1.162-.035-1.029-.06-1.823-.038-2.939.002-.126.064-.587.084-.715.078-.5.305-.8.673-.979.412-.201.926-.215 1.401-.017.423.173.626.55.687 1.022.014.109.094.987.093 1.107-.013 1.025.006 1.641.015 2.174.004.231.003 1.625.017 1.469.061-.656.094-3.189.344-3.942.144-.433.405-.746.794-.929.431-.203 1.113-.07 1.404.243.285.305.446.692.482 1.153.032.405-.019.897-.02 1.245 0 .867-.021 1.324-.037 2.121-.001.038-.015.298.023.182.094-.28.188-.542.266-.745.049-.125.241-.614.359-.859.114-.234.211-.369.415-.688.2-.313.415-.448.668-.561.54-.235 1.109.112 1.301.591.086.215.009.713-.028 1.105-.061.647-.254 1.306-.352 1.648-.128.447-.274 1.235-.34 1.601-.072.394-.234 1.382-.359 1.82-.086.301-.371.978-.652 1.384 0 0-1.074 1.25-1.192 1.812-.117.563-.078.567-.101.965-.024.399.121.923.121.923s-.802.104-1.234.034c-.391-.062-.875-.841-1-1.078-.172-.328-.539-.265-.682-.023-.225.383-.709 1.07-1.051 1.113-.668.084-2.054.03-3.139.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.284-.36-.629-1.093-1.243-1.985-.348-.504-1.027-1.085-1.284-1.579-.223-.425-.331-.954-.19-1.325.225-.594.675-.897 1.362-.832.519.05.848.206 1.238.537.225.19.573.534.75.748.163.195.203.276.377.509.23.307.302.459.214.121' stroke-linejoin='round'/>\u003Cpath d='m20.5664 21.7344v-3.459'/>\u003Cpath d='m18.5508 21.7461-.016-3.473'/>\u003Cpath d='m16.5547 18.3047.021 3.426'/>\u003C/g>\u003C/g>\u003C/svg>\\\") 16 16,grab;--tl-cursor-grabbing:url(\\\"data:image/svg+xml,\u003Csvg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'>\u003Cdefs>\u003Cfilter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'>\u003CfeDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/>\u003C/filter>\u003C/defs>\u003Cg fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'>\u003Cpath d='m13.5732 12.0361c.48-.178 1.427-.069 1.677.473.213.462.396 1.241.406 1.075.024-.369-.024-1.167.137-1.584.117-.304.347-.59.686-.691.285-.086.62-.116.916-.055.313.064.642.287.765.499.362.623.368 1.899.385 1.831.064-.272.07-1.229.283-1.584.141-.235.497-.445.687-.479.294-.052.656-.068.964-.008.249.049.586.344.677.487.219.344.342 1.316.379 1.658.016.141.074-.393.293-.736.406-.639 1.844-.763 1.898.639.026.654.02.624.02 1.064 0 .516-.012.828-.04 1.202-.03.399-.116 1.304-.241 1.742-.086.301-.371.978-.653 1.384 0 0-1.074 1.25-1.191 1.812-.117.563-.078.567-.102.965-.023.399.121.923.121.923s-.801.104-1.234.034c-.391-.062-.875-.84-1-1.078-.172-.328-.539-.265-.682-.023-.224.383-.709 1.07-1.05 1.113-.669.084-2.055.03-3.14.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.283-.36-1.002-.929-1.243-1.985-.213-.936-.192-1.395.037-1.77.232-.381.67-.589.854-.625.208-.042.692-.039.875.062.223.123.313.159.488.391.23.307.312.456.213.121-.076-.262-.322-.595-.434-.97-.109-.361-.401-.943-.38-1.526.008-.221.103-.771.832-1.042' fill='white'/>\u003Cg stroke='black' stroke-width='.75'>\u003Cpath d='m13.5732 12.0361c.48-.178 1.427-.069 1.677.473.213.462.396 1.241.406 1.075.024-.369-.024-1.167.137-1.584.117-.304.347-.59.686-.691.285-.086.62-.116.916-.055.313.064.642.287.765.499.362.623.368 1.899.385 1.831.064-.272.07-1.229.283-1.584.141-.235.497-.445.687-.479.294-.052.656-.068.964-.008.249.049.586.344.677.487.219.344.342 1.316.379 1.658.016.141.074-.393.293-.736.406-.639 1.844-.763 1.898.639.026.654.02.624.02 1.064 0 .516-.012.828-.04 1.202-.03.399-.116 1.304-.241 1.742-.086.301-.371.978-.653 1.384 0 0-1.074 1.25-1.191 1.812-.117.563-.078.567-.102.965-.023.399.121.923.121.923s-.801.104-1.234.034c-.391-.062-.875-.84-1-1.078-.172-.328-.539-.265-.682-.023-.224.383-.709 1.07-1.05 1.113-.669.084-2.055.03-3.14.02 0 0 .185-1.011-.227-1.358-.305-.26-.83-.784-1.144-1.06l-.832-.921c-.283-.36-1.002-.929-1.243-1.985-.213-.936-.192-1.395.037-1.77.232-.381.67-.589.854-.625.208-.042.692-.039.875.062.223.123.313.159.488.391.23.307.312.456.213.121-.076-.262-.322-.595-.434-.97-.109-.361-.401-.943-.38-1.526.008-.221.103-.771.832-1.042z' stroke-linejoin='round'/>\u003Cpath d='m20.5664 19.7344v-3.459' stroke-linecap='round'/>\u003Cpath d='m18.5508 19.7461-.016-3.473' stroke-linecap='round'/>\u003Cpath d='m16.5547 16.3047.021 3.426' stroke-linecap='round'/>\u003C/g>\u003C/g>\u003C/svg>\\\") 16 16,grabbing;--tl-cursor-text:url(\\\"data:image/svg+xml,\u003Csvg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'>\u003Cdefs>\u003Cfilter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'>\u003CfeDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/>\u003C/filter>\u003C/defs>\u003Cg fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'>\u003Cpath fill='white' d='M7.94 0a5.25 5.25 0 0 0-3.47 1.17A5.27 5.27 0 0 0 1 0H0v3h1c1.41 0 1.85.7 2 1v3.94H2v3h1v3c-.13.3-.57 1-2 1H0v3h1a5.27 5.27 0 0 0 3.47-1.17c.98.8 2.21 1.21 3.47 1.17h1v-3h-1c-1.41 0-1.85-.7-2-1v-3H7v-3H6V4c.13-.3.57-1 2-1h1V0H7.94z'/>\u003Cpath fill='black' d='M7.94 2V1a4 4 0 0 0-3.47 1.64A4 4 0 0 0 1 1v1c1.3-.17 2.56.6 3 1.84v5.1H3v1h1v4.16c-.45 1.24-1.7 2-3 1.84v1a4.05 4.05 0 0 0 3.47-1.63 4.05 4.05 0 0 0 3.47 1.63v-1A2.82 2.82 0 0 1 5 14.1V9.93h1v-1H5V3.85A2.81 2.81 0 0 1 7.94 2z'/>\u003C/g>\u003C/svg>\\\") 4 10,text;--tl-cursor-zoom-in:url(\\\"data:image/svg+xml,\u003Csvg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'>\u003Cdefs>\u003Cfilter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'>\u003CfeDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/>\u003C/filter>\u003C/defs>\u003Cg fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'>\u003Cpath d='m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5' fill='white'/>\u003Cpath d='m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5z' stroke='black'/>\u003Cg fill='black'>\u003Cpath d='m18 14h-2v-2h-2v2h-2v1.98h2v2.02h2v-2.02h2z'/>\u003Cpath d='m23.5859 25 1.414-1.414-5.449-5.449-1.414 1.414z'/>\u003C/g>\u003C/g>\u003C/svg>\\\") 16 16,zoom-in;--tl-cursor-zoom-out:url(\\\"data:image/svg+xml,\u003Csvg height='32' width='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg' style='color: black;'>\u003Cdefs>\u003Cfilter id='shadow' y='-40%' x='-40%' width='180px' height='180%' color-interpolation-filters='sRGB'>\u003CfeDropShadow dx='1' dy='1' stdDeviation='1.2' flood-opacity='.5'/>\u003C/filter>\u003C/defs>\u003Cg fill='none' transform='rotate(0 16 16)' filter='url(%23shadow)'>\u003Cpath d='m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5' fill='white'/>\u003Cpath d='m20.5 15c0 3.038-2.462 5.5-5.5 5.5s-5.5-2.462-5.5-5.5 2.462-5.5 5.5-5.5 5.5 2.462 5.5 5.5z' stroke='black'/>\u003Cg fill='black'>\u003Cpath d='m18 16h-5.98v-1.98h5.98z'/>\u003Cpath d='m23.5859 25 1.414-1.414-5.449-5.449-1.414 1.414z'/>\u003C/g>\u003C/g>\u003C/svg>\\\") 16 16,zoom-out;--tl-cursor:var(--tl-cursor-default);--tl-cursor-resize-edge:ew-resize;--tl-cursor-resize-corner:nesw-resize;--tl-cursor-ew-resize:ew-resize;--tl-cursor-ns-resize:ns-resize;--tl-cursor-nesw-resize:nesw-resize;--tl-cursor-nwse-resize:nwse-resize;--tl-cursor-rotate:pointer;--tl-cursor-nwse-rotate:pointer;--tl-cursor-nesw-rotate:pointer;--tl-cursor-senw-rotate:pointer;--tl-cursor-swne-rotate:pointer;--tl-scale:calc(1 / var(--tl-zoom));--tl-font-draw:\\\"tldraw_draw\\\",sans-serif;--tl-font-sans:\\\"tldraw_sans\\\",sans-serif;--tl-font-serif:\\\"tldraw_serif\\\",serif;--tl-font-mono:\\\"tldraw_mono\\\",monospace;--a:calc(min(0.5, 1 / var(--tl-zoom)) * 2px);--b:calc(min(0.5, 1 / var(--tl-zoom)) * -2px);--tl-text-outline:0 var(--b) 0 var(--color-background),0 var(--a) 0 var(--color-background),var(--b) var(--b) 0 var(--color-background),var(--a) var(--b) 0 var(--color-background),var(--a) var(--a) 0 var(--color-background),var(--b) var(--a) 0 var(--color-background);position:relative;top:0;left:0;width:100%;height:100%;overflow:clip;--layer-panels:300;--layer-menus:400;--layer-overlays:500;--layer-toasts:650;--layer-cursor:700}.tl-theme__light{--color-accent:#e64a4a;--color-background:rgb(249, 250, 251);--color-brush-fill:rgba(144, 144, 144, 0.102);--color-brush-stroke:rgba(144, 144, 144, 0.251);--color-grid:rgb(109, 109, 109);--color-low:hsl(204, 16%, 94%);--color-low-border:hsl(204, 16%, 92%);--color-culled:rgb(235, 238, 240);--color-muted-none:rgba(0, 0, 0, 0);--color-muted-0:rgba(0, 0, 0, 0.02);--color-muted-1:rgba(0, 0, 0, 0.1);--color-muted-2:rgba(0, 0, 0, 0.042);--color-hint:rgba(0, 0, 0, 0.055);--color-overlay:rgba(0, 0, 0, 0.2);--color-divider:#e8e8e8;--color-panel-contrast:#ffffff;--color-panel-overlay:rgba(255, 255, 255, 0.82);--color-panel:#fdfdfd;--color-focus:#004094;--color-selected:#2f80ed;--color-selected-contrast:#ffffff;--color-selection-fill:#1e90ff06;--color-selection-stroke:#2f80ed;--color-text-0:#1d1d1d;--color-text-1:#2d2d2d;--color-text-3:#a4a5a7;--color-text-shadow:#ffffff;--color-primary:#2f80ed;--color-warn:#d10b0b;--color-text:#000000;--color-laser:#ff0000;--shadow-1:0px 1px 2px rgba(0, 0, 0, 0.25),0px 1px 3px rgba(0, 0, 0, 0.09);--shadow-2:0px 0px 2px rgba(0, 0, 0, 0.16),0px 2px 3px rgba(0, 0, 0, 0.24),0px 2px 6px rgba(0, 0, 0, 0.1),inset 0px 0px 0px 1px var(--color-panel-contrast);--shadow-3:0px 1px 2px rgba(0, 0, 0, 0.28),0px 2px 6px rgba(0, 0, 0, 0.14),inset 0px 0px 0px 1px var(--color-panel-contrast);--shadow-4:0px 0px 3px rgba(0, 0, 0, 0.19),0px 5px 4px rgba(0, 0, 0, 0.16),0px 2px 16px rgba(0, 0, 0, 0.06),inset 0px 0px 0px 1px var(--color-panel-contrast)}.tl-theme__dark{--color-accent:#e64a4a;--color-background:#212529;--color-brush-fill:rgba(180, 180, 180, 0.05);--color-brush-stroke:rgba(180, 180, 180, 0.25);--color-grid:#909090;--color-low:#2c3136;--color-low-border:#30363b;--color-culled:rgb(47, 52, 57);--color-muted-none:rgba(255, 255, 255, 0);--color-muted-0:rgba(255, 255, 255, 0.02);--color-muted-1:rgba(255, 255, 255, 0.1);--color-muted-2:rgba(255, 255, 255, 0.05);--color-hint:rgba(255, 255, 255, 0.1);--color-overlay:rgba(0, 0, 0, 0.35);--color-divider:#49555f;--color-panel-contrast:#49555f;--color-panel:#363d44;--color-panel-overlay:rgba(54, 61, 68, 0.82);--color-focus:#a5c3f3;--color-selected:#4285f4;--color-selected-contrast:#ffffff;--color-selection-fill:rgba(38, 150, 255, 0.05);--color-selection-stroke:#2f80ed;--color-text-0:#f0eded;--color-text-1:#d9d9d9;--color-text-3:#6d747b;--color-text-shadow:#292f35;--color-primary:#2f80ed;--color-warn:#ef6464;--color-text:#f8f9fa;--color-laser:#ff0000;--shadow-1:0px 1px 2px #00000029,0px 1px 3px #00000038,inset 0px 0px 0px 1px var(--color-panel-contrast);--shadow-2:0px 1px 3px #00000077,0px 2px 6px #00000055,inset 0px 0px 0px 1px var(--color-panel-contrast);--shadow-3:0px 1px 3px #00000077,0px 2px 12px rgba(0, 0, 0, 0.22),inset 0px 0px 0px 1px var(--color-panel-contrast)}.tl-counter-scaled{transform:scale(var(--tl-scale));transform-origin:top left;width:calc(100% * var(--tl-zoom));height:calc(100% * var(--tl-zoom))}.tl-container,.tl-container *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;scrollbar-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box;outline:0}.tl-container a{-webkit-touch-callout:initial}.tl-container:focus-within{outline:1px solid var(--color-low)}[contenteditable],[contenteditable] *,input{-webkit-user-select:text}.tl-canvas{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--color-text);z-index:var(--layer-canvas);cursor:var(--tl-cursor);overflow:clip;content-visibility:auto;touch-action:none;contain:strict}.tl-fixed-layer{position:absolute;top:0;left:0;width:100%;height:100%;contain:strict;pointer-events:none}.tl-shapes{position:relative;z-index:var(--layer-shapes)}.tl-overlays{position:relative;z-index:var(--layer-overlays)}.tl-overlays__item{position:absolute;top:0;left:0;height:var(--tl-dpr-multiple-px);width:var(--tl-dpr-multiple-px);overflow:visible;pointer-events:none;transform-origin:top left}.tl-svg-context{position:absolute;top:0;left:0;height:var(--tl-dpr-multiple-px);width:var(--tl-dpr-multiple-px);pointer-events:none}.tl-positioned{position:absolute;top:0;left:0;transform-origin:top left}.tl-background{position:absolute;background-color:var(--color-background);inset:0px;z-index:var(--layer-background)}.tl-grid{position:absolute;top:0;left:0;width:100%;height:100%;touch-action:none;pointer-events:none;z-index:var(--layer-grid);contain:strict}.tl-grid-dot{fill:var(--color-grid)}.tl-html-layer{position:absolute;top:0;left:0;width:1px;height:1px;contain:layout style size}.tl-brush{stroke-width:calc(var(--tl-scale) * 1px);contain:size layout}.tl-brush__default{stroke:var(--color-brush-stroke);fill:var(--color-brush-fill)}.tl-screenshot-brush{stroke:var(--color-text-0);fill:none}.tl-scribble{stroke-linejoin:round;stroke-linecap:round;pointer-events:none;contain:size layout}.tl-shape{position:absolute;pointer-events:none;overflow:visible;transform-origin:top left;contain:size layout}.tl-shape__culled{position:relative;background-color:var(--color-culled)}.tl-svg-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;stroke-linecap:round;stroke-linejoin:round;transform-origin:top left;overflow:visible}.tl-html-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;stroke-linecap:round;stroke-linejoin:round;transform-origin:top left;color:inherit}.tl-collaborator__scribble{z-index:10}.tl-collaborator__brush{z-index:20}.tl-collaborator__shape-indicator{z-index:30}.tl-user-scribble{z-index:40}.tl-user-brush{z-index:50}.tl-user-indicator__selected{z-index:60}.tl-user-indicator__hovered{z-index:70}.tl-user-handles{z-index:80}.tl-user-snapline{z-index:90}.tl-selection__fg{pointer-events:none;z-index:100}.tl-user-indicator__hint{z-index:110;stroke-width:calc(2.5px * var(--tl-scale))}.tl-collaborator__cursor-hint{z-index:120}.tl-collaborator__cursor{z-index:130}.tl-cursor{overflow:visible}.tl-shape-indicator{transform-origin:top left;fill:none;stroke-width:calc(1.5px * var(--tl-scale));contain:size}.tl-selection__bg{position:absolute;top:0;left:0;transform-origin:top left;background-color:transparent;pointer-events:all}.tl-selection__fg__outline{fill:none;pointer-events:none;stroke:var(--color-selection-stroke);stroke-width:calc(1.5px * var(--tl-scale))}.tl-corner-handle{pointer-events:none;stroke:var(--color-selection-stroke);fill:var(--color-background);stroke-width:calc(1.5px * var(--tl-scale))}.tl-text-handle{pointer-events:none;fill:var(--color-selection-stroke)}.tl-corner-crop-edge-handle,.tl-corner-crop-handle{pointer-events:none;fill:none;stroke:var(--color-selection-stroke)}.tl-rotate-handle{stroke:var(--color-selection-stroke);fill:var(--color-background);stroke-width:calc(1.5px * var(--tl-scale));pointer-events:all}.tl-mobile-rotate__bg{pointer-events:all;cursor:var(--tl-cursor-grab)}.tl-mobile-rotate__fg{pointer-events:none;stroke:var(--color-selection-stroke);fill:var(--color-background);stroke-width:calc(1.5px * var(--tl-scale))}.tl-transparent{fill:transparent;stroke:transparent}.tl-handle{pointer-events:all}.tl-handle__bg{fill:transparent;stroke:transparent;pointer-events:all;cursor:var(--tl-cursor-grabbing)}.tl-handle__fg{fill:var(--color-background);stroke:var(--color-selection-stroke);stroke-width:calc(1.5px * var(--tl-scale));pointer-events:none}.tl-handle__create{opacity:0}.tl-handle__create:hover{opacity:1}.tl-handle__bg:active{fill:none}.tl-handle__bg:hover{cursor:var(--tl-cursor-grab);fill:var(--color-selection-fill)}@media (pointer:coarse){.tl-handle__bg:active{fill:var(--color-selection-fill)}.tl-handle__create{opacity:1}}.tl-image,.tl-video{-o-object-fit:cover;object-fit:cover;background-size:cover;width:100%;height:100%}.tl-embed-container,.tl-image-container,.tl-video-container{width:100%;height:100%;pointer-events:all;display:flex;justify-content:center;align-items:center}.tl-image__tg{--scale:calc(min(2, var(--tl-scale)));position:absolute;top:calc(var(--scale) * 8px);right:calc(var(--scale) * 8px);font-size:10px;transform-origin:top right;background-color:var(--color-background);padding:2px 4px;border-radius:var(--radius-1)}.tl-collaborator-cursor{position:absolute}.tl-nametag{top:16px;left:13px;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;max-width:120px;padding:3px 6px;white-space:nowrap;position:absolute;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-family:var(--font-body);border-radius:var(--radius-2);color:var(--color-selected-contrast)}.tl-nametag-title{top:-2px;left:13px;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;padding:0 6px;max-width:120px;white-space:nowrap;position:absolute;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-family:var(--font-body);text-shadow:var(--tl-text-outline);color:var(--color-selected-contrast)}.tl-nametag-chat{top:16px;left:13px;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;color:var(--color-selected-contrast);white-space:nowrap;position:absolute;padding:3px 6px;font-size:12px;font-family:var(--font-body);opacity:1;border-radius:var(--radius-2)}.tl-cursor-chat{position:absolute;color:var(--color-selected-contrast);white-space:nowrap;padding:3px 6px;font-size:12px;font-family:var(--font-body);pointer-events:none;z-index:var(--layer-cursor);margin-top:16px;margin-left:13px;opacity:1;border:none;-webkit-user-select:text;-moz-user-select:text;user-select:text;border-radius:var(--radius-2)}.tl-cursor-chat .tl-cursor-chat__bubble{padding-right:12px}.tl-cursor-chat::-moz-selection{background:var(--color-selected);color:var(--color-selected-contrast);text-shadow:none}.tl-cursor-chat::selection{background:var(--color-selected);color:var(--color-selected-contrast);text-shadow:none}.tl-cursor-chat-fade{opacity:.0001;transition:opacity 5s ease-in-out}.tl-cursor-chat::-moz-placeholder{color:var(--color-selected-contrast);opacity:.7}.tl-cursor-chat::placeholder{color:var(--color-selected-contrast);opacity:.7}@keyframes spinner{to{transform:rotate(360deg)}}.tl-spinner::after{content:\\\"\\\";box-sizing:border-box;position:absolute;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;border-radius:50%;border:2px solid #ccc;border-top-color:#000;animation:.6s linear infinite spinner;pointer-events:none}.tl-iconshape__icon{pointer-events:all;width:100%;height:100%}.tl-icon-preview{width:14px;height:14px}.tl-text-shape__wrapper{position:relative;font-weight:400;min-width:1px;padding:0;margin:0;border:none;height:100%;font-variant:normal;font-style:normal;pointer-events:all;white-space:pre-wrap;overflow-wrap:break-word;text-shadow:var(--tl-text-outline)}.tl-text-shape__wrapper[data-align=start]{text-align:left}.tl-text-shape__wrapper[data-align=middle]{text-align:center}.tl-text-shape__wrapper[data-align=end]{text-align:right}.tl-text-shape__wrapper[data-font=draw]{font-family:var(--tl-font-draw)}.tl-text-shape__wrapper[data-font=sans]{font-family:var(--tl-font-sans)}.tl-text-shape__wrapper[data-font=serif]{font-family:var(--tl-font-serif)}.tl-text-shape__wrapper[data-font=mono]{font-family:var(--tl-font-mono)}.tl-text-shape__wrapper[data-isediting=true] .tl-text-content{opacity:0}.tl-text{margin:0;padding:0;border:0;color:inherit;caret-color:var(--color-text);background:0 0;-o-border-image:none;border-image:none;font-size:inherit;font-family:inherit;font-weight:inherit;line-height:inherit;font-variant:inherit;font-style:inherit;text-align:inherit;letter-spacing:inherit;text-shadow:inherit;outline:0;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;pointer-events:all;text-rendering:auto;text-transform:none;text-indent:0;display:inline-block;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;-moz-column-count:initial!important;column-count:initial!important;writing-mode:horizontal-tb!important;word-spacing:0px}.tl-text-measure{position:absolute;z-index:999999;top:-9999px;right:-9999px;opacity:0;width:-moz-max-content;width:max-content;box-sizing:border-box;pointer-events:none;line-break:normal;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;resize:none;border:none;-moz-user-select:none;user-select:none;contain:style paint;-webkit-user-select:none}.tl-text-edit-container{position:relative;width:100%;height:100%}.tl-text-content,.tl-text-input{position:absolute;top:0;left:0;width:100%;height:100%;min-width:1px;min-height:1px;overflow:visible;outline:0}.tl-text-content{pointer-events:none}.tl-text-input{resize:none;-moz-user-select:all;user-select:all;-webkit-user-select:text;overflow:hidden;cursor:var(--tl-cursor-text)}.tl-text-input::-moz-selection{background:var(--color-selected);color:var(--color-selected-contrast);text-shadow:none}.tl-text-input::selection{background:var(--color-selected);color:var(--color-selected-contrast);text-shadow:none}.tl-snap-line,.tl-snap-point{stroke:var(--color-accent);stroke-width:calc(1px * var(--tl-scale));fill:none}.tl-group{stroke:var(--color-text);stroke-width:calc(1px * var(--tl-scale));opacity:.5}.tl-bookmark__container{width:100%;height:100%;position:relative;border:1px solid var(--color-panel-contrast);background-color:var(--color-panel);border-radius:var(--radius-2);display:flex;flex-direction:column;overflow:hidden}.tl-bookmark__image_container{flex:1;overflow:hidden;border-top-left-radius:var(--radius-1);border-top-right-radius:var(--radius-1);width:100%;height:100%;display:flex;justify-content:flex-end;align-items:flex-start}.tl-bookmark__image_container>.tl-hyperlink-button::after{background-color:var(--color-panel)}.tl-bookmark__placeholder{width:100%;height:100%;background-color:var(--color-muted-2);border-bottom:1px solid var(--color-muted-2)}.tl-bookmark__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.tl-bookmark__copy_container{background-color:var(--color-muted);padding:var(--space-4);pointer-events:all}.tl-bookmark__description,.tl-bookmark__heading,.tl-bookmark__link{margin:0;width:100%;font-family:inherit}.tl-bookmark__heading{font-size:16px;font-weight:700;padding-bottom:var(--space-2);margin:8px 0}.tl-bookmark__description{font-size:12px;padding-bottom:var(--space-4)}.tl-bookmark__link{font-size:14px;pointer-events:all;z-index:999;overflow:hidden;display:block;color:var(--color-text);text-overflow:ellipsis;text-decoration:none;color:var(--color-text-1);cursor:var(--tl-cursor-pointer)}.tl-bookmark__link:hover{color:var(--color-selected)}.tl-hyperlink-button{background:0 0;margin:0;position:absolute;top:0;right:0;height:44px;width:44px;display:flex;align-items:center;justify-content:center;z-index:200;font-size:12px;font-weight:400;color:var(--color-text-1);padding:13px;cursor:var(--tl-cursor-pointer);border:none;outline:0;pointer-events:all}.tl-hyperlink-button::after{content:\\\"\\\";z-index:-1;position:absolute;right:6px;bottom:6px;display:block;width:calc(100% - 12px);height:calc(100% - 12px);border-radius:var(--radius-1);background-color:var(--color-background);pointer-events:none}.tl-hyperlink-button:hover{color:var(--color-selected)}.tl-hyperlink-button:focus-visible{color:var(--color-selected)}.tl-hyperlink-button__icon{width:18px;height:18px;background-color:currentColor;pointer-events:none}.tl-hyperlink-button__hidden{display:none}.tl-text-label{display:flex;justify-content:center;align-items:center;color:var(--color-text);text-shadow:var(--tl-text-outline);line-height:inherit;position:absolute;inset:0px;z-index:10}.tl-text-label[data-isediting=true] .tl-text-content{opacity:0}.tl-text-label[data-hastext=false][data-isediting=false]>.tl-text-label__inner{width:40px;height:40px}.tl-text-label[data-hastext=true][data-isediting=false] .tl-text-content{pointer-events:all}.tl-text-label__inner{position:relative;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;display:flex;align-items:center;justify-content:center;pointer-events:none;min-height:auto}.tl-text-label__inner>.tl-text{position:relative;top:0;left:0;padding:16px;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content;border-radius:var(--radius-1);max-width:100%;z-index:3}.tl-text-label__inner>.tl-text-input{position:absolute;top:0;left:0;width:100%;height:100%;padding:16px;z-index:4}.tl-text-label[data-textwrap=true]>.tl-text-label__inner{max-width:100%}.tl-text-label[data-isediting=true]{background-color:transparent;min-height:auto}.tl-text-label[data-isediting=true] p{opacity:0}.tl-text-label[data-align=start-legacy],.tl-text-label[data-align=start]{text-align:left}.tl-text-label[data-align=middle-legacy],.tl-text-label[data-align=middle]{text-align:center}.tl-text-label[data-align=end-legacy],.tl-text-label[data-align=end]{text-align:right}.tl-arrow-hint{stroke:var(--color-text-1);fill:none;stroke-linecap:round;overflow:visible}.tl-arrow-label[data-font=draw],.tl-text-label[data-font=draw]{font-family:var(--tl-font-draw)}.tl-arrow-label[data-font=sans],.tl-text-label[data-font=sans]{font-family:var(--tl-font-sans)}.tl-arrow-label[data-font=serif],.tl-text-label[data-font=serif]{font-family:var(--tl-font-serif)}.tl-arrow-label[data-font=mono],.tl-text-label[data-font=mono]{font-family:var(--tl-font-mono)}.tl-arrow-label{position:absolute;top:-1px;left:-1px;width:2px;height:2px;padding:0;display:flex;justify-content:center;align-items:center;color:var(--color-text);text-shadow:var(--tl-text-outline)}.tl-arrow-label[data-isediting=true] p{opacity:0}.tl-arrow-label[data-isediting=true]>.tl-arrow-label__inner{background-color:var(--color-background)}.tl-arrow-label__inner{border-radius:var(--radius-1);box-sizing:content-box;position:relative;height:-moz-max-content;height:max-content;width:-moz-max-content;width:max-content;pointer-events:all;display:flex;justify-content:center;align-items:center}.tl-arrow-label p,.tl-arrow-label textarea{margin:0;padding:0;border:0;color:inherit;caret-color:var(--color-text);background:0 0;-o-border-image:none;border-image:none;font-size:inherit;font-family:inherit;font-weight:inherit;line-height:inherit;font-variant:inherit;font-style:inherit;text-align:inherit;letter-spacing:inherit;text-shadow:inherit;outline:0;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;pointer-events:all;text-rendering:auto;text-transform:none;text-indent:0;display:inline-block;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;-moz-column-count:initial!important;column-count:initial!important;writing-mode:horizontal-tb!important;word-spacing:0px}.tl-arrow-label p{position:relative;height:-moz-max-content;height:max-content;z-index:2;padding:4px;overflow:visible}.tl-arrow-label textarea{z-index:3;margin:0;padding:4px;height:100%;width:100%;position:absolute;resize:none;border:0;-moz-user-select:all;user-select:all;-webkit-user-select:text;caret-color:var(--color-text);-o-border-image:none;border-image:none;min-width:4px}.tl-note__container{position:relative;width:100%;height:100%;border-radius:var(--radius-2);box-shadow:var(--shadow-1);overflow:hidden;border:1px solid currentColor}.tl-note__container .tl-text-label{text-shadow:none}.tl-note__scrim{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;background-color:var(--color-background);opacity:.28}.tl-loading{background-color:var(--color-background);color:var(--color-text-1);height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-2);font-size:14px;font-weight:500;opacity:0;animation:.2s ease-in-out .2s forwards fade-in}@keyframes fade-in{0%{opacity:0}100%{opacity:1}}.tl-frame__body{stroke-width:calc(1px * var(--tl-scale))}.tl-frame__creating{stroke:var(--color-selected);fill:none}.tl-frame__hitarea{border-style:solid;border-width:calc(8px * var(--tl-scale));border-color:transparent;background:0 0;pointer-events:stroke;box-sizing:border-box;top:calc(-8px * var(--tl-scale));left:calc(-8px * var(--tl-scale));width:calc(100% + calc(16px * var(--tl-scale)));height:calc(100% + calc(16px * var(--tl-scale)));z-index:1;position:absolute}.tl-frame-heading{display:flex;align-items:center;position:absolute;transform-origin:0% 100%;overflow:hidden;max-width:100%;min-width:32px;height:auto;font-size:12px;padding-bottom:4px;pointer-events:all}.tl-frame-heading-hit-area{pointer-events:all;transform-origin:0% 100%;display:flex;height:100%;width:100%;align-items:center;border-radius:var(--radius-1);background-color:var(--color-background)}.tl-frame-label{pointer-events:all;overflow:hidden;text-overflow:ellipsis;padding:var(--space-3) var(--space-3);position:relative;font-size:inherit;white-space:pre;border:1px solid transparent}.tl-frame-label__editing{color:transparent;white-space:pre;width:auto;overflow:visible;background-color:var(--color-panel);border-radius:var(--radius-1);border-color:var(--color-selected)}.tl-frame-name-input{position:absolute;top:0;left:0;border:none;background:0 0;outline:0;padding:var(--space-3) var(--space-3);inset:0px;font-size:inherit;font-family:inherit;font-weight:inherit;width:100%;color:var(--color-text-1);border-radius:var(--radius-1);-moz-user-select:all;user-select:all;-webkit-user-select:text;white-space:pre;cursor:var(--tl-cursor-text)}@media (max-width:600px){.tl-frame-heading{font-size:16px}}.tl-embed{border:none;border-radius:var(--radius-2)}.tl-image__button{padding:4px 8px;color:var(--color-text);background-color:var(--color-panel);border-radius:var(--radius-2);box-shadow:var(--shadow-1);pointer-events:all;cursor:var(--tl-cursor-pointer);outline:0;display:flex}.tl-image__button:disabled{opacity:.5;pointer-events:none}.tl-image__toolbox{position:absolute;top:0;left:0;display:flex;justify-content:flex-end;align-items:flex-end;padding:10px}.tl-image__toolbox__hidden{display:none}.tl-shape-error-boundary{width:100%;height:100%;background-color:var(--color-muted-1);border-width:calc(1px * var(--tl-scale));border-color:var(--color-muted-1);border-style:solid;border-radius:calc(var(--radius-1) * var(--tl-scale));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:left;position:relative;pointer-events:all;overflow:hidden;padding:var(--space-2)}.tl-shape-error-boundary::before{transform:scale(var(--tl-scale));content:\\\"Error\\\";font-size:12px;font-family:inherit;color:var(--color-text-0)}.tl-error-boundary{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background-color:var(--color-background);color:var(--color-text-1);position:absolute;z-index:600}.tl-error-boundary__overlay{position:absolute;inset:0px;z-index:500;background-color:var(--color-overlay)}.tl-error-boundary__content *{-moz-user-select:all;user-select:all;-webkit-user-select:text;pointer-events:all}.tl-error-boundary__canvas{pointer-events:none;position:absolute;inset:0px;z-index:-1}.tl-error-boundary__canvas::after{content:\\\" \\\";display:block;position:absolute;inset:0px;z-index:600;pointer-events:all}.tl-error-boundary__content{height:-moz-fit-content;height:fit-content;max-width:100%;width:400px;max-height:100%;background-color:var(--color-panel);padding:16px;border-radius:16px;box-shadow:var(--shadow-2);font-size:14px;font-weight:400;display:flex;flex-direction:column;overflow:auto;z-index:600;gap:12px}.tl-error-boundary__content__expanded{width:600px}.tl-error-boundary__content h2{font-size:16px;margin:0;font-weight:500}.tl-error-boundary__content p{line-height:1.5;margin:0}.tl-error-boundary__content pre{background-color:var(--color-muted-2);padding:var(--space-5);border-radius:var(--radius-2);overflow:auto;font-size:12px;max-height:320px}.tl-error-boundary__content button{background:0 0;border:none;font-family:inherit;font-size:14px;font-weight:500;padding:var(--space-4);border-radius:var(--radius-3);cursor:var(--tl-cursor-pointer);color:inherit}.tl-error-boundary__content button:hover{background-color:var(--color-low)}.tl-error-boundary__content a{color:var(--color-text-1);font-weight:500;text-decoration:none}.tl-error-boundary__content a:hover{color:var(--color-text-1)}.tl-error-boundary__content__error{position:relative}.tl-error-boundary__content__error button{position:absolute;top:var(--space-2);right:var(--space-2);font-size:12px;padding:var(--space-2) var(--space-3);background-color:var(--color-panel);border-radius:var(--radius-1)}.tl-error-boundary__content__actions{display:flex;justify-content:space-between;gap:var(--space-4);margin:0 0 0 -4px}.tl-error-boundary__content__actions__group{display:flex;gap:var(--space-4)}.tl-error-boundary__content .tl-error-boundary__reset{color:var(--color-warn)}.tl-error-boundary__content .tl-error-boundary__refresh{background-color:var(--color-primary);color:var(--color-selected-contrast)}.tl-error-boundary__content .tl-error-boundary__refresh:hover{background-color:var(--color-primary);opacity:.9}@media screen and (pointer:coarse){.tl-canvas__mobile .tl-handle__hint{opacity:1}}.tl-hidden{opacity:0;pointer-events:none}.debug__ui-logger{position:absolute;top:62px;left:16px;color:#555;font-size:12px;font-family:monospace}.tlui-button{position:relative;height:40px;min-width:40px;padding:0 12px;display:flex;align-items:center;justify-content:center;background-color:transparent;border:transparent;color:currentColor;cursor:pointer;pointer-events:all;font-weight:inherit;font-family:inherit;text-rendering:optimizeLegibility;font-size:12px;gap:0;color:var(--color-text-1);text-shadow:1px 1px var(--color-text-shadow)}.tlui-button:disabled{color:var(--color-text-3);text-shadow:none}.tlui-button:disabled .tlui-kbd{color:var(--color-text-3)}.tlui-button>*{position:relative;z-index:1}.tlui-button__label{flex-grow:2;text-align:left}.tlui-button:focus-visible:not(:hover){outline:1px solid var(--color-selected);outline-offset:-4px;border-radius:var(--radius-3)}.tlui-button::after{display:block;content:\\\"\\\";position:absolute;inset:4px;background-color:transparent;border-radius:var(--radius-2)}.tlui-button[aria-expanded=true]::after{background-color:var(--color-muted-0);opacity:1}.tlui-button__low{border-radius:var(--radius-3);background-color:var(--color-low)}.tlui-button__primary{color:var(--color-primary)}.tlui-button__danger{color:var(--color-warn);text-shadow:none}.tlui-button__panel{position:relative}.tlui-button__icon{height:40px;width:40px;min-height:40px;min-width:40px;padding:0}.tlui-button__icon-left{margin-right:var(--space-2)}.tlui-button__icon[data-state=hinted]::after,.tlui-button__icon[data-state=hinted]:not(:disabled,:focus-visible):active::after{background:var(--color-hint);opacity:1}.tlui-button__menu{height:40px;min-height:40px;min-width:128px;width:100%;gap:8px;margin:-4px 0}.tlui-button__menu:first-child{margin-top:0}.tlui-button__menu:last-child{margin-bottom:0}.tlui-button__checkbox{padding-left:8px}.tlui-button__checkbox__indicator{width:15px;height:15px}.tlui-toolbar__lock-button{position:absolute;top:4px;right:0;pointer-events:all;height:40px;width:40px;min-width:0;border-radius:var(--radius-2)}.tlui-toolbar__lock-button::after{top:4px;left:8px;inset:4px}.tlui-button__tool{position:relative;height:48px;width:48px;margin-left:-2px;margin-right:-2px}.tlui-button__tool:first-of-type{margin-left:0}.tlui-button__tool:last-of-type{margin-right:0}@media (hover:hover){.tlui-button::after{background-color:var(--color-muted-2);opacity:0}.tlui-button:not(:disabled):hover::after{opacity:1}.tlui-button__low::after{background-color:var(--color-muted-2)}.tlui-button__primary:not(:disabled,:focus-visible):hover{color:var(--color-primary)}.tlui-button__danger:not(:disabled,:focus-visible):hover{color:var(--color-warn);text-shadow:none}.tlui-button__icon::after{inset:4px;border-radius:var(--radius-2)}.tlui-button__icon[data-state=hinted]:not(:disabled,:focus-visible):hover::after{background:var(--color-hint)}.tlui-button__menu::after{inset:4px;border-radius:var(--radius-2)}.tlui-button__tool::after{inset:4px;border-radius:8px}.tlui-button__tool[data-state=selected]:not(:disabled,:focus-visible):hover{color:var(--color-selected-contrast)}}.tlui-button__tool[data-state=selected],.tlui-button__tool[data-state=selected]:not(:disabled,:focus-visible):active{color:var(--color-selected-contrast)}.tlui-button__tool[data-state=selected]:not(:disabled)::after{background:var(--color-selected);opacity:1}.tlui-button__help{height:32px;width:32px;padding:0;min-width:32px;border-radius:100%;background-color:var(--color-low);border:1px solid var(--color-low-border)}@media (hover:hover){.tlui-button__help::after{background-color:var(--color-muted-2);border-radius:100%;inset:4px}.tlui-navigation-zone__toggle:hover .tlui-icon{opacity:1}}.tlui-buttons__horizontal{display:flex;flex-direction:row}.tlui-buttons__horizontal>*{margin-left:-2px;margin-right:-2px}.tlui-buttons__horizontal>:first-child{margin-left:0}.tlui-buttons__horizontal>:last-child{margin-right:0}.tlui-buttons__grid{display:grid;grid-template-columns:repeat(4,auto);grid-auto-flow:row;overflow:hidden}.tlui-buttons__grid>.tlui-button{margin:-2px}.tlui-buttons__grid>.tlui-button:nth-of-type(4n){margin-right:0}.tlui-buttons__grid>.tlui-button:nth-of-type(4n-3){margin-left:0}.tlui-buttons__grid>.tlui-button:nth-of-type(-n+4){margin-top:0}.tlui-buttons__grid>.tlui-button:nth-last-of-type(-n+4){margin-bottom:0}.tlui-zoom-menu__button__pct{width:60px;min-width:60px;text-align:center}@media (max-width:640px){.tlui-button__tool{height:48px;width:44px}.tlui-button__tool>.tlui-icon{height:16px;width:16px}.tlui-kbd{visibility:hidden}.tlui-menu__group .tlui-button__icon-left{display:none}}.tlui-layout{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0px,1fr) auto;grid-auto-rows:auto;height:100%;max-height:100%;overflow:clip;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;contain:strict;z-index:var(--layer-panels);-webkit-transform:translate3d(0,0,0);--sab:env(safe-area-inset-bottom)}.tlui-layout__top{grid-column:1;grid-row:1;display:flex;min-width:0;justify-content:space-between}.tlui-layout__top__left{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%;height:100%;flex:0 1 0}.tlui-layout__top__right{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;height:100%;flex:0 0 auto;min-width:0}.scrollable,.scrollable *{pointer-events:all;touch-action:auto;overscroll-behavior:none}.tlui-helper-buttons{position:relative;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;width:-moz-min-content;width:min-content;gap:var(--space-3);margin:var(--space-2) var(--space-3);white-space:nowrap;pointer-events:none;z-index:var(--layer-panels)}.tlui-icon{flex-shrink:0;width:18px;height:18px;background-color:currentColor}.tlui-icon__small{width:15px;height:15px}.tlui-slider{position:relative;display:flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.tlui-slider__container{width:100%;padding:0 var(--space-4)}.tlui-slider__track{position:relative;flex-grow:1;height:44px;cursor:pointer}.tlui-slider__track::after{display:block;position:absolute;top:calc(50% - 2px);content:\\\"\\\";height:3px;width:100%;background-color:var(--color-muted-1);border-radius:14px}.tlui-slider__range{position:absolute;top:calc(50% - 2px);left:0;height:3px;background-color:var(--color-selected);border-radius:14px}.tlui-slider__thumb{all:unset;cursor:grab;display:block;width:18px;height:18px;position:relative;top:-1px;background-color:var(--color-panel);border-radius:999px;box-shadow:inset 0 0 0 2px var(--color-text-1)}.tlui-slider__thumb:active{cursor:grabbing;box-shadow:inset 0 0 0 2px var(--color-text-1),var(--shadow-1)}.tlui-slider__thumb:focus-visible{box-shadow:inset 0 0 0 2px var(--color-focus)}.tlui-kbd{font-family:inherit;font-size:11px;line-height:11px;display:grid;justify-items:center;grid-auto-flow:column;grid-template-columns:auto;grid-auto-columns:minmax(1em,auto);gap:1px;align-self:bottom;color:var(--color-text-1);margin-left:var(--space-4)}.tlui-kbd>span{width:100%;text-align:center;display:inline;margin:0;padding:2px;border-radius:2px}.tlui-kbd:not(:last-child){margin-right:var(--space-2)}.tlui-focus-button{z-index:var(--layer-panels);pointer-events:all}.tlui-popover{position:relative;display:flex;align-content:stretch}.tlui-popover__content{position:relative;max-height:75vh;margin:0;border:none;border-radius:var(--radius-3);background-color:var(--color-panel);box-shadow:var(--shadow-3);z-index:var(--layer-menus);overflow:hidden;overflow-y:auto;touch-action:auto;overscroll-behavior:none;scrollbar-width:none;-ms-overflow-style:none}.tlui-debug-panel{background-color:var(--color-low);width:100%;display:grid;align-items:center;grid-template-columns:1fr auto auto;justify-content:space-between;padding-left:var(--space-4);border-top:1px solid var(--color-background);font-size:12px;color:var(--color-text-1);z-index:var(--layer-panels);pointer-events:all}.tlui-debug-panel__current-state{white-space:nowrap}.tlui-menu-zone{position:relative;z-index:var(--layer-panels);width:-moz-fit-content;width:fit-content;border-right:4px solid var(--color-background);border-bottom:4px solid var(--color-background);border-bottom-right-radius:var(--radius-4);background-color:var(--color-low)}.tlui-menu-zone [data-state=open]::after{background:linear-gradient(180deg,rgba(144,144,144,0) 0,var(--color-muted-2) 100%)}.tlui-style-panel__wrapper{box-shadow:var(--shadow-2);border-radius:var(--radius-3);pointer-events:all;background-color:var(--color-panel);height:-moz-fit-content;height:fit-content;max-height:100%;margin:4px 8px;touch-action:auto;overscroll-behavior:none;overflow-y:auto;overflow-x:hidden;color:var(--color-text)}.tlui-style-panel{position:relative;z-index:var(--layer-panels);pointer-events:all;width:148px;max-width:148px}.tlui-style-panel::-webkit-scrollbar{display:none}.tlui-style-panel .tlui-button.select{width:100%}.tlui-style-panel__section{display:flex;position:relative;flex-direction:column}.tlui-style-panel__section:nth-of-type(n+2):not(:last-child){border-bottom:1px solid var(--color-divider)}.tlui-style-panel__section:empty{display:none}.tlui-style-panel__section__common:not(:only-child){margin-bottom:7px;border-bottom:1px solid var(--color-divider)}.tlui-style-panel__row{display:flex}.tlui-style-panel__row__extra-button{margin-left:-2px}.tlui-style-panel__double-select-picker__wrapper{width:100%;max-width:100%}.tlui-style-panel__double-select-picker{display:flex;grid-template-columns:1fr auto;align-items:center;padding-left:var(--space-4);color:var(--color-text-1);font-size:12px}.tlui-style-panel__double-select-picker-label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;flex-grow:2;max-width:100%}.tlui-style-panel__section [data-state=open]::after{background:var(--color-muted-0)}.tlui-input{background:0 0;margin:0;position:relative;z-index:1;height:40px;max-height:40px;display:flex;align-items:center;justify-content:center;font-family:inherit;font-size:12px;font-weight:inherit;color:var(--color-text-1);padding:var(--space-4);padding-left:0;border:none;outline:0;text-overflow:ellipsis;width:100%;-webkit-user-select:all;-moz-user-select:all;user-select:all;text-rendering:optimizeLegibility;-webkit-user-select:auto!important}.tlui-input__wrapper{width:100%;height:44px;display:flex;align-items:center;gap:var(--space-4);color:var(--color-text)}.tlui-input__wrapper>.tlui-icon{flex-shrink:0}@media (max-width:600px){@supports (-webkit-touch-callout:none){.tlui-input{font-size:16px}}}.tlui-prompt__overlay{background:var(--color-overlay);position:fixed;top:0;left:0;right:0;bottom:0;display:grid;place-items:center;overflow-y:auto;z-index:var(--layer-overlays)}.tlui-prompt__content{cursor:default;background-color:var(--color-panel);box-shadow:var(--shadow-3);border-radius:var(--radius-4);padding:var(--space-5);font-size:12px;overflow-y:auto;min-width:300px;max-width:80vw;max-height:80vh}.tlui-prompt__actions{border:none;padding:0;margin:0;display:flex;justify-content:flex-end;margin-right:calc(-1 * var(--space-3));margin-bottom:calc(-1 * var(--space-3))}.tlui-prompt__title{margin:0;font-size:12px}.tlui-prompt__error{color:#d10b0b;display:flex;gap:var(--space-2);align-items:center}.tlui-dialog__overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:var(--layer-overlays);background-color:var(--color-overlay);pointer-events:all;animation:.12s ease-out fadeIn;display:grid;place-items:center;overflow-y:auto}.tlui-dialog__content{display:flex;flex-direction:column;position:relative;cursor:default;background-color:var(--color-panel);box-shadow:var(--shadow-3);border-radius:var(--radius-3);font-size:12px;overflow:hidden;min-width:300px;max-width:80vw;max-height:80vh}.tlui-dialog__header{position:relative;display:flex;align-items:center;flex:0;z-index:999;padding-left:var(--space-4);color:var(--color-text);height:44px}.tlui-dialog__header__title{flex:1;font-weight:inherit;font-size:12px;margin:0;color:var(--color-text-1)}.tlui-dialog__header__close{justify-self:flex-end}.tlui-dialog__body{padding:var(--space-4) var(--space-4);flex:0 1;overflow-y:auto;overflow-x:hidden;color:var(--color-text-1);-moz-user-select:all;user-select:all;-webkit-user-select:text}.tlui-dialog__footer{position:relative;z-index:999}.tlui-dialog__footer__actions{display:flex;align-items:center;justify-content:flex-end}.tlui-dialog__footer__actions>.tlui-button:nth-last-child(n+2){margin-right:-4px}.tlui-toolbar{grid-column:1/span 3;grid-row:1;display:flex;align-items:center;justify-content:center;flex-grow:2;padding-bottom:calc(var(--space-3) + var(--sab))}.tlui-toolbar__inner{position:relative;width:-moz-fit-content;width:fit-content;display:flex;gap:var(--space-3);align-items:flex-end}.tlui-toolbar__left{width:-moz-fit-content;width:fit-content}.tlui-toolbar__extras{position:relative;z-index:1;width:100%;pointer-events:none;top:4px;height:48px}.tlui-toolbar__extras__controls{display:flex;position:relative;flex-direction:row;z-index:1;background-color:var(--color-low);border-top-left-radius:var(--radius-4);border-top-right-radius:var(--radius-4);border:4px solid var(--color-background);margin-left:8px;margin-right:0;pointer-events:all;width:-moz-fit-content;width:fit-content}.tlui-toolbar__tools{display:flex;flex-direction:row;background-color:var(--color-low);border-radius:11px;z-index:var(--layer-panels);pointer-events:all;position:relative;align-items:center;background:var(--color-panel);box-shadow:var(--shadow-2)}.tlui-toolbar__overflow{width:40px}@media (max-width:640px){.tlui-toolbar__overflow{width:32px;padding:0}.tlui-toolbar [data-state=open]::after{background:linear-gradient(0deg,rgba(144,144,144,0) 0,var(--color-muted-2) 100%)}}.tlui-help-menu{pointer-events:all;position:absolute;bottom:var(--space-2);right:var(--space-2);z-index:var(--layer-panels);border:4px solid var(--color-background);border-radius:100%}.tlui-context-menu__move-to-page__name{max-width:calc(min(300px,35vw));overflow:hidden;text-overflow:ellipsis}.tlui-context-menu__move-to-page__name[data-disabled]{color:var(--color-text-3);pointer-events:none}.tlui-menu{z-index:var(--layer-menus);height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content;max-height:80vh;border-radius:var(--radius-3);pointer-events:all;touch-action:auto;overflow-y:auto;overscroll-behavior:none;background-color:var(--color-panel);box-shadow:var(--shadow-3)}.tlui-menu::-webkit-scrollbar{display:none}.tlui-menu__arrow{position:relative;top:-1px;fill:var(--color-panel);stroke:var(--color-panel-contrast);stroke-width:1px}.tlui-menu__group[data-size=large]{min-width:initial}.tlui-menu__group[data-size=medium]{min-width:144px}.tlui-menu__group[data-size=small]{min-width:96px}.tlui-menu__group[data-size=tiny]{min-width:0}.tlui-menu__group+.tlui-menu__group{border-top:1px solid var(--color-divider)}.tlui-menu__submenu__trigger[data-state=open]:not(:hover)::after{border-radius:var(--radius-1);background:linear-gradient(90deg,rgba(144,144,144,0) 0,var(--color-muted-2) 100%)}.tlui-menu__submenu__trigger[data-direction=left][data-state=open]:not(:hover)::after{border-radius:var(--radius-1);background:linear-gradient(270deg,rgba(144,144,144,0) 0,var(--color-muted-2) 100%)}.tlui-actions-menu{max-height:calc(100vh - 150px)}.tlui-toast__viewport{position:absolute;inset:0px;margin:0;display:flex;align-items:flex-end;justify-content:flex-end;flex-direction:column;gap:var(--space-3);pointer-events:none;padding:0 var(--space-3) 64px 0;z-index:var(--layer-toasts)}.tlui-toast__viewport>*{pointer-events:all}.tlui-toast__icon{padding-top:var(--space-4);padding-left:var(--space-4);color:var(--color-text-1)}.tlui-toast__container{min-width:200px;display:flex;flex-direction:row;background-color:var(--color-panel);box-shadow:var(--shadow-2);border-radius:var(--radius-3);font-size:12px}.tlui-toast__main{flex-grow:2;max-width:280px}.tlui-toast__content{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.tlui-toast__title{font-weight:700;color:var(--color-text-1)}.tlui-toast__description{color:var(--color-text-1);padding:var(--space-3);margin:0;padding:0}.tlui-toast__icon+.tlui-toast__main>.tlui-toast__actions{padding-left:0}.tlui-toast__actions{display:flex;flex-direction:row;justify-content:flex-start;margin-left:0}.tlui-toast__close{align-self:flex-end;flex-shrink:0}@media (prefers-reduced-motion:no-preference){.tlui-toast__container[data-state=open]{animation:.2s cubic-bezier(.785,.135,.15,.86) slide-in}.tlui-toast__container[data-state=closed]{animation:.1s ease-in hide}.tlui-toast__container[data-swipe=move]{transform:translateX(var(--radix-toast-swipe-move-x))}.tlui-toast__container[data-swipe=cancel]{transform:translateX(0);transition:transform .2s ease-out}.tlui-toast__container[data-swipe=end]{animation:.1s ease-out swipe-out}}.tlui-layout__bottom{grid-row:2}.tlui-layout__bottom__main{width:100%;position:relative;display:flex;align-items:flex-end;justify-content:center}.tlui-navigation-zone{display:flex;width:-moz-min-content;width:min-content;flex-direction:column;z-index:var(--layer-panels);pointer-events:all;position:absolute;left:0;bottom:0}.tlui-navigation-zone::before{content:\\\"\\\";display:block;position:absolute;z-index:-1;inset:-4px -4px 0px 0px;border-radius:0;border-top:4px solid var(--color-background);border-right:4px solid var(--color-background);border-top-right-radius:var(--radius-4);background-color:var(--color-low)}.tlui-navigation-zone__toggle .tlui-icon{opacity:.24}.tlui-navigation-zone__toggle:active .tlui-icon{opacity:1}.tlui-minimap{width:100%;height:96px;min-height:96px;overflow:hidden;padding:var(--space-3);padding-top:0}.tlui-minimap__canvas{position:relative;width:100%;height:100%}@keyframes hide{0%{opacity:1}100%{opacity:0}}@keyframes slide-in{from{transform:translateX(calc(100% + var(--space-3)))}to{transform:translateX(0)}}@keyframes swipe-out{from{transform:translateX(var(--radix-toast-swipe-end-x))}to{transform:translateX(calc(100% + var(--space-3)))}}.tlui-page-menu__wrapper{position:relative;display:flex;flex-direction:column;width:220px;height:-moz-fit-content;height:fit-content;max-height:50vh}.tlui-page-menu__trigger{width:128px}.tlui-page-menu__trigger>span{flex-grow:2;margin-right:var(--space-4)}.tlui-page-menu__header{display:flex;flex-direction:row;align-items:center;width:100%;height:40px;padding-left:var(--space-4);border-bottom:1px solid var(--color-divider)}.tlui-page-menu__header>.tlui-button:first-of-type{margin-right:-4px}.tlui-page-menu__header__title{color:var(--color-text);font-size:12px;flex-grow:2}.tlui-page-menu__name{flex-grow:2;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tlui-page-menu__list{position:relative;flex-direction:column;max-height:100%;overflow-x:hidden;overflow-y:auto;touch-action:auto}.tlui-page-menu__item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:0}.tlui-page-menu__item:nth-of-type(n+2){margin-top:-4px}.tlui-page-menu__item__button{width:100%}.tlui-page-menu__item__button:not(:only-child){flex-grow:2;margin-right:-2px}.tlui-page-menu__item__button>span{display:block;flex-grow:2;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tlui-page-menu__item__button__checkbox{padding-left:35px}.tlui-page-menu__item__button__check{position:absolute;left:0;width:24px;padding-left:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text)}.tlui-page_menu__item__sortable{position:absolute;top:0;left:0;width:100%;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:row;align-items:center;overflow:hidden;z-index:1}.tlui-page_menu__item__sortable__title{flex:1}.tlui-page_menu__item__sortable__title>.tlui-input__wrapper{height:100%}.tlui-page_menu__item__sortable:focus-within{z-index:10}.tlui-page_menu__item__sortable__handle{touch-action:none;width:32px;min-width:0;height:40px;cursor:grab;color:var(--color-text-3);flex-shrink:0;margin-right:-9px}.tlui-page_menu__item__sortable__handle:active{cursor:grabbing}.tlui-page-menu__item__input{margin-left:12px;height:100%}.tlui-page_menu__item__submenu{pointer-events:all;flex:0;cursor:pointer;margin:0 0 0 -2px;display:none}.tlui-page_menu__item__submenu[data-isediting=true]{display:block}@media (hover:hover){.tlui-page_menu__item__submenu{opacity:0;display:block}.tlui-page-menu__item:focus-within>.tlui-page_menu__item__submenu,.tlui-page_menu__item__sortable:focus-within>.tlui-page_menu__item__submenu,.tlui-page_menu__item__submenu:hover{opacity:1}}.tlui-edit-link-dialog{display:flex;flex-direction:column;gap:var(--space-4);color:var(--color-text)}.tlui-edit-link-dialog__input{background-color:var(--color-muted-2);flex-grow:2;border-radius:var(--radius-2);padding:0 var(--space-4)}.tlui-embed__spacer{flex-grow:2;min-height:0;margin-left:calc(-1 * var(--space-4));margin-top:calc(-1 * var(--space-4));pointer-events:none}.tlui-embed-dialog__list{display:flex;flex-direction:column;padding-bottom:var(--space-5)}.tlui-embed-dialog__item{position:relative;border:none;background:0 0;font-family:inherit;display:flex;text-align:left;gap:var(--space-3);margin:0 -8px;cursor:pointer;padding:0 4px;align-items:center;color:var(--color-text);font-size:var(--font-size-1);height:44px}@media (hover:hover){.tlui-embed-dialog__item:not(:disabled,:focus-visible):hover::after{display:block;content:\\\"\\\";position:absolute;inset:4px;background-color:var(--color-muted-2);border-radius:var(--radius-1)}}.tlui-embed-dialog__item__image{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background-size:contain;background-repeat:no-repeat;background-position:center center}.tlui-embed-dialog__enter{display:flex;flex-direction:column;gap:var(--space-4);color:var(--color-text-1)}.tlui-embed-dialog__input{background-color:var(--color-muted-2);flex-grow:2;border-radius:var(--radius-2);padding:0 var(--space-4)}.tlui-embed-dialog__warning{color:var(--color-warn);text-shadow:none}.tlui-embed-dialog__instruction__link{display:flex;gap:var(--space-1);margin-top:var(--space-4)}.tlui-embed-dialog__enter a{color:var(--color-text-1)}.tlui-following-indicator{display:block;position:absolute;inset:0px;border-width:2px;border-style:solid;z-index:var(--layer-following-indicator);pointer-events:none}.tlui-offline-indicator{display:flex;flex-direction:row;gap:var(--space-3);color:var(--color-text);background-color:var(--color-low);border:3px solid var(--color-background);padding:0 var(--space-5);height:42px;align-items:center;justify-content:center;border-radius:99px;opacity:0;animation:.12s 2s forwards fade-in}.tlui-shortcuts-dialog__header{border-bottom:1px solid var(--color-divider)}.tlui-shortcuts-dialog__body{position:relative;-moz-columns:1;columns:1;-moz-column-gap:var(--space-9);column-gap:var(--space-9);pointer-events:all;touch-action:auto}@media (min-width:475px){.tlui-shortcuts-dialog__body{-moz-columns:2;columns:2;-moz-column-gap:var(--space-9);column-gap:var(--space-9)}}@media (min-width:960px){.tlui-shortcuts-dialog__body{-moz-columns:3;columns:3;-moz-column-gap:var(--space-9);column-gap:var(--space-9)}}.tlui-shortcuts-dialog__group{-moz-column-break-inside:avoid;break-inside:avoid-column;padding-bottom:var(--space-6)}.tlui-shortcuts-dialog__group__title{font-size:inherit;font-weight:inherit;margin:0;color:var(--color-text-3);height:32px;display:flex;align-items:center}.tlui-shortcuts-dialog__group__content{display:flex;flex-direction:column;color:var(--color-text-1)}.tlui-shortcuts-dialog__key-pair{display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;height:32px}.tlui-shortcuts-dialog__key-pair__key{flex:1;font-size:12px}\"}}}","title":"$:/plugins/linonetwo/tw-whiteboard","type":"application/json","version":"0.4.0","Modern.TiddlyDev#SHA256-Hashed":"ec30557ad311c96413a7f54294b1c50bfed1adb347dfedae5e4abd6b11a2aa29","name":"Whiteboard"}, {"text":"{\"tiddlers\":{\"$:/plugins/telmiger/EditorCounter/EditTemplate\":{\"title\":\"$:/plugins/telmiger/EditorCounter/EditTemplate\",\"created\":\"20170126185919666\",\"creator\":\"Thomas Elmiger\",\"list-before\":\"$:/core/ui/EditTemplate/type\",\"modified\":\"20200605055914338\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"$:/tags/EditTemplate EditorCounter\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003Cdiv class=\\\"te-editor-counter\\\">\\n\u003C$reveal type=\\\"match\\\" text=\\\"yes\\\" state=\\\"$:/plugins/telmiger/EditorCounter/settings/characters\\\">\\n\u003C$editor-counter tiddler=\u003C\u003CcurrentTiddler>> colors='black:0,gray:140,green:300,indianred:800,red:1600'/> characters \u003C/$reveal>\\n\u003C$reveal type=\\\"match\\\" text=\\\"yes\\\" state=\\\"$:/plugins/telmiger/EditorCounter/settings/autosave\\\">\\n\u003Cspan class=\\\"tc-muted\\\">\u003Cspan class=\\\"tc-dirty-indicator\\\">•\u003C/span> \u003C$editor-counter mode=autosave savelimit={{$:/plugins/telmiger/EditorCounter/settings/autosave!!limit}}/> saved\u003C/span>\\n\u003C/$reveal>\\n\u003C$reveal type=\\\"match\\\" text=\\\"yes\\\" state=\\\"$:/plugins/telmiger/EditorCounter/settings/characters\\\">    \\n\u003C/$reveal>\\n\u003C$reveal type=\\\"match\\\" text=\\\"yes\\\" state=\\\"$:/plugins/telmiger/EditorCounter/settings/words\\\">\\n\u003C$editor-counter mode=word colors='black:0,gray:200,green:300,indianred:1000,red:2000'/> words    \\n\u003C/$reveal>\\n\u003C$reveal type=\\\"match\\\" text=\\\"yes\\\" state=\\\"$:/plugins/telmiger/EditorCounter/settings/autosave-pause\\\">\\n\u003C$checkbox tiddler=\\\"$:/plugins/telmiger/EditorCounter/settings/autosave\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"no\\\"> Autosave\u003C/$checkbox>\\n\u003C$reveal type=\\\"match\\\" text=\\\"yes\\\" state=\\\"$:/plugins/telmiger/EditorCounter/settings/autosave\\\">\\n (uncheck to pause)\\n\u003C/$reveal>\\n\u003C/$reveal>\\n\u003C/div>\\n\u003Cstyle>\\n.te-editor-counter { margin-top: -.25rem; margin-bottom: 0.75rem; }\\n\u003C/style>\\n\u003C!--\\n* Show the number of characters and/or words entered in edit mode.\\n* Show the number of characters at last autosave (autosave at a character difference as defined in settings).\\n-->\"},\"$:/plugins/telmiger/EditorCounter/TitleTemplate\":{\"title\":\"$:/plugins/telmiger/EditorCounter/TitleTemplate\",\"created\":\"20170213190419968\",\"creator\":\"Thomas Elmiger\",\"list-before\":\"$:/core/ui/EditTemplate/tags\",\"modified\":\"20200605055914365\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"$:/tags/EditTemplate EditorCounter\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003C$reveal type=\\\"match\\\" text=\\\"yes\\\" state=\\\"$:/plugins/telmiger/EditorCounter/settings/title\\\">\\n\u003Cdiv class=\\\"te-title-counter\\\" title=\\\"Title length\\\">\\n\u003C$editor-counter tiddler=\u003C\u003CcurrentTiddler>> field=\\\"draft.title\\\" colors='green:20,indianred:30,red:40'/> chars\\n\u003C/div>\\n\u003Cstyle>\\n.te-title-counter { position:absolute; right:1rem; margin-top:-2.25rem; padding-right:0.125rem; opacity:0.6; }\\n@media (min-width: 30em) {\\n.te-title-counter { right:2rem; }\\n}\\n@media (min-width: 42em) {\\n.te-title-counter { right:4rem; }\\n}\\n\u003C/style>\\n\u003C/$reveal>\\n\\n\u003C!--\\nShow the number of characters in the title\\n-->\"},\"$:/plugins/telmiger/EditorCounter/about\":{\"title\":\"$:/plugins/telmiger/EditorCounter/about\",\"created\":\"20200524222834178\",\"modified\":\"20200605055914378\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"The [[EditorCounter plugin|https://tid.li/tw5/plugins.html#EditorCounter]] can display counters for words and characters in the edit view. In single page wikis it can save texts automagically in the background – check the [[plugin settings|$:/plugins/telmiger/EditorCounter/settings]].\\n\"},\"$:/plugins/telmiger/EditorCounter/counter.js\":{\"title\":\"$:/plugins/telmiger/EditorCounter/counter.js\",\"text\":\"/*\\\\\\ntitle: $:/plugins/telmiger/EditorCounter/counter.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nversion: 0.6.3\\n\\nCount the number of words or characters in a tiddler/field/input string – Autosave while editing\\n\\nUsage: see the plugin’s readme.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar CounterWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nCounterWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM – reset autosave attributes\\n*/\\nCounterWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\t// autosave attributes\\n\\tthis.diffTotal = 0;\\n\\tthis.saveNow = false;\\n\\t// calculate state \\n\\tthis.execute();\\n\\tif(this.mode == \\\"autosave\\\") {\\n\\t\\t// store the number of last saved characters\\n\\t\\tthis.lastSavedCount = this.currentCount;\\n\\t\\tthis.diffLastCount = this.currentCount;\\n\\t} \\n\\tvar textNode = this.document.createTextNode(this.currentCount);\\n\\tvar domNode = this.document.createElement(\\\"span\\\");\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.domNodes.push(domNode);\\n};\\n\\n/*\\nCalculate the numbers\\n*/\\nCounterWidget.prototype.getLength = function(text) {\\n\\tvar result = 0;\\n\\tswitch(this.mode) {\\n\\t\\tcase \\\"character\\\":\\n\\t\\t\\tresult = text.length.toString();\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"autosave\\\":\\n\\t\\t\\tresult = text.length.toString();\\n\\t\\t\\t// sum up difference since last count\\n\\t\\t\\tthis.diffTotal += this.checkAutosave(result);\\n\\t\\t\\t// check saving limit\\n\\t\\t\\tthis.saveNow = (this.diffTotal >= this.saveLimit) ? true : false;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"word\\\":\\n\\t\\t\\tif(text.match(/\\\\w+/g)) {\\n\\t\\t\\t\\tresult = text.match(/\\\\w+/g).length.toString();\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tresult = 0;\\n\\t\\t\\t}\\n\\t\\t\\tbreak;\\n\\t\\tdefault: // \\\"?!\\\"\\n\\t\\t\\tresult = \\\"mode undefined\\\";\\n\\t}\\n\\treturn result;\\n}\\n\\n/*\\nSet autosave \\n*/\\nCounterWidget.prototype.checkAutosave = function(textlength) {\\n\\t// calculate difference since last count\\n\\tthis.diffChars = Math.abs(textlength - this.diffLastCount);\\n\\t// store text length\\n\\tthis.diffLastCount = textlength;\\n\\treturn this.diffChars;\\n}\\n\\n/*\\nGet the colors as an array\\n*/\\nCounterWidget.prototype.getColors = function() {\\n\\tvar color_array1 = this.colors.split(',');\\n\\tvar i;\\n\\tcolor_array1.sort(function sortfunction(a, b){\\n\\t\\treturn a.split(':')[1] - b.split(':')[1];\\n\\t});\\n\\tfor(i = 0; i \u003C color_array1.length; i++) {\\n\\t\\tthis.color_array[i] = color_array1[i].split(':')[0];\\n\\t\\tthis.count_array[i] = color_array1[i].split(':')[1];\\n\\t}\\n}\\n\\n/*\\nGet the numbers\\n*/\\nCounterWidget.prototype.getNumber = function() {\\n\\t// Count letters or words as appropriate.\\n\\tvar result = 0;\\n\\tif(this.countText) {\\n\\t\\t// text supplied as parameter \\n\\t\\tresult = this.getLength(this.countText);\\n\\t} else {\\n\\t\\tvar tiddler = this.wiki.getTiddler(this.tiddler);\\n\\t\\tvar fieldContent = tiddler.getFieldString(this.field);\\n\\t\\tif(fieldContent) {\\n\\t\\t\\tresult = this.getLength(fieldContent);\\n\\t\\t} else {\\n\\t\\t\\tresult = 0;\\n\\t\\t}\\n\\t}\\n\\treturn result;\\n}\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nCounterWidget.prototype.execute = function() {\\n\\t// Get parameters from our attributes\\n\\tthis.mode = this.getAttribute(\\\"mode\\\",\\\"character\\\");\\n\\tthis.saveLimit = this.getAttribute(\\\"savelimit\\\",200);\\n\\tthis.tiddler = this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\tthis.field = this.getAttribute(\\\"field\\\",\\\"text\\\");\\n\\tthis.countText = this.getAttribute(\\\"text\\\");\\n\\tthis.colors = this.getAttribute(\\\"colors\\\");\\n\\tthis.stateTiddler = this.getAttribute(\\\"colorState\\\");\\n\\t// Count letters or words as appropriate.\\n\\tthis.currentCount = this.getNumber();\\n\\tthis.diffChars = 0;\\n\\t//Find the color cut-offs, if any.\\n\\tif(this.colors) {\\n\\t\\tthis.color_array = [];\\n\\t\\tthis.count_array = [];\\n\\t\\tvar i;\\n\\t\\tthis.getColors();\\n\\n\\t\\t// set the color if the counter is high enough. The color with the largest value that is less than this.currentCount wins.\\n\\t\\tfor(i = 0; i \u003C this.color_array.length; i++) {\\n\\t\\t\\tif(Number(this.currentCount) >= Number(this.count_array[this.color_array.length - 1 - i])) {\\n\\t\\t\\t\\tif(this.stateTiddler) {\\n\\t\\t\\t\\t\\tthis.wiki.setText(this.stateTiddler,\\\"text\\\",undefined,this.color_array[this.color_array.length -1 - i]);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tthis.currentCount = '@@color:' + this.color_array[this.color_array.length -1 - i] + ';' \\n\\t\\t\\t\\t\\t+ this.currentCount + '@@';\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t\\tif(this.stateTiddler && i === this.color_array.length-1) {\\n\\t\\t\\t\\tthis.wiki.setText(this.stateTiddler,\\\"text\\\",undefined,'');\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\tvar parser = this.wiki.parseText(\\\"text/vnd.tiddlywiki\\\",this.currentCount,{parseAsInline: true});\\n\\tvar parseTreeNodes = parser ? parser.tree : [];\\n\\tthis.makeChildWidgets(parseTreeNodes);\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nCounterWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar refreshed = false;\\n\\t// Re-execute the filter to get the count\\n\\tthis.computeAttributes();\\n\\tvar oldCount = this.currentCount;\\n\\tthis.execute();\\n\\tif(this.currentCount !== oldCount && this.mode !== \\\"autosave\\\") {\\n\\t\\t// Regenerate and rerender the widget and replace the existing DOM node\\n\\t\\tthis.refreshSelf();\\n\\t\\trefreshed = true;\\n\\t}\\n\\tif(this.saveNow) {\\n\\t\\t// Trigger an autosave and refresh\\n\\t\\t$tw.rootWidget.dispatchEvent({type: \\\"tm-auto-save-wiki\\\"});\\n\\t\\tthis.refreshSelf();\\n\\t\\trefreshed = true;\\n\\t} \\n\\treturn refreshed;\\n};\\n\\nexports[\\\"editor-counter\\\"] = CounterWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\",\"created\":\"20170207230719552\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20200605055914454\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"EditorCounter\"},\"$:/plugins/telmiger/EditorCounter/credits\":{\"title\":\"$:/plugins/telmiger/EditorCounter/credits\",\"created\":\"20170304102433909\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20200605055914466\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"EditorCounter\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! Credits\\n\\nMany thanks to Jed for his blueprint widget and demo site, originally on http://ooktech.com/jed/ExampleWikis/WordCount/ as well as to Skeeve who obviousliy contributed the original macro version Jed based his solution on.\\n\\n* http://ooktech.com/TiddlyWiki/\\n* http://ooktech.com/TiddlyWiki/WordCount/\\n\\n//Powered by the fantastic TiddlyWiki community.//\\n\"},\"$:/plugins/telmiger/EditorCounter/icon\":{\"title\":\"$:/plugins/telmiger/EditorCounter/icon\",\"created\":\"20200524221551931\",\"modified\":\"20200605055914501\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003Csvg width=\\\"22pt\\\" height=\\\"22pt\\\" viewBox=\\\"0 0 22 22\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" stroke-linejoin=\\\"round\\\" stroke-miterlimit=\\\"2\\\">\\n \u003Cpath d=\\\"M11.1.2l9.2 5.4v10.8L11.1 22 2 16.4V5.6L11 .2z\\\" fill=\\\"#d7d7d7\\\" fill-rule=\\\"nonzero\\\"/>\\n \u003Cpath d=\\\"M11.1 2a9 9 0 100 18 9 9 0 000-18zM13 5c-.6 0-1 .5-1.4.8-.3.4-.5 1-.5 1.7v1.4c0 .7-.1 1.3-.5 1.6-.3.4-.8.6-1.5.7 1 .1 1.5.5 1.8 1 .2.4.3 1 .3 1.8v.9c0 .6 0 1.1.3 1.6.3.4.8.9 1.5 1h-.4c-1.2 0-2.1-.4-2.6-1-.2-.5-.4-1.1-.4-2v-1.2c0-.6 0-1-.3-1.3-.3-.3-.8-.5-1.5-.7h-.2l.2-.2a5.5 5.5 0 001.1-.3l.5-.5.2-.5V7.9c0-.9.2-1.6.4-2 .5-.7 1.4-1.1 2.6-1.2h.4V5z\\\" fill=\\\"#e2001a\\\" fill-rule=\\\"nonzero\\\"/>\\n\u003C/svg>\"},\"$:/plugins/telmiger/EditorCounter/readme\":{\"title\":\"$:/plugins/telmiger/EditorCounter/readme\",\"created\":\"20170209064758307\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20200605055914514\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"EditorCounter\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! Count Your Texts & Autosave\\n\\n{{$:/plugins/telmiger/EditorCounter/about}}\\n\\n!!! The counters\\n* In edit mode users can see stats concerning the tiddler’s text and title fields. The numbers are updated whenever they pause typing.\\n* Counters for //words// and/or //characters// can be activated in the plugin settings.\\n* The colours of the counters change at some predefined numbers.\\n** Settings for colors and color limits are not available in the plugin configuration. \u003Cbr>Workaround: edit [[the template|$:/plugins/telmiger/EditorCounter/EditTemplate]].\\n\\n!!! Autosave\\n* When activated in the [[plugin settings|$:/plugins/telmiger/EditorCounter/settings]], //autosave// will try to save the wiki in the background during editing: whenever a predefined number of characters has been added or removed, a save is triggered.\\n** As an option you can show a checkbox in the editor to pause/activate automatic saving.\\n\\n!!! Parameters\\n\\n|!Parameter |!Description |\\n|colors |Optionally, define an array of color and number pairs to set minimal color limits. |\\n|colorState |Optional state tiddler to save the color value. |\\n|field |Calculate for the text in this field. |\\n|mode |Entity to calculate: //word// or //character// or //autosave//. Defaults to \\\"character\\\". |\\n|savelimit |A number of character changes after which //autosave// is performed. Default value: 200 |\\n|text |Calculate this text. |\\n|tiddler |Optional title of a tiddler to take the field from. Defaults to current tiddler. |\\n\\n!!! Widget usage\\nThis plugin is based on a similar [[solution by Jed Carty|$:/plugins/telmiger/EditorCounter/credits]] – many thanks! \\n\\nThe widget can be used in other contexts than the plugin. The usage would be very similar to [[Jed’s examples on ooktech.com|http://ooktech.com/jed/ExampleWikis/WordCount/#%24%3A%2Fplugins%2Finmysocks%2FWordCount%2FWord%20Count%20Widget]] \\n\\nKnown differences: instead of `\u003C$word-count` start with `\u003C$editor-counter`. Default mode is //character//.\\n\\n!!!! Widget examples\\n\\n```\\n\u003C$editor-counter tiddler=SomeTiddler field=some_field mode=word/>\\n\u003C$editor-counter tiddler=SomeTiddler mode=character colors=\\\"blue:10,green:50,red:100\\\"/>\\n\u003C$editor-counter text=\\\"some text string\\\" mode=character colorState=\\\"$:/state/someTextColor\\\" colors=\\\"blue:10,green:50\\\"/>\\n\u003C$editor-counter mode=autosave savelimit=300/>\\n```\\n\"},\"$:/plugins/telmiger/EditorCounter/settings/autosave\":{\"title\":\"$:/plugins/telmiger/EditorCounter/settings/autosave\",\"created\":\"20170303132537685\",\"creator\":\"Thomas Elmiger\",\"limit\":\"200\",\"modified\":\"20200605055914542\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"EditorCounter\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"no\"},\"$:/plugins/telmiger/EditorCounter/settings/characters\":{\"title\":\"$:/plugins/telmiger/EditorCounter/settings/characters\",\"created\":\"20170208063042363\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20200605055914567\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"EditorCounter\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"yes\"},\"$:/plugins/telmiger/EditorCounter/settings/title\":{\"title\":\"$:/plugins/telmiger/EditorCounter/settings/title\",\"created\":\"20170208211524752\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20200605055914580\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"EditorCounter\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"yes\"},\"$:/plugins/telmiger/EditorCounter/settings/words\":{\"title\":\"$:/plugins/telmiger/EditorCounter/settings/words\",\"created\":\"20170208063040756\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20200605055914626\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"EditorCounter\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"no\"},\"$:/plugins/telmiger/EditorCounter/settings\":{\"title\":\"$:/plugins/telmiger/EditorCounter/settings\",\"created\":\"20170208062643245\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20200605055914527\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"EditorCounter\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! Counter Settings\\nActivate counters here. Your choice will be visible below the text field in edit mode.\\n\\n\u003C$checkbox tiddler=\\\"$:/plugins/telmiger/EditorCounter/settings/characters\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\"> Character counter\u003C/$checkbox>\\n\\n\u003C$checkbox tiddler=\\\"$:/plugins/telmiger/EditorCounter/settings/words\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"no\\\"> Word counter\u003C/$checkbox>\\n\\n\u003C$checkbox tiddler=\\\"$:/plugins/telmiger/EditorCounter/settings/title\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\"> Title characters counter\u003C/$checkbox>\\n\\n!! Autosave Settings\\nAutosave will try to save your wiki in the background after adding or removing 200 characters. You can change this value below.\\n\\n\u003C$checkbox tiddler=\\\"$:/plugins/telmiger/EditorCounter/settings/autosave\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"no\\\"> Autosave\u003C/$checkbox>\\n every \u003C$edit-text tiddler=\\\"$:/plugins/telmiger/EditorCounter/settings/autosave\\\" field=\\\"limit\\\" size=\\\"4\\\"/> characters.\\n\\n\u003C$checkbox tiddler=\\\"$:/plugins/telmiger/EditorCounter/settings/autosave-pause\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"no\\\"> Show checkbox to start/pause autosave in editor\u003C/$checkbox>\\n\\n\u003Cbr>''\\n\\n\u003C$button message=\\\"tm-save-wiki\\\" param={{$:/config/SaveWikiButton/Template}} tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=\u003C\u003Ctv-config-toolbar-class>>>\\n\u003Cspan class=\\\"tc-dirty-indicator\\\">\\n\u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>prefix[yes]]\\\">\\n{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Hint}}\\n\u003C/$list>\\n\u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>prefix[yes]]\\\">\\n\u003Cspan class=\\\"tc-btn-text\\\">\u003C$text text={{$:/language/Buttons/SaveWiki/Caption}}/>\u003C/span>\\n\u003C/$list>\\n\u003C/span>\\n\u003C/$button>\\n\\n''\u003Cbr>\\n\\nNote: ''All'' characters are counted as entered in the editor, regardless if they are invisible in the result or if they produce more text based on data or transclusion.\"},\"$:/plugins/telmiger/EditorCounter/support\":{\"title\":\"$:/plugins/telmiger/EditorCounter/support\",\"created\":\"20200524222008409\",\"modified\":\"20200605055914634\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"{{$:/plugins/telmiger/support}}\"},\"$:/plugins/telmiger/support\":{\"title\":\"$:/plugins/telmiger/support\",\"created\":\"20181103150753927\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20200605055914649\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! Support the Author\\n\\n''Hi!'' I’m Thomas, the author of [[tid.li/tw5/plugins.html|https://tid.li/tw5/plugins.html]]. Feedback is always welcome, as well as funding for maintenance, support and new projects :)\\n\\n---\\n\\n!!! One Time Support\\n\\nIf using my plugins just makes you happy, consider a one time payment via ~PayPal to reward the effort:\\n\\nhttps://www.paypal.me/telmiger\\n\\n---\\n\\n!!! Permanent Support\\n\\nIf my tools make you more productive or save you time in your job or your everyday life, you can support me as a Patron: \\n\\nhttps://www.patreon.com/telmiger\\n\\n---\\n\\n!!! Thank You\\n\\nSubstantial parts of my availabe time go to the deveopment of useful plugins for [[TiddlyWiki|https://tiddlywiki.com/]]. – Many others do the same and I would like to thank them all, especially [[Jeremy Ruston|https://tiddlywiki.com/#JeremyRuston]] and all the active members of the community!\\n\\n//Hereby I promise to share future revenues (if any) with other developers who’s works I use or who inspired me.//\\n\\nIf you like my work, I would be very happy to hear from you.\\n\\n''Thank you very much for your support!''\u003Cbr>\\n//Thomas//\\n\\nhttps://thomas-elmiger.ch\"}}}","type":"application/json","author":"Thomas & Jed","core-version":">=5.1.13","created":"20211028154139157","dependents":"","description":"EditorCounter & Autosaver","list":"readme settings credits support","modified":"20211028154139157","name":"EditorCounter","plugin-type":"plugin","source":"https://tid.li/tw5/plugins.html","title":"$:/plugins/telmiger/EditorCounter","version":"0.6.6"}, {"text":"{\"tiddlers\":{\"$:/language/HarveyBalls/chaotic/desc\":{\"title\":\"$:/language/HarveyBalls/chaotic/desc\",\"created\":\"20171004221642521\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338635\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"circle filled with colour\"},\"$:/language/HarveyBalls/chaotic/title\":{\"title\":\"$:/language/HarveyBalls/chaotic/title\",\"created\":\"20171004221542587\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338622\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"chaotic\"},\"$:/language/HarveyBalls/complex/desc\":{\"title\":\"$:/language/HarveyBalls/complex/desc\",\"created\":\"20171005182623257\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338805\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"circle filled with colour exempt upper right quadrant\"},\"$:/language/HarveyBalls/complex/title\":{\"title\":\"$:/language/HarveyBalls/complex/title\",\"created\":\"20171005182745229\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338802\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"complex\"},\"$:/language/HarveyBalls/complicated/desc\":{\"title\":\"$:/language/HarveyBalls/complicated/desc\",\"created\":\"20171005182907849\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338798\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"circle with left half filled\"},\"$:/language/HarveyBalls/complicated/title\":{\"title\":\"$:/language/HarveyBalls/complicated/title\",\"created\":\"20171005182951452\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338793\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"complicated\"},\"$:/language/HarveyBalls/empty/desc\":{\"title\":\"$:/language/HarveyBalls/empty/desc\",\"created\":\"20171001210121157\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338790\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"circle (not filled)\"},\"$:/language/HarveyBalls/empty/title\":{\"title\":\"$:/language/HarveyBalls/empty/title\",\"created\":\"20171001210047885\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338786\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"empty\"},\"$:/language/HarveyBalls/full/desc\":{\"title\":\"$:/language/HarveyBalls/full/desc\",\"created\":\"20171001201844602\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338782\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"circle filled with colour\"},\"$:/language/HarveyBalls/full/title\":{\"title\":\"$:/language/HarveyBalls/full/title\",\"created\":\"20171001204350059\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338778\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"full\"},\"$:/language/HarveyBalls/half/desc\":{\"title\":\"$:/language/HarveyBalls/half/desc\",\"created\":\"20171001211939192\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338775\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"circle with right half filled\"},\"$:/language/HarveyBalls/half/title\":{\"title\":\"$:/language/HarveyBalls/half/title\",\"created\":\"20171001213417585\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338771\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"half\"},\"$:/language/HarveyBalls/obvious/desc\":{\"title\":\"$:/language/HarveyBalls/obvious/desc\",\"created\":\"20171005183829060\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338767\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"circle with upper left quadrant filled\"},\"$:/language/HarveyBalls/obvious/title\":{\"title\":\"$:/language/HarveyBalls/obvious/title\",\"created\":\"20171005183754671\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338763\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"obvious\"},\"$:/language/HarveyBalls/quarter/desc\":{\"title\":\"$:/language/HarveyBalls/quarter/desc\",\"created\":\"20171001211324859\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338752\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"circle with upper right quadrant filled\"},\"$:/language/HarveyBalls/quarter/title\":{\"title\":\"$:/language/HarveyBalls/quarter/title\",\"created\":\"20171001211836428\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338747\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"quarter\"},\"$:/language/HarveyBalls/quarter-empty/desc\":{\"title\":\"$:/language/HarveyBalls/quarter-empty/desc\",\"created\":\"20171001212131114\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338759\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"circle filled with colour exempt upper left quadrant\"},\"$:/language/HarveyBalls/quarter-empty/title\":{\"title\":\"$:/language/HarveyBalls/quarter-empty/title\",\"created\":\"20171001212013679\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338755\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"quarter empty\"},\"$:/language/HarveyBalls/simple/desc\":{\"title\":\"$:/language/HarveyBalls/simple/desc\",\"created\":\"20171004222018780\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338743\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"circle (not filled)\"},\"$:/language/HarveyBalls/simple/title\":{\"title\":\"$:/language/HarveyBalls/simple/title\",\"created\":\"20171004221927784\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338739\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"simple\"},\"$:/plugins/telmiger/HarveyBalls/alternatives\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/alternatives\",\"created\":\"20171005185418327\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338735\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!! Alternatives\\n\\n!!! SVG from Wikipedia\\nOn https://en.wikipedia.org/wiki/Harvey_Balls you will find alternative graphics in one single SVG file. There are neither tiltes nor descriptions in this image.\\n\\n!!! Fonts\\nSome fonts like Arial Unicode MS contain symbols similar to Harvey balls:\\n\\n@@font-size:2em; \\n○●◯◔◑◕◐◒◓◖◗◝◞◟◜◝◡◉◌◍◎☹☺☻\\n@@\\n\\nThese are found starting around U+25CB (white circle). I don’t know if or how a screenreader would announce them. Other dedicated fonts with Harvey balls are available, I found some using the numbers from 0 to 9 and I guess a screenreader would announce them as such. Would numbers from 0 to 9 convey enough meaning to your users? Then you should use numbers instead of Harvey balls if you ask me.\\n\\n!! Accessibility\\n\\nIn general font solutions as well as monolithic SVG graphics lack the ability to control or adapt the meaning of the symbols/characters.\\n\\nThere is no hint popping up from a font if a user hovers over the icon with the pointer of the mouse. \\n\\nWith my SVG solution, the title is shown as a hint and ~VoiceOver on the Mac announces both title and desc attributes.\\n\"},\"$:/plugins/telmiger/HarveyBalls/chaotic/icon.svg\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/chaotic/icon.svg\",\"created\":\"20171004221325017\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338730\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"$:/tags/Image\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003Csvg class=\\\"em-icon harvey-ball ball-chaotic\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"currentColor\\\" viewBox=\\\"0 0 128 128\\\" role=\\\"img\\\" aria-labelledby=\\\"title desc\\\">\u003Ctitle id=\\\"title\\\">{{$:/language/HarveyBalls/chaotic/title}}\u003C/title>\u003Cdesc id=\\\"desc\\\">{{$:/language/HarveyBalls/chaotic/desc}}\u003C/desc>\u003Cpath d=\\\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64z\\\"/>\u003C/svg>\"},\"$:/plugins/telmiger/HarveyBalls/complex/icon.svg\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/complex/icon.svg\",\"created\":\"20171005184808610\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338726\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"$:/tags/Image\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003Csvg class=\\\"em-icon harvey-ball ball-complex\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill-rule=\\\"evenodd\\\" fill=\\\"currentColor\\\" viewBox=\\\"0 0 128 128\\\" role=\\\"img\\\" aria-labelledby=\\\"title desc\\\">\u003Ctitle id=\\\"title\\\">{{$:/language/HarveyBalls/complex/title}}\u003C/title>\u003Cdesc id=\\\"desc\\\">{{$:/language/HarveyBalls/complex/desc}}\u003C/desc>\u003Cpath d=\\\"M64 128C28.654 128 0 99.346 0 64 0 28.654 28.654 0 64 0c35.346 0 64 28.654 64 64 0 35.346-28.654 64-64 64zm48-64c0 .19-48 0-48 0V16c26.51 0 48 21.49 48 48z\\\"/>\u003C/svg>\"},\"$:/plugins/telmiger/HarveyBalls/complicated/icon.svg\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/complicated/icon.svg\",\"created\":\"20171005184612869\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338722\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"$:/tags/Image\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003Csvg class=\\\"em-icon harvey-ball ball-complicated\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill-rule=\\\"evenodd\\\" fill=\\\"currentColor\\\" viewBox=\\\"0 0 128 128\\\" role=\\\"img\\\" aria-labelledby=\\\"title desc\\\">\u003Ctitle id=\\\"title\\\">{{$:/language/HarveyBalls/complicated/title}}\u003C/title>\u003Cdesc id=\\\"desc\\\">{{$:/language/HarveyBalls/complicated/desc}}\u003C/desc>\u003Cpath d=\\\"M64 128C28.654 128 0 99.346 0 64 0 28.654 28.654 0 64 0c35.346 0 64 28.654 64 64 0 35.346-28.654 64-64 64zm0-16V16c26.51 0 48 21.49 48 48s-21.49 48-48 48z\\\"/>\u003C/svg>\"},\"$:/plugins/telmiger/HarveyBalls/credits\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/credits\",\"created\":\"20171005185503725\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338718\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"!!! Credits\\nInspired by ~RunningUtes in a [[Google Group discussion|https://groups.google.com/d/msg/tiddlywiki/utsLmgHZAhM/bxKkdwT2CAAJ]] and these great articles:\\n\\n* https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\\n* https://developer.paciellogroup.com/blog/2013/12/using-aria-enhance-svg-accessibility/\"},\"$:/plugins/telmiger/HarveyBalls/empty/icon.svg\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/empty/icon.svg\",\"created\":\"20171001102215819\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338710\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"$:/tags/Image\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003Csvg class=\\\"em-icon harvey-ball ball-empty\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill-rule=\\\"evenodd\\\" viewBox=\\\"0 0 128 128\\\" role=\\\"img\\\" aria-labelledby=\\\"title desc\\\">\u003Ctitle id=\\\"title\\\">{{$:/language/HarveyBalls/empty/title}}\u003C/title>\u003Cdesc id=\\\"desc\\\">{{$:/language/HarveyBalls/empty/desc}}\u003C/desc>\u003Cpath 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\\\"/>\u003C/svg>\"},\"$:/plugins/telmiger/HarveyBalls/full/icon.svg\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/full/icon.svg\",\"created\":\"20171001110625517\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338704\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"$:/tags/Image\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003Csvg class=\\\"em-icon harvey-ball ball-full\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill-rule=\\\"evenodd\\\" viewBox=\\\"0 0 128 128\\\" role=\\\"img\\\" aria-labelledby=\\\"title desc\\\">\u003Ctitle id=\\\"title\\\">{{$:/language/HarveyBalls/full/title}}\u003C/title>\u003Cdesc id=\\\"desc\\\">{{$:/language/HarveyBalls/full/desc}}\u003C/desc>\u003Cpath d=\\\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64z\\\"/>\u003C/svg>\"},\"$:/plugins/telmiger/HarveyBalls/half/icon.svg\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/half/icon.svg\",\"created\":\"20171001113351829\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338700\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"$:/tags/Image\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003Csvg class=\\\"em-icon harvey-ball ball-half\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill-rule=\\\"evenodd\\\" viewBox=\\\"0 0 128 128\\\" role=\\\"img\\\" aria-labelledby=\\\"title desc\\\">\u003Ctitle id=\\\"title\\\">{{$:/language/HarveyBalls/half/title}}\u003C/title>\u003Cdesc id=\\\"desc\\\">{{$:/language/HarveyBalls/half/desc}}\u003C/desc>\u003Cpath d=\\\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16V16c-26.51 0-48 21.49-48 48s21.49 48 48 48z\\\"/>\u003C/svg>\"},\"$:/plugins/telmiger/HarveyBalls/icons.css\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/icons.css\",\"created\":\"20171001103035127\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338695\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"$:/tags/Stylesheet\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"/* Size and position \\n– inspired by https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\\n*/\\n\\nsvg.em-icon {\\n width: 1em;\\n height: 1em;\\n margin-bottom: -0.125em;\\n}\\n\\n/* Colours */\\n\\nsvg.em-icon.ball-empty {\\n fill: rgba(255,0,0,0.95);\\n}\\nsvg.em-icon.ball-full {\\n fill: green;\\n}\\nsvg.em-icon.ball-quarter {\\n fill: orange;\\n}\\nsvg.em-icon.ball-half {\\n fill: #000;\\n}\\nsvg.em-icon.ball-quarter-empty {\\n fill: blue;\\n}\"},\"$:/plugins/telmiger/HarveyBalls/macros\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/macros\",\"created\":\"20171005202753767\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338691\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"$:/tags/Macro\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\\\\define HarveyBall(variant:\\\"empty\\\")\\n\u003C$vars ball=\\\"\\\"\\\"$:/plugins/telmiger/HarveyBalls/$variant$/icon.svg\\\"\\\"\\\">\u003C$transclude tiddler=\u003C\u003Cball>>/>\u003C/$vars>\\n\\\\end\\n\\n\\\\define HB0() \u003C\u003CHarveyBall empty>>\\n\\\\define HB1() \u003C\u003CHarveyBall quarter>>\\n\\\\define HB2() \u003C\u003CHarveyBall half>>\\n\\\\define HB3() \u003C\u003CHarveyBall quarter-empty>>\\n\\\\define HB4() \u003C\u003CHarveyBall full>>\\n\\n\\\\define HB5() \u003C\u003CHarveyBall simple>>\\n\\\\define HB8() \u003C\u003CHarveyBall obvious>>\\n\\\\define HB13() \u003C\u003CHarveyBall complicated>>\\n\\\\define HB21() \u003C\u003CHarveyBall complex>>\\n\\\\define HB34() \u003C\u003CHarveyBall chaotic>>\\n\\n\\\\define HB(nr:\\\"0\\\")\\n\u003C$vars macro=\\\"\\\"\\\"HB$nr$\\\"\\\"\\\">\u003C$macrocall $name=\u003C\u003Cmacro>>/>\u003C/$vars>\\n\\\\end\\n\\n\u003C\u003CHB 4>>\\n\"},\"$:/plugins/telmiger/HarveyBalls/obvious/icon.svg\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/obvious/icon.svg\",\"created\":\"20171005184306362\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338686\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"$:/tags/Image\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003Csvg class=\\\"em-icon harvey-ball ball-obvious\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" \\nfill-rule=\\\"evenodd\\\" fill=\\\"currentColor\\\" viewBox=\\\"0 0 128 128\\\" role=\\\"img\\\" aria-labelledby=\\\"title desc\\\">\u003Ctitle id=\\\"title\\\">{{$:/language/HarveyBalls/obvious/title}}\u003C/title>\u003Cdesc id=\\\"desc\\\">{{$:/language/HarveyBalls/obvious/desc}}\u003C/desc>\u003Cpath d=\\\"M64 128C28.654 128 0 99.346 0 64 0 28.654 28.654 0 64 0c35.346 0 64 28.654 64 64 0 35.346-28.654 64-64 64zm0-16c-26.51 0-48-21.49-48-48 0-.026 48 0 48 0s-.25-48 0-48c26.51 0 48 21.49 48 48s-21.49 48-48 48z\\\"/>\u003C/svg>\"},\"$:/plugins/telmiger/HarveyBalls/quarter/icon.svg\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/quarter/icon.svg\",\"created\":\"20171001112413825\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338670\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"$:/tags/Image\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003Csvg class=\\\"em-icon harvey-ball ball-quarter\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill-rule=\\\"evenodd\\\" viewBox=\\\"0 0 128 128\\\" role=\\\"img\\\" aria-labelledby=\\\"title desc\\\">\u003Ctitle id=\\\"title\\\">{{$:/language/HarveyBalls/quarter/title}}\u003C/title>\u003Cdesc id=\\\"desc\\\">{{$:/language/HarveyBalls/quarter/desc}}\u003C/desc>\u003Cpath d=\\\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48 0-0-48 0-48 0s.25-48 0-48c-26.51 0-48 21.49-48 48s21.49 48 48 48z\\\"/>\\n\u003C/svg>\"},\"$:/plugins/telmiger/HarveyBalls/quarter-empty/icon.svg\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/quarter-empty/icon.svg\",\"created\":\"20171001114641516\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338679\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"$:/tags/Image\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003Csvg class=\\\"em-icon harvey-ball ball-quarter-empty\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill-rule=\\\"evenodd\\\" viewBox=\\\"0 0 128 128\\\" role=\\\"img\\\" aria-labelledby=\\\"title desc\\\">\u003Ctitle id=\\\"title\\\">{{$:/language/HarveyBalls/quarter-empty/title}}\u003C/title>\u003Cdesc id=\\\"desc\\\">{{$:/language/HarveyBalls/quarter-empty/desc}}\u003C/desc>\u003Cpath d=\\\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zM16 64c0 .19 48 0 48 0V16c-26.51 0-48 21.49-48 48z\\\"/>\u003C/svg>\"},\"$:/plugins/telmiger/HarveyBalls/readme\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/readme\",\"created\":\"20171001103302730\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338661\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\\\\define tr(variant,nr:\\\"\\\")\\n\u003C$vars tit=\\\"$:/language/HarveyBalls/$variant$/title\\\" desc=\\\"$:/language/HarveyBalls/$variant$/desc\\\" nr=\\\"\\\"\\\"$nr$\\\"\\\"\\\">\\n\u003Ctr>\u003Ctd>{{$:/plugins/telmiger/HarveyBalls/$variant$/icon.svg}} \u003C/td>\u003Ctd>\u003C\u003Cnr>>\u003C/td>\u003Ctd>\u003C$link to=\u003C\u003Ctit>>>\u003C$transclude tiddler=\u003C\u003Ctit>>/>\u003C/$link> \u003C/td>\u003Ctd>\u003C$link to=\u003C\u003Cdesc>>>\u003C$transclude tiddler=\u003C\u003Cdesc>>/>\u003C/$link>\u003C/td>\u003C/tr>\\n\u003C/$vars>\\n\\\\end\\n\\n!! Harvey Balls\\n\\nHarvey Balls are round ideograms used for visual communication of qualitative information. They are commonly used in comparison tables to indicate the degree to which a particular item meets a particular criterion.\\n\\n!!! Macros for display\\nThe same as `{{$:/plugins/telmiger/HarveyBalls/half/icon.svg}}` – the Harvey ball \u003C\u003CHB2>> – would be displayed for all three of the following macros:\\n\\n`\u003C\u003CHarveyBall half>>`\\n`\u003C\u003CHB2>>`\\n`\u003C\u003CHB 2>>`\\n\\nTitles or numbers of the following tables can be used.\\n\\n!!! Available ideograms\\n\\n//1) more colour is better//\\n\\n\u003Ctable>\\n\u003Ctr>\u003Cth>icon \u003C/th>\u003Cth># \u003C/th>\u003Cth>title \u003C/th>\u003Cth>desc \u003C/th>\u003C/tr>\\n\u003C\u003Ctr empty 0>>\\n\u003C\u003Ctr quarter 1>>\\n\u003C\u003Ctr half 2>>\\n\u003C\u003Ctr quarter-empty 3>>\\n\u003C\u003Ctr full 4>>\\n\u003C/table>\\n\\n//2) less colour is better//\\n\\n\u003Ctable>\\n\u003Ctr>\u003Cth>icon \u003C/th>\u003Cth># \u003C/th>\u003Cth>title \u003C/th>\u003Cth>desc \u003C/th>\u003C/tr>\\n\u003C\u003Ctr chaotic 34>>\\n\u003C\u003Ctr complex 21>>\\n\u003C\u003Ctr complicated 13>>\\n\u003C\u003Ctr obvious 8>>\\n\u003C\u003Ctr simple 5>>\\n\u003C/table>\\n\\n!!! Adapt or translate for better accessibility\\nTo convey another meaning with your Harvey Balls, it is possible to adapt or translate titles and descriptions. So it is possible to use them e.g. for a performance ratings or a score like:\\n\\n* poor\\n* fair\\n* good\\n* very good\\n* excellent\\n\\nJust click the text in the table above and adapt the content to your needs. The warning is just a reminder that you are overwriting the standard text. You can always delete your own version to return to the original.\\n\\n!!! Control dimensions via font size\\n\\nInside surrounding text, the Harvey balls adapt themselves in size. Examples:\\n\\n! Title H1 {{$:/plugins/telmiger/HarveyBalls/empty/icon.svg}}\\n\\n!! Title H2 {{$:/plugins/telmiger/HarveyBalls/full/icon.svg}} more text\\n\\n!!! Title H3 {{$:/plugins/telmiger/HarveyBalls/quarter/icon.svg}} more text\\n\\n!!!! Title H4 {{$:/plugins/telmiger/HarveyBalls/half/icon.svg}} more text\\n\\nNormal text paragraph {{$:/plugins/telmiger/HarveyBalls/quarter-empty/icon.svg}} more text or apply [[styling via Wikitext|http://tiddlywiki.com/#Styles%20and%20Classes%20in%20WikiText]]: \\n\\n@@font-size:2em; \\nYou will need some text {{$:/plugins/telmiger/HarveyBalls/full/icon.svg}} to make this big.\\n@@\\n\\n!!! Adjust colours via CSS\\nThe styling of the balls can be changed \\n\\n# by adapting the style sheet $:/plugins/telmiger/HarveyBalls/icons.css\\n# by adapting surrounding text color in case of the //less colour is better// version (it uses fill=\\\"currentColor\\\")\\n\\n\\n\u003Cstyle>\\nth {\\n text-align: left;\\n}\\n\u003C/style>\"},\"$:/plugins/telmiger/HarveyBalls/simple/icon.svg\":{\"title\":\"$:/plugins/telmiger/HarveyBalls/simple/icon.svg\",\"created\":\"20171004221820081\",\"creator\":\"Thomas Elmiger\",\"modified\":\"20190426122338648\",\"modifier\":\"Thomas Elmiger\",\"tags\":\"$:/tags/Image\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\u003Csvg class=\\\"em-icon harvey-ball ball-simple\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" fill-rule=\\\"evenodd\\\" fill=\\\"currentColor\\\" viewBox=\\\"0 0 128 128\\\" role=\\\"img\\\" aria-labelledby=\\\"title desc\\\">\u003Ctitle id=\\\"title\\\">{{$:/language/HarveyBalls/simple/title}}\u003C/title>\u003Cdesc id=\\\"desc\\\">{{$:/language/HarveyBalls/simple/desc}}\u003C/desc>\u003Cpath 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\\\"/>\u003C/svg>\"}}}","type":"application/json","author":"Thomas Elmiger","core-version":">=5.1.14","created":"20211028154138728","dependents":"","description":"HarveyBalls","list":"readme alternatives credits","modified":"20211028154138728","name":"HarveyBalls","plugin-type":"plugin","source":"https://tid.li/tw5/plugins.html","title":"$:/plugins/telmiger/HarveyBalls","version":"0.0.6"}, @@ -231,7 +231,7 @@ {"title":"favicon.ico","type":"image/x-icon","created":"20200605110941797","modified":"20200605110941797","tmap.id":"57740f72-6155-4ce7-a7c1-280fec16ee55","_canonical_uri":"./images/favicon.ico"}, {"title":"Index","type":"text/vnd.tiddlywiki","text":"{{$:/snippets/minilanguageswitcher}}\n\n{{$:/plugins/linonetwo/tw-react/docs/example}}\n"}, {"title":"useFilter","type":"text/vnd.tiddlywiki","text":"!! Usage\n\n```\nconst resultTitles: string[] = useFilter('[tag[AAA]]');\n\n// or with dependencies\n\nconst resultTitles: string[] = useFilter('[tag[AAA]]', []);\n```\n"}, -{"title":"useRenderTiddler","type":"text/vnd.tiddlywiki","text":"!! Usage example\n\nIn your widget, pass your widget to the react props:\n\n```ts\n getProps = () => {\n ...\n\n return { parentWidget: this };\n };\n```\n\nAnd pass your widget to the children using context:\n\n```tsx\nimport { ParentWidgetContext } from 'tw-react';\n\n...\n\nreturn (\n \u003CParentWidgetContext.Provider value={props.parentWidget}>\n \u003CYourComponents />\n \u003C/ParentWidgetContext.Provider>\n);\n```\n\nFinally, in a child component, you can access the parent widget using the context, and put rendered dom node to react side using react ref:\n\n```tsx\nimport React, { createRef } from 'react';\nimport { useRenderTiddler } from '$:/plugins/linonetwo/tw-react/index.js';\n\nexport function SideBarContent(props: { title: string }): JSX.Element {\n const tabContentRef = createRef\u003CHTMLDivElement>();\n useRenderTiddler(props.title, tabContentRef);\n return \u003Cdiv className=\"flowtiwi-sidebar-tab-content\" ref={tabContentRef} />;\n}\n```\n"} +{"title":"useRenderTiddler","type":"text/vnd.tiddlywiki","text":"!! Usage example\n\nIn your widget, pass your widget to the react props:\n\n```ts\n getProps = () => {\n ...\n\n return { parentWidget: this };\n };\n```\n\nAnd pass your widget to the children using context:\n\n```tsx\nimport { IDefaultWidgetProps, ParentWidgetContext } from '$:/plugins/linonetwo/tw-react/index.js';\n\n...\n\nreturn (\n \u003CParentWidgetContext value={props.parentWidget}>\n \u003CYourComponents />\n \u003C/ParentWidgetContext>\n);\n```\n\nFinally, in a child component, you can access the parent widget using the context, and put rendered dom node to react side using react ref:\n\n```tsx\nimport React, { createRef } from 'react';\nimport { useRenderTiddler } from '$:/plugins/linonetwo/tw-react/index.js';\n\nexport function SideBarContent(props: { title: string }): JSX.Element {\n const tabContentRef = createRef\u003CHTMLDivElement>();\n useRenderTiddler(props.title, tabContentRef);\n return \u003Cdiv className=\"flowtiwi-sidebar-tab-content\" ref={tabContentRef} />;\n}\n```\n"} ] diff --git a/tiddlywiki5.js b/tiddlywiki5.js index 90bcccf..2fc3652 100644 --- a/tiddlywiki5.js +++ b/tiddlywiki5.js @@ -2,7 +2,7 @@ TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com) Copyright (c) 2004-2007, Jeremy Ruston -Copyright (c) 2007-2023, UnaMesa Association +Copyright (c) 2007-2024, UnaMesa Association All rights reserved. Redistribution and use in source and binary forms, with or without @@ -58,8 +58,8 @@ _load = function(window,tiddler) { /* ~~ Library modules ~~ */ _load(window,{ + "text": "(function(define) {\n\"use strict\";var sjcl={cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(a){this.toString=function(){return\"CORRUPT: \"+this.message};this.message=a},invalid:function(a){this.toString=function(){return\"INVALID: \"+this.message};this.message=a},bug:function(a){this.toString=function(){return\"BUG: \"+this.message};this.message=a},notReady:function(a){this.toString=function(){return\"NOT READY: \"+this.message};this.message=a}}};\nsjcl.cipher.aes=function(a){this.s[0][0][0]||this.O();var b,c,d,e,f=this.s[0][4],g=this.s[1];b=a.length;var h=1;if(4!==b&&6!==b&&8!==b)throw new sjcl.exception.invalid(\"invalid aes key size\");this.b=[d=a.slice(0),e=[]];for(a=b;a<4*b+28;a++){c=d[a-1];if(0===a%b||8===b&&4===a%b)c=f[c>>>24]<<24^f[c>>16&255]<<16^f[c>>8&255]<<8^f[c&255],0===a%b&&(c=c<<8^c>>>24^h<<24,h=h<<1^283*(h>>7));d[a]=d[a-b]^c}for(b=0;a;b++,a--)c=d[b&3?a:a-4],e[b]=4>=a||4>b?c:g[0][f[c>>>24]]^g[1][f[c>>16&255]]^g[2][f[c>>8&255]]^g[3][f[c&\n255]]};\nsjcl.cipher.aes.prototype={encrypt:function(a){return t(this,a,0)},decrypt:function(a){return t(this,a,1)},s:[[[],[],[],[],[]],[[],[],[],[],[]]],O:function(){var a=this.s[0],b=this.s[1],c=a[4],d=b[4],e,f,g,h=[],k=[],l,n,m,p;for(e=0;0x100>e;e++)k[(h[e]=e<<1^283*(e>>7))^e]=e;for(f=g=0;!c[f];f^=l||1,g=k[g]||1)for(m=g^g<<1^g<<2^g<<3^g<<4,m=m>>8^m&255^99,c[f]=m,d[m]=f,n=h[e=h[l=h[f]]],p=0x1010101*n^0x10001*e^0x101*l^0x1010100*f,n=0x101*h[m]^0x1010100*m,e=0;4>e;e++)a[e][f]=n=n<<24^n>>>8,b[e][m]=p=p<<24^p>>>8;for(e=\n0;5>e;e++)a[e]=a[e].slice(0),b[e]=b[e].slice(0)}};\nfunction t(a,b,c){if(4!==b.length)throw new sjcl.exception.invalid(\"invalid aes block size\");var d=a.b[c],e=b[0]^d[0],f=b[c?3:1]^d[1],g=b[2]^d[2];b=b[c?1:3]^d[3];var h,k,l,n=d.length/4-2,m,p=4,r=[0,0,0,0];h=a.s[c];a=h[0];var q=h[1],v=h[2],w=h[3],x=h[4];for(m=0;m>>24]^q[f>>16&255]^v[g>>8&255]^w[b&255]^d[p],k=a[f>>>24]^q[g>>16&255]^v[b>>8&255]^w[e&255]^d[p+1],l=a[g>>>24]^q[b>>16&255]^v[e>>8&255]^w[f&255]^d[p+2],b=a[b>>>24]^q[e>>16&255]^v[f>>8&255]^w[g&255]^d[p+3],p+=4,e=h,f=k,g=l;for(m=\n0;4>m;m++)r[c?3&-m:m]=x[e>>>24]<<24^x[f>>16&255]<<16^x[g>>8&255]<<8^x[b&255]^d[p++],h=e,e=f,f=g,g=b,b=h;return r}\nsjcl.bitArray={bitSlice:function(a,b,c){a=sjcl.bitArray.$(a.slice(b/32),32-(b&31)).slice(1);return void 0===c?a:sjcl.bitArray.clamp(a,c-b)},extract:function(a,b,c){var d=Math.floor(-b-c&31);return((b+c-1^b)&-32?a[b/32|0]<<32-d^a[b/32+1|0]>>>d:a[b/32|0]>>>d)&(1<>b-1,1));return a},partial:function(a,b,c){return 32===a?b:(c?b|0:b<<32-a)+0x10000000000*a},getPartial:function(a){return Math.round(a/0x10000000000)||32},equal:function(a,b){if(sjcl.bitArray.bitLength(a)!==sjcl.bitArray.bitLength(b))return!1;var c=0,d;for(d=0;d>>b),c=a[e]<<32-b;e=a.length?a[a.length-1]:0;a=sjcl.bitArray.getPartial(e);d.push(sjcl.bitArray.partial(b+a&31,32>>24|c>>>8&0xff00|(c&0xff00)<<8|c<<24;return a}};\nsjcl.codec.utf8String={fromBits:function(a){var b=\"\",c=sjcl.bitArray.bitLength(a),d,e;for(d=0;d>>8>>>8>>>8),e<<=8;return decodeURIComponent(escape(b))},toBits:function(a){a=unescape(encodeURIComponent(a));var b=[],c,d=0;for(c=0;c>>g)>>>e),gn){if(!b)try{return sjcl.codec.base32hex.toBits(a)}catch(p){}throw new sjcl.exception.invalid(\"this isn't \"+m+\"!\");}h>e?(h-=e,f.push(l^n>>>h),l=n<>>e)>>>26),6>e?(g=a[c]<<6-e,e+=26,c++):(g<<=6,e-=6);for(;d.length&3&&!b;)d+=\"=\";return d},toBits:function(a,b){a=a.replace(/\\s|=/g,\"\");var c=[],d,e=0,f=sjcl.codec.base64.B,g=0,h;b&&(f=f.substr(0,62)+\"-_\");for(d=0;dh)throw new sjcl.exception.invalid(\"this isn't base64!\");26>>e),g=h<<32-e):(e+=6,g^=h<<32-e)}e&56&&c.push(sjcl.bitArray.partial(e&56,g,1));return c}};sjcl.codec.base64url={fromBits:function(a){return sjcl.codec.base64.fromBits(a,1,1)},toBits:function(a){return sjcl.codec.base64.toBits(a,1)}};sjcl.hash.sha256=function(a){this.b[0]||this.O();a?(this.F=a.F.slice(0),this.A=a.A.slice(0),this.l=a.l):this.reset()};sjcl.hash.sha256.hash=function(a){return(new sjcl.hash.sha256).update(a).finalize()};\nsjcl.hash.sha256.prototype={blockSize:512,reset:function(){this.F=this.Y.slice(0);this.A=[];this.l=0;return this},update:function(a){\"string\"===typeof a&&(a=sjcl.codec.utf8String.toBits(a));var b,c=this.A=sjcl.bitArray.concat(this.A,a);b=this.l;a=this.l=b+sjcl.bitArray.bitLength(a);if(0x1fffffffffffffb;c++){e=!0;for(d=2;d*d<=c;d++)if(0===c%d){e=\n!1;break}e&&(8>b&&(this.Y[b]=a(Math.pow(c,.5))),this.b[b]=a(Math.pow(c,1/3)),b++)}}};\nfunction u(a,b){var c,d,e,f=a.F,g=a.b,h=f[0],k=f[1],l=f[2],n=f[3],m=f[4],p=f[5],r=f[6],q=f[7];for(c=0;64>c;c++)16>c?d=b[c]:(d=b[c+1&15],e=b[c+14&15],d=b[c&15]=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+b[c&15]+b[c+9&15]|0),d=d+q+(m>>>6^m>>>11^m>>>25^m<<26^m<<21^m<<7)+(r^m&(p^r))+g[c],q=r,r=p,p=m,m=n+d|0,n=l,l=k,k=h,h=d+(k&l^n&(k^l))+(k>>>2^k>>>13^k>>>22^k<<30^k<<19^k<<10)|0;f[0]=f[0]+h|0;f[1]=f[1]+k|0;f[2]=f[2]+l|0;f[3]=f[3]+n|0;f[4]=f[4]+m|0;f[5]=f[5]+p|0;f[6]=f[6]+r|0;f[7]=\nf[7]+q|0}\nsjcl.mode.ccm={name:\"ccm\",G:[],listenProgress:function(a){sjcl.mode.ccm.G.push(a)},unListenProgress:function(a){a=sjcl.mode.ccm.G.indexOf(a);-1k)throw new sjcl.exception.invalid(\"ccm: iv must be at least 7 bytes\");for(f=2;4>f&&l>>>8*f;f++);f<15-k&&(f=15-k);c=h.clamp(c,\n8*(15-f));b=sjcl.mode.ccm.V(a,b,c,d,e,f);g=sjcl.mode.ccm.C(a,g,c,b,e,f);return h.concat(g.data,g.tag)},decrypt:function(a,b,c,d,e){e=e||64;d=d||[];var f=sjcl.bitArray,g=f.bitLength(c)/8,h=f.bitLength(b),k=f.clamp(b,h-e),l=f.bitSlice(b,h-e),h=(h-e)/8;if(7>g)throw new sjcl.exception.invalid(\"ccm: iv must be at least 7 bytes\");for(b=2;4>b&&h>>>8*b;b++);b<15-g&&(b=15-g);c=f.clamp(c,8*(15-b));k=sjcl.mode.ccm.C(a,k,c,l,e,b);a=sjcl.mode.ccm.V(a,k.data,c,d,e,b);if(!f.equal(k.tag,a))throw new sjcl.exception.corrupt(\"ccm: tag doesn't match\");\nreturn k.data},na:function(a,b,c,d,e,f){var g=[],h=sjcl.bitArray,k=h.i;d=[h.partial(8,(b.length?64:0)|d-2<<2|f-1)];d=h.concat(d,c);d[3]|=e;d=a.encrypt(d);if(b.length)for(c=h.bitLength(b)/8,65279>=c?g=[h.partial(16,c)]:0xffffffff>=c&&(g=h.concat([h.partial(16,65534)],[c])),g=h.concat(g,b),b=0;be||16n&&(sjcl.mode.ccm.fa(g/\nk),n+=m),c[3]++,e=a.encrypt(c),b[g]^=e[0],b[g+1]^=e[1],b[g+2]^=e[2],b[g+3]^=e[3];return{tag:d,data:h.clamp(b,l)}}};\nsjcl.mode.ocb2={name:\"ocb2\",encrypt:function(a,b,c,d,e,f){if(128!==sjcl.bitArray.bitLength(c))throw new sjcl.exception.invalid(\"ocb iv must be 128 bits\");var g,h=sjcl.mode.ocb2.S,k=sjcl.bitArray,l=k.i,n=[0,0,0,0];c=h(a.encrypt(c));var m,p=[];d=d||[];e=e||64;for(g=0;g+4e.bitLength(c)&&(h=f(h,d(h)),c=e.concat(c,[-2147483648,0,0,0]));g=f(g,c);\nreturn a.encrypt(f(d(f(h,d(h))),g))},S:function(a){return[a[0]<<1^a[1]>>>31,a[1]<<1^a[2]>>>31,a[2]<<1^a[3]>>>31,a[3]<<1^135*(a[0]>>>31)]}};\nsjcl.mode.gcm={name:\"gcm\",encrypt:function(a,b,c,d,e){var f=b.slice(0);b=sjcl.bitArray;d=d||[];a=sjcl.mode.gcm.C(!0,a,f,d,c,e||128);return b.concat(a.data,a.tag)},decrypt:function(a,b,c,d,e){var f=b.slice(0),g=sjcl.bitArray,h=g.bitLength(f);e=e||128;d=d||[];e<=h?(b=g.bitSlice(f,h-e),f=g.bitSlice(f,0,h-e)):(b=f,f=[]);a=sjcl.mode.gcm.C(!1,a,f,d,c,e);if(!g.equal(a.tag,b))throw new sjcl.exception.corrupt(\"gcm: tag doesn't match\");return a.data},ka:function(a,b){var c,d,e,f,g,h=sjcl.bitArray.i;e=[0,0,\n0,0];f=b.slice(0);for(c=0;128>c;c++){(d=0!==(a[Math.floor(c/32)]&1<<31-c%32))&&(e=h(e,f));g=0!==(f[3]&1);for(d=3;0>>1|(f[d-1]&1)<<31;f[0]>>>=1;g&&(f[0]^=-0x1f000000)}return e},j:function(a,b,c){var d,e=c.length;b=b.slice(0);for(d=0;de&&(a=b.hash(a));for(d=0;dd||0>c)throw new sjcl.exception.invalid(\"invalid params to pbkdf2\");\"string\"===typeof a&&(a=sjcl.codec.utf8String.toBits(a));\"string\"===typeof b&&(b=sjcl.codec.utf8String.toBits(b));e=e||sjcl.misc.hmac;a=new e(a);var f,g,h,k,l=[],n=sjcl.bitArray;for(k=1;32*l.length<(d||1);k++){e=f=a.encrypt(n.concat(b,[k]));for(g=1;gg;g++)e.push(0x100000000*Math.random()|0);for(g=0;g=1<this.o&&(this.o=\nf);this.P++;this.b=sjcl.hash.sha256.hash(this.b.concat(e));this.L=new sjcl.cipher.aes(this.b);for(d=0;4>d&&(this.h[d]=this.h[d]+1|0,!this.h[d]);d++);}for(d=0;d>>1;this.c[g].update([d,this.N++,2,b,f,a.length].concat(a))}break;case \"string\":void 0===b&&(b=a.length);this.c[g].update([d,this.N++,3,b,f,a.length]);this.c[g].update(a);break;default:k=1}if(k)throw new sjcl.exception.bug(\"random: addEntropy only supports number, array of numbers or string\");this.m[g]+=b;this.f+=b;h===this.u&&(this.isReady()!==this.u&&A(\"seeded\",Math.max(this.o,this.f)),A(\"progress\",this.getProgress()))},\nisReady:function(a){a=this.T[void 0!==a?a:this.M];return this.o&&this.o>=a?this.m[0]>this.ba&&(new Date).valueOf()>this.Z?this.J|this.I:this.I:this.f>=a?this.J|this.u:this.u},getProgress:function(a){a=this.T[a?a:this.M];return this.o>=a?1:this.f>a?1:this.f/a},startCollectors:function(){if(!this.D){this.a={loadTimeCollector:B(this,this.ma),mouseCollector:B(this,this.oa),keyboardCollector:B(this,this.la),accelerometerCollector:B(this,this.ea),touchCollector:B(this,this.qa)};if(window.addEventListener)window.addEventListener(\"load\",\nthis.a.loadTimeCollector,!1),window.addEventListener(\"mousemove\",this.a.mouseCollector,!1),window.addEventListener(\"keypress\",this.a.keyboardCollector,!1),window.addEventListener(\"devicemotion\",this.a.accelerometerCollector,!1),window.addEventListener(\"touchmove\",this.a.touchCollector,!1);else if(document.attachEvent)document.attachEvent(\"onload\",this.a.loadTimeCollector),document.attachEvent(\"onmousemove\",this.a.mouseCollector),document.attachEvent(\"keypress\",this.a.keyboardCollector);else throw new sjcl.exception.bug(\"can't attach event\");\nthis.D=!0}},stopCollectors:function(){this.D&&(window.removeEventListener?(window.removeEventListener(\"load\",this.a.loadTimeCollector,!1),window.removeEventListener(\"mousemove\",this.a.mouseCollector,!1),window.removeEventListener(\"keypress\",this.a.keyboardCollector,!1),window.removeEventListener(\"devicemotion\",this.a.accelerometerCollector,!1),window.removeEventListener(\"touchmove\",this.a.touchCollector,!1)):document.detachEvent&&(document.detachEvent(\"onload\",this.a.loadTimeCollector),document.detachEvent(\"onmousemove\",\nthis.a.mouseCollector),document.detachEvent(\"keypress\",this.a.keyboardCollector)),this.D=!1)},addEventListener:function(a,b){this.K[a][this.ga++]=b},removeEventListener:function(a,b){var c,d,e=this.K[a],f=[];for(d in e)e.hasOwnProperty(d)&&e[d]===b&&f.push(d);for(c=0;cb&&(a.h[b]=a.h[b]+1|0,!a.h[b]);b++);return a.L.encrypt(a.h)}\nfunction B(a,b){return function(){b.apply(a,arguments)}}sjcl.random=new sjcl.prng(6);\na:try{var D,E,F,G;if(G=\"undefined\"!==typeof module&&module.exports){var H;try{H=require(\"crypto\")}catch(a){H=null}G=E=H}if(G&&E.randomBytes)D=E.randomBytes(128),D=new Uint32Array((new Uint8Array(D)).buffer),sjcl.random.addEntropy(D,1024,\"crypto['randomBytes']\");else if(\"undefined\"!==typeof window&&\"undefined\"!==typeof Uint32Array){F=new Uint32Array(32);if(window.crypto&&window.crypto.getRandomValues)window.crypto.getRandomValues(F);else if(window.msCrypto&&window.msCrypto.getRandomValues)window.msCrypto.getRandomValues(F);\nelse break a;sjcl.random.addEntropy(F,1024,\"crypto['getRandomValues']\")}}catch(a){\"undefined\"!==typeof window&&window.console&&(console.log(\"There was an error collecting entropy from the browser:\"),console.log(a))}\nsjcl.json={defaults:{v:1,iter:1E4,ks:128,ts:64,mode:\"ccm\",adata:\"\",cipher:\"aes\"},ja:function(a,b,c,d){c=c||{};d=d||{};var e=sjcl.json,f=e.g({iv:sjcl.random.randomWords(4,0)},e.defaults),g;e.g(f,c);c=f.adata;\"string\"===typeof f.salt&&(f.salt=sjcl.codec.base64.toBits(f.salt));\"string\"===typeof f.iv&&(f.iv=sjcl.codec.base64.toBits(f.iv));if(!sjcl.mode[f.mode]||!sjcl.cipher[f.cipher]||\"string\"===typeof a&&100>=f.iter||64!==f.ts&&96!==f.ts&&128!==f.ts||128!==f.ks&&192!==f.ks&&0x100!==f.ks||2>f.iv.length||\n4=b.iter||64!==b.ts&&96!==b.ts&&128!==b.ts||128!==b.ks&&192!==b.ks&&0x100!==b.ks||!b.iv||2>b.iv.length||4>>24]<<24^f[c>>16&255]<<16^f[c>>8&255]<<8^f[c&255],0===a%b&&(c=c<<8^c>>>24^h<<24,h=h<<1^283*(h>>7));d[a]=d[a-b]^c}for(b=0;a;b++,a--)c=d[b&3?a:a-4],e[b]=4>=a||4>b?c:g[0][f[c>>>24]]^g[1][f[c>>16&255]]^g[2][f[c>>8&255]]^g[3][f[c&\n255]]};\nsjcl.cipher.aes.prototype={encrypt:function(a){return t(this,a,0)},decrypt:function(a){return t(this,a,1)},s:[[[],[],[],[],[]],[[],[],[],[],[]]],O:function(){var a=this.s[0],b=this.s[1],c=a[4],d=b[4],e,f,g,h=[],k=[],l,n,m,p;for(e=0;0x100>e;e++)k[(h[e]=e<<1^283*(e>>7))^e]=e;for(f=g=0;!c[f];f^=l||1,g=k[g]||1)for(m=g^g<<1^g<<2^g<<3^g<<4,m=m>>8^m&255^99,c[f]=m,d[m]=f,n=h[e=h[l=h[f]]],p=0x1010101*n^0x10001*e^0x101*l^0x1010100*f,n=0x101*h[m]^0x1010100*m,e=0;4>e;e++)a[e][f]=n=n<<24^n>>>8,b[e][m]=p=p<<24^p>>>8;for(e=\n0;5>e;e++)a[e]=a[e].slice(0),b[e]=b[e].slice(0)}};\nfunction t(a,b,c){if(4!==b.length)throw new sjcl.exception.invalid(\"invalid aes block size\");var d=a.b[c],e=b[0]^d[0],f=b[c?3:1]^d[1],g=b[2]^d[2];b=b[c?1:3]^d[3];var h,k,l,n=d.length/4-2,m,p=4,r=[0,0,0,0];h=a.s[c];a=h[0];var q=h[1],v=h[2],w=h[3],x=h[4];for(m=0;m>>24]^q[f>>16&255]^v[g>>8&255]^w[b&255]^d[p],k=a[f>>>24]^q[g>>16&255]^v[b>>8&255]^w[e&255]^d[p+1],l=a[g>>>24]^q[b>>16&255]^v[e>>8&255]^w[f&255]^d[p+2],b=a[b>>>24]^q[e>>16&255]^v[f>>8&255]^w[g&255]^d[p+3],p+=4,e=h,f=k,g=l;for(m=\n0;4>m;m++)r[c?3&-m:m]=x[e>>>24]<<24^x[f>>16&255]<<16^x[g>>8&255]<<8^x[b&255]^d[p++],h=e,e=f,f=g,g=b,b=h;return r}\nsjcl.bitArray={bitSlice:function(a,b,c){a=sjcl.bitArray.$(a.slice(b/32),32-(b&31)).slice(1);return void 0===c?a:sjcl.bitArray.clamp(a,c-b)},extract:function(a,b,c){var d=Math.floor(-b-c&31);return((b+c-1^b)&-32?a[b/32|0]<<32-d^a[b/32+1|0]>>>d:a[b/32|0]>>>d)&(1<>b-1,1));return a},partial:function(a,b,c){return 32===a?b:(c?b|0:b<<32-a)+0x10000000000*a},getPartial:function(a){return Math.round(a/0x10000000000)||32},equal:function(a,b){if(sjcl.bitArray.bitLength(a)!==sjcl.bitArray.bitLength(b))return!1;var c=0,d;for(d=0;d>>b),c=a[e]<<32-b;e=a.length?a[a.length-1]:0;a=sjcl.bitArray.getPartial(e);d.push(sjcl.bitArray.partial(b+a&31,32>>24|c>>>8&0xff00|(c&0xff00)<<8|c<<24;return a}};\nsjcl.codec.utf8String={fromBits:function(a){var b=\"\",c=sjcl.bitArray.bitLength(a),d,e;for(d=0;d>>8>>>8>>>8),e<<=8;return decodeURIComponent(escape(b))},toBits:function(a){a=unescape(encodeURIComponent(a));var b=[],c,d=0;for(c=0;c>>g)>>>e),gn){if(!b)try{return sjcl.codec.base32hex.toBits(a)}catch(p){}throw new sjcl.exception.invalid(\"this isn't \"+m+\"!\");}h>e?(h-=e,f.push(l^n>>>h),l=n<>>e)>>>26),6>e?(g=a[c]<<6-e,e+=26,c++):(g<<=6,e-=6);for(;d.length&3&&!b;)d+=\"=\";return d},toBits:function(a,b){a=a.replace(/\\s|=/g,\"\");var c=[],d,e=0,f=sjcl.codec.base64.B,g=0,h;b&&(f=f.substr(0,62)+\"-_\");for(d=0;dh)throw new sjcl.exception.invalid(\"this isn't base64!\");26>>e),g=h<<32-e):(e+=6,g^=h<<32-e)}e&56&&c.push(sjcl.bitArray.partial(e&56,g,1));return c}};sjcl.codec.base64url={fromBits:function(a){return sjcl.codec.base64.fromBits(a,1,1)},toBits:function(a){return sjcl.codec.base64.toBits(a,1)}};sjcl.hash.sha256=function(a){this.b[0]||this.O();a?(this.F=a.F.slice(0),this.A=a.A.slice(0),this.l=a.l):this.reset()};sjcl.hash.sha256.hash=function(a){return(new sjcl.hash.sha256).update(a).finalize()};\nsjcl.hash.sha256.prototype={blockSize:512,reset:function(){this.F=this.Y.slice(0);this.A=[];this.l=0;return this},update:function(a){\"string\"===typeof a&&(a=sjcl.codec.utf8String.toBits(a));var b,c=this.A=sjcl.bitArray.concat(this.A,a);b=this.l;a=this.l=b+sjcl.bitArray.bitLength(a);if(0x1fffffffffffffb;c++){e=!0;for(d=2;d*d<=c;d++)if(0===c%d){e=\n!1;break}e&&(8>b&&(this.Y[b]=a(Math.pow(c,.5))),this.b[b]=a(Math.pow(c,1/3)),b++)}}};\nfunction u(a,b){var c,d,e,f=a.F,g=a.b,h=f[0],k=f[1],l=f[2],n=f[3],m=f[4],p=f[5],r=f[6],q=f[7];for(c=0;64>c;c++)16>c?d=b[c]:(d=b[c+1&15],e=b[c+14&15],d=b[c&15]=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+b[c&15]+b[c+9&15]|0),d=d+q+(m>>>6^m>>>11^m>>>25^m<<26^m<<21^m<<7)+(r^m&(p^r))+g[c],q=r,r=p,p=m,m=n+d|0,n=l,l=k,k=h,h=d+(k&l^n&(k^l))+(k>>>2^k>>>13^k>>>22^k<<30^k<<19^k<<10)|0;f[0]=f[0]+h|0;f[1]=f[1]+k|0;f[2]=f[2]+l|0;f[3]=f[3]+n|0;f[4]=f[4]+m|0;f[5]=f[5]+p|0;f[6]=f[6]+r|0;f[7]=\nf[7]+q|0}\nsjcl.mode.ccm={name:\"ccm\",G:[],listenProgress:function(a){sjcl.mode.ccm.G.push(a)},unListenProgress:function(a){a=sjcl.mode.ccm.G.indexOf(a);-1k)throw new sjcl.exception.invalid(\"ccm: iv must be at least 7 bytes\");for(f=2;4>f&&l>>>8*f;f++);f<15-k&&(f=15-k);c=h.clamp(c,\n8*(15-f));b=sjcl.mode.ccm.V(a,b,c,d,e,f);g=sjcl.mode.ccm.C(a,g,c,b,e,f);return h.concat(g.data,g.tag)},decrypt:function(a,b,c,d,e){e=e||64;d=d||[];var f=sjcl.bitArray,g=f.bitLength(c)/8,h=f.bitLength(b),k=f.clamp(b,h-e),l=f.bitSlice(b,h-e),h=(h-e)/8;if(7>g)throw new sjcl.exception.invalid(\"ccm: iv must be at least 7 bytes\");for(b=2;4>b&&h>>>8*b;b++);b<15-g&&(b=15-g);c=f.clamp(c,8*(15-b));k=sjcl.mode.ccm.C(a,k,c,l,e,b);a=sjcl.mode.ccm.V(a,k.data,c,d,e,b);if(!f.equal(k.tag,a))throw new sjcl.exception.corrupt(\"ccm: tag doesn't match\");\nreturn k.data},na:function(a,b,c,d,e,f){var g=[],h=sjcl.bitArray,k=h.i;d=[h.partial(8,(b.length?64:0)|d-2<<2|f-1)];d=h.concat(d,c);d[3]|=e;d=a.encrypt(d);if(b.length)for(c=h.bitLength(b)/8,65279>=c?g=[h.partial(16,c)]:0xffffffff>=c&&(g=h.concat([h.partial(16,65534)],[c])),g=h.concat(g,b),b=0;be||16n&&(sjcl.mode.ccm.fa(g/\nk),n+=m),c[3]++,e=a.encrypt(c),b[g]^=e[0],b[g+1]^=e[1],b[g+2]^=e[2],b[g+3]^=e[3];return{tag:d,data:h.clamp(b,l)}}};\nsjcl.mode.ocb2={name:\"ocb2\",encrypt:function(a,b,c,d,e,f){if(128!==sjcl.bitArray.bitLength(c))throw new sjcl.exception.invalid(\"ocb iv must be 128 bits\");var g,h=sjcl.mode.ocb2.S,k=sjcl.bitArray,l=k.i,n=[0,0,0,0];c=h(a.encrypt(c));var m,p=[];d=d||[];e=e||64;for(g=0;g+4e.bitLength(c)&&(h=f(h,d(h)),c=e.concat(c,[-2147483648,0,0,0]));g=f(g,c);\nreturn a.encrypt(f(d(f(h,d(h))),g))},S:function(a){return[a[0]<<1^a[1]>>>31,a[1]<<1^a[2]>>>31,a[2]<<1^a[3]>>>31,a[3]<<1^135*(a[0]>>>31)]}};\nsjcl.mode.gcm={name:\"gcm\",encrypt:function(a,b,c,d,e){var f=b.slice(0);b=sjcl.bitArray;d=d||[];a=sjcl.mode.gcm.C(!0,a,f,d,c,e||128);return b.concat(a.data,a.tag)},decrypt:function(a,b,c,d,e){var f=b.slice(0),g=sjcl.bitArray,h=g.bitLength(f);e=e||128;d=d||[];e<=h?(b=g.bitSlice(f,h-e),f=g.bitSlice(f,0,h-e)):(b=f,f=[]);a=sjcl.mode.gcm.C(!1,a,f,d,c,e);if(!g.equal(a.tag,b))throw new sjcl.exception.corrupt(\"gcm: tag doesn't match\");return a.data},ka:function(a,b){var c,d,e,f,g,h=sjcl.bitArray.i;e=[0,0,\n0,0];f=b.slice(0);for(c=0;128>c;c++){(d=0!==(a[Math.floor(c/32)]&1<<31-c%32))&&(e=h(e,f));g=0!==(f[3]&1);for(d=3;0>>1|(f[d-1]&1)<<31;f[0]>>>=1;g&&(f[0]^=-0x1f000000)}return e},j:function(a,b,c){var d,e=c.length;b=b.slice(0);for(d=0;de&&(a=b.hash(a));for(d=0;dd||0>c)throw new sjcl.exception.invalid(\"invalid params to pbkdf2\");\"string\"===typeof a&&(a=sjcl.codec.utf8String.toBits(a));\"string\"===typeof b&&(b=sjcl.codec.utf8String.toBits(b));e=e||sjcl.misc.hmac;a=new e(a);var f,g,h,k,l=[],n=sjcl.bitArray;for(k=1;32*l.length<(d||1);k++){e=f=a.encrypt(n.concat(b,[k]));for(g=1;gg;g++)e.push(0x100000000*Math.random()|0);for(g=0;g=1<this.o&&(this.o=\nf);this.P++;this.b=sjcl.hash.sha256.hash(this.b.concat(e));this.L=new sjcl.cipher.aes(this.b);for(d=0;4>d&&(this.h[d]=this.h[d]+1|0,!this.h[d]);d++);}for(d=0;d>>1;this.c[g].update([d,this.N++,2,b,f,a.length].concat(a))}break;case \"string\":void 0===b&&(b=a.length);this.c[g].update([d,this.N++,3,b,f,a.length]);this.c[g].update(a);break;default:k=1}if(k)throw new sjcl.exception.bug(\"random: addEntropy only supports number, array of numbers or string\");this.m[g]+=b;this.f+=b;h===this.u&&(this.isReady()!==this.u&&A(\"seeded\",Math.max(this.o,this.f)),A(\"progress\",this.getProgress()))},\nisReady:function(a){a=this.T[void 0!==a?a:this.M];return this.o&&this.o>=a?this.m[0]>this.ba&&(new Date).valueOf()>this.Z?this.J|this.I:this.I:this.f>=a?this.J|this.u:this.u},getProgress:function(a){a=this.T[a?a:this.M];return this.o>=a?1:this.f>a?1:this.f/a},startCollectors:function(){if(!this.D){this.a={loadTimeCollector:B(this,this.ma),mouseCollector:B(this,this.oa),keyboardCollector:B(this,this.la),accelerometerCollector:B(this,this.ea),touchCollector:B(this,this.qa)};if(window.addEventListener)window.addEventListener(\"load\",\nthis.a.loadTimeCollector,!1),window.addEventListener(\"mousemove\",this.a.mouseCollector,!1),window.addEventListener(\"keypress\",this.a.keyboardCollector,!1),window.addEventListener(\"devicemotion\",this.a.accelerometerCollector,!1),window.addEventListener(\"touchmove\",this.a.touchCollector,!1);else if(document.attachEvent)document.attachEvent(\"onload\",this.a.loadTimeCollector),document.attachEvent(\"onmousemove\",this.a.mouseCollector),document.attachEvent(\"keypress\",this.a.keyboardCollector);else throw new sjcl.exception.bug(\"can't attach event\");\nthis.D=!0}},stopCollectors:function(){this.D&&(window.removeEventListener?(window.removeEventListener(\"load\",this.a.loadTimeCollector,!1),window.removeEventListener(\"mousemove\",this.a.mouseCollector,!1),window.removeEventListener(\"keypress\",this.a.keyboardCollector,!1),window.removeEventListener(\"devicemotion\",this.a.accelerometerCollector,!1),window.removeEventListener(\"touchmove\",this.a.touchCollector,!1)):document.detachEvent&&(document.detachEvent(\"onload\",this.a.loadTimeCollector),document.detachEvent(\"onmousemove\",\nthis.a.mouseCollector),document.detachEvent(\"keypress\",this.a.keyboardCollector)),this.D=!1)},addEventListener:function(a,b){this.K[a][this.ga++]=b},removeEventListener:function(a,b){var c,d,e=this.K[a],f=[];for(d in e)e.hasOwnProperty(d)&&e[d]===b&&f.push(d);for(c=0;cb&&(a.h[b]=a.h[b]+1|0,!a.h[b]);b++);return a.L.encrypt(a.h)}\nfunction B(a,b){return function(){b.apply(a,arguments)}}sjcl.random=new sjcl.prng(6);\na:try{var D,E,F,G;if(G=\"undefined\"!==typeof module&&module.exports){var H;try{H=require(\"crypto\")}catch(a){H=null}G=E=H}if(G&&E.randomBytes)D=E.randomBytes(128),D=new Uint32Array((new Uint8Array(D)).buffer),sjcl.random.addEntropy(D,1024,\"crypto['randomBytes']\");else if(\"undefined\"!==typeof window&&\"undefined\"!==typeof Uint32Array){F=new Uint32Array(32);if(window.crypto&&window.crypto.getRandomValues)window.crypto.getRandomValues(F);else if(window.msCrypto&&window.msCrypto.getRandomValues)window.msCrypto.getRandomValues(F);\nelse break a;sjcl.random.addEntropy(F,1024,\"crypto['getRandomValues']\")}}catch(a){\"undefined\"!==typeof window&&window.console&&(console.log(\"There was an error collecting entropy from the browser:\"),console.log(a))}\nsjcl.json={defaults:{v:1,iter:1E4,ks:128,ts:64,mode:\"ccm\",adata:\"\",cipher:\"aes\"},ja:function(a,b,c,d){c=c||{};d=d||{};var e=sjcl.json,f=e.g({iv:sjcl.random.randomWords(4,0)},e.defaults),g;e.g(f,c);c=f.adata;\"string\"===typeof f.salt&&(f.salt=sjcl.codec.base64.toBits(f.salt));\"string\"===typeof f.iv&&(f.iv=sjcl.codec.base64.toBits(f.iv));if(!sjcl.mode[f.mode]||!sjcl.cipher[f.cipher]||\"string\"===typeof a&&100>=f.iter||64!==f.ts&&96!==f.ts&&128!==f.ts||128!==f.ks&&192!==f.ks&&0x100!==f.ks||2>f.iv.length||\n4=b.iter||64!==b.ts&&96!==b.ts&&128!==b.ts||128!==b.ks&&192!==b.ks&&0x100!==b.ks||!b.iv||2>b.iv.length||4\n# Boot.js\n\nSee Boot.js for further details of the boot process.\n\n\\*/\n\nvar _bootprefix = (function($tw) {\n\n\"use strict\";\n\n$tw = $tw || Object.create(null);\n$tw.boot = $tw.boot || Object.create(null);\n\n// Detect platforms\nif(!(\"browser\" in $tw)) {\n\t$tw.browser = typeof(window) !== \"undefined\" && typeof(document) !== \"undefined\" ? {} : null;\n}\nif(!(\"node\" in $tw)) {\n\t$tw.node = typeof(process) === \"object\" ? {} : null;\n}\nif(!(\"nodeWebKit\" in $tw)) {\n\t$tw.nodeWebKit = $tw.node && global.window && global.window.nwDispatcher ? {} : null;\n}\n\n// Set default boot tasks\n$tw.boot.tasks = {\n\ttrapErrors: !!($tw.browser && !$tw.node),\n\treadBrowserTiddlers: !!($tw.browser && !$tw.node)\n};\n\n/*\nInformation about each module is kept in an object with these members:\n\tmoduleType: type of module\n\tdefinition: object, function or string defining the module; see below\n\texports: exports of the module, filled in after execution\n\nThe `definition` can be of several types:\n\n* An object can be used to directly specify the exports of the module\n* A function with the arguments `module,require,exports` that returns `exports`\n* A string function body with the same arguments\n\nEach moduleInfo object is stored in two hashmaps: $tw.modules.titles and $tw.modules.types. The first is indexed by title and the second is indexed by type and then title\n*/\n$tw.modules = {\n\ttitles: {}, // hashmap by module name of moduleInfo\n\ttypes: {} // hashmap by module type and then name of moduleInfo\n};\n\n/*\nDefine a JavaScript tiddler module for later execution\n\tmoduleName: name of module being defined\n\tmoduleType: type of module\n\tdefinition: module definition; see discussion above\n*/\n$tw.modules.define = function(moduleName,moduleType,definition) {\n\t// Create the moduleInfo\n\tvar moduleInfo = {\n\t\tmoduleType: moduleType,\n\t\tdefinition: definition,\n\t\texports: undefined\n\t};\n\t// If the definition is already an object we can use it as the exports\n\tif(typeof moduleInfo.definition === \"object\") {\n\t\tmoduleInfo.exports = definition;\n\t}\n\t// Store the module in the titles hashmap\n\tif(Object.prototype.hasOwnProperty.call($tw.modules.titles,moduleName)) {\n\t\tconsole.log(\"Warning: Redefined module - \" + moduleName);\n\t}\n\t$tw.modules.titles[moduleName] = moduleInfo;\n\t// Store the module in the types hashmap\n\tif(!Object.prototype.hasOwnProperty.call($tw.modules.types,moduleType)) {\n\t\t$tw.modules.types[moduleType] = {};\n\t}\n\tif(Object.prototype.hasOwnProperty.call($tw.modules.types[moduleType],moduleName)) {\n\t\tconsole.log(\"Warning: Redefined module - \" + moduleName);\n\t}\n\t$tw.modules.types[moduleType][moduleName] = moduleInfo;\n};\n\n/*\nExternal JavaScript can populate this array before calling boot.js in order to preload tiddlers\n*/\n$tw.preloadTiddlers = $tw.preloadTiddlers || [];\n\n/*\nConvenience function for pushing a tiddler onto the preloading array\n*/\n$tw.preloadTiddler = function(fields) {\n\t$tw.preloadTiddlers.push(fields);\n};\n\n/*\nConvenience function for pushing an array of tiddlers onto the preloading array\n*/\n$tw.preloadTiddlerArray = function(fieldsArray) {\n\t$tw.preloadTiddlers.push.apply($tw.preloadTiddlers,fieldsArray);\n};\n\nreturn $tw;\n\n});\n\nif(typeof(exports) === \"undefined\") {\n\t// Set up $tw global for the browser\n\twindow.$tw = _bootprefix(window.$tw);\n} else {\n\t// Export functionality as a module\n\texports.bootprefix = _bootprefix;\n}\n//# sourceURL=$:/boot/bootprefix.js\n", "title": "$:/boot/bootprefix.js", - "text": "/*\\\ntitle: $:/boot/bootprefix.js\ntype: application/javascript\n\nThis file sets up the globals that need to be available when JavaScript modules are executed in the browser. The overall sequence is:\n\n# BootPrefix.js\n# \n# Boot.js\n\nSee Boot.js for further details of the boot process.\n\n\\*/\n\nvar _bootprefix = (function($tw) {\n\n\"use strict\";\n\n$tw = $tw || Object.create(null);\n$tw.boot = $tw.boot || Object.create(null);\n\n// Detect platforms\nif(!(\"browser\" in $tw)) {\n\t$tw.browser = typeof(window) !== \"undefined\" ? {} : null;\n}\nif(!(\"node\" in $tw)) {\n\t$tw.node = typeof(process) === \"object\" ? {} : null;\n}\nif(!(\"nodeWebKit\" in $tw)) {\n\t$tw.nodeWebKit = $tw.node && global.window && global.window.nwDispatcher ? {} : null;\n}\n\n// Set default boot tasks\n$tw.boot.tasks = {\n\ttrapErrors: !!($tw.browser && !$tw.node),\n\treadBrowserTiddlers: !!($tw.browser && !$tw.node)\n};\n\n/*\nInformation about each module is kept in an object with these members:\n\tmoduleType: type of module\n\tdefinition: object, function or string defining the module; see below\n\texports: exports of the module, filled in after execution\n\nThe `definition` can be of several types:\n\n* An object can be used to directly specify the exports of the module\n* A function with the arguments `module,require,exports` that returns `exports`\n* A string function body with the same arguments\n\nEach moduleInfo object is stored in two hashmaps: $tw.modules.titles and $tw.modules.types. The first is indexed by title and the second is indexed by type and then title\n*/\n$tw.modules = {\n\ttitles: {}, // hashmap by module name of moduleInfo\n\ttypes: {} // hashmap by module type and then name of moduleInfo\n};\n\n/*\nDefine a JavaScript tiddler module for later execution\n\tmoduleName: name of module being defined\n\tmoduleType: type of module\n\tdefinition: module definition; see discussion above\n*/\n$tw.modules.define = function(moduleName,moduleType,definition) {\n\t// Create the moduleInfo\n\tvar moduleInfo = {\n\t\tmoduleType: moduleType,\n\t\tdefinition: definition,\n\t\texports: undefined\n\t};\n\t// If the definition is already an object we can use it as the exports\n\tif(typeof moduleInfo.definition === \"object\") {\n\t\tmoduleInfo.exports = definition;\n\t}\n\t// Store the module in the titles hashmap\n\tif(Object.prototype.hasOwnProperty.call($tw.modules.titles,moduleName)) {\n\t\tconsole.log(\"Warning: Redefined module - \" + moduleName);\n\t}\n\t$tw.modules.titles[moduleName] = moduleInfo;\n\t// Store the module in the types hashmap\n\tif(!Object.prototype.hasOwnProperty.call($tw.modules.types,moduleType)) {\n\t\t$tw.modules.types[moduleType] = {};\n\t}\n\tif(Object.prototype.hasOwnProperty.call($tw.modules.types[moduleType],moduleName)) {\n\t\tconsole.log(\"Warning: Redefined module - \" + moduleName);\n\t}\n\t$tw.modules.types[moduleType][moduleName] = moduleInfo;\n};\n\n/*\nExternal JavaScript can populate this array before calling boot.js in order to preload tiddlers\n*/\n$tw.preloadTiddlers = $tw.preloadTiddlers || [];\n\n/*\nConvenience function for pushing a tiddler onto the preloading array\n*/\n$tw.preloadTiddler = function(fields) {\n\t$tw.preloadTiddlers.push(fields);\n};\n\n/*\nConvenience function for pushing an array of tiddlers onto the preloading array\n*/\n$tw.preloadTiddlerArray = function(fieldsArray) {\n\t$tw.preloadTiddlers.push.apply($tw.preloadTiddlers,fieldsArray);\n};\n\nreturn $tw;\n\n});\n\nif(typeof(exports) === \"undefined\") {\n\t// Set up $tw global for the browser\n\twindow.$tw = _bootprefix(window.$tw);\n} else {\n\t// Export functionality as a module\n\texports.bootprefix = _bootprefix;\n}\n//# sourceURL=$:/boot/bootprefix.js\n", "type": "application/javascript" }); /* ~~ Core tiddlers ~~ */ -$tw.preloadTiddlerArray([{"title":"$:/core","name":"Core","description":"TiddlyWiki5 core","author":"JeremyRuston","core-version":">=5.0.0","plugin-priority":"0","list":"readme","version":"5.3.3","plugin-type":"plugin","dependents":"","type":"application/json","text":"{\"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> height=<> viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/add-comment\":{\"title\":\"$:/core/images/add-comment\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-add-comment tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/advanced-search-button\":{\"title\":\"$:/core/images/advanced-search-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-advanced-search-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/auto-height\":{\"title\":\"$:/core/images/auto-height\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-auto-height tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/blank\":{\"title\":\"$:/core/images/blank\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> 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> height=<> class=\\\"tc-image-bold tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/cancel-button\":{\"title\":\"$:/core/images/cancel-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-cancel-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/chevron-down\":{\"title\":\"$:/core/images/chevron-down\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-chevron-down tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/chevron-left\":{\"title\":\"$:/core/images/chevron-left\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-chevron-left tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/chevron-right\":{\"title\":\"$:/core/images/chevron-right\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-chevron-right tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/chevron-up\":{\"title\":\"$:/core/images/chevron-up\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-chevron-up tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/clone-button\":{\"title\":\"$:/core/images/clone-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-clone-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/close-all-button\":{\"title\":\"$:/core/images/close-all-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-close-all-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/close-button\":{\"title\":\"$:/core/images/close-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-close-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/close-others-button\":{\"title\":\"$:/core/images/close-others-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-close-others-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/copy-clipboard\":{\"title\":\"$:/core/images/copy-clipboard\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-copy-clipboard tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/delete-button\":{\"title\":\"$:/core/images/delete-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-delete-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/done-button\":{\"title\":\"$:/core/images/done-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-done-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/down-arrow\":{\"title\":\"$:/core/images/down-arrow\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-down-arrow tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/download-button\":{\"title\":\"$:/core/images/download-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-download-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/edit-button\":{\"title\":\"$:/core/images/edit-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-edit-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/erase\":{\"title\":\"$:/core/images/erase\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-erase tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/excise\":{\"title\":\"$:/core/images/excise\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-excise tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/export-button\":{\"title\":\"$:/core/images/export-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-export-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/file\":{\"title\":\"$:/core/images/file\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-file tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/fixed-height\":{\"title\":\"$:/core/images/fixed-height\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-fixed-height tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/fold-all-button\":{\"title\":\"$:/core/images/fold-all-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-fold-all tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/fold-button\":{\"title\":\"$:/core/images/fold-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-fold tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/fold-others-button\":{\"title\":\"$:/core/images/fold-others-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-fold-others tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/folder\":{\"title\":\"$:/core/images/folder\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-folder tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/full-screen-button\":{\"title\":\"$:/core/images/full-screen-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-full-screen-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/github\":{\"title\":\"$:/core/images/github\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-github tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/gitter\":{\"title\":\"$:/core/images/gitter\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-gitter tc-image-button\\\" viewBox=\\\"0 0 18 25\\\">\"},\"$:/core/images/globe\":{\"title\":\"$:/core/images/globe\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-globe tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/heading-1\":{\"title\":\"$:/core/images/heading-1\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-heading-1 tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/heading-2\":{\"title\":\"$:/core/images/heading-2\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-heading-2 tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/heading-3\":{\"title\":\"$:/core/images/heading-3\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-heading-3 tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/heading-4\":{\"title\":\"$:/core/images/heading-4\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-heading-4 tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/heading-5\":{\"title\":\"$:/core/images/heading-5\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-heading-5 tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/heading-6\":{\"title\":\"$:/core/images/heading-6\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-heading-6 tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/help\":{\"title\":\"$:/core/images/help\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-help tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/home-button\":{\"title\":\"$:/core/images/home-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-home-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/import-button\":{\"title\":\"$:/core/images/import-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-import-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/info-button\":{\"title\":\"$:/core/images/info-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-info-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/italic\":{\"title\":\"$:/core/images/italic\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-italic tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/layout-button\":{\"title\":\"$:/core/images/layout-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-layout-button tc-image-button\\\" viewBox=\\\"0 0 24 24\\\" stroke-width=\\\"1\\\" stroke=\\\"none\\\">\"},\"$:/core/images/left-arrow\":{\"title\":\"$:/core/images/left-arrow\",\"created\":\"20150315234410875\",\"modified\":\"20150315235324760\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-left-arrow tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/line-width\":{\"title\":\"$:/core/images/line-width\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-line-width tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/link\":{\"title\":\"$:/core/images/link\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-link tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/linkify\":{\"title\":\"$:/core/images/linkify\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-linkify-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/list-bullet\":{\"title\":\"$:/core/images/list-bullet\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-list-bullet tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/list-number\":{\"title\":\"$:/core/images/list-number\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-list-number tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/list\":{\"title\":\"$:/core/images/list\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-list tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/locked-padlock\":{\"title\":\"$:/core/images/locked-padlock\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-locked-padlock tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/mail\":{\"title\":\"$:/core/images/mail\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-mail tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/mastodon\":{\"title\":\"$:/core/images/mastodon\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-mastodon tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\\n \\n\\n\"},\"$:/core/images/menu-button\":{\"title\":\"$:/core/images/menu-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-menu-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/minus-button\":{\"title\":\"$:/core/images/minus-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-minus-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/mono-block\":{\"title\":\"$:/core/images/mono-block\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-mono-block tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/mono-line\":{\"title\":\"$:/core/images/mono-line\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-mono-line tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/network-activity\":{\"title\":\"$:/core/images/network-activity\",\"tags\":\"$:/tags/Image\",\"text\":\"\\n<$list filter=\\\"[{$:/state/http-requests}match[0]]\\\" variable=\\\"ignore\\\">\\n\\n\\n<$list filter=\\\"[{$:/state/http-requests}!match[0]]\\\" variable=\\\"ignore\\\">\\n\\n\\n\"},\"$:/core/images/new-button\":{\"title\":\"$:/core/images/new-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-new-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/new-here-button\":{\"title\":\"$:/core/images/new-here-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-new-here-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/new-image-button\":{\"title\":\"$:/core/images/new-image-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-new-image-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/new-journal-button\":{\"title\":\"$:/core/images/new-journal-button\",\"tags\":\"$:/tags/Image\",\"text\":\"<$parameters size=\\\"22pt\\\" day=<>>> height=<> class=\\\"tc-image-new-journal-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\"><$text text=<>/>\"},\"$:/core/images/opacity\":{\"title\":\"$:/core/images/opacity\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-opacity tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/open-window\":{\"title\":\"$:/core/images/open-window\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-open-window tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/options-button\":{\"title\":\"$:/core/images/options-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-options-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/paint\":{\"title\":\"$:/core/images/paint\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-paint tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/palette\":{\"title\":\"$:/core/images/palette\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-palette tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/permalink-button\":{\"title\":\"$:/core/images/permalink-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-permalink-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/permaview-button\":{\"title\":\"$:/core/images/permaview-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-permaview-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/picture\":{\"title\":\"$:/core/images/picture\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-picture tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/plugin-generic-language\":{\"title\":\"$:/core/images/plugin-generic-language\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> viewBox=\\\"0 0 128 128\\\" class=\\\"tc-image-plugin-generic-language tc-image-button\\\">\"},\"$:/core/images/plugin-generic-plugin\":{\"title\":\"$:/core/images/plugin-generic-plugin\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> viewBox=\\\"0 0 128 128\\\" class=\\\"tc-image-plugin-generic-plugin tc-image-button\\\">\"},\"$:/core/images/plugin-generic-theme\":{\"title\":\"$:/core/images/plugin-generic-theme\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> viewBox=\\\"0 0 128 128\\\" class=\\\"tc-image-plugin-generic-theme tc-image-button\\\">\"},\"$:/core/images/plus-button\":{\"title\":\"$:/core/images/plus-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-plus-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/preview-closed\":{\"title\":\"$:/core/images/preview-closed\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-preview-closed tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/preview-open\":{\"title\":\"$:/core/images/preview-open\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-preview-open tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/print-button\":{\"title\":\"$:/core/images/print-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-print-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/quote\":{\"title\":\"$:/core/images/quote\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-quote tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/refresh-button\":{\"title\":\"$:/core/images/refresh-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-refresh-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/right-arrow\":{\"title\":\"$:/core/images/right-arrow\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-right-arrow tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/rotate-left\":{\"title\":\"$:/core/images/rotate-left\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-rotate-left tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/save-button-dynamic\":{\"title\":\"$:/core/images/save-button-dynamic\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-save-button-dynamic tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\\n\\n\\n\\n\\n\\n\\n\\n\"},\"$:/core/images/save-button\":{\"title\":\"$:/core/images/save-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-save-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/size\":{\"title\":\"$:/core/images/size\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-size tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/spiral\":{\"title\":\"$:/core/images/spiral\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-spiral tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/stamp\":{\"title\":\"$:/core/images/stamp\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-stamp tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/star-filled\":{\"title\":\"$:/core/images/star-filled\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-star-filled tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/storyview-classic\":{\"title\":\"$:/core/images/storyview-classic\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-storyview-classic tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/storyview-pop\":{\"title\":\"$:/core/images/storyview-pop\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-storyview-pop tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/storyview-zoomin\":{\"title\":\"$:/core/images/storyview-zoomin\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-storyview-zoomin tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/strikethrough\":{\"title\":\"$:/core/images/strikethrough\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-strikethrough tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/subscript\":{\"title\":\"$:/core/images/subscript\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-subscript tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/superscript\":{\"title\":\"$:/core/images/superscript\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-superscript tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/tag-button\":{\"title\":\"$:/core/images/tag-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-tag-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/theme-button\":{\"title\":\"$:/core/images/theme-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-theme-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/timestamp-off\":{\"title\":\"$:/core/images/timestamp-off\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-timestamp-off tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/timestamp-on\":{\"title\":\"$:/core/images/timestamp-on\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-timestamp-on tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/tip\":{\"title\":\"$:/core/images/tip\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-tip tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/transcludify\":{\"title\":\"$:/core/images/transcludify\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-transcludify-button tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/twitter\":{\"title\":\"$:/core/images/twitter\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-twitter tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/underline\":{\"title\":\"$:/core/images/underline\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-underline tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/unfold-all-button\":{\"title\":\"$:/core/images/unfold-all-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-unfold-all tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/unfold-button\":{\"title\":\"$:/core/images/unfold-button\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-unfold tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/unlocked-padlock\":{\"title\":\"$:/core/images/unlocked-padlock\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-unlocked-padlock tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/up-arrow\":{\"title\":\"$:/core/images/up-arrow\",\"created\":\"20150316000544368\",\"modified\":\"20150316000831867\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-up-arrow tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/video\":{\"title\":\"$:/core/images/video\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-video tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/core/images/warning\":{\"title\":\"$:/core/images/warning\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-warning tc-image-button\\\" viewBox=\\\"0 0 128 128\\\">\"},\"$:/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=<>/>\"},\"$:/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=<>/>\"},\"$:/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=<>/>\\\"'' 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 <> plugins\"},\"$:/language/ControlPanel/Plugins/SubPluginPrompt\":{\"title\":\"$:/language/ControlPanel/Plugins/SubPluginPrompt\",\"text\":\"With <> 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 <>\"},\"$:/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://.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 <>\"},\"$:/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\":\"<> days from now\"},\"$:/language/RelativeDate/Future/Hours\":{\"title\":\"$:/language/RelativeDate/Future/Hours\",\"text\":\"<> hours from now\"},\"$:/language/RelativeDate/Future/Minutes\":{\"title\":\"$:/language/RelativeDate/Future/Minutes\",\"text\":\"<> minutes from now\"},\"$:/language/RelativeDate/Future/Months\":{\"title\":\"$:/language/RelativeDate/Future/Months\",\"text\":\"<> 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\":\"<> seconds from now\"},\"$:/language/RelativeDate/Future/Years\":{\"title\":\"$:/language/RelativeDate/Future/Years\",\"text\":\"<> years from now\"},\"$:/language/RelativeDate/Past/Days\":{\"title\":\"$:/language/RelativeDate/Past/Days\",\"text\":\"<> days ago\"},\"$:/language/RelativeDate/Past/Hours\":{\"title\":\"$:/language/RelativeDate/Past/Hours\",\"text\":\"<> hours ago\"},\"$:/language/RelativeDate/Past/Minutes\":{\"title\":\"$:/language/RelativeDate/Past/Minutes\",\"text\":\"<> minutes ago\"},\"$:/language/RelativeDate/Past/Months\":{\"title\":\"$:/language/RelativeDate/Past/Months\",\"text\":\"<> 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\":\"<> seconds ago\"},\"$:/language/RelativeDate/Past/Years\":{\"title\":\"$:/language/RelativeDate/Past/Years\",\"text\":\"<> 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\":\"`
\\n\\n|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k\\n| <$link to=\\\"$:/SiteTitle\\\"><>|<$edit-text tiddler=\\\"$:/SiteTitle\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n| <$link to=\\\"$:/SiteSubtitle\\\"><>|<$edit-text tiddler=\\\"$:/SiteSubtitle\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|^ <$link to=\\\"$:/DefaultTiddlers\\\"><>
<>|<$edit tag=\\\"textarea\\\" tiddler=\\\"$:/DefaultTiddlers\\\"/>
//<>// |\\n
\\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 [ ...]\\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 \\n```\\n\\nExamples\\n\\n```\\n--commands \\\"[enlist:raw{$:/build-commands-as-text}]\\\"\\n```\\n\\n```\\n--commands \\\"[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget]\\\"\\n```\\n\"},\"$:/language/Help/default\":{\"title\":\"$:/language/Help/default\",\"text\":\"\\\\define commandTitle()\\n$:/language/Help/$(command)$\\n\\\\end\\n\\\\whitespace trim\\n```\\nusage: tiddlywiki [] [-- [...]...]\\n```\\n\\nAvailable commands:\\n\\n
    \\n<$list filter=\\\"[commands[]sort[title]]\\\" variable=\\\"command\\\">\\n
  • <$link to=<>><$macrocall $name=\\\"command\\\" $type=\\\"text/plain\\\" $output=\\\"text/plain\\\"/>:\\n \\n<$transclude tiddler=<> field=\\\"description\\\"/>
  • \\n\\n
\\n\\nTo get detailed help on a command:\\n\\n```\\ntiddlywiki --help \\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 \\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 \\n--fetch files \\n--fetch raw-file \\n--fetch raw-files \\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 `` parameter specifies a filter determining which tiddlers are imported. It defaults to `[all[tiddlers]]` if not provided.\\n\\nFor all variants, the `` 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 []\\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 [] [<encoding>]\\n```\\n\\nThe deserializers in the core include:\\n\\n* application/javascript\\n* application/json\\n* application/x-tiddler\\n* application/x-tiddler-html-div\\n* application/x-tiddlers\\n* text/html\\n* text/plain\\n\\nThe title of the imported tiddler defaults to the filename.\\n\\nThe encoding defaults to \\\"utf8\\\", but can be \\\"base64\\\" for importing binary files.\\n\\nNote that TiddlyWiki will not import an older version of an already loaded plugin.\\n\"},\"$:/language/Help/init\":{\"title\":\"$:/language/Help/init\",\"description\":\"Initialise a new wiki folder\",\"text\":\"Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\\n\\n```\\n--init <edition> [<edition> ...]\\n```\\n\\nFor example:\\n\\n```\\ntiddlywiki ./MyWikiFolder --init empty\\n```\\n\\nNote:\\n\\n* The wiki folder directory will be created if necessary\\n* The \\\"edition\\\" defaults to ''empty''\\n* The init command will fail if the wiki folder is not empty\\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\\n* `--editions` returns a list of available editions\\n\"},\"$:/language/Help/listen\":{\"title\":\"$:/language/Help/listen\",\"description\":\"Provides an HTTP server interface to TiddlyWiki\",\"text\":\"Serves a wiki over HTTP.\\n\\nThe listen command uses NamedCommandParameters:\\n\\n```\\n--listen [<name>=<value>]...\\n```\\n\\nAll parameters are optional with safe defaults, and can be specified in any order. The recognised parameters are:\\n\\n* ''host'' - optional hostname to serve from (defaults to \\\"127.0.0.1\\\" aka \\\"localhost\\\")\\n* ''path-prefix'' - optional prefix for paths\\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \\\"8080\\\")\\n* ''credentials'' - pathname of credentials CSV file (relative to wiki folder)\\n* ''anon-username'' - the username for signing edits for anonymous users\\n* ''username'' - optional username for basic authentication\\n* ''password'' - optional password for basic authentication\\n* ''authenticated-user-header'' - optional name of request header to be used for trusted authentication.\\n* ''readers'' - comma-separated list of principals allowed to read from this wiki\\n* ''writers'' - comma-separated list of principals allowed to write to this wiki\\n* ''csrf-disable'' - set to \\\"yes\\\" to disable CSRF checks (defaults to \\\"no\\\")\\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \\\"$:/core/save/all\\\")\\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \\\"text/plain\\\")\\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \\\"text/html\\\")\\n* ''tls-cert'' - pathname of TLS certificate file (relative to wiki folder)\\n* ''tls-key'' - pathname of TLS key file (relative to wiki folder)\\n* ''debug-level'' - optional debug level; set to \\\"debug\\\" to view request details (defaults to \\\"none\\\")\\n* ''gzip'' - set to \\\"yes\\\" to enable gzip compression for some http endpoints (defaults to \\\"no\\\")\\n* ''use-browser-cache'' - set to \\\"yes\\\" to allow the browser to cache responses to save bandwidth (defaults to \\\"no\\\")\\n\\nFor information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\\n\\n\"},\"$:/language/Help/load\":{\"title\":\"$:/language/Help/load\",\"description\":\"Load tiddlers from a file\",\"text\":\"Load tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The processing applied to incoming files is determined by the file extension. Use the alternative `import` command if you need to specify the deserializer and encoding explicitly.\\n\\n```\\n--load <filepath> [noerror]\\n--load <dirpath> [noerror]\\n```\\n\\nBy default, the load command raises an error if no tiddlers are found. The error can be suppressed by providing the optional \\\"noerror\\\" parameter.\\n\\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\\n\\n```\\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\\n```\\n\\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\\n\"},\"$:/language/Help/makelibrary\":{\"title\":\"$:/language/Help/makelibrary\",\"description\":\"Construct library plugin required by upgrade process\",\"text\":\"Constructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\\n\\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\\n\\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\\n\\n```\\n--makelibrary <title>\\n```\\n\\nThe title argument defaults to `$:/UpgradeLibrary`.\\n\"},\"$:/language/Help/notfound\":{\"title\":\"$:/language/Help/notfound\",\"text\":\"No such help item\"},\"$:/language/Help/output\":{\"title\":\"$:/language/Help/output\",\"description\":\"Set the base output directory for subsequent commands\",\"text\":\"Sets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\\n\\n```\\n--output <pathname>\\n```\\n\\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\\n\\n\"},\"$:/language/Help/password\":{\"title\":\"$:/language/Help/password\",\"description\":\"Set a password for subsequent crypto operations\",\"text\":\"Set a password for subsequent crypto operations\\n\\n```\\n--password <password>\\n```\\n\\n''Note'': This should not be used for serving TiddlyWiki with password protection. Instead, see the password option under the [[ServerCommand]].\\n\"},\"$:/language/Help/render\":{\"title\":\"$:/language/Help/render\",\"description\":\"Renders individual tiddlers to files\",\"text\":\"Render individual tiddlers identified by a filter and save the results to the specified files.\\n\\nOptionally, the title of a template tiddler can be specified. In this case, instead of directly rendering each tiddler, the template tiddler is rendered with the \\\"currentTiddler\\\" variable set to the title of the tiddler that is being rendered.\\n\\nA name and value for an additional variable may optionally also be specified.\\n\\n```\\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*\\n```\\n\\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be rendered\\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]addsuffix[.html]]`, which uses the unchanged tiddler title as the filename\\n* ''render-type'': Optional render type: `text/html` (the default) returns the full HTML text and `text/plain` just returns the text content (ie it ignores HTML tags and other unprintable material)\\n* ''template'': Optional template through which each tiddler is rendered\\n* ''name'': Name of optional variables\\n* ''value'': Value of optional variables\\n\\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\\n\\nNotes:\\n\\n* The output directory is not cleared of any existing files\\n* Any missing directories in the path to the filename are automatically created.\\n* When referring to a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets: `--render \\\"[[Motovun Jack.jpg]]\\\"`\\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being rendered, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\\n* Multiple ''name''/''value'' pairs can be used to pass more than one variable\\n* The `--render` command is a more flexible replacement for both the `--rendertiddler` and `--rendertiddlers` commands, which are deprecated\\n\\nExamples:\\n\\n* `--render '[!is[system]]' '[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]'` -- renders all non-system tiddlers as files in the subdirectory \\\"tiddlers\\\" with URL-encoded titles and the extension HTML\\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- renders the tiddlers tagged \\\"HelloThere\\\" to a JSON file named \\\"tiddlers.json\\\"\\n\"},\"$:/language/Help/rendertiddler\":{\"title\":\"$:/language/Help/rendertiddler\",\"description\":\"Render an individual tiddler as a specified ContentType\",\"text\":\"(Note: The `--rendertiddler` command is deprecated in favour of the new, more flexible `--render` command)\\n\\nRender an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename.\\n\\nOptionally the title of a template tiddler can be specified, in which case the template tiddler is rendered with the \\\"currentTiddler\\\" variable set to the tiddler that is being rendered (the first parameter value).\\n\\nA name and value for an additional variable may optionally also be specified.\\n\\n```\\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\\n```\\n\\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\\n\\nAny missing directories in the path to the filename are automatically created.\\n\\nFor example, the following command saves all tiddlers matching the filter `[tag[done]]` to a JSON file titled `output.json` by employing the core template `$:/core/templates/exporters/JsonFile`.\\n\\n```\\n--rendertiddler \\\"$:/core/templates/exporters/JsonFile\\\" output.json text/plain \\\"\\\" exportFilter \\\"[tag[done]]\\\"\\n```\\n\"},\"$:/language/Help/rendertiddlers\":{\"title\":\"$:/language/Help/rendertiddlers\",\"description\":\"Render tiddlers matching a filter to a specified ContentType\",\"text\":\"(Note: The `--rendertiddlers` command is deprecated in favour of the new, more flexible `--render` command)\\n\\nRender a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\\n\\n```\\n--rendertiddlers '<filter>' <template> <pathname> [<type>] [<extension>] [\\\"noclean\\\"]\\n```\\n\\nFor example:\\n\\n```\\n--rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain\\n```\\n\\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\\n\\nAny files in the target directory are deleted unless the ''noclean'' flag is specified. The target directory is recursively created if it is missing.\\n\"},\"$:/language/Help/save\":{\"title\":\"$:/language/Help/save\",\"description\":\"Saves individual raw tiddlers to files\",\"text\":\"Saves individual tiddlers identified by a filter in their raw text or binary format to the specified files.\\n\\n```\\n--save <tiddler-filter> <filename-filter>\\n```\\n\\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be saved\\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]]`, which uses the unchanged tiddler title as the filename\\n\\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\\n\\nNotes:\\n\\n* The output directory is not cleared of any existing files\\n* Any missing directories in the path to the filename are automatically created.\\n* When saving a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets: `--save \\\"[[Motovun Jack.jpg]]\\\"`\\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being saved, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\\n* The `--save` command is a more flexible replacement for both the `--savetiddler` and `--savetiddlers` commands, which are deprecated\\n\\nExamples:\\n\\n* `--save \\\"[!is[system]is[image]]\\\" \\\"[encodeuricomponent[]addprefix[tiddlers/]]\\\"` -- saves all non-system image tiddlers as files in the subdirectory \\\"tiddlers\\\" with URL-encoded titles\\n\"},\"$:/language/Help/savetiddler\":{\"title\":\"$:/language/Help/savetiddler\",\"description\":\"Saves a raw tiddler to a file\",\"text\":\"(Note: The `--savetiddler` command is deprecated in favour of the new, more flexible `--save` command)\\n\\nSaves an individual tiddler in its raw text or binary format to the specified filename.\\n\\n```\\n--savetiddler <title> <filename>\\n```\\n\\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\\n\\nAny missing directories in the path to the filename are automatically created.\\n\"},\"$:/language/Help/savetiddlers\":{\"title\":\"$:/language/Help/savetiddlers\",\"description\":\"Saves a group of raw tiddlers to a directory\",\"text\":\"(Note: The `--savetiddlers` command is deprecated in favour of the new, more flexible `--save` command)\\n\\nSaves a group of tiddlers in their raw text or binary format to the specified directory.\\n\\n```\\n--savetiddlers <filter> <pathname> [\\\"noclean\\\"]\\n```\\n\\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\\n\\nThe output directory is cleared of existing files before saving the specified files. The deletion can be disabled by specifying the ''noclean'' flag.\\n\\nAny missing directories in the pathname are automatically created.\\n\"},\"$:/language/Help/savewikifolder\":{\"title\":\"$:/language/Help/savewikifolder\",\"description\":\"Saves a wiki to a new wiki folder\",\"text\":\"<<.from-version \\\"5.1.20\\\">> Saves the current wiki as a wiki folder, including tiddlers, plugins and configuration:\\n\\n```\\n--savewikifolder <wikifolderpath> [<filter>] [ [<name>=<value>] ]*\\n```\\n\\n* The target wiki folder must be empty or non-existent\\n* The filter specifies which tiddlers should be included. It is optional, defaulting to `[all[tiddlers]]`\\n* Plugins from the official plugin library are replaced with references to those plugins in the `tiddlywiki.info` file\\n* Custom plugins are unpacked into their own folder\\n\\nThe following options are supported:\\n\\n* ''filter'': a filter expression that defines the tiddlers to include in the output.\\n* ''explodePlugins'': defaults to \\\"yes\\\"\\n** ''yes'' will \\\"explode\\\" plugins into separate tiddler files and save them to the plugin directory within the wiki folder\\n** ''no'' will suppress exploding plugins into their constituent tiddler files. It will save the plugin as a single JSON tiddler in the tiddlers folder\\n\\nNote that both ''explodePlugins'' options will produce wiki folders that build the exact same original wiki. The difference lies in how plugins are represented in the wiki folder.\\n\\nA common usage is to convert a TiddlyWiki HTML file into a wiki folder:\\n\\n```\\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\\n```\\n\\nSave the plugin to the tiddlers directory of the target wiki folder:\\n\\n```\\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder explodePlugins=no\\n```\\n\"},\"$:/language/Help/server\":{\"title\":\"$:/language/Help/server\",\"description\":\"(deprecated: see 'listen' command) Provides an HTTP server interface to TiddlyWiki\",\"text\":\"Legacy command to serve a wiki over HTTP.\\n\\n```\\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\\n```\\n\\nThe parameters are:\\n\\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \\\"8080\\\")\\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \\\"$:/core/save/all\\\")\\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \\\"text/plain\\\")\\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \\\"text/html\\\")\\n* ''username'' - the default username for signing edits\\n* ''password'' - optional password for basic authentication\\n* ''host'' - optional hostname to serve from (defaults to \\\"127.0.0.1\\\" aka \\\"localhost\\\")\\n* ''path-prefix'' - optional prefix for paths\\n* ''debug-level'' - optional debug level; set to \\\"debug\\\" to view request details (defaults to \\\"none\\\")\\n\\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation should only be used on a trusted network or over HTTPS.\\n\\nFor example:\\n\\n```\\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\\n```\\n\\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password.\\n\\n\\n```\\n--server 8080 $:/core/save/all text/plain text/html \\\"\\\" \\\"\\\" 192.168.0.245\\n```\\n\\nUsing an address like this exposes your system to the local network. For information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\\n\\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port. It can be useful to use an environment variable to pass the port number to the Node.js process. This example references an environment variable called \\\"MY_PORT_NUMBER\\\":\\n\\n```\\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\\n```\\n\"},\"$:/language/Help/setfield\":{\"title\":\"$:/language/Help/setfield\",\"description\":\"Prepares external tiddlers for use\",\"text\":\"//Note that this command is experimental and may change or be replaced before being finalised//\\n\\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\\n\\n```\\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\\n```\\n\\nThe parameters are:\\n\\n* ''filter'' - filter identifying the tiddlers to be affected\\n* ''fieldname'' - the field to modify (defaults to \\\"text\\\")\\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\\n* ''rendertype'' - the text type to render (defaults to \\\"text/plain\\\"; \\\"text/html\\\" can be used to include HTML tags)\\n\"},\"$:/language/Help/unpackplugin\":{\"title\":\"$:/language/Help/unpackplugin\",\"description\":\"Unpack the payload tiddlers from a plugin\",\"text\":\"Extract the payload tiddlers from a plugin, creating them as ordinary tiddlers:\\n\\n```\\n--unpackplugin <title>\\n```\\n\"},\"$:/language/Help/verbose\":{\"title\":\"$:/language/Help/verbose\",\"description\":\"Triggers verbose output mode\",\"text\":\"Triggers verbose output, useful for debugging\\n\\n```\\n--verbose\\n```\\n\"},\"$:/language/Help/version\":{\"title\":\"$:/language/Help/version\",\"description\":\"Displays the version number of TiddlyWiki\",\"text\":\"Displays the version number of TiddlyWiki.\\n\\n```\\n--version\\n```\\n\"},\"$:/language/Import/Editor/Import/Heading\":{\"title\":\"$:/language/Import/Editor/Import/Heading\",\"text\":\"Import images and insert them into the editor.\"},\"$:/language/Import/Imported/Hint\":{\"title\":\"$:/language/Import/Imported/Hint\",\"text\":\"The following tiddlers were imported:\"},\"$:/language/Import/Listing/Cancel/Caption\":{\"title\":\"$:/language/Import/Listing/Cancel/Caption\",\"text\":\"Cancel\"},\"$:/language/Import/Listing/Cancel/Warning\":{\"title\":\"$:/language/Import/Listing/Cancel/Warning\",\"text\":\"Do you wish to cancel the import?\"},\"$:/language/Import/Listing/Hint\":{\"title\":\"$:/language/Import/Listing/Hint\",\"text\":\"These tiddlers are ready to import:\"},\"$:/language/Import/Listing/Import/Caption\":{\"title\":\"$:/language/Import/Listing/Import/Caption\",\"text\":\"Import\"},\"$:/language/Import/Listing/Select/Caption\":{\"title\":\"$:/language/Import/Listing/Select/Caption\",\"text\":\"Select\"},\"$:/language/Import/Listing/Status/Caption\":{\"title\":\"$:/language/Import/Listing/Status/Caption\",\"text\":\"Status\"},\"$:/language/Import/Listing/Title/Caption\":{\"title\":\"$:/language/Import/Listing/Title/Caption\",\"text\":\"Title\"},\"$:/language/Import/Listing/Preview\":{\"title\":\"$:/language/Import/Listing/Preview\",\"text\":\"Preview:\"},\"$:/language/Import/Listing/Preview/Text\":{\"title\":\"$:/language/Import/Listing/Preview/Text\",\"text\":\"Text\"},\"$:/language/Import/Listing/Preview/TextRaw\":{\"title\":\"$:/language/Import/Listing/Preview/TextRaw\",\"text\":\"Text (Raw)\"},\"$:/language/Import/Listing/Preview/Fields\":{\"title\":\"$:/language/Import/Listing/Preview/Fields\",\"text\":\"Fields\"},\"$:/language/Import/Listing/Preview/Diff\":{\"title\":\"$:/language/Import/Listing/Preview/Diff\",\"text\":\"Diff\"},\"$:/language/Import/Listing/Preview/DiffFields\":{\"title\":\"$:/language/Import/Listing/Preview/DiffFields\",\"text\":\"Diff (Fields)\"},\"$:/language/Import/Listing/Rename/Tooltip\":{\"title\":\"$:/language/Import/Listing/Rename/Tooltip\",\"text\":\"Rename tiddler before importing\"},\"$:/language/Import/Listing/Rename/Prompt\":{\"title\":\"$:/language/Import/Listing/Rename/Prompt\",\"text\":\"Rename to:\"},\"$:/language/Import/Listing/Rename/ConfirmRename\":{\"title\":\"$:/language/Import/Listing/Rename/ConfirmRename\",\"text\":\"Rename tiddler\"},\"$:/language/Import/Listing/Rename/CancelRename\":{\"title\":\"$:/language/Import/Listing/Rename/CancelRename\",\"text\":\"Cancel\"},\"$:/language/Import/Listing/Rename/OverwriteWarning\":{\"title\":\"$:/language/Import/Listing/Rename/OverwriteWarning\",\"text\":\"A tiddler with this title already exists.\"},\"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible\":{\"title\":\"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible\",\"text\":\"Blocked incompatible or obsolete plugin.\"},\"$:/language/Import/Upgrader/Plugins/Suppressed/Version\":{\"title\":\"$:/language/Import/Upgrader/Plugins/Suppressed/Version\",\"text\":\"Blocked plugin (due to incoming <<incoming>> not being newer than existing <<existing>>).\"},\"$:/language/Import/Upgrader/Plugins/Upgraded\":{\"title\":\"$:/language/Import/Upgrader/Plugins/Upgraded\",\"text\":\"Upgraded plugin from <<incoming>> to <<upgraded>>.\"},\"$:/language/Import/Upgrader/State/Suppressed\":{\"title\":\"$:/language/Import/Upgrader/State/Suppressed\",\"text\":\"Blocked temporary state tiddler.\"},\"$:/language/Import/Upgrader/System/Disabled\":{\"title\":\"$:/language/Import/Upgrader/System/Disabled\",\"text\":\"Disabled system tiddler.\"},\"$:/language/Import/Upgrader/System/Suppressed\":{\"title\":\"$:/language/Import/Upgrader/System/Suppressed\",\"text\":\"Blocked system tiddler.\"},\"$:/language/Import/Upgrader/System/Warning\":{\"title\":\"$:/language/Import/Upgrader/System/Warning\",\"text\":\"Core module tiddler.\"},\"$:/language/Import/Upgrader/System/Alert\":{\"title\":\"$:/language/Import/Upgrader/System/Alert\",\"text\":\"You are about to import a tiddler that will overwrite a core module tiddler. This is not recommended as it may make the system unstable.\"},\"$:/language/Import/Upgrader/ThemeTweaks/Created\":{\"title\":\"$:/language/Import/Upgrader/ThemeTweaks/Created\",\"text\":\"Migrated theme tweak from <$text text=<<from>>/>.\"},\"$:/language/Import/Upgrader/Tiddler/Disabled\":{\"title\":\"$:/language/Import/Upgrader/Tiddler/Disabled\",\"text\":\"Disabled tiddler.\"},\"$:/language/Import/Upgrader/Tiddler/Selected\":{\"title\":\"$:/language/Import/Upgrader/Tiddler/Selected\",\"text\":\"Selected tiddler.\"},\"$:/language/Import/Upgrader/Tiddler/Unselected\":{\"title\":\"$:/language/Import/Upgrader/Tiddler/Unselected\",\"text\":\"Unselected tiddler.\"},\"$:/language/AboveStory/ClassicPlugin/Warning\":{\"title\":\"$:/language/AboveStory/ClassicPlugin/Warning\",\"text\":\"It looks like you are trying to load a plugin designed for ~TiddlyWiki Classic. Please note that [[these plugins do not work with TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins detected:\"},\"$:/language/BinaryWarning/Prompt\":{\"title\":\"$:/language/BinaryWarning/Prompt\",\"text\":\"This tiddler contains binary data\"},\"$:/language/ClassicWarning/Hint\":{\"title\":\"$:/language/ClassicWarning/Hint\",\"text\":\"This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See https://tiddlywiki.com/static/Upgrading.html for more details.\"},\"$:/language/ClassicWarning/Upgrade/Caption\":{\"title\":\"$:/language/ClassicWarning/Upgrade/Caption\",\"text\":\"upgrade\"},\"$:/language/CloseAll/Button\":{\"title\":\"$:/language/CloseAll/Button\",\"text\":\"close all\"},\"$:/language/ColourPicker/Recent\":{\"title\":\"$:/language/ColourPicker/Recent\",\"text\":\"Recent:\"},\"$:/language/ConfirmCancelTiddler\":{\"title\":\"$:/language/ConfirmCancelTiddler\",\"text\":\"Do you wish to discard changes to the tiddler \\\"<$text text=<<title>>/>\\\"?\"},\"$:/language/ConfirmDeleteTiddler\":{\"title\":\"$:/language/ConfirmDeleteTiddler\",\"text\":\"Do you wish to delete the tiddler \\\"<$text text=<<title>>/>\\\"?\"},\"$:/language/ConfirmDeleteTiddlers\":{\"title\":\"$:/language/ConfirmDeleteTiddlers\",\"text\":\"Are you sure you wish to delete <<resultCount>> tiddler(s)?\"},\"$:/language/ConfirmOverwriteTiddler\":{\"title\":\"$:/language/ConfirmOverwriteTiddler\",\"text\":\"Do you wish to overwrite the tiddler \\\"<$text text=<<title>>/>\\\"?\"},\"$:/language/ConfirmEditShadowTiddler\":{\"title\":\"$:/language/ConfirmEditShadowTiddler\",\"text\":\"You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \\\"<$text text=<<title>>/>\\\"?\"},\"$:/language/ConfirmAction\":{\"title\":\"$:/language/ConfirmAction\",\"text\":\"Do you wish to proceed?\"},\"$:/language/Count\":{\"title\":\"$:/language/Count\",\"text\":\"count\"},\"$:/language/DefaultNewTiddlerTitle\":{\"title\":\"$:/language/DefaultNewTiddlerTitle\",\"text\":\"New Tiddler\"},\"$:/language/Diffs/CountMessage\":{\"title\":\"$:/language/Diffs/CountMessage\",\"text\":\"<<diff-count>> differences\"},\"$:/language/DropMessage\":{\"title\":\"$:/language/DropMessage\",\"text\":\"Drop now (or use the 'Escape' key to cancel)\"},\"$:/language/Encryption/Cancel\":{\"title\":\"$:/language/Encryption/Cancel\",\"text\":\"Cancel\"},\"$:/language/Encryption/ConfirmClearPassword\":{\"title\":\"$:/language/Encryption/ConfirmClearPassword\",\"text\":\"Do you wish to clear the password? This will remove the encryption applied when saving this wiki\"},\"$:/language/Encryption/PromptSetPassword\":{\"title\":\"$:/language/Encryption/PromptSetPassword\",\"text\":\"Set a new password for this TiddlyWiki\"},\"$:/language/Encryption/Username\":{\"title\":\"$:/language/Encryption/Username\",\"text\":\"Username\"},\"$:/language/Encryption/Password\":{\"title\":\"$:/language/Encryption/Password\",\"text\":\"Password\"},\"$:/language/Encryption/RepeatPassword\":{\"title\":\"$:/language/Encryption/RepeatPassword\",\"text\":\"Repeat password\"},\"$:/language/Encryption/PasswordNoMatch\":{\"title\":\"$:/language/Encryption/PasswordNoMatch\",\"text\":\"Passwords do not match\"},\"$:/language/Encryption/SetPassword\":{\"title\":\"$:/language/Encryption/SetPassword\",\"text\":\"Set password\"},\"$:/language/Error/Caption\":{\"title\":\"$:/language/Error/Caption\",\"text\":\"Error\"},\"$:/language/Error/DeserializeOperator/MissingOperand\":{\"title\":\"$:/language/Error/DeserializeOperator/MissingOperand\",\"text\":\"Filter Error: Missing operand for 'deserialize' operator\"},\"$:/language/Error/DeserializeOperator/UnknownDeserializer\":{\"title\":\"$:/language/Error/DeserializeOperator/UnknownDeserializer\",\"text\":\"Filter Error: Unknown deserializer provided as operand for the 'deserialize' operator\"},\"$:/language/Error/Filter\":{\"title\":\"$:/language/Error/Filter\",\"text\":\"Filter error\"},\"$:/language/Error/FilterSyntax\":{\"title\":\"$:/language/Error/FilterSyntax\",\"text\":\"Syntax error in filter expression\"},\"$:/language/Error/FilterRunPrefix\":{\"title\":\"$:/language/Error/FilterRunPrefix\",\"text\":\"Filter Error: Unknown prefix for filter run\"},\"$:/language/Error/IsFilterOperator\":{\"title\":\"$:/language/Error/IsFilterOperator\",\"text\":\"Filter Error: Unknown 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\":\"SVG image\",\"name\":\"image/svg+xml\",\"group\":\"Image\",\"group-sort\":\"1\"},\"$:/language/Docs/Types/image/x-icon\":{\"title\":\"$:/language/Docs/Types/image/x-icon\",\"description\":\"ICO icon\",\"name\":\"image/x-icon\",\"group\":\"Image\",\"group-sort\":\"1\"},\"$:/language/Docs/Types/text/css\":{\"title\":\"$:/language/Docs/Types/text/css\",\"description\":\"Static stylesheet\",\"name\":\"text/css\",\"group\":\"Developer\",\"group-sort\":\"2\"},\"$:/language/Docs/Types/text/html\":{\"title\":\"$:/language/Docs/Types/text/html\",\"description\":\"HTML markup\",\"name\":\"text/html\",\"group\":\"Text\",\"group-sort\":\"0\"},\"$:/language/Docs/Types/text/plain\":{\"title\":\"$:/language/Docs/Types/text/plain\",\"description\":\"Plain text\",\"name\":\"text/plain\",\"group\":\"Text\",\"group-sort\":\"0\"},\"$:/language/Docs/Types/text/vnd.tiddlywiki\":{\"title\":\"$:/language/Docs/Types/text/vnd.tiddlywiki\",\"description\":\"TiddlyWiki 5\",\"name\":\"text/vnd.tiddlywiki\",\"group\":\"Text\",\"group-sort\":\"0\"},\"$:/language/Docs/Types/text/x-tiddlywiki\":{\"title\":\"$:/language/Docs/Types/text/x-tiddlywiki\",\"description\":\"TiddlyWiki Classic\",\"name\":\"text/x-tiddlywiki\",\"group\":\"Text\",\"group-sort\":\"0\"},\"$:/languages/en-GB/icon\":{\"title\":\"$:/languages/en-GB/icon\",\"type\":\"image/svg+xml\",\"text\":\"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 60 30\\\" width=\\\"1200\\\" height=\\\"600\\\">\\n<clipPath id=\\\"t\\\">\\n\\t<path d=\\\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\\\"/>\\n</clipPath>\\n<path d=\\\"M0,0 v30 h60 v-30 z\\\" fill=\\\"#00247d\\\"/>\\n<path d=\\\"M0,0 L60,30 M60,0 L0,30\\\" stroke=\\\"#fff\\\" stroke-width=\\\"6\\\"/>\\n<path d=\\\"M0,0 L60,30 M60,0 L0,30\\\" clip-path=\\\"url(#t)\\\" stroke=\\\"#cf142b\\\" stroke-width=\\\"4\\\"/>\\n<path d=\\\"M30,0 v30 M0,15 h60\\\" stroke=\\\"#fff\\\" stroke-width=\\\"10\\\"/>\\n<path d=\\\"M30,0 v30 M0,15 h60\\\" stroke=\\\"#cf142b\\\" stroke-width=\\\"6\\\"/>\\n</svg>\\n\"},\"$:/languages/en-GB\":{\"title\":\"$:/languages/en-GB\",\"name\":\"en-GB\",\"description\":\"English (British)\",\"author\":\"JeremyRuston\",\"core-version\":\">=5.0.0\\\"\",\"text\":\"Stub pseudo-plugin for the default language\"},\"$:/core/modules/commander.js\":{\"title\":\"$:/core/modules/commander.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commander.js\\ntype: application/javascript\\nmodule-type: global\\n\\nThe $tw.Commander class is a command interpreter\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nParse a sequence of commands\\n\\tcommandTokens: an array of command string tokens\\n\\twiki: reference to the wiki store object\\n\\tstreams: {output:, error:}, each of which has a write(string) method\\n\\tcallback: a callback invoked as callback(err) where err is null if there was no error\\n*/\\nvar Commander = function(commandTokens,callback,wiki,streams) {\\n\\tvar path = require(\\\"path\\\");\\n\\tthis.commandTokens = commandTokens;\\n\\tthis.nextToken = 0;\\n\\tthis.callback = callback;\\n\\tthis.wiki = wiki;\\n\\tthis.streams = streams;\\n\\tthis.outputPath = path.resolve($tw.boot.wikiPath,$tw.config.wikiOutputSubDir);\\n};\\n\\n/*\\nLog a string if verbose flag is set\\n*/\\nCommander.prototype.log = function(str) {\\n\\tif(this.verbose) {\\n\\t\\tthis.streams.output.write(str + \\\"\\\\n\\\");\\n\\t}\\n};\\n\\n/*\\nWrite a string if verbose flag is set\\n*/\\nCommander.prototype.write = function(str) {\\n\\tif(this.verbose) {\\n\\t\\tthis.streams.output.write(str);\\n\\t}\\n};\\n\\n/*\\nAdd a string of tokens to the command queue\\n*/\\nCommander.prototype.addCommandTokens = function(commandTokens) {\\n\\tvar params = commandTokens.slice(0);\\n\\tparams.unshift(0);\\n\\tparams.unshift(this.nextToken);\\n\\tArray.prototype.splice.apply(this.commandTokens,params);\\n};\\n\\n/*\\nExecute the sequence of commands and invoke a callback on completion\\n*/\\nCommander.prototype.execute = function() {\\n\\tthis.executeNextCommand();\\n};\\n\\n/*\\nExecute the next command in the sequence\\n*/\\nCommander.prototype.executeNextCommand = function() {\\n\\tvar self = this;\\n\\t// Invoke the callback if there are no more commands\\n\\tif(this.nextToken >= this.commandTokens.length) {\\n\\t\\tthis.callback(null);\\n\\t} else {\\n\\t\\t// Get and check the command token\\n\\t\\tvar commandName = this.commandTokens[this.nextToken++];\\n\\t\\tif(commandName.substr(0,2) !== \\\"--\\\") {\\n\\t\\t\\tthis.callback(\\\"Missing command: \\\" + commandName);\\n\\t\\t} else {\\n\\t\\t\\tcommandName = commandName.substr(2); // Trim off the --\\n\\t\\t\\t// Accumulate the parameters to the command\\n\\t\\t\\tvar params = [];\\n\\t\\t\\twhile(this.nextToken < this.commandTokens.length && \\n\\t\\t\\t\\tthis.commandTokens[this.nextToken].substr(0,2) !== \\\"--\\\") {\\n\\t\\t\\t\\tparams.push(this.commandTokens[this.nextToken++]);\\n\\t\\t\\t}\\n\\t\\t\\t// Get the command info\\n\\t\\t\\tvar command = $tw.commands[commandName],\\n\\t\\t\\t\\tc,err;\\n\\t\\t\\tif(!command) {\\n\\t\\t\\t\\tthis.callback(\\\"Unknown command: \\\" + commandName);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tif(this.verbose) {\\n\\t\\t\\t\\t\\tthis.streams.output.write(\\\"Executing command: \\\" + commandName + \\\" \\\" + params.join(\\\" \\\") + \\\"\\\\n\\\");\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// Parse named parameters if required\\n\\t\\t\\t\\tif(command.info.namedParameterMode) {\\n\\t\\t\\t\\t\\tparams = this.extractNamedParameters(params,command.info.mandatoryParameters);\\n\\t\\t\\t\\t\\tif(typeof params === \\\"string\\\") {\\n\\t\\t\\t\\t\\t\\treturn this.callback(params);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif(command.info.synchronous) {\\n\\t\\t\\t\\t\\t// Synchronous command\\n\\t\\t\\t\\t\\tc = new command.Command(params,this);\\n\\t\\t\\t\\t\\terr = c.execute();\\n\\t\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\t\\tthis.callback(err);\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tthis.executeNextCommand();\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t// Asynchronous command\\n\\t\\t\\t\\t\\tc = new command.Command(params,this,function(err) {\\n\\t\\t\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\t\\t\\tself.callback(err);\\n\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\tself.executeNextCommand();\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\terr = c.execute();\\n\\t\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\t\\tthis.callback(err);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nGiven an array of parameter strings `params` in name:value format, and an array of mandatory parameter names in `mandatoryParameters`, returns a hashmap of values or a string if error\\n*/\\nCommander.prototype.extractNamedParameters = function(params,mandatoryParameters) {\\n\\tmandatoryParameters = mandatoryParameters || [];\\n\\tvar errors = [],\\n\\t\\tparamsByName = Object.create(null);\\n\\t// Extract the parameters\\n\\t$tw.utils.each(params,function(param) {\\n\\t\\tvar index = param.indexOf(\\\"=\\\");\\n\\t\\tif(index < 1) {\\n\\t\\t\\terrors.push(\\\"malformed named parameter: '\\\" + param + \\\"'\\\");\\n\\t\\t}\\n\\t\\tparamsByName[param.slice(0,index)] = $tw.utils.trim(param.slice(index+1));\\n\\t});\\n\\t// Check the mandatory parameters are present\\n\\t$tw.utils.each(mandatoryParameters,function(mandatoryParameter) {\\n\\t\\tif(!$tw.utils.hop(paramsByName,mandatoryParameter)) {\\n\\t\\t\\terrors.push(\\\"missing mandatory parameter: '\\\" + mandatoryParameter + \\\"'\\\");\\n\\t\\t}\\n\\t});\\n\\t// Return any errors\\n\\tif(errors.length > 0) {\\n\\t\\treturn errors.join(\\\" and\\\\n\\\");\\n\\t} else {\\n\\t\\treturn paramsByName;\\n\\t}\\n};\\n\\nCommander.initCommands = function(moduleType) {\\n\\tmoduleType = moduleType || \\\"command\\\";\\n\\t$tw.commands = {};\\n\\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\\n\\t\\tvar c = $tw.commands[module.info.name] = {};\\n\\t\\t// Add the methods defined by the module\\n\\t\\tfor(var f in module) {\\n\\t\\t\\tif($tw.utils.hop(module,f)) {\\n\\t\\t\\t\\tc[f] = module[f];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n};\\n\\nexports.Commander = Commander;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"global\"},\"$:/core/modules/commands/build.js\":{\"title\":\"$:/core/modules/commands/build.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/build.js\\ntype: application/javascript\\nmodule-type: command\\n\\nCommand to build a build target\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.info = {\\n\\tname: \\\"build\\\",\\n\\tsynchronous: true\\n};\\n\\nvar Command = function(params,commander) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\t// Get the build targets defined in the wiki\\n\\tvar buildTargets = $tw.boot.wikiInfo.build;\\n\\tif(!buildTargets) {\\n\\t\\treturn \\\"No build targets defined\\\";\\n\\t}\\n\\t// Loop through each of the specified targets\\n\\tvar targets;\\n\\tif(this.params.length > 0) {\\n\\t\\ttargets = this.params;\\n\\t} else {\\n\\t\\ttargets = Object.keys(buildTargets);\\n\\t}\\n\\tfor(var targetIndex=0; targetIndex<targets.length; targetIndex++) {\\n\\t\\tvar target = targets[targetIndex],\\n\\t\\t\\tcommands = buildTargets[target];\\n\\t\\tif(!commands) {\\n\\t\\t\\treturn \\\"Build target '\\\" + target + \\\"' not found\\\";\\n\\t\\t}\\n\\t\\t// Add the commands to the queue\\n\\t\\tthis.commander.addCommandTokens(commands);\\n\\t}\\n\\treturn null;\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/clearpassword.js\":{\"title\":\"$:/core/modules/commands/clearpassword.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/clearpassword.js\\ntype: application/javascript\\nmodule-type: command\\n\\nClear password for crypto operations\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.info = {\\n\\tname: \\\"clearpassword\\\",\\n\\tsynchronous: true\\n};\\n\\nvar Command = function(params,commander,callback) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n\\tthis.callback = callback;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\t$tw.crypto.setPassword(null);\\n\\treturn null;\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/commands.js\":{\"title\":\"$:/core/modules/commands/commands.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/commands.js\\ntype: application/javascript\\nmodule-type: command\\n\\nRuns the commands returned from a filter\\n\\n\\\\*/\\n\\n(function() {\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.info = {\\n\\tname: \\\"commands\\\",\\n\\tsynchronous: true\\n};\\n\\nvar Command = function(params, commander) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\t// Parse the filter\\n\\tvar filter = this.params[0];\\n\\tif(!filter) {\\n\\t\\treturn \\\"No filter specified\\\";\\n\\t}\\n\\tvar commands = this.commander.wiki.filterTiddlers(filter)\\n\\tif(commands.length === 0) {\\n\\t\\treturn \\\"No tiddlers found for filter '\\\" + filter + \\\"'\\\";\\n\\t}\\n\\tthis.commander.addCommandTokens(commands);\\n\\treturn null;\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/deletetiddlers.js\":{\"title\":\"$:/core/modules/commands/deletetiddlers.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/deletetiddlers.js\\ntype: application/javascript\\nmodule-type: command\\n\\nCommand to delete tiddlers\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.info = {\\n\\tname: \\\"deletetiddlers\\\",\\n\\tsynchronous: true\\n};\\n\\nvar Command = function(params,commander,callback) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n\\tthis.callback = callback;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\tif(this.params.length < 1) {\\n\\t\\treturn \\\"Missing filter\\\";\\n\\t}\\n\\tvar self = this,\\n\\t\\twiki = this.commander.wiki,\\n\\t\\tfilter = this.params[0],\\n\\t\\ttiddlers = wiki.filterTiddlers(filter);\\n\\t$tw.utils.each(tiddlers,function(title) {\\n\\t\\twiki.deleteTiddler(title);\\n\\t});\\n\\treturn null;\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/editions.js\":{\"title\":\"$:/core/modules/commands/editions.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/editions.js\\ntype: application/javascript\\nmodule-type: command\\n\\nCommand to list the available editions\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.info = {\\n\\tname: \\\"editions\\\",\\n\\tsynchronous: true\\n};\\n\\nvar Command = function(params,commander) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\tvar self = this;\\n\\t// Output the list\\n\\tthis.commander.streams.output.write(\\\"Available editions:\\\\n\\\\n\\\");\\n\\tvar editionInfo = $tw.utils.getEditionInfo();\\n\\t$tw.utils.each(editionInfo,function(info,name) {\\n\\t\\tself.commander.streams.output.write(\\\" \\\" + name + \\\": \\\" + info.description + \\\"\\\\n\\\");\\n\\t});\\n\\tthis.commander.streams.output.write(\\\"\\\\n\\\");\\n\\treturn null;\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/fetch.js\":{\"title\":\"$:/core/modules/commands/fetch.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/fetch.js\\ntype: application/javascript\\nmodule-type: command\\n\\nCommands to fetch external tiddlers\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.info = {\\n\\tname: \\\"fetch\\\",\\n\\tsynchronous: false\\n};\\n\\nvar Command = function(params,commander,callback) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n\\tthis.callback = callback;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\tif(this.params.length < 2) {\\n\\t\\treturn \\\"Missing subcommand and url\\\";\\n\\t}\\n\\tswitch(this.params[0]) {\\n\\t\\tcase \\\"raw-file\\\":\\n\\t\\t\\treturn this.fetchFiles({\\n\\t\\t\\t\\traw: true,\\n\\t\\t\\t\\turl: this.params[1],\\n\\t\\t\\t\\ttransformFilter: this.params[2] || \\\"\\\",\\n\\t\\t\\t\\tcallback: this.callback\\n\\t\\t\\t});\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"file\\\":\\n\\t\\t\\treturn this.fetchFiles({\\n\\t\\t\\t\\turl: this.params[1],\\n\\t\\t\\t\\timportFilter: this.params[2],\\n\\t\\t\\t\\ttransformFilter: this.params[3] || \\\"\\\",\\n\\t\\t\\t\\tcallback: this.callback\\n\\t\\t\\t});\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"raw-files\\\":\\n\\t\\t\\treturn this.fetchFiles({\\n\\t\\t\\t\\traw: true,\\n\\t\\t\\t\\turlFilter: this.params[1],\\n\\t\\t\\t\\ttransformFilter: this.params[2] || \\\"\\\",\\n\\t\\t\\t\\tcallback: this.callback\\n\\t\\t\\t});\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"files\\\":\\n\\t\\t\\treturn this.fetchFiles({\\n\\t\\t\\t\\turlFilter: this.params[1],\\n\\t\\t\\t\\timportFilter: this.params[2],\\n\\t\\t\\t\\ttransformFilter: this.params[3] || \\\"\\\",\\n\\t\\t\\t\\tcallback: this.callback\\n\\t\\t\\t});\\n\\t\\t\\tbreak;\\n\\t}\\n\\treturn null;\\n};\\n\\nCommand.prototype.fetchFiles = function(options) {\\n\\tvar self = this;\\n\\t// Get the list of URLs\\n\\tvar urls;\\n\\tif(options.url) {\\n\\t\\turls = [options.url]\\n\\t} else if(options.urlFilter) {\\n\\t\\turls = this.commander.wiki.filterTiddlers(options.urlFilter);\\n\\t} else {\\n\\t\\treturn \\\"Missing URL\\\";\\n\\t}\\n\\t// Process each URL in turn\\n\\tvar next = 0;\\n\\tvar getNextFile = function(err) {\\n\\t\\tif(err) {\\n\\t\\t\\treturn options.callback(err);\\n\\t\\t}\\n\\t\\tif(next < urls.length) {\\n\\t\\t\\tself.fetchFile(urls[next++],options,getNextFile);\\n\\t\\t} else {\\n\\t\\t\\toptions.callback(null);\\n\\t\\t}\\n\\t};\\n\\tgetNextFile(null);\\n\\t// Success\\n\\treturn null;\\n};\\n\\nCommand.prototype.fetchFile = function(url,options,callback,redirectCount) {\\n\\tif(redirectCount > 10) {\\n\\t\\treturn callback(\\\"Error too many redirects retrieving \\\" + url);\\n\\t}\\n\\tvar self = this,\\n\\t\\tlib = url.substr(0,8) === \\\"https://\\\" ? require(\\\"https\\\") : require(\\\"http\\\");\\n\\tlib.get(url).on(\\\"response\\\",function(response) {\\n\\t var type = (response.headers[\\\"content-type\\\"] || \\\"\\\").split(\\\";\\\")[0],\\n\\t \\tdata = [];\\n\\t self.commander.write(\\\"Reading \\\" + url + \\\": \\\");\\n\\t response.on(\\\"data\\\",function(chunk) {\\n\\t data.push(chunk);\\n\\t self.commander.write(\\\".\\\");\\n\\t });\\n\\t response.on(\\\"end\\\",function() {\\n\\t self.commander.write(\\\"\\\\n\\\");\\n\\t if(response.statusCode === 200) {\\n\\t\\t self.processBody(Buffer.concat(data),type,options,url);\\n\\t\\t callback(null);\\n\\t } else {\\n\\t \\tif(response.statusCode === 302 || response.statusCode === 303 || response.statusCode === 307) {\\n\\t \\t\\treturn self.fetchFile(response.headers.location,options,callback,redirectCount + 1);\\n\\t \\t} else {\\n\\t\\t \\treturn callback(\\\"Error \\\" + response.statusCode + \\\" retrieving \\\" + url)\\n\\t \\t}\\n\\t }\\n\\t \\t});\\n\\t \\tresponse.on(\\\"error\\\",function(e) {\\n\\t\\t\\tconsole.log(\\\"Error on GET request: \\\" + e);\\n\\t\\t\\tcallback(e);\\n\\t \\t});\\n\\t});\\n\\treturn null;\\n};\\n\\nCommand.prototype.processBody = function(body,type,options,url) {\\n\\tvar self = this;\\n\\t// Collect the tiddlers in a wiki\\n\\tvar incomingWiki = new $tw.Wiki();\\n\\tif(options.raw) {\\n\\t\\tvar typeInfo = type ? $tw.config.contentTypeInfo[type] : null,\\n\\t\\t\\tencoding = typeInfo ? typeInfo.encoding : \\\"utf8\\\";\\n\\t\\tincomingWiki.addTiddler(new $tw.Tiddler({\\n\\t\\t\\ttitle: url,\\n\\t\\t\\ttype: type,\\n\\t\\t\\ttext: body.toString(encoding)\\n\\t\\t}));\\n\\t} else {\\n\\t\\t// Deserialise the file to extract the tiddlers\\n\\t\\tvar tiddlers = this.commander.wiki.deserializeTiddlers(type || \\\"text/html\\\",body.toString(\\\"utf8\\\"),{});\\n\\t\\t$tw.utils.each(tiddlers,function(tiddler) {\\n\\t\\t\\tincomingWiki.addTiddler(new $tw.Tiddler(tiddler));\\n\\t\\t});\\n\\t}\\n\\t// Filter the tiddlers to select the ones we want\\n\\tvar filteredTitles = incomingWiki.filterTiddlers(options.importFilter || \\\"[all[tiddlers]]\\\");\\n\\t// Import the selected tiddlers\\n\\tvar count = 0;\\n\\tincomingWiki.each(function(tiddler,title) {\\n\\t\\tif(filteredTitles.indexOf(title) !== -1) {\\n\\t\\t\\tvar newTiddler;\\n\\t\\t\\tif(options.transformFilter) {\\n\\t\\t\\t\\tvar transformedTitle = (incomingWiki.filterTiddlers(options.transformFilter,null,self.commander.wiki.makeTiddlerIterator([title])) || [\\\"\\\"])[0];\\n\\t\\t\\t\\tif(transformedTitle) {\\n\\t\\t\\t\\t\\tself.commander.log(\\\"Importing \\\" + title + \\\" as \\\" + transformedTitle)\\n\\t\\t\\t\\t\\tnewTiddler = new $tw.Tiddler(tiddler,{title: transformedTitle});\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tself.commander.log(\\\"Importing \\\" + title)\\n\\t\\t\\t\\tnewTiddler = tiddler;\\n\\t\\t\\t}\\n\\t\\t\\tself.commander.wiki.importTiddler(newTiddler);\\n\\t\\t\\tcount++;\\n\\t\\t}\\n\\t});\\n\\tself.commander.log(\\\"Imported \\\" + count + \\\" tiddlers\\\")\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/help.js\":{\"title\":\"$:/core/modules/commands/help.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/help.js\\ntype: application/javascript\\nmodule-type: command\\n\\nHelp command\\n\\n\\\\*/\\n(function(){\\n\\n/*jshint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.info = {\\n\\tname: \\\"help\\\",\\n\\tsynchronous: true\\n};\\n\\nvar Command = function(params,commander) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\tvar subhelp = this.params[0] || \\\"default\\\",\\n\\t\\thelpBase = \\\"$:/language/Help/\\\",\\n\\t\\ttext;\\n\\tif(!this.commander.wiki.getTiddler(helpBase + subhelp)) {\\n\\t\\tsubhelp = \\\"notfound\\\";\\n\\t}\\n\\t// Wikify the help as formatted text (ie block elements generate newlines)\\n\\ttext = this.commander.wiki.renderTiddler(\\\"text/plain-formatted\\\",helpBase + subhelp);\\n\\t// Remove any leading linebreaks\\n\\ttext = text.replace(/^(\\\\r?\\\\n)*/g,\\\"\\\");\\n\\tthis.commander.streams.output.write(text);\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/import.js\":{\"title\":\"$:/core/modules/commands/import.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/import.js\\ntype: application/javascript\\nmodule-type: command\\n\\nCommand to import tiddlers from a file\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.info = {\\n\\tname: \\\"import\\\",\\n\\tsynchronous: true\\n};\\n\\nvar Command = function(params,commander,callback) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n\\tthis.callback = callback;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\tvar self = this,\\n\\t\\tfs = require(\\\"fs\\\"),\\n\\t\\tpath = require(\\\"path\\\");\\n\\tif(this.params.length < 2) {\\n\\t\\treturn \\\"Missing parameters\\\";\\n\\t}\\n\\tvar filename = self.params[0],\\n\\t\\tdeserializer = self.params[1],\\n\\t\\ttitle = self.params[2] || filename,\\n\\t\\tencoding = self.params[3] || \\\"utf8\\\",\\n\\t\\ttext = fs.readFileSync(filename,encoding),\\n\\t\\ttiddlers = this.commander.wiki.deserializeTiddlers(null,text,{title: title},{deserializer: deserializer});\\n\\t$tw.utils.each(tiddlers,function(tiddler) {\\n\\t\\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\\n\\t});\\n\\tthis.commander.log(tiddlers.length + \\\" tiddler(s) imported\\\");\\n\\treturn null;\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/init.js\":{\"title\":\"$:/core/modules/commands/init.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/init.js\\ntype: application/javascript\\nmodule-type: command\\n\\nCommand to initialise an empty wiki folder\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.info = {\\n\\tname: \\\"init\\\",\\n\\tsynchronous: true\\n};\\n\\nvar Command = function(params,commander) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\tvar fs = require(\\\"fs\\\"),\\n\\t\\tpath = require(\\\"path\\\");\\n\\t// Check that we don't already have a valid wiki folder\\n\\tif($tw.boot.wikiTiddlersPath || ($tw.utils.isDirectory($tw.boot.wikiPath) && !$tw.utils.isDirectoryEmpty($tw.boot.wikiPath))) {\\n\\t\\treturn \\\"Wiki folder is not empty\\\";\\n\\t}\\n\\t// Loop through each of the specified editions\\n\\tvar editions = this.params.length > 0 ? this.params : [\\\"empty\\\"];\\n\\tfor(var editionIndex=0; editionIndex<editions.length; editionIndex++) {\\n\\t\\tvar editionName = editions[editionIndex];\\n\\t\\t// Check the edition exists\\n\\t\\tvar editionPath = $tw.findLibraryItem(editionName,$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar));\\n\\t\\tif(!$tw.utils.isDirectory(editionPath)) {\\n\\t\\t\\treturn \\\"Edition '\\\" + editionName + \\\"' not found\\\";\\n\\t\\t}\\n\\t\\t// Copy the edition content\\n\\t\\tvar err = $tw.utils.copyDirectory(editionPath,$tw.boot.wikiPath);\\n\\t\\tif(!err) {\\n\\t\\t\\tthis.commander.streams.output.write(\\\"Copied edition '\\\" + editionName + \\\"' to \\\" + $tw.boot.wikiPath + \\\"\\\\n\\\");\\n\\t\\t} else {\\n\\t\\t\\treturn err;\\n\\t\\t}\\n\\t}\\n\\t// Tweak the tiddlywiki.info to remove any included wikis\\n\\tvar packagePath = $tw.boot.wikiPath + \\\"/tiddlywiki.info\\\",\\n\\t\\tpackageJson = $tw.utils.parseJSONSafe(fs.readFileSync(packagePath));\\n\\tdelete packageJson.includeWikis;\\n\\tfs.writeFileSync(packagePath,JSON.stringify(packageJson,null,$tw.config.preferences.jsonSpaces));\\n\\treturn null;\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/listen.js\":{\"title\":\"$:/core/modules/commands/listen.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/listen.js\\ntype: application/javascript\\nmodule-type: command\\n\\nListen for HTTP requests and serve tiddlers\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Server = require(\\\"$:/core/modules/server/server.js\\\").Server;\\n\\nexports.info = {\\n\\tname: \\\"listen\\\",\\n\\tsynchronous: true,\\n\\tnamedParameterMode: true,\\n\\tmandatoryParameters: [],\\n};\\n\\nvar Command = function(params,commander,callback) {\\n\\tvar self = this;\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n\\tthis.callback = callback;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\tvar self = this;\\n\\tif(!$tw.boot.wikiTiddlersPath) {\\n\\t\\t$tw.utils.warning(\\\"Warning: Wiki folder '\\\" + $tw.boot.wikiPath + \\\"' does not exist or is missing a tiddlywiki.info file\\\");\\n\\t}\\n\\t// Set up server\\n\\tthis.server = new Server({\\n\\t\\twiki: this.commander.wiki,\\n\\t\\tvariables: self.params\\n\\t});\\n\\tvar nodeServer = this.server.listen();\\n\\t$tw.hooks.invokeHook(\\\"th-server-command-post-start\\\",this.server,nodeServer,\\\"tiddlywiki\\\");\\n\\treturn null;\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/load.js\":{\"title\":\"$:/core/modules/commands/load.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/load.js\\ntype: application/javascript\\nmodule-type: command\\n\\nCommand to load tiddlers from a file or directory\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.info = {\\n\\tname: \\\"load\\\",\\n\\tsynchronous: false\\n};\\n\\nvar Command = function(params,commander,callback) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n\\tthis.callback = callback;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\tvar self = this,\\n\\t\\tfs = require(\\\"fs\\\"),\\n\\t\\tpath = require(\\\"path\\\");\\n\\tif(this.params.length < 1) {\\n\\t\\treturn \\\"Missing filename\\\";\\n\\t}\\n\\tvar tiddlers = $tw.loadTiddlersFromPath(self.params[0]),\\n\\t\\tcount = 0;\\n\\t$tw.utils.each(tiddlers,function(tiddlerInfo) {\\n\\t\\t$tw.utils.each(tiddlerInfo.tiddlers,function(tiddler) {\\n\\t\\t\\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\\n\\t\\t\\tcount++;\\n\\t\\t});\\n\\t});\\n\\tif(!count && self.params[1] !== \\\"noerror\\\") {\\n\\t\\tself.callback(\\\"No tiddlers found in file \\\\\\\"\\\" + self.params[0] + \\\"\\\\\\\"\\\");\\n\\t} else {\\n\\t\\tself.callback(null);\\n\\t}\\n\\treturn null;\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/makelibrary.js\":{\"title\":\"$:/core/modules/commands/makelibrary.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/makelibrary.js\\ntype: application/javascript\\nmodule-type: command\\n\\nCommand to pack all of the plugins in the library into a plugin tiddler of type \\\"library\\\"\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.info = {\\n\\tname: \\\"makelibrary\\\",\\n\\tsynchronous: true\\n};\\n\\nvar UPGRADE_LIBRARY_TITLE = \\\"$:/UpgradeLibrary\\\";\\n\\nvar Command = function(params,commander,callback) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n\\tthis.callback = callback;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\tvar wiki = this.commander.wiki,\\n\\t\\tfs = require(\\\"fs\\\"),\\n\\t\\tpath = require(\\\"path\\\"),\\n\\t\\tupgradeLibraryTitle = this.params[0] || UPGRADE_LIBRARY_TITLE,\\n\\t\\ttiddlers = {};\\n\\t// Collect up the library plugins\\n\\tvar collectPlugins = function(folder) {\\n\\t\\t\\tvar pluginFolders = $tw.utils.getSubdirectories(folder) || [];\\n\\t\\t\\tfor(var p=0; p<pluginFolders.length; p++) {\\n\\t\\t\\t\\tif(!$tw.boot.excludeRegExp.test(pluginFolders[p])) {\\n\\t\\t\\t\\t\\tpluginFields = $tw.loadPluginFolder(path.resolve(folder,\\\"./\\\" + pluginFolders[p]));\\n\\t\\t\\t\\t\\tif(pluginFields && pluginFields.title) {\\n\\t\\t\\t\\t\\t\\ttiddlers[pluginFields.title] = pluginFields;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tcollectPublisherPlugins = function(folder) {\\n\\t\\t\\tvar publisherFolders = $tw.utils.getSubdirectories(folder) || [];\\n\\t\\t\\tfor(var t=0; t<publisherFolders.length; t++) {\\n\\t\\t\\t\\tif(!$tw.boot.excludeRegExp.test(publisherFolders[t])) {\\n\\t\\t\\t\\t\\tcollectPlugins(path.resolve(folder,\\\"./\\\" + publisherFolders[t]));\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t};\\n\\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.pluginsPath,$tw.config.pluginsEnvVar),collectPublisherPlugins);\\n\\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.themesPath,$tw.config.themesEnvVar),collectPublisherPlugins);\\n\\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.languagesPath,$tw.config.languagesEnvVar),collectPlugins);\\n\\t// Save the upgrade library tiddler\\n\\tvar pluginFields = {\\n\\t\\ttitle: upgradeLibraryTitle,\\n\\t\\ttype: \\\"application/json\\\",\\n\\t\\t\\\"plugin-type\\\": \\\"library\\\",\\n\\t\\t\\\"text\\\": JSON.stringify({tiddlers: tiddlers})\\n\\t};\\n\\twiki.addTiddler(new $tw.Tiddler(pluginFields));\\n\\treturn null;\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/output.js\":{\"title\":\"$:/core/modules/commands/output.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/output.js\\ntype: application/javascript\\nmodule-type: command\\n\\nCommand to set the default output location (defaults to current working directory)\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.info = {\\n\\tname: \\\"output\\\",\\n\\tsynchronous: true\\n};\\n\\nvar Command = function(params,commander,callback) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n\\tthis.callback = callback;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\tvar fs = require(\\\"fs\\\"),\\n\\t\\tpath = require(\\\"path\\\");\\n\\tif(this.params.length < 1) {\\n\\t\\treturn \\\"Missing output path\\\";\\n\\t}\\n\\tthis.commander.outputPath = path.resolve(process.cwd(),this.params[0]);\\n\\treturn null;\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/password.js\":{\"title\":\"$:/core/modules/commands/password.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/password.js\\ntype: application/javascript\\nmodule-type: command\\n\\nSave password for crypto operations\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.info = {\\n\\tname: \\\"password\\\",\\n\\tsynchronous: true\\n};\\n\\nvar Command = function(params,commander,callback) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n\\tthis.callback = callback;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\tif(this.params.length < 1) {\\n\\t\\treturn \\\"Missing password\\\";\\n\\t}\\n\\t$tw.crypto.setPassword(this.params[0]);\\n\\treturn null;\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/render.js\":{\"title\":\"$:/core/modules/commands/render.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/render.js\\ntype: application/javascript\\nmodule-type: command\\n\\nRender individual tiddlers and save the results to the specified files\\n\\n\\\\*/\\n(function(){\\n\\n\\t/*jslint node: true, browser: true */\\n\\t/*global $tw: false */\\n\\t\\\"use strict\\\";\\n\\t\\n\\tvar widget = require(\\\"$:/core/modules/widgets/widget.js\\\");\\n\\t\\n\\texports.info = {\\n\\t\\tname: \\\"render\\\",\\n\\t\\tsynchronous: true\\n\\t};\\n\\t\\n\\tvar Command = function(params,commander,callback) {\\n\\t\\tthis.params = params;\\n\\t\\tthis.commander = commander;\\n\\t\\tthis.callback = callback;\\n\\t};\\n\\t\\n\\tCommand.prototype.execute = function() {\\n\\t\\tif(this.params.length < 1) {\\n\\t\\t\\treturn \\\"Missing tiddler filter\\\";\\n\\t\\t}\\n\\t\\tvar self = this,\\n\\t\\t\\tfs = require(\\\"fs\\\"),\\n\\t\\t\\tpath = require(\\\"path\\\"),\\n\\t\\t\\twiki = this.commander.wiki,\\n\\t\\t\\ttiddlerFilter = this.params[0],\\n\\t\\t\\tfilenameFilter = this.params[1] || \\\"[is[tiddler]addsuffix[.html]]\\\",\\n\\t\\t\\ttype = this.params[2] || \\\"text/html\\\",\\n\\t\\t\\ttemplate = this.params[3],\\n\\t\\t\\tvariableList = this.params.slice(4),\\n\\t\\t\\ttiddlers = wiki.filterTiddlers(tiddlerFilter),\\n\\t\\t\\tvariables = Object.create(null);\\n\\t\\t\\twhile(variableList.length >= 2) {\\n\\t\\t\\t\\tvariables[variableList[0]] = variableList[1];\\n\\t\\t\\t\\tvariableList = variableList.slice(2);\\n\\t\\t\\t}\\n\\t\\t$tw.utils.each(tiddlers,function(title) {\\n\\t\\t\\tvar filepath = path.resolve(self.commander.outputPath,wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0]);\\n\\t\\t\\tif(self.commander.verbose) {\\n\\t\\t\\t\\tconsole.log(\\\"Rendering \\\\\\\"\\\" + title + \\\"\\\\\\\" to \\\\\\\"\\\" + filepath + \\\"\\\\\\\"\\\");\\n\\t\\t\\t}\\n\\t\\t\\tvar parser = wiki.parseTiddler(template || title),\\n\\t\\t\\t\\twidgetNode = wiki.makeWidget(parser,{variables: $tw.utils.extend({},variables,{currentTiddler: title,storyTiddler: title})}),\\n\\t\\t\\t\\tcontainer = $tw.fakeDocument.createElement(\\\"div\\\");\\n\\t\\t\\twidgetNode.render(container,null);\\n\\t\\t\\tvar text = type === \\\"text/html\\\" ? container.innerHTML : container.textContent;\\n\\t\\t\\t$tw.utils.createFileDirectories(filepath);\\n\\t\\t\\tfs.writeFileSync(filepath,text,\\\"utf8\\\");\\n\\t\\t});\\n\\t\\treturn null;\\n\\t};\\n\\t\\n\\texports.Command = Command;\\n\\t\\n\\t})();\\n\\t\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/rendertiddler.js\":{\"title\":\"$:/core/modules/commands/rendertiddler.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/rendertiddler.js\\ntype: application/javascript\\nmodule-type: command\\n\\nCommand to render a tiddler and save it to a file\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.info = {\\n\\tname: \\\"rendertiddler\\\",\\n\\tsynchronous: false\\n};\\n\\nvar Command = function(params,commander,callback) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n\\tthis.callback = callback;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\tif(this.params.length < 2) {\\n\\t\\treturn \\\"Missing filename\\\";\\n\\t}\\n\\tvar self = this,\\n\\t\\tfs = require(\\\"fs\\\"),\\n\\t\\tpath = require(\\\"path\\\"),\\n\\t\\ttitle = this.params[0],\\n\\t\\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\\n\\t\\ttype = this.params[2] || \\\"text/html\\\",\\n\\t\\ttemplate = this.params[3],\\n\\t\\tname = this.params[4],\\n\\t\\tvalue = this.params[5],\\n\\t\\tvariables = {};\\n\\t$tw.utils.createFileDirectories(filename);\\n\\tif(template) {\\n\\t\\tvariables.currentTiddler = title;\\n\\t\\tvariables.storyTiddler = title;\\n\\t\\ttitle = template;\\n\\t}\\n\\tif(name && value) {\\n\\t\\tvariables[name] = value;\\n\\t}\\n\\tfs.writeFile(filename,this.commander.wiki.renderTiddler(type,title,{variables: variables}),\\\"utf8\\\",function(err) {\\n\\t\\tself.callback(err);\\n\\t});\\n\\treturn null;\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/rendertiddlers.js\":{\"title\":\"$:/core/modules/commands/rendertiddlers.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/rendertiddlers.js\\ntype: application/javascript\\nmodule-type: command\\n\\nCommand to render several tiddlers to a folder of files\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar widget = require(\\\"$:/core/modules/widgets/widget.js\\\");\\n\\nexports.info = {\\n\\tname: \\\"rendertiddlers\\\",\\n\\tsynchronous: true\\n};\\n\\nvar Command = function(params,commander,callback) {\\n\\tthis.params = params;\\n\\tthis.commander = commander;\\n\\tthis.callback = callback;\\n};\\n\\nCommand.prototype.execute = function() {\\n\\tif(this.params.length < 2) {\\n\\t\\treturn \\\"Missing filename\\\";\\n\\t}\\n\\tvar self = this,\\n\\t\\tfs = require(\\\"fs\\\"),\\n\\t\\tpath = require(\\\"path\\\"),\\n\\t\\twiki = this.commander.wiki,\\n\\t\\tfilter = this.params[0],\\n\\t\\ttemplate = this.params[1],\\n\\t\\toutputPath = this.commander.outputPath,\\n\\t\\tpathname = path.resolve(outputPath,this.params[2]),\\n\\t\\ttype = this.params[3] || \\\"text/html\\\",\\n\\t\\textension = this.params[4] || \\\".html\\\",\\n\\t\\tdeleteDirectory = (this.params[5] || \\\"\\\").toLowerCase() !== \\\"noclean\\\",\\n\\t\\ttiddlers = wiki.filterTiddlers(filter);\\n\\tif(deleteDirectory) {\\n\\t\\t$tw.utils.deleteDirectory(pathname);\\n\\t}\\n\\t$tw.utils.each(tiddlers,function(title) {\\n\\t\\tvar parser = wiki.parseTiddler(template),\\n\\t\\t\\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title, storyTiddler: title}}),\\n\\t\\t\\tcontainer = $tw.fakeDocument.createElement(\\\"div\\\");\\n\\t\\twidgetNode.render(container,null);\\n\\t\\tvar text = type === \\\"text/html\\\" ? container.innerHTML : container.textContent,\\n\\t\\t\\texportPath = null;\\n\\t\\tif($tw.utils.hop($tw.macros,\\\"tv-get-export-path\\\")) {\\n\\t\\t\\tvar macroPath = $tw.macros[\\\"tv-get-export-path\\\"].run.apply(self,[title]);\\n\\t\\t\\tif(macroPath) {\\n\\t\\t\\t\\texportPath = path.resolve(outputPath,macroPath + extension);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tvar finalPath = exportPath || path.resolve(pathname,$tw.utils.encodeURIComponentExtended(title) + extension);\\n\\t\\t$tw.utils.createFileDirectories(finalPath);\\n\\t\\tfs.writeFileSync(finalPath,text,\\\"utf8\\\");\\n\\t});\\n\\treturn null;\\n};\\n\\nexports.Command = Command;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"command\"},\"$:/core/modules/commands/save.js\":{\"title\":\"$:/core/modules/commands/save.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/commands/save.js\\ntype: application/javascript\\nmodule-type: command\\n\\nSaves individual tiddlers in their raw text or binary format to the specified files\\n\\n\\\\*/\\n(function(){\\n\\n\\t/*jslint node: true, browser: true */\\n\\t/*global $tw: false */\\n\\t\\\"use strict\\\";\\n\\t\\n\\texports.info = {\\n\\t\\tname: \\\"save\\\",\\n\\t\\tsynchronous: true\\n\\t};\\n\\t\\n\\tvar Command = function(params,commander,callback) {\\n\\t\\tthis.params = params;\\n\\t\\tthis.commander = commander;\\n\\t\\tthis.callback = callback;\\n\\t};\\n\\t\\n\\tCommand.prototype.execute = function() {\\n\\t\\tif(this.params.length < 1) {\\n\\t\\t\\treturn \\\"Missing filename filter\\\";\\n\\t\\t}\\n\\t\\tvar self = this,\\n\\t\\t\\tfs = require(\\\"fs\\\"),\\n\\t\\t\\tpath = require(\\\"path\\\"),\\n\\t\\t\\tresult = null,\\n\\t\\t\\twiki = this.commander.wiki,\\n\\t\\t\\ttiddlerFilter = this.params[0],\\n\\t\\t\\tfilenameFilter = this.params[1] || \\\"[is[tiddler]]\\\",\\n\\t\\t\\ttiddlers = wiki.filterTiddlers(tiddlerFilter);\\n\\t\\t$tw.utils.each(tiddlers,function(title) {\\n\\t\\t\\tif(!result) {\\n\\t\\t\\t\\tvar tiddler = self.commander.wiki.getTiddler(title);\\n\\t\\t\\t\\tif(tiddler) {\\n\\t\\t\\t\\t\\tvar fileInfo = $tw.utils.generateTiddlerFileInfo(tiddler,{\\n\\t\\t\\t\\t\\t\\tdirectory: path.resolve(self.commander.outputPath),\\n\\t\\t\\t\\t\\t\\tpathFilters: [filenameFilter],\\n\\t\\t\\t\\t\\t\\twiki: wiki,\\n\\t\\t\\t\\t\\t\\tfileInfo: {}\\n\\t\\t\\t\\t\\t});\\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 && this.widget.editTag !== \\\"textarea\\\") {\\n\\t\\tthis.domNode.setAttribute(\\\"type\\\",this.widget.editType);\\n\\t}\\n\\tif(this.widget.editPlaceholder) {\\n\\t\\tthis.domNode.setAttribute(\\\"placeholder\\\",this.widget.editPlaceholder);\\n\\t}\\n\\tif(this.widget.editSize) {\\n\\t\\tthis.domNode.setAttribute(\\\"size\\\",this.widget.editSize);\\n\\t}\\n\\tif(this.widget.editRows) {\\n\\t\\tthis.domNode.setAttribute(\\\"rows\\\",this.widget.editRows);\\n\\t}\\n\\tif(this.widget.editTabIndex) {\\n\\t\\tthis.iframeNode.setAttribute(\\\"tabindex\\\",this.widget.editTabIndex);\\n\\t}\\n\\tif(this.widget.editAutoComplete) {\\n\\t\\tthis.domNode.setAttribute(\\\"autocomplete\\\",this.widget.editAutoComplete);\\n\\t}\\n\\tif(this.widget.isDisabled === \\\"yes\\\") {\\n\\t\\tthis.domNode.setAttribute(\\\"disabled\\\",true);\\n\\t}\\n\\t// Copy the styles from the dummy textarea\\n\\tthis.copyStyles();\\n\\t// Add event listeners\\n\\t$tw.utils.addEventListeners(this.domNode,[\\n\\t\\t{name: \\\"click\\\",handlerObject: this,handlerMethod: \\\"handleClickEvent\\\"},\\n\\t\\t{name: \\\"input\\\",handlerObject: this,handlerMethod: \\\"handleInputEvent\\\"},\\n\\t\\t{name: \\\"keydown\\\",handlerObject: this,handlerMethod: \\\"handleKeydownEvent\\\"},\\n\\t\\t{name: \\\"focus\\\",handlerObject: this,handlerMethod: \\\"handleFocusEvent\\\"}\\n\\t]);\\n\\t// Add drag and drop event listeners if fileDrop is enabled\\n\\tif(this.widget.isFileDropEnabled) {\\n\\t\\t$tw.utils.addEventListeners(this.domNode,[\\n\\t\\t\\t{name: \\\"dragenter\\\",handlerObject: this.widget,handlerMethod: \\\"handleDragEnterEvent\\\"},\\n\\t\\t\\t{name: \\\"dragover\\\",handlerObject: this.widget,handlerMethod: \\\"handleDragOverEvent\\\"},\\n\\t\\t\\t{name: \\\"dragleave\\\",handlerObject: this.widget,handlerMethod: \\\"handleDragLeaveEvent\\\"},\\n\\t\\t\\t{name: \\\"dragend\\\",handlerObject: this.widget,handlerMethod: \\\"handleDragEndEvent\\\"},\\n\\t\\t\\t{name: \\\"drop\\\", handlerObject: this.widget,handlerMethod: \\\"handleDropEvent\\\"},\\n\\t\\t\\t{name: \\\"paste\\\", handlerObject: this.widget,handlerMethod: \\\"handlePasteEvent\\\"},\\n\\t\\t\\t{name: \\\"click\\\",handlerObject: this.widget,handlerMethod: \\\"handleClickEvent\\\"}\\n\\t\\t]);\\n\\t}\\n\\t// Insert the element into the DOM\\n\\tthis.iframeDoc.body.appendChild(this.domNode);\\n}\\n\\n/*\\nCopy styles from the dummy text area to the textarea in the iframe\\n*/\\nFramedEngine.prototype.copyStyles = function() {\\n\\t// Copy all styles\\n\\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\\n\\t// Override the ones that should not be set the same as the dummy textarea\\n\\tthis.domNode.style.display = \\\"block\\\";\\n\\tthis.domNode.style.width = \\\"100%\\\";\\n\\tthis.domNode.style.margin = \\\"0\\\";\\n\\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\\n\\tthis.domNode.style[\\\"-webkit-text-fill-color\\\"] = \\\"currentcolor\\\";\\n\\t// Ensure we don't force text direction to LTR\\n\\tthis.domNode.style.removeProperty(\\\"direction\\\");\\n};\\n\\n/*\\nSet the text of the engine if it doesn't currently have focus\\n*/\\nFramedEngine.prototype.setText = function(text,type) {\\n\\tif(!this.domNode.isTiddlyWikiFakeDom) {\\n\\t\\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\\n\\t\\t\\tthis.updateDomNodeText(text);\\n\\t\\t}\\n\\t\\t// Fix the height if needed\\n\\t\\tthis.fixHeight();\\n\\t}\\n};\\n\\n/*\\nUpdate the DomNode with the new text\\n*/\\nFramedEngine.prototype.updateDomNodeText = function(text) {\\n\\ttry {\\n\\t\\tthis.domNode.value = text;\\n\\t} catch(e) {\\n\\t\\t// Ignore\\n\\t}\\n};\\n\\n/*\\nGet the text of the engine\\n*/\\nFramedEngine.prototype.getText = function() {\\n\\treturn this.domNode.value;\\n};\\n\\n/*\\nFix the height of textarea to fit content\\n*/\\nFramedEngine.prototype.fixHeight = function() {\\n\\t// Make sure styles are updated\\n\\tthis.copyStyles();\\n\\t// Adjust height\\n\\tif(this.widget.editTag === \\\"textarea\\\") {\\n\\t\\tif(this.widget.editAutoHeight) {\\n\\t\\t\\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\\n\\t\\t\\t\\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\\n\\t\\t\\t\\tthis.iframeNode.style.height = newHeight + \\\"px\\\";\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\\\"400px\\\"),10);\\n\\t\\t\\tfixedHeight = Math.max(fixedHeight,20);\\n\\t\\t\\tthis.domNode.style.height = fixedHeight + \\\"px\\\";\\n\\t\\t\\tthis.iframeNode.style.height = fixedHeight + \\\"px\\\";\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nFocus the engine node\\n*/\\nFramedEngine.prototype.focus = function() {\\n\\tif(this.domNode.focus) {\\n\\t\\tthis.domNode.focus();\\n\\t}\\n\\tif(this.domNode.select) {\\n\\t\\t$tw.utils.setSelectionByPosition(this.domNode,this.widget.editFocusSelectFromStart,this.widget.editFocusSelectFromEnd);\\n\\t}\\n};\\n\\n/*\\nHandle a focus event\\n*/\\nFramedEngine.prototype.handleFocusEvent = function(event) {\\n\\tif(this.widget.editCancelPopups) {\\n\\t\\t$tw.popup.cancel(0);\\n\\t}\\n};\\n\\n/*\\nHandle a keydown event\\n */\\nFramedEngine.prototype.handleKeydownEvent = function(event) {\\n\\tif ($tw.keyboardManager.handleKeydownEvent(event, {onlyPriority: true})) {\\n\\t\\treturn true;\\n\\t}\\n\\n\\treturn this.widget.handleKeydownEvent(event);\\n};\\n\\n/*\\nHandle a click\\n*/\\nFramedEngine.prototype.handleClickEvent = function(event) {\\n\\tthis.fixHeight();\\n\\treturn true;\\n};\\n\\n/*\\nHandle a dom \\\"input\\\" event which occurs when the text has changed\\n*/\\nFramedEngine.prototype.handleInputEvent = function(event) {\\n\\tthis.widget.saveChanges(this.getText());\\n\\tthis.fixHeight();\\n\\tif(this.widget.editInputActions) {\\n\\t\\tthis.widget.invokeActionString(this.widget.editInputActions,this,event,{actionValue: this.getText()});\\n\\t}\\n\\treturn true;\\n};\\n\\n/*\\nCreate a blank structure representing a text operation\\n*/\\nFramedEngine.prototype.createTextOperation = function() {\\n\\tvar operation = {\\n\\t\\ttext: this.domNode.value,\\n\\t\\tselStart: this.domNode.selectionStart,\\n\\t\\tselEnd: this.domNode.selectionEnd,\\n\\t\\tcutStart: null,\\n\\t\\tcutEnd: null,\\n\\t\\treplacement: null,\\n\\t\\tnewSelStart: null,\\n\\t\\tnewSelEnd: null\\n\\t};\\n\\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\\n\\treturn operation;\\n};\\n\\n/*\\nExecute a text operation\\n*/\\nFramedEngine.prototype.executeTextOperation = function(operation) {\\n\\t// Perform the required changes to the text area and the underlying tiddler\\n\\tvar newText = operation.text;\\n\\tif(operation.replacement !== null) {\\n\\t\\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\\n\\t\\t// Attempt to use a execCommand to modify the value of the control\\n\\t\\tif(this.iframeDoc.queryCommandSupported(\\\"insertText\\\") && this.iframeDoc.queryCommandSupported(\\\"delete\\\") && !$tw.browser.isFirefox) {\\n\\t\\t\\tthis.domNode.focus();\\n\\t\\t\\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\\n\\t\\t\\tif(operation.replacement === \\\"\\\") {\\n\\t\\t\\t\\tthis.iframeDoc.execCommand(\\\"delete\\\",false,\\\"\\\");\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tthis.iframeDoc.execCommand(\\\"insertText\\\",false,operation.replacement);\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tthis.domNode.value = newText;\\n\\t\\t}\\n\\t\\tthis.domNode.focus();\\n\\t\\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\\n\\t}\\n\\tthis.domNode.focus();\\n\\treturn newText;\\n};\\n\\nexports.FramedEngine = FramedEngine;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"$:/core/modules/editor/engines/simple.js\":{\"title\":\"$:/core/modules/editor/engines/simple.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/engines/simple.js\\ntype: application/javascript\\nmodule-type: library\\n\\nText editor engine based on a simple input or textarea tag\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar HEIGHT_VALUE_TITLE = \\\"$:/config/TextEditor/EditorHeight/Height\\\";\\n\\nfunction SimpleEngine(options) {\\n\\t// Save our options\\n\\toptions = options || {};\\n\\tthis.widget = options.widget;\\n\\tthis.value = options.value;\\n\\tthis.parentNode = options.parentNode;\\n\\tthis.nextSibling = options.nextSibling;\\n\\t// Construct the textarea or input node\\n\\tvar tag = this.widget.editTag;\\n\\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\\n\\t\\ttag = \\\"input\\\";\\n\\t}\\n\\tthis.domNode = this.widget.document.createElement(tag);\\n\\t// Set the text\\n\\tif(this.widget.editTag === \\\"textarea\\\") {\\n\\t\\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\\n\\t} else {\\n\\t\\tthis.domNode.value = this.value;\\n\\t}\\n\\t// Set the attributes\\n\\tif(this.widget.editType && this.widget.editTag !== \\\"textarea\\\") {\\n\\t\\tthis.domNode.setAttribute(\\\"type\\\",this.widget.editType);\\n\\t}\\n\\tif(this.widget.editPlaceholder) {\\n\\t\\tthis.domNode.setAttribute(\\\"placeholder\\\",this.widget.editPlaceholder);\\n\\t}\\n\\tif(this.widget.editSize) {\\n\\t\\tthis.domNode.setAttribute(\\\"size\\\",this.widget.editSize);\\n\\t}\\n\\tif(this.widget.editRows) {\\n\\t\\tthis.domNode.setAttribute(\\\"rows\\\",this.widget.editRows);\\n\\t}\\n\\tif(this.widget.editClass) {\\n\\t\\tthis.domNode.className = this.widget.editClass;\\n\\t}\\n\\tif(this.widget.editTabIndex) {\\n\\t\\tthis.domNode.setAttribute(\\\"tabindex\\\",this.widget.editTabIndex);\\n\\t}\\n\\tif(this.widget.editAutoComplete) {\\n\\t\\tthis.domNode.setAttribute(\\\"autocomplete\\\",this.widget.editAutoComplete);\\n\\t}\\n\\tif(this.widget.isDisabled === \\\"yes\\\") {\\n\\t\\tthis.domNode.setAttribute(\\\"disabled\\\",true);\\n\\t}\\n\\t// Add an input event handler\\n\\t$tw.utils.addEventListeners(this.domNode,[\\n\\t\\t{name: \\\"focus\\\", handlerObject: this, handlerMethod: \\\"handleFocusEvent\\\"},\\n\\t\\t{name: \\\"input\\\", handlerObject: this, handlerMethod: \\\"handleInputEvent\\\"}\\n\\t]);\\n\\t// Insert the element into the DOM\\n\\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\\n\\tthis.widget.domNodes.push(this.domNode);\\n}\\n\\n/*\\nSet the text of the engine if it doesn't currently have focus\\n*/\\nSimpleEngine.prototype.setText = function(text,type) {\\n\\tif(!this.domNode.isTiddlyWikiFakeDom) {\\n\\t\\tif(this.domNode.ownerDocument.activeElement !== this.domNode || text === \\\"\\\") {\\n\\t\\t\\tthis.updateDomNodeText(text);\\n\\t\\t}\\n\\t\\t// Fix the height if needed\\n\\t\\tthis.fixHeight();\\n\\t}\\n};\\n\\n/*\\nUpdate the DomNode with the new text\\n*/\\nSimpleEngine.prototype.updateDomNodeText = function(text) {\\n\\ttry {\\n\\t\\tthis.domNode.value = text;\\n\\t} catch(e) {\\n\\t\\t// Ignore\\n\\t}\\n};\\n\\n/*\\nGet the text of the engine\\n*/\\nSimpleEngine.prototype.getText = function() {\\n\\treturn this.domNode.value;\\n};\\n\\n/*\\nFix the height of textarea to fit content\\n*/\\nSimpleEngine.prototype.fixHeight = function() {\\n\\tif(this.widget.editTag === \\\"textarea\\\") {\\n\\t\\tif(this.widget.editAutoHeight) {\\n\\t\\t\\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\\n\\t\\t\\t\\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\\\"400px\\\"),10);\\n\\t\\t\\tfixedHeight = Math.max(fixedHeight,20);\\n\\t\\t\\tthis.domNode.style.height = fixedHeight + \\\"px\\\";\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nFocus the engine node\\n*/\\nSimpleEngine.prototype.focus = function() {\\n\\tif(this.domNode.focus) {\\n\\t\\tthis.domNode.focus();\\n\\t}\\n\\tif(this.domNode.select) {\\n\\t\\t$tw.utils.setSelectionByPosition(this.domNode,this.widget.editFocusSelectFromStart,this.widget.editFocusSelectFromEnd);\\n\\t}\\n};\\n\\n/*\\nHandle a dom \\\"input\\\" event which occurs when the text has changed\\n*/\\nSimpleEngine.prototype.handleInputEvent = function(event) {\\n\\tthis.widget.saveChanges(this.getText());\\n\\tthis.fixHeight();\\n\\tif(this.widget.editInputActions) {\\n\\t\\tthis.widget.invokeActionString(this.widget.editInputActions,this,event,{actionValue: this.getText()});\\n\\t}\\n\\treturn true;\\n};\\n\\n/*\\nHandle a dom \\\"focus\\\" event\\n*/\\nSimpleEngine.prototype.handleFocusEvent = function(event) {\\n\\tif(this.widget.editCancelPopups) {\\n\\t\\t$tw.popup.cancel(0);\\n\\t}\\n\\tif(this.widget.editFocusPopup) {\\n\\t\\t$tw.popup.triggerPopup({\\n\\t\\t\\tdomNode: this.domNode,\\n\\t\\t\\ttitle: this.widget.editFocusPopup,\\n\\t\\t\\twiki: this.widget.wiki,\\n\\t\\t\\tforce: true\\n\\t\\t});\\n\\t}\\n\\treturn true;\\n};\\n\\n/*\\nCreate a blank structure representing a text operation\\n*/\\nSimpleEngine.prototype.createTextOperation = function() {\\n\\treturn null;\\n};\\n\\n/*\\nExecute a text operation\\n*/\\nSimpleEngine.prototype.executeTextOperation = function(operation) {\\n};\\n\\nexports.SimpleEngine = SimpleEngine;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"$:/core/modules/editor/factory.js\":{\"title\":\"$:/core/modules/editor/factory.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/factory.js\\ntype: application/javascript\\nmodule-type: library\\n\\nFactory for constructing text editor widgets with specified engines for the toolbar and non-toolbar cases\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar DEFAULT_MIN_TEXT_AREA_HEIGHT = \\\"100px\\\"; // Minimum height of textareas in pixels\\n\\n// Configuration tiddlers\\nvar HEIGHT_MODE_TITLE = \\\"$:/config/TextEditor/EditorHeight/Mode\\\";\\nvar ENABLE_TOOLBAR_TITLE = \\\"$:/config/TextEditor/EnableToolbar\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nfunction editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {\\n\\n\\tvar EditTextWidget = function(parseTreeNode,options) {\\n\\t\\t// Initialise the editor operations if they've not been done already\\n\\t\\tif(!this.editorOperations) {\\n\\t\\t\\tEditTextWidget.prototype.editorOperations = {};\\n\\t\\t\\t$tw.modules.applyMethods(\\\"texteditoroperation\\\",this.editorOperations);\\n\\t\\t}\\n\\t\\tthis.initialise(parseTreeNode,options);\\n\\t};\\n\\n\\t/*\\n\\tInherit from the base widget class\\n\\t*/\\n\\tEditTextWidget.prototype = new Widget();\\n\\n\\t/*\\n\\tRender this widget into the DOM\\n\\t*/\\n\\tEditTextWidget.prototype.render = function(parent,nextSibling) {\\n\\t\\t// Save the parent dom node\\n\\t\\tthis.parentDomNode = parent;\\n\\t\\t// Compute our attributes\\n\\t\\tthis.computeAttributes();\\n\\t\\t// Execute our logic\\n\\t\\tthis.execute();\\n\\t\\t// Create the wrapper for the toolbar and render its content\\n\\t\\tif(this.editShowToolbar) {\\n\\t\\t\\tthis.toolbarNode = this.document.createElement(\\\"div\\\");\\n\\t\\t\\tthis.toolbarNode.className = \\\"tc-editor-toolbar\\\";\\n\\t\\t\\tparent.insertBefore(this.toolbarNode,nextSibling);\\n\\t\\t\\tthis.renderChildren(this.toolbarNode,null);\\n\\t\\t\\tthis.domNodes.push(this.toolbarNode);\\n\\t\\t}\\n\\t\\t// Create our element\\n\\t\\tvar editInfo = this.getEditInfo(),\\n\\t\\t\\tEngine = this.editShowToolbar ? toolbarEngine : nonToolbarEngine;\\n\\t\\tthis.engine = new Engine({\\n\\t\\t\\t\\twidget: this,\\n\\t\\t\\t\\tvalue: editInfo.value,\\n\\t\\t\\t\\ttype: editInfo.type,\\n\\t\\t\\t\\tparentNode: parent,\\n\\t\\t\\t\\tnextSibling: nextSibling\\n\\t\\t\\t});\\n\\t\\t// Call the postRender hook\\n\\t\\tif(this.postRender) {\\n\\t\\t\\tthis.postRender();\\n\\t\\t}\\n\\t\\t// Fix height\\n\\t\\tthis.engine.fixHeight();\\n\\t\\t// Focus if required\\n\\t\\tif(this.editFocus === \\\"true\\\" || this.editFocus === \\\"yes\\\") {\\n\\t\\t\\tthis.engine.focus();\\n\\t\\t}\\n\\t\\t// Add widget message listeners\\n\\t\\tthis.addEventListeners([\\n\\t\\t\\t{type: \\\"tm-edit-text-operation\\\", handler: \\\"handleEditTextOperationMessage\\\"}\\n\\t\\t]);\\n\\t};\\n\\n\\t/*\\n\\tGet the tiddler being edited and current value\\n\\t*/\\n\\tEditTextWidget.prototype.getEditInfo = function() {\\n\\t\\t// Get the edit value\\n\\t\\tvar self = this,\\n\\t\\t\\tvalue,\\n\\t\\t\\ttype = \\\"text/plain\\\",\\n\\t\\t\\tupdate;\\n\\t\\tif(this.editIndex) {\\n\\t\\t\\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\\n\\t\\t\\tupdate = function(value) {\\n\\t\\t\\t\\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\\n\\t\\t\\t\\tif(data[self.editIndex] !== value) {\\n\\t\\t\\t\\t\\tdata[self.editIndex] = value;\\n\\t\\t\\t\\t\\tself.wiki.setTiddlerData(self.editTitle,data);\\n\\t\\t\\t\\t}\\n\\t\\t\\t};\\n\\t\\t} else {\\n\\t\\t\\t// Get the current tiddler and the field name\\n\\t\\t\\tvar tiddler = this.wiki.getTiddler(this.editTitle);\\n\\t\\t\\tif(tiddler) {\\n\\t\\t\\t\\t// If we've got a tiddler, the value to display is the field string value\\n\\t\\t\\t\\tif(tiddler.hasField(this.editField)) {\\n\\t\\t\\t\\t\\tvalue = tiddler.getFieldString(this.editField);\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tvalue = this.editDefault || \\\"\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif(this.editField === \\\"text\\\") {\\n\\t\\t\\t\\t\\ttype = tiddler.fields.type || \\\"text/vnd.tiddlywiki\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t// Otherwise, we need to construct a default value for the editor\\n\\t\\t\\t\\tswitch(this.editField) {\\n\\t\\t\\t\\t\\tcase \\\"text\\\":\\n\\t\\t\\t\\t\\t\\tvalue = \\\"\\\";\\n\\t\\t\\t\\t\\t\\ttype = \\\"text/vnd.tiddlywiki\\\";\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\tcase \\\"title\\\":\\n\\t\\t\\t\\t\\t\\tvalue = this.editTitle;\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\tdefault:\\n\\t\\t\\t\\t\\t\\tvalue = \\\"\\\";\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif(this.editDefault !== undefined) {\\n\\t\\t\\t\\t\\tvalue = this.editDefault;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tupdate = function(value) {\\n\\t\\t\\t\\tvar tiddler = self.wiki.getTiddler(self.editTitle),\\n\\t\\t\\t\\t\\tupdateFields = {\\n\\t\\t\\t\\t\\t\\ttitle: self.editTitle\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\tupdateFields[self.editField] = value;\\n\\t\\t\\t\\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\\n\\t\\t\\t};\\n\\t\\t}\\n\\t\\tif(this.editType) {\\n\\t\\t\\ttype = this.editType;\\n\\t\\t}\\n\\t\\treturn {value: value || \\\"\\\", type: type, update: update};\\n\\t};\\n\\n\\t/*\\n\\tHandle an edit text operation message from the toolbar\\n\\t*/\\n\\tEditTextWidget.prototype.handleEditTextOperationMessage = function(event) {\\n\\t\\t// Prepare information about the operation\\n\\t\\tvar operation = this.engine.createTextOperation();\\n\\t\\t// Invoke the handler for the selected operation\\n\\t\\tvar handler = this.editorOperations[event.param];\\n\\t\\tif(handler) {\\n\\t\\t\\thandler.call(this,event,operation);\\n\\t\\t}\\n\\t\\t// Execute the operation via the engine\\n\\t\\tvar newText = this.engine.executeTextOperation(operation);\\n\\t\\t// Fix the tiddler height and save changes\\n\\t\\tthis.engine.fixHeight();\\n\\t\\tthis.saveChanges(newText);\\n\\t};\\n\\n\\t/*\\n\\tCompute the internal state of the widget\\n\\t*/\\n\\tEditTextWidget.prototype.execute = function() {\\n\\t\\t// Get our parameters\\n\\t\\tthis.editTitle = this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\t\\tthis.editField = this.getAttribute(\\\"field\\\",\\\"text\\\");\\n\\t\\tthis.editIndex = this.getAttribute(\\\"index\\\");\\n\\t\\tthis.editDefault = this.getAttribute(\\\"default\\\");\\n\\t\\tthis.editClass = this.getAttribute(\\\"class\\\");\\n\\t\\tthis.editPlaceholder = this.getAttribute(\\\"placeholder\\\");\\n\\t\\tthis.editSize = this.getAttribute(\\\"size\\\");\\n\\t\\tthis.editRows = this.getAttribute(\\\"rows\\\");\\n\\t\\tthis.editAutoHeight = this.wiki.getTiddlerText(HEIGHT_MODE_TITLE,\\\"auto\\\");\\n\\t\\tthis.editAutoHeight = this.getAttribute(\\\"autoHeight\\\",this.editAutoHeight === \\\"auto\\\" ? \\\"yes\\\" : \\\"no\\\") === \\\"yes\\\";\\n\\t\\tthis.editMinHeight = this.getAttribute(\\\"minHeight\\\",DEFAULT_MIN_TEXT_AREA_HEIGHT);\\n\\t\\tthis.editFocusPopup = this.getAttribute(\\\"focusPopup\\\");\\n\\t\\tthis.editFocus = this.getAttribute(\\\"focus\\\");\\n\\t\\tthis.editFocusSelectFromStart = $tw.utils.parseNumber(this.getAttribute(\\\"focusSelectFromStart\\\",\\\"0\\\"));\\n\\t\\tthis.editFocusSelectFromEnd = $tw.utils.parseNumber(this.getAttribute(\\\"focusSelectFromEnd\\\",\\\"0\\\"));\\n\\t\\tthis.editTabIndex = this.getAttribute(\\\"tabindex\\\");\\n\\t\\tthis.editCancelPopups = this.getAttribute(\\\"cancelPopups\\\",\\\"\\\") === \\\"yes\\\";\\n\\t\\tthis.editInputActions = this.getAttribute(\\\"inputActions\\\");\\n\\t\\tthis.editRefreshTitle = this.getAttribute(\\\"refreshTitle\\\");\\n\\t\\tthis.editAutoComplete = this.getAttribute(\\\"autocomplete\\\");\\n\\t\\tthis.isDisabled = this.getAttribute(\\\"disabled\\\",\\\"no\\\");\\n\\t\\tthis.isFileDropEnabled = this.getAttribute(\\\"fileDrop\\\",\\\"no\\\") === \\\"yes\\\";\\n\\t\\t// Get the default editor element tag and type\\n\\t\\tvar tag,type;\\n\\t\\tif(this.editField === \\\"text\\\") {\\n\\t\\t\\ttag = \\\"textarea\\\";\\n\\t\\t} else {\\n\\t\\t\\ttag = \\\"input\\\";\\n\\t\\t\\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\\n\\t\\t\\tif(fieldModule && fieldModule.editTag) {\\n\\t\\t\\t\\ttag = fieldModule.editTag;\\n\\t\\t\\t}\\n\\t\\t\\tif(fieldModule && fieldModule.editType) {\\n\\t\\t\\t\\ttype = fieldModule.editType;\\n\\t\\t\\t}\\n\\t\\t\\ttype = type || \\\"text\\\";\\n\\t\\t}\\n\\t\\t// Get the rest of our parameters\\n\\t\\tthis.editTag = this.getAttribute(\\\"tag\\\",tag) || \\\"input\\\";\\n\\t\\tthis.editType = this.getAttribute(\\\"type\\\",type);\\n\\t\\t// Make the child widgets\\n\\t\\tthis.makeChildWidgets();\\n\\t\\t// Determine whether to show the toolbar\\n\\t\\tthis.editShowToolbar = this.wiki.getTiddlerText(ENABLE_TOOLBAR_TITLE,\\\"yes\\\");\\n\\t\\tthis.editShowToolbar = (this.editShowToolbar === \\\"yes\\\") && !!(this.children && this.children.length > 0) && (!this.document.isTiddlyWikiFakeDom);\\n\\t};\\n\\n\\t/*\\n\\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n\\t*/\\n\\tEditTextWidget.prototype.refresh = function(changedTiddlers) {\\n\\t\\tvar changedAttributes = this.computeAttributes();\\n\\t\\t// Completely rerender if any of our attributes have changed\\n\\t\\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes[\\\"default\\\"] || changedAttributes[\\\"class\\\"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup || changedAttributes.rows || changedAttributes.tabindex || changedAttributes.cancelPopups || changedAttributes.inputActions || changedAttributes.refreshTitle || changedAttributes.autocomplete || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE] || changedTiddlers[\\\"$:/palette\\\"] || changedAttributes.disabled || changedAttributes.fileDrop) {\\n\\t\\t\\tthis.refreshSelf();\\n\\t\\t\\treturn true;\\n\\t\\t} else if (changedTiddlers[this.editRefreshTitle]) {\\n\\t\\t\\tthis.engine.updateDomNodeText(this.getEditInfo().value);\\n\\t\\t} else if(changedTiddlers[this.editTitle]) {\\n\\t\\t\\tvar editInfo = this.getEditInfo();\\n\\t\\t\\tthis.updateEditor(editInfo.value,editInfo.type);\\n\\t\\t}\\n\\t\\tthis.engine.fixHeight();\\n\\t\\tif(this.editShowToolbar) {\\n\\t\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t\\t} else {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t};\\n\\n\\t/*\\n\\tUpdate the editor with new text. This method is separate from updateEditorDomNode()\\n\\tso that subclasses can override updateEditor() and still use updateEditorDomNode()\\n\\t*/\\n\\tEditTextWidget.prototype.updateEditor = function(text,type) {\\n\\t\\tthis.updateEditorDomNode(text,type);\\n\\t};\\n\\n\\t/*\\n\\tUpdate the editor dom node with new text\\n\\t*/\\n\\tEditTextWidget.prototype.updateEditorDomNode = function(text,type) {\\n\\t\\tthis.engine.setText(text,type);\\n\\t};\\n\\n\\t/*\\n\\tSave changes back to the tiddler store\\n\\t*/\\n\\tEditTextWidget.prototype.saveChanges = function(text) {\\n\\t\\tvar editInfo = this.getEditInfo();\\n\\t\\tif(text !== editInfo.value) {\\n\\t\\t\\teditInfo.update(text);\\n\\t\\t}\\n\\t};\\n\\n\\t/*\\n\\tHandle a dom \\\"keydown\\\" event, which we'll bubble up to our container for the keyboard widgets benefit\\n\\t*/\\n\\tEditTextWidget.prototype.handleKeydownEvent = function(event) {\\n\\t\\t// Check for a keyboard shortcut\\n\\t\\tif(this.toolbarNode) {\\n\\t\\t\\tvar shortcutElements = this.toolbarNode.querySelectorAll(\\\"[data-tw-keyboard-shortcut]\\\");\\n\\t\\t\\tfor(var index=0; index<shortcutElements.length; index++) {\\n\\t\\t\\t\\tvar el = shortcutElements[index],\\n\\t\\t\\t\\t\\tshortcutData = el.getAttribute(\\\"data-tw-keyboard-shortcut\\\"),\\n\\t\\t\\t\\t\\tkeyInfoArray = $tw.keyboardManager.parseKeyDescriptors(shortcutData,{\\n\\t\\t\\t\\t\\t\\twiki: this.wiki\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\tif($tw.keyboardManager.checkKeyDescriptors(event,keyInfoArray)) {\\n\\t\\t\\t\\t\\tvar clickEvent = this.document.createEvent(\\\"Events\\\");\\n\\t\\t\\t\\t clickEvent.initEvent(\\\"click\\\",true,false);\\n\\t\\t\\t\\t el.dispatchEvent(clickEvent);\\n\\t\\t\\t\\t\\tevent.preventDefault();\\n\\t\\t\\t\\t\\tevent.stopPropagation();\\n\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t// Propogate the event to the container\\n\\t\\tif(this.propogateKeydownEvent(event)) {\\n\\t\\t\\t// Ignore the keydown if it was already handled\\n\\t\\t\\tevent.preventDefault();\\n\\t\\t\\tevent.stopPropagation();\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t\\t// Otherwise, process the keydown normally\\n\\t\\treturn false;\\n\\t};\\n\\n\\t/*\\n\\tPropogate keydown events to our container for the keyboard widgets benefit\\n\\t*/\\n\\tEditTextWidget.prototype.propogateKeydownEvent = function(event) {\\n\\t\\tvar newEvent = this.cloneEvent(event,[\\\"keyCode\\\",\\\"code\\\",\\\"which\\\",\\\"key\\\",\\\"metaKey\\\",\\\"ctrlKey\\\",\\\"altKey\\\",\\\"shiftKey\\\"]);\\n\\t\\treturn !this.parentDomNode.dispatchEvent(newEvent);\\n\\t};\\n\\n\\tEditTextWidget.prototype.cloneEvent = function(event,propertiesToCopy) {\\n\\t\\tvar propertiesToCopy = propertiesToCopy || [],\\n\\t\\t\\tnewEvent = this.document.createEventObject ? this.document.createEventObject() : this.document.createEvent(\\\"Events\\\");\\n\\t\\tif(newEvent.initEvent) {\\n\\t\\t\\tnewEvent.initEvent(event.type, true, true);\\n\\t\\t}\\n\\t\\t$tw.utils.each(propertiesToCopy,function(prop){\\n\\t\\t\\tnewEvent[prop] = event[prop];\\n\\t\\t});\\n\\t\\treturn newEvent;\\n\\t};\\n\\n\\tEditTextWidget.prototype.dispatchDOMEvent = function(newEvent) {\\n\\t\\tvar dispatchNode = this.engine.iframeNode || this.engine.parentNode;\\n\\t\\treturn dispatchNode.dispatchEvent(newEvent);\\n\\t};\\n\\n\\t/*\\n\\tPropogate drag and drop events with File data to our container for the dropzone widgets benefit.\\n\\tIf there are no Files, let the browser handle it.\\n\\t*/\\n\\tEditTextWidget.prototype.handleDropEvent = function(event) {\\n\\t\\tif($tw.utils.dragEventContainsFiles(event)) {\\n\\t\\t\\tevent.preventDefault();\\n\\t\\t\\tevent.stopPropagation();\\n\\t\\t\\tthis.dispatchDOMEvent(this.cloneEvent(event,[\\\"dataTransfer\\\"]));\\n\\t\\t} \\n\\t};\\n\\n\\tEditTextWidget.prototype.handlePasteEvent = function(event) {\\n\\t\\tif(event.clipboardData && event.clipboardData.files && event.clipboardData.files.length) {\\n\\t\\t\\tevent.preventDefault();\\n\\t\\t\\tevent.stopPropagation();\\n\\t\\t\\tthis.dispatchDOMEvent(this.cloneEvent(event,[\\\"clipboardData\\\"]));\\n\\t\\t}\\n\\t};\\n\\n\\tEditTextWidget.prototype.handleDragEnterEvent = function(event) {\\n\\t\\tif($tw.utils.dragEventContainsFiles(event)) {\\n\\t\\t\\t// Ignore excessive events fired by FF when entering and leaving text nodes in a text area.\\n\\t\\t\\tif( event.relatedTarget && (event.relatedTarget.nodeType === 3 || event.target === event.relatedTarget)) {\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t\\tevent.preventDefault();\\n\\t\\t\\treturn this.dispatchDOMEvent(this.cloneEvent(event,[\\\"dataTransfer\\\"]));\\n\\t\\t}\\n\\t\\treturn true;\\n\\t};\\n\\n\\tEditTextWidget.prototype.handleDragOverEvent = function(event) {\\n\\t\\tif($tw.utils.dragEventContainsFiles(event)) {\\n\\t\\t\\t// Call preventDefault() in browsers that default to not allowing drop events on textarea\\n\\t\\t\\tif($tw.browser.isFirefox || $tw.browser.isIE) {\\n\\t\\t\\t\\tevent.preventDefault();\\n\\t\\t\\t}\\n\\t\\t\\tevent.dataTransfer.dropEffect = \\\"copy\\\";\\n\\t\\t\\treturn this.dispatchDOMEvent(this.cloneEvent(event,[\\\"dataTransfer\\\"]));\\n\\t\\t}\\n\\t\\treturn true;\\n\\t};\\n\\n\\tEditTextWidget.prototype.handleDragLeaveEvent = function(event) {\\n\\t\\t// Ignore excessive events fired by FF when entering and leaving text nodes in a text area.\\n\\t\\tif(event.relatedTarget && ((event.relatedTarget.nodeType === 3) || (event.target === event.relatedTarget))) {\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t\\tevent.preventDefault();\\n\\t\\tthis.dispatchDOMEvent(this.cloneEvent(event,[\\\"dataTransfer\\\"]));\\n\\t};\\n\\n\\tEditTextWidget.prototype.handleDragEndEvent = function(event) {\\n\\t\\tthis.dispatchDOMEvent(this.cloneEvent(event));\\n\\t};\\n\\n\\tEditTextWidget.prototype.handleClickEvent = function(event) {\\n\\t\\treturn !this.dispatchDOMEvent(this.cloneEvent(event));\\n\\t};\\n\\n\\treturn EditTextWidget;\\n}\\n\\nexports.editTextWidgetFactory = editTextWidgetFactory;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"$:/core/modules/editor/operations/bitmap/clear.js\":{\"title\":\"$:/core/modules/editor/operations/bitmap/clear.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/operations/bitmap/clear.js\\ntype: application/javascript\\nmodule-type: bitmapeditoroperation\\n\\nBitmap editor operation to clear the image\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports[\\\"clear\\\"] = function(event) {\\n\\tvar ctx = this.canvasDomNode.getContext(\\\"2d\\\");\\n\\tctx.globalAlpha = 1;\\n\\tctx.fillStyle = event.paramObject.colour || \\\"white\\\";\\n\\tctx.fillRect(0,0,this.canvasDomNode.width,this.canvasDomNode.height);\\n\\t// Save changes\\n\\tthis.strokeEnd();\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"bitmapeditoroperation\"},\"$:/core/modules/editor/operations/bitmap/resize.js\":{\"title\":\"$:/core/modules/editor/operations/bitmap/resize.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/operations/bitmap/resize.js\\ntype: application/javascript\\nmodule-type: bitmapeditoroperation\\n\\nBitmap editor operation to resize the image\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports[\\\"resize\\\"] = function(event) {\\n\\t// Get the new width\\n\\tvar newWidth = parseInt(event.paramObject.width || this.canvasDomNode.width,10),\\n\\t\\tnewHeight = parseInt(event.paramObject.height || this.canvasDomNode.height,10);\\n\\t// Update if necessary\\n\\tif(newWidth > 0 && newHeight > 0 && !(newWidth === this.currCanvas.width && newHeight === this.currCanvas.height)) {\\n\\t\\tthis.changeCanvasSize(newWidth,newHeight);\\n\\t}\\n\\t// Update the input controls\\n\\tthis.refreshToolbar();\\n\\t// Save the image into the tiddler\\n\\tthis.saveChanges();\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"bitmapeditoroperation\"},\"$:/core/modules/editor/operations/bitmap/rotate-left.js\":{\"title\":\"$:/core/modules/editor/operations/bitmap/rotate-left.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/operations/bitmap/rotate-left.js\\ntype: application/javascript\\nmodule-type: bitmapeditoroperation\\n\\nBitmap editor operation to rotate the image left by 90 degrees\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports[\\\"rotate-left\\\"] = function(event) {\\n\\t// Rotate the canvas left by 90 degrees\\n\\tthis.rotateCanvasLeft();\\n\\t// Update the input controls\\n\\tthis.refreshToolbar();\\n\\t// Save the image into the tiddler\\n\\tthis.saveChanges();\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"bitmapeditoroperation\"},\"$:/core/modules/editor/operations/text/excise.js\":{\"title\":\"$:/core/modules/editor/operations/text/excise.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/operations/text/excise.js\\ntype: application/javascript\\nmodule-type: texteditoroperation\\n\\nText editor operation to excise the selection to a new tiddler\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports[\\\"excise\\\"] = function(event,operation) {\\n\\tvar editTiddler = this.wiki.getTiddler(this.editTitle),\\n\\t\\teditTiddlerTitle = this.editTitle;\\n\\tif(editTiddler && editTiddler.fields[\\\"draft.of\\\"]) {\\n\\t\\teditTiddlerTitle = editTiddler.fields[\\\"draft.of\\\"];\\n\\t}\\n\\tvar excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(\\\"New Excision\\\");\\n\\tthis.wiki.addTiddler(new $tw.Tiddler(\\n\\t\\tthis.wiki.getCreationFields(),\\n\\t\\tthis.wiki.getModificationFields(),\\n\\t\\t{\\n\\t\\t\\ttitle: excisionTitle,\\n\\t\\t\\ttext: operation.selection,\\n\\t\\t\\ttags: event.paramObject.tagnew === \\\"yes\\\" ? [editTiddlerTitle] : []\\n\\t\\t}\\n\\t));\\n\\toperation.replacement = excisionTitle;\\n\\tswitch(event.paramObject.type || \\\"transclude\\\") {\\n\\t\\tcase \\\"transclude\\\":\\n\\t\\t\\toperation.replacement = \\\"{{\\\" + operation.replacement+ \\\"}}\\\";\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"link\\\":\\n\\t\\t\\toperation.replacement = \\\"[[\\\" + operation.replacement+ \\\"]]\\\";\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"macro\\\":\\n\\t\\t\\toperation.replacement = \\\"<<\\\" + (event.paramObject.macro || \\\"translink\\\") + \\\" \\\\\\\"\\\\\\\"\\\\\\\"\\\" + operation.replacement + \\\"\\\\\\\"\\\\\\\"\\\\\\\">>\\\";\\n\\t\\t\\tbreak;\\n\\t}\\n\\toperation.cutStart = operation.selStart;\\n\\toperation.cutEnd = operation.selEnd;\\n\\toperation.newSelStart = operation.selStart;\\n\\toperation.newSelEnd = operation.selStart + operation.replacement.length;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"texteditoroperation\"},\"$:/core/modules/editor/operations/text/focus-editor.js\":{\"title\":\"$:/core/modules/editor/operations/text/focus-editor.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/operations/text/focus-editor.js\\ntype: application/javascript\\nmodule-type: texteditoroperation\\nSimply focus the Text editor\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports[\\\"focus-editor\\\"] = function(event,operation) {\\n\\toperation = null;\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"texteditoroperation\"},\"$:/core/modules/editor/operations/text/insert-text.js\":{\"title\":\"$:/core/modules/editor/operations/text/insert-text.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/operations/text/insert-text.js\\ntype: application/javascript\\nmodule-type: texteditoroperation\\n\\nText editor operation insert text at the caret position. If there is a selection it is replaced.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports[\\\"insert-text\\\"] = function(event,operation) {\\n\\toperation.replacement = event.paramObject.text;\\n\\toperation.cutStart = operation.selStart;\\n\\toperation.cutEnd = operation.selEnd;\\n\\toperation.newSelStart = operation.selStart + operation.replacement.length;\\n\\toperation.newSelEnd = operation.newSelStart;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"texteditoroperation\"},\"$:/core/modules/editor/operations/text/make-link.js\":{\"title\":\"$:/core/modules/editor/operations/text/make-link.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/operations/text/make-link.js\\ntype: application/javascript\\nmodule-type: texteditoroperation\\n\\nText editor operation to make a link\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports[\\\"make-link\\\"] = function(event,operation) {\\n\\tif(operation.selection) {\\n\\t\\toperation.replacement = \\\"[[\\\" + operation.selection + \\\"|\\\" + event.paramObject.text + \\\"]]\\\";\\n\\t\\toperation.cutStart = operation.selStart;\\n\\t\\toperation.cutEnd = operation.selEnd;\\n\\t} else {\\n\\t\\toperation.replacement = \\\"[[\\\" + event.paramObject.text + \\\"]]\\\";\\n\\t\\toperation.cutStart = operation.selStart;\\n\\t\\toperation.cutEnd = operation.selEnd;\\n\\t}\\n\\toperation.newSelStart = operation.selStart + operation.replacement.length;\\n\\toperation.newSelEnd = operation.newSelStart;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"texteditoroperation\"},\"$:/core/modules/editor/operations/text/prefix-lines.js\":{\"title\":\"$:/core/modules/editor/operations/text/prefix-lines.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/operations/text/prefix-lines.js\\ntype: application/javascript\\nmodule-type: texteditoroperation\\n\\nText editor operation to add a prefix to the selected lines\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports[\\\"prefix-lines\\\"] = function(event,operation) {\\n\\tvar targetCount = parseInt(event.paramObject.count + \\\"\\\",10);\\n\\t// Cut just past the preceding line break, or the start of the text\\n\\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\\n\\t// Cut to just past the following line break, or to the end of the text\\n\\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\\n\\t// Compose the required prefix\\n\\tvar prefix = $tw.utils.repeat(event.paramObject.character,targetCount);\\n\\t// Process each line\\n\\tvar lines = operation.text.substring(operation.cutStart,operation.cutEnd).split(/\\\\r?\\\\n/mg);\\n\\t$tw.utils.each(lines,function(line,index) {\\n\\t\\t// Remove and count any existing prefix characters\\n\\t\\tvar count = 0;\\n\\t\\twhile($tw.utils.startsWith(line,event.paramObject.character)) {\\n\\t\\t\\tline = line.substring(event.paramObject.character.length);\\n\\t\\t\\tcount++;\\n\\t\\t}\\n\\t\\t// Remove any whitespace\\n\\t\\twhile(line.charAt(0) === \\\" \\\") {\\n\\t\\t\\tline = line.substring(1);\\n\\t\\t}\\n\\t\\t// We're done if we removed the exact required prefix, otherwise add it\\n\\t\\tif(count !== targetCount) {\\n\\t\\t\\t// Apply the prefix\\n\\t\\t\\tline = prefix + \\\" \\\" + line;\\n\\t\\t}\\n\\t\\t// Save the modified line\\n\\t\\tlines[index] = line;\\n\\t});\\n\\t// Stitch the replacement text together and set the selection\\n\\toperation.replacement = lines.join(\\\"\\\\n\\\");\\n\\tif(lines.length === 1) {\\n\\t\\toperation.newSelStart = operation.cutStart + operation.replacement.length;\\n\\t\\toperation.newSelEnd = operation.newSelStart;\\n\\t} else {\\n\\t\\toperation.newSelStart = operation.cutStart;\\n\\t\\toperation.newSelEnd = operation.newSelStart + operation.replacement.length;\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"texteditoroperation\"},\"$:/core/modules/editor/operations/text/replace-all.js\":{\"title\":\"$:/core/modules/editor/operations/text/replace-all.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/operations/text/replace-all.js\\ntype: application/javascript\\nmodule-type: texteditoroperation\\n\\nText editor operation to replace the entire text\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports[\\\"replace-all\\\"] = function(event,operation) {\\n\\toperation.cutStart = 0;\\n\\toperation.cutEnd = operation.text.length;\\n\\toperation.replacement = event.paramObject.text;\\n\\toperation.newSelStart = 0;\\n\\toperation.newSelEnd = operation.replacement.length;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"texteditoroperation\"},\"$:/core/modules/editor/operations/text/replace-selection.js\":{\"title\":\"$:/core/modules/editor/operations/text/replace-selection.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/operations/text/replace-selection.js\\ntype: application/javascript\\nmodule-type: texteditoroperation\\n\\nText editor operation to replace the selection\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports[\\\"replace-selection\\\"] = function(event,operation) {\\n\\toperation.replacement = event.paramObject.text;\\n\\toperation.cutStart = operation.selStart;\\n\\toperation.cutEnd = operation.selEnd;\\n\\toperation.newSelStart = operation.selStart;\\n\\toperation.newSelEnd = operation.selStart + operation.replacement.length;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"texteditoroperation\"},\"$:/core/modules/editor/operations/text/save-selection.js\":{\"title\":\"$:/core/modules/editor/operations/text/save-selection.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/operations/text/save-selection.js\\ntype: application/javascript\\nmodule-type: texteditoroperation\\n\\nText editor operation to save the current selection in a specified tiddler\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports[\\\"save-selection\\\"] = function(event,operation) {\\n\\tvar tiddler = event.paramObject.tiddler,\\n\\t\\tfield = event.paramObject.field || \\\"text\\\";\\n\\tif(tiddler && field) {\\n\\t\\tthis.wiki.setText(tiddler,field,null,operation.text.substring(operation.selStart,operation.selEnd));\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"texteditoroperation\"},\"$:/core/modules/editor/operations/text/wrap-lines.js\":{\"title\":\"$:/core/modules/editor/operations/text/wrap-lines.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/operations/text/wrap-lines.js\\ntype: application/javascript\\nmodule-type: texteditoroperation\\n\\nText editor operation to wrap the selected lines with a prefix and suffix\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports[\\\"wrap-lines\\\"] = function(event,operation) {\\n\\tvar prefix = event.paramObject.prefix || \\\"\\\",\\n\\t\\tsuffix = event.paramObject.suffix || \\\"\\\";\\n\\tif($tw.utils.endsWith(operation.text.substring(0,operation.selStart), prefix + \\\"\\\\n\\\") &&\\n\\t\\t\\t$tw.utils.startsWith(operation.text.substring(operation.selEnd), \\\"\\\\n\\\" + suffix)) {\\n\\t\\t// Selected text is already surrounded by prefix and suffix: Remove them\\n\\t\\t// Cut selected text plus prefix and suffix\\n\\t\\toperation.cutStart = operation.selStart - (prefix.length + 1);\\n\\t\\toperation.cutEnd = operation.selEnd + suffix.length + 1;\\n\\t\\t// Also cut the following newline (if there is any)\\n\\t\\tif (operation.text[operation.cutEnd] === \\\"\\\\n\\\") {\\n\\t\\t\\toperation.cutEnd++;\\n\\t\\t}\\n\\t\\t// Replace with selection\\n\\t\\toperation.replacement = operation.text.substring(operation.selStart,operation.selEnd);\\n\\t\\t// Select text that was in between prefix and suffix\\n\\t\\toperation.newSelStart = operation.cutStart;\\n\\t\\toperation.newSelEnd = operation.selEnd - (prefix.length + 1);\\n\\t} else {\\n\\t\\t// Cut just past the preceding line break, or the start of the text\\n\\t\\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\\n\\t\\t// Cut to just past the following line break, or to the end of the text\\n\\t\\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\\n\\t\\t// Add the prefix and suffix\\n\\t\\toperation.replacement = prefix + \\\"\\\\n\\\" +\\n\\t\\t\\t\\t\\toperation.text.substring(operation.cutStart,operation.cutEnd) + \\\"\\\\n\\\" +\\n\\t\\t\\t\\t\\tsuffix + \\\"\\\\n\\\";\\n\\t\\toperation.newSelStart = operation.cutStart + prefix.length + 1;\\n\\t\\toperation.newSelEnd = operation.newSelStart + (operation.cutEnd - operation.cutStart);\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"texteditoroperation\"},\"$:/core/modules/editor/operations/text/wrap-selection.js\":{\"title\":\"$:/core/modules/editor/operations/text/wrap-selection.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/editor/operations/text/wrap-selection.js\\ntype: application/javascript\\nmodule-type: texteditoroperation\\n\\nText editor operation to wrap the selection with the specified prefix and suffix\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports[\\\"wrap-selection\\\"] = function(event,operation) {\\n\\tif(operation.selStart === operation.selEnd) {\\n\\t\\t// No selection; check if we're within the prefix/suffix\\n\\t\\tif(operation.text.substring(operation.selStart - event.paramObject.prefix.length,operation.selStart + event.paramObject.suffix.length) === event.paramObject.prefix + event.paramObject.suffix) {\\n\\t\\t\\t// Remove the prefix and suffix\\n\\t\\t\\toperation.cutStart = operation.selStart - event.paramObject.prefix.length;\\n\\t\\t\\toperation.cutEnd = operation.selEnd + event.paramObject.suffix.length;\\n\\t\\t\\toperation.replacement = \\\"\\\";\\n\\t\\t\\toperation.newSelStart = operation.cutStart;\\n\\t\\t\\toperation.newSelEnd = operation.newSelStart;\\n\\t\\t} else {\\n\\t\\t\\t// Wrap the cursor instead\\n\\t\\t\\toperation.cutStart = operation.selStart;\\n\\t\\t\\toperation.cutEnd = operation.selEnd;\\n\\t\\t\\toperation.replacement = event.paramObject.prefix + event.paramObject.suffix;\\n\\t\\t\\toperation.newSelStart = operation.selStart + event.paramObject.prefix.length;\\n\\t\\t\\toperation.newSelEnd = operation.newSelStart;\\n\\t\\t}\\n\\t} else if(operation.text.substring(operation.selStart,operation.selStart + event.paramObject.prefix.length) === event.paramObject.prefix && operation.text.substring(operation.selEnd - event.paramObject.suffix.length,operation.selEnd) === event.paramObject.suffix) {\\n\\t\\t// Prefix and suffix are already present, so remove them\\n\\t\\toperation.cutStart = operation.selStart;\\n\\t\\toperation.cutEnd = operation.selEnd;\\n\\t\\toperation.replacement = operation.selection.substring(event.paramObject.prefix.length,operation.selection.length - event.paramObject.suffix.length);\\n\\t\\toperation.newSelStart = operation.selStart;\\n\\t\\toperation.newSelEnd = operation.selStart + operation.replacement.length;\\n\\t} else {\\n\\t\\t// Add the prefix and suffix\\n\\t\\toperation.cutStart = operation.selStart;\\n\\t\\toperation.cutEnd = operation.selEnd;\\n\\t\\toperation.replacement = event.paramObject.prefix + operation.selection + event.paramObject.suffix;\\n\\t\\toperation.newSelStart = operation.selStart;\\n\\t\\toperation.newSelEnd = operation.selStart + operation.replacement.length;\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"texteditoroperation\"},\"$:/core/modules/filterrunprefixes/all.js\":{\"title\":\"$:/core/modules/filterrunprefixes/all.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filterrunprefixes/all.js\\ntype: application/javascript\\nmodule-type: filterrunprefix\\n\\nUnion of sets without de-duplication.\\nEquivalent to = filter run prefix.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter prefix function\\n*/\\nexports.all = function(operationSubFunction) {\\n\\treturn function(results,source,widget) {\\n\\t\\tresults.push.apply(results, operationSubFunction(source,widget));\\n\\t};\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filterrunprefix\"},\"$:/core/modules/filterrunprefixes/and.js\":{\"title\":\"$:/core/modules/filterrunprefixes/and.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filterrunprefixes/and.js\\ntype: application/javascript\\nmodule-type: filterrunprefix\\n\\nIntersection of sets.\\nEquivalent to + filter run prefix.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter prefix function\\n*/\\nexports.and = function(operationSubFunction,options) {\\n\\treturn function(results,source,widget) {\\n\\t\\t// This replaces all the elements of the array, but keeps the actual array so that references to it are preserved\\n\\t\\tsource = options.wiki.makeTiddlerIterator(results.toArray());\\n\\t\\tresults.clear();\\n\\t\\tresults.pushTop(operationSubFunction(source,widget));\\n\\t};\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filterrunprefix\"},\"$:/core/modules/filterrunprefixes/cascade.js\":{\"title\":\"$:/core/modules/filterrunprefixes/cascade.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filterrunprefixes/cascade.js\\ntype: application/javascript\\nmodule-type: filterrunprefix\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter prefix function\\n*/\\nexports.cascade = function(operationSubFunction,options) {\\n\\treturn function(results,source,widget) {\\n\\t\\tif(results.length !== 0) {\\n\\t\\t\\tvar filterList = operationSubFunction(source,widget),\\n\\t\\t\\t\\tfilterFnList = [];\\n\\t\\t\\tvar inputResults = results.toArray();\\n\\t\\t\\tresults.clear();\\n\\t\\t\\t$tw.utils.each(inputResults,function(title) {\\n\\t\\t\\t\\tvar result = \\\"\\\"; // If no filter matches, we return an empty string\\n\\t\\t\\t\\t$tw.utils.each(filterList,function(filter,index) {\\n\\t\\t\\t\\t\\tif(!filterFnList[index]) {\\n\\t\\t\\t\\t\\t\\tfilterFnList[index] = options.wiki.compileFilter(filter);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tvar output = filterFnList[index](options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\\n\\t\\t\\t\\t\\t\\t\\\"currentTiddler\\\": \\\"\\\" + title,\\n\\t\\t\\t\\t\\t\\t\\\"..currentTiddler\\\": widget.getVariable(\\\"currentTiddler\\\",\\\"\\\")\\n\\t\\t\\t\\t\\t}));\\n\\t\\t\\t\\t\\tif(output.length !== 0) {\\n\\t\\t\\t\\t\\t\\tresult = output[0];\\n\\t\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\tresults.push(result);\\n\\t\\t\\t});\\n\\t\\t}\\n\\t}\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"filterrunprefix\"},\"$:/core/modules/filterrunprefixes/else.js\":{\"title\":\"$:/core/modules/filterrunprefixes/else.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filterrunprefixes/else.js\\ntype: application/javascript\\nmodule-type: filterrunprefix\\n\\nEquivalent to ~ filter run prefix.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter prefix function\\n*/\\nexports.else = function(operationSubFunction) {\\n\\treturn function(results,source,widget) {\\n\\t\\tif(results.length === 0) {\\n\\t\\t\\t// Main result so far is empty\\n\\t\\t\\tresults.pushTop(operationSubFunction(source,widget));\\n\\t\\t}\\n\\t};\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filterrunprefix\"},\"$:/core/modules/filterrunprefixes/except.js\":{\"title\":\"$:/core/modules/filterrunprefixes/except.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filterrunprefixes/except.js\\ntype: application/javascript\\nmodule-type: filterrunprefix\\n\\nDifference of sets.\\nEquivalent to - filter run prefix.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter prefix function\\n*/\\nexports.except = function(operationSubFunction) {\\n\\treturn function(results,source,widget) {\\n\\t\\tresults.remove(operationSubFunction(source,widget));\\n\\t};\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filterrunprefix\"},\"$:/core/modules/filterrunprefixes/filter.js\":{\"title\":\"$:/core/modules/filterrunprefixes/filter.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filterrunprefixes/filter.js\\ntype: application/javascript\\nmodule-type: filterrunprefix\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.filter = function(operationSubFunction,options) {\\n\\treturn function(results,source,widget) {\\n\\t\\tif(results.length > 0) {\\n\\t\\t\\tvar resultsToRemove = [],\\n\\t\\t\\t\\tindex = 0;\\n\\t\\t\\tresults.each(function(title) {\\n\\t\\t\\t\\tvar filtered = operationSubFunction(options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\\n\\t\\t\\t\\t\\t\\\"currentTiddler\\\": \\\"\\\" + title,\\n\\t\\t\\t\\t\\t\\\"..currentTiddler\\\": widget.getVariable(\\\"currentTiddler\\\",\\\"\\\"),\\n\\t\\t\\t\\t\\t\\\"index\\\": \\\"\\\" + index,\\n\\t\\t\\t\\t\\t\\\"revIndex\\\": \\\"\\\" + (results.length - 1 - index),\\n\\t\\t\\t\\t\\t\\\"length\\\": \\\"\\\" + results.length\\n\\t\\t\\t\\t}));\\n\\t\\t\\t\\tif(filtered.length === 0) {\\n\\t\\t\\t\\t\\tresultsToRemove.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t++index;\\n\\t\\t\\t});\\n\\t\\t\\tresults.remove(resultsToRemove);\\n\\t\\t}\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filterrunprefix\"},\"$:/core/modules/filterrunprefixes/intersection.js\":{\"title\":\"$:/core/modules/filterrunprefixes/intersection.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filterrunprefixes/intersection.js\\ntype: application/javascript\\nmodule-type: filterrunprefix\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter prefix function\\n*/\\nexports.intersection = function(operationSubFunction) {\\n\\treturn function(results,source,widget) {\\n\\t\\tif(results.length !== 0) {\\n\\t\\t\\tvar secondRunResults = operationSubFunction(source,widget);\\n\\t\\t\\tvar firstRunResults = results.toArray();\\n\\t\\t\\tresults.clear();\\n\\t\\t\\t$tw.utils.each(firstRunResults,function(title) {\\n\\t\\t\\t\\tif(secondRunResults.indexOf(title) !== -1) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t};\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filterrunprefix\"},\"$:/core/modules/filterrunprefixes/map.js\":{\"title\":\"$:/core/modules/filterrunprefixes/map.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filterrunprefixes/map.js\\ntype: application/javascript\\nmodule-type: filterrunprefix\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter prefix function\\n*/\\nexports.map = function(operationSubFunction,options) {\\n\\treturn function(results,source,widget) {\\n\\t\\tif(results.length > 0) {\\n\\t\\t\\tvar inputTitles = results.toArray(),\\n\\t\\t\\t\\tindex = 0,\\n\\t\\t\\t\\tsuffixes = options.suffixes,\\n\\t\\t\\t\\tflatten = (suffixes[0] && suffixes[0][0] === \\\"flat\\\") ? true : false;\\n\\t\\t\\tresults.clear();\\n\\t\\t\\t$tw.utils.each(inputTitles,function(title) {\\n\\t\\t\\t\\tvar filtered = operationSubFunction(options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\\n\\t\\t\\t\\t\\t\\\"currentTiddler\\\": \\\"\\\" + title,\\n\\t\\t\\t\\t\\t\\\"..currentTiddler\\\": widget.getVariable(\\\"currentTiddler\\\",\\\"\\\"),\\n\\t\\t\\t\\t\\t\\\"index\\\": \\\"\\\" + index,\\n\\t\\t\\t\\t\\t\\\"revIndex\\\": \\\"\\\" + (inputTitles.length - 1 - index),\\n\\t\\t\\t\\t\\t\\\"length\\\": \\\"\\\" + inputTitles.length\\n\\t\\t\\t\\t}));\\n\\t\\t\\t\\tif(filtered.length && flatten) {\\n\\t\\t\\t\\t\\t$tw.utils.each(filtered,function(value) {\\n\\t\\t\\t\\t\\t\\tresults.push(value);\\n\\t\\t\\t\\t\\t})\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tresults.push(filtered[0]||\\\"\\\");\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t++index;\\n\\t\\t\\t});\\n\\t\\t}\\n\\t}\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"filterrunprefix\"},\"$:/core/modules/filterrunprefixes/or.js\":{\"title\":\"$:/core/modules/filterrunprefixes/or.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filterrunprefixes/or.js\\ntype: application/javascript\\nmodule-type: filterrunprefix\\n\\nEquivalent to a filter run with no prefix.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter prefix function\\n*/\\nexports.or = function(operationSubFunction) {\\n\\treturn function(results,source,widget) {\\n\\t\\tresults.pushTop(operationSubFunction(source,widget));\\n\\t};\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filterrunprefix\"},\"$:/core/modules/filterrunprefixes/reduce.js\":{\"title\":\"$:/core/modules/filterrunprefixes/reduce.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filterrunprefixes/reduce.js\\ntype: application/javascript\\nmodule-type: filterrunprefix\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter prefix function\\n*/\\nexports.reduce = function(operationSubFunction,options) {\\n\\treturn function(results,source,widget) {\\n\\t\\tif(results.length > 0) {\\n\\t\\t\\tvar accumulator = \\\"\\\",\\n\\t\\t\\t\\tindex = 0;\\n\\t\\t\\tresults.each(function(title) {\\n\\t\\t\\t\\tvar list = operationSubFunction(options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\\n\\t\\t\\t\\t\\t\\\"currentTiddler\\\": \\\"\\\" + title,\\n\\t\\t\\t\\t\\t\\\"..currentTiddler\\\": widget.getVariable(\\\"currentTiddler\\\"),\\n\\t\\t\\t\\t\\t\\\"index\\\": \\\"\\\" + index,\\n\\t\\t\\t\\t\\t\\\"revIndex\\\": \\\"\\\" + (results.length - 1 - index),\\n\\t\\t\\t\\t\\t\\\"length\\\": \\\"\\\" + results.length,\\n\\t\\t\\t\\t\\t\\\"accumulator\\\": \\\"\\\" + accumulator\\n\\t\\t\\t\\t}));\\n\\t\\t\\t\\tif(list.length > 0) {\\n\\t\\t\\t\\t\\taccumulator = \\\"\\\" + list[0];\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t++index;\\n\\t\\t\\t});\\n\\t\\t\\tresults.clear();\\n\\t\\t\\tresults.push(accumulator);\\n\\t\\t}\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filterrunprefix\"},\"$:/core/modules/filterrunprefixes/sort.js\":{\"title\":\"$:/core/modules/filterrunprefixes/sort.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filterrunprefixes/sort.js\\ntype: application/javascript\\nmodule-type: filterrunprefix\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter prefix function\\n*/\\nexports.sort = function(operationSubFunction,options) {\\n\\treturn function(results,source,widget) {\\n\\t\\tif(results.length > 0) {\\n\\t\\t\\tvar suffixes = options.suffixes,\\n\\t\\t\\t\\tsortType = (suffixes[0] && suffixes[0][0]) ? suffixes[0][0] : \\\"string\\\",\\n\\t\\t\\t\\tinvert = suffixes[1] ? (suffixes[1].indexOf(\\\"reverse\\\") !== -1) : false,\\n\\t\\t\\t\\tisCaseSensitive = suffixes[1] ? (suffixes[1].indexOf(\\\"casesensitive\\\") !== -1) : false,\\n\\t\\t\\t\\tinputTitles = results.toArray(),\\n\\t\\t\\t\\tsortKeys = [],\\n\\t\\t\\t\\tindexes = new Array(inputTitles.length),\\n\\t\\t\\t\\tcompareFn;\\n\\t\\t\\tresults.each(function(title) {\\n\\t\\t\\t\\tvar key = operationSubFunction(options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\\n\\t\\t\\t\\t\\t\\\"currentTiddler\\\": \\\"\\\" + title,\\n\\t\\t\\t\\t\\t\\\"..currentTiddler\\\": widget.getVariable(\\\"currentTiddler\\\")\\n\\t\\t\\t\\t}));\\n\\t\\t\\t\\tsortKeys.push(key[0] || \\\"\\\");\\n\\t\\t\\t});\\n\\t\\t\\tresults.clear();\\n\\t\\t\\t// Prepare an array of indexes to sort\\n\\t\\t\\tfor(var t=0; t<inputTitles.length; t++) {\\n\\t\\t\\t\\tindexes[t] = t;\\n\\t\\t\\t}\\n\\t\\t\\t// Sort the indexes\\n\\t\\t\\tcompareFn = $tw.utils.makeCompareFunction(sortType,{defaultType: \\\"string\\\", invert:invert, isCaseSensitive:isCaseSensitive});\\n\\t\\t\\tindexes = indexes.sort(function(a,b) {\\n\\t\\t\\t\\t\\treturn compareFn(sortKeys[a],sortKeys[b]);\\n\\t\\t\\t});\\n\\t\\t\\t// Add to results in correct order\\n\\t\\t\\t$tw.utils.each(indexes,function(index) {\\n\\t\\t\\t\\tresults.push(inputTitles[index]);\\n\\t\\t\\t});\\n\\t\\t}\\n\\t}\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"filterrunprefix\"},\"$:/core/modules/filterrunprefixes/then.js\":{\"title\":\"$:/core/modules/filterrunprefixes/then.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filterrunprefixes/then.js\\ntype: application/javascript\\nmodule-type: filterrunprefix\\n\\nReplace results of previous runs unless empty\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter prefix function\\n*/\\nexports.then = function(operationSubFunction) {\\n\\treturn function(results,source,widget) {\\n\\t\\tif(results.length !== 0) {\\n\\t\\t\\t// Only run if previous run(s) produced results\\n\\t\\t\\tvar thisRunResult = operationSubFunction(source,widget);\\n\\t\\t\\tif(thisRunResult.length !== 0) {\\n\\t\\t\\t\\t// Replace results only if this run actually produces a result\\n\\t\\t\\t\\tresults.clear();\\n\\t\\t\\t\\tresults.pushTop(thisRunResult);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filterrunprefix\"},\"$:/core/modules/filters/addprefix.js\":{\"title\":\"$:/core/modules/filters/addprefix.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/addprefix.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for adding a prefix to each title in the list. This is\\nespecially useful in contexts where only a filter expression is allowed\\nand macro substitution isn't available.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.addprefix = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(operator.operand + title);\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/addsuffix.js\":{\"title\":\"$:/core/modules/filters/addsuffix.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/addsuffix.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for adding a suffix to each title in the list. This is\\nespecially useful in contexts where only a filter expression is allowed\\nand macro substitution isn't available.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.addsuffix = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(title + operator.operand);\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/after.js\":{\"title\":\"$:/core/modules/filters/after.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/after.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator returning the tiddler from the current list that is after the tiddler named in the operand.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.after = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(title);\\n\\t});\\n\\tvar index = results.indexOf(operator.operand);\\n\\tif(index === -1 || index > (results.length - 2)) {\\n\\t\\treturn [];\\n\\t} else {\\n\\t\\treturn [results[index + 1]];\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/all/current.js\":{\"title\":\"$:/core/modules/filters/all/current.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/all/current.js\\ntype: application/javascript\\nmodule-type: allfilteroperator\\n\\nFilter function for [all[current]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.current = function(source,prefix,options) {\\n\\tvar currTiddlerTitle = options.widget && options.widget.getVariable(\\\"currentTiddler\\\");\\n\\tif(currTiddlerTitle) {\\n\\t\\treturn [currTiddlerTitle];\\n\\t} else {\\n\\t\\treturn [];\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"allfilteroperator\"},\"$:/core/modules/filters/all/missing.js\":{\"title\":\"$:/core/modules/filters/all/missing.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/all/missing.js\\ntype: application/javascript\\nmodule-type: allfilteroperator\\n\\nFilter function for [all[missing]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.missing = function(source,prefix,options) {\\n\\treturn options.wiki.getMissingTitles();\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"allfilteroperator\"},\"$:/core/modules/filters/all/orphans.js\":{\"title\":\"$:/core/modules/filters/all/orphans.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/all/orphans.js\\ntype: application/javascript\\nmodule-type: allfilteroperator\\n\\nFilter function for [all[orphans]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.orphans = function(source,prefix,options) {\\n\\treturn options.wiki.getOrphanTitles();\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"allfilteroperator\"},\"$:/core/modules/filters/all/shadows.js\":{\"title\":\"$:/core/modules/filters/all/shadows.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/all/shadows.js\\ntype: application/javascript\\nmodule-type: allfilteroperator\\n\\nFilter function for [all[shadows]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.shadows = function(source,prefix,options) {\\n\\treturn options.wiki.allShadowTitles();\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"allfilteroperator\"},\"$:/core/modules/filters/all/tags.js\":{\"title\":\"$:/core/modules/filters/all/tags.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/all/tags.js\\ntype: application/javascript\\nmodule-type: allfilteroperator\\n\\nFilter function for [all[tags]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.tags = function(source,prefix,options) {\\n\\treturn Object.keys(options.wiki.getTagMap());\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"allfilteroperator\"},\"$:/core/modules/filters/all/tiddlers.js\":{\"title\":\"$:/core/modules/filters/all/tiddlers.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/all/tiddlers.js\\ntype: application/javascript\\nmodule-type: allfilteroperator\\n\\nFilter function for [all[tiddlers]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.tiddlers = function(source,prefix,options) {\\n\\treturn options.wiki.allTitles();\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"allfilteroperator\"},\"$:/core/modules/filters/all.js\":{\"title\":\"$:/core/modules/filters/all.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/all.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for selecting tiddlers\\n\\n[all[shadows+tiddlers]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar allFilterOperators;\\n\\nfunction getAllFilterOperators() {\\n\\tif(!allFilterOperators) {\\n\\t\\tallFilterOperators = {};\\n\\t\\t$tw.modules.applyMethods(\\\"allfilteroperator\\\",allFilterOperators);\\n\\t}\\n\\treturn allFilterOperators;\\n}\\n\\n/*\\nExport our filter function\\n*/\\nexports.all = function(source,operator,options) {\\n\\t// Check for common optimisations\\n\\tvar subops = operator.operand.split(\\\"+\\\");\\n\\tif(subops.length === 1 && subops[0] === \\\"\\\") {\\n\\t\\treturn source;\\n\\t} else if(subops.length === 1 && subops[0] === \\\"tiddlers\\\") {\\n\\t\\treturn options.wiki.each;\\n\\t} else if(subops.length === 1 && subops[0] === \\\"shadows\\\") {\\n\\t\\treturn options.wiki.eachShadow;\\n\\t} else if(subops.length === 2 && subops[0] === \\\"tiddlers\\\" && subops[1] === \\\"shadows\\\") {\\n\\t\\treturn options.wiki.eachTiddlerPlusShadows;\\n\\t} else if(subops.length === 2 && subops[0] === \\\"shadows\\\" && subops[1] === \\\"tiddlers\\\") {\\n\\t\\treturn options.wiki.eachShadowPlusTiddlers;\\n\\t}\\n\\t// Do it the hard way\\n\\t// Get our suboperators\\n\\tvar allFilterOperators = getAllFilterOperators();\\n\\t// Cycle through the suboperators accumulating their results\\n\\tvar results = new $tw.utils.LinkedList();\\n\\tfor(var t=0; t<subops.length; t++) {\\n\\t\\tvar subop = allFilterOperators[subops[t]];\\n\\t\\tif(subop) {\\n\\t\\t\\tresults.pushTop(subop(source,operator.prefix,options));\\n\\t\\t}\\n\\t}\\n\\treturn results.makeTiddlerIterator(options.wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/backlinks.js\":{\"title\":\"$:/core/modules/filters/backlinks.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/backlinks.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for returning all the backlinks from a tiddler\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.backlinks = function(source,operator,options) {\\n\\tvar results = new $tw.utils.LinkedList();\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.pushTop(options.wiki.getTiddlerBacklinks(title));\\n\\t});\\n\\treturn results.makeTiddlerIterator(options.wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/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\\tvar binary = operator.suffixes && operator.suffixes.indexOf(\\\"binary\\\") !== -1;\\n\\tvar urlsafe = operator.suffixes && operator.suffixes.indexOf(\\\"urlsafe\\\") !== -1;\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push($tw.utils.base64Decode(title,binary,urlsafe));\\n\\t});\\n\\treturn results;\\n};\\n\\nexports.encodebase64 = function(source,operator,options) {\\n\\tvar results = [];\\n\\tvar binary = operator.suffixes && operator.suffixes.indexOf(\\\"binary\\\") !== -1;\\n\\tvar urlsafe = operator.suffixes && operator.suffixes.indexOf(\\\"urlsafe\\\") !== -1;\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push($tw.utils.base64Encode(title,binary,urlsafe));\\n\\t});\\n\\treturn results;\\n};\\n\\nexports.decodeuricomponent = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push($tw.utils.decodeURIComponentSafe(title));\\n\\t});\\n\\treturn results;\\n};\\n\\nexports.encodeuricomponent = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push($tw.utils.encodeURIComponentExtended(title));\\n\\t});\\n\\treturn results;\\n};\\n\\nexports.decodeuri = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push($tw.utils.decodeURISafe(title));\\n\\t});\\n\\treturn results;\\n};\\n\\nexports.encodeuri = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(encodeURI(title));\\n\\t});\\n\\treturn results;\\n};\\n\\nexports.decodehtml = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push($tw.utils.htmlDecode(title));\\n\\t});\\n\\treturn results;\\n};\\n\\nexports.encodehtml = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push($tw.utils.htmlEncode(title));\\n\\t});\\n\\treturn results;\\n};\\n\\nexports.stringify = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push($tw.utils.stringify(title,(operator.suffix === \\\"rawunicode\\\")));\\n\\t});\\n\\treturn results;\\n};\\n\\nexports.jsonstringify = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push($tw.utils.jsonStringify(title,(operator.suffix === \\\"rawunicode\\\")));\\n\\t});\\n\\treturn results;\\n};\\n\\nexports.escaperegexp = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push($tw.utils.escapeRegExp(title));\\n\\t});\\n\\treturn results;\\n};\\n\\nexports.escapecss = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\t// escape any character with a special meaning in CSS using CSS.escape()\\n\\t\\tresults.push($tw.utils.escapeCSS(title));\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/enlist.js\":{\"title\":\"$:/core/modules/filters/enlist.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/enlist.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator returning its operand parsed as a list\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.enlist = function(source,operator,options) {\\n\\tvar allowDuplicates = false;\\n\\tswitch(operator.suffix) {\\n\\t\\tcase \\\"raw\\\":\\n\\t\\t\\tallowDuplicates = true;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"dedupe\\\":\\n\\t\\t\\tallowDuplicates = false;\\n\\t\\t\\tbreak;\\n\\t}\\n\\tvar list = $tw.utils.parseStringArray(operator.operand,allowDuplicates);\\n\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\tvar results = [];\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(list.indexOf(title) === -1) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\treturn results;\\n\\t} else {\\n\\t\\treturn list;\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/field.js\":{\"title\":\"$:/core/modules/filters/field.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/field.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for comparing fields for equality\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.field = function(source,operator,options) {\\n\\tvar results = [],indexedResults,\\n\\t\\tfieldname = operator.suffix || operator.operator || \\\"title\\\";\\n\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\tif(operator.regexp) {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(tiddler) {\\n\\t\\t\\t\\t\\tvar text = tiddler.getFieldString(fieldname);\\n\\t\\t\\t\\t\\tif(text !== null && !operator.regexp.exec(text)) {\\n\\t\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(tiddler) {\\n\\t\\t\\t\\t\\tvar text = tiddler.getFieldString(fieldname);\\n\\t\\t\\t\\t\\tif(text !== null && text !== operator.operand) {\\n\\t\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t} else {\\n\\t\\tif(operator.regexp) {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(tiddler) {\\n\\t\\t\\t\\t\\tvar text = tiddler.getFieldString(fieldname);\\n\\t\\t\\t\\t\\tif(text !== null && !!operator.regexp.exec(text)) {\\n\\t\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tif(source.byField && operator.operand) {\\n\\t\\t\\t\\tindexedResults = source.byField(fieldname,operator.operand);\\n\\t\\t\\t\\tif(indexedResults) {\\n\\t\\t\\t\\t\\treturn indexedResults\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(tiddler) {\\n\\t\\t\\t\\t\\tvar text = tiddler.getFieldString(fieldname);\\n\\t\\t\\t\\t\\tif(text !== null && text === operator.operand) {\\n\\t\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/fields.js\":{\"title\":\"$:/core/modules/filters/fields.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/fields.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for returning the names of the fields on the selected tiddlers\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.fields = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tfieldName,\\n\\t\\tsuffixes = (operator.suffixes || [])[0] || [],\\n\\t\\toperand = $tw.utils.parseStringArray(operator.operand);\\n\\n\\tsource(function(tiddler,title) {\\n\\t\\tif(tiddler) {\\n\\t\\t\\tif(suffixes.indexOf(\\\"include\\\") !== -1) {\\n\\t\\t\\t\\tfor(fieldName in tiddler.fields) {\\n\\t\\t\\t\\t\\t(operand.indexOf(fieldName) !== -1) ? $tw.utils.pushTop(results,fieldName) : \\\"\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else if (suffixes.indexOf(\\\"exclude\\\") !== -1) {\\n\\t\\t\\t\\tfor(fieldName in tiddler.fields) {\\n\\t\\t\\t\\t\\t(operand.indexOf(fieldName) !== -1) ? \\\"\\\" : $tw.utils.pushTop(results,fieldName);\\n\\t\\t\\t\\t}\\n\\t\\t\\t} // else if\\n\\t\\t\\telse {\\n\\t\\t\\t\\tfor(fieldName in tiddler.fields) {\\n\\t\\t\\t\\t\\t$tw.utils.pushTop(results,fieldName);\\n\\t\\t\\t\\t}\\n\\t\\t\\t} // else\\n\\t\\t} // if (tiddler)\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/filter.js\":{\"title\":\"$:/core/modules/filters/filter.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/filter.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator returning those input titles that pass a subfilter\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.filter = function(source,operator,options) {\\n\\tvar filterFn = options.wiki.compileFilter(operator.operand),\\n\\t\\tresults = [],\\n\\t\\ttarget = operator.prefix !== \\\"!\\\";\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar list = filterFn.call(options.wiki,options.wiki.makeTiddlerIterator([title]),options.widget.makeFakeWidgetWithVariables({\\n\\t\\t\\t\\\"currentTiddler\\\": \\\"\\\" + title,\\n\\t\\t\\t\\\"..currentTiddler\\\": options.widget.getVariable(\\\"currentTiddler\\\",\\\"\\\")\\n\\t\\t}));\\n\\t\\tif((list.length > 0) === target) {\\n\\t\\t\\tresults.push(title);\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/format/date.js\":{\"title\":\"$:/core/modules/filters/format/date.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/format/date.js\\ntype: application/javascript\\nmodule-type: formatfilteroperator\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.date = function(source,operand,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar value = $tw.utils.parseDate(title);\\n\\t\\tif(value && $tw.utils.isDate(value) && value.toString() !== \\\"Invalid Date\\\") {\\n\\t\\t\\tresults.push($tw.utils.formatDateString(value,operand || \\\"YYYY MM DD 0hh:0mm\\\"));\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"formatfilteroperator\"},\"$:/core/modules/filters/format/json.js\":{\"title\":\"$:/core/modules/filters/format/json.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/format/json.js\\ntype: application/javascript\\nmodule-type: formatfilteroperator\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.json = function(source,operand,options) {\\n\\tvar results = [],\\n\\t\\tspaces = null;\\n\\tif(operand) {\\n\\t\\tspaces = /^\\\\d+$/.test(operand) ? parseInt(operand,10) : operand;\\n\\t}\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar data = $tw.utils.parseJSONSafe(title);\\n\\t\\ttry {\\n\\t\\t\\tdata = JSON.parse(title);\\n\\t\\t} catch(e) {\\n\\t\\t\\tdata = undefined;\\n\\t\\t}\\n\\t\\tif(data !== undefined) {\\n\\t\\t\\tresults.push(JSON.stringify(data,null,spaces));\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"formatfilteroperator\"},\"$:/core/modules/filters/format/relativedate.js\":{\"title\":\"$:/core/modules/filters/format/relativedate.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/format/relativedate.js\\ntype: application/javascript\\nmodule-type: formatfilteroperator\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.relativedate = function(source,operand,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar value = $tw.utils.parseDate(title);\\n\\t\\tif(value && $tw.utils.isDate(value) && value.toString() !== \\\"Invalid Date\\\") {\\n\\t\\t\\tresults.push($tw.utils.getRelativeDate((new Date()) - (new Date(value))).description);\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"formatfilteroperator\"},\"$:/core/modules/filters/format/timestamp.js\":{\"title\":\"$:/core/modules/filters/format/timestamp.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/format/timestamp.js\\ntype: application/javascript\\nmodule-type: formatfilteroperator\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.timestamp = function(source,operand,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tif (title.match(/^-?\\\\d+$/)) {\\n\\t\\t\\tvar value = new Date(Number(title));\\n\\t\\t\\tresults.push($tw.utils.formatDateString(value,operand || \\\"[UTC]YYYY0MM0DD0hh0mm0ss0XXX\\\"));\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"formatfilteroperator\"},\"$:/core/modules/filters/format/titlelist.js\":{\"title\":\"$:/core/modules/filters/format/titlelist.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/format/titlelist.js\\ntype: application/javascript\\nmodule-type: formatfilteroperator\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.titlelist = function(source,operand,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tif(title && title.length) {\\n\\t\\t\\tresults.push($tw.utils.stringifyList([title]));\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"formatfilteroperator\"},\"$:/core/modules/filters/format.js\":{\"title\":\"$:/core/modules/filters/format.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/format.js\\ntype: application/javascript\\nmodule-type: filteroperator\\nFilter operator for formatting strings\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar formatFilterOperators;\\n\\nfunction getFormatFilterOperators() {\\n\\tif(!formatFilterOperators) {\\n\\t\\tformatFilterOperators = {};\\n\\t\\t$tw.modules.applyMethods(\\\"formatfilteroperator\\\",formatFilterOperators);\\n\\t}\\n\\treturn formatFilterOperators;\\n}\\n\\n/*\\nExport our filter function\\n*/\\nexports.format = function(source,operator,options) {\\n\\t// Dispatch to the correct formatfilteroperator\\n\\tvar formatFilterOperators = getFormatFilterOperators();\\n\\tif(operator.suffix) {\\n\\t\\tvar formatFilterOperator = formatFilterOperators[operator.suffix];\\n\\t\\tif(formatFilterOperator) {\\n\\t\\t\\treturn formatFilterOperator(source,operator.operand,options);\\n\\t\\t} else {\\n\\t\\t\\treturn [$tw.language.getString(\\\"Error/FormatFilterOperator\\\")];\\n\\t\\t}\\n\\t} else {\\n\\t\\t// Return all unchanged if the suffix is missing\\n\\t\\tvar results = [];\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tresults.push(title);\\n\\t\\t});\\n\\t\\treturn results;\\n\\t}\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/function.js\":{\"title\":\"$:/core/modules/filters/function.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/function.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator returning those input titles that are returned from a function\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.function = function(source,operator,options) {\\n\\tvar functionName = operator.operands[0],\\n\\t\\tparams = [];\\n\\t$tw.utils.each(operator.operands.slice(1),function(param) {\\n\\t\\tparams.push({value: param});\\n\\t});\\n\\tvar variableInfo = options.widget && options.widget.getVariableInfo && options.widget.getVariableInfo(functionName,{params: params, source: source});\\n\\tif(variableInfo && variableInfo.srcVariable && variableInfo.srcVariable.isFunctionDefinition) {\\n\\t\\treturn variableInfo.resultList ? variableInfo.resultList : [variableInfo.text];\\n\\t}\\n\\t// Return the input list if the function wasn't found\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(title);\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/get.js\":{\"title\":\"$:/core/modules/filters/get.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/get.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for replacing tiddler titles by the value of the field specified in the operand.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.get = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tif(tiddler) {\\n\\t\\t\\tvar value = tiddler.getFieldString(operator.operand);\\n\\t\\t\\tif(value) {\\n\\t\\t\\t\\tresults.push(value);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/getindex.js\":{\"title\":\"$:/core/modules/filters/getindex.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/getindex.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nreturns the value at a given index of datatiddlers\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.getindex = function(source,operator,options) {\\n\\tvar data,title,results = [];\\n\\tif(operator.operand){\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\ttitle = tiddler ? tiddler.fields.title : title;\\n\\t\\t\\tdata = options.wiki.extractTiddlerDataItem(tiddler,operator.operand);\\n\\t\\t\\tif(data) {\\n\\t\\t\\t\\tresults.push(data);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/getvariable.js\":{\"title\":\"$:/core/modules/filters/getvariable.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/getvariable.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for replacing input values by the value of the variable with the same name, or blank if the variable is missing\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.getvariable = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(options.widget.getVariable(title) || \\\"\\\");\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/has.js\":{\"title\":\"$:/core/modules/filters/has.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/has.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for checking if a tiddler has the specified field or index\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.has = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tinvert = operator.prefix === \\\"!\\\";\\n\\n\\tif(operator.suffix === \\\"field\\\") {\\n\\t\\tif(invert) {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(!tiddler || (tiddler && (!$tw.utils.hop(tiddler.fields,operator.operand)))) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand)) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t}\\n\\telse if(operator.suffix === \\\"index\\\") {\\n\\t\\tif(invert) {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(!tiddler || (tiddler && (!$tw.utils.hop(options.wiki.getTiddlerDataCached(tiddler,Object.create(null)),operator.operand)))) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(tiddler && $tw.utils.hop(options.wiki.getTiddlerDataCached(tiddler,Object.create(null)),operator.operand)) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t}\\n\\telse {\\n\\t\\tif(invert) {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(!tiddler || !$tw.utils.hop(tiddler.fields,operator.operand) || (tiddler.fields[operator.operand].length === 0)) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand) && (tiddler.fields[operator.operand].length !== 0)) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/haschanged.js\":{\"title\":\"$:/core/modules/filters/haschanged.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/haschanged.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator returns tiddlers from the list that have a non-zero changecount.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.haschanged = function(source,operator,options) {\\n\\tvar results = [];\\n\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(options.wiki.getChangeCount(title) === 0) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(options.wiki.getChangeCount(title) > 0) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/indexes.js\":{\"title\":\"$:/core/modules/filters/indexes.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/indexes.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for returning the indexes of a data tiddler\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.indexes = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar data = options.wiki.getTiddlerDataCached(title);\\n\\t\\tif(data) {\\n\\t\\t\\t$tw.utils.pushTop(results,Object.keys(data));\\n\\t\\t}\\n\\t});\\n\\tresults.sort();\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/insertafter.js\":{\"title\":\"$:/core/modules/filters/insertafter.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/insertafter.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nInsert an item after another item in a list\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nOrder a list\\n*/\\nexports.insertafter = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(title);\\n\\t});\\n\\tvar target = operator.operands[1] || (options.widget && options.widget.getVariable(operator.suffix || \\\"currentTiddler\\\"));\\n\\tif(target !== operator.operand) {\\n\\t\\t// Remove the entry from the list if it is present\\n\\t\\tvar pos = results.indexOf(operator.operand);\\n\\t\\tif(pos !== -1) {\\n\\t\\t\\tresults.splice(pos,1);\\n\\t\\t}\\n\\t\\t// Insert the entry after the target marker\\n\\t\\tpos = results.indexOf(target);\\n\\t\\tif(pos !== -1) {\\n\\t\\t\\tresults.splice(pos+1,0,operator.operand);\\n\\t\\t} else {\\n\\t\\t\\tvar suffix = operator.operands.length > 1 ? operator.suffix : \\\"\\\";\\n\\t\\t\\tif(suffix === \\\"start\\\") {\\n\\t\\t\\t\\tresults.splice(0,0,operator.operand);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tresults.push(operator.operand);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/insertbefore.js\":{\"title\":\"$:/core/modules/filters/insertbefore.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/insertbefore.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nInsert an item before another item in a list\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nOrder a list\\n*/\\nexports.insertbefore = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(title);\\n\\t});\\n\\tvar target = operator.operands[1] || (options.widget && options.widget.getVariable(operator.suffix || \\\"currentTiddler\\\"));\\n\\tif(target !== operator.operand) {\\n\\t\\t// Remove the entry from the list if it is present\\n\\t\\tvar pos = results.indexOf(operator.operand);\\n\\t\\tif(pos !== -1) {\\n\\t\\t\\tresults.splice(pos,1);\\n\\t\\t}\\n\\t\\t// Insert the entry before the target marker\\n\\t\\tpos = results.indexOf(target);\\n\\t\\tif(pos !== -1) {\\n\\t\\t\\tresults.splice(pos,0,operator.operand);\\n\\t\\t} else {\\n\\t\\t\\tvar suffix = operator.operands.length > 1 ? operator.suffix : \\\"\\\";\\n\\t\\t\\tif(suffix == \\\"start\\\") {\\n\\t\\t\\t\\tresults.splice(0,0,operator.operand);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tresults.push(operator.operand);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/is/binary.js\":{\"title\":\"$:/core/modules/filters/is/binary.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/is/binary.js\\ntype: application/javascript\\nmodule-type: isfilteroperator\\n\\nFilter function for [is[binary]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.binary = function(source,prefix,options) {\\n\\tvar results = [];\\n\\tif(prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(!options.wiki.isBinaryTiddler(title)) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(options.wiki.isBinaryTiddler(title)) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"isfilteroperator\"},\"$:/core/modules/filters/is/blank.js\":{\"title\":\"$:/core/modules/filters/is/blank.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/is/blank.js\\ntype: application/javascript\\nmodule-type: isfilteroperator\\n\\nFilter function for [is[blank]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.blank = function(source,prefix,options) {\\n\\tvar results = [];\\n\\tif(prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(title) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(!title) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"isfilteroperator\"},\"$:/core/modules/filters/is/current.js\":{\"title\":\"$:/core/modules/filters/is/current.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/is/current.js\\ntype: application/javascript\\nmodule-type: isfilteroperator\\n\\nFilter function for [is[current]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.current = function(source,prefix,options) {\\n\\tvar results = [],\\n\\t\\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\\\"currentTiddler\\\");\\n\\tif(prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(title !== currTiddlerTitle) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(title === currTiddlerTitle) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"isfilteroperator\"},\"$:/core/modules/filters/is/draft.js\":{\"title\":\"$:/core/modules/filters/is/draft.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/is/draft.js\\ntype: application/javascript\\nmodule-type: isfilteroperator\\n\\nFilter function for [is[draft]] analagous to [has[draft.of]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.draft = function(source,prefix,options) {\\n\\tvar results = [];\\n\\tif(prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(!tiddler || !tiddler.isDraft()) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(tiddler && tiddler.isDraft()) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"isfilteroperator\"},\"$:/core/modules/filters/is/image.js\":{\"title\":\"$:/core/modules/filters/is/image.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/is/image.js\\ntype: application/javascript\\nmodule-type: isfilteroperator\\n\\nFilter function for [is[image]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.image = function(source,prefix,options) {\\n\\tvar results = [];\\n\\tif(prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(!options.wiki.isImageTiddler(title)) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(options.wiki.isImageTiddler(title)) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"isfilteroperator\"},\"$:/core/modules/filters/is/missing.js\":{\"title\":\"$:/core/modules/filters/is/missing.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/is/missing.js\\ntype: application/javascript\\nmodule-type: isfilteroperator\\n\\nFilter function for [is[missing]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.missing = function(source,prefix,options) {\\n\\tvar results = [];\\n\\tif(prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(options.wiki.tiddlerExists(title)) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(!options.wiki.tiddlerExists(title)) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"isfilteroperator\"},\"$:/core/modules/filters/is/orphan.js\":{\"title\":\"$:/core/modules/filters/is/orphan.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/is/orphan.js\\ntype: application/javascript\\nmodule-type: isfilteroperator\\n\\nFilter function for [is[orphan]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.orphan = function(source,prefix,options) {\\n\\tvar results = [],\\n\\t\\torphanTitles = options.wiki.getOrphanTitles();\\n\\tif(prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(orphanTitles.indexOf(title) === -1) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(orphanTitles.indexOf(title) !== -1) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"isfilteroperator\"},\"$:/core/modules/filters/is/shadow.js\":{\"title\":\"$:/core/modules/filters/is/shadow.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/is/shadow.js\\ntype: application/javascript\\nmodule-type: isfilteroperator\\n\\nFilter function for [is[shadow]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.shadow = function(source,prefix,options) {\\n\\tvar results = [];\\n\\tif(prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(!options.wiki.isShadowTiddler(title)) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(options.wiki.isShadowTiddler(title)) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"isfilteroperator\"},\"$:/core/modules/filters/is/system.js\":{\"title\":\"$:/core/modules/filters/is/system.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/is/system.js\\ntype: application/javascript\\nmodule-type: isfilteroperator\\n\\nFilter function for [is[system]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.system = function(source,prefix,options) {\\n\\tvar results = [];\\n\\tif(prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(!options.wiki.isSystemTiddler(title)) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(options.wiki.isSystemTiddler(title)) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"isfilteroperator\"},\"$:/core/modules/filters/is/tag.js\":{\"title\":\"$:/core/modules/filters/is/tag.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/is/tag.js\\ntype: application/javascript\\nmodule-type: isfilteroperator\\n\\nFilter function for [is[tag]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.tag = function(source,prefix,options) {\\n\\tvar results = [],\\n\\t\\ttagMap = options.wiki.getTagMap();\\n\\tif(prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(!$tw.utils.hop(tagMap,title)) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif($tw.utils.hop(tagMap,title)) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"isfilteroperator\"},\"$:/core/modules/filters/is/tiddler.js\":{\"title\":\"$:/core/modules/filters/is/tiddler.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/is/tiddler.js\\ntype: application/javascript\\nmodule-type: isfilteroperator\\n\\nFilter function for [is[tiddler]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.tiddler = function(source,prefix,options) {\\n\\tvar results = [];\\n\\tif(prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(!options.wiki.tiddlerExists(title)) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(options.wiki.tiddlerExists(title)) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"isfilteroperator\"},\"$:/core/modules/filters/is/variable.js\":{\"title\":\"$:/core/modules/filters/is/variable.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/is/variable.js\\ntype: application/javascript\\nmodule-type: isfilteroperator\\n\\nFilter function for [is[variable]]\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.variable = function(source,prefix,options) {\\n\\tvar results = [];\\n\\tif(prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(options.widget.getVariable(title) === undefined) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(options.widget.getVariable(title) !== undefined) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"isfilteroperator\"},\"$:/core/modules/filters/is.js\":{\"title\":\"$:/core/modules/filters/is.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/is.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for checking tiddler properties\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar isFilterOperators;\\n\\nfunction getIsFilterOperators() {\\n\\tif(!isFilterOperators) {\\n\\t\\tisFilterOperators = {};\\n\\t\\t$tw.modules.applyMethods(\\\"isfilteroperator\\\",isFilterOperators);\\n\\t}\\n\\treturn isFilterOperators;\\n}\\n\\n/*\\nExport our filter function\\n*/\\nexports.is = function(source,operator,options) {\\n\\t// Dispatch to the correct isfilteroperator\\n\\tvar isFilterOperators = getIsFilterOperators();\\n\\tif(operator.operand) {\\n\\t\\tvar isFilterOperator = isFilterOperators[operator.operand];\\n\\t\\tif(isFilterOperator) {\\n\\t\\t\\treturn isFilterOperator(source,operator.prefix,options);\\n\\t\\t} else {\\n\\t\\t\\treturn [$tw.language.getString(\\\"Error/IsFilterOperator\\\")];\\n\\t\\t}\\n\\t} else {\\n\\t\\t// Return all tiddlers if the operand is missing\\n\\t\\tvar results = [];\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tresults.push(title);\\n\\t\\t});\\n\\t\\treturn results;\\n\\t}\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/json-ops.js\":{\"title\":\"$:/core/modules/filters/json-ops.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/json-ops.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operators for JSON operations\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports[\\\"jsonget\\\"] = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar data = $tw.utils.parseJSONSafe(title,title);\\n\\t\\tif(data) {\\n\\t\\t\\tvar items = getDataItemValueAsStrings(data,operator.operands);\\n\\t\\t\\tif(items !== undefined) {\\n\\t\\t\\t\\tresults.push.apply(results,items);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\nexports[\\\"jsonextract\\\"] = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar data = $tw.utils.parseJSONSafe(title,title);\\n\\t\\tif(data) {\\n\\t\\t\\tvar item = getDataItem(data,operator.operands);\\n\\t\\t\\tif(item !== undefined) {\\n\\t\\t\\t\\tresults.push(JSON.stringify(item));\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\nexports[\\\"jsonindexes\\\"] = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar data = $tw.utils.parseJSONSafe(title,title);\\n\\t\\tif(data) {\\n\\t\\t\\tvar items = getDataItemKeysAsStrings(data,operator.operands);\\n\\t\\t\\tif(items !== undefined) {\\n\\t\\t\\t\\tresults.push.apply(results,items);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\nexports[\\\"jsontype\\\"] = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar data = $tw.utils.parseJSONSafe(title,title);\\n\\t\\tif(data) {\\n\\t\\t\\tvar item = getDataItemType(data,operator.operands);\\n\\t\\t\\tif(item !== undefined) {\\n\\t\\t\\t\\tresults.push(item);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\nexports[\\\"jsonset\\\"] = function(source,operator,options) {\\n\\tvar suffixes = operator.suffixes || [],\\n\\t\\ttype = suffixes[0] && suffixes[0][0],\\n\\t\\tindexes = operator.operands.slice(0,-1),\\n\\t\\tvalue = operator.operands[operator.operands.length - 1],\\n\\t\\tresults = [];\\n\\tif(operator.operands.length === 1 && operator.operands[0] === \\\"\\\") {\\n\\t\\tvalue = undefined; // Prevents the value from being assigned\\n\\t}\\n\\tswitch(type) {\\n\\t\\tcase \\\"string\\\":\\n\\t\\t\\t// Use value unchanged\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"boolean\\\":\\n\\t\\t\\tvalue = (value === \\\"true\\\" ? true : (value === \\\"false\\\" ? false : undefined));\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"number\\\":\\n\\t\\t\\tvalue = $tw.utils.parseNumber(value);\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"array\\\":\\n\\t\\t\\tindexes = operator.operands;\\n\\t\\t\\tvalue = [];\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"object\\\":\\n\\t\\t\\tindexes = operator.operands;\\n\\t\\t\\tvalue = {};\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"null\\\":\\n\\t\\t\\tindexes = operator.operands;\\n\\t\\t\\tvalue = null;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"json\\\":\\n\\t\\t\\tvalue = $tw.utils.parseJSONSafe(value,function() {return undefined;});\\n\\t\\t\\tbreak;\\n\\t\\tdefault:\\n\\t\\t\\t// Use value unchanged\\n\\t\\t\\tbreak;\\n\\t}\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar data = $tw.utils.parseJSONSafe(title,title);\\n\\t\\tif(data) {\\n\\t\\t\\tdata = setDataItem(data,indexes,value);\\n\\t\\t\\tresults.push(JSON.stringify(data));\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n/*\\nGiven a JSON data structure and an array of index strings, return an array of the string representation of the values at the end of the index chain, or \\\"undefined\\\" if any of the index strings are invalid\\n*/\\nfunction getDataItemValueAsStrings(data,indexes) {\\n\\t// Get the item\\n\\tvar item = getDataItem(data,indexes);\\n\\t// Return the item as a string list\\n\\treturn convertDataItemValueToStrings(item);\\n}\\n\\n/*\\nGiven a JSON data structure and an array of index strings, return an array of the string representation of the keys of the item at the end of the index chain, or \\\"undefined\\\" if any of the index strings are invalid\\n*/\\nfunction getDataItemKeysAsStrings(data,indexes) {\\n\\t// Get the item\\n\\tvar item = getDataItem(data,indexes);\\n\\t// Return the item keys as a string\\n\\treturn convertDataItemKeysToStrings(item);\\n}\\n\\n/*\\nReturn an array of the string representation of the values of a data item, or \\\"undefined\\\" if the item is undefined\\n*/\\nfunction convertDataItemValueToStrings(item) {\\n\\t// Return the item as a string\\n\\tif(item === undefined) {\\n\\t\\treturn undefined;\\n\\t} else if(item === null) {\\n\\t\\treturn [\\\"null\\\"]\\n\\t} else if(typeof item === \\\"object\\\") {\\n\\t\\tvar results = [],i,t;\\n\\t\\tif($tw.utils.isArray(item)) {\\n\\t\\t\\t// Return all the items in arrays recursively\\n\\t\\t\\tfor(i=0; i<item.length; i++) {\\n\\t\\t\\t\\tt = convertDataItemValueToStrings(item[i])\\n\\t\\t\\t\\tif(t !== undefined) {\\n\\t\\t\\t\\t\\tresults.push.apply(results,t);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\t// Return all the values in objects recursively\\n\\t\\t\\t$tw.utils.each(Object.keys(item).sort(),function(key) {\\n\\t\\t\\t\\tt = convertDataItemValueToStrings(item[key]);\\n\\t\\t\\t\\tif(t !== undefined) {\\n\\t\\t\\t\\t\\tresults.push.apply(results,t);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t\\treturn results;\\n\\t}\\n\\treturn [item.toString()];\\n}\\n\\n/*\\nReturn an array of the string representation of the keys of a data item, or \\\"undefined\\\" if the item is undefined\\n*/\\nfunction convertDataItemKeysToStrings(item) {\\n\\t// Return the item as a string\\n\\tif(item === undefined) {\\n\\t\\treturn item;\\n\\t} else if(typeof item === \\\"object\\\") {\\n\\t\\tif(item === null) {\\n\\t\\t\\treturn [];\\n\\t\\t}\\n\\t\\tvar results = [];\\n\\t\\tif($tw.utils.isArray(item)) {\\n\\t\\t\\tfor(var i=0; i<item.length; i++) {\\n\\t\\t\\t\\tresults.push(i.toString());\\n\\t\\t\\t}\\n\\t\\t\\treturn results;\\n\\t\\t} else {\\n\\t\\t\\t$tw.utils.each(Object.keys(item).sort(),function(key) {\\n\\t\\t\\t\\tresults.push(key);\\n\\t\\t\\t});\\n\\t\\t\\treturn results;\\n\\t\\t}\\n\\t}\\n\\treturn [];\\n}\\n\\nfunction getDataItemType(data,indexes) {\\n\\t// Get the item\\n\\tvar item = getDataItem(data,indexes);\\n\\t// Return the item type\\n\\tif(item === undefined) {\\n\\t\\treturn item;\\n\\t} else if(item === null) {\\n\\t\\treturn \\\"null\\\";\\n\\t} else if($tw.utils.isArray(item)) {\\n\\t\\treturn \\\"array\\\";\\n\\t} else if(typeof item === \\\"object\\\") {\\n\\t\\treturn \\\"object\\\";\\n\\t} else {\\n\\t\\treturn typeof item;\\n\\t}\\n}\\n\\nfunction getItemAtIndex(item,index) {\\n\\tif($tw.utils.hop(item,index)) {\\n\\t\\treturn item[index];\\n\\t} else if($tw.utils.isArray(item)) {\\n\\t\\tindex = $tw.utils.parseInt(index);\\n\\t\\tif(index < 0) { index = index + item.length };\\n\\t\\treturn item[index]; // Will be undefined if index was out-of-bounds\\n\\t} else {\\n\\t\\treturn undefined;\\n\\t}\\n}\\n\\n/*\\nGiven a JSON data structure and an array of index strings, return the value at the end of the index chain, or \\\"undefined\\\" if any of the index strings are invalid\\n*/\\nfunction getDataItem(data,indexes) {\\n\\tif(indexes.length === 0 || (indexes.length === 1 && indexes[0] === \\\"\\\")) {\\n\\t\\treturn data;\\n\\t}\\n\\t// Get the item\\n\\tvar item = data;\\n\\tfor(var i=0; i<indexes.length; i++) {\\n\\t\\tif(item !== undefined) {\\n\\t\\t\\tif(item !== null && [\\\"number\\\",\\\"string\\\",\\\"boolean\\\"].indexOf(typeof item) === -1) {\\n\\t\\t\\t\\titem = getItemAtIndex(item,indexes[i]);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\titem = undefined;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn item;\\n}\\n\\n/*\\nGiven a JSON data structure, an array of index strings and a value, return the data structure with the value added at the end of the index chain. If any of the index strings are invalid then the JSON data structure is returned unmodified. If the root item is targetted then a different data object will be returned\\n*/\\nfunction setDataItem(data,indexes,value) {\\n\\t// Ignore attempts to assign undefined\\n\\tif(value === undefined) {\\n\\t\\treturn data;\\n\\t}\\n\\t// Check for the root item\\n\\tif(indexes.length === 0 || (indexes.length === 1 && indexes[0] === \\\"\\\")) {\\n\\t\\treturn value;\\n\\t}\\n\\t// Traverse the JSON data structure using the index chain\\n\\tvar current = data;\\n\\tfor(var i = 0; i < indexes.length - 1; i++) {\\n\\t\\tcurrent = getItemAtIndex(current,indexes[i]);\\n\\t\\tif(current === undefined) {\\n\\t\\t\\t// Return the original JSON data structure if any of the index strings are invalid\\n\\t\\t\\treturn data;\\n\\t\\t}\\n\\t}\\n\\t// Add the value to the end of the index chain\\n\\tvar lastIndex = indexes[indexes.length - 1];\\n\\tif($tw.utils.isArray(current)) {\\n\\t\\tlastIndex = $tw.utils.parseInt(lastIndex);\\n\\t\\tif(lastIndex < 0) { lastIndex = lastIndex + current.length };\\n\\t}\\n\\t// Only set indexes on objects and arrays\\n\\tif(typeof current === \\\"object\\\") {\\n\\t\\tcurrent[lastIndex] = value;\\n\\t}\\n\\treturn data;\\n}\\n\\n})();\\n\\t\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/limit.js\":{\"title\":\"$:/core/modules/filters/limit.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/limit.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for chopping the results to a specified maximum number of entries\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.limit = function(source,operator,options) {\\n\\tvar results = [];\\n\\t// Convert to an array\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(title);\\n\\t});\\n\\t// Slice the array if necessary\\n\\tvar limit = Math.min(results.length,parseInt(operator.operand,10));\\n\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\tresults = results.slice(-limit);\\n\\t} else {\\n\\t\\tresults = results.slice(0,limit);\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/links.js\":{\"title\":\"$:/core/modules/filters/links.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/links.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for returning all the links from a tiddler\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.links = function(source,operator,options) {\\n\\tvar results = new $tw.utils.LinkedList();\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.pushTop(options.wiki.getTiddlerLinks(title));\\n\\t});\\n\\treturn results.makeTiddlerIterator(options.wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/list.js\":{\"title\":\"$:/core/modules/filters/list.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/list.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator returning the tiddlers whose title is listed in the operand tiddler\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.list = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\ttr = $tw.utils.parseTextReference(operator.operand),\\n\\t\\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\\\"currentTiddler\\\"),\\n\\t\\tlist = options.wiki.getTiddlerList(tr.title || currTiddlerTitle,tr.field,tr.index);\\n\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(list.indexOf(title) === -1) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tresults = list;\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/listed.js\":{\"title\":\"$:/core/modules/filters/listed.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/listed.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator returning all tiddlers that have the selected tiddlers in a list\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.listed = function(source,operator,options) {\\n\\tvar field = operator.operand || \\\"list\\\",\\n\\t\\tresults = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\t$tw.utils.pushTop(results,options.wiki.findListingsOfTiddler(title,field));\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/listops.js\":{\"title\":\"$:/core/modules/filters/listops.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/listops.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operators for manipulating the current selection list\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nOrder a list\\n*/\\nexports.order = function(source,operator,options) {\\n\\tvar results = [];\\n\\tif(operator.operand.toLowerCase() === \\\"reverse\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tresults.unshift(title);\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tresults.push(title);\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n/*\\nReverse list\\n*/\\nexports.reverse = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.unshift(title);\\n\\t});\\n\\treturn results;\\n};\\n\\n/*\\nFirst entry/entries in list\\n*/\\nexports.first = function(source,operator,options) {\\n\\tvar count = $tw.utils.getInt(operator.operand,1),\\n\\t\\tresults = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(title);\\n\\t});\\n\\treturn results.slice(0,count);\\n};\\n\\n/*\\nLast entry/entries in list\\n*/\\nexports.last = function(source,operator,options) {\\n\\tvar count = $tw.utils.getInt(operator.operand,1),\\n\\t\\tresults = [];\\n\\tif(count === 0) return results;\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(title);\\n\\t});\\n\\treturn results.slice(-count);\\n};\\n\\n/*\\nAll but the first entry/entries of the list\\n*/\\nexports.rest = function(source,operator,options) {\\n\\tvar count = $tw.utils.getInt(operator.operand,1),\\n\\t\\tresults = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(title);\\n\\t});\\n\\treturn results.slice(count);\\n};\\nexports.butfirst = exports.rest;\\nexports.bf = exports.rest;\\n\\n/*\\nAll but the last entry/entries of the list\\n*/\\nexports.butlast = function(source,operator,options) {\\n\\tvar count = $tw.utils.getInt(operator.operand,1),\\n\\t\\tresults = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(title);\\n\\t});\\n\\tvar index = count === 0 ? results.length : -count;\\n\\treturn results.slice(0,index);\\n};\\nexports.bl = exports.butlast;\\n\\n/*\\nThe nth member of the list\\n*/\\nexports.nth = function(source,operator,options) {\\n\\tvar count = $tw.utils.getInt(operator.operand,1),\\n\\t\\tresults = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(title);\\n\\t});\\n\\treturn results.slice(count - 1,count);\\n};\\n\\n/*\\nThe zero based nth member of the list\\n*/\\nexports.zth = function(source,operator,options) {\\n\\tvar count = $tw.utils.getInt(operator.operand,0),\\n\\t\\tresults = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(title);\\n\\t});\\n\\treturn results.slice(count,count + 1);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/lookup.js\":{\"title\":\"$:/core/modules/filters/lookup.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/lookup.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator that looks up values via a title prefix\\n\\n[lookup:<defaultvalue>:<field OR index>[<prefix>],[<field-name OR index-name>]]\\n\\nPrepends the prefix to the selected items and returns the specified \\nfield or index value. If the 2nd suffix does not exist, it defaults to field.\\nIf the second operand is missing it defaults to \\\"text\\\" for fields, and \\\"0\\\" for indexes\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.lookup = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tsuffixes = operator.suffixes || [],\\n\\t\\tdefaultSuffix = suffixes[0] ? (suffixes[0][0] || \\\"\\\") : \\\"\\\",\\n\\t\\tindexSuffix = (suffixes[1] && suffixes[1][0] === \\\"index\\\") ? true : false,\\n\\t\\ttarget;\\n\\tif(operator.operands.length == 2) {\\n\\t\\ttarget = operator.operands[1]\\n\\t} else {\\n\\t\\ttarget = indexSuffix ? \\\"0\\\": \\\"text\\\";\\n\\t}\\n\\tif(indexSuffix) {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tvar data = options.wiki.extractTiddlerDataItem(operator.operands[0]+title,target,defaultSuffix);\\n\\t\\t\\tresults.push(data);\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tvar value = defaultSuffix;\\n\\t\\t\\tvar targetTiddler = options.wiki.getTiddler(operator.operands[0]+title);\\n\\t\\t\\tif(targetTiddler && targetTiddler.getFieldString(target)) {\\n\\t\\t\\t\\tvalue = targetTiddler.getFieldString(target);\\n\\t\\t\\t}\\n\\t\\t\\tresults.push(value);\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/match.js\":{\"title\":\"$:/core/modules/filters/match.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/match.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for checking if a title matches a string\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.match = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tsuffixes = (operator.suffixes || [])[0] || [];\\n\\tif(suffixes.indexOf(\\\"caseinsensitive\\\") !== -1) {\\n\\t\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(title.toLowerCase() !== (operator.operand || \\\"\\\").toLowerCase()) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(title.toLowerCase() === (operator.operand || \\\"\\\").toLowerCase()) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t} else {\\n\\t\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(title !== operator.operand) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(title === operator.operand) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/math.js\":{\"title\":\"$:/core/modules/filters/math.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/math.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operators for math. Unary/binary operators work on each item in turn, and return a new item list.\\n\\nSum/product/maxall/minall operate on the entire list, returning a single item.\\n\\nNote that strings are converted to numbers automatically. Trailing non-digits are ignored.\\n\\n* \\\"\\\" converts to 0\\n* \\\"12kk\\\" converts to 12\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.negate = makeNumericBinaryOperator(\\n\\tfunction(a) {return -a}\\n);\\n\\nexports.abs = makeNumericBinaryOperator(\\n\\tfunction(a) {return Math.abs(a)}\\n);\\n\\nexports.ceil = makeNumericBinaryOperator(\\n\\tfunction(a) {return Math.ceil(a)}\\n);\\n\\nexports.floor = makeNumericBinaryOperator(\\n\\tfunction(a) {return Math.floor(a)}\\n);\\n\\nexports.round = makeNumericBinaryOperator(\\n\\tfunction(a) {return Math.round(a)}\\n);\\n\\nexports.trunc = makeNumericBinaryOperator(\\n\\tfunction(a) {return Math.trunc(a)}\\n);\\n\\nexports.untrunc = makeNumericBinaryOperator(\\n\\tfunction(a) {return Math.ceil(Math.abs(a)) * Math.sign(a)}\\n);\\n\\nexports.sign = makeNumericBinaryOperator(\\n\\tfunction(a) {return Math.sign(a)}\\n);\\n\\nexports.add = makeNumericBinaryOperator(\\n\\tfunction(a,b) {return a + b;}\\n);\\n\\nexports.subtract = makeNumericBinaryOperator(\\n\\tfunction(a,b) {return a - b;}\\n);\\n\\nexports.multiply = makeNumericBinaryOperator(\\n\\tfunction(a,b) {return a * b;}\\n);\\n\\nexports.divide = makeNumericBinaryOperator(\\n\\tfunction(a,b) {return a / b;}\\n);\\n\\nexports.remainder = makeNumericBinaryOperator(\\n\\tfunction(a,b) {return a % b;}\\n);\\n\\nexports.max = makeNumericBinaryOperator(\\n\\tfunction(a,b) {return Math.max(a,b);}\\n);\\n\\nexports.min = makeNumericBinaryOperator(\\n\\tfunction(a,b) {return Math.min(a,b);}\\n);\\n\\nexports.fixed = makeNumericBinaryOperator(\\n\\tfunction(a,b) {return Number.prototype.toFixed.call(a,Math.min(Math.max(b,0),100));}\\n);\\n\\nexports.precision = makeNumericBinaryOperator(\\n\\tfunction(a,b) {return Number.prototype.toPrecision.call(a,Math.min(Math.max(b,1),100));}\\n);\\n\\nexports.exponential = makeNumericBinaryOperator(\\n\\tfunction(a,b) {return Number.prototype.toExponential.call(a,Math.min(Math.max(b,0),100));}\\n);\\n\\nexports.power = makeNumericBinaryOperator(\\n\\tfunction(a,b) {return Math.pow(a,b);}\\n);\\n\\nexports.log = makeNumericBinaryOperator(\\n\\tfunction(a,b) {\\n\\t\\tif(b) {\\n\\t\\t\\treturn Math.log(a)/Math.log(b);\\n\\t\\t} else {\\n\\t\\t\\treturn Math.log(a);\\n\\t\\t}\\n\\t}\\n);\\n\\nexports.sum = makeNumericReducingOperator(\\n\\tfunction(accumulator,value) {return accumulator + value},\\n\\t0 // Initial value\\n);\\n\\nexports.product = makeNumericReducingOperator(\\n\\tfunction(accumulator,value) {return accumulator * value},\\n\\t1 // Initial value\\n);\\n\\nexports.maxall = makeNumericReducingOperator(\\n\\tfunction(accumulator,value) {return Math.max(accumulator,value)},\\n\\t-Infinity // Initial value\\n);\\n\\nexports.minall = makeNumericReducingOperator(\\n\\tfunction(accumulator,value) {return Math.min(accumulator,value)},\\n\\tInfinity // Initial value\\n);\\n\\nexports.median = makeNumericArrayOperator(\\n\\tfunction(values) {\\n\\t\\tvar len = values.length, median;\\n\\t\\tvalues.sort();\\n\\t\\tif(len % 2) { \\n\\t\\t\\t// Odd, return the middle number\\n\\t\\t\\tmedian = values[(len - 1) / 2];\\n\\t\\t} else {\\n\\t\\t\\t// Even, return average of two middle numbers\\n\\t\\t\\tmedian = (values[len / 2 - 1] + values[len / 2]) / 2;\\n\\t\\t}\\n\\t\\treturn [median];\\n\\t}\\n);\\n\\nexports.average = makeNumericReducingOperator(\\n\\tfunction(accumulator,value) {return accumulator + value},\\n\\t0, // Initial value\\n\\tfunction(finalValue,numberOfValues) {\\n\\t\\treturn finalValue/numberOfValues;\\n\\t}\\n);\\n\\nexports.variance = makeNumericReducingOperator(\\n\\tfunction(accumulator,value) {return accumulator + value},\\n\\t0,\\n\\tfunction(finalValue,numberOfValues,originalValues) {\\n\\t\\treturn getVarianceFromArray(originalValues,finalValue/numberOfValues);\\n\\t}\\n);\\n\\nexports[\\\"standard-deviation\\\"] = makeNumericReducingOperator(\\n\\tfunction(accumulator,value) {return accumulator + value},\\n\\t0,\\n\\tfunction(finalValue,numberOfValues,originalValues) {\\n\\t\\tvar variance = getVarianceFromArray(originalValues,finalValue/numberOfValues);\\n\\t\\treturn Math.sqrt(variance);\\n\\t}\\n);\\n\\n//trigonometry\\nexports.cos = makeNumericBinaryOperator(\\n\\tfunction(a) {return Math.cos(a)}\\n);\\n\\nexports.sin = makeNumericBinaryOperator(\\n\\tfunction(a) {return Math.sin(a)}\\n);\\n\\nexports.tan = makeNumericBinaryOperator(\\n\\tfunction(a) {return Math.tan(a)}\\n);\\n\\nexports.acos = makeNumericBinaryOperator(\\n\\tfunction(a) {return Math.acos(a)}\\n);\\n\\nexports.asin = makeNumericBinaryOperator(\\n\\tfunction(a) {return Math.asin(a)}\\n);\\n\\nexports.atan = makeNumericBinaryOperator(\\n\\tfunction(a) {return Math.atan(a)}\\n);\\n\\nexports.atan2 = makeNumericBinaryOperator(\\n\\tfunction(a,b) {return Math.atan2(a,b)}\\n);\\n\\n//Calculate the variance of a population of numbers in an array given its mean\\nfunction getVarianceFromArray(values,mean) {\\n\\tvar deviationTotal = values.reduce(function(accumulator,value) {\\n\\t\\treturn accumulator + Math.pow(value - mean, 2);\\n\\t},0);\\n\\treturn deviationTotal/values.length;\\n};\\n\\nfunction makeNumericBinaryOperator(fnCalc) {\\n\\treturn function(source,operator,options) {\\n\\t\\tvar result = [],\\n\\t\\t\\tnumOperand = $tw.utils.parseNumber(operator.operand);\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tresult.push($tw.utils.stringifyNumber(fnCalc($tw.utils.parseNumber(title),numOperand)));\\n\\t\\t});\\n\\t\\treturn result;\\n\\t};\\n};\\n\\nfunction makeNumericReducingOperator(fnCalc,initialValue,fnFinal) {\\n\\tinitialValue = initialValue || 0;\\n\\treturn function(source,operator,options) {\\n\\t\\tvar result = [];\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tresult.push($tw.utils.parseNumber(title));\\n\\t\\t});\\n\\t\\tvar value = result.reduce(function(accumulator,currentValue) {\\n\\t\\t\\t\\treturn fnCalc(accumulator,currentValue);\\n\\t\\t\\t},initialValue);\\n\\t\\tif(fnFinal) {\\n\\t\\t\\tvalue = fnFinal(value,result.length,result);\\n\\t\\t}\\n\\t\\treturn [$tw.utils.stringifyNumber(value)];\\n\\t};\\n};\\n\\nfunction makeNumericArrayOperator(fnCalc) {\\n\\treturn function(source,operator,options) {\\n\\t\\tvar results = [];\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tresults.push($tw.utils.parseNumber(title));\\n\\t\\t});\\n\\t\\tresults = fnCalc(results);\\n\\t\\t$tw.utils.each(results,function(value,index) {\\n\\t\\t\\tresults[index] = $tw.utils.stringifyNumber(value);\\n\\t\\t});\\n\\t\\treturn results;\\n\\t};\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/minlength.js\":{\"title\":\"$:/core/modules/filters/minlength.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/minlength.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for filtering out titles that don't meet the minimum length in the operand\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.minlength = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tminLength = parseInt(operator.operand || \\\"\\\",10) || 0;\\n\\tsource(function(tiddler,title) {\\n\\t\\tif(title.length >= minLength) {\\n\\t\\t\\tresults.push(title);\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/moduleproperty.js\":{\"title\":\"$:/core/modules/filters/moduleproperty.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/moduleproperty.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter [[module-name]moduleproperty[name]] retrieve a module property\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.moduleproperty = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar value = require(title)[operator.operand || \\\"\\\"];\\n\\t\\tif(value !== undefined) {\\n\\t\\t\\tresults.push(value);\\n\\t\\t}\\n\\t});\\n\\tresults.sort();\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/modules.js\":{\"title\":\"$:/core/modules/filters/modules.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/modules.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for returning the titles of the modules of a given type in this wiki\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.modules = function(source,operator,options) {\\n\\tvar results = [];\\n\\tif(operator.operands.length >= 2) {\\n\\t\\t// Return the modules that have the module property specified in the first operand with the value in the second operand\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\\n\\t\\t\\t\\tif(require(moduleName)[operator.operands[0]] === operator.operands[1]) {\\n\\t\\t\\t\\t\\tresults.push(moduleName);\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t});\\n\\t} else {\\n\\t\\t// Return all the module names without filtering\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\\n\\t\\t\\t\\tresults.push(moduleName);\\n\\t\\t\\t});\\n\\t\\t});\\n\\t}\\n\\tresults.sort();\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/moduletypes.js\":{\"title\":\"$:/core/modules/filters/moduletypes.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/moduletypes.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for returning the names of the module types in this wiki\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.moduletypes = function(source,operator,options) {\\n\\tvar results = [];\\n\\t$tw.utils.each($tw.modules.types,function(moduleInfo,type) {\\n\\t\\tresults.push(type);\\n\\t});\\n\\tresults.sort();\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/next.js\":{\"title\":\"$:/core/modules/filters/next.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/next.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator returning the tiddler whose title occurs next in the list supplied in the operand tiddler\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.next = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tlist = options.wiki.getTiddlerList(operator.operand);\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar match = list.indexOf(title);\\n\\t\\t// increment match and then test if result is in range\\n\\t\\tmatch++;\\n\\t\\tif(match > 0 && match < list.length) {\\n\\t\\t\\tresults.push(list[match]);\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/plugintiddlers.js\":{\"title\":\"$:/core/modules/filters/plugintiddlers.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/plugintiddlers.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for returning the titles of the shadow tiddlers within a plugin\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.plugintiddlers = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar pluginInfo = options.wiki.getPluginInfo(title) || options.wiki.getTiddlerDataCached(title,{tiddlers:[]});\\n\\t\\tif(pluginInfo && pluginInfo.tiddlers) {\\n\\t\\t\\t$tw.utils.each(pluginInfo.tiddlers,function(fields,title) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t});\\n\\t\\t}\\n\\t});\\n\\tresults.sort();\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/prefix.js\":{\"title\":\"$:/core/modules/filters/prefix.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/prefix.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for checking if a title starts with a prefix\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.prefix = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tsuffixes = (operator.suffixes || [])[0] || [];\\n\\tif(suffixes.indexOf(\\\"caseinsensitive\\\") !== -1) {\\n\\t\\tvar operand = operator.operand.toLowerCase();\\n\\t\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(title.toLowerCase().substr(0,operand.length) !== operand) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(title.toLowerCase().substr(0,operand.length) === operand) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t} else {\\n\\t\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(title.substr(0,operator.operand.length) !== operator.operand) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(title.substr(0,operator.operand.length) === operator.operand) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/previous.js\":{\"title\":\"$:/core/modules/filters/previous.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/previous.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator returning the tiddler whose title occurs immediately prior in the list supplied in the operand tiddler\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.previous = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tlist = options.wiki.getTiddlerList(operator.operand);\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar match = list.indexOf(title);\\n\\t\\t// increment match and then test if result is in range\\n\\t\\tmatch--;\\n\\t\\tif(match >= 0) {\\n\\t\\t\\tresults.push(list[match]);\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/range.js\":{\"title\":\"$:/core/modules/filters/range.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/range.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for generating a numeric range.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.range = function(source,operator,options) {\\n\\tvar results = [];\\n\\t// For backwards compatibility, if there is only one operand, try to split it using one of the delimiters\\n\\tvar parts = operator.operands || [];\\n\\tif(parts.length === 1) {\\n\\t\\tparts = operator.operand.split(/[,:;]/g);\\n\\t}\\n\\t// Process the parts\\n\\tvar beg, end, inc, i, fixed = 0;\\n\\tfor (i=0; i<parts.length; i++) {\\n\\t\\t// Validate real number\\n\\t\\tif(!/^\\\\s*[+-]?((\\\\d+(\\\\.\\\\d*)?)|(\\\\.\\\\d+))\\\\s*$/.test(parts[i])) {\\n\\t\\t\\treturn [\\\"range: bad number \\\\\\\"\\\" + parts[i] + \\\"\\\\\\\"\\\"];\\n\\t\\t}\\n\\t\\t// Count digits; the most precise number determines decimal places in output.\\n\\t\\tvar frac = /\\\\.\\\\d+/.exec(parts[i]);\\n\\t\\tif(frac) {\\n\\t\\t\\tfixed = Math.max(fixed,frac[0].length-1);\\n\\t\\t}\\n\\t\\tparts[i] = parseFloat(parts[i]);\\n\\t}\\n\\tswitch(parts.length) {\\n\\t\\tcase 1:\\n\\t\\t\\tend = parts[0];\\n\\t\\t\\tif (end >= 1) {\\n\\t\\t\\t\\tbeg = 1;\\n\\t\\t\\t}\\n\\t\\t\\telse if (end <= -1) {\\n\\t\\t\\t\\tbeg = -1;\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\treturn [];\\n\\t\\t\\t}\\n\\t\\t\\tinc = 1;\\n\\t\\t\\tbreak;\\n\\t\\tcase 2:\\n\\t\\t\\tbeg = parts[0];\\n\\t\\t\\tend = parts[1];\\n\\t\\t\\tinc = 1;\\n\\t\\t\\tbreak;\\n\\t\\tcase 3:\\n\\t\\t\\tbeg = parts[0];\\n\\t\\t\\tend = parts[1];\\n\\t\\t\\tinc = Math.abs(parts[2]);\\n\\t\\t\\tbreak;\\n\\t}\\n\\tif(inc === 0) {\\n\\t\\treturn [\\\"range: increment 0 causes infinite loop\\\"];\\n\\t}\\n\\t// May need to count backwards\\n\\tvar direction = ((end < beg) ? -1 : 1);\\n\\tinc *= direction;\\n\\t// Estimate number of resulting elements\\n\\tif((end - beg) / inc > 10000) {\\n\\t\\treturn [\\\"range: too many steps (over 10K)\\\"];\\n\\t}\\n\\t// Avoid rounding error on last step\\n\\tend += direction * 0.5 * Math.pow(0.1,fixed);\\n\\tvar safety = 10010;\\n\\t// Enumerate the range\\n\\tif (end<beg) {\\n\\t\\tfor(i=beg; i>end; i+=inc) {\\n\\t\\t\\tresults.push(i.toFixed(fixed));\\n\\t\\t\\tif(--safety<0) {\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} else {\\n\\t\\tfor(i=beg; i<end; i+=inc) {\\n\\t\\t\\tresults.push(i.toFixed(fixed));\\n\\t\\t\\tif(--safety<0) {\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\tif(safety<0) {\\n\\t\\treturn [\\\"range: unexpectedly large output\\\"];\\n\\t}\\n\\t// Reverse?\\n\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\tresults.reverse();\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/reduce.js\":{\"title\":\"$:/core/modules/filters/reduce.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/reduce.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator evaluates a subfilter for each item, making the running total available in the variable `accumulator`, and the current index available in the variable `index`\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.reduce = function(source,operator,options) {\\n\\t// Accumulate the list\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(title);\\n\\t});\\n\\t// Run the filter over each item\\n\\tvar filterFn = options.wiki.compileFilter(operator.operand),\\n\\t\\taccumulator = operator.operands[1] || \\\"\\\";\\n\\tfor(var index=0; index<results.length; index++) {\\n\\t\\tvar title = results[index],\\n\\t\\t\\tlist = filterFn.call(options.wiki,options.wiki.makeTiddlerIterator([title]),options.widget.makeFakeWidgetWithVariables({\\n\\t\\t\\t\\t\\\"currentTiddler\\\": \\\"\\\" + title,\\n\\t\\t\\t\\t\\\"..currentTiddler\\\": options.widget.getVariable(\\\"currentTiddler\\\"),\\n\\t\\t\\t\\t\\\"accumulator\\\": \\\"\\\" + accumulator,\\n\\t\\t\\t\\t\\\"index\\\": \\\"\\\" + index,\\n\\t\\t\\t\\t\\\"revIndex\\\": \\\"\\\" + (results.length - 1 - index),\\n\\t\\t\\t\\t\\\"length\\\": \\\"\\\" + results.length\\n\\t\\t\\t}));\\n\\t\\tif(list.length > 0) {\\n\\t\\t\\taccumulator = \\\"\\\" + list[0];\\n\\t\\t}\\n\\t}\\n\\tif(results.length > 0) {\\n\\t\\treturn [accumulator];\\n\\t} else {\\n\\t\\treturn [];\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/regexp.js\":{\"title\":\"$:/core/modules/filters/regexp.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/regexp.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for regexp matching\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.regexp = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tfieldname = operator.suffix || \\\"title\\\",\\n\\t\\tregexpString, regexp, flags = \\\"\\\", match,\\n\\t\\tgetFieldString = function(tiddler,title) {\\n\\t\\t\\tif(tiddler) {\\n\\t\\t\\t\\treturn tiddler.getFieldString(fieldname);\\n\\t\\t\\t} else if(fieldname === \\\"title\\\") {\\n\\t\\t\\t\\treturn title;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn null;\\n\\t\\t\\t}\\n\\t\\t};\\n\\t// Process flags and construct regexp\\n\\tregexpString = operator.operand;\\n\\tmatch = /^\\\\(\\\\?([gim]+)\\\\)/.exec(regexpString);\\n\\tif(match) {\\n\\t\\tflags = match[1];\\n\\t\\tregexpString = regexpString.substr(match[0].length);\\n\\t} else {\\n\\t\\tmatch = /\\\\(\\\\?([gim]+)\\\\)$/.exec(regexpString);\\n\\t\\tif(match) {\\n\\t\\t\\tflags = match[1];\\n\\t\\t\\tregexpString = regexpString.substr(0,regexpString.length - match[0].length);\\n\\t\\t}\\n\\t}\\n\\ttry {\\n\\t\\tregexp = new RegExp(regexpString,flags);\\n\\t} catch(e) {\\n\\t\\treturn [\\\"\\\" + e];\\n\\t}\\n\\t// Process the incoming tiddlers\\n\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tvar text = getFieldString(tiddler,title);\\n\\t\\t\\tif(text !== null) {\\n\\t\\t\\t\\tif(!regexp.exec(text)) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tvar text = getFieldString(tiddler,title);\\n\\t\\t\\tif(text !== null) {\\n\\t\\t\\t\\tif(!!regexp.exec(text)) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/removeprefix.js\":{\"title\":\"$:/core/modules/filters/removeprefix.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/removeprefix.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for removing a prefix from each title in the list. Titles that do not start with the prefix are removed.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.removeprefix = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tsuffixes = (operator.suffixes || [])[0] || [];\\n\\tif(suffixes.indexOf(\\\"caseinsensitive\\\") !== -1) {\\n\\t\\tvar operand = operator.operand.toLowerCase();\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(title.toLowerCase().substr(0,operand.length) === operand) {\\n\\t\\t\\t\\tresults.push(title.substr(operand.length));\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(title.substr(0,operator.operand.length) === operator.operand) {\\n\\t\\t\\t\\tresults.push(title.substr(operator.operand.length));\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/removesuffix.js\":{\"title\":\"$:/core/modules/filters/removesuffix.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/removesuffix.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for removing a suffix from each title in the list. Titles that do not end with the suffix are removed.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.removesuffix = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tsuffixes = (operator.suffixes || [])[0] || [];\\n\\tif (!operator.operand) {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tresults.push(title);\\n\\t\\t});\\n\\t} else if(suffixes.indexOf(\\\"caseinsensitive\\\") !== -1) {\\n\\t\\tvar operand = operator.operand.toLowerCase();\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(title && title.toLowerCase().substr(-operand.length) === operand) {\\n\\t\\t\\t\\tresults.push(title.substr(0,title.length - operand.length));\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(title && title.substr(-operator.operand.length) === operator.operand) {\\n\\t\\t\\t\\tresults.push(title.substr(0,title.length - operator.operand.length));\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/sameday.js\":{\"title\":\"$:/core/modules/filters/sameday.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/sameday.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator that selects tiddlers with a modified date field on the same day as the provided value.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.sameday = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tfieldName = operator.suffix || \\\"modified\\\",\\n\\t\\ttargetDate = (new Date($tw.utils.parseDate(operator.operand))).setHours(0,0,0,0);\\n\\t// Function to convert a date/time to a date integer\\n\\tsource(function(tiddler,title) {\\n\\t\\tif(tiddler) {\\n\\t\\t\\tif(tiddler.getFieldDay(fieldName) === targetDate) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/search.js\":{\"title\":\"$:/core/modules/filters/search.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/search.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for searching for the text in the operand tiddler\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.search = function(source,operator,options) {\\n\\tvar invert = operator.prefix === \\\"!\\\";\\n\\tif(operator.suffixes) {\\n\\t\\tvar hasFlag = function(flag) {\\n\\t\\t\\t\\treturn (operator.suffixes[1] || []).indexOf(flag) !== -1;\\n\\t\\t\\t},\\n\\t\\t\\texcludeFields = false,\\n\\t\\t\\tfieldList = operator.suffixes[0] || [],\\n\\t\\t\\tfirstField = fieldList[0] || \\\"\\\", \\n\\t\\t\\tfirstChar = firstField.charAt(0),\\n\\t\\t\\tfields;\\n\\t\\tif(firstChar === \\\"-\\\") {\\n\\t\\t\\tfields = [firstField.slice(1)].concat(fieldList.slice(1));\\n\\t\\t\\texcludeFields = true;\\n\\t\\t} else if(fieldList[0] === \\\"*\\\"){\\n\\t\\t\\tfields = [];\\n\\t\\t\\texcludeFields = true;\\n\\t\\t} else {\\n\\t\\t\\tfields = fieldList.slice(0);\\n\\t\\t}\\n\\t\\treturn options.wiki.search(operator.operand,{\\n\\t\\t\\tsource: source,\\n\\t\\t\\tinvert: invert,\\n\\t\\t\\tfield: fields,\\n\\t\\t\\texcludeField: excludeFields,\\n\\t\\t\\tsome: hasFlag(\\\"some\\\"),\\n\\t\\t\\tcaseSensitive: hasFlag(\\\"casesensitive\\\"),\\n\\t\\t\\tliteral: hasFlag(\\\"literal\\\"),\\n\\t\\t\\twhitespace: hasFlag(\\\"whitespace\\\"),\\n\\t\\t\\tanchored: hasFlag(\\\"anchored\\\"),\\n\\t\\t\\tregexp: hasFlag(\\\"regexp\\\"),\\n\\t\\t\\twords: hasFlag(\\\"words\\\")\\n\\t\\t});\\n\\t} else {\\n\\t\\treturn options.wiki.search(operator.operand,{\\n\\t\\t\\tsource: source,\\n\\t\\t\\tinvert: invert\\n\\t\\t});\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/shadowsource.js\":{\"title\":\"$:/core/modules/filters/shadowsource.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/shadowsource.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for returning the source plugins for shadow tiddlers\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.shadowsource = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar source = options.wiki.getShadowSource(title);\\n\\t\\tif(source) {\\n\\t\\t\\t$tw.utils.pushTop(results,source);\\n\\t\\t}\\n\\t});\\n\\tresults.sort();\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/slugify.js\":{\"title\":\"$:/core/modules/filters/slugify.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/slugify.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for slugifying a tiddler title\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.slugify = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(options.wiki.slugify(title));\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/sort.js\":{\"title\":\"$:/core/modules/filters/sort.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/sort.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for sorting\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.sort = function(source,operator,options) {\\n\\tvar results = prepare_results(source);\\n\\toptions.wiki.sortTiddlers(results,operator.operand || \\\"title\\\",operator.prefix === \\\"!\\\",false,false);\\n\\treturn results;\\n};\\n\\nexports.nsort = function(source,operator,options) {\\n\\tvar results = prepare_results(source);\\n\\toptions.wiki.sortTiddlers(results,operator.operand || \\\"title\\\",operator.prefix === \\\"!\\\",false,true);\\n\\treturn results;\\n};\\n\\nexports.sortan = function(source, operator, options) {\\n\\tvar results = prepare_results(source);\\n\\toptions.wiki.sortTiddlers(results, operator.operand || \\\"title\\\", operator.prefix === \\\"!\\\",false,false,true);\\n\\treturn results;\\n};\\n\\nexports.sortcs = function(source,operator,options) {\\n\\tvar results = prepare_results(source);\\n\\toptions.wiki.sortTiddlers(results,operator.operand || \\\"title\\\",operator.prefix === \\\"!\\\",true,false);\\n\\treturn results;\\n};\\n\\nexports.nsortcs = function(source,operator,options) {\\n\\tvar results = prepare_results(source);\\n\\toptions.wiki.sortTiddlers(results,operator.operand || \\\"title\\\",operator.prefix === \\\"!\\\",true,true);\\n\\treturn results;\\n};\\n\\nvar prepare_results = function (source) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(title);\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/sortsub.js\":{\"title\":\"$:/core/modules/filters/sortsub.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/sortsub.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for sorting by a subfilter\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.sortsub = function(source,operator,options) {\\n\\t// Compile the subfilter\\n\\tvar filterFn = options.wiki.compileFilter(operator.operand);\\n\\t// Collect the input titles and the corresponding sort keys\\n\\tvar inputTitles = [],\\n\\t\\tsortKeys = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tinputTitles.push(title);\\n\\t\\tvar r = filterFn.call(options.wiki,function(iterator) {\\n\\t\\t\\titerator(options.wiki.getTiddler(title),title);\\n\\t\\t},options.widget.makeFakeWidgetWithVariables({\\n\\t\\t\\t\\\"currentTiddler\\\": \\\"\\\" + title,\\n\\t\\t\\t\\\"..currentTiddler\\\": options.widget.getVariable(\\\"currentTiddler\\\")\\n\\t\\t}));\\n\\t\\tsortKeys.push(r[0] || \\\"\\\");\\n\\t});\\n\\t// Rather than sorting the titles array, we'll sort the indexes so that we can consult both arrays\\n\\tvar indexes = new Array(inputTitles.length);\\n\\tfor(var t=0; t<inputTitles.length; t++) {\\n\\t\\tindexes[t] = t;\\n\\t}\\n\\t// Sort the indexes\\n\\tvar compareFn = $tw.utils.makeCompareFunction(operator.suffix,{defaultType: \\\"string\\\",invert: operator.prefix === \\\"!\\\"});\\n\\tindexes = indexes.sort(function(a,b) {\\n\\t\\treturn compareFn(sortKeys[a],sortKeys[b]);\\n\\t});\\n\\t// Make the results array in order\\n\\tvar results = [];\\n\\t$tw.utils.each(indexes,function(index) {\\n\\t\\tresults.push(inputTitles[index]);\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/splitbefore.js\":{\"title\":\"$:/core/modules/filters/splitbefore.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/splitbefore.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator that splits each result on the first occurance of the specified separator and returns the unique values.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.splitbefore = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar parts = title.split(operator.operand);\\n\\t\\tif(parts.length === 1) {\\n\\t\\t\\t$tw.utils.pushTop(results,parts[0]);\\n\\t\\t} else {\\n\\t\\t\\t$tw.utils.pushTop(results,parts[0] + operator.operand);\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/storyviews.js\":{\"title\":\"$:/core/modules/filters/storyviews.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/storyviews.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for returning the names of the story views in this wiki\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.storyviews = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tstoryviews = {};\\n\\t$tw.modules.applyMethods(\\\"storyview\\\",storyviews);\\n\\t$tw.utils.each(storyviews,function(info,name) {\\n\\t\\tresults.push(name);\\n\\t});\\n\\tresults.sort();\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/strings.js\":{\"title\":\"$:/core/modules/filters/strings.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/strings.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operators for strings. Unary/binary operators work on each item in turn, and return a new item list.\\n\\nSum/product/maxall/minall operate on the entire list, returning a single item.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.length = makeStringBinaryOperator(\\n\\tfunction(a) {return [\\\"\\\" + (\\\"\\\" + a).length];}\\n);\\n\\nexports.uppercase = makeStringBinaryOperator(\\n\\tfunction(a) {return [(\\\"\\\" + a).toUpperCase()];}\\n);\\n\\nexports.lowercase = makeStringBinaryOperator(\\n\\tfunction(a) {return [(\\\"\\\" + a).toLowerCase()];}\\n);\\n\\nexports.sentencecase = makeStringBinaryOperator(\\n\\tfunction(a) {return [$tw.utils.toSentenceCase(a)];}\\n);\\n\\nexports.titlecase = makeStringBinaryOperator(\\n\\tfunction(a) {return [$tw.utils.toTitleCase(a)];}\\n);\\n\\nexports.trim = function(source,operator,options) {\\n\\tvar result = [],\\n\\t\\tsuffix = operator.suffix || \\\"\\\",\\n\\t\\toperand = (operator.operand || \\\"\\\"),\\n\\t\\tfnCalc;\\n\\tif(suffix === \\\"prefix\\\") {\\n\\t\\tfnCalc = function(a,b) {return [$tw.utils.trimPrefix(a,b)];}\\n\\t} else if(suffix === \\\"suffix\\\") {\\n\\t\\tfnCalc = function(a,b) {return [$tw.utils.trimSuffix(a,b)];}\\n\\t} else {\\n\\t\\tif(operand === \\\"\\\") {\\n\\t\\t\\tfnCalc = function(a) {return [$tw.utils.trim(a)];}\\n\\t\\t} else {\\n\\t\\t\\tfnCalc = function(a,b) {return [$tw.utils.trimSuffix($tw.utils.trimPrefix(a,b),b)];}\\n\\t\\t}\\n\\t}\\n\\tsource(function(tiddler,title) {\\n\\t\\tArray.prototype.push.apply(result,fnCalc(title,operand));\\n\\t});\\n\\treturn result;\\n};\\n\\nexports.split = makeStringBinaryOperator(\\n\\tfunction(a,b) {return (\\\"\\\" + a).split(b);}\\n);\\n\\nexports[\\\"enlist-input\\\"] = makeStringBinaryOperator(\\n\\tfunction(a,o,s) {return $tw.utils.parseStringArray(\\\"\\\" + a,(s === \\\"raw\\\"));}\\n);\\n\\nexports.join = makeStringReducingOperator(\\n\\tfunction(accumulator,value,operand) {\\n\\t\\tif(accumulator === null) {\\n\\t\\t\\treturn value;\\n\\t\\t} else {\\n\\t\\t\\treturn accumulator + operand + value;\\n\\t\\t}\\n\\t},null\\n);\\n\\nvar dmp = require(\\\"$:/core/modules/utils/diff-match-patch/diff_match_patch.js\\\");\\n\\nexports.levenshtein = makeStringBinaryOperator(\\n\\tfunction(a,b) {\\n\\t\\tvar dmpObject = new dmp.diff_match_patch(),\\n\\t\\t\\tdiffs = dmpObject.diff_main(a,b);\\n\\t\\treturn [dmpObject.diff_levenshtein(diffs) + \\\"\\\"];\\n\\t}\\n);\\n\\n// these two functions are adapted from https://github.com/google/diff-match-patch/wiki/Line-or-Word-Diffs\\nfunction diffLineWordMode(text1,text2,mode) {\\n\\tvar dmpObject = new dmp.diff_match_patch();\\n\\tvar a = diffPartsToChars(text1,text2,mode);\\n\\tvar lineText1 = a.chars1;\\n\\tvar lineText2 = a.chars2;\\n\\tvar lineArray = a.lineArray;\\n\\tvar diffs = dmpObject.diff_main(lineText1,lineText2,false);\\n\\tdmpObject.diff_charsToLines_(diffs,lineArray);\\n\\treturn diffs;\\n}\\n\\nfunction diffPartsToChars(text1,text2,mode) {\\n\\tvar lineArray = [];\\n\\tvar lineHash = {};\\n\\tlineArray[0] = '';\\n\\n function diff_linesToPartsMunge_(text,mode) {\\n var chars = '';\\n var lineStart = 0;\\n var lineEnd = -1;\\n var lineArrayLength = lineArray.length,\\n regexpResult;\\n var searchRegexp = /\\\\W+/g;\\n while(lineEnd < text.length - 1) {\\n\\t if(mode === \\\"words\\\") {\\n regexpResult = searchRegexp.exec(text);\\n lineEnd = searchRegexp.lastIndex;\\n if(regexpResult === null) {\\n lineEnd = text.length;\\n }\\n lineEnd = --lineEnd;\\n } else {\\n lineEnd = text.indexOf('\\\\n', lineStart);\\n if(lineEnd == -1) {\\n lineEnd = text.length - 1;\\n }\\n }\\n var line = text.substring(lineStart, lineEnd + 1);\\n\\n if(lineHash.hasOwnProperty ? lineHash.hasOwnProperty(line) : (lineHash[line] !== undefined)) {\\n\\t\\t\\t\\tchars += String.fromCharCode(lineHash[line]);\\n } else {\\n if (lineArrayLength == maxLines) {\\n line = text.substring(lineStart);\\n lineEnd = text.length;\\n }\\n chars += String.fromCharCode(lineArrayLength);\\n lineHash[line] = lineArrayLength;\\n lineArray[lineArrayLength++] = line;\\n }\\n lineStart = lineEnd + 1;\\n }\\n return chars;\\n }\\n var maxLines = 40000;\\n var chars1 = diff_linesToPartsMunge_(text1,mode);\\n maxLines = 65535;\\n var chars2 = diff_linesToPartsMunge_(text2,mode);\\n return {chars1: chars1, chars2: chars2, lineArray: lineArray};\\n};\\n\\nexports.makepatches = function(source,operator,options) {\\n\\tvar dmpObject = new dmp.diff_match_patch(),\\n\\t\\tsuffix = operator.suffix || \\\"\\\",\\n\\t\\tresult = [];\\n\\t\\t\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tvar diffs, patches;\\n\\t\\t\\tif(suffix === \\\"lines\\\" || suffix === \\\"words\\\") {\\n\\t\\t\\t\\tdiffs = diffLineWordMode(title,operator.operand,suffix);\\n\\t\\t\\t\\tpatches = dmpObject.patch_make(title,diffs);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tpatches = dmpObject.patch_make(title,operator.operand);\\n\\t\\t\\t}\\n\\t\\t\\tArray.prototype.push.apply(result,[dmpObject.patch_toText(patches)]);\\n\\t\\t});\\n\\n\\treturn result;\\n};\\n\\nexports.applypatches = makeStringBinaryOperator(\\n\\tfunction(a,b) {\\n\\t\\tvar dmpObject = new dmp.diff_match_patch(),\\n\\t\\t\\tpatches;\\n\\t\\ttry {\\n\\t\\t\\tpatches = dmpObject.patch_fromText(b);\\n\\t\\t} catch(e) {\\n\\t\\t}\\n\\t\\tif(patches) {\\n\\t\\t\\treturn [dmpObject.patch_apply(patches,a)[0]];\\n\\t\\t} else {\\n\\t\\t\\treturn [a];\\n\\t\\t}\\n\\t}\\n);\\n\\nfunction makeStringBinaryOperator(fnCalc) {\\n\\treturn function(source,operator,options) {\\n\\t\\tvar result = [];\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tArray.prototype.push.apply(result,fnCalc(title,operator.operand || \\\"\\\",operator.suffix || \\\"\\\"));\\n\\t\\t});\\n\\t\\treturn result;\\n\\t};\\n}\\n\\nfunction makeStringReducingOperator(fnCalc,initialValue) {\\n\\treturn function(source,operator,options) {\\n\\t\\tvar result = [];\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tresult.push(title);\\n\\t\\t});\\n\\t\\tif(result.length === 0) {\\n\\t\\t\\treturn [];\\n\\t\\t}\\n\\t\\treturn [result.reduce(function(accumulator,currentValue) {\\n\\t\\t\\treturn fnCalc(accumulator,currentValue,operator.operand || \\\"\\\");\\n\\t\\t},initialValue) || \\\"\\\"];\\n\\t};\\n}\\n\\nexports.splitregexp = function(source,operator,options) {\\n\\tvar result = [],\\n\\t\\tsuffix = operator.suffix || \\\"\\\",\\n\\t\\tflags = (suffix.indexOf(\\\"m\\\") !== -1 ? \\\"m\\\" : \\\"\\\") + (suffix.indexOf(\\\"i\\\") !== -1 ? \\\"i\\\" : \\\"\\\"),\\n\\t\\tregExp;\\n\\ttry {\\n\\t\\tregExp = new RegExp(operator.operand || \\\"\\\",flags);\\n\\t} catch(ex) {\\n\\t\\treturn [\\\"RegExp error: \\\" + ex];\\n\\t}\\n\\tsource(function(tiddler,title) {\\n\\t\\tArray.prototype.push.apply(result,title.split(regExp));\\n\\t});\\n\\treturn result;\\n};\\n\\nexports[\\\"search-replace\\\"] = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tsuffixes = operator.suffixes || [],\\n\\t\\tflagSuffix = (suffixes[0] ? (suffixes[0][0] || \\\"\\\") : \\\"\\\"),\\n\\t\\tflags = (flagSuffix.indexOf(\\\"g\\\") !== -1 ? \\\"g\\\" : \\\"\\\") + (flagSuffix.indexOf(\\\"i\\\") !== -1 ? \\\"i\\\" : \\\"\\\") + (flagSuffix.indexOf(\\\"m\\\") !== -1 ? \\\"m\\\" : \\\"\\\"),\\n\\t\\tisRegExp = (suffixes[1] && suffixes[1][0] === \\\"regexp\\\") ? true : false,\\n\\t\\t//Escape regexp characters if the operand is not a regular expression\\n\\t\\tsearchTerm = isRegExp ? operator.operand : $tw.utils.escapeRegExp(operator.operand),\\n\\t\\t//Escape $ character in replacement string if not in regular expression mode\\n\\t\\treplacement = isRegExp ? operator.operands[1] : (operator.operands[1]||\\\"\\\").replace(/\\\\$/g,\\\"$$$$\\\"),\\n\\t\\tregExp;\\n\\ttry {\\n\\t\\tregExp = new RegExp(searchTerm,flags);\\n\\t} catch(ex) {\\n\\t\\treturn [\\\"RegExp error: \\\" + ex];\\n\\t}\\n\\n\\tsource(function(tiddler,title) {\\n\\t\\tif(title && (operator.operands.length > 1)) {\\n\\t\\t\\tresults.push(\\n\\t\\t\\t\\ttitle.replace(regExp,replacement)\\n\\t\\t\\t);\\n\\t\\t\\tregExp.lastIndex = 0;\\n\\t\\t} else {\\n\\t\\t\\tresults.push(title);\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\nexports.pad = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\ttargetLength = operator.operand ? parseInt(operator.operand) : 0,\\n\\t\\tfill = operator.operands[1] || \\\"0\\\";\\n\\n\\tsource(function(tiddler,title) {\\n\\t\\tif(title && title.length) {\\n\\t\\t\\tif(title.length >= targetLength) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tvar padString = \\\"\\\",\\n\\t\\t\\t\\t\\tpadStringLength = targetLength - title.length;\\n\\t\\t\\t\\twhile (padStringLength > padString.length) {\\n\\t\\t\\t\\t\\tpadString += fill;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t//make sure we do not exceed the specified length\\n\\t\\t\\t\\tpadString = padString.slice(0,padStringLength);\\n\\t\\t\\t\\tif(operator.suffix && (operator.suffix === \\\"suffix\\\")) {\\n\\t\\t\\t\\t\\ttitle = title + padString;\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\ttitle = padString + title;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n}\\n\\nexports.charcode = function(source,operator,options) {\\n\\tvar chars = [];\\n\\t$tw.utils.each(operator.operands,function(operand) {\\n\\t\\tif(operand !== \\\"\\\") {\\n\\t\\t\\tchars.push(String.fromCharCode($tw.utils.parseInt(operand)));\\n\\t\\t}\\n\\t});\\n\\treturn [chars.join(\\\"\\\")];\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/subfilter.js\":{\"title\":\"$:/core/modules/filters/subfilter.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/subfilter.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator returning its operand evaluated as a filter\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.subfilter = function(source,operator,options) {\\n\\tvar list = options.wiki.filterTiddlers(operator.operand,options.widget,source);\\n\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\tvar results = [];\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(list.indexOf(title) === -1) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\treturn results;\\n\\t} else {\\n\\t\\treturn list;\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/substitute.js\":{\"title\":\"$:/core/modules/filters/substitute.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/substitute.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for substituting variables and embedded filter expressions with their corresponding values\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.substitute = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\toperands = [];\\n\\t$tw.utils.each(operator.operands,function(operand,index){\\n\\t\\toperands.push({\\n\\t\\t\\tname: (index + 1).toString(),\\n\\t\\t\\tvalue: operand\\n\\t\\t});\\n\\t});\\n\\tsource(function(tiddler,title) {\\n\\t\\tif(title) {\\n\\t\\t\\tresults.push(options.wiki.getSubstitutedText(title,options.widget,{substitutions:operands}));\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n \",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/subtiddlerfields.js\":{\"title\":\"$:/core/modules/filters/subtiddlerfields.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/subtiddlerfields.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for returning the names of the fields on the selected subtiddlers of the plugin named in the operand\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.subtiddlerfields = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar subtiddler = options.wiki.getSubTiddler(operator.operand,title);\\n\\t\\tif(subtiddler) {\\n\\t\\t\\tfor(var fieldName in subtiddler.fields) {\\n\\t\\t\\t\\t$tw.utils.pushTop(results,fieldName);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/suffix.js\":{\"title\":\"$:/core/modules/filters/suffix.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/suffix.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for checking if a title ends with a suffix\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.suffix = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\tsuffixes = (operator.suffixes || [])[0] || [];\\n\\tif (!operator.operand) {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tresults.push(title);\\n\\t\\t});\\n\\t} else if(suffixes.indexOf(\\\"caseinsensitive\\\") !== -1) {\\n\\t\\tvar operand = operator.operand.toLowerCase();\\n\\t\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(title.toLowerCase().substr(-operand.length) !== operand) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(title.toLowerCase().substr(-operand.length) === operand) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t} else {\\n\\t\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(title.substr(-operator.operand.length) !== operator.operand) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(title.substr(-operator.operand.length) === operator.operand) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/tag.js\":{\"title\":\"$:/core/modules/filters/tag.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/tag.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for checking for the presence of a tag\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.tag = function(source,operator,options) {\\n\\tvar results = [],indexedResults;\\n\\tif((operator.suffix || \\\"\\\").toLowerCase() === \\\"strict\\\" && !operator.operand) {\\n\\t\\t// New semantics:\\n\\t\\t// Always return copy of input if operator.operand is missing\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tresults.push(title);\\n\\t\\t});\\n\\t} else {\\n\\t\\t// Old semantics:\\n\\t\\tvar tiddlers;\\n\\t\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\t\\t// Returns a copy of the input if operator.operand is missing\\n\\t\\t\\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\\n\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\tif(tiddlers.indexOf(title) === -1) {\\n\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\t// Returns empty results if operator.operand is missing\\n\\t\\t\\tif(source.byTag) {\\n\\t\\t\\t\\tindexedResults = source.byTag(operator.operand);\\n\\t\\t\\t\\tif(indexedResults) {\\n\\t\\t\\t\\t\\treturn indexedResults;\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\\n\\t\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\t\\tif(tiddlers.indexOf(title) !== -1) {\\n\\t\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\tresults = options.wiki.sortByList(results,operator.operand);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/tagging.js\":{\"title\":\"$:/core/modules/filters/tagging.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/tagging.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator returning all tiddlers that are tagged with the selected tiddlers\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.tagging = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\t$tw.utils.pushTop(results,options.wiki.getTiddlersWithTag(title));\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/tags.js\":{\"title\":\"$:/core/modules/filters/tags.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/tags.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator returning all the tags of the selected tiddlers\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.tags = function(source,operator,options) {\\n\\tvar tags = {};\\n\\tsource(function(tiddler,title) {\\n\\t\\tvar t, length;\\n\\t\\tif(tiddler && tiddler.fields.tags) {\\n\\t\\t\\tfor(t=0, length=tiddler.fields.tags.length; t<length; t++) {\\n\\t\\t\\t\\ttags[tiddler.fields.tags[t]] = true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\treturn Object.keys(tags);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/then.js\":{\"title\":\"$:/core/modules/filters/then.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/then.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for replacing any titles with a constant\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.then = function(source,operator,options) {\\n\\tvar results = [];\\n\\tsource(function(tiddler,title) {\\n\\t\\tresults.push(operator.operand);\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/title.js\":{\"title\":\"$:/core/modules/filters/title.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/title.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for comparing title fields for equality\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.title = function(source,operator,options) {\\n\\tvar results = [];\\n\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\tif(tiddler && tiddler.fields.title !== operator.operand) {\\n\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tresults.push(operator.operand);\\n\\t}\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/unknown.js\":{\"title\":\"$:/core/modules/filters/unknown.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/unknown.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for handling unknown filter operators.\\n\\nNot intended to be used directly by end users, hence the square brackets around the name.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar fieldFilterOperatorFn = require(\\\"$:/core/modules/filters/field.js\\\").field;\\n\\n/*\\nExport our filter function\\n*/\\nexports[\\\"[unknown]\\\"] = function(source,operator,options) {\\n\\t// Check for a user defined filter operator\\n\\tif(operator.operator.indexOf(\\\".\\\") !== -1) {\\n\\t\\tvar params = [];\\n\\t\\t$tw.utils.each(operator.operands,function(param) {\\n\\t\\t\\tparams.push({value: param});\\n\\t\\t});\\t\\n\\t\\tvar variableInfo = options.widget && options.widget.getVariableInfo && options.widget.getVariableInfo(operator.operator,{params: params, source: source});\\n\\t\\tif(variableInfo && variableInfo.srcVariable) {\\n\\t\\t\\tvar list = variableInfo.resultList ? variableInfo.resultList : [variableInfo.text];\\n\\t\\t\\tif(operator.prefix === \\\"!\\\") {\\n\\t\\t\\t\\tvar results = [];\\n\\t\\t\\t\\tsource(function(tiddler,title) {\\n\\t\\t\\t\\t\\tif(list.indexOf(title) === -1) {\\n\\t\\t\\t\\t\\t\\tresults.push(title);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\treturn results;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn list;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// Otherwise, use the \\\"field\\\" operator\\n\\treturn fieldFilterOperatorFn(source,operator,options);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/untagged.js\":{\"title\":\"$:/core/modules/filters/untagged.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/untagged.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator returning all the selected tiddlers that are untagged\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.untagged = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\texpected = (operator.prefix === \\\"!\\\");\\n\\tsource(function(tiddler,title) {\\n\\t\\tif(((tiddler && $tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length > 0) === expected) || (!tiddler && !expected)) {\\n\\t\\t\\tresults.push(title);\\n\\t\\t}\\n\\t});\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/variables.js\":{\"title\":\"$:/core/modules/filters/variables.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/variables.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for returning the names of the active variables\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.variables = function(source,operator,options) {\\n\\tvar names = [],\\n\\t\\twidget = options.widget;\\n\\twhile(widget && !widget.hasOwnProperty(\\\"variables\\\")) {\\n\\t\\twidget = widget.parentWidget;\\n\\t}\\n\\tif(widget && widget.variables) {\\n\\t\\tfor(var variable in widget.variables) {\\n\\t\\t\\tnames.push(variable);\\n\\t\\t}\\n\\t}\\n\\treturn names.sort();\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/wikiparserrules.js\":{\"title\":\"$:/core/modules/filters/wikiparserrules.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/wikiparserrules.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nFilter operator for returning the names of the wiki parser rules in this wiki\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nExport our filter function\\n*/\\nexports.wikiparserrules = function(source,operator,options) {\\n\\tvar results = [],\\n\\t\\toperand = operator.operand;\\n\\t$tw.utils.each($tw.modules.types.wikirule,function(mod) {\\n\\t\\tvar exp = mod.exports;\\n\\t\\tif(!operand || exp.types[operand]) {\\n\\t\\t\\tresults.push(exp.name);\\n\\t\\t}\\n\\t});\\n\\tresults.sort();\\n\\treturn results;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters/x-listops.js\":{\"title\":\"$:/core/modules/filters/x-listops.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters/x-listops.js\\ntype: application/javascript\\nmodule-type: filteroperator\\n\\nExtended filter operators to manipulate the current list.\\n\\n\\\\*/\\n(function () {\\n\\n\\t/*jslint node: true, browser: true */\\n\\t/*global $tw: false */\\n\\t\\\"use strict\\\";\\n\\n\\t/*\\n\\tFetch titles from the current list\\n\\t*/\\n\\tvar prepare_results = function (source) {\\n\\tvar results = [];\\n\\t\\tsource(function (tiddler, title) {\\n\\t\\t\\tresults.push(title);\\n\\t\\t});\\n\\t\\treturn results;\\n\\t};\\n\\n\\t/*\\n\\tMoves a number of items from the tail of the current list before the item named in the operand\\n\\t*/\\n\\texports.putbefore = function (source, operator) {\\n\\t\\tvar results = prepare_results(source),\\n\\t\\t\\tindex = results.indexOf(operator.operand),\\n\\t\\t\\tcount = $tw.utils.getInt(operator.suffix,1);\\n\\t\\treturn (index === -1) ?\\n\\t\\t\\tresults.slice(0, -1) :\\n\\t\\t\\tresults.slice(0, index).concat(results.slice(-count)).concat(results.slice(index, -count));\\n\\t};\\n\\n\\t/*\\n\\tMoves a number of items from the tail of the current list after the item named in the operand\\n\\t*/\\n\\texports.putafter = function (source, operator) {\\n\\t\\tvar results = prepare_results(source),\\n\\t\\t\\tindex = results.indexOf(operator.operand),\\n\\t\\t\\tcount = $tw.utils.getInt(operator.suffix,1);\\n\\t\\treturn (index === -1) ?\\n\\t\\t\\tresults.slice(0, -1) :\\n\\t\\t\\tresults.slice(0, index + 1).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\\n\\t};\\n\\n\\t/*\\n\\tReplaces the item named in the operand with a number of items from the tail of the current list\\n\\t*/\\n\\texports.replace = function (source, operator) {\\n\\t\\tvar results = prepare_results(source),\\n\\t\\t\\tindex = results.indexOf(operator.operand),\\n\\t\\t\\tcount = $tw.utils.getInt(operator.suffix,1);\\n\\t\\treturn (index === -1) ?\\n\\t\\t\\tresults.slice(0, -count) :\\n\\t\\t\\tresults.slice(0, index).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\\n\\t};\\n\\n\\t/*\\n\\tMoves a number of items from the tail of the current list to the head of the list\\n\\t*/\\n\\texports.putfirst = function (source, operator) {\\n\\t\\tvar results = prepare_results(source),\\n\\t\\t\\tcount = $tw.utils.getInt(operator.suffix,1);\\n\\t\\treturn results.slice(-count).concat(results.slice(0, -count));\\n\\t};\\n\\n\\t/*\\n\\tMoves a number of items from the head of the current list to the tail of the list\\n\\t*/\\n\\texports.putlast = function (source, operator) {\\n\\t\\tvar results = prepare_results(source),\\n\\t\\t\\tcount = $tw.utils.getInt(operator.suffix,1);\\n\\t\\treturn results.slice(count).concat(results.slice(0, count));\\n\\t};\\n\\n\\t/*\\n\\tMoves the item named in the operand a number of places forward or backward in the list\\n\\t*/\\n\\texports.move = function (source, operator) {\\n\\t\\tvar results = prepare_results(source),\\n\\t\\t\\tindex = results.indexOf(operator.operand),\\n\\t\\t\\tcount = $tw.utils.getInt(operator.suffix,1),\\n\\t\\t\\tmarker = results.splice(index, 1),\\n\\t\\t\\toffset = (index + count) > 0 ? index + count : 0;\\n\\t\\treturn results.slice(0, offset).concat(marker).concat(results.slice(offset));\\n\\t};\\n\\n\\t/*\\n\\tReturns the items from the current list that are after the item named in the operand\\n\\t*/\\n\\texports.allafter = function (source, operator) {\\n\\t\\tvar results = prepare_results(source),\\n\\t\\t\\tindex = results.indexOf(operator.operand);\\n\\t\\treturn (index === -1) ? [] :\\n\\t\\t\\t(operator.suffix) ? results.slice(index) :\\n\\t\\t\\tresults.slice(index + 1);\\n\\t};\\n\\n\\t/*\\n\\tReturns the items from the current list that are before the item named in the operand\\n\\t*/\\n\\texports.allbefore = function (source, operator) {\\n\\t\\tvar results = prepare_results(source),\\n\\t\\t\\tindex = results.indexOf(operator.operand);\\n\\t\\treturn (index === -1) ? [] :\\n\\t\\t\\t(operator.suffix) ? results.slice(0, index + 1) :\\n\\t\\t\\tresults.slice(0, index);\\n\\t};\\n\\n\\t/*\\n\\tAppends the items listed in the operand array to the tail of the current list\\n\\t*/\\n\\texports.append = function (source, operator) {\\n\\t\\tvar append = $tw.utils.parseStringArray(operator.operand, \\\"true\\\"),\\n\\t\\t\\tresults = prepare_results(source),\\n\\t\\t\\tcount = parseInt(operator.suffix) || append.length;\\n\\t\\treturn (append.length === 0) ? results :\\n\\t\\t\\t(operator.prefix) ? results.concat(append.slice(-count)) :\\n\\t\\t\\tresults.concat(append.slice(0, count));\\n\\t};\\n\\n\\t/*\\n\\tPrepends the items listed in the operand array to the head of the current list\\n\\t*/\\n\\texports.prepend = function (source, operator) {\\n\\t\\tvar prepend = $tw.utils.parseStringArray(operator.operand, \\\"true\\\"),\\n\\t\\t\\tresults = prepare_results(source),\\n\\t\\t\\tcount = $tw.utils.getInt(operator.suffix,prepend.length);\\n\\t\\treturn (prepend.length === 0) ? results :\\n\\t\\t\\t(operator.prefix) ? prepend.slice(-count).concat(results) :\\n\\t\\t\\tprepend.slice(0, count).concat(results);\\n\\t};\\n\\n\\t/*\\n\\tReturns all items from the current list except the items listed in the operand array\\n\\t*/\\n\\texports.remove = function (source, operator) {\\n\\t\\tvar array = $tw.utils.parseStringArray(operator.operand, \\\"true\\\"),\\n\\t\\t\\tresults = prepare_results(source),\\n\\t\\t\\tcount = parseInt(operator.suffix) || array.length,\\n\\t\\t\\tp,\\n\\t\\t\\tlen,\\n\\t\\t\\tindex;\\n\\t\\tlen = array.length - 1;\\n\\t\\tfor (p = 0; p < count; ++p) {\\n\\t\\t\\tif (operator.prefix) {\\n\\t\\t\\t\\tindex = results.indexOf(array[len - p]);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tindex = results.indexOf(array[p]);\\n\\t\\t\\t}\\n\\t\\t\\tif (index !== -1) {\\n\\t\\t\\t\\tresults.splice(index, 1);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn results;\\n\\t};\\n\\n\\t/*\\n\\tReturns all items from the current list sorted in the order of the items in the operand array\\n\\t*/\\n\\texports.sortby = function (source, operator) {\\n\\t\\tvar results = prepare_results(source);\\n\\t\\tif (!results || results.length < 2) {\\n\\t\\t\\treturn results;\\n\\t\\t}\\n\\t\\tvar lookup = $tw.utils.parseStringArray(operator.operand, \\\"true\\\");\\n\\t\\tresults.sort(function (a, b) {\\n\\t\\t\\treturn lookup.indexOf(a) - lookup.indexOf(b);\\n\\t\\t});\\n\\t\\treturn results;\\n\\t};\\n\\n\\t/*\\n\\tRemoves all duplicate items from the current list\\n\\t*/\\n\\texports.unique = function (source, operator) {\\n\\t\\tvar results = prepare_results(source);\\n\\t\\tvar set = results.reduce(function (a, b) {\\n\\t\\t\\tif (a.indexOf(b) < 0) {\\n\\t\\t\\t\\ta.push(b);\\n\\t\\t\\t}\\n\\t\\t\\treturn a;\\n\\t\\t}, []);\\n\\t\\treturn set;\\n\\t};\\n\\n\\tvar cycleValueInArray = function(results,operands,stepSize) {\\n\\t\\tvar resultsIndex,\\n\\t\\t\\tstep = stepSize || 1,\\n\\t\\t\\ti = 0,\\n\\t\\t\\topLength = operands.length,\\n\\t\\t\\tnextOperandIndex;\\n\\t\\tfor(i; i < opLength; i++) {\\n\\t\\t\\tresultsIndex = results.indexOf(operands[i]);\\n\\t\\t\\tif(resultsIndex !== -1) {\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tif(resultsIndex !== -1) {\\n\\t\\t\\ti = i + step;\\n\\t\\t\\tnextOperandIndex = (i < opLength ? i : i - opLength);\\n\\t\\t\\tif(operands.length > 1) {\\n\\t\\t\\t\\tresults.splice(resultsIndex,1,operands[nextOperandIndex]);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tresults.splice(resultsIndex,1);\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tresults.push(operands[0]);\\n\\t\\t}\\n\\t\\treturn results;\\n\\t}\\n\\n\\t/*\\n\\tToggles an item in the current list.\\n\\t*/\\n\\texports.toggle = function(source,operator) {\\n\\t\\treturn cycleValueInArray(prepare_results(source),operator.operands);\\n\\t}\\n\\n\\texports.cycle = function(source,operator) {\\n\\t\\tvar results = prepare_results(source),\\n\\t\\t\\toperands = (operator.operand.length ? $tw.utils.parseStringArray(operator.operand, \\\"true\\\") : [\\\"\\\"]),\\n\\t\\t\\tstep = $tw.utils.getInt(operator.operands[1]||\\\"\\\",1);\\n\\t\\tif(step < 0) {\\n\\t\\t\\toperands.reverse();\\n\\t\\t\\tstep = Math.abs(step);\\n\\t\\t}\\n\\t\\treturn cycleValueInArray(results,operands,step);\\n\\t}\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"filteroperator\"},\"$:/core/modules/filters.js\":{\"title\":\"$:/core/modules/filters.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/filters.js\\ntype: application/javascript\\nmodule-type: wikimethod\\n\\nAdds tiddler filtering methods to the $tw.Wiki object.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar widgetClass = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\n/* Maximum permitted filter recursion depth */\\nvar MAX_FILTER_DEPTH = 300;\\n\\n/*\\nParses an operation (i.e. a run) within a filter string\\n\\toperators: Array of array of operator nodes into which results should be inserted\\n\\tfilterString: filter string\\n\\tp: start position within the string\\nReturns the new start position, after the parsed operation\\n*/\\nfunction parseFilterOperation(operators,filterString,p) {\\n\\tvar nextBracketPos, operator;\\n\\t// Skip the starting square bracket\\n\\tif(filterString.charAt(p++) !== \\\"[\\\") {\\n\\t\\tthrow \\\"Missing [ in filter expression\\\";\\n\\t}\\n\\t// Process each operator in turn\\n\\tdo {\\n\\t\\toperator = {};\\n\\t\\t// Check for an operator prefix\\n\\t\\tif(filterString.charAt(p) === \\\"!\\\") {\\n\\t\\t\\toperator.prefix = filterString.charAt(p++);\\n\\t\\t}\\n\\t\\t// Get the operator name\\n\\t\\tnextBracketPos = filterString.substring(p).search(/[\\\\[\\\\{<\\\\/]/);\\n\\t\\tif(nextBracketPos === -1) {\\n\\t\\t\\tthrow \\\"Missing [ in filter expression\\\";\\n\\t\\t}\\n\\t\\tnextBracketPos += p;\\n\\t\\tvar bracket = filterString.charAt(nextBracketPos);\\n\\t\\toperator.operator = filterString.substring(p,nextBracketPos);\\n\\t\\t// Any suffix?\\n\\t\\tvar colon = operator.operator.indexOf(':');\\n\\t\\tif(colon > -1) {\\n\\t\\t\\t// The raw suffix for older filters\\n\\t\\t\\toperator.suffix = operator.operator.substring(colon + 1);\\n\\t\\t\\toperator.operator = operator.operator.substring(0,colon) || \\\"field\\\";\\n\\t\\t\\t// The processed suffix for newer filters\\n\\t\\t\\toperator.suffixes = [];\\n\\t\\t\\t$tw.utils.each(operator.suffix.split(\\\":\\\"),function(subsuffix) {\\n\\t\\t\\t\\toperator.suffixes.push([]);\\n\\t\\t\\t\\t$tw.utils.each(subsuffix.split(\\\",\\\"),function(entry) {\\n\\t\\t\\t\\t\\tentry = $tw.utils.trim(entry);\\n\\t\\t\\t\\t\\tif(entry) {\\n\\t\\t\\t\\t\\t\\toperator.suffixes[operator.suffixes.length - 1].push(entry); \\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t});\\n\\t\\t\\t});\\n\\t\\t}\\n\\t\\t// Empty operator means: title\\n\\t\\telse if(operator.operator === \\\"\\\") {\\n\\t\\t\\toperator.operator = \\\"title\\\";\\n\\t\\t}\\n\\t\\toperator.operands = [];\\n\\t\\tvar parseOperand = function(bracketType) {\\n\\t\\t\\tvar operand = {};\\n\\t\\t\\tswitch (bracketType) {\\n\\t\\t\\t\\tcase \\\"{\\\": // Curly brackets\\n\\t\\t\\t\\t\\toperand.indirect = true;\\n\\t\\t\\t\\t\\tnextBracketPos = filterString.indexOf(\\\"}\\\",p);\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\tcase \\\"[\\\": // Square brackets\\n\\t\\t\\t\\t\\tnextBracketPos = filterString.indexOf(\\\"]\\\",p);\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\tcase \\\"<\\\": // Angle brackets\\n\\t\\t\\t\\t\\toperand.variable = true;\\n\\t\\t\\t\\t\\tnextBracketPos = filterString.indexOf(\\\">\\\",p);\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\tcase \\\"/\\\": // regexp brackets\\n\\t\\t\\t\\t\\tvar rex = /^((?:[^\\\\\\\\\\\\/]|\\\\\\\\.)*)\\\\/(?:\\\\(([mygi]+)\\\\))?/g,\\n\\t\\t\\t\\t\\t\\trexMatch = rex.exec(filterString.substring(p));\\n\\t\\t\\t\\t\\tif(rexMatch) {\\n\\t\\t\\t\\t\\t\\toperator.regexp = new RegExp(rexMatch[1], rexMatch[2]);\\n\\t// DEPRECATION WARNING\\n\\tconsole.log(\\\"WARNING: Filter\\\",operator.operator,\\\"has a deprecated regexp operand\\\",operator.regexp);\\n\\t\\t\\t\\t\\t\\tnextBracketPos = p + rex.lastIndex - 1;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t\\tthrow \\\"Unterminated regular expression in filter expression\\\";\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif(nextBracketPos === -1) {\\n\\t\\t\\t\\tthrow \\\"Missing closing bracket in filter expression\\\";\\n\\t\\t\\t}\\n\\t\\t\\tif(operator.regexp) {\\n\\t\\t\\t\\toperand.text = \\\"\\\";\\n\\t\\t\\t} else {\\n\\t\\t\\t\\toperand.text = filterString.substring(p,nextBracketPos);\\n\\t\\t\\t}\\n\\t\\t\\toperator.operands.push(operand);\\n\\t\\t\\tp = nextBracketPos + 1;\\n\\t\\t}\\n\\n\\t\\tp = nextBracketPos + 1;\\n\\t\\tparseOperand(bracket);\\n\\n\\t\\t// Check for multiple operands\\n\\t\\twhile(filterString.charAt(p) === \\\",\\\") {\\n\\t\\t\\tp++;\\n\\t\\t\\tif(/^[\\\\[\\\\{<\\\\/]/.test(filterString.substring(p))) {\\n\\t\\t\\t\\tnextBracketPos = p;\\n\\t\\t\\t\\tp++;\\n\\t\\t\\t\\tparseOperand(filterString.charAt(nextBracketPos));\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tthrow \\\"Missing [ in filter expression\\\";\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Push this operator\\n\\t\\toperators.push(operator);\\n\\t} while(filterString.charAt(p) !== \\\"]\\\");\\n\\t// Skip the ending square bracket\\n\\tif(filterString.charAt(p++) !== \\\"]\\\") {\\n\\t\\tthrow \\\"Missing ] in filter expression\\\";\\n\\t}\\n\\t// Return the parsing position\\n\\treturn p;\\n}\\n\\n/*\\nParse a filter string\\n*/\\nexports.parseFilter = function(filterString) {\\n\\tfilterString = filterString || \\\"\\\";\\n\\tvar results = [], // Array of arrays of operator nodes {operator:,operand:}\\n\\t\\tp = 0, // Current position in the filter string\\n\\t\\tmatch;\\n\\tvar whitespaceRegExp = /(\\\\s+)/mg,\\n\\t\\toperandRegExp = /((?:\\\\+|\\\\-|~|=|\\\\:(\\\\w+)(?:\\\\:([\\\\w\\\\:, ]*))?)?)(?:(\\\\[)|(?:\\\"([^\\\"]*)\\\")|(?:'([^']*)')|([^\\\\s\\\\[\\\\]]+))/mg;\\n\\twhile(p < filterString.length) {\\n\\t\\t// Skip any whitespace\\n\\t\\twhitespaceRegExp.lastIndex = p;\\n\\t\\tmatch = whitespaceRegExp.exec(filterString);\\n\\t\\tif(match && match.index === p) {\\n\\t\\t\\tp = p + match[0].length;\\n\\t\\t}\\n\\t\\t// Match the start of the operation\\n\\t\\tif(p < filterString.length) {\\n\\t\\t\\toperandRegExp.lastIndex = p;\\n\\t\\t\\tmatch = operandRegExp.exec(filterString);\\n\\t\\t\\tif(!match || match.index !== p) {\\n\\t\\t\\t\\tthrow $tw.language.getString(\\\"Error/FilterSyntax\\\");\\n\\t\\t\\t}\\n\\t\\t\\tvar operation = {\\n\\t\\t\\t\\tprefix: \\\"\\\",\\n\\t\\t\\t\\toperators: []\\n\\t\\t\\t};\\n\\t\\t\\tif(match[1]) {\\n\\t\\t\\t\\toperation.prefix = match[1];\\n\\t\\t\\t\\tp = p + operation.prefix.length;\\n\\t\\t\\t\\tif(match[2]) {\\n\\t\\t\\t\\t\\toperation.namedPrefix = match[2];\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif(match[3]) {\\n\\t\\t\\t\\t\\toperation.suffixes = [];\\n\\t\\t\\t\\t\\t $tw.utils.each(match[3].split(\\\":\\\"),function(subsuffix) {\\n\\t\\t\\t\\t\\t\\toperation.suffixes.push([]);\\n\\t\\t\\t\\t\\t\\t$tw.utils.each(subsuffix.split(\\\",\\\"),function(entry) {\\n\\t\\t\\t\\t\\t\\t\\tentry = $tw.utils.trim(entry);\\n\\t\\t\\t\\t\\t\\t\\tif(entry) {\\n\\t\\t\\t\\t\\t\\t\\t\\toperation.suffixes[operation.suffixes.length -1].push(entry);\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\t });\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tif(match[4]) { // Opening square bracket\\n\\t\\t\\t\\tp = parseFilterOperation(operation.operators,filterString,p);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tp = match.index + match[0].length;\\n\\t\\t\\t}\\n\\t\\t\\tif(match[5] || match[6] || match[7]) { // Double quoted string, single quoted string or unquoted title\\n\\t\\t\\t\\toperation.operators.push(\\n\\t\\t\\t\\t\\t{operator: \\\"title\\\", operands: [{text: match[5] || match[6] || match[7]}]}\\n\\t\\t\\t\\t);\\n\\t\\t\\t}\\n\\t\\t\\tresults.push(operation);\\n\\t\\t}\\n\\t}\\n\\treturn results;\\n};\\n\\nexports.getFilterOperators = function() {\\n\\tif(!this.filterOperators) {\\n\\t\\t$tw.Wiki.prototype.filterOperators = {};\\n\\t\\t$tw.modules.applyMethods(\\\"filteroperator\\\",this.filterOperators);\\n\\t}\\n\\treturn this.filterOperators;\\n};\\n\\nexports.getFilterRunPrefixes = function() {\\n\\tif(!this.filterRunPrefixes) {\\n\\t\\t$tw.Wiki.prototype.filterRunPrefixes = {};\\n\\t\\t$tw.modules.applyMethods(\\\"filterrunprefix\\\",this.filterRunPrefixes);\\n\\t}\\n\\treturn this.filterRunPrefixes;\\n}\\n\\nexports.filterTiddlers = function(filterString,widget,source) {\\n\\tvar fn = this.compileFilter(filterString);\\n\\treturn fn.call(this,source,widget);\\n};\\n\\n/*\\nCompile a filter into a function with the signature fn(source,widget) where:\\nsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\\nwidget: an optional widget node for retrieving the current tiddler etc.\\n*/\\nexports.compileFilter = function(filterString) {\\n\\tif(!this.filterCache) {\\n\\t\\tthis.filterCache = Object.create(null);\\n\\t\\tthis.filterCacheCount = 0;\\n\\t}\\n\\tif(this.filterCache[filterString] !== undefined) {\\n\\t\\treturn this.filterCache[filterString];\\n\\t}\\n\\tvar filterParseTree;\\n\\ttry {\\n\\t\\tfilterParseTree = this.parseFilter(filterString);\\n\\t} catch(e) {\\n\\t\\t// We do not cache this result, so it adjusts along with localization changes\\n\\t\\treturn function(source,widget) {\\n\\t\\t\\treturn [$tw.language.getString(\\\"Error/Filter\\\") + \\\": \\\" + e];\\n\\t\\t};\\n\\t}\\n\\t// Get the hashmap of filter operator functions\\n\\tvar filterOperators = this.getFilterOperators();\\n\\t// Assemble array of functions, one for each operation\\n\\tvar operationFunctions = [];\\n\\t// Step through the operations\\n\\tvar self = this;\\n\\t$tw.utils.each(filterParseTree,function(operation) {\\n\\t\\t// Create a function for the chain of operators in the operation\\n\\t\\tvar operationSubFunction = function(source,widget) {\\n\\t\\t\\tvar accumulator = source,\\n\\t\\t\\t\\tresults = [],\\n\\t\\t\\t\\tcurrTiddlerTitle = widget && widget.getVariable(\\\"currentTiddler\\\");\\n\\t\\t\\t$tw.utils.each(operation.operators,function(operator) {\\n\\t\\t\\t\\tvar operands = [],\\n\\t\\t\\t\\t\\toperatorFunction;\\n\\t\\t\\t\\tif(!operator.operator) {\\n\\t\\t\\t\\t\\t// Use the \\\"title\\\" operator if no operator is specified\\n\\t\\t\\t\\t\\toperatorFunction = filterOperators.title;\\n\\t\\t\\t\\t} else if(!filterOperators[operator.operator]) {\\n\\t\\t\\t\\t\\t// Unknown operators treated as \\\"[unknown]\\\" - at run time we can distinguish between a custom operator and falling back to the default \\\"field\\\" operator\\n\\t\\t\\t\\t\\toperatorFunction = filterOperators[\\\"[unknown]\\\"];\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t// Use the operator function\\n\\t\\t\\t\\t\\toperatorFunction = filterOperators[operator.operator];\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t$tw.utils.each(operator.operands,function(operand) {\\n\\t\\t\\t\\t\\tif(operand.indirect) {\\n\\t\\t\\t\\t\\t\\toperand.value = self.getTextReference(operand.text,\\\"\\\",currTiddlerTitle);\\n\\t\\t\\t\\t\\t} else if(operand.variable) {\\n\\t\\t\\t\\t\\t\\tvar varTree = $tw.utils.parseFilterVariable(operand.text);\\n\\t\\t\\t\\t\\t\\toperand.value = widgetClass.evaluateVariable(widget,varTree.name,{params: varTree.params, source: source})[0] || \\\"\\\";\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\toperand.value = operand.text;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\toperands.push(operand.value);\\n\\t\\t\\t\\t});\\n\\n\\t\\t\\t\\t// Invoke the appropriate filteroperator module\\n\\t\\t\\t\\tresults = operatorFunction(accumulator,{\\n\\t\\t\\t\\t\\t\\t\\toperator: operator.operator,\\n\\t\\t\\t\\t\\t\\t\\toperand: operands.length > 0 ? operands[0] : undefined,\\n\\t\\t\\t\\t\\t\\t\\toperands: operands,\\n\\t\\t\\t\\t\\t\\t\\tprefix: operator.prefix,\\n\\t\\t\\t\\t\\t\\t\\tsuffix: operator.suffix,\\n\\t\\t\\t\\t\\t\\t\\tsuffixes: operator.suffixes,\\n\\t\\t\\t\\t\\t\\t\\tregexp: operator.regexp\\n\\t\\t\\t\\t\\t\\t},{\\n\\t\\t\\t\\t\\t\\t\\twiki: self,\\n\\t\\t\\t\\t\\t\\t\\twidget: widget\\n\\t\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\tif($tw.utils.isArray(results)) {\\n\\t\\t\\t\\t\\taccumulator = self.makeTiddlerIterator(results);\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\taccumulator = results;\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t\\tif($tw.utils.isArray(results)) {\\n\\t\\t\\t\\treturn results;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tvar resultArray = [];\\n\\t\\t\\t\\tresults(function(tiddler,title) {\\n\\t\\t\\t\\t\\tresultArray.push(title);\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\treturn resultArray;\\n\\t\\t\\t}\\n\\t\\t};\\n\\t\\tvar filterRunPrefixes = self.getFilterRunPrefixes();\\n\\t\\t// Wrap the operator functions in a wrapper function that depends on the prefix\\n\\t\\toperationFunctions.push((function() {\\n\\t\\t\\tvar options = {wiki: self, suffixes: operation.suffixes || []};\\n\\t\\t\\tswitch(operation.prefix || \\\"\\\") {\\n\\t\\t\\t\\tcase \\\"\\\": // No prefix means that the operation is unioned into the result\\n\\t\\t\\t\\t\\treturn filterRunPrefixes[\\\"or\\\"](operationSubFunction, options);\\n\\t\\t\\t\\tcase \\\"=\\\": // The results of the operation are pushed into the result without deduplication\\n\\t\\t\\t\\t\\treturn filterRunPrefixes[\\\"all\\\"](operationSubFunction, options);\\n\\t\\t\\t\\tcase \\\"-\\\": // The results of this operation are removed from the main result\\n\\t\\t\\t\\t\\treturn filterRunPrefixes[\\\"except\\\"](operationSubFunction, options);\\n\\t\\t\\t\\tcase \\\"+\\\": // This operation is applied to the main results so far\\n\\t\\t\\t\\t\\treturn filterRunPrefixes[\\\"and\\\"](operationSubFunction, options);\\n\\t\\t\\t\\tcase \\\"~\\\": // This operation is unioned into the result only if the main result so far is empty\\n\\t\\t\\t\\t\\treturn filterRunPrefixes[\\\"else\\\"](operationSubFunction, options);\\n\\t\\t\\t\\tdefault: \\n\\t\\t\\t\\t\\tif(operation.namedPrefix && filterRunPrefixes[operation.namedPrefix]) {\\n\\t\\t\\t\\t\\t\\treturn filterRunPrefixes[operation.namedPrefix](operationSubFunction, options);\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\treturn function(results,source,widget) {\\n\\t\\t\\t\\t\\t\\t\\tresults.clear();\\n\\t\\t\\t\\t\\t\\t\\tresults.push($tw.language.getString(\\\"Error/FilterRunPrefix\\\"));\\n\\t\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t})());\\n\\t});\\n\\t// Return a function that applies the operations to a source iterator of tiddler titles\\n\\tvar fnMeasured = $tw.perf.measure(\\\"filter: \\\" + filterString,function filterFunction(source,widget) {\\n\\t\\tif(!source) {\\n\\t\\t\\tsource = self.each;\\n\\t\\t} else if(typeof source === \\\"object\\\") { // Array or hashmap\\n\\t\\t\\tsource = self.makeTiddlerIterator(source);\\n\\t\\t}\\n\\t\\tif(!widget) {\\n\\t\\t\\twidget = $tw.rootWidget;\\n\\t\\t}\\n\\t\\tvar results = new $tw.utils.LinkedList();\\n\\t\\tself.filterRecursionCount = (self.filterRecursionCount || 0) + 1;\\n\\t\\tif(self.filterRecursionCount < MAX_FILTER_DEPTH) {\\n\\t\\t\\t$tw.utils.each(operationFunctions,function(operationFunction) {\\n\\t\\t\\t\\toperationFunction(results,source,widget);\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tresults.push(\\\"/**-- Excessive filter recursion --**/\\\");\\n\\t\\t}\\n\\t\\tself.filterRecursionCount = self.filterRecursionCount - 1;\\n\\t\\treturn results.toArray();\\n\\t});\\n\\tif(this.filterCacheCount >= 2000) {\\n\\t\\t// To prevent memory leak, we maintain an upper limit for cache size.\\n\\t\\t// Reset if exceeded. This should give us 95% of the benefit\\n\\t\\t// that no cache limit would give us.\\n\\t\\tthis.filterCache = Object.create(null);\\n\\t\\tthis.filterCacheCount = 0;\\n\\t}\\n\\tthis.filterCache[filterString] = fnMeasured;\\n\\tthis.filterCacheCount++;\\n\\treturn fnMeasured;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikimethod\"},\"$:/core/modules/indexers/backlinks-indexer.js\":{\"title\":\"$:/core/modules/indexers/backlinks-indexer.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/indexers/backlinks-indexer.js\\ntype: application/javascript\\nmodule-type: indexer\\n\\nIndexes the tiddlers' backlinks\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global modules: false */\\n\\\"use strict\\\";\\n\\n\\nfunction BacklinksIndexer(wiki) {\\n\\tthis.wiki = wiki;\\n}\\n\\nBacklinksIndexer.prototype.init = function() {\\n\\tthis.index = null;\\n}\\n\\nBacklinksIndexer.prototype.rebuild = function() {\\n\\tthis.index = null;\\n}\\n\\nBacklinksIndexer.prototype._getLinks = function(tiddler) {\\n\\tvar parser = this.wiki.parseText(tiddler.fields.type, tiddler.fields.text, {});\\n\\tif(parser) {\\n\\t\\treturn this.wiki.extractLinks(parser.tree);\\n\\t}\\n\\treturn [];\\n}\\n\\nBacklinksIndexer.prototype.update = function(updateDescriptor) {\\n\\tif(!this.index) {\\n\\t\\treturn;\\n\\t}\\n\\tvar newLinks = [],\\n\\t oldLinks = [],\\n\\t self = this;\\n\\tif(updateDescriptor.old.exists) {\\n\\t\\toldLinks = this._getLinks(updateDescriptor.old.tiddler);\\n\\t}\\n\\tif(updateDescriptor.new.exists) {\\n\\t\\tnewLinks = this._getLinks(updateDescriptor.new.tiddler);\\n\\t}\\n\\n\\t$tw.utils.each(oldLinks,function(link) {\\n\\t\\tif(self.index[link]) {\\n\\t\\t\\tdelete self.index[link][updateDescriptor.old.tiddler.fields.title];\\n\\t\\t}\\n\\t});\\n\\t$tw.utils.each(newLinks,function(link) {\\n\\t\\tif(!self.index[link]) {\\n\\t\\t\\tself.index[link] = Object.create(null);\\n\\t\\t}\\n\\t\\tself.index[link][updateDescriptor.new.tiddler.fields.title] = true;\\n\\t});\\n}\\n\\nBacklinksIndexer.prototype.lookup = function(title) {\\n\\tif(!this.index) {\\n\\t\\tthis.index = Object.create(null);\\n\\t\\tvar self = this;\\n\\t\\tthis.wiki.forEachTiddler(function(title,tiddler) {\\n\\t\\t\\tvar links = self._getLinks(tiddler);\\n\\t\\t\\t$tw.utils.each(links, function(link) {\\n\\t\\t\\t\\tif(!self.index[link]) {\\n\\t\\t\\t\\t\\tself.index[link] = Object.create(null);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tself.index[link][title] = true;\\n\\t\\t\\t});\\n\\t\\t});\\n\\t}\\n\\tif(this.index[title]) {\\n\\t\\treturn Object.keys(this.index[title]);\\n\\t} else {\\n\\t\\treturn [];\\n\\t}\\n}\\n\\nexports.BacklinksIndexer = BacklinksIndexer;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"indexer\"},\"$:/core/modules/indexers/field-indexer.js\":{\"title\":\"$:/core/modules/indexers/field-indexer.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/indexers/field-indexer.js\\ntype: application/javascript\\nmodule-type: indexer\\n\\nIndexes the tiddlers with each field value\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global modules: false */\\n\\\"use strict\\\";\\n\\nvar DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH = 128;\\n\\nfunction FieldIndexer(wiki) {\\n\\tthis.wiki = wiki;\\n}\\n\\nFieldIndexer.prototype.init = function() {\\n\\tthis.index = null;\\n\\tthis.maxIndexedValueLength = DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH;\\n\\tthis.addIndexMethods();\\n}\\n\\n// Provided for testing\\nFieldIndexer.prototype.setMaxIndexedValueLength = function(length) {\\n\\tthis.index = null;\\n\\tthis.maxIndexedValueLength = length;\\n};\\n\\nFieldIndexer.prototype.addIndexMethods = function() {\\n\\tvar self = this;\\n\\t// get all tiddlers, including those overwrite shadow tiddlers\\n\\tthis.wiki.each.byField = function(name,value) {\\n\\t\\tvar lookup = self.lookup(name,value);\\n\\t\\treturn lookup && lookup.filter(function(title) {\\n\\t\\t\\treturn self.wiki.tiddlerExists(title)\\n\\t\\t});\\n\\t};\\n\\t// get shadow tiddlers, including shadow tiddlers that is overwritten\\n\\tthis.wiki.eachShadow.byField = function(name,value) {\\n\\t\\tvar lookup = self.lookup(name,value);\\n\\t\\treturn lookup && lookup.filter(function(title) {\\n\\t\\t\\treturn self.wiki.isShadowTiddler(title)\\n\\t\\t});\\n\\t};\\n\\tthis.wiki.eachTiddlerPlusShadows.byField = function(name,value) {\\n\\t\\tvar lookup = self.lookup(name,value);\\n\\t\\treturn lookup ? lookup.slice(0) : null;\\n\\t};\\n\\tthis.wiki.eachShadowPlusTiddlers.byField = function(name,value) {\\n\\t\\tvar lookup = self.lookup(name,value);\\n\\t\\treturn lookup ? lookup.slice(0) : null;\\n\\t};\\n};\\n\\n/*\\nTear down and then rebuild the index as if all tiddlers have changed\\n*/\\nFieldIndexer.prototype.rebuild = function() {\\n\\t// Invalidate the index so that it will be rebuilt when it is next used\\n\\tthis.index = null;\\n};\\n\\n/*\\nBuild the index for a particular field\\n*/\\nFieldIndexer.prototype.buildIndexForField = function(name) {\\n\\tvar self = this;\\n\\t// Hashmap by field name of hashmap by field value of array of tiddler titles\\n\\tthis.index = this.index || Object.create(null);\\n\\tthis.index[name] = Object.create(null);\\n\\tvar baseIndex = this.index[name];\\n\\t// Update the index for each tiddler\\n\\tthis.wiki.eachTiddlerPlusShadows(function(tiddler,title) {\\n\\t\\tif(name in tiddler.fields) {\\n\\t\\t\\tvar value = tiddler.getFieldString(name);\\n\\t\\t\\t// Skip any values above the maximum length\\n\\t\\t\\tif(value.length < self.maxIndexedValueLength) {\\n\\t\\t\\t\\tbaseIndex[value] = baseIndex[value] || [];\\n\\t\\t\\t\\tbaseIndex[value].push(title);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n};\\n\\n/*\\nUpdate the index in the light of a tiddler value changing; note that the title must be identical. (Renames are handled as a separate delete and create)\\nupdateDescriptor: {old: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>},new: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>}}\\n*/\\nFieldIndexer.prototype.update = function(updateDescriptor) {\\n\\tvar self = this;\\n\\t// Don't do anything if the index hasn't been built yet\\n\\tif(this.index === null) {\\n\\t\\treturn;\\n\\t}\\n\\t// Remove the old tiddler from the index\\n\\tif(updateDescriptor.old.tiddler) {\\n\\t\\t$tw.utils.each(this.index,function(indexEntry,name) {\\n\\t\\t\\tif(name in updateDescriptor.old.tiddler.fields) {\\n\\t\\t\\t\\tvar value = updateDescriptor.old.tiddler.getFieldString(name),\\n\\t\\t\\t\\t\\ttiddlerList = indexEntry[value];\\n\\t\\t\\t\\tif(tiddlerList) {\\n\\t\\t\\t\\t\\tvar index = tiddlerList.indexOf(updateDescriptor.old.tiddler.fields.title);\\n\\t\\t\\t\\t\\tif(index !== -1) {\\n\\t\\t\\t\\t\\t\\ttiddlerList.splice(index,1);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\t// Add the new tiddler to the index\\n\\tif(updateDescriptor[\\\"new\\\"].tiddler) {\\n\\t\\t$tw.utils.each(this.index,function(indexEntry,name) {\\n\\t\\t\\tif(name in updateDescriptor[\\\"new\\\"].tiddler.fields) {\\n\\t\\t\\t\\tvar value = updateDescriptor[\\\"new\\\"].tiddler.getFieldString(name);\\n\\t\\t\\t\\tif(value.length < self.maxIndexedValueLength) {\\n\\t\\t\\t\\t\\tindexEntry[value] = indexEntry[value] || [];\\n\\t\\t\\t\\t\\tindexEntry[value].push(updateDescriptor[\\\"new\\\"].tiddler.fields.title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n};\\n\\n// Lookup the given field returning a list of tiddler titles\\nFieldIndexer.prototype.lookup = function(name,value) {\\n\\t// Fail the lookup if the value is too long\\n\\tif(value.length >= this.maxIndexedValueLength) {\\n\\t\\treturn null;\\n\\t}\\n\\t// Update the index if it has yet to be built\\n\\tif(this.index === null || !this.index[name]) {\\n\\t\\tthis.buildIndexForField(name);\\n\\t}\\n\\treturn this.index[name][value] || [];\\n};\\n\\nexports.FieldIndexer = FieldIndexer;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"indexer\"},\"$:/core/modules/indexers/tag-indexer.js\":{\"title\":\"$:/core/modules/indexers/tag-indexer.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/indexers/tag-indexer.js\\ntype: application/javascript\\nmodule-type: indexer\\n\\nIndexes the tiddlers with each tag\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global modules: false */\\n\\\"use strict\\\";\\n\\nfunction TagIndexer(wiki) {\\n\\tthis.wiki = wiki;\\n}\\n\\nTagIndexer.prototype.init = function() {\\n\\tthis.subIndexers = [\\n\\t\\tnew TagSubIndexer(this,\\\"each\\\"),\\n\\t\\tnew TagSubIndexer(this,\\\"eachShadow\\\"),\\n\\t\\tnew TagSubIndexer(this,\\\"eachTiddlerPlusShadows\\\"),\\n\\t\\tnew TagSubIndexer(this,\\\"eachShadowPlusTiddlers\\\")\\n\\t];\\n\\t$tw.utils.each(this.subIndexers,function(subIndexer) {\\n\\t\\tsubIndexer.addIndexMethod();\\n\\t});\\n};\\n\\nTagIndexer.prototype.rebuild = function() {\\n\\t$tw.utils.each(this.subIndexers,function(subIndexer) {\\n\\t\\tsubIndexer.rebuild();\\n\\t});\\n};\\n\\nTagIndexer.prototype.update = function(updateDescriptor) {\\n\\t$tw.utils.each(this.subIndexers,function(subIndexer) {\\n\\t\\tsubIndexer.update(updateDescriptor);\\n\\t});\\n};\\n\\nfunction TagSubIndexer(indexer,iteratorMethod) {\\n\\tthis.indexer = indexer;\\n\\tthis.iteratorMethod = iteratorMethod;\\n\\tthis.index = null; // Hashmap of tag title to {isSorted: bool, titles: [array]} or null if not yet initialised\\n}\\n\\nTagSubIndexer.prototype.addIndexMethod = function() {\\n\\tvar self = this;\\n\\tthis.indexer.wiki[this.iteratorMethod].byTag = function(tag) {\\n\\t\\treturn self.lookup(tag).slice(0);\\n\\t};\\n};\\n\\nTagSubIndexer.prototype.rebuild = function() {\\n\\tvar self = this;\\n\\t// Hashmap by tag of array of {isSorted:, titles:[]}\\n\\tthis.index = Object.create(null);\\n\\t// Add all the tags\\n\\tthis.indexer.wiki[this.iteratorMethod](function(tiddler,title) {\\n\\t\\t$tw.utils.each(tiddler.fields.tags,function(tag) {\\n\\t\\t\\tif(!self.index[tag]) {\\n\\t\\t\\t\\tself.index[tag] = {isSorted: false, titles: [title]};\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tself.index[tag].titles.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t});\\n};\\n\\nTagSubIndexer.prototype.update = function(updateDescriptor) {\\n\\tthis.index = null;\\n};\\n\\nTagSubIndexer.prototype.lookup = function(tag) {\\n\\t// Update the index if it has yet to be built\\n\\tif(this.index === null) {\\n\\t\\tthis.rebuild();\\n\\t}\\n\\tvar indexRecord = this.index[tag];\\n\\tif(indexRecord) {\\n\\t\\tif(!indexRecord.isSorted) {\\n\\t\\t\\tif(this.indexer.wiki.sortByList) {\\n\\t\\t\\t\\tindexRecord.titles = this.indexer.wiki.sortByList(indexRecord.titles,tag);\\n\\t\\t\\t}\\n\\t\\t\\tindexRecord.isSorted = true;\\n\\t\\t}\\n\\t\\treturn indexRecord.titles;\\n\\t} else {\\n\\t\\treturn [];\\n\\t}\\n};\\n\\n\\nexports.TagIndexer = TagIndexer;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"indexer\"},\"$:/core/modules/info/platform.js\":{\"title\":\"$:/core/modules/info/platform.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/info/platform.js\\ntype: application/javascript\\nmodule-type: info\\n\\nInitialise basic platform $:/info/ tiddlers\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.getInfoTiddlerFields = function(updateInfoTiddlersCallback) {\\n\\tvar mapBoolean = function(value) {return value ? \\\"yes\\\" : \\\"no\\\";},\\n\\t\\tinfoTiddlerFields = [];\\n\\t// Basics\\n\\tinfoTiddlerFields.push({title: \\\"$:/info/browser\\\", text: mapBoolean(!!$tw.browser)});\\n\\tinfoTiddlerFields.push({title: \\\"$:/info/node\\\", text: mapBoolean(!!$tw.node)});\\n\\tinfoTiddlerFields.push({title: \\\"$:/info/startup-timestamp\\\", text: $tw.utils.stringifyDate(new Date())});\\n\\tif($tw.browser) {\\n\\t\\t// Document location\\n\\t\\tvar setLocationProperty = function(name,value) {\\n\\t\\t\\t\\tinfoTiddlerFields.push({title: \\\"$:/info/url/\\\" + name, text: value});\\n\\t\\t\\t},\\n\\t\\t\\tlocation = document.location;\\n\\t\\tsetLocationProperty(\\\"full\\\", (location.toString()).split(\\\"#\\\")[0]);\\n\\t\\tsetLocationProperty(\\\"host\\\", location.host);\\n\\t\\tsetLocationProperty(\\\"hostname\\\", location.hostname);\\n\\t\\tsetLocationProperty(\\\"protocol\\\", location.protocol);\\n\\t\\tsetLocationProperty(\\\"port\\\", location.port);\\n\\t\\tsetLocationProperty(\\\"pathname\\\", location.pathname);\\n\\t\\tsetLocationProperty(\\\"search\\\", location.search);\\n\\t\\tsetLocationProperty(\\\"origin\\\", location.origin);\\n\\t\\t// Screen size\\n\\t\\tinfoTiddlerFields.push({title: \\\"$:/info/browser/screen/width\\\", text: window.screen.width.toString()});\\n\\t\\tinfoTiddlerFields.push({title: \\\"$:/info/browser/screen/height\\\", text: window.screen.height.toString()});\\n \\t\\t// Dark mode through event listener on MediaQueryList\\n \\t\\tvar mqList = window.matchMedia(\\\"(prefers-color-scheme: dark)\\\"),\\n \\t\\t\\tgetDarkModeTiddler = function() {return {title: \\\"$:/info/darkmode\\\", text: mqList.matches ? \\\"yes\\\" : \\\"no\\\"};};\\n \\t\\tinfoTiddlerFields.push(getDarkModeTiddler());\\n \\t\\tmqList.addListener(function(event) {\\n \\t\\t\\tupdateInfoTiddlersCallback([getDarkModeTiddler()]);\\n \\t\\t});\\n\\t\\t// Language\\n\\t\\tinfoTiddlerFields.push({title: \\\"$:/info/browser/language\\\", text: navigator.language || \\\"\\\"});\\n\\t}\\n\\treturn infoTiddlerFields;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"info\"},\"$:/core/modules/keyboard.js\":{\"title\":\"$:/core/modules/keyboard.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/keyboard.js\\ntype: application/javascript\\nmodule-type: global\\n\\nKeyboard handling utilities\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar namedKeys = {\\n\\t\\\"cancel\\\": 3,\\n\\t\\\"help\\\": 6,\\n\\t\\\"backspace\\\": 8,\\n\\t\\\"tab\\\": 9,\\n\\t\\\"clear\\\": 12,\\n\\t\\\"return\\\": 13,\\n\\t\\\"enter\\\": 13,\\n\\t\\\"pause\\\": 19,\\n\\t\\\"escape\\\": 27,\\n\\t\\\"space\\\": 32,\\n\\t\\\"page_up\\\": 33,\\n\\t\\\"page_down\\\": 34,\\n\\t\\\"end\\\": 35,\\n\\t\\\"home\\\": 36,\\n\\t\\\"left\\\": 37,\\n\\t\\\"up\\\": 38,\\n\\t\\\"right\\\": 39,\\n\\t\\\"down\\\": 40,\\n\\t\\\"printscreen\\\": 44,\\n\\t\\\"insert\\\": 45,\\n\\t\\\"delete\\\": 46,\\n\\t\\\"0\\\": 48,\\n\\t\\\"1\\\": 49,\\n\\t\\\"2\\\": 50,\\n\\t\\\"3\\\": 51,\\n\\t\\\"4\\\": 52,\\n\\t\\\"5\\\": 53,\\n\\t\\\"6\\\": 54,\\n\\t\\\"7\\\": 55,\\n\\t\\\"8\\\": 56,\\n\\t\\\"9\\\": 57,\\n\\t\\\"firefoxsemicolon\\\": 59,\\n\\t\\\"firefoxequals\\\": 61,\\n\\t\\\"a\\\": 65,\\n\\t\\\"b\\\": 66,\\n\\t\\\"c\\\": 67,\\n\\t\\\"d\\\": 68,\\n\\t\\\"e\\\": 69,\\n\\t\\\"f\\\": 70,\\n\\t\\\"g\\\": 71,\\n\\t\\\"h\\\": 72,\\n\\t\\\"i\\\": 73,\\n\\t\\\"j\\\": 74,\\n\\t\\\"k\\\": 75,\\n\\t\\\"l\\\": 76,\\n\\t\\\"m\\\": 77,\\n\\t\\\"n\\\": 78,\\n\\t\\\"o\\\": 79,\\n\\t\\\"p\\\": 80,\\n\\t\\\"q\\\": 81,\\n\\t\\\"r\\\": 82,\\n\\t\\\"s\\\": 83,\\n\\t\\\"t\\\": 84,\\n\\t\\\"u\\\": 85,\\n\\t\\\"v\\\": 86,\\n\\t\\\"w\\\": 87,\\n\\t\\\"x\\\": 88,\\n\\t\\\"y\\\": 89,\\n\\t\\\"z\\\": 90,\\n\\t\\\"numpad0\\\": 96,\\n\\t\\\"numpad1\\\": 97,\\n\\t\\\"numpad2\\\": 98,\\n\\t\\\"numpad3\\\": 99,\\n\\t\\\"numpad4\\\": 100,\\n\\t\\\"numpad5\\\": 101,\\n\\t\\\"numpad6\\\": 102,\\n\\t\\\"numpad7\\\": 103,\\n\\t\\\"numpad8\\\": 104,\\n\\t\\\"numpad9\\\": 105,\\n\\t\\\"multiply\\\": 106,\\n\\t\\\"add\\\": 107,\\n\\t\\\"separator\\\": 108,\\n\\t\\\"subtract\\\": 109,\\n\\t\\\"decimal\\\": 110,\\n\\t\\\"divide\\\": 111,\\n\\t\\\"f1\\\": 112,\\n\\t\\\"f2\\\": 113,\\n\\t\\\"f3\\\": 114,\\n\\t\\\"f4\\\": 115,\\n\\t\\\"f5\\\": 116,\\n\\t\\\"f6\\\": 117,\\n\\t\\\"f7\\\": 118,\\n\\t\\\"f8\\\": 119,\\n\\t\\\"f9\\\": 120,\\n\\t\\\"f10\\\": 121,\\n\\t\\\"f11\\\": 122,\\n\\t\\\"f12\\\": 123,\\n\\t\\\"f13\\\": 124,\\n\\t\\\"f14\\\": 125,\\n\\t\\\"f15\\\": 126,\\n\\t\\\"f16\\\": 127,\\n\\t\\\"f17\\\": 128,\\n\\t\\\"f18\\\": 129,\\n\\t\\\"f19\\\": 130,\\n\\t\\\"f20\\\": 131,\\n\\t\\\"f21\\\": 132,\\n\\t\\\"f22\\\": 133,\\n\\t\\\"f23\\\": 134,\\n\\t\\\"f24\\\": 135,\\n\\t\\\"firefoxminus\\\": 173,\\n\\t\\\"semicolon\\\": 186,\\n\\t\\\"equals\\\": 187,\\n\\t\\\"comma\\\": 188,\\n\\t\\\"dash\\\": 189,\\n\\t\\\"period\\\": 190,\\n\\t\\\"slash\\\": 191,\\n\\t\\\"backquote\\\": 192,\\n\\t\\\"openbracket\\\": 219,\\n\\t\\\"backslash\\\": 220,\\n\\t\\\"closebracket\\\": 221,\\n\\t\\\"quote\\\": 222\\n};\\n\\nfunction KeyboardManager(options) {\\n\\tvar self = this;\\n\\toptions = options || \\\"\\\";\\n\\t// Save the named key hashmap\\n\\tthis.namedKeys = namedKeys;\\n\\t// Create a reverse mapping of code to keyname\\n\\tthis.keyNames = [];\\n\\t$tw.utils.each(namedKeys,function(keyCode,name) {\\n\\t\\tself.keyNames[keyCode] = name.substr(0,1).toUpperCase() + name.substr(1);\\n\\t});\\n\\t// Save the platform-specific name of the \\\"meta\\\" key\\n\\tthis.metaKeyName = $tw.platform.isMac ? \\\"cmd-\\\" : \\\"win-\\\";\\n\\tthis.shortcutKeysList = [], // Stores the shortcut-key descriptors\\n\\tthis.shortcutActionList = [], // Stores the corresponding action strings\\n\\tthis.shortcutParsedList = []; // Stores the parsed key descriptors\\n\\tthis.shortcutPriorityList = []; // Stores the parsed shortcut priority\\n\\tthis.lookupNames = [\\\"shortcuts\\\"];\\n\\tthis.lookupNames.push($tw.platform.isMac ? \\\"shortcuts-mac\\\" : \\\"shortcuts-not-mac\\\")\\n\\tthis.lookupNames.push($tw.platform.isWindows ? \\\"shortcuts-windows\\\" : \\\"shortcuts-not-windows\\\");\\n\\tthis.lookupNames.push($tw.platform.isLinux ? \\\"shortcuts-linux\\\" : \\\"shortcuts-not-linux\\\");\\n\\tthis.updateShortcutLists(this.getShortcutTiddlerList());\\n\\t$tw.wiki.addEventListener(\\\"change\\\",function(changes) {\\n\\t\\tself.handleShortcutChanges(changes);\\n\\t});\\n}\\n\\n/*\\nReturn an array of keycodes for the modifier keys ctrl, shift, alt, meta\\n*/\\nKeyboardManager.prototype.getModifierKeys = function() {\\n\\treturn [\\n\\t\\t16, // Shift\\n\\t\\t17, // Ctrl\\n\\t\\t18, // Alt\\n\\t\\t20, // CAPS LOCK\\n\\t\\t91, // Meta (left)\\n\\t\\t93, // Meta (right)\\n\\t\\t224 // Meta (Firefox)\\n\\t]\\n};\\n\\n/*\\nParses a key descriptor into the structure:\\n{\\n\\tkeyCode: numeric keycode\\n\\tshiftKey: boolean\\n\\taltKey: boolean\\n\\tctrlKey: boolean\\n\\tmetaKey: boolean\\n}\\nKey descriptors have the following format:\\n\\tctrl+enter\\n\\tctrl+shift+alt+A\\n*/\\nKeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor,options) {\\n\\tvar components = keyDescriptor.split(/\\\\+|\\\\-/),\\n\\t\\tinfo = {\\n\\t\\t\\tkeyCode: 0,\\n\\t\\t\\tshiftKey: false,\\n\\t\\t\\taltKey: false,\\n\\t\\t\\tctrlKey: false,\\n\\t\\t\\tmetaKey: false\\n\\t\\t};\\n\\tfor(var t=0; t<components.length; t++) {\\n\\t\\tvar s = components[t].toLowerCase(),\\n\\t\\t\\tc = s.charCodeAt(0);\\n\\t\\t// Look for modifier keys\\n\\t\\tif(s === \\\"ctrl\\\") {\\n\\t\\t\\tinfo.ctrlKey = true;\\n\\t\\t} else if(s === \\\"shift\\\") {\\n\\t\\t\\tinfo.shiftKey = true;\\n\\t\\t} else if(s === \\\"alt\\\") {\\n\\t\\t\\tinfo.altKey = true;\\n\\t\\t} else if(s === \\\"meta\\\" || s === \\\"cmd\\\" || s === \\\"win\\\") {\\n\\t\\t\\tinfo.metaKey = true;\\n\\t\\t}\\n\\t\\t// Replace named keys with their code\\n\\t\\tif(this.namedKeys[s]) {\\n\\t\\t\\tinfo.keyCode = this.namedKeys[s];\\n\\t\\t}\\n\\t}\\n\\tif(options.keyDescriptor) {\\n\\t\\tinfo.keyDescriptor = options.keyDescriptor;\\n\\t}\\n\\tif(info.keyCode) {\\n\\t\\treturn info;\\n\\t} else {\\n\\t\\treturn null;\\n\\t}\\n};\\n\\n/*\\nParse a list of key descriptors into an array of keyInfo objects. The key descriptors can be passed as an array of strings or a space separated string\\n*/\\nKeyboardManager.prototype.parseKeyDescriptors = function(keyDescriptors,options) {\\n\\tvar self = this;\\n\\toptions = options || {};\\n\\toptions.stack = options.stack || [];\\n\\tvar wiki = options.wiki || $tw.wiki;\\n\\tif(typeof keyDescriptors === \\\"string\\\" && keyDescriptors === \\\"\\\") {\\n\\t\\treturn [];\\n\\t}\\n\\tif(!$tw.utils.isArray(keyDescriptors)) {\\n\\t\\tkeyDescriptors = keyDescriptors.split(\\\" \\\");\\n\\t}\\n\\tvar result = [];\\n\\t$tw.utils.each(keyDescriptors,function(keyDescriptor) {\\n\\t\\t// Look for a named shortcut\\n\\t\\tif(keyDescriptor.substr(0,2) === \\\"((\\\" && keyDescriptor.substr(-2,2) === \\\"))\\\") {\\n\\t\\t\\tif(options.stack.indexOf(keyDescriptor) === -1) {\\n\\t\\t\\t\\toptions.stack.push(keyDescriptor);\\n\\t\\t\\t\\tvar name = keyDescriptor.substring(2,keyDescriptor.length - 2),\\n\\t\\t\\t\\t\\tlookupName = function(configName) {\\n\\t\\t\\t\\t\\t\\tvar keyDescriptors = wiki.getTiddlerText(\\\"$:/config/\\\" + configName + \\\"/\\\" + name);\\n\\t\\t\\t\\t\\t\\tif(keyDescriptors) {\\n\\t\\t\\t\\t\\t\\t\\toptions.keyDescriptor = keyDescriptor;\\n\\t\\t\\t\\t\\t\\t\\tresult.push.apply(result,self.parseKeyDescriptors(keyDescriptors,options));\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t$tw.utils.each(self.lookupNames,function(platformDescriptor) {\\n\\t\\t\\t\\t\\tlookupName(platformDescriptor);\\n\\t\\t\\t\\t});\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tresult.push(self.parseKeyDescriptor(keyDescriptor,options));\\n\\t\\t}\\n\\t});\\n\\treturn result;\\n};\\n\\nKeyboardManager.prototype.getPrintableShortcuts = function(keyInfoArray) {\\n\\tvar self = this,\\n\\t\\tresult = [];\\n\\t$tw.utils.each(keyInfoArray,function(keyInfo) {\\n\\t\\tif(keyInfo) {\\n\\t\\t\\tresult.push((keyInfo.ctrlKey ? \\\"ctrl-\\\" : \\\"\\\") + \\n\\t\\t\\t\\t (keyInfo.shiftKey ? \\\"shift-\\\" : \\\"\\\") + \\n\\t\\t\\t\\t (keyInfo.altKey ? \\\"alt-\\\" : \\\"\\\") + \\n\\t\\t\\t\\t (keyInfo.metaKey ? self.metaKeyName : \\\"\\\") + \\n\\t\\t\\t\\t (self.keyNames[keyInfo.keyCode]));\\n\\t\\t}\\n\\t});\\n\\treturn result;\\n}\\n\\nKeyboardManager.prototype.checkKeyDescriptor = function(event,keyInfo) {\\n\\treturn keyInfo &&\\n\\t\\t\\tevent.keyCode === keyInfo.keyCode && \\n\\t\\t\\tevent.shiftKey === keyInfo.shiftKey && \\n\\t\\t\\tevent.altKey === keyInfo.altKey && \\n\\t\\t\\tevent.ctrlKey === keyInfo.ctrlKey && \\n\\t\\t\\tevent.metaKey === keyInfo.metaKey;\\n};\\n\\nKeyboardManager.prototype.checkKeyDescriptors = function(event,keyInfoArray) {\\n\\treturn (this.getMatchingKeyDescriptor(event,keyInfoArray) !== null);\\n};\\n\\nKeyboardManager.prototype.getMatchingKeyDescriptor = function(event,keyInfoArray) {\\n\\tfor(var t=0; t<keyInfoArray.length; t++) {\\n\\t\\tif(this.checkKeyDescriptor(event,keyInfoArray[t])) {\\n\\t\\t\\treturn keyInfoArray[t];\\n\\t\\t}\\n\\t}\\n\\treturn null;\\n};\\n\\nKeyboardManager.prototype.getEventModifierKeyDescriptor = function(event) {\\n\\treturn event.ctrlKey && !event.shiftKey\\t&& !event.altKey && !event.metaKey ? \\\"ctrl\\\" : \\n\\t\\tevent.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey ? \\\"shift\\\" : \\n\\t\\tevent.ctrlKey && event.shiftKey && !event.altKey && !event.metaKey ? \\\"ctrl-shift\\\" : \\n\\t\\tevent.altKey && !event.shiftKey && !event.ctrlKey && !event.metaKey ? \\\"alt\\\" : \\n\\t\\tevent.altKey && event.shiftKey && !event.ctrlKey && !event.metaKey ? \\\"alt-shift\\\" : \\n\\t\\tevent.altKey && event.ctrlKey && !event.shiftKey && !event.metaKey ? \\\"ctrl-alt\\\" : \\n\\t\\tevent.altKey && event.shiftKey && event.ctrlKey && !event.metaKey ? \\\"ctrl-alt-shift\\\" : \\n\\t\\tevent.metaKey && !event.ctrlKey && !event.shiftKey && !event.altKey ? \\\"meta\\\" : \\n\\t\\tevent.metaKey && event.ctrlKey && !event.shiftKey && !event.altKey ? \\\"meta-ctrl\\\" :\\n\\t\\tevent.metaKey && event.ctrlKey && event.shiftKey && !event.altKey ? \\\"meta-ctrl-shift\\\" :\\n\\t\\tevent.metaKey && event.ctrlKey && event.shiftKey && event.altKey ? \\\"meta-ctrl-alt-shift\\\" : \\\"normal\\\";\\n};\\n\\nKeyboardManager.prototype.getShortcutTiddlerList = function() {\\n\\treturn $tw.wiki.getTiddlersWithTag(\\\"$:/tags/KeyboardShortcut\\\");\\n};\\n\\nKeyboardManager.prototype.updateShortcutLists = function(tiddlerList) {\\n\\tthis.shortcutTiddlers = tiddlerList;\\n\\tfor(var i=0; i<tiddlerList.length; i++) {\\n\\t\\tvar title = tiddlerList[i],\\n\\t\\t\\ttiddlerFields = $tw.wiki.getTiddler(title).fields;\\n\\t\\tthis.shortcutKeysList[i] = tiddlerFields.key !== undefined ? tiddlerFields.key : undefined;\\n\\t\\tthis.shortcutActionList[i] = tiddlerFields.text;\\n\\t\\tthis.shortcutParsedList[i] = this.shortcutKeysList[i] !== undefined ? this.parseKeyDescriptors(this.shortcutKeysList[i]) : undefined;\\n\\t\\tthis.shortcutPriorityList[i] = tiddlerFields.priority === \\\"yes\\\" ? true : false;\\n\\t}\\n};\\n\\n/*\\nevent: the keyboard event object\\noptions:\\n\\tonlyPriority: true if only priority global shortcuts should be invoked\\n*/\\nKeyboardManager.prototype.handleKeydownEvent = function(event, options) {\\n\\toptions = options || {};\\n\\tvar key, action;\\n\\tfor(var i=0; i<this.shortcutTiddlers.length; i++) {\\n\\t\\tif(options.onlyPriority && this.shortcutPriorityList[i] !== true) {\\n\\t\\t\\tcontinue;\\n\\t\\t}\\n\\n\\t\\tif(this.shortcutParsedList[i] !== undefined && this.checkKeyDescriptors(event,this.shortcutParsedList[i])) {\\n\\t\\t\\tkey = this.shortcutParsedList[i];\\n\\t\\t\\taction = this.shortcutActionList[i];\\n\\t\\t}\\n\\t}\\n\\tif(key !== undefined) {\\n\\t\\tevent.preventDefault();\\n\\t\\tevent.stopPropagation();\\n\\t\\t$tw.rootWidget.invokeActionString(action,$tw.rootWidget,event);\\n\\t\\treturn true;\\n\\t}\\n\\treturn false;\\n};\\n\\nKeyboardManager.prototype.detectNewShortcuts = function(changedTiddlers) {\\n\\tvar shortcutConfigTiddlers = [],\\n\\t\\thandled = false;\\n\\t$tw.utils.each(this.lookupNames,function(platformDescriptor) {\\n\\t\\tvar descriptorString = \\\"$:/config/\\\" + platformDescriptor + \\\"/\\\";\\n\\t\\tObject.keys(changedTiddlers).forEach(function(configTiddler) {\\n\\t\\t\\tvar configString = configTiddler.substr(0, configTiddler.lastIndexOf(\\\"/\\\") + 1);\\n\\t\\t\\tif(configString === descriptorString) {\\n\\t\\t\\t\\tshortcutConfigTiddlers.push(configTiddler);\\n\\t\\t\\t\\thandled = true;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t});\\n\\tif(handled) {\\n\\t\\treturn $tw.utils.hopArray(changedTiddlers,shortcutConfigTiddlers);\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\nKeyboardManager.prototype.handleShortcutChanges = function(changedTiddlers) {\\n\\tvar newList = this.getShortcutTiddlerList();\\n\\tvar hasChanged = $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) ? true :\\n\\t\\t($tw.utils.hopArray(changedTiddlers,newList) ? true :\\n\\t\\t(this.detectNewShortcuts(changedTiddlers))\\n\\t);\\n\\t// Re-cache shortcuts if something changed\\n\\tif(hasChanged) {\\n\\t\\tthis.updateShortcutLists(newList);\\n\\t}\\n};\\n\\nexports.KeyboardManager = KeyboardManager;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"global\"},\"$:/core/modules/language.js\":{\"title\":\"$:/core/modules/language.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/language.js\\ntype: application/javascript\\nmodule-type: global\\n\\nThe $tw.Language() manages translateable strings\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nCreate an instance of the language manager. Options include:\\nwiki: wiki from which to retrieve translation tiddlers\\n*/\\nfunction Language(options) {\\n\\toptions = options || \\\"\\\";\\n\\tthis.wiki = options.wiki || $tw.wiki;\\n}\\n\\n/*\\nReturn a wikified translateable string. The title is automatically prefixed with \\\"$:/language/\\\"\\nOptions include:\\nvariables: optional hashmap of variables to supply to the language wikification\\n*/\\nLanguage.prototype.getString = function(title,options) {\\n\\toptions = options || {};\\n\\ttitle = \\\"$:/language/\\\" + title;\\n\\treturn this.wiki.renderTiddler(\\\"text/plain\\\",title,{variables: options.variables});\\n};\\n\\n/*\\nReturn a raw, unwikified translateable string. The title is automatically prefixed with \\\"$:/language/\\\"\\n*/\\nLanguage.prototype.getRawString = function(title) {\\n\\ttitle = \\\"$:/language/\\\" + title;\\n\\treturn this.wiki.getTiddlerText(title);\\n};\\n\\nexports.Language = Language;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"global\"},\"$:/core/modules/macros/changecount.js\":{\"title\":\"$:/core/modules/macros/changecount.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/macros/changecount.js\\ntype: application/javascript\\nmodule-type: macro\\n\\nMacro to return the changecount for the current tiddler\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nInformation about this macro\\n*/\\n\\nexports.name = \\\"changecount\\\";\\n\\nexports.params = [];\\n\\n/*\\nRun the macro\\n*/\\nexports.run = function() {\\n\\treturn this.wiki.getChangeCount(this.getVariable(\\\"currentTiddler\\\")) + \\\"\\\";\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"macro\"},\"$:/core/modules/macros/contrastcolour.js\":{\"title\":\"$:/core/modules/macros/contrastcolour.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/macros/contrastcolour.js\\ntype: application/javascript\\nmodule-type: macro\\n\\nMacro to choose which of two colours has the highest contrast with a base colour\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nInformation about this macro\\n*/\\n\\nexports.name = \\\"contrastcolour\\\";\\n\\nexports.params = [\\n\\t{name: \\\"target\\\"},\\n\\t{name: \\\"fallbackTarget\\\"},\\n\\t{name: \\\"colourA\\\"},\\n\\t{name: \\\"colourB\\\"}\\n];\\n\\n/*\\nRun the macro\\n*/\\nexports.run = function(target,fallbackTarget,colourA,colourB) {\\n\\tvar rgbTarget = $tw.utils.parseCSSColor(target) || $tw.utils.parseCSSColor(fallbackTarget);\\n\\tif(!rgbTarget) {\\n\\t\\treturn colourA;\\n\\t}\\n\\tvar rgbColourA = $tw.utils.parseCSSColor(colourA),\\n\\t\\trgbColourB = $tw.utils.parseCSSColor(colourB);\\n\\tif(rgbColourA && !rgbColourB) {\\n\\t\\treturn rgbColourA;\\n\\t}\\n\\tif(rgbColourB && !rgbColourA) {\\n\\t\\treturn rgbColourB;\\n\\t}\\n\\tif(!rgbColourA && !rgbColourB) {\\n\\t\\t// If neither colour is readable, return a crude inverse of the target\\n\\t\\treturn [255 - rgbTarget[0],255 - rgbTarget[1],255 - rgbTarget[2],rgbTarget[3]];\\n\\t}\\n\\t// Colour brightness formula derived from http://www.w3.org/WAI/ER/WD-AERT/#color-contrast\\n\\tvar brightnessTarget = rgbTarget[0] * 0.299 + rgbTarget[1] * 0.587 + rgbTarget[2] * 0.114,\\n\\t\\tbrightnessA = rgbColourA[0] * 0.299 + rgbColourA[1] * 0.587 + rgbColourA[2] * 0.114,\\n\\t\\tbrightnessB = rgbColourB[0] * 0.299 + rgbColourB[1] * 0.587 + rgbColourB[2] * 0.114;\\n\\treturn Math.abs(brightnessTarget - brightnessA) > Math.abs(brightnessTarget - brightnessB) ? colourA : colourB;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"macro\"},\"$:/core/modules/macros/csvtiddlers.js\":{\"title\":\"$:/core/modules/macros/csvtiddlers.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/macros/csvtiddlers.js\\ntype: application/javascript\\nmodule-type: macro\\n\\nMacro to output tiddlers matching a filter to CSV\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nInformation about this macro\\n*/\\n\\nexports.name = \\\"csvtiddlers\\\";\\n\\nexports.params = [\\n\\t{name: \\\"filter\\\"},\\n\\t{name: \\\"format\\\"},\\n];\\n\\n/*\\nRun the macro\\n*/\\nexports.run = function(filter,format) {\\n\\tvar self = this,\\n\\t\\ttiddlers = this.wiki.filterTiddlers(filter),\\n\\t\\ttiddler,\\n\\t\\tfields = [],\\n\\t\\tt,f;\\n\\t// Collect all the fields\\n\\tfor(t=0;t<tiddlers.length; t++) {\\n\\t\\ttiddler = this.wiki.getTiddler(tiddlers[t]);\\n\\t\\tfor(f in tiddler.fields) {\\n\\t\\t\\tif(fields.indexOf(f) === -1) {\\n\\t\\t\\t\\tfields.push(f);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// Sort the fields and bring the standard ones to the front\\n\\tfields.sort();\\n\\t\\\"title text modified modifier created creator\\\".split(\\\" \\\").reverse().forEach(function(value,index) {\\n\\t\\tvar p = fields.indexOf(value);\\n\\t\\tif(p !== -1) {\\n\\t\\t\\tfields.splice(p,1);\\n\\t\\t\\tfields.unshift(value)\\n\\t\\t}\\n\\t});\\n\\t// Output the column headings\\n\\tvar output = [], row = [];\\n\\tfields.forEach(function(value) {\\n\\t\\trow.push(quoteAndEscape(value))\\n\\t});\\n\\toutput.push(row.join(\\\",\\\"));\\n\\t// Output each tiddler\\n\\tfor(var t=0;t<tiddlers.length; t++) {\\n\\t\\trow = [];\\n\\t\\ttiddler = this.wiki.getTiddler(tiddlers[t]);\\n\\t\\t\\tfor(f=0; f<fields.length; f++) {\\n\\t\\t\\t\\trow.push(quoteAndEscape(tiddler ? tiddler.getFieldString(fields[f]) || \\\"\\\" : \\\"\\\"));\\n\\t\\t\\t}\\n\\t\\toutput.push(row.join(\\\",\\\"));\\n\\t}\\n\\treturn output.join(\\\"\\\\n\\\");\\n};\\n\\nfunction quoteAndEscape(value) {\\n\\treturn \\\"\\\\\\\"\\\" + value.replace(/\\\"/mg,\\\"\\\\\\\"\\\\\\\"\\\") + \\\"\\\\\\\"\\\";\\n}\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"macro\"},\"$:/core/modules/macros/displayshortcuts.js\":{\"title\":\"$:/core/modules/macros/displayshortcuts.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/macros/displayshortcuts.js\\ntype: application/javascript\\nmodule-type: macro\\n\\nMacro to display a list of keyboard shortcuts in human readable form. Notably, it resolves named shortcuts like `((bold))` to the underlying keystrokes.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nInformation about this macro\\n*/\\n\\nexports.name = \\\"displayshortcuts\\\";\\n\\nexports.params = [\\n\\t{name: \\\"shortcuts\\\"},\\n\\t{name: \\\"prefix\\\"},\\n\\t{name: \\\"separator\\\"},\\n\\t{name: \\\"suffix\\\"}\\n];\\n\\n/*\\nRun the macro\\n*/\\nexports.run = function(shortcuts,prefix,separator,suffix) {\\n\\tvar shortcutArray = $tw.keyboardManager.getPrintableShortcuts($tw.keyboardManager.parseKeyDescriptors(shortcuts,{\\n\\t\\twiki: this.wiki\\n\\t}));\\n\\tif(shortcutArray.length > 0) {\\n\\t\\tshortcutArray.sort(function(a,b) {\\n\\t\\t return a.toLowerCase().localeCompare(b.toLowerCase());\\n\\t\\t})\\n\\t\\treturn prefix + shortcutArray.join(separator) + suffix;\\n\\t} else {\\n\\t\\treturn \\\"\\\";\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"macro\"},\"$:/core/modules/macros/jsontiddler.js\":{\"title\":\"$:/core/modules/macros/jsontiddler.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/macros/jsontiddler.js\\ntype: application/javascript\\nmodule-type: macro\\n\\nMacro to output a single tiddler to JSON\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nInformation about this macro\\n*/\\n\\nexports.name = \\\"jsontiddler\\\";\\n\\nexports.params = [\\n\\t{name: \\\"title\\\"}\\n];\\n\\n/*\\nRun the macro\\n*/\\nexports.run = function(title) {\\n\\ttitle = title || this.getVariable(\\\"currentTiddler\\\");\\n\\tvar tiddler = !!title && this.wiki.getTiddler(title),\\n\\t\\tfields = new Object();\\n\\tif(tiddler) {\\n\\t\\tfor(var field in tiddler.fields) {\\n\\t\\t\\tfields[field] = tiddler.getFieldString(field);\\n\\t\\t}\\n\\t}\\n\\treturn JSON.stringify(fields,null,$tw.config.preferences.jsonSpaces);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"macro\"},\"$:/core/modules/macros/jsontiddlers.js\":{\"title\":\"$:/core/modules/macros/jsontiddlers.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/macros/jsontiddlers.js\\ntype: application/javascript\\nmodule-type: macro\\n\\nMacro to output tiddlers matching a filter to JSON\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nInformation about this macro\\n*/\\n\\nexports.name = \\\"jsontiddlers\\\";\\n\\nexports.params = [\\n\\t{name: \\\"filter\\\"},\\n\\t{name: \\\"spaces\\\"}\\n];\\n\\n/*\\nRun the macro\\n*/\\nexports.run = function(filter,spaces) {\\n\\treturn this.wiki.getTiddlersAsJson(filter,$tw.utils.parseInt(spaces));\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"macro\"},\"$:/core/modules/macros/makedatauri.js\":{\"title\":\"$:/core/modules/macros/makedatauri.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/macros/makedatauri.js\\ntype: application/javascript\\nmodule-type: macro\\n\\nMacro to convert a string of text to a data URI\\n\\n<<makedatauri text:\\\"Text to be converted\\\" type:\\\"text/vnd.tiddlywiki\\\">>\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nInformation about this macro\\n*/\\n\\nexports.name = \\\"makedatauri\\\";\\n\\nexports.params = [\\n\\t{name: \\\"text\\\"},\\n\\t{name: \\\"type\\\"},\\n\\t{name: \\\"_canonical_uri\\\"}\\n];\\n\\n/*\\nRun the macro\\n*/\\nexports.run = function(text,type,_canonical_uri) {\\n\\treturn $tw.utils.makeDataUri(text,type,_canonical_uri);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"macro\"},\"$:/core/modules/macros/now.js\":{\"title\":\"$:/core/modules/macros/now.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/macros/now.js\\ntype: application/javascript\\nmodule-type: macro\\n\\nMacro to return a formatted version of the current time\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nInformation about this macro\\n*/\\n\\nexports.name = \\\"now\\\";\\n\\nexports.params = [\\n\\t{name: \\\"format\\\"}\\n];\\n\\n/*\\nRun the macro\\n*/\\nexports.run = function(format) {\\n\\treturn $tw.utils.formatDateString(new Date(),format || \\\"0hh:0mm, DDth MMM YYYY\\\");\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"macro\"},\"$:/core/modules/macros/qualify.js\":{\"title\":\"$:/core/modules/macros/qualify.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/macros/qualify.js\\ntype: application/javascript\\nmodule-type: macro\\n\\nMacro to qualify a state tiddler title according\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nInformation about this macro\\n*/\\n\\nexports.name = \\\"qualify\\\";\\n\\nexports.params = [\\n\\t{name: \\\"title\\\"}\\n];\\n\\n/*\\nRun the macro\\n*/\\nexports.run = function(title) {\\n\\treturn title + \\\"-\\\" + this.getStateQualifier();\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"macro\"},\"$:/core/modules/macros/resolvepath.js\":{\"title\":\"$:/core/modules/macros/resolvepath.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/macros/resolvepath.js\\ntype: application/javascript\\nmodule-type: macro\\n\\nResolves a relative path for an absolute rootpath.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"resolvepath\\\";\\n\\nexports.params = [\\n\\t{name: \\\"source\\\"},\\n\\t{name: \\\"root\\\"}\\n];\\n\\n/*\\nRun the macro\\n*/\\nexports.run = function(source, root) {\\n\\treturn $tw.utils.resolvePath(source, root);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"macro\"},\"$:/core/modules/macros/unusedtitle.js\":{\"title\":\"$:/core/modules/macros/unusedtitle.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/macros/unusedtitle.js\\ntype: application/javascript\\nmodule-type: macro\\n\\nMacro to return a new title that is unused in the wiki. It can be given a name as a base.\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"unusedtitle\\\";\\n\\nexports.params = [\\n\\t{name: \\\"baseName\\\"},\\n\\t{name: \\\"separator\\\"},\\n\\t{name: \\\"template\\\"}\\n];\\n\\n/*\\nRun the macro\\n*/\\nexports.run = function(baseName,separator,template) {\\n\\tseparator = separator || \\\" \\\";\\n\\tif(!baseName) {\\n\\t\\tbaseName = $tw.language.getString(\\\"DefaultNewTiddlerTitle\\\");\\n\\t}\\n\\t// $tw.wiki.generateNewTitle = function(baseTitle,options)\\n\\t// options.prefix must be a string! \\n\\treturn this.wiki.generateNewTitle(baseName, {\\\"prefix\\\": separator, \\\"template\\\": template});\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"macro\"},\"$:/core/modules/macros/version.js\":{\"title\":\"$:/core/modules/macros/version.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/macros/version.js\\ntype: application/javascript\\nmodule-type: macro\\n\\nMacro to return the TiddlyWiki core version number\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nInformation about this macro\\n*/\\n\\nexports.name = \\\"version\\\";\\n\\nexports.params = [];\\n\\n/*\\nRun the macro\\n*/\\nexports.run = function() {\\n\\treturn $tw.version;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"macro\"},\"$:/core/modules/parsers/audioparser.js\":{\"title\":\"$:/core/modules/parsers/audioparser.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/audioparser.js\\ntype: application/javascript\\nmodule-type: parser\\n\\nThe audio parser parses an audio tiddler into an embeddable HTML element\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar AudioParser = function(type,text,options) {\\n\\tvar element = {\\n\\t\\t\\ttype: \\\"element\\\",\\n\\t\\t\\ttag: \\\"audio\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\tcontrols: {type: \\\"string\\\", value: \\\"controls\\\"},\\n\\t\\t\\t\\tstyle: {type: \\\"string\\\", value: \\\"width: 100%; object-fit: contain\\\"}\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tsrc;\\n\\tif(options._canonical_uri) {\\n\\t\\telement.attributes.src = {type: \\\"string\\\", value: options._canonical_uri};\\n\\t} else if(text) {\\n\\t\\telement.attributes.src = {type: \\\"string\\\", value: \\\"data:\\\" + type + \\\";base64,\\\" + text};\\n\\t}\\n\\tthis.tree = [element];\\n\\tthis.source = text;\\n\\tthis.type = type;\\n};\\n\\nexports[\\\"audio/ogg\\\"] = AudioParser;\\nexports[\\\"audio/mpeg\\\"] = AudioParser;\\nexports[\\\"audio/mp3\\\"] = AudioParser;\\nexports[\\\"audio/mp4\\\"] = AudioParser;\\n\\n})();\\n\\n\",\"type\":\"application/javascript\",\"module-type\":\"parser\"},\"$:/core/modules/parsers/binaryparser.js\":{\"title\":\"$:/core/modules/parsers/binaryparser.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/binaryparser.js\\ntype: application/javascript\\nmodule-type: parser\\n\\nThe binary parser parses a binary tiddler into a warning message and download link\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar BINARY_WARNING_MESSAGE = \\\"$:/core/ui/BinaryWarning\\\";\\nvar EXPORT_BUTTON_IMAGE = \\\"$:/core/images/export-button\\\";\\n\\nvar BinaryParser = function(type,text,options) {\\n\\t// Transclude the binary data tiddler warning message\\n\\tvar warn = {\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"p\\\",\\n\\t\\tchildren: [{\\n\\t\\t\\ttype: \\\"transclude\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\t\\\"$tiddler\\\": {type: \\\"string\\\", value: BINARY_WARNING_MESSAGE}\\n\\t\\t\\t}\\n\\t\\t}]\\n\\t};\\n\\t// Create download link based on binary tiddler title\\n\\tvar link = {\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"a\\\",\\n\\t\\tattributes: {\\n\\t\\t\\ttitle: {type: \\\"indirect\\\", textReference: \\\"!!title\\\"},\\n\\t\\t\\tdownload: {type: \\\"indirect\\\", textReference: \\\"!!title\\\"}\\n\\t\\t},\\n\\t\\tchildren: [{\\n\\t\\t\\ttype: \\\"transclude\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\t\\\"$tiddler\\\": {type: \\\"string\\\", value: EXPORT_BUTTON_IMAGE}\\n\\t\\t\\t}\\n\\t\\t}]\\n\\t};\\n\\t// Set the link href to external or internal data URI\\n\\tif(options._canonical_uri) {\\n\\t\\tlink.attributes.href = {\\n\\t\\t\\ttype: \\\"string\\\", \\n\\t\\t\\tvalue: options._canonical_uri\\n\\t\\t};\\n\\t} else if(text) {\\n\\t\\tlink.attributes.href = {\\n\\t\\t\\ttype: \\\"string\\\", \\n\\t\\t\\tvalue: \\\"data:\\\" + type + \\\";base64,\\\" + text\\n\\t\\t};\\n\\t}\\n\\t// Combine warning message and download link in a div\\n\\tvar element = {\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"div\\\",\\n\\t\\tattributes: {\\n\\t\\t\\tclass: {type: \\\"string\\\", value: \\\"tc-binary-warning\\\"}\\n\\t\\t},\\n\\t\\tchildren: [warn, link]\\n\\t}\\n\\tthis.tree = [element];\\n\\tthis.source = text;\\n\\tthis.type = type;\\n};\\n\\nexports[\\\"application/octet-stream\\\"] = BinaryParser;\\n\\n})();\\n\\n\",\"type\":\"application/javascript\",\"module-type\":\"parser\"},\"$:/core/modules/parsers/csvparser.js\":{\"title\":\"$:/core/modules/parsers/csvparser.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/csvparser.js\\ntype: application/javascript\\nmodule-type: parser\\n\\nThe CSV text parser processes CSV files into a table wrapped in a scrollable widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar CsvParser = function(type,text,options) {\\n\\t// Special handler for tab-delimited files\\n\\tif (type === 'text/tab-delimited-values' && !options.separator) {\\n\\t\\toptions.separator = \\\"\\\\t\\\";\\n\\t}\\n\\t\\n\\t// Table framework\\n\\tthis.tree = [{\\n\\t\\t\\\"type\\\": \\\"scrollable\\\", \\\"children\\\": [{\\n\\t\\t\\t\\\"type\\\": \\\"element\\\", \\\"tag\\\": \\\"table\\\", \\\"children\\\": [{\\n\\t\\t\\t\\t\\\"type\\\": \\\"element\\\", \\\"tag\\\": \\\"tbody\\\", \\\"children\\\": []\\n\\t\\t\\t}], \\\"attributes\\\": {\\n\\t\\t\\t\\t\\\"class\\\": {\\\"type\\\": \\\"string\\\", \\\"value\\\": \\\"tc-csv-table\\\"}\\n\\t\\t\\t}\\n\\t\\t}]\\n\\t}];\\n\\t// Split the text into lines\\n\\tvar lines = $tw.utils.parseCsvString(text, options),\\n\\t\\ttag = \\\"th\\\";\\n\\tvar maxColumns = 0;\\n\\t$tw.utils.each(lines, function(columns) {\\n\\t\\tmaxColumns = Math.max(columns.length, maxColumns);\\n\\t});\\n\\t\\n\\tfor(var line=0; line<lines.length; line++) {\\n\\t\\tvar columns = lines[line];\\n\\t\\tvar row = {\\n\\t\\t\\t\\\"type\\\": \\\"element\\\", \\\"tag\\\": \\\"tr\\\", \\\"children\\\": []\\n\\t\\t};\\n\\t\\tfor(var column=0; column<maxColumns; column++) {\\n\\t\\t\\trow.children.push({\\n\\t\\t\\t\\t\\\"type\\\": \\\"element\\\", \\\"tag\\\": tag, \\\"children\\\": [{\\n\\t\\t\\t\\t\\t\\\"type\\\": \\\"text\\\",\\n\\t\\t\\t\\t\\t\\\"text\\\": columns[column] || ''\\n\\t\\t\\t\\t}]\\n\\t\\t\\t});\\n\\t\\t}\\n\\t\\ttag = \\\"td\\\";\\n\\t\\tthis.tree[0].children[0].children[0].children.push(row);\\n\\t}\\n\\tthis.source = text;\\n\\tthis.type = type;\\n};\\n\\nexports[\\\"text/csv\\\"] = CsvParser;\\nexports[\\\"text/tab-delimited-values\\\"] = CsvParser;\\n\\n})();\\n\\n\",\"type\":\"application/javascript\",\"module-type\":\"parser\"},\"$:/core/modules/parsers/htmlparser.js\":{\"title\":\"$:/core/modules/parsers/htmlparser.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/htmlparser.js\\ntype: application/javascript\\nmodule-type: parser\\n\\nThe HTML parser displays text as raw HTML\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar HtmlParser = function(type,text,options) {\\n\\tvar src;\\n\\tif(options._canonical_uri) {\\n\\t\\tsrc = options._canonical_uri;\\n\\t} else if(text) {\\n\\t\\tsrc = \\\"data:text/html;charset=utf-8,\\\" + encodeURIComponent(text);\\n\\t}\\n\\tthis.tree = [{\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"iframe\\\",\\n\\t\\tattributes: {\\n\\t\\t\\tsrc: {type: \\\"string\\\", value: src}\\n\\t\\t}\\n\\t}];\\n\\tif($tw.wiki.getTiddlerText(\\\"$:/config/HtmlParser/DisableSandbox\\\",\\\"no\\\") !== \\\"yes\\\") {\\n\\t\\tthis.tree[0].attributes.sandbox = {type: \\\"string\\\", value: $tw.wiki.getTiddlerText(\\\"$:/config/HtmlParser/SandboxTokens\\\",\\\"\\\")};\\n\\t}\\n\\tthis.source = text;\\n\\tthis.type = type;\\n};\\n\\nexports[\\\"text/html\\\"] = HtmlParser;\\n\\n})();\\n\\n\",\"type\":\"application/javascript\",\"module-type\":\"parser\"},\"$:/core/modules/parsers/imageparser.js\":{\"title\":\"$:/core/modules/parsers/imageparser.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/imageparser.js\\ntype: application/javascript\\nmodule-type: parser\\n\\nThe image parser parses an image into an embeddable HTML element\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar ImageParser = function(type,text,options) {\\n\\tvar element = {\\n\\t\\t\\ttype: \\\"element\\\",\\n\\t\\t\\ttag: \\\"img\\\",\\n\\t\\t\\tattributes: {}\\n\\t\\t};\\n\\tif(options._canonical_uri) {\\n\\t\\telement.attributes.src = {type: \\\"string\\\", value: options._canonical_uri};\\n\\t} else if(text) {\\n\\t\\tif(type === \\\"image/svg+xml\\\" || type === \\\".svg\\\") {\\n\\t\\t\\telement.attributes.src = {type: \\\"string\\\", value: \\\"data:image/svg+xml,\\\" + encodeURIComponent(text)};\\n\\t\\t} else {\\n\\t\\t\\telement.attributes.src = {type: \\\"string\\\", value: \\\"data:\\\" + type + \\\";base64,\\\" + text};\\n\\t\\t}\\n\\t}\\n\\tthis.tree = [element];\\n\\tthis.source = text;\\n\\tthis.type = type;\\n};\\n\\nexports[\\\"image/svg+xml\\\"] = ImageParser;\\nexports[\\\"image/jpg\\\"] = ImageParser;\\nexports[\\\"image/jpeg\\\"] = ImageParser;\\nexports[\\\"image/png\\\"] = ImageParser;\\nexports[\\\"image/gif\\\"] = ImageParser;\\nexports[\\\"image/webp\\\"] = ImageParser;\\nexports[\\\"image/heic\\\"] = ImageParser;\\nexports[\\\"image/heif\\\"] = ImageParser;\\nexports[\\\"image/x-icon\\\"] = ImageParser;\\nexports[\\\"image/vnd.microsoft.icon\\\"] = ImageParser;\\n\\n})();\\n\\n\",\"type\":\"application/javascript\",\"module-type\":\"parser\"},\"$:/core/modules/utils/parseutils.js\":{\"title\":\"$:/core/modules/utils/parseutils.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/parseutils.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nUtility functions concerned with parsing text into tokens.\\n\\nMost functions have the following pattern:\\n\\n* The parameters are:\\n** `source`: the source string being parsed\\n** `pos`: the current parse position within the string\\n** Any further parameters are used to identify the token that is being parsed\\n* The return value is:\\n** null if the token was not found at the specified position\\n** an object representing the token with the following standard fields:\\n*** `type`: string indicating the type of the token\\n*** `start`: start position of the token in the source string\\n*** `end`: end position of the token in the source string\\n*** Any further fields required to describe the token\\n\\nThe exception is `skipWhiteSpace`, which just returns the position after the whitespace.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nLook for a whitespace token. Returns null if not found, otherwise returns {type: \\\"whitespace\\\", start:, end:,}\\n*/\\nexports.parseWhiteSpace = function(source,pos) {\\n\\tvar p = pos,c;\\n\\twhile(true) {\\n\\t\\tc = source.charAt(p);\\n\\t\\tif((c === \\\" \\\") || (c === \\\"\\\\f\\\") || (c === \\\"\\\\n\\\") || (c === \\\"\\\\r\\\") || (c === \\\"\\\\t\\\") || (c === \\\"\\\\v\\\") || (c === \\\"\\\\u00a0\\\")) { // Ignores some obscure unicode spaces\\n\\t\\t\\tp++;\\n\\t\\t} else {\\n\\t\\t\\tbreak;\\n\\t\\t}\\n\\t}\\n\\tif(p === pos) {\\n\\t\\treturn null;\\n\\t} else {\\n\\t\\treturn {\\n\\t\\t\\ttype: \\\"whitespace\\\",\\n\\t\\t\\tstart: pos,\\n\\t\\t\\tend: p\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nConvenience wrapper for parseWhiteSpace. Returns the position after the whitespace\\n*/\\nexports.skipWhiteSpace = function(source,pos) {\\n\\tvar c;\\n\\twhile(true) {\\n\\t\\tc = source.charAt(pos);\\n\\t\\tif((c === \\\" \\\") || (c === \\\"\\\\f\\\") || (c === \\\"\\\\n\\\") || (c === \\\"\\\\r\\\") || (c === \\\"\\\\t\\\") || (c === \\\"\\\\v\\\") || (c === \\\"\\\\u00a0\\\")) { // Ignores some obscure unicode spaces\\n\\t\\t\\tpos++;\\n\\t\\t} else {\\n\\t\\t\\treturn pos;\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nLook for a given string token. Returns null if not found, otherwise returns {type: \\\"token\\\", value:, start:, end:,}\\n*/\\nexports.parseTokenString = function(source,pos,token) {\\n\\tvar match = source.indexOf(token,pos) === pos;\\n\\tif(match) {\\n\\t\\treturn {\\n\\t\\t\\ttype: \\\"token\\\",\\n\\t\\t\\tvalue: token,\\n\\t\\t\\tstart: pos,\\n\\t\\t\\tend: pos + token.length\\n\\t\\t};\\n\\t}\\n\\treturn null;\\n};\\n\\n/*\\nLook for a token matching a regex. Returns null if not found, otherwise returns {type: \\\"regexp\\\", match:, start:, end:,}\\n*/\\nexports.parseTokenRegExp = function(source,pos,reToken) {\\n\\tvar node = {\\n\\t\\ttype: \\\"regexp\\\",\\n\\t\\tstart: pos\\n\\t};\\n\\treToken.lastIndex = pos;\\n\\tnode.match = reToken.exec(source);\\n\\tif(node.match && node.match.index === pos) {\\n\\t\\tnode.end = pos + node.match[0].length;\\n\\t\\treturn node;\\n\\t} else {\\n\\t\\treturn null;\\n\\t}\\n};\\n\\n/*\\nLook for a string literal. Returns null if not found, otherwise returns {type: \\\"string\\\", value:, start:, end:,}\\n*/\\nexports.parseStringLiteral = function(source,pos) {\\n\\tvar node = {\\n\\t\\ttype: \\\"string\\\",\\n\\t\\tstart: pos\\n\\t};\\n\\tvar reString = /(?:\\\"\\\"\\\"([\\\\s\\\\S]*?)\\\"\\\"\\\"|\\\"([^\\\"]*)\\\")|(?:'([^']*)')/g;\\n\\treString.lastIndex = pos;\\n\\tvar match = reString.exec(source);\\n\\tif(match && match.index === pos) {\\n\\t\\tnode.value = match[1] !== undefined ? match[1] :(\\n\\t\\t\\tmatch[2] !== undefined ? match[2] : match[3] \\n\\t\\t\\t\\t\\t);\\n\\t\\tnode.end = pos + match[0].length;\\n\\t\\treturn node;\\n\\t} else {\\n\\t\\treturn null;\\n\\t}\\n};\\n\\n/*\\nReturns an array of {name:} with an optional \\\"default\\\" property. Options include:\\nrequireParenthesis: require the parameter definition to be wrapped in parenthesis\\n*/\\nexports.parseParameterDefinition = function(paramString,options) {\\n\\toptions = options || {};\\n\\tif(options.requireParenthesis) {\\n\\t\\tvar parenMatch = /^\\\\s*\\\\((.*)\\\\)\\\\s*$/g.exec(paramString);\\n\\t\\tif(!parenMatch) {\\n\\t\\t\\treturn [];\\n\\t\\t}\\n\\t\\tparamString = parenMatch[1];\\n\\t}\\n\\tvar params = [],\\n\\t\\treParam = /\\\\s*([^:),\\\\s]+)(?:\\\\s*:\\\\s*(?:\\\"\\\"\\\"([\\\\s\\\\S]*?)\\\"\\\"\\\"|\\\"([^\\\"]*)\\\"|'([^']*)'|([^,\\\"'\\\\s]+)))?/mg,\\n\\t\\tparamMatch = reParam.exec(paramString);\\n\\twhile(paramMatch) {\\n\\t\\t// Save the parameter details\\n\\t\\tvar paramInfo = {name: paramMatch[1]},\\n\\t\\t\\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5];\\n\\t\\tif(defaultValue !== undefined) {\\n\\t\\t\\tparamInfo[\\\"default\\\"] = defaultValue;\\n\\t\\t}\\n\\t\\tparams.push(paramInfo);\\n\\t\\t// Look for the next parameter\\n\\t\\tparamMatch = reParam.exec(paramString);\\n\\t}\\n\\treturn params;\\n};\\n\\nexports.parseMacroParameters = function(node,source,pos) {\\n\\t// Process parameters\\n\\tvar parameter = $tw.utils.parseMacroParameter(source,pos);\\n\\twhile(parameter) {\\n\\t\\tnode.params.push(parameter);\\n\\t\\tpos = parameter.end;\\n\\t\\t// Get the next parameter\\n\\t\\tparameter = $tw.utils.parseMacroParameter(source,pos);\\n\\t}\\n\\tnode.end = pos;\\n\\treturn node;\\n}\\n\\n/*\\nLook for a macro invocation parameter. Returns null if not found, or {type: \\\"macro-parameter\\\", name:, value:, start:, end:}\\n*/\\nexports.parseMacroParameter = function(source,pos) {\\n\\tvar node = {\\n\\t\\ttype: \\\"macro-parameter\\\",\\n\\t\\tstart: pos\\n\\t};\\n\\t// Define our regexp\\n\\tvar reMacroParameter = /(?:([A-Za-z0-9\\\\-_]+)\\\\s*:)?(?:\\\\s*(?:\\\"\\\"\\\"([\\\\s\\\\S]*?)\\\"\\\"\\\"|\\\"([^\\\"]*)\\\"|'([^']*)'|\\\\[\\\\[([^\\\\]]*)\\\\]\\\\]|((?:(?:>(?!>))|[^\\\\s>\\\"'])+)))/g;\\n\\t// Skip whitespace\\n\\tpos = $tw.utils.skipWhiteSpace(source,pos);\\n\\t// Look for the parameter\\n\\tvar token = $tw.utils.parseTokenRegExp(source,pos,reMacroParameter);\\n\\tif(!token) {\\n\\t\\treturn null;\\n\\t}\\n\\tpos = token.end;\\n\\t// Get the parameter details\\n\\tnode.value = token.match[2] !== undefined ? token.match[2] : (\\n\\t\\t\\t\\t\\ttoken.match[3] !== undefined ? token.match[3] : (\\n\\t\\t\\t\\t\\t\\ttoken.match[4] !== undefined ? token.match[4] : (\\n\\t\\t\\t\\t\\t\\t\\ttoken.match[5] !== undefined ? token.match[5] : (\\n\\t\\t\\t\\t\\t\\t\\t\\ttoken.match[6] !== undefined ? token.match[6] : (\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\"\\\"\\n\\t\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t);\\n\\tif(token.match[1]) {\\n\\t\\tnode.name = token.match[1];\\n\\t}\\n\\t// Update the end position\\n\\tnode.end = pos;\\n\\treturn node;\\n};\\n\\n/*\\nLook for a macro invocation. Returns null if not found, or {type: \\\"transclude\\\", attributes:, start:, end:}\\n*/\\nexports.parseMacroInvocationAsTransclusion = function(source,pos) {\\n\\tvar node = $tw.utils.parseMacroInvocation(source,pos);\\n\\tif(node) {\\n\\t\\tvar positionalName = 0,\\n\\t\\t\\ttransclusion = {\\n\\t\\t\\t\\ttype: \\\"transclude\\\",\\n\\t\\t\\t\\tstart: node.start,\\n\\t\\t\\t\\tend: node.end\\n\\t\\t\\t};\\n\\t\\t$tw.utils.addAttributeToParseTreeNode(transclusion,\\\"$variable\\\",node.name);\\n\\t\\t$tw.utils.each(node.params,function(param) {\\n\\t\\t\\tvar name = param.name;\\n\\t\\t\\tif(name) {\\n\\t\\t\\t\\tif(name.charAt(0) === \\\"$\\\") {\\n\\t\\t\\t\\t\\tname = \\\"$\\\" + name;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(transclusion,{name: name,type: \\\"string\\\", value: param.value, start: param.start, end: param.end});\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(transclusion,{name: (positionalName++) + \\\"\\\",type: \\\"string\\\", value: param.value, start: param.start, end: param.end});\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\treturn transclusion;\\n\\t}\\n\\treturn node;\\n};\\n\\n/*\\nLook for a macro invocation. Returns null if not found, or {type: \\\"macrocall\\\", name:, params:, start:, end:}\\n*/\\nexports.parseMacroInvocation = function(source,pos) {\\n\\tvar node = {\\n\\t\\ttype: \\\"macrocall\\\",\\n\\t\\tstart: pos,\\n\\t\\tparams: []\\n\\t};\\n\\t// Define our regexps\\n\\tvar reMacroName = /([^\\\\s>\\\"'=]+)/g;\\n\\t// Skip whitespace\\n\\tpos = $tw.utils.skipWhiteSpace(source,pos);\\n\\t// Look for a double less than sign\\n\\tvar token = $tw.utils.parseTokenString(source,pos,\\\"<<\\\");\\n\\tif(!token) {\\n\\t\\treturn null;\\n\\t}\\n\\tpos = token.end;\\n\\t// Get the macro name\\n\\tvar name = $tw.utils.parseTokenRegExp(source,pos,reMacroName);\\n\\tif(!name) {\\n\\t\\treturn null;\\n\\t}\\n\\tnode.name = name.match[1];\\n\\tpos = name.end;\\n\\tnode = $tw.utils.parseMacroParameters(node,source,pos);\\n\\tpos = node.end;\\n\\t// Skip whitespace\\n\\tpos = $tw.utils.skipWhiteSpace(source,pos);\\n\\t// Look for a double greater than sign\\n\\ttoken = $tw.utils.parseTokenString(source,pos,\\\">>\\\");\\n\\tif(!token) {\\n\\t\\treturn null;\\n\\t}\\n\\tpos = token.end;\\n\\t// Update the end position\\n\\tnode.end = pos;\\n\\treturn node;\\n};\\n\\nexports.parseFilterVariable = function(source) {\\n\\tvar node = {\\n\\t\\t\\tname: \\\"\\\",\\n\\t\\t\\tparams: [],\\n\\t\\t},\\n\\t\\tpos = 0,\\n\\t\\treName = /([^\\\\s\\\"']+)/g;\\n\\t// If there is no whitespace or it is an empty string then there are no macro parameters\\n\\tif(/^\\\\S*$/.test(source)) {\\n\\t\\tnode.name = source;\\n\\t\\treturn node;\\n\\t}\\n\\t// Get the variable name\\n\\tvar nameMatch = $tw.utils.parseTokenRegExp(source,pos,reName);\\n\\tif(nameMatch) {\\n\\t\\tnode.name = nameMatch.match[1];\\n\\t\\tpos = nameMatch.end;\\n\\t\\tnode = $tw.utils.parseMacroParameters(node,source,pos);\\n\\t\\tdelete node.end;\\n\\t}\\n\\treturn node;\\n};\\n\\n/*\\nLook for an HTML attribute definition. Returns null if not found, otherwise returns {type: \\\"attribute\\\", name:, type: \\\"filtered|string|indirect|macro\\\", value|filter|textReference:, start:, end:,}\\n*/\\nexports.parseAttribute = function(source,pos) {\\n\\tvar node = {\\n\\t\\tstart: pos\\n\\t};\\n\\t// Define our regexps\\n\\tvar reAttributeName = /([^\\\\/\\\\s>\\\"'`=]+)/g,\\n\\t\\treUnquotedAttribute = /([^\\\\/\\\\s<>\\\"'`=]+)/g,\\n\\t\\treFilteredValue = /\\\\{\\\\{\\\\{([\\\\S\\\\s]+?)\\\\}\\\\}\\\\}/g,\\n\\t\\treIndirectValue = /\\\\{\\\\{([^\\\\}]+)\\\\}\\\\}/g,\\n\\t\\treSubstitutedValue = /(?:```([\\\\s\\\\S]*?)```|`([^`]|[\\\\S\\\\s]*?)`)/g;\\n\\t// Skip whitespace\\n\\tpos = $tw.utils.skipWhiteSpace(source,pos);\\n\\t// Get the attribute name\\n\\tvar name = $tw.utils.parseTokenRegExp(source,pos,reAttributeName);\\n\\tif(!name) {\\n\\t\\treturn null;\\n\\t}\\n\\tnode.name = name.match[1];\\n\\tpos = name.end;\\n\\t// Skip whitespace\\n\\tpos = $tw.utils.skipWhiteSpace(source,pos);\\n\\t// Look for an equals sign\\n\\tvar token = $tw.utils.parseTokenString(source,pos,\\\"=\\\");\\n\\tif(token) {\\n\\t\\tpos = token.end;\\n\\t\\t// Skip whitespace\\n\\t\\tpos = $tw.utils.skipWhiteSpace(source,pos);\\n\\t\\t// Look for a string literal\\n\\t\\tvar stringLiteral = $tw.utils.parseStringLiteral(source,pos);\\n\\t\\tif(stringLiteral) {\\n\\t\\t\\tpos = stringLiteral.end;\\n\\t\\t\\tnode.type = \\\"string\\\";\\n\\t\\t\\tnode.value = stringLiteral.value;\\n\\t\\t} else {\\n\\t\\t\\t// Look for a filtered value\\n\\t\\t\\tvar filteredValue = $tw.utils.parseTokenRegExp(source,pos,reFilteredValue);\\n\\t\\t\\tif(filteredValue) {\\n\\t\\t\\t\\tpos = filteredValue.end;\\n\\t\\t\\t\\tnode.type = \\\"filtered\\\";\\n\\t\\t\\t\\tnode.filter = filteredValue.match[1];\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t// Look for an indirect value\\n\\t\\t\\t\\tvar indirectValue = $tw.utils.parseTokenRegExp(source,pos,reIndirectValue);\\n\\t\\t\\t\\tif(indirectValue) {\\n\\t\\t\\t\\t\\tpos = indirectValue.end;\\n\\t\\t\\t\\t\\tnode.type = \\\"indirect\\\";\\n\\t\\t\\t\\t\\tnode.textReference = indirectValue.match[1];\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t// Look for a unquoted value\\n\\t\\t\\t\\t\\tvar unquotedValue = $tw.utils.parseTokenRegExp(source,pos,reUnquotedAttribute);\\n\\t\\t\\t\\t\\tif(unquotedValue) {\\n\\t\\t\\t\\t\\t\\tpos = unquotedValue.end;\\n\\t\\t\\t\\t\\t\\tnode.type = \\\"string\\\";\\n\\t\\t\\t\\t\\t\\tnode.value = unquotedValue.match[1];\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t// Look for a macro invocation value\\n\\t\\t\\t\\t\\t\\tvar macroInvocation = $tw.utils.parseMacroInvocation(source,pos);\\n\\t\\t\\t\\t\\t\\tif(macroInvocation) {\\n\\t\\t\\t\\t\\t\\t\\tpos = macroInvocation.end;\\n\\t\\t\\t\\t\\t\\t\\tnode.type = \\\"macro\\\";\\n\\t\\t\\t\\t\\t\\t\\tnode.value = macroInvocation;\\n\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\tvar substitutedValue = $tw.utils.parseTokenRegExp(source,pos,reSubstitutedValue);\\n\\t\\t\\t\\t\\t\\t\\tif(substitutedValue) {\\n\\t\\t\\t\\t\\t\\t\\t\\tpos = substitutedValue.end;\\n\\t\\t\\t\\t\\t\\t\\t\\tnode.type = \\\"substituted\\\";\\n\\t\\t\\t\\t\\t\\t\\t\\tnode.rawValue = substitutedValue.match[1] || substitutedValue.match[2];\\n\\t\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\t\\tnode.type = \\\"string\\\";\\n\\t\\t\\t\\t\\t\\t\\t\\tnode.value = \\\"true\\\";\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} else {\\n\\t\\tnode.type = \\\"string\\\";\\n\\t\\tnode.value = \\\"true\\\";\\n\\t}\\n\\t// Update the end position\\n\\tnode.end = pos;\\n\\treturn node;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/parsers/pdfparser.js\":{\"title\":\"$:/core/modules/parsers/pdfparser.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/pdfparser.js\\ntype: application/javascript\\nmodule-type: parser\\n\\nThe PDF parser embeds a PDF viewer\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar ImageParser = function(type,text,options) {\\n\\tvar element = {\\n\\t\\t\\ttype: \\\"element\\\",\\n\\t\\t\\ttag: \\\"iframe\\\",\\n\\t\\t\\tattributes: {}\\n\\t\\t},\\n\\t\\tsrc;\\n\\tif(options._canonical_uri) {\\n\\t\\telement.attributes.src = {type: \\\"string\\\", value: options._canonical_uri};\\n\\t} else if(text) {\\n\\t\\telement.attributes.src = {type: \\\"string\\\", value: \\\"data:application/pdf;base64,\\\" + text};\\n\\t}\\n\\tthis.tree = [element];\\n\\tthis.source = text;\\n\\tthis.type = type;\\n};\\n\\nexports[\\\"application/pdf\\\"] = ImageParser;\\n\\n})();\\n\\n\",\"type\":\"application/javascript\",\"module-type\":\"parser\"},\"$:/core/modules/parsers/textparser.js\":{\"title\":\"$:/core/modules/parsers/textparser.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/textparser.js\\ntype: application/javascript\\nmodule-type: parser\\n\\nThe plain text parser processes blocks of source text into a degenerate parse tree consisting of a single text node\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar TextParser = function(type,text,options) {\\n\\tthis.tree = [{\\n\\t\\ttype: \\\"genesis\\\",\\n\\t\\tattributes: {\\n\\t\\t\\t$type: {name: \\\"$type\\\", type: \\\"string\\\", value: \\\"$codeblock\\\"},\\n\\t\\t\\tcode: {name: \\\"code\\\", type: \\\"string\\\", value: text},\\n\\t\\t\\tlanguage: {name: \\\"language\\\", type: \\\"string\\\", value: type},\\n\\t\\t\\t$remappable: {name: \\\"$remappable\\\", type:\\\"string\\\", value: \\\"no\\\"}\\n\\t\\t}\\n\\t}];\\n\\tthis.source = text;\\n\\tthis.type = type;\\n};\\n\\nexports[\\\"text/plain\\\"] = TextParser;\\nexports[\\\"text/x-tiddlywiki\\\"] = TextParser;\\nexports[\\\"application/javascript\\\"] = TextParser;\\nexports[\\\"application/json\\\"] = TextParser;\\nexports[\\\"text/css\\\"] = TextParser;\\nexports[\\\"application/x-tiddler-dictionary\\\"] = TextParser;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"parser\"},\"$:/core/modules/parsers/videoparser.js\":{\"title\":\"$:/core/modules/parsers/videoparser.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/videoparser.js\\ntype: application/javascript\\nmodule-type: parser\\n\\nThe video parser parses a video tiddler into an embeddable HTML element\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar VideoParser = function(type,text,options) {\\n\\tvar element = {\\n\\t\\t\\ttype: \\\"element\\\",\\n\\t\\t\\ttag: \\\"video\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\tcontrols: {type: \\\"string\\\", value: \\\"controls\\\"},\\n\\t\\t\\t\\tstyle: {type: \\\"string\\\", value: \\\"width: 100%; object-fit: contain\\\"}\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tsrc;\\n\\tif(options._canonical_uri) {\\n\\t\\telement.attributes.src = {type: \\\"string\\\", value: options._canonical_uri};\\n\\t} else if(text) {\\n\\t\\telement.attributes.src = {type: \\\"string\\\", value: \\\"data:\\\" + type + \\\";base64,\\\" + text};\\n\\t}\\n\\tthis.tree = [element];\\n\\tthis.source = text;\\n\\tthis.type = type;\\n};\\n\\nexports[\\\"video/ogg\\\"] = VideoParser;\\nexports[\\\"video/webm\\\"] = VideoParser;\\nexports[\\\"video/mp4\\\"] = VideoParser;\\nexports[\\\"video/quicktime\\\"] = VideoParser;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"parser\"},\"$:/core/modules/parsers/wikiparser/rules/codeblock.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/codeblock.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeblock.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text rule for code blocks. For example:\\n\\n```\\n\\t```\\n\\tThis text will not be //wikified//\\n\\t```\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"codeblock\\\";\\nexports.types = {block: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match and get language if defined\\n\\tthis.matchRegExp = /```([\\\\w-]*)\\\\r?\\\\n/mg;\\n};\\n\\nexports.parse = function() {\\n\\tvar reEnd = /(\\\\r?\\\\n```$)/mg;\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\n\\t// Look for the end of the block\\n\\treEnd.lastIndex = this.parser.pos;\\n\\tvar match = reEnd.exec(this.parser.source),\\n\\t\\ttext;\\n\\t// Process the block\\n\\tif(match) {\\n\\t\\ttext = this.parser.source.substring(this.parser.pos,match.index);\\n\\t\\tthis.parser.pos = match.index + match[0].length;\\n\\t} else {\\n\\t\\ttext = this.parser.source.substr(this.parser.pos);\\n\\t\\tthis.parser.pos = this.parser.sourceLength;\\n\\t}\\n\\t// Return the $codeblock widget\\n\\treturn [{\\n\\t\\t\\ttype: \\\"codeblock\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\t\\tcode: {type: \\\"string\\\", value: text},\\n\\t\\t\\t\\t\\tlanguage: {type: \\\"string\\\", value: this.match[1]}\\n\\t\\t\\t}\\n\\t}];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/codeinline.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/codeinline.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeinline.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for code runs. For example:\\n\\n```\\n\\tThis is a `code run`.\\n\\tThis is another ``code run``\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"codeinline\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /(``?)/mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\tvar reEnd = new RegExp(this.match[1], \\\"mg\\\");\\n\\t// Look for the end marker\\n\\treEnd.lastIndex = this.parser.pos;\\n\\tvar match = reEnd.exec(this.parser.source),\\n\\t\\ttext;\\n\\t// Process the text\\n\\tif(match) {\\n\\t\\ttext = this.parser.source.substring(this.parser.pos,match.index);\\n\\t\\tthis.parser.pos = match.index + match[0].length;\\n\\t} else {\\n\\t\\ttext = this.parser.source.substr(this.parser.pos);\\n\\t\\tthis.parser.pos = this.parser.sourceLength;\\n\\t}\\n\\treturn [{\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"code\\\",\\n\\t\\tchildren: [{\\n\\t\\t\\ttype: \\\"text\\\",\\n\\t\\t\\ttext: text\\n\\t\\t}]\\n\\t}];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/commentblock.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/commentblock.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentblock.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text block rule for HTML comments. For example:\\n\\n```\\n<!-- This is a comment -->\\n\\\\define macroX()\\n<!-- This is a comment -->\\nxxxx\\n\\\\end\\n<!-- This is a comment -->\\n\\n```\\n\\nNote that the syntax for comments is simplified to an opening \\\"<!--\\\" sequence and a closing \\\"-->\\\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"commentblock\\\";\\nexports.types = {block:true, pragma:true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\tthis.matchRegExp = /<!--/mg;\\n\\tthis.endMatchRegExp = /-->/mg;\\n};\\n\\nexports.findNextMatch = function(startPos) {\\n\\tthis.matchRegExp.lastIndex = startPos;\\n\\tthis.match = this.matchRegExp.exec(this.parser.source);\\n\\tif(this.match) {\\n\\t\\tthis.endMatchRegExp.lastIndex = this.match.index + this.match[0].length;\\n\\t\\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\\n\\t\\tif(this.endMatch) {\\n\\t\\t\\treturn this.match.index;\\n\\t\\t}\\n\\t}\\n\\treturn undefined;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.endMatchRegExp.lastIndex;\\n\\t// Don't return any elements\\n\\treturn [];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/commentinline.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/commentinline.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentinline.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for HTML comments. For example:\\n\\n```\\n<!-- This is a comment -->\\n```\\n\\nNote that the syntax for comments is simplified to an opening \\\"<!--\\\" sequence and a closing \\\"-->\\\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"commentinline\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\tthis.matchRegExp = /<!--/mg;\\n\\tthis.endMatchRegExp = /-->/mg;\\n};\\n\\nexports.findNextMatch = function(startPos) {\\n\\tthis.matchRegExp.lastIndex = startPos;\\n\\tthis.match = this.matchRegExp.exec(this.parser.source);\\n\\tif(this.match) {\\n\\t\\tthis.endMatchRegExp.lastIndex = this.match.index + this.match[0].length;\\n\\t\\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\\n\\t\\tif(this.endMatch) {\\n\\t\\t\\treturn this.match.index;\\n\\t\\t}\\n\\t}\\n\\treturn undefined;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.endMatchRegExp.lastIndex;\\n\\t// Don't return any elements\\n\\treturn [];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/conditional.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/conditional.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/conditional.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nConditional shortcut syntax\\n\\n```\\nThis is a <% if [{something}] %>Elephant<% elseif [{else}] %>Pelican<% else %>Crocodile<% endif %>\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"conditional\\\";\\nexports.types = {inline: true, block: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\<\\\\%\\\\s*if\\\\s+/mg;\\n\\tthis.terminateIfRegExp = /\\\\%\\\\>/mg;\\n};\\n\\nexports.findNextMatch = function(startPos) {\\n\\t// Look for the next <% if shortcut\\n\\tthis.matchRegExp.lastIndex = startPos;\\n\\tthis.match = this.matchRegExp.exec(this.parser.source);\\n\\t// If not found then return no match\\n\\tif(!this.match) {\\n\\t\\treturn undefined;\\n\\t}\\n\\t// Check for the next %>\\n\\tthis.terminateIfRegExp.lastIndex = this.match.index;\\n\\tthis.terminateIfMatch = this.terminateIfRegExp.exec(this.parser.source);\\n\\t// If not found then return no match\\n\\tif(!this.terminateIfMatch) {\\n\\t\\treturn undefined;\\n\\t}\\n\\t// Return the position at which the construction was found\\n\\treturn this.match.index;\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\t// Get the filter condition\\n\\tvar filterCondition = this.parser.source.substring(this.match.index + this.match[0].length,this.terminateIfMatch.index);\\n\\t// Advance the parser position to past the %>\\n\\tthis.parser.pos = this.terminateIfMatch.index + this.terminateIfMatch[0].length;\\n\\t// Parse the if clause\\n\\treturn this.parseIfClause(filterCondition);\\n};\\n\\nexports.parseIfClause = function(filterCondition) {\\n\\t// Create the list widget\\n\\tvar listWidget = {\\n\\t\\ttype: \\\"list\\\",\\n\\t\\ttag: \\\"$list\\\",\\n\\t\\tisBlock: this.is.block,\\n\\t\\tchildren: [\\n\\t\\t\\t{\\n\\t\\t\\t\\ttype: \\\"list-template\\\",\\n\\t\\t\\t\\ttag: \\\"$list-template\\\"\\n\\t\\t\\t},\\n\\t\\t\\t{\\n\\t\\t\\t\\ttype: \\\"list-empty\\\",\\n\\t\\t\\t\\ttag: \\\"$list-empty\\\"\\n\\t\\t\\t}\\n\\t\\t]\\n\\t};\\n\\t$tw.utils.addAttributeToParseTreeNode(listWidget,\\\"filter\\\",filterCondition);\\n\\t$tw.utils.addAttributeToParseTreeNode(listWidget,\\\"variable\\\",\\\"condition\\\");\\n\\t$tw.utils.addAttributeToParseTreeNode(listWidget,\\\"limit\\\",\\\"1\\\");\\n\\t// Check for an immediately following double linebreak\\n\\tvar hasLineBreak = !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\\\S\\\\n\\\\r]*\\\\r?\\\\n(?:[^\\\\S\\\\n\\\\r]*\\\\r?\\\\n|$))/g);\\n\\t// Parse the body looking for else or endif\\n\\tvar reEndString = \\\"\\\\\\\\<\\\\\\\\%\\\\\\\\s*(endif)\\\\\\\\s*\\\\\\\\%\\\\\\\\>|\\\\\\\\<\\\\\\\\%\\\\\\\\s*(else)\\\\\\\\s*\\\\\\\\%\\\\\\\\>|\\\\\\\\<\\\\\\\\%\\\\\\\\s*(elseif)\\\\\\\\s+([\\\\\\\\s\\\\\\\\S]+?)\\\\\\\\%\\\\\\\\>\\\",\\n\\t\\tex;\\n\\tif(hasLineBreak) {\\n\\t\\tex = this.parser.parseBlocksTerminatedExtended(reEndString);\\n\\t} else {\\n\\t\\tvar reEnd = new RegExp(reEndString,\\\"mg\\\");\\n\\t\\tex = this.parser.parseInlineRunTerminatedExtended(reEnd,{eatTerminator: true});\\n\\t}\\n\\t// Put the body into the list template\\n\\tlistWidget.children[0].children = ex.tree;\\n\\t// Check for an else or elseif\\n\\tif(ex.match) {\\n\\t\\tif(ex.match[1] === \\\"endif\\\") {\\n\\t\\t\\t// Nothing to do if we just found an endif\\n\\t\\t} else if(ex.match[2] === \\\"else\\\") {\\n\\t\\t\\t// Check for an immediately following double linebreak\\n\\t\\t\\thasLineBreak = !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\\\S\\\\n\\\\r]*\\\\r?\\\\n(?:[^\\\\S\\\\n\\\\r]*\\\\r?\\\\n|$))/g);\\n\\t\\t\\t// If we found an else then we need to parse the body looking for the endif\\n\\t\\t\\tvar reEndString = \\\"\\\\\\\\<\\\\\\\\%\\\\\\\\s*(endif)\\\\\\\\s*\\\\\\\\%\\\\\\\\>\\\",\\n\\t\\t\\tex;\\n\\t\\t\\tif(hasLineBreak) {\\n\\t\\t\\t\\tex = this.parser.parseBlocksTerminatedExtended(reEndString);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tvar reEnd = new RegExp(reEndString,\\\"mg\\\");\\n\\t\\t\\t\\tex = this.parser.parseInlineRunTerminatedExtended(reEnd,{eatTerminator: true});\\n\\t\\t\\t}\\n\\t\\t\\t// Put the parsed content inside the list empty template\\n\\t\\t\\tlistWidget.children[1].children = ex.tree;\\n\\t\\t} else if(ex.match[3] === \\\"elseif\\\") {\\n\\t\\t\\t// Parse the elseif clause by reusing this parser, passing the new filter condition\\n\\t\\t\\tlistWidget.children[1].children = this.parseIfClause(ex.match[4]);\\n\\t\\t}\\n\\t}\\n\\t// Return the parse tree node\\n\\treturn [listWidget];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/dash.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/dash.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/dash.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for dashes. For example:\\n\\n```\\nThis is an en-dash: --\\n\\nThis is an em-dash: ---\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"dash\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /-{2,3}(?!-)/mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\tvar dash = this.match[0].length === 2 ? \\\"–\\\" : \\\"—\\\";\\n\\treturn [{\\n\\t\\ttype: \\\"entity\\\",\\n\\t\\tentity: dash\\n\\t}];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for emphasis - bold. For example:\\n\\n```\\n\\tThis is ''bold'' text\\n```\\n\\nThis wikiparser can be modified using the rules eg:\\n\\n```\\n\\\\rules except bold \\n\\\\rules only bold \\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"bold\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /''/mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\n\\t// Parse the run including the terminator\\n\\tvar tree = this.parser.parseInlineRun(/''/mg,{eatTerminator: true});\\n\\n\\t// Return the classed span\\n\\treturn [{\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"strong\\\",\\n\\t\\tchildren: tree\\n\\t}];\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for emphasis - italic. For example:\\n\\n```\\n\\tThis is //italic// text\\n```\\n\\nThis wikiparser can be modified using the rules eg:\\n\\n```\\n\\\\rules except italic\\n\\\\rules only italic\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"italic\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\/\\\\//mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\n\\t// Parse the run including the terminator\\n\\tvar tree = this.parser.parseInlineRun(/\\\\/\\\\//mg,{eatTerminator: true});\\n\\n\\t// Return the classed span\\n\\treturn [{\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"em\\\",\\n\\t\\tchildren: tree\\n\\t}];\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for emphasis - strikethrough. For example:\\n\\n```\\n\\tThis is ~~strikethrough~~ text\\n```\\n\\nThis wikiparser can be modified using the rules eg:\\n\\n```\\n\\\\rules except strikethrough \\n\\\\rules only strikethrough \\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"strikethrough\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /~~/mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\n\\t// Parse the run including the terminator\\n\\tvar tree = this.parser.parseInlineRun(/~~/mg,{eatTerminator: true});\\n\\n\\t// Return the classed span\\n\\treturn [{\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"strike\\\",\\n\\t\\tchildren: tree\\n\\t}];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for emphasis - subscript. For example:\\n\\n```\\n\\tThis is ,,subscript,, text\\n```\\n\\nThis wikiparser can be modified using the rules eg:\\n\\n```\\n\\\\rules except subscript \\n\\\\rules only subscript \\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"subscript\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /,,/mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\n\\t// Parse the run including the terminator\\n\\tvar tree = this.parser.parseInlineRun(/,,/mg,{eatTerminator: true});\\n\\n\\t// Return the classed span\\n\\treturn [{\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"sub\\\",\\n\\t\\tchildren: tree\\n\\t}];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for emphasis - superscript. For example:\\n\\n```\\n\\tThis is ^^superscript^^ text\\n```\\n\\nThis wikiparser can be modified using the rules eg:\\n\\n```\\n\\\\rules except superscript \\n\\\\rules only superscript \\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"superscript\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\^\\\\^/mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\n\\t// Parse the run including the terminator\\n\\tvar tree = this.parser.parseInlineRun(/\\\\^\\\\^/mg,{eatTerminator: true});\\n\\n\\t// Return the classed span\\n\\treturn [{\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"sup\\\",\\n\\t\\tchildren: tree\\n\\t}];\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for emphasis - underscore. For example:\\n\\n```\\n\\tThis is __underscore__ text\\n```\\n\\nThis wikiparser can be modified using the rules eg:\\n\\n```\\n\\\\rules except underscore \\n\\\\rules only underscore\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"underscore\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /__/mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\n\\t// Parse the run including the terminator\\n\\tvar tree = this.parser.parseInlineRun(/__/mg,{eatTerminator: true});\\n\\n\\t// Return the classed span\\n\\treturn [{\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"u\\\",\\n\\t\\tchildren: tree\\n\\t}];\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/entity.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/entity.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/entity.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for HTML entities. For example:\\n\\n```\\n\\tThis is a copyright symbol: ©\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"entity\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /(&#?[a-zA-Z0-9]{2,8};)/mg;\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\t// Get all the details of the match\\n\\tvar entityString = this.match[1];\\n\\t// Move past the macro call\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Return the entity\\n\\treturn [{type: \\\"entity\\\", entity: this.match[0]}];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/extlink.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/extlink.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/extlink.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for external links. For example:\\n\\n```\\nAn external link: https://www.tiddlywiki.com/\\n\\nA suppressed external link: ~http://www.tiddlyspace.com/\\n```\\n\\nExternal links can be suppressed by preceding them with `~`.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"extlink\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\\\s<>{}\\\\[\\\\]`|\\\"\\\\\\\\^]+(?:\\\\/|\\\\b)/mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Create the link unless it is suppressed\\n\\tif(this.match[0].substr(0,1) === \\\"~\\\") {\\n\\t\\treturn [{type: \\\"text\\\", text: this.match[0].substr(1)}];\\n\\t} else {\\n\\t\\treturn [{\\n\\t\\t\\ttype: \\\"element\\\",\\n\\t\\t\\ttag: \\\"a\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\thref: {type: \\\"string\\\", value: this.match[0]},\\n\\t\\t\\t\\t\\\"class\\\": {type: \\\"string\\\", value: \\\"tc-tiddlylink-external\\\"},\\n\\t\\t\\t\\ttarget: {type: \\\"string\\\", value: \\\"_blank\\\"},\\n\\t\\t\\t\\trel: {type: \\\"string\\\", value: \\\"noopener noreferrer\\\"}\\n\\t\\t\\t},\\n\\t\\t\\tchildren: [{\\n\\t\\t\\t\\ttype: \\\"text\\\", text: this.match[0]\\n\\t\\t\\t}]\\n\\t\\t}];\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text rule for block-level filtered transclusion. For example:\\n\\n```\\n{{{ [tag[docs]] }}}\\n{{{ [tag[docs]] |tooltip}}}\\n{{{ [tag[docs]] ||TemplateTitle}}}\\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"filteredtranscludeblock\\\";\\nexports.types = {block: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\{\\\\{\\\\{([^\\\\|]+?)(?:\\\\|([^\\\\|\\\\{\\\\}]+))?(?:\\\\|\\\\|([^\\\\|\\\\{\\\\}]+))?\\\\}\\\\}([^\\\\}]*)\\\\}(?:\\\\.(\\\\S+))?(?:\\\\r?\\\\n|$)/mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Get the match details\\n\\tvar filter = this.match[1],\\n\\t\\ttooltip = this.match[2],\\n\\t\\ttemplate = $tw.utils.trim(this.match[3]),\\n\\t\\tstyle = this.match[4],\\n\\t\\tclasses = this.match[5];\\n\\t// Return the list widget\\n\\tvar node = {\\n\\t\\ttype: \\\"list\\\",\\n\\t\\tattributes: {\\n\\t\\t\\tfilter: {type: \\\"string\\\", value: filter}\\n\\t\\t},\\n\\t\\tisBlock: true\\n\\t};\\n\\tif(tooltip) {\\n\\t\\tnode.attributes.tooltip = {type: \\\"string\\\", value: tooltip};\\n\\t}\\n\\tif(template) {\\n\\t\\tnode.attributes.template = {type: \\\"string\\\", value: template};\\n\\t}\\n\\tif(style) {\\n\\t\\tnode.attributes.style = {type: \\\"string\\\", value: style};\\n\\t}\\n\\tif(classes) {\\n\\t\\tnode.attributes.itemClass = {type: \\\"string\\\", value: classes.split(\\\".\\\").join(\\\" \\\")};\\n\\t}\\n\\treturn [node];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text rule for inline filtered transclusion. For example:\\n\\n```\\n{{{ [tag[docs]] }}}\\n{{{ [tag[docs]] |tooltip}}}\\n{{{ [tag[docs]] ||TemplateTitle}}}\\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"filteredtranscludeinline\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\{\\\\{\\\\{([^\\\\|]+?)(?:\\\\|([^\\\\|\\\\{\\\\}]+))?(?:\\\\|\\\\|([^\\\\|\\\\{\\\\}]+))?\\\\}\\\\}([^\\\\}]*)\\\\}(?:\\\\.(\\\\S+))?/mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Get the match details\\n\\tvar filter = this.match[1],\\n\\t\\ttooltip = this.match[2],\\n\\t\\ttemplate = $tw.utils.trim(this.match[3]),\\n\\t\\tstyle = this.match[4],\\n\\t\\tclasses = this.match[5];\\n\\t// Return the list widget\\n\\tvar node = {\\n\\t\\ttype: \\\"list\\\",\\n\\t\\tattributes: {\\n\\t\\t\\tfilter: {type: \\\"string\\\", value: filter}\\n\\t\\t}\\n\\t};\\n\\tif(tooltip) {\\n\\t\\tnode.attributes.tooltip = {type: \\\"string\\\", value: tooltip};\\n\\t}\\n\\tif(template) {\\n\\t\\tnode.attributes.template = {type: \\\"string\\\", value: template};\\n\\t}\\n\\tif(style) {\\n\\t\\tnode.attributes.style = {type: \\\"string\\\", value: style};\\n\\t}\\n\\tif(classes) {\\n\\t\\tnode.attributes.itemClass = {type: \\\"string\\\", value: classes.split(\\\".\\\").join(\\\" \\\")};\\n\\t}\\n\\treturn [node];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/fnprocdef.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/fnprocdef.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/fnprocdef.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki pragma rule for function, procedure and widget definitions\\n\\n```\\n\\\\function name(param:defaultvalue,param2:defaultvalue)\\ndefinition text\\n\\\\end\\n\\n\\\\procedure name(param:defaultvalue,param2:defaultvalue)\\ndefinition text\\n\\\\end\\n\\n\\\\widget $mywidget(param:defaultvalue,param2:defaultvalue)\\ndefinition text\\n\\\\end\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"fnprocdef\\\";\\nexports.types = {pragma: true};\\n\\n/*\\nInstantiate parse rule\\n*/\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\\\\\(function|procedure|widget)\\\\s+([^(\\\\s]+)\\\\((\\\\s*([^)]*))?\\\\)(\\\\s*\\\\r?\\\\n)?/mg;\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\t// Move past the macro name and parameters\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Parse the parameters\\n\\tvar params = [];\\n\\tif(this.match[3]) {\\n\\t\\tparams = $tw.utils.parseParameterDefinition(this.match[4]);\\n\\t}\\n\\t// Is this a multiline definition?\\n\\tvar reEnd;\\n\\tif(this.match[5]) {\\n\\t\\t// If so, the end of the body is marked with \\\\end\\n\\t\\treEnd = new RegExp(\\\"(\\\\\\\\r?\\\\\\\\n[^\\\\\\\\S\\\\\\\\n\\\\\\\\r]*\\\\\\\\\\\\\\\\end[^\\\\\\\\S\\\\\\\\n\\\\\\\\r]*(?:\\\" + $tw.utils.escapeRegExp(this.match[2]) + \\\")?(?:$|\\\\\\\\r?\\\\\\\\n))\\\",\\\"mg\\\");\\n\\t} else {\\n\\t\\t// Otherwise, the end of the definition is marked by the end of the line\\n\\t\\treEnd = /($|\\\\r?\\\\n)/mg;\\n\\t\\t// Move past any whitespace\\n\\t\\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\\n\\t}\\n\\t// Find the end of the definition\\n\\treEnd.lastIndex = this.parser.pos;\\n\\tvar text,\\n\\t\\tendMatch = reEnd.exec(this.parser.source);\\n\\tif(endMatch) {\\n\\t\\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\\n\\t\\tthis.parser.pos = endMatch.index + endMatch[0].length;\\n\\t} else {\\n\\t\\t// We didn't find the end of the definition, so we'll make it blank\\n\\t\\ttext = \\\"\\\";\\n\\t}\\n\\t// Save the macro definition\\n\\tvar parseTreeNodes = [{\\n\\t\\ttype: \\\"set\\\",\\n\\t\\tattributes: {},\\n\\t\\tchildren: [],\\n\\t\\tparams: params\\n\\t}];\\n\\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\\\"name\\\",this.match[2]);\\n\\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\\\"value\\\",text);\\n\\tif(this.match[1] === \\\"function\\\") {\\n\\t\\tparseTreeNodes[0].isFunctionDefinition = true;\\n\\t} else if(this.match[1] === \\\"procedure\\\") {\\n\\t\\tparseTreeNodes[0].isProcedureDefinition = true;\\n\\t} else if(this.match[1] === \\\"widget\\\") {\\n\\t\\tparseTreeNodes[0].isWidgetDefinition = true;\\n\\t}\\n\\tif(this.parser.configTrimWhiteSpace) {\\n\\t\\tparseTreeNodes[0].configTrimWhiteSpace = true;\\n\\t}\\n\\treturn parseTreeNodes;\\n};\\n\\n})();\\n\\t\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for marking areas with hard line breaks. For example:\\n\\n```\\n\\\"\\\"\\\"\\nThis is some text\\nThat is set like\\nIt is a Poem\\nWhen it is\\nClearly\\nNot\\n\\\"\\\"\\\"\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"hardlinebreaks\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\"\\\"\\\"(?:\\\\r?\\\\n)?/mg;\\n};\\n\\nexports.parse = function() {\\n\\tvar reEnd = /(\\\"\\\"\\\")|(\\\\r?\\\\n)/mg,\\n\\t\\ttree = [],\\n\\t\\tmatch;\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\tdo {\\n\\t\\t// Parse the run up to the terminator\\n\\t\\ttree.push.apply(tree,this.parser.parseInlineRun(reEnd,{eatTerminator: false}));\\n\\t\\t// Redo the terminator match\\n\\t\\treEnd.lastIndex = this.parser.pos;\\n\\t\\tmatch = reEnd.exec(this.parser.source);\\n\\t\\tif(match) {\\n\\t\\t\\tthis.parser.pos = reEnd.lastIndex;\\n\\t\\t\\t// Add a line break if the terminator was a line break\\n\\t\\t\\tif(match[2]) {\\n\\t\\t\\t\\ttree.push({type: \\\"element\\\", tag: \\\"br\\\"});\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} while(match && !match[1]);\\n\\t// Return the nodes\\n\\treturn tree;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/heading.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/heading.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/heading.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text block rule for headings\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"heading\\\";\\nexports.types = {block: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /(!{1,6})/mg;\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\t// Get all the details of the match\\n\\tvar headingLevel = this.match[1].length;\\n\\t// Move past the !s\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Parse any classes, whitespace and then the heading itself\\n\\tvar classes = this.parser.parseClasses();\\n\\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\\n\\tvar tree = this.parser.parseInlineRun(/(\\\\r?\\\\n)/mg);\\n\\t// Return the heading\\n\\treturn [{\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"h\\\" + headingLevel, \\n\\t\\tattributes: {\\n\\t\\t\\t\\\"class\\\": {type: \\\"string\\\", value: classes.join(\\\" \\\")}\\n\\t\\t},\\n\\t\\tchildren: tree\\n\\t}];\\n};\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/horizrule.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/horizrule.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/horizrule.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text block rule for rules. For example:\\n\\n```\\n---\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"horizrule\\\";\\nexports.types = {block: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /-{3,}\\\\r?(?:\\\\n|$)/mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\treturn [{type: \\\"element\\\", tag: \\\"hr\\\"}];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/html.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/html.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/html.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki rule for HTML elements and widgets. For example:\\n\\n{{{\\n<aside>\\nThis is an HTML5 aside element\\n</aside>\\n\\n<$slider target=\\\"MyTiddler\\\">\\nThis is a widget invocation\\n</$slider>\\n\\n}}}\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"html\\\";\\nexports.types = {inline: true, block: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n};\\n\\nexports.findNextMatch = function(startPos) {\\n\\t// Find the next tag\\n\\tthis.nextTag = this.findNextTag(this.parser.source,startPos,{\\n\\t\\trequireLineBreak: this.is.block\\n\\t});\\n\\treturn this.nextTag ? this.nextTag.start : undefined;\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\t// Retrieve the most recent match so that recursive calls don't overwrite it\\n\\tvar tag = this.nextTag;\\n\\tthis.nextTag = null;\\n\\t// Advance the parser position to past the tag\\n\\tthis.parser.pos = tag.end;\\n\\t// Check for an immediately following double linebreak\\n\\tvar hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\\\S\\\\n\\\\r]*\\\\r?\\\\n(?:[^\\\\S\\\\n\\\\r]*\\\\r?\\\\n|$))/g);\\n\\t// Set whether we're in block mode\\n\\ttag.isBlock = this.is.block || hasLineBreak;\\n\\t// Parse the body if we need to\\n\\tif(!tag.isSelfClosing && $tw.config.htmlVoidElements.indexOf(tag.tag) === -1) {\\n\\t\\tvar reEndString = \\\"</\\\" + $tw.utils.escapeRegExp(tag.tag) + \\\">\\\";\\n\\t\\tif(hasLineBreak) {\\n\\t\\t\\ttag.children = this.parser.parseBlocks(reEndString);\\n\\t\\t} else {\\n\\t\\t\\tvar reEnd = new RegExp(\\\"(\\\" + reEndString + \\\")\\\",\\\"mg\\\");\\n\\t\\t\\ttag.children = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\\n\\t\\t}\\n\\t}\\n\\t// Return the tag\\n\\treturn [tag];\\n};\\n\\n/*\\nLook for an HTML tag. Returns null if not found, otherwise returns {type: \\\"element\\\", name:, attributes: {}, orderedAttributes: [], isSelfClosing:, start:, end:,}\\n*/\\nexports.parseTag = function(source,pos,options) {\\n\\toptions = options || {};\\n\\tvar token,\\n\\t\\tnode = {\\n\\t\\t\\ttype: \\\"element\\\",\\n\\t\\t\\tstart: pos,\\n\\t\\t\\tattributes: {},\\n\\t\\t\\torderedAttributes: []\\n\\t\\t};\\n\\t// Define our regexps\\n\\tvar reTagName = /([a-zA-Z0-9\\\\-\\\\$\\\\.]+)/g;\\n\\t// Skip whitespace\\n\\tpos = $tw.utils.skipWhiteSpace(source,pos);\\n\\t// Look for a less than sign\\n\\ttoken = $tw.utils.parseTokenString(source,pos,\\\"<\\\");\\n\\tif(!token) {\\n\\t\\treturn null;\\n\\t}\\n\\tpos = token.end;\\n\\t// Get the tag name\\n\\ttoken = $tw.utils.parseTokenRegExp(source,pos,reTagName);\\n\\tif(!token) {\\n\\t\\treturn null;\\n\\t}\\n\\tnode.tag = token.match[1];\\n\\tif(node.tag.charAt(0) === \\\"$\\\") {\\n\\t\\tnode.type = node.tag.substr(1);\\n\\t}\\n\\tpos = token.end;\\n\\t// Check that the tag is terminated by a space, / or >\\n\\tif(!$tw.utils.parseWhiteSpace(source,pos) && !(source.charAt(pos) === \\\"/\\\") && !(source.charAt(pos) === \\\">\\\") ) {\\n\\t\\treturn null;\\n\\t}\\n\\t// Process attributes\\n\\tvar attribute = $tw.utils.parseAttribute(source,pos);\\n\\twhile(attribute) {\\n\\t\\tnode.orderedAttributes.push(attribute);\\n\\t\\tnode.attributes[attribute.name] = attribute;\\n\\t\\tpos = attribute.end;\\n\\t\\t// Get the next attribute\\n\\t\\tattribute = $tw.utils.parseAttribute(source,pos);\\n\\t}\\n\\t// Skip whitespace\\n\\tpos = $tw.utils.skipWhiteSpace(source,pos);\\n\\t// Look for a closing slash\\n\\ttoken = $tw.utils.parseTokenString(source,pos,\\\"/\\\");\\n\\tif(token) {\\n\\t\\tpos = token.end;\\n\\t\\tnode.isSelfClosing = true;\\n\\t}\\n\\t// Look for a greater than sign\\n\\ttoken = $tw.utils.parseTokenString(source,pos,\\\">\\\");\\n\\tif(!token) {\\n\\t\\treturn null;\\n\\t}\\n\\tpos = token.end;\\n\\t// Check for a required line break\\n\\tif(options.requireLineBreak) {\\n\\t\\ttoken = $tw.utils.parseTokenRegExp(source,pos,/([^\\\\S\\\\n\\\\r]*\\\\r?\\\\n(?:[^\\\\S\\\\n\\\\r]*\\\\r?\\\\n|$))/g);\\n\\t\\tif(!token) {\\n\\t\\t\\treturn null;\\n\\t\\t}\\n\\t}\\n\\t// Update the end position\\n\\tnode.end = pos;\\n\\treturn node;\\n};\\n\\nexports.findNextTag = function(source,pos,options) {\\n\\t// A regexp for finding candidate HTML tags\\n\\tvar reLookahead = /<([a-zA-Z\\\\-\\\\$\\\\.]+)/g;\\n\\t// Find the next candidate\\n\\treLookahead.lastIndex = pos;\\n\\tvar match = reLookahead.exec(source);\\n\\twhile(match) {\\n\\t\\t// Try to parse the candidate as a tag\\n\\t\\tvar tag = this.parseTag(source,match.index,options);\\n\\t\\t// Return success\\n\\t\\tif(tag && this.isLegalTag(tag)) {\\n\\t\\t\\treturn tag;\\n\\t\\t}\\n\\t\\t// Look for the next match\\n\\t\\treLookahead.lastIndex = match.index + 1;\\n\\t\\tmatch = reLookahead.exec(source);\\n\\t}\\n\\t// Failed\\n\\treturn null;\\n};\\n\\nexports.isLegalTag = function(tag) {\\n\\t// Widgets are always OK\\n\\tif(tag.type !== \\\"element\\\") {\\n\\t\\treturn true;\\n\\t// If it's an HTML tag that starts with a dash then it's not legal\\n\\t} else if(tag.tag.charAt(0) === \\\"-\\\") {\\n\\t\\treturn false;\\n\\t} else {\\n\\t\\t// Otherwise it's OK\\n\\t\\treturn true;\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/image.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/image.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/image.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for embedding images. For example:\\n\\n```\\n[img[https://tiddlywiki.com/fractalveg.jpg]]\\n[img width=23 height=24 [https://tiddlywiki.com/fractalveg.jpg]]\\n[img width={{!!width}} height={{!!height}} [https://tiddlywiki.com/fractalveg.jpg]]\\n[img[Description of image|https://tiddlywiki.com/fractalveg.jpg]]\\n[img[TiddlerTitle]]\\n[img[Description of image|TiddlerTitle]]\\n```\\n\\nGenerates the `<$image>` widget.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"image\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n};\\n\\nexports.findNextMatch = function(startPos) {\\n\\t// Find the next tag\\n\\tthis.nextImage = this.findNextImage(this.parser.source,startPos);\\n\\treturn this.nextImage ? this.nextImage.start : undefined;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.nextImage.end;\\n\\tvar node = {\\n\\t\\ttype: \\\"image\\\",\\n\\t\\tattributes: this.nextImage.attributes\\n\\t};\\n\\treturn [node];\\n};\\n\\n/*\\nFind the next image from the current position\\n*/\\nexports.findNextImage = function(source,pos) {\\n\\t// A regexp for finding candidate HTML tags\\n\\tvar reLookahead = /(\\\\[img)/g;\\n\\t// Find the next candidate\\n\\treLookahead.lastIndex = pos;\\n\\tvar match = reLookahead.exec(source);\\n\\twhile(match) {\\n\\t\\t// Try to parse the candidate as a tag\\n\\t\\tvar tag = this.parseImage(source,match.index);\\n\\t\\t// Return success\\n\\t\\tif(tag) {\\n\\t\\t\\treturn tag;\\n\\t\\t}\\n\\t\\t// Look for the next match\\n\\t\\treLookahead.lastIndex = match.index + 1;\\n\\t\\tmatch = reLookahead.exec(source);\\n\\t}\\n\\t// Failed\\n\\treturn null;\\n};\\n\\n/*\\nLook for an image at the specified position. Returns null if not found, otherwise returns {type: \\\"image\\\", attributes: [], isSelfClosing:, start:, end:,}\\n*/\\nexports.parseImage = function(source,pos) {\\n\\tvar token,\\n\\t\\tnode = {\\n\\t\\t\\ttype: \\\"image\\\",\\n\\t\\t\\tstart: pos,\\n\\t\\t\\tattributes: {}\\n\\t\\t};\\n\\t// Skip whitespace\\n\\tpos = $tw.utils.skipWhiteSpace(source,pos);\\n\\t// Look for the `[img`\\n\\ttoken = $tw.utils.parseTokenString(source,pos,\\\"[img\\\");\\n\\tif(!token) {\\n\\t\\treturn null;\\n\\t}\\n\\tpos = token.end;\\n\\t// Skip whitespace\\n\\tpos = $tw.utils.skipWhiteSpace(source,pos);\\n\\t// Process attributes\\n\\tif(source.charAt(pos) !== \\\"[\\\") {\\n\\t\\tvar attribute = $tw.utils.parseAttribute(source,pos);\\n\\t\\twhile(attribute) {\\n\\t\\t\\tnode.attributes[attribute.name] = attribute;\\n\\t\\t\\tpos = attribute.end;\\n\\t\\t\\tpos = $tw.utils.skipWhiteSpace(source,pos);\\n\\t\\t\\tif(source.charAt(pos) !== \\\"[\\\") {\\n\\t\\t\\t\\t// Get the next attribute\\n\\t\\t\\t\\tattribute = $tw.utils.parseAttribute(source,pos);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tattribute = null;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// Skip whitespace\\n\\tpos = $tw.utils.skipWhiteSpace(source,pos);\\n\\t// Look for the `[` after the attributes\\n\\ttoken = $tw.utils.parseTokenString(source,pos,\\\"[\\\");\\n\\tif(!token) {\\n\\t\\treturn null;\\n\\t}\\n\\tpos = token.end;\\n\\t// Skip whitespace\\n\\tpos = $tw.utils.skipWhiteSpace(source,pos);\\n\\t// Get the source up to the terminating `]]`\\n\\ttoken = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\\\\]]*?)\\\\|)?([^\\\\]]+?)\\\\]\\\\]/g);\\n\\tif(!token) {\\n\\t\\treturn null;\\n\\t}\\n\\tpos = token.end;\\n\\tif(token.match[1]) {\\n\\t\\tnode.attributes.tooltip = {type: \\\"string\\\", value: token.match[1].trim()};\\n\\t}\\n\\tnode.attributes.source = {type: \\\"string\\\", value: (token.match[2] || \\\"\\\").trim()};\\n\\t// Update the end position\\n\\tnode.end = pos;\\n\\treturn node;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/import.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/import.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/import.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki pragma rule for importing variable definitions\\n\\n```\\n\\\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"import\\\";\\nexports.types = {pragma: true};\\n\\n/*\\nInstantiate parse rule\\n*/\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\\\\\import[^\\\\S\\\\n]/mg;\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\tvar self = this;\\n\\t// Move past the pragma invocation\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Parse the filter terminated by a line break\\n\\tvar reMatch = /(.*)(?:$|\\\\r?\\\\n)/mg;\\n\\treMatch.lastIndex = this.parser.pos;\\n\\tvar match = reMatch.exec(this.parser.source);\\n\\tthis.parser.pos = reMatch.lastIndex;\\n\\t// Parse tree nodes to return\\n\\treturn [{\\n\\t\\ttype: \\\"importvariables\\\",\\n\\t\\tattributes: {\\n\\t\\t\\tfilter: {type: \\\"string\\\", value: match[1]}\\n\\t\\t},\\n\\t\\tchildren: []\\n\\t}];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/list.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/list.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/list.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text block rule for lists. For example:\\n\\n```\\n* This is an unordered list\\n* It has two items\\n\\n# This is a numbered list\\n## With a subitem\\n# And a third item\\n\\n; This is a term that is being defined\\n: This is the definition of that term\\n```\\n\\nNote that lists can be nested arbitrarily:\\n\\n```\\n#** One\\n#* Two\\n#** Three\\n#**** Four\\n#**# Five\\n#**## Six\\n## Seven\\n### Eight\\n## Nine\\n```\\n\\nA CSS class can be applied to a list item as follows:\\n\\n```\\n* List item one\\n*.active List item two has the class `active`\\n* List item three\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"list\\\";\\nexports.types = {block: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /([\\\\*#;:>]+)/mg;\\n};\\n\\nvar listTypes = {\\n\\t\\\"*\\\": {listTag: \\\"ul\\\", itemTag: \\\"li\\\"},\\n\\t\\\"#\\\": {listTag: \\\"ol\\\", itemTag: \\\"li\\\"},\\n\\t\\\";\\\": {listTag: \\\"dl\\\", itemTag: \\\"dt\\\"},\\n\\t\\\":\\\": {listTag: \\\"dl\\\", itemTag: \\\"dd\\\"},\\n\\t\\\">\\\": {listTag: \\\"blockquote\\\", itemTag: \\\"div\\\"}\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\t// Array of parse tree nodes for the previous row of the list\\n\\tvar listStack = [];\\n\\t// Cycle through the items in the list\\n\\twhile(true) {\\n\\t\\t// Match the list marker\\n\\t\\tvar reMatch = /([\\\\*#;:>]+)/mg;\\n\\t\\treMatch.lastIndex = this.parser.pos;\\n\\t\\tvar match = reMatch.exec(this.parser.source);\\n\\t\\tif(!match || match.index !== this.parser.pos) {\\n\\t\\t\\tbreak;\\n\\t\\t}\\n\\t\\t// Check whether the list type of the top level matches\\n\\t\\tvar listInfo = listTypes[match[0].charAt(0)];\\n\\t\\tif(listStack.length > 0 && listStack[0].tag !== listInfo.listTag) {\\n\\t\\t\\tbreak;\\n\\t\\t}\\n\\t\\t// Move past the list marker\\n\\t\\tthis.parser.pos = match.index + match[0].length;\\n\\t\\t// Walk through the list markers for the current row\\n\\t\\tfor(var t=0; t<match[0].length; t++) {\\n\\t\\t\\tlistInfo = listTypes[match[0].charAt(t)];\\n\\t\\t\\t// Remove any stacked up element if we can't re-use it because the list type doesn't match\\n\\t\\t\\tif(listStack.length > t && listStack[t].tag !== listInfo.listTag) {\\n\\t\\t\\t\\tlistStack.splice(t,listStack.length - t);\\n\\t\\t\\t}\\n\\t\\t\\t// Construct the list element or reuse the previous one at this level\\n\\t\\t\\tif(listStack.length <= t) {\\n\\t\\t\\t\\tvar listElement = {type: \\\"element\\\", tag: listInfo.listTag, children: [\\n\\t\\t\\t\\t\\t{type: \\\"element\\\", tag: listInfo.itemTag, children: []}\\n\\t\\t\\t\\t]};\\n\\t\\t\\t\\t// Link this list element into the last child item of the parent list item\\n\\t\\t\\t\\tif(t) {\\n\\t\\t\\t\\t\\tvar prevListItem = listStack[t-1].children[listStack[t-1].children.length-1];\\n\\t\\t\\t\\t\\tprevListItem.children.push(listElement);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// Save this element in the stack\\n\\t\\t\\t\\tlistStack[t] = listElement;\\n\\t\\t\\t} else if(t === (match[0].length - 1)) {\\n\\t\\t\\t\\tlistStack[t].children.push({type: \\\"element\\\", tag: listInfo.itemTag, children: []});\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tif(listStack.length > match[0].length) {\\n\\t\\t\\tlistStack.splice(match[0].length,listStack.length - match[0].length);\\n\\t\\t}\\n\\t\\t// Process the body of the list item into the last list item\\n\\t\\tvar lastListChildren = listStack[listStack.length-1].children,\\n\\t\\t\\tlastListItem = lastListChildren[lastListChildren.length-1],\\n\\t\\t\\tclasses = this.parser.parseClasses();\\n\\t\\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\\n\\t\\tvar tree = this.parser.parseInlineRun(/(\\\\r?\\\\n)/mg);\\n\\t\\tlastListItem.children.push.apply(lastListItem.children,tree);\\n\\t\\tif(classes.length > 0) {\\n\\t\\t\\t$tw.utils.addClassToParseTreeNode(lastListItem,classes.join(\\\" \\\"));\\n\\t\\t}\\n\\t\\t// Consume any whitespace following the list item\\n\\t\\tthis.parser.skipWhitespace();\\n\\t}\\n\\t// Return the root element of the list\\n\\treturn [listStack[0]];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/macrocallblock.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/macrocallblock.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallblock.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki rule for block macro calls\\n\\n```\\n<<name value value2>>\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"macrocallblock\\\";\\nexports.types = {block: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n};\\n\\nexports.findNextMatch = function(startPos) {\\n\\tvar nextStart = startPos;\\n\\t// Try parsing at all possible macrocall openers until we match\\n\\twhile((nextStart = this.parser.source.indexOf(\\\"<<\\\",nextStart)) >= 0) {\\n\\t\\tvar nextCall = $tw.utils.parseMacroInvocationAsTransclusion(this.parser.source,nextStart);\\n\\t\\tif(nextCall) {\\n\\t\\t\\tvar c = this.parser.source.charAt(nextCall.end);\\n\\t\\t\\t// Ensure EOL after parsed macro\\n\\t\\t\\t// If we didn't need to support IE, we'd just use /(?:\\\\r?\\\\n|$)/ym\\n\\t\\t\\tif ((c === \\\"\\\") || (c === \\\"\\\\n\\\") || ((c === \\\"\\\\r\\\") && this.parser.source.charAt(nextCall.end+1) === \\\"\\\\n\\\")) {\\n\\t\\t\\t\\tthis.nextCall = nextCall;\\n\\t\\t\\t\\treturn nextStart;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tnextStart += 2;\\n\\t}\\n\\treturn undefined;\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\tvar call = this.nextCall;\\n\\tcall.isBlock = true;\\n\\tthis.nextCall = null;\\n\\tthis.parser.pos = call.end;\\n\\treturn [call];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/macrocallinline.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/macrocallinline.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallinline.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki rule for macro calls\\n\\n```\\n<<name value value2>>\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"macrocallinline\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n};\\n\\nexports.findNextMatch = function(startPos) {\\n\\tvar nextStart = startPos;\\n\\t// Try parsing at all possible macrocall openers until we match\\n\\twhile((nextStart = this.parser.source.indexOf(\\\"<<\\\",nextStart)) >= 0) {\\n\\t\\tthis.nextCall = $tw.utils.parseMacroInvocationAsTransclusion(this.parser.source,nextStart);\\n\\t\\tif(this.nextCall) {\\n\\t\\t\\treturn nextStart;\\n\\t\\t}\\n\\t\\tnextStart += 2;\\n\\t}\\n\\treturn undefined;\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\tvar call = this.nextCall;\\n\\tthis.nextCall = null;\\n\\tthis.parser.pos = call.end;\\n\\treturn [call];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/macrodef.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/macrodef.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrodef.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki pragma rule for macro definitions\\n\\n```\\n\\\\define name(param:defaultvalue,param2:defaultvalue)\\ndefinition text, including $param$ markers\\n\\\\end\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"macrodef\\\";\\nexports.types = {pragma: true};\\n\\n/*\\nInstantiate parse rule\\n*/\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\\\\\define\\\\s+([^(\\\\s]+)\\\\(\\\\s*([^)]*)\\\\)(\\\\s*\\\\r?\\\\n)?/mg;\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\t// Move past the macro name and parameters\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Parse the parameters\\n\\tvar paramString = this.match[2],\\n\\t\\tparams = [];\\n\\tif(paramString !== \\\"\\\") {\\n\\t\\tvar reParam = /\\\\s*([A-Za-z0-9\\\\-_]+)(?:\\\\s*:\\\\s*(?:\\\"\\\"\\\"([\\\\s\\\\S]*?)\\\"\\\"\\\"|\\\"([^\\\"]*)\\\"|'([^']*)'|\\\\[\\\\[([^\\\\]]*)\\\\]\\\\]|([^\\\"'\\\\s]+)))?/mg,\\n\\t\\t\\tparamMatch = reParam.exec(paramString);\\n\\t\\twhile(paramMatch) {\\n\\t\\t\\t// Save the parameter details\\n\\t\\t\\tvar paramInfo = {name: paramMatch[1]},\\n\\t\\t\\t\\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6];\\n\\t\\t\\tif(defaultValue) {\\n\\t\\t\\t\\tparamInfo[\\\"default\\\"] = defaultValue;\\n\\t\\t\\t}\\n\\t\\t\\tparams.push(paramInfo);\\n\\t\\t\\t// Look for the next parameter\\n\\t\\t\\tparamMatch = reParam.exec(paramString);\\n\\t\\t}\\n\\t}\\n\\t// Is this a multiline definition?\\n\\tvar reEnd;\\n\\tif(this.match[3]) {\\n\\t\\t// If so, the end of the body is marked with \\\\end\\n\\t\\treEnd = new RegExp(\\\"(\\\\\\\\r?\\\\\\\\n[^\\\\\\\\S\\\\\\\\n\\\\\\\\r]*\\\\\\\\\\\\\\\\end[^\\\\\\\\S\\\\\\\\n\\\\\\\\r]*(?:\\\" + $tw.utils.escapeRegExp(this.match[1]) + \\\")?(?:$|\\\\\\\\r?\\\\\\\\n))\\\",\\\"mg\\\");\\n\\t} else {\\n\\t\\t// Otherwise, the end of the definition is marked by the end of the line\\n\\t\\treEnd = /($|\\\\r?\\\\n)/mg;\\n\\t\\t// Move past any whitespace\\n\\t\\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\\n\\t}\\n\\t// Find the end of the definition\\n\\treEnd.lastIndex = this.parser.pos;\\n\\tvar text,\\n\\t\\tendMatch = reEnd.exec(this.parser.source);\\n\\tif(endMatch) {\\n\\t\\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\\n\\t\\tthis.parser.pos = endMatch.index + endMatch[0].length;\\n\\t} else {\\n\\t\\t// We didn't find the end of the definition, so we'll make it blank\\n\\t\\ttext = \\\"\\\";\\n\\t}\\n\\t// Save the macro definition\\n\\tvar parseTreeNodes = [{\\n\\t\\ttype: \\\"set\\\",\\n\\t\\tattributes: {},\\n\\t\\tchildren: [],\\n\\t\\tparams: params,\\n\\t\\tisMacroDefinition: true\\n\\t}];\\n\\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\\\"name\\\",this.match[1]);\\n\\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\\\"value\\\",text);\\n\\treturn parseTreeNodes;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/parameters.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/parameters.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/parameters.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki pragma rule for parameter definitions\\n\\n```\\n\\\\parameters(param:defaultvalue,param2:defaultvalue)\\ndefinition text\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"parameters\\\";\\nexports.types = {pragma: true};\\n\\n/*\\nInstantiate parse rule\\n*/\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\\\\\parameters\\\\s*\\\\(([^)]*)\\\\)(\\\\s*\\\\r?\\\\n)?/mg;\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\t// Move past the macro name and parameters\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Parse the parameters\\n\\tvar params = $tw.utils.parseParameterDefinition(this.match[1]);\\n\\tvar attributes = Object.create(null),\\n\\t\\torderedAttributes = [];\\n\\t$tw.utils.each(params,function(param) {\\n\\t\\tvar name = param.name;\\n\\t\\t// Parameter names starting with dollar must be escaped to double dollars for the parameters widget\\n\\t\\tif(name.charAt(0) === \\\"$\\\") {\\n\\t\\t\\tname = \\\"$\\\" + name;\\n\\t\\t}\\n\\t\\tvar attribute = {name: name, type: \\\"string\\\", value: param[\\\"default\\\"] || \\\"\\\"};\\n\\t\\tattributes[name] = attribute;\\n\\t\\torderedAttributes.push(attribute);\\n\\t});\\n\\t// Save the macro definition\\n\\treturn [{\\n\\t\\ttype: \\\"parameters\\\",\\n\\t\\tattributes: attributes,\\n\\t\\torderedAttributes: orderedAttributes\\n\\t}];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/parsermode.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/parsermode.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/parsermode.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki pragma rule for parser mode specifications\\n\\n```\\n\\\\parsermode block\\n\\\\parsermode inline\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"parsermode\\\";\\nexports.types = {pragma: true};\\n\\n/*\\nInstantiate parse rule\\n*/\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\\\\\parsermode[^\\\\S\\\\n]/mg;\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\t// Move past the pragma invocation\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Parse whitespace delimited tokens terminated by a line break\\n\\tvar reMatch = /[^\\\\S\\\\n]*(\\\\S+)|(\\\\r?\\\\n)/mg,\\n\\t\\tparserMode = undefined;\\n\\treMatch.lastIndex = this.parser.pos;\\n\\tvar match = reMatch.exec(this.parser.source);\\n\\twhile(match && match.index === this.parser.pos) {\\n\\t\\tthis.parser.pos = reMatch.lastIndex;\\n\\t\\t// Exit if we've got the line break\\n\\t\\tif(match[2]) {\\n\\t\\t\\tbreak;\\n\\t\\t}\\n\\t\\t// Process the token\\n\\t\\tif(match[1]) {\\n\\t\\t\\tparserMode = match[1];\\n\\t\\t}\\n\\t\\t// Match the next token\\n\\t\\tmatch = reMatch.exec(this.parser.source);\\n\\t}\\n\\t// Process the tokens\\n\\tif(parserMode !== undefined) {\\n\\t\\tif(parserMode === \\\"block\\\") {\\n\\t\\t\\tthis.parser.parseAsInline = false;\\n\\t\\t} else if(parserMode === \\\"inline\\\") {\\n\\t\\t\\tthis.parser.parseAsInline = true;\\n\\t\\t}\\n\\t}\\n\\t// No parse tree nodes to return\\n\\treturn [];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/prettyextlink.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/prettyextlink.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettyextlink.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for external links. For example:\\n\\n```\\n[ext[https://tiddlywiki.com/fractalveg.jpg]]\\n[ext[Tooltip|https://tiddlywiki.com/fractalveg.jpg]]\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"prettyextlink\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n};\\n\\nexports.findNextMatch = function(startPos) {\\n\\t// Find the next tag\\n\\tthis.nextLink = this.findNextLink(this.parser.source,startPos);\\n\\treturn this.nextLink ? this.nextLink.start : undefined;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.nextLink.end;\\n\\treturn [this.nextLink];\\n};\\n\\n/*\\nFind the next link from the current position\\n*/\\nexports.findNextLink = function(source,pos) {\\n\\t// A regexp for finding candidate links\\n\\tvar reLookahead = /(\\\\[ext\\\\[)/g;\\n\\t// Find the next candidate\\n\\treLookahead.lastIndex = pos;\\n\\tvar match = reLookahead.exec(source);\\n\\twhile(match) {\\n\\t\\t// Try to parse the candidate as a link\\n\\t\\tvar link = this.parseLink(source,match.index);\\n\\t\\t// Return success\\n\\t\\tif(link) {\\n\\t\\t\\treturn link;\\n\\t\\t}\\n\\t\\t// Look for the next match\\n\\t\\treLookahead.lastIndex = match.index + 1;\\n\\t\\tmatch = reLookahead.exec(source);\\n\\t}\\n\\t// Failed\\n\\treturn null;\\n};\\n\\n/*\\nLook for an link at the specified position. Returns null if not found, otherwise returns {type: \\\"element\\\", tag: \\\"a\\\", attributes: [], isSelfClosing:, start:, end:,}\\n*/\\nexports.parseLink = function(source,pos) {\\n\\tvar token,\\n\\t\\ttextNode = {\\n\\t\\t\\ttype: \\\"text\\\"\\n\\t\\t},\\n\\t\\tnode = {\\n\\t\\t\\ttype: \\\"element\\\",\\n\\t\\t\\ttag: \\\"a\\\",\\n\\t\\t\\tstart: pos,\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\t\\\"class\\\": {type: \\\"string\\\", value: \\\"tc-tiddlylink-external\\\"},\\n\\t\\t\\t},\\n\\t\\t\\tchildren: [textNode]\\n\\t\\t};\\n\\t// Skip whitespace\\n\\tpos = $tw.utils.skipWhiteSpace(source,pos);\\n\\t// Look for the `[ext[`\\n\\ttoken = $tw.utils.parseTokenString(source,pos,\\\"[ext[\\\");\\n\\tif(!token) {\\n\\t\\treturn null;\\n\\t}\\n\\tpos = token.end;\\n\\t// Look ahead for the terminating `]]`\\n\\tvar closePos = source.indexOf(\\\"]]\\\",pos);\\n\\tif(closePos === -1) {\\n\\t\\treturn null;\\n\\t}\\n\\t// Look for a `|` separating the tooltip\\n\\tvar splitPos = source.indexOf(\\\"|\\\",pos);\\n\\tif(splitPos === -1 || splitPos > closePos) {\\n\\t\\tsplitPos = null;\\n\\t}\\n\\t// Pull out the tooltip and URL\\n\\tvar tooltip, URL;\\n\\tif(splitPos) {\\n\\t\\tURL = source.substring(splitPos + 1,closePos).trim();\\n\\t\\ttextNode.text = source.substring(pos,splitPos).trim();\\n\\t} else {\\n\\t\\tURL = source.substring(pos,closePos).trim();\\n\\t\\ttextNode.text = URL;\\n\\t}\\n\\tnode.attributes.href = {type: \\\"string\\\", value: URL};\\n\\tnode.attributes.target = {type: \\\"string\\\", value: \\\"_blank\\\"};\\n\\tnode.attributes.rel = {type: \\\"string\\\", value: \\\"noopener noreferrer\\\"};\\n\\t// Update the end position\\n\\tnode.end = closePos + 2;\\n\\treturn node;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/prettylink.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/prettylink.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettylink.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for pretty links. For example:\\n\\n```\\n[[Introduction]]\\n\\n[[Link description|TiddlerTitle]]\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"prettylink\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\[\\\\[(.*?)(?:\\\\|(.*?))?\\\\]\\\\]/mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Process the link\\n\\tvar text = this.match[1],\\n\\t\\tlink = this.match[2] || text;\\n\\tif($tw.utils.isLinkExternal(link)) {\\n\\t\\treturn [{\\n\\t\\t\\ttype: \\\"element\\\",\\n\\t\\t\\ttag: \\\"a\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\thref: {type: \\\"string\\\", value: link},\\n\\t\\t\\t\\t\\\"class\\\": {type: \\\"string\\\", value: \\\"tc-tiddlylink-external\\\"},\\n\\t\\t\\t\\ttarget: {type: \\\"string\\\", value: \\\"_blank\\\"},\\n\\t\\t\\t\\trel: {type: \\\"string\\\", value: \\\"noopener noreferrer\\\"}\\n\\t\\t\\t},\\n\\t\\t\\tchildren: [{\\n\\t\\t\\t\\ttype: \\\"text\\\", text: text\\n\\t\\t\\t}]\\n\\t\\t}];\\n\\t} else {\\n\\t\\treturn [{\\n\\t\\t\\ttype: \\\"link\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\tto: {type: \\\"string\\\", value: link}\\n\\t\\t\\t},\\n\\t\\t\\tchildren: [{\\n\\t\\t\\t\\ttype: \\\"text\\\", text: text\\n\\t\\t\\t}]\\n\\t\\t}];\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/quoteblock.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/quoteblock.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/quoteblock.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text rule for quote blocks. For example:\\n\\n```\\n\\t<<<.optionalClass(es) optional cited from\\n\\ta quote\\n\\t<<<\\n\\t\\n\\t<<<.optionalClass(es)\\n\\ta quote\\n\\t<<< optional cited from\\n```\\n\\nQuotes can be quoted by putting more <s\\n\\n```\\n\\t<<<\\n\\tQuote Level 1\\n\\t\\n\\t<<<<\\n\\tQuoteLevel 2\\n\\t<<<<\\n\\t\\n\\t<<<\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"quoteblock\\\";\\nexports.types = {block: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /(<<<+)/mg;\\n};\\n\\nexports.parse = function() {\\n\\tvar classes = [\\\"tc-quote\\\"];\\n\\t// Get all the details of the match\\n\\tvar reEndString = \\\"^\\\" + this.match[1] + \\\"(?!<)\\\";\\n\\t// Move past the <s\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t\\n\\t// Parse any classes, whitespace and then the optional cite itself\\n\\tclasses.push.apply(classes, this.parser.parseClasses());\\n\\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\\n\\tvar cite = this.parser.parseInlineRun(/(\\\\r?\\\\n)/mg);\\n\\t// before handling the cite, parse the body of the quote\\n\\tvar tree= this.parser.parseBlocks(reEndString);\\n\\t// If we got a cite, put it before the text\\n\\tif(cite.length > 0) {\\n\\t\\ttree.unshift({\\n\\t\\t\\ttype: \\\"element\\\",\\n\\t\\t\\ttag: \\\"cite\\\",\\n\\t\\t\\tchildren: cite\\n\\t\\t});\\n\\t}\\n\\t// Parse any optional cite\\n\\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\\n\\tcite = this.parser.parseInlineRun(/(\\\\r?\\\\n)/mg);\\n\\t// If we got a cite, push it\\n\\tif(cite.length > 0) {\\n\\t\\ttree.push({\\n\\t\\t\\ttype: \\\"element\\\",\\n\\t\\t\\ttag: \\\"cite\\\",\\n\\t\\t\\tchildren: cite\\n\\t\\t});\\n\\t}\\n\\t// Return the blockquote element\\n\\treturn [{\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"blockquote\\\",\\n\\t\\tattributes: {\\n\\t\\t\\tclass: { type: \\\"string\\\", value: classes.join(\\\" \\\") },\\n\\t\\t},\\n\\t\\tchildren: tree\\n\\t}];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/rules.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/rules.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/rules.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki pragma rule for rules specifications\\n\\n```\\n\\\\rules except ruleone ruletwo rulethree\\n\\\\rules only ruleone ruletwo rulethree\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"rules\\\";\\nexports.types = {pragma: true};\\n\\n/*\\nInstantiate parse rule\\n*/\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\\\\\rules[^\\\\S\\\\n]/mg;\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\t// Move past the pragma invocation\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Parse whitespace delimited tokens terminated by a line break\\n\\tvar reMatch = /[^\\\\S\\\\n]*(\\\\S+)|(\\\\r?\\\\n)/mg,\\n\\t\\ttokens = [];\\n\\treMatch.lastIndex = this.parser.pos;\\n\\tvar match = reMatch.exec(this.parser.source);\\n\\twhile(match && match.index === this.parser.pos) {\\n\\t\\tthis.parser.pos = reMatch.lastIndex;\\n\\t\\t// Exit if we've got the line break\\n\\t\\tif(match[2]) {\\n\\t\\t\\tbreak;\\n\\t\\t}\\n\\t\\t// Process the token\\n\\t\\tif(match[1]) {\\n\\t\\t\\ttokens.push(match[1]);\\n\\t\\t}\\n\\t\\t// Match the next token\\n\\t\\tmatch = reMatch.exec(this.parser.source);\\n\\t}\\n\\t// Process the tokens\\n\\tif(tokens.length > 0) {\\n\\t\\tthis.parser.amendRules(tokens[0],tokens.slice(1));\\n\\t}\\n\\t// No parse tree nodes to return\\n\\treturn [];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/styleblock.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/styleblock.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleblock.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text block rule for assigning styles and classes to paragraphs and other blocks. For example:\\n\\n```\\n@@.myClass\\n@@background-color:red;\\nThis paragraph will have the CSS class `myClass`.\\n\\n* The `<ul>` around this list will also have the class `myClass`\\n* List item 2\\n\\n@@\\n```\\n\\nNote that classes and styles can be mixed subject to the rule that styles must precede classes. For example\\n\\n```\\n@@.myFirstClass.mySecondClass\\n@@width:100px;.myThirdClass\\nThis is a paragraph\\n@@\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"styleblock\\\";\\nexports.types = {block: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /@@((?:[^\\\\.\\\\r\\\\n\\\\s:]+:[^\\\\r\\\\n;]+;)+)?(?:\\\\.([^\\\\r\\\\n\\\\s]+))?\\\\r?\\\\n/mg;\\n};\\n\\nexports.parse = function() {\\n\\tvar reEndString = \\\"^@@(?:\\\\\\\\r?\\\\\\\\n)?\\\";\\n\\tvar classes = [], styles = [];\\n\\tdo {\\n\\t\\t// Get the class and style\\n\\t\\tif(this.match[1]) {\\n\\t\\t\\tstyles.push(this.match[1]);\\n\\t\\t}\\n\\t\\tif(this.match[2]) {\\n\\t\\t\\tclasses.push(this.match[2].split(\\\".\\\").join(\\\" \\\"));\\n\\t\\t}\\n\\t\\t// Move past the match\\n\\t\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t\\t// Look for another line of classes and styles\\n\\t\\tthis.match = this.matchRegExp.exec(this.parser.source);\\n\\t} while(this.match && this.match.index === this.parser.pos);\\n\\t// Parse the body\\n\\tvar tree = this.parser.parseBlocks(reEndString);\\n\\tfor(var t=0; t<tree.length; t++) {\\n\\t\\tif(classes.length > 0) {\\n\\t\\t\\t$tw.utils.addClassToParseTreeNode(tree[t],classes.join(\\\" \\\"));\\n\\t\\t}\\n\\t\\tif(styles.length > 0) {\\n\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(tree[t],\\\"style\\\",styles.join(\\\"\\\"));\\n\\t\\t}\\n\\t}\\n\\treturn tree;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/styleinline.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/styleinline.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleinline.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for assigning styles and classes to inline runs. For example:\\n\\n```\\n@@.myClass This is some text with a class@@\\n@@background-color:red;This is some text with a background colour@@\\n@@width:100px;.myClass This is some text with a class and a width@@\\n```\\n\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"styleinline\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /@@((?:[^\\\\.\\\\r\\\\n\\\\s:]+:[^\\\\r\\\\n;]+;)+)?(\\\\.(?:[^\\\\r\\\\n\\\\s]+)\\\\s+)?/mg;\\n};\\n\\nexports.parse = function() {\\n\\tvar reEnd = /@@/g;\\n\\t// Get the styles and class\\n\\tvar stylesString = this.match[1],\\n\\t\\tclassString = this.match[2] ? this.match[2].split(\\\".\\\").join(\\\" \\\") : undefined;\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Parse the run up to the terminator\\n\\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\\n\\t// Return the classed span\\n\\tvar node = {\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"span\\\",\\n\\t\\tchildren: tree\\n\\t};\\n\\tif(classString) {\\n\\t\\t$tw.utils.addClassToParseTreeNode(node,classString);\\n\\t}\\n\\tif(stylesString) {\\n\\t\\t$tw.utils.addAttributeToParseTreeNode(node,\\\"style\\\",stylesString);\\n\\t}\\n\\tif(!classString && !stylesString) {\\n\\t\\t$tw.utils.addClassToParseTreeNode(node,\\\"tc-inline-style\\\");\\n\\t}\\n\\treturn [node];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/syslink.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/syslink.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/syslink.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for system tiddler links.\\nCan be suppressed preceding them with `~`.\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"syslink\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = new RegExp(\\n\\t\\t\\\"~?\\\\\\\\$:\\\\\\\\/[\\\" +\\n\\t\\t$tw.config.textPrimitives.anyLetter.substr(1,$tw.config.textPrimitives.anyLetter.length - 2) +\\n\\t\\t\\\"\\\\/._-]+\\\",\\n\\t\\t\\\"mg\\\"\\n\\t);\\n};\\n\\nexports.parse = function() {\\n\\tvar match = this.match[0];\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Create the link unless it is suppressed\\n\\tif(match.substr(0,1) === \\\"~\\\") {\\n\\t\\treturn [{type: \\\"text\\\", text: match.substr(1)}];\\n\\t} else {\\n\\t\\treturn [{\\n\\t\\t\\ttype: \\\"link\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\tto: {type: \\\"string\\\", value: match}\\n\\t\\t\\t},\\n\\t\\t\\tchildren: [{\\n\\t\\t\\t\\ttype: \\\"text\\\",\\n\\t\\t\\t\\ttext: match\\n\\t\\t\\t}]\\n\\t\\t}];\\n\\t}\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/table.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/table.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/table.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text block rule for tables.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"table\\\";\\nexports.types = {block: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /^\\\\|(?:[^\\\\n]*)\\\\|(?:[fhck]?)\\\\r?(?:\\\\n|$)/mg;\\n};\\n\\nvar processRow = function(prevColumns) {\\n\\tvar cellRegExp = /(?:\\\\|([^\\\\n\\\\|]*)\\\\|)|(\\\\|[fhck]?\\\\r?(?:\\\\n|$))/mg,\\n\\t\\tcellTermRegExp = /((?:\\\\x20*)\\\\|)/mg,\\n\\t\\ttree = [],\\n\\t\\tcol = 0,\\n\\t\\tcolSpanCount = 1,\\n\\t\\tprevCell,\\n\\t\\tvAlign;\\n\\t// Match a single cell\\n\\tcellRegExp.lastIndex = this.parser.pos;\\n\\tvar cellMatch = cellRegExp.exec(this.parser.source);\\n\\twhile(cellMatch && cellMatch.index === this.parser.pos) {\\n\\t\\tif(cellMatch[1] === \\\"~\\\") {\\n\\t\\t\\t// Rowspan\\n\\t\\t\\tvar last = prevColumns[col];\\n\\t\\t\\tif(last) {\\n\\t\\t\\t\\tlast.rowSpanCount++;\\n\\t\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(last.element,\\\"rowspan\\\",last.rowSpanCount);\\n\\t\\t\\t\\tvAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\\\"valign\\\",\\\"center\\\");\\n\\t\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(last.element,\\\"valign\\\",vAlign);\\n\\t\\t\\t\\tif(colSpanCount > 1) {\\n\\t\\t\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(last.element,\\\"colspan\\\",colSpanCount);\\n\\t\\t\\t\\t\\tcolSpanCount = 1;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t// Move to just before the `|` terminating the cell\\n\\t\\t\\tthis.parser.pos = cellRegExp.lastIndex - 1;\\n\\t\\t} else if(cellMatch[1] === \\\">\\\") {\\n\\t\\t\\t// Colspan\\n\\t\\t\\tcolSpanCount++;\\n\\t\\t\\t// Move to just before the `|` terminating the cell\\n\\t\\t\\tthis.parser.pos = cellRegExp.lastIndex - 1;\\n\\t\\t} else if(cellMatch[1] === \\\"<\\\" && prevCell) {\\n\\t\\t\\tcolSpanCount = 1 + $tw.utils.getAttributeValueFromParseTreeNode(prevCell,\\\"colspan\\\",1);\\n\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(prevCell,\\\"colspan\\\",colSpanCount);\\n\\t\\t\\tcolSpanCount = 1;\\n\\t\\t\\t// Move to just before the `|` terminating the cell\\n\\t\\t\\tthis.parser.pos = cellRegExp.lastIndex - 1;\\n\\t\\t} else if(cellMatch[2]) {\\n\\t\\t\\t// End of row\\n\\t\\t\\tif(prevCell && colSpanCount > 1) {\\n\\t\\t\\t\\tif(prevCell.attributes && prevCell.attributes && prevCell.attributes.colspan) {\\n\\t\\t\\t\\t\\t\\tcolSpanCount += prevCell.attributes.colspan.value;\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tcolSpanCount -= 1;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(prevCell,\\\"colspan\\\",colSpanCount);\\n\\t\\t\\t}\\n\\t\\t\\tthis.parser.pos = cellRegExp.lastIndex - 1;\\n\\t\\t\\tbreak;\\n\\t\\t} else {\\n\\t\\t\\t// For ordinary cells, step beyond the opening `|`\\n\\t\\t\\tthis.parser.pos++;\\n\\t\\t\\t// Look for a space at the start of the cell\\n\\t\\t\\tvar spaceLeft = false;\\n\\t\\t\\tvAlign = null;\\n\\t\\t\\tif(this.parser.source.substr(this.parser.pos).search(/^\\\\^([^\\\\^]|\\\\^\\\\^)/) === 0) {\\n\\t\\t\\t\\tvAlign = \\\"top\\\";\\n\\t\\t\\t} else if(this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/) === 0) {\\n\\t\\t\\t\\tvAlign = \\\"bottom\\\";\\n\\t\\t\\t}\\n\\t\\t\\tif(vAlign) {\\n\\t\\t\\t\\tthis.parser.pos++;\\n\\t\\t\\t}\\n\\t\\t\\tvar chr = this.parser.source.substr(this.parser.pos,1);\\n\\t\\t\\twhile(chr === \\\" \\\") {\\n\\t\\t\\t\\tspaceLeft = true;\\n\\t\\t\\t\\tthis.parser.pos++;\\n\\t\\t\\t\\tchr = this.parser.source.substr(this.parser.pos,1);\\n\\t\\t\\t}\\n\\t\\t\\t// Check whether this is a heading cell\\n\\t\\t\\tvar cell;\\n\\t\\t\\tif(chr === \\\"!\\\") {\\n\\t\\t\\t\\tthis.parser.pos++;\\n\\t\\t\\t\\tcell = {type: \\\"element\\\", tag: \\\"th\\\", children: []};\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tcell = {type: \\\"element\\\", tag: \\\"td\\\", children: []};\\n\\t\\t\\t}\\n\\t\\t\\ttree.push(cell);\\n\\t\\t\\t// Record information about this cell\\n\\t\\t\\tprevCell = cell;\\n\\t\\t\\tprevColumns[col] = {rowSpanCount:1,element:cell};\\n\\t\\t\\t// Check for a colspan\\n\\t\\t\\tif(colSpanCount > 1) {\\n\\t\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(cell,\\\"colspan\\\",colSpanCount);\\n\\t\\t\\t\\tcolSpanCount = 1;\\n\\t\\t\\t}\\n\\t\\t\\t// Parse the cell\\n\\t\\t\\tcell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});\\n\\t\\t\\t// Set the alignment for the cell\\n\\t\\t\\tif(vAlign) {\\n\\t\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(cell,\\\"valign\\\",vAlign);\\n\\t\\t\\t}\\n\\t\\t\\tif(this.parser.source.substr(this.parser.pos - 2,1) === \\\" \\\") { // spaceRight\\n\\t\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(cell,\\\"align\\\",spaceLeft ? \\\"center\\\" : \\\"left\\\");\\n\\t\\t\\t} else if(spaceLeft) {\\n\\t\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(cell,\\\"align\\\",\\\"right\\\");\\n\\t\\t\\t}\\n\\t\\t\\t// Move back to the closing `|`\\n\\t\\t\\tthis.parser.pos--;\\n\\t\\t}\\n\\t\\tcol++;\\n\\t\\tcellRegExp.lastIndex = this.parser.pos;\\n\\t\\tcellMatch = cellRegExp.exec(this.parser.source);\\n\\t}\\n\\treturn tree;\\n};\\n\\nexports.parse = function() {\\n\\tvar rowContainerTypes = {\\\"c\\\":\\\"caption\\\", \\\"h\\\":\\\"thead\\\", \\\"\\\":\\\"tbody\\\", \\\"f\\\":\\\"tfoot\\\"},\\n\\t\\ttable = {type: \\\"element\\\", tag: \\\"table\\\", children: []},\\n\\t\\trowRegExp = /^\\\\|([^\\\\n]*)\\\\|([fhck]?)\\\\r?(?:\\\\n|$)/mg,\\n\\t\\trowTermRegExp = /(\\\\|(?:[fhck]?)\\\\r?(?:\\\\n|$))/mg,\\n\\t\\tprevColumns = [],\\n\\t\\tcurrRowType,\\n\\t\\trowContainer,\\n\\t\\trowCount = 0;\\n\\t// Match the row\\n\\trowRegExp.lastIndex = this.parser.pos;\\n\\tvar rowMatch = rowRegExp.exec(this.parser.source);\\n\\twhile(rowMatch && rowMatch.index === this.parser.pos) {\\n\\t\\tvar rowType = rowMatch[2];\\n\\t\\t// Check if it is a class assignment\\n\\t\\tif(rowType === \\\"k\\\") {\\n\\t\\t\\t$tw.utils.addClassToParseTreeNode(table,rowMatch[1]);\\n\\t\\t\\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\\n\\t\\t} else {\\n\\t\\t\\t// Otherwise, create a new row if this one is of a different type\\n\\t\\t\\tif(rowType !== currRowType) {\\n\\t\\t\\t\\trowContainer = {type: \\\"element\\\", tag: rowContainerTypes[rowType], children: []};\\n\\t\\t\\t\\ttable.children.push(rowContainer);\\n\\t\\t\\t\\tcurrRowType = rowType;\\n\\t\\t\\t}\\n\\t\\t\\t// Is this a caption row?\\n\\t\\t\\tif(currRowType === \\\"c\\\") {\\n\\t\\t\\t\\t// If so, move past the opening `|` of the row\\n\\t\\t\\t\\tthis.parser.pos++;\\n\\t\\t\\t\\t// Move the caption to the first row if it isn't already\\n\\t\\t\\t\\tif(table.children.length !== 1) {\\n\\t\\t\\t\\t\\ttable.children.pop(); // Take rowContainer out of the children array\\n\\t\\t\\t\\t\\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// Set the alignment - TODO: figure out why TW did this\\n//\\t\\t\\t\\trowContainer.attributes.align = rowCount === 0 ? \\\"top\\\" : \\\"bottom\\\";\\n\\t\\t\\t\\t// Parse the caption\\n\\t\\t\\t\\trowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t// Create the row\\n\\t\\t\\t\\tvar theRow = {type: \\\"element\\\", tag: \\\"tr\\\", children: []};\\n\\t\\t\\t\\t$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? \\\"oddRow\\\" : \\\"evenRow\\\");\\n\\t\\t\\t\\trowContainer.children.push(theRow);\\n\\t\\t\\t\\t// Process the row\\n\\t\\t\\t\\ttheRow.children = processRow.call(this,prevColumns);\\n\\t\\t\\t\\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\\n\\t\\t\\t\\t// Increment the row count\\n\\t\\t\\t\\trowCount++;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\trowMatch = rowRegExp.exec(this.parser.source);\\n\\t}\\n\\treturn [table];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/transcludeblock.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/transcludeblock.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeblock.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text rule for block-level transclusion. For example:\\n\\n```\\n{{MyTiddler}}\\n{{MyTiddler||TemplateTitle}}\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"transcludeblock\\\";\\nexports.types = {block: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\{\\\\{([^\\\\{\\\\}\\\\|]*)(?:\\\\|\\\\|([^\\\\|\\\\{\\\\}]+))?(?:\\\\|([^\\\\{\\\\}]+))?\\\\}\\\\}(?:\\\\r?\\\\n|$)/mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Get the match details\\n\\tvar template = $tw.utils.trim(this.match[2]),\\n\\t\\ttextRef = $tw.utils.trim(this.match[1]),\\n\\t\\tparams = this.match[3] ? this.match[3].split(\\\"|\\\") : [];\\n\\t// Prepare the transclude widget\\n\\tvar transcludeNode = {\\n\\t\\t\\ttype: \\\"transclude\\\",\\n\\t\\t\\tattributes: {},\\n\\t\\t\\tisBlock: true\\n\\t\\t};\\n\\t$tw.utils.each(params,function(paramValue,index) {\\n\\t\\tvar name = \\\"\\\" + index;\\n\\t\\ttranscludeNode.attributes[name] = {\\n\\t\\t\\tname: name,\\n\\t\\t\\ttype: \\\"string\\\",\\n\\t\\t\\tvalue: paramValue\\n\\t\\t}\\n\\t});\\n\\t// Prepare the tiddler widget\\n\\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\\n\\tif(textRef) {\\n\\t\\ttr = $tw.utils.parseTextReference(textRef);\\n\\t\\ttargetTitle = tr.title;\\n\\t\\ttargetField = tr.field;\\n\\t\\ttargetIndex = tr.index;\\n\\t\\ttiddlerNode = {\\n\\t\\t\\ttype: \\\"tiddler\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\ttiddler: {name: \\\"tiddler\\\", type: \\\"string\\\", value: targetTitle}\\n\\t\\t\\t},\\n\\t\\t\\tisBlock: true,\\n\\t\\t\\tchildren: [transcludeNode]\\n\\t\\t};\\n\\t}\\n\\tif(template) {\\n\\t\\ttranscludeNode.attributes[\\\"$tiddler\\\"] = {name: \\\"$tiddler\\\", type: \\\"string\\\", value: template};\\n\\t\\tif(textRef) {\\n\\t\\t\\treturn [tiddlerNode];\\n\\t\\t} else {\\n\\t\\t\\treturn [transcludeNode];\\n\\t\\t}\\n\\t} else {\\n\\t\\tif(textRef) {\\n\\t\\t\\ttranscludeNode.attributes[\\\"$tiddler\\\"] = {name: \\\"$tiddler\\\", type: \\\"string\\\", value: targetTitle};\\n\\t\\t\\tif(targetField) {\\n\\t\\t\\t\\ttranscludeNode.attributes[\\\"$field\\\"] = {name: \\\"$field\\\", type: \\\"string\\\", value: targetField};\\n\\t\\t\\t}\\n\\t\\t\\tif(targetIndex) {\\n\\t\\t\\t\\ttranscludeNode.attributes[\\\"$index\\\"] = {name: \\\"$index\\\", type: \\\"string\\\", value: targetIndex};\\n\\t\\t\\t}\\n\\t\\t\\treturn [tiddlerNode];\\n\\t\\t} else {\\n\\t\\t\\treturn [transcludeNode];\\n\\t\\t}\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/transcludeinline.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/transcludeinline.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeinline.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text rule for inline-level transclusion. For example:\\n\\n```\\n{{MyTiddler}}\\n{{MyTiddler||TemplateTitle}}\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"transcludeinline\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\{\\\\{([^\\\\{\\\\}\\\\|]*)(?:\\\\|\\\\|([^\\\\|\\\\{\\\\}]+))?(?:\\\\|([^\\\\{\\\\}]+))?\\\\}\\\\}/mg;\\n};\\n\\nexports.parse = function() {\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Get the match details\\n\\tvar template = $tw.utils.trim(this.match[2]),\\n\\t\\ttextRef = $tw.utils.trim(this.match[1]),\\n\\t\\tparams = this.match[3] ? this.match[3].split(\\\"|\\\") : [];\\n\\t// Prepare the transclude widget\\n\\tvar transcludeNode = {\\n\\t\\t\\ttype: \\\"transclude\\\",\\n\\t\\t\\tattributes: {}\\n\\t\\t};\\n\\t$tw.utils.each(params,function(paramValue,index) {\\n\\t\\tvar name = \\\"\\\" + index;\\n\\t\\ttranscludeNode.attributes[name] = {\\n\\t\\t\\tname: name,\\n\\t\\t\\ttype: \\\"string\\\",\\n\\t\\t\\tvalue: paramValue\\n\\t\\t}\\n\\t});\\n\\t// Prepare the tiddler widget\\n\\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\\n\\tif(textRef) {\\n\\t\\ttr = $tw.utils.parseTextReference(textRef);\\n\\t\\ttargetTitle = tr.title;\\n\\t\\ttargetField = tr.field;\\n\\t\\ttargetIndex = tr.index;\\n\\t\\ttiddlerNode = {\\n\\t\\t\\ttype: \\\"tiddler\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\ttiddler: {name: \\\"tiddler\\\", type: \\\"string\\\", value: targetTitle}\\n\\t\\t\\t},\\n\\t\\t\\tchildren: [transcludeNode]\\n\\t\\t};\\n\\t}\\n\\tif(template) {\\n\\t\\ttranscludeNode.attributes[\\\"$tiddler\\\"] = {name: \\\"$tiddler\\\", type: \\\"string\\\", value: template};\\n\\t\\tif(textRef) {\\n\\t\\t\\treturn [tiddlerNode];\\n\\t\\t} else {\\n\\t\\t\\treturn [transcludeNode];\\n\\t\\t}\\n\\t} else {\\n\\t\\tif(textRef) {\\n\\t\\t\\ttranscludeNode.attributes[\\\"$tiddler\\\"] = {name: \\\"$tiddler\\\", type: \\\"string\\\", value: targetTitle};\\n\\t\\t\\tif(targetField) {\\n\\t\\t\\t\\ttranscludeNode.attributes[\\\"$field\\\"] = {name: \\\"$field\\\", type: \\\"string\\\", value: targetField};\\n\\t\\t\\t}\\n\\t\\t\\tif(targetIndex) {\\n\\t\\t\\t\\ttranscludeNode.attributes[\\\"$index\\\"] = {name: \\\"$index\\\", type: \\\"string\\\", value: targetIndex};\\n\\t\\t\\t}\\n\\t\\t\\treturn [tiddlerNode];\\n\\t\\t} else {\\n\\t\\t\\treturn [transcludeNode];\\n\\t\\t}\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/typedblock.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/typedblock.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/typedblock.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text rule for typed blocks. For example:\\n\\n```\\n$$$.js\\nThis will be rendered as JavaScript\\n$$$\\n\\n$$$.svg\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"150\\\" height=\\\"100\\\">\\n <circle cx=\\\"100\\\" cy=\\\"50\\\" r=\\\"40\\\" stroke=\\\"black\\\" stroke-width=\\\"2\\\" fill=\\\"red\\\" />\\n</svg>\\n$$$\\n\\n$$$text/vnd.tiddlywiki>text/html\\nThis will be rendered as an //HTML representation// of WikiText\\n$$$\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar widget = require(\\\"$:/core/modules/widgets/widget.js\\\");\\n\\nexports.name = \\\"typedblock\\\";\\nexports.types = {block: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\$\\\\$\\\\$([^ >\\\\r\\\\n]*)(?: *> *([^ \\\\r\\\\n]+))?\\\\r?\\\\n/mg;\\n};\\n\\nexports.parse = function() {\\n\\tvar reEnd = /\\\\r?\\\\n\\\\$\\\\$\\\\$\\\\r?(?:\\\\n|$)/mg;\\n\\t// Save the type\\n\\tvar parseType = this.match[1],\\n\\t\\trenderType = this.match[2];\\n\\t// Move past the match\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Look for the end of the block\\n\\treEnd.lastIndex = this.parser.pos;\\n\\tvar match = reEnd.exec(this.parser.source),\\n\\t\\ttext;\\n\\t// Process the block\\n\\tif(match) {\\n\\t\\ttext = this.parser.source.substring(this.parser.pos,match.index);\\n\\t\\tthis.parser.pos = match.index + match[0].length;\\n\\t} else {\\n\\t\\ttext = this.parser.source.substr(this.parser.pos);\\n\\t\\tthis.parser.pos = this.parser.sourceLength;\\n\\t}\\n\\t// Parse the block according to the specified type\\n\\tvar parser = this.parser.wiki.parseText(parseType,text,{defaultType: \\\"text/plain\\\"});\\n\\t// If there's no render type, just return the parse tree\\n\\tif(!renderType) {\\n\\t\\treturn parser.tree;\\n\\t} else {\\n\\t\\t// Otherwise, render to the rendertype and return in a <PRE> tag\\n\\t\\tvar widgetNode = this.parser.wiki.makeWidget(parser),\\n\\t\\t\\tcontainer = $tw.fakeDocument.createElement(\\\"div\\\");\\n\\t\\twidgetNode.render(container,null);\\n\\t\\ttext = renderType === \\\"text/html\\\" ? container.innerHTML : container.textContent;\\n\\t\\treturn [{\\n\\t\\t\\ttype: \\\"element\\\",\\n\\t\\t\\ttag: \\\"pre\\\",\\n\\t\\t\\tchildren: [{\\n\\t\\t\\t\\ttype: \\\"text\\\",\\n\\t\\t\\t\\ttext: text\\n\\t\\t\\t}]\\n\\t\\t}];\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/whitespace.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/whitespace.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/whitespace.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki pragma rule for whitespace specifications\\n\\n```\\n\\\\whitespace trim\\n\\\\whitespace notrim\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"whitespace\\\";\\nexports.types = {pragma: true};\\n\\n/*\\nInstantiate parse rule\\n*/\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = /\\\\\\\\whitespace[^\\\\S\\\\n]/mg;\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\tvar self = this;\\n\\t// Move past the pragma invocation\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Parse whitespace delimited tokens terminated by a line break\\n\\tvar reMatch = /[^\\\\S\\\\n]*(\\\\S+)|(\\\\r?\\\\n)/mg,\\n\\t\\ttokens = [];\\n\\treMatch.lastIndex = this.parser.pos;\\n\\tvar match = reMatch.exec(this.parser.source);\\n\\twhile(match && match.index === this.parser.pos) {\\n\\t\\tthis.parser.pos = reMatch.lastIndex;\\n\\t\\t// Exit if we've got the line break\\n\\t\\tif(match[2]) {\\n\\t\\t\\tbreak;\\n\\t\\t}\\n\\t\\t// Process the token\\n\\t\\tif(match[1]) {\\n\\t\\t\\ttokens.push(match[1]);\\n\\t\\t}\\n\\t\\t// Match the next token\\n\\t\\tmatch = reMatch.exec(this.parser.source);\\n\\t}\\n\\t// Process the tokens\\n\\t$tw.utils.each(tokens,function(token) {\\n\\t\\tswitch(token) {\\n\\t\\t\\tcase \\\"trim\\\":\\n\\t\\t\\t\\tself.parser.configTrimWhiteSpace = true;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\tcase \\\"notrim\\\":\\n\\t\\t\\t\\tself.parser.configTrimWhiteSpace = false;\\n\\t\\t\\t\\tbreak;\\n\\t\\t}\\n\\t});\\n\\t// No parse tree nodes to return\\n\\treturn [];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/wikilink.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/wikilink.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilink.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for wiki links. For example:\\n\\n```\\nAWikiLink\\nAnotherLink\\n~SuppressedLink\\n```\\n\\nPrecede a camel case word with `~` to prevent it from being recognised as a link.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"wikilink\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + \\\"?\\\" + $tw.config.textPrimitives.wikiLink,\\\"mg\\\");\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\t// Get the details of the match\\n\\tvar linkText = this.match[0];\\n\\t// Move past the macro call\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// If the link starts with the unwikilink character then just output it as plain text\\n\\tif(linkText.substr(0,1) === $tw.config.textPrimitives.unWikiLink) {\\n\\t\\treturn [{type: \\\"text\\\", text: linkText.substr(1)}];\\n\\t}\\n\\t// If the link has been preceded with a blocked letter then don't treat it as a link\\n\\tif(this.match.index > 0) {\\n\\t\\tvar preRegExp = new RegExp($tw.config.textPrimitives.blockPrefixLetters,\\\"mg\\\");\\n\\t\\tpreRegExp.lastIndex = this.match.index-1;\\n\\t\\tvar preMatch = preRegExp.exec(this.parser.source);\\n\\t\\tif(preMatch && preMatch.index === this.match.index-1) {\\n\\t\\t\\treturn [{type: \\\"text\\\", text: linkText}];\\n\\t\\t}\\n\\t}\\n\\treturn [{\\n\\t\\ttype: \\\"link\\\",\\n\\t\\tattributes: {\\n\\t\\t\\tto: {type: \\\"string\\\", value: linkText}\\n\\t\\t},\\n\\t\\tchildren: [{\\n\\t\\t\\ttype: \\\"text\\\",\\n\\t\\t\\ttext: linkText\\n\\t\\t}]\\n\\t}];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/rules/wikilinkprefix.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/wikilinkprefix.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilinkprefix.js\\ntype: application/javascript\\nmodule-type: wikirule\\n\\nWiki text inline rule for suppressed wiki links. For example:\\n\\n```\\n~SuppressedLink\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.name = \\\"wikilinkprefix\\\";\\nexports.types = {inline: true};\\n\\nexports.init = function(parser) {\\n\\tthis.parser = parser;\\n\\t// Regexp to match\\n\\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + $tw.config.textPrimitives.wikiLink,\\\"mg\\\");\\n};\\n\\n/*\\nParse the most recent match\\n*/\\nexports.parse = function() {\\n\\t// Get the details of the match\\n\\tvar linkText = this.match[0];\\n\\t// Move past the wikilink\\n\\tthis.parser.pos = this.matchRegExp.lastIndex;\\n\\t// Return the link without unwikilink character as plain text\\n\\treturn [{type: \\\"text\\\", text: linkText.substr(1)}];\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikirule\"},\"$:/core/modules/parsers/wikiparser/wikiparser.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/wikiparser.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/wikiparser.js\\ntype: application/javascript\\nmodule-type: parser\\n\\nThe wiki text parser processes blocks of source text into a parse tree.\\n\\nThe parse tree is made up of nested arrays of these JavaScript objects:\\n\\n\\t{type: \\\"element\\\", tag: <string>, attributes: {}, children: []} - an HTML element\\n\\t{type: \\\"text\\\", text: <string>} - a text node\\n\\t{type: \\\"entity\\\", value: <string>} - an entity\\n\\t{type: \\\"raw\\\", html: <string>} - raw HTML\\n\\nAttributes are stored as hashmaps of the following objects:\\n\\n\\t{type: \\\"string\\\", value: <string>} - literal string\\n\\t{type: \\\"indirect\\\", textReference: <textReference>} - indirect through a text reference\\n\\t{type: \\\"macro\\\", macro: <TBD>} - indirect through a macro invocation\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\ntype: content type of text\\ntext: text to be parsed\\noptions: see below:\\n\\tparseAsInline: true to parse text as inline instead of block\\n\\twiki: reference to wiki to use\\n\\t_canonical_uri: optional URI of content if text is missing or empty\\n\\tconfigTrimWhiteSpace: true to trim whitespace\\n*/\\nvar WikiParser = function(type,text,options) {\\n\\tthis.wiki = options.wiki;\\n\\tvar self = this;\\n\\t// Check for an externally linked tiddler\\n\\tif($tw.browser && (text || \\\"\\\") === \\\"\\\" && options._canonical_uri) {\\n\\t\\tthis.loadRemoteTiddler(options._canonical_uri);\\n\\t\\ttext = $tw.language.getRawString(\\\"LazyLoadingWarning\\\");\\n\\t}\\n\\t// Save the parse text\\n\\tthis.type = type || \\\"text/vnd.tiddlywiki\\\";\\n\\tthis.source = text || \\\"\\\";\\n\\tthis.sourceLength = this.source.length;\\n\\t// Flag for ignoring whitespace\\n\\tthis.configTrimWhiteSpace = options.configTrimWhiteSpace !== undefined ? options.configTrimWhiteSpace : false;\\n\\t// Parser mode\\n\\tthis.parseAsInline = options.parseAsInline;\\n\\t// Set current parse position\\n\\tthis.pos = 0;\\n\\t// Start with empty output\\n\\tthis.tree = [];\\n\\t// Assemble the rule classes we're going to use\\n\\tvar pragmaRuleClasses, blockRuleClasses, inlineRuleClasses;\\n\\tif(options.rules) {\\n\\t\\tpragmaRuleClasses = options.rules.pragma;\\n\\t\\tblockRuleClasses = options.rules.block;\\n\\t\\tinlineRuleClasses = options.rules.inline;\\n\\t} else {\\n\\t\\t// Setup the rule classes if we don't have them already\\n\\t\\tif(!this.pragmaRuleClasses) {\\n\\t\\t\\tWikiParser.prototype.pragmaRuleClasses = $tw.modules.createClassesFromModules(\\\"wikirule\\\",\\\"pragma\\\",$tw.WikiRuleBase);\\n\\t\\t\\tthis.setupRules(WikiParser.prototype.pragmaRuleClasses,\\\"$:/config/WikiParserRules/Pragmas/\\\");\\n\\t\\t}\\n\\t\\tpragmaRuleClasses = this.pragmaRuleClasses;\\n\\t\\tif(!this.blockRuleClasses) {\\n\\t\\t\\tWikiParser.prototype.blockRuleClasses = $tw.modules.createClassesFromModules(\\\"wikirule\\\",\\\"block\\\",$tw.WikiRuleBase);\\n\\t\\t\\tthis.setupRules(WikiParser.prototype.blockRuleClasses,\\\"$:/config/WikiParserRules/Block/\\\");\\n\\t\\t}\\n\\t\\tblockRuleClasses = this.blockRuleClasses;\\n\\t\\tif(!this.inlineRuleClasses) {\\n\\t\\t\\tWikiParser.prototype.inlineRuleClasses = $tw.modules.createClassesFromModules(\\\"wikirule\\\",\\\"inline\\\",$tw.WikiRuleBase);\\n\\t\\t\\tthis.setupRules(WikiParser.prototype.inlineRuleClasses,\\\"$:/config/WikiParserRules/Inline/\\\");\\n\\t\\t}\\n\\t\\tinlineRuleClasses = this.inlineRuleClasses;\\n\\t}\\n\\t// Instantiate the pragma parse rules\\n\\tthis.pragmaRules = this.instantiateRules(pragmaRuleClasses,\\\"pragma\\\",0);\\n\\t// Instantiate the parser block and inline rules\\n\\tthis.blockRules = this.instantiateRules(blockRuleClasses,\\\"block\\\",0);\\n\\tthis.inlineRules = this.instantiateRules(inlineRuleClasses,\\\"inline\\\",0);\\n\\t// Parse any pragmas\\n\\tvar topBranch = this.parsePragmas();\\n\\t// Parse the text into inline runs or blocks\\n\\tif(this.parseAsInline) {\\n\\t\\ttopBranch.push.apply(topBranch,this.parseInlineRun());\\n\\t} else {\\n\\t\\ttopBranch.push.apply(topBranch,this.parseBlocks());\\n\\t}\\n\\t// Return the parse tree\\n};\\n\\n/*\\n*/\\nWikiParser.prototype.loadRemoteTiddler = function(url) {\\n\\tvar self = this;\\n\\t$tw.utils.httpRequest({\\n\\t\\turl: url,\\n\\t\\ttype: \\\"GET\\\",\\n\\t\\tcallback: function(err,data) {\\n\\t\\t\\tif(!err) {\\n\\t\\t\\t\\tvar tiddlers = self.wiki.deserializeTiddlers(\\\".tid\\\",data,self.wiki.getCreationFields());\\n\\t\\t\\t\\t$tw.utils.each(tiddlers,function(tiddler) {\\n\\t\\t\\t\\t\\ttiddler[\\\"_canonical_uri\\\"] = url;\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\tif(tiddlers) {\\n\\t\\t\\t\\t\\tself.wiki.addTiddlers(tiddlers);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n};\\n\\n/*\\n*/\\nWikiParser.prototype.setupRules = function(proto,configPrefix) {\\n\\tvar self = this;\\n\\tif(!$tw.safeMode) {\\n\\t\\t$tw.utils.each(proto,function(object,name) {\\n\\t\\t\\tif(self.wiki.getTiddlerText(configPrefix + name,\\\"enable\\\") !== \\\"enable\\\") {\\n\\t\\t\\t\\tdelete proto[name];\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n};\\n\\n/*\\nInstantiate an array of parse rules\\n*/\\nWikiParser.prototype.instantiateRules = function(classes,type,startPos) {\\n\\tvar rulesInfo = [],\\n\\t\\tself = this;\\n\\t$tw.utils.each(classes,function(RuleClass) {\\n\\t\\t// Instantiate the rule\\n\\t\\tvar rule = new RuleClass(self);\\n\\t\\trule.is = {};\\n\\t\\trule.is[type] = true;\\n\\t\\trule.init(self);\\n\\t\\tvar matchIndex = rule.findNextMatch(startPos);\\n\\t\\tif(matchIndex !== undefined) {\\n\\t\\t\\trulesInfo.push({\\n\\t\\t\\t\\trule: rule,\\n\\t\\t\\t\\tmatchIndex: matchIndex\\n\\t\\t\\t});\\n\\t\\t}\\n\\t});\\n\\treturn rulesInfo;\\n};\\n\\n/*\\nSkip any whitespace at the current position. Options are:\\n\\ttreatNewlinesAsNonWhitespace: true if newlines are NOT to be treated as whitespace\\n*/\\nWikiParser.prototype.skipWhitespace = function(options) {\\n\\toptions = options || {};\\n\\tvar whitespaceRegExp = options.treatNewlinesAsNonWhitespace ? /([^\\\\S\\\\n]+)/mg : /(\\\\s+)/mg;\\n\\twhitespaceRegExp.lastIndex = this.pos;\\n\\tvar whitespaceMatch = whitespaceRegExp.exec(this.source);\\n\\tif(whitespaceMatch && whitespaceMatch.index === this.pos) {\\n\\t\\tthis.pos = whitespaceRegExp.lastIndex;\\n\\t}\\n};\\n\\n/*\\nGet the next match out of an array of parse rule instances\\n*/\\nWikiParser.prototype.findNextMatch = function(rules,startPos) {\\n\\t// Find the best matching rule by finding the closest match position\\n\\tvar matchingRule,\\n\\t\\tmatchingRulePos = this.sourceLength;\\n\\t// Step through each rule\\n\\tfor(var t=0; t<rules.length; t++) {\\n\\t\\tvar ruleInfo = rules[t];\\n\\t\\t// Ask the rule to get the next match if we've moved past the current one\\n\\t\\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex < startPos) {\\n\\t\\t\\truleInfo.matchIndex = ruleInfo.rule.findNextMatch(startPos);\\n\\t\\t}\\n\\t\\t// Adopt this match if it's closer than the current best match\\n\\t\\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex <= matchingRulePos) {\\n\\t\\t\\tmatchingRule = ruleInfo;\\n\\t\\t\\tmatchingRulePos = ruleInfo.matchIndex;\\n\\t\\t}\\n\\t}\\n\\treturn matchingRule;\\n};\\n\\n/*\\nParse any pragmas at the beginning of a block of parse text\\n*/\\nWikiParser.prototype.parsePragmas = function() {\\n\\tvar currentTreeBranch = this.tree;\\n\\twhile(true) {\\n\\t\\tvar savedPos = this.pos;\\n\\t\\t// Skip whitespace\\n\\t\\tthis.skipWhitespace();\\n\\t\\t// Check for the end of the text\\n\\t\\tif(this.pos >= this.sourceLength) {\\n\\t\\t\\tbreak;\\n\\t\\t}\\n\\t\\t// Check if we've arrived at a pragma rule match\\n\\t\\tvar nextMatch = this.findNextMatch(this.pragmaRules,this.pos);\\n\\t\\t// If not, just exit\\n\\t\\tif(!nextMatch || nextMatch.matchIndex !== this.pos) {\\n\\t\\t\\tthis.pos = savedPos;\\n\\t\\t\\tbreak;\\n\\t\\t}\\n\\t\\t// Process the pragma rule\\n\\t\\tvar subTree = nextMatch.rule.parse();\\n\\t\\tif(subTree.length > 0) {\\n\\t\\t\\t// Quick hack; we only cope with a single parse tree node being returned, which is true at the moment\\n\\t\\t\\tcurrentTreeBranch.push.apply(currentTreeBranch,subTree);\\n\\t\\t\\tsubTree[0].children = [];\\n\\t\\t\\tcurrentTreeBranch = subTree[0].children;\\n\\t\\t}\\n\\t\\t// Skip whitespace after the pragma\\n\\t\\tthis.skipWhitespace();\\n\\t}\\n\\treturn currentTreeBranch;\\n};\\n\\n/*\\nParse a block from the current position\\n\\tterminatorRegExpString: optional regular expression string that identifies the end of plain paragraphs. Must not include capturing parenthesis\\n*/\\nWikiParser.prototype.parseBlock = function(terminatorRegExpString) {\\n\\tvar terminatorRegExp = terminatorRegExpString ? new RegExp(terminatorRegExpString + \\\"|\\\\\\\\r?\\\\\\\\n\\\\\\\\r?\\\\\\\\n\\\",\\\"mg\\\") : /(\\\\r?\\\\n\\\\r?\\\\n)/mg;\\n\\tthis.skipWhitespace();\\n\\tif(this.pos >= this.sourceLength) {\\n\\t\\treturn [];\\n\\t}\\n\\t// Look for a block rule that applies at the current position\\n\\tvar nextMatch = this.findNextMatch(this.blockRules,this.pos);\\n\\tif(nextMatch && nextMatch.matchIndex === this.pos) {\\n\\t\\treturn nextMatch.rule.parse();\\n\\t}\\n\\t// Treat it as a paragraph if we didn't find a block rule\\n\\tvar start = this.pos;\\n\\tvar children = this.parseInlineRun(terminatorRegExp);\\n\\tvar end = this.pos;\\n\\treturn [{type: \\\"element\\\", tag: \\\"p\\\", children: children, start: start, end: end }];\\n};\\n\\n/*\\nParse a series of blocks of text until a terminating regexp is encountered or the end of the text\\n\\tterminatorRegExpString: terminating regular expression\\n*/\\nWikiParser.prototype.parseBlocks = function(terminatorRegExpString) {\\n\\tif(terminatorRegExpString) {\\n\\t\\treturn this.parseBlocksTerminated(terminatorRegExpString);\\n\\t} else {\\n\\t\\treturn this.parseBlocksUnterminated();\\n\\t}\\n};\\n\\n/*\\nParse a block from the current position to the end of the text\\n*/\\nWikiParser.prototype.parseBlocksUnterminated = function() {\\n\\tvar tree = [];\\n\\twhile(this.pos < this.sourceLength) {\\n\\t\\ttree.push.apply(tree,this.parseBlock());\\n\\t}\\n\\treturn tree;\\n};\\n\\n/*\\nParse blocks of text until a terminating regexp is encountered. Wrapper for parseBlocksTerminatedExtended that just returns the parse tree\\n*/\\nWikiParser.prototype.parseBlocksTerminated = function(terminatorRegExpString) {\\n\\tvar ex = this.parseBlocksTerminatedExtended(terminatorRegExpString);\\n\\treturn ex.tree;\\n};\\n\\n/*\\nParse blocks of text until a terminating regexp is encountered\\n*/\\nWikiParser.prototype.parseBlocksTerminatedExtended = function(terminatorRegExpString) {\\n\\tvar terminatorRegExp = new RegExp(terminatorRegExpString,\\\"mg\\\"),\\n\\t\\tresult = {\\n\\t\\t\\ttree: []\\n\\t\\t};\\n\\t// Skip any whitespace\\n\\tthis.skipWhitespace();\\n\\t// Check if we've got the end marker\\n\\tterminatorRegExp.lastIndex = this.pos;\\n\\tvar match = terminatorRegExp.exec(this.source);\\n\\t// Parse the text into blocks\\n\\twhile(this.pos < this.sourceLength && !(match && match.index === this.pos)) {\\n\\t\\tvar blocks = this.parseBlock(terminatorRegExpString);\\n\\t\\tresult.tree.push.apply(result.tree,blocks);\\n\\t\\t// Skip any whitespace\\n\\t\\tthis.skipWhitespace();\\n\\t\\t// Check if we've got the end marker\\n\\t\\tterminatorRegExp.lastIndex = this.pos;\\n\\t\\tmatch = terminatorRegExp.exec(this.source);\\n\\t}\\n\\tif(match && match.index === this.pos) {\\n\\t\\tthis.pos = match.index + match[0].length;\\n\\t\\tresult.match = match;\\n\\t}\\n\\treturn result;\\n};\\n\\n/*\\nParse a run of text at the current position\\n\\tterminatorRegExp: a regexp at which to stop the run\\n\\toptions: see below\\nOptions available:\\n\\teatTerminator: move the parse position past any encountered terminator (default false)\\n*/\\nWikiParser.prototype.parseInlineRun = function(terminatorRegExp,options) {\\n\\tif(terminatorRegExp) {\\n\\t\\treturn this.parseInlineRunTerminated(terminatorRegExp,options);\\n\\t} else {\\n\\t\\treturn this.parseInlineRunUnterminated(options);\\n\\t}\\n};\\n\\nWikiParser.prototype.parseInlineRunUnterminated = function(options) {\\n\\tvar tree = [];\\n\\t// Find the next occurrence of an inline rule\\n\\tvar nextMatch = this.findNextMatch(this.inlineRules,this.pos);\\n\\t// Loop around the matches until we've reached the end of the text\\n\\twhile(this.pos < this.sourceLength && nextMatch) {\\n\\t\\t// Process the text preceding the run rule\\n\\t\\tif(nextMatch.matchIndex > this.pos) {\\n\\t\\t\\tthis.pushTextWidget(tree,this.source.substring(this.pos,nextMatch.matchIndex),this.pos,nextMatch.matchIndex);\\n\\t\\t\\tthis.pos = nextMatch.matchIndex;\\n\\t\\t}\\n\\t\\t// Process the run rule\\n\\t\\ttree.push.apply(tree,nextMatch.rule.parse());\\n\\t\\t// Look for the next run rule\\n\\t\\tnextMatch = this.findNextMatch(this.inlineRules,this.pos);\\n\\t}\\n\\t// Process the remaining text\\n\\tif(this.pos < this.sourceLength) {\\n\\t\\tthis.pushTextWidget(tree,this.source.substr(this.pos),this.pos,this.sourceLength);\\n\\t}\\n\\tthis.pos = this.sourceLength;\\n\\treturn tree;\\n};\\n\\nWikiParser.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) {\\n\\tvar ex = this.parseInlineRunTerminatedExtended(terminatorRegExp,options);\\n\\treturn ex.tree;\\n};\\n\\nWikiParser.prototype.parseInlineRunTerminatedExtended = function(terminatorRegExp,options) {\\n\\toptions = options || {};\\n\\tvar tree = [];\\n\\t// Find the next occurrence of the terminator\\n\\tterminatorRegExp.lastIndex = this.pos;\\n\\tvar terminatorMatch = terminatorRegExp.exec(this.source);\\n\\t// Find the next occurrence of a inlinerule\\n\\tvar inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\\n\\t// Loop around until we've reached the end of the text\\n\\twhile(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) {\\n\\t\\t// Return if we've found the terminator, and it precedes any inline rule match\\n\\t\\tif(terminatorMatch) {\\n\\t\\t\\tif(!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) {\\n\\t\\t\\t\\tif(terminatorMatch.index > this.pos) {\\n\\t\\t\\t\\t\\tthis.pushTextWidget(tree,this.source.substring(this.pos,terminatorMatch.index),this.pos,terminatorMatch.index);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tthis.pos = terminatorMatch.index;\\n\\t\\t\\t\\tif(options.eatTerminator) {\\n\\t\\t\\t\\t\\tthis.pos += terminatorMatch[0].length;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tmatch: terminatorMatch,\\n\\t\\t\\t\\t\\ttree: tree\\n\\t\\t\\t\\t};\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t// Process any inline rule, along with the text preceding it\\n\\t\\tif(inlineRuleMatch) {\\n\\t\\t\\t// Preceding text\\n\\t\\t\\tif(inlineRuleMatch.matchIndex > this.pos) {\\n\\t\\t\\t\\tthis.pushTextWidget(tree,this.source.substring(this.pos,inlineRuleMatch.matchIndex),this.pos,inlineRuleMatch.matchIndex);\\n\\t\\t\\t\\tthis.pos = inlineRuleMatch.matchIndex;\\n\\t\\t\\t}\\n\\t\\t\\t// Process the inline rule\\n\\t\\t\\ttree.push.apply(tree,inlineRuleMatch.rule.parse());\\n\\t\\t\\t// Look for the next inline rule\\n\\t\\t\\tinlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\\n\\t\\t\\t// Look for the next terminator match\\n\\t\\t\\tterminatorRegExp.lastIndex = this.pos;\\n\\t\\t\\tterminatorMatch = terminatorRegExp.exec(this.source);\\n\\t\\t}\\n\\t}\\n\\t// Process the remaining text\\n\\tif(this.pos < this.sourceLength) {\\n\\t\\tthis.pushTextWidget(tree,this.source.substr(this.pos),this.pos,this.sourceLength);\\n\\t}\\n\\tthis.pos = this.sourceLength;\\n\\treturn {\\n\\t\\ttree: tree\\n\\t};\\n};\\n\\n/*\\nPush a text widget onto an array, respecting the configTrimWhiteSpace setting\\n*/\\nWikiParser.prototype.pushTextWidget = function(array,text,start,end) {\\n\\tif(this.configTrimWhiteSpace) {\\n\\t\\ttext = $tw.utils.trim(text);\\n\\t}\\n\\tif(text) {\\n\\t\\tarray.push({type: \\\"text\\\", text: text, start: start, end: end});\\t\\t\\n\\t}\\n};\\n\\n/*\\nParse zero or more class specifiers `.classname`\\n*/\\nWikiParser.prototype.parseClasses = function() {\\n\\tvar classRegExp = /\\\\.([^\\\\s\\\\.]+)/mg,\\n\\t\\tclassNames = [];\\n\\tclassRegExp.lastIndex = this.pos;\\n\\tvar match = classRegExp.exec(this.source);\\n\\twhile(match && match.index === this.pos) {\\n\\t\\tthis.pos = match.index + match[0].length;\\n\\t\\tclassNames.push(match[1]);\\n\\t\\tmatch = classRegExp.exec(this.source);\\n\\t}\\n\\treturn classNames;\\n};\\n\\n/*\\nAmend the rules used by this instance of the parser\\n\\ttype: `only` keeps just the named rules, `except` keeps all but the named rules\\n\\tnames: array of rule names\\n*/\\nWikiParser.prototype.amendRules = function(type,names) {\\n\\tnames = names || [];\\n\\t// Define the filter function\\n\\tvar target;\\n\\tif(type === \\\"only\\\") {\\n\\t\\ttarget = true;\\n\\t} else if(type === \\\"except\\\") {\\n\\t\\ttarget = false;\\n\\t} else {\\n\\t\\treturn;\\n\\t}\\n\\t// Define a function to process each of our rule arrays\\n\\tvar processRuleArray = function(ruleArray) {\\n\\t\\tfor(var t=ruleArray.length-1; t>=0; t--) {\\n\\t\\t\\tif((names.indexOf(ruleArray[t].rule.name) === -1) === target) {\\n\\t\\t\\t\\truleArray.splice(t,1);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n\\t// Process each rule array\\n\\tprocessRuleArray(this.pragmaRules);\\n\\tprocessRuleArray(this.blockRules);\\n\\tprocessRuleArray(this.inlineRules);\\n};\\n\\nexports[\\\"text/vnd.tiddlywiki\\\"] = WikiParser;\\n\\n})();\\n\\n\",\"type\":\"application/javascript\",\"module-type\":\"parser\"},\"$:/core/modules/parsers/wikiparser/rules/wikirulebase.js\":{\"title\":\"$:/core/modules/parsers/wikiparser/rules/wikirulebase.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikirulebase.js\\ntype: application/javascript\\nmodule-type: global\\n\\nBase class for wiki parser rules\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nThis constructor is always overridden with a blank constructor, and so shouldn't be used\\n*/\\nvar WikiRuleBase = function() {\\n};\\n\\n/*\\nTo be overridden by individual rules\\n*/\\nWikiRuleBase.prototype.init = function(parser) {\\n\\tthis.parser = parser;\\n};\\n\\n/*\\nDefault implementation of findNextMatch uses RegExp matching\\n*/\\nWikiRuleBase.prototype.findNextMatch = function(startPos) {\\n\\tthis.matchRegExp.lastIndex = startPos;\\n\\tthis.match = this.matchRegExp.exec(this.parser.source);\\n\\treturn this.match ? this.match.index : undefined;\\n};\\n\\nexports.WikiRuleBase = WikiRuleBase;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"global\"},\"$:/core/modules/pluginswitcher.js\":{\"title\":\"$:/core/modules/pluginswitcher.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/pluginswitcher.js\\ntype: application/javascript\\nmodule-type: global\\n\\nManages switching plugins for themes and languages.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\noptions:\\nwiki: wiki store to be used\\npluginType: type of plugin to be switched\\ncontrollerTitle: title of tiddler used to control switching of this resource\\ndefaultPlugins: array of default plugins to be used if nominated plugin isn't found\\nonSwitch: callback when plugin is switched (single parameter is array of plugin titles)\\n*/\\nfunction PluginSwitcher(options) {\\n\\tthis.wiki = options.wiki;\\n\\tthis.pluginType = options.pluginType;\\n\\tthis.controllerTitle = options.controllerTitle;\\n\\tthis.defaultPlugins = options.defaultPlugins || [];\\n\\tthis.onSwitch = options.onSwitch;\\n\\t// Switch to the current plugin\\n\\tthis.switchPlugins();\\n\\t// Listen for changes to the selected plugin\\n\\tvar self = this;\\n\\tthis.wiki.addEventListener(\\\"change\\\",function(changes) {\\n\\t\\tif($tw.utils.hop(changes,self.controllerTitle)) {\\n\\t\\t\\tself.switchPlugins();\\n\\t\\t}\\n\\t});\\n}\\n\\nPluginSwitcher.prototype.switchPlugins = function() {\\n\\t// Get the name of the current theme\\n\\tvar selectedPluginTitle = this.wiki.getTiddlerText(this.controllerTitle);\\n\\t// If it doesn't exist, then fallback to one of the default themes\\n\\tvar index = 0;\\n\\twhile(!this.wiki.getTiddler(selectedPluginTitle) && index < this.defaultPlugins.length) {\\n\\t\\tselectedPluginTitle = this.defaultPlugins[index++];\\n\\t}\\n\\t// Accumulate the titles of the plugins that we need to load\\n\\tvar plugins = [],\\n\\t\\tself = this,\\n\\t\\taccumulatePlugin = function(title) {\\n\\t\\t\\tvar tiddler = self.wiki.getTiddler(title);\\n\\t\\t\\tif(tiddler && tiddler.isPlugin() && plugins.indexOf(title) === -1) {\\n\\t\\t\\t\\tplugins.push(title);\\n\\t\\t\\t\\tvar pluginInfo = $tw.utils.parseJSONSafe(self.wiki.getTiddlerText(title)),\\n\\t\\t\\t\\t\\tdependents = $tw.utils.parseStringArray(tiddler.fields.dependents || \\\"\\\");\\n\\t\\t\\t\\t$tw.utils.each(dependents,function(title) {\\n\\t\\t\\t\\t\\taccumulatePlugin(title);\\n\\t\\t\\t\\t});\\n\\t\\t\\t}\\n\\t\\t};\\n\\taccumulatePlugin(selectedPluginTitle);\\n\\t// Read the plugin info for the incoming plugins\\n\\tvar changes = $tw.wiki.readPluginInfo(plugins);\\n\\t// Unregister any existing theme tiddlers\\n\\tvar unregisteredTiddlers = $tw.wiki.unregisterPluginTiddlers(this.pluginType);\\n\\t// Register any new theme tiddlers\\n\\tvar registeredTiddlers = $tw.wiki.registerPluginTiddlers(this.pluginType,plugins);\\n\\t// Unpack the current theme tiddlers\\n\\t$tw.wiki.unpackPluginTiddlers();\\n\\t// Call the switch handler\\n\\tif(this.onSwitch) {\\n\\t\\tthis.onSwitch(plugins);\\n\\t}\\n};\\n\\nexports.PluginSwitcher = PluginSwitcher;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"global\"},\"$:/core/modules/saver-handler.js\":{\"title\":\"$:/core/modules/saver-handler.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/saver-handler.js\\ntype: application/javascript\\nmodule-type: global\\n\\nThe saver handler tracks changes to the store and handles saving the entire wiki via saver modules.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nInstantiate the saver handler with the following options:\\nwiki: wiki to be synced\\ndirtyTracking: true if dirty tracking should be performed\\n*/\\nfunction SaverHandler(options) {\\n\\tvar self = this;\\n\\tthis.wiki = options.wiki;\\n\\tthis.dirtyTracking = options.dirtyTracking;\\n\\tthis.preloadDirty = options.preloadDirty || [];\\n\\tthis.pendingAutoSave = false;\\n\\t// Make a logger\\n\\tthis.logger = new $tw.utils.Logger(\\\"saver-handler\\\");\\n\\t// Initialise our savers\\n\\tif($tw.browser) {\\n\\t\\tthis.initSavers();\\n\\t}\\n\\t// Only do dirty tracking if required\\n\\tif($tw.browser && this.dirtyTracking) {\\n\\t\\t// Compile the dirty tiddler filter\\n\\t\\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\\n\\t\\t// Count of changes that have not yet been saved\\n\\t\\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\\n\\t\\t\\t\\t$tw.utils.each(self.preloadDirty,function(title) {\\n\\t\\t\\t\\t\\tvar tiddler = self.wiki.getTiddler(title);\\n\\t\\t\\t\\t\\titerator(tiddler,title);\\n\\t\\t\\t\\t});\\n\\t\\t});\\n\\t\\tthis.numChanges = filteredChanges.length;\\n\\t\\t// Listen out for changes to tiddlers\\n\\t\\tthis.wiki.addEventListener(\\\"change\\\",function(changes) {\\n\\t\\t\\t// Filter the changes so that we only count changes to tiddlers that we care about\\n\\t\\t\\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\\n\\t\\t\\t\\t$tw.utils.each(changes,function(change,title) {\\n\\t\\t\\t\\t\\tvar tiddler = self.wiki.getTiddler(title);\\n\\t\\t\\t\\t\\titerator(tiddler,title);\\n\\t\\t\\t\\t});\\n\\t\\t\\t});\\n\\t\\t\\t// Adjust the number of changes\\n\\t\\t\\tself.numChanges += filteredChanges.length;\\n\\t\\t\\tself.updateDirtyStatus();\\n\\t\\t\\t// Do any autosave if one is pending and there's no more change events\\n\\t\\t\\tif(self.pendingAutoSave && self.wiki.getSizeOfTiddlerEventQueue() === 0) {\\n\\t\\t\\t\\t// Check if we're dirty\\n\\t\\t\\t\\tif(self.numChanges > 0) {\\n\\t\\t\\t\\t\\tself.saveWiki({\\n\\t\\t\\t\\t\\t\\tmethod: \\\"autosave\\\",\\n\\t\\t\\t\\t\\t\\tdownloadType: \\\"text/plain\\\"\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tself.pendingAutoSave = false;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\t// Listen for the autosave event\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-auto-save-wiki\\\",function(event) {\\n\\t\\t\\t// Do the autosave unless there are outstanding tiddler change events\\n\\t\\t\\tif(self.wiki.getSizeOfTiddlerEventQueue() === 0) {\\n\\t\\t\\t\\t// Check if we're dirty\\n\\t\\t\\t\\tif(self.numChanges > 0) {\\n\\t\\t\\t\\t\\tself.saveWiki({\\n\\t\\t\\t\\t\\t\\tmethod: \\\"autosave\\\",\\n\\t\\t\\t\\t\\t\\tdownloadType: \\\"text/plain\\\"\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t// Otherwise put ourselves in the \\\"pending autosave\\\" state and wait for the change event before we do the autosave\\n\\t\\t\\t\\tself.pendingAutoSave = true;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\t// Set up our beforeunload handler\\n\\t\\t$tw.addUnloadTask(function(event) {\\n\\t\\t\\tvar confirmationMessage;\\n\\t\\t\\tif(self.isDirty()) {\\n\\t\\t\\t\\tconfirmationMessage = $tw.language.getString(\\\"UnsavedChangesWarning\\\");\\n\\t\\t\\t\\tevent.returnValue = confirmationMessage; // Gecko\\n\\t\\t\\t}\\n\\t\\t\\treturn confirmationMessage;\\n\\t\\t});\\n\\t}\\n\\t// Install the save action handlers\\n\\tif($tw.browser) {\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-save-wiki\\\",function(event) {\\n\\t\\t\\tself.saveWiki({\\n\\t\\t\\t\\ttemplate: event.param,\\n\\t\\t\\t\\tdownloadType: \\\"text/plain\\\",\\n\\t\\t\\t\\tvariables: event.paramObject\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-download-file\\\",function(event) {\\n\\t\\t\\tself.saveWiki({\\n\\t\\t\\t\\tmethod: \\\"download\\\",\\n\\t\\t\\t\\ttemplate: event.param,\\n\\t\\t\\t\\tdownloadType: \\\"text/plain\\\",\\n\\t\\t\\t\\tvariables: event.paramObject\\n\\t\\t\\t});\\n\\t\\t});\\n\\t}\\n}\\n\\nSaverHandler.prototype.titleSyncFilter = \\\"$:/config/SaverFilter\\\";\\nSaverHandler.prototype.titleAutoSave = \\\"$:/config/AutoSave\\\";\\nSaverHandler.prototype.titleSavedNotification = \\\"$:/language/Notifications/Save/Done\\\";\\n\\n/*\\nSelect the appropriate saver modules and set them up\\n*/\\nSaverHandler.prototype.initSavers = function(moduleType) {\\n\\tmoduleType = moduleType || \\\"saver\\\";\\n\\t// Instantiate the available savers\\n\\tthis.savers = [];\\n\\tvar self = this;\\n\\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\\n\\t\\tif(module.canSave(self)) {\\n\\t\\t\\tself.savers.push(module.create(self.wiki));\\n\\t\\t}\\n\\t});\\n\\t// Sort the savers into priority order\\n\\tthis.savers.sort(function(a,b) {\\n\\t\\tif(a.info.priority < b.info.priority) {\\n\\t\\t\\treturn -1;\\n\\t\\t} else {\\n\\t\\t\\tif(a.info.priority > b.info.priority) {\\n\\t\\t\\t\\treturn +1;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n};\\n\\n/*\\nSave the wiki contents. Options are:\\n\\tmethod: \\\"save\\\", \\\"autosave\\\" or \\\"download\\\"\\n\\ttemplate: the tiddler containing the template to save\\n\\tdownloadType: the content type for the saved file\\n*/\\nSaverHandler.prototype.saveWiki = function(options) {\\n\\toptions = options || {};\\n\\tvar self = this,\\n\\t\\tmethod = options.method || \\\"save\\\";\\n\\t// Ignore autosave if disabled\\n\\tif(method === \\\"autosave\\\" && ($tw.config.disableAutoSave || this.wiki.getTiddlerText(this.titleAutoSave,\\\"yes\\\") !== \\\"yes\\\")) {\\n\\t\\treturn false;\\n\\t}\\n\\tvar\\tvariables = options.variables || {},\\n\\t\\ttemplate = (options.template || \\n\\t\\t this.wiki.getTiddlerText(\\\"$:/config/SaveWikiButton/Template\\\",\\\"$:/core/save/all\\\")).trim(),\\n\\t\\tdownloadType = options.downloadType || \\\"text/plain\\\",\\n\\t\\ttext = this.wiki.renderTiddler(downloadType,template,options),\\n\\t\\tcallback = function(err) {\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\talert($tw.language.getString(\\\"Error/WhileSaving\\\") + \\\":\\\\n\\\\n\\\" + err);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t// Clear the task queue if we're saving (rather than downloading)\\n\\t\\t\\t\\tif(method !== \\\"download\\\") {\\n\\t\\t\\t\\t\\tself.numChanges = 0;\\n\\t\\t\\t\\t\\tself.updateDirtyStatus();\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t$tw.notifier.display(self.titleSavedNotification);\\n\\t\\t\\t\\tif(options.callback) {\\n\\t\\t\\t\\t\\toptions.callback();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t};\\n\\t// Call the highest priority saver that supports this method\\n\\tfor(var t=this.savers.length-1; t>=0; t--) {\\n\\t\\tvar saver = this.savers[t];\\n\\t\\tif(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename}})) {\\n\\t\\t\\tthis.logger.log(\\\"Saving wiki with method\\\",method,\\\"through saver\\\",saver.info.name);\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t}\\n\\treturn false;\\n};\\n\\n/*\\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\\n*/\\nSaverHandler.prototype.isDirty = function() {\\n\\treturn this.numChanges > 0;\\n};\\n\\n/*\\nUpdate the document body with the class \\\"tc-dirty\\\" if the wiki has unsaved/unsynced changes\\n*/\\nSaverHandler.prototype.updateDirtyStatus = function() {\\n\\tvar self = this;\\n\\tif($tw.browser) {\\n\\t\\t$tw.utils.toggleClass(document.body,\\\"tc-dirty\\\",this.isDirty());\\n\\t\\t$tw.utils.each($tw.windows,function(win) {\\n\\t\\t\\t$tw.utils.toggleClass(win.document.body,\\\"tc-dirty\\\",self.isDirty());\\n\\t\\t});\\n\\t}\\n};\\n\\nexports.SaverHandler = SaverHandler;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"global\"},\"$:/core/modules/savers/andtidwiki.js\":{\"title\":\"$:/core/modules/savers/andtidwiki.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/savers/andtidwiki.js\\ntype: application/javascript\\nmodule-type: saver\\n\\nHandles saving changes via the AndTidWiki Android app\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false, netscape: false, Components: false */\\n\\\"use strict\\\";\\n\\nvar AndTidWiki = function(wiki) {\\n};\\n\\nAndTidWiki.prototype.save = function(text,method,callback,options) {\\n\\tvar filename = options && options.variables ? options.variables.filename : null;\\n\\tif (method === \\\"download\\\") {\\n\\t\\t// Support download\\n\\t\\tif (window.twi.saveDownload) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\twindow.twi.saveDownload(text,filename);\\n\\t\\t\\t} catch(err) {\\n\\t\\t\\t\\tif (err.message === \\\"Method not found\\\") {\\n\\t\\t\\t\\t\\twindow.twi.saveDownload(text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tvar link = document.createElement(\\\"a\\\");\\n\\t\\t\\tlink.setAttribute(\\\"href\\\",\\\"data:text/plain,\\\" + encodeURIComponent(text));\\n\\t\\t\\tif (filename) {\\n\\t\\t\\t link.setAttribute(\\\"download\\\",filename);\\n\\t\\t\\t}\\n\\t\\t\\tdocument.body.appendChild(link);\\n\\t\\t\\tlink.click();\\n\\t\\t\\tdocument.body.removeChild(link);\\n\\t\\t}\\n\\t} else if (window.twi.saveWiki) {\\n\\t\\t// Direct save in Tiddloid\\n\\t\\twindow.twi.saveWiki(text);\\n\\t} else {\\n\\t\\t// Get the pathname of this document\\n\\t\\tvar pathname = $tw.utils.decodeURIComponentSafe(document.location.toString().split(\\\"#\\\")[0]);\\n\\t\\t// Strip the file://\\n\\t\\tif(pathname.indexOf(\\\"file://\\\") === 0) {\\n\\t\\t\\tpathname = pathname.substr(7);\\n\\t\\t}\\n\\t\\t// Strip any query or location part\\n\\t\\tvar p = pathname.indexOf(\\\"?\\\");\\n\\t\\tif(p !== -1) {\\n\\t\\t\\tpathname = pathname.substr(0,p);\\n\\t\\t}\\n\\t\\tp = pathname.indexOf(\\\"#\\\");\\n\\t\\tif(p !== -1) {\\n\\t\\t\\tpathname = pathname.substr(0,p);\\n\\t\\t}\\n\\t\\t// Save the file\\n\\t\\twindow.twi.saveFile(pathname,text);\\n\\t}\\n\\t// Call the callback\\n\\tcallback(null);\\n\\treturn true;\\n};\\n\\n/*\\nInformation about this saver\\n*/\\nAndTidWiki.prototype.info = {\\n\\tname: \\\"andtidwiki\\\",\\n\\tpriority: 1600,\\n\\tcapabilities: [\\\"save\\\", \\\"autosave\\\", \\\"download\\\"]\\n};\\n\\n/*\\nStatic method that returns true if this saver is capable of working\\n*/\\nexports.canSave = function(wiki) {\\n\\treturn !!window.twi && !!window.twi.saveFile;\\n};\\n\\n/*\\nCreate an instance of this saver\\n*/\\nexports.create = function(wiki) {\\n\\treturn new AndTidWiki(wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"saver\"},\"$:/core/modules/savers/custom.js\":{\"title\":\"$:/core/modules/savers/custom.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/savers/custom.js\\ntype: application/javascript\\nmodule-type: saver\\n\\nLooks for `window.$tw.customSaver` first on the current window, then\\non the parent window (of an iframe). If present, the saver must define\\n\\tsave: function(text,method,callback) { ... }\\nand the saver may define\\n\\tpriority: number\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar findSaver = function(window) {\\n\\ttry {\\n\\t\\treturn window && window.$tw && window.$tw.customSaver;\\n\\t} catch (err) {\\n\\t\\t// Catching the exception is the most reliable way to detect cross-origin iframe errors.\\n\\t\\t// For example, instead of saying that `window.parent.$tw` is undefined, Firefox will throw\\n\\t\\t// Uncaught DOMException: Permission denied to access property \\\"$tw\\\" on cross-origin object\\n\\t\\tconsole.log({ msg: \\\"custom saver is disabled\\\", reason: err });\\n\\t\\treturn null;\\n\\t}\\n}\\nvar saver = findSaver(window) || findSaver(window.parent) || {};\\n\\nvar CustomSaver = function(wiki) {\\n};\\n\\nCustomSaver.prototype.save = function(text,method,callback) {\\n\\treturn saver.save(text, method, callback);\\n};\\n\\n/*\\nInformation about this saver\\n*/\\nCustomSaver.prototype.info = {\\n\\tname: \\\"custom\\\",\\n\\tpriority: saver.priority || 4000,\\n\\tcapabilities: [\\\"save\\\",\\\"autosave\\\"]\\n};\\n\\n/*\\nStatic method that returns true if this saver is capable of working\\n*/\\nexports.canSave = function(wiki) {\\n\\treturn !!(saver.save);\\n};\\n\\n/*\\nCreate an instance of this saver\\n*/\\nexports.create = function(wiki) {\\n\\treturn new CustomSaver(wiki);\\n};\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"saver\"},\"$:/core/modules/savers/download.js\":{\"title\":\"$:/core/modules/savers/download.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/savers/download.js\\ntype: application/javascript\\nmodule-type: saver\\n\\nHandles saving changes via HTML5's download APIs\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nSelect the appropriate saver module and set it up\\n*/\\nvar DownloadSaver = function(wiki) {\\n};\\n\\nDownloadSaver.prototype.save = function(text,method,callback,options) {\\n\\toptions = options || {};\\n\\t// Get the current filename\\n\\tvar filename = options.variables.filename;\\n\\tif(!filename) {\\n\\t\\tvar p = document.location.pathname.lastIndexOf(\\\"/\\\");\\n\\t\\tif(p !== -1) {\\n\\t\\t\\t// We decode the pathname because document.location is URL encoded by the browser\\n\\t\\t\\tfilename = $tw.utils.decodeURIComponentSafe(document.location.pathname.substr(p+1));\\n\\t\\t}\\n\\t}\\n\\tif(!filename) {\\n\\t\\tfilename = \\\"tiddlywiki.html\\\";\\n\\t}\\n\\t// Set up the link\\n\\tvar link = document.createElement(\\\"a\\\");\\n\\tif(Blob !== undefined) {\\n\\t\\tvar blob = new Blob([text], {type: \\\"text/html\\\"});\\n\\t\\tlink.setAttribute(\\\"href\\\", URL.createObjectURL(blob));\\n\\t} else {\\n\\t\\tlink.setAttribute(\\\"href\\\",\\\"data:text/html,\\\" + encodeURIComponent(text));\\n\\t}\\n\\tlink.setAttribute(\\\"download\\\",filename);\\n\\tdocument.body.appendChild(link);\\n\\tlink.click();\\n\\tdocument.body.removeChild(link);\\n\\t// Callback that we succeeded\\n\\tcallback(null);\\n\\treturn true;\\n};\\n\\n/*\\nInformation about this saver\\n*/\\nDownloadSaver.prototype.info = {\\n\\tname: \\\"download\\\",\\n\\tpriority: 100\\n};\\n\\nObject.defineProperty(DownloadSaver.prototype.info, \\\"capabilities\\\", {\\n\\tget: function() {\\n\\t\\tvar capabilities = [\\\"save\\\", \\\"download\\\"];\\n\\t\\tif(($tw.wiki.getTextReference(\\\"$:/config/DownloadSaver/AutoSave\\\") || \\\"\\\").toLowerCase() === \\\"yes\\\") {\\n\\t\\t\\tcapabilities.push(\\\"autosave\\\");\\n\\t\\t}\\n\\t\\treturn capabilities;\\n\\t}\\n});\\n\\n/*\\nStatic method that returns true if this saver is capable of working\\n*/\\nexports.canSave = function(wiki) {\\n\\treturn document.createElement(\\\"a\\\").download !== undefined;\\n};\\n\\n/*\\nCreate an instance of this saver\\n*/\\nexports.create = function(wiki) {\\n\\treturn new DownloadSaver(wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"saver\"},\"$:/core/modules/savers/fsosaver.js\":{\"title\":\"$:/core/modules/savers/fsosaver.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/savers/fsosaver.js\\ntype: application/javascript\\nmodule-type: saver\\n\\nHandles saving changes via MS FileSystemObject ActiveXObject\\n\\nNote: Since TiddlyWiki's markup contains the MOTW, the FileSystemObject normally won't be available. \\nHowever, if the wiki is loaded as an .HTA file (Windows HTML Applications) then the FSO can be used.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nSelect the appropriate saver module and set it up\\n*/\\nvar FSOSaver = function(wiki) {\\n};\\n\\nFSOSaver.prototype.save = function(text,method,callback) {\\n\\t// Get the pathname of this document\\n\\tvar pathname = unescape(document.location.pathname);\\n\\t// Test for a Windows path of the form /x:\\\\blah...\\n\\tif(/^\\\\/[A-Z]\\\\:\\\\\\\\[^\\\\\\\\]+/i.test(pathname)) {\\t// ie: ^/[a-z]:/[^/]+\\n\\t\\t// Remove the leading slash\\n\\t\\tpathname = pathname.substr(1);\\n\\t} else if(document.location.hostname !== \\\"\\\" && /^\\\\/\\\\\\\\[^\\\\\\\\]+\\\\\\\\[^\\\\\\\\]+/i.test(pathname)) {\\t// test for \\\\\\\\server\\\\share\\\\blah... - ^/[^/]+/[^/]+\\n\\t\\t// Remove the leading slash\\n\\t\\tpathname = pathname.substr(1);\\n\\t\\t// reconstruct UNC path\\n\\t\\tpathname = \\\"\\\\\\\\\\\\\\\\\\\" + document.location.hostname + pathname;\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n\\t// Save the file (as UTF-16)\\n\\tvar fso = new ActiveXObject(\\\"Scripting.FileSystemObject\\\");\\n\\tvar file = fso.OpenTextFile(pathname,2,-1,-1);\\n\\tfile.Write(text);\\n\\tfile.Close();\\n\\t// Callback that we succeeded\\n\\tcallback(null);\\n\\treturn true;\\n};\\n\\n/*\\nInformation about this saver\\n*/\\nFSOSaver.prototype.info = {\\n\\tname: \\\"FSOSaver\\\",\\n\\tpriority: 120,\\n\\tcapabilities: [\\\"save\\\", \\\"autosave\\\"]\\n};\\n\\n/*\\nStatic method that returns true if this saver is capable of working\\n*/\\nexports.canSave = function(wiki) {\\n\\ttry {\\n\\t\\treturn (window.location.protocol === \\\"file:\\\") && !!(new ActiveXObject(\\\"Scripting.FileSystemObject\\\"));\\n\\t} catch(e) { return false; }\\n};\\n\\n/*\\nCreate an instance of this saver\\n*/\\nexports.create = function(wiki) {\\n\\treturn new FSOSaver(wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"saver\"},\"$:/core/modules/savers/gitea.js\":{\"title\":\"$:/core/modules/savers/gitea.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/savers/gitea.js\\ntype: application/javascript\\nmodule-type: saver\\n\\nSaves wiki by pushing a commit to the gitea\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nSelect the appropriate saver module and set it up\\n*/\\nvar GiteaSaver = function(wiki) {\\n\\tthis.wiki = wiki;\\n};\\n\\nGiteaSaver.prototype.save = function(text,method,callback) {\\n\\tvar self = this,\\n\\t\\tusername = this.wiki.getTiddlerText(\\\"$:/Gitea/Username\\\"),\\n\\t\\tpassword = $tw.utils.getPassword(\\\"Gitea\\\"),\\n\\t\\trepo = this.wiki.getTiddlerText(\\\"$:/Gitea/Repo\\\"),\\n\\t\\tpath = this.wiki.getTiddlerText(\\\"$:/Gitea/Path\\\",\\\"\\\"),\\n\\t\\tfilename = this.wiki.getTiddlerText(\\\"$:/Gitea/Filename\\\"),\\n\\t\\tbranch = this.wiki.getTiddlerText(\\\"$:/Gitea/Branch\\\") || \\\"master\\\",\\n\\t\\tendpoint = this.wiki.getTiddlerText(\\\"$:/Gitea/ServerURL\\\") || \\\"https://gitea\\\",\\n\\t\\theaders = {\\n\\t\\t\\t\\\"Accept\\\": \\\"application/json\\\",\\n\\t\\t\\t\\\"Content-Type\\\": \\\"application/json;charset=UTF-8\\\",\\n\\t\\t\\t\\\"Authorization\\\": \\\"token \\\" + password\\n\\t\\t};\\n\\t// Bail if we don't have everything we need\\n\\tif(!username || !password || !repo || !filename) {\\n\\t\\treturn false;\\n\\t}\\n\\t// Make sure the path start and ends with a slash\\n\\tif(path.substring(0,1) !== \\\"/\\\") {\\n\\t\\tpath = \\\"/\\\" + path;\\n\\t}\\n\\tif(path.substring(path.length - 1) !== \\\"/\\\") {\\n\\t\\tpath = path + \\\"/\\\";\\n\\t}\\n\\t// Compose the base URI\\n\\tvar uri = endpoint + \\\"/repos/\\\" + repo + \\\"/contents\\\" + path;\\n\\t// Perform a get request to get the details (inc shas) of files in the same path as our file\\n\\t$tw.utils.httpRequest({\\n\\t\\turl: uri,\\n\\t\\ttype: \\\"GET\\\",\\n\\t\\theaders: headers,\\n\\t\\tdata: {\\n\\t\\t\\tref: branch\\n\\t\\t},\\n\\t\\tcallback: function(err,getResponseDataJson,xhr) {\\n\\t\\t\\tvar getResponseData,sha = \\\"\\\";\\n\\t\\t\\tif(err && xhr.status !== 404) {\\n\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t}\\n\\t\\t\\tvar use_put = true;\\n\\t\\t\\tif(xhr.status !== 404) {\\n\\t\\t\\t\\tgetResponseData = $tw.utils.parseJSONSafe(getResponseDataJson);\\n\\t\\t\\t\\t$tw.utils.each(getResponseData,function(details) {\\n\\t\\t\\t\\t\\tif(details.name === filename) {\\n\\t\\t\\t\\t\\t\\tsha = details.sha;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\tif(sha === \\\"\\\"){\\n\\t\\t\\t\\t\\tuse_put = false;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tvar data = {\\n\\t\\t\\t\\tmessage: $tw.language.getString(\\\"ControlPanel/Saving/GitService/CommitMessage\\\"),\\n\\t\\t\\t\\tcontent: $tw.utils.base64Encode(text),\\n\\t\\t\\t\\tsha: sha\\n\\t\\t\\t};\\n\\t\\t\\t$tw.utils.httpRequest({\\n\\t\\t\\t\\turl: endpoint + \\\"/repos/\\\" + repo + \\\"/branches/\\\" + branch,\\n\\t\\t\\t\\ttype: \\\"GET\\\",\\n\\t\\t\\t\\theaders: headers,\\n\\t\\t\\t\\tcallback: function(err,getResponseDataJson,xhr) {\\n\\t\\t\\t\\t\\tif(xhr.status === 404) {\\n\\t\\t\\t\\t\\t\\tcallback(\\\"Please ensure the branch in the Gitea repo exists\\\");\\n\\t\\t\\t\\t\\t}else{\\n\\t\\t\\t\\t\\t\\tdata[\\\"branch\\\"] = branch;\\n\\t\\t\\t\\t\\t\\tself.upload(uri + filename, use_put?\\\"PUT\\\":\\\"POST\\\", headers, data, callback);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t});\\n\\treturn true;\\n};\\n\\nGiteaSaver.prototype.upload = function(uri,method,headers,data,callback) {\\n\\t$tw.utils.httpRequest({\\n\\t\\turl: uri,\\n\\t\\ttype: method,\\n\\t\\theaders: headers,\\n\\t\\tdata: JSON.stringify(data),\\n\\t\\tcallback: function(err,putResponseDataJson,xhr) {\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t}\\n\\t\\t\\tvar putResponseData = $tw.utils.parseJSONSafe(putResponseDataJson);\\n\\t\\t\\tcallback(null);\\n\\t\\t}\\n\\t});\\n};\\n\\n/*\\nInformation about this saver\\n*/\\nGiteaSaver.prototype.info = {\\n\\tname: \\\"Gitea\\\",\\n\\tpriority: 2000,\\n\\tcapabilities: [\\\"save\\\", \\\"autosave\\\"]\\n};\\n\\n/*\\nStatic method that returns true if this saver is capable of working\\n*/\\nexports.canSave = function(wiki) {\\n\\treturn true;\\n};\\n\\n/*\\nCreate an instance of this saver\\n*/\\nexports.create = function(wiki) {\\n\\treturn new GiteaSaver(wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"saver\"},\"$:/core/modules/savers/github.js\":{\"title\":\"$:/core/modules/savers/github.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/savers/github.js\\ntype: application/javascript\\nmodule-type: saver\\n\\nSaves wiki by pushing a commit to the GitHub v3 REST API\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nSelect the appropriate saver module and set it up\\n*/\\nvar GitHubSaver = function(wiki) {\\n\\tthis.wiki = wiki;\\n};\\n\\nGitHubSaver.prototype.save = function(text,method,callback) {\\n\\tvar self = this,\\n\\t\\tusername = this.wiki.getTiddlerText(\\\"$:/GitHub/Username\\\"),\\n\\t\\tpassword = $tw.utils.getPassword(\\\"github\\\"),\\n\\t\\trepo = this.wiki.getTiddlerText(\\\"$:/GitHub/Repo\\\"),\\n\\t\\tpath = this.wiki.getTiddlerText(\\\"$:/GitHub/Path\\\",\\\"\\\"),\\n\\t\\tfilename = this.wiki.getTiddlerText(\\\"$:/GitHub/Filename\\\"),\\n\\t\\tbranch = this.wiki.getTiddlerText(\\\"$:/GitHub/Branch\\\") || \\\"main\\\",\\n\\t\\tendpoint = this.wiki.getTiddlerText(\\\"$:/GitHub/ServerURL\\\") || \\\"https://api.github.com\\\",\\n\\t\\theaders = {\\n\\t\\t\\t\\\"Accept\\\": \\\"application/vnd.github.v3+json\\\",\\n\\t\\t\\t\\\"Content-Type\\\": \\\"application/json;charset=UTF-8\\\",\\n\\t\\t\\t\\\"Authorization\\\": \\\"Basic \\\" + $tw.utils.base64Encode(username + \\\":\\\" + password),\\n\\t\\t\\t\\\"If-None-Match\\\": \\\"\\\"\\n\\t\\t};\\n\\t// Bail if we don't have everything we need\\n\\tif(!username || !password || !repo || !filename) {\\n\\t\\treturn false;\\n\\t}\\n\\t// Make sure the path start and ends with a slash\\n\\tif(path.substring(0,1) !== \\\"/\\\") {\\n\\t\\tpath = \\\"/\\\" + path;\\n\\t}\\n\\tif(path.substring(path.length - 1) !== \\\"/\\\") {\\n\\t\\tpath = path + \\\"/\\\";\\n\\t}\\n\\t// Compose the base URI\\n\\tvar uri = endpoint + \\\"/repos/\\\" + repo + \\\"/contents\\\" + path;\\n\\t// Perform a get request to get the details (inc shas) of files in the same path as our file\\n\\t$tw.utils.httpRequest({\\n\\t\\turl: uri,\\n\\t\\ttype: \\\"GET\\\",\\n\\t\\theaders: headers,\\n\\t\\tdata: {\\n\\t\\t\\tref: branch\\n\\t\\t},\\n\\t\\tcallback: function(err,getResponseDataJson,xhr) {\\n\\t\\t\\tvar getResponseData,sha = \\\"\\\";\\n\\t\\t\\tif(err && xhr.status !== 404) {\\n\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t}\\n\\t\\t\\tif(xhr.status !== 404) {\\n\\t\\t\\t\\tgetResponseData = $tw.utils.parseJSONSafe(getResponseDataJson);\\n\\t\\t\\t\\t$tw.utils.each(getResponseData,function(details) {\\n\\t\\t\\t\\t\\tif(details.name === filename) {\\n\\t\\t\\t\\t\\t\\tsha = details.sha;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t});\\n\\t\\t\\t}\\n\\t\\t\\tvar data = {\\n\\t\\t\\t\\tmessage: $tw.language.getString(\\\"ControlPanel/Saving/GitService/CommitMessage\\\"),\\n\\t\\t\\t\\tcontent: $tw.utils.base64Encode(text),\\n\\t\\t\\t\\tbranch: branch,\\n\\t\\t\\t\\tsha: sha\\n\\t\\t\\t};\\n\\t\\t\\t// Perform a PUT request to save the file\\n\\t\\t\\t$tw.utils.httpRequest({\\n\\t\\t\\t\\turl: uri + filename,\\n\\t\\t\\t\\ttype: \\\"PUT\\\",\\n\\t\\t\\t\\theaders: headers,\\n\\t\\t\\t\\tdata: JSON.stringify(data),\\n\\t\\t\\t\\tcallback: function(err,putResponseDataJson,xhr) {\\n\\t\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tvar putResponseData = $tw.utils.parseJSONSafe(putResponseDataJson);\\n\\t\\t\\t\\t\\tcallback(null);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t});\\n\\treturn true;\\n};\\n\\n/*\\nInformation about this saver\\n*/\\nGitHubSaver.prototype.info = {\\n\\tname: \\\"github\\\",\\n\\tpriority: 2000,\\n\\tcapabilities: [\\\"save\\\", \\\"autosave\\\"]\\n};\\n\\n/*\\nStatic method that returns true if this saver is capable of working\\n*/\\nexports.canSave = function(wiki) {\\n\\treturn true;\\n};\\n\\n/*\\nCreate an instance of this saver\\n*/\\nexports.create = function(wiki) {\\n\\treturn new GitHubSaver(wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"saver\"},\"$:/core/modules/savers/gitlab.js\":{\"title\":\"$:/core/modules/savers/gitlab.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/savers/gitlab.js\\ntype: application/javascript\\nmodule-type: saver\\n\\nSaves wiki by pushing a commit to the GitLab REST API\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: true */\\n\\\"use strict\\\";\\n\\n/*\\nSelect the appropriate saver module and set it up\\n*/\\nvar GitLabSaver = function(wiki) {\\n\\tthis.wiki = wiki;\\n};\\n\\nGitLabSaver.prototype.save = function(text,method,callback) {\\n\\t/* See https://docs.gitlab.com/ee/api/repository_files.html */\\n\\tvar self = this,\\n\\t\\tusername = this.wiki.getTiddlerText(\\\"$:/GitLab/Username\\\"),\\n\\t\\tpassword = $tw.utils.getPassword(\\\"gitlab\\\"),\\n\\t\\trepo = this.wiki.getTiddlerText(\\\"$:/GitLab/Repo\\\"),\\n\\t\\tpath = this.wiki.getTiddlerText(\\\"$:/GitLab/Path\\\",\\\"\\\"),\\n\\t\\tfilename = this.wiki.getTiddlerText(\\\"$:/GitLab/Filename\\\"),\\n\\t\\tbranch = this.wiki.getTiddlerText(\\\"$:/GitLab/Branch\\\") || \\\"master\\\",\\n\\t\\tendpoint = this.wiki.getTiddlerText(\\\"$:/GitLab/ServerURL\\\") || \\\"https://gitlab.com/api/v4\\\",\\n\\t\\theaders = {\\n\\t\\t\\t\\\"Content-Type\\\": \\\"application/json;charset=UTF-8\\\",\\n\\t\\t\\t\\\"Private-Token\\\": password\\n\\t\\t};\\n\\t// Bail if we don't have everything we need\\n\\tif(!username || !password || !repo || !filename) {\\n\\t\\treturn false;\\n\\t}\\n\\t// Make sure the path start and ends with a slash\\n\\tif(path.substring(0,1) !== \\\"/\\\") {\\n\\t\\tpath = \\\"/\\\" + path;\\n\\t}\\n\\tif(path.substring(path.length - 1) !== \\\"/\\\") {\\n\\t\\tpath = path + \\\"/\\\";\\n\\t}\\n\\t// Compose the base URI\\n\\tvar uri = endpoint + \\\"/projects/\\\" + encodeURIComponent(repo) + \\\"/repository/\\\";\\n\\t// Perform a get request to get the details (inc shas) of files in the same path as our file\\n\\t$tw.utils.httpRequest({\\n\\t\\turl: uri + \\\"tree/?path=\\\" + encodeURIComponent(path.replace(/^\\\\/+|\\\\/$/g, '')) + \\\"&branch=\\\" + encodeURIComponent(branch.replace(/^\\\\/+|\\\\/$/g, '')),\\n\\t\\ttype: \\\"GET\\\",\\n\\t\\theaders: headers,\\n\\t\\tcallback: function(err,getResponseDataJson,xhr) {\\n\\t\\t\\tvar getResponseData,sha = \\\"\\\";\\n\\t\\t\\tif(err && xhr.status !== 404) {\\n\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t}\\n\\t\\t\\tvar requestType = \\\"POST\\\";\\n\\t\\t\\tif(xhr.status !== 404) {\\n\\t\\t\\t\\tgetResponseData = $tw.utils.parseJSONSafe(getResponseDataJson);\\n\\t\\t\\t\\t$tw.utils.each(getResponseData,function(details) {\\n\\t\\t\\t\\t\\tif(details.name === filename) {\\n\\t\\t\\t\\t\\t\\trequestType = \\\"PUT\\\";\\n\\t\\t\\t\\t\\t\\tsha = details.sha;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t});\\n\\t\\t\\t}\\n\\t\\t\\tvar data = {\\n\\t\\t\\t\\tcommit_message: $tw.language.getString(\\\"ControlPanel/Saving/GitService/CommitMessage\\\"),\\n\\t\\t\\t\\tcontent: text,\\n\\t\\t\\t\\tbranch: branch,\\n\\t\\t\\t\\tsha: sha\\n\\t\\t\\t};\\n\\t\\t\\t// Perform a request to save the file\\n\\t\\t\\t$tw.utils.httpRequest({\\n\\t\\t\\t\\turl: uri + \\\"files/\\\" + encodeURIComponent(path.replace(/^\\\\/+/, '') + filename),\\n\\t\\t\\t\\ttype: requestType,\\n\\t\\t\\t\\theaders: headers,\\n\\t\\t\\t\\tdata: JSON.stringify(data),\\n\\t\\t\\t\\tcallback: function(err,putResponseDataJson,xhr) {\\n\\t\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tvar putResponseData = $tw.utils.parseJSONSafe(putResponseDataJson);\\n\\t\\t\\t\\t\\tcallback(null);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t});\\n\\treturn true;\\n};\\n\\n/*\\nInformation about this saver\\n*/\\nGitLabSaver.prototype.info = {\\n\\tname: \\\"gitlab\\\",\\n\\tpriority: 2000,\\n\\tcapabilities: [\\\"save\\\", \\\"autosave\\\"]\\n};\\n\\n/*\\nStatic method that returns true if this saver is capable of working\\n*/\\nexports.canSave = function(wiki) {\\n\\treturn true;\\n};\\n\\n/*\\nCreate an instance of this saver\\n*/\\nexports.create = function(wiki) {\\n\\treturn new GitLabSaver(wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"saver\"},\"$:/core/modules/savers/manualdownload.js\":{\"title\":\"$:/core/modules/savers/manualdownload.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/savers/manualdownload.js\\ntype: application/javascript\\nmodule-type: saver\\n\\nHandles saving changes via HTML5's download APIs\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Title of the tiddler containing the download message\\nvar downloadInstructionsTitle = \\\"$:/language/Modals/Download\\\";\\n\\n/*\\nSelect the appropriate saver module and set it up\\n*/\\nvar ManualDownloadSaver = function(wiki) {\\n};\\n\\nManualDownloadSaver.prototype.save = function(text,method,callback) {\\n\\t$tw.modal.display(downloadInstructionsTitle,{\\n\\t\\tdownloadLink: \\\"data:text/html,\\\" + encodeURIComponent(text)\\n\\t});\\n\\t// Callback that we succeeded\\n\\tcallback(null);\\n\\treturn true;\\n};\\n\\n/*\\nInformation about this saver\\n*/\\nManualDownloadSaver.prototype.info = {\\n\\tname: \\\"manualdownload\\\",\\n\\tpriority: 0,\\n\\tcapabilities: [\\\"save\\\", \\\"download\\\"]\\n};\\n\\n/*\\nStatic method that returns true if this saver is capable of working\\n*/\\nexports.canSave = function(wiki) {\\n\\treturn true;\\n};\\n\\n/*\\nCreate an instance of this saver\\n*/\\nexports.create = function(wiki) {\\n\\treturn new ManualDownloadSaver(wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"saver\"},\"$:/core/modules/savers/msdownload.js\":{\"title\":\"$:/core/modules/savers/msdownload.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/savers/msdownload.js\\ntype: application/javascript\\nmodule-type: saver\\n\\nHandles saving changes via window.navigator.msSaveBlob()\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nSelect the appropriate saver module and set it up\\n*/\\nvar MsDownloadSaver = function(wiki) {\\n};\\n\\nMsDownloadSaver.prototype.save = function(text,method,callback) {\\n\\t// Get the current filename\\n\\tvar filename = \\\"tiddlywiki.html\\\",\\n\\t\\tp = document.location.pathname.lastIndexOf(\\\"/\\\");\\n\\tif(p !== -1) {\\n\\t\\tfilename = document.location.pathname.substr(p+1);\\n\\t}\\n\\t// Set up the link\\n\\tvar blob = new Blob([text], {type: \\\"text/html\\\"});\\n\\twindow.navigator.msSaveBlob(blob,filename);\\n\\t// Callback that we succeeded\\n\\tcallback(null);\\n\\treturn true;\\n};\\n\\n/*\\nInformation about this saver\\n*/\\nMsDownloadSaver.prototype.info = {\\n\\tname: \\\"msdownload\\\",\\n\\tpriority: 110,\\n\\tcapabilities: [\\\"save\\\", \\\"download\\\"]\\n};\\n\\n/*\\nStatic method that returns true if this saver is capable of working\\n*/\\nexports.canSave = function(wiki) {\\n\\treturn !!window.navigator.msSaveBlob;\\n};\\n\\n/*\\nCreate an instance of this saver\\n*/\\nexports.create = function(wiki) {\\n\\treturn new MsDownloadSaver(wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"saver\"},\"$:/core/modules/savers/put.js\":{\"title\":\"$:/core/modules/savers/put.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/savers/put.js\\ntype: application/javascript\\nmodule-type: saver\\n\\nSaves wiki by performing a PUT request to the server\\n\\nWorks with any server which accepts a PUT request\\nto the current URL, such as a WebDAV server.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nRetrieve ETag if available\\n*/\\nvar retrieveETag = function(self) {\\n\\tvar headers = {\\n\\t\\tAccept: \\\"*/*;charset=UTF-8\\\"\\n\\t};\\n\\t$tw.utils.httpRequest({\\n\\t\\turl: self.uri(),\\n\\t\\ttype: \\\"HEAD\\\",\\n\\t\\theaders: headers,\\n\\t\\tcallback: function(err,data,xhr) {\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\tvar etag = xhr.getResponseHeader(\\\"ETag\\\");\\n\\t\\t\\tif(!etag) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\tself.etag = etag.replace(/^W\\\\//,\\\"\\\");\\n\\t\\t}\\n\\t});\\n};\\n\\n\\n/*\\nSelect the appropriate saver module and set it up\\n*/\\nvar PutSaver = function(wiki) {\\n\\tthis.wiki = wiki;\\n\\tvar self = this;\\n\\tvar uri = this.uri();\\n\\t// Async server probe. Until probe finishes, save will fail fast\\n\\t// See also https://github.com/Jermolene/TiddlyWiki5/issues/2276\\n\\t$tw.utils.httpRequest({\\n\\t\\turl: uri,\\n\\t\\ttype: \\\"OPTIONS\\\",\\n\\t\\tcallback: function(err,data,xhr) {\\n\\t\\t\\t// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1\\n\\t\\t\\tif(!err) {\\n\\t\\t\\t\\tself.serverAcceptsPuts = xhr.status === 200 && !!xhr.getResponseHeader(\\\"dav\\\");\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\tretrieveETag(this);\\n};\\n\\nPutSaver.prototype.uri = function() {\\n\\treturn document.location.toString().split(\\\"#\\\")[0];\\n};\\n\\n// TODO: in case of edit conflict\\n// Prompt: Do you want to save over this? Y/N\\n// Merging would be ideal, and may be possible using future generic merge flow\\nPutSaver.prototype.save = function(text,method,callback) {\\n\\tif(!this.serverAcceptsPuts) {\\n\\t\\treturn false;\\n\\t}\\n\\tvar self = this;\\n\\tvar headers = {\\n\\t\\t\\\"Content-Type\\\": \\\"text/html;charset=UTF-8\\\"\\n\\t};\\n\\tif(this.etag) {\\n\\t\\theaders[\\\"If-Match\\\"] = this.etag;\\n\\t}\\n\\t$tw.notifier.display(\\\"$:/language/Notifications/Save/Starting\\\");\\n\\t$tw.utils.httpRequest({\\n\\t\\turl: this.uri(),\\n\\t\\ttype: \\\"PUT\\\",\\n\\t\\theaders: headers,\\n\\t\\tdata: text,\\n\\t\\tcallback: function(err,data,xhr) {\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\tvar status = xhr.status,\\n\\t\\t\\t\\t\\terrorMsg = err;\\n\\t\\t\\t\\tif(status === 412) { // file changed on server\\n\\t\\t\\t\\t\\terrorMsg = $tw.language.getString(\\\"Error/PutEditConflict\\\");\\n\\t\\t\\t\\t} else if(status === 401) { // authentication required\\n\\t\\t\\t\\t\\terrorMsg = $tw.language.getString(\\\"Error/PutUnauthorized\\\");\\n\\t\\t\\t\\t} else if(status === 403) { // permission denied\\n\\t\\t\\t\\t\\terrorMsg = $tw.language.getString(\\\"Error/PutForbidden\\\");\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif (xhr.responseText) {\\n\\t\\t\\t\\t\\t// treat any server response like a plain text error explanation\\n\\t\\t\\t\\t\\terrorMsg = errorMsg + \\\"\\\\n\\\\n\\\" + xhr.responseText;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tcallback(errorMsg); // fail\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tself.etag = xhr.getResponseHeader(\\\"ETag\\\");\\n\\t\\t\\t\\tif(self.etag == null) {\\n\\t\\t\\t\\t\\tretrieveETag(self);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tcallback(null); // success\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\treturn true;\\n};\\n\\n/*\\nInformation about this saver\\n*/\\nPutSaver.prototype.info = {\\n\\tname: \\\"put\\\",\\n\\tpriority: 2000,\\n\\tcapabilities: [\\\"save\\\",\\\"autosave\\\"]\\n};\\n\\n/*\\nStatic method that returns true if this saver is capable of working\\n*/\\nexports.canSave = function(wiki) {\\n\\treturn /^https?:/.test(location.protocol);\\n};\\n\\n/*\\nCreate an instance of this saver\\n*/\\nexports.create = function(wiki) {\\n\\treturn new PutSaver(wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"saver\"},\"$:/core/modules/savers/tiddlyfox.js\":{\"title\":\"$:/core/modules/savers/tiddlyfox.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/savers/tiddlyfox.js\\ntype: application/javascript\\nmodule-type: saver\\n\\nHandles saving changes via the TiddlyFox file extension\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false, netscape: false, Components: false */\\n\\\"use strict\\\";\\n\\nvar TiddlyFoxSaver = function(wiki) {\\n};\\n\\nTiddlyFoxSaver.prototype.save = function(text,method,callback) {\\n\\tvar messageBox = document.getElementById(\\\"tiddlyfox-message-box\\\");\\n\\tif(messageBox) {\\n\\t\\t// Get the pathname of this document\\n\\t\\tvar pathname = document.location.toString().split(\\\"#\\\")[0];\\n\\t\\t// Replace file://localhost/ with file:///\\n\\t\\tif(pathname.indexOf(\\\"file://localhost/\\\") === 0) {\\n\\t\\t\\tpathname = \\\"file://\\\" + pathname.substr(16);\\n\\t\\t}\\n\\t\\t// Windows path file:///x:/blah/blah --> x:\\\\blah\\\\blah\\n\\t\\tif(/^file\\\\:\\\\/\\\\/\\\\/[A-Z]\\\\:\\\\//i.test(pathname)) {\\n\\t\\t\\t// Remove the leading slash and convert slashes to backslashes\\n\\t\\t\\tpathname = pathname.substr(8).replace(/\\\\//g,\\\"\\\\\\\\\\\");\\n\\t\\t// Firefox Windows network path file://///server/share/blah/blah --> //server/share/blah/blah\\n\\t\\t} else if(pathname.indexOf(\\\"file://///\\\") === 0) {\\n\\t\\t\\tpathname = \\\"\\\\\\\\\\\\\\\\\\\" + unescape(pathname.substr(10)).replace(/\\\\//g,\\\"\\\\\\\\\\\");\\n\\t\\t// Mac/Unix local path file:///path/path --> /path/path\\n\\t\\t} else if(pathname.indexOf(\\\"file:///\\\") === 0) {\\n\\t\\t\\tpathname = unescape(pathname.substr(7));\\n\\t\\t// Mac/Unix local path file:/path/path --> /path/path\\n\\t\\t} else if(pathname.indexOf(\\\"file:/\\\") === 0) {\\n\\t\\t\\tpathname = unescape(pathname.substr(5));\\n\\t\\t// Otherwise Windows networth path file://server/share/path/path --> \\\\\\\\server\\\\share\\\\path\\\\path\\n\\t\\t} else {\\n\\t\\t\\tpathname = \\\"\\\\\\\\\\\\\\\\\\\" + unescape(pathname.substr(7)).replace(new RegExp(\\\"/\\\",\\\"g\\\"),\\\"\\\\\\\\\\\");\\n\\t\\t}\\n\\t\\t// Create the message element and put it in the message box\\n\\t\\tvar message = document.createElement(\\\"div\\\");\\n\\t\\tmessage.setAttribute(\\\"data-tiddlyfox-path\\\",$tw.utils.decodeURIComponentSafe(pathname));\\n\\t\\tmessage.setAttribute(\\\"data-tiddlyfox-content\\\",text);\\n\\t\\tmessageBox.appendChild(message);\\n\\t\\t// Add an event handler for when the file has been saved\\n\\t\\tmessage.addEventListener(\\\"tiddlyfox-have-saved-file\\\",function(event) {\\n\\t\\t\\tcallback(null);\\n\\t\\t}, false);\\n\\t\\t// Create and dispatch the custom event to the extension\\n\\t\\tvar event = document.createEvent(\\\"Events\\\");\\n\\t\\tevent.initEvent(\\\"tiddlyfox-save-file\\\",true,false);\\n\\t\\tmessage.dispatchEvent(event);\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\n/*\\nInformation about this saver\\n*/\\nTiddlyFoxSaver.prototype.info = {\\n\\tname: \\\"tiddlyfox\\\",\\n\\tpriority: 1500,\\n\\tcapabilities: [\\\"save\\\", \\\"autosave\\\"]\\n};\\n\\n/*\\nStatic method that returns true if this saver is capable of working\\n*/\\nexports.canSave = function(wiki) {\\n\\treturn true;\\n};\\n\\n/*\\nCreate an instance of this saver\\n*/\\nexports.create = function(wiki) {\\n\\treturn new TiddlyFoxSaver(wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"saver\"},\"$:/core/modules/savers/tiddlyie.js\":{\"title\":\"$:/core/modules/savers/tiddlyie.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/savers/tiddlyie.js\\ntype: application/javascript\\nmodule-type: saver\\n\\nHandles saving changes via Internet Explorer BHO extenion (TiddlyIE)\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nSelect the appropriate saver module and set it up\\n*/\\nvar TiddlyIESaver = function(wiki) {\\n};\\n\\nTiddlyIESaver.prototype.save = function(text,method,callback) {\\n\\t// Check existence of TiddlyIE BHO extension (note: only works after document is complete)\\n\\tif(typeof(window.TiddlyIE) != \\\"undefined\\\") {\\n\\t\\t// Get the pathname of this document\\n\\t\\tvar pathname = unescape(document.location.pathname);\\n\\t\\t// Test for a Windows path of the form /x:/blah...\\n\\t\\tif(/^\\\\/[A-Z]\\\\:\\\\/[^\\\\/]+/i.test(pathname)) {\\t// ie: ^/[a-z]:/[^/]+ (is this better?: ^/[a-z]:/[^/]+(/[^/]+)*\\\\.[^/]+ )\\n\\t\\t\\t// Remove the leading slash\\n\\t\\t\\tpathname = pathname.substr(1);\\n\\t\\t\\t// Convert slashes to backslashes\\n\\t\\t\\tpathname = pathname.replace(/\\\\//g,\\\"\\\\\\\\\\\");\\n\\t\\t} else if(document.hostname !== \\\"\\\" && /^\\\\/[^\\\\/]+\\\\/[^\\\\/]+/i.test(pathname)) {\\t// test for \\\\\\\\server\\\\share\\\\blah... - ^/[^/]+/[^/]+\\n\\t\\t\\t// Convert slashes to backslashes\\n\\t\\t\\tpathname = pathname.replace(/\\\\//g,\\\"\\\\\\\\\\\");\\n\\t\\t\\t// reconstruct UNC path\\n\\t\\t\\tpathname = \\\"\\\\\\\\\\\\\\\\\\\" + document.location.hostname + pathname;\\n\\t\\t} else return false;\\n\\t\\t// Prompt the user to save the file\\n\\t\\twindow.TiddlyIE.save(pathname, text);\\n\\t\\t// Callback that we succeeded\\n\\t\\tcallback(null);\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\n/*\\nInformation about this saver\\n*/\\nTiddlyIESaver.prototype.info = {\\n\\tname: \\\"tiddlyiesaver\\\",\\n\\tpriority: 1500,\\n\\tcapabilities: [\\\"save\\\"]\\n};\\n\\n/*\\nStatic method that returns true if this saver is capable of working\\n*/\\nexports.canSave = function(wiki) {\\n\\treturn (window.location.protocol === \\\"file:\\\");\\n};\\n\\n/*\\nCreate an instance of this saver\\n*/\\nexports.create = function(wiki) {\\n\\treturn new TiddlyIESaver(wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"saver\"},\"$:/core/modules/savers/twedit.js\":{\"title\":\"$:/core/modules/savers/twedit.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/savers/twedit.js\\ntype: application/javascript\\nmodule-type: saver\\n\\nHandles saving changes via the TWEdit iOS app\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false, netscape: false, Components: false */\\n\\\"use strict\\\";\\n\\nvar TWEditSaver = function(wiki) {\\n};\\n\\nTWEditSaver.prototype.save = function(text,method,callback) {\\n\\t// Bail if we're not running under TWEdit\\n\\tif(typeof DeviceInfo !== \\\"object\\\") {\\n\\t\\treturn false;\\n\\t}\\n\\t// Get the pathname of this document\\n\\tvar pathname = $tw.utils.decodeURIComponentSafe(document.location.pathname);\\n\\t// Strip any query or location part\\n\\tvar p = pathname.indexOf(\\\"?\\\");\\n\\tif(p !== -1) {\\n\\t\\tpathname = pathname.substr(0,p);\\n\\t}\\n\\tp = pathname.indexOf(\\\"#\\\");\\n\\tif(p !== -1) {\\n\\t\\tpathname = pathname.substr(0,p);\\n\\t}\\n\\t// Remove the leading \\\"/Documents\\\" from path\\n\\tvar prefix = \\\"/Documents\\\";\\n\\tif(pathname.indexOf(prefix) === 0) {\\n\\t\\tpathname = pathname.substr(prefix.length);\\n\\t}\\n\\t// Error handler\\n\\tvar errorHandler = function(event) {\\n\\t\\t// Error\\n\\t\\tcallback($tw.language.getString(\\\"Error/SavingToTWEdit\\\") + \\\": \\\" + event.target.error.code);\\n\\t};\\n\\t// Get the file system\\n\\twindow.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem) {\\n\\t\\t// Now we've got the filesystem, get the fileEntry\\n\\t\\tfileSystem.root.getFile(pathname, {create: true}, function(fileEntry) {\\n\\t\\t\\t// Now we've got the fileEntry, create the writer\\n\\t\\t\\tfileEntry.createWriter(function(writer) {\\n\\t\\t\\t\\twriter.onerror = errorHandler;\\n\\t\\t\\t\\twriter.onwrite = function() {\\n\\t\\t\\t\\t\\tcallback(null);\\n\\t\\t\\t\\t};\\n\\t\\t\\t\\twriter.position = 0;\\n\\t\\t\\t\\twriter.write(text);\\n\\t\\t\\t},errorHandler);\\n\\t\\t}, errorHandler);\\n\\t}, errorHandler);\\n\\treturn true;\\n};\\n\\n/*\\nInformation about this saver\\n*/\\nTWEditSaver.prototype.info = {\\n\\tname: \\\"twedit\\\",\\n\\tpriority: 1600,\\n\\tcapabilities: [\\\"save\\\", \\\"autosave\\\"]\\n};\\n\\n/*\\nStatic method that returns true if this saver is capable of working\\n*/\\nexports.canSave = function(wiki) {\\n\\treturn true;\\n};\\n\\n/*\\nCreate an instance of this saver\\n*/\\nexports.create = function(wiki) {\\n\\treturn new TWEditSaver(wiki);\\n};\\n\\n/////////////////////////// Hack\\n// HACK: This ensures that TWEdit recognises us as a TiddlyWiki document\\nif($tw.browser) {\\n\\twindow.version = {title: \\\"TiddlyWiki\\\"};\\n}\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"saver\"},\"$:/core/modules/savers/upload.js\":{\"title\":\"$:/core/modules/savers/upload.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/savers/upload.js\\ntype: application/javascript\\nmodule-type: saver\\n\\nHandles saving changes via upload to a server.\\n\\nDesigned to be compatible with BidiX's UploadPlugin at http://tiddlywiki.bidix.info/#UploadPlugin\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nSelect the appropriate saver module and set it up\\n*/\\nvar UploadSaver = function(wiki) {\\n\\tthis.wiki = wiki;\\n};\\n\\nUploadSaver.prototype.save = function(text,method,callback) {\\n\\t// Get the various parameters we need\\n\\tvar backupDir = this.wiki.getTextReference(\\\"$:/UploadBackupDir\\\") || \\\".\\\",\\n\\t\\tusername = this.wiki.getTextReference(\\\"$:/UploadName\\\"),\\n\\t\\tpassword = $tw.utils.getPassword(\\\"upload\\\"),\\n\\t\\tuploadDir = this.wiki.getTextReference(\\\"$:/UploadDir\\\") || \\\".\\\",\\n\\t\\tuploadFilename = this.wiki.getTextReference(\\\"$:/UploadFilename\\\") || \\\"index.html\\\",\\n\\t\\tuploadWithUrlOnly = this.wiki.getTextReference(\\\"$:/UploadWithUrlOnly\\\") || \\\"no\\\",\\n\\t\\turl = this.wiki.getTextReference(\\\"$:/UploadURL\\\");\\n\\t// Bail out if we don't have the bits we need\\n\\tif (uploadWithUrlOnly === \\\"yes\\\") {\\n\\t\\t// The url is good enough. No need for a username and password.\\n\\t\\t// Assume the server uses some other kind of auth mechanism.\\n\\t\\tif(!url || url.toString().trim() === \\\"\\\") {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t}\\n\\telse {\\n\\t\\t// Require username and password to be present.\\n\\t\\t// Assume the server uses the standard UploadPlugin username/password.\\n\\t\\tif(!username || username.toString().trim() === \\\"\\\" || !password || password.toString().trim() === \\\"\\\") {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t}\\n\\t// Construct the url if not provided\\n\\tif(!url) {\\n\\t\\turl = \\\"http://\\\" + username + \\\".tiddlyspot.com/store.cgi\\\";\\n\\t}\\n\\t// Assemble the header\\n\\tvar boundary = \\\"---------------------------\\\" + \\\"AaB03x\\\";\\n\\tvar uploadFormName = \\\"UploadPlugin\\\";\\n\\tvar head = [];\\n\\thead.push(\\\"--\\\" + boundary + \\\"\\\\r\\\\nContent-disposition: form-data; name=\\\\\\\"UploadPlugin\\\\\\\"\\\\r\\\\n\\\");\\n\\thead.push(\\\"backupDir=\\\" + backupDir + \\\";user=\\\" + username + \\\";password=\\\" + password + \\\";uploaddir=\\\" + uploadDir + \\\";;\\\"); \\n\\thead.push(\\\"\\\\r\\\\n\\\" + \\\"--\\\" + boundary);\\n\\thead.push(\\\"Content-disposition: form-data; name=\\\\\\\"userfile\\\\\\\"; filename=\\\\\\\"\\\" + uploadFilename + \\\"\\\\\\\"\\\");\\n\\thead.push(\\\"Content-Type: text/html;charset=UTF-8\\\");\\n\\thead.push(\\\"Content-Length: \\\" + text.length + \\\"\\\\r\\\\n\\\");\\n\\thead.push(\\\"\\\");\\n\\t// Assemble the tail and the data itself\\n\\tvar tail = \\\"\\\\r\\\\n--\\\" + boundary + \\\"--\\\\r\\\\n\\\",\\n\\t\\tdata = head.join(\\\"\\\\r\\\\n\\\") + text + tail;\\n\\t// Do the HTTP post\\n\\t$tw.notifier.display(\\\"$:/language/Notifications/Save/Starting\\\");\\n\\tvar http = new XMLHttpRequest();\\n\\thttp.open(\\\"POST\\\",url,true,username,password);\\n\\thttp.setRequestHeader(\\\"Content-Type\\\",\\\"multipart/form-data; charset=UTF-8; boundary=\\\" + boundary);\\n\\thttp.onreadystatechange = function() {\\n\\t\\tif(http.readyState == 4 && http.status == 200) {\\n\\t\\t\\tif(http.responseText.substr(0,4) === \\\"0 - \\\") {\\n\\t\\t\\t\\tcallback(null);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tcallback(http.responseText);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n\\ttry {\\n\\t\\thttp.send(data);\\n\\t} catch(ex) {\\n\\t\\treturn callback($tw.language.getString(\\\"Error/Caption\\\") + \\\":\\\" + ex);\\n\\t}\\n\\treturn true;\\n};\\n\\n/*\\nInformation about this saver\\n*/\\nUploadSaver.prototype.info = {\\n\\tname: \\\"upload\\\",\\n\\tpriority: 2000,\\n\\tcapabilities: [\\\"save\\\", \\\"autosave\\\"]\\n};\\n\\n/*\\nStatic method that returns true if this saver is capable of working\\n*/\\nexports.canSave = function(wiki) {\\n\\treturn true;\\n};\\n\\n/*\\nCreate an instance of this saver\\n*/\\nexports.create = function(wiki) {\\n\\treturn new UploadSaver(wiki);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"saver\"},\"$:/core/modules/server/authenticators/basic.js\":{\"title\":\"$:/core/modules/server/authenticators/basic.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/server/authenticators/basic.js\\ntype: application/javascript\\nmodule-type: authenticator\\n\\nAuthenticator for WWW basic authentication\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nif($tw.node) {\\n\\tvar util = require(\\\"util\\\"),\\n\\t\\tfs = require(\\\"fs\\\"),\\n\\t\\turl = require(\\\"url\\\"),\\n\\t\\tpath = require(\\\"path\\\");\\n}\\n\\nfunction BasicAuthenticator(server) {\\n\\tthis.server = server;\\n\\tthis.credentialsData = [];\\n}\\n\\n/*\\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\\n*/\\nBasicAuthenticator.prototype.init = function() {\\n\\t// Read the credentials data\\n\\tthis.credentialsFilepath = this.server.get(\\\"credentials\\\");\\n\\tif(this.credentialsFilepath) {\\n\\t\\tvar resolveCredentialsFilepath = path.resolve(this.server.boot.wikiPath,this.credentialsFilepath);\\n\\t\\tif(fs.existsSync(resolveCredentialsFilepath) && !fs.statSync(resolveCredentialsFilepath).isDirectory()) {\\n\\t\\t\\tvar credentialsText = fs.readFileSync(resolveCredentialsFilepath,\\\"utf8\\\"),\\n\\t\\t\\t\\tcredentialsData = $tw.utils.parseCsvStringWithHeader(credentialsText);\\n\\t\\t\\tif(typeof credentialsData === \\\"string\\\") {\\n\\t\\t\\t\\treturn \\\"Error: \\\" + credentialsData + \\\" reading credentials from '\\\" + resolveCredentialsFilepath + \\\"'\\\";\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tthis.credentialsData = credentialsData;\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\treturn \\\"Error: Unable to load user credentials from '\\\" + resolveCredentialsFilepath + \\\"'\\\";\\n\\t\\t}\\n\\t}\\n\\t// Add the hardcoded username and password if specified\\n\\tif(this.server.get(\\\"username\\\") && this.server.get(\\\"password\\\")) {\\n\\t\\tthis.credentialsData = this.credentialsData || [];\\n\\t\\tthis.credentialsData.push({\\n\\t\\t\\tusername: this.server.get(\\\"username\\\"),\\n\\t\\t\\tpassword: this.server.get(\\\"password\\\")\\n\\t\\t});\\n\\t}\\n\\treturn this.credentialsData.length > 0;\\n};\\n\\n/*\\nReturns true if the request is authenticated and assigns the \\\"authenticatedUsername\\\" state variable.\\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\\n*/\\nBasicAuthenticator.prototype.authenticateRequest = function(request,response,state) {\\n\\t// Extract the incoming username and password from the request\\n\\tvar header = request.headers.authorization || \\\"\\\";\\n\\tif(!header && state.allowAnon) {\\n\\t\\t// If there's no header and anonymous access is allowed then we don't set authenticatedUsername\\n\\t\\treturn true;\\n\\t}\\n\\tvar token = header.split(/\\\\s+/).pop() || \\\"\\\",\\n\\t\\tauth = $tw.utils.base64Decode(token),\\n\\t\\tparts = auth.split(/:/),\\n\\t\\tincomingUsername = parts[0],\\n\\t\\tincomingPassword = parts[1];\\n\\t// Check that at least one of the credentials matches\\n\\tvar matchingCredentials = this.credentialsData.find(function(credential) {\\n\\t\\treturn credential.username === incomingUsername && credential.password === incomingPassword;\\n\\t});\\n\\tif(matchingCredentials) {\\n\\t\\t// If so, add the authenticated username to the request state\\n\\t\\tstate.authenticatedUsername = incomingUsername;\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\t// If not, return an authentication challenge\\n\\t\\tresponse.writeHead(401,\\\"Authentication required\\\",{\\n\\t\\t\\t\\\"WWW-Authenticate\\\": 'Basic realm=\\\"Please provide your username and password to login to ' + state.server.servername + '\\\"'\\n\\t\\t});\\n\\t\\tresponse.end();\\n\\t\\treturn false;\\n\\t}\\n};\\n\\nexports.AuthenticatorClass = BasicAuthenticator;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"authenticator\"},\"$:/core/modules/server/authenticators/header.js\":{\"title\":\"$:/core/modules/server/authenticators/header.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/server/authenticators/header.js\\ntype: application/javascript\\nmodule-type: authenticator\\n\\nAuthenticator for trusted header authentication\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nfunction HeaderAuthenticator(server) {\\n\\tthis.server = server;\\n\\tthis.header = server.get(\\\"authenticated-user-header\\\") ? server.get(\\\"authenticated-user-header\\\").toLowerCase() : undefined;\\n}\\n\\n/*\\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\\n*/\\nHeaderAuthenticator.prototype.init = function() {\\n\\treturn !!this.header;\\n};\\n\\n/*\\nReturns true if the request is authenticated and assigns the \\\"authenticatedUsername\\\" state variable.\\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\\n*/\\nHeaderAuthenticator.prototype.authenticateRequest = function(request,response,state) {\\n\\t// Otherwise, authenticate as the username in the specified header\\n\\tvar username = request.headers[this.header];\\n\\tif(!username && !state.allowAnon) {\\n\\t\\tresponse.writeHead(401,\\\"Authorization header required to login to '\\\" + state.server.servername + \\\"'\\\");\\n\\t\\tresponse.end();\\n\\t\\treturn false;\\n\\t} else {\\n\\t\\t// authenticatedUsername will be undefined for anonymous users\\n\\t\\tstate.authenticatedUsername = $tw.utils.decodeURIComponentSafe(username);\\n\\t\\treturn true;\\n\\t}\\n};\\n\\nexports.AuthenticatorClass = HeaderAuthenticator;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"authenticator\"},\"$:/core/modules/server/routes/delete-tiddler.js\":{\"title\":\"$:/core/modules/server/routes/delete-tiddler.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/server/routes/delete-tiddler.js\\ntype: application/javascript\\nmodule-type: route\\n\\nDELETE /recipes/default/tiddlers/:title\\n\\n\\\\*/\\n(function() {\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.method = \\\"DELETE\\\";\\n\\nexports.path = /^\\\\/bags\\\\/default\\\\/tiddlers\\\\/(.+)$/;\\n\\nexports.handler = function(request,response,state) {\\n\\tvar title = $tw.utils.decodeURIComponentSafe(state.params[0]);\\n\\tstate.wiki.deleteTiddler(title);\\n\\tresponse.writeHead(204, \\\"OK\\\", {\\n\\t\\t\\\"Content-Type\\\": \\\"text/plain\\\"\\n\\t});\\n\\tresponse.end();\\n};\\n\\n}());\\n\",\"type\":\"application/javascript\",\"module-type\":\"route\"},\"$:/core/modules/server/routes/get-favicon.js\":{\"title\":\"$:/core/modules/server/routes/get-favicon.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/server/routes/get-favicon.js\\ntype: application/javascript\\nmodule-type: route\\n\\nGET /favicon.ico\\n\\n\\\\*/\\n(function() {\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.method = \\\"GET\\\";\\n\\nexports.path = /^\\\\/favicon.ico$/;\\n\\nexports.handler = function(request,response,state) {\\n\\tvar buffer = state.wiki.getTiddlerText(\\\"$:/favicon.ico\\\",\\\"\\\");\\n\\tstate.sendResponse(200,{\\\"Content-Type\\\": \\\"image/x-icon\\\"},buffer,\\\"base64\\\");\\n};\\n\\n}());\\n\",\"type\":\"application/javascript\",\"module-type\":\"route\"},\"$:/core/modules/server/routes/get-file.js\":{\"title\":\"$:/core/modules/server/routes/get-file.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/server/routes/get-file.js\\ntype: application/javascript\\nmodule-type: route\\n\\nGET /files/:filepath\\n\\n\\\\*/\\n(function() {\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.method = \\\"GET\\\";\\n\\nexports.path = /^\\\\/files\\\\/(.+)$/;\\n\\nexports.handler = function(request,response,state) {\\n\\tvar path = require(\\\"path\\\"),\\n\\t\\tfs = require(\\\"fs\\\"),\\n\\t\\tutil = require(\\\"util\\\"),\\n\\t\\tsuppliedFilename = $tw.utils.decodeURIComponentSafe(state.params[0]),\\n\\t\\tbaseFilename = path.resolve(state.boot.wikiPath,\\\"files\\\"),\\n\\t\\tfilename = path.resolve(baseFilename,suppliedFilename),\\n\\t\\textension = path.extname(filename);\\n\\t// Check that the filename is inside the wiki files folder\\n\\tif(path.relative(baseFilename,filename).indexOf(\\\"..\\\") !== 0) {\\n\\t\\t// Send the file\\n\\t\\tfs.readFile(filename,function(err,content) {\\n\\t\\t\\tvar status,content,type = \\\"text/plain\\\";\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\tconsole.log(\\\"Error accessing file \\\" + filename + \\\": \\\" + err.toString());\\n\\t\\t\\t\\tstatus = 404;\\n\\t\\t\\t\\tcontent = \\\"File '\\\" + suppliedFilename + \\\"' not found\\\";\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tstatus = 200;\\n\\t\\t\\t\\tcontent = content;\\n\\t\\t\\t\\ttype = ($tw.config.fileExtensionInfo[extension] ? $tw.config.fileExtensionInfo[extension].type : \\\"application/octet-stream\\\");\\n\\t\\t\\t}\\n\\t\\t\\tstate.sendResponse(status,{\\\"Content-Type\\\": type},content);\\n\\t\\t});\\n\\t} else {\\n\\t\\tstate.sendResponse(404,{\\\"Content-Type\\\": \\\"text/plain\\\"},\\\"File '\\\" + suppliedFilename + \\\"' not found\\\");\\n\\t}\\n};\\n\\n}());\\n\",\"type\":\"application/javascript\",\"module-type\":\"route\"},\"$:/core/modules/server/routes/get-index.js\":{\"title\":\"$:/core/modules/server/routes/get-index.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/server/routes/get-index.js\\ntype: application/javascript\\nmodule-type: route\\n\\nGET /\\n\\n\\\\*/\\n(function() {\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.method = \\\"GET\\\";\\n\\nexports.path = /^\\\\/$/;\\n\\nexports.handler = function(request,response,state) {\\n\\tvar text = state.wiki.renderTiddler(state.server.get(\\\"root-render-type\\\"),state.server.get(\\\"root-tiddler\\\")),\\n\\t\\tresponseHeaders = {\\n\\t\\t\\\"Content-Type\\\": state.server.get(\\\"root-serve-type\\\")\\n\\t};\\n\\tstate.sendResponse(200,responseHeaders,text);\\n};\\n\\n}());\\n\",\"type\":\"application/javascript\",\"module-type\":\"route\"},\"$:/core/modules/server/routes/get-login-basic.js\":{\"title\":\"$:/core/modules/server/routes/get-login-basic.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/server/routes/get-login-basic.js\\ntype: application/javascript\\nmodule-type: route\\n\\nGET /login-basic -- force a Basic Authentication challenge\\n\\n\\\\*/\\n(function() {\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.method = \\\"GET\\\";\\n\\nexports.path = /^\\\\/login-basic$/;\\n\\nexports.handler = function(request,response,state) {\\n\\tif(!state.authenticatedUsername) {\\n\\t\\t// Challenge if there's no username\\n\\t\\tresponse.writeHead(401,{\\n\\t\\t\\t\\\"WWW-Authenticate\\\": 'Basic realm=\\\"Please provide your username and password to login to ' + state.server.servername + '\\\"'\\n\\t\\t});\\n\\t\\tresponse.end();\\n\\t} else {\\n\\t\\t// Redirect to the root wiki if login worked\\n\\t\\tvar location = ($tw.syncadaptor && $tw.syncadaptor.host)? $tw.syncadaptor.host: \\\"/\\\";\\n\\t\\tresponse.writeHead(302,{\\n\\t\\t\\tLocation: location\\n\\t\\t});\\n\\t\\tresponse.end();\\n\\t}\\n};\\n\\n}());\\n\",\"type\":\"application/javascript\",\"module-type\":\"route\"},\"$:/core/modules/server/routes/get-status.js\":{\"title\":\"$:/core/modules/server/routes/get-status.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/server/routes/get-status.js\\ntype: application/javascript\\nmodule-type: route\\n\\nGET /status\\n\\n\\\\*/\\n(function() {\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.method = \\\"GET\\\";\\n\\nexports.path = /^\\\\/status$/;\\n\\nexports.handler = function(request,response,state) {\\n\\tvar text = JSON.stringify({\\n\\t\\tusername: state.authenticatedUsername || state.server.get(\\\"anon-username\\\") || \\\"\\\",\\n\\t\\tanonymous: !state.authenticatedUsername,\\n\\t\\tread_only: !state.server.isAuthorized(\\\"writers\\\",state.authenticatedUsername),\\n\\t\\tlogout_is_available: false,\\n\\t\\tspace: {\\n\\t\\t\\trecipe: \\\"default\\\"\\n\\t\\t},\\n\\t\\ttiddlywiki_version: $tw.version\\n\\t});\\n\\tstate.sendResponse(200,{\\\"Content-Type\\\": \\\"application/json\\\"},text,\\\"utf8\\\");\\n};\\n\\n}());\\n\",\"type\":\"application/javascript\",\"module-type\":\"route\"},\"$:/core/modules/server/routes/get-tiddler-html.js\":{\"title\":\"$:/core/modules/server/routes/get-tiddler-html.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/server/routes/get-tiddler-html.js\\ntype: application/javascript\\nmodule-type: route\\n\\nGET /:title\\n\\n\\\\*/\\n(function() {\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.method = \\\"GET\\\";\\n\\nexports.path = /^\\\\/([^\\\\/]+)$/;\\n\\nexports.handler = function(request,response,state) {\\n\\tvar title = $tw.utils.decodeURIComponentSafe(state.params[0]),\\n\\t\\ttiddler = state.wiki.getTiddler(title);\\n\\tif(tiddler) {\\n\\t\\tvar renderType = tiddler.getFieldString(\\\"_render_type\\\"),\\n\\t\\t\\trenderTemplate = tiddler.getFieldString(\\\"_render_template\\\");\\n\\t\\t// Tiddler fields '_render_type' and '_render_template' overwrite\\n\\t\\t// system wide settings for render type and template\\n\\t\\tif(state.wiki.isSystemTiddler(title)) {\\n\\t\\t\\trenderType = renderType || state.server.get(\\\"system-tiddler-render-type\\\");\\n\\t\\t\\trenderTemplate = renderTemplate || state.server.get(\\\"system-tiddler-render-template\\\");\\n\\t\\t} else {\\n\\t\\t\\trenderType = renderType || state.server.get(\\\"tiddler-render-type\\\");\\n\\t\\t\\trenderTemplate = renderTemplate || state.server.get(\\\"tiddler-render-template\\\");\\n\\t\\t}\\n\\t\\tvar text = state.wiki.renderTiddler(renderType,renderTemplate,{parseAsInline: true, variables: {currentTiddler: title}});\\n\\n\\t\\t// Naughty not to set a content-type, but it's the easiest way to ensure the browser will see HTML pages as HTML, and accept plain text tiddlers as CSS or JS\\n\\t\\tstate.sendResponse(200,{},text,\\\"utf8\\\");\\n\\t} else {\\n\\t\\tresponse.writeHead(404);\\n\\t\\tresponse.end();\\n\\t}\\n};\\n\\n}());\\n\",\"type\":\"application/javascript\",\"module-type\":\"route\"},\"$:/core/modules/server/routes/get-tiddler.js\":{\"title\":\"$:/core/modules/server/routes/get-tiddler.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/server/routes/get-tiddler.js\\ntype: application/javascript\\nmodule-type: route\\n\\nGET /recipes/default/tiddlers/:title\\n\\n\\\\*/\\n(function() {\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.method = \\\"GET\\\";\\n\\nexports.path = /^\\\\/recipes\\\\/default\\\\/tiddlers\\\\/(.+)$/;\\n\\nexports.handler = function(request,response,state) {\\n\\tvar title = $tw.utils.decodeURIComponentSafe(state.params[0]),\\n\\t\\ttiddler = state.wiki.getTiddler(title),\\n\\t\\ttiddlerFields = {},\\n\\t\\tknownFields = [\\n\\t\\t\\t\\\"bag\\\", \\\"created\\\", \\\"creator\\\", \\\"modified\\\", \\\"modifier\\\", \\\"permissions\\\", \\\"recipe\\\", \\\"revision\\\", \\\"tags\\\", \\\"text\\\", \\\"title\\\", \\\"type\\\", \\\"uri\\\"\\n\\t\\t];\\n\\tif(tiddler) {\\n\\t\\t$tw.utils.each(tiddler.fields,function(field,name) {\\n\\t\\t\\tvar value = tiddler.getFieldString(name);\\n\\t\\t\\tif(knownFields.indexOf(name) !== -1) {\\n\\t\\t\\t\\ttiddlerFields[name] = value;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\ttiddlerFields.fields = tiddlerFields.fields || {};\\n\\t\\t\\t\\ttiddlerFields.fields[name] = value;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\ttiddlerFields.revision = state.wiki.getChangeCount(title);\\n\\t\\ttiddlerFields.bag = \\\"default\\\";\\n\\t\\ttiddlerFields.type = tiddlerFields.type || \\\"text/vnd.tiddlywiki\\\";\\n\\t\\tstate.sendResponse(200,{\\\"Content-Type\\\": \\\"application/json\\\"},JSON.stringify(tiddlerFields),\\\"utf8\\\");\\n\\t} else {\\n\\t\\tresponse.writeHead(404);\\n\\t\\tresponse.end();\\n\\t}\\n};\\n\\n}());\\n\",\"type\":\"application/javascript\",\"module-type\":\"route\"},\"$:/core/modules/server/routes/get-tiddlers-json.js\":{\"title\":\"$:/core/modules/server/routes/get-tiddlers-json.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/server/routes/get-tiddlers-json.js\\ntype: application/javascript\\nmodule-type: route\\n\\nGET /recipes/default/tiddlers.json?filter=<filter>\\n\\n\\\\*/\\n(function() {\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar DEFAULT_FILTER = \\\"[all[tiddlers]!is[system]sort[title]]\\\";\\n\\nexports.method = \\\"GET\\\";\\n\\nexports.path = /^\\\\/recipes\\\\/default\\\\/tiddlers.json$/;\\n\\nexports.handler = function(request,response,state) {\\n\\tvar filter = state.queryParameters.filter || DEFAULT_FILTER;\\n\\tif(state.wiki.getTiddlerText(\\\"$:/config/Server/AllowAllExternalFilters\\\") !== \\\"yes\\\") {\\n\\t\\tif(state.wiki.getTiddlerText(\\\"$:/config/Server/ExternalFilters/\\\" + filter) !== \\\"yes\\\") {\\n\\t\\t\\tconsole.log(\\\"Blocked attempt to GET /recipes/default/tiddlers.json with filter: \\\" + filter);\\n\\t\\t\\tresponse.writeHead(403);\\n\\t\\t\\tresponse.end();\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t}\\n\\tif(state.wiki.getTiddlerText(\\\"$:/config/SyncSystemTiddlersFromServer\\\") === \\\"no\\\") {\\n\\t\\tfilter += \\\"+[!is[system]]\\\";\\n\\t}\\n\\tvar excludeFields = (state.queryParameters.exclude || \\\"text\\\").split(\\\",\\\"),\\n\\t\\ttitles = state.wiki.filterTiddlers(filter);\\n\\tvar tiddlers = [];\\n\\t$tw.utils.each(titles,function(title) {\\n\\t\\tvar tiddler = state.wiki.getTiddler(title);\\n\\t\\tif(tiddler) {\\n\\t\\t\\tvar tiddlerFields = tiddler.getFieldStrings({exclude: excludeFields});\\n\\t\\t\\ttiddlerFields.revision = state.wiki.getChangeCount(title);\\n\\t\\t\\ttiddlerFields.type = tiddlerFields.type || \\\"text/vnd.tiddlywiki\\\";\\n\\t\\t\\ttiddlers.push(tiddlerFields);\\n\\t\\t}\\n\\t});\\n\\tvar text = JSON.stringify(tiddlers);\\n\\tstate.sendResponse(200,{\\\"Content-Type\\\": \\\"application/json\\\"},text,\\\"utf8\\\");\\n};\\n\\n}());\\n\",\"type\":\"application/javascript\",\"module-type\":\"route\"},\"$:/core/modules/server/routes/put-tiddler.js\":{\"title\":\"$:/core/modules/server/routes/put-tiddler.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/server/routes/put-tiddler.js\\ntype: application/javascript\\nmodule-type: route\\n\\nPUT /recipes/default/tiddlers/:title\\n\\n\\\\*/\\n(function() {\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.method = \\\"PUT\\\";\\n\\nexports.path = /^\\\\/recipes\\\\/default\\\\/tiddlers\\\\/(.+)$/;\\n\\nexports.handler = function(request,response,state) {\\n\\tvar title = $tw.utils.decodeURIComponentSafe(state.params[0]),\\n\\tfields = $tw.utils.parseJSONSafe(state.data);\\n\\t// Pull up any subfields in the `fields` object\\n\\tif(fields.fields) {\\n\\t\\t$tw.utils.each(fields.fields,function(field,name) {\\n\\t\\t\\tfields[name] = field;\\n\\t\\t});\\n\\t\\tdelete fields.fields;\\n\\t}\\n\\t// Remove any revision field\\n\\tif(fields.revision) {\\n\\t\\tdelete fields.revision;\\n\\t}\\n\\t// If this is a skinny tiddler, it means the client never got the full\\n\\t// version of the tiddler to edit. So we must preserve whatever text\\n\\t// already exists on the server, or else we'll inadvertently delete it.\\n\\tif(fields._is_skinny !== undefined) {\\n\\t\\tvar tiddler = state.wiki.getTiddler(title);\\n\\t\\tif(tiddler) {\\n\\t\\t\\tfields.text = tiddler.fields.text;\\n\\t\\t}\\n\\t\\tdelete fields._is_skinny;\\n\\t}\\n\\tstate.wiki.addTiddler(new $tw.Tiddler(fields,{title: title}));\\n\\tvar changeCount = state.wiki.getChangeCount(title).toString();\\n\\tresponse.writeHead(204, \\\"OK\\\",{\\n\\t\\tEtag: \\\"\\\\\\\"default/\\\" + encodeURIComponent(title) + \\\"/\\\" + changeCount + \\\":\\\\\\\"\\\",\\n\\t\\t\\\"Content-Type\\\": \\\"text/plain\\\"\\n\\t});\\n\\tresponse.end();\\n};\\n\\n}());\\n\",\"type\":\"application/javascript\",\"module-type\":\"route\"},\"$:/core/modules/server/server.js\":{\"title\":\"$:/core/modules/server/server.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/server/server.js\\ntype: application/javascript\\nmodule-type: library\\n\\nServe tiddlers over http\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nif($tw.node) {\\n\\tvar util = require(\\\"util\\\"),\\n\\t\\tfs = require(\\\"fs\\\"),\\n\\t\\turl = require(\\\"url\\\"),\\n\\t\\tpath = require(\\\"path\\\"),\\n\\t\\tquerystring = require(\\\"querystring\\\"),\\n\\t\\tcrypto = require(\\\"crypto\\\"),\\n\\t\\tzlib = require(\\\"zlib\\\");\\n}\\n\\n/*\\nA simple HTTP server with regexp-based routes\\noptions: variables - optional hashmap of variables to set (a misnomer - they are really constant parameters)\\n\\t\\t routes - optional array of routes to use\\n\\t\\t wiki - reference to wiki object\\n*/\\nfunction Server(options) {\\n\\tvar self = this;\\n\\tthis.routes = options.routes || [];\\n\\tthis.authenticators = options.authenticators || [];\\n\\tthis.wiki = options.wiki;\\n\\tthis.boot = options.boot || $tw.boot;\\n\\t// Initialise the variables\\n\\tthis.variables = $tw.utils.extend({},this.defaultVariables);\\n\\tif(options.variables) {\\n\\t\\tfor(var variable in options.variables) {\\n\\t\\t\\tif(options.variables[variable]) {\\n\\t\\t\\t\\tthis.variables[variable] = options.variables[variable];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// Setup the default required plugins\\n\\tthis.requiredPlugins = this.get(\\\"required-plugins\\\").split(',');\\n\\t// Initialise CSRF\\n\\tthis.csrfDisable = this.get(\\\"csrf-disable\\\") === \\\"yes\\\";\\n\\t// Initialize Gzip compression\\n\\tthis.enableGzip = this.get(\\\"gzip\\\") === \\\"yes\\\";\\n\\t// Initialize browser-caching\\n\\tthis.enableBrowserCache = this.get(\\\"use-browser-cache\\\") === \\\"yes\\\";\\n\\t// Initialise authorization\\n\\tvar authorizedUserName;\\n\\tif(this.get(\\\"username\\\") && this.get(\\\"password\\\")) {\\n\\t\\tauthorizedUserName = this.get(\\\"username\\\");\\n\\t} else if(this.get(\\\"credentials\\\")) {\\n\\t\\tauthorizedUserName = \\\"(authenticated)\\\";\\n\\t} else {\\n\\t\\tauthorizedUserName = \\\"(anon)\\\";\\n\\t}\\n\\tthis.authorizationPrincipals = {\\n\\t\\treaders: (this.get(\\\"readers\\\") || authorizedUserName).split(\\\",\\\").map($tw.utils.trim),\\n\\t\\twriters: (this.get(\\\"writers\\\") || authorizedUserName).split(\\\",\\\").map($tw.utils.trim)\\n\\t}\\n\\tif(this.get(\\\"admin\\\") || authorizedUserName !== \\\"(anon)\\\") {\\n\\t\\tthis.authorizationPrincipals[\\\"admin\\\"] = (this.get(\\\"admin\\\") || authorizedUserName).split(',').map($tw.utils.trim)\\n\\t}\\n\\t// Load and initialise authenticators\\n\\t$tw.modules.forEachModuleOfType(\\\"authenticator\\\", function(title,authenticatorDefinition) {\\n\\t\\t// console.log(\\\"Loading authenticator \\\" + title);\\n\\t\\tself.addAuthenticator(authenticatorDefinition.AuthenticatorClass);\\n\\t});\\n\\t// Load route handlers\\n\\t$tw.modules.forEachModuleOfType(\\\"route\\\", function(title,routeDefinition) {\\n\\t\\t// console.log(\\\"Loading server route \\\" + title);\\n\\t\\tself.addRoute(routeDefinition);\\n\\t});\\n\\t// Initialise the http vs https\\n\\tthis.listenOptions = null;\\n\\tthis.protocol = \\\"http\\\";\\n\\tvar tlsKeyFilepath = this.get(\\\"tls-key\\\"),\\n\\t\\ttlsCertFilepath = this.get(\\\"tls-cert\\\"),\\n\\t\\ttlsPassphrase = this.get(\\\"tls-passphrase\\\");\\n\\tif(tlsCertFilepath && tlsKeyFilepath) {\\n\\t\\tthis.listenOptions = {\\n\\t\\t\\tkey: fs.readFileSync(path.resolve(this.boot.wikiPath,tlsKeyFilepath),\\\"utf8\\\"),\\n\\t\\t\\tcert: fs.readFileSync(path.resolve(this.boot.wikiPath,tlsCertFilepath),\\\"utf8\\\"),\\n\\t\\t\\tpassphrase: tlsPassphrase || ''\\n\\t\\t};\\n\\t\\tthis.protocol = \\\"https\\\";\\n\\t}\\n\\tthis.transport = require(this.protocol);\\n\\t// Name the server and init the boot state\\n\\tthis.servername = $tw.utils.transliterateToSafeASCII(this.get(\\\"server-name\\\") || this.wiki.getTiddlerText(\\\"$:/SiteTitle\\\") || \\\"TiddlyWiki5\\\");\\n\\tthis.boot.origin = this.get(\\\"origin\\\")? this.get(\\\"origin\\\"): this.protocol+\\\"://\\\"+this.get(\\\"host\\\")+\\\":\\\"+this.get(\\\"port\\\");\\n\\tthis.boot.pathPrefix = this.get(\\\"path-prefix\\\") || \\\"\\\";\\n}\\n\\n/*\\nSend a response to the client. This method checks if the response must be sent\\nor if the client alrady has the data cached. If that's the case only a 304\\nresponse will be transmitted and the browser will use the cached data.\\nOnly requests with status code 200 are considdered for caching.\\nrequest: request instance passed to the handler\\nresponse: response instance passed to the handler\\nstatusCode: stauts code to send to the browser\\nheaders: response headers (they will be augmented with an `Etag` header)\\ndata: the data to send (passed to the end method of the response instance)\\nencoding: the encoding of the data to send (passed to the end method of the response instance)\\n*/\\nfunction sendResponse(request,response,statusCode,headers,data,encoding) {\\n\\tif(this.enableBrowserCache && (statusCode == 200)) {\\n\\t\\tvar hash = crypto.createHash('md5');\\n\\t\\t// Put everything into the hash that could change and invalidate the data that\\n\\t\\t// the browser already stored. The headers the data and the encoding.\\n\\t\\thash.update(data);\\n\\t\\thash.update(JSON.stringify(headers));\\n\\t\\tif(encoding) {\\n\\t\\t\\thash.update(encoding);\\n\\t\\t}\\n\\t\\tvar contentDigest = hash.digest(\\\"hex\\\");\\n\\t\\t// RFC 7232 section 2.3 mandates for the etag to be enclosed in quotes\\n\\t\\theaders[\\\"Etag\\\"] = '\\\"' + contentDigest + '\\\"';\\n\\t\\theaders[\\\"Cache-Control\\\"] = \\\"max-age=0, must-revalidate\\\";\\n\\t\\t// Check if any of the hashes contained within the if-none-match header\\n\\t\\t// matches the current hash.\\n\\t\\t// If one matches, do not send the data but tell the browser to use the\\n\\t\\t// cached data.\\n\\t\\t// We do not implement \\\"*\\\" as it makes no sense here.\\n\\t\\tvar ifNoneMatch = request.headers[\\\"if-none-match\\\"];\\n\\t\\tif(ifNoneMatch) {\\n\\t\\t\\tvar matchParts = ifNoneMatch.split(\\\",\\\").map(function(etag) {\\n\\t\\t\\t\\treturn etag.replace(/^[ \\\"]+|[ \\\"]+$/g, \\\"\\\");\\n\\t\\t\\t});\\n\\t\\t\\tif(matchParts.indexOf(contentDigest) != -1) {\\n\\t\\t\\t\\tresponse.writeHead(304,headers);\\n\\t\\t\\t\\tresponse.end();\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/*\\n\\tIf the gzip=yes is set, check if the user agent permits compression. If so,\\n\\tcompress our response if the raw data is bigger than 2k. Compressing less\\n\\tdata is inefficient. Note that we use the synchronous functions from zlib\\n\\tto stay in the imperative style. The current `Server` doesn't depend on\\n\\tthis, and we may just as well use the async versions.\\n\\t*/\\n\\tif(this.enableGzip && (data.length > 2048)) {\\n\\t\\tvar acceptEncoding = request.headers[\\\"accept-encoding\\\"] || \\\"\\\";\\n\\t\\tif(/\\\\bdeflate\\\\b/.test(acceptEncoding)) {\\n\\t\\t\\theaders[\\\"Content-Encoding\\\"] = \\\"deflate\\\";\\n\\t\\t\\tdata = zlib.deflateSync(data);\\n\\t\\t} else if(/\\\\bgzip\\\\b/.test(acceptEncoding)) {\\n\\t\\t\\theaders[\\\"Content-Encoding\\\"] = \\\"gzip\\\";\\n\\t\\t\\tdata = zlib.gzipSync(data);\\n\\t\\t}\\n\\t}\\n\\n\\tresponse.writeHead(statusCode,headers);\\n\\tresponse.end(data,encoding);\\n}\\n\\nServer.prototype.defaultVariables = {\\n\\tport: \\\"8080\\\",\\n\\thost: \\\"127.0.0.1\\\",\\n\\t\\\"required-plugins\\\": \\\"$:/plugins/tiddlywiki/filesystem,$:/plugins/tiddlywiki/tiddlyweb\\\",\\n\\t\\\"root-tiddler\\\": \\\"$:/core/save/all\\\",\\n\\t\\\"root-render-type\\\": \\\"text/plain\\\",\\n\\t\\\"root-serve-type\\\": \\\"text/html\\\",\\n\\t\\\"tiddler-render-type\\\": \\\"text/html\\\",\\n\\t\\\"tiddler-render-template\\\": \\\"$:/core/templates/server/static.tiddler.html\\\",\\n\\t\\\"system-tiddler-render-type\\\": \\\"text/plain\\\",\\n\\t\\\"system-tiddler-render-template\\\": \\\"$:/core/templates/wikified-tiddler\\\",\\n\\t\\\"debug-level\\\": \\\"none\\\",\\n\\t\\\"gzip\\\": \\\"no\\\",\\n\\t\\\"use-browser-cache\\\": \\\"no\\\"\\n};\\n\\nServer.prototype.get = function(name) {\\n\\treturn this.variables[name];\\n};\\n\\nServer.prototype.addRoute = function(route) {\\n\\tthis.routes.push(route);\\n};\\n\\nServer.prototype.addAuthenticator = function(AuthenticatorClass) {\\n\\t// Instantiate and initialise the authenticator\\n\\tvar authenticator = new AuthenticatorClass(this),\\n\\t\\tresult = authenticator.init();\\n\\tif(typeof result === \\\"string\\\") {\\n\\t\\t$tw.utils.error(\\\"Error: \\\" + result);\\n\\t} else if(result) {\\n\\t\\t// Only use the authenticator if it initialised successfully\\n\\t\\tthis.authenticators.push(authenticator);\\n\\t}\\n};\\n\\nServer.prototype.findMatchingRoute = function(request,state) {\\n\\tfor(var t=0; t<this.routes.length; t++) {\\n\\t\\tvar potentialRoute = this.routes[t],\\n\\t\\t\\tpathRegExp = potentialRoute.path,\\n\\t\\t\\tpathname = state.urlInfo.pathname,\\n\\t\\t\\tmatch;\\n\\t\\tif(state.pathPrefix) {\\n\\t\\t\\tif(pathname.substr(0,state.pathPrefix.length) === state.pathPrefix) {\\n\\t\\t\\t\\tpathname = pathname.substr(state.pathPrefix.length) || \\\"/\\\";\\n\\t\\t\\t\\tmatch = potentialRoute.path.exec(pathname);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tmatch = false;\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tmatch = potentialRoute.path.exec(pathname);\\n\\t\\t}\\n\\t\\tif(match && request.method === potentialRoute.method) {\\n\\t\\t\\tstate.params = [];\\n\\t\\t\\tfor(var p=1; p<match.length; p++) {\\n\\t\\t\\t\\tstate.params.push(match[p]);\\n\\t\\t\\t}\\n\\t\\t\\treturn potentialRoute;\\n\\t\\t}\\n\\t}\\n\\treturn null;\\n};\\n\\nServer.prototype.methodMappings = {\\n\\t\\\"GET\\\": \\\"readers\\\",\\n\\t\\\"OPTIONS\\\": \\\"readers\\\",\\n\\t\\\"HEAD\\\": \\\"readers\\\",\\n\\t\\\"PUT\\\": \\\"writers\\\",\\n\\t\\\"POST\\\": \\\"writers\\\",\\n\\t\\\"DELETE\\\": \\\"writers\\\"\\n};\\n\\n/*\\nCheck whether a given user is authorized for the specified authorizationType (\\\"readers\\\" or \\\"writers\\\"). Pass null or undefined as the username to check for anonymous access\\n*/\\nServer.prototype.isAuthorized = function(authorizationType,username) {\\n\\tvar principals = this.authorizationPrincipals[authorizationType] || [];\\n\\treturn principals.indexOf(\\\"(anon)\\\") !== -1 || (username && (principals.indexOf(\\\"(authenticated)\\\") !== -1 || principals.indexOf(username) !== -1));\\n}\\n\\nServer.prototype.requestHandler = function(request,response,options) {\\n\\toptions = options || {};\\n\\t// Compose the state object\\n\\tvar self = this;\\n\\tvar state = {};\\n\\tstate.wiki = options.wiki || self.wiki;\\n\\tstate.boot = options.boot || self.boot;\\n\\tstate.server = self;\\n\\tstate.urlInfo = url.parse(request.url);\\n\\tstate.queryParameters = querystring.parse(state.urlInfo.query);\\n\\tstate.pathPrefix = options.pathPrefix || this.get(\\\"path-prefix\\\") || \\\"\\\";\\n\\tstate.sendResponse = sendResponse.bind(self,request,response);\\n\\t// Get the principals authorized to access this resource\\n\\tstate.authorizationType = options.authorizationType || this.methodMappings[request.method] || \\\"readers\\\";\\n\\t// Check for the CSRF header if this is a write\\n\\tif(!this.csrfDisable && state.authorizationType === \\\"writers\\\" && request.headers[\\\"x-requested-with\\\"] !== \\\"TiddlyWiki\\\") {\\n\\t\\tresponse.writeHead(403,\\\"'X-Requested-With' header required to login to '\\\" + this.servername + \\\"'\\\");\\n\\t\\tresponse.end();\\n\\t\\treturn;\\n\\t}\\n\\t// Check whether anonymous access is granted\\n\\tstate.allowAnon = this.isAuthorized(state.authorizationType,null);\\n\\t// Authenticate with the first active authenticator\\n\\tif(this.authenticators.length > 0) {\\n\\t\\tif(!this.authenticators[0].authenticateRequest(request,response,state)) {\\n\\t\\t\\t// Bail if we failed (the authenticator will have sent the response)\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t}\\n\\t// Authorize with the authenticated username\\n\\tif(!this.isAuthorized(state.authorizationType,state.authenticatedUsername)) {\\n\\t\\tresponse.writeHead(401,\\\"'\\\" + state.authenticatedUsername + \\\"' is not authorized to access '\\\" + this.servername + \\\"'\\\");\\n\\t\\tresponse.end();\\n\\t\\treturn;\\n\\t}\\n\\t// Find the route that matches this path\\n\\tvar route = self.findMatchingRoute(request,state);\\n\\t// Optionally output debug info\\n\\tif(self.get(\\\"debug-level\\\") !== \\\"none\\\") {\\n\\t\\tconsole.log(\\\"Request path:\\\",JSON.stringify(state.urlInfo));\\n\\t\\tconsole.log(\\\"Request headers:\\\",JSON.stringify(request.headers));\\n\\t\\tconsole.log(\\\"authenticatedUsername:\\\",state.authenticatedUsername);\\n\\t}\\n\\t// Return a 404 if we didn't find a route\\n\\tif(!route) {\\n\\t\\tresponse.writeHead(404);\\n\\t\\tresponse.end();\\n\\t\\treturn;\\n\\t}\\n\\t// Receive the request body if necessary and hand off to the route handler\\n\\tif(route.bodyFormat === \\\"stream\\\" || request.method === \\\"GET\\\" || request.method === \\\"HEAD\\\") {\\n\\t\\t// Let the route handle the request stream itself\\n\\t\\troute.handler(request,response,state);\\n\\t} else if(route.bodyFormat === \\\"string\\\" || !route.bodyFormat) {\\n\\t\\t// Set the encoding for the incoming request\\n\\t\\trequest.setEncoding(\\\"utf8\\\");\\n\\t\\tvar data = \\\"\\\";\\n\\t\\trequest.on(\\\"data\\\",function(chunk) {\\n\\t\\t\\tdata += chunk.toString();\\n\\t\\t});\\n\\t\\trequest.on(\\\"end\\\",function() {\\n\\t\\t\\tstate.data = data;\\n\\t\\t\\troute.handler(request,response,state);\\n\\t\\t});\\n\\t} else if(route.bodyFormat === \\\"buffer\\\") {\\n\\t\\tvar data = [];\\n\\t\\trequest.on(\\\"data\\\",function(chunk) {\\n\\t\\t\\tdata.push(chunk);\\n\\t\\t});\\n\\t\\trequest.on(\\\"end\\\",function() {\\n\\t\\t\\tstate.data = Buffer.concat(data);\\n\\t\\t\\troute.handler(request,response,state);\\n\\t\\t})\\n\\t} else {\\n\\t\\tresponse.writeHead(400,\\\"Invalid bodyFormat \\\" + route.bodyFormat + \\\" in route \\\" + route.method + \\\" \\\" + route.path.source);\\n\\t\\tresponse.end();\\n\\t}\\n};\\n\\n/*\\nListen for requests\\nport: optional port number (falls back to value of \\\"port\\\" variable)\\nhost: optional host address (falls back to value of \\\"host\\\" variable)\\nprefix: optional prefix (falls back to value of \\\"path-prefix\\\" variable)\\n*/\\nServer.prototype.listen = function(port,host,prefix) {\\n\\tvar self = this;\\n\\t// Handle defaults for port and host\\n\\tport = port || this.get(\\\"port\\\");\\n\\thost = host || this.get(\\\"host\\\");\\n\\tprefix = prefix || this.get(\\\"path-prefix\\\") || \\\"\\\";\\n\\t// Check for the port being a string and look it up as an environment variable\\n\\tif(parseInt(port,10).toString() !== port) {\\n\\t\\tport = process.env[port] || 8080;\\n\\t}\\n\\t// Warn if required plugins are missing\\n\\tvar missing = [];\\n\\tfor (var index=0; index<this.requiredPlugins.length; index++) {\\n\\t\\tif (!this.wiki.getTiddler(this.requiredPlugins[index])) {\\n\\t\\t\\tmissing.push(this.requiredPlugins[index]);\\n\\t\\t}\\n\\t}\\n\\tif(missing.length > 0) {\\n\\t\\tvar error = \\\"Warning: Plugin(s) required for client-server operation are missing.\\\\n\\\"+\\n\\t\\t\\t\\\"\\\\\\\"\\\"+ missing.join(\\\"\\\\\\\", \\\\\\\"\\\")+\\\"\\\\\\\"\\\";\\n\\t\\t$tw.utils.warning(error);\\n\\t}\\n\\t// Create the server\\n\\tvar server;\\n\\tif(this.listenOptions) {\\n\\t\\tserver = this.transport.createServer(this.listenOptions,this.requestHandler.bind(this));\\n\\t} else {\\n\\t\\tserver = this.transport.createServer(this.requestHandler.bind(this));\\n\\t}\\n\\t// Display the port number after we've started listening (the port number might have been specified as zero, in which case we will get an assigned port)\\n\\tserver.on(\\\"listening\\\",function() {\\n\\t\\tvar address = server.address(),\\n\\t\\t\\turl = self.protocol + \\\"://\\\" + (address.family === \\\"IPv6\\\" ? \\\"[\\\" + address.address + \\\"]\\\" : address.address) + \\\":\\\" + address.port + prefix;\\n\\t\\t$tw.utils.log(\\\"Serving on \\\" + url,\\\"brown/orange\\\");\\n\\t\\t$tw.utils.log(\\\"(press ctrl-C to exit)\\\",\\\"red\\\");\\n\\t});\\n\\t// Listen\\n\\treturn server.listen(port,host);\\n};\\n\\nexports.Server = Server;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"library\"},\"$:/core/modules/browser-messaging.js\":{\"title\":\"$:/core/modules/browser-messaging.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/browser-messaging.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nBrowser message handling\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"browser-messaging\\\";\\nexports.platforms = [\\\"browser\\\"];\\nexports.after = [\\\"startup\\\"];\\nexports.synchronous = true;\\n\\n/*\\nLoad a specified url as an iframe and call the callback when it is loaded. If the url is already loaded then the existing iframe instance is used\\n*/\\nfunction loadIFrame(url,callback) {\\n\\t// Check if iframe already exists\\n\\tvar iframeInfo = $tw.browserMessaging.iframeInfoMap[url];\\n\\tif(iframeInfo) {\\n\\t\\t// We've already got the iframe\\n\\t\\tcallback(null,iframeInfo);\\n\\t} else {\\n\\t\\t// Create the iframe and save it in the list\\n\\t\\tvar iframe = document.createElement(\\\"iframe\\\");\\n\\t\\tiframeInfo = {\\n\\t\\t\\turl: url,\\n\\t\\t\\tstatus: \\\"loading\\\",\\n\\t\\t\\tdomNode: iframe\\n\\t\\t};\\n\\t\\t$tw.browserMessaging.iframeInfoMap[url] = iframeInfo;\\n\\t\\tsaveIFrameInfoTiddler(iframeInfo);\\n\\t\\t// Add the iframe to the DOM and hide it\\n\\t\\tiframe.style.display = \\\"none\\\";\\n\\t\\tiframe.setAttribute(\\\"library\\\",\\\"true\\\");\\n\\t\\tdocument.body.appendChild(iframe);\\n\\t\\t// Set up onload\\n\\t\\tiframe.onload = function() {\\n\\t\\t\\tiframeInfo.status = \\\"loaded\\\";\\n\\t\\t\\tsaveIFrameInfoTiddler(iframeInfo);\\n\\t\\t\\tcallback(null,iframeInfo);\\n\\t\\t};\\n\\t\\tiframe.onerror = function() {\\n\\t\\t\\tcallback(\\\"Cannot load iframe\\\");\\n\\t\\t};\\n\\t\\ttry {\\n\\t\\t\\tiframe.src = url;\\n\\t\\t} catch(ex) {\\n\\t\\t\\tcallback(ex);\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\nUnload library iframe for given url\\n*/\\nfunction unloadIFrame(url){\\n\\tvar iframes = document.getElementsByTagName('iframe');\\n\\tfor(var t=iframes.length-1; t--; t>=0) {\\n\\t\\tvar iframe = iframes[t];\\n\\t\\tif(iframe.getAttribute(\\\"library\\\") === \\\"true\\\" &&\\n\\t\\t iframe.getAttribute(\\\"src\\\") === url) {\\n\\t\\t\\tiframe.parentNode.removeChild(iframe);\\n\\t\\t}\\n\\t}\\n}\\n\\nfunction saveIFrameInfoTiddler(iframeInfo) {\\n\\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),{\\n\\t\\ttitle: \\\"$:/temp/ServerConnection/\\\" + iframeInfo.url,\\n\\t\\ttext: iframeInfo.status,\\n\\t\\ttags: [\\\"$:/tags/ServerConnection\\\"],\\n\\t\\turl: iframeInfo.url\\n\\t},$tw.wiki.getModificationFields()));\\n}\\n\\nexports.startup = function() {\\n\\t// Initialise the store of iframes we've created\\n\\t$tw.browserMessaging = {\\n\\t\\tiframeInfoMap: {} // Hashmap by URL of {url:,status:\\\"loading/loaded\\\",domNode:}\\n\\t};\\n\\t// Listen for widget messages to control loading the plugin library\\n\\t$tw.rootWidget.addEventListener(\\\"tm-load-plugin-library\\\",function(event) {\\n\\t\\tvar paramObject = event.paramObject || {},\\n\\t\\t\\turl = paramObject.url;\\n\\t\\tif(url) {\\n\\t\\t\\tloadIFrame(url,function(err,iframeInfo) {\\n\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\talert($tw.language.getString(\\\"Error/LoadingPluginLibrary\\\") + \\\": \\\" + url);\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tiframeInfo.domNode.contentWindow.postMessage({\\n\\t\\t\\t\\t\\t\\tverb: \\\"GET\\\",\\n\\t\\t\\t\\t\\t\\turl: \\\"recipes/library/tiddlers.json\\\",\\n\\t\\t\\t\\t\\t\\tcookies: {\\n\\t\\t\\t\\t\\t\\t\\ttype: \\\"save-info\\\",\\n\\t\\t\\t\\t\\t\\t\\tinfoTitlePrefix: paramObject.infoTitlePrefix || \\\"$:/temp/RemoteAssetInfo/\\\",\\n\\t\\t\\t\\t\\t\\t\\turl: url\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t},\\\"*\\\");\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t});\\n\\t// Listen for widget messages to control unloading the plugin library\\n\\t$tw.rootWidget.addEventListener(\\\"tm-unload-plugin-library\\\",function(event) {\\n\\t\\tvar paramObject = event.paramObject || {},\\n\\t\\t\\turl = paramObject.url;\\n\\t\\t$tw.browserMessaging.iframeInfoMap[url] = undefined;\\n\\t\\tif(url) {\\n\\t\\t\\tunloadIFrame(url);\\n\\t\\t\\t$tw.utils.each(\\n\\t\\t\\t\\t$tw.wiki.filterTiddlers(\\\"[[$:/temp/ServerConnection/\\\" + url + \\\"]] [prefix[$:/temp/RemoteAssetInfo/\\\" + url + \\\"/]]\\\"),\\n\\t\\t\\t\\tfunction(title) {\\n\\t\\t\\t\\t\\t$tw.wiki.deleteTiddler(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t);\\n\\t\\t}\\n\\t});\\n\\t$tw.rootWidget.addEventListener(\\\"tm-load-plugin-from-library\\\",function(event) {\\n\\t\\tvar paramObject = event.paramObject || {},\\n\\t\\t\\turl = paramObject.url,\\n\\t\\t\\ttitle = paramObject.title;\\n\\t\\tif(url && title) {\\n\\t\\t\\tloadIFrame(url,function(err,iframeInfo) {\\n\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\talert($tw.language.getString(\\\"Error/LoadingPluginLibrary\\\") + \\\": \\\" + url);\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tiframeInfo.domNode.contentWindow.postMessage({\\n\\t\\t\\t\\t\\t\\tverb: \\\"GET\\\",\\n\\t\\t\\t\\t\\t\\turl: \\\"recipes/library/tiddlers/\\\" + encodeURIComponent(title) + \\\".json\\\",\\n\\t\\t\\t\\t\\t\\tcookies: {\\n\\t\\t\\t\\t\\t\\t\\ttype: \\\"save-tiddler\\\",\\n\\t\\t\\t\\t\\t\\t\\turl: url\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t},\\\"*\\\");\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t});\\n\\t// Listen for window messages from other windows\\n\\twindow.addEventListener(\\\"message\\\",function listener(event){\\n\\t\\t// console.log(\\\"browser-messaging: \\\",document.location.toString())\\n\\t\\t// console.log(\\\"browser-messaging: Received message from\\\",event.origin);\\n\\t\\t// console.log(\\\"browser-messaging: Message content\\\",event.data);\\n\\t\\tswitch(event.data.verb) {\\n\\t\\t\\tcase \\\"GET-RESPONSE\\\":\\n\\t\\t\\t\\tif(event.data.status.charAt(0) === \\\"2\\\") {\\n\\t\\t\\t\\t\\tif(event.data.cookies) {\\n\\t\\t\\t\\t\\t\\tif(event.data.cookies.type === \\\"save-info\\\") {\\n\\t\\t\\t\\t\\t\\t\\tvar tiddlers = $tw.utils.parseJSONSafe(event.data.body);\\n\\t\\t\\t\\t\\t\\t\\t$tw.utils.each(tiddlers,function(tiddler) {\\n\\t\\t\\t\\t\\t\\t\\t\\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),tiddler,{\\n\\t\\t\\t\\t\\t\\t\\t\\t\\ttitle: event.data.cookies.infoTitlePrefix + event.data.cookies.url + \\\"/\\\" + tiddler.title,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\"original-title\\\": tiddler.title,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\ttext: \\\"\\\",\\n\\t\\t\\t\\t\\t\\t\\t\\t\\ttype: \\\"text/vnd.tiddlywiki\\\",\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\"original-type\\\": tiddler.type,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\"plugin-type\\\": undefined,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\"original-plugin-type\\\": tiddler[\\\"plugin-type\\\"],\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\"module-type\\\": undefined,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\"original-module-type\\\": tiddler[\\\"module-type\\\"],\\n\\t\\t\\t\\t\\t\\t\\t\\t\\ttags: [\\\"$:/tags/RemoteAssetInfo\\\"],\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\"original-tags\\\": $tw.utils.stringifyList(tiddler.tags || []),\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\"server-url\\\": event.data.cookies.url\\n\\t\\t\\t\\t\\t\\t\\t\\t},$tw.wiki.getModificationFields()));\\n\\t\\t\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\t\\t} else if(event.data.cookies.type === \\\"save-tiddler\\\") {\\n\\t\\t\\t\\t\\t\\t\\tvar tiddler = $tw.utils.parseJSONSafe(event.data.body);\\n\\t\\t\\t\\t\\t\\t\\t$tw.wiki.addTiddler(new $tw.Tiddler(tiddler));\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tbreak;\\n\\t\\t}\\n\\t},false);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"startup\"},\"$:/core/modules/startup/commands.js\":{\"title\":\"$:/core/modules/startup/commands.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/startup/commands.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nCommand processing\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"commands\\\";\\nexports.platforms = [\\\"node\\\"];\\nexports.after = [\\\"story\\\"];\\nexports.synchronous = false;\\n\\nexports.startup = function(callback) {\\n\\t// On the server, start a commander with the command line arguments\\n\\tvar commander = new $tw.Commander(\\n\\t\\t$tw.boot.argv,\\n\\t\\tfunction(err) {\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\treturn $tw.utils.error(\\\"Error: \\\" + err);\\n\\t\\t\\t}\\n\\t\\t\\tcallback();\\n\\t\\t},\\n\\t\\t$tw.wiki,\\n\\t\\t{output: process.stdout, error: process.stderr}\\n\\t);\\n\\tcommander.execute();\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"startup\"},\"$:/core/modules/startup/favicon.js\":{\"title\":\"$:/core/modules/startup/favicon.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/startup/favicon.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nFavicon handling\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"favicon\\\";\\nexports.platforms = [\\\"browser\\\"];\\nexports.after = [\\\"startup\\\"];\\nexports.synchronous = true;\\n\\n// Favicon tiddler\\nvar FAVICON_TITLE = \\\"$:/favicon.ico\\\";\\n\\nexports.startup = function() {\\n\\t// Set up the favicon\\n\\tsetFavicon();\\n\\t// Reset the favicon when the tiddler changes\\n\\t$tw.wiki.addEventListener(\\\"change\\\",function(changes) {\\n\\t\\tif($tw.utils.hop(changes,FAVICON_TITLE)) {\\n\\t\\t\\tsetFavicon();\\n\\t\\t}\\n\\t});\\n};\\n\\nfunction setFavicon() {\\n\\tvar tiddler = $tw.wiki.getTiddler(FAVICON_TITLE);\\n\\tif(tiddler) {\\n\\t\\tvar faviconLink = document.getElementById(\\\"faviconLink\\\");\\n\\t\\tfaviconLink.setAttribute(\\\"href\\\",$tw.utils.makeDataUri(tiddler.fields.text,tiddler.fields.type,tiddler.fields._canonical_uri));\\n\\t}\\n}\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"startup\"},\"$:/core/modules/startup/info.js\":{\"title\":\"$:/core/modules/startup/info.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/startup/info.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nInitialise $:/info tiddlers via $:/temp/info-plugin pseudo-plugin\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"info\\\";\\nexports.before = [\\\"startup\\\"];\\nexports.after = [\\\"load-modules\\\"];\\nexports.synchronous = true;\\n\\nvar TITLE_INFO_PLUGIN = \\\"$:/temp/info-plugin\\\";\\n\\nexports.startup = function() {\\n\\t// Function to bake the info plugin with new tiddlers\\n\\tvar updateInfoPlugin = function(tiddlerFieldsArray) {\\n\\t\\t// Get the existing tiddlers\\n\\t\\tvar json = $tw.wiki.getTiddlerData(TITLE_INFO_PLUGIN,{tiddlers: {}});\\n\\t\\t// Add the new ones\\n\\t\\t$tw.utils.each(tiddlerFieldsArray,function(fields) {\\n\\t\\t\\tif(fields && fields.title) {\\n\\t\\t\\t\\tjson.tiddlers[fields.title] = fields;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\t// Bake the info tiddlers into a plugin. We use the non-standard plugin-type \\\"info\\\" because ordinary plugins are only registered asynchronously after being loaded dynamically\\n\\t\\tvar fields = {\\n\\t\\t\\ttitle: TITLE_INFO_PLUGIN,\\n\\t\\t\\ttype: \\\"application/json\\\",\\n\\t\\t\\t\\\"plugin-type\\\": \\\"info\\\",\\n\\t\\t\\ttext: JSON.stringify(json,null,$tw.config.preferences.jsonSpaces)\\n\\t\\t};\\n\\t\\t$tw.wiki.addTiddler(new $tw.Tiddler(fields));\\n\\n\\t};\\n\\t// Collect up the info tiddlers\\n\\tvar tiddlerFieldsArray = [];\\n\\t// Give each info module a chance to provide as many info tiddlers as they want as an array, and give them a callback for dynamically updating them\\n\\t$tw.modules.forEachModuleOfType(\\\"info\\\",function(title,moduleExports) {\\n\\t\\tif(moduleExports && moduleExports.getInfoTiddlerFields) {\\n\\t\\t\\tArray.prototype.push.apply(tiddlerFieldsArray,moduleExports.getInfoTiddlerFields(updateInfoPlugin));\\n\\t\\t}\\n\\t});\\n\\tupdateInfoPlugin(tiddlerFieldsArray);\\n\\tvar changes = $tw.wiki.readPluginInfo([TITLE_INFO_PLUGIN]);\\n\\t$tw.wiki.registerPluginTiddlers(\\\"info\\\",[TITLE_INFO_PLUGIN]);\\n\\t$tw.wiki.unpackPluginTiddlers();\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"startup\"},\"$:/core/modules/startup/load-modules.js\":{\"title\":\"$:/core/modules/startup/load-modules.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/startup/load-modules.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nLoad core modules\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"load-modules\\\";\\nexports.synchronous = true;\\n\\nexports.startup = function() {\\n\\t// Load modules\\n\\t$tw.modules.applyMethods(\\\"utils\\\",$tw.utils);\\n\\tif($tw.node) {\\n\\t\\t$tw.modules.applyMethods(\\\"utils-node\\\",$tw.utils);\\n\\t}\\n\\tif($tw.browser) {\\n\\t\\t$tw.modules.applyMethods(\\\"utils-browser\\\",$tw.utils);\\n\\t}\\n\\t$tw.modules.applyMethods(\\\"global\\\",$tw);\\n\\t$tw.modules.applyMethods(\\\"config\\\",$tw.config);\\n\\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\\\"tiddlerfield\\\");\\n\\t$tw.modules.applyMethods(\\\"tiddlermethod\\\",$tw.Tiddler.prototype);\\n\\t$tw.modules.applyMethods(\\\"wikimethod\\\",$tw.Wiki.prototype);\\n\\t$tw.wiki.addIndexersToWiki();\\n\\t$tw.modules.applyMethods(\\\"tiddlerdeserializer\\\",$tw.Wiki.tiddlerDeserializerModules);\\n\\t$tw.macros = $tw.modules.getModulesByTypeAsHashmap(\\\"macro\\\");\\n\\t$tw.wiki.initParsers();\\n\\t$tw.Commander.initCommands();\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"startup\"},\"$:/core/modules/startup/password.js\":{\"title\":\"$:/core/modules/startup/password.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/startup/password.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nPassword handling\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"password\\\";\\nexports.platforms = [\\\"browser\\\"];\\nexports.after = [\\\"startup\\\"];\\nexports.synchronous = true;\\n\\nexports.startup = function() {\\n\\t$tw.rootWidget.addEventListener(\\\"tm-set-password\\\",function(event) {\\n\\t\\t$tw.passwordPrompt.createPrompt({\\n\\t\\t\\tserviceName: $tw.language.getString(\\\"Encryption/PromptSetPassword\\\"),\\n\\t\\t\\tnoUserName: true,\\n\\t\\t\\tsubmitText: $tw.language.getString(\\\"Encryption/SetPassword\\\"),\\n\\t\\t\\tcanCancel: true,\\n\\t\\t\\trepeatPassword: true,\\n\\t\\t\\tcallback: function(data) {\\n\\t\\t\\t\\tif(data) {\\n\\t\\t\\t\\t\\t$tw.crypto.setPassword(data.password);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true; // Get rid of the password prompt\\n\\t\\t\\t}\\n\\t\\t});\\n\\t});\\n\\t$tw.rootWidget.addEventListener(\\\"tm-clear-password\\\",function(event) {\\n\\t\\tif($tw.browser) {\\n\\t\\t\\tif(!confirm($tw.language.getString(\\\"Encryption/ConfirmClearPassword\\\"))) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t$tw.crypto.setPassword(null);\\n\\t});\\n\\t// Ensure that $:/isEncrypted is maintained properly\\n\\t$tw.wiki.addEventListener(\\\"change\\\",function(changes) {\\n\\t\\tif($tw.utils.hop(changes,\\\"$:/isEncrypted\\\")) {\\n\\t\\t\\t$tw.crypto.updateCryptoStateTiddler();\\n\\t\\t}\\n\\t});\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"startup\"},\"$:/core/modules/startup/plugins.js\":{\"title\":\"$:/core/modules/startup/plugins.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/startup/plugins.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nStartup logic concerned with managing plugins\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"plugins\\\";\\nexports.after = [\\\"load-modules\\\"];\\nexports.before = [\\\"startup\\\"];\\nexports.synchronous = true;\\n\\nvar TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE = \\\"$:/status/RequireReloadDueToPluginChange\\\";\\n\\nvar PREFIX_CONFIG_REGISTER_PLUGIN_TYPE = \\\"$:/config/RegisterPluginType/\\\";\\n\\nexports.startup = function() {\\n\\t$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: \\\"no\\\"});\\n\\t$tw.wiki.addEventListener(\\\"change\\\",function(changes) {\\n\\t\\t// Work out which of the changed tiddlers are plugins that we need to reregister\\n\\t\\tvar changesToProcess = [],\\n\\t\\t\\trequireReloadDueToPluginChange = false;\\n\\t\\t$tw.utils.each(Object.keys(changes),function(title) {\\n\\t\\t\\tvar tiddler = $tw.wiki.getTiddler(title),\\n\\t\\t\\t\\trequiresReload = $tw.wiki.doesPluginRequireReload(title);\\n\\t\\t\\tif(requiresReload) {\\n\\t\\t\\t\\trequireReloadDueToPluginChange = true;\\n\\t\\t\\t} else if(tiddler) {\\n\\t\\t\\t\\tvar pluginType = tiddler.fields[\\\"plugin-type\\\"];\\n\\t\\t\\t\\tif($tw.wiki.getTiddlerText(PREFIX_CONFIG_REGISTER_PLUGIN_TYPE + (tiddler.fields[\\\"plugin-type\\\"] || \\\"\\\"),\\\"no\\\") === \\\"yes\\\") {\\n\\t\\t\\t\\t\\tchangesToProcess.push(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\t// Issue warning if any of the tiddlers require a reload\\n\\t\\tif(requireReloadDueToPluginChange) {\\n\\t\\t\\t$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: \\\"yes\\\"});\\n\\t\\t}\\n\\t\\t// Read or delete the plugin info of the changed tiddlers\\n\\t\\tif(changesToProcess.length > 0) {\\n\\t\\t\\tvar changes = $tw.wiki.readPluginInfo(changesToProcess);\\n\\t\\t\\tif(changes.modifiedPlugins.length > 0 || changes.deletedPlugins.length > 0) {\\n\\t\\t\\t\\tvar changedShadowTiddlers = {};\\n\\t\\t\\t\\t// Collect the shadow tiddlers of any deleted plugins\\n\\t\\t\\t\\t$tw.utils.each(changes.deletedPlugins,function(pluginTitle) {\\n\\t\\t\\t\\t\\tvar pluginInfo = $tw.wiki.getPluginInfo(pluginTitle);\\n\\t\\t\\t\\t\\tif(pluginInfo) {\\n\\t\\t\\t\\t\\t\\t$tw.utils.each(Object.keys(pluginInfo.tiddlers),function(title) {\\n\\t\\t\\t\\t\\t\\t\\tchangedShadowTiddlers[title] = true;\\n\\t\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\t// Collect the shadow tiddlers of any modified plugins\\n\\t\\t\\t\\t$tw.utils.each(changes.modifiedPlugins,function(pluginTitle) {\\n\\t\\t\\t\\t\\tvar pluginInfo = $tw.wiki.getPluginInfo(pluginTitle);\\n\\t\\t\\t\\t\\tif(pluginInfo) {\\n\\t\\t\\t\\t\\t\\t$tw.utils.each(Object.keys(pluginInfo.tiddlers),function(title) {\\n\\t\\t\\t\\t\\t\\t\\tchangedShadowTiddlers[title] = false;\\n\\t\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\t// (Re-)register any modified plugins\\n\\t\\t\\t\\t$tw.wiki.registerPluginTiddlers(null,changes.modifiedPlugins);\\n\\t\\t\\t\\t// Unregister any deleted plugins\\n\\t\\t\\t\\t$tw.wiki.unregisterPluginTiddlers(null,changes.deletedPlugins);\\n\\t\\t\\t\\t// Unpack the shadow tiddlers\\n\\t\\t\\t\\t$tw.wiki.unpackPluginTiddlers();\\n\\t\\t\\t\\t// Queue change events for the changed shadow tiddlers\\n\\t\\t\\t\\t$tw.utils.each(Object.keys(changedShadowTiddlers),function(title) {\\n\\t\\t\\t\\t\\t$tw.wiki.enqueueTiddlerEvent(title,changedShadowTiddlers[title]);\\n\\t\\t\\t\\t});\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"startup\"},\"$:/core/modules/startup/render.js\":{\"title\":\"$:/core/modules/startup/render.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/startup/render.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nTitle, stylesheet and page rendering\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"render\\\";\\nexports.platforms = [\\\"browser\\\"];\\nexports.after = [\\\"story\\\"];\\nexports.synchronous = true;\\n\\n// Default story and history lists\\nvar PAGE_TITLE_TITLE = \\\"$:/core/wiki/title\\\";\\nvar PAGE_STYLESHEET_TITLE = \\\"$:/core/ui/PageStylesheet\\\";\\nvar PAGE_TEMPLATE_TITLE = \\\"$:/core/ui/RootTemplate\\\";\\n\\n// Time (in ms) that we defer refreshing changes to draft tiddlers\\nvar DRAFT_TIDDLER_TIMEOUT_TITLE = \\\"$:/config/Drafts/TypingTimeout\\\";\\nvar THROTTLE_REFRESH_TIMEOUT = 400;\\n\\nexports.startup = function() {\\n\\t// Set up the title\\n\\t$tw.titleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TITLE_TITLE,{document: $tw.fakeDocument, parseAsInline: true});\\n\\t$tw.titleContainer = $tw.fakeDocument.createElement(\\\"div\\\");\\n\\t$tw.titleWidgetNode.render($tw.titleContainer,null);\\n\\tdocument.title = $tw.titleContainer.textContent;\\n\\t$tw.wiki.addEventListener(\\\"change\\\",function(changes) {\\n\\t\\tif($tw.titleWidgetNode.refresh(changes,$tw.titleContainer,null)) {\\n\\t\\t\\tdocument.title = $tw.titleContainer.textContent;\\n\\t\\t}\\n\\t});\\n\\t// Set up the styles\\n\\t$tw.styleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_STYLESHEET_TITLE,{document: $tw.fakeDocument});\\n\\t$tw.styleContainer = $tw.fakeDocument.createElement(\\\"style\\\");\\n\\t$tw.styleWidgetNode.render($tw.styleContainer,null);\\n\\t$tw.styleWidgetNode.assignedStyles = $tw.styleContainer.textContent;\\n\\t$tw.styleElement = document.createElement(\\\"style\\\");\\n\\t$tw.styleElement.innerHTML = $tw.styleWidgetNode.assignedStyles;\\n\\tdocument.head.insertBefore($tw.styleElement,document.head.firstChild);\\n\\t$tw.wiki.addEventListener(\\\"change\\\",$tw.perf.report(\\\"styleRefresh\\\",function(changes) {\\n\\t\\tif($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {\\n\\t\\t\\tvar newStyles = $tw.styleContainer.textContent;\\n\\t\\t\\tif(newStyles !== $tw.styleWidgetNode.assignedStyles) {\\n\\t\\t\\t\\t$tw.styleWidgetNode.assignedStyles = newStyles;\\n\\t\\t\\t\\t$tw.styleElement.innerHTML = $tw.styleWidgetNode.assignedStyles;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}));\\n\\t// Display the $:/core/ui/PageTemplate tiddler to kick off the display\\n\\t$tw.perf.report(\\\"mainRender\\\",function() {\\n\\t\\t$tw.pageWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TEMPLATE_TITLE,{document: document, parentWidget: $tw.rootWidget, recursionMarker: \\\"no\\\"});\\n\\t\\t$tw.pageContainer = document.createElement(\\\"div\\\");\\n\\t\\t$tw.utils.addClass($tw.pageContainer,\\\"tc-page-container-wrapper\\\");\\n\\t\\tdocument.body.insertBefore($tw.pageContainer,document.body.firstChild);\\n\\t\\t$tw.pageWidgetNode.render($tw.pageContainer,null);\\n \\t\\t$tw.hooks.invokeHook(\\\"th-page-refreshed\\\");\\n\\t})();\\n\\t// Remove any splash screen elements\\n\\tvar removeList = document.querySelectorAll(\\\".tc-remove-when-wiki-loaded\\\");\\n\\t$tw.utils.each(removeList,function(removeItem) {\\n\\t\\tif(removeItem.parentNode) {\\n\\t\\t\\tremoveItem.parentNode.removeChild(removeItem);\\n\\t\\t}\\n\\t});\\n\\t// Prepare refresh mechanism\\n\\tvar deferredChanges = Object.create(null),\\n\\t\\ttimerId;\\n\\tfunction refresh() {\\n\\t\\t// Process the refresh\\n\\t\\t$tw.hooks.invokeHook(\\\"th-page-refreshing\\\");\\n\\t\\t$tw.pageWidgetNode.refresh(deferredChanges);\\n\\t\\tdeferredChanges = Object.create(null);\\n\\t\\t$tw.hooks.invokeHook(\\\"th-page-refreshed\\\");\\n\\t}\\n\\t// Add the change event handler\\n\\t$tw.wiki.addEventListener(\\\"change\\\",$tw.perf.report(\\\"mainRefresh\\\",function(changes) {\\n\\t\\t// Check if only tiddlers that are throttled have changed\\n\\t\\tvar onlyThrottledTiddlersHaveChanged = true;\\n\\t\\tfor(var title in changes) {\\n\\t\\t\\tvar tiddler = $tw.wiki.getTiddler(title);\\n\\t\\t\\tif(!$tw.wiki.isVolatileTiddler(title) && (!tiddler || !(tiddler.hasField(\\\"draft.of\\\") || tiddler.hasField(\\\"throttle.refresh\\\")))) {\\n\\t\\t\\t\\tonlyThrottledTiddlersHaveChanged = false;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t// Defer the change if only drafts have changed\\n\\t\\tif(timerId) {\\n\\t\\t\\tclearTimeout(timerId);\\n\\t\\t}\\n\\t\\ttimerId = null;\\n\\t\\tif(onlyThrottledTiddlersHaveChanged) {\\n\\t\\t\\tvar timeout = parseInt($tw.wiki.getTiddlerText(DRAFT_TIDDLER_TIMEOUT_TITLE,\\\"\\\"),10);\\n\\t\\t\\tif(isNaN(timeout)) {\\n\\t\\t\\t\\ttimeout = THROTTLE_REFRESH_TIMEOUT;\\n\\t\\t\\t}\\n\\t\\t\\ttimerId = setTimeout(refresh,timeout);\\n\\t\\t\\t$tw.utils.extend(deferredChanges,changes);\\n\\t\\t} else {\\n\\t\\t\\t$tw.utils.extend(deferredChanges,changes);\\n\\t\\t\\trefresh();\\n\\t\\t}\\n\\t}));\\n\\t// Fix up the link between the root widget and the page container\\n\\t$tw.rootWidget.domNodes = [$tw.pageContainer];\\n\\t$tw.rootWidget.children = [$tw.pageWidgetNode];\\n\\t// Run any post-render startup actions\\n\\t$tw.rootWidget.invokeActionsByTag(\\\"$:/tags/StartupAction/PostRender\\\");\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"startup\"},\"$:/core/modules/startup/rootwidget.js\":{\"title\":\"$:/core/modules/startup/rootwidget.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/startup/rootwidget.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nSetup the root widget and the core root widget handlers\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"rootwidget\\\";\\nexports.platforms = [\\\"browser\\\"];\\nexports.after = [\\\"startup\\\"];\\nexports.before = [\\\"story\\\"];\\nexports.synchronous = true;\\n\\nexports.startup = function() {\\n\\t// Install the HTTP client event handler\\n\\t$tw.httpClient = new $tw.utils.HttpClient();\\n\\tvar getPropertiesWithPrefix = function(properties,prefix) {\\n\\t\\tvar result = Object.create(null);\\n\\t\\t$tw.utils.each(properties,function(value,name) {\\n\\t\\t\\tif(name.indexOf(prefix) === 0) {\\n\\t\\t\\t\\tresult[name.substring(prefix.length)] = properties[name];\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\treturn result;\\n\\t};\\n\\t$tw.rootWidget.addEventListener(\\\"tm-http-request\\\",function(event) {\\n\\t\\tvar params = event.paramObject || {};\\n\\t\\t$tw.httpClient.initiateHttpRequest({\\n\\t\\t\\twiki: event.widget.wiki,\\n\\t\\t\\turl: params.url,\\n\\t\\t\\tmethod: params.method,\\n\\t\\t\\tbody: params.body,\\n\\t\\t\\tbinary: params.binary,\\n\\t\\t\\toncompletion: params.oncompletion,\\n\\t\\t\\tonprogress: params.onprogress,\\n\\t\\t\\tbindStatus: params[\\\"bind-status\\\"],\\n\\t\\t\\tbindProgress: params[\\\"bind-progress\\\"],\\n\\t\\t\\tvariables: getPropertiesWithPrefix(params,\\\"var-\\\"),\\n\\t\\t\\theaders: getPropertiesWithPrefix(params,\\\"header-\\\"),\\n\\t\\t\\tpasswordHeaders: getPropertiesWithPrefix(params,\\\"password-header-\\\"),\\n\\t\\t\\tqueryStrings: getPropertiesWithPrefix(params,\\\"query-\\\"),\\n\\t\\t\\tpasswordQueryStrings: getPropertiesWithPrefix(params,\\\"password-query-\\\")\\n\\t\\t});\\n\\t});\\n\\t$tw.rootWidget.addEventListener(\\\"tm-http-cancel-all-requests\\\",function(event) {\\n\\t\\t$tw.httpClient.cancelAllHttpRequests();\\n\\t});\\n\\t// Install the modal message mechanism\\n\\t$tw.modal = new $tw.utils.Modal($tw.wiki);\\n\\t$tw.rootWidget.addEventListener(\\\"tm-modal\\\",function(event) {\\n\\t\\t$tw.modal.display(event.param,{variables: event.paramObject, event: event});\\n\\t});\\n\\t$tw.rootWidget.addEventListener(\\\"tm-show-switcher\\\",function(event) {\\n\\t\\t$tw.modal.display(\\\"$:/core/ui/SwitcherModal\\\",{variables: event.paramObject, event: event});\\n\\t});\\n\\t// Install the notification mechanism\\n\\t$tw.notifier = new $tw.utils.Notifier($tw.wiki);\\n\\t$tw.rootWidget.addEventListener(\\\"tm-notify\\\",function(event) {\\n\\t\\t$tw.notifier.display(event.param,{variables: event.paramObject});\\n\\t});\\n\\t// Install the copy-to-clipboard mechanism\\n\\t$tw.rootWidget.addEventListener(\\\"tm-copy-to-clipboard\\\",function(event) {\\n\\t\\t$tw.utils.copyToClipboard(event.param);\\n\\t});\\n\\t// Install the tm-focus-selector message\\n\\t$tw.rootWidget.addEventListener(\\\"tm-focus-selector\\\",function(event) {\\n\\t\\tvar selector = event.param || \\\"\\\",\\n\\t\\t\\telement,\\n\\t\\t \\tbaseElement = event.event && event.event.target ? event.event.target.ownerDocument : document;\\n\\t\\telement = $tw.utils.querySelectorSafe(selector,baseElement);\\n\\t\\tif(element && element.focus) {\\n\\t\\t\\telement.focus(event.paramObject);\\n\\t\\t}\\n\\t});\\n\\t// Install the tm-rename-tiddler and tm-relink-tiddler messages\\n\\tvar makeRenameHandler = function(method) {\\n\\t\\treturn function(event) {\\n\\t\\t\\tvar options = {},\\n\\t\\t\\t\\tparamObject = event.paramObject || {},\\n\\t\\t\\t\\tfrom = paramObject.from || event.tiddlerTitle,\\n\\t\\t\\t\\tto = paramObject.to;\\n\\t\\t\\toptions.dontRenameInTags = (paramObject.renameInTags === \\\"false\\\" || paramObject.renameInTags === \\\"no\\\") ? true : false;\\n\\t\\t\\toptions.dontRenameInLists = (paramObject.renameInLists === \\\"false\\\" || paramObject.renameInLists === \\\"no\\\") ? true : false;\\n\\t\\t\\t$tw.wiki[method](from,to,options);\\n\\t\\t};\\n\\t};\\n\\t$tw.rootWidget.addEventListener(\\\"tm-rename-tiddler\\\",makeRenameHandler(\\\"renameTiddler\\\"));\\n\\t$tw.rootWidget.addEventListener(\\\"tm-relink-tiddler\\\",makeRenameHandler(\\\"relinkTiddler\\\"));\\n\\t// Install the scroller\\n\\t$tw.pageScroller = new $tw.utils.PageScroller();\\n\\t$tw.rootWidget.addEventListener(\\\"tm-scroll\\\",function(event) {\\n\\t\\t$tw.pageScroller.handleEvent(event);\\n\\t});\\n\\tvar fullscreen = $tw.utils.getFullScreenApis();\\n\\tif(fullscreen) {\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-full-screen\\\",function(event) {\\n\\t\\t\\tvar fullScreenDocument = event.event ? event.event.target.ownerDocument : document;\\n\\t\\t\\tif(event.param === \\\"enter\\\") {\\n\\t\\t\\t\\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\\n\\t\\t\\t} else if(event.param === \\\"exit\\\") {\\n\\t\\t\\t\\tfullScreenDocument[fullscreen._exitFullscreen]();\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tif(fullScreenDocument[fullscreen._fullscreenElement]) {\\n\\t\\t\\t\\t\\tfullScreenDocument[fullscreen._exitFullscreen]();\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"startup\"},\"$:/core/modules/startup.js\":{\"title\":\"$:/core/modules/startup.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/startup.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nMiscellaneous startup logic for both the client and server.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"startup\\\";\\nexports.after = [\\\"load-modules\\\"];\\nexports.synchronous = true;\\n\\n// Set to `true` to enable performance instrumentation\\nvar PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE = \\\"$:/config/Performance/Instrumentation\\\";\\n\\nvar widget = require(\\\"$:/core/modules/widgets/widget.js\\\");\\n\\nexports.startup = function() {\\n\\t// Minimal browser detection\\n\\tif($tw.browser) {\\n\\t\\t$tw.browser.isIE = (/msie|trident/i.test(navigator.userAgent));\\n\\t\\t$tw.browser.isFirefox = !!document.mozFullScreenEnabled;\\n\\t\\t// 2023-07-21 Edge returns UA below. So we use \\\"isChromeLike\\\"\\n\\t\\t//'mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/114.0.0.0 safari/537.36 edg/114.0.1823.82'\\n\\t\\t$tw.browser.isChromeLike = navigator.userAgent.toLowerCase().indexOf(\\\"chrome\\\") > -1;\\n\\t\\t$tw.browser.hasTouch = !!window.matchMedia && window.matchMedia(\\\"(pointer: coarse)\\\").matches;\\n\\t\\t$tw.browser.isMobileChrome = $tw.browser.isChromeLike && $tw.browser.hasTouch;\\n\\t}\\n\\t// Platform detection\\n\\t$tw.platform = {};\\n\\tif($tw.browser) {\\n\\t\\t$tw.platform.isMac = /Mac/.test(navigator.platform);\\n\\t\\t$tw.platform.isWindows = /win/i.test(navigator.platform);\\n\\t\\t$tw.platform.isLinux = /Linux/i.test(navigator.platform);\\n\\t} else {\\n\\t\\tswitch(require(\\\"os\\\").platform()) {\\n\\t\\t\\tcase \\\"darwin\\\":\\n\\t\\t\\t\\t$tw.platform.isMac = true;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\tcase \\\"win32\\\":\\n\\t\\t\\t\\t$tw.platform.isWindows = true;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\tcase \\\"freebsd\\\":\\n\\t\\t\\t\\t$tw.platform.isLinux = true;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\tcase \\\"linux\\\":\\n\\t\\t\\t\\t$tw.platform.isLinux = true;\\n\\t\\t\\t\\tbreak;\\n\\t\\t}\\n\\t}\\n\\t// Initialise version\\n\\t$tw.version = $tw.utils.extractVersionInfo();\\n\\t// Set up the performance framework\\n\\t$tw.perf = new $tw.Performance($tw.wiki.getTiddlerText(PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE,\\\"no\\\") === \\\"yes\\\");\\n\\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\\n\\t$tw.rootWidget = new widget.widget({\\n\\t\\ttype: \\\"widget\\\",\\n\\t\\tchildren: []\\n\\t},{\\n\\t\\twiki: $tw.wiki,\\n\\t\\tdocument: $tw.browser ? document : $tw.fakeDocument\\n\\t});\\n\\t// Execute any startup actions\\n\\t$tw.rootWidget.invokeActionsByTag(\\\"$:/tags/StartupAction\\\");\\n\\tif($tw.browser) {\\n\\t\\t$tw.rootWidget.invokeActionsByTag(\\\"$:/tags/StartupAction/Browser\\\");\\n\\t}\\n\\tif($tw.node) {\\n\\t\\t$tw.rootWidget.invokeActionsByTag(\\\"$:/tags/StartupAction/Node\\\");\\n\\t}\\n\\t// Kick off the language manager and switcher\\n\\t$tw.language = new $tw.Language();\\n\\t$tw.languageSwitcher = new $tw.PluginSwitcher({\\n\\t\\twiki: $tw.wiki,\\n\\t\\tpluginType: \\\"language\\\",\\n\\t\\tcontrollerTitle: \\\"$:/language\\\",\\n\\t\\tdefaultPlugins: [\\n\\t\\t\\t\\\"$:/languages/en-GB\\\"\\n\\t\\t],\\n\\t\\tonSwitch: function(plugins) {\\n\\t\\t\\tif($tw.browser) {\\n\\t\\t\\t\\tvar pluginTiddler = $tw.wiki.getTiddler(plugins[0]);\\n\\t\\t\\t\\tif(pluginTiddler) {\\n\\t\\t\\t\\t\\tdocument.documentElement.setAttribute(\\\"dir\\\",pluginTiddler.getFieldString(\\\"text-direction\\\") || \\\"auto\\\");\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tdocument.documentElement.removeAttribute(\\\"dir\\\");\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\t// Kick off the theme manager\\n\\t$tw.themeManager = new $tw.PluginSwitcher({\\n\\t\\twiki: $tw.wiki,\\n\\t\\tpluginType: \\\"theme\\\",\\n\\t\\tcontrollerTitle: \\\"$:/theme\\\",\\n\\t\\tdefaultPlugins: [\\n\\t\\t\\t\\\"$:/themes/tiddlywiki/snowwhite\\\",\\n\\t\\t\\t\\\"$:/themes/tiddlywiki/vanilla\\\"\\n\\t\\t]\\n\\t});\\n\\t// Kick off the keyboard manager\\n\\t$tw.keyboardManager = new $tw.KeyboardManager();\\n\\t// Listen for shortcuts\\n\\tif($tw.browser) {\\n\\t\\t$tw.utils.addEventListeners(document,[{\\n\\t\\t\\tname: \\\"keydown\\\",\\n\\t\\t\\thandlerObject: $tw.keyboardManager,\\n\\t\\t\\thandlerMethod: \\\"handleKeydownEvent\\\"\\n\\t\\t}]);\\n\\t}\\n\\t// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup\\n\\t$tw.wiki.clearTiddlerEventQueue();\\n\\t// Find a working syncadaptor\\n\\t$tw.syncadaptor = undefined;\\n\\t$tw.modules.forEachModuleOfType(\\\"syncadaptor\\\",function(title,module) {\\n\\t\\tif(!$tw.syncadaptor && module.adaptorClass) {\\n\\t\\t\\t$tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki});\\n\\t\\t}\\n\\t});\\n\\t// Set up the syncer object if we've got a syncadaptor\\n\\tif($tw.syncadaptor) {\\n\\t\\t$tw.syncer = new $tw.Syncer({\\n\\t\\t\\twiki: $tw.wiki,\\n\\t\\t\\tsyncadaptor: $tw.syncadaptor,\\n\\t\\t\\tlogging: $tw.wiki.getTiddlerText('$:/config/SyncLogging', \\\"yes\\\") === \\\"yes\\\"\\n\\t\\t});\\n\\t}\\n\\t// Setup the saver handler\\n\\t$tw.saverHandler = new $tw.SaverHandler({\\n\\t\\twiki: $tw.wiki,\\n\\t\\tdirtyTracking: !$tw.syncadaptor,\\n\\t\\tpreloadDirty: $tw.boot.preloadDirty || []\\n\\t});\\n\\t// Host-specific startup\\n\\tif($tw.browser) {\\n\\t\\t// Install the popup manager\\n\\t\\t$tw.popup = new $tw.utils.Popup();\\n\\t\\t// Install the animator\\n\\t\\t$tw.anim = new $tw.utils.Animator();\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"startup\"},\"$:/core/modules/startup/story.js\":{\"title\":\"$:/core/modules/startup/story.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/startup/story.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nLoad core modules\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"story\\\";\\nexports.after = [\\\"startup\\\"];\\nexports.synchronous = true;\\n\\n// Default story and history lists\\nvar DEFAULT_STORY_TITLE = \\\"$:/StoryList\\\";\\nvar DEFAULT_HISTORY_TITLE = \\\"$:/HistoryList\\\";\\n\\n// Default tiddlers\\nvar DEFAULT_TIDDLERS_TITLE = \\\"$:/DefaultTiddlers\\\";\\n\\n// Config\\nvar CONFIG_UPDATE_ADDRESS_BAR = \\\"$:/config/Navigation/UpdateAddressBar\\\"; // Can be \\\"no\\\", \\\"permalink\\\", \\\"permaview\\\"\\nvar CONFIG_UPDATE_HISTORY = \\\"$:/config/Navigation/UpdateHistory\\\"; // Can be \\\"yes\\\" or \\\"no\\\"\\nvar CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD = \\\"$:/config/Navigation/Permalinkview/CopyToClipboard\\\"; // Can be \\\"yes\\\" (default) or \\\"no\\\"\\nvar CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR = \\\"$:/config/Navigation/Permalinkview/UpdateAddressBar\\\"; // Can be \\\"yes\\\" (default) or \\\"no\\\"\\n\\n\\n// Links to help, if there is no param\\nvar HELP_OPEN_EXTERNAL_WINDOW = \\\"http://tiddlywiki.com/#WidgetMessage%3A%20tm-open-external-window\\\";\\n\\nexports.startup = function() {\\n\\t// Open startup tiddlers\\n\\topenStartupTiddlers({\\n\\t\\tdisableHistory: $tw.boot.disableStartupNavigation\\n\\t});\\n\\tif($tw.browser) {\\n\\t\\t// Set up location hash update\\n\\t\\t$tw.wiki.addEventListener(\\\"change\\\",function(changes) {\\n\\t\\t\\tif($tw.utils.hop(changes,DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,DEFAULT_HISTORY_TITLE)) {\\n\\t\\t\\t\\tupdateLocationHash({\\n\\t\\t\\t\\t\\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_UPDATE_ADDRESS_BAR,\\\"permaview\\\").trim(),\\n\\t\\t\\t\\t\\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\\\"no\\\").trim()\\n\\t\\t\\t\\t});\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\t// Listen for changes to the browser location hash\\n\\t\\twindow.addEventListener(\\\"hashchange\\\",function() {\\n\\t\\t\\tvar hash = $tw.utils.getLocationHash();\\n\\t\\t\\tif(hash !== $tw.locationHash) {\\n\\t\\t\\t\\t$tw.locationHash = hash;\\n\\t\\t\\t\\tif(hash !== \\\"#\\\") {\\n\\t\\t\\t\\t\\topenStartupTiddlers({defaultToCurrentStory: true});\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t},false);\\n\\t\\t// Listen for the tm-browser-refresh message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-browser-refresh\\\",function(event) {\\n\\t\\t\\twindow.location.reload(true);\\n\\t\\t});\\n\\t\\t// Listen for tm-open-external-window message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-open-external-window\\\",function(event) {\\n\\t\\t\\tvar paramObject = event.paramObject || {},\\n\\t\\t\\t\\tstrUrl = event.param || HELP_OPEN_EXTERNAL_WINDOW,\\n\\t\\t\\t\\tstrWindowName = paramObject.windowName,\\n\\t\\t\\t\\tstrWindowFeatures = paramObject.windowFeatures;\\n\\t\\t\\twindow.open(strUrl, strWindowName, strWindowFeatures);\\n\\t\\t});\\n\\t\\t// Listen for the tm-print message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-print\\\",function(event) {\\n\\t\\t\\t(event.event.view || window).print();\\n\\t\\t});\\n\\t\\t// Listen for the tm-home message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-home\\\",function(event) {\\n\\t\\t\\twindow.location.hash = \\\"\\\";\\n\\t\\t\\tvar storyFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE),\\n\\t\\t\\t\\tstoryList = $tw.wiki.filterTiddlers(storyFilter);\\n\\t\\t\\t//invoke any hooks that might change the default story list\\n\\t\\t\\tstoryList = $tw.hooks.invokeHook(\\\"th-opening-default-tiddlers-list\\\",storyList);\\n\\t\\t\\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \\\"\\\", list: storyList},$tw.wiki.getModificationFields());\\n\\t\\t\\tif(storyList[0]) {\\n\\t\\t\\t\\t$tw.wiki.addToHistory(storyList[0]);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\t// Listen for the tm-permalink message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-permalink\\\",function(event) {\\n\\t\\t\\tupdateLocationHash({\\n\\t\\t\\t\\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\\\"yes\\\").trim() === \\\"yes\\\" ? \\\"permalink\\\" : \\\"none\\\",\\n\\t\\t\\t\\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\\\"no\\\").trim(),\\n\\t\\t\\t\\ttargetTiddler: event.param || event.tiddlerTitle,\\n\\t\\t\\t\\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\\\"yes\\\").trim() === \\\"yes\\\" ? \\\"permalink\\\" : \\\"none\\\"\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\\t// Listen for the tm-permaview message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-permaview\\\",function(event) {\\n\\t\\t\\tupdateLocationHash({\\n\\t\\t\\t\\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\\\"yes\\\").trim() === \\\"yes\\\" ? \\\"permaview\\\" : \\\"none\\\",\\n\\t\\t\\t\\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\\\"no\\\").trim(),\\n\\t\\t\\t\\ttargetTiddler: event.param || event.tiddlerTitle,\\n\\t\\t\\t\\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\\\"yes\\\").trim() === \\\"yes\\\" ? \\\"permaview\\\" : \\\"none\\\"\\n\\t\\t\\t});\\n\\t\\t});\\n\\t}\\n};\\n\\n/*\\nProcess the location hash to open the specified tiddlers. Options:\\ndisableHistory: if true $:/History is NOT updated\\ndefaultToCurrentStory: If true, the current story is retained as the default, instead of opening the default tiddlers\\n*/\\nfunction openStartupTiddlers(options) {\\n\\toptions = options || {};\\n\\t// Work out the target tiddler and the story filter. \\\"null\\\" means \\\"unspecified\\\"\\n\\tvar target = null,\\n\\t\\tstoryFilter = null;\\n\\tif($tw.locationHash.length > 1) {\\n\\t\\tvar hash = $tw.locationHash.substr(1),\\n\\t\\t\\tsplit = hash.indexOf(\\\":\\\");\\n\\t\\tif(split === -1) {\\n\\t\\t\\ttarget = $tw.utils.decodeURIComponentSafe(hash.trim());\\n\\t\\t} else {\\n\\t\\t\\ttarget = $tw.utils.decodeURIComponentSafe(hash.substr(0,split).trim());\\n\\t\\t\\tstoryFilter = $tw.utils.decodeURIComponentSafe(hash.substr(split + 1).trim());\\n\\t\\t}\\n\\t}\\n\\t// If the story wasn't specified use the current tiddlers or a blank story\\n\\tif(storyFilter === null) {\\n\\t\\tif(options.defaultToCurrentStory) {\\n\\t\\t\\tvar currStoryList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE);\\n\\t\\t\\tstoryFilter = $tw.utils.stringifyList(currStoryList);\\n\\t\\t} else {\\n\\t\\t\\tif(target && target !== \\\"\\\") {\\n\\t\\t\\t\\tstoryFilter = \\\"\\\";\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tstoryFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// Process the story filter to get the story list\\n\\tvar storyList = $tw.wiki.filterTiddlers(storyFilter);\\n\\t// Invoke any hooks that want to change the default story list\\n\\tstoryList = $tw.hooks.invokeHook(\\\"th-opening-default-tiddlers-list\\\",storyList);\\n\\t// If the target tiddler isn't included then splice it in at the top\\n\\tif(target && storyList.indexOf(target) === -1) {\\n\\t\\tstoryList.unshift(target);\\n\\t}\\n\\t// Save the story list\\n\\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \\\"\\\", list: storyList},$tw.wiki.getModificationFields());\\n\\t// Update history\\n\\tvar story = new $tw.Story({\\n\\t\\twiki: $tw.wiki,\\n\\t\\tstoryTitle: DEFAULT_STORY_TITLE,\\n\\t\\thistoryTitle: DEFAULT_HISTORY_TITLE\\n\\t});\\n\\tif(!options.disableHistory) {\\n\\t\\t// If a target tiddler was specified add it to the history stack\\n\\t\\tif(target && target !== \\\"\\\") {\\n\\t\\t\\t// The target tiddler doesn't need double square brackets, but we'll silently remove them if they're present\\n\\t\\t\\tif(target.indexOf(\\\"[[\\\") === 0 && target.substr(-2) === \\\"]]\\\") {\\n\\t\\t\\t\\ttarget = target.substr(2,target.length - 4);\\n\\t\\t\\t}\\n\\t\\t\\tstory.addToHistory(target);\\n\\t\\t} else if(storyList.length > 0) {\\n\\t\\t\\tstory.addToHistory(storyList[0]);\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\noptions: See below\\noptions.updateAddressBar: \\\"permalink\\\", \\\"permaview\\\" or \\\"no\\\" (defaults to \\\"permaview\\\")\\noptions.updateHistory: \\\"yes\\\" or \\\"no\\\" (defaults to \\\"no\\\")\\noptions.copyToClipboard: \\\"permalink\\\", \\\"permaview\\\" or \\\"no\\\" (defaults to \\\"no\\\")\\noptions.targetTiddler: optional title of target tiddler for permalink\\n*/\\nfunction updateLocationHash(options) {\\n\\t// Get the story and the history stack\\n\\tvar storyList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE),\\n\\t\\thistoryList = $tw.wiki.getTiddlerData(DEFAULT_HISTORY_TITLE,[]),\\n\\t\\ttargetTiddler = \\\"\\\";\\n\\tif(options.targetTiddler) {\\n\\t\\ttargetTiddler = options.targetTiddler;\\n\\t} else {\\n\\t\\t// The target tiddler is the one at the top of the stack\\n\\t\\tif(historyList.length > 0) {\\n\\t\\t\\ttargetTiddler = historyList[historyList.length-1].title;\\n\\t\\t}\\n\\t\\t// Blank the target tiddler if it isn't present in the story\\n\\t\\tif(storyList.indexOf(targetTiddler) === -1) {\\n\\t\\t\\ttargetTiddler = \\\"\\\";\\n\\t\\t}\\n\\t}\\n\\t// Assemble the location hash\\n\\tswitch(options.updateAddressBar) {\\n\\t\\tcase \\\"permalink\\\":\\n\\t\\t\\t$tw.locationHash = \\\"#\\\" + encodeURIComponent(targetTiddler);\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"permaview\\\":\\n\\t\\t\\t$tw.locationHash = \\\"#\\\" + encodeURIComponent(targetTiddler) + \\\":\\\" + encodeURIComponent($tw.utils.stringifyList(storyList));\\n\\t\\t\\tbreak;\\n\\t}\\n\\t// Copy URL to the clipboard\\n\\tswitch(options.copyToClipboard) {\\n\\t\\tcase \\\"permalink\\\":\\n\\t\\t\\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \\\"#\\\" + encodeURIComponent(targetTiddler));\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"permaview\\\":\\n\\t\\t\\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \\\"#\\\" + encodeURIComponent(targetTiddler) + \\\":\\\" + encodeURIComponent($tw.utils.stringifyList(storyList)));\\n\\t\\t\\tbreak;\\n\\t}\\n\\t// Only change the location hash if we must, thus avoiding unnecessary onhashchange events\\n\\tif($tw.utils.getLocationHash() !== $tw.locationHash) {\\n\\t\\tif(options.updateHistory === \\\"yes\\\") {\\n\\t\\t\\t// Assign the location hash so that history is updated\\n\\t\\t\\twindow.location.hash = $tw.locationHash;\\n\\t\\t} else {\\n\\t\\t\\t// We use replace so that browser history isn't affected\\n\\t\\t\\twindow.location.replace(window.location.toString().split(\\\"#\\\")[0] + $tw.locationHash);\\n\\t\\t}\\n\\t}\\n}\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"startup\"},\"$:/core/modules/startup/windows.js\":{\"title\":\"$:/core/modules/startup/windows.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/startup/windows.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nSetup root widget handlers for the messages concerned with opening external browser windows\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"windows\\\";\\nexports.platforms = [\\\"browser\\\"];\\nexports.after = [\\\"startup\\\"];\\nexports.synchronous = true;\\n\\n// Global to keep track of open windows (hashmap by title)\\n$tw.windows = {};\\n// Default template to use for new windows\\nvar DEFAULT_WINDOW_TEMPLATE = \\\"$:/core/templates/single.tiddler.window\\\";\\n\\nexports.startup = function() {\\n\\t// Handle open window message\\n\\t$tw.rootWidget.addEventListener(\\\"tm-open-window\\\",function(event) {\\n\\t\\t// Get the parameters\\n\\t\\tvar refreshHandler,\\n\\t\\t\\ttitle = event.param || event.tiddlerTitle,\\n\\t\\t\\tparamObject = event.paramObject || {},\\n\\t\\t\\twindowTitle = paramObject.windowTitle || title,\\n\\t\\t\\twindowID = paramObject.windowID || title,\\n\\t\\t\\ttemplate = paramObject.template || DEFAULT_WINDOW_TEMPLATE,\\n\\t\\t\\twidth = paramObject.width || \\\"700\\\",\\n\\t\\t\\theight = paramObject.height || \\\"600\\\",\\n\\t\\t\\ttop = paramObject.top,\\n\\t\\t\\tleft = paramObject.left,\\n\\t\\t\\tvariables = $tw.utils.extend({},paramObject,{currentTiddler: title, \\\"tv-window-id\\\": windowID});\\n\\t\\t// Open the window\\n\\t\\tvar srcWindow,\\n\\t\\t\\tsrcDocument;\\n\\t\\t// In case that popup blockers deny opening a new window\\n\\t\\ttry {\\n\\t\\t\\tsrcWindow = window.open(\\\"\\\",\\\"external-\\\" + windowID,\\\"scrollbars,width=\\\" + width + \\\",height=\\\" + height + (top ? \\\",top=\\\" + top : \\\"\\\" ) + (left ? \\\",left=\\\" + left : \\\"\\\" )),\\n\\t\\t\\tsrcDocument = srcWindow.document;\\n\\t\\t}\\n\\t\\tcatch(e) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\t$tw.windows[windowID] = srcWindow;\\n\\t\\t// Check for reopening the same window\\n\\t\\tif(srcWindow.haveInitialisedWindow) {\\n\\t\\t\\tsrcWindow.focus();\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\t// Initialise the document\\n\\t\\tsrcDocument.write(\\\"<html><head></head><body class='tc-body tc-single-tiddler-window'></body></html>\\\");\\n\\t\\tsrcDocument.close();\\n\\t\\tsrcDocument.title = windowTitle;\\n\\t\\tsrcWindow.addEventListener(\\\"beforeunload\\\",function(event) {\\n\\t\\t\\tdelete $tw.windows[windowID];\\n\\t\\t\\t$tw.wiki.removeEventListener(\\\"change\\\",refreshHandler);\\n\\t\\t},false);\\n\\t\\t// Set up the styles\\n\\t\\tvar styleWidgetNode = $tw.wiki.makeTranscludeWidget(\\\"$:/core/ui/PageStylesheet\\\",{\\n\\t\\t\\t\\tdocument: $tw.fakeDocument,\\n\\t\\t\\t\\tvariables: variables,\\n\\t\\t\\t\\timportPageMacros: true}),\\n\\t\\t\\tstyleContainer = $tw.fakeDocument.createElement(\\\"style\\\");\\n\\t\\tstyleWidgetNode.render(styleContainer,null);\\n\\t\\tvar styleElement = srcDocument.createElement(\\\"style\\\");\\n\\t\\tstyleElement.innerHTML = styleContainer.textContent;\\n\\t\\tsrcDocument.head.insertBefore(styleElement,srcDocument.head.firstChild);\\n\\t\\t// Render the text of the tiddler\\n\\t\\tvar parser = $tw.wiki.parseTiddler(template),\\n\\t\\t\\twidgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});\\n\\t\\twidgetNode.render(srcDocument.body,srcDocument.body.firstChild);\\n\\t\\t// Function to handle refreshes\\n\\t\\trefreshHandler = function(changes) {\\n\\t\\t\\tif(styleWidgetNode.refresh(changes,styleContainer,null)) {\\n\\t\\t\\t\\tstyleElement.innerHTML = styleContainer.textContent;\\n\\t\\t\\t}\\n\\t\\t\\twidgetNode.refresh(changes);\\n\\t\\t};\\n\\t\\t$tw.wiki.addEventListener(\\\"change\\\",refreshHandler);\\n\\t\\t// Listen for keyboard shortcuts\\n\\t\\t$tw.utils.addEventListeners(srcDocument,[{\\n\\t\\t\\tname: \\\"keydown\\\",\\n\\t\\t\\thandlerObject: $tw.keyboardManager,\\n\\t\\t\\thandlerMethod: \\\"handleKeydownEvent\\\"\\n\\t\\t}]);\\n\\t\\tsrcWindow.document.documentElement.addEventListener(\\\"click\\\",$tw.popup,true);\\n\\t\\tsrcWindow.haveInitialisedWindow = true;\\n\\t});\\n\\t$tw.rootWidget.addEventListener(\\\"tm-close-window\\\",function(event) {\\n\\t\\tvar windowID = event.param,\\n\\t\\t\\twin = $tw.windows[windowID];\\n\\t\\t\\tif(win) {\\n\\t\\t\\t\\twin.close();\\n\\t\\t\\t}\\n\\t});\\n\\tvar closeAllWindows = function() {\\n\\t\\t$tw.utils.each($tw.windows,function(win) {\\n\\t\\t\\twin.close();\\n\\t\\t});\\n\\t}\\n\\t$tw.rootWidget.addEventListener(\\\"tm-close-all-windows\\\",closeAllWindows);\\n\\t// Close open windows when unloading main window\\n\\t$tw.addUnloadTask(closeAllWindows);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"startup\"},\"$:/core/modules/story.js\":{\"title\":\"$:/core/modules/story.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/story.js\\ntype: application/javascript\\nmodule-type: global\\n\\nLightweight object for managing interactions with the story and history lists.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nConstruct Story object with options:\\nwiki: reference to wiki object to use to resolve tiddler titles\\nstoryTitle: title of story list tiddler\\nhistoryTitle: title of history list tiddler\\n*/\\nfunction Story(options) {\\n\\toptions = options || {};\\n\\tthis.wiki = options.wiki || $tw.wiki;\\n\\tthis.storyTitle = options.storyTitle || \\\"$:/StoryList\\\";\\n\\tthis.historyTitle = options.historyTitle || \\\"$:/HistoryList\\\";\\n};\\n\\nStory.prototype.navigateTiddler = function(navigateTo,navigateFromTitle,navigateFromClientRect) {\\n\\tthis.addToStory(navigateTo,navigateFromTitle);\\n\\tthis.addToHistory(navigateTo,navigateFromClientRect);\\n};\\n\\nStory.prototype.getStoryList = function() {\\n\\treturn this.wiki.getTiddlerList(this.storyTitle) || [];\\n};\\n\\nStory.prototype.addToStory = function(navigateTo,navigateFromTitle,options) {\\n\\toptions = options || {};\\n\\tvar storyList = this.getStoryList();\\n\\t// See if the tiddler is already there\\n\\tvar slot = storyList.indexOf(navigateTo);\\n\\t// Quit if it already exists in the story river\\n\\tif(slot >= 0) {\\n\\t\\treturn;\\n\\t}\\n\\t// First we try to find the position of the story element we navigated from\\n\\tvar fromIndex = storyList.indexOf(navigateFromTitle);\\n\\tif(fromIndex >= 0) {\\n\\t\\t// The tiddler is added from inside the river\\n\\t\\t// Determine where to insert the tiddler; Fallback is \\\"below\\\"\\n\\t\\tswitch(options.openLinkFromInsideRiver) {\\n\\t\\t\\tcase \\\"top\\\":\\n\\t\\t\\t\\tslot = 0;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\tcase \\\"bottom\\\":\\n\\t\\t\\t\\tslot = storyList.length;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\tcase \\\"above\\\":\\n\\t\\t\\t\\tslot = fromIndex;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\tcase \\\"below\\\": // Intentional fall-through\\n\\t\\t\\tdefault:\\n\\t\\t\\t\\tslot = fromIndex + 1;\\n\\t\\t\\t\\tbreak;\\n\\t\\t}\\n\\t} else {\\n\\t\\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \\\"top\\\"\\n\\t\\tif(options.openLinkFromOutsideRiver === \\\"bottom\\\") {\\n\\t\\t\\t// Insert at bottom\\n\\t\\t\\tslot = storyList.length;\\n\\t\\t} else {\\n\\t\\t\\t// Insert at top\\n\\t\\t\\tslot = 0;\\n\\t\\t}\\n\\t}\\n\\t// Add the tiddler\\n\\tstoryList.splice(slot,0,navigateTo);\\n\\t// Save the story\\n\\tthis.saveStoryList(storyList);\\n};\\n\\nStory.prototype.saveStoryList = function(storyList) {\\n\\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\\n\\tthis.wiki.addTiddler(new $tw.Tiddler(\\n\\t\\tthis.wiki.getCreationFields(),\\n\\t\\t{title: this.storyTitle},\\n\\t\\tstoryTiddler,\\n\\t\\t{list: storyList},\\n\\t\\tthis.wiki.getModificationFields()\\n\\t));\\n};\\n\\nStory.prototype.addToHistory = function(navigateTo,navigateFromClientRect) {\\n\\tvar titles = $tw.utils.isArray(navigateTo) ? navigateTo : [navigateTo];\\n\\t// Add a new record to the top of the history stack\\n\\tvar historyList = this.wiki.getTiddlerData(this.historyTitle,[]);\\n\\t$tw.utils.each(titles,function(title) {\\n\\t\\thistoryList.push({title: title, fromPageRect: navigateFromClientRect});\\n\\t});\\n\\tthis.wiki.setTiddlerData(this.historyTitle,historyList,{\\\"current-tiddler\\\": titles[titles.length-1]});\\n};\\n\\nStory.prototype.storyCloseTiddler = function(targetTitle) {\\n// TBD\\n};\\n\\nStory.prototype.storyCloseAllTiddlers = function() {\\n// TBD\\n};\\n\\nStory.prototype.storyCloseOtherTiddlers = function(targetTitle) {\\n// TBD\\n};\\n\\nStory.prototype.storyEditTiddler = function(targetTitle) {\\n// TBD\\n};\\n\\nStory.prototype.storyDeleteTiddler = function(targetTitle) {\\n// TBD\\n};\\n\\nStory.prototype.storySaveTiddler = function(targetTitle) {\\n// TBD\\n};\\n\\nStory.prototype.storyCancelTiddler = function(targetTitle) {\\n// TBD\\n};\\n\\nStory.prototype.storyNewTiddler = function(targetTitle) {\\n// TBD\\n};\\n\\nexports.Story = Story;\\n\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"global\"},\"$:/core/modules/storyviews/classic.js\":{\"title\":\"$:/core/modules/storyviews/classic.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/storyviews/classic.js\\ntype: application/javascript\\nmodule-type: storyview\\n\\nViews the story as a linear sequence\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar easing = \\\"cubic-bezier(0.645, 0.045, 0.355, 1)\\\"; // From http://easings.net/#easeInOutCubic\\n\\nvar ClassicStoryView = function(listWidget) {\\n\\tthis.listWidget = listWidget;\\n};\\n\\nClassicStoryView.prototype.navigateTo = function(historyInfo) {\\n\\tvar duration = $tw.utils.getAnimationDuration()\\n\\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\\n\\tif(listElementIndex === undefined) {\\n\\t\\treturn;\\n\\t}\\n\\tvar listItemWidget = this.listWidget.children[listElementIndex],\\n\\t\\ttargetElement = listItemWidget.findFirstDomNode();\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\treturn;\\n\\t}\\n\\tif(duration) {\\n\\t\\t// Scroll the node into view\\n\\t\\tthis.listWidget.dispatchEvent({type: \\\"tm-scroll\\\", target: targetElement});\\n\\t} else {\\n\\t\\ttargetElement.scrollIntoView();\\n\\t}\\n};\\n\\nClassicStoryView.prototype.insert = function(widget) {\\n\\tvar duration = $tw.utils.getAnimationDuration();\\n\\tif(duration) {\\n\\t\\tvar targetElement = widget.findFirstDomNode();\\n\\t\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\t\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\t// Get the current height of the tiddler\\n\\t\\tvar computedStyle = window.getComputedStyle(targetElement),\\n\\t\\t\\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\\n\\t\\t\\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\\n\\t\\t\\tcurrHeight = targetElement.offsetHeight + currMarginTop;\\n\\t\\t// Reset the margin once the transition is over\\n\\t\\tsetTimeout(function() {\\n\\t\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t\\t{transition: \\\"none\\\"},\\n\\t\\t\\t\\t{marginBottom: \\\"\\\"}\\n\\t\\t\\t]);\\n\\t\\t},duration);\\n\\t\\t// Set up the initial position of the element\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: \\\"none\\\"},\\n\\t\\t\\t{marginBottom: (-currHeight) + \\\"px\\\"},\\n\\t\\t\\t{opacity: \\\"0.0\\\"}\\n\\t\\t]);\\n\\t\\t$tw.utils.forceLayout(targetElement);\\n\\t\\t// Transition to the final position\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: \\\"opacity \\\" + duration + \\\"ms \\\" + easing + \\\", \\\" +\\n\\t\\t\\t\\t\\t\\t\\\"margin-bottom \\\" + duration + \\\"ms \\\" + easing},\\n\\t\\t\\t{marginBottom: currMarginBottom + \\\"px\\\"},\\n\\t\\t\\t{opacity: \\\"1.0\\\"}\\n\\t]);\\n\\t}\\n};\\n\\nClassicStoryView.prototype.remove = function(widget) {\\n\\tvar duration = $tw.utils.getAnimationDuration();\\n\\tif(duration) {\\n\\t\\tvar targetElement = widget.findFirstDomNode(),\\n\\t\\t\\tremoveElement = function() {\\n\\t\\t\\t\\twidget.removeChildDomNodes();\\n\\t\\t\\t};\\n\\t\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\t\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\t\\tremoveElement();\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\t// Get the current height of the tiddler\\n\\t\\tvar currWidth = targetElement.offsetWidth,\\n\\t\\t\\tcomputedStyle = window.getComputedStyle(targetElement),\\n\\t\\t\\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\\n\\t\\t\\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\\n\\t\\t\\tcurrHeight = targetElement.offsetHeight + currMarginTop;\\n\\t\\t// Remove the dom nodes of the widget at the end of the transition\\n\\t\\tsetTimeout(removeElement,duration);\\n\\t\\t// Animate the closure\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: \\\"none\\\"},\\n\\t\\t\\t{transform: \\\"translateX(0px)\\\"},\\n\\t\\t\\t{marginBottom: currMarginBottom + \\\"px\\\"},\\n\\t\\t\\t{opacity: \\\"1.0\\\"}\\n\\t\\t]);\\n\\t\\t$tw.utils.forceLayout(targetElement);\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms \\\" + easing + \\\", \\\" +\\n\\t\\t\\t\\t\\t\\t\\\"opacity \\\" + duration + \\\"ms \\\" + easing + \\\", \\\" +\\n\\t\\t\\t\\t\\t\\t\\\"margin-bottom \\\" + duration + \\\"ms \\\" + easing},\\n\\t\\t\\t{transform: \\\"translateX(-\\\" + currWidth + \\\"px)\\\"},\\n\\t\\t\\t{marginBottom: (-currHeight) + \\\"px\\\"},\\n\\t\\t\\t{opacity: \\\"0.0\\\"}\\n\\t\\t]);\\n\\t} else {\\n\\t\\twidget.removeChildDomNodes();\\n\\t}\\n};\\n\\nexports.classic = ClassicStoryView;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"storyview\"},\"$:/core/modules/storyviews/pop.js\":{\"title\":\"$:/core/modules/storyviews/pop.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/storyviews/pop.js\\ntype: application/javascript\\nmodule-type: storyview\\n\\nAnimates list insertions and removals\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar PopStoryView = function(listWidget) {\\n\\tthis.listWidget = listWidget;\\n};\\n\\nPopStoryView.prototype.navigateTo = function(historyInfo) {\\n\\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\\n\\tif(listElementIndex === undefined) {\\n\\t\\treturn;\\n\\t}\\n\\tvar listItemWidget = this.listWidget.children[listElementIndex],\\n\\t\\ttargetElement = listItemWidget.findFirstDomNode();\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\treturn;\\n\\t}\\n\\t// Scroll the node into view\\n\\tthis.listWidget.dispatchEvent({type: \\\"tm-scroll\\\", target: targetElement});\\n};\\n\\nPopStoryView.prototype.insert = function(widget) {\\n\\tvar targetElement = widget.findFirstDomNode(),\\n\\t\\tduration = $tw.utils.getAnimationDuration();\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\treturn;\\n\\t}\\n\\t// Reset once the transition is over\\n\\tsetTimeout(function() {\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: \\\"none\\\"},\\n\\t\\t\\t{transform: \\\"none\\\"}\\n\\t\\t]);\\n\\t\\t$tw.utils.setStyle(widget.document.body,[\\n\\t\\t\\t{\\\"overflow-x\\\": \\\"\\\"}\\n\\t\\t]);\\n\\t},duration);\\n\\t// Prevent the page from overscrolling due to the zoom factor\\n\\t$tw.utils.setStyle(widget.document.body,[\\n\\t\\t{\\\"overflow-x\\\": \\\"hidden\\\"}\\n\\t]);\\n\\t// Set up the initial position of the element\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transition: \\\"none\\\"},\\n\\t\\t{transform: \\\"scale(2)\\\"},\\n\\t\\t{opacity: \\\"0.0\\\"}\\n\\t]);\\n\\t$tw.utils.forceLayout(targetElement);\\n\\t// Transition to the final position\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transition: $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"opacity \\\" + duration + \\\"ms ease-in-out\\\"},\\n\\t\\t{transform: \\\"scale(1)\\\"},\\n\\t\\t{opacity: \\\"1.0\\\"}\\n\\t]);\\n};\\n\\nPopStoryView.prototype.remove = function(widget) {\\n\\tvar targetElement = widget.findFirstDomNode(),\\n\\t\\tduration = $tw.utils.getAnimationDuration(),\\n\\t\\tremoveElement = function() {\\n\\t\\t\\tif(targetElement && targetElement.parentNode) {\\n\\t\\t\\t\\twidget.removeChildDomNodes();\\n\\t\\t\\t}\\n\\t\\t};\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\tremoveElement();\\n\\t\\treturn;\\n\\t}\\n\\t// Remove the element at the end of the transition\\n\\tsetTimeout(removeElement,duration);\\n\\t// Animate the closure\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transition: \\\"none\\\"},\\n\\t\\t{transform: \\\"scale(1)\\\"},\\n\\t\\t{opacity: \\\"1.0\\\"}\\n\\t]);\\n\\t$tw.utils.forceLayout(targetElement);\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transition: $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"opacity \\\" + duration + \\\"ms ease-in-out\\\"},\\n\\t\\t{transform: \\\"scale(0.1)\\\"},\\n\\t\\t{opacity: \\\"0.0\\\"}\\n\\t]);\\n};\\n\\nexports.pop = PopStoryView;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"storyview\"},\"$:/core/modules/storyviews/zoomin.js\":{\"title\":\"$:/core/modules/storyviews/zoomin.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/storyviews/zoomin.js\\ntype: application/javascript\\nmodule-type: storyview\\n\\nZooms between individual tiddlers\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar easing = \\\"cubic-bezier(0.645, 0.045, 0.355, 1)\\\"; // From http://easings.net/#easeInOutCubic\\n\\nvar ZoominListView = function(listWidget) {\\n\\tvar self = this;\\n\\tthis.listWidget = listWidget;\\n\\tthis.textNodeLogger = new $tw.utils.Logger(\\\"zoomin story river view\\\", {\\n\\t\\tenable: true,\\n\\t\\tcolour: 'red'\\n\\t});\\n\\t// Get the index of the tiddler that is at the top of the history\\n\\tvar history = this.listWidget.wiki.getTiddlerDataCached(this.listWidget.historyTitle,[]),\\n\\t\\ttargetTiddler;\\n\\tif(history.length > 0) {\\n\\t\\ttargetTiddler = history[history.length-1].title;\\n\\t}\\n\\t// Make all the tiddlers position absolute, and hide all but the top (or first) one\\n\\t$tw.utils.each(this.listWidget.children,function(itemWidget,index) {\\n\\t\\tvar domNode = itemWidget.findFirstDomNode();\\n\\t\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\t\\tif(!(domNode instanceof Element)) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\tif((targetTiddler && targetTiddler !== itemWidget.parseTreeNode.itemTitle) || (!targetTiddler && index)) {\\n\\t\\t\\tdomNode.style.display = \\\"none\\\";\\n\\t\\t} else {\\n\\t\\t\\tself.currentTiddlerDomNode = domNode;\\n\\t\\t}\\n\\t\\t$tw.utils.addClass(domNode,\\\"tc-storyview-zoomin-tiddler\\\");\\n\\t});\\n};\\n\\nZoominListView.prototype.navigateTo = function(historyInfo) {\\n\\tvar duration = $tw.utils.getAnimationDuration(),\\n\\t\\tlistElementIndex = this.listWidget.findListItem(0,historyInfo.title);\\n\\tif(listElementIndex === undefined) {\\n\\t\\treturn;\\n\\t}\\n\\tvar listItemWidget = this.listWidget.children[listElementIndex],\\n\\t\\ttargetElement = listItemWidget.findFirstDomNode();\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement) {\\n\\t\\treturn;\\n\\t} else if (targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\tthis.logTextNodeRoot(targetElement);\\n\\t\\treturn;\\n\\t}\\n\\t// Make the new tiddler be position absolute and visible so that we can measure it\\n\\t$tw.utils.addClass(targetElement,\\\"tc-storyview-zoomin-tiddler\\\");\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{display: \\\"block\\\"},\\n\\t\\t{transformOrigin: \\\"0 0\\\"},\\n\\t\\t{transform: \\\"translateX(0px) translateY(0px) scale(1)\\\"},\\n\\t\\t{transition: \\\"none\\\"},\\n\\t\\t{opacity: \\\"0.0\\\"}\\n\\t]);\\n\\t// Get the position of the source node, or use the centre of the window as the source position\\n\\tvar sourceBounds = historyInfo.fromPageRect || {\\n\\t\\t\\tleft: window.innerWidth/2 - 2,\\n\\t\\t\\ttop: window.innerHeight/2 - 2,\\n\\t\\t\\twidth: window.innerWidth/8,\\n\\t\\t\\theight: window.innerHeight/8\\n\\t\\t};\\n\\t// Try to find the title node in the target tiddler\\n\\tvar titleDomNode = findTitleDomNode(listItemWidget) || listItemWidget.findFirstDomNode(),\\n\\t\\tzoomBounds = titleDomNode.getBoundingClientRect();\\n\\t// Compute the transform for the target tiddler to make the title lie over the source rectange\\n\\tvar targetBounds = targetElement.getBoundingClientRect(),\\n\\t\\tscale = sourceBounds.width / zoomBounds.width,\\n\\t\\tx = sourceBounds.left - targetBounds.left - (zoomBounds.left - targetBounds.left) * scale,\\n\\t\\ty = sourceBounds.top - targetBounds.top - (zoomBounds.top - targetBounds.top) * scale;\\n\\t// Transform the target tiddler to its starting position\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transform: \\\"translateX(\\\" + x + \\\"px) translateY(\\\" + y + \\\"px) scale(\\\" + scale + \\\")\\\"}\\n\\t]);\\n\\t// Force layout\\n\\t$tw.utils.forceLayout(targetElement);\\n\\t// Apply the ending transitions with a timeout to ensure that the previously applied transformations are applied first\\n\\tvar self = this,\\n\\t\\tprevCurrentTiddler = this.currentTiddlerDomNode;\\n\\tthis.currentTiddlerDomNode = targetElement;\\n\\t// Transform the target tiddler to its natural size\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transition: $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms \\\" + easing + \\\", opacity \\\" + duration + \\\"ms \\\" + easing},\\n\\t\\t{opacity: \\\"1.0\\\"},\\n\\t\\t{transform: \\\"translateX(0px) translateY(0px) scale(1)\\\"},\\n\\t\\t{zIndex: \\\"500\\\"},\\n\\t]);\\n\\t// Transform the previous tiddler out of the way and then hide it\\n\\tif(prevCurrentTiddler && prevCurrentTiddler !== targetElement) {\\n\\t\\tscale = zoomBounds.width / sourceBounds.width;\\n\\t\\tx = zoomBounds.left - targetBounds.left - (sourceBounds.left - targetBounds.left) * scale;\\n\\t\\ty = zoomBounds.top - targetBounds.top - (sourceBounds.top - targetBounds.top) * scale;\\n\\t\\t$tw.utils.setStyle(prevCurrentTiddler,[\\n\\t\\t\\t{transition: $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms \\\" + easing + \\\", opacity \\\" + duration + \\\"ms \\\" + easing},\\n\\t\\t\\t{opacity: \\\"0.0\\\"},\\n\\t\\t\\t{transformOrigin: \\\"0 0\\\"},\\n\\t\\t\\t{transform: \\\"translateX(\\\" + x + \\\"px) translateY(\\\" + y + \\\"px) scale(\\\" + scale + \\\")\\\"},\\n\\t\\t\\t{zIndex: \\\"0\\\"}\\n\\t\\t]);\\n\\t\\t// Hide the tiddler when the transition has finished\\n\\t\\tsetTimeout(function() {\\n\\t\\t\\tif(self.currentTiddlerDomNode !== prevCurrentTiddler) {\\n\\t\\t\\t\\tprevCurrentTiddler.style.display = \\\"none\\\";\\n\\t\\t\\t}\\n\\t\\t},duration);\\n\\t}\\n\\t// Scroll the target into view\\n//\\t$tw.pageScroller.scrollIntoView(targetElement);\\n};\\n\\n/*\\nFind the first child DOM node of a widget that has the class \\\"tc-title\\\"\\n*/\\nfunction findTitleDomNode(widget,targetClass) {\\n\\ttargetClass = targetClass || \\\"tc-title\\\";\\n\\tvar domNode = widget.findFirstDomNode();\\n\\tif(domNode && domNode.querySelector) {\\n\\t\\treturn $tw.utils.querySelectorSafe(\\\".\\\" + targetClass,domNode);\\n\\t}\\n\\treturn null;\\n}\\n\\nZoominListView.prototype.insert = function(widget) {\\n\\tvar targetElement = widget.findFirstDomNode();\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement) {\\n\\t\\treturn;\\n\\t} else if (targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\tthis.logTextNodeRoot(targetElement);\\n\\t\\treturn;\\n\\t}\\n\\t// Make the newly inserted node position absolute and hidden\\n\\t$tw.utils.addClass(targetElement,\\\"tc-storyview-zoomin-tiddler\\\");\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{display: \\\"none\\\"}\\n\\t]);\\n};\\n\\nZoominListView.prototype.remove = function(widget) {\\n\\tvar targetElement = widget.findFirstDomNode(),\\n\\t\\tduration = $tw.utils.getAnimationDuration(),\\n\\t\\tremoveElement = function() {\\n\\t\\t\\twidget.removeChildDomNodes();\\n\\t\\t};\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\tremoveElement();\\n\\t\\treturn;\\n\\t}\\n\\t// Abandon if hidden\\n\\tif(targetElement.style.display != \\\"block\\\" ) {\\n\\t\\tremoveElement();\\n\\t\\treturn;\\n\\t}\\n\\t// Set up the tiddler that is being closed\\n\\t$tw.utils.addClass(targetElement,\\\"tc-storyview-zoomin-tiddler\\\");\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{display: \\\"block\\\"},\\n\\t\\t{transformOrigin: \\\"50% 50%\\\"},\\n\\t\\t{transform: \\\"translateX(0px) translateY(0px) scale(1)\\\"},\\n\\t\\t{transition: \\\"none\\\"},\\n\\t\\t{zIndex: \\\"0\\\"}\\n\\t]);\\n\\t// We'll move back to the previous or next element in the story\\n\\tvar toWidget = widget.previousSibling();\\n\\tif(!toWidget) {\\n\\t\\ttoWidget = widget.nextSibling();\\n\\t}\\n\\tvar toWidgetDomNode = toWidget && toWidget.findFirstDomNode();\\n\\t// Set up the tiddler we're moving back in\\n\\tif(toWidgetDomNode) {\\n\\t\\tif (toWidgetDomNode.nodeType === Node.TEXT_NODE) {\\n\\t\\t\\tthis.logTextNodeRoot(toWidgetDomNode);\\n\\t\\t\\ttoWidgetDomNode = null;\\n\\t\\t} else {\\n\\t\\t\\t$tw.utils.addClass(toWidgetDomNode,\\\"tc-storyview-zoomin-tiddler\\\");\\n\\t\\t\\t$tw.utils.setStyle(toWidgetDomNode,[\\n\\t\\t\\t\\t{display: \\\"block\\\"},\\n\\t\\t\\t\\t{transformOrigin: \\\"50% 50%\\\"},\\n\\t\\t\\t\\t{transform: \\\"translateX(0px) translateY(0px) scale(10)\\\"},\\n\\t\\t\\t\\t{transition: $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms \\\" + easing + \\\", opacity \\\" + duration + \\\"ms \\\" + easing},\\n\\t\\t\\t\\t{opacity: \\\"0\\\"},\\n\\t\\t\\t\\t{zIndex: \\\"500\\\"}\\n\\t\\t\\t]);\\n\\t\\t\\tthis.currentTiddlerDomNode = toWidgetDomNode;\\n\\t\\t}\\n\\t}\\n\\t// Animate them both\\n\\t// Force layout\\n\\t$tw.utils.forceLayout(this.listWidget.parentDomNode);\\n\\t// First, the tiddler we're closing\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transformOrigin: \\\"50% 50%\\\"},\\n\\t\\t{transform: \\\"translateX(0px) translateY(0px) scale(0.1)\\\"},\\n\\t\\t{transition: $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms \\\" + easing + \\\", opacity \\\" + duration + \\\"ms \\\" + easing},\\n\\t\\t{opacity: \\\"0\\\"},\\n\\t\\t{zIndex: \\\"0\\\"}\\n\\t]);\\n\\tsetTimeout(removeElement,duration);\\n\\t// Now the tiddler we're going back to\\n\\tif(toWidgetDomNode) {\\n\\t\\t$tw.utils.setStyle(toWidgetDomNode,[\\n\\t\\t\\t{transform: \\\"translateX(0px) translateY(0px) scale(1)\\\"},\\n\\t\\t\\t{opacity: \\\"1\\\"}\\n\\t\\t]);\\n\\t}\\n\\treturn true; // Indicate that we'll delete the DOM node\\n};\\n\\nZoominListView.prototype.logTextNodeRoot = function(node) {\\n\\tthis.textNodeLogger.log($tw.language.getString(\\\"Error/ZoominTextNode\\\") + \\\" \\\" + node.textContent);\\n};\\n\\nexports.zoomin = ZoominListView;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"storyview\"},\"$:/core/modules/syncer.js\":{\"title\":\"$:/core/modules/syncer.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/syncer.js\\ntype: application/javascript\\nmodule-type: global\\n\\nThe syncer tracks changes to the store and synchronises them to a remote data store represented as a \\\"sync adaptor\\\"\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nDefaults\\n*/\\nSyncer.prototype.titleIsLoggedIn = \\\"$:/status/IsLoggedIn\\\";\\nSyncer.prototype.titleIsAnonymous = \\\"$:/status/IsAnonymous\\\";\\nSyncer.prototype.titleIsReadOnly = \\\"$:/status/IsReadOnly\\\";\\nSyncer.prototype.titleUserName = \\\"$:/status/UserName\\\";\\nSyncer.prototype.titleSyncFilter = \\\"$:/config/SyncFilter\\\";\\nSyncer.prototype.titleSyncPollingInterval = \\\"$:/config/SyncPollingInterval\\\";\\nSyncer.prototype.titleSyncDisableLazyLoading = \\\"$:/config/SyncDisableLazyLoading\\\";\\nSyncer.prototype.titleSavedNotification = \\\"$:/language/Notifications/Save/Done\\\";\\nSyncer.prototype.titleSyncThrottleInterval = \\\"$:/config/SyncThrottleInterval\\\";\\nSyncer.prototype.taskTimerInterval = 0.25 * 1000; // Interval for sync timer\\nSyncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...\\nSyncer.prototype.errorRetryInterval = 5 * 1000; // Interval to retry after an error\\nSyncer.prototype.fallbackInterval = 10 * 1000; // Unless the task is older than 10s\\nSyncer.prototype.pollTimerInterval = 60 * 1000; // Interval for polling for changes from the adaptor\\n\\n/*\\nInstantiate the syncer with the following options:\\nsyncadaptor: reference to syncadaptor to be used\\nwiki: wiki to be synced\\n*/\\nfunction Syncer(options) {\\n\\tvar self = this;\\n\\tthis.wiki = options.wiki;\\n\\t// Save parameters\\n\\tthis.syncadaptor = options.syncadaptor;\\n\\tthis.disableUI = !!options.disableUI;\\n\\tthis.titleIsLoggedIn = options.titleIsLoggedIn || this.titleIsLoggedIn;\\n\\tthis.titleUserName = options.titleUserName || this.titleUserName;\\n\\tthis.titleSyncFilter = options.titleSyncFilter || this.titleSyncFilter;\\n\\tthis.titleSavedNotification = options.titleSavedNotification || this.titleSavedNotification;\\n\\tthis.taskTimerInterval = options.taskTimerInterval || this.taskTimerInterval;\\n\\tthis.throttleInterval = options.throttleInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncThrottleInterval,\\\"\\\"),10) || this.throttleInterval;\\n\\tthis.errorRetryInterval = options.errorRetryInterval || this.errorRetryInterval;\\n\\tthis.fallbackInterval = options.fallbackInterval || this.fallbackInterval;\\n\\tthis.pollTimerInterval = options.pollTimerInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncPollingInterval,\\\"\\\"),10) || this.pollTimerInterval;\\n\\tthis.logging = \\\"logging\\\" in options ? options.logging : true;\\n\\t// Make a logger\\n\\tthis.logger = new $tw.utils.Logger(\\\"syncer\\\" + ($tw.browser ? \\\"-browser\\\" : \\\"\\\") + ($tw.node ? \\\"-server\\\" : \\\"\\\") + (this.syncadaptor.name ? (\\\"-\\\" + this.syncadaptor.name) : \\\"\\\"),{\\n\\t\\tcolour: \\\"cyan\\\",\\n\\t\\tenable: this.logging,\\n\\t\\tsaveHistory: true\\n\\t});\\n\\t// Make another logger for connection errors\\n\\tthis.loggerConnection = new $tw.utils.Logger(\\\"syncer\\\" + ($tw.browser ? \\\"-browser\\\" : \\\"\\\") + ($tw.node ? \\\"-server\\\" : \\\"\\\") + (this.syncadaptor.name ? (\\\"-\\\" + this.syncadaptor.name) : \\\"\\\") + \\\"-connection\\\",{\\n\\t\\tcolour: \\\"cyan\\\",\\n\\t\\tenable: this.logging\\n\\t});\\n\\t// Ask the syncadaptor to use the main logger\\n\\tif(this.syncadaptor.setLoggerSaveBuffer) {\\n\\t\\tthis.syncadaptor.setLoggerSaveBuffer(this.logger);\\n\\t}\\n\\t// Compile the dirty tiddler filter\\n\\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\\n\\t// Record information for known tiddlers\\n\\tthis.readTiddlerInfo();\\n\\tthis.titlesToBeLoaded = {}; // Hashmap of titles of tiddlers that need loading from the server\\n\\tthis.titlesHaveBeenLazyLoaded = {}; // Hashmap of titles of tiddlers that have already been lazily loaded from the server\\n\\t// Timers\\n\\tthis.taskTimerId = null; // Timer for task dispatch\\n\\t// Number of outstanding requests\\n\\tthis.numTasksInProgress = 0;\\n\\t// True when we want to force an immediate sync from the server\\n\\tthis.forceSyncFromServer = false;\\n\\tthis.timestampLastSyncFromServer = new Date();\\n\\t// Listen out for changes to tiddlers\\n\\tthis.wiki.addEventListener(\\\"change\\\",function(changes) {\\n\\t\\t// Filter the changes to just include ones that are being synced\\n\\t\\tvar filteredChanges = self.getSyncedTiddlers(function(callback) {\\n\\t\\t\\t$tw.utils.each(changes,function(change,title) {\\n\\t\\t\\t\\tvar tiddler = self.wiki.tiddlerExists(title) && self.wiki.getTiddler(title);\\n\\t\\t\\t\\tcallback(tiddler,title);\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\\tif(filteredChanges.length > 0) {\\n\\t\\t\\tself.processTaskQueue();\\n\\t\\t} else {\\n\\t\\t\\t// Look for deletions of tiddlers we're already syncing\\t\\n\\t\\t\\tvar outstandingDeletion = false\\n\\t\\t\\t$tw.utils.each(changes,function(change,title,object) {\\n\\t\\t\\t\\tif(change.deleted && $tw.utils.hop(self.tiddlerInfo,title)) {\\n\\t\\t\\t\\t\\toutstandingDeletion = true;\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t\\tif(outstandingDeletion) {\\n\\t\\t\\t\\tself.processTaskQueue();\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\t// Browser event handlers\\n\\tif($tw.browser && !this.disableUI) {\\n\\t\\t// Set up our beforeunload handler\\n\\t\\t$tw.addUnloadTask(function(event) {\\n\\t\\t\\tvar confirmationMessage;\\n\\t\\t\\tif(self.isDirty()) {\\n\\t\\t\\t\\tconfirmationMessage = $tw.language.getString(\\\"UnsavedChangesWarning\\\");\\n\\t\\t\\t\\tevent.returnValue = confirmationMessage; // Gecko\\n\\t\\t\\t}\\n\\t\\t\\treturn confirmationMessage;\\n\\t\\t});\\n\\t\\t// Listen out for login/logout/refresh events in the browser\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-login\\\",function(event) {\\n\\t\\t\\tvar username = event && event.paramObject && event.paramObject.username,\\n\\t\\t\\t\\tpassword = event && event.paramObject && event.paramObject.password;\\n\\t\\t\\tif(username && password) {\\n\\t\\t\\t\\t// Login with username and password\\n\\t\\t\\t\\tself.login(username,password,function() {});\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t// No username and password, so we display a prompt\\n\\t\\t\\t\\tself.handleLoginEvent();\\t\\t\\t\\t\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-logout\\\",function() {\\n\\t\\t\\tself.handleLogoutEvent();\\n\\t\\t});\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-server-refresh\\\",function() {\\n\\t\\t\\tself.handleRefreshEvent();\\n\\t\\t});\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-copy-syncer-logs-to-clipboard\\\",function() {\\n\\t\\t\\t$tw.utils.copyToClipboard($tw.utils.getSystemInfo() + \\\"\\\\n\\\\nLog:\\\\n\\\" + self.logger.getBuffer());\\n\\t\\t});\\n\\t}\\n\\t// Listen out for lazyLoad events\\n\\tif(!this.disableUI && this.wiki.getTiddlerText(this.titleSyncDisableLazyLoading) !== \\\"yes\\\") {\\n\\t\\tthis.wiki.addEventListener(\\\"lazyLoad\\\",function(title) {\\n\\t\\t\\tself.handleLazyLoadEvent(title);\\n\\t\\t});\\t\\t\\n\\t}\\n\\t// Get the login status\\n\\tthis.getStatus(function(err,isLoggedIn) {\\n\\t\\t// Do a sync from the server\\n\\t\\tself.syncFromServer();\\n\\t});\\n}\\n\\n/*\\nShow a generic network error alert\\n*/\\nSyncer.prototype.displayError = function(msg,err) {\\n\\tif(err === ($tw.language.getString(\\\"Error/XMLHttpRequest\\\") + \\\": 0\\\")) {\\n\\t\\tthis.loggerConnection.alert($tw.language.getString(\\\"Error/NetworkErrorAlert\\\"));\\n\\t\\tthis.logger.log(msg + \\\":\\\",err);\\n\\t} else {\\n\\t\\tthis.logger.alert(msg + \\\":\\\",err);\\n\\t}\\n};\\n\\n/*\\nReturn an array of the tiddler titles that are subjected to syncing\\n*/\\nSyncer.prototype.getSyncedTiddlers = function(source) {\\n\\treturn this.filterFn.call(this.wiki,source);\\n};\\n\\n/*\\nReturn an array of the tiddler titles that are subjected to syncing\\n*/\\nSyncer.prototype.getTiddlerRevision = function(title) {\\n\\tif(this.syncadaptor && this.syncadaptor.getTiddlerRevision) {\\n\\t\\treturn this.syncadaptor.getTiddlerRevision(title);\\n\\t} else {\\n\\t\\treturn this.wiki.getTiddler(title).fields.revision;\\t\\n\\t} \\n};\\n\\n/*\\nRead (or re-read) the latest tiddler info from the store\\n*/\\nSyncer.prototype.readTiddlerInfo = function() {\\n\\t// Hashmap by title of {revision:,changeCount:,adaptorInfo:}\\n\\t// \\\"revision\\\" is the revision of the tiddler last seen on the server, and \\\"changecount\\\" is the corresponding local changecount\\n\\tthis.tiddlerInfo = {};\\n\\t// Record information for known tiddlers\\n\\tvar self = this,\\n\\t\\ttiddlers = this.getSyncedTiddlers();\\n\\t$tw.utils.each(tiddlers,function(title) {\\n\\t\\tvar tiddler = self.wiki.getTiddler(title);\\n\\t\\tif(tiddler) {\\n\\t\\t\\tself.tiddlerInfo[title] = {\\n\\t\\t\\t\\trevision: self.getTiddlerRevision(title),\\n\\t\\t\\t\\tadaptorInfo: self.syncadaptor && self.syncadaptor.getTiddlerInfo(tiddler),\\n\\t\\t\\t\\tchangeCount: self.wiki.getChangeCount(title)\\n\\t\\t\\t};\\n\\t\\t}\\n\\t});\\n};\\n\\n/*\\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\\n*/\\nSyncer.prototype.isDirty = function() {\\n\\tvar self = this;\\n\\tfunction checkIsDirty() {\\n\\t\\t// Check tiddlers that are in the store and included in the filter function\\n\\t\\tvar titles = self.getSyncedTiddlers();\\n\\t\\tfor(var index=0; index<titles.length; index++) {\\n\\t\\t\\tvar title = titles[index],\\n\\t\\t\\t\\ttiddlerInfo = self.tiddlerInfo[title];\\n\\t\\t\\tif(self.wiki.tiddlerExists(title)) {\\n\\t\\t\\t\\tif(tiddlerInfo) {\\n\\t\\t\\t\\t\\t// If the tiddler is known on the server and has been modified locally then it needs to be saved to the server\\n\\t\\t\\t\\t\\tif(self.wiki.getChangeCount(title) > tiddlerInfo.changeCount) {\\n\\t\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t// If the tiddler isn't known on the server then it needs to be saved to the server\\n\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t// Check tiddlers that are known from the server but not currently in the store\\n\\t\\ttitles = Object.keys(self.tiddlerInfo);\\n\\t\\tfor(index=0; index<titles.length; index++) {\\n\\t\\t\\tif(!self.wiki.tiddlerExists(titles[index])) {\\n\\t\\t\\t\\t// There must be a pending delete\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn false;\\n\\t}\\n\\tvar dirtyStatus = checkIsDirty();\\n\\treturn dirtyStatus;\\n};\\n\\n/*\\nUpdate the document body with the class \\\"tc-dirty\\\" if the wiki has unsaved/unsynced changes\\n*/\\nSyncer.prototype.updateDirtyStatus = function() {\\n\\tif($tw.browser && !this.disableUI) {\\n\\t\\tvar dirty = this.isDirty();\\n\\t\\t$tw.utils.toggleClass(document.body,\\\"tc-dirty\\\",dirty);\\n\\t\\tif(!dirty) {\\n\\t\\t\\tthis.loggerConnection.clearAlerts();\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nSave an incoming tiddler in the store, and updates the associated tiddlerInfo\\n*/\\nSyncer.prototype.storeTiddler = function(tiddlerFields) {\\n\\t// Save the tiddler\\n\\tvar tiddler = new $tw.Tiddler(tiddlerFields);\\n\\tthis.wiki.addTiddler(tiddler);\\n\\t// Save the tiddler revision and changeCount details\\n\\tthis.tiddlerInfo[tiddlerFields.title] = {\\n\\t\\trevision: this.getTiddlerRevision(tiddlerFields.title),\\n\\t\\tadaptorInfo: this.syncadaptor.getTiddlerInfo(tiddler),\\n\\t\\tchangeCount: this.wiki.getChangeCount(tiddlerFields.title)\\n\\t};\\n};\\n\\nSyncer.prototype.getStatus = function(callback) {\\n\\tvar self = this;\\n\\t// Check if the adaptor supports getStatus()\\n\\tif(this.syncadaptor && this.syncadaptor.getStatus) {\\n\\t\\t// Mark us as not logged in\\n\\t\\tthis.wiki.addTiddler({title: this.titleIsLoggedIn,text: \\\"no\\\"});\\n\\t\\t// Get login status\\n\\t\\tthis.syncadaptor.getStatus(function(err,isLoggedIn,username,isReadOnly,isAnonymous) {\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\tself.displayError(\\\"Get Status Error\\\",err);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t// Set the various status tiddlers\\n\\t\\t\\t\\tself.wiki.addTiddler({title: self.titleIsReadOnly,text: isReadOnly ? \\\"yes\\\" : \\\"no\\\"});\\n\\t\\t\\t\\tself.wiki.addTiddler({title: self.titleIsAnonymous,text: isAnonymous ? \\\"yes\\\" : \\\"no\\\"});\\n\\t\\t\\t\\tself.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? \\\"yes\\\" : \\\"no\\\"});\\n\\t\\t\\t\\tif(isLoggedIn) {\\n\\t\\t\\t\\t\\tself.wiki.addTiddler({title: self.titleUserName,text: username || \\\"\\\"});\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t// Invoke the callback\\n\\t\\t\\tif(callback) {\\n\\t\\t\\t\\tcallback(err,isLoggedIn,username);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t} else {\\n\\t\\tcallback(null,true,\\\"UNAUTHENTICATED\\\");\\n\\t}\\n};\\n\\n/*\\nSynchronise from the server by reading the skinny tiddler list and queuing up loads for any tiddlers that we don't already have up to date\\n*/\\nSyncer.prototype.syncFromServer = function() {\\n\\tif(this.canSyncFromServer()) {\\n\\t\\tthis.forceSyncFromServer = true;\\n\\t\\tthis.processTaskQueue();\\t\\n\\t}\\n};\\n\\nSyncer.prototype.canSyncFromServer = function() {\\n\\treturn !!this.syncadaptor.getUpdatedTiddlers || !!this.syncadaptor.getSkinnyTiddlers;\\n}\\n\\n/*\\nForce load a tiddler from the server\\n*/\\nSyncer.prototype.enqueueLoadTiddler = function(title) {\\n\\tthis.titlesToBeLoaded[title] = true;\\n\\tthis.processTaskQueue();\\n};\\n\\n/*\\nLazily load a skinny tiddler if we can\\n*/\\nSyncer.prototype.handleLazyLoadEvent = function(title) {\\n\\t// Ignore if the syncadaptor doesn't handle it\\n\\tif(!this.syncadaptor.supportsLazyLoading) {\\n\\t\\treturn;\\n\\t}\\n\\t// Don't lazy load the same tiddler twice\\n\\tif(!this.titlesHaveBeenLazyLoaded[title]) {\\n\\t\\t// Don't lazy load if the tiddler isn't included in the sync filter\\n\\t\\tif(this.getSyncedTiddlers().indexOf(title) !== -1) {\\n\\t\\t\\t// Mark the tiddler as needing loading, and having already been lazily loaded\\n\\t\\t\\tthis.titlesToBeLoaded[title] = true;\\n\\t\\t\\tthis.titlesHaveBeenLazyLoaded[title] = true;\\n\\t\\t\\tthis.processTaskQueue();\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nDispay a password prompt and allow the user to login\\n*/\\nSyncer.prototype.handleLoginEvent = function() {\\n\\tvar self = this;\\n\\tthis.getStatus(function(err,isLoggedIn,username) {\\n\\t\\tif(!err && !isLoggedIn) {\\n\\t\\t\\tif(self.syncadaptor && self.syncadaptor.displayLoginPrompt) {\\n\\t\\t\\t\\tself.syncadaptor.displayLoginPrompt(self);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tself.displayLoginPrompt();\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n};\\n\\n/*\\nDispay a password prompt\\n*/\\nSyncer.prototype.displayLoginPrompt = function() {\\n\\tvar self = this;\\n\\tvar promptInfo = $tw.passwordPrompt.createPrompt({\\n\\t\\tserviceName: $tw.language.getString(\\\"LoginToTiddlySpace\\\"),\\n\\t\\tcallback: function(data) {\\n\\t\\t\\tself.login(data.username,data.password,function(err,isLoggedIn) {\\n\\t\\t\\t\\tself.syncFromServer();\\n\\t\\t\\t});\\n\\t\\t\\treturn true; // Get rid of the password prompt\\n\\t\\t}\\n\\t});\\n};\\n\\n/*\\nAttempt to login to TiddlyWeb.\\n\\tusername: username\\n\\tpassword: password\\n\\tcallback: invoked with arguments (err,isLoggedIn)\\n*/\\nSyncer.prototype.login = function(username,password,callback) {\\n\\tthis.logger.log(\\\"Attempting to login as\\\",username);\\n\\tvar self = this;\\n\\tif(this.syncadaptor.login) {\\n\\t\\tthis.syncadaptor.login(username,password,function(err) {\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t}\\n\\t\\t\\tself.getStatus(function(err,isLoggedIn,username) {\\n\\t\\t\\t\\tif(callback) {\\n\\t\\t\\t\\t\\tcallback(err,isLoggedIn);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t});\\n\\t} else {\\n\\t\\tcallback(null,true);\\n\\t}\\n};\\n\\n/*\\nAttempt to log out of TiddlyWeb\\n*/\\nSyncer.prototype.handleLogoutEvent = function() {\\n\\tthis.logger.log(\\\"Attempting to logout\\\");\\n\\tvar self = this;\\n\\tif(this.syncadaptor.logout) {\\n\\t\\tthis.syncadaptor.logout(function(err) {\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\tself.displayError(\\\"Logout Error\\\",err);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tself.getStatus();\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n};\\n\\n/*\\nImmediately refresh from the server\\n*/\\nSyncer.prototype.handleRefreshEvent = function() {\\n\\tthis.syncFromServer();\\n};\\n\\n/*\\nProcess the next task\\n*/\\nSyncer.prototype.processTaskQueue = function() {\\n\\tvar self = this;\\n\\t// Only process a task if the sync adaptor is fully initialised and we're not already performing\\n\\t// a task. If we are already performing a task then we'll dispatch the next one when it completes\\n\\tif((!this.syncadaptor.isReady || this.syncadaptor.isReady()) && this.numTasksInProgress === 0) {\\n\\t\\t// Choose the next task to perform\\n\\t\\tvar task = this.chooseNextTask();\\n\\t\\t// Perform the task if we had one\\n\\t\\tif(typeof task === \\\"object\\\" && task !== null) {\\n\\t\\t\\tthis.numTasksInProgress += 1;\\n\\t\\t\\ttask.run(function(err) {\\n\\t\\t\\t\\tself.numTasksInProgress -= 1;\\n\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\tself.displayError(\\\"Sync error while processing \\\" + task.type + \\\" of '\\\" + task.title + \\\"'\\\",err);\\n\\t\\t\\t\\t\\tself.updateDirtyStatus();\\n\\t\\t\\t\\t\\tself.triggerTimeout(self.errorRetryInterval);\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tself.updateDirtyStatus();\\n\\t\\t\\t\\t\\t// Process the next task\\n\\t\\t\\t\\t\\tself.processTaskQueue.call(self);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\t// No task is ready so update the status\\n\\t\\t\\tthis.updateDirtyStatus();\\n\\t\\t\\t// And trigger a timeout if there is a pending task\\n\\t\\t\\tif(task === true) {\\n\\t\\t\\t\\tthis.triggerTimeout(this.taskTimerInterval);\\n\\t\\t\\t} else if(this.canSyncFromServer()) {\\n\\t\\t\\t\\tthis.triggerTimeout(this.pollTimerInterval);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} else {\\n\\t\\tthis.updateDirtyStatus();\\n\\t\\tthis.triggerTimeout(this.taskTimerInterval);\\n\\t}\\n};\\n\\nSyncer.prototype.triggerTimeout = function(interval) {\\n\\tvar self = this;\\n\\tif(this.taskTimerId) {\\n\\t\\tclearTimeout(this.taskTimerId);\\n\\t}\\n\\tthis.taskTimerId = setTimeout(function() {\\n\\t\\tself.taskTimerId = null;\\n\\t\\tself.processTaskQueue.call(self);\\n\\t},interval || self.taskTimerInterval);\\n};\\n\\n/*\\nChoose the next sync task. We prioritise saves to the server, then getting updates from the server, then deletes to the server, then loads from the server\\n\\nReturns either:\\n* a task object\\n* the boolean true if there are pending sync tasks that aren't yet due\\n* null if there's no pending sync tasks (just the next poll)\\n*/\\nSyncer.prototype.chooseNextTask = function() {\\n\\tvar now = new Date(),\\n\\t\\tthresholdLastSaved = now - this.throttleInterval,\\n\\t\\thavePending = null;\\n\\t// First we look for tiddlers that have been modified locally and need saving back to the server\\n\\tvar titles = this.getSyncedTiddlers();\\n\\tfor(var index=0; index<titles.length; index++) {\\n\\t\\tvar title = titles[index],\\n\\t\\t\\ttiddler = this.wiki.tiddlerExists(title) && this.wiki.getTiddler(title),\\n\\t\\t\\ttiddlerInfo = this.tiddlerInfo[title];\\n\\t\\tif(tiddler) {\\n\\t\\t\\t// If the tiddler is not known on the server, or has been modified locally no more recently than the threshold then it needs to be saved to the server\\n\\t\\t\\tvar hasChanged = !tiddlerInfo || this.wiki.getChangeCount(title) > tiddlerInfo.changeCount,\\n\\t\\t\\t\\tisReadyToSave = !tiddlerInfo || !tiddlerInfo.timestampLastSaved || tiddlerInfo.timestampLastSaved < thresholdLastSaved;\\n\\t\\t\\tif(hasChanged) {\\n\\t\\t\\t\\tif(isReadyToSave) {\\n\\t\\t\\t\\t\\treturn new SaveTiddlerTask(this,title);\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\thavePending = true;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// Second we check for an outstanding sync from server\\n\\tif(this.forceSyncFromServer || (this.timestampLastSyncFromServer && (now.valueOf() >= (this.timestampLastSyncFromServer.valueOf() + this.pollTimerInterval)))) {\\n\\t\\treturn new SyncFromServerTask(this);\\n\\t}\\n\\t// Third, we check tiddlers that are known from the server but not currently in the store, and so need deleting on the server\\n\\ttitles = Object.keys(this.tiddlerInfo);\\n\\tfor(index=0; index<titles.length; index++) {\\n\\t\\ttitle = titles[index];\\n\\t\\ttiddlerInfo = this.tiddlerInfo[title];\\n\\t\\ttiddler = this.wiki.tiddlerExists(title) && this.wiki.getTiddler(title);\\n\\t\\tif(!tiddler) {\\n\\t\\t\\treturn new DeleteTiddlerTask(this,title);\\n\\t\\t}\\n\\t}\\n\\t// Finally, check for tiddlers that need loading\\n\\ttitle = Object.keys(this.titlesToBeLoaded)[0];\\n\\tif(title) {\\n\\t\\tdelete this.titlesToBeLoaded[title];\\n\\t\\treturn new LoadTiddlerTask(this,title);\\n\\t}\\n\\t// No tasks are ready now, but might be in the future\\n\\treturn havePending;\\n};\\n\\nfunction SaveTiddlerTask(syncer,title) {\\n\\tthis.syncer = syncer;\\n\\tthis.title = title;\\n\\tthis.type = \\\"save\\\";\\n}\\n\\nSaveTiddlerTask.prototype.toString = function() {\\n\\treturn \\\"SAVE \\\" + this.title;\\n}\\n\\nSaveTiddlerTask.prototype.run = function(callback) {\\n\\tvar self = this,\\n\\t\\tchangeCount = this.syncer.wiki.getChangeCount(this.title),\\n\\t\\ttiddler = this.syncer.wiki.tiddlerExists(this.title) && this.syncer.wiki.getTiddler(this.title);\\n\\tthis.syncer.logger.log(\\\"Dispatching 'save' task:\\\",this.title);\\n\\tif(tiddler) {\\n\\t\\tthis.syncer.syncadaptor.saveTiddler(tiddler,function(err,adaptorInfo,revision) {\\n\\t\\t\\t// If there's an error, exit without changing any internal state\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t}\\n\\t\\t\\t// Adjust the info stored about this tiddler\\n\\t\\t\\tself.syncer.tiddlerInfo[self.title] = {\\n\\t\\t\\t\\tchangeCount: changeCount,\\n\\t\\t\\t\\tadaptorInfo: adaptorInfo,\\n\\t\\t\\t\\trevision: revision,\\n\\t\\t\\t\\ttimestampLastSaved: new Date()\\n\\t\\t\\t};\\n\\t\\t\\t// Invoke the callback\\n\\t\\t\\tcallback(null);\\n\\t\\t},{\\n\\t\\t\\ttiddlerInfo: self.syncer.tiddlerInfo[self.title]\\n\\t\\t});\\n\\t} else {\\n\\t\\t$tw.utils.nextTick(callback(null));\\n\\t}\\n};\\n\\nfunction DeleteTiddlerTask(syncer,title) {\\n\\tthis.syncer = syncer;\\n\\tthis.title = title;\\n\\tthis.type = \\\"delete\\\";\\n}\\n\\nDeleteTiddlerTask.prototype.toString = function() {\\n\\treturn \\\"DELETE \\\" + this.title;\\n}\\n\\nDeleteTiddlerTask.prototype.run = function(callback) {\\n\\tvar self = this;\\n\\tthis.syncer.logger.log(\\\"Dispatching 'delete' task:\\\",this.title);\\n\\tthis.syncer.syncadaptor.deleteTiddler(this.title,function(err) {\\n\\t\\t// If there's an error, exit without changing any internal state\\n\\t\\tif(err) {\\n\\t\\t\\treturn callback(err);\\n\\t\\t}\\n\\t\\t// Remove the info stored about this tiddler\\n\\t\\tdelete self.syncer.tiddlerInfo[self.title];\\n\\t\\t// Invoke the callback\\n\\t\\tcallback(null);\\n\\t},{\\n\\t\\ttiddlerInfo: self.syncer.tiddlerInfo[this.title]\\n\\t});\\n};\\n\\nfunction LoadTiddlerTask(syncer,title) {\\n\\tthis.syncer = syncer;\\n\\tthis.title = title;\\n\\tthis.type = \\\"load\\\";\\n}\\n\\nLoadTiddlerTask.prototype.toString = function() {\\n\\treturn \\\"LOAD \\\" + this.title;\\n}\\n\\nLoadTiddlerTask.prototype.run = function(callback) {\\n\\tvar self = this;\\n\\tthis.syncer.logger.log(\\\"Dispatching 'load' task:\\\",this.title);\\n\\tthis.syncer.syncadaptor.loadTiddler(this.title,function(err,tiddlerFields) {\\n\\t\\t// If there's an error, exit without changing any internal state\\n\\t\\tif(err) {\\n\\t\\t\\treturn callback(err);\\n\\t\\t}\\n\\t\\t// Update the info stored about this tiddler\\n\\t\\tif(tiddlerFields) {\\n\\t\\t\\tself.syncer.storeTiddler(tiddlerFields);\\n\\t\\t}\\n\\t\\t// Invoke the callback\\n\\t\\tcallback(null);\\n\\t});\\n};\\n\\nfunction SyncFromServerTask(syncer) {\\n\\tthis.syncer = syncer;\\n\\tthis.type = \\\"syncfromserver\\\";\\n}\\n\\nSyncFromServerTask.prototype.toString = function() {\\n\\treturn \\\"SYNCFROMSERVER\\\";\\n}\\n\\nSyncFromServerTask.prototype.run = function(callback) {\\n\\tvar self = this;\\n\\tvar syncSystemFromServer = (self.syncer.wiki.getTiddlerText(\\\"$:/config/SyncSystemTiddlersFromServer\\\") === \\\"yes\\\" ? true : false);\\n\\tvar successCallback = function() {\\n\\t\\tself.syncer.forceSyncFromServer = false;\\n\\t\\tself.syncer.timestampLastSyncFromServer = new Date();\\n\\t\\tcallback(null);\\n\\t};\\n\\tif(this.syncer.syncadaptor.getUpdatedTiddlers) {\\n\\t\\tthis.syncer.syncadaptor.getUpdatedTiddlers(self.syncer,function(err,updates) {\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\tself.syncer.displayError($tw.language.getString(\\\"Error/RetrievingSkinny\\\"),err);\\n\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t}\\n\\t\\t\\tif(updates) {\\n\\t\\t\\t\\t$tw.utils.each(updates.modifications,function(title) {\\n\\t\\t\\t\\t\\tself.syncer.titlesToBeLoaded[title] = true;\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\t$tw.utils.each(updates.deletions,function(title) {\\n\\t\\t\\t\\t\\tif(syncSystemFromServer || !self.syncer.wiki.isSystemTiddler(title)) {\\n\\t\\t\\t\\t\\t\\tdelete self.syncer.tiddlerInfo[title];\\n\\t\\t\\t\\t\\t\\tself.syncer.logger.log(\\\"Deleting tiddler missing from server:\\\",title);\\n\\t\\t\\t\\t\\t\\tself.syncer.wiki.deleteTiddler(title);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t});\\n\\t\\t\\t}\\n\\t\\t\\treturn successCallback();\\n\\t\\t});\\n\\t} else if(this.syncer.syncadaptor.getSkinnyTiddlers) {\\n\\t\\tthis.syncer.syncadaptor.getSkinnyTiddlers(function(err,tiddlers) {\\n\\t\\t\\t// Check for errors\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\tself.syncer.displayError($tw.language.getString(\\\"Error/RetrievingSkinny\\\"),err);\\n\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t}\\n\\t\\t\\t// Keep track of which tiddlers we already know about have been reported this time\\n\\t\\t\\tvar previousTitles = Object.keys(self.syncer.tiddlerInfo);\\n\\t\\t\\t// Process each incoming tiddler\\n\\t\\t\\tfor(var t=0; t<tiddlers.length; t++) {\\n\\t\\t\\t\\t// Get the incoming tiddler fields, and the existing tiddler\\n\\t\\t\\t\\tvar tiddlerFields = tiddlers[t],\\n\\t\\t\\t\\t\\tincomingRevision = tiddlerFields.revision + \\\"\\\",\\n\\t\\t\\t\\t\\ttiddler = self.syncer.wiki.tiddlerExists(tiddlerFields.title) && self.syncer.wiki.getTiddler(tiddlerFields.title),\\n\\t\\t\\t\\t\\ttiddlerInfo = self.syncer.tiddlerInfo[tiddlerFields.title],\\n\\t\\t\\t\\t\\tcurrRevision = tiddlerInfo ? tiddlerInfo.revision : null,\\n\\t\\t\\t\\t\\tindexInPreviousTitles = previousTitles.indexOf(tiddlerFields.title);\\n\\t\\t\\t\\tif(indexInPreviousTitles !== -1) {\\n\\t\\t\\t\\t\\tpreviousTitles.splice(indexInPreviousTitles,1);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// Ignore the incoming tiddler if it's the same as the revision we've already got\\n\\t\\t\\t\\tif(currRevision !== incomingRevision) {\\n\\t\\t\\t\\t\\t// Only load the skinny version if we don't already have a fat version of the tiddler\\n\\t\\t\\t\\t\\tif(!tiddler || tiddler.fields.text === undefined) {\\n\\t\\t\\t\\t\\t\\tself.syncer.storeTiddler(tiddlerFields);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t// Do a full load of this tiddler\\n\\t\\t\\t\\t\\tself.syncer.titlesToBeLoaded[tiddlerFields.title] = true;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t// Delete any tiddlers that were previously reported but missing this time\\n\\t\\t\\t$tw.utils.each(previousTitles,function(title) {\\n\\t\\t\\t\\tif(syncSystemFromServer || !self.syncer.wiki.isSystemTiddler(title)) {\\n\\t\\t\\t\\t\\tdelete self.syncer.tiddlerInfo[title];\\n\\t\\t\\t\\t\\tself.syncer.logger.log(\\\"Deleting tiddler missing from server:\\\",title);\\n\\t\\t\\t\\t\\tself.syncer.wiki.deleteTiddler(title);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t\\tself.syncer.forceSyncFromServer = false;\\n\\t\\t\\tself.syncer.timestampLastSyncFromServer = new Date();\\n\\t\\t\\treturn successCallback();\\n\\t\\t});\\n\\t} else {\\n\\t\\treturn successCallback();\\n\\t}\\n};\\n\\nexports.Syncer = Syncer;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"global\"},\"$:/core/modules/tiddler.js\":{\"title\":\"$:/core/modules/tiddler.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/tiddler.js\\ntype: application/javascript\\nmodule-type: tiddlermethod\\n\\nExtension methods for the $tw.Tiddler object (constructor and methods required at boot time are in boot/boot.js)\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.hasTag = function(tag) {\\n\\treturn this.fields.tags && this.fields.tags.indexOf(tag) !== -1;\\n};\\n\\nexports.isPlugin = function() {\\n\\treturn this.fields.type === \\\"application/json\\\" && this.hasField(\\\"plugin-type\\\");\\n};\\n\\nexports.isDraft = function() {\\n\\treturn this.hasField(\\\"draft.of\\\");\\n};\\n\\nexports.getFieldString = function(field,defaultValue) {\\n\\tvar value = this.fields[field];\\n\\t// Check for a missing field\\n\\tif(value === undefined || value === null) {\\n\\t\\treturn defaultValue || \\\"\\\";\\n\\t}\\n\\t// Stringify the field with the associated tiddler field module (if any)\\n\\tvar fieldModule = $tw.Tiddler.fieldModules[field];\\n\\tif(fieldModule && fieldModule.stringify) {\\n\\t\\treturn fieldModule.stringify.call(this,value);\\n\\t} else {\\n\\t\\treturn value.toString();\\n\\t}\\n};\\n\\n/*\\nGet the value of a field as a list\\n*/\\nexports.getFieldList = function(field) {\\n\\tvar value = this.fields[field];\\n\\t// Check for a missing field\\n\\tif(value === undefined || value === null) {\\n\\t\\treturn [];\\n\\t}\\n\\treturn $tw.utils.parseStringArray(value);\\n};\\n\\n/*\\nGet all the fields as a hashmap of strings. Options:\\n\\texclude: an array of field names to exclude\\n*/\\nexports.getFieldStrings = function(options) {\\n\\toptions = options || {};\\n\\tvar exclude = options.exclude || [];\\n\\tvar fields = {};\\n\\tfor(var field in this.fields) {\\n\\t\\tif($tw.utils.hop(this.fields,field)) {\\n\\t\\t\\tif(exclude.indexOf(field) === -1) {\\n\\t\\t\\t\\tfields[field] = this.getFieldString(field);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn fields;\\n};\\n\\n/*\\nGet all the fields as a name:value block. Options:\\n\\texclude: an array of field names to exclude\\n*/\\nexports.getFieldStringBlock = function(options) {\\n\\toptions = options || {};\\n\\tvar exclude = options.exclude || [],\\n\\t\\tfields = Object.keys(this.fields).sort(),\\n\\t\\tresult = [];\\n\\tfor(var t=0; t<fields.length; t++) {\\n\\t\\tvar field = fields[t];\\n\\t\\tif(exclude.indexOf(field) === -1) {\\n\\t\\t\\tresult.push(field + \\\": \\\" + this.getFieldString(field));\\n\\t\\t}\\n\\t}\\n\\treturn result.join(\\\"\\\\n\\\");\\n};\\n\\nexports.getFieldDay = function(field) {\\n\\tif(this.cache && this.cache.day && $tw.utils.hop(this.cache.day,field) ) {\\n\\t\\treturn this.cache.day[field];\\n\\t}\\n\\tvar day = \\\"\\\";\\n\\tif(this.fields[field]) {\\n\\t\\tday = (new Date($tw.utils.parseDate(this.fields[field]))).setHours(0,0,0,0);\\n\\t}\\n\\tthis.cache.day = this.cache.day || {};\\n\\tthis.cache.day[field] = day;\\n\\treturn day;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"tiddlermethod\"},\"$:/core/modules/upgraders/plugins.js\":{\"title\":\"$:/core/modules/upgraders/plugins.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/upgraders/plugins.js\\ntype: application/javascript\\nmodule-type: upgrader\\n\\nUpgrader module that checks that plugins are newer than any already installed version\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar UPGRADE_LIBRARY_TITLE = \\\"$:/UpgradeLibrary\\\";\\n\\nvar BLOCKED_PLUGINS = {\\n\\t\\\"$:/themes/tiddlywiki/stickytitles\\\": {\\n\\t\\tversions: [\\\"*\\\"]\\n\\t},\\n\\t\\\"$:/plugins/tiddlywiki/fullscreen\\\": {\\n\\t\\tversions: [\\\"*\\\"]\\n\\t}\\n};\\n\\nexports.upgrade = function(wiki,titles,tiddlers) {\\n\\tvar self = this,\\n\\t\\tmessages = {},\\n\\t\\tupgradeLibrary,\\n\\t\\tgetLibraryTiddler = function(title) {\\n\\t\\t\\tif(!upgradeLibrary) {\\n\\t\\t\\t\\tupgradeLibrary = wiki.getTiddlerData(UPGRADE_LIBRARY_TITLE,{});\\n\\t\\t\\t\\tupgradeLibrary.tiddlers = upgradeLibrary.tiddlers || {};\\n\\t\\t\\t}\\n\\t\\t\\treturn upgradeLibrary.tiddlers[title];\\n\\t\\t};\\n\\n\\t// Go through all the incoming tiddlers\\n\\t$tw.utils.each(titles,function(title) {\\n\\t\\tvar incomingTiddler = tiddlers[title];\\n\\t\\t// Check if we're dealing with a plugin\\n\\t\\tif(incomingTiddler && incomingTiddler[\\\"plugin-type\\\"]) {\\n\\t\\t\\t// Check whether the plugin contains JS modules\\n\\t\\t\\tvar requiresReload = wiki.doesPluginInfoRequireReload($tw.utils.parseJSONSafe(incomingTiddler.text)) ? (wiki.getTiddlerText(\\\"$:/language/ControlPanel/Plugins/PluginWillRequireReload\\\") + \\\" \\\") : \\\"\\\";\\n\\t\\t\\tmessages[title] = requiresReload;\\n\\t\\t\\tif(incomingTiddler.version) {\\n\\t\\t\\t\\t// Upgrade the incoming plugin if it is in the upgrade library\\n\\t\\t\\t\\tvar libraryTiddler = getLibraryTiddler(title);\\n\\t\\t\\t\\tif(libraryTiddler && libraryTiddler[\\\"plugin-type\\\"] && libraryTiddler.version) {\\n\\t\\t\\t\\t\\ttiddlers[title] = libraryTiddler;\\n\\t\\t\\t\\t\\tmessages[title] = requiresReload + $tw.language.getString(\\\"Import/Upgrader/Plugins/Upgraded\\\",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// Suppress the incoming plugin if it is older than the currently installed one\\n\\t\\t\\t\\tvar existingTiddler = wiki.getTiddler(title);\\n\\t\\t\\t\\tif(existingTiddler && existingTiddler.hasField(\\\"plugin-type\\\") && existingTiddler.hasField(\\\"version\\\")) {\\n\\t\\t\\t\\t\\t// Reject the incoming plugin by blanking all its fields\\n\\t\\t\\t\\t\\tif($tw.utils.checkVersions(existingTiddler.fields.version,incomingTiddler.version)) {\\n\\t\\t\\t\\t\\t\\ttiddlers[title] = Object.create(null);\\n\\t\\t\\t\\t\\t\\tmessages[title] = $tw.language.getString(\\\"Import/Upgrader/Plugins/Suppressed/Version\\\",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});\\n\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t// Check whether the plugin is on the blocked list\\n\\t\\t\\tvar blockInfo = BLOCKED_PLUGINS[title];\\n\\t\\t\\tif(blockInfo) {\\n\\t\\t\\t\\tif(blockInfo.versions.indexOf(\\\"*\\\") !== -1 || (incomingTiddler.version && blockInfo.versions.indexOf(incomingTiddler.version) !== -1)) {\\n\\t\\t\\t\\t\\ttiddlers[title] = Object.create(null);\\n\\t\\t\\t\\t\\tmessages[title] = $tw.language.getString(\\\"Import/Upgrader/Plugins/Suppressed/Incompatible\\\");\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\treturn messages;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"upgrader\"},\"$:/core/modules/upgraders/system.js\":{\"title\":\"$:/core/modules/upgraders/system.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/upgraders/system.js\\ntype: application/javascript\\nmodule-type: upgrader\\n\\nUpgrader module that suppresses certain system tiddlers that shouldn't be imported\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar DONT_IMPORT_LIST = [\\\"$:/Import\\\"],\\n\\tUNSELECT_PREFIX_LIST = [\\\"$:/temp/\\\",\\\"$:/state/\\\",\\\"$:/StoryList\\\",\\\"$:/HistoryList\\\"],\\n\\tWARN_IMPORT_PREFIX_LIST = [\\\"$:/core/modules/\\\"];\\n\\nexports.upgrade = function(wiki,titles,tiddlers) {\\n\\tvar self = this,\\n\\t\\tmessages = {},\\n\\t\\tshowAlert = false;\\n\\t// Check for tiddlers on our list\\n\\t$tw.utils.each(titles,function(title) {\\n\\t\\tif(DONT_IMPORT_LIST.indexOf(title) !== -1) {\\n\\t\\t\\ttiddlers[title] = Object.create(null);\\n\\t\\t\\tmessages[title] = $tw.language.getString(\\\"Import/Upgrader/System/Suppressed\\\");\\n\\t\\t} else {\\n\\t\\t\\tfor(var t=0; t<UNSELECT_PREFIX_LIST.length; t++) {\\n\\t\\t\\t\\tvar prefix = UNSELECT_PREFIX_LIST[t];\\n\\t\\t\\t\\tif(title.substr(0,prefix.length) === prefix) {\\n\\t\\t\\t\\t\\tmessages[title] = $tw.language.getString(\\\"Import/Upgrader/Tiddler/Unselected\\\");\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tfor(var t=0; t<WARN_IMPORT_PREFIX_LIST.length; t++) {\\n\\t\\t\\t\\tvar prefix = WARN_IMPORT_PREFIX_LIST[t];\\n\\t\\t\\t\\tif(title.substr(0,prefix.length) === prefix && wiki.isShadowTiddler(title)) {\\n\\t\\t\\t\\t\\tshowAlert = true;\\n\\t\\t\\t\\t\\tmessages[title] = $tw.language.getString(\\\"Import/Upgrader/System/Warning\\\");\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\tif(showAlert) {\\n\\t\\tvar logger = new $tw.utils.Logger(\\\"import\\\");\\n\\t\\tlogger.alert($tw.language.getString(\\\"Import/Upgrader/System/Alert\\\"));\\n\\t}\\n\\treturn messages;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"upgrader\"},\"$:/core/modules/upgraders/themetweaks.js\":{\"title\":\"$:/core/modules/upgraders/themetweaks.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/upgraders/themetweaks.js\\ntype: application/javascript\\nmodule-type: upgrader\\n\\nUpgrader module that handles the change in theme tweak storage introduced in 5.0.14-beta.\\n\\nPreviously, theme tweaks were stored in two data tiddlers:\\n\\n* $:/themes/tiddlywiki/vanilla/metrics\\n* $:/themes/tiddlywiki/vanilla/settings\\n\\nNow, each tweak is stored in its own separate tiddler.\\n\\nThis upgrader copies any values from the old format to the new. The old data tiddlers are not deleted in case they have been used to store additional indexes.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar MAPPINGS = {\\n\\t\\\"$:/themes/tiddlywiki/vanilla/metrics\\\": {\\n\\t\\t\\\"fontsize\\\": \\\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\\\",\\n\\t\\t\\\"lineheight\\\": \\\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\\\",\\n\\t\\t\\\"storyleft\\\": \\\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\\\",\\n\\t\\t\\\"storytop\\\": \\\"$:/themes/tiddlywiki/vanilla/metrics/storytop\\\",\\n\\t\\t\\\"storyright\\\": \\\"$:/themes/tiddlywiki/vanilla/metrics/storyright\\\",\\n\\t\\t\\\"storywidth\\\": \\\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\\\",\\n\\t\\t\\\"tiddlerwidth\\\": \\\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\\\"\\n\\t},\\n\\t\\\"$:/themes/tiddlywiki/vanilla/settings\\\": {\\n\\t\\t\\\"fontfamily\\\": \\\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\\\"\\n\\t}\\n};\\n\\nexports.upgrade = function(wiki,titles,tiddlers) {\\n\\tvar self = this,\\n\\t\\tmessages = {};\\n\\t// Check for tiddlers on our list\\n\\t$tw.utils.each(titles,function(title) {\\n\\t\\tvar mapping = MAPPINGS[title];\\n\\t\\tif(mapping) {\\n\\t\\t\\tvar tiddler = new $tw.Tiddler(tiddlers[title]),\\n\\t\\t\\t\\ttiddlerData = wiki.getTiddlerDataCached(tiddler,{});\\n\\t\\t\\tfor(var index in mapping) {\\n\\t\\t\\t\\tvar mappedTitle = mapping[index];\\n\\t\\t\\t\\tif(!tiddlers[mappedTitle] || tiddlers[mappedTitle].title !== mappedTitle) {\\n\\t\\t\\t\\t\\ttiddlers[mappedTitle] = {\\n\\t\\t\\t\\t\\t\\ttitle: mappedTitle,\\n\\t\\t\\t\\t\\t\\ttext: tiddlerData[index]\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\tmessages[mappedTitle] = $tw.language.getString(\\\"Import/Upgrader/ThemeTweaks/Created\\\",{variables: {\\n\\t\\t\\t\\t\\t\\tfrom: title + \\\"##\\\" + index\\n\\t\\t\\t\\t\\t}});\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\treturn messages;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"upgrader\"},\"$:/core/modules/utils/base64-utf8/base64-utf8.module.js\":{\"text\":\"(function(){// From https://gist.github.com/Nijikokun/5192472\\n//\\n// UTF8 Module\\n//\\n// Cleaner and modularized utf-8 encoding and decoding library for javascript.\\n//\\n// copyright: MIT\\n// author: Nijiko Yonskai, @nijikokun, nijikokun@gmail.com\\n!function(r,e,o,t){void 0!==o.module&&o.module.exports?o.module.exports=e.apply(o):void 0!==o.define&&\\\"function\\\"===o.define&&o.define.amd?define(\\\"utf8\\\",[],e):o.utf8=e.apply(o)}(0,function(){return{encode:function(r){if(\\\"string\\\"!=typeof r)return r;r=r.replace(/\\\\r\\\\n/g,\\\"\\\\n\\\");for(var e,o=\\\"\\\",t=0;t<r.length;t++)if((e=r.charCodeAt(t))<128)o+=String.fromCharCode(e);else if(e>127&&e<2048)o+=String.fromCharCode(e>>6|192),o+=String.fromCharCode(63&e|128);else if(e>55295&&e<57344&&r.length>t+1){var i=e,n=r.charCodeAt(t+1);t++;var d=65536+(i-55296<<10|n-56320);o+=String.fromCharCode(d>>18|240),o+=String.fromCharCode(d>>12&63|128),o+=String.fromCharCode(d>>6&63|128),o+=String.fromCharCode(63&d|128)}else o+=String.fromCharCode(e>>12|224),o+=String.fromCharCode(e>>6&63|128),o+=String.fromCharCode(63&e|128);return o},decode:function(r){if(\\\"string\\\"!=typeof r)return r;for(var e=\\\"\\\",o=0,t=0;o<r.length;)if((t=r.charCodeAt(o))<128)e+=String.fromCharCode(t),o++;else if(t>191&&t<224)e+=String.fromCharCode((31&t)<<6|63&r.charCodeAt(o+1)),o+=2;else if(t>223&&t<240)e+=String.fromCharCode((15&t)<<12|(63&r.charCodeAt(o+1))<<6|63&r.charCodeAt(o+2)),o+=3;else{var i=(7&t)<<18|(63&r.charCodeAt(o+1))<<12|(63&r.charCodeAt(o+2))<<6|63&r.charCodeAt(o+3);e+=String.fromCharCode(55296+(i-65536>>10))+String.fromCharCode(56320+(i-65536&1023)),o+=4}return e}}},this),function(r,e,o,t){if(void 0!==o.module&&o.module.exports){if(t&&o.require)for(var i=0;i<t.length;i++)o[t[i]]=o.require(t[i]);o.module.exports=e.apply(o)}else void 0!==o.define&&\\\"function\\\"===o.define&&o.define.amd?define(\\\"base64\\\",t||[],e):o.base64=e.apply(o)}(0,function(r){var e=r||this.utf8,o=\\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\\";return{encode:function(r){if(void 0===e)throw{error:\\\"MissingMethod\\\",message:\\\"UTF8 Module is missing.\\\"};if(\\\"string\\\"!=typeof r)return r;r=e.encode(r);for(var t,i,n,d,f,a,h,C=\\\"\\\",c=0;c<r.length;)d=(t=r.charCodeAt(c++))>>2,f=(3&t)<<4|(i=r.charCodeAt(c++))>>4,a=(15&i)<<2|(n=r.charCodeAt(c++))>>6,h=63&n,isNaN(i)?a=h=64:isNaN(n)&&(h=64),C+=o.charAt(d)+o.charAt(f)+o.charAt(a)+o.charAt(h);return C},decode:function(r){if(void 0===e)throw{error:\\\"MissingMethod\\\",message:\\\"UTF8 Module is missing.\\\"};if(\\\"string\\\"!=typeof r)return r;r=r.replace(/[^A-Za-z0-9\\\\+\\\\/\\\\=]/g,\\\"\\\");for(var t,i,n,d,f,a,h=\\\"\\\",C=0;C<r.length;)t=o.indexOf(r.charAt(C++))<<2|(d=o.indexOf(r.charAt(C++)))>>4,i=(15&d)<<4|(f=o.indexOf(r.charAt(C++)))>>2,n=(3&f)<<6|(a=o.indexOf(r.charAt(C++))),h+=String.fromCharCode(t),64!=f&&(h+=String.fromCharCode(i)),64!=a&&(h+=String.fromCharCode(n));return e.decode(h)}}},this,[\\\"utf8\\\"]);}).call(exports);\",\"type\":\"application/javascript\",\"title\":\"$:/core/modules/utils/base64-utf8/base64-utf8.module.js\",\"module-type\":\"library\"},\"$:/core/modules/utils/crypto.js\":{\"title\":\"$:/core/modules/utils/crypto.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/crypto.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nUtility functions related to crypto.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nLook for an encrypted store area in the text of a TiddlyWiki file\\n*/\\nexports.extractEncryptedStoreArea = function(text) {\\n\\tvar encryptedStoreAreaStartMarker = \\\"<pre id=\\\\\\\"encryptedStoreArea\\\\\\\" type=\\\\\\\"text/plain\\\\\\\" style=\\\\\\\"display:none;\\\\\\\">\\\",\\n\\t\\tencryptedStoreAreaStart = text.indexOf(encryptedStoreAreaStartMarker);\\n\\tif(encryptedStoreAreaStart !== -1) {\\n\\t\\tvar encryptedStoreAreaEnd = text.indexOf(\\\"</pre>\\\",encryptedStoreAreaStart);\\n\\t\\tif(encryptedStoreAreaEnd !== -1) {\\n\\t\\t\\treturn $tw.utils.htmlDecode(text.substring(encryptedStoreAreaStart + encryptedStoreAreaStartMarker.length,encryptedStoreAreaEnd));\\n\\t\\t}\\n\\t}\\n\\treturn null;\\n};\\n\\n/*\\nAttempt to extract the tiddlers from an encrypted store area using the current password. If the password is not provided then the password in the password store will be used\\n*/\\nexports.decryptStoreArea = function(encryptedStoreArea,password) {\\n\\tvar decryptedText = $tw.crypto.decrypt(encryptedStoreArea,password);\\n\\tif(decryptedText) {\\n\\t\\tvar json = $tw.utils.parseJSONSafe(decryptedText),\\n\\t\\t\\ttiddlers = [];\\n\\t\\tfor(var title in json) {\\n\\t\\t\\tif(title !== \\\"$:/isEncrypted\\\") {\\n\\t\\t\\t\\ttiddlers.push(json[title]);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn tiddlers;\\n\\t} else {\\n\\t\\treturn null;\\n\\t}\\n};\\n\\n\\n/*\\nAttempt to extract the tiddlers from an encrypted store area using the current password. If that fails, the user is prompted for a password.\\nencryptedStoreArea: text of the TiddlyWiki encrypted store area\\ncallback: function(tiddlers) called with the array of decrypted tiddlers\\n\\nThe following configuration settings are supported:\\n\\n$tw.config.usePasswordVault: causes any password entered by the user to also be put into the system password vault\\n*/\\nexports.decryptStoreAreaInteractive = function(encryptedStoreArea,callback,options) {\\n\\t// Try to decrypt with the current password\\n\\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea);\\n\\tif(tiddlers) {\\n\\t\\tcallback(tiddlers);\\n\\t} else {\\n\\t\\t// Prompt for a new password and keep trying\\n\\t\\t$tw.passwordPrompt.createPrompt({\\n\\t\\t\\tserviceName: \\\"Enter a password to decrypt the imported TiddlyWiki\\\",\\n\\t\\t\\tnoUserName: true,\\n\\t\\t\\tcanCancel: true,\\n\\t\\t\\tsubmitText: \\\"Decrypt\\\",\\n\\t\\t\\tcallback: function(data) {\\n\\t\\t\\t\\t// Exit if the user cancelled\\n\\t\\t\\t\\tif(!data) {\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// Attempt to decrypt the tiddlers\\n\\t\\t\\t\\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea,data.password);\\n\\t\\t\\t\\tif(tiddlers) {\\n\\t\\t\\t\\t\\tif($tw.config.usePasswordVault) {\\n\\t\\t\\t\\t\\t\\t$tw.crypto.setPassword(data.password);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tcallback(tiddlers);\\n\\t\\t\\t\\t\\t// Exit and remove the password prompt\\n\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t// We didn't decrypt everything, so continue to prompt for password\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/csv.js\":{\"title\":\"$:/core/modules/utils/csv.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/csv.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nA barebones CSV parser\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar QUOTE = '\\\"';\\n\\nvar getCellInfo = function(text, start, length, SEPARATOR) {\\n\\tvar isCellQuoted = text.charAt(start) === QUOTE;\\n\\tvar cellStart = isCellQuoted ? start + 1 : start;\\n\\t\\n\\tif (text.charAt(i) === SEPARATOR) {\\n\\t\\treturn [cellStart, cellStart, false];\\n\\t}\\n\\t\\n\\tfor (var i = cellStart; i < length; i++) {\\n\\t\\tvar cellCharacter = text.charAt(i);\\n\\t\\tvar isEOL = cellCharacter === \\\"\\\\n\\\" || cellCharacter === \\\"\\\\r\\\";\\n\\t\\t\\n\\t\\tif (isEOL && !isCellQuoted) {\\n\\t\\t\\treturn [cellStart, i, false];\\n\\t\\t\\t\\n\\t\\t} else if (cellCharacter === SEPARATOR && !isCellQuoted) {\\n\\t\\t\\treturn [cellStart, i, false];\\n\\t\\t\\t\\n\\t\\t} else if (cellCharacter === QUOTE && isCellQuoted) {\\n\\t\\t\\tvar nextCharacter = i + 1 < length ? text.charAt(i + 1) : '';\\n\\t\\t\\tif (nextCharacter !== QUOTE) {\\n\\t\\t\\t\\treturn [cellStart, i, true];\\n\\t\\t\\t} else {\\n\\t\\t\\t\\ti++;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t\\n\\treturn [cellStart, i, isCellQuoted];\\n}\\n\\t\\nexports.parseCsvString = function(text, options) {\\n\\tif (!text) {\\n\\t\\treturn [];\\n\\t}\\n\\t\\n\\toptions = options || {};\\n\\tvar SEPARATOR = options.separator || \\\",\\\",\\n\\t\\tlength = text.length,\\n\\t\\trows = [],\\n\\t\\tnextRow = [];\\n\\t\\t\\n\\tfor (var i = 0; i < length; i++) {\\n\\t\\tvar cellInfo = getCellInfo(text, i, length, SEPARATOR);\\n\\t\\tvar cellText = text.substring(cellInfo[0], cellInfo[1]);\\n\\t\\tif (cellInfo[2]) {\\n\\t\\t\\tcellText = cellText.replace(/\\\"\\\"/g, '\\\"');\\n\\t\\t\\tcellInfo[1]++;\\n\\t\\t}\\n\\t\\tnextRow.push(cellText);\\n\\t\\t\\n\\t\\ti = cellInfo[1];\\n\\t\\t\\n\\t\\tvar character = text.charAt(i);\\n\\t\\tvar nextCharacter = i + 1 < length ? text.charAt(i + 1) : '';\\n\\t\\t\\n\\t\\tif (character === \\\"\\\\r\\\" || character === \\\"\\\\n\\\") {\\n\\t\\t\\t// Edge case for empty rows\\n\\t\\t\\tif (nextRow.length === 1 && nextRow[0] === '') {\\n\\t\\t\\t\\tnextRow.length = 0;\\n\\t\\t\\t}\\n\\t\\t\\trows.push(nextRow);\\n\\t\\t\\tnextRow = [];\\n\\t\\t\\t\\n\\t\\t\\tif (character === \\\"\\\\r\\\") {\\n\\t\\t\\t\\tvar nextCharacter = i + 1 < length ? text.charAt(i + 1) : '';\\n\\t\\t\\t\\t\\n\\t\\t\\t\\tif (nextCharacter === \\\"\\\\n\\\") {\\n\\t\\t\\t\\t\\ti++;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t\\n\\t// Special case if last cell in last row is an empty cell\\n\\tif (text.charAt(length - 1) === SEPARATOR) {\\n\\t\\tnextRow.push(\\\"\\\");\\n\\t}\\n\\t\\n\\trows.push(nextRow);\\n\\t\\n\\treturn rows;\\n}\\n\\n/*\\nParse a CSV string with a header row and return an array of hashmaps.\\n*/\\nexports.parseCsvStringWithHeader = function(text,options) {\\n\\tvar csv = $tw.utils.parseCsvString(text, options);\\n\\tvar headers = csv[0];\\n\\t\\n\\tcsv = csv.slice(1);\\n\\tfor (var i = 0; i < csv.length; i++) {\\n\\t\\tvar row = csv[i];\\n\\t\\tvar rowObject = Object.create(null);\\n\\n\\t\\tfor(var columnIndex=0; columnIndex<headers.length; columnIndex++) {\\n\\t\\t\\tvar columnName = headers[columnIndex];\\n\\t\\t\\tif (columnName) {\\n\\t\\t\\t\\trowObject[columnName] = $tw.utils.trim(row[columnIndex] || \\\"\\\");\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tcsv[i] = rowObject;\\n\\t}\\n\\treturn csv;\\n}\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/diff-match-patch/diff_match_patch.js\":{\"text\":\"(function(){function diff_match_patch(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=.5;this.Match_Distance=1E3;this.Patch_DeleteThreshold=.5;this.Patch_Margin=4;this.Match_MaxBits=32}var DIFF_DELETE=-1,DIFF_INSERT=1,DIFF_EQUAL=0;\\ndiff_match_patch.prototype.diff_main=function(a,b,c,d){\\\"undefined\\\"==typeof d&&(d=0>=this.Diff_Timeout?Number.MAX_VALUE:(new Date).getTime()+1E3*this.Diff_Timeout);if(null==a||null==b)throw Error(\\\"Null input. (diff_main)\\\");if(a==b)return a?[[DIFF_EQUAL,a]]:[];\\\"undefined\\\"==typeof c&&(c=!0);var e=c,f=this.diff_commonPrefix(a,b);c=a.substring(0,f);a=a.substring(f);b=b.substring(f);f=this.diff_commonSuffix(a,b);var g=a.substring(a.length-f);a=a.substring(0,a.length-f);b=b.substring(0,b.length-f);a=this.diff_compute_(a,\\nb,e,d);c&&a.unshift([DIFF_EQUAL,c]);g&&a.push([DIFF_EQUAL,g]);this.diff_cleanupMerge(a);return a};\\ndiff_match_patch.prototype.diff_compute_=function(a,b,c,d){if(!a)return[[DIFF_INSERT,b]];if(!b)return[[DIFF_DELETE,a]];var e=a.length>b.length?a:b,f=a.length>b.length?b:a,g=e.indexOf(f);return-1!=g?(c=[[DIFF_INSERT,e.substring(0,g)],[DIFF_EQUAL,f],[DIFF_INSERT,e.substring(g+f.length)]],a.length>b.length&&(c[0][0]=c[2][0]=DIFF_DELETE),c):1==f.length?[[DIFF_DELETE,a],[DIFF_INSERT,b]]:(e=this.diff_halfMatch_(a,b))?(b=e[1],f=e[3],a=e[4],e=this.diff_main(e[0],e[2],c,d),c=this.diff_main(b,f,c,d),e.concat([[DIFF_EQUAL,\\na]],c)):c&&100<a.length&&100<b.length?this.diff_lineMode_(a,b,d):this.diff_bisect_(a,b,d)};\\ndiff_match_patch.prototype.diff_lineMode_=function(a,b,c){var d=this.diff_linesToChars_(a,b);a=d.chars1;b=d.chars2;d=d.lineArray;a=this.diff_main(a,b,!1,c);this.diff_charsToLines_(a,d);this.diff_cleanupSemantic(a);a.push([DIFF_EQUAL,\\\"\\\"]);for(var e=d=b=0,f=\\\"\\\",g=\\\"\\\";b<a.length;){switch(a[b][0]){case DIFF_INSERT:e++;g+=a[b][1];break;case DIFF_DELETE:d++;f+=a[b][1];break;case DIFF_EQUAL:if(1<=d&&1<=e){a.splice(b-d-e,d+e);b=b-d-e;d=this.diff_main(f,g,!1,c);for(e=d.length-1;0<=e;e--)a.splice(b,0,d[e]);b+=\\nd.length}d=e=0;g=f=\\\"\\\"}b++}a.pop();return a};\\ndiff_match_patch.prototype.diff_bisect_=function(a,b,c){for(var d=a.length,e=b.length,f=Math.ceil((d+e)/2),g=2*f,h=Array(g),l=Array(g),k=0;k<g;k++)h[k]=-1,l[k]=-1;h[f+1]=0;l[f+1]=0;k=d-e;for(var m=0!=k%2,p=0,x=0,w=0,q=0,t=0;t<f&&!((new Date).getTime()>c);t++){for(var v=-t+p;v<=t-x;v+=2){var n=f+v;var r=v==-t||v!=t&&h[n-1]<h[n+1]?h[n+1]:h[n-1]+1;for(var y=r-v;r<d&&y<e&&a.charAt(r)==b.charAt(y);)r++,y++;h[n]=r;if(r>d)x+=2;else if(y>e)p+=2;else if(m&&(n=f+k-v,0<=n&&n<g&&-1!=l[n])){var u=d-l[n];if(r>=\\nu)return this.diff_bisectSplit_(a,b,r,y,c)}}for(v=-t+w;v<=t-q;v+=2){n=f+v;u=v==-t||v!=t&&l[n-1]<l[n+1]?l[n+1]:l[n-1]+1;for(r=u-v;u<d&&r<e&&a.charAt(d-u-1)==b.charAt(e-r-1);)u++,r++;l[n]=u;if(u>d)q+=2;else if(r>e)w+=2;else if(!m&&(n=f+k-v,0<=n&&n<g&&-1!=h[n]&&(r=h[n],y=f+r-n,u=d-u,r>=u)))return this.diff_bisectSplit_(a,b,r,y,c)}}return[[DIFF_DELETE,a],[DIFF_INSERT,b]]};\\ndiff_match_patch.prototype.diff_bisectSplit_=function(a,b,c,d,e){var f=a.substring(0,c),g=b.substring(0,d);a=a.substring(c);b=b.substring(d);f=this.diff_main(f,g,!1,e);e=this.diff_main(a,b,!1,e);return f.concat(e)};\\ndiff_match_patch.prototype.diff_linesToChars_=function(a,b){function c(a){for(var b=\\\"\\\",c=0,f=-1,g=d.length;f<a.length-1;){f=a.indexOf(\\\"\\\\n\\\",c);-1==f&&(f=a.length-1);var h=a.substring(c,f+1);c=f+1;(e.hasOwnProperty?e.hasOwnProperty(h):void 0!==e[h])?b+=String.fromCharCode(e[h]):(b+=String.fromCharCode(g),e[h]=g,d[g++]=h)}return b}var d=[],e={};d[0]=\\\"\\\";var f=c(a),g=c(b);return{chars1:f,chars2:g,lineArray:d}};\\ndiff_match_patch.prototype.diff_charsToLines_=function(a,b){for(var c=0;c<a.length;c++){for(var d=a[c][1],e=[],f=0;f<d.length;f++)e[f]=b[d.charCodeAt(f)];a[c][1]=e.join(\\\"\\\")}};diff_match_patch.prototype.diff_commonPrefix=function(a,b){if(!a||!b||a.charAt(0)!=b.charAt(0))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(f,e)==b.substring(f,e)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};\\ndiff_match_patch.prototype.diff_commonSuffix=function(a,b){if(!a||!b||a.charAt(a.length-1)!=b.charAt(b.length-1))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(a.length-e,a.length-f)==b.substring(b.length-e,b.length-f)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};\\ndiff_match_patch.prototype.diff_commonOverlap_=function(a,b){var c=a.length,d=b.length;if(0==c||0==d)return 0;c>d?a=a.substring(c-d):c<d&&(b=b.substring(0,c));c=Math.min(c,d);if(a==b)return c;d=0;for(var e=1;;){var f=a.substring(c-e);f=b.indexOf(f);if(-1==f)return d;e+=f;if(0==f||a.substring(c-e)==b.substring(0,e))d=e,e++}};\\ndiff_match_patch.prototype.diff_halfMatch_=function(a,b){function c(a,b,c){for(var d=a.substring(c,c+Math.floor(a.length/4)),e=-1,g=\\\"\\\",h,k,l,m;-1!=(e=b.indexOf(d,e+1));){var p=f.diff_commonPrefix(a.substring(c),b.substring(e)),u=f.diff_commonSuffix(a.substring(0,c),b.substring(0,e));g.length<u+p&&(g=b.substring(e-u,e)+b.substring(e,e+p),h=a.substring(0,c-u),k=a.substring(c+p),l=b.substring(0,e-u),m=b.substring(e+p))}return 2*g.length>=a.length?[h,k,l,m,g]:null}if(0>=this.Diff_Timeout)return null;\\nvar d=a.length>b.length?a:b,e=a.length>b.length?b:a;if(4>d.length||2*e.length<d.length)return null;var f=this,g=c(d,e,Math.ceil(d.length/4));d=c(d,e,Math.ceil(d.length/2));if(g||d)g=d?g?g[4].length>d[4].length?g:d:d:g;else return null;if(a.length>b.length){d=g[0];e=g[1];var h=g[2];var l=g[3]}else h=g[0],l=g[1],d=g[2],e=g[3];return[d,e,h,l,g[4]]};\\ndiff_match_patch.prototype.diff_cleanupSemantic=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=0,h=0,l=0,k=0;f<a.length;)a[f][0]==DIFF_EQUAL?(c[d++]=f,g=l,h=k,k=l=0,e=a[f][1]):(a[f][0]==DIFF_INSERT?l+=a[f][1].length:k+=a[f][1].length,e&&e.length<=Math.max(g,h)&&e.length<=Math.max(l,k)&&(a.splice(c[d-1],0,[DIFF_DELETE,e]),a[c[d-1]+1][0]=DIFF_INSERT,d--,d--,f=0<d?c[d-1]:-1,k=l=h=g=0,e=null,b=!0)),f++;b&&this.diff_cleanupMerge(a);this.diff_cleanupSemanticLossless(a);for(f=1;f<a.length;){if(a[f-1][0]==\\nDIFF_DELETE&&a[f][0]==DIFF_INSERT){b=a[f-1][1];c=a[f][1];d=this.diff_commonOverlap_(b,c);e=this.diff_commonOverlap_(c,b);if(d>=e){if(d>=b.length/2||d>=c.length/2)a.splice(f,0,[DIFF_EQUAL,c.substring(0,d)]),a[f-1][1]=b.substring(0,b.length-d),a[f+1][1]=c.substring(d),f++}else if(e>=b.length/2||e>=c.length/2)a.splice(f,0,[DIFF_EQUAL,b.substring(0,e)]),a[f-1][0]=DIFF_INSERT,a[f-1][1]=c.substring(0,c.length-e),a[f+1][0]=DIFF_DELETE,a[f+1][1]=b.substring(e),f++;f++}f++}};\\ndiff_match_patch.prototype.diff_cleanupSemanticLossless=function(a){function b(a,b){if(!a||!b)return 6;var c=a.charAt(a.length-1),d=b.charAt(0),e=c.match(diff_match_patch.nonAlphaNumericRegex_),f=d.match(diff_match_patch.nonAlphaNumericRegex_),g=e&&c.match(diff_match_patch.whitespaceRegex_),h=f&&d.match(diff_match_patch.whitespaceRegex_);c=g&&c.match(diff_match_patch.linebreakRegex_);d=h&&d.match(diff_match_patch.linebreakRegex_);var k=c&&a.match(diff_match_patch.blanklineEndRegex_),l=d&&b.match(diff_match_patch.blanklineStartRegex_);\\nreturn k||l?5:c||d?4:e&&!g&&h?3:g||h?2:e||f?1:0}for(var c=1;c<a.length-1;){if(a[c-1][0]==DIFF_EQUAL&&a[c+1][0]==DIFF_EQUAL){var d=a[c-1][1],e=a[c][1],f=a[c+1][1],g=this.diff_commonSuffix(d,e);if(g){var h=e.substring(e.length-g);d=d.substring(0,d.length-g);e=h+e.substring(0,e.length-g);f=h+f}g=d;h=e;for(var l=f,k=b(d,e)+b(e,f);e.charAt(0)===f.charAt(0);){d+=e.charAt(0);e=e.substring(1)+f.charAt(0);f=f.substring(1);var m=b(d,e)+b(e,f);m>=k&&(k=m,g=d,h=e,l=f)}a[c-1][1]!=g&&(g?a[c-1][1]=g:(a.splice(c-\\n1,1),c--),a[c][1]=h,l?a[c+1][1]=l:(a.splice(c+1,1),c--))}c++}};diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch.whitespaceRegex_=/\\\\s/;diff_match_patch.linebreakRegex_=/[\\\\r\\\\n]/;diff_match_patch.blanklineEndRegex_=/\\\\n\\\\r?\\\\n$/;diff_match_patch.blanklineStartRegex_=/^\\\\r?\\\\n\\\\r?\\\\n/;\\ndiff_match_patch.prototype.diff_cleanupEfficiency=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=!1,h=!1,l=!1,k=!1;f<a.length;)a[f][0]==DIFF_EQUAL?(a[f][1].length<this.Diff_EditCost&&(l||k)?(c[d++]=f,g=l,h=k,e=a[f][1]):(d=0,e=null),l=k=!1):(a[f][0]==DIFF_DELETE?k=!0:l=!0,e&&(g&&h&&l&&k||e.length<this.Diff_EditCost/2&&3==g+h+l+k)&&(a.splice(c[d-1],0,[DIFF_DELETE,e]),a[c[d-1]+1][0]=DIFF_INSERT,d--,e=null,g&&h?(l=k=!0,d=0):(d--,f=0<d?c[d-1]:-1,l=k=!1),b=!0)),f++;b&&this.diff_cleanupMerge(a)};\\ndiff_match_patch.prototype.diff_cleanupMerge=function(a){a.push([DIFF_EQUAL,\\\"\\\"]);for(var b=0,c=0,d=0,e=\\\"\\\",f=\\\"\\\",g;b<a.length;)switch(a[b][0]){case DIFF_INSERT:d++;f+=a[b][1];b++;break;case DIFF_DELETE:c++;e+=a[b][1];b++;break;case DIFF_EQUAL:1<c+d?(0!==c&&0!==d&&(g=this.diff_commonPrefix(f,e),0!==g&&(0<b-c-d&&a[b-c-d-1][0]==DIFF_EQUAL?a[b-c-d-1][1]+=f.substring(0,g):(a.splice(0,0,[DIFF_EQUAL,f.substring(0,g)]),b++),f=f.substring(g),e=e.substring(g)),g=this.diff_commonSuffix(f,e),0!==g&&(a[b][1]=f.substring(f.length-\\ng)+a[b][1],f=f.substring(0,f.length-g),e=e.substring(0,e.length-g))),0===c?a.splice(b-d,c+d,[DIFF_INSERT,f]):0===d?a.splice(b-c,c+d,[DIFF_DELETE,e]):a.splice(b-c-d,c+d,[DIFF_DELETE,e],[DIFF_INSERT,f]),b=b-c-d+(c?1:0)+(d?1:0)+1):0!==b&&a[b-1][0]==DIFF_EQUAL?(a[b-1][1]+=a[b][1],a.splice(b,1)):b++,c=d=0,f=e=\\\"\\\"}\\\"\\\"===a[a.length-1][1]&&a.pop();c=!1;for(b=1;b<a.length-1;)a[b-1][0]==DIFF_EQUAL&&a[b+1][0]==DIFF_EQUAL&&(a[b][1].substring(a[b][1].length-a[b-1][1].length)==a[b-1][1]?(a[b][1]=a[b-1][1]+a[b][1].substring(0,\\na[b][1].length-a[b-1][1].length),a[b+1][1]=a[b-1][1]+a[b+1][1],a.splice(b-1,1),c=!0):a[b][1].substring(0,a[b+1][1].length)==a[b+1][1]&&(a[b-1][1]+=a[b+1][1],a[b][1]=a[b][1].substring(a[b+1][1].length)+a[b+1][1],a.splice(b+1,1),c=!0)),b++;c&&this.diff_cleanupMerge(a)};\\ndiff_match_patch.prototype.diff_xIndex=function(a,b){var c=0,d=0,e=0,f=0,g;for(g=0;g<a.length;g++){a[g][0]!==DIFF_INSERT&&(c+=a[g][1].length);a[g][0]!==DIFF_DELETE&&(d+=a[g][1].length);if(c>b)break;e=c;f=d}return a.length!=g&&a[g][0]===DIFF_DELETE?f:f+(b-e)};\\ndiff_match_patch.prototype.diff_prettyHtml=function(a){for(var b=[],c=/&/g,d=/</g,e=/>/g,f=/\\\\n/g,g=0;g<a.length;g++){var h=a[g][0],l=a[g][1].replace(c,\\\"&\\\").replace(d,\\\"<\\\").replace(e,\\\">\\\").replace(f,\\\"¶<br>\\\");switch(h){case DIFF_INSERT:b[g]='<ins style=\\\"background:#e6ffe6;\\\">'+l+\\\"</ins>\\\";break;case DIFF_DELETE:b[g]='<del style=\\\"background:#ffe6e6;\\\">'+l+\\\"</del>\\\";break;case DIFF_EQUAL:b[g]=\\\"<span>\\\"+l+\\\"</span>\\\"}}return b.join(\\\"\\\")};\\ndiff_match_patch.prototype.diff_text1=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_INSERT&&(b[c]=a[c][1]);return b.join(\\\"\\\")};diff_match_patch.prototype.diff_text2=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_DELETE&&(b[c]=a[c][1]);return b.join(\\\"\\\")};\\ndiff_match_patch.prototype.diff_levenshtein=function(a){for(var b=0,c=0,d=0,e=0;e<a.length;e++){var f=a[e][1];switch(a[e][0]){case DIFF_INSERT:c+=f.length;break;case DIFF_DELETE:d+=f.length;break;case DIFF_EQUAL:b+=Math.max(c,d),d=c=0}}return b+=Math.max(c,d)};\\ndiff_match_patch.prototype.diff_toDelta=function(a){for(var b=[],c=0;c<a.length;c++)switch(a[c][0]){case DIFF_INSERT:b[c]=\\\"+\\\"+encodeURI(a[c][1]);break;case DIFF_DELETE:b[c]=\\\"-\\\"+a[c][1].length;break;case DIFF_EQUAL:b[c]=\\\"=\\\"+a[c][1].length}return b.join(\\\"\\\\t\\\").replace(/%20/g,\\\" \\\")};\\ndiff_match_patch.prototype.diff_fromDelta=function(a,b){for(var c=[],d=0,e=0,f=b.split(/\\\\t/g),g=0;g<f.length;g++){var h=f[g].substring(1);switch(f[g].charAt(0)){case \\\"+\\\":try{c[d++]=[DIFF_INSERT,decodeURI(h)]}catch(k){throw Error(\\\"Illegal escape in diff_fromDelta: \\\"+h);}break;case \\\"-\\\":case \\\"=\\\":var l=parseInt(h,10);if(isNaN(l)||0>l)throw Error(\\\"Invalid number in diff_fromDelta: \\\"+h);h=a.substring(e,e+=l);\\\"=\\\"==f[g].charAt(0)?c[d++]=[DIFF_EQUAL,h]:c[d++]=[DIFF_DELETE,h];break;default:if(f[g])throw Error(\\\"Invalid diff operation in diff_fromDelta: \\\"+\\nf[g]);}}if(e!=a.length)throw Error(\\\"Delta length (\\\"+e+\\\") does not equal source text length (\\\"+a.length+\\\").\\\");return c};diff_match_patch.prototype.match_main=function(a,b,c){if(null==a||null==b||null==c)throw Error(\\\"Null input. (match_main)\\\");c=Math.max(0,Math.min(c,a.length));return a==b?0:a.length?a.substring(c,c+b.length)==b?c:this.match_bitap_(a,b,c):-1};\\ndiff_match_patch.prototype.match_bitap_=function(a,b,c){function d(a,d){var e=a/b.length,g=Math.abs(c-d);return f.Match_Distance?e+g/f.Match_Distance:g?1:e}if(b.length>this.Match_MaxBits)throw Error(\\\"Pattern too long for this browser.\\\");var e=this.match_alphabet_(b),f=this,g=this.Match_Threshold,h=a.indexOf(b,c);-1!=h&&(g=Math.min(d(0,h),g),h=a.lastIndexOf(b,c+b.length),-1!=h&&(g=Math.min(d(0,h),g)));var l=1<<b.length-1;h=-1;for(var k,m,p=b.length+a.length,x,w=0;w<b.length;w++){k=0;for(m=p;k<m;)d(w,\\nc+m)<=g?k=m:p=m,m=Math.floor((p-k)/2+k);p=m;k=Math.max(1,c-m+1);var q=Math.min(c+m,a.length)+b.length;m=Array(q+2);for(m[q+1]=(1<<w)-1;q>=k;q--){var t=e[a.charAt(q-1)];m[q]=0===w?(m[q+1]<<1|1)&t:(m[q+1]<<1|1)&t|(x[q+1]|x[q])<<1|1|x[q+1];if(m[q]&l&&(t=d(w,q-1),t<=g))if(g=t,h=q-1,h>c)k=Math.max(1,2*c-h);else break}if(d(w+1,c)>g)break;x=m}return h};\\ndiff_match_patch.prototype.match_alphabet_=function(a){for(var b={},c=0;c<a.length;c++)b[a.charAt(c)]=0;for(c=0;c<a.length;c++)b[a.charAt(c)]|=1<<a.length-c-1;return b};\\ndiff_match_patch.prototype.patch_addContext_=function(a,b){if(0!=b.length){for(var c=b.substring(a.start2,a.start2+a.length1),d=0;b.indexOf(c)!=b.lastIndexOf(c)&&c.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)d+=this.Patch_Margin,c=b.substring(a.start2-d,a.start2+a.length1+d);d+=this.Patch_Margin;(c=b.substring(a.start2-d,a.start2))&&a.diffs.unshift([DIFF_EQUAL,c]);(d=b.substring(a.start2+a.length1,a.start2+a.length1+d))&&a.diffs.push([DIFF_EQUAL,d]);a.start1-=c.length;a.start2-=\\nc.length;a.length1+=c.length+d.length;a.length2+=c.length+d.length}};\\ndiff_match_patch.prototype.patch_make=function(a,b,c){if(\\\"string\\\"==typeof a&&\\\"string\\\"==typeof b&&\\\"undefined\\\"==typeof c){var d=a;b=this.diff_main(d,b,!0);2<b.length&&(this.diff_cleanupSemantic(b),this.diff_cleanupEfficiency(b))}else if(a&&\\\"object\\\"==typeof a&&\\\"undefined\\\"==typeof b&&\\\"undefined\\\"==typeof c)b=a,d=this.diff_text1(b);else if(\\\"string\\\"==typeof a&&b&&\\\"object\\\"==typeof b&&\\\"undefined\\\"==typeof c)d=a;else if(\\\"string\\\"==typeof a&&\\\"string\\\"==typeof b&&c&&\\\"object\\\"==typeof c)d=a,b=c;else throw Error(\\\"Unknown call format to patch_make.\\\");\\nif(0===b.length)return[];c=[];a=new diff_match_patch.patch_obj;for(var e=0,f=0,g=0,h=d,l=0;l<b.length;l++){var k=b[l][0],m=b[l][1];e||k===DIFF_EQUAL||(a.start1=f,a.start2=g);switch(k){case DIFF_INSERT:a.diffs[e++]=b[l];a.length2+=m.length;d=d.substring(0,g)+m+d.substring(g);break;case DIFF_DELETE:a.length1+=m.length;a.diffs[e++]=b[l];d=d.substring(0,g)+d.substring(g+m.length);break;case DIFF_EQUAL:m.length<=2*this.Patch_Margin&&e&&b.length!=l+1?(a.diffs[e++]=b[l],a.length1+=m.length,a.length2+=m.length):\\nm.length>=2*this.Patch_Margin&&e&&(this.patch_addContext_(a,h),c.push(a),a=new diff_match_patch.patch_obj,e=0,h=d,f=g)}k!==DIFF_INSERT&&(f+=m.length);k!==DIFF_DELETE&&(g+=m.length)}e&&(this.patch_addContext_(a,h),c.push(a));return c};\\ndiff_match_patch.prototype.patch_deepCopy=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c],e=new diff_match_patch.patch_obj;e.diffs=[];for(var f=0;f<d.diffs.length;f++)e.diffs[f]=d.diffs[f].slice();e.start1=d.start1;e.start2=d.start2;e.length1=d.length1;e.length2=d.length2;b[c]=e}return b};\\ndiff_match_patch.prototype.patch_apply=function(a,b){if(0==a.length)return[b,[]];a=this.patch_deepCopy(a);var c=this.patch_addPadding(a);b=c+b+c;this.patch_splitMax(a);for(var d=0,e=[],f=0;f<a.length;f++){var g=a[f].start2+d,h=this.diff_text1(a[f].diffs),l=-1;if(h.length>this.Match_MaxBits){var k=this.match_main(b,h.substring(0,this.Match_MaxBits),g);-1!=k&&(l=this.match_main(b,h.substring(h.length-this.Match_MaxBits),g+h.length-this.Match_MaxBits),-1==l||k>=l)&&(k=-1)}else k=this.match_main(b,h,\\ng);if(-1==k)e[f]=!1,d-=a[f].length2-a[f].length1;else if(e[f]=!0,d=k-g,g=-1==l?b.substring(k,k+h.length):b.substring(k,l+this.Match_MaxBits),h==g)b=b.substring(0,k)+this.diff_text2(a[f].diffs)+b.substring(k+h.length);else if(g=this.diff_main(h,g,!1),h.length>this.Match_MaxBits&&this.diff_levenshtein(g)/h.length>this.Patch_DeleteThreshold)e[f]=!1;else{this.diff_cleanupSemanticLossless(g);h=0;var m;for(l=0;l<a[f].diffs.length;l++){var p=a[f].diffs[l];p[0]!==DIFF_EQUAL&&(m=this.diff_xIndex(g,h));p[0]===\\nDIFF_INSERT?b=b.substring(0,k+m)+p[1]+b.substring(k+m):p[0]===DIFF_DELETE&&(b=b.substring(0,k+m)+b.substring(k+this.diff_xIndex(g,h+p[1].length)));p[0]!==DIFF_DELETE&&(h+=p[1].length)}}}b=b.substring(c.length,b.length-c.length);return[b,e]};\\ndiff_match_patch.prototype.patch_addPadding=function(a){for(var b=this.Patch_Margin,c=\\\"\\\",d=1;d<=b;d++)c+=String.fromCharCode(d);for(d=0;d<a.length;d++)a[d].start1+=b,a[d].start2+=b;d=a[0];var e=d.diffs;if(0==e.length||e[0][0]!=DIFF_EQUAL)e.unshift([DIFF_EQUAL,c]),d.start1-=b,d.start2-=b,d.length1+=b,d.length2+=b;else if(b>e[0][1].length){var f=b-e[0][1].length;e[0][1]=c.substring(e[0][1].length)+e[0][1];d.start1-=f;d.start2-=f;d.length1+=f;d.length2+=f}d=a[a.length-1];e=d.diffs;0==e.length||e[e.length-\\n1][0]!=DIFF_EQUAL?(e.push([DIFF_EQUAL,c]),d.length1+=b,d.length2+=b):b>e[e.length-1][1].length&&(f=b-e[e.length-1][1].length,e[e.length-1][1]+=c.substring(0,f),d.length1+=f,d.length2+=f);return c};\\ndiff_match_patch.prototype.patch_splitMax=function(a){for(var b=this.Match_MaxBits,c=0;c<a.length;c++)if(!(a[c].length1<=b)){var d=a[c];a.splice(c--,1);for(var e=d.start1,f=d.start2,g=\\\"\\\";0!==d.diffs.length;){var h=new diff_match_patch.patch_obj,l=!0;h.start1=e-g.length;h.start2=f-g.length;\\\"\\\"!==g&&(h.length1=h.length2=g.length,h.diffs.push([DIFF_EQUAL,g]));for(;0!==d.diffs.length&&h.length1<b-this.Patch_Margin;){g=d.diffs[0][0];var k=d.diffs[0][1];g===DIFF_INSERT?(h.length2+=k.length,f+=k.length,h.diffs.push(d.diffs.shift()),\\nl=!1):g===DIFF_DELETE&&1==h.diffs.length&&h.diffs[0][0]==DIFF_EQUAL&&k.length>2*b?(h.length1+=k.length,e+=k.length,l=!1,h.diffs.push([g,k]),d.diffs.shift()):(k=k.substring(0,b-h.length1-this.Patch_Margin),h.length1+=k.length,e+=k.length,g===DIFF_EQUAL?(h.length2+=k.length,f+=k.length):l=!1,h.diffs.push([g,k]),k==d.diffs[0][1]?d.diffs.shift():d.diffs[0][1]=d.diffs[0][1].substring(k.length))}g=this.diff_text2(h.diffs);g=g.substring(g.length-this.Patch_Margin);k=this.diff_text1(d.diffs).substring(0,\\nthis.Patch_Margin);\\\"\\\"!==k&&(h.length1+=k.length,h.length2+=k.length,0!==h.diffs.length&&h.diffs[h.diffs.length-1][0]===DIFF_EQUAL?h.diffs[h.diffs.length-1][1]+=k:h.diffs.push([DIFF_EQUAL,k]));l||a.splice(++c,0,h)}}};diff_match_patch.prototype.patch_toText=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=a[c];return b.join(\\\"\\\")};\\ndiff_match_patch.prototype.patch_fromText=function(a){var b=[];if(!a)return b;a=a.split(\\\"\\\\n\\\");for(var c=0,d=/^@@ -(\\\\d+),?(\\\\d*) \\\\+(\\\\d+),?(\\\\d*) @@$/;c<a.length;){var e=a[c].match(d);if(!e)throw Error(\\\"Invalid patch string: \\\"+a[c]);var f=new diff_match_patch.patch_obj;b.push(f);f.start1=parseInt(e[1],10);\\\"\\\"===e[2]?(f.start1--,f.length1=1):\\\"0\\\"==e[2]?f.length1=0:(f.start1--,f.length1=parseInt(e[2],10));f.start2=parseInt(e[3],10);\\\"\\\"===e[4]?(f.start2--,f.length2=1):\\\"0\\\"==e[4]?f.length2=0:(f.start2--,f.length2=\\nparseInt(e[4],10));for(c++;c<a.length;){e=a[c].charAt(0);try{var g=decodeURI(a[c].substring(1))}catch(h){throw Error(\\\"Illegal escape in patch_fromText: \\\"+g);}if(\\\"-\\\"==e)f.diffs.push([DIFF_DELETE,g]);else if(\\\"+\\\"==e)f.diffs.push([DIFF_INSERT,g]);else if(\\\" \\\"==e)f.diffs.push([DIFF_EQUAL,g]);else if(\\\"@\\\"==e)break;else if(\\\"\\\"!==e)throw Error('Invalid patch mode \\\"'+e+'\\\" in: '+g);c++}}return b};diff_match_patch.patch_obj=function(){this.diffs=[];this.start2=this.start1=null;this.length2=this.length1=0};\\ndiff_match_patch.patch_obj.prototype.toString=function(){for(var a=[\\\"@@ -\\\"+(0===this.length1?this.start1+\\\",0\\\":1==this.length1?this.start1+1:this.start1+1+\\\",\\\"+this.length1)+\\\" +\\\"+(0===this.length2?this.start2+\\\",0\\\":1==this.length2?this.start2+1:this.start2+1+\\\",\\\"+this.length2)+\\\" @@\\\\n\\\"],b,c=0;c<this.diffs.length;c++){switch(this.diffs[c][0]){case DIFF_INSERT:b=\\\"+\\\";break;case DIFF_DELETE:b=\\\"-\\\";break;case DIFF_EQUAL:b=\\\" \\\"}a[c+1]=b+encodeURI(this.diffs[c][1])+\\\"\\\\n\\\"}return a.join(\\\"\\\").replace(/%20/g,\\\" \\\")};\\nthis.diff_match_patch=diff_match_patch;this.DIFF_DELETE=DIFF_DELETE;this.DIFF_INSERT=DIFF_INSERT;this.DIFF_EQUAL=DIFF_EQUAL;\\n}).call(exports);\",\"type\":\"application/javascript\",\"title\":\"$:/core/modules/utils/diff-match-patch/diff_match_patch.js\",\"module-type\":\"library\"},\"$:/core/modules/utils/dom/animations/slide.js\":{\"title\":\"$:/core/modules/utils/dom/animations/slide.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/dom/animations/slide.js\\ntype: application/javascript\\nmodule-type: animation\\n\\nA simple slide animation that varies the height of the element\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nfunction slideOpen(domNode,options) {\\n\\toptions = options || {};\\n\\tvar duration = options.duration || $tw.utils.getAnimationDuration();\\n\\t// Get the current height of the domNode\\n\\tvar computedStyle = window.getComputedStyle(domNode),\\n\\t\\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\\n\\t\\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\\n\\t\\tcurrPaddingBottom = parseInt(computedStyle.paddingBottom,10),\\n\\t\\tcurrPaddingTop = parseInt(computedStyle.paddingTop,10),\\n\\t\\tcurrHeight = domNode.offsetHeight;\\n\\t// Reset the margin once the transition is over\\n\\tsetTimeout(function() {\\n\\t\\t$tw.utils.setStyle(domNode,[\\n\\t\\t\\t{transition: \\\"none\\\"},\\n\\t\\t\\t{marginBottom: \\\"\\\"},\\n\\t\\t\\t{marginTop: \\\"\\\"},\\n\\t\\t\\t{paddingBottom: \\\"\\\"},\\n\\t\\t\\t{paddingTop: \\\"\\\"},\\n\\t\\t\\t{height: \\\"auto\\\"},\\n\\t\\t\\t{opacity: \\\"\\\"}\\n\\t\\t]);\\n\\t\\tif(options.callback) {\\n\\t\\t\\toptions.callback();\\n\\t\\t}\\n\\t},duration);\\n\\t// Set up the initial position of the element\\n\\t$tw.utils.setStyle(domNode,[\\n\\t\\t{transition: \\\"none\\\"},\\n\\t\\t{marginTop: \\\"0px\\\"},\\n\\t\\t{marginBottom: \\\"0px\\\"},\\n\\t\\t{paddingTop: \\\"0px\\\"},\\n\\t\\t{paddingBottom: \\\"0px\\\"},\\n\\t\\t{height: \\\"0px\\\"},\\n\\t\\t{opacity: \\\"0\\\"}\\n\\t]);\\n\\t$tw.utils.forceLayout(domNode);\\n\\t// Transition to the final position\\n\\t$tw.utils.setStyle(domNode,[\\n\\t\\t{transition: \\\"margin-top \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"margin-bottom \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"padding-top \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"padding-bottom \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"height \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"opacity \\\" + duration + \\\"ms ease-in-out\\\"},\\n\\t\\t{marginBottom: currMarginBottom + \\\"px\\\"},\\n\\t\\t{marginTop: currMarginTop + \\\"px\\\"},\\n\\t\\t{paddingBottom: currPaddingBottom + \\\"px\\\"},\\n\\t\\t{paddingTop: currPaddingTop + \\\"px\\\"},\\n\\t\\t{height: currHeight + \\\"px\\\"},\\n\\t\\t{opacity: \\\"1\\\"}\\n\\t]);\\n}\\n\\nfunction slideClosed(domNode,options) {\\n\\toptions = options || {};\\n\\tvar duration = options.duration || $tw.utils.getAnimationDuration(),\\n\\t\\tcurrHeight = domNode.offsetHeight;\\n\\t// Clear the properties we've set when the animation is over\\n\\tsetTimeout(function() {\\n\\t\\t$tw.utils.setStyle(domNode,[\\n\\t\\t\\t{transition: \\\"none\\\"},\\n\\t\\t\\t{marginBottom: \\\"\\\"},\\n\\t\\t\\t{marginTop: \\\"\\\"},\\n\\t\\t\\t{paddingBottom: \\\"\\\"},\\n\\t\\t\\t{paddingTop: \\\"\\\"},\\n\\t\\t\\t{height: \\\"auto\\\"},\\n\\t\\t\\t{opacity: \\\"\\\"}\\n\\t\\t]);\\n\\t\\tif(options.callback) {\\n\\t\\t\\toptions.callback();\\n\\t\\t}\\n\\t},duration);\\n\\t// Set up the initial position of the element\\n\\t$tw.utils.setStyle(domNode,[\\n\\t\\t{height: currHeight + \\\"px\\\"},\\n\\t\\t{opacity: \\\"1\\\"}\\n\\t]);\\n\\t$tw.utils.forceLayout(domNode);\\n\\t// Transition to the final position\\n\\t$tw.utils.setStyle(domNode,[\\n\\t\\t{transition: \\\"margin-top \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"margin-bottom \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"padding-top \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"padding-bottom \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"height \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"opacity \\\" + duration + \\\"ms ease-in-out\\\"},\\n\\t\\t{marginTop: \\\"0px\\\"},\\n\\t\\t{marginBottom: \\\"0px\\\"},\\n\\t\\t{paddingTop: \\\"0px\\\"},\\n\\t\\t{paddingBottom: \\\"0px\\\"},\\n\\t\\t{height: \\\"0px\\\"},\\n\\t\\t{opacity: \\\"0\\\"}\\n\\t]);\\n}\\n\\nexports.slide = {\\n\\topen: slideOpen,\\n\\tclose: slideClosed\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"animation\"},\"$:/core/modules/utils/dom/animator.js\":{\"title\":\"$:/core/modules/utils/dom/animator.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/dom/animator.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nOrchestrates animations and transitions\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nfunction Animator() {\\n\\t// Get the registered animation modules\\n\\tthis.animations = {};\\n\\t$tw.modules.applyMethods(\\\"animation\\\",this.animations);\\n}\\n\\nAnimator.prototype.perform = function(type,domNode,options) {\\n\\toptions = options || {};\\n\\t// Find an animation that can handle this type\\n\\tvar chosenAnimation;\\n\\t$tw.utils.each(this.animations,function(animation,name) {\\n\\t\\tif($tw.utils.hop(animation,type)) {\\n\\t\\t\\tchosenAnimation = animation[type];\\n\\t\\t}\\n\\t});\\n\\tif(!chosenAnimation) {\\n\\t\\tchosenAnimation = function(domNode,options) {\\n\\t\\t\\tif(options.callback) {\\n\\t\\t\\t\\toptions.callback();\\n\\t\\t\\t}\\n\\t\\t};\\n\\t}\\n\\t// Call the animation\\n\\tchosenAnimation(domNode,options);\\n};\\n\\nexports.Animator = Animator;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/dom/browser.js\":{\"title\":\"$:/core/modules/utils/dom/browser.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/dom/browser.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nBrowser feature detection\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nSet style properties of an element\\n\\telement: dom node\\n\\tstyles: ordered array of {name: value} pairs\\n*/\\nexports.setStyle = function(element,styles) {\\n\\tif(element.nodeType === 1) { // Element.ELEMENT_NODE\\n\\t\\tfor(var t=0; t<styles.length; t++) {\\n\\t\\t\\tfor(var styleName in styles[t]) {\\n\\t\\t\\t\\telement.style[$tw.utils.convertStyleNameToPropertyName(styleName)] = styles[t][styleName];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nConverts a standard CSS property name into the local browser-specific equivalent. For example:\\n\\t\\\"background-color\\\" --> \\\"backgroundColor\\\"\\n\\t\\\"transition\\\" --> \\\"webkitTransition\\\"\\n*/\\n\\nvar styleNameCache = {}; // We'll cache the style name conversions\\n\\nexports.convertStyleNameToPropertyName = function(styleName) {\\n\\t// Return from the cache if we can\\n\\tif(styleNameCache[styleName]) {\\n\\t\\treturn styleNameCache[styleName];\\n\\t}\\n\\t// Convert it by first removing any hyphens\\n\\tvar propertyName = $tw.utils.unHyphenateCss(styleName);\\n\\t// Then check if it needs a prefix\\n\\tif($tw.browser && document.body.style[propertyName] === undefined) {\\n\\t\\tvar prefixes = [\\\"O\\\",\\\"MS\\\",\\\"Moz\\\",\\\"webkit\\\"];\\n\\t\\tfor(var t=0; t<prefixes.length; t++) {\\n\\t\\t\\tvar prefixedName = prefixes[t] + propertyName.substr(0,1).toUpperCase() + propertyName.substr(1);\\n\\t\\t\\tif(document.body.style[prefixedName] !== undefined) {\\n\\t\\t\\t\\tpropertyName = prefixedName;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// Put it in the cache too\\n\\tstyleNameCache[styleName] = propertyName;\\n\\treturn propertyName;\\n};\\n\\n/*\\nConverts a JS format CSS property name back into the dashed form used in CSS declarations. For example:\\n\\t\\\"backgroundColor\\\" --> \\\"background-color\\\"\\n\\t\\\"webkitTransform\\\" --> \\\"-webkit-transform\\\"\\n*/\\nexports.convertPropertyNameToStyleName = function(propertyName) {\\n\\t// Rehyphenate the name\\n\\tvar styleName = $tw.utils.hyphenateCss(propertyName);\\n\\t// If there's a webkit prefix, add a dash (other browsers have uppercase prefixes, and so get the dash automatically)\\n\\tif(styleName.indexOf(\\\"webkit\\\") === 0) {\\n\\t\\tstyleName = \\\"-\\\" + styleName;\\n\\t} else if(styleName.indexOf(\\\"-m-s\\\") === 0) {\\n\\t\\tstyleName = \\\"-ms\\\" + styleName.substr(4);\\n\\t}\\n\\treturn styleName;\\n};\\n\\n/*\\nRound trip a stylename to a property name and back again. For example:\\n\\t\\\"transform\\\" --> \\\"webkitTransform\\\" --> \\\"-webkit-transform\\\"\\n*/\\nexports.roundTripPropertyName = function(propertyName) {\\n\\treturn $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(propertyName));\\n};\\n\\n/*\\nConverts a standard event name into the local browser specific equivalent. For example:\\n\\t\\\"animationEnd\\\" --> \\\"webkitAnimationEnd\\\"\\n*/\\n\\nvar eventNameCache = {}; // We'll cache the conversions\\n\\nvar eventNameMappings = {\\n\\t\\\"transitionEnd\\\": {\\n\\t\\tcorrespondingCssProperty: \\\"transition\\\",\\n\\t\\tmappings: {\\n\\t\\t\\ttransition: \\\"transitionend\\\",\\n\\t\\t\\tOTransition: \\\"oTransitionEnd\\\",\\n\\t\\t\\tMSTransition: \\\"msTransitionEnd\\\",\\n\\t\\t\\tMozTransition: \\\"transitionend\\\",\\n\\t\\t\\twebkitTransition: \\\"webkitTransitionEnd\\\"\\n\\t\\t}\\n\\t},\\n\\t\\\"animationEnd\\\": {\\n\\t\\tcorrespondingCssProperty: \\\"animation\\\",\\n\\t\\tmappings: {\\n\\t\\t\\tanimation: \\\"animationend\\\",\\n\\t\\t\\tOAnimation: \\\"oAnimationEnd\\\",\\n\\t\\t\\tMSAnimation: \\\"msAnimationEnd\\\",\\n\\t\\t\\tMozAnimation: \\\"animationend\\\",\\n\\t\\t\\twebkitAnimation: \\\"webkitAnimationEnd\\\"\\n\\t\\t}\\n\\t}\\n};\\n\\nexports.convertEventName = function(eventName) {\\n\\tif(eventNameCache[eventName]) {\\n\\t\\treturn eventNameCache[eventName];\\n\\t}\\n\\tvar newEventName = eventName,\\n\\t\\tmappings = eventNameMappings[eventName];\\n\\tif(mappings) {\\n\\t\\tvar convertedProperty = $tw.utils.convertStyleNameToPropertyName(mappings.correspondingCssProperty);\\n\\t\\tif(mappings.mappings[convertedProperty]) {\\n\\t\\t\\tnewEventName = mappings.mappings[convertedProperty];\\n\\t\\t}\\n\\t}\\n\\t// Put it in the cache too\\n\\teventNameCache[eventName] = newEventName;\\n\\treturn newEventName;\\n};\\n\\n/*\\nReturn the names of the fullscreen APIs\\n*/\\nexports.getFullScreenApis = function() {\\n\\tvar d = document,\\n\\t\\tdb = d.body,\\n\\t\\tresult = {\\n\\t\\t\\\"_requestFullscreen\\\": db.webkitRequestFullscreen !== undefined ? \\\"webkitRequestFullscreen\\\" :\\n\\t\\t\\t\\t\\t\\t\\tdb.mozRequestFullScreen !== undefined ? \\\"mozRequestFullScreen\\\" :\\n\\t\\t\\t\\t\\t\\t\\tdb.msRequestFullscreen !== undefined ? \\\"msRequestFullscreen\\\" :\\n\\t\\t\\t\\t\\t\\t\\tdb.requestFullscreen !== undefined ? \\\"requestFullscreen\\\" : \\\"\\\",\\n\\t\\t\\\"_exitFullscreen\\\": d.webkitExitFullscreen !== undefined ? \\\"webkitExitFullscreen\\\" :\\n\\t\\t\\t\\t\\t\\t\\td.mozCancelFullScreen !== undefined ? \\\"mozCancelFullScreen\\\" :\\n\\t\\t\\t\\t\\t\\t\\td.msExitFullscreen !== undefined ? \\\"msExitFullscreen\\\" :\\n\\t\\t\\t\\t\\t\\t\\td.exitFullscreen !== undefined ? \\\"exitFullscreen\\\" : \\\"\\\",\\n\\t\\t\\\"_fullscreenElement\\\": d.webkitFullscreenElement !== undefined ? \\\"webkitFullscreenElement\\\" :\\n\\t\\t\\t\\t\\t\\t\\td.mozFullScreenElement !== undefined ? \\\"mozFullScreenElement\\\" :\\n\\t\\t\\t\\t\\t\\t\\td.msFullscreenElement !== undefined ? \\\"msFullscreenElement\\\" :\\n\\t\\t\\t\\t\\t\\t\\td.fullscreenElement !== undefined ? \\\"fullscreenElement\\\" : \\\"\\\",\\n\\t\\t\\\"_fullscreenChange\\\": d.webkitFullscreenElement !== undefined ? \\\"webkitfullscreenchange\\\" :\\n\\t\\t\\t\\t\\t\\t\\td.mozFullScreenElement !== undefined ? \\\"mozfullscreenchange\\\" :\\n\\t\\t\\t\\t\\t\\t\\td.msFullscreenElement !== undefined ? \\\"MSFullscreenChange\\\" :\\n\\t\\t\\t\\t\\t\\t\\td.fullscreenElement !== undefined ? \\\"fullscreenchange\\\" : \\\"\\\"\\n\\t};\\n\\tif(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement || !result._fullscreenChange) {\\n\\t\\treturn null;\\n\\t} else {\\n\\t\\treturn result;\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/dom/csscolorparser.js\":{\"title\":\"$:/core/modules/utils/dom/csscolorparser.js\",\"text\":\"// (c) Dean McNamee <dean@gmail.com>, 2012.\\n//\\n// https://github.com/deanm/css-color-parser-js\\n//\\n// Permission is hereby granted, free of charge, to any person obtaining a copy\\n// of this software and associated documentation files (the \\\"Software\\\"), to\\n// deal in the Software without restriction, including without limitation the\\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\\n// sell copies of the Software, and to permit persons to whom the Software is\\n// furnished to do so, subject to the following conditions:\\n//\\n// The above copyright notice and this permission notice shall be included in\\n// all copies or substantial portions of the Software.\\n//\\n// THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\\n// IN THE SOFTWARE.\\n\\n// http://www.w3.org/TR/css3-color/\\nvar kCSSColorTable = {\\n \\\"transparent\\\": [0,0,0,0], \\\"aliceblue\\\": [240,248,255,1],\\n \\\"antiquewhite\\\": [250,235,215,1], \\\"aqua\\\": [0,255,255,1],\\n \\\"aquamarine\\\": [127,255,212,1], \\\"azure\\\": [240,255,255,1],\\n \\\"beige\\\": [245,245,220,1], \\\"bisque\\\": [255,228,196,1],\\n \\\"black\\\": [0,0,0,1], \\\"blanchedalmond\\\": [255,235,205,1],\\n \\\"blue\\\": [0,0,255,1], \\\"blueviolet\\\": [138,43,226,1],\\n \\\"brown\\\": [165,42,42,1], \\\"burlywood\\\": [222,184,135,1],\\n \\\"cadetblue\\\": [95,158,160,1], \\\"chartreuse\\\": [127,255,0,1],\\n \\\"chocolate\\\": [210,105,30,1], \\\"coral\\\": [255,127,80,1],\\n \\\"cornflowerblue\\\": [100,149,237,1], \\\"cornsilk\\\": [255,248,220,1],\\n \\\"crimson\\\": [220,20,60,1], \\\"cyan\\\": [0,255,255,1],\\n \\\"darkblue\\\": [0,0,139,1], \\\"darkcyan\\\": [0,139,139,1],\\n \\\"darkgoldenrod\\\": [184,134,11,1], \\\"darkgray\\\": [169,169,169,1],\\n \\\"darkgreen\\\": [0,100,0,1], \\\"darkgrey\\\": [169,169,169,1],\\n \\\"darkkhaki\\\": [189,183,107,1], \\\"darkmagenta\\\": [139,0,139,1],\\n \\\"darkolivegreen\\\": [85,107,47,1], \\\"darkorange\\\": [255,140,0,1],\\n \\\"darkorchid\\\": [153,50,204,1], \\\"darkred\\\": [139,0,0,1],\\n \\\"darksalmon\\\": [233,150,122,1], \\\"darkseagreen\\\": [143,188,143,1],\\n \\\"darkslateblue\\\": [72,61,139,1], \\\"darkslategray\\\": [47,79,79,1],\\n \\\"darkslategrey\\\": [47,79,79,1], \\\"darkturquoise\\\": [0,206,209,1],\\n \\\"darkviolet\\\": [148,0,211,1], \\\"deeppink\\\": [255,20,147,1],\\n \\\"deepskyblue\\\": [0,191,255,1], \\\"dimgray\\\": [105,105,105,1],\\n \\\"dimgrey\\\": [105,105,105,1], \\\"dodgerblue\\\": [30,144,255,1],\\n \\\"firebrick\\\": [178,34,34,1], \\\"floralwhite\\\": [255,250,240,1],\\n \\\"forestgreen\\\": [34,139,34,1], \\\"fuchsia\\\": [255,0,255,1],\\n \\\"gainsboro\\\": [220,220,220,1], \\\"ghostwhite\\\": [248,248,255,1],\\n \\\"gold\\\": [255,215,0,1], \\\"goldenrod\\\": [218,165,32,1],\\n \\\"gray\\\": [128,128,128,1], \\\"green\\\": [0,128,0,1],\\n \\\"greenyellow\\\": [173,255,47,1], \\\"grey\\\": [128,128,128,1],\\n \\\"honeydew\\\": [240,255,240,1], \\\"hotpink\\\": [255,105,180,1],\\n \\\"indianred\\\": [205,92,92,1], \\\"indigo\\\": [75,0,130,1],\\n \\\"ivory\\\": [255,255,240,1], \\\"khaki\\\": [240,230,140,1],\\n \\\"lavender\\\": [230,230,250,1], \\\"lavenderblush\\\": [255,240,245,1],\\n \\\"lawngreen\\\": [124,252,0,1], \\\"lemonchiffon\\\": [255,250,205,1],\\n \\\"lightblue\\\": [173,216,230,1], \\\"lightcoral\\\": [240,128,128,1],\\n \\\"lightcyan\\\": [224,255,255,1], \\\"lightgoldenrodyellow\\\": [250,250,210,1],\\n \\\"lightgray\\\": [211,211,211,1], \\\"lightgreen\\\": [144,238,144,1],\\n \\\"lightgrey\\\": [211,211,211,1], \\\"lightpink\\\": [255,182,193,1],\\n \\\"lightsalmon\\\": [255,160,122,1], \\\"lightseagreen\\\": [32,178,170,1],\\n \\\"lightskyblue\\\": [135,206,250,1], \\\"lightslategray\\\": [119,136,153,1],\\n \\\"lightslategrey\\\": [119,136,153,1], \\\"lightsteelblue\\\": [176,196,222,1],\\n \\\"lightyellow\\\": [255,255,224,1], \\\"lime\\\": [0,255,0,1],\\n \\\"limegreen\\\": [50,205,50,1], \\\"linen\\\": [250,240,230,1],\\n \\\"magenta\\\": [255,0,255,1], \\\"maroon\\\": [128,0,0,1],\\n \\\"mediumaquamarine\\\": [102,205,170,1], \\\"mediumblue\\\": [0,0,205,1],\\n \\\"mediumorchid\\\": [186,85,211,1], \\\"mediumpurple\\\": [147,112,219,1],\\n \\\"mediumseagreen\\\": [60,179,113,1], \\\"mediumslateblue\\\": [123,104,238,1],\\n \\\"mediumspringgreen\\\": [0,250,154,1], \\\"mediumturquoise\\\": [72,209,204,1],\\n \\\"mediumvioletred\\\": [199,21,133,1], \\\"midnightblue\\\": [25,25,112,1],\\n \\\"mintcream\\\": [245,255,250,1], \\\"mistyrose\\\": [255,228,225,1],\\n \\\"moccasin\\\": [255,228,181,1], \\\"navajowhite\\\": [255,222,173,1],\\n \\\"navy\\\": [0,0,128,1], \\\"oldlace\\\": [253,245,230,1],\\n \\\"olive\\\": [128,128,0,1], \\\"olivedrab\\\": [107,142,35,1],\\n \\\"orange\\\": [255,165,0,1], \\\"orangered\\\": [255,69,0,1],\\n \\\"orchid\\\": [218,112,214,1], \\\"palegoldenrod\\\": [238,232,170,1],\\n \\\"palegreen\\\": [152,251,152,1], \\\"paleturquoise\\\": [175,238,238,1],\\n \\\"palevioletred\\\": [219,112,147,1], \\\"papayawhip\\\": [255,239,213,1],\\n \\\"peachpuff\\\": [255,218,185,1], \\\"peru\\\": [205,133,63,1],\\n \\\"pink\\\": [255,192,203,1], \\\"plum\\\": [221,160,221,1],\\n \\\"powderblue\\\": [176,224,230,1], \\\"purple\\\": [128,0,128,1],\\n \\\"red\\\": [255,0,0,1], \\\"rosybrown\\\": [188,143,143,1],\\n \\\"royalblue\\\": [65,105,225,1], \\\"saddlebrown\\\": [139,69,19,1],\\n \\\"salmon\\\": [250,128,114,1], \\\"sandybrown\\\": [244,164,96,1],\\n \\\"seagreen\\\": [46,139,87,1], \\\"seashell\\\": [255,245,238,1],\\n \\\"sienna\\\": [160,82,45,1], \\\"silver\\\": [192,192,192,1],\\n \\\"skyblue\\\": [135,206,235,1], \\\"slateblue\\\": [106,90,205,1],\\n \\\"slategray\\\": [112,128,144,1], \\\"slategrey\\\": [112,128,144,1],\\n \\\"snow\\\": [255,250,250,1], \\\"springgreen\\\": [0,255,127,1],\\n \\\"steelblue\\\": [70,130,180,1], \\\"tan\\\": [210,180,140,1],\\n \\\"teal\\\": [0,128,128,1], \\\"thistle\\\": [216,191,216,1],\\n \\\"tomato\\\": [255,99,71,1], \\\"turquoise\\\": [64,224,208,1],\\n \\\"violet\\\": [238,130,238,1], \\\"wheat\\\": [245,222,179,1],\\n \\\"white\\\": [255,255,255,1], \\\"whitesmoke\\\": [245,245,245,1],\\n \\\"yellow\\\": [255,255,0,1], \\\"yellowgreen\\\": [154,205,50,1]}\\n\\nfunction clamp_css_byte(i) { // Clamp to integer 0 .. 255.\\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\\n return i < 0 ? 0 : i > 255 ? 255 : i;\\n}\\n\\nfunction clamp_css_float(f) { // Clamp to float 0.0 .. 1.0.\\n return f < 0 ? 0 : f > 1 ? 1 : f;\\n}\\n\\nfunction parse_css_int(str) { // int or percentage.\\n if (str[str.length - 1] === '%')\\n return clamp_css_byte(parseFloat(str) / 100 * 255);\\n return clamp_css_byte(parseInt(str));\\n}\\n\\nfunction parse_css_float(str) { // float or percentage.\\n if (str[str.length - 1] === '%')\\n return clamp_css_float(parseFloat(str) / 100);\\n return clamp_css_float(parseFloat(str));\\n}\\n\\nfunction css_hue_to_rgb(m1, m2, h) {\\n if (h < 0) h += 1;\\n else if (h > 1) h -= 1;\\n\\n if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;\\n if (h * 2 < 1) return m2;\\n if (h * 3 < 2) return m1 + (m2 - m1) * (2/3 - h) * 6;\\n return m1;\\n}\\n\\nfunction parseCSSColor(css_str) {\\n // Remove all whitespace, not compliant, but should just be more accepting.\\n var str = css_str.replace(/ /g, '').toLowerCase();\\n\\n // Color keywords (and transparent) lookup.\\n if (str in kCSSColorTable) return kCSSColorTable[str].slice(); // dup.\\n\\n // #abc and #abc123 syntax.\\n if (str[0] === '#') {\\n if (str.length === 4) {\\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\\n if (!(iv >= 0 && iv <= 0xfff)) return null; // Covers NaN.\\n return [((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),\\n (iv & 0xf0) | ((iv & 0xf0) >> 4),\\n (iv & 0xf) | ((iv & 0xf) << 4),\\n 1];\\n } else if (str.length === 7) {\\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\\n if (!(iv >= 0 && iv <= 0xffffff)) return null; // Covers NaN.\\n return [(iv & 0xff0000) >> 16,\\n (iv & 0xff00) >> 8,\\n iv & 0xff,\\n 1];\\n }\\n\\n return null;\\n }\\n\\n var op = str.indexOf('('), ep = str.indexOf(')');\\n if (op !== -1 && ep + 1 === str.length) {\\n var fname = str.substr(0, op);\\n var params = str.substr(op+1, ep-(op+1)).split(',');\\n var alpha = 1; // To allow case fallthrough.\\n switch (fname) {\\n case 'rgba':\\n if (params.length !== 4) return null;\\n alpha = parse_css_float(params.pop());\\n // Fall through.\\n case 'rgb':\\n if (params.length !== 3) return null;\\n return [parse_css_int(params[0]),\\n parse_css_int(params[1]),\\n parse_css_int(params[2]),\\n alpha];\\n case 'hsla':\\n if (params.length !== 4) return null;\\n alpha = parse_css_float(params.pop());\\n // Fall through.\\n case 'hsl':\\n if (params.length !== 3) return null;\\n var h = (((parseFloat(params[0]) % 360) + 360) % 360) / 360; // 0 .. 1\\n // NOTE(deanm): According to the CSS spec s/l should only be\\n // percentages, but we don't bother and let float or percentage.\\n var s = parse_css_float(params[1]);\\n var l = parse_css_float(params[2]);\\n var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\\n var m1 = l * 2 - m2;\\n return [clamp_css_byte(css_hue_to_rgb(m1, m2, h+1/3) * 255),\\n clamp_css_byte(css_hue_to_rgb(m1, m2, h) * 255),\\n clamp_css_byte(css_hue_to_rgb(m1, m2, h-1/3) * 255),\\n alpha];\\n default:\\n return null;\\n }\\n }\\n\\n return null;\\n}\\n\\ntry { exports.parseCSSColor = parseCSSColor } catch(e) { }\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/dom.js\":{\"title\":\"$:/core/modules/utils/dom.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/dom.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nVarious static DOM-related utility functions.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Popup = require(\\\"$:/core/modules/utils/dom/popup.js\\\");\\n\\n/*\\nDetermines whether element 'a' contains element 'b'\\nCode thanks to John Resig, http://ejohn.org/blog/comparing-document-position/\\n*/\\nexports.domContains = function(a,b) {\\n\\treturn a.contains ?\\n\\t\\ta !== b && a.contains(b) :\\n\\t\\t!!(a.compareDocumentPosition(b) & 16);\\n};\\n\\nexports.domMatchesSelector = function(node,selector) {\\n\\treturn node.matches ? node.matches(selector) : node.msMatchesSelector(selector);\\n};\\n\\n/*\\nSelect text in a an input or textarea (setSelectionRange crashes on certain input types)\\n*/\\nexports.setSelectionRangeSafe = function(node,start,end,direction) {\\n\\ttry {\\n\\t\\tnode.setSelectionRange(start,end,direction);\\n\\t} catch(e) {\\n\\t\\tnode.select();\\n\\t}\\n};\\n\\n/*\\nSelect the text in an input or textarea by position\\n*/\\nexports.setSelectionByPosition = function(node,selectFromStart,selectFromEnd) {\\n\\t$tw.utils.setSelectionRangeSafe(node,selectFromStart,node.value.length - selectFromEnd);\\n};\\n\\nexports.removeChildren = function(node) {\\n\\twhile(node.hasChildNodes()) {\\n\\t\\tnode.removeChild(node.firstChild);\\n\\t}\\n};\\n\\nexports.hasClass = function(el,className) {\\n\\treturn el && el.hasAttribute && el.hasAttribute(\\\"class\\\") && el.getAttribute(\\\"class\\\").split(\\\" \\\").indexOf(className) !== -1;\\n};\\n\\nexports.addClass = function(el,className) {\\n\\tvar c = (el.getAttribute(\\\"class\\\") || \\\"\\\").split(\\\" \\\");\\n\\tif(c.indexOf(className) === -1) {\\n\\t\\tc.push(className);\\n\\t\\tel.setAttribute(\\\"class\\\",c.join(\\\" \\\"));\\n\\t}\\n};\\n\\nexports.removeClass = function(el,className) {\\n\\tvar c = (el.getAttribute(\\\"class\\\") || \\\"\\\").split(\\\" \\\"),\\n\\t\\tp = c.indexOf(className);\\n\\tif(p !== -1) {\\n\\t\\tc.splice(p,1);\\n\\t\\tel.setAttribute(\\\"class\\\",c.join(\\\" \\\"));\\n\\t}\\n};\\n\\nexports.toggleClass = function(el,className,status) {\\n\\tif(status === undefined) {\\n\\t\\tstatus = !exports.hasClass(el,className);\\n\\t}\\n\\tif(status) {\\n\\t\\texports.addClass(el,className);\\n\\t} else {\\n\\t\\texports.removeClass(el,className);\\n\\t}\\n};\\n\\n/*\\nGet the first parent element that has scrollbars or use the body as fallback.\\n*/\\nexports.getScrollContainer = function(el) {\\n\\tvar doc = el.ownerDocument;\\n\\twhile(el.parentNode) {\\n\\t\\tel = el.parentNode;\\n\\t\\tif(el.scrollTop) {\\n\\t\\t\\treturn el;\\n\\t\\t}\\n\\t}\\n\\treturn doc.body;\\n};\\n\\n/*\\nGet the scroll position of the viewport\\nReturns:\\n\\t{\\n\\t\\tx: horizontal scroll position in pixels,\\n\\t\\ty: vertical scroll position in pixels\\n\\t}\\n*/\\nexports.getScrollPosition = function(srcWindow) {\\n\\tvar scrollWindow = srcWindow || window;\\n\\tif(\\\"scrollX\\\" in scrollWindow) {\\n\\t\\treturn {x: scrollWindow.scrollX, y: scrollWindow.scrollY};\\n\\t} else {\\n\\t\\treturn {x: scrollWindow.document.documentElement.scrollLeft, y: scrollWindow.document.documentElement.scrollTop};\\n\\t}\\n};\\n\\n/*\\nAdjust the height of a textarea to fit its content, preserving scroll position, and return the height\\n*/\\nexports.resizeTextAreaToFit = function(domNode,minHeight) {\\n\\t// Get the scroll container and register the current scroll position\\n\\tvar container = $tw.utils.getScrollContainer(domNode),\\n\\t\\tscrollTop = container.scrollTop;\\n // Measure the specified minimum height\\n\\tdomNode.style.height = minHeight;\\n\\tvar measuredHeight = domNode.offsetHeight || parseInt(minHeight,10);\\n\\t// Set its height to auto so that it snaps to the correct height\\n\\tdomNode.style.height = \\\"auto\\\";\\n\\t// Calculate the revised height\\n\\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,measuredHeight);\\n\\t// Only try to change the height if it has changed\\n\\tif(newHeight !== domNode.offsetHeight) {\\n\\t\\tdomNode.style.height = newHeight + \\\"px\\\";\\n\\t\\t// Make sure that the dimensions of the textarea are recalculated\\n\\t\\t$tw.utils.forceLayout(domNode);\\n\\t\\t// Set the container to the position we registered at the beginning\\n\\t\\tcontainer.scrollTop = scrollTop;\\n\\t}\\n\\treturn newHeight;\\n};\\n\\n/*\\nGets the bounding rectangle of an element in absolute page coordinates\\n*/\\nexports.getBoundingPageRect = function(element) {\\n\\tvar scrollPos = $tw.utils.getScrollPosition(element.ownerDocument.defaultView),\\n\\t\\tclientRect = element.getBoundingClientRect();\\n\\treturn {\\n\\t\\tleft: clientRect.left + scrollPos.x,\\n\\t\\twidth: clientRect.width,\\n\\t\\tright: clientRect.right + scrollPos.x,\\n\\t\\ttop: clientRect.top + scrollPos.y,\\n\\t\\theight: clientRect.height,\\n\\t\\tbottom: clientRect.bottom + scrollPos.y\\n\\t};\\n};\\n\\n/*\\nSaves a named password in the browser\\n*/\\nexports.savePassword = function(name,password) {\\n\\tvar done = false;\\n\\ttry {\\n\\t\\twindow.localStorage.setItem(\\\"tw5-password-\\\" + name,password);\\n\\t\\tdone = true;\\n\\t} catch(e) {\\n\\t}\\n\\tif(!done) {\\n\\t\\t$tw.savedPasswords = $tw.savedPasswords || Object.create(null);\\n\\t\\t$tw.savedPasswords[name] = password;\\n\\t}\\n};\\n\\n/*\\nRetrieve a named password from the browser\\n*/\\nexports.getPassword = function(name) {\\n\\tvar value;\\n\\ttry {\\n\\t\\tvalue = window.localStorage.getItem(\\\"tw5-password-\\\" + name);\\n\\t} catch(e) {\\n\\t}\\n\\tif(value !== undefined) {\\n\\t\\treturn value;\\n\\t} else {\\n\\t\\treturn ($tw.savedPasswords || Object.create(null))[name] || \\\"\\\";\\n\\t}\\n};\\n\\n/*\\nForce layout of a dom node and its descendents\\n*/\\nexports.forceLayout = function(element) {\\n\\tvar dummy = element.offsetWidth;\\n};\\n\\n/*\\nPulse an element for debugging purposes\\n*/\\nexports.pulseElement = function(element) {\\n\\t// Event handler to remove the class at the end\\n\\telement.addEventListener($tw.browser.animationEnd,function handler(event) {\\n\\t\\telement.removeEventListener($tw.browser.animationEnd,handler,false);\\n\\t\\t$tw.utils.removeClass(element,\\\"pulse\\\");\\n\\t},false);\\n\\t// Apply the pulse class\\n\\t$tw.utils.removeClass(element,\\\"pulse\\\");\\n\\t$tw.utils.forceLayout(element);\\n\\t$tw.utils.addClass(element,\\\"pulse\\\");\\n};\\n\\n/*\\nAttach specified event handlers to a DOM node\\ndomNode: where to attach the event handlers\\nevents: array of event handlers to be added (see below)\\nEach entry in the events array is an object with these properties:\\nhandlerFunction: optional event handler function\\nhandlerObject: optional event handler object\\nhandlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)\\n*/\\nexports.addEventListeners = function(domNode,events) {\\n\\t$tw.utils.each(events,function(eventInfo) {\\n\\t\\tvar handler;\\n\\t\\tif(eventInfo.handlerFunction) {\\n\\t\\t\\thandler = eventInfo.handlerFunction;\\n\\t\\t} else if(eventInfo.handlerObject) {\\n\\t\\t\\tif(eventInfo.handlerMethod) {\\n\\t\\t\\t\\thandler = function(event) {\\n\\t\\t\\t\\t\\teventInfo.handlerObject[eventInfo.handlerMethod].call(eventInfo.handlerObject,event);\\n\\t\\t\\t\\t};\\n\\t\\t\\t} else {\\n\\t\\t\\t\\thandler = eventInfo.handlerObject;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tdomNode.addEventListener(eventInfo.name,handler,false);\\n\\t});\\n};\\n\\n/*\\nGet the computed styles applied to an element as an array of strings of individual CSS properties\\n*/\\nexports.getComputedStyles = function(domNode) {\\n\\tvar textAreaStyles = window.getComputedStyle(domNode,null),\\n\\t\\tstyleDefs = [],\\n\\t\\tname;\\n\\tfor(var t=0; t<textAreaStyles.length; t++) {\\n\\t\\tname = textAreaStyles[t];\\n\\t\\tstyleDefs.push(name + \\\": \\\" + textAreaStyles.getPropertyValue(name) + \\\";\\\");\\n\\t}\\n\\treturn styleDefs;\\n};\\n\\n/*\\nApply a set of styles passed as an array of strings of individual CSS properties\\n*/\\nexports.setStyles = function(domNode,styleDefs) {\\n\\tdomNode.style.cssText = styleDefs.join(\\\"\\\");\\n};\\n\\n/*\\nCopy the computed styles from a source element to a destination element\\n*/\\nexports.copyStyles = function(srcDomNode,dstDomNode) {\\n\\t$tw.utils.setStyles(dstDomNode,$tw.utils.getComputedStyles(srcDomNode));\\n};\\n\\n/*\\nCopy plain text to the clipboard on browsers that support it\\n*/\\nexports.copyToClipboard = function(text,options) {\\n\\toptions = options || {};\\n\\tvar textArea = document.createElement(\\\"textarea\\\");\\n\\ttextArea.style.position = \\\"fixed\\\";\\n\\ttextArea.style.top = 0;\\n\\ttextArea.style.left = 0;\\n\\ttextArea.style.fontSize = \\\"12pt\\\";\\n\\ttextArea.style.width = \\\"2em\\\";\\n\\ttextArea.style.height = \\\"2em\\\";\\n\\ttextArea.style.padding = 0;\\n\\ttextArea.style.border = \\\"none\\\";\\n\\ttextArea.style.outline = \\\"none\\\";\\n\\ttextArea.style.boxShadow = \\\"none\\\";\\n\\ttextArea.style.background = \\\"transparent\\\";\\n\\ttextArea.value = text;\\n\\tdocument.body.appendChild(textArea);\\n\\ttextArea.select();\\n\\ttextArea.setSelectionRange(0,text.length);\\n\\tvar succeeded = false;\\n\\ttry {\\n\\t\\tsucceeded = document.execCommand(\\\"copy\\\");\\n\\t} catch (err) {\\n\\t}\\n\\tif(!options.doNotNotify) {\\n\\t\\t$tw.notifier.display(succeeded ? \\\"$:/language/Notifications/CopiedToClipboard/Succeeded\\\" : \\\"$:/language/Notifications/CopiedToClipboard/Failed\\\");\\n\\t}\\n\\tdocument.body.removeChild(textArea);\\n};\\n\\nexports.getLocationPath = function() {\\n\\treturn window.location.toString().split(\\\"#\\\")[0];\\n};\\n\\n/*\\nCollect DOM variables\\n*/\\nexports.collectDOMVariables = function(selectedNode,domNode,event) {\\n\\tvar variables = {},\\n\\t selectedNodeRect,\\n\\t domNodeRect;\\n\\tif(selectedNode) {\\n\\t\\t$tw.utils.each(selectedNode.attributes,function(attribute) {\\n\\t\\t\\tvariables[\\\"dom-\\\" + attribute.name] = attribute.value.toString();\\n\\t\\t});\\n\\t\\t\\n\\t\\tif(\\\"offsetLeft\\\" in selectedNode) {\\n\\t\\t\\t// Add variables with a (relative and absolute) popup coordinate string for the selected node\\n\\t\\t\\tvar nodeRect = {\\n\\t\\t\\t\\tleft: selectedNode.offsetLeft,\\n\\t\\t\\t\\ttop: selectedNode.offsetTop,\\n\\t\\t\\t\\twidth: selectedNode.offsetWidth,\\n\\t\\t\\t\\theight: selectedNode.offsetHeight\\n\\t\\t\\t};\\n\\t\\t\\tvariables[\\\"tv-popup-coords\\\"] = Popup.buildCoordinates(Popup.coordinatePrefix.csOffsetParent,nodeRect);\\n\\n\\t\\t\\tvar absRect = $tw.utils.extend({}, nodeRect);\\n\\t\\t\\tfor (var currentNode = selectedNode.offsetParent; currentNode; currentNode = currentNode.offsetParent) {\\n\\t\\t\\t\\tabsRect.left += currentNode.offsetLeft;\\n\\t\\t\\t\\tabsRect.top += currentNode.offsetTop;\\n\\t\\t\\t}\\n\\t\\t\\tvariables[\\\"tv-popup-abs-coords\\\"] = Popup.buildCoordinates(Popup.coordinatePrefix.csAbsolute,absRect);\\n\\n\\t\\t\\t// Add variables for offset of selected node\\n\\t\\t\\tvariables[\\\"tv-selectednode-posx\\\"] = selectedNode.offsetLeft.toString();\\n\\t\\t\\tvariables[\\\"tv-selectednode-posy\\\"] = selectedNode.offsetTop.toString();\\n\\t\\t\\tvariables[\\\"tv-selectednode-width\\\"] = selectedNode.offsetWidth.toString();\\n\\t\\t\\tvariables[\\\"tv-selectednode-height\\\"] = selectedNode.offsetHeight.toString();\\n\\t\\t}\\n\\t}\\n\\t\\n\\tif(domNode && (\\\"offsetWidth\\\" in domNode)) {\\n\\t\\tvariables[\\\"tv-widgetnode-width\\\"] = domNode.offsetWidth.toString();\\n\\t\\tvariables[\\\"tv-widgetnode-height\\\"] = domNode.offsetHeight.toString();\\n\\t}\\n\\n\\tif(event && (\\\"clientX\\\" in event) && (\\\"clientY\\\" in event)) {\\n\\t\\tif(selectedNode) {\\n\\t\\t\\t// Add variables for event X and Y position relative to selected node\\n\\t\\t\\tselectedNodeRect = selectedNode.getBoundingClientRect();\\n\\t\\t\\tvariables[\\\"event-fromselected-posx\\\"] = (event.clientX - selectedNodeRect.left).toString();\\n\\t\\t\\tvariables[\\\"event-fromselected-posy\\\"] = (event.clientY - selectedNodeRect.top).toString();\\n\\t\\t}\\n\\t\\t\\n\\t\\tif(domNode) {\\n\\t\\t\\t// Add variables for event X and Y position relative to event catcher node\\n\\t\\t\\tdomNodeRect = domNode.getBoundingClientRect();\\n\\t\\t\\tvariables[\\\"event-fromcatcher-posx\\\"] = (event.clientX - domNodeRect.left).toString();\\n\\t\\t\\tvariables[\\\"event-fromcatcher-posy\\\"] = (event.clientY - domNodeRect.top).toString();\\n\\t\\t}\\n\\n\\t\\t// Add variables for event X and Y position relative to the viewport\\n\\t\\tvariables[\\\"event-fromviewport-posx\\\"] = event.clientX.toString();\\n\\t\\tvariables[\\\"event-fromviewport-posy\\\"] = event.clientY.toString();\\n\\t}\\n\\treturn variables;\\n};\\n\\n/*\\nMake sure the CSS selector is not invalid\\n*/\\nexports.querySelectorSafe = function(selector,baseElement) {\\n\\tbaseElement = baseElement || document;\\n\\ttry {\\n\\t\\treturn baseElement.querySelector(selector);\\n\\t} catch(e) {\\n\\t\\tconsole.log(\\\"Invalid selector: \\\",selector);\\n\\t}\\n};\\n\\nexports.querySelectorAllSafe = function(selector,baseElement) {\\n\\tbaseElement = baseElement || document;\\n\\ttry {\\n\\t\\treturn baseElement.querySelectorAll(selector);\\n\\t} catch(e) {\\n\\t\\tconsole.log(\\\"Invalid selector: \\\",selector);\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/dom/dragndrop.js\":{\"title\":\"$:/core/modules/utils/dom/dragndrop.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/dom/dragndrop.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nBrowser data transfer utilities, used with the clipboard and drag and drop\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nOptions:\\n\\ndomNode: dom node to make draggable\\nselector: CSS selector to identify element within domNode to be used as drag handle (optional)\\ndragImageType: \\\"pill\\\", \\\"blank\\\" or \\\"dom\\\" (the default)\\ndragTiddlerFn: optional function to retrieve the title of tiddler to drag\\ndragFilterFn: optional function to retreive the filter defining a list of tiddlers to drag\\nwidget: widget to use as the context for the filter\\n*/\\nexports.makeDraggable = function(options) {\\n\\tvar dragImageType = options.dragImageType || \\\"dom\\\",\\n\\t\\tdragImage,\\n\\t\\tdomNode = options.domNode;\\n\\t// Make the dom node draggable (not necessary for anchor tags)\\n\\tif(!options.selector && ((domNode.tagName || \\\"\\\").toLowerCase() !== \\\"a\\\")) {\\n\\t\\tdomNode.setAttribute(\\\"draggable\\\",\\\"true\\\");\\n\\t}\\n\\t// Add event handlers\\n\\t$tw.utils.addEventListeners(domNode,[\\n\\t\\t{name: \\\"dragstart\\\", handlerFunction: function(event) {\\n\\t\\t\\tif(event.dataTransfer === undefined) {\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t\\t// Collect the tiddlers being dragged\\n\\t\\t\\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\\n\\t\\t\\t\\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\\n\\t\\t\\t\\ttitles = dragTiddler ? [dragTiddler] : [],\\n\\t\\t\\t\\tstartActions = options.startActions,\\n\\t\\t\\t\\tvariables,\\n\\t\\t\\t\\tdomNodeRect;\\n\\t\\t\\tif(dragFilter) {\\n\\t\\t\\t\\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\\n\\t\\t\\t}\\n\\t\\t\\tvar titleString = $tw.utils.stringifyList(titles);\\n\\t\\t\\t// Check that we've something to drag\\n\\t\\t\\tif(titles.length > 0 && (options.selector && $tw.utils.domMatchesSelector(event.target,options.selector) || event.target === domNode)) {\\n\\t\\t\\t\\t// Mark the drag in progress\\n\\t\\t\\t\\t$tw.dragInProgress = domNode;\\n\\t\\t\\t\\t// Set the dragging class on the element being dragged\\n\\t\\t\\t\\t$tw.utils.addClass(domNode,\\\"tc-dragging\\\");\\n\\t\\t\\t\\t// Invoke drag-start actions if given\\n\\t\\t\\t\\tif(startActions !== undefined) {\\n\\t\\t\\t\\t\\t// Collect our variables\\n\\t\\t\\t\\t\\tvariables = $tw.utils.collectDOMVariables(domNode,null,event);\\n\\t\\t\\t\\t\\tvariables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\t\\t\\t\\tvariables[\\\"actionTiddler\\\"] = titleString;\\n\\t\\t\\t\\t\\toptions.widget.invokeActionString(startActions,options.widget,event,variables);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// Create the drag image elements\\n\\t\\t\\t\\tdragImage = options.widget.document.createElement(\\\"div\\\");\\n\\t\\t\\t\\tdragImage.className = \\\"tc-tiddler-dragger\\\";\\n\\t\\t\\t\\tvar inner = options.widget.document.createElement(\\\"div\\\");\\n\\t\\t\\t\\tinner.className = \\\"tc-tiddler-dragger-inner\\\";\\n\\t\\t\\t\\tinner.appendChild(options.widget.document.createTextNode(\\n\\t\\t\\t\\t\\ttitles.length === 1 ? \\n\\t\\t\\t\\t\\t\\ttitles[0] :\\n\\t\\t\\t\\t\\t\\ttitles.length + \\\" tiddlers\\\"\\n\\t\\t\\t\\t));\\n\\t\\t\\t\\tdragImage.appendChild(inner);\\n\\t\\t\\t\\toptions.widget.document.body.appendChild(dragImage);\\n\\t\\t\\t\\t// Set the data transfer properties\\n\\t\\t\\t\\tvar dataTransfer = event.dataTransfer;\\n\\t\\t\\t\\t// Set up the image\\n\\t\\t\\t\\tdataTransfer.effectAllowed = \\\"all\\\";\\n\\t\\t\\t\\tif(dataTransfer.setDragImage) {\\n\\t\\t\\t\\t\\tif(dragImageType === \\\"pill\\\") {\\n\\t\\t\\t\\t\\t\\tdataTransfer.setDragImage(dragImage.firstChild,-16,-16);\\n\\t\\t\\t\\t\\t} else if(dragImageType === \\\"blank\\\") {\\n\\t\\t\\t\\t\\t\\tdragImage.removeChild(dragImage.firstChild);\\n\\t\\t\\t\\t\\t\\tdataTransfer.setDragImage(dragImage,0,0);\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tvar r = domNode.getBoundingClientRect();\\n\\t\\t\\t\\t\\t\\tdataTransfer.setDragImage(domNode,event.clientX-r.left,event.clientY-r.top);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// Set up the data transfer\\n\\t\\t\\t\\tif(dataTransfer.clearData) {\\n\\t\\t\\t\\t\\tdataTransfer.clearData();\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tvar jsonData = [];\\n\\t\\t\\t\\tif(titles.length > 1) {\\n\\t\\t\\t\\t\\ttitles.forEach(function(title) {\\n\\t\\t\\t\\t\\t\\tjsonData.push(options.widget.wiki.getTiddlerAsJson(title));\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\tjsonData = \\\"[\\\" + jsonData.join(\\\",\\\") + \\\"]\\\";\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tjsonData = options.widget.wiki.getTiddlerAsJson(titles[0]);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// IE doesn't like these content types\\n\\t\\t\\t\\tif(!$tw.browser.isIE) {\\n\\t\\t\\t\\t\\tdataTransfer.setData(\\\"text/vnd.tiddler\\\",jsonData);\\n\\t\\t\\t\\t\\tdataTransfer.setData(\\\"text/plain\\\",titleString);\\n\\t\\t\\t\\t\\tdataTransfer.setData(\\\"text/x-moz-url\\\",\\\"data:text/vnd.tiddler,\\\" + encodeURIComponent(jsonData));\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// If browser is Chrome-like and has a touch-input device do NOT .setData\\n\\t\\t\\t\\tif(!($tw.browser.isMobileChrome)) {\\n\\t\\t\\t\\t\\tdataTransfer.setData(\\\"URL\\\",\\\"data:text/vnd.tiddler,\\\" + encodeURIComponent(jsonData));\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tdataTransfer.setData(\\\"Text\\\",titleString);\\n\\t\\t\\t\\tevent.stopPropagation();\\n\\t\\t\\t}\\n\\t\\t\\treturn false;\\n\\t\\t}},\\n\\t\\t{name: \\\"dragend\\\", handlerFunction: function(event) {\\n\\t\\t\\tif((options.selector && $tw.utils.domMatchesSelector(event.target,options.selector)) || event.target === domNode) {\\n\\t\\t\\t\\t// Collect the tiddlers being dragged\\n\\t\\t\\t\\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\\n\\t\\t\\t\\t\\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\\n\\t\\t\\t\\t\\ttitles = dragTiddler ? [dragTiddler] : [],\\n\\t\\t\\t\\t\\tendActions = options.endActions,\\n\\t\\t\\t\\t\\tvariables;\\n\\t\\t\\t\\tif(dragFilter) {\\n\\t\\t\\t\\t\\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tvar titleString = $tw.utils.stringifyList(titles);\\n\\t\\t\\t\\t$tw.dragInProgress = null;\\n\\t\\t\\t\\t// Invoke drag-end actions if given\\n\\t\\t\\t\\tif(endActions !== undefined) {\\n\\t\\t\\t\\t\\tvariables = $tw.utils.collectDOMVariables(domNode,null,event);\\n\\t\\t\\t\\t\\tvariables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\t\\t\\t\\tvariables[\\\"actionTiddler\\\"] = titleString;\\n\\t\\t\\t\\t\\toptions.widget.invokeActionString(endActions,options.widget,event,variables);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// Remove the dragging class on the element being dragged\\n\\t\\t\\t\\t$tw.utils.removeClass(domNode,\\\"tc-dragging\\\");\\n\\t\\t\\t\\t// Delete the drag image element\\n\\t\\t\\t\\tif(dragImage) {\\n\\t\\t\\t\\t\\tdragImage.parentNode.removeChild(dragImage);\\n\\t\\t\\t\\t\\tdragImage = null;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn false;\\n\\t\\t}}\\n\\t]);\\n};\\n\\nexports.importDataTransfer = function(dataTransfer,fallbackTitle,callback) {\\n\\t// Try each provided data type in turn\\n\\tif($tw.log.IMPORT) {\\n\\t\\tconsole.log(\\\"Available data types:\\\");\\n\\t\\tfor(var type=0; type<dataTransfer.types.length; type++) {\\n\\t\\t\\tconsole.log(\\\"type\\\",dataTransfer.types[type],dataTransfer.getData(dataTransfer.types[type]))\\n\\t\\t}\\n\\t}\\n\\tfor(var t=0; t<importDataTypes.length; t++) {\\n\\t\\tif(!$tw.browser.isIE || importDataTypes[t].IECompatible) {\\n\\t\\t\\t// Get the data\\n\\t\\t\\tvar dataType = importDataTypes[t];\\n\\t\\t\\tvar data = dataTransfer.getData(dataType.type);\\n\\t\\t\\t// Import the tiddlers in the data\\n\\t\\t\\tif(data !== \\\"\\\" && data !== null) {\\n\\t\\t\\t\\tif($tw.log.IMPORT) {\\n\\t\\t\\t\\t\\tconsole.log(\\\"Importing data type '\\\" + dataType.type + \\\"', data: '\\\" + data + \\\"'\\\")\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tvar tiddlerFields = dataType.toTiddlerFieldsArray(data,fallbackTitle);\\n\\t\\t\\t\\tcallback(tiddlerFields);\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n};\\n\\nexports.importPaste = function(item,fallbackTitle,callback) {\\n\\t// Try each provided data type in turn\\n\\tfor(var t=0; t<importDataTypes.length; t++) {\\n\\t\\tif(item.type === importDataTypes[t].type) {\\n\\t\\t\\t// Get the data\\n\\t\\t\\tvar dataType = importDataTypes[t];\\n\\n\\t\\t\\titem.getAsString(function(data){\\n\\t\\t\\t\\tif($tw.log.IMPORT) {\\n\\t\\t\\t\\t\\tconsole.log(\\\"Importing data type '\\\" + dataType.type + \\\"', data: '\\\" + data + \\\"'\\\")\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tvar tiddlerFields = dataType.toTiddlerFieldsArray(data,fallbackTitle);\\n\\t\\t\\t\\tcallback(tiddlerFields);\\n\\t\\t\\t});\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t}\\n};\\n\\nexports.itemHasValidDataType = function(item) {\\n\\tfor(var t=0; t<importDataTypes.length; t++) {\\n\\t\\tif(!$tw.browser.isIE || importDataTypes[t].IECompatible) {\\n\\t\\t\\tif(item.type === importDataTypes[t].type) {\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn false;\\n}\\n\\nvar importDataTypes = [\\n\\t{type: \\\"text/vnd.tiddler\\\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\\n\\t\\treturn parseJSONTiddlers(data,fallbackTitle);\\n\\t}},\\n\\t{type: \\\"URL\\\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\\n\\t\\t// Check for tiddler data URI\\n\\t\\tvar match = $tw.utils.decodeURIComponentSafe(data).match(/^data\\\\:text\\\\/vnd\\\\.tiddler,(.*)/i);\\n\\t\\tif(match) {\\n\\t\\t\\treturn parseJSONTiddlers(match[1],fallbackTitle);\\n\\t\\t} else {\\n\\t\\t\\treturn [{title: fallbackTitle, text: data}]; // As URL string\\n\\t\\t}\\n\\t}},\\n\\t{type: \\\"text/x-moz-url\\\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\\n\\t\\t// Check for tiddler data URI\\n\\t\\tvar match = $tw.utils.decodeURIComponentSafe(data).match(/^data\\\\:text\\\\/vnd\\\\.tiddler,(.*)/i);\\n\\t\\tif(match) {\\n\\t\\t\\treturn parseJSONTiddlers(match[1],fallbackTitle);\\n\\t\\t} else {\\n\\t\\t\\treturn [{title: fallbackTitle, text: data}]; // As URL string\\n\\t\\t}\\n\\t}},\\n\\t{type: \\\"text/html\\\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\\n\\t\\treturn [{title: fallbackTitle, text: data}];\\n\\t}},\\n\\t{type: \\\"text/plain\\\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\\n\\t\\treturn [{title: fallbackTitle, text: data}];\\n\\t}},\\n\\t{type: \\\"Text\\\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\\n\\t\\treturn [{title: fallbackTitle, text: data}];\\n\\t}},\\n\\t{type: \\\"text/uri-list\\\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\\n\\t\\t// Check for tiddler data URI\\n\\t\\tvar match = $tw.utils.decodeURIComponentSafe(data).match(/^data\\\\:text\\\\/vnd\\\\.tiddler,(.*)/i);\\n\\t\\tif(match) {\\n\\t\\t\\treturn parseJSONTiddlers(match[1],fallbackTitle);\\n\\t\\t} else {\\n\\t\\t\\treturn [{title: fallbackTitle, text: data}]; // As URL string\\n\\t\\t}\\n\\t}}\\n];\\n\\nfunction parseJSONTiddlers(json,fallbackTitle) {\\n\\tvar data = $tw.utils.parseJSONSafe(json);\\n\\tif(!$tw.utils.isArray(data)) {\\n\\t\\tdata = [data];\\n\\t}\\n\\tdata.forEach(function(fields) {\\n\\t\\tfields.title = fields.title || fallbackTitle;\\n\\t});\\n\\treturn data;\\n};\\n\\nfunction dragEventContainsType(event,targetType) {\\n\\tif(event.dataTransfer.types) {\\n\\t\\tfor(var i=0; i<event.dataTransfer.types.length; i++) {\\n\\t\\t\\tif(event.dataTransfer.types[i] === targetType) {\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn false;\\n};\\n\\nexports.dragEventContainsFiles = function(event) {\\n\\treturn (dragEventContainsType(event,\\\"Files\\\") && !dragEventContainsType(event,\\\"text/plain\\\"));\\n};\\n\\nexports.dragEventContainsType = dragEventContainsType;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/dom/http.js\":{\"title\":\"$:/core/modules/utils/dom/http.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/dom/http.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nHTTP support\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nManage tm-http-request events. Options include:\\nwiki: Reference to the wiki to be used for state tiddler tracking\\nstateTrackerTitle: Title of tiddler to be used for state tiddler tracking\\n*/\\nfunction HttpClient(options) {\\n\\toptions = options || {};\\n\\tthis.nextId = 1;\\n\\tthis.wiki = options.wiki || $tw.wiki;\\n\\tthis.stateTrackerTitle = options.stateTrackerTitle || \\\"$:/state/http-requests\\\";\\n\\tthis.requests = []; // Array of {id: string,request: HttpClientRequest}\\n\\tthis.updateRequestTracker();\\n}\\n\\n/*\\nReturn the index into this.requests[] corresponding to a given ID. Returns null if not found\\n*/\\nHttpClient.prototype.getRequestIndex = function(targetId) {\\n\\tvar targetIndex = null;\\n\\t$tw.utils.each(this.requests,function(requestInfo,index) {\\n\\t\\tif(requestInfo.id === targetId) {\\n\\t\\t\\ttargetIndex = index;\\n\\t\\t}\\n\\t});\\n\\treturn targetIndex;\\n};\\n\\n/*\\nUpdate the state tiddler that is tracking the outstanding requests\\n*/\\nHttpClient.prototype.updateRequestTracker = function() {\\n\\tthis.wiki.addTiddler({title: this.stateTrackerTitle, text: \\\"\\\" + this.requests.length});\\n};\\n\\nHttpClient.prototype.initiateHttpRequest = function(options) {\\n\\tvar self = this,\\n\\t\\tid = this.nextId,\\n\\t\\trequest = new HttpClientRequest(options);\\n\\tthis.nextId += 1;\\n\\tthis.requests.push({id: id, request: request});\\n\\tthis.updateRequestTracker();\\n\\trequest.send(function(err) {\\n\\t\\tvar targetIndex = self.getRequestIndex(id);\\n\\t\\tif(targetIndex !== null) {\\n\\t\\t\\tself.requests.splice(targetIndex,1);\\n\\t\\t\\tself.updateRequestTracker();\\n\\t\\t}\\n\\t});\\n\\treturn id;\\n};\\n\\nHttpClient.prototype.cancelAllHttpRequests = function() {\\n\\tvar self = this;\\n\\tif(this.requests.length > 0) {\\n\\t\\tfor(var t=this.requests.length - 1; t--; t>=0) {\\n\\t\\t\\tvar requestInfo = this.requests[t];\\n\\t\\t\\trequestInfo.request.cancel();\\n\\t\\t}\\t\\n\\t}\\n\\tthis.requests = [];\\n\\tthis.updateRequestTracker();\\n};\\n\\nHttpClient.prototype.cancelHttpRequest = function(targetId) {\\n\\tvar targetIndex = this.getRequestIndex(targetId);\\n\\tif(targetIndex !== null) {\\n\\t\\tthis.requests[targetIndex].request.cancel();\\n\\t\\tthis.requests.splice(targetIndex,1);\\n\\t\\tthis.updateRequestTracker();\\n\\t}\\n};\\n\\n/*\\nInitiate an HTTP request. Options:\\nwiki: wiki to be used for executing action strings\\nurl: URL for request\\nmethod: method eg GET, POST\\nbody: text of request body\\nbinary: set to \\\"yes\\\" to force binary processing of response payload\\noncompletion: action string to be invoked on completion\\nonprogress: action string to be invoked on progress updates\\nbindStatus: optional title of tiddler to which status (\\\"pending\\\", \\\"complete\\\", \\\"error\\\") should be written\\nbindProgress: optional title of tiddler to which the progress of the request (0 to 100) should be bound\\nvariables: hashmap of variable name to string value passed to action strings\\nheaders: hashmap of header name to header value to be sent with the request\\npasswordHeaders: hashmap of header name to password store name to be sent with the request\\nqueryStrings: hashmap of query string parameter name to parameter value to be sent with the request\\npasswordQueryStrings: hashmap of query string parameter name to password store name to be sent with the request\\n*/\\nfunction HttpClientRequest(options) {\\n\\tvar self = this;\\n\\tconsole.log(\\\"Initiating an HTTP request\\\",options)\\n\\tthis.wiki = options.wiki;\\n\\tthis.completionActions = options.oncompletion;\\n\\tthis.progressActions = options.onprogress;\\n\\tthis.bindStatus = options[\\\"bindStatus\\\"];\\n\\tthis.bindProgress = options[\\\"bindProgress\\\"];\\n\\tthis.method = options.method || \\\"GET\\\";\\n\\tthis.body = options.body || \\\"\\\";\\n\\tthis.binary = options.binary || \\\"\\\";\\n\\tthis.variables = options.variables;\\n\\tvar url = options.url;\\n\\t$tw.utils.each(options.queryStrings,function(value,name) {\\n\\t\\turl = $tw.utils.setQueryStringParameter(url,name,value);\\n\\t});\\n\\t$tw.utils.each(options.passwordQueryStrings,function(value,name) {\\n\\t\\turl = $tw.utils.setQueryStringParameter(url,name,$tw.utils.getPassword(value) || \\\"\\\");\\n\\t});\\n\\tthis.url = url;\\n\\tthis.requestHeaders = {};\\n\\t$tw.utils.each(options.headers,function(value,name) {\\n\\t\\tself.requestHeaders[name] = value;\\n\\t});\\n\\t$tw.utils.each(options.passwordHeaders,function(value,name) {\\n\\t\\tself.requestHeaders[name] = $tw.utils.getPassword(value) || \\\"\\\";\\n\\t});\\n}\\n\\nHttpClientRequest.prototype.send = function(callback) {\\n\\tvar self = this,\\n\\t\\tsetBinding = function(title,text) {\\n\\t\\t\\tif(title) {\\n\\t\\t\\t\\tself.wiki.addTiddler(new $tw.Tiddler({title: title, text: text}));\\n\\t\\t\\t}\\n\\t\\t};\\n\\tif(this.url) {\\n\\t\\tsetBinding(this.bindStatus,\\\"pending\\\");\\n\\t\\tsetBinding(this.bindProgress,\\\"0\\\");\\n\\t\\t// Set the request tracker tiddler\\n\\t\\tvar requestTrackerTitle = this.wiki.generateNewTitle(\\\"$:/temp/HttpRequest\\\");\\n\\t\\tthis.wiki.addTiddler({\\n\\t\\t\\ttitle: requestTrackerTitle,\\n\\t\\t\\ttags: \\\"$:/tags/HttpRequest\\\",\\n\\t\\t\\ttext: JSON.stringify({\\n\\t\\t\\t\\turl: this.url,\\n\\t\\t\\t\\ttype: this.method,\\n\\t\\t\\t\\tstatus: \\\"inprogress\\\",\\n\\t\\t\\t\\theaders: this.requestHeaders,\\n\\t\\t\\t\\tdata: this.body\\n\\t\\t\\t})\\n\\t\\t});\\n\\t\\tthis.xhr = $tw.utils.httpRequest({\\n\\t\\t\\turl: this.url,\\n\\t\\t\\ttype: this.method,\\n\\t\\t\\theaders: this.requestHeaders,\\n\\t\\t\\tdata: this.body,\\n\\t\\t\\treturnProp: this.binary === \\\"\\\" ? \\\"responseText\\\" : \\\"response\\\",\\n\\t\\t\\tresponseType: this.binary === \\\"\\\" ? \\\"text\\\" : \\\"arraybuffer\\\",\\n\\t\\t\\tcallback: function(err,data,xhr) {\\n\\t\\t\\t\\tvar hasSucceeded = xhr.status >= 200 && xhr.status < 300,\\n\\t\\t\\t\\t\\tcompletionCode = hasSucceeded ? \\\"complete\\\" : \\\"error\\\",\\n\\t\\t\\t\\t\\theaders = {};\\n\\t\\t\\t\\t$tw.utils.each(xhr.getAllResponseHeaders().split(\\\"\\\\r\\\\n\\\"),function(line) {\\n\\t\\t\\t\\t\\tvar pos = line.indexOf(\\\":\\\");\\n\\t\\t\\t\\t\\tif(pos !== -1) {\\n\\t\\t\\t\\t\\t\\theaders[line.substr(0,pos)] = line.substr(pos + 1).trim();\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\tsetBinding(self.bindStatus,completionCode);\\n\\t\\t\\t\\tsetBinding(self.bindProgress,\\\"100\\\");\\n\\t\\t\\t\\tvar resultVariables = {\\n\\t\\t\\t\\t\\tstatus: xhr.status.toString(),\\n\\t\\t\\t\\t\\tstatusText: xhr.statusText,\\n\\t\\t\\t\\t\\terror: (err || \\\"\\\").toString(),\\n\\t\\t\\t\\t\\tdata: (data || \\\"\\\").toString(),\\n\\t\\t\\t\\t\\theaders: JSON.stringify(headers)\\n\\t\\t\\t\\t};\\n\\t\\t\\t\\t/* Convert data from binary to base64 */\\n\\t\\t\\t\\tif (xhr.responseType === \\\"arraybuffer\\\") {\\n\\t\\t\\t\\t\\tvar binary = \\\"\\\",\\n\\t\\t\\t\\t\\t\\tbytes = new Uint8Array(data),\\n\\t\\t\\t\\t\\t\\tlen = bytes.byteLength;\\n\\t\\t\\t\\t\\tfor (var i=0; i<len; i++) {\\n\\t\\t\\t\\t\\t\\tbinary += String.fromCharCode(bytes[i]);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tresultVariables.data = $tw.utils.base64Encode(binary,true);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getTiddler(requestTrackerTitle),{\\n\\t\\t\\t\\t\\tstatus: completionCode,\\n\\t\\t\\t\\t}));\\n\\t\\t\\t\\tself.wiki.invokeActionString(self.completionActions,undefined,$tw.utils.extend({},self.variables,resultVariables),{parentWidget: $tw.rootWidget});\\n\\t\\t\\t\\tcallback(hasSucceeded ? null : xhr.statusText);\\n\\t\\t\\t\\t// console.log(\\\"Back!\\\",err,data,xhr);\\n\\t\\t\\t},\\n\\t\\t\\tprogress: function(lengthComputable,loaded,total) {\\n\\t\\t\\t\\tif(lengthComputable) {\\n\\t\\t\\t\\t\\tsetBinding(self.bindProgress,\\\"\\\" + Math.floor((loaded/total) * 100))\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tself.wiki.invokeActionString(self.progressActions,undefined,{\\n\\t\\t\\t\\t\\tlengthComputable: lengthComputable ? \\\"yes\\\" : \\\"no\\\",\\n\\t\\t\\t\\t\\tloaded: loaded,\\n\\t\\t\\t\\t\\ttotal: total\\n\\t\\t\\t\\t},{parentWidget: $tw.rootWidget});\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n};\\n\\nHttpClientRequest.prototype.cancel = function() {\\n\\tif(this.xhr) {\\n\\t\\tthis.xhr.abort();\\n\\t}\\n};\\n\\nexports.HttpClient = HttpClient;\\n\\n/*\\nMake an HTTP request. Options are:\\n\\turl: URL to retrieve\\n\\theaders: hashmap of headers to send\\n\\ttype: GET, PUT, POST etc\\n\\tcallback: function invoked with (err,data,xhr)\\n\\tprogress: optional function invoked with (lengthComputable,loaded,total)\\n\\treturnProp: string name of the property to return as first argument of callback\\n\\tresponseType: \\\"text\\\" or \\\"arraybuffer\\\"\\n*/\\nexports.httpRequest = function(options) {\\n\\tvar type = options.type || \\\"GET\\\",\\n\\t\\turl = options.url,\\n\\t\\theaders = options.headers || {accept: \\\"application/json\\\"},\\n\\t\\thasHeader = function(targetHeader) {\\n\\t\\t\\ttargetHeader = targetHeader.toLowerCase();\\n\\t\\t\\tvar result = false;\\n\\t\\t\\t$tw.utils.each(headers,function(header,headerTitle,object) {\\n\\t\\t\\t\\tif(headerTitle.toLowerCase() === targetHeader) {\\n\\t\\t\\t\\t\\tresult = true;\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t\\treturn result;\\n\\t\\t},\\n\\t\\tgetHeader = function(targetHeader) {\\n\\t\\t\\treturn headers[targetHeader] || headers[targetHeader.toLowerCase()];\\n\\t\\t},\\n\\t\\tisSimpleRequest = function(type,headers) {\\n\\t\\t\\tif([\\\"GET\\\",\\\"HEAD\\\",\\\"POST\\\"].indexOf(type) === -1) {\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t\\tfor(var header in headers) {\\n\\t\\t\\t\\tif([\\\"accept\\\",\\\"accept-language\\\",\\\"content-language\\\",\\\"content-type\\\"].indexOf(header.toLowerCase()) === -1) {\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tif(hasHeader(\\\"Content-Type\\\") && [\\\"application/x-www-form-urlencoded\\\",\\\"multipart/form-data\\\",\\\"text/plain\\\"].indexOf(getHeader[\\\"Content-Type\\\"]) === -1) {\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t\\treturn true;\\t\\n\\t\\t},\\n\\t\\treturnProp = options.returnProp || \\\"responseText\\\",\\n\\t\\trequest = new XMLHttpRequest(),\\n\\t\\tdata = \\\"\\\",\\n\\t\\tf,results;\\n\\t// Massage the data hashmap into a string\\n\\tif(options.data) {\\n\\t\\tif(typeof options.data === \\\"string\\\") { // Already a string\\n\\t\\t\\tdata = options.data;\\n\\t\\t} else { // A hashmap of strings\\n\\t\\t\\tresults = [];\\n\\t\\t\\t$tw.utils.each(options.data,function(dataItem,dataItemTitle) {\\n\\t\\t\\t\\tresults.push(dataItemTitle + \\\"=\\\" + encodeURIComponent(dataItem));\\n\\t\\t\\t});\\n\\t\\t\\tif(type === \\\"GET\\\" || type === \\\"HEAD\\\") {\\n\\t\\t\\t\\turl += \\\"?\\\" + results.join(\\\"&\\\");\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tdata = results.join(\\\"&\\\");\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\trequest.responseType = options.responseType || \\\"text\\\";\\n\\t// Set up the state change handler\\n\\trequest.onreadystatechange = function() {\\n\\t\\tif(this.readyState === 4) {\\n\\t\\t\\tif(this.status === 200 || this.status === 201 || this.status === 204) {\\n\\t\\t\\t\\t// Success!\\n\\t\\t\\t\\toptions.callback(null,this[returnProp],this);\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t// Something went wrong\\n\\t\\toptions.callback($tw.language.getString(\\\"Error/XMLHttpRequest\\\") + \\\": \\\" + this.status,null,this);\\n\\t\\t}\\n\\t};\\n\\t// Handle progress\\n\\tif(options.progress) {\\n\\t\\trequest.onprogress = function(event) {\\n\\t\\t\\tconsole.log(\\\"Progress event\\\",event)\\n\\t\\t\\toptions.progress(event.lengthComputable,event.loaded,event.total);\\n\\t\\t};\\n\\t}\\n\\t// Make the request\\n\\trequest.open(type,url,true);\\n\\t// Headers\\n\\tif(headers) {\\n\\t\\t$tw.utils.each(headers,function(header,headerTitle,object) {\\n\\t\\t\\trequest.setRequestHeader(headerTitle,header);\\n\\t\\t});\\n\\t}\\n\\tif(data && !hasHeader(\\\"Content-Type\\\")) {\\n\\t\\trequest.setRequestHeader(\\\"Content-Type\\\",\\\"application/x-www-form-urlencoded; charset=UTF-8\\\");\\n\\t}\\n\\tif(!hasHeader(\\\"X-Requested-With\\\") && !isSimpleRequest(type,headers)) {\\n\\t\\trequest.setRequestHeader(\\\"X-Requested-With\\\",\\\"TiddlyWiki\\\");\\n\\t}\\n\\t// Send data\\n\\ttry {\\n\\t\\trequest.send(data);\\n\\t} catch(e) {\\n\\t\\toptions.callback(e,null,this);\\n\\t}\\n\\treturn request;\\n};\\n\\nexports.setQueryStringParameter = function(url,paramName,paramValue) {\\n\\tvar URL = $tw.browser ? window.URL : require(\\\"url\\\").URL,\\n\\t\\tnewUrl;\\n\\ttry {\\n\\t\\tnewUrl = new URL(url);\\n\\t} catch(e) {\\n\\t}\\n\\tif(newUrl && paramName) {\\n\\t\\tnewUrl.searchParams.set(paramName,paramValue || \\\"\\\");\\n\\t\\treturn newUrl.toString();\\n\\t} else {\\n\\t\\treturn url;\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/dom/keyboard.js\":{\"title\":\"$:/core/modules/utils/dom/keyboard.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/dom/keyboard.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nKeyboard utilities; now deprecated. Instead, use $tw.keyboardManager\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n[\\\"parseKeyDescriptor\\\",\\\"checkKeyDescriptor\\\"].forEach(function(method) {\\n\\texports[method] = function() {\\n\\t\\tif($tw.keyboardManager) {\\n\\t\\t\\treturn $tw.keyboardManager[method].apply($tw.keyboardManager,Array.prototype.slice.call(arguments,0));\\n\\t\\t} else {\\n\\t\\t\\treturn null\\n\\t\\t}\\n\\t};\\n});\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/dom/modal.js\":{\"title\":\"$:/core/modules/utils/dom/modal.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/dom/modal.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nModal message mechanism\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar widget = require(\\\"$:/core/modules/widgets/widget.js\\\");\\nvar navigator = require(\\\"$:/core/modules/widgets/navigator.js\\\");\\n\\nvar Modal = function(wiki) {\\n\\tthis.wiki = wiki;\\n\\tthis.modalCount = 0;\\n};\\n\\n/*\\nDisplay a modal dialogue\\n\\ttitle: Title of tiddler to display\\n\\toptions: see below\\nOptions include:\\n\\tdownloadLink: Text of a big download link to include\\n\\tevent: widget event\\n\\tvariables: from event.paramObject\\n*/\\nModal.prototype.display = function(title,options) {\\n\\toptions = options || {};\\n\\tthis.srcDocument = options.variables && (options.variables.rootwindow === \\\"true\\\" ||\\n\\t\\t\\t\\toptions.variables.rootwindow === \\\"yes\\\") ? document :\\n\\t\\t\\t\\t(options.event && options.event.event && options.event.event.target ? options.event.event.target.ownerDocument : document);\\n\\tthis.srcWindow = this.srcDocument.defaultView;\\n\\tvar self = this,\\n\\t\\trefreshHandler,\\n\\t\\tduration = $tw.utils.getAnimationDuration(),\\n\\t\\ttiddler = this.wiki.getTiddler(title);\\n\\t// Don't do anything if the tiddler doesn't exist\\n\\tif(!tiddler) {\\n\\t\\treturn;\\n\\t}\\n\\t// Create the variables\\n\\tvar variables = $tw.utils.extend({\\n\\t\\t\\tcurrentTiddler: title,\\n\\t\\t\\t\\\"tv-story-list\\\": (options.event && options.event.widget ? options.event.widget.getVariable(\\\"tv-story-list\\\") : \\\"\\\"),\\n\\t\\t\\t\\\"tv-history-list\\\": (options.event && options.event.widget ? options.event.widget.getVariable(\\\"tv-history-list\\\") : \\\"\\\")\\n\\t\\t},options.variables);\\n\\n\\t// Create the wrapper divs\\n\\tvar wrapper = this.srcDocument.createElement(\\\"div\\\"),\\n\\t\\tmodalBackdrop = this.srcDocument.createElement(\\\"div\\\"),\\n\\t\\tmodalWrapper = this.srcDocument.createElement(\\\"div\\\"),\\n\\t\\tmodalHeader = this.srcDocument.createElement(\\\"div\\\"),\\n\\t\\theaderTitle = this.srcDocument.createElement(\\\"h3\\\"),\\n\\t\\tmodalBody = this.srcDocument.createElement(\\\"div\\\"),\\n\\t\\tmodalLink = this.srcDocument.createElement(\\\"a\\\"),\\n\\t\\tmodalFooter = this.srcDocument.createElement(\\\"div\\\"),\\n\\t\\tmodalFooterHelp = this.srcDocument.createElement(\\\"span\\\"),\\n\\t\\tmodalFooterButtons = this.srcDocument.createElement(\\\"span\\\");\\n\\t// Up the modal count and adjust the body class\\n\\tthis.modalCount++;\\n\\tthis.adjustPageClass();\\n\\t// Add classes\\n\\t$tw.utils.addClass(wrapper,\\\"tc-modal-wrapper\\\");\\n\\tif(tiddler.fields && tiddler.fields.class) {\\n\\t\\t$tw.utils.addClass(wrapper,tiddler.fields.class);\\n\\t}\\n\\t$tw.utils.addClass(modalBackdrop,\\\"tc-modal-backdrop\\\");\\n\\t$tw.utils.addClass(modalWrapper,\\\"tc-modal\\\");\\n\\t$tw.utils.addClass(modalHeader,\\\"tc-modal-header\\\");\\n\\t$tw.utils.addClass(modalBody,\\\"tc-modal-body\\\");\\n\\t$tw.utils.addClass(modalFooter,\\\"tc-modal-footer\\\");\\n\\t// Join them together\\n\\twrapper.appendChild(modalBackdrop);\\n\\twrapper.appendChild(modalWrapper);\\n\\tmodalHeader.appendChild(headerTitle);\\n\\tmodalWrapper.appendChild(modalHeader);\\n\\tmodalWrapper.appendChild(modalBody);\\n\\tmodalFooter.appendChild(modalFooterHelp);\\n\\tmodalFooter.appendChild(modalFooterButtons);\\n\\tmodalWrapper.appendChild(modalFooter);\\n\\tvar navigatorTree = {\\n\\t\\t\\\"type\\\": \\\"navigator\\\",\\n\\t\\t\\\"attributes\\\": {\\n\\t\\t\\t\\\"story\\\": {\\n\\t\\t\\t\\t\\\"name\\\": \\\"story\\\",\\n\\t\\t\\t\\t\\\"type\\\": \\\"string\\\",\\n\\t\\t\\t\\t\\\"value\\\": variables[\\\"tv-story-list\\\"]\\n\\t\\t\\t},\\n\\t\\t\\t\\\"history\\\": {\\n\\t\\t\\t\\t\\\"name\\\": \\\"history\\\",\\n\\t\\t\\t\\t\\\"type\\\": \\\"string\\\",\\n\\t\\t\\t\\t\\\"value\\\": variables[\\\"tv-history-list\\\"]\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\t\\\"tag\\\": \\\"$navigator\\\",\\n\\t\\t\\\"isBlock\\\": true,\\n\\t\\t\\\"children\\\": []\\n\\t};\\n\\tvar navigatorWidgetNode = new navigator.navigator(navigatorTree, {\\n\\t\\twiki: this.wiki,\\n\\t\\tdocument : this.srcDocument,\\n\\t\\tparentWidget: $tw.rootWidget\\n\\t});\\n\\tnavigatorWidgetNode.render(modalBody,null);\\n\\n\\t// Render the title of the message\\n\\tvar headerWidgetNode = this.wiki.makeTranscludeWidget(title,{\\n\\t\\tfield: \\\"subtitle\\\",\\n\\t\\tmode: \\\"inline\\\",\\n\\t\\tchildren: [{\\n\\t\\t\\ttype: \\\"text\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\ttext: {\\n\\t\\t\\t\\t\\ttype: \\\"string\\\",\\n\\t\\t\\t\\t\\tvalue: title\\n\\t\\t}}}],\\n\\t\\tparentWidget: navigatorWidgetNode,\\n\\t\\tdocument: this.srcDocument,\\n\\t\\tvariables: variables,\\n\\t\\timportPageMacros: true\\n\\t});\\n\\theaderWidgetNode.render(headerTitle,null);\\n\\t// Render the body of the message\\n\\tvar bodyWidgetNode = this.wiki.makeTranscludeWidget(title,{\\n\\t\\tparentWidget: navigatorWidgetNode,\\n\\t\\tdocument: this.srcDocument,\\n\\t\\tvariables: variables,\\n\\t\\timportPageMacros: true\\n\\t});\\n\\n\\tbodyWidgetNode.render(modalBody,null);\\n\\t// Setup the link if present\\n\\tif(options.downloadLink) {\\n\\t\\tmodalLink.href = options.downloadLink;\\n\\t\\tmodalLink.appendChild(this.srcDocument.createTextNode(\\\"Right-click to save changes\\\"));\\n\\t\\tmodalBody.appendChild(modalLink);\\n\\t}\\n\\t// Render the footer of the message\\n\\tif(tiddler.fields && tiddler.fields.help) {\\n\\t\\tvar link = this.srcDocument.createElement(\\\"a\\\");\\n\\t\\tlink.setAttribute(\\\"href\\\",tiddler.fields.help);\\n\\t\\tlink.setAttribute(\\\"target\\\",\\\"_blank\\\");\\n\\t\\tlink.setAttribute(\\\"rel\\\",\\\"noopener noreferrer\\\");\\n\\t\\tlink.appendChild(this.srcDocument.createTextNode(\\\"Help\\\"));\\n\\t\\tmodalFooterHelp.appendChild(link);\\n\\t\\tmodalFooterHelp.style.float = \\\"left\\\";\\n\\t}\\n\\tvar footerWidgetNode = this.wiki.makeTranscludeWidget(title,{\\n\\t\\tfield: \\\"footer\\\",\\n\\t\\tmode: \\\"inline\\\",\\n\\t\\tchildren: [{\\n\\t\\t\\ttype: \\\"button\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\tmessage: {\\n\\t\\t\\t\\t\\ttype: \\\"string\\\",\\n\\t\\t\\t\\t\\tvalue: \\\"tm-close-tiddler\\\"\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\tchildren: [{\\n\\t\\t\\t\\ttype: \\\"text\\\",\\n\\t\\t\\t\\tattributes: {\\n\\t\\t\\t\\t\\ttext: {\\n\\t\\t\\t\\t\\t\\ttype: \\\"string\\\",\\n\\t\\t\\t\\t\\t\\tvalue: $tw.language.getString(\\\"Buttons/Close/Caption\\\")\\n\\t\\t\\t}}}\\n\\t\\t]}],\\n\\t\\tparentWidget: navigatorWidgetNode,\\n\\t\\tdocument: this.srcDocument,\\n\\t\\tvariables: variables,\\n\\t\\timportPageMacros: true\\n\\t});\\n\\tfooterWidgetNode.render(modalFooterButtons,null);\\n\\t// Set up the refresh handler\\n\\trefreshHandler = function(changes) {\\n\\t\\theaderWidgetNode.refresh(changes,modalHeader,null);\\n\\t\\tbodyWidgetNode.refresh(changes,modalBody,null);\\n\\t\\tfooterWidgetNode.refresh(changes,modalFooterButtons,null);\\n\\t};\\n\\tthis.wiki.addEventListener(\\\"change\\\",refreshHandler);\\n\\t// Add the close event handler\\n\\tvar closeHandler = function(event) {\\n\\t\\t// Remove our refresh handler\\n\\t\\tself.wiki.removeEventListener(\\\"change\\\",refreshHandler);\\n\\t\\t// Decrease the modal count and adjust the body class\\n\\t\\tself.modalCount--;\\n\\t\\tself.adjustPageClass();\\n\\t\\t// Force layout and animate the modal message away\\n\\t\\t$tw.utils.forceLayout(modalBackdrop);\\n\\t\\t$tw.utils.forceLayout(modalWrapper);\\n\\t\\t$tw.utils.setStyle(modalBackdrop,[\\n\\t\\t\\t{opacity: \\\"0\\\"}\\n\\t\\t]);\\n\\t\\t$tw.utils.setStyle(modalWrapper,[\\n\\t\\t\\t{transform: \\\"translateY(\\\" + self.srcWindow.innerHeight + \\\"px)\\\"}\\n\\t\\t]);\\n\\t\\t// Set up an event for the transition end\\n\\t\\tself.srcWindow.setTimeout(function() {\\n\\t\\t\\tif(wrapper.parentNode) {\\n\\t\\t\\t\\t// Remove the modal message from the DOM\\n\\t\\t\\t\\tself.srcDocument.body.removeChild(wrapper);\\n\\t\\t\\t}\\n\\t\\t},duration);\\n\\t\\t// Don't let anyone else handle the tm-close-tiddler message\\n\\t\\treturn false;\\n\\t};\\n\\theaderWidgetNode.addEventListener(\\\"tm-close-tiddler\\\",closeHandler,false);\\n\\tbodyWidgetNode.addEventListener(\\\"tm-close-tiddler\\\",closeHandler,false);\\n\\tfooterWidgetNode.addEventListener(\\\"tm-close-tiddler\\\",closeHandler,false);\\n\\t// Whether to close the modal dialog when the mask (area outside the modal) is clicked\\n\\tif(tiddler.fields && (tiddler.fields[\\\"mask-closable\\\"] === \\\"yes\\\" || tiddler.fields[\\\"mask-closable\\\"] === \\\"true\\\")) {\\n\\t\\tmodalBackdrop.addEventListener(\\\"click\\\",closeHandler,false);\\n\\t}\\n\\t// Set the initial styles for the message\\n\\t$tw.utils.setStyle(modalBackdrop,[\\n\\t\\t{opacity: \\\"0\\\"}\\n\\t]);\\n\\t$tw.utils.setStyle(modalWrapper,[\\n\\t\\t{transformOrigin: \\\"0% 0%\\\"},\\n\\t\\t{transform: \\\"translateY(\\\" + (-this.srcWindow.innerHeight) + \\\"px)\\\"}\\n\\t]);\\n\\t// Put the message into the document\\n\\tthis.srcDocument.body.appendChild(wrapper);\\n\\t// Set up animation for the styles\\n\\t$tw.utils.setStyle(modalBackdrop,[\\n\\t\\t{transition: \\\"opacity \\\" + duration + \\\"ms ease-out\\\"}\\n\\t]);\\n\\t$tw.utils.setStyle(modalWrapper,[\\n\\t\\t{transition: $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms ease-in-out\\\"}\\n\\t]);\\n\\t// Force layout\\n\\t$tw.utils.forceLayout(modalBackdrop);\\n\\t$tw.utils.forceLayout(modalWrapper);\\n\\t// Set final animated styles\\n\\t$tw.utils.setStyle(modalBackdrop,[\\n\\t\\t{opacity: \\\"0.7\\\"}\\n\\t]);\\n\\t$tw.utils.setStyle(modalWrapper,[\\n\\t\\t{transform: \\\"translateY(0px)\\\"}\\n\\t]);\\n};\\n\\nModal.prototype.adjustPageClass = function() {\\n\\tvar windowContainer = $tw.pageContainer ? ($tw.pageContainer === this.srcDocument.body.firstChild ? $tw.pageContainer : this.srcDocument.body.firstChild) : null;\\n\\tif(windowContainer) {\\n\\t\\t$tw.utils.toggleClass(windowContainer,\\\"tc-modal-displayed\\\",this.modalCount > 0);\\n\\t}\\n\\t$tw.utils.toggleClass(this.srcDocument.body,\\\"tc-modal-prevent-scroll\\\",this.modalCount > 0);\\n};\\n\\nexports.Modal = Modal;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/dom/notifier.js\":{\"title\":\"$:/core/modules/utils/dom/notifier.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/dom/notifier.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nNotifier mechanism\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar widget = require(\\\"$:/core/modules/widgets/widget.js\\\");\\n\\nvar Notifier = function(wiki) {\\n\\tthis.wiki = wiki;\\n};\\n\\n/*\\nDisplay a notification\\n\\ttitle: Title of tiddler containing the notification text\\n\\toptions: see below\\nOptions include:\\n*/\\nNotifier.prototype.display = function(title,options) {\\n\\toptions = options || {};\\n\\t// Create the wrapper divs\\n\\tvar self = this,\\n\\t\\tnotification = document.createElement(\\\"div\\\"),\\n\\t\\ttiddler = this.wiki.getTiddler(title),\\n\\t\\tduration = $tw.utils.getAnimationDuration(),\\n\\t\\trefreshHandler;\\n\\t// Don't do anything if the tiddler doesn't exist\\n\\tif(!tiddler) {\\n\\t\\treturn;\\n\\t}\\n\\t// Add classes and roles\\n\\t$tw.utils.addClass(notification,\\\"tc-notification\\\");\\n\\tnotification.setAttribute(\\\"role\\\",\\\"alert\\\");\\n\\t// Create the variables\\n\\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\\n\\t// Render the body of the notification\\n\\tvar widgetNode = this.wiki.makeTranscludeWidget(title,{\\n\\t\\tparentWidget: $tw.rootWidget,\\n\\t\\tdocument: document,\\n\\t\\tvariables: variables,\\n\\t\\timportPageMacros: true});\\n\\twidgetNode.render(notification,null);\\n\\trefreshHandler = function(changes) {\\n\\t\\twidgetNode.refresh(changes,notification,null);\\n\\t};\\n\\tthis.wiki.addEventListener(\\\"change\\\",refreshHandler);\\n\\t// Set the initial styles for the notification\\n\\t$tw.utils.setStyle(notification,[\\n\\t\\t{opacity: \\\"0\\\"},\\n\\t\\t{transformOrigin: \\\"0% 0%\\\"},\\n\\t\\t{transform: \\\"translateY(\\\" + (-window.innerHeight) + \\\"px)\\\"},\\n\\t\\t{transition: \\\"opacity \\\" + duration + \\\"ms ease-out, \\\" + $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms ease-in-out\\\"}\\n\\t]);\\n\\t// Add the notification to the DOM\\n\\tdocument.body.appendChild(notification);\\n\\t// Force layout\\n\\t$tw.utils.forceLayout(notification);\\n\\t// Set final animated styles\\n\\t$tw.utils.setStyle(notification,[\\n\\t\\t{opacity: \\\"1.0\\\"},\\n\\t\\t{transform: \\\"translateY(0px)\\\"}\\n\\t]);\\n\\t// Set a timer to remove the notification\\n\\twindow.setTimeout(function() {\\n\\t\\t// Remove our change event handler\\n\\t\\tself.wiki.removeEventListener(\\\"change\\\",refreshHandler);\\n\\t\\t// Force layout and animate the notification away\\n\\t\\t$tw.utils.forceLayout(notification);\\n\\t\\t$tw.utils.setStyle(notification,[\\n\\t\\t\\t{opacity: \\\"0.0\\\"},\\n\\t\\t\\t{transform: \\\"translateX(\\\" + (notification.offsetWidth) + \\\"px)\\\"}\\n\\t\\t]);\\n\\t\\t// Remove the modal message from the DOM once the transition ends\\n\\t\\tsetTimeout(function() {\\n\\t\\t\\tif(notification.parentNode) {\\n\\t\\t\\t\\tdocument.body.removeChild(notification);\\n\\t\\t\\t}\\n\\t\\t},duration);\\n\\t},$tw.config.preferences.notificationDuration);\\n};\\n\\nexports.Notifier = Notifier;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/dom/popup.js\":{\"title\":\"$:/core/modules/utils/dom/popup.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/dom/popup.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nModule that creates a $tw.utils.Popup object prototype that manages popups in the browser\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nCreates a Popup object with these options:\\n\\trootElement: the DOM element to which the popup zapper should be attached\\n*/\\nvar Popup = function(options) {\\n\\toptions = options || {};\\n\\tthis.rootElement = options.rootElement || document.documentElement;\\n\\tthis.popups = []; // Array of {title:,wiki:,domNode:} objects\\n};\\n\\n/*\\nGlobal regular expression for parsing the location of a popup.\\nThis is also used by the Reveal widget.\\n*/\\nexports.popupLocationRegExp = /^(@?)\\\\((-?[0-9\\\\.E]+),(-?[0-9\\\\.E]+),(-?[0-9\\\\.E]+),(-?[0-9\\\\.E]+)\\\\)$/\\n\\n/*\\nObjekt containing the available prefixes for coordinates build with the `buildCoordinates` function:\\n - csOffsetParent: Uses a coordinate system based on the offset parent (no prefix).\\n - csAbsolute: Use an absolute coordinate system (prefix \\\"@\\\").\\n*/\\nexports.coordinatePrefix = { csOffsetParent: \\\"\\\", csAbsolute: \\\"@\\\" }\\n\\n/*\\nTrigger a popup open or closed. Parameters are in a hashmap:\\n\\ttitle: title of the tiddler where the popup details are stored\\n\\tdomNode: dom node to which the popup will be positioned (one of domNode or domNodeRect is required)\\n\\tdomNodeRect: rectangle to which the popup will be positioned\\n\\twiki: wiki\\n\\tforce: if specified, forces the popup state to true or false (instead of toggling it)\\n\\tfloating: if true, skips registering the popup, meaning that it will need manually clearing\\n*/\\nPopup.prototype.triggerPopup = function(options) {\\n\\t// Check if this popup is already active\\n\\tvar index = this.findPopup(options.title);\\n\\t// Compute the new state\\n\\tvar state = index === -1;\\n\\tif(options.force !== undefined) {\\n\\t\\tstate = options.force;\\n\\t}\\n\\t// Show or cancel the popup according to the new state\\n\\tif(state) {\\n\\t\\tthis.show(options);\\n\\t} else {\\n\\t\\tthis.cancel(index);\\n\\t}\\n};\\n\\nPopup.prototype.findPopup = function(title) {\\n\\tvar index = -1;\\n\\tfor(var t=0; t<this.popups.length; t++) {\\n\\t\\tif(this.popups[t].title === title) {\\n\\t\\t\\tindex = t;\\n\\t\\t}\\n\\t}\\n\\treturn index;\\n};\\n\\nPopup.prototype.handleEvent = function(event) {\\n\\tif(event.type === \\\"click\\\") {\\n\\t\\t// Find out what was clicked on\\n\\t\\tvar info = this.popupInfo(event.target),\\n\\t\\t\\tcancelLevel = info.popupLevel - 1;\\n\\t\\t// Don't remove the level that was clicked on if we clicked on a handle\\n\\t\\tif(info.isHandle) {\\n\\t\\t\\tcancelLevel++;\\n\\t\\t}\\n\\t\\t// Cancel\\n\\t\\tthis.cancel(cancelLevel);\\n\\t}\\n};\\n\\n/*\\nFind the popup level containing a DOM node. Returns:\\npopupLevel: count of the number of nested popups containing the specified element\\nisHandle: true if the specified element is within a popup handle\\n*/\\nPopup.prototype.popupInfo = function(domNode) {\\n\\tvar isHandle = false,\\n\\t\\tpopupCount = 0,\\n\\t\\tnode = domNode;\\n\\t// First check ancestors to see if we're within a popup handle\\n\\twhile(node) {\\n\\t\\tif($tw.utils.hasClass(node,\\\"tc-popup-handle\\\")) {\\n\\t\\t\\tisHandle = true;\\n\\t\\t\\tpopupCount++;\\n\\t\\t}\\n\\t\\tif($tw.utils.hasClass(node,\\\"tc-popup-keep\\\")) {\\n\\t\\t\\tisHandle = true;\\n\\t\\t}\\n\\t\\tnode = node.parentNode;\\n\\t}\\n\\t// Then count the number of ancestor popups\\n\\tnode = domNode;\\n\\twhile(node) {\\n\\t\\tif($tw.utils.hasClass(node,\\\"tc-popup\\\")) {\\n\\t\\t\\tpopupCount++;\\n\\t\\t}\\n\\t\\tnode = node.parentNode;\\n\\t}\\n\\tvar info = {\\n\\t\\tpopupLevel: popupCount,\\n\\t\\tisHandle: isHandle\\n\\t};\\n\\treturn info;\\n};\\n\\n/*\\nDisplay a popup by adding it to the stack\\n*/\\nPopup.prototype.show = function(options) {\\n\\t// Find out what was clicked on\\n\\tvar info = this.popupInfo(options.domNode);\\n\\t// Cancel any higher level popups\\n\\tthis.cancel(info.popupLevel);\\n\\n\\t// Store the popup details if not already there\\n\\tif(!options.floating && this.findPopup(options.title) === -1) {\\n\\t\\tthis.popups.push({\\n\\t\\t\\ttitle: options.title,\\n\\t\\t\\twiki: options.wiki,\\n\\t\\t\\tdomNode: options.domNode,\\n\\t\\t\\tnoStateReference: options.noStateReference\\n\\t\\t});\\n\\t}\\n\\t// Set the state tiddler\\n\\tvar rect;\\n\\tif(options.domNodeRect) {\\n\\t\\trect = options.domNodeRect;\\n\\t} else {\\n\\t\\trect = {\\n\\t\\t\\tleft: options.domNode.offsetLeft,\\n\\t\\t\\ttop: options.domNode.offsetTop,\\n\\t\\t\\twidth: options.domNode.offsetWidth,\\n\\t\\t\\theight: options.domNode.offsetHeight\\n\\t\\t};\\n\\t}\\n\\tif(options.absolute && options.domNode) {\\n\\t\\t// Walk the offsetParent chain and add the position of the offsetParents to make\\n\\t\\t// the position absolute to the root node of the page.\\n\\t\\tvar currentNode = options.domNode.offsetParent;\\n\\t\\twhile(currentNode) {\\n\\t\\t\\trect.left += currentNode.offsetLeft;\\n\\t\\t\\trect.top += currentNode.offsetTop;\\n\\t\\t\\tcurrentNode = currentNode.offsetParent;\\n\\t\\t}\\n\\t}\\n\\tvar popupRect = exports.buildCoordinates(options.absolute?exports.coordinatePrefix.csAbsolute:exports.coordinatePrefix.csOffsetParent,rect);\\n\\tif(options.noStateReference) {\\n\\t\\toptions.wiki.setText(options.title,\\\"text\\\",undefined,popupRect);\\n\\t} else {\\n\\t\\toptions.wiki.setTextReference(options.title,popupRect);\\n\\t}\\n\\t// Add the click handler if we have any popups\\n\\tif(this.popups.length > 0) {\\n\\t\\tthis.rootElement.addEventListener(\\\"click\\\",this,true);\\n\\t}\\n};\\n\\n/*\\nCancel all popups at or above a specified level or DOM node\\nlevel: popup level to cancel (0 cancels all popups)\\n*/\\nPopup.prototype.cancel = function(level) {\\n\\tvar numPopups = this.popups.length;\\n\\tlevel = Math.max(0,Math.min(level,numPopups));\\n\\tfor(var t=level; t<numPopups; t++) {\\n\\t\\tvar popup = this.popups.pop();\\n\\t\\tif(popup.title) {\\n\\t\\t\\tif(popup.noStateReference) {\\n\\t\\t\\t\\tpopup.wiki.deleteTiddler(popup.title);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tpopup.wiki.deleteTiddler($tw.utils.parseTextReference(popup.title).title);\\n \\t\\t}\\n\\t\\t}\\n\\t}\\n\\tif(this.popups.length === 0) {\\n\\t\\tthis.rootElement.removeEventListener(\\\"click\\\",this,false);\\n\\t}\\n};\\n\\n/*\\nReturns true if the specified title and text identifies an active popup.\\nThis function is safe to call, even if the popup class was not initialized.\\n*/\\nexports.readPopupState = function(text) {\\n\\treturn exports.popupLocationRegExp.test(text);\\n};\\n\\n/*\\nParses a coordinate string in the format `(x,y,w,h)` or `@(x,y,z,h)` and returns\\nan object containing the position, width and height. The absolute-Mark is boolean\\nvalue that indicates the coordinate system of the coordinates. If they start with\\nan `@`, `absolute` is set to true and the coordinates are relative to the root\\nelement. If the initial `@` is missing, they are relative to the offset parent\\nelement and `absoute` is false.\\nThis function is safe to call, even if the popup class was not initialized.\\n*/\\nexports.parseCoordinates = function(coordinates) {\\n\\tvar match = exports.popupLocationRegExp.exec(coordinates);\\n\\tif(match) {\\n\\t\\treturn {\\n\\t\\t\\tabsolute: (match[1] === \\\"@\\\"),\\n\\t\\t\\tleft: parseFloat(match[2]),\\n\\t\\t\\ttop: parseFloat(match[3]),\\n\\t\\t\\twidth: parseFloat(match[4]),\\n\\t\\t\\theight: parseFloat(match[5])\\n\\t\\t};\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n}\\n\\n/*\\nBuilds a coordinate string from a coordinate system identifier and an object\\ncontaining the left, top, width and height values.\\nUse constants defined in coordinatePrefix to specify a coordinate system.\\nIf one of the parameters is invalid for building a coordinate string `(0,0,0,0)`\\nwill be returned.\\nThis function is safe to call, even if the popup class was not initialized.\\n*/\\nexports.buildCoordinates = function(prefix,position) {\\n\\tvar coord = prefix + \\\"(\\\" + position.left + \\\",\\\" + position.top + \\\",\\\" + position.width + \\\",\\\" + position.height + \\\")\\\";\\n\\tif (exports.popupLocationRegExp.test(coord)) {\\n\\t\\treturn coord;\\n\\t} else {\\n\\t\\treturn \\\"(0,0,0,0)\\\";\\n\\t}\\n}\\n\\nexports.Popup = Popup;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/dom/scroller.js\":{\"title\":\"$:/core/modules/utils/dom/scroller.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/dom/scroller.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nEvent handler for when the `tm-scroll` event hits the document body\\n*/\\nvar PageScroller = function() {\\n\\tthis.idRequestFrame = null;\\n\\tthis.requestAnimationFrame = window.requestAnimationFrame ||\\n\\t\\twindow.webkitRequestAnimationFrame ||\\n\\t\\twindow.mozRequestAnimationFrame ||\\n\\t\\tfunction(callback) {\\n\\t\\t\\treturn window.setTimeout(callback, 1000/60);\\n\\t\\t};\\n\\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\\n\\t\\twindow.webkitCancelAnimationFrame ||\\n\\t\\twindow.webkitCancelRequestAnimationFrame ||\\n\\t\\twindow.mozCancelAnimationFrame ||\\n\\t\\twindow.mozCancelRequestAnimationFrame ||\\n\\t\\tfunction(id) {\\n\\t\\t\\twindow.clearTimeout(id);\\n\\t\\t};\\n};\\n\\nPageScroller.prototype.isScrolling = function() {\\n\\treturn this.idRequestFrame !== null;\\n}\\n\\nPageScroller.prototype.cancelScroll = function(srcWindow) {\\n\\tif(this.idRequestFrame) {\\n\\t\\tthis.cancelAnimationFrame.call(srcWindow,this.idRequestFrame);\\n\\t\\tthis.idRequestFrame = null;\\n\\t}\\n};\\n\\n/*\\nHandle an event\\n*/\\nPageScroller.prototype.handleEvent = function(event) {\\n\\tif(event.type === \\\"tm-scroll\\\") {\\n\\t\\tvar options = {};\\n\\t\\tif($tw.utils.hop(event.paramObject,\\\"animationDuration\\\")) {\\n\\t\\t\\toptions.animationDuration = event.paramObject.animationDuration;\\n\\t\\t}\\n\\t\\tif(event.paramObject && event.paramObject.selector) {\\n\\t\\t\\tthis.scrollSelectorIntoView(null,event.paramObject.selector,null,options);\\n\\t\\t} else {\\n\\t\\t\\tthis.scrollIntoView(event.target,null,options);\\n\\t\\t}\\n\\t\\treturn false; // Event was handled\\n\\t}\\n\\treturn true;\\n};\\n\\n/*\\nHandle a scroll event hitting the page document\\n*/\\nPageScroller.prototype.scrollIntoView = function(element,callback,options) {\\n\\tvar self = this,\\n\\t\\tduration = $tw.utils.hop(options,\\\"animationDuration\\\") ? parseInt(options.animationDuration) : $tw.utils.getAnimationDuration(),\\n\\t\\tsrcWindow = element ? element.ownerDocument.defaultView : window;\\n\\t// Now get ready to scroll the body\\n\\tthis.cancelScroll(srcWindow);\\n\\tthis.startTime = Date.now();\\n\\t// Get the height of any position:fixed toolbars\\n\\tvar toolbar = srcWindow.document.querySelector(\\\".tc-adjust-top-of-scroll\\\"),\\n\\t\\toffset = 0;\\n\\tif(toolbar) {\\n\\t\\toffset = toolbar.offsetHeight;\\n\\t}\\n\\t// Get the client bounds of the element and adjust by the scroll position\\n\\tvar getBounds = function() {\\n\\t\\t\\tvar clientBounds = typeof callback === 'function' ? callback() : element.getBoundingClientRect(),\\n\\t\\t\\t\\tscrollPosition = $tw.utils.getScrollPosition(srcWindow);\\n\\t\\t\\treturn {\\n\\t\\t\\t\\tleft: clientBounds.left + scrollPosition.x,\\n\\t\\t\\t\\ttop: clientBounds.top + scrollPosition.y - offset,\\n\\t\\t\\t\\twidth: clientBounds.width,\\n\\t\\t\\t\\theight: clientBounds.height\\n\\t\\t\\t};\\n\\t\\t},\\n\\t\\t// We'll consider the horizontal and vertical scroll directions separately via this function\\n\\t\\t// targetPos/targetSize - position and size of the target element\\n\\t\\t// currentPos/currentSize - position and size of the current scroll viewport\\n\\t\\t// returns: new position of the scroll viewport\\n\\t\\tgetEndPos = function(targetPos,targetSize,currentPos,currentSize) {\\n\\t\\t\\tvar newPos = targetPos;\\n\\t\\t\\t// If we are scrolling within 50 pixels of the top/left then snap to zero\\n\\t\\t\\tif(newPos < 50) {\\n\\t\\t\\t\\tnewPos = 0;\\n\\t\\t\\t}\\n\\t\\t\\treturn newPos;\\n\\t\\t},\\n\\t\\tdrawFrame = function drawFrame() {\\n\\t\\t\\tvar t;\\n\\t\\t\\tif(duration <= 0) {\\n\\t\\t\\t\\tt = 1;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tt = ((Date.now()) - self.startTime) / duration;\\n\\t\\t\\t}\\n\\t\\t\\tif(t >= 1) {\\n\\t\\t\\t\\tself.cancelScroll(srcWindow);\\n\\t\\t\\t\\tt = 1;\\n\\t\\t\\t}\\n\\t\\t\\tt = $tw.utils.slowInSlowOut(t);\\n\\t\\t\\tvar scrollPosition = $tw.utils.getScrollPosition(srcWindow),\\n\\t\\t\\t\\tbounds = getBounds(),\\n\\t\\t\\t\\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,srcWindow.innerWidth),\\n\\t\\t\\t\\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,srcWindow.innerHeight);\\n\\t\\t\\tsrcWindow.scrollTo(scrollPosition.x + (endX - scrollPosition.x) * t,scrollPosition.y + (endY - scrollPosition.y) * t);\\n\\t\\t\\tif(t < 1) {\\n\\t\\t\\t\\tself.idRequestFrame = self.requestAnimationFrame.call(srcWindow,drawFrame);\\n\\t\\t\\t}\\n\\t\\t};\\n\\tdrawFrame();\\n};\\n\\nPageScroller.prototype.scrollSelectorIntoView = function(baseElement,selector,callback,options) {\\n\\tbaseElement = baseElement || document;\\n\\tvar element = $tw.utils.querySelectorSafe(selector,baseElement);\\n\\tif(element) {\\n\\t\\tthis.scrollIntoView(element,callback,options);\\n\\t}\\n};\\n\\nexports.PageScroller = PageScroller;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/edition-info.js\":{\"title\":\"$:/core/modules/utils/edition-info.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/edition-info.js\\ntype: application/javascript\\nmodule-type: utils-node\\n\\nInformation about the available editions\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar fs = require(\\\"fs\\\"),\\n\\tpath = require(\\\"path\\\");\\n\\nvar editionInfo;\\n\\nexports.getEditionInfo = function() {\\n\\tif(!editionInfo) {\\n\\t\\t// Enumerate the edition paths\\n\\t\\tvar editionPaths = $tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar);\\n\\t\\teditionInfo = {};\\n\\t\\tfor(var editionIndex=0; editionIndex<editionPaths.length; editionIndex++) {\\n\\t\\t\\tvar editionPath = editionPaths[editionIndex];\\n\\t\\t\\t// Enumerate the folders\\n\\t\\t\\tvar entries = fs.readdirSync(editionPath);\\n\\t\\t\\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\\n\\t\\t\\t\\tvar entry = entries[entryIndex];\\n\\t\\t\\t\\t// Check if directories have a valid tiddlywiki.info\\n\\t\\t\\t\\tif(!editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {\\n\\t\\t\\t\\t\\tvar info = $tw.utils.parseJSONSafe(fs.readFileSync(path.resolve(editionPath,entry,\\\"tiddlywiki.info\\\"),\\\"utf8\\\"),null);\\n\\t\\t\\t\\t\\tif(info) {\\n\\t\\t\\t\\t\\t\\teditionInfo[entry] = info;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn editionInfo;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils-node\"},\"$:/core/modules/utils/escapecss.js\":{\"title\":\"$:/core/modules/utils/escapecss.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/escapecss.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nProvides CSS.escape() functionality.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false, window: false */\\n\\\"use strict\\\";\\n\\nexports.escapeCSS = (function() {\\n\\t// use browser's native CSS.escape() function if available\\n\\tif ($tw.browser && window.CSS && window.CSS.escape) {\\n\\t\\treturn window.CSS.escape;\\n\\t}\\n\\n\\t// otherwise, a utility method is provided\\n\\t// see also https://drafts.csswg.org/cssom/#serialize-an-identifier\\n\\n\\t/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */\\n\\treturn function(value) {\\n\\t\\tif (arguments.length == 0) {\\n\\t\\t\\tthrow new TypeError('`CSS.escape` requires an argument.');\\n\\t\\t}\\n\\t\\tvar string = String(value);\\n\\t\\tvar length = string.length;\\n\\t\\tvar index = -1;\\n\\t\\tvar codeUnit;\\n\\t\\tvar result = '';\\n\\t\\tvar firstCodeUnit = string.charCodeAt(0);\\n\\t\\twhile (++index < length) {\\n\\t\\t\\tcodeUnit = string.charCodeAt(index);\\n\\t\\t\\t// Note: there’s no need to special-case astral symbols, surrogate\\n\\t\\t\\t// pairs, or lone surrogates.\\n\\n\\t\\t\\t// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER\\n\\t\\t\\t// (U+FFFD).\\n\\t\\t\\tif (codeUnit == 0x0000) {\\n\\t\\t\\t\\tresult += '\\\\uFFFD';\\n\\t\\t\\t\\tcontinue;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif (\\n\\t\\t\\t\\t// If the character is in the range [\\\\1-\\\\1F] (U+0001 to U+001F) or is\\n\\t\\t\\t\\t// U+007F, […]\\n\\t\\t\\t\\t(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||\\n\\t\\t\\t\\t// If the character is the first character and is in the range [0-9]\\n\\t\\t\\t\\t// (U+0030 to U+0039), […]\\n\\t\\t\\t\\t(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||\\n\\t\\t\\t\\t// If the character is the second character and is in the range [0-9]\\n\\t\\t\\t\\t// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]\\n\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\tindex == 1 &&\\n\\t\\t\\t\\t\\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 &&\\n\\t\\t\\t\\t\\tfirstCodeUnit == 0x002D\\n\\t\\t\\t\\t)\\n\\t\\t\\t) {\\n\\t\\t\\t\\t// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\\n\\t\\t\\t\\tresult += '\\\\\\\\' + codeUnit.toString(16) + ' ';\\n\\t\\t\\t\\tcontinue;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif (\\n\\t\\t\\t\\t// If the character is the first character and is a `-` (U+002D), and\\n\\t\\t\\t\\t// there is no second character, […]\\n\\t\\t\\t\\tindex == 0 &&\\n\\t\\t\\t\\tlength == 1 &&\\n\\t\\t\\t\\tcodeUnit == 0x002D\\n\\t\\t\\t) {\\n\\t\\t\\t\\tresult += '\\\\\\\\' + string.charAt(index);\\n\\t\\t\\t\\tcontinue;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// If the character is not handled by one of the above rules and is\\n\\t\\t\\t// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or\\n\\t\\t\\t// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to\\n\\t\\t\\t// U+005A), or [a-z] (U+0061 to U+007A), […]\\n\\t\\t\\tif (\\n\\t\\t\\t\\tcodeUnit >= 0x0080 ||\\n\\t\\t\\t\\tcodeUnit == 0x002D ||\\n\\t\\t\\t\\tcodeUnit == 0x005F ||\\n\\t\\t\\t\\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 ||\\n\\t\\t\\t\\tcodeUnit >= 0x0041 && codeUnit <= 0x005A ||\\n\\t\\t\\t\\tcodeUnit >= 0x0061 && codeUnit <= 0x007A\\n\\t\\t\\t) {\\n\\t\\t\\t\\t// the character itself\\n\\t\\t\\t\\tresult += string.charAt(index);\\n\\t\\t\\t\\tcontinue;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Otherwise, the escaped character.\\n\\t\\t\\t// https://drafts.csswg.org/cssom/#escape-a-character\\n\\t\\t\\tresult += '\\\\\\\\' + string.charAt(index);\\n\\n\\t\\t}\\n\\t\\treturn result;\\n\\t};\\n})();\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/fakedom.js\":{\"title\":\"$:/core/modules/utils/fakedom.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/fakedom.js\\ntype: application/javascript\\nmodule-type: global\\n\\nA barebones implementation of DOM interfaces needed by the rendering mechanism.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Sequence number used to enable us to track objects for testing\\nvar sequenceNumber = null;\\n\\nvar bumpSequenceNumber = function(object) {\\n\\tif(sequenceNumber !== null) {\\n\\t\\tobject.sequenceNumber = sequenceNumber++;\\n\\t}\\n};\\n\\nvar TW_Node = function (){\\n\\tthrow TypeError(\\\"Illegal constructor\\\");\\n};\\n\\nObject.defineProperty(TW_Node.prototype, 'ELEMENT_NODE', {\\n\\tget: function() {\\n\\t\\treturn 1;\\n\\t}\\n});\\n\\nObject.defineProperty(TW_Node.prototype, 'TEXT_NODE', {\\n\\tget: function() {\\n\\t\\treturn 3;\\n\\t}\\n});\\n\\nvar TW_TextNode = function(text) {\\n\\tbumpSequenceNumber(this);\\n\\tthis.textContent = text + \\\"\\\";\\n};\\n\\nObject.setPrototypeOf(TW_TextNode,TW_Node.prototype);\\n\\nObject.defineProperty(TW_TextNode.prototype, \\\"nodeType\\\", {\\n\\tget: function() {\\n\\t\\treturn this.TEXT_NODE;\\n\\t}\\n});\\n\\nObject.defineProperty(TW_TextNode.prototype, \\\"formattedTextContent\\\", {\\n\\tget: function() {\\n\\t\\treturn this.textContent.replace(/(\\\\r?\\\\n)/g,\\\"\\\");\\n\\t}\\n});\\n\\nvar TW_Element = function(tag,namespace) {\\n\\tbumpSequenceNumber(this);\\n\\tthis.isTiddlyWikiFakeDom = true;\\n\\tthis.tag = tag;\\n\\tthis.attributes = {};\\n\\tthis.isRaw = false;\\n\\tthis.children = [];\\n\\tthis._style = {};\\n\\tthis.namespaceURI = namespace || \\\"http://www.w3.org/1999/xhtml\\\";\\n};\\n\\nObject.setPrototypeOf(TW_Element,TW_Node.prototype);\\n\\nObject.defineProperty(TW_Element.prototype, \\\"style\\\", {\\n\\tget: function() {\\n\\t\\treturn this._style;\\n\\t},\\n\\tset: function(str) {\\n\\t\\tvar self = this;\\n\\t\\tstr = str || \\\"\\\";\\n\\t\\t$tw.utils.each(str.split(\\\";\\\"),function(declaration) {\\n\\t\\t\\tvar parts = declaration.split(\\\":\\\"),\\n\\t\\t\\t\\tname = $tw.utils.trim(parts[0]),\\n\\t\\t\\t\\tvalue = $tw.utils.trim(parts[1]);\\n\\t\\t\\tif(name && value) {\\n\\t\\t\\t\\tself._style[$tw.utils.convertStyleNameToPropertyName(name)] = value;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n});\\n\\nObject.defineProperty(TW_Element.prototype, \\\"nodeType\\\", {\\n\\tget: function() {\\n\\t\\treturn this.ELEMENT_NODE;\\n\\t}\\n});\\n\\nTW_Element.prototype.getAttribute = function(name) {\\n\\tif(this.isRaw) {\\n\\t\\tthrow \\\"Cannot getAttribute on a raw TW_Element\\\";\\n\\t}\\n\\treturn this.attributes[name];\\n};\\n\\nTW_Element.prototype.setAttribute = function(name,value) {\\n\\tif(this.isRaw) {\\n\\t\\tthrow \\\"Cannot setAttribute on a raw TW_Element\\\";\\n\\t}\\n\\tif(name === \\\"style\\\") {\\n\\t\\tthis.style = value;\\n\\t} else {\\n\\t\\tthis.attributes[name] = value + \\\"\\\";\\n\\t}\\n};\\n\\nTW_Element.prototype.setAttributeNS = function(namespace,name,value) {\\n\\tthis.setAttribute(name,value);\\n};\\n\\nTW_Element.prototype.removeAttribute = function(name) {\\n\\tif(this.isRaw) {\\n\\t\\tthrow \\\"Cannot removeAttribute on a raw TW_Element\\\";\\n\\t}\\n\\tif($tw.utils.hop(this.attributes,name)) {\\n\\t\\tdelete this.attributes[name];\\n\\t}\\n};\\n\\nTW_Element.prototype.appendChild = function(node) {\\n\\tthis.children.push(node);\\n\\tnode.parentNode = this;\\n};\\n\\nTW_Element.prototype.insertBefore = function(node,nextSibling) {\\n\\tif(nextSibling) {\\n\\t\\tvar p = this.children.indexOf(nextSibling);\\n\\t\\tif(p !== -1) {\\n\\t\\t\\tthis.children.splice(p,0,node);\\n\\t\\t\\tnode.parentNode = this;\\n\\t\\t} else {\\n\\t\\t\\tthis.appendChild(node);\\n\\t\\t}\\n\\t} else {\\n\\t\\tthis.appendChild(node);\\n\\t}\\n};\\n\\nTW_Element.prototype.removeChild = function(node) {\\n\\tvar p = this.children.indexOf(node);\\n\\tif(p !== -1) {\\n\\t\\tthis.children.splice(p,1);\\n\\t}\\n};\\n\\nTW_Element.prototype.hasChildNodes = function() {\\n\\treturn !!this.children.length;\\n};\\n\\nObject.defineProperty(TW_Element.prototype, \\\"childNodes\\\", {\\n\\tget: function() {\\n\\t\\treturn this.children;\\n\\t}\\n});\\n\\nObject.defineProperty(TW_Element.prototype, \\\"firstChild\\\", {\\n\\tget: function() {\\n\\t\\treturn this.children[0];\\n\\t}\\n});\\n\\nTW_Element.prototype.addEventListener = function(type,listener,useCapture) {\\n\\t// Do nothing\\n};\\n\\nObject.defineProperty(TW_Element.prototype, \\\"tagName\\\", {\\n\\tget: function() {\\n\\t\\treturn this.tag || \\\"\\\";\\n\\t}\\n});\\n\\nObject.defineProperty(TW_Element.prototype, \\\"className\\\", {\\n\\tget: function() {\\n\\t\\treturn this.attributes[\\\"class\\\"] || \\\"\\\";\\n\\t},\\n\\tset: function(value) {\\n\\t\\tthis.attributes[\\\"class\\\"] = value + \\\"\\\";\\n\\t}\\n});\\n\\nObject.defineProperty(TW_Element.prototype, \\\"value\\\", {\\n\\tget: function() {\\n\\t\\treturn this.attributes.value || \\\"\\\";\\n\\t},\\n\\tset: function(value) {\\n\\t\\tthis.attributes.value = value + \\\"\\\";\\n\\t}\\n});\\n\\nObject.defineProperty(TW_Element.prototype, \\\"outerHTML\\\", {\\n\\tget: function() {\\n\\t\\tvar output = [],attr,a,v;\\n\\t\\toutput.push(\\\"<\\\",this.tag);\\n\\t\\tif(this.attributes) {\\n\\t\\t\\tattr = [];\\n\\t\\t\\tfor(a in this.attributes) {\\n\\t\\t\\t\\tattr.push(a);\\n\\t\\t\\t}\\n\\t\\t\\tattr.sort();\\n\\t\\t\\tfor(a=0; a<attr.length; a++) {\\n\\t\\t\\t\\tv = this.attributes[attr[a]];\\n\\t\\t\\t\\tif(v !== undefined) {\\n\\t\\t\\t\\t\\toutput.push(\\\" \\\",attr[a],\\\"=\\\\\\\"\\\",$tw.utils.htmlEncode(v),\\\"\\\\\\\"\\\");\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tif(this._style) {\\n\\t\\t\\tvar style = [];\\n\\t\\t\\tfor(var s in this._style) {\\n\\t\\t\\t\\tstyle.push($tw.utils.convertPropertyNameToStyleName(s) + \\\":\\\" + this._style[s] + \\\";\\\");\\n\\t\\t\\t}\\n\\t\\t\\tif(style.length > 0) {\\n\\t\\t\\t\\toutput.push(\\\" style=\\\\\\\"\\\",style.join(\\\"\\\"),\\\"\\\\\\\"\\\");\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\toutput.push(\\\">\\\");\\n\\t\\tif($tw.config.htmlVoidElements.indexOf(this.tag) === -1) {\\n\\t\\t\\toutput.push(this.innerHTML);\\n\\t\\t\\toutput.push(\\\"</\\\",this.tag,\\\">\\\");\\n\\t\\t}\\n\\t\\treturn output.join(\\\"\\\");\\n\\t}\\n});\\n\\nObject.defineProperty(TW_Element.prototype, \\\"innerHTML\\\", {\\n\\tget: function() {\\n\\t\\tif(this.isRaw) {\\n\\t\\t\\treturn this.rawHTML;\\n\\t\\t} else {\\n\\t\\t\\tvar b = [];\\n\\t\\t\\t$tw.utils.each(this.children,function(node) {\\n\\t\\t\\t\\tif(node instanceof TW_Element) {\\n\\t\\t\\t\\t\\tb.push(node.outerHTML);\\n\\t\\t\\t\\t} else if(node instanceof TW_TextNode) {\\n\\t\\t\\t\\t\\tb.push($tw.utils.htmlTextEncode(node.textContent));\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t\\treturn b.join(\\\"\\\");\\n\\t\\t}\\n\\t},\\n\\tset: function(value) {\\n\\t\\tthis.isRaw = true;\\n\\t\\tthis.rawHTML = value;\\n\\t\\tthis.rawTextContent = null;\\n\\t}\\n});\\n\\nObject.defineProperty(TW_Element.prototype, \\\"textInnerHTML\\\", {\\n\\tset: function(value) {\\n\\t\\tif(this.isRaw) {\\n\\t\\t\\tthis.rawTextContent = value;\\n\\t\\t} else {\\n\\t\\t\\tthrow \\\"Cannot set textInnerHTML of a non-raw TW_Element\\\";\\n\\t\\t}\\n\\t}\\n});\\n\\nObject.defineProperty(TW_Element.prototype, \\\"textContent\\\", {\\n\\tget: function() {\\n\\t\\tif(this.isRaw) {\\n\\t\\t\\tif(this.rawTextContent === null) {\\n\\t\\t\\t\\treturn \\\"\\\";\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn this.rawTextContent;\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tvar b = [];\\n\\t\\t\\t$tw.utils.each(this.children,function(node) {\\n\\t\\t\\t\\tb.push(node.textContent);\\n\\t\\t\\t});\\n\\t\\t\\treturn b.join(\\\"\\\");\\n\\t\\t}\\n\\t},\\n\\tset: function(value) {\\n\\t\\tthis.children = [new TW_TextNode(value)];\\n\\t}\\n});\\n\\nObject.defineProperty(TW_Element.prototype, \\\"formattedTextContent\\\", {\\n\\tget: function() {\\n\\t\\tif(this.isRaw) {\\n\\t\\t\\treturn \\\"\\\";\\n\\t\\t} else {\\n\\t\\t\\tvar b = [],\\n\\t\\t\\t\\tisBlock = $tw.config.htmlBlockElements.indexOf(this.tag) !== -1;\\n\\t\\t\\tif(isBlock) {\\n\\t\\t\\t\\tb.push(\\\"\\\\n\\\");\\n\\t\\t\\t}\\n\\t\\t\\tif(this.tag === \\\"li\\\") {\\n\\t\\t\\t\\tb.push(\\\"* \\\");\\n\\t\\t\\t}\\n\\t\\t\\t$tw.utils.each(this.children,function(node) {\\n\\t\\t\\t\\tb.push(node.formattedTextContent);\\n\\t\\t\\t});\\n\\t\\t\\tif(isBlock) {\\n\\t\\t\\t\\tb.push(\\\"\\\\n\\\");\\n\\t\\t\\t}\\n\\t\\t\\treturn b.join(\\\"\\\");\\n\\t\\t}\\n\\t}\\n});\\n\\nvar document = {\\n\\tsetSequenceNumber: function(value) {\\n\\t\\tsequenceNumber = value;\\n\\t},\\n\\tcreateElementNS: function(namespace,tag) {\\n\\t\\treturn new TW_Element(tag,namespace);\\n\\t},\\n\\tcreateElement: function(tag) {\\n\\t\\treturn new TW_Element(tag);\\n\\t},\\n\\tcreateTextNode: function(text) {\\n\\t\\treturn new TW_TextNode(text);\\n\\t},\\n\\tcompatMode: \\\"CSS1Compat\\\", // For KaTeX to know that we're not a browser in quirks mode\\n\\tisTiddlyWikiFakeDom: true\\n};\\n\\nexports.fakeDocument = document;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"global\"},\"$:/core/modules/utils/filesystem.js\":{\"title\":\"$:/core/modules/utils/filesystem.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/filesystem.js\\ntype: application/javascript\\nmodule-type: utils-node\\n\\nFile system utilities\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar fs = require(\\\"fs\\\"),\\n\\tpath = require(\\\"path\\\");\\n\\n/*\\nReturn the subdirectories of a path\\n*/\\nexports.getSubdirectories = function(dirPath) {\\n\\tif(!$tw.utils.isDirectory(dirPath)) {\\n\\t\\treturn null;\\n\\t}\\n\\tvar subdirs = [];\\n\\t$tw.utils.each(fs.readdirSync(dirPath),function(item) {\\n\\t\\tif($tw.utils.isDirectory(path.resolve(dirPath,item))) {\\n\\t\\t\\tsubdirs.push(item);\\n\\t\\t}\\n\\t});\\n\\treturn subdirs;\\n}\\n\\n/*\\nRecursively (and synchronously) copy a directory and all its content\\n*/\\nexports.copyDirectory = function(srcPath,dstPath) {\\n\\t// Remove any trailing path separators\\n\\tsrcPath = path.resolve($tw.utils.removeTrailingSeparator(srcPath));\\n\\tdstPath = path.resolve($tw.utils.removeTrailingSeparator(dstPath));\\n\\t// Check that neither director is within the other\\n\\tif(srcPath.substring(0,dstPath.length) === dstPath || dstPath.substring(0,srcPath.length) === srcPath) {\\n\\t\\treturn \\\"Cannot copy nested directories\\\";\\n\\t}\\n\\t// Create the destination directory\\n\\tvar err = $tw.utils.createDirectory(dstPath);\\n\\tif(err) {\\n\\t\\treturn err;\\n\\t}\\n\\t// Function to copy a folder full of files\\n\\tvar copy = function(srcPath,dstPath) {\\n\\t\\tvar srcStats = fs.lstatSync(srcPath),\\n\\t\\t\\tdstExists = fs.existsSync(dstPath);\\n\\t\\tif(srcStats.isFile()) {\\n\\t\\t\\t$tw.utils.copyFile(srcPath,dstPath);\\n\\t\\t} else if(srcStats.isDirectory()) {\\n\\t\\t\\tvar items = fs.readdirSync(srcPath);\\n\\t\\t\\tfor(var t=0; t<items.length; t++) {\\n\\t\\t\\t\\tvar item = items[t],\\n\\t\\t\\t\\t\\terr = copy(srcPath + path.sep + item,dstPath + path.sep + item);\\n\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\treturn err;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n\\tcopy(srcPath,dstPath);\\n\\treturn null;\\n};\\n\\n/*\\nCopy a file\\n*/\\nvar FILE_BUFFER_LENGTH = 64 * 1024,\\n\\tfileBuffer;\\n\\nexports.copyFile = function(srcPath,dstPath) {\\n\\t// Create buffer if required\\n\\tif(!fileBuffer) {\\n\\t\\tfileBuffer = Buffer.alloc(FILE_BUFFER_LENGTH);\\n\\t}\\n\\t// Create any directories in the destination\\n\\t$tw.utils.createDirectory(path.dirname(dstPath));\\n\\t// Copy the file\\n\\tvar srcFile = fs.openSync(srcPath,\\\"r\\\"),\\n\\t\\tdstFile = fs.openSync(dstPath,\\\"w\\\"),\\n\\t\\tbytesRead = 1,\\n\\t\\tpos = 0;\\n\\twhile (bytesRead > 0) {\\n\\t\\tbytesRead = fs.readSync(srcFile,fileBuffer,0,FILE_BUFFER_LENGTH,pos);\\n\\t\\tfs.writeSync(dstFile,fileBuffer,0,bytesRead);\\n\\t\\tpos += bytesRead;\\n\\t}\\n\\tfs.closeSync(srcFile);\\n\\tfs.closeSync(dstFile);\\n\\treturn null;\\n};\\n\\n/*\\nRemove trailing path separator\\n*/\\nexports.removeTrailingSeparator = function(dirPath) {\\n\\tvar len = dirPath.length;\\n\\tif(dirPath.charAt(len-1) === path.sep) {\\n\\t\\tdirPath = dirPath.substr(0,len-1);\\n\\t}\\n\\treturn dirPath;\\n};\\n\\n/*\\nRecursively create a directory\\n*/\\nexports.createDirectory = function(dirPath) {\\n\\tif(dirPath.substr(dirPath.length-1,1) !== path.sep) {\\n\\t\\tdirPath = dirPath + path.sep;\\n\\t}\\n\\tvar pos = 1;\\n\\tpos = dirPath.indexOf(path.sep,pos);\\n\\twhile(pos !== -1) {\\n\\t\\tvar subDirPath = dirPath.substr(0,pos);\\n\\t\\tif(!$tw.utils.isDirectory(subDirPath)) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tfs.mkdirSync(subDirPath);\\n\\t\\t\\t} catch(e) {\\n\\t\\t\\t\\treturn \\\"Error creating directory '\\\" + subDirPath + \\\"'\\\";\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tpos = dirPath.indexOf(path.sep,pos + 1);\\n\\t}\\n\\treturn null;\\n};\\n\\n/*\\nRecursively create directories needed to contain a specified file\\n*/\\nexports.createFileDirectories = function(filePath) {\\n\\treturn $tw.utils.createDirectory(path.dirname(filePath));\\n};\\n\\n/*\\nRecursively delete a directory\\n*/\\nexports.deleteDirectory = function(dirPath) {\\n\\tif(fs.existsSync(dirPath)) {\\n\\t\\tvar entries = fs.readdirSync(dirPath);\\n\\t\\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\\n\\t\\t\\tvar currPath = dirPath + path.sep + entries[entryIndex];\\n\\t\\t\\tif(fs.lstatSync(currPath).isDirectory()) {\\n\\t\\t\\t\\t$tw.utils.deleteDirectory(currPath);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tfs.unlinkSync(currPath);\\n\\t\\t\\t}\\n\\t\\t}\\n\\tfs.rmdirSync(dirPath);\\n\\t}\\n\\treturn null;\\n};\\n\\n/*\\nCheck if a path identifies a directory\\n*/\\nexports.isDirectory = function(dirPath) {\\n\\treturn fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();\\n};\\n\\n/*\\nCheck if a path identifies a directory that is empty\\n*/\\nexports.isDirectoryEmpty = function(dirPath) {\\n\\tif(!$tw.utils.isDirectory(dirPath)) {\\n\\t\\treturn false;\\n\\t}\\n\\tvar files = fs.readdirSync(dirPath),\\n\\t\\tempty = true;\\n\\t$tw.utils.each(files,function(file,index) {\\n\\t\\tif(file.charAt(0) !== \\\".\\\") {\\n\\t\\t\\tempty = false;\\n\\t\\t}\\n\\t});\\n\\treturn empty;\\n};\\n\\n/*\\nRecursively delete a tree of empty directories\\n*/\\nexports.deleteEmptyDirs = function(dirpath,callback) {\\n\\tvar self = this;\\n\\tfs.readdir(dirpath,function(err,files) {\\n\\t\\tif(err) {\\n\\t\\t\\treturn callback(err);\\n\\t\\t}\\n\\t\\tif(files.length > 0) {\\n\\t\\t\\treturn callback(null);\\n\\t\\t}\\n\\t\\tfs.rmdir(dirpath,function(err) {\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t}\\n\\t\\t\\tself.deleteEmptyDirs(path.dirname(dirpath),callback);\\n\\t\\t});\\n\\t});\\n};\\n\\n/*\\nCreate a fileInfo object for saving a tiddler:\\n\\tfilepath: the absolute path to the file containing the tiddler\\n\\ttype: the type of the tiddler file on disk (NOT the type of the tiddler)\\n\\thasMetaFile: true if the file also has a companion .meta file\\n\\tisEditableFile: true if the tiddler was loaded via non-standard options & marked editable\\nOptions include:\\n\\tdirectory: absolute path of root directory to which we are saving\\n\\tpathFilters: optional array of filters to be used to generate the base path\\n\\textFilters: optional array of filters to be used to generate the base path\\n\\twiki: optional wiki for evaluating the pathFilters,\\n\\tfileInfo: an existing fileInfo to check against\\n*/\\nexports.generateTiddlerFileInfo = function(tiddler,options) {\\n\\tvar fileInfo = {}, metaExt;\\n\\t// Propagate the isEditableFile flag\\n\\tif(options.fileInfo && !!options.fileInfo.isEditableFile) {\\n\\t\\tfileInfo.isEditableFile = true;\\n\\t\\tfileInfo.originalpath = options.fileInfo.originalpath;\\n\\t}\\n\\t// Check if the tiddler has any unsafe fields that can't be expressed in a .tid or .meta file: containing control characters, or leading/trailing whitespace\\n\\tvar hasUnsafeFields = false;\\n\\t$tw.utils.each(tiddler.getFieldStrings(),function(value,fieldName) {\\n\\t\\tif(fieldName !== \\\"text\\\") {\\n\\t\\t\\thasUnsafeFields = hasUnsafeFields || /[\\\\x00-\\\\x1F]/mg.test(value);\\n\\t\\t\\thasUnsafeFields = hasUnsafeFields || ($tw.utils.trim(value) !== value);\\n\\t\\t}\\n\\t\\thasUnsafeFields = hasUnsafeFields || /:|#/mg.test(fieldName);\\n\\t});\\n\\t// Check for field values \\n\\tif(hasUnsafeFields) {\\n\\t\\t// Save as a JSON file\\n\\t\\tfileInfo.type = \\\"application/json\\\";\\n\\t\\tfileInfo.hasMetaFile = false;\\n\\t} else {\\n\\t\\t// Save as a .tid or a text/binary file plus a .meta file\\n\\t\\tvar tiddlerType = tiddler.fields.type || \\\"text/vnd.tiddlywiki\\\";\\n\\t\\tif(tiddlerType === \\\"text/vnd.tiddlywiki\\\" || tiddler.hasField(\\\"_canonical_uri\\\")) {\\n\\t\\t\\t// Save as a .tid file\\n\\t\\t\\tfileInfo.type = \\\"application/x-tiddler\\\";\\n\\t\\t\\tfileInfo.hasMetaFile = false;\\n\\t\\t} else {\\n\\t\\t\\t// Save as a text/binary file and a .meta file\\n\\t\\t\\tfileInfo.type = tiddlerType;\\n\\t\\t\\tfileInfo.hasMetaFile = true;\\n\\t\\t}\\n\\t\\tif(options.extFilters) {\\n\\t\\t\\t// Check for extension overrides\\n\\t\\t\\tmetaExt = $tw.utils.generateTiddlerExtension(tiddler.fields.title,{\\n\\t\\t\\t\\textFilters: options.extFilters,\\n\\t\\t\\t\\twiki: options.wiki\\n\\t\\t\\t});\\n\\t\\t\\tif(metaExt) {\\n\\t\\t\\t\\tif(metaExt === \\\".tid\\\") {\\n\\t\\t\\t\\t\\t// Overriding to the .tid extension needs special handling\\n\\t\\t\\t\\t\\tfileInfo.type = \\\"application/x-tiddler\\\";\\n\\t\\t\\t\\t\\tfileInfo.hasMetaFile = false;\\n\\t\\t\\t\\t} else if (metaExt === \\\".json\\\") {\\n\\t\\t\\t\\t\\t// Overriding to the .json extension needs special handling\\n\\t\\t\\t\\t\\tfileInfo.type = \\\"application/json\\\";\\n\\t\\t\\t\\t\\tfileInfo.hasMetaFile = false;\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t//If the new type matches a known extention, use that MIME type's encoding\\n\\t\\t\\t\\t\\tvar extInfo = $tw.utils.getFileExtensionInfo(metaExt);\\n\\t\\t\\t\\t\\tfileInfo.type = extInfo ? extInfo.type : null;\\n\\t\\t\\t\\t\\tfileInfo.encoding = $tw.utils.getTypeEncoding(metaExt);\\n\\t\\t\\t\\t\\tfileInfo.hasMetaFile = true;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// Take the file extension from the tiddler content type or metaExt\\n\\tvar contentTypeInfo = $tw.config.contentTypeInfo[fileInfo.type] || {extension: \\\"\\\"};\\n\\t// Generate the filepath\\n\\tfileInfo.filepath = $tw.utils.generateTiddlerFilepath(tiddler.fields.title,{\\n\\t\\textension: metaExt || contentTypeInfo.extension,\\n\\t\\tdirectory: options.directory,\\n\\t\\tpathFilters: options.pathFilters,\\n\\t\\twiki: options.wiki,\\n\\t\\tfileInfo: options.fileInfo\\n\\t});\\n\\treturn fileInfo;\\n};\\n\\n/*\\nGenerate the file extension for saving a tiddler\\nOptions include:\\n\\textFilters: optional array of filters to be used to generate the extention\\n\\twiki: optional wiki for evaluating the extFilters\\n*/\\nexports.generateTiddlerExtension = function(title,options) {\\n\\tvar extension;\\n\\t// Check if any of the extFilters applies\\n\\tif(options.extFilters && options.wiki) { \\n\\t\\t$tw.utils.each(options.extFilters,function(filter) {\\n\\t\\t\\tif(!extension) {\\n\\t\\t\\t\\tvar source = options.wiki.makeTiddlerIterator([title]),\\n\\t\\t\\t\\t\\tresult = options.wiki.filterTiddlers(filter,null,source);\\n\\t\\t\\t\\tif(result.length > 0) {\\n\\t\\t\\t\\t\\textension = result[0];\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn extension;\\n};\\n\\n/*\\nGenerate the filepath for saving a tiddler\\nOptions include:\\n\\textension: file extension to be added the finished filepath\\n\\tdirectory: absolute path of root directory to which we are saving\\n\\tpathFilters: optional array of filters to be used to generate the base path\\n\\twiki: optional wiki for evaluating the pathFilters\\n\\tfileInfo: an existing fileInfo object to check against\\n*/\\nexports.generateTiddlerFilepath = function(title,options) {\\n\\tvar directory = options.directory || \\\"\\\",\\n\\t\\textension = options.extension || \\\"\\\",\\n\\t\\toriginalpath = (options.fileInfo && options.fileInfo.originalpath) ? options.fileInfo.originalpath : \\\"\\\",\\n\\t\\tfilepath;\\n\\t// Check if any of the pathFilters applies\\n\\tif(options.pathFilters && options.wiki) {\\n\\t\\t$tw.utils.each(options.pathFilters,function(filter) {\\n\\t\\t\\tif(!filepath) {\\n\\t\\t\\t\\tvar source = options.wiki.makeTiddlerIterator([title]),\\n\\t\\t\\t\\t\\tresult = options.wiki.filterTiddlers(filter,null,source);\\n\\t\\t\\t\\tif(result.length > 0) {\\n\\t\\t\\t\\t\\tfilepath = result[0];\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\tif(!filepath && !!originalpath) {\\n\\t\\t//Use the originalpath without the extension\\n\\t\\tvar ext = path.extname(originalpath);\\n\\t\\tfilepath = originalpath.substring(0,originalpath.length - ext.length);\\n\\t} else if(!filepath) {\\n\\t\\tfilepath = title;\\n\\t\\t// Remove any forward or backward slashes so we don't create directories\\n\\t\\tfilepath = filepath.replace(/\\\\/|\\\\\\\\/g,\\\"_\\\");\\n\\t}\\n\\t// Replace any Windows control codes\\n\\tfilepath = filepath.replace(/^(con|prn|aux|nul|com[0-9]|lpt[0-9])$/i,\\\"_$1_\\\");\\n\\t// Replace any leading spaces with the same number of underscores\\n\\tfilepath = filepath.replace(/^ +/,function (u) { return u.replace(/ /g, \\\"_\\\")});\\n\\t//If the path does not start with \\\".\\\" or \\\"..\\\" && a path seperator, then\\n\\tif(!/^\\\\.{1,2}[/\\\\\\\\]/g.test(filepath)) {\\n\\t\\t// Don't let the filename start with any dots because such files are invisible on *nix\\n\\t\\tfilepath = filepath.replace(/^\\\\.+/g,function (u) { return u.replace(/\\\\./g, \\\"_\\\")});\\n\\t}\\n\\t// Replace any Unicode control codes\\n\\tfilepath = filepath.replace(/[\\\\x00-\\\\x1f\\\\x80-\\\\x9f]/g,\\\"_\\\");\\n\\t// Replace any characters that can't be used in cross-platform filenames\\n\\tfilepath = $tw.utils.transliterate(filepath.replace(/<|>|~|\\\\:|\\\\\\\"|\\\\||\\\\?|\\\\*|\\\\^/g,\\\"_\\\"));\\n\\t// Replace any dots or spaces at the end of the extension with the same number of underscores\\n\\textension = extension.replace(/[\\\\. ]+$/, function (u) { return u.replace(/[\\\\. ]/g, \\\"_\\\")});\\n\\t// Truncate the extension if it is too long\\n\\tif(extension.length > 32) {\\n\\t\\textension = extension.substr(0,32);\\n\\t}\\n\\t// If the filepath already ends in the extension then remove it\\n\\tif(filepath.substring(filepath.length - extension.length) === extension) {\\n\\t\\tfilepath = filepath.substring(0,filepath.length - extension.length);\\n\\t}\\n\\t// Truncate the filename if it is too long\\n\\tif(filepath.length > 200) {\\n\\t\\tfilepath = filepath.substr(0,200);\\n\\t}\\n\\t// If the resulting filename is blank (eg because the title is just punctuation)\\n\\tif(!filepath || /^_+$/g.test(filepath)) {\\n\\t\\t// ...then just use the character codes of the title\\n\\t\\tfilepath = \\\"\\\";\\n\\t\\t$tw.utils.each(title.split(\\\"\\\"),function(char) {\\n\\t\\t\\tif(filepath) {\\n\\t\\t\\t\\tfilepath += \\\"-\\\";\\n\\t\\t\\t}\\n\\t\\t\\tfilepath += char.charCodeAt(0).toString();\\n\\t\\t});\\n\\t}\\n\\t// Add a uniquifier if the file already exists\\n\\tvar fullPath, oldPath = (options.fileInfo) ? options.fileInfo.filepath : undefined,\\n\\t\\tcount = 0;\\n\\tdo {\\n\\t\\tfullPath = path.resolve(directory,filepath + (count ? \\\"_\\\" + count : \\\"\\\") + extension);\\n\\t\\tif(oldPath && oldPath == fullPath) {\\n\\t\\t\\tbreak;\\n\\t\\t}\\n\\t\\tcount++;\\n\\t} while(fs.existsSync(fullPath));\\n\\t// If the last write failed with an error, or if path does not start with:\\n\\t//\\tthe resolved options.directory, the resolved wikiPath directory, the wikiTiddlersPath directory, \\n\\t//\\tor the 'originalpath' directory, then $tw.utils.encodeURIComponentExtended() and resolve to tiddler directory.\\n\\tvar writePath = $tw.hooks.invokeHook(\\\"th-make-tiddler-path\\\",fullPath,fullPath),\\n\\t\\tencode = (options.fileInfo || {writeError: false}).writeError == true;\\n\\tif(!encode) {\\n\\t\\tencode = !(writePath.indexOf($tw.boot.wikiTiddlersPath) == 0 ||\\n\\t\\t\\twritePath.indexOf(path.resolve(directory)) == 0 ||\\n\\t\\t\\twritePath.indexOf(path.resolve($tw.boot.wikiPath)) == 0 ||\\n\\t\\t\\twritePath.indexOf(path.resolve($tw.boot.wikiTiddlersPath,originalpath)) == 0 );\\n\\t\\t}\\n\\tif(encode) {\\n\\t\\twritePath = path.resolve(directory,$tw.utils.encodeURIComponentExtended(fullPath));\\n\\t}\\n\\t// Return the full path to the file\\n\\treturn writePath;\\n};\\n\\n/*\\nSave a tiddler to a file described by the fileInfo:\\n\\tfilepath: the absolute path to the file containing the tiddler\\n\\ttype: the type of the tiddler file (NOT the type of the tiddler)\\n\\thasMetaFile: true if the file also has a companion .meta file\\n*/\\nexports.saveTiddlerToFile = function(tiddler,fileInfo,callback) {\\n\\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\\n\\tif(fileInfo.hasMetaFile) {\\n\\t\\t// Save the tiddler as a separate body and meta file\\n\\t\\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \\\"text/plain\\\"] || {encoding: \\\"utf8\\\"};\\n\\t\\tfs.writeFile(fileInfo.filepath,tiddler.fields.text || \\\"\\\",typeInfo.encoding,function(err) {\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t}\\n\\t\\t\\tfs.writeFile(fileInfo.filepath + \\\".meta\\\",tiddler.getFieldStringBlock({exclude: [\\\"text\\\",\\\"bag\\\"]}),\\\"utf8\\\",function(err) {\\n\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn callback(null,fileInfo);\\n\\t\\t\\t});\\n\\t\\t});\\n\\t} else {\\n\\t\\t// Save the tiddler as a self contained templated file\\n\\t\\tif(fileInfo.type === \\\"application/x-tiddler\\\") {\\n\\t\\t\\tfs.writeFile(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\\\"text\\\",\\\"bag\\\"]}) + (!!tiddler.fields.text ? \\\"\\\\n\\\\n\\\" + tiddler.fields.text : \\\"\\\"),\\\"utf8\\\",function(err) {\\n\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn callback(null,fileInfo);\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tfs.writeFile(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\\\"bag\\\"]})],null,$tw.config.preferences.jsonSpaces),\\\"utf8\\\",function(err) {\\n\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn callback(null,fileInfo);\\n\\t\\t\\t});\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nSave a tiddler to a file described by the fileInfo:\\n\\tfilepath: the absolute path to the file containing the tiddler\\n\\ttype: the type of the tiddler file (NOT the type of the tiddler)\\n\\thasMetaFile: true if the file also has a companion .meta file\\n*/\\nexports.saveTiddlerToFileSync = function(tiddler,fileInfo) {\\n\\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\\n\\tif(fileInfo.hasMetaFile) {\\n\\t\\t// Save the tiddler as a separate body and meta file\\n\\t\\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \\\"text/plain\\\"] || {encoding: \\\"utf8\\\"};\\n\\t\\tfs.writeFileSync(fileInfo.filepath,tiddler.fields.text || \\\"\\\",typeInfo.encoding);\\n\\t\\tfs.writeFileSync(fileInfo.filepath + \\\".meta\\\",tiddler.getFieldStringBlock({exclude: [\\\"text\\\",\\\"bag\\\"]}),\\\"utf8\\\");\\n\\t} else {\\n\\t\\t// Save the tiddler as a self contained templated file\\n\\t\\tif(fileInfo.type === \\\"application/x-tiddler\\\") {\\n\\t\\t\\tfs.writeFileSync(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\\\"text\\\",\\\"bag\\\"]}) + (!!tiddler.fields.text ? \\\"\\\\n\\\\n\\\" + tiddler.fields.text : \\\"\\\"),\\\"utf8\\\");\\n\\t\\t} else {\\n\\t\\t\\tfs.writeFileSync(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\\\"bag\\\"]})],null,$tw.config.preferences.jsonSpaces),\\\"utf8\\\");\\n\\t\\t}\\n\\t}\\n\\treturn fileInfo;\\n};\\n\\n/*\\nDelete a file described by the fileInfo if it exits\\n*/\\nexports.deleteTiddlerFile = function(fileInfo,callback) {\\n\\t//Only attempt to delete files that exist on disk\\n\\tif(!fileInfo.filepath || !fs.existsSync(fileInfo.filepath)) {\\n\\t\\t//For some reason, the tiddler is only in memory or we can't modify the file at this path\\n\\t\\t$tw.syncer.displayError(\\\"Server deleteTiddlerFile task failed for filepath: \\\"+fileInfo.filepath);\\n\\t\\treturn callback(null,fileInfo);\\n\\t}\\n\\t// Delete the file\\n\\tfs.unlink(fileInfo.filepath,function(err) {\\n\\t\\tif(err) {\\n\\t\\t\\treturn callback(err);\\n\\t\\t}\\n\\t\\t// Delete the metafile if present\\n\\t\\tif(fileInfo.hasMetaFile && fs.existsSync(fileInfo.filepath + \\\".meta\\\")) {\\n\\t\\t\\tfs.unlink(fileInfo.filepath + \\\".meta\\\",function(err) {\\n\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn $tw.utils.deleteEmptyDirs(path.dirname(fileInfo.filepath),function(err) {\\n\\t\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\treturn callback(null,fileInfo);\\n\\t\\t\\t\\t});\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\treturn $tw.utils.deleteEmptyDirs(path.dirname(fileInfo.filepath),function(err) {\\n\\t\\t\\t\\tif(err) {\\n\\t\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn callback(null,fileInfo);\\n\\t\\t\\t});\\n\\t\\t}\\n\\t});\\n};\\n\\n/*\\nCleanup old files on disk, by comparing the options values:\\n\\tadaptorInfo from $tw.syncer.tiddlerInfo\\n\\tbootInfo from $tw.boot.files\\n*/\\nexports.cleanupTiddlerFiles = function(options,callback) {\\n\\tvar adaptorInfo = options.adaptorInfo || {},\\n\\tbootInfo = options.bootInfo || {},\\n\\ttitle = options.title || \\\"undefined\\\";\\n\\tif(adaptorInfo.filepath && bootInfo.filepath && adaptorInfo.filepath !== bootInfo.filepath) {\\n\\t\\t$tw.utils.deleteTiddlerFile(adaptorInfo,function(err) {\\n\\t\\t\\tif(err) {\\n\\t\\t\\t\\tif ((err.code == \\\"EPERM\\\" || err.code == \\\"EACCES\\\") && err.syscall == \\\"unlink\\\") {\\n\\t\\t\\t\\t\\t// Error deleting the previous file on disk, should fail gracefully\\n\\t\\t\\t\\t\\t$tw.syncer.displayError(\\\"Server desynchronized. Error cleaning up previous file for tiddler: \\\\\\\"\\\"+title+\\\"\\\\\\\"\\\",err);\\n\\t\\t\\t\\t\\treturn callback(null,bootInfo);\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\treturn callback(err);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn callback(null,bootInfo);\\n\\t\\t});\\n\\t} else {\\n\\t\\treturn callback(null,bootInfo);\\n\\t}\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils-node\"},\"$:/core/modules/utils/linkedlist.js\":{\"title\":\"$:/core/modules/utils/linkedlist.js\",\"text\":\"/*\\\\\\nmodule-type: utils\\ntitle: $:/core/modules/utils/linkedlist.js\\ntype: application/javascript\\n\\nThis is a doubly-linked indexed list intended for manipulation, particularly\\npushTop, which it does with significantly better performance than an array.\\n\\n\\\\*/\\n(function(){\\n\\nfunction LinkedList() {\\n\\tthis.clear();\\n};\\n\\nLinkedList.prototype.clear = function() {\\n\\t// LinkedList performs the duty of both the head and tail node\\n\\tthis.next = new LLMap();\\n\\tthis.prev = new LLMap();\\n\\t// Linked list head initially points to itself\\n\\tthis.next.set(null, null);\\n\\tthis.prev.set(null, null);\\n\\tthis.length = 0;\\n};\\n\\nLinkedList.prototype.remove = function(value) {\\n\\tif($tw.utils.isArray(value)) {\\n\\t\\tfor(var t=0; t<value.length; t++) {\\n\\t\\t\\t_assertString(value[t]);\\n\\t\\t}\\n\\t\\tfor(var t=0; t<value.length; t++) {\\n\\t\\t\\t_removeOne(this,value[t]);\\n\\t\\t}\\n\\t} else {\\n\\t\\t_assertString(value);\\n\\t\\t_removeOne(this,value);\\n\\t}\\n};\\n\\n/*\\nPush behaves like array.push and accepts multiple string arguments. But it also\\naccepts a single array argument too, to be consistent with its other methods.\\n*/\\nLinkedList.prototype.push = function(/* values */) {\\n\\tvar i, values = arguments;\\n\\tif($tw.utils.isArray(values[0])) {\\n\\t\\tvalues = values[0];\\n\\t}\\n\\tfor(i = 0; i < values.length; i++) {\\n\\t\\t_assertString(values[i]);\\n\\t}\\n\\tfor(i = 0; i < values.length; i++) {\\n\\t\\t_linkToEnd(this,values[i]);\\n\\t}\\n\\treturn this.length;\\n};\\n\\nLinkedList.prototype.pushTop = function(value) {\\n\\tvar t;\\n\\tif($tw.utils.isArray(value)) {\\n\\t\\tfor (t=0; t<value.length; t++) {\\n\\t\\t\\t_assertString(value[t]);\\n\\t\\t}\\n\\t\\tfor(t=0; t<value.length; t++) {\\n\\t\\t\\t_removeOne(this,value[t]);\\n\\t\\t}\\n\\t\\tfor(t=0; t<value.length; t++) {\\n\\t\\t\\t_linkToEnd(this,value[t]);\\n\\t\\t}\\n\\t} else {\\n\\t\\t_assertString(value);\\n\\t\\t_removeOne(this,value);\\n\\t\\t_linkToEnd(this,value);\\n\\t}\\n};\\n\\nLinkedList.prototype.each = function(callback) {\\n\\tvar visits = Object.create(null),\\n\\t\\tvalue = this.next.get(null);\\n\\twhile(value !== null) {\\n\\t\\tcallback(value);\\n\\t\\tvar next = this.next.get(value);\\n\\t\\tif(Array.isArray(next)) {\\n\\t\\t\\tvar i = visits[value] || 0;\\n\\t\\t\\tvisits[value] = i+1;\\n\\t\\t\\tvalue = next[i];\\n\\t\\t} else {\\n\\t\\t\\tvalue = next;\\n\\t\\t}\\n\\t}\\n};\\n\\nLinkedList.prototype.toArray = function() {\\n\\tvar output = new Array(this.length),\\n\\t\\tindex = 0;\\n\\tthis.each(function(value) { output[index++] = value; });\\n\\treturn output;\\n};\\n\\nLinkedList.prototype.makeTiddlerIterator = function(wiki) {\\n\\tvar self = this;\\n\\treturn function(callback) {\\n\\t\\tself.each(function(title) {\\n\\t\\t\\tcallback(wiki.getTiddler(title),title);\\n\\t\\t});\\n\\t};\\n};\\n\\nfunction _removeOne(list,value) {\\n\\tvar nextEntry = list.next.get(value);\\n\\tif(nextEntry === undefined) {\\n\\t\\treturn;\\n\\t}\\n\\tvar prevEntry = list.prev.get(value),\\n\\t\\tprev = prevEntry,\\n\\t\\tnext = nextEntry,\\n\\t\\tref;\\n\\tif(Array.isArray(nextEntry)) {\\n\\t\\tnext = nextEntry[0];\\n\\t\\tprev = prevEntry[0];\\n\\t}\\n\\t// Relink preceding element.\\n\\tref = list.next.get(prev);\\n\\tif(Array.isArray(ref)) {\\n\\t\\tvar i = ref.indexOf(value);\\n\\t\\tref[i] = next;\\n\\t} else {\\n\\t\\tlist.next.set(prev,next);\\n\\t}\\n\\n\\t// Now relink following element\\n\\tref = list.prev.get(next);\\n\\tif(Array.isArray(ref)) {\\n\\t\\tvar i = ref.indexOf(value);\\n\\t\\tref[i] = prev;\\n\\t} else {\\n\\t\\tlist.prev.set(next,prev);\\n\\t}\\n\\n\\t// Delink actual value. If it uses arrays, just remove first entries.\\n\\tif(Array.isArray(nextEntry) && nextEntry.length > 1) {\\n\\t\\tnextEntry.shift();\\n\\t\\tprevEntry.shift();\\n\\t} else {\\n\\t\\tlist.next.set(value,undefined);\\n\\t\\tlist.prev.set(value,undefined);\\n\\t}\\n\\tlist.length -= 1;\\n};\\n\\n// Sticks the given node onto the end of the list.\\nfunction _linkToEnd(list,value) {\\n\\tvar old = list.next.get(value);\\n\\tvar last = list.prev.get(null);\\n\\t// Does it already exists?\\n\\tif(old !== undefined) {\\n\\t\\tif(!Array.isArray(old)) {\\n\\t\\t\\told = [old];\\n\\t\\t\\tlist.next.set(value,old);\\n\\t\\t\\tlist.prev.set(value,[list.prev.get(value)]);\\n\\t\\t}\\n\\t\\told.push(null);\\n\\t\\tlist.prev.get(value).push(last);\\n\\t} else {\\n\\t\\tlist.next.set(value,null);\\n\\t\\tlist.prev.set(value,last);\\n\\t}\\n\\t// Make the old last point to this new one.\\n\\tif(value !== last) {\\n\\t\\tvar array = list.next.get(last);\\n\\t\\tif(Array.isArray(array)) {\\n\\t\\t\\tarray[array.length-1] = value;\\n\\t\\t} else {\\n\\t\\t\\tlist.next.set(last,value);\\n\\t\\t}\\n\\t\\tlist.prev.set(null,value);\\n\\t} else {\\n\\t\\t// Edge case, the pushed value was already the last value.\\n\\t\\t// The second-to-last nextPtr for that value must point to itself now.\\n\\t\\tvar array = list.next.get(last);\\n\\t\\tarray[array.length-2] = value;\\n\\t}\\n\\tlist.length += 1;\\n};\\n\\nfunction _assertString(value) {\\n\\tif(typeof value !== \\\"string\\\") {\\n\\t\\tthrow \\\"Linked List only accepts string values, not \\\" + value;\\n\\t}\\n};\\n\\nvar LLMap = function() {\\n\\tthis.map = Object.create(null);\\n};\\n\\n// Just a wrapper so our object map can also accept null.\\nLLMap.prototype = {\\n\\tset: function(key,val) {\\n\\t\\t(key === null) ? (this.null = val) : (this.map[key] = val);\\n\\t},\\n\\tget: function(key) {\\n\\t\\treturn (key === null) ? this.null : this.map[key];\\n\\t}\\n};\\n\\nexports.LinkedList = LinkedList;\\n\\n})();\\n\",\"module-type\":\"utils\",\"type\":\"application/javascript\"},\"$:/core/modules/utils/logger.js\":{\"title\":\"$:/core/modules/utils/logger.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/logger.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nA basic logging implementation\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar ALERT_TAG = \\\"$:/tags/Alert\\\";\\n\\n/*\\nMake a new logger\\n*/\\nfunction Logger(componentName,options) {\\n\\toptions = options || {};\\n\\tthis.componentName = componentName || \\\"\\\";\\n\\tthis.colour = options.colour || \\\"white\\\";\\n\\tthis.enable = \\\"enable\\\" in options ? options.enable : true;\\n\\tthis.save = \\\"save\\\" in options ? options.save : true;\\n\\tthis.saveLimit = options.saveLimit || 100 * 1024;\\n\\tthis.saveBufferLogger = this;\\n\\tthis.buffer = \\\"\\\";\\n\\tthis.alertCount = 0;\\n}\\n\\nLogger.prototype.setSaveBuffer = function(logger) {\\n\\tthis.saveBufferLogger = logger;\\n};\\n\\n/*\\nLog a message\\n*/\\nLogger.prototype.log = function(/* args */) {\\n\\tvar self = this;\\n\\tif(this.enable) {\\n\\t\\tif(this.saveBufferLogger.save) {\\n\\t\\t\\tthis.saveBufferLogger.buffer += $tw.utils.formatDateString(new Date(),\\\"YYYY MM DD 0hh:0mm:0ss.0XXX\\\") + \\\":\\\";\\n\\t\\t\\t$tw.utils.each(Array.prototype.slice.call(arguments,0),function(arg,index) {\\n\\t\\t\\t\\tself.saveBufferLogger.buffer += \\\" \\\" + arg;\\n\\t\\t\\t});\\n\\t\\t\\tthis.saveBufferLogger.buffer += \\\"\\\\n\\\";\\n\\t\\t\\tthis.saveBufferLogger.buffer = this.saveBufferLogger.buffer.slice(-this.saveBufferLogger.saveLimit);\\n\\t\\t}\\n\\t\\tif(console !== undefined && console.log !== undefined) {\\n\\t\\t\\tvar logMessage = [$tw.utils.terminalColour(this.colour) + this.componentName + \\\":\\\"].concat(Array.prototype.slice.call(arguments,0));\\n\\t\\t\\tlogMessage[logMessage.length-1] += $tw.utils.terminalColour();\\n\\t\\t\\treturn Function.apply.call(console.log, console, logMessage);\\n\\t\\t}\\n\\t} \\n};\\n\\n/*\\nRead the message buffer\\n*/\\nLogger.prototype.getBuffer = function() {\\n\\treturn this.saveBufferLogger.buffer;\\n};\\n\\n/*\\nLog a structure as a table\\n*/\\nLogger.prototype.table = function(value) {\\n\\t(console.table || console.log)(value);\\n};\\n\\n/*\\nAlert a message\\n*/\\nLogger.prototype.alert = function(/* args */) {\\n\\tif(this.enable) {\\n\\t\\t// Prepare the text of the alert\\n\\t\\tvar text = Array.prototype.join.call(arguments,\\\" \\\");\\n\\t\\t// Create alert tiddlers in the browser\\n\\t\\tif($tw.browser) {\\n\\t\\t\\t// Check if there is an existing alert with the same text and the same component\\n\\t\\t\\tvar existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),\\n\\t\\t\\t\\talertFields,\\n\\t\\t\\t\\texistingCount,\\n\\t\\t\\t\\tself = this;\\n\\t\\t\\t$tw.utils.each(existingAlerts,function(title) {\\n\\t\\t\\t\\tvar tiddler = $tw.wiki.getTiddler(title);\\n\\t\\t\\t\\tif(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {\\n\\t\\t\\t\\t\\t\\talertFields = $tw.utils.extend({},tiddler.fields);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t\\tif(alertFields) {\\n\\t\\t\\t\\texistingCount = alertFields.count || 1;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\talertFields = {\\n\\t\\t\\t\\t\\ttitle: $tw.wiki.generateNewTitle(\\\"$:/temp/alerts/alert\\\",{prefix: \\\"\\\"}),\\n\\t\\t\\t\\t\\ttext: text,\\n\\t\\t\\t\\t\\ttags: [ALERT_TAG],\\n\\t\\t\\t\\t\\tcomponent: this.componentName\\n\\t\\t\\t\\t};\\n\\t\\t\\t\\texistingCount = 0;\\n\\t\\t\\t\\tthis.alertCount += 1;\\n\\t\\t\\t}\\n\\t\\t\\talertFields.modified = new Date();\\n\\t\\t\\tif(++existingCount > 1) {\\n\\t\\t\\t\\talertFields.count = existingCount;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\talertFields.count = undefined;\\n\\t\\t\\t}\\n\\t\\t\\t$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));\\n\\t\\t\\t// Log the alert as well\\n\\t\\t\\tthis.log.apply(this,Array.prototype.slice.call(arguments,0));\\n\\t\\t} else {\\n\\t\\t\\t// Print an orange message to the console if not in the browser\\n\\t\\t\\tconsole.error(\\\"\\\\x1b[1;33m\\\" + text + \\\"\\\\x1b[0m\\\");\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nClear outstanding alerts\\n*/\\nLogger.prototype.clearAlerts = function() {\\n\\tvar self = this;\\n\\tif($tw.browser && this.alertCount > 0) {\\n\\t\\t$tw.utils.each($tw.wiki.getTiddlersWithTag(ALERT_TAG),function(title) {\\n\\t\\t\\tvar tiddler = $tw.wiki.getTiddler(title);\\n\\t\\t\\tif(tiddler.fields.component === self.componentName) {\\n\\t\\t\\t\\t$tw.wiki.deleteTiddler(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\tthis.alertCount = 0;\\n\\t}\\n};\\n\\nexports.Logger = Logger;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/parsetree.js\":{\"title\":\"$:/core/modules/utils/parsetree.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/parsetree.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nParse tree utility functions.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nAdd attribute to parse tree node\\nCan be invoked as (node,name,value) or (node,attr)\\n*/\\nexports.addAttributeToParseTreeNode = function(node,name,value) {\\n\\tvar attribute = typeof name === \\\"object\\\" ? name : {name: name, type: \\\"string\\\", value: value};\\n\\tname = attribute.name;\\n\\tnode.attributes = node.attributes || {};\\n\\tnode.orderedAttributes = node.orderedAttributes || [];\\n\\tnode.attributes[name] = attribute;\\n\\tvar foundIndex = -1;\\n\\t$tw.utils.each(node.orderedAttributes,function(attr,index) {\\n\\t\\tif(attr.name === name) {\\n\\t\\t\\tfoundIndex = index;\\n\\t\\t}\\n\\t});\\n\\tif(foundIndex === -1) {\\n\\t\\tnode.orderedAttributes.push(attribute);\\n\\t} else {\\n\\t\\tnode.orderedAttributes[foundIndex] = attribute;\\n\\t}\\n};\\n\\nexports.getOrderedAttributesFromParseTreeNode = function(node) {\\n\\tif(node.orderedAttributes) {\\n\\t\\treturn node.orderedAttributes;\\n\\t} else {\\n\\t\\tvar attributes = [];\\n\\t\\t$tw.utils.each(node.attributes,function(attribute) {\\n\\t\\t\\tattributes.push(attribute);\\n\\t\\t});\\n\\t\\treturn attributes.sort(function(a,b) {\\n\\t\\t\\treturn a.name < b.name ? -1 : (a.name > b.name ? 1 : 0);\\n\\t\\t});\\n\\t}\\n};\\n\\nexports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {\\n\\tif(node.attributes && node.attributes[name] && node.attributes[name].value !== undefined) {\\n\\t\\treturn node.attributes[name].value;\\n\\t}\\n\\treturn defaultValue;\\n};\\n\\nexports.addClassToParseTreeNode = function(node,classString) {\\n\\tvar classes = [],\\n\\t\\tattribute;\\n\\tnode.attributes = node.attributes || {};\\n\\tattribute = node.attributes[\\\"class\\\"];\\n\\tif(!attribute) {\\n\\t\\t// If the class attribute does not exist, we must create it first.\\n\\t\\tattribute = {name: \\\"class\\\", type: \\\"string\\\", value: \\\"\\\"};\\n\\t\\tnode.attributes[\\\"class\\\"] = attribute;\\n\\t\\tnode.orderedAttributes = node.orderedAttributes || [];\\n\\t\\tnode.orderedAttributes.push(attribute);\\n\\t}\\n\\tif(attribute.type === \\\"string\\\") {\\n\\t\\tif(attribute.value !== \\\"\\\") {\\n\\t\\t\\tclasses = attribute.value.split(\\\" \\\");\\n\\t\\t}\\n\\t\\tif(classString !== \\\"\\\") {\\n\\t\\t\\t$tw.utils.pushTop(classes,classString.split(\\\" \\\"));\\n\\t\\t}\\n\\t\\tattribute.value = classes.join(\\\" \\\");\\n\\t}\\n};\\n\\nexports.addStyleToParseTreeNode = function(node,name,value) {\\n\\tvar attribute;\\n\\tnode.attributes = node.attributes || {};\\n\\tattribute = node.attributes.style;\\n\\tif(!attribute) {\\n\\t\\tattribute = {name: \\\"style\\\", type: \\\"string\\\", value: \\\"\\\"};\\n\\t\\tnode.attributes.style = attribute;\\n\\t\\tnode.orderedAttributes = node.orderedAttributes || [];\\n\\t\\tnode.orderedAttributes.push(attribute);\\n\\t}\\n\\tif(attribute.type === \\\"string\\\") {\\n\\t\\tattribute.value += name + \\\":\\\" + value + \\\";\\\";\\n\\t}\\n};\\n\\nexports.findParseTreeNode = function(nodeArray,search) {\\n\\tfor(var t=0; t<nodeArray.length; t++) {\\n\\t\\tif(nodeArray[t].type === search.type && nodeArray[t].tag === search.tag) {\\n\\t\\t\\treturn nodeArray[t];\\n\\t\\t}\\n\\t}\\n\\treturn undefined;\\n};\\n\\n/*\\nHelper to get the text of a parse tree node or array of nodes\\n*/\\nexports.getParseTreeText = function getParseTreeText(tree) {\\n\\tvar output = [];\\n\\tif($tw.utils.isArray(tree)) {\\n\\t\\t$tw.utils.each(tree,function(node) {\\n\\t\\t\\toutput.push(getParseTreeText(node));\\n\\t\\t});\\n\\t} else {\\n\\t\\tif(tree.type === \\\"text\\\") {\\n\\t\\t\\toutput.push(tree.text);\\n\\t\\t}\\n\\t\\tif(tree.children) {\\n\\t\\t\\treturn getParseTreeText(tree.children);\\n\\t\\t}\\n\\t}\\n\\treturn output.join(\\\"\\\");\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/performance.js\":{\"title\":\"$:/core/modules/utils/performance.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/performance.js\\ntype: application/javascript\\nmodule-type: global\\n\\nPerformance measurement.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nfunction Performance(enabled) {\\n\\tthis.enabled = !!enabled;\\n\\tthis.measures = {}; // Hashmap by measurement name of {time:, invocations:}\\n\\tthis.logger = new $tw.utils.Logger(\\\"performance\\\");\\n\\tthis.showGreeting();\\n}\\n\\nPerformance.prototype.showGreeting = function() {\\n\\tif($tw.browser) {\\n\\t\\tthis.logger.log(\\\"Execute $tw.perf.log(); to see filter execution timings\\\");\\n\\t}\\n};\\n\\n/*\\nWrap performance reporting around a top level function\\n*/\\nPerformance.prototype.report = function(name,fn) {\\n\\tvar self = this;\\n\\tif(this.enabled) {\\n\\t\\treturn function() {\\n\\t\\t\\tvar startTime = $tw.utils.timer(),\\n\\t\\t\\t\\tresult = fn.apply(this,arguments);\\n\\t\\t\\tself.logger.log(name + \\\": \\\" + $tw.utils.timer(startTime).toFixed(2) + \\\"ms\\\");\\n\\t\\t\\treturn result;\\n\\t\\t};\\n\\t} else {\\n\\t\\treturn fn;\\n\\t}\\n};\\n\\nPerformance.prototype.log = function() {\\n\\tvar self = this,\\n\\t\\ttotalTime = 0,\\n\\t\\torderedMeasures = Object.keys(this.measures).sort(function(a,b) {\\n\\t\\t\\tif(self.measures[a].time > self.measures[b].time) {\\n\\t\\t\\t\\treturn -1;\\n\\t\\t\\t} else if (self.measures[a].time < self.measures[b].time) {\\n\\t\\t\\t\\treturn + 1;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn 0;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t$tw.utils.each(orderedMeasures,function(name) {\\n\\t\\ttotalTime += self.measures[name].time;\\n\\t});\\n\\tvar results = []\\n\\t$tw.utils.each(orderedMeasures,function(name) {\\n\\t\\tvar measure = self.measures[name];\\n\\t\\tresults.push({name: name,invocations: measure.invocations, avgTime: measure.time / measure.invocations, totalTime: measure.time, percentTime: (measure.time / totalTime) * 100})\\n\\t});\\n\\tself.logger.table(results);\\n};\\n\\n/*\\nWrap performance measurements around a subfunction\\n*/\\nPerformance.prototype.measure = function(name,fn) {\\n\\tvar self = this;\\n\\tif(this.enabled) {\\n\\t\\treturn function() {\\n\\t\\t\\tvar startTime = $tw.utils.timer(),\\n\\t\\t\\t\\tresult = fn.apply(this,arguments);\\n\\t\\t\\tif(!(name in self.measures)) {\\n\\t\\t\\t\\tself.measures[name] = {time: 0, invocations: 0};\\n\\t\\t\\t}\\n\\t\\t\\tself.measures[name].time += $tw.utils.timer(startTime);\\n\\t\\t\\tself.measures[name].invocations++;\\n\\t\\t\\treturn result;\\n\\t\\t};\\n\\t} else {\\n\\t\\treturn fn;\\n\\t}\\n};\\n\\nexports.Performance = Performance;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"global\"},\"$:/core/modules/utils/pluginmaker.js\":{\"title\":\"$:/core/modules/utils/pluginmaker.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/pluginmaker.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nA quick and dirty way to pack up plugins within the browser.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nRepack a plugin, and then delete any non-shadow payload tiddlers\\n*/\\nexports.repackPlugin = function(title,additionalTiddlers,excludeTiddlers) {\\n\\tadditionalTiddlers = additionalTiddlers || [];\\n\\texcludeTiddlers = excludeTiddlers || [];\\n\\t// Get the plugin tiddler\\n\\tvar pluginTiddler = $tw.wiki.getTiddler(title);\\n\\tif(!pluginTiddler) {\\n\\t\\tthrow \\\"No such tiddler as \\\" + title;\\n\\t}\\n\\t// Extract the JSON\\n\\tvar jsonPluginTiddler = $tw.utils.parseJSONSafe(pluginTiddler.fields.text,null);\\n\\tif(!jsonPluginTiddler) {\\n\\t\\tthrow \\\"Cannot parse plugin tiddler \\\" + title + \\\"\\\\n\\\" + $tw.language.getString(\\\"Error/Caption\\\") + \\\": \\\" + e;\\n\\t}\\n\\t// Get the list of tiddlers\\n\\tvar tiddlers = Object.keys(jsonPluginTiddler.tiddlers);\\n\\t// Add the additional tiddlers\\n\\t$tw.utils.pushTop(tiddlers,additionalTiddlers);\\n\\t// Remove any excluded tiddlers\\n\\tfor(var t=tiddlers.length-1; t>=0; t--) {\\n\\t\\tif(excludeTiddlers.indexOf(tiddlers[t]) !== -1) {\\n\\t\\t\\ttiddlers.splice(t,1);\\n\\t\\t}\\n\\t}\\n\\t// Pack up the tiddlers into a block of JSON\\n\\tvar plugins = {};\\n\\t$tw.utils.each(tiddlers,function(title) {\\n\\t\\tvar tiddler = $tw.wiki.getTiddler(title),\\n\\t\\t\\tfields = {};\\n\\t\\t$tw.utils.each(tiddler.fields,function (value,name) {\\n\\t\\t\\tfields[name] = tiddler.getFieldString(name);\\n\\t\\t});\\n\\t\\tplugins[title] = fields;\\n\\t});\\n\\t// Retrieve and bump the version number\\n\\tvar pluginVersion = $tw.utils.parseVersion(pluginTiddler.getFieldString(\\\"version\\\") || \\\"0.0.0\\\") || {\\n\\t\\t\\tmajor: \\\"0\\\",\\n\\t\\t\\tminor: \\\"0\\\",\\n\\t\\t\\tpatch: \\\"0\\\"\\n\\t\\t};\\n\\tpluginVersion.patch++;\\n\\tvar version = pluginVersion.major + \\\".\\\" + pluginVersion.minor + \\\".\\\" + pluginVersion.patch;\\n\\tif(pluginVersion.prerelease) {\\n\\t\\tversion += \\\"-\\\" + pluginVersion.prerelease;\\n\\t}\\n\\tif(pluginVersion.build) {\\n\\t\\tversion += \\\"+\\\" + pluginVersion.build;\\n\\t}\\n\\t// Save the tiddler\\n\\t$tw.wiki.addTiddler(new $tw.Tiddler(pluginTiddler,{text: JSON.stringify({tiddlers: plugins},null,4), version: version}));\\n\\t// Delete any non-shadow constituent tiddlers\\n\\t$tw.utils.each(tiddlers,function(title) {\\n\\t\\tif($tw.wiki.tiddlerExists(title)) {\\n\\t\\t\\t$tw.wiki.deleteTiddler(title);\\n\\t\\t}\\n\\t});\\n\\t// Trigger an autosave\\n\\t$tw.rootWidget.dispatchEvent({type: \\\"tm-auto-save-wiki\\\"});\\n\\t// Return a heartwarming confirmation\\n\\treturn \\\"Plugin \\\" + title + \\\" successfully saved\\\";\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/transliterate.js\":{\"title\":\"$:/core/modules/utils/transliterate.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/transliterate.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nTransliteration static utility functions.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nTransliterate string to ASCII\\n\\n(Some pairs taken from http://semplicewebsites.com/removing-accents-javascript)\\n*/\\nexports.transliterationPairs = {\\n\\t\\\"Á\\\":\\\"A\\\",\\n\\t\\\"Ă\\\":\\\"A\\\",\\n\\t\\\"Ắ\\\":\\\"A\\\",\\n\\t\\\"Ặ\\\":\\\"A\\\",\\n\\t\\\"Ằ\\\":\\\"A\\\",\\n\\t\\\"Ẳ\\\":\\\"A\\\",\\n\\t\\\"Ẵ\\\":\\\"A\\\",\\n\\t\\\"Ǎ\\\":\\\"A\\\",\\n\\t\\\"Â\\\":\\\"A\\\",\\n\\t\\\"Ấ\\\":\\\"A\\\",\\n\\t\\\"Ậ\\\":\\\"A\\\",\\n\\t\\\"Ầ\\\":\\\"A\\\",\\n\\t\\\"Ẩ\\\":\\\"A\\\",\\n\\t\\\"Ẫ\\\":\\\"A\\\",\\n\\t\\\"Ä\\\":\\\"A\\\",\\n\\t\\\"Ǟ\\\":\\\"A\\\",\\n\\t\\\"Ȧ\\\":\\\"A\\\",\\n\\t\\\"Ǡ\\\":\\\"A\\\",\\n\\t\\\"Ạ\\\":\\\"A\\\",\\n\\t\\\"Ȁ\\\":\\\"A\\\",\\n\\t\\\"À\\\":\\\"A\\\",\\n\\t\\\"Ả\\\":\\\"A\\\",\\n\\t\\\"Ȃ\\\":\\\"A\\\",\\n\\t\\\"Ā\\\":\\\"A\\\",\\n\\t\\\"Ą\\\":\\\"A\\\",\\n\\t\\\"Å\\\":\\\"A\\\",\\n\\t\\\"Ǻ\\\":\\\"A\\\",\\n\\t\\\"Ḁ\\\":\\\"A\\\",\\n\\t\\\"Ⱥ\\\":\\\"A\\\",\\n\\t\\\"Ã\\\":\\\"A\\\",\\n\\t\\\"Ꜳ\\\":\\\"AA\\\",\\n\\t\\\"Æ\\\":\\\"AE\\\",\\n\\t\\\"Ǽ\\\":\\\"AE\\\",\\n\\t\\\"Ǣ\\\":\\\"AE\\\",\\n\\t\\\"Ꜵ\\\":\\\"AO\\\",\\n\\t\\\"Ꜷ\\\":\\\"AU\\\",\\n\\t\\\"Ꜹ\\\":\\\"AV\\\",\\n\\t\\\"Ꜻ\\\":\\\"AV\\\",\\n\\t\\\"Ꜽ\\\":\\\"AY\\\",\\n\\t\\\"Ḃ\\\":\\\"B\\\",\\n\\t\\\"Ḅ\\\":\\\"B\\\",\\n\\t\\\"Ɓ\\\":\\\"B\\\",\\n\\t\\\"Ḇ\\\":\\\"B\\\",\\n\\t\\\"Ƀ\\\":\\\"B\\\",\\n\\t\\\"Ƃ\\\":\\\"B\\\",\\n\\t\\\"Ć\\\":\\\"C\\\",\\n\\t\\\"Č\\\":\\\"C\\\",\\n\\t\\\"Ç\\\":\\\"C\\\",\\n\\t\\\"Ḉ\\\":\\\"C\\\",\\n\\t\\\"Ĉ\\\":\\\"C\\\",\\n\\t\\\"Ċ\\\":\\\"C\\\",\\n\\t\\\"Ƈ\\\":\\\"C\\\",\\n\\t\\\"Ȼ\\\":\\\"C\\\",\\n\\t\\\"Ď\\\":\\\"D\\\",\\n\\t\\\"Ḑ\\\":\\\"D\\\",\\n\\t\\\"Ḓ\\\":\\\"D\\\",\\n\\t\\\"Ḋ\\\":\\\"D\\\",\\n\\t\\\"Ḍ\\\":\\\"D\\\",\\n\\t\\\"Ɗ\\\":\\\"D\\\",\\n\\t\\\"Ḏ\\\":\\\"D\\\",\\n\\t\\\"Dz\\\":\\\"D\\\",\\n\\t\\\"Dž\\\":\\\"D\\\",\\n\\t\\\"Đ\\\":\\\"D\\\",\\n\\t\\\"Ƌ\\\":\\\"D\\\",\\n\\t\\\"DZ\\\":\\\"DZ\\\",\\n\\t\\\"DŽ\\\":\\\"DZ\\\",\\n\\t\\\"É\\\":\\\"E\\\",\\n\\t\\\"Ĕ\\\":\\\"E\\\",\\n\\t\\\"Ě\\\":\\\"E\\\",\\n\\t\\\"Ȩ\\\":\\\"E\\\",\\n\\t\\\"Ḝ\\\":\\\"E\\\",\\n\\t\\\"Ê\\\":\\\"E\\\",\\n\\t\\\"Ế\\\":\\\"E\\\",\\n\\t\\\"Ệ\\\":\\\"E\\\",\\n\\t\\\"Ề\\\":\\\"E\\\",\\n\\t\\\"Ể\\\":\\\"E\\\",\\n\\t\\\"Ễ\\\":\\\"E\\\",\\n\\t\\\"Ḙ\\\":\\\"E\\\",\\n\\t\\\"Ë\\\":\\\"E\\\",\\n\\t\\\"Ė\\\":\\\"E\\\",\\n\\t\\\"Ẹ\\\":\\\"E\\\",\\n\\t\\\"Ȅ\\\":\\\"E\\\",\\n\\t\\\"È\\\":\\\"E\\\",\\n\\t\\\"Ẻ\\\":\\\"E\\\",\\n\\t\\\"Ȇ\\\":\\\"E\\\",\\n\\t\\\"Ē\\\":\\\"E\\\",\\n\\t\\\"Ḗ\\\":\\\"E\\\",\\n\\t\\\"Ḕ\\\":\\\"E\\\",\\n\\t\\\"Ę\\\":\\\"E\\\",\\n\\t\\\"Ɇ\\\":\\\"E\\\",\\n\\t\\\"Ẽ\\\":\\\"E\\\",\\n\\t\\\"Ḛ\\\":\\\"E\\\",\\n\\t\\\"Ꝫ\\\":\\\"ET\\\",\\n\\t\\\"Ḟ\\\":\\\"F\\\",\\n\\t\\\"Ƒ\\\":\\\"F\\\",\\n\\t\\\"Ǵ\\\":\\\"G\\\",\\n\\t\\\"Ğ\\\":\\\"G\\\",\\n\\t\\\"Ǧ\\\":\\\"G\\\",\\n\\t\\\"Ģ\\\":\\\"G\\\",\\n\\t\\\"Ĝ\\\":\\\"G\\\",\\n\\t\\\"Ġ\\\":\\\"G\\\",\\n\\t\\\"Ɠ\\\":\\\"G\\\",\\n\\t\\\"Ḡ\\\":\\\"G\\\",\\n\\t\\\"Ǥ\\\":\\\"G\\\",\\n\\t\\\"Ḫ\\\":\\\"H\\\",\\n\\t\\\"Ȟ\\\":\\\"H\\\",\\n\\t\\\"Ḩ\\\":\\\"H\\\",\\n\\t\\\"Ĥ\\\":\\\"H\\\",\\n\\t\\\"Ⱨ\\\":\\\"H\\\",\\n\\t\\\"Ḧ\\\":\\\"H\\\",\\n\\t\\\"Ḣ\\\":\\\"H\\\",\\n\\t\\\"Ḥ\\\":\\\"H\\\",\\n\\t\\\"Ħ\\\":\\\"H\\\",\\n\\t\\\"Í\\\":\\\"I\\\",\\n\\t\\\"Ĭ\\\":\\\"I\\\",\\n\\t\\\"Ǐ\\\":\\\"I\\\",\\n\\t\\\"Î\\\":\\\"I\\\",\\n\\t\\\"Ï\\\":\\\"I\\\",\\n\\t\\\"Ḯ\\\":\\\"I\\\",\\n\\t\\\"İ\\\":\\\"I\\\",\\n\\t\\\"Ị\\\":\\\"I\\\",\\n\\t\\\"Ȉ\\\":\\\"I\\\",\\n\\t\\\"Ì\\\":\\\"I\\\",\\n\\t\\\"Ỉ\\\":\\\"I\\\",\\n\\t\\\"Ȋ\\\":\\\"I\\\",\\n\\t\\\"Ī\\\":\\\"I\\\",\\n\\t\\\"Į\\\":\\\"I\\\",\\n\\t\\\"Ɨ\\\":\\\"I\\\",\\n\\t\\\"Ĩ\\\":\\\"I\\\",\\n\\t\\\"Ḭ\\\":\\\"I\\\",\\n\\t\\\"Ꝺ\\\":\\\"D\\\",\\n\\t\\\"Ꝼ\\\":\\\"F\\\",\\n\\t\\\"Ᵹ\\\":\\\"G\\\",\\n\\t\\\"Ꞃ\\\":\\\"R\\\",\\n\\t\\\"Ꞅ\\\":\\\"S\\\",\\n\\t\\\"Ꞇ\\\":\\\"T\\\",\\n\\t\\\"Ꝭ\\\":\\\"IS\\\",\\n\\t\\\"Ĵ\\\":\\\"J\\\",\\n\\t\\\"Ɉ\\\":\\\"J\\\",\\n\\t\\\"Ḱ\\\":\\\"K\\\",\\n\\t\\\"Ǩ\\\":\\\"K\\\",\\n\\t\\\"Ķ\\\":\\\"K\\\",\\n\\t\\\"Ⱪ\\\":\\\"K\\\",\\n\\t\\\"Ꝃ\\\":\\\"K\\\",\\n\\t\\\"Ḳ\\\":\\\"K\\\",\\n\\t\\\"Ƙ\\\":\\\"K\\\",\\n\\t\\\"Ḵ\\\":\\\"K\\\",\\n\\t\\\"Ꝁ\\\":\\\"K\\\",\\n\\t\\\"Ꝅ\\\":\\\"K\\\",\\n\\t\\\"Ĺ\\\":\\\"L\\\",\\n\\t\\\"Ƚ\\\":\\\"L\\\",\\n\\t\\\"Ľ\\\":\\\"L\\\",\\n\\t\\\"Ļ\\\":\\\"L\\\",\\n\\t\\\"Ḽ\\\":\\\"L\\\",\\n\\t\\\"Ḷ\\\":\\\"L\\\",\\n\\t\\\"Ḹ\\\":\\\"L\\\",\\n\\t\\\"Ⱡ\\\":\\\"L\\\",\\n\\t\\\"Ꝉ\\\":\\\"L\\\",\\n\\t\\\"Ḻ\\\":\\\"L\\\",\\n\\t\\\"Ŀ\\\":\\\"L\\\",\\n\\t\\\"Ɫ\\\":\\\"L\\\",\\n\\t\\\"Lj\\\":\\\"L\\\",\\n\\t\\\"Ł\\\":\\\"L\\\",\\n\\t\\\"LJ\\\":\\\"LJ\\\",\\n\\t\\\"Ḿ\\\":\\\"M\\\",\\n\\t\\\"Ṁ\\\":\\\"M\\\",\\n\\t\\\"Ṃ\\\":\\\"M\\\",\\n\\t\\\"Ɱ\\\":\\\"M\\\",\\n\\t\\\"Ń\\\":\\\"N\\\",\\n\\t\\\"Ň\\\":\\\"N\\\",\\n\\t\\\"Ņ\\\":\\\"N\\\",\\n\\t\\\"Ṋ\\\":\\\"N\\\",\\n\\t\\\"Ṅ\\\":\\\"N\\\",\\n\\t\\\"Ṇ\\\":\\\"N\\\",\\n\\t\\\"Ǹ\\\":\\\"N\\\",\\n\\t\\\"Ɲ\\\":\\\"N\\\",\\n\\t\\\"Ṉ\\\":\\\"N\\\",\\n\\t\\\"Ƞ\\\":\\\"N\\\",\\n\\t\\\"Nj\\\":\\\"N\\\",\\n\\t\\\"Ñ\\\":\\\"N\\\",\\n\\t\\\"NJ\\\":\\\"NJ\\\",\\n\\t\\\"ð\\\":\\\"d\\\",\\n\\t\\\"Ð\\\":\\\"D\\\",\\n\\t\\\"Ó\\\":\\\"O\\\",\\n\\t\\\"Ŏ\\\":\\\"O\\\",\\n\\t\\\"Ǒ\\\":\\\"O\\\",\\n\\t\\\"Ô\\\":\\\"O\\\",\\n\\t\\\"Ố\\\":\\\"O\\\",\\n\\t\\\"Ộ\\\":\\\"O\\\",\\n\\t\\\"Ồ\\\":\\\"O\\\",\\n\\t\\\"Ổ\\\":\\\"O\\\",\\n\\t\\\"Ỗ\\\":\\\"O\\\",\\n\\t\\\"Ö\\\":\\\"O\\\",\\n\\t\\\"Ȫ\\\":\\\"O\\\",\\n\\t\\\"Ȯ\\\":\\\"O\\\",\\n\\t\\\"Ȱ\\\":\\\"O\\\",\\n\\t\\\"Ọ\\\":\\\"O\\\",\\n\\t\\\"Ő\\\":\\\"O\\\",\\n\\t\\\"Ȍ\\\":\\\"O\\\",\\n\\t\\\"Ò\\\":\\\"O\\\",\\n\\t\\\"Ỏ\\\":\\\"O\\\",\\n\\t\\\"Ơ\\\":\\\"O\\\",\\n\\t\\\"Ớ\\\":\\\"O\\\",\\n\\t\\\"Ợ\\\":\\\"O\\\",\\n\\t\\\"Ờ\\\":\\\"O\\\",\\n\\t\\\"Ở\\\":\\\"O\\\",\\n\\t\\\"Ỡ\\\":\\\"O\\\",\\n\\t\\\"Ȏ\\\":\\\"O\\\",\\n\\t\\\"Ꝋ\\\":\\\"O\\\",\\n\\t\\\"Ꝍ\\\":\\\"O\\\",\\n\\t\\\"Ō\\\":\\\"O\\\",\\n\\t\\\"Ṓ\\\":\\\"O\\\",\\n\\t\\\"Ṑ\\\":\\\"O\\\",\\n\\t\\\"Ɵ\\\":\\\"O\\\",\\n\\t\\\"Ǫ\\\":\\\"O\\\",\\n\\t\\\"Ǭ\\\":\\\"O\\\",\\n\\t\\\"Ø\\\":\\\"O\\\",\\n\\t\\\"Ǿ\\\":\\\"O\\\",\\n\\t\\\"Õ\\\":\\\"O\\\",\\n\\t\\\"Ṍ\\\":\\\"O\\\",\\n\\t\\\"Ṏ\\\":\\\"O\\\",\\n\\t\\\"Ȭ\\\":\\\"O\\\",\\n\\t\\\"Ƣ\\\":\\\"OI\\\",\\n\\t\\\"Ꝏ\\\":\\\"OO\\\",\\n\\t\\\"Ɛ\\\":\\\"E\\\",\\n\\t\\\"Ɔ\\\":\\\"O\\\",\\n\\t\\\"Ȣ\\\":\\\"OU\\\",\\n\\t\\\"Ṕ\\\":\\\"P\\\",\\n\\t\\\"Ṗ\\\":\\\"P\\\",\\n\\t\\\"Ꝓ\\\":\\\"P\\\",\\n\\t\\\"Ƥ\\\":\\\"P\\\",\\n\\t\\\"Ꝕ\\\":\\\"P\\\",\\n\\t\\\"Ᵽ\\\":\\\"P\\\",\\n\\t\\\"Ꝑ\\\":\\\"P\\\",\\n\\t\\\"Ꝙ\\\":\\\"Q\\\",\\n\\t\\\"Ꝗ\\\":\\\"Q\\\",\\n\\t\\\"Ŕ\\\":\\\"R\\\",\\n\\t\\\"Ř\\\":\\\"R\\\",\\n\\t\\\"Ŗ\\\":\\\"R\\\",\\n\\t\\\"Ṙ\\\":\\\"R\\\",\\n\\t\\\"Ṛ\\\":\\\"R\\\",\\n\\t\\\"Ṝ\\\":\\\"R\\\",\\n\\t\\\"Ȑ\\\":\\\"R\\\",\\n\\t\\\"Ȓ\\\":\\\"R\\\",\\n\\t\\\"Ṟ\\\":\\\"R\\\",\\n\\t\\\"Ɍ\\\":\\\"R\\\",\\n\\t\\\"Ɽ\\\":\\\"R\\\",\\n\\t\\\"Ꜿ\\\":\\\"C\\\",\\n\\t\\\"Ǝ\\\":\\\"E\\\",\\n\\t\\\"ß\\\":\\\"ss\\\",\\n\\t\\\"ẞ\\\":\\\"SS\\\",\\n\\t\\\"Ś\\\":\\\"S\\\",\\n\\t\\\"Ṥ\\\":\\\"S\\\",\\n\\t\\\"Š\\\":\\\"S\\\",\\n\\t\\\"Ṧ\\\":\\\"S\\\",\\n\\t\\\"Ş\\\":\\\"S\\\",\\n\\t\\\"Ŝ\\\":\\\"S\\\",\\n\\t\\\"Ș\\\":\\\"S\\\",\\n\\t\\\"Ṡ\\\":\\\"S\\\",\\n\\t\\\"Ṣ\\\":\\\"S\\\",\\n\\t\\\"Ṩ\\\":\\\"S\\\",\\n\\t\\\"þ\\\": \\\"th\\\",\\n\\t\\\"Þ\\\": \\\"TH\\\",\\n\\t\\\"Ť\\\":\\\"T\\\",\\n\\t\\\"Ţ\\\":\\\"T\\\",\\n\\t\\\"Ṱ\\\":\\\"T\\\",\\n\\t\\\"Ț\\\":\\\"T\\\",\\n\\t\\\"Ⱦ\\\":\\\"T\\\",\\n\\t\\\"Ṫ\\\":\\\"T\\\",\\n\\t\\\"Ṭ\\\":\\\"T\\\",\\n\\t\\\"Ƭ\\\":\\\"T\\\",\\n\\t\\\"Ṯ\\\":\\\"T\\\",\\n\\t\\\"Ʈ\\\":\\\"T\\\",\\n\\t\\\"Ŧ\\\":\\\"T\\\",\\n\\t\\\"Ɐ\\\":\\\"A\\\",\\n\\t\\\"Ꞁ\\\":\\\"L\\\",\\n\\t\\\"Ɯ\\\":\\\"M\\\",\\n\\t\\\"Ʌ\\\":\\\"V\\\",\\n\\t\\\"Ꜩ\\\":\\\"TZ\\\",\\n\\t\\\"Ú\\\":\\\"U\\\",\\n\\t\\\"Ŭ\\\":\\\"U\\\",\\n\\t\\\"Ǔ\\\":\\\"U\\\",\\n\\t\\\"Û\\\":\\\"U\\\",\\n\\t\\\"Ṷ\\\":\\\"U\\\",\\n\\t\\\"Ü\\\":\\\"U\\\",\\n\\t\\\"Ǘ\\\":\\\"U\\\",\\n\\t\\\"Ǚ\\\":\\\"U\\\",\\n\\t\\\"Ǜ\\\":\\\"U\\\",\\n\\t\\\"Ǖ\\\":\\\"U\\\",\\n\\t\\\"Ṳ\\\":\\\"U\\\",\\n\\t\\\"Ụ\\\":\\\"U\\\",\\n\\t\\\"Ű\\\":\\\"U\\\",\\n\\t\\\"Ȕ\\\":\\\"U\\\",\\n\\t\\\"Ù\\\":\\\"U\\\",\\n\\t\\\"Ủ\\\":\\\"U\\\",\\n\\t\\\"Ư\\\":\\\"U\\\",\\n\\t\\\"Ứ\\\":\\\"U\\\",\\n\\t\\\"Ự\\\":\\\"U\\\",\\n\\t\\\"Ừ\\\":\\\"U\\\",\\n\\t\\\"Ử\\\":\\\"U\\\",\\n\\t\\\"Ữ\\\":\\\"U\\\",\\n\\t\\\"Ȗ\\\":\\\"U\\\",\\n\\t\\\"Ū\\\":\\\"U\\\",\\n\\t\\\"Ṻ\\\":\\\"U\\\",\\n\\t\\\"Ų\\\":\\\"U\\\",\\n\\t\\\"Ů\\\":\\\"U\\\",\\n\\t\\\"Ũ\\\":\\\"U\\\",\\n\\t\\\"Ṹ\\\":\\\"U\\\",\\n\\t\\\"Ṵ\\\":\\\"U\\\",\\n\\t\\\"Ꝟ\\\":\\\"V\\\",\\n\\t\\\"Ṿ\\\":\\\"V\\\",\\n\\t\\\"Ʋ\\\":\\\"V\\\",\\n\\t\\\"Ṽ\\\":\\\"V\\\",\\n\\t\\\"Ꝡ\\\":\\\"VY\\\",\\n\\t\\\"Ẃ\\\":\\\"W\\\",\\n\\t\\\"Ŵ\\\":\\\"W\\\",\\n\\t\\\"Ẅ\\\":\\\"W\\\",\\n\\t\\\"Ẇ\\\":\\\"W\\\",\\n\\t\\\"Ẉ\\\":\\\"W\\\",\\n\\t\\\"Ẁ\\\":\\\"W\\\",\\n\\t\\\"Ⱳ\\\":\\\"W\\\",\\n\\t\\\"Ẍ\\\":\\\"X\\\",\\n\\t\\\"Ẋ\\\":\\\"X\\\",\\n\\t\\\"Ý\\\":\\\"Y\\\",\\n\\t\\\"Ŷ\\\":\\\"Y\\\",\\n\\t\\\"Ÿ\\\":\\\"Y\\\",\\n\\t\\\"Ẏ\\\":\\\"Y\\\",\\n\\t\\\"Ỵ\\\":\\\"Y\\\",\\n\\t\\\"Ỳ\\\":\\\"Y\\\",\\n\\t\\\"Ƴ\\\":\\\"Y\\\",\\n\\t\\\"Ỷ\\\":\\\"Y\\\",\\n\\t\\\"Ỿ\\\":\\\"Y\\\",\\n\\t\\\"Ȳ\\\":\\\"Y\\\",\\n\\t\\\"Ɏ\\\":\\\"Y\\\",\\n\\t\\\"Ỹ\\\":\\\"Y\\\",\\n\\t\\\"Ź\\\":\\\"Z\\\",\\n\\t\\\"Ž\\\":\\\"Z\\\",\\n\\t\\\"Ẑ\\\":\\\"Z\\\",\\n\\t\\\"Ⱬ\\\":\\\"Z\\\",\\n\\t\\\"Ż\\\":\\\"Z\\\",\\n\\t\\\"Ẓ\\\":\\\"Z\\\",\\n\\t\\\"Ȥ\\\":\\\"Z\\\",\\n\\t\\\"Ẕ\\\":\\\"Z\\\",\\n\\t\\\"Ƶ\\\":\\\"Z\\\",\\n\\t\\\"IJ\\\":\\\"IJ\\\",\\n\\t\\\"Œ\\\":\\\"OE\\\",\\n\\t\\\"ᴀ\\\":\\\"A\\\",\\n\\t\\\"ᴁ\\\":\\\"AE\\\",\\n\\t\\\"ʙ\\\":\\\"B\\\",\\n\\t\\\"ᴃ\\\":\\\"B\\\",\\n\\t\\\"ᴄ\\\":\\\"C\\\",\\n\\t\\\"ᴅ\\\":\\\"D\\\",\\n\\t\\\"ᴇ\\\":\\\"E\\\",\\n\\t\\\"ꜰ\\\":\\\"F\\\",\\n\\t\\\"ɢ\\\":\\\"G\\\",\\n\\t\\\"ʛ\\\":\\\"G\\\",\\n\\t\\\"ʜ\\\":\\\"H\\\",\\n\\t\\\"ɪ\\\":\\\"I\\\",\\n\\t\\\"ʁ\\\":\\\"R\\\",\\n\\t\\\"ᴊ\\\":\\\"J\\\",\\n\\t\\\"ᴋ\\\":\\\"K\\\",\\n\\t\\\"ʟ\\\":\\\"L\\\",\\n\\t\\\"ᴌ\\\":\\\"L\\\",\\n\\t\\\"ᴍ\\\":\\\"M\\\",\\n\\t\\\"ɴ\\\":\\\"N\\\",\\n\\t\\\"ᴏ\\\":\\\"O\\\",\\n\\t\\\"ɶ\\\":\\\"OE\\\",\\n\\t\\\"ᴐ\\\":\\\"O\\\",\\n\\t\\\"ᴕ\\\":\\\"OU\\\",\\n\\t\\\"ᴘ\\\":\\\"P\\\",\\n\\t\\\"ʀ\\\":\\\"R\\\",\\n\\t\\\"ᴎ\\\":\\\"N\\\",\\n\\t\\\"ᴙ\\\":\\\"R\\\",\\n\\t\\\"ꜱ\\\":\\\"S\\\",\\n\\t\\\"ᴛ\\\":\\\"T\\\",\\n\\t\\\"ⱻ\\\":\\\"E\\\",\\n\\t\\\"ᴚ\\\":\\\"R\\\",\\n\\t\\\"ᴜ\\\":\\\"U\\\",\\n\\t\\\"ᴠ\\\":\\\"V\\\",\\n\\t\\\"ᴡ\\\":\\\"W\\\",\\n\\t\\\"ʏ\\\":\\\"Y\\\",\\n\\t\\\"ᴢ\\\":\\\"Z\\\",\\n\\t\\\"á\\\":\\\"a\\\",\\n\\t\\\"ă\\\":\\\"a\\\",\\n\\t\\\"ắ\\\":\\\"a\\\",\\n\\t\\\"ặ\\\":\\\"a\\\",\\n\\t\\\"ằ\\\":\\\"a\\\",\\n\\t\\\"ẳ\\\":\\\"a\\\",\\n\\t\\\"ẵ\\\":\\\"a\\\",\\n\\t\\\"ǎ\\\":\\\"a\\\",\\n\\t\\\"â\\\":\\\"a\\\",\\n\\t\\\"ấ\\\":\\\"a\\\",\\n\\t\\\"ậ\\\":\\\"a\\\",\\n\\t\\\"ầ\\\":\\\"a\\\",\\n\\t\\\"ẩ\\\":\\\"a\\\",\\n\\t\\\"ẫ\\\":\\\"a\\\",\\n\\t\\\"ä\\\":\\\"a\\\",\\n\\t\\\"ǟ\\\":\\\"a\\\",\\n\\t\\\"ȧ\\\":\\\"a\\\",\\n\\t\\\"ǡ\\\":\\\"a\\\",\\n\\t\\\"ạ\\\":\\\"a\\\",\\n\\t\\\"ȁ\\\":\\\"a\\\",\\n\\t\\\"à\\\":\\\"a\\\",\\n\\t\\\"ả\\\":\\\"a\\\",\\n\\t\\\"ȃ\\\":\\\"a\\\",\\n\\t\\\"ā\\\":\\\"a\\\",\\n\\t\\\"ą\\\":\\\"a\\\",\\n\\t\\\"ᶏ\\\":\\\"a\\\",\\n\\t\\\"ẚ\\\":\\\"a\\\",\\n\\t\\\"å\\\":\\\"a\\\",\\n\\t\\\"ǻ\\\":\\\"a\\\",\\n\\t\\\"ḁ\\\":\\\"a\\\",\\n\\t\\\"ⱥ\\\":\\\"a\\\",\\n\\t\\\"ã\\\":\\\"a\\\",\\n\\t\\\"ꜳ\\\":\\\"aa\\\",\\n\\t\\\"æ\\\":\\\"ae\\\",\\n\\t\\\"ǽ\\\":\\\"ae\\\",\\n\\t\\\"ǣ\\\":\\\"ae\\\",\\n\\t\\\"ꜵ\\\":\\\"ao\\\",\\n\\t\\\"ꜷ\\\":\\\"au\\\",\\n\\t\\\"ꜹ\\\":\\\"av\\\",\\n\\t\\\"ꜻ\\\":\\\"av\\\",\\n\\t\\\"ꜽ\\\":\\\"ay\\\",\\n\\t\\\"ḃ\\\":\\\"b\\\",\\n\\t\\\"ḅ\\\":\\\"b\\\",\\n\\t\\\"ɓ\\\":\\\"b\\\",\\n\\t\\\"ḇ\\\":\\\"b\\\",\\n\\t\\\"ᵬ\\\":\\\"b\\\",\\n\\t\\\"ᶀ\\\":\\\"b\\\",\\n\\t\\\"ƀ\\\":\\\"b\\\",\\n\\t\\\"ƃ\\\":\\\"b\\\",\\n\\t\\\"ɵ\\\":\\\"o\\\",\\n\\t\\\"ć\\\":\\\"c\\\",\\n\\t\\\"č\\\":\\\"c\\\",\\n\\t\\\"ç\\\":\\\"c\\\",\\n\\t\\\"ḉ\\\":\\\"c\\\",\\n\\t\\\"ĉ\\\":\\\"c\\\",\\n\\t\\\"ɕ\\\":\\\"c\\\",\\n\\t\\\"ċ\\\":\\\"c\\\",\\n\\t\\\"ƈ\\\":\\\"c\\\",\\n\\t\\\"ȼ\\\":\\\"c\\\",\\n\\t\\\"ď\\\":\\\"d\\\",\\n\\t\\\"ḑ\\\":\\\"d\\\",\\n\\t\\\"ḓ\\\":\\\"d\\\",\\n\\t\\\"ȡ\\\":\\\"d\\\",\\n\\t\\\"ḋ\\\":\\\"d\\\",\\n\\t\\\"ḍ\\\":\\\"d\\\",\\n\\t\\\"ɗ\\\":\\\"d\\\",\\n\\t\\\"ᶑ\\\":\\\"d\\\",\\n\\t\\\"ḏ\\\":\\\"d\\\",\\n\\t\\\"ᵭ\\\":\\\"d\\\",\\n\\t\\\"ᶁ\\\":\\\"d\\\",\\n\\t\\\"đ\\\":\\\"d\\\",\\n\\t\\\"ɖ\\\":\\\"d\\\",\\n\\t\\\"ƌ\\\":\\\"d\\\",\\n\\t\\\"ı\\\":\\\"i\\\",\\n\\t\\\"ȷ\\\":\\\"j\\\",\\n\\t\\\"ɟ\\\":\\\"j\\\",\\n\\t\\\"ʄ\\\":\\\"j\\\",\\n\\t\\\"dz\\\":\\\"dz\\\",\\n\\t\\\"dž\\\":\\\"dz\\\",\\n\\t\\\"é\\\":\\\"e\\\",\\n\\t\\\"ĕ\\\":\\\"e\\\",\\n\\t\\\"ě\\\":\\\"e\\\",\\n\\t\\\"ȩ\\\":\\\"e\\\",\\n\\t\\\"ḝ\\\":\\\"e\\\",\\n\\t\\\"ê\\\":\\\"e\\\",\\n\\t\\\"ế\\\":\\\"e\\\",\\n\\t\\\"ệ\\\":\\\"e\\\",\\n\\t\\\"ề\\\":\\\"e\\\",\\n\\t\\\"ể\\\":\\\"e\\\",\\n\\t\\\"ễ\\\":\\\"e\\\",\\n\\t\\\"ḙ\\\":\\\"e\\\",\\n\\t\\\"ë\\\":\\\"e\\\",\\n\\t\\\"ė\\\":\\\"e\\\",\\n\\t\\\"ẹ\\\":\\\"e\\\",\\n\\t\\\"ȅ\\\":\\\"e\\\",\\n\\t\\\"è\\\":\\\"e\\\",\\n\\t\\\"ẻ\\\":\\\"e\\\",\\n\\t\\\"ȇ\\\":\\\"e\\\",\\n\\t\\\"ē\\\":\\\"e\\\",\\n\\t\\\"ḗ\\\":\\\"e\\\",\\n\\t\\\"ḕ\\\":\\\"e\\\",\\n\\t\\\"ⱸ\\\":\\\"e\\\",\\n\\t\\\"ę\\\":\\\"e\\\",\\n\\t\\\"ᶒ\\\":\\\"e\\\",\\n\\t\\\"ɇ\\\":\\\"e\\\",\\n\\t\\\"ẽ\\\":\\\"e\\\",\\n\\t\\\"ḛ\\\":\\\"e\\\",\\n\\t\\\"ꝫ\\\":\\\"et\\\",\\n\\t\\\"ḟ\\\":\\\"f\\\",\\n\\t\\\"ƒ\\\":\\\"f\\\",\\n\\t\\\"ᵮ\\\":\\\"f\\\",\\n\\t\\\"ᶂ\\\":\\\"f\\\",\\n\\t\\\"ǵ\\\":\\\"g\\\",\\n\\t\\\"ğ\\\":\\\"g\\\",\\n\\t\\\"ǧ\\\":\\\"g\\\",\\n\\t\\\"ģ\\\":\\\"g\\\",\\n\\t\\\"ĝ\\\":\\\"g\\\",\\n\\t\\\"ġ\\\":\\\"g\\\",\\n\\t\\\"ɠ\\\":\\\"g\\\",\\n\\t\\\"ḡ\\\":\\\"g\\\",\\n\\t\\\"ᶃ\\\":\\\"g\\\",\\n\\t\\\"ǥ\\\":\\\"g\\\",\\n\\t\\\"ḫ\\\":\\\"h\\\",\\n\\t\\\"ȟ\\\":\\\"h\\\",\\n\\t\\\"ḩ\\\":\\\"h\\\",\\n\\t\\\"ĥ\\\":\\\"h\\\",\\n\\t\\\"ⱨ\\\":\\\"h\\\",\\n\\t\\\"ḧ\\\":\\\"h\\\",\\n\\t\\\"ḣ\\\":\\\"h\\\",\\n\\t\\\"ḥ\\\":\\\"h\\\",\\n\\t\\\"ɦ\\\":\\\"h\\\",\\n\\t\\\"ẖ\\\":\\\"h\\\",\\n\\t\\\"ħ\\\":\\\"h\\\",\\n\\t\\\"ƕ\\\":\\\"hv\\\",\\n\\t\\\"í\\\":\\\"i\\\",\\n\\t\\\"ĭ\\\":\\\"i\\\",\\n\\t\\\"ǐ\\\":\\\"i\\\",\\n\\t\\\"î\\\":\\\"i\\\",\\n\\t\\\"ï\\\":\\\"i\\\",\\n\\t\\\"ḯ\\\":\\\"i\\\",\\n\\t\\\"ị\\\":\\\"i\\\",\\n\\t\\\"ȉ\\\":\\\"i\\\",\\n\\t\\\"ì\\\":\\\"i\\\",\\n\\t\\\"ỉ\\\":\\\"i\\\",\\n\\t\\\"ȋ\\\":\\\"i\\\",\\n\\t\\\"ī\\\":\\\"i\\\",\\n\\t\\\"į\\\":\\\"i\\\",\\n\\t\\\"ᶖ\\\":\\\"i\\\",\\n\\t\\\"ɨ\\\":\\\"i\\\",\\n\\t\\\"ĩ\\\":\\\"i\\\",\\n\\t\\\"ḭ\\\":\\\"i\\\",\\n\\t\\\"ꝺ\\\":\\\"d\\\",\\n\\t\\\"ꝼ\\\":\\\"f\\\",\\n\\t\\\"ᵹ\\\":\\\"g\\\",\\n\\t\\\"ꞃ\\\":\\\"r\\\",\\n\\t\\\"ꞅ\\\":\\\"s\\\",\\n\\t\\\"ꞇ\\\":\\\"t\\\",\\n\\t\\\"ꝭ\\\":\\\"is\\\",\\n\\t\\\"ǰ\\\":\\\"j\\\",\\n\\t\\\"ĵ\\\":\\\"j\\\",\\n\\t\\\"ʝ\\\":\\\"j\\\",\\n\\t\\\"ɉ\\\":\\\"j\\\",\\n\\t\\\"ḱ\\\":\\\"k\\\",\\n\\t\\\"ǩ\\\":\\\"k\\\",\\n\\t\\\"ķ\\\":\\\"k\\\",\\n\\t\\\"ⱪ\\\":\\\"k\\\",\\n\\t\\\"ꝃ\\\":\\\"k\\\",\\n\\t\\\"ḳ\\\":\\\"k\\\",\\n\\t\\\"ƙ\\\":\\\"k\\\",\\n\\t\\\"ḵ\\\":\\\"k\\\",\\n\\t\\\"ᶄ\\\":\\\"k\\\",\\n\\t\\\"ꝁ\\\":\\\"k\\\",\\n\\t\\\"ꝅ\\\":\\\"k\\\",\\n\\t\\\"ĺ\\\":\\\"l\\\",\\n\\t\\\"ƚ\\\":\\\"l\\\",\\n\\t\\\"ɬ\\\":\\\"l\\\",\\n\\t\\\"ľ\\\":\\\"l\\\",\\n\\t\\\"ļ\\\":\\\"l\\\",\\n\\t\\\"ḽ\\\":\\\"l\\\",\\n\\t\\\"ȴ\\\":\\\"l\\\",\\n\\t\\\"ḷ\\\":\\\"l\\\",\\n\\t\\\"ḹ\\\":\\\"l\\\",\\n\\t\\\"ⱡ\\\":\\\"l\\\",\\n\\t\\\"ꝉ\\\":\\\"l\\\",\\n\\t\\\"ḻ\\\":\\\"l\\\",\\n\\t\\\"ŀ\\\":\\\"l\\\",\\n\\t\\\"ɫ\\\":\\\"l\\\",\\n\\t\\\"ᶅ\\\":\\\"l\\\",\\n\\t\\\"ɭ\\\":\\\"l\\\",\\n\\t\\\"ł\\\":\\\"l\\\",\\n\\t\\\"lj\\\":\\\"lj\\\",\\n\\t\\\"ſ\\\":\\\"s\\\",\\n\\t\\\"ẜ\\\":\\\"s\\\",\\n\\t\\\"ẛ\\\":\\\"s\\\",\\n\\t\\\"ẝ\\\":\\\"s\\\",\\n\\t\\\"ḿ\\\":\\\"m\\\",\\n\\t\\\"ṁ\\\":\\\"m\\\",\\n\\t\\\"ṃ\\\":\\\"m\\\",\\n\\t\\\"ɱ\\\":\\\"m\\\",\\n\\t\\\"ᵯ\\\":\\\"m\\\",\\n\\t\\\"ᶆ\\\":\\\"m\\\",\\n\\t\\\"ń\\\":\\\"n\\\",\\n\\t\\\"ň\\\":\\\"n\\\",\\n\\t\\\"ņ\\\":\\\"n\\\",\\n\\t\\\"ṋ\\\":\\\"n\\\",\\n\\t\\\"ȵ\\\":\\\"n\\\",\\n\\t\\\"ṅ\\\":\\\"n\\\",\\n\\t\\\"ṇ\\\":\\\"n\\\",\\n\\t\\\"ǹ\\\":\\\"n\\\",\\n\\t\\\"ɲ\\\":\\\"n\\\",\\n\\t\\\"ṉ\\\":\\\"n\\\",\\n\\t\\\"ƞ\\\":\\\"n\\\",\\n\\t\\\"ᵰ\\\":\\\"n\\\",\\n\\t\\\"ᶇ\\\":\\\"n\\\",\\n\\t\\\"ɳ\\\":\\\"n\\\",\\n\\t\\\"ñ\\\":\\\"n\\\",\\n\\t\\\"nj\\\":\\\"nj\\\",\\n\\t\\\"ó\\\":\\\"o\\\",\\n\\t\\\"ŏ\\\":\\\"o\\\",\\n\\t\\\"ǒ\\\":\\\"o\\\",\\n\\t\\\"ô\\\":\\\"o\\\",\\n\\t\\\"ố\\\":\\\"o\\\",\\n\\t\\\"ộ\\\":\\\"o\\\",\\n\\t\\\"ồ\\\":\\\"o\\\",\\n\\t\\\"ổ\\\":\\\"o\\\",\\n\\t\\\"ỗ\\\":\\\"o\\\",\\n\\t\\\"ö\\\":\\\"o\\\",\\n\\t\\\"ȫ\\\":\\\"o\\\",\\n\\t\\\"ȯ\\\":\\\"o\\\",\\n\\t\\\"ȱ\\\":\\\"o\\\",\\n\\t\\\"ọ\\\":\\\"o\\\",\\n\\t\\\"ő\\\":\\\"o\\\",\\n\\t\\\"ȍ\\\":\\\"o\\\",\\n\\t\\\"ò\\\":\\\"o\\\",\\n\\t\\\"ỏ\\\":\\\"o\\\",\\n\\t\\\"ơ\\\":\\\"o\\\",\\n\\t\\\"ớ\\\":\\\"o\\\",\\n\\t\\\"ợ\\\":\\\"o\\\",\\n\\t\\\"ờ\\\":\\\"o\\\",\\n\\t\\\"ở\\\":\\\"o\\\",\\n\\t\\\"ỡ\\\":\\\"o\\\",\\n\\t\\\"ȏ\\\":\\\"o\\\",\\n\\t\\\"ꝋ\\\":\\\"o\\\",\\n\\t\\\"ꝍ\\\":\\\"o\\\",\\n\\t\\\"ⱺ\\\":\\\"o\\\",\\n\\t\\\"ō\\\":\\\"o\\\",\\n\\t\\\"ṓ\\\":\\\"o\\\",\\n\\t\\\"ṑ\\\":\\\"o\\\",\\n\\t\\\"ǫ\\\":\\\"o\\\",\\n\\t\\\"ǭ\\\":\\\"o\\\",\\n\\t\\\"ø\\\":\\\"o\\\",\\n\\t\\\"ǿ\\\":\\\"o\\\",\\n\\t\\\"õ\\\":\\\"o\\\",\\n\\t\\\"ṍ\\\":\\\"o\\\",\\n\\t\\\"ṏ\\\":\\\"o\\\",\\n\\t\\\"ȭ\\\":\\\"o\\\",\\n\\t\\\"ƣ\\\":\\\"oi\\\",\\n\\t\\\"ꝏ\\\":\\\"oo\\\",\\n\\t\\\"ɛ\\\":\\\"e\\\",\\n\\t\\\"ᶓ\\\":\\\"e\\\",\\n\\t\\\"ɔ\\\":\\\"o\\\",\\n\\t\\\"ᶗ\\\":\\\"o\\\",\\n\\t\\\"ȣ\\\":\\\"ou\\\",\\n\\t\\\"ṕ\\\":\\\"p\\\",\\n\\t\\\"ṗ\\\":\\\"p\\\",\\n\\t\\\"ꝓ\\\":\\\"p\\\",\\n\\t\\\"ƥ\\\":\\\"p\\\",\\n\\t\\\"ᵱ\\\":\\\"p\\\",\\n\\t\\\"ᶈ\\\":\\\"p\\\",\\n\\t\\\"ꝕ\\\":\\\"p\\\",\\n\\t\\\"ᵽ\\\":\\\"p\\\",\\n\\t\\\"ꝑ\\\":\\\"p\\\",\\n\\t\\\"ꝙ\\\":\\\"q\\\",\\n\\t\\\"ʠ\\\":\\\"q\\\",\\n\\t\\\"ɋ\\\":\\\"q\\\",\\n\\t\\\"ꝗ\\\":\\\"q\\\",\\n\\t\\\"ŕ\\\":\\\"r\\\",\\n\\t\\\"ř\\\":\\\"r\\\",\\n\\t\\\"ŗ\\\":\\\"r\\\",\\n\\t\\\"ṙ\\\":\\\"r\\\",\\n\\t\\\"ṛ\\\":\\\"r\\\",\\n\\t\\\"ṝ\\\":\\\"r\\\",\\n\\t\\\"ȑ\\\":\\\"r\\\",\\n\\t\\\"ɾ\\\":\\\"r\\\",\\n\\t\\\"ᵳ\\\":\\\"r\\\",\\n\\t\\\"ȓ\\\":\\\"r\\\",\\n\\t\\\"ṟ\\\":\\\"r\\\",\\n\\t\\\"ɼ\\\":\\\"r\\\",\\n\\t\\\"ᵲ\\\":\\\"r\\\",\\n\\t\\\"ᶉ\\\":\\\"r\\\",\\n\\t\\\"ɍ\\\":\\\"r\\\",\\n\\t\\\"ɽ\\\":\\\"r\\\",\\n\\t\\\"ↄ\\\":\\\"c\\\",\\n\\t\\\"ꜿ\\\":\\\"c\\\",\\n\\t\\\"ɘ\\\":\\\"e\\\",\\n\\t\\\"ɿ\\\":\\\"r\\\",\\n\\t\\\"ś\\\":\\\"s\\\",\\n\\t\\\"ṥ\\\":\\\"s\\\",\\n\\t\\\"š\\\":\\\"s\\\",\\n\\t\\\"ṧ\\\":\\\"s\\\",\\n\\t\\\"ş\\\":\\\"s\\\",\\n\\t\\\"ŝ\\\":\\\"s\\\",\\n\\t\\\"ș\\\":\\\"s\\\",\\n\\t\\\"ṡ\\\":\\\"s\\\",\\n\\t\\\"ṣ\\\":\\\"s\\\",\\n\\t\\\"ṩ\\\":\\\"s\\\",\\n\\t\\\"ʂ\\\":\\\"s\\\",\\n\\t\\\"ᵴ\\\":\\\"s\\\",\\n\\t\\\"ᶊ\\\":\\\"s\\\",\\n\\t\\\"ȿ\\\":\\\"s\\\",\\n\\t\\\"ɡ\\\":\\\"g\\\",\\n\\t\\\"ᴑ\\\":\\\"o\\\",\\n\\t\\\"ᴓ\\\":\\\"o\\\",\\n\\t\\\"ᴝ\\\":\\\"u\\\",\\n\\t\\\"ť\\\":\\\"t\\\",\\n\\t\\\"ţ\\\":\\\"t\\\",\\n\\t\\\"ṱ\\\":\\\"t\\\",\\n\\t\\\"ț\\\":\\\"t\\\",\\n\\t\\\"ȶ\\\":\\\"t\\\",\\n\\t\\\"ẗ\\\":\\\"t\\\",\\n\\t\\\"ⱦ\\\":\\\"t\\\",\\n\\t\\\"ṫ\\\":\\\"t\\\",\\n\\t\\\"ṭ\\\":\\\"t\\\",\\n\\t\\\"ƭ\\\":\\\"t\\\",\\n\\t\\\"ṯ\\\":\\\"t\\\",\\n\\t\\\"ᵵ\\\":\\\"t\\\",\\n\\t\\\"ƫ\\\":\\\"t\\\",\\n\\t\\\"ʈ\\\":\\\"t\\\",\\n\\t\\\"ŧ\\\":\\\"t\\\",\\n\\t\\\"ᵺ\\\":\\\"th\\\",\\n\\t\\\"ɐ\\\":\\\"a\\\",\\n\\t\\\"ᴂ\\\":\\\"ae\\\",\\n\\t\\\"ǝ\\\":\\\"e\\\",\\n\\t\\\"ᵷ\\\":\\\"g\\\",\\n\\t\\\"ɥ\\\":\\\"h\\\",\\n\\t\\\"ʮ\\\":\\\"h\\\",\\n\\t\\\"ʯ\\\":\\\"h\\\",\\n\\t\\\"ᴉ\\\":\\\"i\\\",\\n\\t\\\"ʞ\\\":\\\"k\\\",\\n\\t\\\"ꞁ\\\":\\\"l\\\",\\n\\t\\\"ɯ\\\":\\\"m\\\",\\n\\t\\\"ɰ\\\":\\\"m\\\",\\n\\t\\\"ᴔ\\\":\\\"oe\\\",\\n\\t\\\"ɹ\\\":\\\"r\\\",\\n\\t\\\"ɻ\\\":\\\"r\\\",\\n\\t\\\"ɺ\\\":\\\"r\\\",\\n\\t\\\"ⱹ\\\":\\\"r\\\",\\n\\t\\\"ʇ\\\":\\\"t\\\",\\n\\t\\\"ʌ\\\":\\\"v\\\",\\n\\t\\\"ʍ\\\":\\\"w\\\",\\n\\t\\\"ʎ\\\":\\\"y\\\",\\n\\t\\\"ꜩ\\\":\\\"tz\\\",\\n\\t\\\"ú\\\":\\\"u\\\",\\n\\t\\\"ŭ\\\":\\\"u\\\",\\n\\t\\\"ǔ\\\":\\\"u\\\",\\n\\t\\\"û\\\":\\\"u\\\",\\n\\t\\\"ṷ\\\":\\\"u\\\",\\n\\t\\\"ü\\\":\\\"u\\\",\\n\\t\\\"ǘ\\\":\\\"u\\\",\\n\\t\\\"ǚ\\\":\\\"u\\\",\\n\\t\\\"ǜ\\\":\\\"u\\\",\\n\\t\\\"ǖ\\\":\\\"u\\\",\\n\\t\\\"ṳ\\\":\\\"u\\\",\\n\\t\\\"ụ\\\":\\\"u\\\",\\n\\t\\\"ű\\\":\\\"u\\\",\\n\\t\\\"ȕ\\\":\\\"u\\\",\\n\\t\\\"ù\\\":\\\"u\\\",\\n\\t\\\"ủ\\\":\\\"u\\\",\\n\\t\\\"ư\\\":\\\"u\\\",\\n\\t\\\"ứ\\\":\\\"u\\\",\\n\\t\\\"ự\\\":\\\"u\\\",\\n\\t\\\"ừ\\\":\\\"u\\\",\\n\\t\\\"ử\\\":\\\"u\\\",\\n\\t\\\"ữ\\\":\\\"u\\\",\\n\\t\\\"ȗ\\\":\\\"u\\\",\\n\\t\\\"ū\\\":\\\"u\\\",\\n\\t\\\"ṻ\\\":\\\"u\\\",\\n\\t\\\"ų\\\":\\\"u\\\",\\n\\t\\\"ᶙ\\\":\\\"u\\\",\\n\\t\\\"ů\\\":\\\"u\\\",\\n\\t\\\"ũ\\\":\\\"u\\\",\\n\\t\\\"ṹ\\\":\\\"u\\\",\\n\\t\\\"ṵ\\\":\\\"u\\\",\\n\\t\\\"ᵫ\\\":\\\"ue\\\",\\n\\t\\\"ꝸ\\\":\\\"um\\\",\\n\\t\\\"ⱴ\\\":\\\"v\\\",\\n\\t\\\"ꝟ\\\":\\\"v\\\",\\n\\t\\\"ṿ\\\":\\\"v\\\",\\n\\t\\\"ʋ\\\":\\\"v\\\",\\n\\t\\\"ᶌ\\\":\\\"v\\\",\\n\\t\\\"ⱱ\\\":\\\"v\\\",\\n\\t\\\"ṽ\\\":\\\"v\\\",\\n\\t\\\"ꝡ\\\":\\\"vy\\\",\\n\\t\\\"ẃ\\\":\\\"w\\\",\\n\\t\\\"ŵ\\\":\\\"w\\\",\\n\\t\\\"ẅ\\\":\\\"w\\\",\\n\\t\\\"ẇ\\\":\\\"w\\\",\\n\\t\\\"ẉ\\\":\\\"w\\\",\\n\\t\\\"ẁ\\\":\\\"w\\\",\\n\\t\\\"ⱳ\\\":\\\"w\\\",\\n\\t\\\"ẘ\\\":\\\"w\\\",\\n\\t\\\"ẍ\\\":\\\"x\\\",\\n\\t\\\"ẋ\\\":\\\"x\\\",\\n\\t\\\"ᶍ\\\":\\\"x\\\",\\n\\t\\\"ý\\\":\\\"y\\\",\\n\\t\\\"ŷ\\\":\\\"y\\\",\\n\\t\\\"ÿ\\\":\\\"y\\\",\\n\\t\\\"ẏ\\\":\\\"y\\\",\\n\\t\\\"ỵ\\\":\\\"y\\\",\\n\\t\\\"ỳ\\\":\\\"y\\\",\\n\\t\\\"ƴ\\\":\\\"y\\\",\\n\\t\\\"ỷ\\\":\\\"y\\\",\\n\\t\\\"ỿ\\\":\\\"y\\\",\\n\\t\\\"ȳ\\\":\\\"y\\\",\\n\\t\\\"ẙ\\\":\\\"y\\\",\\n\\t\\\"ɏ\\\":\\\"y\\\",\\n\\t\\\"ỹ\\\":\\\"y\\\",\\n\\t\\\"ź\\\":\\\"z\\\",\\n\\t\\\"ž\\\":\\\"z\\\",\\n\\t\\\"ẑ\\\":\\\"z\\\",\\n\\t\\\"ʑ\\\":\\\"z\\\",\\n\\t\\\"ⱬ\\\":\\\"z\\\",\\n\\t\\\"ż\\\":\\\"z\\\",\\n\\t\\\"ẓ\\\":\\\"z\\\",\\n\\t\\\"ȥ\\\":\\\"z\\\",\\n\\t\\\"ẕ\\\":\\\"z\\\",\\n\\t\\\"ᵶ\\\":\\\"z\\\",\\n\\t\\\"ᶎ\\\":\\\"z\\\",\\n\\t\\\"ʐ\\\":\\\"z\\\",\\n\\t\\\"ƶ\\\":\\\"z\\\",\\n\\t\\\"ɀ\\\":\\\"z\\\",\\n\\t\\\"ff\\\":\\\"ff\\\",\\n\\t\\\"ffi\\\":\\\"ffi\\\",\\n\\t\\\"ffl\\\":\\\"ffl\\\",\\n\\t\\\"fi\\\":\\\"fi\\\",\\n\\t\\\"fl\\\":\\\"fl\\\",\\n\\t\\\"ij\\\":\\\"ij\\\",\\n\\t\\\"œ\\\":\\\"oe\\\",\\n\\t\\\"st\\\":\\\"st\\\",\\n\\t\\\"ₐ\\\":\\\"a\\\",\\n\\t\\\"ₑ\\\":\\\"e\\\",\\n\\t\\\"ᵢ\\\":\\\"i\\\",\\n\\t\\\"ⱼ\\\":\\\"j\\\",\\n\\t\\\"ₒ\\\":\\\"o\\\",\\n\\t\\\"ᵣ\\\":\\\"r\\\",\\n\\t\\\"ᵤ\\\":\\\"u\\\",\\n\\t\\\"ᵥ\\\":\\\"v\\\",\\n\\t\\\"ₓ\\\":\\\"x\\\",\\n\\t\\\"Ё\\\":\\\"YO\\\",\\n\\t\\\"Й\\\":\\\"I\\\",\\n\\t\\\"Ц\\\":\\\"TS\\\",\\n\\t\\\"У\\\":\\\"U\\\",\\n\\t\\\"К\\\":\\\"K\\\",\\n\\t\\\"Е\\\":\\\"E\\\",\\n\\t\\\"Н\\\":\\\"N\\\",\\n\\t\\\"Г\\\":\\\"G\\\",\\n\\t\\\"Ш\\\":\\\"SH\\\",\\n\\t\\\"Щ\\\":\\\"SCH\\\",\\n\\t\\\"З\\\":\\\"Z\\\",\\n\\t\\\"Х\\\":\\\"H\\\",\\n\\t\\\"Ъ\\\":\\\"'\\\",\\n\\t\\\"ё\\\":\\\"yo\\\",\\n\\t\\\"й\\\":\\\"i\\\",\\n\\t\\\"ц\\\":\\\"ts\\\",\\n\\t\\\"у\\\":\\\"u\\\",\\n\\t\\\"к\\\":\\\"k\\\",\\n\\t\\\"е\\\":\\\"e\\\",\\n\\t\\\"н\\\":\\\"n\\\",\\n\\t\\\"г\\\":\\\"g\\\",\\n\\t\\\"ш\\\":\\\"sh\\\",\\n\\t\\\"щ\\\":\\\"sch\\\",\\n\\t\\\"з\\\":\\\"z\\\",\\n\\t\\\"х\\\":\\\"h\\\",\\n\\t\\\"ъ\\\":\\\"'\\\",\\n\\t\\\"Ф\\\":\\\"F\\\",\\n\\t\\\"Ы\\\":\\\"I\\\",\\n\\t\\\"В\\\":\\\"V\\\",\\n\\t\\\"А\\\":\\\"a\\\",\\n\\t\\\"П\\\":\\\"P\\\",\\n\\t\\\"Р\\\":\\\"R\\\",\\n\\t\\\"О\\\":\\\"O\\\",\\n\\t\\\"Л\\\":\\\"L\\\",\\n\\t\\\"Д\\\":\\\"D\\\",\\n\\t\\\"Ж\\\":\\\"ZH\\\",\\n\\t\\\"Э\\\":\\\"E\\\",\\n\\t\\\"ф\\\":\\\"f\\\",\\n\\t\\\"ы\\\":\\\"i\\\",\\n\\t\\\"в\\\":\\\"v\\\",\\n\\t\\\"а\\\":\\\"a\\\",\\n\\t\\\"п\\\":\\\"p\\\",\\n\\t\\\"р\\\":\\\"r\\\",\\n\\t\\\"о\\\":\\\"o\\\",\\n\\t\\\"л\\\":\\\"l\\\",\\n\\t\\\"д\\\":\\\"d\\\",\\n\\t\\\"ж\\\":\\\"zh\\\",\\n\\t\\\"э\\\":\\\"e\\\",\\n\\t\\\"Я\\\":\\\"Ya\\\",\\n\\t\\\"Ч\\\":\\\"CH\\\",\\n\\t\\\"С\\\":\\\"S\\\",\\n\\t\\\"М\\\":\\\"M\\\",\\n\\t\\\"И\\\":\\\"I\\\",\\n\\t\\\"Т\\\":\\\"T\\\",\\n\\t\\\"Ь\\\":\\\"'\\\",\\n\\t\\\"Б\\\":\\\"B\\\",\\n\\t\\\"Ю\\\":\\\"YU\\\",\\n\\t\\\"я\\\":\\\"ya\\\",\\n\\t\\\"ч\\\":\\\"ch\\\",\\n\\t\\\"с\\\":\\\"s\\\",\\n\\t\\\"м\\\":\\\"m\\\",\\n\\t\\\"и\\\":\\\"i\\\",\\n\\t\\\"т\\\":\\\"t\\\",\\n\\t\\\"ь\\\":\\\"'\\\",\\n\\t\\\"б\\\":\\\"b\\\",\\n\\t\\\"ю\\\":\\\"yu\\\",\\n\\t\\\"…\\\":\\\"...\\\"\\n};\\n\\nexports.transliterate = function(str) {\\n\\treturn str.replace(/[^A-Za-z0-9\\\\[\\\\] ]/g,function(ch) {\\n\\t\\treturn exports.transliterationPairs[ch] || ch\\n\\t});\\n};\\n\\nexports.transliterateToSafeASCII = function(str) {\\n\\treturn str.replace(/[^\\\\x00-\\\\x7F]/g,function(ch) {\\n\\t\\treturn exports.transliterationPairs[ch] || \\\"\\\"\\n\\t});\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/utils/utils.js\":{\"title\":\"$:/core/modules/utils/utils.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/utils.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nVarious static utility functions.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar base64utf8 = require(\\\"$:/core/modules/utils/base64-utf8/base64-utf8.module.js\\\");\\n\\n/*\\nDisplay a message, in colour if we're on a terminal\\n*/\\nexports.log = function(text,colour) {\\n\\tconsole.log($tw.node ? exports.terminalColour(colour) + text + exports.terminalColour() : text);\\n};\\n\\nexports.terminalColour = function(colour) {\\n\\tif(!$tw.browser && $tw.node && process.stdout.isTTY) {\\n\\t\\tif(colour) {\\n\\t\\t\\tvar code = exports.terminalColourLookup[colour];\\n\\t\\t\\tif(code) {\\n\\t\\t\\t\\treturn \\\"\\\\x1b[\\\" + code + \\\"m\\\";\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\treturn \\\"\\\\x1b[0m\\\"; // Cancel colour\\n\\t\\t}\\n\\t}\\n\\treturn \\\"\\\";\\n};\\n\\nexports.terminalColourLookup = {\\n\\t\\\"black\\\": \\\"0;30\\\",\\n\\t\\\"red\\\": \\\"0;31\\\",\\n\\t\\\"green\\\": \\\"0;32\\\",\\n\\t\\\"brown/orange\\\": \\\"0;33\\\",\\n\\t\\\"blue\\\": \\\"0;34\\\",\\n\\t\\\"purple\\\": \\\"0;35\\\",\\n\\t\\\"cyan\\\": \\\"0;36\\\",\\n\\t\\\"light gray\\\": \\\"0;37\\\"\\n};\\n\\n/*\\nDisplay a warning, in colour if we're on a terminal\\n*/\\nexports.warning = function(text) {\\n\\texports.log(text,\\\"brown/orange\\\");\\n};\\n\\n/*\\nLog a table of name: value pairs\\n*/\\nexports.logTable = function(data) {\\n\\tif(console.table) {\\n\\t\\tconsole.table(data);\\n\\t} else {\\n\\t\\t$tw.utils.each(data,function(value,name) {\\n\\t\\t\\tconsole.log(name + \\\": \\\" + value);\\n\\t\\t});\\n\\t}\\n}\\n\\n/*\\nReturn the integer represented by the str (string).\\nReturn the dflt (default) parameter if str is not a base-10 number.\\n*/\\nexports.getInt = function(str,deflt) {\\n\\tvar i = parseInt(str,10);\\n\\treturn isNaN(i) ? deflt : i;\\n}\\n\\n/*\\nRepeatedly replaces a substring within a string. Like String.prototype.replace, but without any of the default special handling of $ sequences in the replace string\\n*/\\nexports.replaceString = function(text,search,replace) {\\n\\treturn text.replace(search,function() {\\n\\t\\treturn replace;\\n\\t});\\n};\\n\\n/*\\nRepeats a string\\n*/\\nexports.repeat = function(str,count) {\\n\\tvar result = \\\"\\\";\\n\\tfor(var t=0;t<count;t++) {\\n\\t\\tresult += str;\\n\\t}\\n\\treturn result;\\n};\\n\\n/*\\nCheck if a string starts with another string\\n*/\\nexports.startsWith = function(str,search) {\\n\\treturn str.substring(0, search.length) === search;\\n};\\n\\n/*\\nCheck if a string ends with another string\\n*/\\nexports.endsWith = function(str,search) {\\n\\treturn str.substring(str.length - search.length) === search;\\n};\\n\\n/*\\nTrim whitespace from the start and end of a string\\nThanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript\\n*/\\nexports.trim = function(str) {\\n\\tif(typeof str === \\\"string\\\") {\\n\\t\\treturn str.replace(/^\\\\s\\\\s*/, '').replace(/\\\\s\\\\s*$/, '');\\n\\t} else {\\n\\t\\treturn str;\\n\\t}\\n};\\n\\nexports.trimPrefix = function(str,unwanted) {\\n\\tif(typeof str === \\\"string\\\" && typeof unwanted === \\\"string\\\") {\\n\\t\\tif(unwanted === \\\"\\\") {\\n\\t\\t\\treturn str.replace(/^\\\\s\\\\s*/, '');\\n\\t\\t} else {\\n\\t\\t\\t// Safely regexp-escape the unwanted text\\n\\t\\t\\tunwanted = unwanted.replace(/[\\\\\\\\^$*+?.()|[\\\\]{}]/g, '\\\\\\\\$&');\\n\\t\\t\\tvar regex = new RegExp('^(' + unwanted + ')+');\\n\\t\\t\\treturn str.replace(regex, '');\\n\\t\\t}\\n\\t} else {\\n\\t\\treturn str;\\n\\t}\\n};\\n\\nexports.trimSuffix = function(str,unwanted) {\\n\\tif(typeof str === \\\"string\\\" && typeof unwanted === \\\"string\\\") {\\n\\t\\tif(unwanted === \\\"\\\") {\\n\\t\\t\\treturn str.replace(/\\\\s\\\\s*$/, '');\\n\\t\\t} else {\\n\\t\\t\\t// Safely regexp-escape the unwanted text\\n\\t\\t\\tunwanted = unwanted.replace(/[\\\\\\\\^$*+?.()|[\\\\]{}]/g, '\\\\\\\\$&');\\n\\t\\t\\tvar regex = new RegExp('(' + unwanted + ')+$');\\n\\t\\t\\treturn str.replace(regex, '');\\n\\t\\t}\\n\\t} else {\\n\\t\\treturn str;\\n\\t}\\n};\\n\\n/*\\nConvert a string to sentence case (ie capitalise first letter)\\n*/\\nexports.toSentenceCase = function(str) {\\n\\treturn (str || \\\"\\\").replace(/^\\\\S/, function(c) {return c.toUpperCase();});\\n}\\n\\n/*\\nConvert a string to title case (ie capitalise each initial letter)\\n*/\\nexports.toTitleCase = function(str) {\\n\\treturn (str || \\\"\\\").replace(/(^|\\\\s)\\\\S/g, function(c) {return c.toUpperCase();});\\n}\\n\\n/*\\nFind the line break preceding a given position in a string\\nReturns position immediately after that line break, or the start of the string\\n*/\\nexports.findPrecedingLineBreak = function(text,pos) {\\n\\tvar result = text.lastIndexOf(\\\"\\\\n\\\",pos - 1);\\n\\tif(result === -1) {\\n\\t\\tresult = 0;\\n\\t} else {\\n\\t\\tresult++;\\n\\t\\tif(text.charAt(result) === \\\"\\\\r\\\") {\\n\\t\\t\\tresult++;\\n\\t\\t}\\n\\t}\\n\\treturn result;\\n};\\n\\n/*\\nFind the line break following a given position in a string\\n*/\\nexports.findFollowingLineBreak = function(text,pos) {\\n\\t// Cut to just past the following line break, or to the end of the text\\n\\tvar result = text.indexOf(\\\"\\\\n\\\",pos);\\n\\tif(result === -1) {\\n\\t\\tresult = text.length;\\n\\t} else {\\n\\t\\tif(text.charAt(result) === \\\"\\\\r\\\") {\\n\\t\\t\\tresult++;\\n\\t\\t}\\n\\t}\\n\\treturn result;\\n};\\n\\n/*\\nReturn the number of keys in an object\\n*/\\nexports.count = function(object) {\\n\\treturn Object.keys(object || {}).length;\\n};\\n\\n/*\\nDetermine whether an array-item is an object-property\\n*/\\nexports.hopArray = function(object,array) {\\n\\tfor(var i=0; i<array.length; i++) {\\n\\t\\tif($tw.utils.hop(object,array[i])) {\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t}\\n\\treturn false;\\n};\\n\\n/*\\nRemove entries from an array\\n\\tarray: array to modify\\n\\tvalue: a single value to remove, or an array of values to remove\\n*/\\nexports.removeArrayEntries = function(array,value) {\\n\\tvar t,p;\\n\\tif($tw.utils.isArray(value)) {\\n\\t\\tfor(t=0; t<value.length; t++) {\\n\\t\\t\\tp = array.indexOf(value[t]);\\n\\t\\t\\tif(p !== -1) {\\n\\t\\t\\t\\tarray.splice(p,1);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} else {\\n\\t\\tp = array.indexOf(value);\\n\\t\\tif(p !== -1) {\\n\\t\\t\\tarray.splice(p,1);\\n\\t\\t}\\n\\t}\\n\\treturn array;\\n};\\n\\n/*\\nCheck whether any members of a hashmap are present in another hashmap\\n*/\\nexports.checkDependencies = function(dependencies,changes) {\\n\\tvar hit = false;\\n\\t$tw.utils.each(changes,function(change,title) {\\n\\t\\tif($tw.utils.hop(dependencies,title)) {\\n\\t\\t\\thit = true;\\n\\t\\t}\\n\\t});\\n\\treturn hit;\\n};\\n\\nexports.extend = function(object /* [, src] */) {\\n\\t$tw.utils.each(Array.prototype.slice.call(arguments, 1), function(source) {\\n\\t\\tif(source) {\\n\\t\\t\\tfor(var property in source) {\\n\\t\\t\\t\\tobject[property] = source[property];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\treturn object;\\n};\\n\\nexports.deepCopy = function(object) {\\n\\tvar result,t;\\n\\tif($tw.utils.isArray(object)) {\\n\\t\\t// Copy arrays\\n\\t\\tresult = object.slice(0);\\n\\t} else if(typeof object === \\\"object\\\") {\\n\\t\\tresult = {};\\n\\t\\tfor(t in object) {\\n\\t\\t\\tif(object[t] !== undefined) {\\n\\t\\t\\t\\tresult[t] = $tw.utils.deepCopy(object[t]);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} else {\\n\\t\\tresult = object;\\n\\t}\\n\\treturn result;\\n};\\n\\nexports.extendDeepCopy = function(object,extendedProperties) {\\n\\tvar result = $tw.utils.deepCopy(object),t;\\n\\tfor(t in extendedProperties) {\\n\\t\\tif(extendedProperties[t] !== undefined) {\\n\\t\\t\\tresult[t] = $tw.utils.deepCopy(extendedProperties[t]);\\n\\t\\t}\\n\\t}\\n\\treturn result;\\n};\\n\\nexports.deepFreeze = function deepFreeze(object) {\\n\\tvar property, key;\\n\\tif(object) {\\n\\t\\tObject.freeze(object);\\n\\t\\tfor(key in object) {\\n\\t\\t\\tproperty = object[key];\\n\\t\\t\\tif($tw.utils.hop(object,key) && (typeof property === \\\"object\\\") && !Object.isFrozen(property)) {\\n\\t\\t\\t\\tdeepFreeze(property);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n};\\n\\nexports.slowInSlowOut = function(t) {\\n\\treturn (1 - ((Math.cos(t * Math.PI) + 1) / 2));\\n};\\n\\nexports.formatTitleString = function(template,options) {\\n\\tvar base = options.base || \\\"\\\",\\n\\t\\tseparator = options.separator || \\\"\\\",\\n\\t\\tcounter = options.counter || \\\"\\\";\\n\\tvar result = \\\"\\\",\\n\\t\\tt = template,\\n\\t\\tmatches = [\\n\\t\\t\\t[/^\\\\$basename\\\\$/i, function() {\\n\\t\\t\\t\\treturn base;\\n\\t\\t\\t}],\\n\\t\\t\\t[/^\\\\$count:(\\\\d+)\\\\$/i, function(match) {\\n\\t\\t\\t\\treturn $tw.utils.pad(counter,match[1]);\\n\\t\\t\\t}],\\n\\t\\t\\t[/^\\\\$separator\\\\$/i, function() {\\n\\t\\t\\t\\treturn separator;\\n\\t\\t\\t}],\\n\\t\\t\\t[/^\\\\$count\\\\$/i, function() {\\n\\t\\t\\t\\treturn counter + \\\"\\\";\\n\\t\\t\\t}]\\n\\t\\t];\\n\\twhile(t.length){\\n\\t\\tvar matchString = \\\"\\\";\\n\\t\\t$tw.utils.each(matches, function(m) {\\n\\t\\t\\tvar match = m[0].exec(t);\\n\\t\\t\\tif(match) {\\n\\t\\t\\t\\tmatchString = m[1].call(null,match);\\n\\t\\t\\t\\tt = t.substr(match[0].length);\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\tif(matchString) {\\n\\t\\t\\tresult += matchString;\\n\\t\\t} else {\\n\\t\\t\\tresult += t.charAt(0);\\n\\t\\t\\tt = t.substr(1);\\n\\t\\t}\\n\\t}\\n\\tresult = result.replace(/\\\\\\\\(.)/g,\\\"$1\\\");\\n\\treturn result;\\n};\\n\\nexports.formatDateString = function(date,template) {\\n\\tvar result = \\\"\\\",\\n\\t\\tt = template,\\n\\t\\tmatches = [\\n\\t\\t\\t[/^TIMESTAMP/, function() {\\n\\t\\t\\t\\treturn date.getTime();\\n\\t\\t\\t}],\\n\\t\\t\\t[/^0hh12/, function() {\\n\\t\\t\\t\\treturn $tw.utils.pad($tw.utils.getHours12(date));\\n\\t\\t\\t}],\\n\\t\\t\\t[/^wYYYY/, function() {\\n\\t\\t\\t\\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date),4);\\n\\t\\t\\t}],\\n\\t\\t\\t[/^hh12/, function() {\\n\\t\\t\\t\\treturn $tw.utils.getHours12(date);\\n\\t\\t\\t}],\\n\\t\\t\\t[/^DDth/, function() {\\n\\t\\t\\t\\treturn date.getDate() + $tw.utils.getDaySuffix(date);\\n\\t\\t\\t}],\\n\\t\\t\\t[/^YYYY/, function() {\\n\\t\\t\\t\\treturn $tw.utils.pad(date.getFullYear(),4);\\n\\t\\t\\t}],\\n\\t\\t\\t[/^aYYYY/, function() {\\n\\t\\t\\t\\treturn $tw.utils.pad(Math.abs(date.getFullYear()),4);\\n\\t\\t\\t}],\\n\\t\\t\\t[/^\\\\{era:([^,\\\\|}]*)\\\\|([^}\\\\|]*)\\\\|([^}]*)\\\\}/, function(match) {\\n\\t\\t\\t\\tvar year = date.getFullYear();\\n\\t\\t\\t\\treturn year === 0 ? match[2] : (year < 0 ? match[1] : match[3]);\\n\\t\\t\\t}],\\n\\t\\t\\t[/^0hh/, function() {\\n\\t\\t\\t\\treturn $tw.utils.pad(date.getHours());\\n\\t\\t\\t}],\\n\\t\\t\\t[/^0mm/, function() {\\n\\t\\t\\t\\treturn $tw.utils.pad(date.getMinutes());\\n\\t\\t\\t}],\\n\\t\\t\\t[/^0ss/, function() {\\n\\t\\t\\t\\treturn $tw.utils.pad(date.getSeconds());\\n\\t\\t\\t}],\\n\\t\\t\\t[/^0XXX/, function() {\\n\\t\\t\\t\\treturn $tw.utils.pad(date.getMilliseconds(),3);\\n\\t\\t\\t}],\\n\\t\\t\\t[/^0DD/, function() {\\n\\t\\t\\t\\treturn $tw.utils.pad(date.getDate());\\n\\t\\t\\t}],\\n\\t\\t\\t[/^0MM/, function() {\\n\\t\\t\\t\\treturn $tw.utils.pad(date.getMonth()+1);\\n\\t\\t\\t}],\\n\\t\\t\\t[/^0WW/, function() {\\n\\t\\t\\t\\treturn $tw.utils.pad($tw.utils.getWeek(date));\\n\\t\\t\\t}],\\n\\t\\t\\t[/^0ddddd/, function() {\\n\\t\\t\\t\\treturn $tw.utils.pad(Math.floor((date - new Date(date.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24),3);\\n\\t\\t\\t}],\\n\\t\\t\\t[/^ddddd/, function() {\\n\\t\\t\\t\\treturn Math.floor((date - new Date(date.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24);\\n\\t\\t\\t}],\\n\\t\\t\\t[/^dddd/, function() {\\n\\t\\t\\t\\treturn [7,1,2,3,4,5,6][date.getDay()];\\n\\t\\t\\t}],\\n\\t\\t\\t[/^ddd/, function() {\\n\\t\\t\\t\\treturn $tw.language.getString(\\\"Date/Short/Day/\\\" + date.getDay());\\n\\t\\t\\t}],\\n\\t\\t\\t[/^mmm/, function() {\\n\\t\\t\\t\\treturn $tw.language.getString(\\\"Date/Short/Month/\\\" + (date.getMonth() + 1));\\n\\t\\t\\t}],\\n\\t\\t\\t[/^DDD/, function() {\\n\\t\\t\\t\\treturn $tw.language.getString(\\\"Date/Long/Day/\\\" + date.getDay());\\n\\t\\t\\t}],\\n\\t\\t\\t[/^MMM/, function() {\\n\\t\\t\\t\\treturn $tw.language.getString(\\\"Date/Long/Month/\\\" + (date.getMonth() + 1));\\n\\t\\t\\t}],\\n\\t\\t\\t[/^TZD/, function() {\\n\\t\\t\\t\\tvar tz = date.getTimezoneOffset(),\\n\\t\\t\\t\\tatz = Math.abs(tz);\\n\\t\\t\\t\\treturn (tz < 0 ? '+' : '-') + $tw.utils.pad(Math.floor(atz / 60)) + ':' + $tw.utils.pad(atz % 60);\\n\\t\\t\\t}],\\n\\t\\t\\t[/^wYY/, function() {\\n\\t\\t\\t\\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date) - 2000);\\n\\t\\t\\t}],\\n\\t\\t\\t[/^[ap]m/, function() {\\n\\t\\t\\t\\treturn $tw.utils.getAmPm(date).toLowerCase();\\n\\t\\t\\t}],\\n\\t\\t\\t[/^hh/, function() {\\n\\t\\t\\t\\treturn date.getHours();\\n\\t\\t\\t}],\\n\\t\\t\\t[/^mm/, function() {\\n\\t\\t\\t\\treturn date.getMinutes();\\n\\t\\t\\t}],\\n\\t\\t\\t[/^ss/, function() {\\n\\t\\t\\t\\treturn date.getSeconds();\\n\\t\\t\\t}],\\n\\t\\t\\t[/^XXX/, function() {\\n\\t\\t\\t\\treturn date.getMilliseconds();\\n\\t\\t\\t}],\\n\\t\\t\\t[/^[AP]M/, function() {\\n\\t\\t\\t\\treturn $tw.utils.getAmPm(date).toUpperCase();\\n\\t\\t\\t}],\\n\\t\\t\\t[/^DD/, function() {\\n\\t\\t\\t\\treturn date.getDate();\\n\\t\\t\\t}],\\n\\t\\t\\t[/^MM/, function() {\\n\\t\\t\\t\\treturn date.getMonth() + 1;\\n\\t\\t\\t}],\\n\\t\\t\\t[/^WW/, function() {\\n\\t\\t\\t\\treturn $tw.utils.getWeek(date);\\n\\t\\t\\t}],\\n\\t\\t\\t[/^YY/, function() {\\n\\t\\t\\t\\treturn $tw.utils.pad(date.getFullYear() - 2000);\\n\\t\\t\\t}]\\n\\t\\t];\\n\\t// If the user wants everything in UTC, shift the datestamp\\n\\t// Optimize for format string that essentially means\\n\\t// 'return raw UTC (tiddlywiki style) date string.'\\n\\tif(t.indexOf(\\\"[UTC]\\\") == 0 ) {\\n\\t\\tif(t == \\\"[UTC]YYYY0MM0DD0hh0mm0ssXXX\\\")\\n\\t\\t\\treturn $tw.utils.stringifyDate(date || new Date());\\n\\t\\tvar offset = date.getTimezoneOffset() ; // in minutes\\n\\t\\tdate = new Date(date.getTime()+offset*60*1000) ;\\n\\t\\tt = t.substr(5) ;\\n\\t}\\n\\twhile(t.length){\\n\\t\\tvar matchString = \\\"\\\";\\n\\t\\t$tw.utils.each(matches, function(m) {\\n\\t\\t\\tvar match = m[0].exec(t);\\n\\t\\t\\tif(match) {\\n\\t\\t\\t\\tmatchString = m[1].call(null,match);\\n\\t\\t\\t\\tt = t.substr(match[0].length);\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\tif(matchString) {\\n\\t\\t\\tresult += matchString;\\n\\t\\t} else {\\n\\t\\t\\tresult += t.charAt(0);\\n\\t\\t\\tt = t.substr(1);\\n\\t\\t}\\n\\t}\\n\\tresult = result.replace(/\\\\\\\\(.)/g,\\\"$1\\\");\\n\\treturn result;\\n};\\n\\nexports.getAmPm = function(date) {\\n\\treturn $tw.language.getString(\\\"Date/Period/\\\" + (date.getHours() >= 12 ? \\\"pm\\\" : \\\"am\\\"));\\n};\\n\\nexports.getDaySuffix = function(date) {\\n\\treturn $tw.language.getString(\\\"Date/DaySuffix/\\\" + date.getDate());\\n};\\n\\nexports.getWeek = function(date) {\\n\\tvar dt = new Date(date.getTime());\\n\\tvar d = dt.getDay();\\n\\tif(d === 0) {\\n\\t\\td = 7; // JavaScript Sun=0, ISO Sun=7\\n\\t}\\n\\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week to calculate weekNo\\n\\tvar x = new Date(dt.getFullYear(),0,1);\\n\\tvar n = Math.floor((dt.getTime() - x.getTime()) / 86400000);\\n\\treturn Math.floor(n / 7) + 1;\\n};\\n\\nexports.getYearForWeekNo = function(date) {\\n\\tvar dt = new Date(date.getTime());\\n\\tvar d = dt.getDay();\\n\\tif(d === 0) {\\n\\t\\td = 7; // JavaScript Sun=0, ISO Sun=7\\n\\t}\\n\\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week\\n\\treturn dt.getFullYear();\\n};\\n\\nexports.getHours12 = function(date) {\\n\\tvar h = date.getHours();\\n\\treturn h > 12 ? h-12 : ( h > 0 ? h : 12 );\\n};\\n\\n/*\\nConvert a date delta in milliseconds into a string representation of \\\"23 seconds ago\\\", \\\"27 minutes ago\\\" etc.\\n\\tdelta: delta in milliseconds\\nReturns an object with these members:\\n\\tdescription: string describing the delta period\\n\\tupdatePeriod: time in millisecond until the string will be inaccurate\\n*/\\nexports.getRelativeDate = function(delta) {\\n\\tvar futurep = false;\\n\\tif(delta < 0) {\\n\\t\\tdelta = -1 * delta;\\n\\t\\tfuturep = true;\\n\\t}\\n\\tvar units = [\\n\\t\\t{name: \\\"Years\\\", duration: 365 * 24 * 60 * 60 * 1000},\\n\\t\\t{name: \\\"Months\\\", duration: (365/12) * 24 * 60 * 60 * 1000},\\n\\t\\t{name: \\\"Days\\\", duration: 24 * 60 * 60 * 1000},\\n\\t\\t{name: \\\"Hours\\\", duration: 60 * 60 * 1000},\\n\\t\\t{name: \\\"Minutes\\\", duration: 60 * 1000},\\n\\t\\t{name: \\\"Seconds\\\", duration: 1000}\\n\\t];\\n\\tfor(var t=0; t<units.length; t++) {\\n\\t\\tvar result = Math.floor(delta / units[t].duration);\\n\\t\\tif(result >= 2) {\\n\\t\\t\\treturn {\\n\\t\\t\\t\\tdelta: delta,\\n\\t\\t\\t\\tdescription: $tw.language.getString(\\n\\t\\t\\t\\t\\t\\\"RelativeDate/\\\" + (futurep ? \\\"Future\\\" : \\\"Past\\\") + \\\"/\\\" + units[t].name,\\n\\t\\t\\t\\t\\t{variables:\\n\\t\\t\\t\\t\\t\\t{period: result.toString()}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t),\\n\\t\\t\\t\\tupdatePeriod: units[t].duration\\n\\t\\t\\t};\\n\\t\\t}\\n\\t}\\n\\treturn {\\n\\t\\tdelta: delta,\\n\\t\\tdescription: $tw.language.getString(\\n\\t\\t\\t\\\"RelativeDate/\\\" + (futurep ? \\\"Future\\\" : \\\"Past\\\") + \\\"/Second\\\",\\n\\t\\t\\t{variables:\\n\\t\\t\\t\\t{period: \\\"1\\\"}\\n\\t\\t\\t}\\n\\t\\t),\\n\\t\\tupdatePeriod: 1000\\n\\t};\\n};\\n\\n// Convert & to \\\"&\\\", < to \\\"<\\\", > to \\\">\\\", \\\" to \\\""\\\"\\nexports.htmlEncode = function(s) {\\n\\tif(s) {\\n\\t\\treturn s.toString().replace(/&/mg,\\\"&\\\").replace(/</mg,\\\"<\\\").replace(/>/mg,\\\">\\\").replace(/\\\\\\\"/mg,\\\""\\\");\\n\\t} else {\\n\\t\\treturn \\\"\\\";\\n\\t}\\n};\\n\\n// Converts like htmlEncode, but forgets the double quote for brevity\\nexports.htmlTextEncode = function(s) {\\n\\tif(s) {\\n\\t\\treturn s.toString().replace(/&/mg,\\\"&\\\").replace(/</mg,\\\"<\\\").replace(/>/mg,\\\">\\\");\\n\\t} else {\\n\\t\\treturn \\\"\\\";\\n\\t}\\n};\\n\\n// Converts all HTML entities to their character equivalents\\nexports.entityDecode = function(s) {\\n\\tvar converter = String.fromCodePoint || String.fromCharCode,\\n\\t\\te = s.substr(1,s.length-2), // Strip the & and the ;\\n\\t\\tc;\\n\\tif(e.charAt(0) === \\\"#\\\") {\\n\\t\\tif(e.charAt(1) === \\\"x\\\" || e.charAt(1) === \\\"X\\\") {\\n\\t\\t\\tc = parseInt(e.substr(2),16);\\n\\t\\t} else {\\n\\t\\t\\tc = parseInt(e.substr(1),10);\\n\\t\\t}\\n\\t\\tif(isNaN(c)) {\\n\\t\\t\\treturn s;\\n\\t\\t} else {\\n\\t\\t\\treturn converter(c);\\n\\t\\t}\\n\\t} else {\\n\\t\\tc = $tw.config.htmlEntities[e];\\n\\t\\tif(c) {\\n\\t\\t\\treturn converter(c);\\n\\t\\t} else {\\n\\t\\t\\treturn s; // Couldn't convert it as an entity, just return it raw\\n\\t\\t}\\n\\t}\\n};\\n\\nexports.unescapeLineBreaks = function(s) {\\n\\treturn s.replace(/\\\\\\\\n/mg,\\\"\\\\n\\\").replace(/\\\\\\\\b/mg,\\\" \\\").replace(/\\\\\\\\s/mg,\\\"\\\\\\\\\\\").replace(/\\\\r/mg,\\\"\\\");\\n};\\n\\n/*\\n * Returns an escape sequence for given character. Uses \\\\x for characters <=\\n * 0xFF to save space, \\\\u for the rest.\\n *\\n * The code needs to be in sync with th code template in the compilation\\n * function for \\\"action\\\" nodes.\\n */\\n// Copied from peg.js, thanks to David Majda\\nexports.escape = function(ch) {\\n\\tvar charCode = ch.charCodeAt(0);\\n\\tif(charCode <= 0xFF) {\\n\\t\\treturn '\\\\\\\\x' + $tw.utils.pad(charCode.toString(16).toUpperCase());\\n\\t} else {\\n\\t\\treturn '\\\\\\\\u' + $tw.utils.pad(charCode.toString(16).toUpperCase(),4);\\n\\t}\\n};\\n\\n// Turns a string into a legal JavaScript string\\n// Copied from peg.js, thanks to David Majda\\nexports.stringify = function(s, rawUnicode) {\\n\\t/*\\n\\t* ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string\\n\\t* literal except for the closing quote character, backslash, carriage return,\\n\\t* line separator, paragraph separator, and line feed. Any character may\\n\\t* appear in the form of an escape sequence.\\n\\t*\\n\\t* For portability, we also escape all non-ASCII characters.\\n\\t*/\\n\\tvar regex = rawUnicode ? /[\\\\x00-\\\\x1f]/g : /[\\\\x00-\\\\x1f\\\\x80-\\\\uFFFF]/g;\\n\\treturn (s || \\\"\\\")\\n\\t\\t.replace(/\\\\\\\\/g, '\\\\\\\\\\\\\\\\') // backslash\\n\\t\\t.replace(/\\\"/g, '\\\\\\\\\\\"') // double quote character\\n\\t\\t.replace(/'/g, \\\"\\\\\\\\'\\\") // single quote character\\n\\t\\t.replace(/\\\\r/g, '\\\\\\\\r') // carriage return\\n\\t\\t.replace(/\\\\n/g, '\\\\\\\\n') // line feed\\n\\t\\t.replace(regex, exports.escape); // non-ASCII characters\\n};\\n\\n// Turns a string into a legal JSON string\\n// Derived from peg.js, thanks to David Majda\\nexports.jsonStringify = function(s, rawUnicode) {\\n\\t// See http://www.json.org/\\n\\tvar regex = rawUnicode ? /[\\\\x00-\\\\x1f]/g : /[\\\\x00-\\\\x1f\\\\x80-\\\\uFFFF]/g;\\n\\treturn (s || \\\"\\\")\\n\\t\\t.replace(/\\\\\\\\/g, '\\\\\\\\\\\\\\\\') // backslash\\n\\t\\t.replace(/\\\"/g, '\\\\\\\\\\\"') // double quote character\\n\\t\\t.replace(/\\\\r/g, '\\\\\\\\r') // carriage return\\n\\t\\t.replace(/\\\\n/g, '\\\\\\\\n') // line feed\\n\\t\\t.replace(/\\\\x08/g, '\\\\\\\\b') // backspace\\n\\t\\t.replace(/\\\\x0c/g, '\\\\\\\\f') // formfeed\\n\\t\\t.replace(/\\\\t/g, '\\\\\\\\t') // tab\\n\\t\\t.replace(regex,function(s) {\\n\\t\\t\\treturn '\\\\\\\\u' + $tw.utils.pad(s.charCodeAt(0).toString(16).toUpperCase(),4);\\n\\t\\t}); // non-ASCII characters\\n};\\n\\n/*\\nEscape the RegExp special characters with a preceding backslash\\n*/\\nexports.escapeRegExp = function(s) {\\n return s.replace(/[\\\\-\\\\/\\\\\\\\\\\\^\\\\$\\\\*\\\\+\\\\?\\\\.\\\\(\\\\)\\\\|\\\\[\\\\]\\\\{\\\\}]/g, '\\\\\\\\$&');\\n};\\n\\n/*\\nExtended version of encodeURIComponent that encodes additional characters including\\nthose that are illegal within filepaths on various platforms including Windows\\n*/\\nexports.encodeURIComponentExtended = function(s) {\\n\\treturn encodeURIComponent(s).replace(/[!'()*]/g,function(c) {\\n\\t\\treturn \\\"%\\\" + c.charCodeAt(0).toString(16).toUpperCase();\\n\\t});\\n};\\n\\n// Checks whether a link target is external, i.e. not a tiddler title\\nexports.isLinkExternal = function(to) {\\n\\tvar externalRegExp = /^(?:file|http|https|mailto|ftp|irc|news|obsidian|data|skype):[^\\\\s<>{}\\\\[\\\\]`|\\\"\\\\\\\\^]+(?:\\\\/|\\\\b)/i;\\n\\treturn externalRegExp.test(to);\\n};\\n\\nexports.nextTick = function(fn) {\\n/*global window: false */\\n\\tif(typeof process === \\\"undefined\\\") {\\n\\t\\t// Apparently it would be faster to use postMessage - http://dbaron.org/log/20100309-faster-timeouts\\n\\t\\twindow.setTimeout(fn,0);\\n\\t} else {\\n\\t\\tprocess.nextTick(fn);\\n\\t}\\n};\\n\\n/*\\nConvert a hyphenated CSS property name into a camel case one\\n*/\\nexports.unHyphenateCss = function(propName) {\\n\\treturn propName.replace(/-([a-z])/gi, function(match0,match1) {\\n\\t\\treturn match1.toUpperCase();\\n\\t});\\n};\\n\\n/*\\nConvert a camelcase CSS property name into a dashed one (\\\"backgroundColor\\\" --> \\\"background-color\\\")\\n*/\\nexports.hyphenateCss = function(propName) {\\n\\treturn propName.replace(/([A-Z])/g, function(match0,match1) {\\n\\t\\treturn \\\"-\\\" + match1.toLowerCase();\\n\\t});\\n};\\n\\n/*\\nParse a text reference of one of these forms:\\n* title\\n* !!field\\n* title!!field\\n* title##index\\n* etc\\nReturns an object with the following fields, all optional:\\n* title: tiddler title\\n* field: tiddler field name\\n* index: JSON property index\\n*/\\nexports.parseTextReference = function(textRef) {\\n\\t// Separate out the title, field name and/or JSON indices\\n\\tvar reTextRef = /(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/mg,\\n\\t\\tmatch = reTextRef.exec(textRef),\\n\\t\\tresult = {};\\n\\tif(match && reTextRef.lastIndex === textRef.length) {\\n\\t\\t// Return the parts\\n\\t\\tif(match[1]) {\\n\\t\\t\\tresult.title = match[1];\\n\\t\\t}\\n\\t\\tif(match[2]) {\\n\\t\\t\\tresult.field = match[2];\\n\\t\\t}\\n\\t\\tif(match[3]) {\\n\\t\\t\\tresult.title = match[3];\\n\\t\\t}\\n\\t\\tif(match[4]) {\\n\\t\\t\\tresult.index = match[4];\\n\\t\\t}\\n\\t\\tif(match[5]) {\\n\\t\\t\\tresult.title = match[5];\\n\\t\\t}\\n\\t} else {\\n\\t\\t// If we couldn't parse it\\n\\t\\tresult.title = textRef\\n\\t}\\n\\treturn result;\\n};\\n\\n/*\\nChecks whether a string is a valid fieldname\\n*/\\nexports.isValidFieldName = function(name) {\\n\\tif(!name || typeof name !== \\\"string\\\") {\\n\\t\\treturn false;\\n\\t}\\n\\t// Since v5.2.x, there are no restrictions on characters in field names\\n\\treturn name;\\n};\\n\\n/*\\nExtract the version number from the meta tag or from the boot file\\n*/\\n\\n// Browser version\\nexports.extractVersionInfo = function() {\\n\\tif($tw.packageInfo) {\\n\\t\\treturn $tw.packageInfo.version;\\n\\t} else {\\n\\t\\tvar metatags = document.getElementsByTagName(\\\"meta\\\");\\n\\t\\tfor(var t=0; t<metatags.length; t++) {\\n\\t\\t\\tvar m = metatags[t];\\n\\t\\t\\tif(m.name === \\\"tiddlywiki-version\\\") {\\n\\t\\t\\t\\treturn m.content;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn null;\\n};\\n\\n/*\\nGet the animation duration in ms\\n*/\\nexports.getAnimationDuration = function() {\\n\\treturn parseInt($tw.wiki.getTiddlerText(\\\"$:/config/AnimationDuration\\\",\\\"400\\\"),10) || 0;\\n};\\n\\n/*\\nHash a string to a number\\nDerived from http://stackoverflow.com/a/15710692\\n*/\\nexports.hashString = function(str) {\\n\\treturn str.split(\\\"\\\").reduce(function(a,b) {\\n\\t\\ta = ((a << 5) - a) + b.charCodeAt(0);\\n\\t\\treturn a & a;\\n\\t},0);\\n};\\n\\n/*\\nBase64 utility functions that work in either browser or Node.js\\n*/\\nif(typeof window !== 'undefined') {\\n\\texports.btoa = function(binstr) { return window.btoa(binstr); }\\n\\texports.atob = function(b64) { return window.atob(b64); }\\n} else {\\n\\texports.btoa = function(binstr) {\\n\\t\\treturn Buffer.from(binstr, 'binary').toString('base64');\\n\\t}\\n\\texports.atob = function(b64) {\\n\\t\\treturn Buffer.from(b64, 'base64').toString('binary');\\n\\t}\\n}\\n\\n/*\\nDecode a base64 string\\n*/\\nexports.base64Decode = function(string64,binary,urlsafe) {\\n\\tvar encoded = urlsafe ? string64.replace(/_/g,'/').replace(/-/g,'+') : string64;\\n\\tif(binary) return exports.atob(encoded)\\n\\telse return base64utf8.base64.decode.call(base64utf8,encoded);\\n};\\n\\n/*\\nEncode a string to base64\\n*/\\nexports.base64Encode = function(string64,binary,urlsafe) {\\n\\tvar encoded;\\n\\tif(binary) encoded = exports.btoa(string64);\\n\\telse encoded = base64utf8.base64.encode.call(base64utf8,string64);\\n\\tif(urlsafe) {\\n\\t\\tencoded = encoded.replace(/\\\\+/g,'-').replace(/\\\\//g,'_');\\n\\t}\\n\\treturn encoded;\\n};\\n\\n/*\\nConvert a hashmap into a tiddler dictionary format sequence of name:value pairs\\n*/\\nexports.makeTiddlerDictionary = function(data) {\\n\\tvar output = [];\\n\\tfor(var name in data) {\\n\\t\\toutput.push(name + \\\": \\\" + data[name]);\\n\\t}\\n\\treturn output.join(\\\"\\\\n\\\");\\n};\\n\\n/*\\nHigh resolution microsecond timer for profiling\\n*/\\nexports.timer = function(base) {\\n\\tvar m;\\n\\tif($tw.node) {\\n\\t\\tvar r = process.hrtime();\\n\\t\\tm = r[0] * 1e3 + (r[1] / 1e6);\\n\\t} else if(window.performance) {\\n\\t\\tm = performance.now();\\n\\t} else {\\n\\t\\tm = Date.now();\\n\\t}\\n\\tif(typeof base !== \\\"undefined\\\") {\\n\\t\\tm = m - base;\\n\\t}\\n\\treturn m;\\n};\\n\\n/*\\nConvert text and content type to a data URI\\n*/\\nexports.makeDataUri = function(text,type,_canonical_uri) {\\n\\ttype = type || \\\"text/vnd.tiddlywiki\\\";\\n\\tvar typeInfo = $tw.config.contentTypeInfo[type] || $tw.config.contentTypeInfo[\\\"text/plain\\\"],\\n\\t\\tisBase64 = typeInfo.encoding === \\\"base64\\\",\\n\\t\\tparts = [];\\n\\tif(_canonical_uri) {\\n\\t\\tparts.push(_canonical_uri);\\n\\t} else {\\n\\t\\tparts.push(\\\"data:\\\");\\n\\t\\tparts.push(type);\\n\\t\\tparts.push(isBase64 ? \\\";base64\\\" : \\\"\\\");\\n\\t\\tparts.push(\\\",\\\");\\n\\t\\tparts.push(isBase64 ? text : encodeURIComponent(text));\\n\\t}\\n\\treturn parts.join(\\\"\\\");\\n};\\n\\n/*\\nUseful for finding out the fully escaped CSS selector equivalent to a given tag. For example:\\n\\n$tw.utils.tagToCssSelector(\\\"$:/tags/Stylesheet\\\") --> tc-tagged-\\\\%24\\\\%3A\\\\%2Ftags\\\\%2FStylesheet\\n*/\\nexports.tagToCssSelector = function(tagName) {\\n\\treturn \\\"tc-tagged-\\\" + encodeURIComponent(tagName).replace(/[!\\\"#$%&'()*+,\\\\-./:;<=>?@[\\\\\\\\\\\\]^`{\\\\|}~,]/mg,function(c) {\\n\\t\\treturn \\\"\\\\\\\\\\\" + c;\\n\\t});\\n};\\n\\n/*\\nIE does not have sign function\\n*/\\nexports.sign = Math.sign || function(x) {\\n\\tx = +x; // convert to a number\\n\\tif (x === 0 || isNaN(x)) {\\n\\t\\treturn x;\\n\\t}\\n\\treturn x > 0 ? 1 : -1;\\n};\\n\\n/*\\nIE does not have an endsWith function\\n*/\\nexports.strEndsWith = function(str,ending,position) {\\n\\tif(str.endsWith) {\\n\\t\\treturn str.endsWith(ending,position);\\n\\t} else {\\n\\t\\tif (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > str.length) {\\n\\t\\t\\tposition = str.length;\\n\\t\\t}\\n\\t\\tposition -= ending.length;\\n\\t\\tvar lastIndex = str.indexOf(ending, position);\\n\\t\\treturn lastIndex !== -1 && lastIndex === position;\\n\\t}\\n};\\n\\n/*\\nReturn system information useful for debugging\\n*/\\nexports.getSystemInfo = function(str,ending,position) {\\n\\tvar results = [],\\n\\t\\tsave = function(desc,value) {\\n\\t\\t\\tresults.push(desc + \\\": \\\" + value);\\n\\t\\t};\\n\\tif($tw.browser) {\\n\\t\\tsave(\\\"User Agent\\\",navigator.userAgent);\\n\\t\\tsave(\\\"Online Status\\\",window.navigator.onLine);\\n\\t}\\n\\tif($tw.node) {\\n\\t\\tsave(\\\"Node Version\\\",process.version);\\n\\t}\\n\\treturn results.join(\\\"\\\\n\\\");\\n};\\n\\nexports.parseNumber = function(str) {\\n\\treturn parseFloat(str) || 0;\\n};\\n\\nexports.parseInt = function(str) {\\n\\treturn parseInt(str,10) || 0;\\n};\\n\\nexports.stringifyNumber = function(num) {\\n\\treturn num + \\\"\\\";\\n};\\n\\nexports.makeCompareFunction = function(type,options) {\\n\\toptions = options || {};\\n\\t// set isCaseSensitive to true if not defined in options\\n\\tvar isCaseSensitive = (options.isCaseSensitive === false) ? false : true,\\n\\t\\tgt = options.invert ? -1 : +1,\\n\\t\\tlt = options.invert ? +1 : -1,\\n\\t\\tcompare = function(a,b) {\\n\\t\\t\\tif(a > b) {\\n\\t\\t\\t\\treturn gt ;\\n\\t\\t\\t} else if(a < b) {\\n\\t\\t\\t\\treturn lt;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn 0;\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\ttypes = {\\n\\t\\t\\t\\\"number\\\": function(a,b) {\\n\\t\\t\\t\\treturn compare($tw.utils.parseNumber(a),$tw.utils.parseNumber(b));\\n\\t\\t\\t},\\n\\t\\t\\t\\\"integer\\\": function(a,b) {\\n\\t\\t\\t\\treturn compare($tw.utils.parseInt(a),$tw.utils.parseInt(b));\\n\\t\\t\\t},\\n\\t\\t\\t\\\"string\\\": function(a,b) {\\n\\t\\t\\t\\tif(!isCaseSensitive) {\\n\\t\\t\\t\\t\\ta = a.toLowerCase();\\n\\t\\t\\t\\t\\tb = b.toLowerCase();\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn compare(\\\"\\\" + a,\\\"\\\" + b);\\n\\t\\t\\t},\\n\\t\\t\\t\\\"date\\\": function(a,b) {\\n\\t\\t\\t\\tvar dateA = $tw.utils.parseDate(a),\\n\\t\\t\\t\\t\\tdateB = $tw.utils.parseDate(b);\\n\\t\\t\\t\\tif(!isFinite(dateA)) {\\n\\t\\t\\t\\t\\tdateA = new Date(0);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif(!isFinite(dateB)) {\\n\\t\\t\\t\\t\\tdateB = new Date(0);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn compare(dateA,dateB);\\n\\t\\t\\t},\\n\\t\\t\\t\\\"version\\\": function(a,b) {\\n\\t\\t\\t\\treturn $tw.utils.compareVersions(a,b);\\n\\t\\t\\t},\\n\\t\\t\\t\\\"alphanumeric\\\": function(a,b) {\\n\\t\\t\\t\\tif(!isCaseSensitive) {\\n\\t\\t\\t\\t\\ta = a.toLowerCase();\\n\\t\\t\\t\\t\\tb = b.toLowerCase();\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn options.invert ? b.localeCompare(a,undefined,{numeric: true,sensitivity: \\\"base\\\"}) : a.localeCompare(b,undefined,{numeric: true,sensitivity: \\\"base\\\"});\\n\\t\\t\\t}\\n\\t\\t};\\n\\treturn (types[type] || types[options.defaultType] || types.number);\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"utils\"},\"$:/core/modules/widgets/action-confirm.js\":{\"title\":\"$:/core/modules/widgets/action-confirm.js\",\"text\":\"/*\\\\\\n\\ntitle: $:/core/modules/widgets/action-confirm.js\\ntype: application/javascript\\nmodule-type: widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar ConfirmWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nConfirmWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nConfirmWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.parentDomNode = parent;\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nConfirmWidget.prototype.execute = function() {\\n\\tthis.message = this.getAttribute(\\\"$message\\\",$tw.language.getString(\\\"ConfirmAction\\\"));\\n\\tthis.prompt = (this.getAttribute(\\\"$prompt\\\",\\\"yes\\\") == \\\"no\\\" ? false : true);\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nConfirmWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes[\\\"$message\\\"] || changedAttributes[\\\"$prompt\\\"]) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\n/*\\nInvoke the action associated with this widget\\n*/\\nConfirmWidget.prototype.invokeAction = function(triggeringWidget,event) {\\n\\tvar invokeActions = true,\\n\\t\\thandled = true,\\n\\t \\twin = event && event.event && event.event.view ? event.event.view : window;\\n\\tif(this.prompt) {\\n\\t\\tinvokeActions = win.confirm(this.message);\\n\\t}\\n\\tif(invokeActions) {\\n\\t\\thandled = this.invokeActions(triggeringWidget,event);\\n\\t}\\n\\treturn handled;\\n};\\n\\nConfirmWidget.prototype.allowActionPropagation = function() {\\n\\treturn false;\\n};\\n\\nexports[\\\"action-confirm\\\"] = ConfirmWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/action-createtiddler.js\":{\"title\":\"$:/core/modules/widgets/action-createtiddler.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/action-createtiddler.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nAction widget to create a new tiddler with a unique name and specified fields.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw:false, require:false, exports:false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar CreateTiddlerWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nCreateTiddlerWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nCreateTiddlerWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\t// Render children\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nCreateTiddlerWidget.prototype.execute = function() {\\n\\tthis.actionBaseTitle = this.getAttribute(\\\"$basetitle\\\");\\n\\tthis.hasBase = !!this.actionBaseTitle;\\n\\tthis.actionSaveTitle = this.getAttribute(\\\"$savetitle\\\");\\n\\tthis.actionSaveDraftTitle = this.getAttribute(\\\"$savedrafttitle\\\");\\n\\tthis.actionTimestamp = this.getAttribute(\\\"$timestamp\\\",\\\"yes\\\") === \\\"yes\\\";\\n\\t//Following params are new since 5.1.22\\n\\tthis.actionTemplate = this.getAttribute(\\\"$template\\\");\\n\\tthis.useTemplate = !!this.actionTemplate;\\n\\tthis.actionOverwrite = this.getAttribute(\\\"$overwrite\\\",\\\"no\\\");\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nCreateTiddlerWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif($tw.utils.count(changedAttributes) > 0) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\n/*\\nInvoke the action associated with this widget\\n*/\\nCreateTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\\n\\tvar title = this.wiki.getTiddlerText(\\\"$:/language/DefaultNewTiddlerTitle\\\"), // Get the initial new-tiddler title\\n\\t\\tfields = {},\\n\\t\\tcreationFields,\\n\\t\\tmodificationFields;\\n\\t$tw.utils.each(this.attributes,function(attribute,name) {\\n\\t\\tif(name.charAt(0) !== \\\"$\\\") {\\n\\t\\t\\tfields[name] = attribute;\\n\\t\\t}\\n\\t});\\n\\tif(this.actionTimestamp) {\\n\\t\\tcreationFields = this.wiki.getCreationFields();\\n\\t\\tmodificationFields = this.wiki.getModificationFields();\\n\\t}\\n\\tif(this.hasBase && this.actionOverwrite === \\\"no\\\") {\\n\\t\\ttitle = this.wiki.generateNewTitle(this.actionBaseTitle);\\n\\t} else if (this.hasBase && this.actionOverwrite === \\\"yes\\\") {\\n\\t\\ttitle = this.actionBaseTitle\\n\\t}\\n\\t// NO $basetitle BUT $template parameter is available\\n\\t// the title MUST be unique, otherwise the template would be overwritten\\n\\tif (!this.hasBase && this.useTemplate) {\\n\\t\\ttitle = this.wiki.generateNewTitle(this.actionTemplate);\\n\\t} else if (!this.hasBase && !this.useTemplate) {\\n\\t\\t// If no $basetitle and no $template then use initial title\\n\\t\\ttitle = this.wiki.generateNewTitle(title);\\n\\t}\\n\\tvar templateTiddler = this.wiki.getTiddler(this.actionTemplate) || {};\\n\\tthis.wiki.addTiddler(new $tw.Tiddler(templateTiddler.fields,creationFields,fields,modificationFields,{title: title}));\\n\\tvar draftTitle = this.wiki.generateDraftTitle(title);\\n\\tif(this.actionSaveTitle) {\\n\\t\\tthis.wiki.setTextReference(this.actionSaveTitle,title,this.getVariable(\\\"currentTiddler\\\"));\\n\\t}\\n\\tif(this.actionSaveDraftTitle) {\\n\\t\\tthis.wiki.setTextReference(this.actionSaveDraftTitle,draftTitle,this.getVariable(\\\"currentTiddler\\\"));\\n\\t}\\n\\tthis.setVariable(\\\"createTiddler-title\\\",title);\\n\\tthis.setVariable(\\\"createTiddler-draftTitle\\\",draftTitle);\\n\\tthis.refreshChildren();\\n\\treturn true; // Action was invoked\\n};\\n\\nexports[\\\"action-createtiddler\\\"] = CreateTiddlerWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/action-deletefield.js\":{\"title\":\"$:/core/modules/widgets/action-deletefield.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/action-deletefield.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nAction widget to delete fields of a tiddler.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar DeleteFieldWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nDeleteFieldWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nDeleteFieldWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nDeleteFieldWidget.prototype.execute = function() {\\n\\tthis.actionTiddler = this.getAttribute(\\\"$tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\tthis.actionField = this.getAttribute(\\\"$field\\\",null);\\n};\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nDeleteFieldWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes[\\\"$tiddler\\\"]) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\n/*\\nInvoke the action associated with this widget\\n*/\\nDeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\\n\\tvar self = this,\\n\\t\\ttiddler = this.wiki.getTiddler(self.actionTiddler),\\n\\t\\tremoveFields = {},\\n\\t\\thasChanged = false;\\n\\tif((this.actionField !== null) && tiddler) {\\n\\t\\tremoveFields[this.actionField] = undefined;\\n\\t\\tif(this.actionField in tiddler.fields) {\\n\\t\\t\\thasChanged = true;\\n\\t\\t}\\n\\t}\\n\\tif(tiddler) {\\n\\t\\t$tw.utils.each(this.attributes,function(attribute,name) {\\n\\t\\t\\tif(name.charAt(0) !== \\\"$\\\" && name !== \\\"title\\\") {\\n\\t\\t\\t\\tremoveFields[name] = undefined;\\n\\t\\t\\t\\thasChanged = true;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\tif(hasChanged) {\\n\\t\\t\\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,removeFields,this.wiki.getModificationFields()));\\n\\t\\t}\\n\\t}\\n\\treturn true; // Action was invoked\\n};\\n\\nexports[\\\"action-deletefield\\\"] = DeleteFieldWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/action-deletetiddler.js\":{\"title\":\"$:/core/modules/widgets/action-deletetiddler.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/action-deletetiddler.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nAction widget to delete a tiddler.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar DeleteTiddlerWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nDeleteTiddlerWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nDeleteTiddlerWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nDeleteTiddlerWidget.prototype.execute = function() {\\n\\tthis.actionFilter = this.getAttribute(\\\"$filter\\\");\\n\\tthis.actionTiddler = this.getAttribute(\\\"$tiddler\\\");\\n};\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nDeleteTiddlerWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes[\\\"$filter\\\"] || changedAttributes[\\\"$tiddler\\\"]) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\n/*\\nInvoke the action associated with this widget\\n*/\\nDeleteTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\\n\\tvar tiddlers = [];\\n\\tif(this.actionFilter) {\\n\\t\\ttiddlers = this.wiki.filterTiddlers(this.actionFilter,this);\\n\\t}\\n\\tif(this.actionTiddler) {\\n\\t\\ttiddlers.push(this.actionTiddler);\\n\\t}\\n\\tfor(var t=0; t<tiddlers.length; t++) {\\n\\t\\tthis.wiki.deleteTiddler(tiddlers[t]);\\n\\t}\\n\\treturn true; // Action was invoked\\n};\\n\\nexports[\\\"action-deletetiddler\\\"] = DeleteTiddlerWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/action-listops.js\":{\"title\":\"$:/core/modules/widgets/action-listops.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/action-listops.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nAction widget to apply list operations to any tiddler field (defaults to the 'list' field of the current tiddler)\\n\\n\\\\*/\\n(function() {\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\nvar ActionListopsWidget = function(parseTreeNode, options) {\\n\\tthis.initialise(parseTreeNode, options);\\n};\\n/**\\n * Inherit from the base widget class\\n */\\nActionListopsWidget.prototype = new Widget();\\n/**\\n * Render this widget into the DOM\\n */\\nActionListopsWidget.prototype.render = function(parent, nextSibling) {\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n};\\n/**\\n * Compute the internal state of the widget\\n */\\nActionListopsWidget.prototype.execute = function() {\\n\\t// Get our parameters\\n\\tthis.target = this.getAttribute(\\\"$tiddler\\\", this.getVariable(\\n\\t\\t\\\"currentTiddler\\\"));\\n\\tthis.filter = this.getAttribute(\\\"$filter\\\");\\n\\tthis.subfilter = this.getAttribute(\\\"$subfilter\\\");\\n\\tthis.listField = this.getAttribute(\\\"$field\\\", \\\"list\\\");\\n\\tthis.listIndex = this.getAttribute(\\\"$index\\\");\\n\\tthis.filtertags = this.getAttribute(\\\"$tags\\\");\\n};\\n/**\\n * \\tRefresh the widget by ensuring our attributes are up to date\\n */\\nActionListopsWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif($tw.utils.count(changedAttributes) > 0) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n/**\\n * \\tInvoke the action associated with this widget\\n */\\nActionListopsWidget.prototype.invokeAction = function(triggeringWidget,\\n\\tevent) {\\n\\t//Apply the specified filters to the lists\\n\\tvar field = this.listField,\\n\\t\\tindex,\\n\\t\\tlist = this.listField;\\n\\tif(this.listIndex) {\\n\\t\\tfield = undefined;\\n\\t\\tindex = this.listIndex;\\n\\t\\tlist = this.listIndex;\\n\\t}\\n\\tif(this.filter) {\\n\\t\\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\\n\\t\\t\\tthis.wiki\\n\\t\\t\\t.filterTiddlers(this.filter, this)));\\n\\t}\\n\\tif(this.subfilter) {\\n\\t\\tvar inputList = this.wiki.getTiddlerList(this.target,field,index),\\n\\t\\t\\tsubfilter = \\\"[all[]] \\\" + this.subfilter;\\n\\t\\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(this.wiki.filterTiddlers(subfilter,this,this.wiki.makeTiddlerIterator(inputList))));\\n\\t}\\n\\tif(this.filtertags) {\\n\\t\\tvar tiddler = this.wiki.getTiddler(this.target),\\n\\t\\t\\toldtags = tiddler ? (tiddler.fields.tags || []).slice(0) : [],\\n\\t\\t\\ttagfilter = $tw.utils.stringifyList(oldtags) + \\\" \\\" + this.filtertags,\\n\\t\\t\\tnewtags = this.wiki.filterTiddlers(tagfilter,this);\\n\\t\\tif($tw.utils.stringifyList(oldtags.sort()) !== $tw.utils.stringifyList(newtags.sort())) {\\n\\t\\t\\tthis.wiki.setText(this.target,\\\"tags\\\",undefined,$tw.utils.stringifyList(newtags));\\n\\t\\t}\\n\\t}\\n\\treturn true; // Action was invoked\\n};\\n\\nexports[\\\"action-listops\\\"] = ActionListopsWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/action-log.js\":{\"title\":\"$:/core/modules/widgets/action-log.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/action-log.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nAction widget to log debug messages\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar LogWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nLogWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nLogWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n};\\n\\nLogWidget.prototype.execute = function(){\\n\\tthis.message = this.getAttribute(\\\"$$message\\\",\\\"debug\\\");\\n\\tthis.logAll = this.getAttribute(\\\"$$all\\\",\\\"no\\\") === \\\"yes\\\" ? true : false;\\n\\tthis.filter = this.getAttribute(\\\"$$filter\\\");\\n}\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nLogWidget.prototype.refresh = function(changedTiddlers) {\\n\\tthis.refreshSelf();\\n\\treturn true;\\n};\\n\\n/*\\nInvoke the action associated with this widget\\n*/\\nLogWidget.prototype.invokeAction = function(triggeringWidget,event) {\\n\\tthis.log();\\n\\treturn true; // Action was invoked\\n};\\n\\nLogWidget.prototype.log = function() {\\n\\tvar data = {},\\n\\t\\tdataCount,\\n\\t\\tallVars = {},\\n\\t\\tfilteredVars;\\n\\n\\t$tw.utils.each(this.attributes,function(attribute,name) {\\n\\t\\tif(name.substring(0,2) !== \\\"$$\\\") {\\n\\t\\t\\tdata[name] = attribute;\\n\\t\\t}\\n\\t});\\n\\n\\tfor(var v in this.variables) {\\n\\t\\tallVars[v] = this.getVariable(v,{defaultValue:\\\"\\\"});\\n\\t}\\n\\tif(this.filter) {\\n\\t\\tfilteredVars = this.wiki.compileFilter(this.filter).call(this.wiki,this.wiki.makeTiddlerIterator(allVars));\\n\\t\\t$tw.utils.each(filteredVars,function(name) {\\n\\t\\t\\tdata[name] = allVars[name];\\n\\t\\t});\\n\\t}\\n\\tdataCount = $tw.utils.count(data);\\n\\n\\tconsole.group(this.message);\\n\\tif(dataCount > 0) {\\n\\t\\t$tw.utils.logTable(data);\\n\\t}\\n\\tif(this.logAll || !dataCount) {\\n\\t\\tconsole.groupCollapsed(\\\"All variables\\\");\\n\\t\\t$tw.utils.logTable(allVars);\\n\\t\\tconsole.groupEnd();\\n\\t}\\n\\tconsole.groupEnd();\\n}\\n\\nexports[\\\"action-log\\\"] = LogWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/action-navigate.js\":{\"title\":\"$:/core/modules/widgets/action-navigate.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/action-navigate.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nAction widget to navigate to a tiddler\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar NavigateWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nNavigateWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nNavigateWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nNavigateWidget.prototype.execute = function() {\\n\\tthis.actionTo = this.getAttribute(\\\"$to\\\");\\n\\tthis.actionScroll = this.getAttribute(\\\"$scroll\\\");\\n};\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nNavigateWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes[\\\"$to\\\"] || changedAttributes[\\\"$scroll\\\"]) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\n/*\\nInvoke the action associated with this widget\\n*/\\nNavigateWidget.prototype.invokeAction = function(triggeringWidget,event) {\\n\\tevent = event || {};\\n\\tvar bounds = triggeringWidget && triggeringWidget.getBoundingClientRect && triggeringWidget.getBoundingClientRect(),\\n\\t\\tsuppressNavigation = event.metaKey || event.ctrlKey || (event.button === 1);\\n\\tif(this.actionScroll === \\\"yes\\\") {\\n\\t\\tsuppressNavigation = false;\\n\\t} else if(this.actionScroll === \\\"no\\\") {\\n\\t\\tsuppressNavigation = true;\\n\\t}\\n\\tthis.dispatchEvent({\\n\\t\\ttype: \\\"tm-navigate\\\",\\n\\t\\tnavigateTo: this.actionTo === undefined ? this.getVariable(\\\"currentTiddler\\\") : this.actionTo,\\n\\t\\tnavigateFromTitle: this.getVariable(\\\"storyTiddler\\\"),\\n\\t\\tnavigateFromNode: triggeringWidget,\\n\\t\\tnavigateFromClientRect: bounds && { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\\n\\t\\t},\\n\\t\\tnavigateFromClientTop: bounds && bounds.top,\\n\\t\\tnavigateFromClientLeft: bounds && bounds.left,\\n\\t\\tnavigateFromClientWidth: bounds && bounds.width,\\n\\t\\tnavigateFromClientRight: bounds && bounds.right,\\n\\t\\tnavigateFromClientBottom: bounds && bounds.bottom,\\n\\t\\tnavigateFromClientHeight: bounds && bounds.height,\\n\\t\\tnavigateSuppressNavigation: suppressNavigation,\\n\\t\\tmetaKey: event.metaKey,\\n\\t\\tctrlKey: event.ctrlKey,\\n\\t\\taltKey: event.altKey,\\n\\t\\tshiftKey: event.shiftKey,\\n\\t\\tevent: event\\n\\t});\\n\\treturn true; // Action was invoked\\n};\\n\\nexports[\\\"action-navigate\\\"] = NavigateWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/action-popup.js\":{\"title\":\"$:/core/modules/widgets/action-popup.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/action-popup.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nAction widget to trigger a popup.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar Popup = require(\\\"$:/core/modules/utils/dom/popup.js\\\");\\n\\nvar ActionPopupWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nActionPopupWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nActionPopupWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nActionPopupWidget.prototype.execute = function() {\\n\\tthis.actionState = this.getAttribute(\\\"$state\\\");\\n\\tthis.actionCoords = this.getAttribute(\\\"$coords\\\");\\n\\tthis.floating = this.getAttribute(\\\"$floating\\\",\\\"no\\\") === \\\"yes\\\";\\n};\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nActionPopupWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes[\\\"$state\\\"] || changedAttributes[\\\"$coords\\\"]) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\n/*\\nInvoke the action associated with this widget\\n*/\\nActionPopupWidget.prototype.invokeAction = function(triggeringWidget,event) {\\n\\t// Trigger the popup\\n\\tvar coordinates = Popup.parseCoordinates(this.actionCoords || \\\"\\\");\\n\\tif(coordinates) {\\n\\t\\t$tw.popup.triggerPopup({\\n\\t\\t\\tdomNode: null,\\n\\t\\t\\tdomNodeRect: {\\n\\t\\t\\t\\tleft: coordinates.left,\\n\\t\\t\\t\\ttop: coordinates.top,\\n\\t\\t\\t\\twidth: coordinates.width,\\n\\t\\t\\t\\theight: coordinates.height\\n\\t\\t\\t},\\n\\t\\t\\ttitle: this.actionState,\\n\\t\\t\\twiki: this.wiki,\\n\\t\\t\\tfloating: this.floating,\\n\\t\\t\\tabsolute: coordinates.absolute\\n\\t\\t});\\n\\t} else {\\n\\t\\t$tw.popup.cancel(0);\\n\\t}\\n\\treturn true; // Action was invoked\\n};\\n\\nexports[\\\"action-popup\\\"] = ActionPopupWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/action-sendmessage.js\":{\"title\":\"$:/core/modules/widgets/action-sendmessage.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/action-sendmessage.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nAction widget to send a message\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar SendMessageWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nSendMessageWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nSendMessageWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nSendMessageWidget.prototype.execute = function() {\\n\\tthis.actionMessage = this.getAttribute(\\\"$message\\\");\\n\\tthis.actionParam = this.getAttribute(\\\"$param\\\");\\n\\tthis.actionName = this.getAttribute(\\\"$name\\\");\\n\\tthis.actionValue = this.getAttribute(\\\"$value\\\",\\\"\\\");\\n\\tthis.actionNames = this.getAttribute(\\\"$names\\\");\\n\\tthis.actionValues = this.getAttribute(\\\"$values\\\");\\n};\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nSendMessageWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(Object.keys(changedAttributes).length) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\n/*\\nInvoke the action associated with this widget\\n*/\\nSendMessageWidget.prototype.invokeAction = function(triggeringWidget,event) {\\n\\t// Get the string parameter\\n\\tvar param = this.actionParam;\\n\\t// Assemble the parameters as a hashmap\\n\\tvar paramObject = Object.create(null);\\n\\t// Add names/values pairs if present\\n\\tif(this.actionNames && this.actionValues) {\\n\\t\\tvar names = this.wiki.filterTiddlers(this.actionNames,this),\\n\\t\\t\\tvalues = this.wiki.filterTiddlers(this.actionValues,this);\\n\\t\\t$tw.utils.each(names,function(name,index) {\\n\\t\\t\\tparamObject[name] = values[index] || \\\"\\\";\\n\\t\\t});\\n\\t}\\n\\t// Add raw parameters\\n\\t$tw.utils.each(this.attributes,function(attribute,name) {\\n\\t\\tif(name.charAt(0) !== \\\"$\\\") {\\n\\t\\t\\tparamObject[name] = attribute;\\n\\t\\t}\\n\\t});\\n\\t// Add name/value pair if present\\n\\tif(this.actionName) {\\n\\t\\tparamObject[this.actionName] = this.actionValue;\\n\\t}\\n\\t// Dispatch the message\\n\\tvar params = {\\n\\t\\ttype: this.actionMessage,\\n\\t\\tparam: param,\\n\\t\\tparamObject: paramObject,\\n\\t\\tevent: event,\\n\\t\\ttiddlerTitle: this.getVariable(\\\"currentTiddler\\\"),\\n\\t\\tnavigateFromTitle: this.getVariable(\\\"storyTiddler\\\")\\n\\t};\\n\\tthis.dispatchEvent(params);\\n\\treturn true; // Action was invoked\\n};\\n\\nexports[\\\"action-sendmessage\\\"] = SendMessageWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/action-setfield.js\":{\"title\":\"$:/core/modules/widgets/action-setfield.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/action-setfield.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nAction widget to set a single field or index on a tiddler.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar SetFieldWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nSetFieldWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nSetFieldWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nSetFieldWidget.prototype.execute = function() {\\n\\tthis.actionTiddler = this.getAttribute(\\\"$tiddler\\\") || (!this.hasParseTreeNodeAttribute(\\\"$tiddler\\\") && this.getVariable(\\\"currentTiddler\\\"));\\n\\tthis.actionField = this.getAttribute(\\\"$field\\\");\\n\\tthis.actionIndex = this.getAttribute(\\\"$index\\\");\\n\\tthis.actionValue = this.getAttribute(\\\"$value\\\");\\n\\tthis.actionTimestamp = this.getAttribute(\\\"$timestamp\\\",\\\"yes\\\") === \\\"yes\\\";\\n};\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nSetFieldWidget.prototype.refresh = function(changedTiddlers) {\\n\\t// Nothing to refresh\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\n/*\\nInvoke the action associated with this widget\\n*/\\nSetFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\\n\\tvar self = this,\\n\\t\\toptions = {};\\n\\tif(this.actionTiddler) {\\n\\t\\toptions.suppressTimestamp = !this.actionTimestamp;\\n\\t\\tif((typeof this.actionField == \\\"string\\\") || (typeof this.actionIndex == \\\"string\\\") || (typeof this.actionValue == \\\"string\\\")) {\\n\\t\\t\\tthis.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue,options);\\n\\t\\t}\\n\\t\\t$tw.utils.each(this.attributes,function(attribute,name) {\\n\\t\\t\\tif(name.charAt(0) !== \\\"$\\\") {\\n\\t\\t\\t\\tself.wiki.setText(self.actionTiddler,name,undefined,attribute,options);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn true; // Action was invoked\\n};\\n\\nexports[\\\"action-setfield\\\"] = SetFieldWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/action-setmultiplefields.js\":{\"title\":\"$:/core/modules/widgets/action-setmultiplefields.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/action-setmultiplefields.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nAction widget to set multiple fields or indexes on a tiddler\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar SetMultipleFieldsWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nSetMultipleFieldsWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nSetMultipleFieldsWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nSetMultipleFieldsWidget.prototype.execute = function() {\\n\\tthis.actionTiddler = this.getAttribute(\\\"$tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\tthis.actionFields = this.getAttribute(\\\"$fields\\\");\\n\\tthis.actionIndexes = this.getAttribute(\\\"$indexes\\\");\\n\\tthis.actionValues = this.getAttribute(\\\"$values\\\");\\n\\tthis.actionTimestamp = this.getAttribute(\\\"$timestamp\\\",\\\"yes\\\") === \\\"yes\\\";\\n};\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nSetMultipleFieldsWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes[\\\"$tiddler\\\"] || changedAttributes[\\\"$fields\\\"] || changedAttributes[\\\"$indexes\\\"] || changedAttributes[\\\"$values\\\"] || changedAttributes[\\\"$timestamp\\\"]) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\n/*\\nInvoke the action associated with this widget\\n*/\\nSetMultipleFieldsWidget.prototype.invokeAction = function(triggeringWidget,event) {\\n\\tvar tiddler = this.wiki.getTiddler(this.actionTiddler),\\n\\t\\tnames, values = this.wiki.filterTiddlers(this.actionValues,this);\\n\\tif(this.actionFields) {\\n\\t\\tvar additions = {};\\n\\t\\tnames = this.wiki.filterTiddlers(this.actionFields,this);\\n\\t\\t$tw.utils.each(names,function(fieldname,index) {\\n\\t\\t\\tadditions[fieldname] = values[index] || \\\"\\\";\\n\\t\\t});\\n\\t\\tvar creationFields = this.actionTimestamp ? this.wiki.getCreationFields() : undefined,\\n\\t\\t\\tmodificationFields = this.actionTimestamp ? this.wiki.getModificationFields() : undefined;\\n\\t\\tthis.wiki.addTiddler(new $tw.Tiddler(creationFields,tiddler,{title: this.actionTiddler},modificationFields,additions));\\n\\t} else if(this.actionIndexes) {\\n\\t\\tvar data = this.wiki.getTiddlerData(this.actionTiddler,Object.create(null));\\n\\t\\tnames = this.wiki.filterTiddlers(this.actionIndexes,this);\\n\\t\\t$tw.utils.each(names,function(name,index) {\\n\\t\\t\\tdata[name] = values[index] || \\\"\\\";\\n\\t\\t});\\n\\t\\tthis.wiki.setTiddlerData(this.actionTiddler,data,{},{suppressTimestamp: !this.actionTimestamp});\\n\\t}\\n\\treturn true; // Action was invoked\\n};\\n\\nexports[\\\"action-setmultiplefields\\\"] = SetMultipleFieldsWidget;\\n\\n})();\\n\\t\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/browse.js\":{\"title\":\"$:/core/modules/widgets/browse.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/browse.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nBrowse widget for browsing for files to import\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar BrowseWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nBrowseWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nBrowseWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this;\\n\\t// Remember parent\\n\\tthis.parentDomNode = parent;\\n\\t// Compute attributes and execute state\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\t// Create element\\n\\tvar domNode = this.document.createElement(\\\"input\\\");\\n\\tdomNode.setAttribute(\\\"type\\\",\\\"file\\\");\\n\\tif(this.browseMultiple) {\\n\\t\\tdomNode.setAttribute(\\\"multiple\\\",\\\"multiple\\\");\\n\\t}\\n\\tif(this.tooltip) {\\n\\t\\tdomNode.setAttribute(\\\"title\\\",this.tooltip);\\n\\t}\\n\\t// Nw.js supports \\\"nwsaveas\\\" to force a \\\"save as\\\" dialogue that allows a new or existing file to be selected\\n\\tif(this.nwsaveas) {\\n\\t\\tdomNode.setAttribute(\\\"nwsaveas\\\",this.nwsaveas);\\n\\t}\\n\\tif(this.accept) {\\n\\t\\tdomNode.setAttribute(\\\"accept\\\",this.accept);\\n\\t}\\n\\t// Nw.js supports \\\"webkitdirectory\\\" and \\\"nwdirectory\\\" to allow a directory to be selected\\n\\tif(this.webkitdirectory) {\\n\\t\\tdomNode.setAttribute(\\\"webkitdirectory\\\",this.webkitdirectory);\\n\\t}\\n\\tif(this.nwdirectory) {\\n\\t\\tdomNode.setAttribute(\\\"nwdirectory\\\",this.nwdirectory);\\n\\t}\\n\\t// Add a click event handler\\n\\tdomNode.addEventListener(\\\"change\\\",function (event) {\\n\\t\\tif(self.message) {\\n\\t\\t\\tself.dispatchEvent({type: self.message, param: self.param, files: event.target.files});\\n\\t\\t} else {\\n\\t\\t\\tself.wiki.readFiles(event.target.files,{\\n\\t\\t\\t\\tcallback: function(tiddlerFieldsArray) {\\n\\t\\t\\t\\t\\tself.dispatchEvent({type: \\\"tm-import-tiddlers\\\", param: JSON.stringify(tiddlerFieldsArray)});\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\tdeserializer: self.deserializer\\n\\t\\t\\t});\\n\\t\\t}\\n\\t\\treturn false;\\n\\t},false);\\n\\t// Assign data- attributes\\n\\tthis.assignAttributes(domNode,{\\n\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\tdestPrefix: \\\"data-\\\"\\n\\t});\\n\\t// Insert element\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.domNodes.push(domNode);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nBrowseWidget.prototype.execute = function() {\\n\\tthis.browseMultiple = this.getAttribute(\\\"multiple\\\");\\n\\tthis.deserializer = this.getAttribute(\\\"deserializer\\\");\\n\\tthis.message = this.getAttribute(\\\"message\\\");\\n\\tthis.param = this.getAttribute(\\\"param\\\");\\n\\tthis.tooltip = this.getAttribute(\\\"tooltip\\\");\\n\\tthis.nwsaveas = this.getAttribute(\\\"nwsaveas\\\");\\n\\tthis.accept = this.getAttribute(\\\"accept\\\");\\n\\tthis.webkitdirectory = this.getAttribute(\\\"webkitdirectory\\\");\\n\\tthis.nwdirectory = this.getAttribute(\\\"nwdirectory\\\");\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nBrowseWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif($tw.utils.count(changedAttributes) > 0) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\t\\n\\t}\\n\\treturn false;\\n};\\n\\nexports.browse = BrowseWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/button.js\":{\"title\":\"$:/core/modules/widgets/button.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/button.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nButton widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar Popup = require(\\\"$:/core/modules/utils/dom/popup.js\\\");\\n\\nvar ButtonWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nButtonWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nButtonWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this,\\n\\t\\ttag = \\\"button\\\",\\n\\t\\tdomNode;\\n\\t// Remember parent\\n\\tthis.parentDomNode = parent;\\n\\t// Compute attributes and execute state\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\t// Create element\\n\\tif(this.buttonTag && $tw.config.htmlUnsafeElements.indexOf(this.buttonTag) === -1) {\\n\\t\\ttag = this.buttonTag;\\n\\t}\\n\\tdomNode = this.document.createElement(tag);\\n\\tthis.domNode = domNode;\\n\\t// Assign classes\\n\\tvar classes = this[\\\"class\\\"].split(\\\" \\\") || [],\\n\\t\\tisPoppedUp = (this.popup || this.popupTitle) && this.isPoppedUp();\\n\\tif(this.selectedClass) {\\n\\t\\tif((this.set || this.setTitle) && this.setTo && this.isSelected()) {\\n\\t\\t\\t$tw.utils.pushTop(classes, this.selectedClass.split(\\\" \\\"));\\n\\t\\t\\tdomNode.setAttribute(\\\"aria-checked\\\", \\\"true\\\");\\n\\t\\t}\\n\\t\\tif(isPoppedUp) {\\n\\t\\t\\t$tw.utils.pushTop(classes,this.selectedClass.split(\\\" \\\"));\\n\\t\\t}\\n\\t}\\n\\tif(isPoppedUp) {\\n\\t\\t$tw.utils.pushTop(classes,\\\"tc-popup-handle\\\");\\n\\t}\\n\\tdomNode.className = classes.join(\\\" \\\");\\n\\t// Assign data- attributes\\n\\tthis.assignAttributes(domNode,{\\n\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\tdestPrefix: \\\"data-\\\"\\n\\t});\\n\\t// Assign other attributes\\n\\tif(this.style) {\\n\\t\\tdomNode.setAttribute(\\\"style\\\",this.style);\\n\\t}\\n\\tif(this.tooltip) {\\n\\t\\tdomNode.setAttribute(\\\"title\\\",this.tooltip);\\n\\t}\\n\\tif(this[\\\"aria-label\\\"]) {\\n\\t\\tdomNode.setAttribute(\\\"aria-label\\\",this[\\\"aria-label\\\"]);\\n\\t}\\n\\tif (this.role) {\\n\\t\\tdomNode.setAttribute(\\\"role\\\", this.role);\\n\\t}\\n\\tif(this.popup || this.popupTitle) {\\n\\t\\tdomNode.setAttribute(\\\"aria-expanded\\\",isPoppedUp ? \\\"true\\\" : \\\"false\\\");\\n\\t}\\n\\t// Set the tabindex\\n\\tif(this.tabIndex) {\\n\\t\\tdomNode.setAttribute(\\\"tabindex\\\",this.tabIndex);\\n\\t}\\n\\tif(this.isDisabled === \\\"yes\\\") {\\n\\t\\tdomNode.setAttribute(\\\"disabled\\\",true);\\n\\t}\\n\\t// Add a click event handler\\n\\tdomNode.addEventListener(\\\"click\\\",function (event) {\\n\\t\\tvar handled = false;\\n\\t\\tif(self.invokeActions(self,event)) {\\n\\t\\t\\thandled = true;\\n\\t\\t}\\n\\t\\tif(self.to) {\\n\\t\\t\\tself.navigateTo(event);\\n\\t\\t\\thandled = true;\\n\\t\\t}\\n\\t\\tif(self.message) {\\n\\t\\t\\tself.dispatchMessage(event);\\n\\t\\t\\thandled = true;\\n\\t\\t}\\n\\t\\tif(self.popup || self.popupTitle) {\\n\\t\\t\\tself.triggerPopup(event);\\n\\t\\t\\thandled = true;\\n\\t\\t}\\n\\t\\tif(self.set || self.setTitle) {\\n\\t\\t\\tself.setTiddler();\\n\\t\\t\\thandled = true;\\n\\t\\t}\\n\\t\\tif(self.actions) {\\n\\t\\t\\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\t\\tself.invokeActionString(self.actions,self,event,{modifier: modifierKey});\\n\\t\\t}\\n\\t\\tif(handled) {\\n\\t\\t\\tevent.preventDefault();\\n\\t\\t\\tevent.stopPropagation();\\n\\t\\t}\\n\\t\\treturn handled;\\n\\t},false);\\n\\t// Make it draggable if required\\n\\tif(this.dragTiddler || this.dragFilter) {\\n\\t\\t$tw.utils.makeDraggable({\\n\\t\\t\\tdomNode: domNode,\\n\\t\\t\\tdragTiddlerFn: function() {return self.dragTiddler;},\\n\\t\\t\\tdragFilterFn: function() {return self.dragFilter;},\\n\\t\\t\\twidget: this\\n\\t\\t});\\n\\t}\\n\\t// Insert element\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.domNodes.push(domNode);\\n};\\n\\n/*\\nWe don't allow actions to propagate because we trigger actions ourselves\\n*/\\nButtonWidget.prototype.allowActionPropagation = function() {\\n\\treturn false;\\n};\\n\\nButtonWidget.prototype.getBoundingClientRect = function() {\\n\\treturn this.domNodes[0].getBoundingClientRect();\\n};\\n\\nButtonWidget.prototype.isSelected = function() {\\n return this.setTitle ? (this.setField ? this.wiki.getTiddler(this.setTitle).getFieldString(this.setField) === this.setTo :\\n\\t\\t(this.setIndex ? this.wiki.extractTiddlerDataItem(this.setTitle,this.setIndex) === this.setTo :\\n\\t\\t\\tthis.wiki.getTiddlerText(this.setTitle))) || this.defaultSetValue || this.getVariable(\\\"currentTiddler\\\") :\\n\\t\\tthis.wiki.getTextReference(this.set,this.defaultSetValue,this.getVariable(\\\"currentTiddler\\\")) === this.setTo;\\n};\\n\\nButtonWidget.prototype.isPoppedUp = function() {\\n\\tvar tiddler = this.popupTitle ? this.wiki.getTiddler(this.popupTitle) : this.wiki.getTiddler(this.popup);\\n\\tvar result = tiddler && tiddler.fields.text ? Popup.readPopupState(tiddler.fields.text) : false;\\n\\treturn result;\\n};\\n\\nButtonWidget.prototype.navigateTo = function(event) {\\n\\tvar bounds = this.getBoundingClientRect();\\n\\tthis.dispatchEvent({\\n\\t\\ttype: \\\"tm-navigate\\\",\\n\\t\\tnavigateTo: this.to,\\n\\t\\tnavigateFromTitle: this.getVariable(\\\"storyTiddler\\\"),\\n\\t\\tnavigateFromNode: this,\\n\\t\\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\\n\\t\\t},\\n\\t\\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\\n\\t\\tevent: event\\n\\t});\\n};\\n\\nButtonWidget.prototype.dispatchMessage = function(event) {\\n\\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\\\"currentTiddler\\\"), event: event});\\n};\\n\\nButtonWidget.prototype.triggerPopup = function(event) {\\n\\tif(this.popupTitle) {\\n\\t\\t$tw.popup.triggerPopup({\\n\\t\\t\\tdomNode: this.domNodes[0],\\n\\t\\t\\tabsolute: (this.popupAbsCoords === \\\"yes\\\"),\\n\\t\\t\\ttitle: this.popupTitle,\\n\\t\\t\\twiki: this.wiki,\\n\\t\\t\\tnoStateReference: true\\n\\t\\t});\\n\\t} else {\\n\\t\\t$tw.popup.triggerPopup({\\n\\t\\t\\tdomNode: this.domNodes[0],\\n\\t\\t\\tabsolute: (this.popupAbsCoords === \\\"yes\\\"),\\n\\t\\t\\ttitle: this.popup,\\n\\t\\t\\twiki: this.wiki\\n\\t\\t});\\n\\t}\\n};\\n\\nButtonWidget.prototype.setTiddler = function() {\\n\\tif(this.setTitle) {\\n\\t\\tthis.setField ? this.wiki.setText(this.setTitle,this.setField,undefined,this.setTo) :\\n\\t\\t\\t\\t(this.setIndex ? this.wiki.setText(this.setTitle,undefined,this.setIndex,this.setTo) :\\n\\t\\t\\t\\tthis.wiki.setText(this.setTitle,\\\"text\\\",undefined,this.setTo));\\n\\t} else {\\n\\t\\tthis.wiki.setTextReference(this.set,this.setTo,this.getVariable(\\\"currentTiddler\\\"));\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nButtonWidget.prototype.execute = function() {\\n\\t// Get attributes\\n\\tthis.actions = this.getAttribute(\\\"actions\\\");\\n\\tthis.to = this.getAttribute(\\\"to\\\");\\n\\tthis.message = this.getAttribute(\\\"message\\\");\\n\\tthis.param = this.getAttribute(\\\"param\\\");\\n\\tthis.set = this.getAttribute(\\\"set\\\");\\n\\tthis.setTo = this.getAttribute(\\\"setTo\\\");\\n\\tthis.popup = this.getAttribute(\\\"popup\\\");\\n\\tthis.hover = this.getAttribute(\\\"hover\\\");\\n\\tthis[\\\"aria-label\\\"] = this.getAttribute(\\\"aria-label\\\");\\n\\tthis.role = this.getAttribute(\\\"role\\\");\\n\\tthis.tooltip = this.getAttribute(\\\"tooltip\\\");\\n\\tthis.style = this.getAttribute(\\\"style\\\");\\n\\tthis[\\\"class\\\"] = this.getAttribute(\\\"class\\\",\\\"\\\");\\n\\tthis.selectedClass = this.getAttribute(\\\"selectedClass\\\");\\n\\tthis.defaultSetValue = this.getAttribute(\\\"default\\\",\\\"\\\");\\n\\tthis.buttonTag = this.getAttribute(\\\"tag\\\");\\n\\tthis.dragTiddler = this.getAttribute(\\\"dragTiddler\\\");\\n\\tthis.dragFilter = this.getAttribute(\\\"dragFilter\\\");\\n\\tthis.setTitle = this.getAttribute(\\\"setTitle\\\");\\n\\tthis.setField = this.getAttribute(\\\"setField\\\");\\n\\tthis.setIndex = this.getAttribute(\\\"setIndex\\\");\\n\\tthis.popupTitle = this.getAttribute(\\\"popupTitle\\\");\\n\\tthis.popupAbsCoords = this.getAttribute(\\\"popupAbsCoords\\\", \\\"no\\\");\\n\\tthis.tabIndex = this.getAttribute(\\\"tabindex\\\");\\n\\tthis.isDisabled = this.getAttribute(\\\"disabled\\\",\\\"no\\\");\\n\\t// Make child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\nButtonWidget.prototype.updateDomNodeClasses = function() {\\n\\tvar domNodeClasses = this.domNode.className.split(\\\" \\\"),\\n\\t\\toldClasses = this.class.split(\\\" \\\"),\\n\\t\\tnewClasses;\\n\\tthis[\\\"class\\\"] = this.getAttribute(\\\"class\\\",\\\"\\\");\\n\\tnewClasses = this.class.split(\\\" \\\");\\n\\t//Remove classes assigned from the old value of class attribute\\n\\t$tw.utils.each(oldClasses,function(oldClass){\\n\\t\\tvar i = domNodeClasses.indexOf(oldClass);\\n\\t\\tif(i !== -1) {\\n\\t\\t\\tdomNodeClasses.splice(i,1);\\n\\t\\t}\\n\\t});\\n\\t//Add new classes from updated class attribute.\\n\\t$tw.utils.pushTop(domNodeClasses,newClasses);\\n\\tthis.domNode.className = domNodeClasses.join(\\\" \\\");\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nButtonWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.actions || changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes.selectedClass || changedAttributes.style || changedAttributes.dragFilter || changedAttributes.dragTiddler || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup]) || (this.popupTitle && changedTiddlers[this.popupTitle]) || changedAttributes.popupAbsCoords || changedAttributes.setTitle || changedAttributes.setField || changedAttributes.setIndex || changedAttributes.popupTitle || changedAttributes.disabled || changedAttributes[\\\"default\\\"]) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\tif(changedAttributes[\\\"class\\\"]) {\\n\\t\\t\\tthis.updateDomNodeClasses();\\n\\t\\t}\\n\\t\\tthis.assignAttributes(this.domNodes[0],{\\n\\t\\t\\tchangedAttributes: changedAttributes,\\n\\t\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\t\\tdestPrefix: \\\"data-\\\"\\n\\t\\t});\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports.button = ButtonWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/checkbox.js\":{\"title\":\"$:/core/modules/widgets/checkbox.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/checkbox.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nCheckbox widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar CheckboxWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nCheckboxWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nCheckboxWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar isChecked;\\n\\t// Save the parent dom node\\n\\tthis.parentDomNode = parent;\\n\\t// Compute our attributes\\n\\tthis.computeAttributes();\\n\\t// Execute our logic\\n\\tthis.execute();\\n\\t// Create our elements\\n\\tthis.labelDomNode = this.document.createElement(\\\"label\\\");\\n\\tthis.labelDomNode.setAttribute(\\\"class\\\",\\\"tc-checkbox \\\" + this.checkboxClass);\\n\\tthis.inputDomNode = this.document.createElement(\\\"input\\\");\\n\\tthis.inputDomNode.setAttribute(\\\"type\\\",\\\"checkbox\\\");\\n\\tisChecked = this.getValue();\\n\\tif(isChecked) {\\n\\t\\tthis.inputDomNode.setAttribute(\\\"checked\\\",\\\"true\\\");\\n\\t\\t$tw.utils.addClass(this.labelDomNode,\\\"tc-checkbox-checked\\\");\\n\\t}\\n\\tif(isChecked === undefined && this.checkboxIndeterminate === \\\"yes\\\") {\\n\\t\\tthis.inputDomNode.indeterminate = true;\\n\\t}\\n\\tif(this.isDisabled === \\\"yes\\\") {\\n\\t\\tthis.inputDomNode.setAttribute(\\\"disabled\\\",true);\\n\\t}\\n\\tthis.labelDomNode.appendChild(this.inputDomNode);\\n\\tthis.spanDomNode = this.document.createElement(\\\"span\\\");\\n\\tthis.labelDomNode.appendChild(this.spanDomNode);\\n\\t// Assign data- attributes\\n\\tthis.assignAttributes(this.inputDomNode,{\\n\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\tdestPrefix: \\\"data-\\\"\\n\\t});\\n\\t// Add a click event handler\\n\\t$tw.utils.addEventListeners(this.inputDomNode,[\\n\\t\\t{name: \\\"change\\\", handlerObject: this, handlerMethod: \\\"handleChangeEvent\\\"}\\n\\t]);\\n\\t// Insert the label into the DOM and render any children\\n\\tparent.insertBefore(this.labelDomNode,nextSibling);\\n\\tthis.renderChildren(this.spanDomNode,null);\\n\\tthis.domNodes.push(this.labelDomNode);\\n};\\n\\nCheckboxWidget.prototype.getValue = function() {\\n\\tvar tiddler = this.wiki.getTiddler(this.checkboxTitle);\\n\\tif(tiddler || this.checkboxFilter) {\\n\\t\\tif(tiddler && this.checkboxTag) {\\n\\t\\t\\tif(this.checkboxInvertTag === \\\"yes\\\") {\\n\\t\\t\\t\\treturn !tiddler.hasTag(this.checkboxTag);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn tiddler.hasTag(this.checkboxTag);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tif(tiddler && (this.checkboxField || this.checkboxIndex)) {\\n\\t\\t\\t// Same logic applies to fields and indexes\\n\\t\\t\\tvar value;\\n\\t\\t\\tif(this.checkboxField) {\\n\\t\\t\\t\\tif($tw.utils.hop(tiddler.fields,this.checkboxField)) {\\n\\t\\t\\t\\t\\tvalue = tiddler.fields[this.checkboxField] || \\\"\\\";\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tvalue = this.checkboxDefault || \\\"\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tvalue = this.wiki.extractTiddlerDataItem(tiddler,this.checkboxIndex,this.checkboxDefault || \\\"\\\");\\n\\t\\t\\t}\\n\\t\\t\\tif(value === this.checkboxChecked) {\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t\\tif(value === this.checkboxUnchecked) {\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t\\t// Neither value found: were both specified?\\n\\t\\t\\tif(this.checkboxChecked && !this.checkboxUnchecked) {\\n\\t\\t\\t\\treturn false; // Absence of checked value\\n\\t\\t\\t}\\n\\t\\t\\tif(this.checkboxUnchecked && !this.checkboxChecked) {\\n\\t\\t\\t\\treturn true; // Absence of unchecked value\\n\\t\\t\\t}\\n\\t\\t\\tif(this.checkboxChecked && this.checkboxUnchecked) {\\n\\t\\t\\t\\t// Both specified but neither found: indeterminate or false, depending\\n\\t\\t\\t\\tif(this.checkboxIndeterminate === \\\"yes\\\") {\\n\\t\\t\\t\\t\\treturn undefined;\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tif(this.checkboxListField || this.checkboxListIndex || this.checkboxFilter) {\\n\\t\\t\\t// Same logic applies to lists and filters\\n\\t\\t\\tvar list;\\n\\t\\t\\tif(this.checkboxListField) {\\n\\t\\t\\t\\tif($tw.utils.hop(tiddler.fields,this.checkboxListField)) {\\n\\t\\t\\t\\t\\tlist = tiddler.getFieldList(this.checkboxListField) || [];\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tlist = $tw.utils.parseStringArray(this.checkboxDefault || \\\"\\\") || [];\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else if(this.checkboxListIndex) {\\n\\t\\t\\t\\tlist = $tw.utils.parseStringArray(this.wiki.extractTiddlerDataItem(tiddler,this.checkboxListIndex,this.checkboxDefault || \\\"\\\")) || [];\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tlist = this.wiki.filterTiddlers(this.checkboxFilter,this) || [];\\n\\t\\t\\t}\\n\\t\\t\\tif(list.indexOf(this.checkboxChecked) !== -1) {\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t\\tif(list.indexOf(this.checkboxUnchecked) !== -1) {\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t\\t// Neither one present\\n\\t\\t\\tif(this.checkboxChecked && !this.checkboxUnchecked) {\\n\\t\\t\\t\\treturn false; // Absence of checked value\\n\\t\\t\\t}\\n\\t\\t\\tif(this.checkboxUnchecked && !this.checkboxChecked) {\\n\\t\\t\\t\\treturn true; // Absence of unchecked value\\n\\t\\t\\t}\\n\\t\\t\\tif(this.checkboxChecked && this.checkboxUnchecked) {\\n\\t\\t\\t\\t// Both specified but neither found: indeterminate or false, depending\\n\\t\\t\\t\\tif(this.checkboxIndeterminate === \\\"yes\\\") {\\n\\t\\t\\t\\t\\treturn undefined;\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t// Neither specified, so empty list is false, non-empty is true\\n\\t\\t\\treturn !!list.length;\\n\\t\\t}\\n\\t} else {\\n\\t\\tif(this.checkboxTag) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t\\tif(this.checkboxField) {\\n\\t\\t\\tif(this.checkboxDefault === this.checkboxChecked) {\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t\\tif(this.checkboxDefault === this.checkboxUnchecked) {\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn false;\\n};\\n\\nCheckboxWidget.prototype.handleChangeEvent = function(event) {\\n\\tvar checked = this.inputDomNode.checked,\\n\\t\\ttiddler = this.wiki.getTiddler(this.checkboxTitle),\\n\\t\\tfallbackFields = {text: \\\"\\\"},\\n\\t\\tnewFields = {title: this.checkboxTitle},\\n\\t\\thasChanged = false,\\n\\t\\ttagCheck = false,\\n\\t\\thasTag = tiddler && tiddler.hasTag(this.checkboxTag),\\n\\t\\tvalue = checked ? this.checkboxChecked : this.checkboxUnchecked,\\n\\t\\tnotValue = checked ? this.checkboxUnchecked : this.checkboxChecked;\\n\\tif(this.checkboxTag && this.checkboxInvertTag === \\\"yes\\\") {\\n\\t\\ttagCheck = hasTag === checked;\\n\\t} else {\\n\\t\\ttagCheck = hasTag !== checked;\\n\\t}\\n\\t// Set the tag if specified\\n\\tif(this.checkboxTag && (!tiddler || tagCheck)) {\\n\\t\\tnewFields.tags = tiddler ? (tiddler.fields.tags || []).slice(0) : [];\\n\\t\\tvar pos = newFields.tags.indexOf(this.checkboxTag);\\n\\t\\tif(pos !== -1) {\\n\\t\\t\\tnewFields.tags.splice(pos,1);\\n\\t\\t}\\n\\t\\tif(this.checkboxInvertTag === \\\"yes\\\" && !checked) {\\n\\t\\t\\tnewFields.tags.push(this.checkboxTag);\\n\\t\\t} else if(this.checkboxInvertTag !== \\\"yes\\\" && checked) {\\n\\t\\t\\tnewFields.tags.push(this.checkboxTag);\\n\\t\\t}\\n\\t\\thasChanged = true;\\n\\t}\\n\\t// Set the field if specified\\n\\tif(this.checkboxField) {\\n\\t\\tif(!tiddler || tiddler.fields[this.checkboxField] !== value) {\\n\\t\\t\\tnewFields[this.checkboxField] = value;\\n\\t\\t\\thasChanged = true;\\n\\t\\t}\\n\\t}\\n\\t// Set the index if specified\\n\\tif(this.checkboxIndex) {\\n\\t\\tvar indexValue = this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxIndex);\\n\\t\\tif(!tiddler || indexValue !== value) {\\n\\t\\t\\thasChanged = true;\\n\\t\\t}\\n\\t}\\n\\t// Set the list field (or index) if specified\\n\\tif(this.checkboxListField || this.checkboxListIndex) {\\n\\t\\tvar fieldContents, listContents, oldPos, newPos;\\n\\t\\tif(this.checkboxListField) {\\n\\t\\t\\tfieldContents = (tiddler ? tiddler.fields[this.checkboxListField] : undefined) || [];\\n\\t\\t} else {\\n\\t\\t\\tfieldContents = this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxListIndex);\\n\\t\\t}\\n\\t\\tif($tw.utils.isArray(fieldContents)) {\\n\\t\\t\\t// Make a copy so we can modify it without changing original that's refrenced elsewhere\\n\\t\\t\\tlistContents = fieldContents.slice(0);\\n\\t\\t} else if(fieldContents === undefined) {\\n\\t\\t\\tlistContents = [];\\n\\t\\t} else if(typeof fieldContents === \\\"string\\\") {\\n\\t\\t\\tlistContents = $tw.utils.parseStringArray(fieldContents);\\n\\t\\t\\t// No need to copy since parseStringArray returns a fresh array, not refrenced elsewhere\\n\\t\\t} else {\\n\\t\\t\\t// Field was neither an array nor a string; it's probably something that shouldn't become\\n\\t\\t\\t// an array (such as a date field), so bail out *without* triggering actions\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\toldPos = notValue ? listContents.indexOf(notValue) : -1;\\n\\t\\tnewPos = value ? listContents.indexOf(value) : -1;\\n\\t\\tif(oldPos === -1 && newPos !== -1) {\\n\\t\\t\\t// old value absent, new value present: no change needed\\n\\t\\t} else if(oldPos === -1) {\\n\\t\\t\\t// neither one was present\\n\\t\\t\\tif(value) {\\n\\t\\t\\t\\tlistContents.push(value);\\n\\t\\t\\t\\thasChanged = true;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t// value unspecified? then leave list unchanged\\n\\t\\t\\t}\\n\\t\\t} else if(newPos === -1) {\\n\\t\\t\\t// old value present, new value absent\\n\\t\\t\\tif(value) {\\n\\t\\t\\t\\tlistContents[oldPos] = value;\\n\\t\\t\\t\\thasChanged = true;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tlistContents.splice(oldPos, 1)\\n\\t\\t\\t\\thasChanged = true;\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\t// both were present: just remove the old one, leave new alone\\n\\t\\t\\tlistContents.splice(oldPos, 1)\\n\\t\\t\\thasChanged = true;\\n\\t\\t}\\n\\t\\tif(this.checkboxListField) {\\n\\t\\t\\tnewFields[this.checkboxListField] = $tw.utils.stringifyList(listContents);\\n\\t\\t}\\n\\t\\t// The listIndex case will be handled in the if(hasChanged) block below\\n\\t}\\n\\tif(hasChanged) {\\n\\t\\tif(this.checkboxIndex) {\\n\\t\\t\\tthis.wiki.setText(this.checkboxTitle,\\\"\\\",this.checkboxIndex,value);\\n\\t\\t} else if(this.checkboxListIndex) {\\n\\t\\t\\tvar listIndexValue = (listContents && listContents.length) ? $tw.utils.stringifyList(listContents) : undefined;\\n\\t\\t\\tthis.wiki.setText(this.checkboxTitle,\\\"\\\",this.checkboxListIndex,listIndexValue);\\n\\t\\t} else {\\n\\t\\t\\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),fallbackFields,tiddler,newFields,this.wiki.getModificationFields()));\\n\\t\\t}\\n\\t}\\n\\t// Trigger actions\\n\\tif(this.checkboxActions) {\\n\\t\\tthis.invokeActionString(this.checkboxActions,this,event);\\n\\t}\\n\\tif(this.checkboxCheckActions && checked) {\\n\\t\\tthis.invokeActionString(this.checkboxCheckActions,this,event);\\n\\t}\\n\\tif(this.checkboxUncheckActions && !checked) {\\n\\t\\tthis.invokeActionString(this.checkboxUncheckActions,this,event);\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nCheckboxWidget.prototype.execute = function() {\\n\\t// Get the parameters from the attributes\\n\\tthis.checkboxActions = this.getAttribute(\\\"actions\\\");\\n\\tthis.checkboxCheckActions = this.getAttribute(\\\"checkactions\\\");\\n\\tthis.checkboxUncheckActions = this.getAttribute(\\\"uncheckactions\\\");\\n\\tthis.checkboxTitle = this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\tthis.checkboxTag = this.getAttribute(\\\"tag\\\");\\n\\tthis.checkboxField = this.getAttribute(\\\"field\\\");\\n\\tthis.checkboxIndex = this.getAttribute(\\\"index\\\");\\n\\tthis.checkboxListField = this.getAttribute(\\\"listField\\\");\\n\\tthis.checkboxListIndex = this.getAttribute(\\\"listIndex\\\");\\n\\tthis.checkboxFilter = this.getAttribute(\\\"filter\\\");\\n\\tthis.checkboxChecked = this.getAttribute(\\\"checked\\\");\\n\\tthis.checkboxUnchecked = this.getAttribute(\\\"unchecked\\\");\\n\\tthis.checkboxDefault = this.getAttribute(\\\"default\\\");\\n\\tthis.checkboxIndeterminate = this.getAttribute(\\\"indeterminate\\\",\\\"no\\\");\\n\\tthis.checkboxClass = this.getAttribute(\\\"class\\\",\\\"\\\");\\n\\tthis.checkboxInvertTag = this.getAttribute(\\\"invertTag\\\",\\\"\\\");\\n\\tthis.isDisabled = this.getAttribute(\\\"disabled\\\",\\\"no\\\");\\n\\t// Make the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nCheckboxWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.index || changedAttributes.listField || changedAttributes.listIndex || changedAttributes.filter || changedAttributes.checked || changedAttributes.unchecked || changedAttributes[\\\"default\\\"] || changedAttributes.indeterminate || changedAttributes[\\\"class\\\"] || changedAttributes.disabled) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\tvar refreshed = false;\\n\\t\\tif(changedTiddlers[this.checkboxTitle]) {\\n\\t\\t\\tvar isChecked = this.getValue();\\n\\t\\t\\tthis.inputDomNode.checked = !!isChecked;\\n\\t\\t\\tthis.inputDomNode.indeterminate = (isChecked === undefined);\\n\\t\\t\\trefreshed = true;\\n\\t\\t\\tif(isChecked) {\\n\\t\\t\\t\\t$tw.utils.addClass(this.labelDomNode,\\\"tc-checkbox-checked\\\");\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t$tw.utils.removeClass(this.labelDomNode,\\\"tc-checkbox-checked\\\");\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tthis.assignAttributes(this.inputDomNode,{\\n\\t\\t\\tchangedAttributes: changedAttributes,\\n\\t\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\t\\tdestPrefix: \\\"data-\\\"\\n\\t\\t});\\n\\t\\treturn this.refreshChildren(changedTiddlers) || refreshed;\\n\\t}\\n};\\n\\nexports.checkbox = CheckboxWidget;\\n\\n})();\\n\\t\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/codeblock.js\":{\"title\":\"$:/core/modules/widgets/codeblock.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/codeblock.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nCode block node widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar CodeBlockWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nCodeBlockWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nCodeBlockWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tvar codeNode = this.document.createElement(\\\"code\\\"),\\n\\t\\tdomNode = this.document.createElement(\\\"pre\\\");\\n\\tcodeNode.appendChild(this.document.createTextNode(this.getAttribute(\\\"code\\\")));\\n\\tdomNode.appendChild(codeNode);\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.domNodes.push(domNode);\\n\\tif(this.postRender) {\\n\\t\\tthis.postRender();\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nCodeBlockWidget.prototype.execute = function() {\\n\\tthis.language = this.getAttribute(\\\"language\\\");\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nCodeBlockWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.code || changedAttributes.language) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\nexports.codeblock = CodeBlockWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/count.js\":{\"title\":\"$:/core/modules/widgets/count.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/count.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nCount widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar CountWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nCountWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nCountWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tvar textNode = this.document.createTextNode(this.currentCount);\\n\\tparent.insertBefore(textNode,nextSibling);\\n\\tthis.domNodes.push(textNode);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nCountWidget.prototype.execute = function() {\\n\\t// Get parameters from our attributes\\n\\tthis.filter = this.getAttribute(\\\"filter\\\");\\n\\t// Execute the filter\\n\\tif(this.filter) {\\n\\t\\tthis.currentCount = this.wiki.filterTiddlers(this.filter,this).length;\\n\\t} else {\\n\\t\\tthis.currentCount = \\\"0\\\";\\n\\t}\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nCountWidget.prototype.refresh = function(changedTiddlers) {\\n\\t// Re-execute the filter to get the count\\n\\tthis.computeAttributes();\\n\\tvar oldCount = this.currentCount;\\n\\tthis.execute();\\n\\tif(this.currentCount !== oldCount) {\\n\\t\\t// Regenerate and rerender the widget and replace the existing DOM node\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n\\n};\\n\\nexports.count = CountWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/diff-text.js\":{\"title\":\"$:/core/modules/widgets/diff-text.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/diff-text.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nWidget to display a diff between two texts\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget,\\n\\tdmp = require(\\\"$:/core/modules/utils/diff-match-patch/diff_match_patch.js\\\");\\n\\nvar DiffTextWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nDiffTextWidget.prototype = new Widget();\\n\\nDiffTextWidget.prototype.invisibleCharacters = {\\n\\t\\\"\\\\n\\\": \\\"↩︎\\\\n\\\",\\n\\t\\\"\\\\r\\\": \\\"⇠\\\",\\n\\t\\\"\\\\t\\\": \\\"⇥\\\\t\\\"\\n};\\n\\n/*\\nRender this widget into the DOM\\n*/\\nDiffTextWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\t// Create the diff\\n\\tvar dmpObject = new dmp.diff_match_patch(),\\n\\t\\tdiffs = dmpObject.diff_main(this.getAttribute(\\\"source\\\",\\\"\\\"),this.getAttribute(\\\"dest\\\",\\\"\\\"));\\n\\t// Apply required cleanup\\n\\tswitch(this.getAttribute(\\\"cleanup\\\",\\\"semantic\\\")) {\\n\\t\\tcase \\\"none\\\":\\n\\t\\t\\t// No cleanup\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"efficiency\\\":\\n\\t\\t\\tdmpObject.diff_cleanupEfficiency(diffs);\\n\\t\\t\\tbreak;\\n\\t\\tdefault: // case \\\"semantic\\\"\\n\\t\\t\\tdmpObject.diff_cleanupSemantic(diffs);\\n\\t\\t\\tbreak;\\n\\t}\\n\\t// Create the elements\\n\\tvar domContainer = this.document.createElement(\\\"div\\\"), \\n\\t\\tdomDiff = this.createDiffDom(diffs);\\n\\tparent.insertBefore(domContainer,nextSibling);\\n\\t// Set variables\\n\\tthis.setVariable(\\\"diff-count\\\",diffs.reduce(function(acc,diff) {\\n\\t\\tif(diff[0] !== dmp.DIFF_EQUAL) {\\n\\t\\t\\tacc++;\\n\\t\\t}\\n\\t\\treturn acc;\\n\\t},0).toString());\\n\\t// Render child widgets\\n\\tthis.renderChildren(domContainer,null);\\n\\t// Render the diff\\n\\tdomContainer.appendChild(domDiff);\\n\\t// Save our container\\n\\tthis.domNodes.push(domContainer);\\n};\\n\\n/*\\nCreate DOM elements representing a list of diffs\\n*/\\nDiffTextWidget.prototype.createDiffDom = function(diffs) {\\n\\tvar self = this;\\n\\t// Create the element and assign the attributes\\n\\tvar domPre = this.document.createElement(\\\"pre\\\"),\\n\\t\\tdomCode = this.document.createElement(\\\"code\\\");\\n\\t$tw.utils.each(diffs,function(diff) {\\n\\t\\tvar tag = diff[0] === dmp.DIFF_INSERT ? \\\"ins\\\" : (diff[0] === dmp.DIFF_DELETE ? \\\"del\\\" : \\\"span\\\"),\\n\\t\\t\\tclassName = diff[0] === dmp.DIFF_INSERT ? \\\"tc-diff-insert\\\" : (diff[0] === dmp.DIFF_DELETE ? \\\"tc-diff-delete\\\" : \\\"tc-diff-equal\\\"),\\n\\t\\t\\tdom = self.document.createElement(tag),\\n\\t\\t\\ttext = diff[1],\\n\\t\\t\\tcurrPos = 0,\\n\\t\\t\\tre = /([\\\\x00-\\\\x1F])/mg,\\n\\t\\t\\tmatch = re.exec(text),\\n\\t\\t\\tspan,\\n\\t\\t\\tprintable;\\n\\t\\tdom.className = className;\\n\\t\\twhile(match) {\\n\\t\\t\\tif(currPos < match.index) {\\n\\t\\t\\t\\tdom.appendChild(self.document.createTextNode(text.slice(currPos,match.index)));\\n\\t\\t\\t}\\n\\t\\t\\tspan = self.document.createElement(\\\"span\\\");\\n\\t\\t\\tspan.className = \\\"tc-diff-invisible\\\";\\n\\t\\t\\tprintable = self.invisibleCharacters[match[0]] || (\\\"[0x\\\" + match[0].charCodeAt(0).toString(16) + \\\"]\\\");\\n\\t\\t\\tspan.appendChild(self.document.createTextNode(printable));\\n\\t\\t\\tdom.appendChild(span);\\n\\t\\t\\tcurrPos = match.index + match[0].length;\\n\\t\\t\\tmatch = re.exec(text);\\n\\t\\t}\\n\\t\\tif(currPos < text.length) {\\n\\t\\t\\tdom.appendChild(self.document.createTextNode(text.slice(currPos)));\\n\\t\\t}\\n\\t\\tdomCode.appendChild(dom);\\n\\t});\\n\\tdomPre.appendChild(domCode);\\n\\treturn domPre;\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nDiffTextWidget.prototype.execute = function() {\\n\\t// Make child widgets\\n\\tvar parseTreeNodes;\\n\\tif(this.parseTreeNode && this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\\n\\t\\tparseTreeNodes = this.parseTreeNode.children;\\n\\t} else {\\n\\t\\tparseTreeNodes = [{\\n\\t\\t\\ttype: \\\"transclude\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\ttiddler: {type: \\\"string\\\", value: \\\"$:/language/Diffs/CountMessage\\\"}\\n\\t\\t\\t}\\n\\t\\t}];\\n\\t}\\n\\tthis.makeChildWidgets(parseTreeNodes);\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nDiffTextWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.source || changedAttributes.dest || changedAttributes.cleanup) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nexports[\\\"diff-text\\\"] = DiffTextWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/draggable.js\":{\"title\":\"$:/core/modules/widgets/draggable.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/draggable.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nDraggable widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar DraggableWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nDraggableWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nDraggableWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this,\\n\\t\\ttag,\\n\\t\\tdomNode,\\n\\t\\tclasses = [];\\n\\t// Save the parent dom node\\n\\tthis.parentDomNode = parent;\\n\\t// Compute our attributes\\n\\tthis.computeAttributes();\\n\\t// Execute our logic\\n\\tthis.execute();\\n\\t// Sanitise the specified tag\\n\\ttag = this.draggableTag;\\n\\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\\n\\t\\ttag = \\\"div\\\";\\n\\t}\\n\\t// Create our element\\n\\tdomNode = this.document.createElement(tag);\\n\\t// Assign classes\\n\\tif(this.draggableClasses) {\\n\\t\\tclasses.push(this.draggableClasses);\\n\\t}\\n\\tif(!this.dragHandleSelector && this.dragEnable) {\\n\\t\\tclasses.push(\\\"tc-draggable\\\");\\n\\t}\\n\\tdomNode.setAttribute(\\\"class\\\",classes.join(\\\" \\\"));\\n\\t// Assign data- attributes and style. attributes\\n\\tthis.assignAttributes(domNode,{\\n\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\tdestPrefix: \\\"data-\\\"\\n\\t});\\n\\t// Insert the node into the DOM and render any children\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\t// Add event handlers\\n\\tif(this.dragEnable) {\\n\\t\\t$tw.utils.makeDraggable({\\n\\t\\t\\tdomNode: domNode,\\n\\t\\t\\tdragTiddlerFn: function() {return self.getAttribute(\\\"tiddler\\\");},\\n\\t\\t\\tdragFilterFn: function() {return self.getAttribute(\\\"filter\\\");},\\n\\t\\t\\tstartActions: self.startActions,\\n\\t\\t\\tendActions: self.endActions,\\n\\t\\t\\tdragImageType: self.dragImageType,\\n\\t\\t\\twidget: this,\\n\\t\\t\\tselector: self.dragHandleSelector\\n\\t\\t});\\n\\t}\\n\\tthis.domNodes.push(domNode);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nDraggableWidget.prototype.execute = function() {\\n\\t// Pick up our attributes\\n\\tthis.draggableTag = this.getAttribute(\\\"tag\\\",\\\"div\\\");\\n\\tthis.draggableClasses = this.getAttribute(\\\"class\\\");\\n\\tthis.startActions = this.getAttribute(\\\"startactions\\\");\\n\\tthis.endActions = this.getAttribute(\\\"endactions\\\");\\n\\tthis.dragImageType = this.getAttribute(\\\"dragimagetype\\\");\\n\\tthis.dragHandleSelector = this.getAttribute(\\\"selector\\\");\\n\\tthis.dragEnable = this.getAttribute(\\\"enable\\\",\\\"yes\\\") === \\\"yes\\\";\\n\\t// Make the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n\\nDraggableWidget.prototype.updateDomNodeClasses = function() {\\n\\tvar domNodeClasses = this.domNodes[0].className.split(\\\" \\\"),\\n\\t\\toldClasses = this.draggableClasses.split(\\\" \\\");\\n\\tthis.draggableClasses = this.getAttribute(\\\"class\\\");\\n\\t//Remove classes assigned from the old value of class attribute\\n\\t$tw.utils.each(oldClasses,function(oldClass){\\n\\t\\tvar i = domNodeClasses.indexOf(oldClass);\\n\\t\\tif(i !== -1) {\\n\\t\\t\\tdomNodeClasses.splice(i,1);\\n\\t\\t}\\n\\t});\\n\\t//Add new classes from updated class attribute.\\n\\t$tw.utils.pushTop(domNodeClasses,this.draggableClasses);\\n\\tthis.domNodes[0].setAttribute(\\\"class\\\",domNodeClasses.join(\\\" \\\"))\\n}\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nDraggableWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.tag || changedAttributes.selector || changedAttributes.dragimagetype || changedAttributes.enable || changedAttributes.startactions || changedAttributes.endactions) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\tif(changedAttributes[\\\"class\\\"]) {\\n\\t\\t\\tthis.assignDomNodeClasses();\\n\\t\\t}\\n\\t\\tthis.assignAttributes(this.domNodes[0],{\\n\\t\\t\\tchangedAttributes: changedAttributes,\\n\\t\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\t\\tdestPrefix: \\\"data-\\\"\\n\\t\\t});\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports.draggable = DraggableWidget;\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/droppable.js\":{\"title\":\"$:/core/modules/widgets/droppable.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/droppable.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nDroppable widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar DroppableWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nDroppableWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nDroppableWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this,\\n\\t\\ttag = this.parseTreeNode.isBlock ? \\\"div\\\" : \\\"span\\\",\\n\\t\\tdomNode;\\n\\t// Remember parent\\n\\tthis.parentDomNode = parent;\\n\\t// Compute attributes and execute state\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tif(this.droppableTag && $tw.config.htmlUnsafeElements.indexOf(this.droppableTag) === -1) {\\n\\t\\ttag = this.droppableTag;\\n\\t}\\n\\t// Create element and assign classes\\n\\tdomNode = this.document.createElement(tag);\\n\\tthis.domNode = domNode;\\n\\tthis.assignDomNodeClasses();\\n\\t// Assign data- attributes and style. attributes\\n\\tthis.assignAttributes(domNode,{\\n\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\tdestPrefix: \\\"data-\\\"\\n\\t});\\n\\t// Add event handlers\\n\\tif(this.droppableEnable) {\\n\\t\\t$tw.utils.addEventListeners(domNode,[\\n\\t\\t\\t{name: \\\"dragenter\\\", handlerObject: this, handlerMethod: \\\"handleDragEnterEvent\\\"},\\n\\t\\t\\t{name: \\\"dragover\\\", handlerObject: this, handlerMethod: \\\"handleDragOverEvent\\\"},\\n\\t\\t\\t{name: \\\"dragleave\\\", handlerObject: this, handlerMethod: \\\"handleDragLeaveEvent\\\"},\\n\\t\\t\\t{name: \\\"drop\\\", handlerObject: this, handlerMethod: \\\"handleDropEvent\\\"}\\n\\t\\t]);\\n\\t} else {\\n\\t\\t$tw.utils.addClass(this.domNode,this.disabledClass);\\n\\t}\\n\\t// Insert element\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.domNodes.push(domNode);\\n\\t// Stack of outstanding enter/leave events\\n\\tthis.currentlyEntered = [];\\n};\\n\\nDroppableWidget.prototype.enterDrag = function(event) {\\n\\tif(this.currentlyEntered.indexOf(event.target) === -1) {\\n\\t\\tthis.currentlyEntered.push(event.target);\\n\\t}\\n\\t// If we're entering for the first time we need to apply highlighting\\n\\t$tw.utils.addClass(this.domNodes[0],\\\"tc-dragover\\\");\\n};\\n\\nDroppableWidget.prototype.leaveDrag = function(event) {\\n\\tvar pos = this.currentlyEntered.indexOf(event.target);\\n\\tif(pos !== -1) {\\n\\t\\tthis.currentlyEntered.splice(pos,1);\\n\\t}\\n\\t// Remove highlighting if we're leaving externally. The hacky second condition is to resolve a problem with Firefox whereby there is an erroneous dragenter event if the node being dragged is within the dropzone\\n\\tif(this.currentlyEntered.length === 0 || (this.currentlyEntered.length === 1 && this.currentlyEntered[0] === $tw.dragInProgress)) {\\n\\t\\tthis.currentlyEntered = [];\\n\\t\\tif(this.domNodes[0]) {\\n\\t\\t\\t$tw.utils.removeClass(this.domNodes[0],\\\"tc-dragover\\\");\\n\\t\\t}\\n\\t}\\n};\\n\\nDroppableWidget.prototype.handleDragEnterEvent = function(event) {\\n\\tthis.enterDrag(event);\\n\\t// Tell the browser that we're ready to handle the drop\\n\\tevent.preventDefault();\\n\\t// Tell the browser not to ripple the drag up to any parent drop handlers\\n\\tevent.stopPropagation();\\n\\treturn false;\\n};\\n\\nDroppableWidget.prototype.handleDragOverEvent = function(event) {\\n\\t// Check for being over a TEXTAREA or INPUT\\n\\tif([\\\"TEXTAREA\\\",\\\"INPUT\\\"].indexOf(event.target.tagName) !== -1) {\\n\\t\\treturn false;\\n\\t}\\n\\t// Tell the browser that we're still interested in the drop\\n\\tevent.preventDefault();\\n\\t// Set the drop effect\\n\\tevent.dataTransfer.dropEffect = this.droppableEffect;\\n\\treturn false;\\n};\\n\\nDroppableWidget.prototype.handleDragLeaveEvent = function(event) {\\n\\tthis.leaveDrag(event);\\n\\treturn false;\\n};\\n\\nDroppableWidget.prototype.handleDropEvent = function(event) {\\n\\tvar self = this;\\n\\tthis.leaveDrag(event);\\n\\t// Check for being over a TEXTAREA or INPUT\\n\\tif([\\\"TEXTAREA\\\",\\\"INPUT\\\"].indexOf(event.target.tagName) !== -1) {\\n\\t\\treturn false;\\n\\t}\\n\\tvar dataTransfer = event.dataTransfer;\\n\\t// Remove highlighting\\n\\t$tw.utils.removeClass(this.domNodes[0],\\\"tc-dragover\\\");\\n\\t// Try to import the various data types we understand\\n\\t$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {\\n\\t\\tfieldsArray.forEach(function(fields) {\\n\\t\\t\\tself.performActions(fields.title || fields.text,event);\\n\\t\\t});\\n\\t});\\n\\t// Tell the browser that we handled the drop\\n\\tevent.preventDefault();\\n\\t// Stop the drop ripple up to any parent handlers\\n\\tevent.stopPropagation();\\n\\treturn false;\\n};\\n\\nDroppableWidget.prototype.performActions = function(title,event) {\\n\\tif(this.droppableActions) {\\n\\t\\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\tthis.invokeActionString(this.droppableActions,this,event,{actionTiddler: title, modifier: modifierKey});\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nDroppableWidget.prototype.execute = function() {\\n\\tthis.droppableActions = this.getAttribute(\\\"actions\\\");\\n\\tthis.droppableEffect = this.getAttribute(\\\"effect\\\",\\\"copy\\\");\\n\\tthis.droppableTag = this.getAttribute(\\\"tag\\\");\\n\\tthis.droppableEnable = (this.getAttribute(\\\"enable\\\") || \\\"yes\\\") === \\\"yes\\\";\\n\\tthis.disabledClass = this.getAttribute(\\\"disabledClass\\\",\\\"\\\");\\n\\t// Make child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\nDroppableWidget.prototype.assignDomNodeClasses = function() {\\n\\tvar classes = this.getAttribute(\\\"class\\\",\\\"\\\").split(\\\" \\\");\\n\\tclasses.push(\\\"tc-droppable\\\");\\n\\tthis.domNode.className = classes.join(\\\" \\\");\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nDroppableWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.tag || changedAttributes.enable || changedAttributes.disabledClass || changedAttributes.actions || changedAttributes.effect) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\tif(changedAttributes[\\\"class\\\"]) {\\n\\t\\t\\tthis.assignDomNodeClasses();\\n\\t\\t}\\n\\t\\tthis.assignAttributes(this.domNodes[0],{\\n\\t\\t\\tchangedAttributes: changedAttributes,\\n\\t\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\t\\tdestPrefix: \\\"data-\\\"\\n\\t\\t});\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports.droppable = DroppableWidget;\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/dropzone.js\":{\"title\":\"$:/core/modules/widgets/dropzone.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/dropzone.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nDropzone widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar IMPORT_TITLE = \\\"$:/Import\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar DropZoneWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nDropZoneWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nDropZoneWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this;\\n\\t// Remember parent\\n\\tthis.parentDomNode = parent;\\n\\t// Compute attributes and execute state\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\t// Create element\\n\\tvar domNode = this.document.createElement(\\\"div\\\");\\n\\tthis.domNode = domNode;\\n\\tdomNode.className = this.dropzoneClass || \\\"tc-dropzone\\\";\\n\\t// Add event handlers\\n\\tif(this.dropzoneEnable) {\\n\\t\\t$tw.utils.addEventListeners(domNode,[\\n\\t\\t\\t{name: \\\"dragenter\\\", handlerObject: this, handlerMethod: \\\"handleDragEnterEvent\\\"},\\n\\t\\t\\t{name: \\\"dragover\\\", handlerObject: this, handlerMethod: \\\"handleDragOverEvent\\\"},\\n\\t\\t\\t{name: \\\"dragleave\\\", handlerObject: this, handlerMethod: \\\"handleDragLeaveEvent\\\"},\\n\\t\\t\\t{name: \\\"drop\\\", handlerObject: this, handlerMethod: \\\"handleDropEvent\\\"},\\n\\t\\t\\t{name: \\\"paste\\\", handlerObject: this, handlerMethod: \\\"handlePasteEvent\\\"},\\n\\t\\t\\t{name: \\\"dragend\\\", handlerObject: this, handlerMethod: \\\"handleDragEndEvent\\\"}\\n\\t\\t]);\\n\\t}\\n\\t// Insert element\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.domNodes.push(domNode);\\n\\t// Stack of outstanding enter/leave events\\n\\tthis.currentlyEntered = [];\\n};\\n\\n// Handler for transient event listeners added when the dropzone has an active drag in progress\\nDropZoneWidget.prototype.handleEvent = function(event) {\\n\\tif(event.type === \\\"click\\\") {\\n\\t\\tif(this.currentlyEntered.length) {\\n\\t\\t\\tthis.resetState();\\n\\t\\t}\\n\\t} else if(event.type === \\\"dragenter\\\") {\\n\\t\\tif(event.target && event.target !== this.domNode && !$tw.utils.domContains(this.domNode,event.target)) {\\n\\t\\t\\tthis.resetState();\\n\\t\\t}\\n\\t} else if(event.type === \\\"dragleave\\\") {\\n\\t\\t// Check if drag left the window\\n\\t\\tif(event.relatedTarget === null || (event.relatedTarget && event.relatedTarget.nodeName === \\\"HTML\\\")) {\\n\\t\\t\\tthis.resetState();\\n\\t\\t}\\n\\t}\\n};\\n\\n// Reset the state of the dropzone after a drag has ended\\nDropZoneWidget.prototype.resetState = function() {\\n\\t$tw.utils.removeClass(this.domNode,\\\"tc-dragover\\\");\\n\\tthis.currentlyEntered = [];\\n\\tthis.document.body.removeEventListener(\\\"click\\\",this,true);\\n\\tthis.document.body.removeEventListener(\\\"dragenter\\\",this,true);\\n\\tthis.document.body.removeEventListener(\\\"dragleave\\\",this,true);\\n\\tthis.dragInProgress = false;\\n};\\n\\nDropZoneWidget.prototype.enterDrag = function(event) {\\n\\tif(this.currentlyEntered.indexOf(event.target) === -1) {\\n\\t\\tthis.currentlyEntered.push(event.target);\\n\\t}\\n\\tif(!this.dragInProgress) {\\n\\t\\tthis.dragInProgress = true;\\n\\t\\t// If we're entering for the first time we need to apply highlighting\\n\\t\\t$tw.utils.addClass(this.domNodes[0],\\\"tc-dragover\\\");\\n\\t\\tthis.document.body.addEventListener(\\\"click\\\",this,true);\\n\\t\\tthis.document.body.addEventListener(\\\"dragenter\\\",this,true);\\n\\t\\tthis.document.body.addEventListener(\\\"dragleave\\\",this,true);\\n\\t}\\n};\\n\\nDropZoneWidget.prototype.leaveDrag = function(event) {\\n\\tvar pos = this.currentlyEntered.indexOf(event.target);\\n\\tif(pos !== -1) {\\n\\t\\tthis.currentlyEntered.splice(pos,1);\\n\\t}\\n\\t// Remove highlighting if we're leaving externally\\n\\tif(this.currentlyEntered.length === 0) {\\n\\t\\tthis.resetState();\\n\\t}\\n};\\n\\nDropZoneWidget.prototype.handleDragEnterEvent = function(event) {\\n\\tif($tw.dragInProgress) {\\n\\t\\treturn false;\\n\\t}\\n\\tif(this.filesOnly && !$tw.utils.dragEventContainsFiles(event)) {\\n\\t\\treturn false;\\n\\t}\\n\\tthis.enterDrag(event);\\n\\t// Tell the browser that we're ready to handle the drop\\n\\tevent.preventDefault();\\n\\t// Tell the browser not to ripple the drag up to any parent drop handlers\\n\\tevent.stopPropagation();\\n};\\n\\nDropZoneWidget.prototype.handleDragOverEvent = function(event) {\\n\\t// Check for being over a TEXTAREA or INPUT\\n\\tif([\\\"TEXTAREA\\\",\\\"INPUT\\\"].indexOf(event.target.tagName) !== -1) {\\n\\t\\treturn false;\\n\\t}\\n\\t// Check for this window being the source of the drag\\n\\tif($tw.dragInProgress) {\\n\\t\\treturn false;\\n\\t}\\n\\t// Tell the browser that we're still interested in the drop\\n\\tevent.preventDefault();\\n\\t// Check if this is a synthetic event, IE does not allow accessing dropEffect outside of original event handler\\n\\tif(event.isTrusted) {\\n\\t\\tevent.dataTransfer.dropEffect = \\\"copy\\\"; // Explicitly show this is a copy\\n\\t}\\n};\\n\\nDropZoneWidget.prototype.handleDragLeaveEvent = function(event) {\\n\\tthis.leaveDrag(event);\\n};\\n\\nDropZoneWidget.prototype.handleDragEndEvent = function(event) {\\n\\tthis.resetState();\\n};\\n\\nDropZoneWidget.prototype.filterByContentTypes = function(tiddlerFieldsArray) {\\n\\tvar filteredTypes,\\n\\t\\tfiltered = [],\\n\\t\\ttypes = [];\\n\\t$tw.utils.each(tiddlerFieldsArray,function(tiddlerFields) {\\n\\t\\ttypes.push(tiddlerFields.type || \\\"\\\");\\n\\t});\\n\\tfilteredTypes = this.wiki.filterTiddlers(this.contentTypesFilter,this,this.wiki.makeTiddlerIterator(types));\\n\\t$tw.utils.each(tiddlerFieldsArray,function(tiddlerFields) {\\n\\t\\tif(filteredTypes.indexOf(tiddlerFields.type) !== -1) {\\n\\t\\t\\tfiltered.push(tiddlerFields);\\n\\t\\t}\\n\\t});\\n\\treturn filtered;\\n};\\n\\nDropZoneWidget.prototype.readFileCallback = function(tiddlerFieldsArray) {\\n\\tif(this.contentTypesFilter) {\\n\\t\\ttiddlerFieldsArray = this.filterByContentTypes(tiddlerFieldsArray);\\n\\t}\\n\\tif(tiddlerFieldsArray.length) {\\n\\t\\tthis.dispatchEvent({type: \\\"tm-import-tiddlers\\\", param: JSON.stringify(tiddlerFieldsArray), autoOpenOnImport: this.autoOpenOnImport, importTitle: this.importTitle});\\n\\t\\tif(this.actions) {\\n\\t\\t\\tthis.invokeActionString(this.actions,this,event,{importTitle: this.importTitle});\\n\\t\\t}\\n\\t}\\n};\\n\\nDropZoneWidget.prototype.handleDropEvent = function(event) {\\n\\tvar self = this,\\n\\t\\treadFileCallback = function(tiddlerFieldsArray) {\\n\\t\\t\\tself.readFileCallback(tiddlerFieldsArray);\\n\\t\\t};\\n\\tthis.leaveDrag(event);\\n\\t// Check for being over a TEXTAREA or INPUT\\n\\tif([\\\"TEXTAREA\\\",\\\"INPUT\\\"].indexOf(event.target.tagName) !== -1) {\\n\\t\\treturn false;\\n\\t}\\n\\t// Check for this window being the source of the drag\\n\\tif($tw.dragInProgress) {\\n\\t\\treturn false;\\n\\t}\\n\\tvar self = this,\\n\\t\\tdataTransfer = event.dataTransfer;\\n\\t// Remove highlighting\\n\\tthis.resetState();\\n\\t// Import any files in the drop\\n\\tvar numFiles = 0;\\n\\t// If we have type text/vnd.tiddlywiki then skip trying to import files\\n\\tif(dataTransfer.files && !$tw.utils.dragEventContainsType(event,\\\"text/vnd.tiddler\\\")) {\\n\\t\\tnumFiles = this.wiki.readFiles(dataTransfer.files,{\\n\\t\\t\\tcallback: readFileCallback,\\n\\t\\t\\tdeserializer: this.dropzoneDeserializer\\n\\t\\t});\\n\\t}\\n\\t// Try to import the various data types we understand\\n\\tif(numFiles === 0) {\\n\\t\\tvar fallbackTitle = self.wiki.generateNewTitle(\\\"Untitled\\\");\\n\\t\\t//Use the deserializer specified if any\\n\\t\\tif(this.dropzoneDeserializer) {\\n\\t\\t\\tfor(var t= 0; t<dataTransfer.items.length; t++) {\\n\\t\\t\\t\\tvar item = dataTransfer.items[t];\\n\\t\\t\\t\\tif(item.kind === \\\"string\\\") {\\n\\t\\t\\t\\t\\titem.getAsString(function(str){\\n\\t\\t\\t\\t\\t\\tvar tiddlerFields = self.wiki.deserializeTiddlers(null,str,{title: fallbackTitle},{deserializer:self.dropzoneDeserializer});\\n\\t\\t\\t\\t\\t\\tif(tiddlerFields && tiddlerFields.length) {\\n\\t\\t\\t\\t\\t\\t\\treadFileCallback(tiddlerFields);\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t})\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\t$tw.utils.importDataTransfer(dataTransfer,fallbackTitle,readFileCallback);\\n\\t\\t}\\n\\t}\\n\\t// Tell the browser that we handled the drop\\n\\tevent.preventDefault();\\n\\t// Stop the drop ripple up to any parent handlers\\n\\tevent.stopPropagation();\\n};\\n\\nDropZoneWidget.prototype.handlePasteEvent = function(event) {\\n\\tvar self = this;\\n\\tvar\\treadFileCallback = function(tiddlerFieldsArray) {\\n\\t\\t\\tself.readFileCallback(tiddlerFieldsArray);\\n\\t\\t};\\n\\tvar getItem = function(type) {\\n\\t\\t\\ttype = type || \\\"text/plain\\\";\\n\\t\\t\\treturn function(str) {\\n\\t\\t\\t\\t// Use the deserializer specified if any\\n\\t\\t\\t\\tif(self.dropzoneDeserializer) {\\n\\t\\t\\t\\t\\ttiddlerFields = self.wiki.deserializeTiddlers(null,str,{title: self.wiki.generateNewTitle(\\\"Untitled \\\" + type)},{deserializer:self.dropzoneDeserializer});\\n\\t\\t\\t\\t\\tif(tiddlerFields && tiddlerFields.length) {\\n\\t\\t\\t\\t\\t\\treadFileCallback(tiddlerFields);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\ttiddlerFields = {\\n\\t\\t\\t\\t\\t\\ttitle: self.wiki.generateNewTitle(\\\"Untitled \\\" + type),\\n\\t\\t\\t\\t\\t\\ttext: str,\\n\\t\\t\\t\\t\\t\\ttype: type\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\tif($tw.log.IMPORT) {\\n\\t\\t\\t\\t\\t\\tconsole.log(\\\"Importing string '\\\" + str + \\\"', type: '\\\" + type + \\\"'\\\");\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\treadFileCallback([tiddlerFields]);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t};\\n\\t// Let the browser handle it if we're in a textarea or input box\\n\\tif([\\\"TEXTAREA\\\",\\\"INPUT\\\"].indexOf(event.target.tagName) == -1 && !event.target.isContentEditable && !event.twEditor) {\\n\\t\\tvar self = this,\\n\\t\\t\\titems = event.clipboardData.items;\\n\\t\\t// Enumerate the clipboard items\\n\\t\\tfor(var t = 0; t<items.length; t++) {\\n\\t\\t\\tvar item = items[t];\\n\\t\\t\\tif(item.kind === \\\"file\\\") {\\n\\t\\t\\t\\t// Import any files\\n\\t\\t\\t\\tthis.wiki.readFile(item.getAsFile(),{\\n\\t\\t\\t\\t\\tcallback: readFileCallback,\\n\\t\\t\\t\\t\\tdeserializer: this.dropzoneDeserializer\\n\\t\\t\\t\\t});\\n\\t\\t\\t} else if(item.kind === \\\"string\\\" && ![\\\"text/html\\\", \\\"text/plain\\\", \\\"Text\\\"].includes(item.type) && $tw.utils.itemHasValidDataType(item)) {\\n\\t\\t\\t\\t// Try to import the various data types we understand\\n\\t\\t\\t\\tvar fallbackTitle = self.wiki.generateNewTitle(\\\"Untitled\\\");\\n\\t\\t\\t\\t//Use the deserializer specified if any\\n\\t\\t\\t\\tif(this.dropzoneDeserializer) {\\n\\t\\t\\t\\t\\titem.getAsString(function(str){\\n\\t\\t\\t\\t\\t\\tvar tiddlerFields = self.wiki.deserializeTiddlers(null,str,{title: fallbackTitle},{deserializer:self.dropzoneDeserializer});\\n\\t\\t\\t\\t\\t\\tif(tiddlerFields && tiddlerFields.length) {\\n\\t\\t\\t\\t\\t\\t\\treadFileCallback(tiddlerFields);\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t$tw.utils.importPaste(item,fallbackTitle,readFileCallback);\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else if(item.kind === \\\"string\\\") {\\n\\t\\t\\t\\t// Create tiddlers from string items\\n\\t\\t\\t\\tvar tiddlerFields;\\n\\t\\t\\t\\t// It's important to give getAsString a closure with the right type\\n\\t\\t\\t\\t// So it can be added to the import queue\\n\\t\\t\\t\\titem.getAsString(getItem(item.type));\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t// Tell the browser that we've handled the paste\\n\\t\\tevent.stopPropagation();\\n\\t\\tevent.preventDefault();\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nDropZoneWidget.prototype.execute = function() {\\n\\tthis.dropzoneClass = this.getAttribute(\\\"class\\\");\\n\\tthis.dropzoneDeserializer = this.getAttribute(\\\"deserializer\\\");\\n\\tthis.dropzoneEnable = (this.getAttribute(\\\"enable\\\") || \\\"yes\\\") === \\\"yes\\\";\\n\\tthis.autoOpenOnImport = this.getAttribute(\\\"autoOpenOnImport\\\");\\n\\tthis.importTitle = this.getAttribute(\\\"importTitle\\\",IMPORT_TITLE);\\n\\tthis.actions = this.getAttribute(\\\"actions\\\");\\n\\tthis.contentTypesFilter = this.getAttribute(\\\"contentTypesFilter\\\");\\n\\tthis.filesOnly = this.getAttribute(\\\"filesOnly\\\",\\\"no\\\") === \\\"yes\\\";\\n\\t// Make child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nDropZoneWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif($tw.utils.count(changedAttributes) > 0) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports.dropzone = DropZoneWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/edit-binary.js\":{\"title\":\"$:/core/modules/widgets/edit-binary.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/edit-binary.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nEdit-binary widget; placeholder for editing binary tiddlers\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar BINARY_WARNING_MESSAGE = \\\"$:/core/ui/BinaryWarning\\\";\\nvar EXPORT_BUTTON_IMAGE = \\\"$:/core/images/export-button\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar EditBinaryWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nEditBinaryWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nEditBinaryWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this;\\n\\t// Save the parent dom node\\n\\tthis.parentDomNode = parent;\\n\\t// Compute our attributes\\n\\tthis.computeAttributes();\\n\\t// Execute our logic\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nEditBinaryWidget.prototype.execute = function() {\\n\\t// Get our parameters\\n\\tvar editTitle = this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\tvar tiddler = this.wiki.getTiddler(editTitle);\\n\\tvar type = tiddler.fields.type;\\n\\tvar text = tiddler.fields.text;\\n\\t// Transclude the binary data tiddler warning message\\n\\tvar warn = {\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"p\\\",\\n\\t\\tchildren: [{\\n\\t\\t\\ttype: \\\"transclude\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\ttiddler: {type: \\\"string\\\", value: BINARY_WARNING_MESSAGE}\\n\\t\\t\\t}\\n\\t\\t}]\\n\\t};\\n\\t// Create download link based on draft tiddler title\\n\\tvar link = {\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"a\\\",\\n\\t\\tattributes: {\\n\\t\\t\\ttitle: {type: \\\"indirect\\\", textReference: \\\"!!draft.title\\\"},\\n\\t\\t\\tdownload: {type: \\\"indirect\\\", textReference: \\\"!!draft.title\\\"}\\n\\t\\t},\\n\\t\\tchildren: [{\\n\\t\\ttype: \\\"transclude\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\ttiddler: {type: \\\"string\\\", value: EXPORT_BUTTON_IMAGE}\\n\\t\\t\\t}\\n\\t\\t}]\\n\\t};\\n\\t// Set the link href to internal data URI (no external)\\n\\tif(text) {\\n\\t\\tlink.attributes.href = {\\n\\t\\t\\ttype: \\\"string\\\", \\n\\t\\t\\tvalue: \\\"data:\\\" + type + \\\";base64,\\\" + text\\n\\t\\t};\\n\\t}\\n\\t// Combine warning message and download link in a div\\n\\tvar element = {\\n\\t\\ttype: \\\"element\\\",\\n\\t\\ttag: \\\"div\\\",\\n\\t\\tattributes: {\\n\\t\\t\\tclass: {type: \\\"string\\\", value: \\\"tc-binary-warning\\\"}\\n\\t\\t},\\n\\t\\tchildren: [warn, link]\\n\\t}\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets([element]);\\n};\\n\\n/*\\nRefresh by refreshing our child widget\\n*/\\nEditBinaryWidget.prototype.refresh = function(changedTiddlers) {\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports[\\\"edit-binary\\\"] = EditBinaryWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/edit-bitmap.js\":{\"title\":\"$:/core/modules/widgets/edit-bitmap.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/edit-bitmap.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nEdit-bitmap widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Default image sizes\\nvar DEFAULT_IMAGE_WIDTH = 600,\\n\\tDEFAULT_IMAGE_HEIGHT = 370,\\n\\tDEFAULT_IMAGE_TYPE = \\\"image/png\\\";\\n\\n// Configuration tiddlers\\nvar LINE_WIDTH_TITLE = \\\"$:/config/BitmapEditor/LineWidth\\\",\\n\\tLINE_COLOUR_TITLE = \\\"$:/config/BitmapEditor/Colour\\\",\\n\\tLINE_OPACITY_TITLE = \\\"$:/config/BitmapEditor/Opacity\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar EditBitmapWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nEditBitmapWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nEditBitmapWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this;\\n\\t// Initialise the editor operations if they've not been done already\\n\\tif(!this.editorOperations) {\\n\\t\\tEditBitmapWidget.prototype.editorOperations = {};\\n\\t\\t$tw.modules.applyMethods(\\\"bitmapeditoroperation\\\",this.editorOperations);\\n\\t}\\n\\t// Save the parent dom node\\n\\tthis.parentDomNode = parent;\\n\\t// Compute our attributes\\n\\tthis.computeAttributes();\\n\\t// Execute our logic\\n\\tthis.execute();\\n\\t// Create the wrapper for the toolbar and render its content\\n\\tthis.toolbarNode = this.document.createElement(\\\"div\\\");\\n\\tthis.toolbarNode.className = \\\"tc-editor-toolbar\\\";\\n\\tparent.insertBefore(this.toolbarNode,nextSibling);\\n\\tthis.domNodes.push(this.toolbarNode);\\n\\t// Create the on-screen canvas\\n\\tthis.canvasDomNode = $tw.utils.domMaker(\\\"canvas\\\",{\\n\\t\\tdocument: this.document,\\n\\t\\t\\\"class\\\":\\\"tc-edit-bitmapeditor\\\",\\n\\t\\teventListeners: [{\\n\\t\\t\\tname: \\\"touchstart\\\", handlerObject: this, handlerMethod: \\\"handleTouchStartEvent\\\"\\n\\t\\t},{\\n\\t\\t\\tname: \\\"touchmove\\\", handlerObject: this, handlerMethod: \\\"handleTouchMoveEvent\\\"\\n\\t\\t},{\\n\\t\\t\\tname: \\\"touchend\\\", handlerObject: this, handlerMethod: \\\"handleTouchEndEvent\\\"\\n\\t\\t},{\\n\\t\\t\\tname: \\\"mousedown\\\", handlerObject: this, handlerMethod: \\\"handleMouseDownEvent\\\"\\n\\t\\t},{\\n\\t\\t\\tname: \\\"mousemove\\\", handlerObject: this, handlerMethod: \\\"handleMouseMoveEvent\\\"\\n\\t\\t},{\\n\\t\\t\\tname: \\\"mouseup\\\", handlerObject: this, handlerMethod: \\\"handleMouseUpEvent\\\"\\n\\t\\t}]\\n\\t});\\n\\t// Set the width and height variables\\n\\tthis.setVariable(\\\"tv-bitmap-editor-width\\\",this.canvasDomNode.width + \\\"px\\\");\\n\\tthis.setVariable(\\\"tv-bitmap-editor-height\\\",this.canvasDomNode.height + \\\"px\\\");\\n\\t// Render toolbar child widgets\\n\\tthis.renderChildren(this.toolbarNode,null);\\n\\t// // Insert the elements into the DOM\\n\\tparent.insertBefore(this.canvasDomNode,nextSibling);\\n\\tthis.domNodes.push(this.canvasDomNode);\\n\\t// Load the image into the canvas\\n\\tif($tw.browser) {\\n\\t\\tthis.loadCanvas();\\n\\t}\\n\\t// Add widget message listeners\\n\\tthis.addEventListeners([\\n\\t\\t{type: \\\"tm-edit-bitmap-operation\\\", handler: \\\"handleEditBitmapOperationMessage\\\"}\\n\\t]);\\n};\\n\\n/*\\nHandle an edit bitmap operation message from the toolbar\\n*/\\nEditBitmapWidget.prototype.handleEditBitmapOperationMessage = function(event) {\\n\\t// Invoke the handler\\n\\tvar handler = this.editorOperations[event.param];\\n\\tif(handler) {\\n\\t\\thandler.call(this,event);\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nEditBitmapWidget.prototype.execute = function() {\\n\\t// Get our parameters\\n\\tthis.editTitle = this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\t// Make the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nJust refresh the toolbar\\n*/\\nEditBitmapWidget.prototype.refresh = function(changedTiddlers) {\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\n/*\\nSet the bitmap size variables and refresh the toolbar\\n*/\\nEditBitmapWidget.prototype.refreshToolbar = function() {\\n\\t// Set the width and height variables\\n\\tthis.setVariable(\\\"tv-bitmap-editor-width\\\",this.canvasDomNode.width + \\\"px\\\");\\n\\tthis.setVariable(\\\"tv-bitmap-editor-height\\\",this.canvasDomNode.height + \\\"px\\\");\\n\\t// Refresh each of our child widgets\\n\\t$tw.utils.each(this.children,function(childWidget) {\\n\\t\\tchildWidget.refreshSelf();\\n\\t});\\n};\\n\\nEditBitmapWidget.prototype.loadCanvas = function() {\\n\\tvar tiddler = this.wiki.getTiddler(this.editTitle),\\n\\t\\tcurrImage = new Image();\\n\\t// Set up event handlers for loading the image\\n\\tvar self = this;\\n\\tcurrImage.onload = function() {\\n\\t\\t// Copy the image to the on-screen canvas\\n\\t\\tself.initCanvas(self.canvasDomNode,currImage.width,currImage.height,currImage);\\n\\t\\t// And also copy the current bitmap to the off-screen canvas\\n\\t\\tself.currCanvas = self.document.createElement(\\\"canvas\\\");\\n\\t\\tself.initCanvas(self.currCanvas,currImage.width,currImage.height,currImage);\\n\\t\\t// Set the width and height input boxes\\n\\t\\tself.refreshToolbar();\\n\\t};\\n\\tcurrImage.onerror = function() {\\n\\t\\t// Set the on-screen canvas size and clear it\\n\\t\\tself.initCanvas(self.canvasDomNode,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\\n\\t\\t// Set the off-screen canvas size and clear it\\n\\t\\tself.currCanvas = self.document.createElement(\\\"canvas\\\");\\n\\t\\tself.initCanvas(self.currCanvas,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\\n\\t\\t// Set the width and height input boxes\\n\\t\\tself.refreshToolbar();\\n\\t};\\n\\t// Get the current bitmap into an image object\\n\\tif(tiddler && tiddler.fields.type && tiddler.fields.text) {\\n\\t\\tcurrImage.src = \\\"data:\\\" + tiddler.fields.type + \\\";base64,\\\" + tiddler.fields.text;\\n\\t} else {\\n\\t\\tcurrImage.width = DEFAULT_IMAGE_WIDTH;\\n\\t\\tcurrImage.height = DEFAULT_IMAGE_HEIGHT;\\n\\t\\tcurrImage.onerror();\\n\\t}\\n};\\n\\nEditBitmapWidget.prototype.initCanvas = function(canvas,width,height,image) {\\n\\tcanvas.width = width;\\n\\tcanvas.height = height;\\n\\tvar ctx = canvas.getContext(\\\"2d\\\");\\n\\tif(image) {\\n\\t\\tctx.drawImage(image,0,0);\\n\\t} else {\\n\\t\\tctx.fillStyle = \\\"#fff\\\";\\n\\t\\tctx.fillRect(0,0,canvas.width,canvas.height);\\n\\t}\\n};\\n\\n/*\\n** Change the size of the canvas, preserving the current image\\n*/\\nEditBitmapWidget.prototype.changeCanvasSize = function(newWidth,newHeight) {\\n\\t// Create and size a new canvas\\n\\tvar newCanvas = this.document.createElement(\\\"canvas\\\");\\n\\tthis.initCanvas(newCanvas,newWidth,newHeight);\\n\\t// Copy the old image\\n\\tvar ctx = newCanvas.getContext(\\\"2d\\\");\\n\\tctx.drawImage(this.currCanvas,0,0);\\n\\t// Set the new canvas as the current one\\n\\tthis.currCanvas = newCanvas;\\n\\t// Set the size of the onscreen canvas\\n\\tthis.canvasDomNode.width = newWidth;\\n\\tthis.canvasDomNode.height = newHeight;\\n\\t// Paint the onscreen canvas with the offscreen canvas\\n\\tctx = this.canvasDomNode.getContext(\\\"2d\\\");\\n\\tctx.drawImage(this.currCanvas,0,0);\\n};\\n\\n/*\\n** Rotate the canvas left by 90 degrees\\n*/\\nEditBitmapWidget.prototype.rotateCanvasLeft = function() {\\n\\t// Get the current size of the image\\n\\tvar origWidth = this.currCanvas.width,\\n\\t\\torigHeight = this.currCanvas.height;\\n\\t// Create and size a new canvas\\n\\tvar newCanvas = this.document.createElement(\\\"canvas\\\"),\\n\\t\\tnewWidth = origHeight,\\n\\t\\tnewHeight = origWidth;\\n\\tthis.initCanvas(newCanvas,newWidth,newHeight);\\n\\t// Copy the old image\\n\\tvar ctx = newCanvas.getContext(\\\"2d\\\");\\n\\tctx.save();\\n\\tctx.translate(newWidth / 2,newHeight / 2);\\n\\tctx.rotate(-Math.PI / 2);\\n\\tctx.drawImage(this.currCanvas,-origWidth / 2,-origHeight / 2);\\n\\tctx.restore();\\n\\t// Set the new canvas as the current one\\n\\tthis.currCanvas = newCanvas;\\n\\t// Set the size of the onscreen canvas\\n\\tthis.canvasDomNode.width = newWidth;\\n\\tthis.canvasDomNode.height = newHeight;\\n\\t// Paint the onscreen canvas with the offscreen canvas\\n\\tctx = this.canvasDomNode.getContext(\\\"2d\\\");\\n\\tctx.drawImage(this.currCanvas,0,0);\\n};\\n\\nEditBitmapWidget.prototype.handleTouchStartEvent = function(event) {\\n\\tthis.brushDown = true;\\n\\tthis.strokeStart(event.touches[0].clientX,event.touches[0].clientY);\\n\\tevent.preventDefault();\\n\\tevent.stopPropagation();\\n\\treturn false;\\n};\\n\\nEditBitmapWidget.prototype.handleTouchMoveEvent = function(event) {\\n\\tif(this.brushDown) {\\n\\t\\tthis.strokeMove(event.touches[0].clientX,event.touches[0].clientY);\\n\\t}\\n\\tevent.preventDefault();\\n\\tevent.stopPropagation();\\n\\treturn false;\\n};\\n\\nEditBitmapWidget.prototype.handleTouchEndEvent = function(event) {\\n\\tif(this.brushDown) {\\n\\t\\tthis.brushDown = false;\\n\\t\\tthis.strokeEnd();\\n\\t}\\n\\tevent.preventDefault();\\n\\tevent.stopPropagation();\\n\\treturn false;\\n};\\n\\nEditBitmapWidget.prototype.handleMouseDownEvent = function(event) {\\n\\tthis.strokeStart(event.clientX,event.clientY);\\n\\tthis.brushDown = true;\\n\\tevent.preventDefault();\\n\\tevent.stopPropagation();\\n\\treturn false;\\n};\\n\\nEditBitmapWidget.prototype.handleMouseMoveEvent = function(event) {\\n\\tif(this.brushDown) {\\n\\t\\tthis.strokeMove(event.clientX,event.clientY);\\n\\t\\tevent.preventDefault();\\n\\t\\tevent.stopPropagation();\\n\\t\\treturn false;\\n\\t}\\n\\treturn true;\\n};\\n\\nEditBitmapWidget.prototype.handleMouseUpEvent = function(event) {\\n\\tif(this.brushDown) {\\n\\t\\tthis.brushDown = false;\\n\\t\\tthis.strokeEnd();\\n\\t\\tevent.preventDefault();\\n\\t\\tevent.stopPropagation();\\n\\t\\treturn false;\\n\\t}\\n\\treturn true;\\n};\\n\\nEditBitmapWidget.prototype.adjustCoordinates = function(x,y) {\\n\\tvar canvasRect = this.canvasDomNode.getBoundingClientRect(),\\n\\t\\tscale = this.canvasDomNode.width/canvasRect.width;\\n\\treturn {x: (x - canvasRect.left) * scale, y: (y - canvasRect.top) * scale};\\n};\\n\\nEditBitmapWidget.prototype.strokeStart = function(x,y) {\\n\\t// Start off a new stroke\\n\\tthis.stroke = [this.adjustCoordinates(x,y)];\\n};\\n\\nEditBitmapWidget.prototype.strokeMove = function(x,y) {\\n\\tvar ctx = this.canvasDomNode.getContext(\\\"2d\\\"),\\n\\t\\tt;\\n\\t// Add the new position to the end of the stroke\\n\\tthis.stroke.push(this.adjustCoordinates(x,y));\\n\\t// Redraw the previous image\\n\\tctx.drawImage(this.currCanvas,0,0);\\n\\t// Render the stroke\\n\\tctx.globalAlpha = parseFloat(this.wiki.getTiddlerText(LINE_OPACITY_TITLE,\\\"1.0\\\"));\\n\\tctx.strokeStyle = this.wiki.getTiddlerText(LINE_COLOUR_TITLE,\\\"#ff0\\\");\\n\\tctx.lineWidth = parseFloat(this.wiki.getTiddlerText(LINE_WIDTH_TITLE,\\\"3\\\"));\\n\\tctx.lineCap = \\\"round\\\";\\n\\tctx.lineJoin = \\\"round\\\";\\n\\tctx.beginPath();\\n\\tctx.moveTo(this.stroke[0].x,this.stroke[0].y);\\n\\tfor(t=1; t<this.stroke.length-1; t++) {\\n\\t\\tvar s1 = this.stroke[t],\\n\\t\\t\\ts2 = this.stroke[t-1],\\n\\t\\t\\ttx = (s1.x + s2.x)/2,\\n\\t\\t\\tty = (s1.y + s2.y)/2;\\n\\t\\tctx.quadraticCurveTo(s2.x,s2.y,tx,ty);\\n\\t}\\n\\tctx.stroke();\\n};\\n\\nEditBitmapWidget.prototype.strokeEnd = function() {\\n\\t// Copy the bitmap to the off-screen canvas\\n\\tvar ctx = this.currCanvas.getContext(\\\"2d\\\");\\n\\tctx.drawImage(this.canvasDomNode,0,0);\\n\\t// Save the image into the tiddler\\n\\tthis.saveChanges();\\n};\\n\\nEditBitmapWidget.prototype.saveChanges = function() {\\n\\tvar tiddler = this.wiki.getTiddler(this.editTitle) || new $tw.Tiddler({title: this.editTitle,type: DEFAULT_IMAGE_TYPE});\\n\\t// data URIs look like \\\"data:<type>;base64,<text>\\\"\\n\\tvar dataURL = this.canvasDomNode.toDataURL(tiddler.fields.type),\\n\\t\\tposColon = dataURL.indexOf(\\\":\\\"),\\n\\t\\tposSemiColon = dataURL.indexOf(\\\";\\\"),\\n\\t\\tposComma = dataURL.indexOf(\\\",\\\"),\\n\\t\\ttype = dataURL.substring(posColon+1,posSemiColon),\\n\\t\\ttext = dataURL.substring(posComma+1);\\n\\tvar update = {type: type, text: text};\\n\\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,update,this.wiki.getCreationFields()));\\n};\\n\\nexports[\\\"edit-bitmap\\\"] = EditBitmapWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/edit-shortcut.js\":{\"title\":\"$:/core/modules/widgets/edit-shortcut.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/edit-shortcut.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nWidget to display an editable keyboard shortcut\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar EditShortcutWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nEditShortcutWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nEditShortcutWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.inputNode = this.document.createElement(\\\"input\\\");\\n\\t// Assign classes\\n\\tif(this.shortcutClass) {\\n\\t\\tthis.inputNode.className = this.shortcutClass;\\n\\t}\\n\\t// Assign other attributes\\n\\tif(this.shortcutStyle) {\\n\\t\\tthis.inputNode.setAttribute(\\\"style\\\",this.shortcutStyle);\\n\\t}\\n\\tif(this.shortcutTooltip) {\\n\\t\\tthis.inputNode.setAttribute(\\\"title\\\",this.shortcutTooltip);\\n\\t}\\n\\tif(this.shortcutPlaceholder) {\\n\\t\\tthis.inputNode.setAttribute(\\\"placeholder\\\",this.shortcutPlaceholder);\\n\\t}\\n\\tif(this.shortcutAriaLabel) {\\n\\t\\tthis.inputNode.setAttribute(\\\"aria-label\\\",this.shortcutAriaLabel);\\n\\t}\\n\\t// Assign the current shortcut\\n\\tthis.updateInputNode();\\n\\t// Add event handlers\\n\\t$tw.utils.addEventListeners(this.inputNode,[\\n\\t\\t{name: \\\"keydown\\\", handlerObject: this, handlerMethod: \\\"handleKeydownEvent\\\"}\\n\\t]);\\n\\t// Link into the DOM\\n\\tparent.insertBefore(this.inputNode,nextSibling);\\n\\tthis.domNodes.push(this.inputNode);\\n\\t// Focus the input Node if focus === \\\"yes\\\" or focus === \\\"true\\\"\\n\\tif(this.shortcutFocus === \\\"yes\\\" || this.shortcutFocus === \\\"true\\\") {\\n\\t\\tthis.focus();\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nEditShortcutWidget.prototype.execute = function() {\\n\\tthis.shortcutTiddler = this.getAttribute(\\\"tiddler\\\");\\n\\tthis.shortcutField = this.getAttribute(\\\"field\\\");\\n\\tthis.shortcutIndex = this.getAttribute(\\\"index\\\");\\n\\tthis.shortcutPlaceholder = this.getAttribute(\\\"placeholder\\\");\\n\\tthis.shortcutDefault = this.getAttribute(\\\"default\\\",\\\"\\\");\\n\\tthis.shortcutClass = this.getAttribute(\\\"class\\\");\\n\\tthis.shortcutStyle = this.getAttribute(\\\"style\\\");\\n\\tthis.shortcutTooltip = this.getAttribute(\\\"tooltip\\\");\\n\\tthis.shortcutAriaLabel = this.getAttribute(\\\"aria-label\\\");\\n\\tthis.shortcutFocus = this.getAttribute(\\\"focus\\\");\\n};\\n\\n/*\\nUpdate the value of the input node\\n*/\\nEditShortcutWidget.prototype.updateInputNode = function() {\\n\\tif(this.shortcutField) {\\n\\t\\tvar tiddler = this.wiki.getTiddler(this.shortcutTiddler);\\n\\t\\tif(tiddler && $tw.utils.hop(tiddler.fields,this.shortcutField)) {\\n\\t\\t\\tthis.inputNode.value = tiddler.getFieldString(this.shortcutField);\\n\\t\\t} else {\\n\\t\\t\\tthis.inputNode.value = this.shortcutDefault;\\n\\t\\t}\\n\\t} else if(this.shortcutIndex) {\\n\\t\\tthis.inputNode.value = this.wiki.extractTiddlerDataItem(this.shortcutTiddler,this.shortcutIndex,this.shortcutDefault);\\n\\t} else {\\n\\t\\tthis.inputNode.value = this.wiki.getTiddlerText(this.shortcutTiddler,this.shortcutDefault);\\n\\t}\\n};\\n\\n/*\\nHandle a dom \\\"keydown\\\" event\\n*/\\nEditShortcutWidget.prototype.handleKeydownEvent = function(event) {\\n\\t// Ignore shift, ctrl, meta, alt\\n\\tif(event.keyCode && $tw.keyboardManager.getModifierKeys().indexOf(event.keyCode) === -1) {\\n\\t\\t// Get the shortcut text representation\\n\\t\\tvar value = $tw.keyboardManager.getPrintableShortcuts([{\\n\\t\\t\\tctrlKey: event.ctrlKey,\\n\\t\\t\\tshiftKey: event.shiftKey,\\n\\t\\t\\taltKey: event.altKey,\\n\\t\\t\\tmetaKey: event.metaKey,\\n\\t\\t\\tkeyCode: event.keyCode\\n\\t\\t}]);\\n\\t\\tif(value.length > 0) {\\n\\t\\t\\tthis.wiki.setText(this.shortcutTiddler,this.shortcutField,this.shortcutIndex,value[0]);\\n\\t\\t}\\n\\t\\t// Ignore the keydown if it was already handled\\n\\t\\tevent.preventDefault();\\n\\t\\tevent.stopPropagation();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\n/*\\nfocus the input node\\n*/\\nEditShortcutWidget.prototype.focus = function() {\\n\\tif(this.inputNode.focus && this.inputNode.select) {\\n\\t\\tthis.inputNode.focus();\\n\\t\\tthis.inputNode.select();\\n\\t}\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget needed re-rendering\\n*/\\nEditShortcutWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes[\\\"default\\\"] || changedAttributes[\\\"class\\\"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes[\\\"aria-label\\\"] || changedAttributes.focus) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else if(changedTiddlers[this.shortcutTiddler]) {\\n\\t\\tthis.updateInputNode();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\nexports[\\\"edit-shortcut\\\"] = EditShortcutWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/edit-text.js\":{\"title\":\"$:/core/modules/widgets/edit-text.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/edit-text.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nEdit-text widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar editTextWidgetFactory = require(\\\"$:/core/modules/editor/factory.js\\\").editTextWidgetFactory,\\n\\tFramedEngine = require(\\\"$:/core/modules/editor/engines/framed.js\\\").FramedEngine,\\n\\tSimpleEngine = require(\\\"$:/core/modules/editor/engines/simple.js\\\").SimpleEngine;\\n\\nexports[\\\"edit-text\\\"] = editTextWidgetFactory(FramedEngine,SimpleEngine);\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/edit.js\":{\"title\":\"$:/core/modules/widgets/edit.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/edit.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nEdit widget is a meta-widget chooses the appropriate actual editting widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar EditWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nEditWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nEditWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n// Mappings from content type to editor type are stored in tiddlers with this prefix\\nvar EDITOR_MAPPING_PREFIX = \\\"$:/config/EditorTypeMappings/\\\";\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nEditWidget.prototype.execute = function() {\\n\\t// Get our parameters\\n\\tthis.editTitle = this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\tthis.editField = this.getAttribute(\\\"field\\\",\\\"text\\\");\\n\\tthis.editIndex = this.getAttribute(\\\"index\\\");\\n\\tthis.editClass = this.getAttribute(\\\"class\\\");\\n\\tthis.editPlaceholder = this.getAttribute(\\\"placeholder\\\");\\n\\tthis.editTabIndex = this.getAttribute(\\\"tabindex\\\");\\n\\tthis.editFocus = this.getAttribute(\\\"focus\\\",\\\"\\\");\\n\\tthis.editCancelPopups = this.getAttribute(\\\"cancelPopups\\\",\\\"\\\");\\n\\tthis.editInputActions = this.getAttribute(\\\"inputActions\\\");\\n\\tthis.editRefreshTitle = this.getAttribute(\\\"refreshTitle\\\");\\n\\tthis.editAutoComplete = this.getAttribute(\\\"autocomplete\\\");\\n\\t// Choose the appropriate edit widget\\n\\tthis.editorType = this.getEditorType();\\n\\t// Make the child widgets\\n\\tthis.makeChildWidgets([{\\n\\t\\ttype: \\\"edit-\\\" + this.editorType,\\n\\t\\tattributes: this.parseTreeNode.attributes,\\n\\t\\tchildren: this.parseTreeNode.children\\n\\t}]);\\n};\\n\\nEditWidget.prototype.getEditorType = function() {\\n\\t// Get the content type of the thing we're editing\\n\\tvar type;\\n\\tif(this.editField === \\\"text\\\") {\\n\\t\\tvar tiddler = this.wiki.getTiddler(this.editTitle);\\n\\t\\tif(tiddler) {\\n\\t\\t\\ttype = tiddler.fields.type;\\n\\t\\t}\\n\\t}\\n\\ttype = type || \\\"text/vnd.tiddlywiki\\\";\\n\\tvar editorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\\n\\tif(!editorType) {\\n\\t\\tvar typeInfo = $tw.config.contentTypeInfo[type];\\n\\t\\tif(typeInfo && typeInfo.encoding === \\\"base64\\\") {\\n\\t\\t\\teditorType = \\\"binary\\\";\\n\\t\\t} else {\\n\\t\\t\\teditorType = \\\"text\\\";\\n\\t\\t}\\n\\t}\\n\\treturn editorType;\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nEditWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\t// Refresh if an attribute has changed, or the type associated with the target tiddler has changed\\n\\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tabindex || changedAttributes.cancelPopups || changedAttributes.inputActions || changedAttributes.refreshTitle || changedAttributes.autocomplete || (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nexports.edit = EditWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/element.js\":{\"title\":\"$:/core/modules/widgets/element.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/element.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nElement widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar ElementWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nElementWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nElementWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\t// Neuter blacklisted elements\\n\\tthis.tag = this.parseTreeNode.tag;\\n\\tif($tw.config.htmlUnsafeElements.indexOf(this.tag) !== -1) {\\n\\t\\tthis.tag = \\\"safe-\\\" + this.tag;\\n\\t}\\n\\t// Restrict tag name to digits, letts and dashes\\n\\tthis.tag = this.tag.replace(/[^0-9a-zA-Z\\\\-]/mg,\\\"\\\");\\n\\t// Default to a span\\n\\tthis.tag = this.tag || \\\"span\\\";\\n\\t// Adjust headings by the current base level\\n\\tvar headingLevel = [\\\"h1\\\",\\\"h2\\\",\\\"h3\\\",\\\"h4\\\",\\\"h5\\\",\\\"h6\\\"].indexOf(this.tag);\\n\\tif(headingLevel !== -1) {\\n\\t\\tvar baseLevel = parseInt(this.getVariable(\\\"tv-adjust-heading-level\\\",\\\"0\\\"),10) || 0;\\n\\t\\theadingLevel = Math.min(Math.max(headingLevel + 1 + baseLevel,1),6);\\n\\t\\tthis.tag = \\\"h\\\" + headingLevel;\\n\\t}\\n\\t// Select the namespace for the tag\\n\\tvar XHTML_NAMESPACE = \\\"http://www.w3.org/1999/xhtml\\\",\\n\\t\\ttagNamespaces = {\\n\\t\\t\\tsvg: \\\"http://www.w3.org/2000/svg\\\",\\n\\t\\t\\tmath: \\\"http://www.w3.org/1998/Math/MathML\\\",\\n\\t\\t\\tbody: XHTML_NAMESPACE\\n\\t\\t};\\n\\tthis.namespace = tagNamespaces[this.tag];\\n\\tif(this.namespace) {\\n\\t\\tthis.setVariable(\\\"namespace\\\",this.namespace);\\n\\t} else {\\n\\t\\tif(this.hasAttribute(\\\"xmlns\\\")) {\\n\\t\\t\\tthis.namespace = this.getAttribute(\\\"xmlns\\\");\\n\\t\\t\\tthis.setVariable(\\\"namespace\\\",this.namespace);\\n\\t\\t} else {\\n\\t\\t\\tthis.namespace = this.getVariable(\\\"namespace\\\",{defaultValue: XHTML_NAMESPACE});\\n\\t\\t}\\n\\t}\\n\\t// Invoke the th-rendering-element hook\\n\\tvar parseTreeNodes = $tw.hooks.invokeHook(\\\"th-rendering-element\\\",null,this);\\n\\tthis.isReplaced = !!parseTreeNodes;\\n\\tif(parseTreeNodes) {\\n\\t\\t// Use the parse tree nodes provided by the hook\\n\\t\\tthis.makeChildWidgets(parseTreeNodes);\\n\\t\\tthis.renderChildren(this.parentDomNode,null);\\n\\t\\treturn;\\n\\t}\\n\\t// Make the child widgets\\n\\tthis.makeChildWidgets();\\n\\t// Create the DOM node and render children\\n\\tvar domNode = this.document.createElementNS(this.namespace,this.tag);\\n\\tthis.assignAttributes(domNode,{excludeEventAttributes: true});\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.domNodes.push(domNode);\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nElementWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes(),\\n\\t\\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\\n\\tif(hasChangedAttributes) {\\n\\t\\tif(!this.isReplaced) {\\n\\t\\t\\t// Update our attributes\\n\\t\\t\\tthis.assignAttributes(this.domNodes[0],{excludeEventAttributes: true});\\n\\t\\t} else {\\n\\t\\t\\t// If we were replaced then completely refresh ourselves\\n\\t\\t\\treturn this.refreshSelf();\\n\\t\\t}\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\\n};\\n\\nexports.element = ElementWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/encrypt.js\":{\"title\":\"$:/core/modules/widgets/encrypt.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/encrypt.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nEncrypt widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar EncryptWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nEncryptWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nEncryptWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tvar textNode = this.document.createTextNode(this.encryptedText);\\n\\tparent.insertBefore(textNode,nextSibling);\\n\\tthis.domNodes.push(textNode);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nEncryptWidget.prototype.execute = function() {\\n\\t// Get parameters from our attributes\\n\\tthis.filter = this.getAttribute(\\\"filter\\\",\\\"[!is[system]]\\\");\\n\\t// Encrypt the filtered tiddlers\\n\\tvar tiddlers = this.wiki.filterTiddlers(this.filter),\\n\\t\\tjson = {},\\n\\t\\tself = this;\\n\\t$tw.utils.each(tiddlers,function(title) {\\n\\t\\tvar tiddler = self.wiki.getTiddler(title),\\n\\t\\t\\tjsonTiddler = {};\\n\\t\\tfor(var f in tiddler.fields) {\\n\\t\\t\\tjsonTiddler[f] = tiddler.getFieldString(f);\\n\\t\\t}\\n\\t\\tjson[title] = jsonTiddler;\\n\\t});\\n\\tthis.encryptedText = $tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(json)));\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nEncryptWidget.prototype.refresh = function(changedTiddlers) {\\n\\t// We don't need to worry about refreshing because the encrypt widget isn't for interactive use\\n\\treturn false;\\n};\\n\\nexports.encrypt = EncryptWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/entity.js\":{\"title\":\"$:/core/modules/widgets/entity.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/entity.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nHTML entity widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar EntityWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nEntityWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nEntityWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tvar entityString = this.getAttribute(\\\"entity\\\",this.parseTreeNode.entity || \\\"\\\"),\\n\\t\\ttextNode = this.document.createTextNode($tw.utils.entityDecode(entityString));\\n\\tparent.insertBefore(textNode,nextSibling);\\n\\tthis.domNodes.push(textNode);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nEntityWidget.prototype.execute = function() {\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nEntityWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.entity) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\nexports.entity = EntityWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/error.js\":{\"title\":\"$:/core/modules/widgets/error.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/error.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nError widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar ErrorWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nErrorWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nErrorWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tvar message = this.getAttribute(\\\"$message\\\",\\\"Unknown error\\\"),\\n\\t\\tdomNode = this.document.createElement(\\\"span\\\");\\n\\tdomNode.appendChild(this.document.createTextNode(message));\\n\\tdomNode.className = \\\"tc-error\\\";\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.domNodes.push(domNode);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nErrorWidget.prototype.execute = function() {\\n\\t// Nothing to do for a text node\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nErrorWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes[\\\"$message\\\"]) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\nexports.error = ErrorWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/eventcatcher.js\":{\"title\":\"$:/core/modules/widgets/eventcatcher.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/eventcatcher.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nEvent handler widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar EventWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nEventWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nEventWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this;\\n\\t// Remember parent\\n\\tthis.parentDomNode = parent;\\n\\t// Compute attributes and execute state\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\t// Create element\\n\\tvar tag = this.parseTreeNode.isBlock ? \\\"div\\\" : \\\"span\\\";\\n\\tif(this.elementTag && $tw.config.htmlUnsafeElements.indexOf(this.elementTag) === -1) {\\n\\t\\ttag = this.elementTag;\\n\\t}\\n\\tvar domNode = this.document.createElement(tag);\\n\\tthis.domNode = domNode;\\n\\t// Assign classes\\n\\tthis.assignDomNodeClasses();\\n\\t// Add our event handler\\n\\t$tw.utils.each(this.types,function(type) {\\n\\t\\tdomNode.addEventListener(type,function(event) {\\n\\t\\t\\tvar selector = self.getAttribute(\\\"selector\\\"),\\n\\t\\t\\t\\tmatchSelector = self.getAttribute(\\\"matchSelector\\\"),\\n\\t\\t\\t\\tactions = self.getAttribute(\\\"$\\\"+type) || self.getAttribute(\\\"actions-\\\"+type),\\n\\t\\t\\t\\tstopPropagation = self.getAttribute(\\\"stopPropagation\\\",\\\"onaction\\\"),\\n\\t\\t\\t\\tselectedNode = event.target,\\n\\t\\t\\t\\tselectedNodeRect,\\n\\t\\t\\t\\tcatcherNodeRect,\\n\\t\\t\\t\\tvariables = {};\\n\\t\\t\\t// Firefox can fire dragover and dragenter events on text nodes instead of their parents\\n\\t\\t\\tif(selectedNode.nodeType === 3) {\\n\\t\\t\\t\\tselectedNode = selectedNode.parentNode;\\n\\t\\t\\t}\\n\\t\\t\\t// Check that the selected node matches any matchSelector\\n\\t\\t\\tif(matchSelector && !$tw.utils.domMatchesSelector(selectedNode,matchSelector)) {\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t\\tif(selector) {\\n\\t\\t\\t\\t// Search ancestors for a node that matches the selector\\n\\t\\t\\t\\twhile(!$tw.utils.domMatchesSelector(selectedNode,selector) && selectedNode !== domNode) {\\n\\t\\t\\t\\t\\tselectedNode = selectedNode.parentNode;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// Exit if we didn't find one\\n\\t\\t\\t\\tif(selectedNode === domNode) {\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// Only set up variables if we have actions to invoke\\n\\t\\t\\t\\tif(actions) {\\n\\t\\t\\t\\t\\tvariables = $tw.utils.collectDOMVariables(selectedNode,self.domNode,event);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t// Execute our actions with the variables\\n\\t\\t\\tif(actions) {\\n\\t\\t\\t\\t// Add a variable for the modifier key\\n\\t\\t\\t\\tvariables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\t\\t\\t// Add a variable for the mouse button\\n\\t\\t\\t\\tif(\\\"button\\\" in event) {\\n\\t\\t\\t\\t\\tif(event.button === 0) {\\n\\t\\t\\t\\t\\t\\tvariables[\\\"event-mousebutton\\\"] = \\\"left\\\";\\n\\t\\t\\t\\t\\t} else if(event.button === 1) {\\n\\t\\t\\t\\t\\t\\tvariables[\\\"event-mousebutton\\\"] = \\\"middle\\\";\\n\\t\\t\\t\\t\\t} else if(event.button === 2) {\\n\\t\\t\\t\\t\\t\\tvariables[\\\"event-mousebutton\\\"] = \\\"right\\\";\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tvariables[\\\"event-type\\\"] = event.type.toString();\\n\\t\\t\\t\\tif(typeof event.detail === \\\"object\\\" && !!event.detail) {\\n\\t\\t\\t\\t\\t$tw.utils.each(event.detail,function(detailValue,detail) {\\n\\t\\t\\t\\t\\t\\tvariables[\\\"event-detail-\\\" + detail] = detailValue.toString();\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t} else if(!!event.detail) {\\n\\t\\t\\t\\t\\tvariables[\\\"event-detail\\\"] = event.detail.toString();\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tself.invokeActionString(actions,self,event,variables);\\n\\t\\t\\t}\\n\\t\\t\\tif((actions && stopPropagation === \\\"onaction\\\") || stopPropagation === \\\"always\\\") {\\n\\t\\t\\t\\tevent.preventDefault();\\n\\t\\t\\t\\tevent.stopPropagation();\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t\\treturn false;\\n\\t\\t},false);\\n\\t});\\n\\t// Insert element\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.domNodes.push(domNode);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nEventWidget.prototype.execute = function() {\\n\\tvar self = this;\\n\\t// Get attributes that require a refresh on change\\n\\tthis.types = [];\\n\\t$tw.utils.each(this.attributes,function(value,key) {\\n\\t\\tif(key.charAt(0) === \\\"$\\\") {\\n\\t\\t\\tself.types.push(key.slice(1));\\n\\t\\t}\\n\\t});\\n\\tif(!this.types.length) {\\n\\t\\tthis.types = this.getAttribute(\\\"events\\\",\\\"\\\").split(\\\" \\\");\\n\\t}\\n\\tthis.elementTag = this.getAttribute(\\\"tag\\\");\\n\\t// Make child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\nEventWidget.prototype.assignDomNodeClasses = function() {\\n\\tvar classes = this.getAttribute(\\\"class\\\",\\\"\\\").split(\\\" \\\");\\n\\tclasses.push(\\\"tc-eventcatcher\\\");\\n\\tthis.domNode.className = classes.join(\\\" \\\");\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nEventWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes(),\\n\\t\\tchangedAttributesCount = $tw.utils.count(changedAttributes);\\n\\tif(changedAttributesCount === 1 && changedAttributes[\\\"class\\\"]) {\\n\\t\\tthis.assignDomNodeClasses();\\n\\t} else if(changedAttributesCount > 0) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports.eventcatcher = EventWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/fieldmangler.js\":{\"title\":\"$:/core/modules/widgets/fieldmangler.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/fieldmangler.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nField mangler widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar FieldManglerWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nFieldManglerWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nFieldManglerWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.addEventListeners([\\n\\t\\t{type: \\\"tm-remove-field\\\", handler: \\\"handleRemoveFieldEvent\\\"},\\n\\t\\t{type: \\\"tm-add-field\\\", handler: \\\"handleAddFieldEvent\\\"},\\n\\t\\t{type: \\\"tm-remove-tag\\\", handler: \\\"handleRemoveTagEvent\\\"},\\n\\t\\t{type: \\\"tm-add-tag\\\", handler: \\\"handleAddTagEvent\\\"}\\n\\t]);\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nFieldManglerWidget.prototype.execute = function() {\\n\\t// Get our parameters\\n\\tthis.mangleTitle = this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nFieldManglerWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.tiddler) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nFieldManglerWidget.prototype.handleRemoveFieldEvent = function(event) {\\n\\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\\n\\t\\tdeletion = {};\\n\\tdeletion[event.param] = undefined;\\n\\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,deletion));\\n\\treturn false;\\n};\\n\\nFieldManglerWidget.prototype.handleAddFieldEvent = function(event) {\\n\\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\\n\\t\\taddition = this.wiki.getModificationFields(),\\n\\t\\taddField = function(name,value) {\\n\\t\\t\\tvar trimmedName = name.trim();\\n\\t\\t\\tif(!value && tiddler) {\\n\\t\\t\\t\\tvalue = tiddler.fields[trimmedName];\\n\\t\\t\\t}\\n\\t\\t\\taddition[trimmedName] = value || \\\"\\\";\\n\\t\\t\\treturn;\\n\\t\\t};\\n\\taddition.title = this.mangleTitle;\\n\\tif(typeof event.param === \\\"string\\\") {\\n\\t\\taddField(event.param,\\\"\\\");\\n\\t}\\n\\tif(typeof event.paramObject === \\\"object\\\") {\\n\\t\\tfor(var name in event.paramObject) {\\n\\t\\t\\taddField(name,event.paramObject[name]);\\n\\t\\t}\\n\\t}\\n\\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\\n\\treturn false;\\n};\\n\\nFieldManglerWidget.prototype.handleRemoveTagEvent = function(event) {\\n\\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\\n\\t\\tmodification = this.wiki.getModificationFields();\\n\\tif(tiddler && tiddler.fields.tags) {\\n\\t\\tvar p = tiddler.fields.tags.indexOf(event.param);\\n\\t\\tif(p !== -1) {\\n\\t\\t\\tmodification.tags = (tiddler.fields.tags || []).slice(0);\\n\\t\\t\\tmodification.tags.splice(p,1);\\n\\t\\t\\tif(modification.tags.length === 0) {\\n\\t\\t\\t\\tmodification.tags = undefined;\\n\\t\\t\\t}\\n\\t\\t\\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\\n\\t\\t}\\n\\t}\\n\\treturn false;\\n};\\n\\nFieldManglerWidget.prototype.handleAddTagEvent = function(event) {\\n\\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\\n\\t\\tmodification = this.wiki.getModificationFields();\\n\\tif(tiddler && typeof event.param === \\\"string\\\") {\\n\\t\\tvar tag = event.param.trim();\\n\\t\\tif(tag !== \\\"\\\") {\\n\\t\\t\\tmodification.tags = (tiddler.fields.tags || []).slice(0);\\n\\t\\t\\t$tw.utils.pushTop(modification.tags,tag);\\n\\t\\t\\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\\n\\t\\t}\\n\\t} else if(typeof event.param === \\\"string\\\" && event.param.trim() !== \\\"\\\" && this.mangleTitle.trim() !== \\\"\\\") {\\n\\t\\tvar tag = [];\\n\\t\\ttag.push(event.param.trim());\\n\\t\\tthis.wiki.addTiddler(new $tw.Tiddler({title: this.mangleTitle, tags: tag},modification));\\n\\t}\\n\\treturn false;\\n};\\n\\nexports.fieldmangler = FieldManglerWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/fields.js\":{\"title\":\"$:/core/modules/widgets/fields.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/fields.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nFields widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar FieldsWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nFieldsWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nFieldsWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tvar textNode = this.document.createTextNode(this.text);\\n\\tparent.insertBefore(textNode,nextSibling);\\n\\tthis.domNodes.push(textNode);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nFieldsWidget.prototype.execute = function() {\\n\\t// Get parameters from our attributes\\n\\tthis.tiddlerTitle = this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\tthis.template = this.getAttribute(\\\"template\\\");\\n\\tthis.sort = this.getAttribute(\\\"sort\\\",\\\"yes\\\") === \\\"yes\\\";\\n\\tthis.sortReverse = this.getAttribute(\\\"sortReverse\\\",\\\"no\\\") === \\\"yes\\\";\\n\\tthis.exclude = this.getAttribute(\\\"exclude\\\");\\n\\tthis.include = this.getAttribute(\\\"include\\\",null);\\n\\tthis.stripTitlePrefix = this.getAttribute(\\\"stripTitlePrefix\\\",\\\"no\\\") === \\\"yes\\\";\\n\\t// Get the value to display\\n\\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\\n\\n\\t// Get the inclusion and exclusion list\\n\\tvar excludeArr = (this.exclude) ? this.exclude.split(\\\" \\\") : [\\\"text\\\"];\\n\\t// Include takes precedence\\n\\tvar includeArr = (this.include) ? this.include.split(\\\" \\\") : null;\\n\\n\\t// Compose the template\\n\\tvar text = [];\\n\\tif(this.template && tiddler) {\\n\\t\\tvar fields = [];\\n\\t\\tif (includeArr) { // Include takes precedence\\n\\t\\t\\tfor(var i=0; i<includeArr.length; i++) {\\n\\t\\t\\t\\tif(tiddler.fields[includeArr[i]]) {\\n\\t\\t\\t\\t\\tfields.push(includeArr[i]);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tfor(var fieldName in tiddler.fields) {\\n\\t\\t\\t\\tif(excludeArr.indexOf(fieldName) === -1) {\\n\\t\\t\\t\\t\\tfields.push(fieldName);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tif (this.sort) fields.sort();\\n\\t\\tif (this.sortReverse) fields.reverse();\\n\\t\\tfor(var f=0, fmax=fields.length; f<fmax; f++) {\\n\\t\\t\\tfieldName = fields[f];\\n\\t\\t\\tvar row = this.template,\\n\\t\\t\\t\\tvalue = tiddler.getFieldString(fieldName);\\n\\t\\t\\tif(this.stripTitlePrefix && fieldName === \\\"title\\\") {\\n\\t\\t\\t\\tvar reStrip = /^\\\\{[^\\\\}]+\\\\}(.+)/mg,\\n\\t\\t\\t\\t\\treMatch = reStrip.exec(value);\\n\\t\\t\\t\\tif(reMatch) {\\n\\t\\t\\t\\t\\tvalue = reMatch[1];\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\trow = $tw.utils.replaceString(row,\\\"$name$\\\",fieldName);\\n\\t\\t\\trow = $tw.utils.replaceString(row,\\\"$value$\\\",value);\\n\\t\\t\\trow = $tw.utils.replaceString(row,\\\"$encoded_value$\\\",$tw.utils.htmlEncode(value));\\n\\t\\t\\ttext.push(row);\\n\\t\\t}\\n\\t}\\n\\tthis.text = text.join(\\\"\\\");\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif( changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude ||\\n\\t\\tchangedAttributes.include || changedAttributes.sort || changedAttributes.sortReverse ||\\n\\t\\tchangedTiddlers[this.tiddlerTitle] || changedAttributes.stripTitlePrefix) {\\n\\t\\t\\tthis.refreshSelf();\\n\\t\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\nexports.fields = FieldsWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/fill.js\":{\"title\":\"$:/core/modules/widgets/fill.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/fill.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nSub-widget used by the transclude widget for specifying values for slots within transcluded content. It doesn't do anything by itself because the transclude widget only ever deals with the parse tree nodes, and doesn't instantiate the widget itself\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar FillWidget = function(parseTreeNode,options) {\\n\\t// Initialise\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nFillWidget.prototype = new Widget();\\n\\nexports.fill = FillWidget;\\n\\n})();\\n\\t\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/genesis.js\":{\"title\":\"$:/core/modules/widgets/genesis.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/genesis.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nGenesis widget for dynamically creating widgets\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar GenesisWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nGenesisWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nGenesisWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes({filterFn: function(name) {\\n\\t\\t// Only compute our own attributes which start with a single dollar\\n\\t\\treturn name.charAt(0) === \\\"$\\\" && name.charAt(1) !== \\\"$\\\";\\n\\t}});\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nGenesisWidget.prototype.execute = function() {\\n\\tvar self = this;\\n\\t// Collect attributes\\n\\tthis.genesisType = this.getAttribute(\\\"$type\\\");\\n\\tthis.genesisRemappable = this.getAttribute(\\\"$remappable\\\",\\\"yes\\\") === \\\"yes\\\";\\n\\tthis.genesisNames = this.getAttribute(\\\"$names\\\",\\\"\\\");\\n\\tthis.genesisValues = this.getAttribute(\\\"$values\\\",\\\"\\\");\\n\\tthis.genesisIsBlock = this.getAttribute(\\\"$mode\\\",this.parseTreeNode.isBlock && \\\"block\\\") === \\\"block\\\";\\n\\t// Do not create a child widget if the $type attribute is missing or blank\\n\\tif(!this.genesisType) {\\n\\t\\tthis.makeChildWidgets(this.parseTreeNode.children);\\n\\t\\treturn;\\n\\t}\\n\\t// Construct parse tree\\n\\tvar isElementWidget = this.genesisType.charAt(0) !== \\\"$\\\",\\n\\t\\tnodeType = isElementWidget ? \\\"element\\\" : this.genesisType.substr(1),\\n\\t\\tnodeTag = isElementWidget ? this.genesisType : undefined;\\n\\tvar parseTreeNodes = [{\\n\\t\\ttype: nodeType,\\n\\t\\ttag: nodeTag,\\n\\t\\tattributes: {},\\n\\t\\torderedAttributes: [],\\n\\t\\tisBlock: this.genesisIsBlock,\\n\\t\\tchildren: this.parseTreeNode.children || [],\\n\\t\\tisNotRemappable: !this.genesisRemappable\\n\\t}];\\n\\t// Apply explicit attributes\\n\\t$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) {\\n\\t\\tvar name = attribute.name;\\n\\t\\tif(name.charAt(0) === \\\"$\\\") {\\n\\t\\t\\tif(name.charAt(1) === \\\"$\\\") {\\n\\t\\t\\t\\t// Double $$ is changed to a single $\\n\\t\\t\\t\\tname = name.substr(1);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t// Single dollar is ignored\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],$tw.utils.extend({},attribute,{name: name}));\\n\\t});\\n\\t// Apply attributes in $names/$values\\n\\tthis.attributeNames = [];\\n\\tthis.attributeValues = [];\\n\\tif(this.genesisNames && this.genesisValues) {\\n\\t\\tthis.attributeNames = this.wiki.filterTiddlers(self.genesisNames,this);\\n\\t\\tthis.attributeValues = this.wiki.filterTiddlers(self.genesisValues,this);\\n\\t\\t$tw.utils.each(this.attributeNames,function(varname,index) {\\n\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],varname,self.attributeValues[index] || \\\"\\\");\\n\\t\\t});\\n\\t}\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets(parseTreeNodes);\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nGenesisWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes(),\\n\\t\\tfilterNames = this.getAttribute(\\\"$names\\\",\\\"\\\"),\\n\\t\\tfilterValues = this.getAttribute(\\\"$values\\\",\\\"\\\"),\\n\\t\\tattributeNames = this.wiki.filterTiddlers(filterNames,this),\\n\\t\\tattributeValues = this.wiki.filterTiddlers(filterValues,this);\\n\\tif($tw.utils.count(changedAttributes) > 0 || !$tw.utils.isArrayEqual(this.attributeNames,attributeNames) || !$tw.utils.isArrayEqual(this.attributeValues,attributeValues)) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nexports.genesis = GenesisWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/image.js\":{\"title\":\"$:/core/modules/widgets/image.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/image.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nThe image widget displays an image referenced with an external URI or with a local tiddler title.\\n\\n```\\n<$image src=\\\"TiddlerTitle\\\" width=\\\"320\\\" height=\\\"400\\\" class=\\\"classnames\\\">\\n```\\n\\nThe image source can be the title of an existing tiddler or the URL of an external image.\\n\\nExternal images always generate an HTML `<img>` tag.\\n\\nTiddlers that have a _canonical_uri field generate an HTML `<img>` tag with the src attribute containing the URI.\\n\\nTiddlers that contain image data generate an HTML `<img>` tag with the src attribute containing a base64 representation of the image.\\n\\nTiddlers that contain wikitext could be rendered to a DIV of the usual size of a tiddler, and then transformed to the size requested.\\n\\nThe width and height attributes are interpreted as a number of pixels, and do not need to include the \\\"px\\\" suffix.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar ImageWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nImageWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nImageWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\t// Create element\\n\\t// Determine what type of image it is\\n\\tvar tag = \\\"img\\\", src = \\\"\\\",\\n\\t\\ttiddler = this.wiki.getTiddler(this.imageSource);\\n\\tif(!tiddler) {\\n\\t\\t// The source isn't the title of a tiddler, so we'll assume it's a URL\\n\\t\\tsrc = this.getVariable(\\\"tv-get-export-image-link\\\",{params: [{name: \\\"src\\\",value: this.imageSource}],defaultValue: this.imageSource});\\n\\t} else {\\n\\t\\t// Check if it is an image tiddler\\n\\t\\tif(this.wiki.isImageTiddler(this.imageSource)) {\\n\\t\\t\\tvar type = tiddler.fields.type,\\n\\t\\t\\t\\ttext = tiddler.fields.text,\\n\\t\\t\\t\\t_canonical_uri = tiddler.fields._canonical_uri,\\n\\t\\t\\t\\ttypeInfo = $tw.config.contentTypeInfo[type] || {},\\n\\t\\t\\t\\tdeserializerType = typeInfo.deserializerType || type;\\n\\t\\t\\t// If the tiddler has body text then it doesn't need to be lazily loaded\\n\\t\\t\\tif(text) {\\n\\t\\t\\t\\t// Render the appropriate element for the image type by looking up the encoding in the content type info\\n\\t\\t\\t\\tvar encoding = typeInfo.encoding || \\\"utf8\\\";\\n\\t\\t\\t\\tif (encoding === \\\"base64\\\") {\\n\\t\\t\\t\\t\\t// .pdf .png .jpg etc.\\n\\t\\t\\t\\t\\tsrc = \\\"data:\\\" + deserializerType + \\\";base64,\\\" + text;\\n\\t\\t\\t\\t\\tif (deserializerType === \\\"application/pdf\\\") {\\n\\t\\t\\t\\t\\t\\ttag = \\\"embed\\\";\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t// .svg .tid .xml etc.\\n\\t\\t\\t\\t\\tsrc = \\\"data:\\\" + deserializerType + \\\",\\\" + encodeURIComponent(text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else if(_canonical_uri) {\\n\\t\\t\\t\\tswitch(deserializerType) {\\n\\t\\t\\t\\t\\tcase \\\"application/pdf\\\":\\n\\t\\t\\t\\t\\t\\ttag = \\\"embed\\\";\\n\\t\\t\\t\\t\\t\\tsrc = _canonical_uri;\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\tcase \\\"image/svg+xml\\\":\\n\\t\\t\\t\\t\\t\\tsrc = _canonical_uri;\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\tdefault:\\n\\t\\t\\t\\t\\t\\tsrc = _canonical_uri;\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t// Just trigger loading of the tiddler\\n\\t\\t\\t\\tthis.wiki.getTiddlerText(this.imageSource);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// Create the element and assign the attributes\\n\\tvar domNode = this.document.createElement(tag);\\n\\tdomNode.setAttribute(\\\"src\\\",src);\\n\\tif(this.imageClass) {\\n\\t\\tdomNode.setAttribute(\\\"class\\\",this.imageClass);\\n\\t}\\n\\tif(this.imageUsemap) {\\n\\t \\tdomNode.setAttribute(\\\"usemap\\\",this.imageUsemap);\\n\\t}\\n\\tif(this.imageWidth) {\\n\\t\\tdomNode.setAttribute(\\\"width\\\",this.imageWidth);\\n\\t}\\n\\tif(this.imageHeight) {\\n\\t\\tdomNode.setAttribute(\\\"height\\\",this.imageHeight);\\n\\t}\\n\\tif(this.imageTooltip) {\\n\\t\\tdomNode.setAttribute(\\\"title\\\",this.imageTooltip);\\n\\t}\\n\\tif(this.imageAlt) {\\n\\t\\tdomNode.setAttribute(\\\"alt\\\",this.imageAlt);\\n\\t}\\n\\tif(this.lazyLoading && tag === \\\"img\\\") {\\n\\t\\tdomNode.setAttribute(\\\"loading\\\",this.lazyLoading);\\n\\t}\\n\\t// Add classes when the image loads or fails\\n\\t$tw.utils.addClass(domNode,\\\"tc-image-loading\\\");\\n\\tdomNode.addEventListener(\\\"load\\\",function() {\\n\\t\\t$tw.utils.removeClass(domNode,\\\"tc-image-loading\\\");\\n\\t\\t$tw.utils.addClass(domNode,\\\"tc-image-loaded\\\");\\n\\t},false);\\n\\tdomNode.addEventListener(\\\"error\\\",function() {\\n\\t\\t$tw.utils.removeClass(domNode,\\\"tc-image-loading\\\");\\n\\t\\t$tw.utils.addClass(domNode,\\\"tc-image-error\\\");\\n\\t},false);\\n\\t// Insert element\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.domNodes.push(domNode);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nImageWidget.prototype.execute = function() {\\n\\t// Get our parameters\\n\\tthis.imageSource = this.getAttribute(\\\"source\\\");\\n\\tthis.imageWidth = this.getAttribute(\\\"width\\\");\\n\\tthis.imageHeight = this.getAttribute(\\\"height\\\");\\n\\tthis.imageClass = this.getAttribute(\\\"class\\\");\\n \\tthis.imageUsemap = this.getAttribute(\\\"usemap\\\");\\n\\tthis.imageTooltip = this.getAttribute(\\\"tooltip\\\");\\n\\tthis.imageAlt = this.getAttribute(\\\"alt\\\");\\n\\tthis.lazyLoading = this.getAttribute(\\\"loading\\\");\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nImageWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.source || changedAttributes.width || changedAttributes.height || changedAttributes[\\\"class\\\"] || changedAttributes.usemap || changedAttributes.tooltip || changedTiddlers[this.imageSource]) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\nexports.image = ImageWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/importvariables.js\":{\"title\":\"$:/core/modules/widgets/importvariables.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/importvariables.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nImport variable definitions from other tiddlers\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar ImportVariablesWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nImportVariablesWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nImportVariablesWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nImportVariablesWidget.prototype.execute = function(tiddlerList) {\\n\\tvar widgetPointer = this;\\n\\t// Got to flush all the accumulated variables\\n\\tthis.variables = Object.create(null);\\n\\tif(this.parentWidget) {\\n\\t\\tObject.setPrototypeOf(this.variables,this.parentWidget.variables);\\n\\t}\\n\\t// Get our parameters\\n\\tthis.filter = this.getAttribute(\\\"filter\\\");\\n\\t// Compute the filter\\n\\tthis.tiddlerList = tiddlerList || this.wiki.filterTiddlers(this.filter,this);\\n\\t// Accumulate the <$set> widgets from each tiddler\\n\\t$tw.utils.each(this.tiddlerList,function(title) {\\n\\t\\tvar parser = widgetPointer.wiki.parseTiddler(title,{parseAsInline:true, configTrimWhiteSpace:true});\\n\\t\\tif(parser) {\\n\\t\\t\\tvar parseTreeNode = parser.tree[0];\\n\\t\\t\\twhile(parseTreeNode && [\\\"setvariable\\\",\\\"set\\\",\\\"parameters\\\"].indexOf(parseTreeNode.type) !== -1) {\\n\\t\\t\\t\\tvar node = {\\n\\t\\t\\t\\t\\ttype: \\\"set\\\",\\n\\t\\t\\t\\t\\tattributes: parseTreeNode.attributes,\\n\\t\\t\\t\\t\\tparams: parseTreeNode.params,\\n\\t\\t\\t\\t\\tisMacroDefinition: parseTreeNode.isMacroDefinition,\\n\\t\\t\\t\\t\\tisFunctionDefinition: parseTreeNode.isFunctionDefinition,\\n\\t\\t\\t\\t\\tisProcedureDefinition: parseTreeNode.isProcedureDefinition,\\n\\t\\t\\t\\t\\tisWidgetDefinition: parseTreeNode.isWidgetDefinition,\\n\\t\\t\\t\\t\\tconfigTrimWhiteSpace: parseTreeNode.configTrimWhiteSpace\\n\\t\\t\\t\\t};\\n\\t\\t\\t\\tif(parseTreeNode.type === \\\"set\\\" || parseTreeNode.type === \\\"setvariable\\\") {\\n\\t\\t\\t\\t\\tif(parseTreeNode.isMacroDefinition || parseTreeNode.isProcedureDefinition || parseTreeNode.isWidgetDefinition || parseTreeNode.isFunctionDefinition) {\\n\\t\\t\\t\\t\\t\\t// Macro definitions can be folded into\\n\\t\\t\\t\\t\\t\\t// current widget instead of adding\\n\\t\\t\\t\\t\\t\\t// another link to the chain.\\n\\t\\t\\t\\t\\t\\tvar widget = widgetPointer.makeChildWidget(node);\\n\\t\\t\\t\\t\\t\\twidget.computeAttributes();\\n\\t\\t\\t\\t\\t\\twidget.execute();\\n\\t\\t\\t\\t\\t\\t// We SHALLOW copy over all variables\\n\\t\\t\\t\\t\\t\\t// in widget. We can't use\\n\\t\\t\\t\\t\\t\\t// $tw.utils.assign, because that copies\\n\\t\\t\\t\\t\\t\\t// up the prototype chain, which we\\n\\t\\t\\t\\t\\t\\t// don't want.\\n\\t\\t\\t\\t\\t\\t$tw.utils.each(Object.keys(widget.variables), function(key) {\\n\\t\\t\\t\\t\\t\\t\\twidgetPointer.variables[key] = widget.variables[key];\\n\\t\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\twidgetPointer.children = [widgetPointer.makeChildWidget(node)];\\n\\t\\t\\t\\t\\t\\t// No more regenerating children for\\n\\t\\t\\t\\t\\t\\t// this widget. If it needs to refresh,\\n\\t\\t\\t\\t\\t\\t// it'll do so along with the the whole\\n\\t\\t\\t\\t\\t\\t// importvariable tree.\\n\\t\\t\\t\\t\\t\\tif (widgetPointer != this) {\\n\\t\\t\\t\\t\\t\\t\\twidgetPointer.makeChildWidgets = function(){};\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\twidgetPointer = widgetPointer.children[0];\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tparseTreeNode = parseTreeNode.children && parseTreeNode.children[0];\\n\\t\\t\\t}\\n\\t\\t} \\n\\t});\\n\\n\\tif (widgetPointer != this) {\\n\\t\\twidgetPointer.parseTreeNode.children = this.parseTreeNode.children;\\n\\t} else {\\n\\t\\twidgetPointer.makeChildWidgets();\\n\\t}\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nImportVariablesWidget.prototype.refresh = function(changedTiddlers) {\\n\\t// Recompute our attributes and the filter list\\n\\tvar changedAttributes = this.computeAttributes(),\\n\\t\\ttiddlerList = this.wiki.filterTiddlers(this.getAttribute(\\\"filter\\\"),this);\\n\\t// Refresh if the filter has changed, or the list of tiddlers has changed, or any of the tiddlers in the list has changed\\n\\tfunction haveListedTiddlersChanged() {\\n\\t\\tvar changed = false;\\n\\t\\ttiddlerList.forEach(function(title) {\\n\\t\\t\\tif(changedTiddlers[title]) {\\n\\t\\t\\t\\tchanged = true;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\treturn changed;\\n\\t}\\n\\tif(changedAttributes.filter || !$tw.utils.isArrayEqual(this.tiddlerList,tiddlerList) || haveListedTiddlersChanged()) {\\n\\t\\t// Compute the filter\\n\\t\\tthis.removeChildDomNodes();\\n\\t\\tthis.execute(tiddlerList);\\n\\t\\tthis.renderChildren(this.parentDomNode,this.findNextSiblingDomNode());\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nexports.importvariables = ImportVariablesWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/jsontiddler.js\":{\"title\":\"$:/core/modules/widgets/jsontiddler.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/jsontiddler.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nRender a tiddler as JSON text\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar JSONTiddlerWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nJSONTiddlerWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nJSONTiddlerWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this;\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\t// Collect the fields from the optional base tiddler\\n\\tvar fields = this.getTiddlerFields();\\n\\t// Add custom fields specified in attributes starting with $\\n\\t$tw.utils.each(this.attributes,function(attribute,name) {\\n\\t\\tif(name.charAt(0) === \\\"$\\\") {\\n\\t\\t\\tfields[name.slice(1)] = attribute;\\n\\t\\t}\\n\\t});\\n\\t// JSONify\\n\\tvar json = JSON.stringify(fields);\\n\\t// Escape unsafe script characters\\n\\tif(this.attEscapeUnsafeScriptChars) {\\n\\t\\tjson = json.replace(/</g,\\\"\\\\\\\\u003C\\\");\\n\\t}\\n\\t// Update the DOM\\n\\tvar textNode = this.document.createTextNode(json);\\n\\tparent.insertBefore(textNode,nextSibling);\\n\\tthis.domNodes.push(textNode);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nJSONTiddlerWidget.prototype.execute = function() {\\n\\tthis.attTiddler = this.getAttribute(\\\"tiddler\\\");\\n\\tthis.attExclude = this.getAttribute(\\\"exclude\\\",\\\"\\\");\\n\\tthis.attEscapeUnsafeScriptChars = this.getAttribute(\\\"escapeUnsafeScriptChars\\\",\\\"no\\\") === \\\"yes\\\";\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nJSONTiddlerWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif($tw.utils.count(changedAttributes) > 0 || (this.attTiddler && changedTiddlers[this.attTiddler])) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\nJSONTiddlerWidget.prototype.getTiddlerFields = function() {\\n\\tvar fields = {};\\n\\tif(this.attTiddler) {\\n\\t\\tvar tiddler = this.wiki.getTiddler(this.attTiddler);\\n\\t\\tif(tiddler) {\\n\\t\\t\\tfields = tiddler.getFieldStrings({exclude: this.attExclude.split(\\\" \\\")});\\n\\t\\t} else {\\n\\t\\t\\tfields = {title: this.attTiddler};\\n\\t\\t}\\n\\t}\\n\\treturn fields;\\n};\\n\\nexports.jsontiddler = JSONTiddlerWidget;\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/keyboard.js\":{\"title\":\"$:/core/modules/widgets/keyboard.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/keyboard.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nKeyboard shortcut widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar KeyboardWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nKeyboardWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nKeyboardWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this;\\n\\t// Remember parent\\n\\tthis.parentDomNode = parent;\\n\\t// Compute attributes and execute state\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tvar tag = this.parseTreeNode.isBlock ? \\\"div\\\" : \\\"span\\\";\\n\\tif(this.tag && $tw.config.htmlUnsafeElements.indexOf(this.tag) === -1) {\\n\\t\\ttag = this.tag;\\n\\t}\\n\\t// Create element\\n\\tvar domNode = this.document.createElement(tag);\\n\\t// Assign classes\\n\\tthis.domNode = domNode;\\n\\tthis.assignDomNodeClasses();\\n\\t// Add a keyboard event handler\\n\\t$tw.utils.addEventListeners(domNode,[\\n\\t\\t{name: \\\"keydown\\\", handlerObject: this, handlerMethod: \\\"handleChangeEvent\\\"}\\n\\t]);\\n\\t// Insert element\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.domNodes.push(domNode);\\n};\\n\\nKeyboardWidget.prototype.handleChangeEvent = function(event) {\\n\\tif ($tw.keyboardManager.handleKeydownEvent(event, {onlyPriority: true})) {\\n\\t\\treturn true;\\n\\t}\\n\\n\\tvar keyInfo = $tw.keyboardManager.getMatchingKeyDescriptor(event,this.keyInfoArray);\\n\\tif(keyInfo) {\\n\\t\\tvar handled = this.invokeActions(this,event);\\n\\t\\tif(this.actions) {\\n\\t\\t\\tvar variables = {\\n\\t\\t\\t\\t\\t\\\"event-key\\\": event.key,\\n\\t\\t\\t\\t\\t\\\"event-code\\\": event.code,\\n\\t\\t\\t\\t\\t\\\"modifier\\\": $tw.keyboardManager.getEventModifierKeyDescriptor(event)\\n\\t\\t\\t\\t};\\n\\t\\t\\tif(keyInfo.keyDescriptor) {\\n\\t\\t\\t\\tvariables[\\\"event-key-descriptor\\\"] = keyInfo.keyDescriptor;\\n\\t\\t\\t}\\n\\t\\t\\tthis.invokeActionString(this.actions,this,event,variables);\\n\\t\\t}\\n\\t\\tthis.dispatchMessage(event);\\n\\t\\tif(handled || this.actions || this.message) {\\n\\t\\t\\tevent.preventDefault();\\n\\t\\t\\tevent.stopPropagation();\\n\\t\\t}\\n\\t\\treturn true;\\n\\t}\\n\\treturn false;\\n}\\n\\nKeyboardWidget.prototype.dispatchMessage = function(event) {\\n\\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\\\"currentTiddler\\\")});\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nKeyboardWidget.prototype.execute = function() {\\n\\tvar self = this;\\n\\t// Get attributes\\n\\tthis.actions = this.getAttribute(\\\"actions\\\",\\\"\\\");\\n\\tthis.message = this.getAttribute(\\\"message\\\",\\\"\\\");\\n\\tthis.param = this.getAttribute(\\\"param\\\",\\\"\\\");\\n\\tthis.key = this.getAttribute(\\\"key\\\",\\\"\\\");\\n\\tthis.tag = this.getAttribute(\\\"tag\\\",\\\"\\\");\\n\\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\\n\\tif(this.key.substr(0,2) === \\\"((\\\" && this.key.substr(-2,2) === \\\"))\\\") {\\n\\t\\tthis.shortcutTiddlers = [];\\n\\t\\tvar name = this.key.substring(2,this.key.length -2);\\n\\t\\t$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {\\n\\t\\t\\tself.shortcutTiddlers.push(\\\"$:/config/\\\" + platformDescriptor + \\\"/\\\" + name);\\n\\t\\t});\\n\\t}\\n\\t// Make child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\nKeyboardWidget.prototype.assignDomNodeClasses = function() {\\n\\tvar classes = this.getAttribute(\\\"class\\\",\\\"\\\").split(\\\" \\\");\\n\\tclasses.push(\\\"tc-keyboard\\\");\\n\\tthis.domNode.className = classes.join(\\\" \\\");\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nKeyboardWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.message || changedAttributes.param || changedAttributes.key || changedAttributes.tag) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else if(changedAttributes[\\\"class\\\"]) {\\n\\t\\tthis.assignDomNodeClasses();\\n\\t}\\n\\t// Update the keyInfoArray if one of its shortcut-config-tiddlers has changed\\n\\tif(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers)) {\\n\\t\\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports.keyboard = KeyboardWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/let.js\":{\"title\":\"$:/core/modules/widgets/let.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/let.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nThis widget allows defining multiple variables at once, while allowing\\nthe later variables to depend upon the earlier ones.\\n\\n```\\n\\\\define helloworld() Hello world!\\n<$let currentTiddler=\\\"target\\\" value={{!!value}} currentTiddler=\\\"different\\\">\\n {{!!value}} will be different from <<value>>\\n</$let>\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar LetWidget = function(parseTreeNode,options) {\\n\\t// Initialise\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nLetWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nLetWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\nLetWidget.prototype.computeAttributes = function() {\\n\\t// Before computing attributes, we must make clear that none of the\\n\\t// existing attributes are staged for lookup, even on a refresh\\n\\tvar changedAttributes = {},\\n\\t\\tself = this;\\n\\tthis.currentValueFor = Object.create(null);\\n\\t$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) {\\n\\t\\tvar value = self.computeAttribute(attribute),\\n\\t\\t\\tname = attribute.name;\\n\\t\\t// Now that it's prepped, we're allowed to look this variable up\\n\\t\\t// when defining later variables\\n\\t\\tif(value !== undefined) {\\n\\t\\t\\tself.currentValueFor[name] = value;\\n\\t\\t}\\n\\t});\\n\\t// Run through again, setting variables and looking for differences\\n\\t$tw.utils.each(this.currentValueFor,function(value,name) {\\n\\t\\tif (self.attributes[name] !== value) {\\n\\t\\t\\tself.attributes[name] = value;\\n\\t\\t\\tself.setVariable(name,value);\\n\\t\\t\\tchangedAttributes[name] = true;\\n\\t\\t}\\n\\t});\\n\\treturn changedAttributes;\\n};\\n\\nLetWidget.prototype.getVariableInfo = function(name,options) {\\n\\t// Special handling: If this variable exists in this very $let, we can\\n\\t// use it, but only if it's been staged.\\n\\tif ($tw.utils.hop(this.currentValueFor,name)) {\\n\\t\\treturn {\\n\\t\\t\\ttext: this.currentValueFor[name]\\n\\t\\t};\\n\\t}\\n\\treturn Widget.prototype.getVariableInfo.call(this,name,options);\\n};\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nLetWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif($tw.utils.count(changedAttributes) > 0) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports[\\\"let\\\"] = LetWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/link.js\":{\"title\":\"$:/core/modules/widgets/link.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/link.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nLink widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar LinkWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nLinkWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nLinkWidget.prototype.render = function(parent,nextSibling) {\\n\\t// Save the parent dom node\\n\\tthis.parentDomNode = parent;\\n\\t// Compute our attributes\\n\\tthis.computeAttributes();\\n\\t// Execute our logic\\n\\tthis.execute();\\n\\t// Get the value of the tv-wikilinks configuration macro\\n\\tvar wikiLinksMacro = this.getVariable(\\\"tv-wikilinks\\\"),\\n\\t\\tuseWikiLinks = wikiLinksMacro ? (wikiLinksMacro.trim() !== \\\"no\\\") : true,\\n\\t\\tmissingLinksEnabled = !(this.hideMissingLinks && this.isMissing && !this.isShadow);\\n\\t// Render the link if required\\n\\tif(useWikiLinks && missingLinksEnabled) {\\n\\t\\tthis.renderLink(parent,nextSibling);\\n\\t} else {\\n\\t\\t// Just insert the link text\\n\\t\\tvar domNode = this.document.createElement(\\\"span\\\");\\n\\t\\t// Assign data- attributes\\n\\t\\tthis.assignAttributes(domNode,{\\n\\t\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\t\\tdestPrefix: \\\"data-\\\"\\n\\t\\t});\\n\\t\\tparent.insertBefore(domNode,nextSibling);\\n\\t\\tthis.renderChildren(domNode,null);\\n\\t\\tthis.domNodes.push(domNode);\\n\\t}\\n};\\n\\n/*\\nRender this widget into the DOM\\n*/\\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\\n\\tvar self = this;\\n\\t// Sanitise the specified tag\\n\\tvar tag = this.linkTag;\\n\\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\\n\\t\\ttag = \\\"a\\\";\\n\\t}\\n\\t// Create our element\\n\\tvar namespace = this.getVariable(\\\"namespace\\\",{defaultValue: \\\"http://www.w3.org/1999/xhtml\\\"}),\\n\\t\\tdomNode = this.document.createElementNS(namespace,tag);\\n\\t// Assign classes\\n\\tvar classes = [];\\n\\tif(this.overrideClasses === undefined) {\\n\\t\\tclasses.push(\\\"tc-tiddlylink\\\");\\n\\t\\tif(this.isShadow) {\\n\\t\\t\\tclasses.push(\\\"tc-tiddlylink-shadow\\\");\\n\\t\\t}\\n\\t\\tif(this.isMissing && !this.isShadow) {\\n\\t\\t\\tclasses.push(\\\"tc-tiddlylink-missing\\\");\\n\\t\\t} else {\\n\\t\\t\\tif(!this.isMissing) {\\n\\t\\t\\t\\tclasses.push(\\\"tc-tiddlylink-resolves\\\");\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tif(this.linkClasses) {\\n\\t\\t\\tclasses.push(this.linkClasses);\\n\\t\\t}\\n\\t} else if(this.overrideClasses !== \\\"\\\") {\\n\\t\\tclasses.push(this.overrideClasses)\\n\\t}\\n\\tif(classes.length > 0) {\\n\\t\\tdomNode.setAttribute(\\\"class\\\",classes.join(\\\" \\\"));\\n\\t}\\n\\t// Set an href\\n\\tvar wikilinkTransformFilter = this.getVariable(\\\"tv-filter-export-link\\\"),\\n\\t\\twikiLinkText;\\n\\tif(wikilinkTransformFilter) {\\n\\t\\t// Use the filter to construct the href\\n\\t\\twikiLinkText = this.wiki.filterTiddlers(wikilinkTransformFilter,this,function(iterator) {\\n\\t\\t\\titerator(self.wiki.getTiddler(self.to),self.to)\\n\\t\\t})[0];\\n\\t} else {\\n\\t\\t// Expand the tv-wikilink-template variable to construct the href\\n\\t\\tvar wikiLinkTemplateMacro = this.getVariable(\\\"tv-wikilink-template\\\"),\\n\\t\\t\\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \\\"#$uri_encoded$\\\";\\n\\t\\twikiLinkText = $tw.utils.replaceString(wikiLinkTemplate,\\\"$uri_encoded$\\\",$tw.utils.encodeURIComponentExtended(this.to));\\n\\t\\twikiLinkText = $tw.utils.replaceString(wikiLinkText,\\\"$uri_doubleencoded$\\\",$tw.utils.encodeURIComponentExtended($tw.utils.encodeURIComponentExtended(this.to)));\\n\\t}\\n\\t// Override with the value of tv-get-export-link if defined\\n\\twikiLinkText = this.getVariable(\\\"tv-get-export-link\\\",{params: [{name: \\\"to\\\",value: this.to}],defaultValue: wikiLinkText});\\n\\tif(tag === \\\"a\\\") {\\n\\t\\tvar namespaceHref = (namespace === \\\"http://www.w3.org/2000/svg\\\") ? \\\"http://www.w3.org/1999/xlink\\\" : undefined;\\n\\t\\tdomNode.setAttributeNS(namespaceHref,\\\"href\\\",wikiLinkText);\\n\\t}\\n\\t// Set the tabindex\\n\\tif(this.tabIndex) {\\n\\t\\tdomNode.setAttribute(\\\"tabindex\\\",this.tabIndex);\\n\\t}\\n\\t// Set the tooltip\\n\\t// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to \\\"<$transclude field='tooltip'><$transclude field='title'/></$transclude>\\\"\\n\\tvar tooltipWikiText = this.tooltip || this.getVariable(\\\"tv-wikilink-tooltip\\\");\\n\\tif(tooltipWikiText) {\\n\\t\\tvar tooltipText = this.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",tooltipWikiText,{\\n\\t\\t\\t\\tparseAsInline: true,\\n\\t\\t\\t\\tvariables: {\\n\\t\\t\\t\\t\\tcurrentTiddler: this.to\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\tparentWidget: this\\n\\t\\t\\t});\\n\\t\\tdomNode.setAttribute(\\\"title\\\",tooltipText);\\n\\t}\\n\\tif(this[\\\"aria-label\\\"]) {\\n\\t\\tdomNode.setAttribute(\\\"aria-label\\\",this[\\\"aria-label\\\"]);\\n\\t}\\n\\t// Add a click event handler\\n\\t$tw.utils.addEventListeners(domNode,[\\n\\t\\t{name: \\\"click\\\", handlerObject: this, handlerMethod: \\\"handleClickEvent\\\"},\\n\\t]);\\n\\t// Make the link draggable if required\\n\\tif(this.draggable === \\\"yes\\\") {\\n\\t\\t$tw.utils.makeDraggable({\\n\\t\\t\\tdomNode: domNode,\\n\\t\\t\\tdragTiddlerFn: function() {return self.to;},\\n\\t\\t\\twidget: this\\n\\t\\t});\\n\\t}\\n\\t// Assign data- attributes\\n\\tthis.assignAttributes(domNode,{\\n\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\tdestPrefix: \\\"data-\\\"\\n\\t});\\n\\t// Insert the link into the DOM and render any children\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.domNodes.push(domNode);\\n};\\n\\nLinkWidget.prototype.handleClickEvent = function(event) {\\n\\t// Send the click on its way as a navigate event\\n\\tvar bounds = this.domNodes[0].getBoundingClientRect();\\n\\tthis.dispatchEvent({\\n\\t\\ttype: \\\"tm-navigate\\\",\\n\\t\\tnavigateTo: this.to,\\n\\t\\tnavigateFromTitle: this.getVariable(\\\"storyTiddler\\\"),\\n\\t\\tnavigateFromNode: this,\\n\\t\\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\\n\\t\\t},\\n\\t\\tnavigateFromClientTop: bounds.top,\\n\\t\\tnavigateFromClientLeft: bounds.left,\\n\\t\\tnavigateFromClientWidth: bounds.width,\\n\\t\\tnavigateFromClientRight: bounds.right,\\n\\t\\tnavigateFromClientBottom: bounds.bottom,\\n\\t\\tnavigateFromClientHeight: bounds.height,\\n\\t\\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\\n\\t\\tmetaKey: event.metaKey,\\n\\t\\tctrlKey: event.ctrlKey,\\n\\t\\taltKey: event.altKey,\\n\\t\\tshiftKey: event.shiftKey,\\n\\t\\tevent: event\\n\\t});\\n\\tif(this.domNodes[0].hasAttribute(\\\"href\\\")) {\\n\\t\\tevent.preventDefault();\\n\\t}\\n\\tevent.stopPropagation();\\n\\treturn false;\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nLinkWidget.prototype.execute = function() {\\n\\t// Pick up our attributes\\n\\tthis.to = this.getAttribute(\\\"to\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\tthis.tooltip = this.getAttribute(\\\"tooltip\\\");\\n\\tthis[\\\"aria-label\\\"] = this.getAttribute(\\\"aria-label\\\");\\n\\tthis.linkClasses = this.getAttribute(\\\"class\\\");\\n\\tthis.overrideClasses = this.getAttribute(\\\"overrideClass\\\");\\n\\tthis.tabIndex = this.getAttribute(\\\"tabindex\\\");\\n\\tthis.draggable = this.getAttribute(\\\"draggable\\\",\\\"yes\\\");\\n\\tthis.linkTag = this.getAttribute(\\\"tag\\\",\\\"a\\\");\\n\\t// Determine the link characteristics\\n\\tthis.isMissing = !this.wiki.tiddlerExists(this.to);\\n\\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\\n\\tthis.hideMissingLinks = (this.getVariable(\\\"tv-show-missing-links\\\") || \\\"yes\\\") === \\\"no\\\";\\n\\t// Make the child widgets\\n\\tvar templateTree;\\n\\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\\n\\t\\ttemplateTree = this.parseTreeNode.children;\\n\\t} else {\\n\\t\\t// Default template is a link to the title\\n\\t\\ttemplateTree = [{type: \\\"text\\\", text: this.to}];\\n\\t}\\n\\tthis.makeChildWidgets(templateTree);\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nLinkWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif($tw.utils.count(changedAttributes) > 0) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports.link = LinkWidget;\\n\\n})();\\n\\t\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/linkcatcher.js\":{\"title\":\"$:/core/modules/widgets/linkcatcher.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/linkcatcher.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nLinkcatcher widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar LinkCatcherWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nLinkCatcherWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nLinkCatcherWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.addEventListeners([\\n\\t\\t{type: \\\"tm-navigate\\\", handler: \\\"handleNavigateEvent\\\"}\\n\\t]);\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nLinkCatcherWidget.prototype.execute = function() {\\n\\t// Get our parameters\\n\\tthis.catchTo = this.getAttribute(\\\"to\\\");\\n\\tthis.catchMessage = this.getAttribute(\\\"message\\\");\\n\\tthis.catchSet = this.getAttribute(\\\"set\\\");\\n\\tthis.catchSetTo = this.getAttribute(\\\"setTo\\\");\\n\\tthis.catchActions = this.getAttribute(\\\"actions\\\");\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets();\\n\\t// When executing actions we avoid trapping navigate events, so that we don't trigger ourselves recursively\\n\\tthis.executingActions = false;\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nLinkCatcherWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.to || changedAttributes.message || changedAttributes.set || changedAttributes.setTo) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\n/*\\nHandle a tm-navigate event\\n*/\\nLinkCatcherWidget.prototype.handleNavigateEvent = function(event) {\\n\\tif(!this.executingActions) {\\n\\t\\t// Execute the actions\\n\\t\\tif(this.catchTo) {\\n\\t\\t\\tthis.wiki.setTextReference(this.catchTo,event.navigateTo,this.getVariable(\\\"currentTiddler\\\"));\\n\\t\\t}\\n\\t\\tif(this.catchMessage && this.parentWidget) {\\n\\t\\t\\tthis.parentWidget.dispatchEvent({\\n\\t\\t\\t\\ttype: this.catchMessage,\\n\\t\\t\\t\\tparam: event.navigateTo,\\n\\t\\t\\t\\tnavigateTo: event.navigateTo\\n\\t\\t\\t});\\n\\t\\t}\\n\\t\\tif(this.catchSet) {\\n\\t\\t\\tvar tiddler = this.wiki.getTiddler(this.catchSet);\\n\\t\\t\\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.catchSet, text: this.catchSetTo}));\\n\\t\\t}\\n\\t\\tif(this.catchActions) {\\n\\t\\t\\tthis.executingActions = true;\\n\\t\\t\\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\t\\tthis.invokeActionString(this.catchActions,this,event,{navigateTo: event.navigateTo, modifier: modifierKey});\\n\\t\\t\\tthis.executingActions = false;\\n\\t\\t}\\n\\t} else {\\n\\t\\t\\t// This is a navigate event generated by the actions of this linkcatcher,\\n\\t\\t\\t// so we don't trap it again, but just pass it to the parent\\n\\t\\t\\tthis.parentWidget.dispatchEvent(event);\\n\\t}\\n\\treturn false;\\n};\\n\\nexports.linkcatcher = LinkCatcherWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/list.js\":{\"title\":\"$:/core/modules/widgets/list.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/list.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nList and list item widgets\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\n/*\\nThe list widget creates list element sub-widgets that reach back into the list widget for their configuration\\n*/\\n\\nvar ListWidget = function(parseTreeNode,options) {\\n\\t// Main initialisation inherited from widget.js\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nListWidget.prototype = new Widget();\\n\\nListWidget.prototype.initialise = function(parseTreeNode,options) {\\n\\t// Bail if parseTreeNode is undefined, meaning that the ListWidget constructor was called without any arguments so that it can be subclassed\\n\\tif(parseTreeNode === undefined) {\\n\\t\\treturn;\\n\\t}\\n\\t// First call parent constructor to set everything else up\\n\\tWidget.prototype.initialise.call(this,parseTreeNode,options);\\n\\t// Now look for <$list-template> and <$list-empty> widgets as immediate child widgets\\n\\t// This is safe to do during initialization because parse trees never change after creation\\n\\tthis.findExplicitTemplates();\\n}\\n\\n/*\\nRender this widget into the DOM\\n*/\\nListWidget.prototype.render = function(parent,nextSibling) {\\n\\t// Initialise the storyviews if they've not been done already\\n\\tif(!this.storyViews) {\\n\\t\\tListWidget.prototype.storyViews = {};\\n\\t\\t$tw.modules.applyMethods(\\\"storyview\\\",this.storyViews);\\n\\t}\\n\\tthis.parentDomNode = parent;\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tthis.execute(changedAttributes);\\n\\tthis.renderChildren(parent,nextSibling);\\n\\t// Construct the storyview\\n\\tvar StoryView = this.storyViews[this.storyViewName];\\n\\tif(this.storyViewName && !StoryView) {\\n\\t\\tStoryView = this.storyViews[\\\"classic\\\"];\\n\\t}\\n\\tif(StoryView && !this.document.isTiddlyWikiFakeDom) {\\n\\t\\tthis.storyview = new StoryView(this);\\n\\t} else {\\n\\t\\tthis.storyview = null;\\n\\t}\\n\\tif(this.storyview && this.storyview.renderEnd) {\\n\\t\\tthis.storyview.renderEnd();\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nListWidget.prototype.execute = function(changedAttributes) {\\n\\tvar self = this;\\n\\t// Get our attributes\\n\\tthis.template = this.getAttribute(\\\"template\\\");\\n\\tthis.editTemplate = this.getAttribute(\\\"editTemplate\\\");\\n\\tthis.variableName = this.getAttribute(\\\"variable\\\",\\\"currentTiddler\\\");\\n\\tthis.counterName = this.getAttribute(\\\"counter\\\");\\n\\tthis.storyViewName = this.getAttribute(\\\"storyview\\\");\\n\\tthis.historyTitle = this.getAttribute(\\\"history\\\");\\n\\t// Create join template only if needed\\n\\tif(this.join === undefined || (changedAttributes && changedAttributes.join)) {\\n\\t\\tthis.join = this.makeJoinTemplate();\\n\\t}\\n\\t// Compose the list elements\\n\\tthis.list = this.getTiddlerList();\\n\\tvar members = [],\\n\\t\\tself = this;\\n\\t// Check for an empty list\\n\\tif(this.list.length === 0) {\\n\\t\\tmembers = this.getEmptyMessage();\\n\\t} else {\\n\\t\\t$tw.utils.each(this.list,function(title,index) {\\n\\t\\t\\tmembers.push(self.makeItemTemplate(title,index));\\n\\t\\t});\\n\\t}\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets(members);\\n\\t// Clear the last history\\n\\tthis.history = [];\\n};\\n\\nListWidget.prototype.findExplicitTemplates = function() {\\n\\tvar self = this;\\n\\tthis.explicitListTemplate = null;\\n\\tthis.explicitEmptyTemplate = null;\\n\\tthis.explicitJoinTemplate = null;\\n\\tthis.hasTemplateInBody = false;\\n\\tvar searchChildren = function(childNodes) {\\n\\t\\tvar foundInlineTemplate = false;\\n\\t\\t$tw.utils.each(childNodes,function(node) {\\n\\t\\t\\tif(node.type === \\\"list-template\\\") {\\n\\t\\t\\t\\tself.explicitListTemplate = node.children;\\n\\t\\t\\t} else if(node.type === \\\"list-empty\\\") {\\n\\t\\t\\t\\tself.explicitEmptyTemplate = node.children;\\n\\t\\t\\t} else if(node.type === \\\"list-join\\\") {\\n\\t\\t\\t\\tself.explicitJoinTemplate = node.children;\\n\\t\\t\\t} else if(node.type === \\\"element\\\" && node.tag === \\\"p\\\") {\\n\\t\\t\\t\\tsearchChildren(node.children);\\n\\t\\t\\t\\tfoundInlineTemplate = true;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tfoundInlineTemplate = true;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\treturn foundInlineTemplate;\\n\\t};\\n\\tthis.hasTemplateInBody = searchChildren(this.parseTreeNode.children);\\n}\\n\\nListWidget.prototype.getTiddlerList = function() {\\n\\tvar limit = $tw.utils.getInt(this.getAttribute(\\\"limit\\\",\\\"\\\"),undefined);\\n\\tvar defaultFilter = \\\"[!is[system]sort[title]]\\\";\\n\\tvar results = this.wiki.filterTiddlers(this.getAttribute(\\\"filter\\\",defaultFilter),this);\\n\\tif(limit !== undefined) {\\n\\t\\tif(limit >= 0) {\\n\\t\\t\\tresults = results.slice(0,limit);\\n\\t\\t} else {\\n\\t\\t\\tresults = results.slice(limit);\\n\\t\\t}\\n\\t}\\n\\treturn results;\\n};\\n\\nListWidget.prototype.getEmptyMessage = function() {\\n\\tvar parser,\\n\\t\\temptyMessage = this.getAttribute(\\\"emptyMessage\\\");\\n\\t// If emptyMessage attribute is not present or empty then look for an explicit empty template\\n\\tif(!emptyMessage) {\\n\\t\\tif(this.explicitEmptyTemplate) {\\n\\t\\t\\treturn this.explicitEmptyTemplate;\\n\\t\\t} else {\\n\\t\\t\\treturn [];\\n\\t\\t}\\n\\t}\\n\\tparser = this.wiki.parseText(\\\"text/vnd.tiddlywiki\\\",emptyMessage,{parseAsInline: true});\\n\\tif(parser) {\\n\\t\\treturn parser.tree;\\n\\t} else {\\n\\t\\treturn [];\\n\\t}\\n};\\n\\n/*\\nCompose the template for a join between list items\\n*/\\nListWidget.prototype.makeJoinTemplate = function() {\\n\\tvar parser,\\n\\t\\tjoin = this.getAttribute(\\\"join\\\",\\\"\\\");\\n\\tif(join) {\\n\\t\\tparser = this.wiki.parseText(\\\"text/vnd.tiddlywiki\\\",join,{parseAsInline:true})\\n\\t\\tif(parser) {\\n\\t\\t\\treturn parser.tree;\\n\\t\\t} else {\\n\\t\\t\\treturn [];\\n\\t\\t}\\n\\t} else {\\n\\t\\treturn this.explicitJoinTemplate; // May be null, and that's fine\\n\\t}\\n};\\n\\n/*\\nCompose the template for a list item\\n*/\\nListWidget.prototype.makeItemTemplate = function(title,index) {\\n\\t// Check if the tiddler is a draft\\n\\tvar tiddler = this.wiki.getTiddler(title),\\n\\t\\tisDraft = tiddler && tiddler.hasField(\\\"draft.of\\\"),\\n\\t\\ttemplate = this.template,\\n\\t\\tjoin = this.join,\\n\\t\\ttemplateTree;\\n\\tif(isDraft && this.editTemplate) {\\n\\t\\ttemplate = this.editTemplate;\\n\\t}\\n\\t// Compose the transclusion of the template\\n\\tif(template) {\\n\\t\\ttemplateTree = [{type: \\\"transclude\\\", attributes: {tiddler: {type: \\\"string\\\", value: template}}}];\\n\\t} else {\\n\\t\\t// Check for child nodes of the list widget\\n\\t\\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\\n\\t\\t\\t// Check for a <$list-item> widget\\n\\t\\t\\tif(this.explicitListTemplate) {\\n\\t\\t\\t\\ttemplateTree = this.explicitListTemplate;\\n\\t\\t\\t} else if(this.hasTemplateInBody) {\\n\\t\\t\\t\\ttemplateTree = this.parseTreeNode.children;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tif(!templateTree || templateTree.length === 0) {\\n\\t\\t\\t// Default template is a link to the title\\n\\t\\t\\ttemplateTree = [{type: \\\"element\\\", tag: this.parseTreeNode.isBlock ? \\\"div\\\" : \\\"span\\\", children: [{type: \\\"link\\\", attributes: {to: {type: \\\"string\\\", value: title}}, children: [\\n\\t\\t\\t\\t{type: \\\"text\\\", text: title}\\n\\t\\t\\t]}]}];\\n\\t\\t}\\n\\t}\\n\\t// Return the list item\\n\\tvar parseTreeNode = {type: \\\"listitem\\\", itemTitle: title, variableName: this.variableName, children: templateTree, join: join};\\n\\tparseTreeNode.isLast = index === this.list.length - 1;\\n\\tif(this.counterName) {\\n\\t\\tparseTreeNode.counter = (index + 1).toString();\\n\\t\\tparseTreeNode.counterName = this.counterName;\\n\\t\\tparseTreeNode.isFirst = index === 0;\\n\\t}\\n\\treturn parseTreeNode;\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nListWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes(),\\n\\t\\tresult;\\n\\t// Call the storyview\\n\\tif(this.storyview && this.storyview.refreshStart) {\\n\\t\\tthis.storyview.refreshStart(changedTiddlers,changedAttributes);\\n\\t}\\n\\t// Completely refresh if any of our attributes have changed\\n\\tif(changedAttributes.filter || changedAttributes.variable || changedAttributes.counter || changedAttributes.template || changedAttributes.editTemplate || changedAttributes.join || changedAttributes.emptyMessage || changedAttributes.storyview || changedAttributes.history) {\\n\\t\\tthis.refreshSelf();\\n\\t\\tresult = true;\\n\\t} else {\\n\\t\\t// Handle any changes to the list\\n\\t\\tresult = this.handleListChanges(changedTiddlers);\\n\\t\\t// Handle any changes to the history stack\\n\\t\\tif(this.historyTitle && changedTiddlers[this.historyTitle]) {\\n\\t\\t\\tthis.handleHistoryChanges();\\n\\t\\t}\\n\\t}\\n\\t// Call the storyview\\n\\tif(this.storyview && this.storyview.refreshEnd) {\\n\\t\\tthis.storyview.refreshEnd(changedTiddlers,changedAttributes);\\n\\t}\\n\\treturn result;\\n};\\n\\n/*\\nHandle any changes to the history list\\n*/\\nListWidget.prototype.handleHistoryChanges = function() {\\n\\t// Get the history data\\n\\tvar newHistory = this.wiki.getTiddlerDataCached(this.historyTitle,[]);\\n\\t// Ignore any entries of the history that match the previous history\\n\\tvar entry = 0;\\n\\twhile(entry < newHistory.length && entry < this.history.length && newHistory[entry].title === this.history[entry].title) {\\n\\t\\tentry++;\\n\\t}\\n\\t// Navigate forwards to each of the new tiddlers\\n\\twhile(entry < newHistory.length) {\\n\\t\\tif(this.storyview && this.storyview.navigateTo) {\\n\\t\\t\\tthis.storyview.navigateTo(newHistory[entry]);\\n\\t\\t}\\n\\t\\tentry++;\\n\\t}\\n\\t// Update the history\\n\\tthis.history = newHistory;\\n};\\n\\n/*\\nProcess any changes to the list\\n*/\\nListWidget.prototype.handleListChanges = function(changedTiddlers) {\\n\\t// Get the new list\\n\\tvar prevList = this.list;\\n\\tthis.list = this.getTiddlerList();\\n\\t// Check for an empty list\\n\\tif(this.list.length === 0) {\\n\\t\\t// Check if it was empty before\\n\\t\\tif(prevList.length === 0) {\\n\\t\\t\\t// If so, just refresh the empty message\\n\\t\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t\\t} else {\\n\\t\\t\\t// Replace the previous content with the empty message\\n\\t\\t\\tfor(t=this.children.length-1; t>=0; t--) {\\n\\t\\t\\t\\tthis.removeListItem(t);\\n\\t\\t\\t}\\n\\t\\t\\tvar nextSibling = this.findNextSiblingDomNode();\\n\\t\\t\\tthis.makeChildWidgets(this.getEmptyMessage());\\n\\t\\t\\tthis.renderChildren(this.parentDomNode,nextSibling);\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t} else {\\n\\t\\t// If the list was empty then we need to remove the empty message\\n\\t\\tif(prevList.length === 0) {\\n\\t\\t\\tthis.removeChildDomNodes();\\n\\t\\t\\tthis.children = [];\\n\\t\\t}\\n\\t\\t// If we are providing an counter variable then we must refresh the items, otherwise we can rearrange them\\n\\t\\tvar hasRefreshed = false,t;\\n\\t\\tif(this.counterName) {\\n\\t\\t\\tvar mustRefreshOldLast = false;\\n\\t\\t\\tvar oldLength = this.children.length;\\n\\t\\t\\t// Cycle through the list and remove and re-insert the first item that has changed, and all the remaining items\\n\\t\\t\\tfor(t=0; t<this.list.length; t++) {\\n\\t\\t\\t\\tif(hasRefreshed || !this.children[t] || this.children[t].parseTreeNode.itemTitle !== this.list[t]) {\\n\\t\\t\\t\\t\\tif(this.children[t]) {\\n\\t\\t\\t\\t\\t\\tthis.removeListItem(t);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tthis.insertListItem(t,this.list[t]);\\n\\t\\t\\t\\t\\tif(!hasRefreshed && t === oldLength) {\\n\\t\\t\\t\\t\\t\\tmustRefreshOldLast = true;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\thasRefreshed = true;\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t// Refresh the item we're reusing\\n\\t\\t\\t\\t\\tvar refreshed = this.children[t].refresh(changedTiddlers);\\n\\t\\t\\t\\t\\thasRefreshed = hasRefreshed || refreshed;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t// If items were inserted then we must recreate the item that used to be at the last position as it is no longer last\\n\\t\\t\\tif(mustRefreshOldLast && oldLength > 0) {\\n\\t\\t\\t\\tvar oldLastIdx = oldLength-1;\\n\\t\\t\\t\\tthis.removeListItem(oldLastIdx);\\n\\t\\t\\t\\tthis.insertListItem(oldLastIdx,this.list[oldLastIdx]);\\n\\t\\t\\t}\\n\\t\\t\\t// If there are items to remove and we have not refreshed then recreate the item that will now be at the last position\\n\\t\\t\\tif(!hasRefreshed && this.children.length > this.list.length) {\\n\\t\\t\\t\\tthis.removeListItem(this.list.length-1);\\n\\t\\t\\t\\tthis.insertListItem(this.list.length-1,this.list[this.list.length-1]);\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\t// Cycle through the list, inserting and removing list items as needed\\n\\t\\t\\tvar mustRecreateLastItem = false;\\n\\t\\t\\tif(this.join && this.join.length) {\\n\\t\\t\\t\\tif(this.children.length !== this.list.length) {\\n\\t\\t\\t\\t\\t\\tmustRecreateLastItem = true;\\n\\t\\t\\t\\t} else if(prevList[prevList.length-1] !== this.list[this.list.length-1]) {\\n\\t\\t\\t\\t\\t\\tmustRecreateLastItem = true;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tvar isLast = false, wasLast = false;\\n\\t\\t\\tfor(t=0; t<this.list.length; t++) {\\n\\t\\t\\t\\tisLast = t === this.list.length-1;\\n\\t\\t\\t\\tvar index = this.findListItem(t,this.list[t]);\\n\\t\\t\\t\\twasLast = index === this.children.length-1;\\n\\t\\t\\t\\tif(wasLast && (index !== t || this.children.length !== this.list.length)) {\\n\\t\\t\\t\\t\\tmustRecreateLastItem = !!(this.join && this.join.length);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif(index === undefined) {\\n\\t\\t\\t\\t\\t// The list item must be inserted\\n\\t\\t\\t\\t\\tif(isLast && mustRecreateLastItem && t>0) {\\n\\t\\t\\t\\t\\t\\t// First re-create previosly-last item that will no longer be last\\n\\t\\t\\t\\t\\t\\tthis.removeListItem(t-1);\\n\\t\\t\\t\\t\\t\\tthis.insertListItem(t-1,this.list[t-1]);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tthis.insertListItem(t,this.list[t]);\\n\\t\\t\\t\\t\\thasRefreshed = true;\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t// There are intervening list items that must be removed\\n\\t\\t\\t\\t\\tfor(var n=index-1; n>=t; n--) {\\n\\t\\t\\t\\t\\t\\tthis.removeListItem(n);\\n\\t\\t\\t\\t\\t\\thasRefreshed = true;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t// Refresh the item we're reusing, or recreate if necessary\\n\\t\\t\\t\\t\\tif(mustRecreateLastItem && (isLast || wasLast)) {\\n\\t\\t\\t\\t\\t\\tthis.removeListItem(t);\\n\\t\\t\\t\\t\\t\\tthis.insertListItem(t,this.list[t]);\\n\\t\\t\\t\\t\\t\\thasRefreshed = true;\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tvar refreshed = this.children[t].refresh(changedTiddlers);\\n\\t\\t\\t\\t\\t\\thasRefreshed = hasRefreshed || refreshed;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t// Remove any left over items\\n\\t\\tfor(t=this.children.length-1; t>=this.list.length; t--) {\\n\\t\\t\\tthis.removeListItem(t);\\n\\t\\t\\thasRefreshed = true;\\n\\t\\t}\\n\\t\\treturn hasRefreshed;\\n\\t}\\n};\\n\\n/*\\nFind the list item with a given title, starting from a specified position\\n*/\\nListWidget.prototype.findListItem = function(startIndex,title) {\\n\\twhile(startIndex < this.children.length) {\\n\\t\\tif(this.children[startIndex].parseTreeNode.itemTitle === title) {\\n\\t\\t\\treturn startIndex;\\n\\t\\t}\\n\\t\\tstartIndex++;\\n\\t}\\n\\treturn undefined;\\n};\\n\\n/*\\nInsert a new list item at the specified index\\n*/\\nListWidget.prototype.insertListItem = function(index,title) {\\n\\t// Create, insert and render the new child widgets\\n\\tvar widget = this.makeChildWidget(this.makeItemTemplate(title,index));\\n\\twidget.parentDomNode = this.parentDomNode; // Hack to enable findNextSiblingDomNode() to work\\n\\tthis.children.splice(index,0,widget);\\n\\tvar nextSibling = widget.findNextSiblingDomNode();\\n\\twidget.render(this.parentDomNode,nextSibling);\\n\\t// Animate the insertion if required\\n\\tif(this.storyview && this.storyview.insert) {\\n\\t\\tthis.storyview.insert(widget);\\n\\t}\\n\\treturn true;\\n};\\n\\n/*\\nRemove the specified list item\\n*/\\nListWidget.prototype.removeListItem = function(index) {\\n\\tvar widget = this.children[index];\\n\\t// Animate the removal if required\\n\\tif(this.storyview && this.storyview.remove) {\\n\\t\\tthis.storyview.remove(widget);\\n\\t} else {\\n\\t\\twidget.removeChildDomNodes();\\n\\t}\\n\\t// Remove the child widget\\n\\tthis.children.splice(index,1);\\n};\\n\\nexports.list = ListWidget;\\n\\nvar ListItemWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nListItemWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nListItemWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nListItemWidget.prototype.execute = function() {\\n\\t// Set the current list item title\\n\\tthis.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle);\\n\\tif(this.parseTreeNode.counterName) {\\n\\t\\tthis.setVariable(this.parseTreeNode.counterName,this.parseTreeNode.counter);\\n\\t\\tthis.setVariable(this.parseTreeNode.counterName + \\\"-first\\\",this.parseTreeNode.isFirst ? \\\"yes\\\" : \\\"no\\\");\\n\\t\\tthis.setVariable(this.parseTreeNode.counterName + \\\"-last\\\",this.parseTreeNode.isLast ? \\\"yes\\\" : \\\"no\\\");\\n\\t}\\n\\t// Add join if needed\\n\\tvar children = this.parseTreeNode.children,\\n\\t\\tjoin = this.parseTreeNode.join;\\n\\tif(join && join.length && !this.parseTreeNode.isLast) {\\n\\t\\tchildren = children.slice(0);\\n\\t\\t$tw.utils.each(join,function(joinNode) {\\n\\t\\t\\tchildren.push(joinNode);\\n\\t\\t})\\n\\t}\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets(children);\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nListItemWidget.prototype.refresh = function(changedTiddlers) {\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports.listitem = ListItemWidget;\\n\\n/*\\nMake <$list-template> and <$list-empty> widgets that do nothing\\n*/\\nvar ListTemplateWidget = function(parseTreeNode,options) {\\n\\t// Main initialisation inherited from widget.js\\n\\tthis.initialise(parseTreeNode,options);\\n};\\nListTemplateWidget.prototype = new Widget();\\nListTemplateWidget.prototype.render = function() {}\\nListTemplateWidget.prototype.refresh = function() { return false; }\\n\\nexports[\\\"list-template\\\"] = ListTemplateWidget;\\n\\nvar ListEmptyWidget = function(parseTreeNode,options) {\\n\\t// Main initialisation inherited from widget.js\\n\\tthis.initialise(parseTreeNode,options);\\n};\\nListEmptyWidget.prototype = new Widget();\\nListEmptyWidget.prototype.render = function() {}\\nListEmptyWidget.prototype.refresh = function() { return false; }\\n\\nexports[\\\"list-empty\\\"] = ListEmptyWidget;\\n\\nvar ListJoinWidget = function(parseTreeNode,options) {\\n\\t// Main initialisation inherited from widget.js\\n\\tthis.initialise(parseTreeNode,options);\\n};\\nListJoinWidget.prototype = new Widget();\\nListJoinWidget.prototype.render = function() {}\\nListJoinWidget.prototype.refresh = function() { return false; }\\n\\nexports[\\\"list-join\\\"] = ListJoinWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/log.js\":{\"title\":\"$:/core/modules/widgets/log.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/log.js\\ntype: application/javascript\\nmodule-type: widget-subclass\\n\\nWidget to log debug messages\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.baseClass = \\\"action-log\\\";\\n\\nexports.name = \\\"log\\\";\\n\\nexports.constructor = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n}\\n\\nexports.prototype = {};\\n\\nexports.prototype.render = function(event) {\\n\\tObject.getPrototypeOf(Object.getPrototypeOf(this)).render.call(this,event);\\n\\tObject.getPrototypeOf(Object.getPrototypeOf(this)).log.call(this);\\n}\\n\\n})();\",\"type\":\"application/javascript\",\"module-type\":\"widget-subclass\"},\"$:/core/modules/widgets/macrocall.js\":{\"title\":\"$:/core/modules/widgets/macrocall.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/macrocall.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nMacrocall widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar MacroCallWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nMacroCallWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nMacroCallWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nMacroCallWidget.prototype.execute = function() {\\n\\tthis.macroName = this.parseTreeNode.name || this.getAttribute(\\\"$name\\\"),\\n\\tthis.parseType = this.getAttribute(\\\"$type\\\",\\\"text/vnd.tiddlywiki\\\");\\n\\tthis.renderOutput = this.getAttribute(\\\"$output\\\",\\\"text/html\\\");\\n\\t// Merge together the parameters specified in the parse tree with the specified attributes\\n\\tvar params = this.parseTreeNode.params ? this.parseTreeNode.params.slice(0) : [];\\n\\t$tw.utils.each(this.attributes,function(attribute,name) {\\n\\t\\tif(name.charAt(0) !== \\\"$\\\") {\\n\\t\\t\\tparams.push({name: name, value: attribute});\\n\\t\\t}\\n\\t});\\n\\t// Make a transclude widget\\n\\tvar positionalName = 0,\\n\\t\\tparseTreeNodes = [{\\n\\t\\t\\ttype: \\\"transclude\\\",\\n\\t\\t\\tisBlock: this.parseTreeNode.isBlock,\\n\\t\\t\\tchildren: this.parseTreeNode.children\\n\\t\\t}];\\n\\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\\\"$variable\\\",this.macroName);\\n\\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\\\"$type\\\",this.parseType);\\n\\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\\\"$output\\\",this.renderOutput);\\n\\t$tw.utils.each(params,function(param) {\\n\\t\\tvar name = param.name;\\n\\t\\tif(name) {\\n\\t\\t\\tif(name.charAt(0) === \\\"$\\\") {\\n\\t\\t\\t\\tname = \\\"$\\\" + name;\\n\\t\\t\\t}\\n\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],name,param.value);\\n\\t\\t} else {\\n\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],(positionalName++) + \\\"\\\",param.value);\\n\\t\\t}\\n\\t});\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets(parseTreeNodes);\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nMacroCallWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif($tw.utils.count(changedAttributes) > 0) {\\n\\t\\t// Rerender ourselves\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nexports.macrocall = MacroCallWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/messagecatcher.js\":{\"title\":\"$:/core/modules/widgets/messagecatcher.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/messagecatcher.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nMessage catcher widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar MessageCatcherWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nMessageCatcherWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nMessageCatcherWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this;\\n\\t// Remember parent\\n\\tthis.parentDomNode = parent;\\n\\t// Compute attributes and execute state\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\t// Helper to add an event handler\\n\\tvar addEventHandler = function(type,actions) {\\n\\t\\tif(type && actions) {\\n\\t\\t\\tvar isActionStringExecuting = false;\\n\\t\\t\\tself.addEventListener(\\n\\t\\t\\t\\ttype,\\n\\t\\t\\t\\tfunction(event) {\\n\\t\\t\\t\\t\\t// Don't trap the event if it came from one of our action handlers\\n\\t\\t\\t\\t\\tif(isActionStringExecuting) {\\n\\t\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t// Collect all the event properties into variables\\n\\t\\t\\t\\t\\tvar collectProps = function(obj,prefix) {\\n\\t\\t\\t\\t\\t\\tprefix = prefix || \\\"\\\";\\n\\t\\t\\t\\t\\t\\tvar props = {},\\n\\t\\t\\t\\t\\t\\t\\tnames = [];\\n\\t\\t\\t\\t\\t\\t$tw.utils.each(obj,function(value,name) {\\n\\t\\t\\t\\t\\t\\t\\tif([\\\"string\\\",\\\"boolean\\\",\\\"number\\\"].indexOf(typeof value) !== -1) {\\n\\t\\t\\t\\t\\t\\t\\t\\tnames.push(name);\\n\\t\\t\\t\\t\\t\\t\\t\\tprops[prefix + \\\"-\\\" + name] = value.toString();\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\t\\tprops[\\\"list-\\\" + prefix] = $tw.utils.stringifyList(names);\\n\\t\\t\\t\\t\\t\\treturn props;\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\tvar variables = $tw.utils.extend(\\n\\t\\t\\t\\t\\t\\t{},\\n\\t\\t\\t\\t\\t\\tcollectProps(event.paramObject,\\\"event-paramObject\\\"),\\n\\t\\t\\t\\t\\t\\tcollectProps(event,\\\"event\\\"),\\n\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\tmodifier: $tw.keyboardManager.getEventModifierKeyDescriptor(event)\\n\\t\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\tisActionStringExecuting = true;\\n\\t\\t\\t\\t\\tself.invokeActionString(actions,self,event,variables);\\n\\t\\t\\t\\t\\tisActionStringExecuting = false;\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t}\\n\\t\\t\\t);\\n\\t\\t}\\n\\t}\\n\\t// Add the main event handler\\n\\taddEventHandler(this.getAttribute(\\\"type\\\"),this.getAttribute(\\\"actions\\\"));\\n\\t// Add any other event handlers\\n\\t$tw.utils.each(this.attributes,function(value,key) {\\n\\t\\tif(key.charAt(0) === \\\"$\\\") {\\n\\t\\t\\taddEventHandler(key.slice(1),value);\\n\\t\\t}\\n\\t});\\n\\t// Render children\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nMessageCatcherWidget.prototype.execute = function() {\\n\\t// Make child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nMessageCatcherWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif($tw.utils.count(changedAttributes) > 0) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports.messagecatcher = MessageCatcherWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/navigator.js\":{\"title\":\"$:/core/modules/widgets/navigator.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/navigator.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nNavigator widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar IMPORT_TITLE = \\\"$:/Import\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar NavigatorWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nNavigatorWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.addEventListeners([\\n\\t\\t{type: \\\"tm-navigate\\\", handler: \\\"handleNavigateEvent\\\"},\\n\\t\\t{type: \\\"tm-edit-tiddler\\\", handler: \\\"handleEditTiddlerEvent\\\"},\\n\\t\\t{type: \\\"tm-delete-tiddler\\\", handler: \\\"handleDeleteTiddlerEvent\\\"},\\n\\t\\t{type: \\\"tm-save-tiddler\\\", handler: \\\"handleSaveTiddlerEvent\\\"},\\n\\t\\t{type: \\\"tm-cancel-tiddler\\\", handler: \\\"handleCancelTiddlerEvent\\\"},\\n\\t\\t{type: \\\"tm-close-tiddler\\\", handler: \\\"handleCloseTiddlerEvent\\\"},\\n\\t\\t{type: \\\"tm-close-all-tiddlers\\\", handler: \\\"handleCloseAllTiddlersEvent\\\"},\\n\\t\\t{type: \\\"tm-close-other-tiddlers\\\", handler: \\\"handleCloseOtherTiddlersEvent\\\"},\\n\\t\\t{type: \\\"tm-new-tiddler\\\", handler: \\\"handleNewTiddlerEvent\\\"},\\n\\t\\t{type: \\\"tm-import-tiddlers\\\", handler: \\\"handleImportTiddlersEvent\\\"},\\n\\t\\t{type: \\\"tm-perform-import\\\", handler: \\\"handlePerformImportEvent\\\"},\\n\\t\\t{type: \\\"tm-fold-tiddler\\\", handler: \\\"handleFoldTiddlerEvent\\\"},\\n\\t\\t{type: \\\"tm-fold-other-tiddlers\\\", handler: \\\"handleFoldOtherTiddlersEvent\\\"},\\n\\t\\t{type: \\\"tm-fold-all-tiddlers\\\", handler: \\\"handleFoldAllTiddlersEvent\\\"},\\n\\t\\t{type: \\\"tm-unfold-all-tiddlers\\\", handler: \\\"handleUnfoldAllTiddlersEvent\\\"}\\n\\t]);\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nNavigatorWidget.prototype.execute = function() {\\n\\t// Get our parameters\\n\\tthis.storyTitle = this.getAttribute(\\\"story\\\");\\n\\tthis.historyTitle = this.getAttribute(\\\"history\\\");\\n\\tthis.setVariable(\\\"tv-story-list\\\",this.storyTitle);\\n\\tthis.setVariable(\\\"tv-history-list\\\",this.historyTitle);\\n\\tthis.story = new $tw.Story({\\n\\t\\twiki: this.wiki,\\n\\t\\tstoryTitle: this.storyTitle,\\n\\t\\thistoryTitle: this.historyTitle\\n\\t});\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.story || changedAttributes.history) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nNavigatorWidget.prototype.getStoryList = function() {\\n\\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\\n};\\n\\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\\n\\tif(this.storyTitle) {\\n\\t\\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\\n\\t\\tthis.wiki.addTiddler(new $tw.Tiddler(\\n\\t\\t\\t{title: this.storyTitle},\\n\\t\\t\\tstoryTiddler,\\n\\t\\t\\t{list: storyList}\\n\\t\\t));\\n\\t}\\n};\\n\\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\\n\\tif(storyList) {\\n\\t\\tvar p = storyList.indexOf(title);\\n\\t\\twhile(p !== -1) {\\n\\t\\t\\tstoryList.splice(p,1);\\n\\t\\t\\tp = storyList.indexOf(title);\\n\\t\\t}\\n\\t}\\n};\\n\\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\\n\\tif(storyList) {\\n\\t\\tvar pos = storyList.indexOf(oldTitle);\\n\\t\\tif(pos !== -1) {\\n\\t\\t\\tstoryList[pos] = newTitle;\\n\\t\\t\\tdo {\\n\\t\\t\\t\\tpos = storyList.indexOf(oldTitle,pos + 1);\\n\\t\\t\\t\\tif(pos !== -1) {\\n\\t\\t\\t\\t\\tstoryList.splice(pos,1);\\n\\t\\t\\t\\t}\\n\\t\\t\\t} while(pos !== -1);\\n\\t\\t} else {\\n\\t\\t\\tstoryList.splice(0,0,newTitle);\\n\\t\\t}\\n\\t}\\n};\\n\\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\\n\\tif(this.storyTitle) {\\n\\t\\tthis.story.addToStory(title,fromTitle,{\\n\\t\\t\\topenLinkFromInsideRiver: this.getAttribute(\\\"openLinkFromInsideRiver\\\",\\\"top\\\"),\\n\\t\\t\\topenLinkFromOutsideRiver: this.getAttribute(\\\"openLinkFromOutsideRiver\\\",\\\"top\\\")\\n\\t\\t});\\n\\t}\\n};\\n\\n/*\\nAdd a new record to the top of the history stack\\ntitle: a title string or an array of title strings\\nfromPageRect: page coordinates of the origin of the navigation\\n*/\\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\\n\\tthis.story.addToHistory(title,fromPageRect,this.historyTitle);\\n};\\n\\n/*\\nHandle a tm-navigate event\\n*/\\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\\n\\tevent = $tw.hooks.invokeHook(\\\"th-navigating\\\",event);\\n\\tif(event.navigateTo) {\\n\\t\\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\\n\\t\\tif(!event.navigateSuppressNavigation) {\\n\\t\\t\\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\\n\\t\\t}\\n\\t}\\n\\treturn false;\\n};\\n\\n// Close a specified tiddler\\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\\n\\tevent = $tw.hooks.invokeHook(\\\"th-closing-tiddler\\\",event);\\n\\tvar title = event.param || event.tiddlerTitle,\\n\\t\\tstoryList = this.getStoryList();\\n\\t// Look for tiddlers with this title to close\\n\\tthis.removeTitleFromStory(storyList,title);\\n\\tthis.saveStoryList(storyList);\\n\\treturn false;\\n};\\n\\n// Close all tiddlers\\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\\n\\tthis.saveStoryList([]);\\n\\treturn false;\\n};\\n\\n// Close other tiddlers\\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\\n\\tvar title = event.param || event.tiddlerTitle;\\n\\tthis.saveStoryList([title]);\\n\\treturn false;\\n};\\n\\n// Place a tiddler in edit mode\\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\\n\\tvar editTiddler = $tw.hooks.invokeHook(\\\"th-editing-tiddler\\\",event),\\n\\t win = event.event && event.event.view ? event.event.view : window;\\n\\tif(!editTiddler) {\\n\\t\\treturn false;\\n\\t}\\n\\tvar self = this;\\n\\tfunction isUnmodifiedShadow(title) {\\n\\t\\treturn self.wiki.isShadowTiddler(title) && !self.wiki.tiddlerExists(title);\\n\\t}\\n\\tfunction confirmEditShadow(title) {\\n\\t\\treturn win.confirm($tw.language.getString(\\n\\t\\t\\t\\\"ConfirmEditShadowTiddler\\\",\\n\\t\\t\\t{variables:\\n\\t\\t\\t\\t{title: title}\\n\\t\\t\\t}\\n\\t\\t));\\n\\t}\\n\\tvar title = event.param || event.tiddlerTitle;\\n\\tif(isUnmodifiedShadow(title) && !confirmEditShadow(title)) {\\n\\t\\treturn false;\\n\\t}\\n\\t// Replace the specified tiddler with a draft in edit mode\\n\\tvar draftTiddler = this.makeDraftTiddler(title);\\n\\t// Update the story and history if required\\n\\tif(!event.paramObject || event.paramObject.suppressNavigation !== \\\"yes\\\") {\\n\\t\\tvar draftTitle = draftTiddler.fields.title,\\n\\t\\t\\tstoryList = this.getStoryList();\\n\\t\\tthis.removeTitleFromStory(storyList,draftTitle);\\n\\t\\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\\n\\t\\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\\n\\t\\tthis.saveStoryList(storyList);\\n\\t\\treturn false;\\n\\t}\\n};\\n\\n// Delete a tiddler\\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\\n\\t// Get the tiddler we're deleting\\n\\tvar title = event.param || event.tiddlerTitle,\\n\\t\\ttiddler = this.wiki.getTiddler(title),\\n\\t\\tstoryList = this.getStoryList(),\\n\\t\\toriginalTitle = tiddler ? tiddler.fields[\\\"draft.of\\\"] : \\\"\\\",\\n\\t\\toriginalTiddler = originalTitle ? this.wiki.getTiddler(originalTitle) : undefined,\\n\\t\\tconfirmationTitle,\\n\\t\\twin = event.event && event.event.view ? event.event.view : window;\\n\\t// Check if the tiddler we're deleting is in draft mode\\n\\tif(originalTitle) {\\n\\t\\t// If so, we'll prompt for confirmation referencing the original tiddler\\n\\t\\tconfirmationTitle = originalTitle;\\n\\t} else {\\n\\t\\t// If not a draft, then prompt for confirmation referencing the specified tiddler\\n\\t\\tconfirmationTitle = title;\\n\\t}\\n\\t// Seek confirmation\\n\\tif(((originalTitle && this.wiki.getTiddler(originalTitle)) || (tiddler && ((tiddler.fields.text || \\\"\\\") !== \\\"\\\"))) && !win.confirm($tw.language.getString(\\n\\t\\t\\t\\t\\\"ConfirmDeleteTiddler\\\",\\n\\t\\t\\t\\t{variables:\\n\\t\\t\\t\\t\\t{title: confirmationTitle}\\n\\t\\t\\t\\t}\\n\\t\\t\\t))) {\\n\\t\\treturn false;\\n\\t}\\n\\t// Delete the original tiddler\\n\\tif(originalTitle) {\\n\\t\\tif(originalTiddler) {\\n\\t\\t\\t$tw.hooks.invokeHook(\\\"th-deleting-tiddler\\\",originalTiddler);\\n\\t\\t}\\n\\t\\tthis.wiki.deleteTiddler(originalTitle);\\n\\t\\tthis.removeTitleFromStory(storyList,originalTitle);\\n\\t}\\n\\t// Invoke the hook function and delete this tiddler\\n\\tif(tiddler) {\\n\\t\\t$tw.hooks.invokeHook(\\\"th-deleting-tiddler\\\",tiddler);\\n\\t\\tthis.wiki.deleteTiddler(title);\\t\\n\\t}\\n\\t// Remove the closed tiddler from the story\\n\\tthis.removeTitleFromStory(storyList,title);\\n\\tthis.saveStoryList(storyList);\\n\\t// Trigger an autosave\\n\\t$tw.rootWidget.dispatchEvent({type: \\\"tm-auto-save-wiki\\\"});\\n\\treturn false;\\n};\\n\\n/*\\nCreate/reuse the draft tiddler for a given title\\n*/\\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\\n\\t// See if there is already a draft tiddler for this tiddler\\n\\tvar draftTitle = this.wiki.findDraft(targetTitle);\\n\\tif(draftTitle) {\\n\\t\\treturn this.wiki.getTiddler(draftTitle);\\n\\t}\\n\\t// Get the current value of the tiddler we're editing\\n\\tvar tiddler = this.wiki.getTiddler(targetTitle);\\n\\t// Save the initial value of the draft tiddler\\n\\tdraftTitle = this.generateDraftTitle(targetTitle);\\n\\tvar draftTiddler = new $tw.Tiddler({\\n\\t\\t\\t\\ttext: \\\"\\\",\\n\\t\\t\\t},\\n\\t\\t\\ttiddler,\\n\\t\\t\\t{\\n\\t\\t\\t\\ttitle: draftTitle,\\n\\t\\t\\t\\t\\\"draft.title\\\": targetTitle,\\n\\t\\t\\t\\t\\\"draft.of\\\": targetTitle\\n\\t\\t\\t},\\n\\t\\t\\tthis.wiki.getModificationFields()\\n\\t\\t);\\n\\tthis.wiki.addTiddler(draftTiddler);\\n\\treturn draftTiddler;\\n};\\n\\n/*\\nGenerate a title for the draft of a given tiddler\\n*/\\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\\n\\treturn this.wiki.generateDraftTitle(title);\\n};\\n\\n// Take a tiddler out of edit mode, saving the changes\\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\\n\\tvar title = event.param || event.tiddlerTitle,\\n\\t\\ttiddler = this.wiki.getTiddler(title),\\n\\t\\tstoryList = this.getStoryList(),\\n\\t \\twin = event.event && event.event.view ? event.event.view : window;\\n\\t// Replace the original tiddler with the draft\\n\\tif(tiddler) {\\n\\t\\tvar draftTitle = (tiddler.fields[\\\"draft.title\\\"] || \\\"\\\").trim(),\\n\\t\\t\\tdraftOf = (tiddler.fields[\\\"draft.of\\\"] || \\\"\\\").trim();\\n\\t\\tif(draftTitle) {\\n\\t\\t\\tvar isRename = draftOf !== draftTitle,\\n\\t\\t\\t\\tisConfirmed = true;\\n\\t\\t\\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\\n\\t\\t\\t\\tisConfirmed = win.confirm($tw.language.getString(\\n\\t\\t\\t\\t\\t\\\"ConfirmOverwriteTiddler\\\",\\n\\t\\t\\t\\t\\t{variables:\\n\\t\\t\\t\\t\\t\\t{title: draftTitle}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t));\\n\\t\\t\\t}\\n\\t\\t\\tif(isConfirmed) {\\n\\t\\t\\t\\t// Create the new tiddler and pass it through the th-saving-tiddler hook\\n\\t\\t\\t\\tvar newTiddler = new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\\n\\t\\t\\t\\t\\ttitle: draftTitle,\\n\\t\\t\\t\\t\\t\\\"draft.title\\\": undefined,\\n\\t\\t\\t\\t\\t\\\"draft.of\\\": undefined\\n\\t\\t\\t\\t},this.wiki.getModificationFields());\\n\\t\\t\\t\\tnewTiddler = $tw.hooks.invokeHook(\\\"th-saving-tiddler\\\",newTiddler,tiddler);\\n\\t\\t\\t\\tthis.wiki.addTiddler(newTiddler);\\n\\t\\t\\t\\t// If enabled, relink references to renamed tiddler\\n\\t\\t\\t\\tvar shouldRelink = this.getAttribute(\\\"relinkOnRename\\\",\\\"no\\\").toLowerCase().trim() === \\\"yes\\\";\\n\\t\\t\\t\\tif(isRename && shouldRelink && this.wiki.tiddlerExists(draftOf)) {\\n\\t\\t\\t\\t\\tthis.wiki.relinkTiddler(draftOf,draftTitle);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// Remove the draft tiddler\\n\\t\\t\\t\\tthis.wiki.deleteTiddler(title);\\n\\t\\t\\t\\t// Remove the original tiddler if we're renaming it\\n\\t\\t\\t\\tif(isRename) {\\n\\t\\t\\t\\t\\tthis.wiki.deleteTiddler(draftOf);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// #2381 always remove new title & old\\n\\t\\t\\t\\tthis.removeTitleFromStory(storyList,draftTitle);\\n\\t\\t\\t\\tthis.removeTitleFromStory(storyList,draftOf);\\n\\t\\t\\t\\tif(!event.paramObject || event.paramObject.suppressNavigation !== \\\"yes\\\") {\\n\\t\\t\\t\\t\\t// Replace the draft in the story with the original\\n\\t\\t\\t\\t\\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\\n\\t\\t\\t\\t\\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\\n\\t\\t\\t\\t\\tif(draftTitle !== this.storyTitle) {\\n\\t\\t\\t\\t\\t\\tthis.saveStoryList(storyList);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// Trigger an autosave\\n\\t\\t\\t\\t$tw.rootWidget.dispatchEvent({type: \\\"tm-auto-save-wiki\\\"});\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn false;\\n};\\n\\n// Take a tiddler out of edit mode without saving the changes\\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\\n\\tevent = $tw.hooks.invokeHook(\\\"th-cancelling-tiddler\\\", event);\\n\\tvar win = event.event && event.event.view ? event.event.view : window;\\n\\t// Flip the specified tiddler from draft back to the original\\n\\tvar draftTitle = event.param || event.tiddlerTitle,\\n\\t\\tdraftTiddler = this.wiki.getTiddler(draftTitle),\\n\\t\\toriginalTitle = draftTiddler && draftTiddler.fields[\\\"draft.of\\\"];\\n\\tif(draftTiddler && originalTitle) {\\n\\t\\t// Ask for confirmation if the tiddler text has changed\\n\\t\\tvar isConfirmed = true,\\n\\t\\t\\toriginalTiddler = this.wiki.getTiddler(originalTitle),\\n\\t\\t\\tstoryList = this.getStoryList();\\n\\t\\tif(this.wiki.isDraftModified(draftTitle)) {\\n\\t\\t\\tisConfirmed = win.confirm($tw.language.getString(\\n\\t\\t\\t\\t\\\"ConfirmCancelTiddler\\\",\\n\\t\\t\\t\\t{variables:\\n\\t\\t\\t\\t\\t{title: draftTitle}\\n\\t\\t\\t\\t}\\n\\t\\t\\t));\\n\\t\\t}\\n\\t\\t// Remove the draft tiddler\\n\\t\\tif(isConfirmed) {\\n\\t\\t\\tthis.wiki.deleteTiddler(draftTitle);\\n\\t\\t\\tif(!event.paramObject || event.paramObject.suppressNavigation !== \\\"yes\\\") {\\n\\t\\t\\t\\tif(originalTiddler) {\\n\\t\\t\\t\\t\\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\\n\\t\\t\\t\\t\\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tthis.removeTitleFromStory(storyList,draftTitle);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tthis.saveStoryList(storyList);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn false;\\n};\\n\\n// Create a new draft tiddler\\n// event.param can either be the title of a template tiddler, or a hashmap of fields.\\n//\\n// The title of the newly created tiddler follows these rules:\\n// * If a hashmap was used and a title field was specified, use that title\\n// * If a hashmap was used without a title field, use a default title, if necessary making it unique with a numeric suffix\\n// * If a template tiddler was used, use the title of the template, if necessary making it unique with a numeric suffix\\n//\\n// If a draft of the target tiddler already exists then it is reused\\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\\n\\tevent = $tw.hooks.invokeHook(\\\"th-new-tiddler\\\", event);\\n\\t// Get the story details\\n\\tvar storyList = this.getStoryList(),\\n\\t\\ttemplateTiddler, additionalFields, title, draftTitle, existingTiddler;\\n\\t// Get the template tiddler (if any)\\n\\tif(typeof event.param === \\\"string\\\") {\\n\\t\\t// Get the template tiddler\\n\\t\\ttemplateTiddler = this.wiki.getTiddler(event.param);\\n\\t\\t// Generate a new title\\n\\t\\ttitle = this.wiki.generateNewTitle(event.param || $tw.language.getString(\\\"DefaultNewTiddlerTitle\\\"));\\n\\t}\\n\\t// Get the specified additional fields\\n\\tif(typeof event.paramObject === \\\"object\\\") {\\n\\t\\tadditionalFields = event.paramObject;\\n\\t}\\n\\tif(typeof event.param === \\\"object\\\") { // Backwards compatibility with 5.1.3\\n\\t\\tadditionalFields = event.param;\\n\\t}\\n\\tif(additionalFields && additionalFields.title) {\\n\\t\\ttitle = additionalFields.title;\\n\\t}\\n\\t// Make a copy of the additional fields excluding any blank ones\\n\\tvar filteredAdditionalFields = $tw.utils.extend({},additionalFields);\\n\\tObject.keys(filteredAdditionalFields).forEach(function(fieldName) {\\n\\t\\tif(filteredAdditionalFields[fieldName] === \\\"\\\") {\\n\\t\\t\\tdelete filteredAdditionalFields[fieldName];\\n\\t\\t}\\n\\t});\\n\\t// Generate a title if we don't have one\\n\\ttitle = title || this.wiki.generateNewTitle($tw.language.getString(\\\"DefaultNewTiddlerTitle\\\"));\\n\\t// Find any existing draft for this tiddler\\n\\tdraftTitle = this.wiki.findDraft(title);\\n\\t// Pull in any existing tiddler\\n\\tif(draftTitle) {\\n\\t\\texistingTiddler = this.wiki.getTiddler(draftTitle);\\n\\t} else {\\n\\t\\tdraftTitle = this.generateDraftTitle(title);\\n\\t\\texistingTiddler = this.wiki.getTiddler(title);\\n\\t}\\n\\t// Merge the tags\\n\\tvar mergedTags = [];\\n\\tif(existingTiddler && existingTiddler.fields.tags) {\\n\\t\\t$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags);\\n\\t}\\n\\tif(additionalFields && additionalFields.tags) {\\n\\t\\t// Merge tags\\n\\t\\tmergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));\\n\\t}\\n\\tif(templateTiddler && templateTiddler.fields.tags) {\\n\\t\\t// Merge tags\\n\\t\\tmergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);\\n\\t}\\n\\t// Save the draft tiddler\\n\\tvar draftTiddler = new $tw.Tiddler({\\n\\t\\t\\ttext: \\\"\\\",\\n\\t\\t\\t\\\"draft.title\\\": title\\n\\t\\t},\\n\\t\\ttemplateTiddler,\\n\\t\\tadditionalFields,\\n\\t\\tthis.wiki.getCreationFields(),\\n\\t\\texistingTiddler,\\n\\t\\tfilteredAdditionalFields,\\n\\t\\t{\\n\\t\\t\\ttitle: draftTitle,\\n\\t\\t\\t\\\"draft.of\\\": title,\\n\\t\\t\\ttags: mergedTags\\n\\t\\t},this.wiki.getModificationFields());\\n\\tthis.wiki.addTiddler(draftTiddler);\\n\\t// Update the story to insert the new draft at the top and remove any existing tiddler\\n\\tif(storyList && storyList.indexOf(draftTitle) === -1) {\\n\\t\\tvar slot = storyList.indexOf(event.navigateFromTitle);\\n\\t\\tif(slot === -1) {\\n\\t\\t\\tslot = this.getAttribute(\\\"openLinkFromOutsideRiver\\\",\\\"top\\\") === \\\"bottom\\\" ? storyList.length - 1 : slot;\\n\\t\\t}\\n\\t\\tstoryList.splice(slot + 1,0,draftTitle);\\n\\t}\\n\\tif(storyList && storyList.indexOf(title) !== -1) {\\n\\t\\tstoryList.splice(storyList.indexOf(title),1);\\n\\t}\\n\\tthis.saveStoryList(storyList);\\n\\t// Add a new record to the top of the history stack\\n\\tthis.addToHistory(draftTitle);\\n\\treturn false;\\n};\\n\\n// Import JSON tiddlers into a pending import tiddler\\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\\n\\t// Get the tiddlers\\n\\tvar tiddlers = $tw.utils.parseJSONSafe(event.param,[]);\\n\\t// Get the current $:/Import tiddler\\n\\tvar paramObject = event.paramObject || {},\\n\\t\\timportTitle = event.importTitle || paramObject.importTitle || IMPORT_TITLE,\\n\\t\\timportTiddler = this.wiki.getTiddler(importTitle),\\n\\t\\timportData = this.wiki.getTiddlerData(importTitle,{}),\\n\\t\\tnewFields = new Object({\\n\\t\\t\\ttitle: importTitle,\\n\\t\\t\\ttype: \\\"application/json\\\",\\n\\t\\t\\t\\\"plugin-type\\\": \\\"import\\\",\\n\\t\\t\\t\\\"status\\\": \\\"pending\\\"\\n\\t\\t}),\\n\\t\\tincomingTiddlers = [];\\n\\t// Process each tiddler\\n\\timportData.tiddlers = importData.tiddlers || {};\\n\\t$tw.utils.each(tiddlers,function(tiddlerFields) {\\n\\t\\ttiddlerFields.title = $tw.utils.trim(tiddlerFields.title);\\n\\t\\tvar title = tiddlerFields.title;\\n\\t\\tif(title) {\\n\\t\\t\\tincomingTiddlers.push(title);\\n\\t\\t\\timportData.tiddlers[title] = tiddlerFields;\\n\\t\\t}\\n\\t});\\n\\t// Give the active upgrader modules a chance to process the incoming tiddlers\\n\\tvar messages = this.wiki.invokeUpgraders(incomingTiddlers,importData.tiddlers);\\n\\t// Deselect any disabled, but _not_ suppressed tiddlers\\n\\tvar systemMessage = $tw.language.getString(\\\"Import/Upgrader/Tiddler/Unselected\\\");\\n\\t$tw.utils.each(messages,function(message,title) {\\n\\t\\tnewFields[\\\"message-\\\" + title] = message;\\n\\t\\tif (message.indexOf(systemMessage) !== -1) {\\n\\t\\t\\tnewFields[\\\"selection-\\\" + title] = \\\"unchecked\\\";\\n\\t\\t}\\n\\t});\\n\\t// Deselect suppressed tiddlers ... they have been removed and can't be selected anymore\\n\\t$tw.utils.each(importData.tiddlers,function(tiddler,title) {\\n\\t\\tif($tw.utils.count(tiddler) === 0) {\\n\\t\\t\\tnewFields[\\\"selection-\\\" + title] = \\\"unchecked\\\";\\n\\t\\t\\tnewFields[\\\"suppressed-\\\" + title] = \\\"yes\\\";\\n\\t\\t}\\n\\t});\\n\\t// Save the $:/Import tiddler\\n\\tnewFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces);\\n\\tthis.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields));\\n\\t// Update the story and history details\\n\\tvar autoOpenOnImport = event.autoOpenOnImport || paramObject.autoOpenOnImport || this.getVariable(\\\"tv-auto-open-on-import\\\");\\n\\tif(autoOpenOnImport !== \\\"no\\\") {\\n\\t\\tvar storyList = this.getStoryList(),\\n\\t\\t\\thistory = [];\\n\\t\\t// Add it to the story\\n\\t\\tif(storyList && storyList.indexOf(importTitle) === -1) {\\n\\t\\t\\tstoryList.unshift(importTitle);\\n\\t\\t}\\n\\t\\t// And to history\\n\\t\\thistory.push(importTitle);\\n\\t\\t// Save the updated story and history\\n\\t\\tthis.saveStoryList(storyList);\\n\\t\\tthis.addToHistory(history);\\n\\t}\\n\\treturn false;\\n};\\n\\n//\\nNavigatorWidget.prototype.handlePerformImportEvent = function(event) {\\n\\tvar self = this,\\n\\t\\timportTiddler = this.wiki.getTiddler(event.param),\\n\\t\\timportData,\\n\\t\\timportReport = [];\\n\\timportReport.push($tw.language.getString(\\\"Import/Imported/Hint\\\") + \\\"\\\\n\\\");\\n\\t// If you need to modify the import tiddler payload then consider th-importing-tiddler instead\\n\\timportTiddler = $tw.hooks.invokeHook(\\\"th-before-importing\\\",importTiddler);\\n\\timportData = this.wiki.getTiddlerDataCached(event.param,{tiddlers: {}}),\\n\\t$tw.utils.each(importData.tiddlers,function(tiddlerFields) {\\n\\t\\tvar title = tiddlerFields.title;\\n\\t\\tif(title && importTiddler && importTiddler.fields[\\\"selection-\\\" + title] !== \\\"unchecked\\\") {\\n\\t\\t\\tif($tw.utils.hop(importTiddler.fields,[\\\"rename-\\\" + title])) {\\n\\t\\t\\t\\tvar tiddler = new $tw.Tiddler(tiddlerFields,{title : importTiddler.fields[\\\"rename-\\\" + title]});\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tvar tiddler = new $tw.Tiddler(tiddlerFields);\\n\\t\\t\\t}\\n\\t\\t\\t// th-importing-tiddler doesn't allow user interaction by default\\n\\t\\t\\t// If you want to use the default UI then use: $:/core/modules/upgraders/ instead\\n\\t\\t\\ttiddler = $tw.hooks.invokeHook(\\\"th-importing-tiddler\\\",tiddler);\\n\\t\\t\\t// Add the tiddlers to the store\\n\\t\\t\\tself.wiki.addTiddler(tiddler);\\n\\t\\t\\timportReport.push(\\\"# [[\\\" + tiddler.fields.title + \\\"]]\\\");\\n\\t\\t}\\n\\t});\\n\\t// Replace the $:/Import tiddler with an import report\\n\\tthis.wiki.addTiddler(new $tw.Tiddler({\\n\\t\\ttitle: event.param,\\n\\t\\ttext: importReport.join(\\\"\\\\n\\\"),\\n\\t\\t\\\"status\\\": \\\"complete\\\"\\n\\t}));\\n\\t// Navigate to the $:/Import tiddler\\n\\tthis.addToHistory([event.param]);\\n\\t// Trigger an autosave\\n\\t$tw.rootWidget.dispatchEvent({type: \\\"tm-auto-save-wiki\\\"});\\n};\\n\\nNavigatorWidget.prototype.handleFoldTiddlerEvent = function(event) {\\n\\tvar paramObject = event.paramObject || {};\\n\\tif(paramObject.foldedState) {\\n\\t\\tvar foldedState = this.wiki.getTiddlerText(paramObject.foldedState,\\\"show\\\") === \\\"show\\\" ? \\\"hide\\\" : \\\"show\\\";\\n\\t\\tthis.wiki.setText(paramObject.foldedState,\\\"text\\\",null,foldedState);\\n\\t}\\n};\\n\\nNavigatorWidget.prototype.handleFoldOtherTiddlersEvent = function(event) {\\n\\tvar self = this,\\n\\t\\tparamObject = event.paramObject || {},\\n\\t\\tprefix = paramObject.foldedStatePrefix;\\n\\t$tw.utils.each(this.getStoryList(),function(title) {\\n\\t\\tself.wiki.setText(prefix + title,\\\"text\\\",null,event.param === title ? \\\"show\\\" : \\\"hide\\\");\\n\\t});\\n};\\n\\nNavigatorWidget.prototype.handleFoldAllTiddlersEvent = function(event) {\\n\\tvar self = this,\\n\\t\\tparamObject = event.paramObject || {},\\n\\t\\tprefix = paramObject.foldedStatePrefix || \\\"$:/state/folded/\\\";\\n\\t$tw.utils.each(this.getStoryList(),function(title) {\\n\\t\\tself.wiki.setText(prefix + title,\\\"text\\\",null,\\\"hide\\\");\\n\\t});\\n};\\n\\nNavigatorWidget.prototype.handleUnfoldAllTiddlersEvent = function(event) {\\n\\tvar self = this,\\n\\t\\tparamObject = event.paramObject || {},\\n\\t\\tprefix = paramObject.foldedStatePrefix;\\n\\t$tw.utils.each(this.getStoryList(),function(title) {\\n\\t\\tself.wiki.setText(prefix + title,\\\"text\\\",null,\\\"show\\\");\\n\\t});\\n};\\n\\nexports.navigator = NavigatorWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/parameters.js\":{\"title\":\"$:/core/modules/widgets/parameters.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/parameters.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nWidget for definition of transclusion parameters\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget,\\n\\tTranscludeWidget = require(\\\"$:/core/modules/widgets/transclude.js\\\").transclude;\\n\\nvar ParametersWidget = function(parseTreeNode,options) {\\n\\t// Initialise\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nParametersWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nParametersWidget.prototype.render = function(parent,nextSibling) {\\n\\t// Call the constructor\\n\\tWidget.call(this);\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nParametersWidget.prototype.execute = function() {\\n\\tvar self = this;\\n\\tthis.parametersDepth = Math.max(parseInt(this.getAttribute(\\\"$depth\\\",\\\"1\\\"),10) || 1,1);\\n\\t// Find the parent transclusions\\n\\tvar pointer = this.parentWidget,\\n\\t\\tdepth = this.parametersDepth;\\n\\twhile(pointer) {\\n\\t\\tif(pointer instanceof TranscludeWidget) {\\n\\t\\t\\tdepth--;\\n\\t\\t\\tif(depth <= 0) {\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tpointer = pointer.parentWidget;\\n\\t}\\n\\t// Process each parameter\\n\\tif(pointer instanceof TranscludeWidget) {\\n\\t\\t// Get the value for each defined parameter\\n\\t\\t$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(self.parseTreeNode),function(attr,index) {\\n\\t\\t\\tvar name = attr.name;\\n\\t\\t\\t// If the attribute name starts with $$ then reduce to a single dollar\\n\\t\\t\\tif(name.substr(0,2) === \\\"$$\\\") {\\n\\t\\t\\t\\tname = name.substr(1);\\n\\t\\t\\t}\\n\\t\\t\\tvar value = pointer.getTransclusionParameter(name,index,self.getAttribute(attr.name,\\\"\\\"));\\n\\t\\t\\tself.setVariable(name,value);\\n\\t\\t});\\n\\t\\t// Assign any metaparameters\\n\\t\\t$tw.utils.each(pointer.getTransclusionMetaParameters(),function(getValue,name) {\\n\\t\\t\\tvar variableName = self.getAttribute(\\\"$\\\" + name);\\n\\t\\t\\tif(variableName) {\\n\\t\\t\\t\\tself.setVariable(variableName,getValue(name));\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nParametersWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(Object.keys(changedAttributes).length) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports.parameters = ParametersWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/password.js\":{\"title\":\"$:/core/modules/widgets/password.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/password.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nPassword widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar PasswordWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nPasswordWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nPasswordWidget.prototype.render = function(parent,nextSibling) {\\n\\t// Save the parent dom node\\n\\tthis.parentDomNode = parent;\\n\\t// Compute our attributes\\n\\tthis.computeAttributes();\\n\\t// Execute our logic\\n\\tthis.execute();\\n\\t// Get the current password\\n\\tvar password = $tw.browser ? $tw.utils.getPassword(this.passwordName) || \\\"\\\" : \\\"\\\";\\n\\t// Create our element\\n\\tvar domNode = this.document.createElement(\\\"input\\\");\\n\\tdomNode.setAttribute(\\\"type\\\",\\\"password\\\");\\n\\tdomNode.setAttribute(\\\"value\\\",password);\\n\\t// Add a click event handler\\n\\t$tw.utils.addEventListeners(domNode,[\\n\\t\\t{name: \\\"change\\\", handlerObject: this, handlerMethod: \\\"handleChangeEvent\\\"}\\n\\t]);\\n\\t// Insert the label into the DOM and render any children\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.domNodes.push(domNode);\\n};\\n\\nPasswordWidget.prototype.handleChangeEvent = function(event) {\\n\\tvar password = this.domNodes[0].value;\\n\\treturn $tw.utils.savePassword(this.passwordName,password);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nPasswordWidget.prototype.execute = function() {\\n\\t// Get the parameters from the attributes\\n\\tthis.passwordName = this.getAttribute(\\\"name\\\",\\\"\\\");\\n\\t// Make the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nPasswordWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.name) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nexports.password = PasswordWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/qualify.js\":{\"title\":\"$:/core/modules/widgets/qualify.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/qualify.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nQualify text to a variable \\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar QualifyWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nQualifyWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nQualifyWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nQualifyWidget.prototype.execute = function() {\\n\\t// Get our parameters\\n\\tthis.qualifyName = this.getAttribute(\\\"name\\\");\\n\\tthis.qualifyTitle = this.getAttribute(\\\"title\\\");\\n\\t// Set context variable\\n\\tif(this.qualifyName) {\\n\\t\\tthis.setVariable(this.qualifyName,this.qualifyTitle + \\\"-\\\" + this.getStateQualifier());\\n\\t}\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nQualifyWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.name || changedAttributes.title) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nexports.qualify = QualifyWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/radio.js\":{\"title\":\"$:/core/modules/widgets/radio.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/radio.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nSet a field or index at a given tiddler via radio buttons\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\nvar RadioWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nRadioWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nRadioWidget.prototype.render = function(parent,nextSibling) {\\n\\t// Save the parent dom node\\n\\tthis.parentDomNode = parent;\\n\\t// Compute our attributes\\n\\tthis.computeAttributes();\\n\\t// Execute our logic\\n\\tthis.execute();\\n\\tvar isChecked = this.getValue() === this.radioValue;\\n\\t// Create our elements\\n\\tthis.labelDomNode = this.document.createElement(\\\"label\\\");\\n\\tthis.labelDomNode.setAttribute(\\\"class\\\",\\n\\t\\t\\\"tc-radio \\\" + this.radioClass + (isChecked ? \\\" tc-radio-selected\\\" : \\\"\\\")\\n\\t);\\n\\tthis.inputDomNode = this.document.createElement(\\\"input\\\");\\n\\tthis.inputDomNode.setAttribute(\\\"type\\\",\\\"radio\\\");\\n\\tthis.assignAttributes(this.inputDomNode,{\\n\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\tdestPrefix: \\\"data-\\\"\\n\\t});\\n\\tif(isChecked) {\\n\\t\\tthis.inputDomNode.checked = true;\\n\\t}\\n\\tif(this.isDisabled === \\\"yes\\\") {\\n\\t\\tthis.inputDomNode.setAttribute(\\\"disabled\\\",true);\\n\\t}\\n\\tthis.labelDomNode.appendChild(this.inputDomNode);\\n\\tthis.spanDomNode = this.document.createElement(\\\"span\\\");\\n\\tthis.labelDomNode.appendChild(this.spanDomNode);\\n\\t// Add a click event handler\\n\\t$tw.utils.addEventListeners(this.inputDomNode,[\\n\\t\\t{name: \\\"change\\\", handlerObject: this, handlerMethod: \\\"handleChangeEvent\\\"}\\n\\t]);\\n\\t// Insert the label into the DOM and render any children\\n\\tparent.insertBefore(this.labelDomNode,nextSibling);\\n\\tthis.renderChildren(this.spanDomNode,null);\\n\\tthis.domNodes.push(this.labelDomNode);\\n};\\n\\nRadioWidget.prototype.getValue = function() {\\n\\tvar value,\\n\\t\\ttiddler = this.wiki.getTiddler(this.radioTitle);\\n\\tif(tiddler) {\\n\\t\\tif(this.radioIndex) {\\n\\t\\t\\tvalue = this.wiki.extractTiddlerDataItem(this.radioTitle,this.radioIndex,this.radioDefault);\\n\\t\\t} else {\\n\\t\\t\\tvalue = tiddler.getFieldString(this.radioField,this.radioDefault);\\n\\t\\t}\\n\\t} else {\\n\\t\\tvalue = this.radioDefault;\\n\\t}\\n\\treturn value;\\n};\\n\\nRadioWidget.prototype.setValue = function() {\\n\\tif(this.radioIndex) {\\n\\t\\tthis.wiki.setText(this.radioTitle,\\\"\\\",this.radioIndex,this.radioValue);\\n\\t} else {\\n\\t\\tvar tiddler = this.wiki.getTiddler(this.radioTitle),\\n\\t\\t\\taddition = {};\\n\\t\\taddition[this.radioField] = this.radioValue;\\n\\t\\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{title: this.radioTitle},tiddler,addition,this.wiki.getModificationFields()));\\n\\t}\\n};\\n\\nRadioWidget.prototype.handleChangeEvent = function(event) {\\n\\tif(this.inputDomNode.checked) {\\n\\t\\tthis.setValue();\\n\\t}\\n\\t// Trigger actions\\n\\tif(this.radioActions) {\\n\\t\\tthis.invokeActionString(this.radioActions,this,event,{\\\"actionValue\\\": this.radioValue});\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nRadioWidget.prototype.execute = function() {\\n\\t// Get the parameters from the attributes\\n\\tthis.radioTitle = this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\tthis.radioField = this.getAttribute(\\\"field\\\",\\\"text\\\");\\n\\tthis.radioIndex = this.getAttribute(\\\"index\\\");\\n\\tthis.radioValue = this.getAttribute(\\\"value\\\");\\n\\tthis.radioClass = this.getAttribute(\\\"class\\\",\\\"\\\");\\n\\tthis.radioDefault = this.getAttribute(\\\"default\\\");\\n\\tthis.isDisabled = this.getAttribute(\\\"disabled\\\",\\\"no\\\");\\n\\tthis.radioActions = this.getAttribute(\\\"actions\\\",\\\"\\\");\\n\\t// Make the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nRadioWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(($tw.utils.count(changedAttributes) > 0)) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else if(changedTiddlers[this.radioTitle]) {\\n\\t\\tthis.inputDomNode.checked = this.getValue() === this.radioValue;\\n\\t\\t$tw.utils.toggleClass(this.labelDomNode,\\\"tc-radio-selected\\\",this.inputDomNode.checked);\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nexports.radio = RadioWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/range.js\":{\"title\":\"$:/core/modules/widgets/range.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/range.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nRange widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar RangeWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nRangeWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nRangeWidget.prototype.render = function(parent,nextSibling) {\\n\\t// Save the parent dom node\\n\\tthis.parentDomNode = parent;\\n\\t// Compute our attributes\\n\\tthis.computeAttributes();\\n\\t// Execute our logic\\n\\tthis.execute();\\n\\t// Create our elements\\n\\tthis.inputDomNode = this.document.createElement(\\\"input\\\");\\n\\tthis.inputDomNode.setAttribute(\\\"type\\\",\\\"range\\\");\\n\\tthis.inputDomNode.setAttribute(\\\"class\\\",this.elementClass);\\n\\tif(this.minValue){\\n\\t\\tthis.inputDomNode.setAttribute(\\\"min\\\", this.minValue);\\n\\t}\\n\\tif(this.maxValue){\\n\\t\\tthis.inputDomNode.setAttribute(\\\"max\\\", this.maxValue);\\n\\t}\\n\\tif(this.increment){\\n\\t\\tthis.inputDomNode.setAttribute(\\\"step\\\", this.increment);\\n\\t}\\n\\tif(this.isDisabled === \\\"yes\\\") {\\n\\t\\tthis.inputDomNode.setAttribute(\\\"disabled\\\",true);\\n\\t}\\n\\tthis.inputDomNode.value = this.getValue();\\n\\tthis.assignAttributes(this.inputDomNode,{\\n\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\tdestPrefix: \\\"data-\\\"\\n\\t});\\n\\t// Add a click event handler\\n\\t$tw.utils.addEventListeners(this.inputDomNode,[\\n\\t\\t{name:\\\"mousedown\\\", handlerObject:this, handlerMethod:\\\"handleMouseDownEvent\\\"},\\n\\t\\t{name:\\\"mouseup\\\", handlerObject:this, handlerMethod:\\\"handleMouseUpEvent\\\"},\\n\\t\\t{name:\\\"change\\\", handlerObject:this, handlerMethod:\\\"handleChangeEvent\\\"},\\n\\t\\t{name:\\\"input\\\", handlerObject:this, handlerMethod:\\\"handleInputEvent\\\"},\\n\\t]);\\n\\t// Insert the label into the DOM and render any children\\n\\tparent.insertBefore(this.inputDomNode,nextSibling);\\n\\tthis.domNodes.push(this.inputDomNode);\\n};\\n\\nRangeWidget.prototype.getValue = function() {\\n\\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle),\\n\\t\\tfieldName = this.tiddlerField,\\n\\t\\tvalue = this.defaultValue;\\n\\tif(tiddler) {\\n\\t\\tif(this.tiddlerIndex) {\\n\\t\\t\\tvalue = this.wiki.extractTiddlerDataItem(tiddler,this.tiddlerIndex,this.defaultValue);\\n\\t\\t} else {\\n\\t\\t\\tif($tw.utils.hop(tiddler.fields,fieldName)) {\\n\\t\\t\\t\\tvalue = tiddler.fields[fieldName] || \\\"\\\";\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tvalue = this.defaultValue;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn value;\\n};\\n\\nRangeWidget.prototype.getActionVariables = function(options) {\\n\\toptions = options || {};\\n\\tvar hasChanged = (this.startValue !== this.inputDomNode.value) ? \\\"yes\\\" : \\\"no\\\";\\n\\t// Trigger actions. Use variables = {key:value, key:value ...}\\n\\t// the \\\"value\\\" is needed.\\n\\treturn $tw.utils.extend({\\\"actionValue\\\": this.inputDomNode.value, \\\"actionValueHasChanged\\\": hasChanged}, options);\\n}\\n\\n// actionsStart\\nRangeWidget.prototype.handleMouseDownEvent = function(event) {\\n\\tthis.mouseDown = true; // TODO remove once IE is gone.\\n\\tthis.startValue = this.inputDomNode.value; // TODO remove this line once IE is gone!\\n\\tthis.handleEvent(event);\\n\\t// Trigger actions\\n\\tif(this.actionsMouseDown) {\\n\\t\\tvar variables = this.getActionVariables() // TODO this line will go into the function call below.\\n\\t\\tthis.invokeActionString(this.actionsMouseDown,this,event,variables);\\n\\t}\\n}\\n\\n// actionsStop\\nRangeWidget.prototype.handleMouseUpEvent = function(event) {\\n\\tthis.mouseDown = false; // TODO remove once IE is gone.\\n\\tthis.handleEvent(event);\\n\\t// Trigger actions\\n\\tif(this.actionsMouseUp) {\\n\\t\\tvar variables = this.getActionVariables()\\n\\t\\tthis.invokeActionString(this.actionsMouseUp,this,event,variables);\\n\\t}\\n\\t// TODO remove the following if() once IE is gone!\\n\\tif ($tw.browser.isIE) {\\n\\t\\tif (this.startValue !== this.inputDomNode.value) {\\n\\t\\t\\tthis.handleChangeEvent(event);\\n\\t\\t\\tthis.startValue = this.inputDomNode.value;\\n\\t\\t}\\n\\t}\\n}\\n\\nRangeWidget.prototype.handleChangeEvent = function(event) {\\n\\tif (this.mouseDown) { // TODO refactor this function once IE is gone.\\n\\t\\tthis.handleInputEvent(event);\\n\\t}\\n};\\n\\nRangeWidget.prototype.handleInputEvent = function(event) {\\n\\tthis.handleEvent(event);\\n\\t// Trigger actions\\n\\tif(this.actionsInput) {\\n\\t\\t// \\\"tiddler\\\" parameter may be missing. See .execute() below\\n\\t\\tvar variables = this.getActionVariables({\\\"actionValueHasChanged\\\": \\\"yes\\\"}) // TODO this line will go into the function call below.\\n\\t\\tthis.invokeActionString(this.actionsInput,this,event,variables);\\n\\t}\\n};\\n\\nRangeWidget.prototype.handleEvent = function(event) {\\n\\tif(this.getValue() !== this.inputDomNode.value) {\\n\\t\\tif(this.tiddlerIndex) {\\n\\t\\t\\tthis.wiki.setText(this.tiddlerTitle,\\\"\\\",this.tiddlerIndex,this.inputDomNode.value);\\n\\t\\t} else {\\n\\t\\t\\tthis.wiki.setText(this.tiddlerTitle,this.tiddlerField,null,this.inputDomNode.value);\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nRangeWidget.prototype.execute = function() {\\n\\t// TODO remove the next 1 lines once IE is gone!\\n\\tthis.mouseUp = true; // Needed for IE10\\n\\t// Get the parameters from the attributes\\n\\tthis.tiddlerTitle = this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\tthis.tiddlerField = this.getAttribute(\\\"field\\\",\\\"text\\\");\\n\\tthis.tiddlerIndex = this.getAttribute(\\\"index\\\");\\n\\tthis.minValue = this.getAttribute(\\\"min\\\");\\n\\tthis.maxValue = this.getAttribute(\\\"max\\\");\\n\\tthis.increment = this.getAttribute(\\\"increment\\\");\\n\\tthis.defaultValue = this.getAttribute(\\\"default\\\",\\\"\\\");\\n\\tthis.elementClass = this.getAttribute(\\\"class\\\",\\\"\\\");\\n\\tthis.isDisabled = this.getAttribute(\\\"disabled\\\",\\\"no\\\");\\n\\t// Actions since 5.1.23\\n\\t// Next 2 only fire once!\\n\\tthis.actionsMouseDown = this.getAttribute(\\\"actionsStart\\\",\\\"\\\");\\n\\tthis.actionsMouseUp = this.getAttribute(\\\"actionsStop\\\",\\\"\\\");\\n\\t// Input fires very often!\\n\\tthis.actionsInput = this.getAttribute(\\\"actions\\\",\\\"\\\");\\n\\t// Make the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nRangeWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif($tw.utils.count(changedAttributes) > 0) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\tvar refreshed = false;\\n\\t\\tif(changedTiddlers[this.tiddlerTitle]) {\\n\\t\\t\\tvar value = this.getValue();\\n\\t\\t\\tif(this.inputDomNode.value !== value) {\\n\\t\\t\\t\\tthis.inputDomNode.value = value;\\n\\t\\t\\t}\\n\\t\\t\\trefreshed = true;\\n\\t\\t}\\n\\t\\treturn this.refreshChildren(changedTiddlers) || refreshed;\\n\\t}\\n};\\n\\nexports.range = RangeWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/raw.js\":{\"title\":\"$:/core/modules/widgets/raw.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/raw.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nRaw widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar RawWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nRawWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nRawWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.execute();\\n\\tvar div = this.document.createElement(\\\"div\\\");\\n\\tdiv.innerHTML=this.parseTreeNode.html;\\n\\tparent.insertBefore(div,nextSibling);\\n\\tthis.domNodes.push(div);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nRawWidget.prototype.execute = function() {\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nRawWidget.prototype.refresh = function(changedTiddlers) {\\n\\treturn false;\\n};\\n\\nexports.raw = RawWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/reveal.js\":{\"title\":\"$:/core/modules/widgets/reveal.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/reveal.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nReveal widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar Popup = require(\\\"$:/core/modules/utils/dom/popup.js\\\");\\n\\nvar RevealWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nRevealWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nRevealWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tvar tag = this.parseTreeNode.isBlock ? \\\"div\\\" : \\\"span\\\";\\n\\tif(this.revealTag && $tw.config.htmlUnsafeElements.indexOf(this.revealTag) === -1) {\\n\\t\\ttag = this.revealTag;\\n\\t}\\n\\tvar domNode = this.document.createElement(tag);\\n\\tthis.domNode = domNode;\\n\\tthis.assignDomNodeClasses();\\n\\tif(this.style) {\\n\\t\\tdomNode.setAttribute(\\\"style\\\",this.style);\\n\\t}\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tif(!domNode.isTiddlyWikiFakeDom && this.type === \\\"popup\\\" && this.isOpen) {\\n\\t\\tthis.positionPopup(domNode);\\n\\t\\t$tw.utils.addClass(domNode,\\\"tc-popup\\\"); // Make sure that clicks don't dismiss popups within the revealed content\\n\\t}\\n\\tif(!this.isOpen) {\\n\\t\\tdomNode.setAttribute(\\\"hidden\\\",\\\"true\\\");\\n\\t}\\n\\tthis.domNodes.push(domNode);\\n};\\n\\nRevealWidget.prototype.positionPopup = function(domNode) {\\n\\tdomNode.style.position = \\\"absolute\\\";\\n\\tdomNode.style.zIndex = \\\"1000\\\";\\n\\tvar left,top;\\n\\tswitch(this.position) {\\n\\t\\tcase \\\"left\\\":\\n\\t\\t\\tleft = this.popup.left - domNode.offsetWidth;\\n\\t\\t\\ttop = this.popup.top;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"above\\\":\\n\\t\\t\\tleft = this.popup.left;\\n\\t\\t\\ttop = this.popup.top - domNode.offsetHeight;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"aboveright\\\":\\n\\t\\t\\tleft = this.popup.left + this.popup.width;\\n\\t\\t\\ttop = this.popup.top + this.popup.height - domNode.offsetHeight;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"belowright\\\":\\n\\t\\t\\tleft = this.popup.left + this.popup.width;\\n\\t\\t\\ttop = this.popup.top + this.popup.height;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"right\\\":\\n\\t\\t\\tleft = this.popup.left + this.popup.width;\\n\\t\\t\\ttop = this.popup.top;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"belowleft\\\":\\n\\t\\t\\tleft = this.popup.left + this.popup.width - domNode.offsetWidth;\\n\\t\\t\\ttop = this.popup.top + this.popup.height;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"aboveleft\\\":\\n\\t\\t\\tleft = this.popup.left - domNode.offsetWidth;\\n\\t\\t\\ttop = this.popup.top - domNode.offsetHeight;\\n\\t\\t\\tbreak;\\n\\t\\tdefault: // Below\\n\\t\\t\\tleft = this.popup.left;\\n\\t\\t\\ttop = this.popup.top + this.popup.height;\\n\\t\\t\\tbreak;\\n\\t}\\n\\tif(!this.positionAllowNegative) {\\n\\t\\tleft = Math.max(0,left);\\n\\t\\ttop = Math.max(0,top);\\n\\t}\\n\\tif (this.popup.absolute) {\\n\\t\\t// Traverse the offsetParent chain and correct the offset to make it relative to the parent node.\\n\\t\\tfor (var offsetParentDomNode = domNode.offsetParent; offsetParentDomNode; offsetParentDomNode = offsetParentDomNode.offsetParent) {\\n\\t\\t\\tleft -= offsetParentDomNode.offsetLeft;\\n\\t\\t\\ttop -= offsetParentDomNode.offsetTop;\\n\\t\\t}\\n\\t}\\n\\tdomNode.style.left = left + \\\"px\\\";\\n\\tdomNode.style.top = top + \\\"px\\\";\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nRevealWidget.prototype.execute = function() {\\n\\t// Get our parameters\\n\\tthis.state = this.getAttribute(\\\"state\\\");\\n\\tthis.revealTag = this.getAttribute(\\\"tag\\\");\\n\\tthis.type = this.getAttribute(\\\"type\\\");\\n\\tthis.text = this.getAttribute(\\\"text\\\");\\n\\tthis.position = this.getAttribute(\\\"position\\\");\\n\\tthis.positionAllowNegative = this.getAttribute(\\\"positionAllowNegative\\\") === \\\"yes\\\";\\n\\t// class attribute handled in assignDomNodeClasses()\\n\\tthis.style = this.getAttribute(\\\"style\\\",\\\"\\\");\\n\\tthis[\\\"default\\\"] = this.getAttribute(\\\"default\\\",\\\"\\\");\\n\\tthis.animate = this.getAttribute(\\\"animate\\\",\\\"no\\\");\\n\\tthis.retain = this.getAttribute(\\\"retain\\\",\\\"no\\\");\\n\\tthis.openAnimation = this.animate === \\\"no\\\" ? undefined : \\\"open\\\";\\n\\tthis.closeAnimation = this.animate === \\\"no\\\" ? undefined : \\\"close\\\";\\n\\tthis.updatePopupPosition = this.getAttribute(\\\"updatePopupPosition\\\",\\\"no\\\") === \\\"yes\\\";\\n\\t// Compute the title of the state tiddler and read it\\n\\tthis.stateTiddlerTitle = this.state;\\n\\tthis.stateTitle = this.getAttribute(\\\"stateTitle\\\");\\n\\tthis.stateField = this.getAttribute(\\\"stateField\\\");\\n\\tthis.stateIndex = this.getAttribute(\\\"stateIndex\\\");\\n\\tthis.readState();\\n\\t// Construct the child widgets\\n\\tvar childNodes = this.isOpen ? this.parseTreeNode.children : [];\\n\\tthis.hasChildNodes = this.isOpen;\\n\\tthis.makeChildWidgets(childNodes);\\n};\\n\\n/*\\nRead the state tiddler\\n*/\\nRevealWidget.prototype.readState = function() {\\n\\t// Read the information from the state tiddler\\n\\tvar state,\\n\\t defaultState = this[\\\"default\\\"];\\n\\tif(this.stateTitle) {\\n\\t\\tvar stateTitleTiddler = this.wiki.getTiddler(this.stateTitle);\\n\\t\\tif(this.stateField) {\\n\\t\\t\\tstate = stateTitleTiddler ? stateTitleTiddler.getFieldString(this.stateField) || defaultState : defaultState;\\n\\t\\t} else if(this.stateIndex) {\\n\\t\\t\\tstate = stateTitleTiddler ? this.wiki.extractTiddlerDataItem(this.stateTitle,this.stateIndex) || defaultState : defaultState;\\n\\t\\t} else if(stateTitleTiddler) {\\n\\t\\t\\tstate = this.wiki.getTiddlerText(this.stateTitle) || defaultState;\\n\\t\\t} else {\\n\\t\\t\\tstate = defaultState;\\n\\t\\t}\\n\\t} else {\\n\\t\\tstate = this.stateTiddlerTitle ? this.wiki.getTextReference(this.state,this[\\\"default\\\"],this.getVariable(\\\"currentTiddler\\\")) : this[\\\"default\\\"];\\n\\t}\\n\\tif(state === null) {\\n\\t\\tstate = this[\\\"default\\\"];\\n\\t}\\n\\tswitch(this.type) {\\n\\t\\tcase \\\"popup\\\":\\n\\t\\t\\tthis.readPopupState(state);\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"match\\\":\\n\\t\\t\\tthis.isOpen = this.text === state;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"nomatch\\\":\\n\\t\\t\\tthis.isOpen = this.text !== state;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"lt\\\":\\n\\t\\t\\tthis.isOpen = !!(this.compareStateText(state) < 0);\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"gt\\\":\\n\\t\\t\\tthis.isOpen = !!(this.compareStateText(state) > 0);\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"lteq\\\":\\n\\t\\t\\tthis.isOpen = !(this.compareStateText(state) > 0);\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"gteq\\\":\\n\\t\\t\\tthis.isOpen = !(this.compareStateText(state) < 0);\\n\\t\\t\\tbreak;\\n\\t}\\n};\\n\\nRevealWidget.prototype.compareStateText = function(state) {\\n\\treturn state.localeCompare(this.text,undefined,{numeric: true,sensitivity: \\\"case\\\"});\\n};\\n\\nRevealWidget.prototype.readPopupState = function(state) {\\n\\tthis.popup = Popup.parseCoordinates(state);\\n\\t// Check if the state matches the location regexp\\n\\tif(this.popup) {\\n\\t\\t// If so, we're open\\n\\t\\tthis.isOpen = true;\\n\\t} else {\\n\\t\\t// If not, we're closed\\n\\t\\tthis.isOpen = false;\\n\\t}\\n};\\n\\nRevealWidget.prototype.assignDomNodeClasses = function() {\\n\\tvar classes = this.getAttribute(\\\"class\\\",\\\"\\\").split(\\\" \\\");\\n\\tclasses.push(\\\"tc-reveal\\\");\\n\\tthis.domNode.className = classes.join(\\\" \\\");\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nRevealWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.state || changedAttributes.type || changedAttributes.text || changedAttributes.position || changedAttributes.positionAllowNegative || changedAttributes[\\\"default\\\"] || changedAttributes.animate || changedAttributes.stateTitle || changedAttributes.stateField || changedAttributes.stateIndex) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\tvar currentlyOpen = this.isOpen;\\n\\t\\tthis.readState();\\n\\t\\tif(this.isOpen !== currentlyOpen) {\\n\\t\\t\\tif(this.retain === \\\"yes\\\") {\\n\\t\\t\\t\\tthis.updateState();\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tthis.refreshSelf();\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t} else if(this.type === \\\"popup\\\" && this.isOpen && this.updatePopupPosition && (changedTiddlers[this.state] || changedTiddlers[this.stateTitle])) {\\n\\t\\t\\tthis.positionPopup(this.domNode);\\n\\t\\t}\\n\\t\\tif(changedAttributes.style) {\\n\\t\\t\\tthis.domNode.style = this.getAttribute(\\\"style\\\",\\\"\\\");\\n\\t\\t}\\n\\t\\tif(changedAttributes[\\\"class\\\"]) {\\n\\t\\t\\tthis.assignDomNodeClasses();\\n\\t\\t}\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\n/*\\nCalled by refresh() to dynamically show or hide the content\\n*/\\nRevealWidget.prototype.updateState = function() {\\n\\tvar self = this;\\n\\t// Read the current state\\n\\tthis.readState();\\n\\t// Construct the child nodes if needed\\n\\tvar domNode = this.domNodes[0];\\n\\tif(this.isOpen && !this.hasChildNodes) {\\n\\t\\tthis.hasChildNodes = true;\\n\\t\\tthis.makeChildWidgets(this.parseTreeNode.children);\\n\\t\\tthis.renderChildren(domNode,null);\\n\\t}\\n\\t// Animate our DOM node\\n\\tif(!domNode.isTiddlyWikiFakeDom && this.type === \\\"popup\\\" && this.isOpen) {\\n\\t\\tthis.positionPopup(domNode);\\n\\t\\t$tw.utils.addClass(domNode,\\\"tc-popup\\\"); // Make sure that clicks don't dismiss popups within the revealed content\\n\\n\\t}\\n\\tif(this.isOpen) {\\n\\t\\tdomNode.removeAttribute(\\\"hidden\\\");\\n $tw.anim.perform(this.openAnimation,domNode);\\n\\t} else {\\n\\t\\t$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {\\n\\t\\t\\t//make sure that the state hasn't changed during the close animation\\n\\t\\t\\tself.readState()\\n\\t\\t\\tif(!self.isOpen) {\\n\\t\\t\\t\\tdomNode.setAttribute(\\\"hidden\\\",\\\"true\\\");\\n\\t\\t\\t}\\n\\t\\t}});\\n\\t}\\n};\\n\\nexports.reveal = RevealWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/scrollable.js\":{\"title\":\"$:/core/modules/widgets/scrollable.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/scrollable.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nScrollable widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar DEBOUNCE_INTERVAL = 100; // Delay after last scroll event before updating the bound tiddler\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar ScrollableWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nScrollableWidget.prototype = new Widget();\\n\\nScrollableWidget.prototype.cancelScroll = function() {\\n\\tif(this.idRequestFrame) {\\n\\t\\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\\n\\t\\tthis.idRequestFrame = null;\\n\\t}\\n};\\n\\n/*\\nHandle a scroll event\\n*/\\nScrollableWidget.prototype.handleScrollEvent = function(event) {\\n\\t// Pass the scroll event through if our offsetsize is larger than our scrollsize\\n\\tif(this.outerDomNode.scrollWidth <= this.outerDomNode.offsetWidth && this.outerDomNode.scrollHeight <= this.outerDomNode.offsetHeight && this.fallthrough === \\\"yes\\\") {\\n\\t\\treturn true;\\n\\t}\\n\\tvar options = {};\\n\\tif($tw.utils.hop(event.paramObject,\\\"animationDuration\\\")) {\\n\\t\\toptions.animationDuration = event.paramObject.animationDuration;\\n\\t}\\n\\tif(event.paramObject && event.paramObject.selector) {\\n\\t\\tthis.scrollSelectorIntoView(null,event.paramObject.selector,null,options);\\n\\t} else {\\n\\t\\tthis.scrollIntoView(event.target,null,options);\\n\\t}\\n\\treturn false; // Handled event\\n};\\n\\n/*\\nScroll an element into view\\n*/\\nScrollableWidget.prototype.scrollIntoView = function(element,callback,options) {\\n\\tvar duration = $tw.utils.hop(options,\\\"animationDuration\\\") ? parseInt(options.animationDuration) : $tw.utils.getAnimationDuration(),\\n\\t\\tsrcWindow = element ? element.ownerDocument.defaultView : window;\\n\\tthis.cancelScroll();\\n\\tthis.startTime = Date.now();\\n\\tvar scrollPosition = {\\n\\t\\tx: this.outerDomNode.scrollLeft,\\n\\t\\ty: this.outerDomNode.scrollTop\\n\\t};\\n\\t// Get the client bounds of the element and adjust by the scroll position\\n\\tvar scrollableBounds = this.outerDomNode.getBoundingClientRect(),\\n\\t\\tclientTargetBounds = element.getBoundingClientRect(),\\n\\t\\tbounds = {\\n\\t\\t\\tleft: clientTargetBounds.left + scrollPosition.x - scrollableBounds.left,\\n\\t\\t\\ttop: clientTargetBounds.top + scrollPosition.y - scrollableBounds.top,\\n\\t\\t\\twidth: clientTargetBounds.width,\\n\\t\\t\\theight: clientTargetBounds.height\\n\\t\\t};\\n\\t// We'll consider the horizontal and vertical scroll directions separately via this function\\n\\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\\n\\t\\t\\t// If the target is already visible then stay where we are\\n\\t\\t\\tif(targetPos >= currentPos && (targetPos + targetSize) <= (currentPos + currentSize)) {\\n\\t\\t\\t\\treturn currentPos;\\n\\t\\t\\t// If the target is above/left of the current view, then scroll to its top/left\\n\\t\\t\\t} else if(targetPos <= currentPos) {\\n\\t\\t\\t\\treturn targetPos;\\n\\t\\t\\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\\n\\t\\t\\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\\n\\t\\t\\t\\treturn targetPos + targetSize - currentSize;\\n\\t\\t\\t// If the target is big, then just scroll to the top\\n\\t\\t\\t} else if(currentPos < targetPos) {\\n\\t\\t\\t\\treturn targetPos;\\n\\t\\t\\t// Otherwise, stay where we are\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn currentPos;\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,this.outerDomNode.offsetWidth),\\n\\t\\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,this.outerDomNode.offsetHeight);\\n\\t// Only scroll if necessary\\n\\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\\n\\t\\tvar self = this,\\n\\t\\t\\tdrawFrame;\\n\\t\\tdrawFrame = function () {\\n\\t\\t\\tvar t;\\n\\t\\t\\tif(duration <= 0) {\\n\\t\\t\\t\\tt = 1;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tt = ((Date.now()) - self.startTime) / duration;\\n\\t\\t\\t}\\n\\t\\t\\tif(t >= 1) {\\n\\t\\t\\t\\tself.cancelScroll();\\n\\t\\t\\t\\tt = 1;\\n\\t\\t\\t}\\n\\t\\t\\tt = $tw.utils.slowInSlowOut(t);\\n\\t\\t\\tself.outerDomNode.scrollLeft = scrollPosition.x + (endX - scrollPosition.x) * t;\\n\\t\\t\\tself.outerDomNode.scrollTop = scrollPosition.y + (endY - scrollPosition.y) * t;\\n\\t\\t\\tif(t < 1) {\\n\\t\\t\\t\\tself.idRequestFrame = self.requestAnimationFrame.call(srcWindow,drawFrame);\\n\\t\\t\\t}\\n\\t\\t};\\n\\t\\tdrawFrame();\\n\\t}\\n};\\n\\nScrollableWidget.prototype.scrollSelectorIntoView = function(baseElement,selector,callback,options) {\\n\\tbaseElement = baseElement || document;\\n\\tvar element = $tw.utils.querySelectorSafe(selector,baseElement);\\n\\tif(element) {\\n\\t\\tthis.scrollIntoView(element,callback,options);\\n\\t}\\n};\\n\\n/*\\nRender this widget into the DOM\\n*/\\nScrollableWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this;\\n\\tthis.scaleFactor = 1;\\n\\tthis.addEventListeners([\\n\\t\\t{type: \\\"tm-scroll\\\", handler: \\\"handleScrollEvent\\\"}\\n\\t]);\\n\\tif($tw.browser) {\\n\\t\\tthis.requestAnimationFrame = window.requestAnimationFrame ||\\n\\t\\t\\twindow.webkitRequestAnimationFrame ||\\n\\t\\t\\twindow.mozRequestAnimationFrame ||\\n\\t\\t\\tfunction(callback) {\\n\\t\\t\\t\\treturn window.setTimeout(callback, 1000/60);\\n\\t\\t\\t};\\n\\t\\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\\n\\t\\t\\twindow.webkitCancelAnimationFrame ||\\n\\t\\t\\twindow.webkitCancelRequestAnimationFrame ||\\n\\t\\t\\twindow.mozCancelAnimationFrame ||\\n\\t\\t\\twindow.mozCancelRequestAnimationFrame ||\\n\\t\\t\\tfunction(id) {\\n\\t\\t\\t\\twindow.clearTimeout(id);\\n\\t\\t\\t};\\n\\t}\\n\\t// Remember parent\\n\\tthis.parentDomNode = parent;\\n\\t// Compute attributes and execute state\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\t// Create elements\\n\\tthis.outerDomNode = this.document.createElement(\\\"div\\\");\\n\\t$tw.utils.setStyle(this.outerDomNode,[\\n\\t\\t{overflowY: \\\"auto\\\"},\\n\\t\\t{overflowX: \\\"auto\\\"},\\n\\t\\t{webkitOverflowScrolling: \\\"touch\\\"}\\n\\t]);\\n\\tthis.innerDomNode = this.document.createElement(\\\"div\\\");\\n\\tthis.outerDomNode.appendChild(this.innerDomNode);\\n\\t// Assign classes\\n\\tthis.outerDomNode.className = this[\\\"class\\\"] || \\\"\\\";\\n\\t// Insert element\\n\\tparent.insertBefore(this.outerDomNode,nextSibling);\\n\\tthis.renderChildren(this.innerDomNode,null);\\n\\tthis.domNodes.push(this.outerDomNode);\\n\\t// If the scroll position is bound to a tiddler\\n\\tif(this.scrollableBind) {\\n\\t\\t// After a delay for rendering, scroll to the bound position\\n\\t\\tthis.updateScrollPositionFromBoundTiddler();\\n\\t\\t// Set up event listener\\n\\t\\tthis.currentListener = this.listenerFunction.bind(this);\\n\\t\\tthis.outerDomNode.addEventListener(\\\"scroll\\\", this.currentListener);\\n\\t}\\n};\\n\\nScrollableWidget.prototype.listenerFunction = function(event) {\\n\\tself = this;\\n\\tclearTimeout(this.timeout);\\n\\tthis.timeout = setTimeout(function() {\\n\\t\\tvar existingTiddler = self.wiki.getTiddler(self.scrollableBind),\\n\\t\\t\\tnewTiddlerFields = {\\n\\t\\t\\t\\ttitle: self.scrollableBind,\\n\\t\\t\\t\\t\\\"scroll-left\\\": self.outerDomNode.scrollLeft.toString(),\\n\\t\\t\\t\\t\\\"scroll-top\\\": self.outerDomNode.scrollTop.toString()\\n\\t\\t\\t};\\n\\t\\tif(!existingTiddler || (existingTiddler.fields[\\\"title\\\"] !== newTiddlerFields[\\\"title\\\"]) || (existingTiddler.fields[\\\"scroll-left\\\"] !== newTiddlerFields[\\\"scroll-left\\\"] || existingTiddler.fields[\\\"scroll-top\\\"] !== newTiddlerFields[\\\"scroll-top\\\"])) {\\n\\t\\t\\tself.wiki.addTiddler(new $tw.Tiddler(existingTiddler,newTiddlerFields));\\n\\t\\t}\\n\\t}, DEBOUNCE_INTERVAL);\\n}\\n\\nScrollableWidget.prototype.updateScrollPositionFromBoundTiddler = function() {\\n\\t// Bail if we're running on the fakedom\\n\\tif(!this.outerDomNode.scrollTo) {\\n\\t\\treturn;\\n\\t}\\n\\tvar tiddler = this.wiki.getTiddler(this.scrollableBind);\\n\\tif(tiddler) {\\n\\t\\tvar scrollLeftTo = this.outerDomNode.scrollLeft;\\n\\t\\tif(parseFloat(tiddler.fields[\\\"scroll-left\\\"]).toString() === tiddler.fields[\\\"scroll-left\\\"]) {\\n\\t\\t\\tscrollLeftTo = parseFloat(tiddler.fields[\\\"scroll-left\\\"]);\\n\\t\\t}\\n\\t\\tvar scrollTopTo = this.outerDomNode.scrollTop;\\n\\t\\tif(parseFloat(tiddler.fields[\\\"scroll-top\\\"]).toString() === tiddler.fields[\\\"scroll-top\\\"]) {\\n\\t\\t\\tscrollTopTo = parseFloat(tiddler.fields[\\\"scroll-top\\\"]);\\n\\t\\t}\\n\\t\\tthis.outerDomNode.scrollTo({\\n\\t\\t\\ttop: scrollTopTo,\\n\\t\\t\\tleft: scrollLeftTo,\\n\\t\\t\\tbehavior: \\\"instant\\\"\\n\\t\\t})\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nScrollableWidget.prototype.execute = function() {\\n\\t// Get attributes\\n\\tthis.scrollableBind = this.getAttribute(\\\"bind\\\");\\n\\tthis.fallthrough = this.getAttribute(\\\"fallthrough\\\",\\\"yes\\\");\\n\\tthis[\\\"class\\\"] = this.getAttribute(\\\"class\\\");\\n\\t// Make child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nScrollableWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes[\\\"class\\\"]) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\t// If the bound tiddler has changed, update the eventListener and update scroll position\\n\\tif(changedAttributes[\\\"bind\\\"]) {\\n\\t\\tif(this.currentListener) {\\n\\t\\t\\tthis.outerDomNode.removeEventListener(\\\"scroll\\\", this.currentListener, false);\\n\\t\\t}\\n\\t\\tthis.scrollableBind = this.getAttribute(\\\"bind\\\");\\n\\t\\tthis.currentListener = this.listenerFunction.bind(this);\\n\\t\\tthis.outerDomNode.addEventListener(\\\"scroll\\\", this.currentListener);\\n\\t}\\n\\t// Refresh children\\n\\tvar result = this.refreshChildren(changedTiddlers);\\n\\t// If the bound tiddler has changed, update scroll position\\n\\tif(changedAttributes[\\\"bind\\\"] || changedTiddlers[this.getAttribute(\\\"bind\\\")]) {\\n\\t\\tthis.updateScrollPositionFromBoundTiddler();\\n\\t}\\n\\treturn result;\\n};\\n\\nexports.scrollable = ScrollableWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/select.js\":{\"title\":\"$:/core/modules/widgets/select.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/select.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nSelect widget:\\n\\n```\\n<$select tiddler=\\\"MyTiddler\\\" field=\\\"text\\\">\\n<$list filter=\\\"[tag[chapter]]\\\">\\n<option value=<<currentTiddler>>>\\n<$view field=\\\"description\\\"/>\\n</option>\\n</$list>\\n</$select>\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar SelectWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nSelectWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nSelectWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\t//Create element\\n\\tvar domNode = this.document.createElement(\\\"select\\\");\\n\\tif(this.selectClass) {\\n\\t\\tdomNode.className = this.selectClass;\\n\\t}\\n\\t// Assign data- attributes\\n\\tthis.assignAttributes(domNode,{\\n\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\tdestPrefix: \\\"data-\\\"\\n\\t});\\n\\tif(this.selectMultiple) {\\n\\t\\tdomNode.setAttribute(\\\"multiple\\\",\\\"multiple\\\");\\n\\t}\\n\\tif(this.selectSize) {\\n\\t\\tdomNode.setAttribute(\\\"size\\\",this.selectSize);\\n\\t}\\n\\tif(this.selectTabindex) {\\n\\t\\tdomNode.setAttribute(\\\"tabindex\\\",this.selectTabindex);\\n\\t}\\n\\tif(this.selectTooltip) {\\n\\t\\tdomNode.setAttribute(\\\"title\\\",this.selectTooltip);\\n\\t}\\n\\tthis.parentDomNode.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.domNodes.push(domNode);\\n\\tthis.setSelectValue();\\n\\tif(this.selectFocus == \\\"yes\\\") {\\n\\t\\tthis.getSelectDomNode().focus();\\n\\t}\\n\\t$tw.utils.addEventListeners(this.getSelectDomNode(),[\\n\\t\\t{name: \\\"change\\\", handlerObject: this, handlerMethod: \\\"handleChangeEvent\\\"}\\n\\t]);\\n};\\n\\n/*\\nHandle a change event\\n*/\\nSelectWidget.prototype.handleChangeEvent = function(event) {\\n\\t// Get the new value and assign it to the tiddler\\n\\tif(this.selectMultiple == false) {\\n\\t\\tvar value = this.getSelectDomNode().value;\\n\\t} else {\\n\\t\\tvar value = this.getSelectValues()\\n\\t\\t\\t\\tvalue = $tw.utils.stringifyList(value);\\n\\t}\\n\\tthis.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value);\\n\\t// Trigger actions\\n\\tif(this.selectActions) {\\n\\t\\tthis.invokeActionString(this.selectActions,this,event);\\n\\t}\\n};\\n\\n/*\\nIf necessary, set the value of the select element to the current value\\n*/\\nSelectWidget.prototype.setSelectValue = function() {\\n\\tvar value = this.selectDefault;\\n\\t// Get the value\\n\\tif(this.selectIndex) {\\n\\t\\tvalue = this.wiki.extractTiddlerDataItem(this.selectTitle,this.selectIndex,value);\\n\\t} else {\\n\\t\\tvar tiddler = this.wiki.getTiddler(this.selectTitle);\\n\\t\\tif(tiddler) {\\n\\t\\t\\tif(this.selectField === \\\"text\\\") {\\n\\t\\t\\t\\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\\n\\t\\t\\t\\tvalue = this.wiki.getTiddlerText(this.selectTitle);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tif($tw.utils.hop(tiddler.fields,this.selectField)) {\\n\\t\\t\\t\\t\\tvalue = tiddler.getFieldString(this.selectField);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tif(this.selectField === \\\"title\\\") {\\n\\t\\t\\t\\tvalue = this.selectTitle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// Assign it to the select element if it's different than the current value\\n\\tif (this.selectMultiple) {\\n\\t\\tvalue = value === undefined ? \\\"\\\" : value;\\n\\t\\tvar select = this.getSelectDomNode();\\n\\t\\tvar values = Array.isArray(value) ? value : $tw.utils.parseStringArray(value);\\n\\t\\tfor(var i=0; i < select.children.length; i++){\\n\\t\\t\\tselect.children[i].selected = values.indexOf(select.children[i].value) !== -1\\n\\t\\t}\\n\\t} else {\\n\\t\\tvar domNode = this.getSelectDomNode();\\n\\t\\tif(domNode.value !== value) {\\n\\t\\t\\tdomNode.value = value;\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nGet the DOM node of the select element\\n*/\\nSelectWidget.prototype.getSelectDomNode = function() {\\n\\treturn this.domNodes[0];\\n};\\n\\n// Return an array of the selected opion values\\n// select is an HTML select element\\nSelectWidget.prototype.getSelectValues = function() {\\n\\tvar select, result, options, opt;\\n\\tselect = this.getSelectDomNode();\\n\\tresult = [];\\n\\toptions = select && select.options;\\n\\tfor (var i=0; i<options.length; i++) {\\n\\t\\topt = options[i];\\n\\t\\tif (opt.selected) {\\n\\t\\t\\tresult.push(opt.value || opt.text);\\n\\t\\t}\\n\\t}\\n\\treturn result;\\n}\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nSelectWidget.prototype.execute = function() {\\n\\t// Get our parameters\\n\\tthis.selectActions = this.getAttribute(\\\"actions\\\");\\n\\tthis.selectTitle = this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\tthis.selectField = this.getAttribute(\\\"field\\\",\\\"text\\\");\\n\\tthis.selectIndex = this.getAttribute(\\\"index\\\");\\n\\tthis.selectClass = this.getAttribute(\\\"class\\\");\\n\\tthis.selectDefault = this.getAttribute(\\\"default\\\");\\n\\tthis.selectMultiple = this.getAttribute(\\\"multiple\\\", false);\\n\\tthis.selectSize = this.getAttribute(\\\"size\\\");\\n\\tthis.selectTabindex = this.getAttribute(\\\"tabindex\\\");\\n\\tthis.selectTooltip = this.getAttribute(\\\"tooltip\\\");\\n\\tthis.selectFocus = this.getAttribute(\\\"focus\\\");\\n\\t// Make the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nSelectWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\t// If we're using a different tiddler/field/index then completely refresh ourselves\\n\\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tooltip || changedAttributes.tabindex) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\tif(changedAttributes.class) {\\n\\t\\t\\tthis.selectClass = this.getAttribute(\\\"class\\\");\\n\\t\\t\\tthis.getSelectDomNode().setAttribute(\\\"class\\\",this.selectClass); \\n\\t\\t}\\n\\t\\tthis.assignAttributes(this.getSelectDomNode(),{\\n\\t\\t\\tchangedAttributes: changedAttributes,\\n\\t\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\t\\tdestPrefix: \\\"data-\\\"\\n\\t\\t});\\n\\t\\tvar childrenRefreshed = this.refreshChildren(changedTiddlers);\\n\\t\\t// If the target tiddler value has changed, just update setting and refresh the children\\n\\t\\tif(changedTiddlers[this.selectTitle] || childrenRefreshed) {\\n\\t\\t\\tthis.setSelectValue();\\n\\t\\t} \\n\\t\\treturn childrenRefreshed;\\n\\t}\\n};\\n\\nexports.select = SelectWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/setmultiplevariables.js\":{\"title\":\"$:/core/modules/widgets/setmultiplevariables.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/setmultiplevariables.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nWidget to set multiple variables at once from a list of names and a list of values\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar SetMultipleVariablesWidget = function(parseTreeNode,options) {\\n this.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nSetMultipleVariablesWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nSetMultipleVariablesWidget.prototype.render = function(parent,nextSibling) {\\n this.parentDomNode = parent;\\n this.computeAttributes();\\n this.execute();\\n this.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nSetMultipleVariablesWidget.prototype.execute = function() {\\n // Setup our variables\\n this.setVariables();\\n // Construct the child widgets\\n this.makeChildWidgets();\\n};\\n\\n\\nSetMultipleVariablesWidget.prototype.setVariables = function() {\\n // Set the variables\\n var self = this,\\n filterNames = this.getAttribute(\\\"$names\\\",\\\"\\\"),\\n filterValues = this.getAttribute(\\\"$values\\\",\\\"\\\");\\n this.variableNames = [];\\n this.variableValues = [];\\n if(filterNames && filterValues) {\\n this.variableNames = this.wiki.filterTiddlers(filterNames,this);\\n this.variableValues = this.wiki.filterTiddlers(filterValues,this);\\n $tw.utils.each(this.variableNames,function(varname,index) {\\n self.setVariable(varname,self.variableValues[index]);\\n });\\n }\\n};\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nSetMultipleVariablesWidget.prototype.refresh = function(changedTiddlers) {\\n var filterNames = this.getAttribute(\\\"$names\\\",\\\"\\\"),\\n filterValues = this.getAttribute(\\\"$values\\\",\\\"\\\"),\\n variableNames = this.wiki.filterTiddlers(filterNames,this),\\n variableValues = this.wiki.filterTiddlers(filterValues,this);\\n if(!$tw.utils.isArrayEqual(this.variableNames,variableNames) || !$tw.utils.isArrayEqual(this.variableValues,variableValues)) {\\n this.refreshSelf();\\n return true;\\n }\\n return this.refreshChildren(changedTiddlers);\\n};\\n\\nexports[\\\"setmultiplevariables\\\"] = SetMultipleVariablesWidget;\\n\\n})();\\n \",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/set.js\":{\"title\":\"$:/core/modules/widgets/set.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/set.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nSet variable widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar SetWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nSetWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nSetWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nSetWidget.prototype.execute = function() {\\n\\t// Get our parameters\\n\\tthis.setName = this.getAttribute(\\\"name\\\",\\\"currentTiddler\\\");\\n\\tthis.setFilter = this.getAttribute(\\\"filter\\\");\\n\\tthis.setSelect = this.getAttribute(\\\"select\\\");\\n\\tthis.setTiddler = this.getAttribute(\\\"tiddler\\\");\\n\\tthis.setSubTiddler = this.getAttribute(\\\"subtiddler\\\");\\n\\tthis.setField = this.getAttribute(\\\"field\\\");\\n\\tthis.setIndex = this.getAttribute(\\\"index\\\");\\n\\tthis.setValue = this.getAttribute(\\\"value\\\");\\n\\tthis.setEmptyValue = this.getAttribute(\\\"emptyValue\\\");\\n\\t// Set context variable\\n\\tif(this.parseTreeNode.isMacroDefinition) {\\n\\t\\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,true);\\n\\t} else if(this.parseTreeNode.isFunctionDefinition) {\\n\\t\\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,undefined,{isFunctionDefinition: true});\\n\\t} else if(this.parseTreeNode.isProcedureDefinition) {\\n\\t\\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,undefined,{isProcedureDefinition: true, configTrimWhiteSpace: this.parseTreeNode.configTrimWhiteSpace});\\n\\t} else if(this.parseTreeNode.isWidgetDefinition) {\\n\\t\\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,undefined,{isWidgetDefinition: true, configTrimWhiteSpace: this.parseTreeNode.configTrimWhiteSpace});\\n\\t} else {\\n\\t\\tthis.setVariable(this.setName,this.getValue());\\n\\t}\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nGet the value to be assigned\\n*/\\nSetWidget.prototype.getValue = function() {\\n\\tvar value = this.setValue;\\n\\tif(this.setTiddler) {\\n\\t\\tvar tiddler;\\n\\t\\tif(this.setSubTiddler) {\\n\\t\\t\\ttiddler = this.wiki.getSubTiddler(this.setTiddler,this.setSubTiddler);\\n\\t\\t} else {\\n\\t\\t\\ttiddler = this.wiki.getTiddler(this.setTiddler);\\n\\t\\t}\\n\\t\\tif(!tiddler) {\\n\\t\\t\\tvalue = this.setEmptyValue;\\n\\t\\t} else if(this.setField) {\\n\\t\\t\\tvalue = tiddler.getFieldString(this.setField) || this.setEmptyValue;\\n\\t\\t} else if(this.setIndex) {\\n\\t\\t\\tvalue = this.wiki.extractTiddlerDataItem(this.setTiddler,this.setIndex,this.setEmptyValue);\\n\\t\\t} else {\\n\\t\\t\\tvalue = tiddler.fields.text || this.setEmptyValue ;\\n\\t\\t}\\n\\t} else if(this.setFilter) {\\n\\t\\tvar results = this.wiki.filterTiddlers(this.setFilter,this);\\n\\t\\tif(this.setValue == null) {\\n\\t\\t\\tvar select;\\n\\t\\t\\tif(this.setSelect) {\\n\\t\\t\\t\\tselect = parseInt(this.setSelect,10);\\n\\t\\t\\t}\\n\\t\\t\\tif(select !== undefined) {\\n\\t\\t\\t\\tvalue = results[select] || \\\"\\\";\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tvalue = $tw.utils.stringifyList(results);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tif(results.length === 0 && this.setEmptyValue !== undefined) {\\n\\t\\t\\tvalue = this.setEmptyValue;\\n\\t\\t}\\n\\t} else if(!value && this.setEmptyValue) {\\n\\t\\tvalue = this.setEmptyValue;\\n\\t}\\n\\treturn value || \\\"\\\";\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nSetWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.name || changedAttributes.filter || changedAttributes.select || changedAttributes.tiddler || (this.setTiddler && changedTiddlers[this.setTiddler]) || changedAttributes.field || changedAttributes.index || changedAttributes.value || changedAttributes.emptyValue ||\\n\\t (this.setFilter && this.getValue() != this.variables[this.setName].value)) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nexports.setvariable = SetWidget;\\nexports.set = SetWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/slot.js\":{\"title\":\"$:/core/modules/widgets/slot.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/slot.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nWidget for definition of slots within transcluded content. The values provided by the translusion are passed to the slot.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget,\\n\\tTranscludeWidget = require(\\\"$:/core/modules/widgets/transclude.js\\\").transclude;\\n\\nvar SlotWidget = function(parseTreeNode,options) {\\n\\t// Initialise\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nSlotWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nSlotWidget.prototype.render = function(parent,nextSibling) {\\n\\t// Call the constructor\\n\\tWidget.call(this);\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nSlotWidget.prototype.execute = function() {\\n\\tvar self = this;\\n\\tthis.slotName = this.getAttribute(\\\"$name\\\");\\n\\tthis.slotDepth = parseInt(this.getAttribute(\\\"$depth\\\",\\\"1\\\"),10) || 1;\\n\\t// Find the parent transclusions\\n\\tvar pointer = this.parentWidget,\\n\\t\\tdepth = this.slotDepth;\\n\\twhile(pointer) {\\n\\t\\tif(pointer instanceof TranscludeWidget && pointer.hasVisibleSlots()) {\\n\\t\\t\\tdepth--;\\n\\t\\t\\tif(depth <= 0) {\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tpointer = pointer.parentWidget;\\n\\t}\\n\\tvar parseTreeNodes = [{type: \\\"text\\\", attributes: {text: {type: \\\"string\\\", value: \\\"Missing slot reference!\\\"}}}];\\n\\tif(pointer instanceof TranscludeWidget) {\\n\\t\\t// Get the parse tree nodes comprising the slot contents\\n\\t\\tparseTreeNodes = pointer.getTransclusionSlotFill(this.slotName,this.parseTreeNode.children);\\n\\t}\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets(parseTreeNodes);\\n};\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nSlotWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes[\\\"$name\\\"] || changedAttributes[\\\"$depth\\\"]) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports.slot = SlotWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/text.js\":{\"title\":\"$:/core/modules/widgets/text.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/text.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nText node widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar TextNodeWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nTextNodeWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tvar text = this.getAttribute(\\\"text\\\",this.parseTreeNode.text || \\\"\\\");\\n\\ttext = text.replace(/\\\\r/mg,\\\"\\\");\\n\\tvar textNode = this.document.createTextNode(text);\\n\\tparent.insertBefore(textNode,nextSibling);\\n\\tthis.domNodes.push(textNode);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nTextNodeWidget.prototype.execute = function() {\\n\\t// Nothing to do for a text node\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.text) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\nexports.text = TextNodeWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/tiddler.js\":{\"title\":\"$:/core/modules/widgets/tiddler.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/tiddler.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nTiddler widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar TiddlerWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nTiddlerWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nTiddlerWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nTiddlerWidget.prototype.execute = function() {\\n\\tthis.tiddlerState = this.computeTiddlerState();\\n\\tthis.setVariable(\\\"currentTiddler\\\",this.tiddlerState.currentTiddler);\\n\\tthis.setVariable(\\\"missingTiddlerClass\\\",this.tiddlerState.missingTiddlerClass);\\n\\tthis.setVariable(\\\"shadowTiddlerClass\\\",this.tiddlerState.shadowTiddlerClass);\\n\\tthis.setVariable(\\\"systemTiddlerClass\\\",this.tiddlerState.systemTiddlerClass);\\n\\tthis.setVariable(\\\"tiddlerTagClasses\\\",this.tiddlerState.tiddlerTagClasses);\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nCompute the tiddler state flags\\n*/\\nTiddlerWidget.prototype.computeTiddlerState = function() {\\n\\t// Get our parameters\\n\\tthis.tiddlerTitle = this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\t// Compute the state\\n\\tvar state = {\\n\\t\\tcurrentTiddler: this.tiddlerTitle || \\\"\\\",\\n\\t\\tmissingTiddlerClass: (this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? \\\"tc-tiddler-exists\\\" : \\\"tc-tiddler-missing\\\",\\n\\t\\tshadowTiddlerClass: this.wiki.isShadowTiddler(this.tiddlerTitle) ? \\\"tc-tiddler-shadow\\\" : \\\"\\\",\\n\\t\\tsystemTiddlerClass: this.wiki.isSystemTiddler(this.tiddlerTitle) ? \\\"tc-tiddler-system\\\" : \\\"\\\",\\n\\t\\ttiddlerTagClasses: this.getTagClasses()\\n\\t};\\n\\t// Compute a simple hash to make it easier to detect changes\\n\\tstate.hash = state.currentTiddler + state.missingTiddlerClass + state.shadowTiddlerClass + state.systemTiddlerClass + state.tiddlerTagClasses;\\n\\treturn state;\\n};\\n\\n/*\\nCreate a string of CSS classes derived from the tags of the current tiddler\\n*/\\nTiddlerWidget.prototype.getTagClasses = function() {\\n\\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\\n\\tif(tiddler) {\\n\\t\\tvar tags = [];\\n\\t\\t$tw.utils.each(tiddler.fields.tags,function(tag) {\\n\\t\\t\\ttags.push(\\\"tc-tagged-\\\" + encodeURIComponent(tag));\\n\\t\\t});\\n\\t\\treturn tags.join(\\\" \\\");\\n\\t} else {\\n\\t\\treturn \\\"\\\";\\n\\t}\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nTiddlerWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes(),\\n\\t\\tnewTiddlerState = this.computeTiddlerState();\\n\\tif(changedAttributes.tiddler || newTiddlerState.hash !== this.tiddlerState.hash) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nexports.tiddler = TiddlerWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/transclude.js\":{\"title\":\"$:/core/modules/widgets/transclude.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/transclude.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nTransclude widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar TranscludeWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nTranscludeWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nTranscludeWidget.prototype.execute = function() {\\n\\t// Get our attributes, string parameters, and slot values into properties of the widget object\\n\\tthis.collectAttributes();\\n\\tthis.collectStringParameters();\\n\\tthis.collectSlotFillParameters();\\n\\t// Determine whether we're being used in inline or block mode\\n\\tvar parseAsInline = !this.parseTreeNode.isBlock;\\n\\tif(this.transcludeMode === \\\"inline\\\") {\\n\\t\\tparseAsInline = true;\\n\\t} else if(this.transcludeMode === \\\"block\\\") {\\n\\t\\tparseAsInline = false;\\n\\t}\\n\\t// Set 'thisTiddler'\\n\\tthis.setVariable(\\\"thisTiddler\\\",this.transcludeTitle);\\n\\tvar parseTreeNodes, target;\\n\\t// Process the transclusion according to the output type\\n\\tswitch(this.transcludeOutput || \\\"text/html\\\") {\\n\\t\\tcase \\\"text/html\\\":\\n\\t\\t\\t// Return the parse tree nodes of the target\\n\\t\\t\\ttarget = this.parseTransclusionTarget(parseAsInline);\\n\\t\\t\\tthis.parseAsInline = target.parseAsInline;\\n\\t\\t\\tparseTreeNodes = target.parseTreeNodes;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"text/raw\\\":\\n\\t\\t\\t// Just return the raw text\\n\\t\\t\\ttarget = this.getTransclusionTarget();\\n\\t\\t\\tparseTreeNodes = [{type: \\\"text\\\", text: target.text}];\\n\\t\\t\\tbreak;\\n\\t\\tdefault:\\n\\t\\t\\t// \\\"text/plain\\\" is the plain text result of wikifying the text\\n\\t\\t\\ttarget = this.parseTransclusionTarget(parseAsInline);\\n\\t\\t\\tvar widgetNode = this.wiki.makeWidget(target.parser,{\\n\\t\\t\\t\\tparentWidget: this,\\n\\t\\t\\t\\tdocument: $tw.fakeDocument\\n\\t\\t\\t});\\n\\t\\t\\tvar container = $tw.fakeDocument.createElement(\\\"div\\\");\\n\\t\\t\\twidgetNode.render(container,null);\\n\\t\\t\\tparseTreeNodes = [{type: \\\"text\\\", text: container.textContent}];\\n\\t\\t\\tbreak;\\n\\t}\\n\\tthis.sourceText = target.text;\\n\\tthis.parserType = target.type;\\n\\t// Set the legacy transclusion context variables only if we're not transcluding a variable\\n\\tif(!this.transcludeVariable) {\\n\\t\\tvar recursionMarker = this.makeRecursionMarker();\\n\\t\\tthis.setVariable(\\\"transclusion\\\",recursionMarker);\\n\\t}\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets(parseTreeNodes);\\n};\\n\\n/*\\nCollect the attributes we need, in the process determining whether we're being used in legacy mode\\n*/\\nTranscludeWidget.prototype.collectAttributes = function() {\\n\\tvar self = this;\\n\\t// Detect legacy mode\\n\\tthis.legacyMode = true;\\n\\t$tw.utils.each(this.attributes,function(value,name) {\\n\\t\\tif(name.charAt(0) === \\\"$\\\") {\\n\\t\\t\\tself.legacyMode = false;\\n\\t\\t}\\n\\t});\\n\\t// Get the attributes for the appropriate mode\\n\\tif(this.legacyMode) {\\n\\t\\tthis.transcludeTitle = this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\t\\tthis.transcludeSubTiddler = this.getAttribute(\\\"subtiddler\\\");\\n\\t\\tthis.transcludeField = this.getAttribute(\\\"field\\\");\\n\\t\\tthis.transcludeIndex = this.getAttribute(\\\"index\\\");\\n\\t\\tthis.transcludeMode = this.getAttribute(\\\"mode\\\");\\n\\t\\tthis.recursionMarker = this.getAttribute(\\\"recursionMarker\\\",\\\"yes\\\");\\n\\t} else {\\n\\t\\tthis.transcludeVariable = this.getAttribute(\\\"$variable\\\");\\n\\t\\tthis.transcludeVariableIsFunction = false;\\n\\t\\tthis.transcludeType = this.getAttribute(\\\"$type\\\");\\n\\t\\tthis.transcludeOutput = this.getAttribute(\\\"$output\\\",\\\"text/html\\\");\\n\\t\\tthis.transcludeTitle = this.getAttribute(\\\"$tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\t\\tthis.transcludeSubTiddler = this.getAttribute(\\\"$subtiddler\\\");\\n\\t\\tthis.transcludeField = this.getAttribute(\\\"$field\\\");\\n\\t\\tthis.transcludeIndex = this.getAttribute(\\\"$index\\\");\\n\\t\\tthis.transcludeMode = this.getAttribute(\\\"$mode\\\");\\n\\t\\tthis.recursionMarker = this.getAttribute(\\\"$recursionMarker\\\",\\\"yes\\\");\\n\\t}\\n};\\n\\n/*\\nCollect string parameters\\n*/\\nTranscludeWidget.prototype.collectStringParameters = function() {\\n\\tvar self = this;\\n\\tthis.stringParametersByName = Object.create(null);\\n\\tif(!this.legacyMode) {\\n\\t\\t$tw.utils.each(this.attributes,function(value,name) {\\n\\t\\t\\tif(name.charAt(0) === \\\"$\\\") {\\n\\t\\t\\t\\tif(name.charAt(1) === \\\"$\\\") {\\n\\t\\t\\t\\t\\t// Attributes starting $$ represent parameters starting with a single $\\n\\t\\t\\t\\t\\tname = name.slice(1);\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t// Attributes starting with a single $ are reserved for the widget\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tself.stringParametersByName[name] = value;\\n\\t\\t});\\n\\t}\\n};\\n\\n/*\\nCollect slot value parameters\\n*/\\nTranscludeWidget.prototype.collectSlotFillParameters = function() {\\n\\tvar self = this;\\n\\tthis.slotFillParseTrees = Object.create(null);\\n\\tif(this.legacyMode) {\\n\\t\\tthis.slotFillParseTrees[\\\"ts-missing\\\"] = this.parseTreeNode.children;\\n\\t} else {\\n\\t\\tthis.slotFillParseTrees[\\\"ts-raw\\\"] = this.parseTreeNode.children;\\n\\t\\tvar noFillWidgetsFound = true,\\n\\t\\t\\tsearchParseTreeNodes = function(nodes) {\\n\\t\\t\\t\\t$tw.utils.each(nodes,function(node) {\\n\\t\\t\\t\\t\\tif(node.type === \\\"fill\\\") {\\n\\t\\t\\t\\t\\t\\tif(node.attributes[\\\"$name\\\"] && node.attributes[\\\"$name\\\"].type === \\\"string\\\") {\\n\\t\\t\\t\\t\\t\\t\\tvar slotValueName = node.attributes[\\\"$name\\\"].value;\\n\\t\\t\\t\\t\\t\\t\\tself.slotFillParseTrees[slotValueName] = node.children || [];\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\tnoFillWidgetsFound = false;\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tsearchParseTreeNodes(node.children);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t});\\n\\t\\t\\t};\\n\\t\\tsearchParseTreeNodes(this.parseTreeNode.children);\\n\\t\\tif(noFillWidgetsFound) {\\n\\t\\t\\tthis.slotFillParseTrees[\\\"ts-missing\\\"] = this.parseTreeNode.children;\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nGet transcluded details as an object {text:,type:}\\n*/\\nTranscludeWidget.prototype.getTransclusionTarget = function() {\\n\\tvar self = this;\\n\\tvar text;\\n\\t// Return the text and type of the target\\n\\tif(this.hasAttribute(\\\"$variable\\\")) {\\n\\t\\tif(this.transcludeVariable) {\\n\\t\\t\\t// Transcluding a variable\\n\\t\\t\\tvar variableInfo = this.getVariableInfo(this.transcludeVariable,{params: this.getOrderedTransclusionParameters()});\\n\\t\\t\\tthis.transcludeVariableIsFunction = variableInfo.srcVariable && variableInfo.srcVariable.isFunctionDefinition;\\n\\t\\t\\ttext = variableInfo.text;\\n\\t\\t\\tthis.transcludeFunctionResult = text;\\n\\t\\t\\treturn {\\n\\t\\t\\t\\ttext: variableInfo.text,\\n\\t\\t\\t\\ttype: this.transcludeType\\n\\t\\t\\t};\\n\\t\\t}\\n\\t} else {\\n\\t\\t// Transcluding a text reference\\n\\t\\tvar parserInfo = this.wiki.getTextReferenceParserInfo(\\n\\t\\t\\t\\t\\t\\tthis.transcludeTitle,\\n\\t\\t\\t\\t\\t\\tthis.transcludeField,\\n\\t\\t\\t\\t\\t\\tthis.transcludeIndex,\\n\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\tsubTiddler: this.transcludeSubTiddler,\\n\\t\\t\\t\\t\\t\\t\\tdefaultType: this.transcludeType\\n\\t\\t\\t\\t\\t\\t});\\n\\t\\treturn {\\n\\t\\t\\ttext: parserInfo.text,\\n\\t\\t\\ttype: parserInfo.type\\n\\t\\t};\\n\\t}\\n};\\n\\n/*\\nGet transcluded parse tree nodes as an object {text:,type:,parseTreeNodes:,parseAsInline:}\\n*/\\nTranscludeWidget.prototype.parseTransclusionTarget = function(parseAsInline) {\\n\\tvar self = this;\\n\\tvar parser;\\n\\t// Get the parse tree\\n\\tif(this.hasAttribute(\\\"$variable\\\")) {\\n\\t\\tif(this.transcludeVariable) {\\n\\t\\t\\t// Transcluding a variable\\n\\t\\t\\tvar variableInfo = this.getVariableInfo(this.transcludeVariable,{params: this.getOrderedTransclusionParameters()}),\\n\\t\\t\\t\\tsrcVariable = variableInfo && variableInfo.srcVariable;\\n\\t\\t\\tif(srcVariable && srcVariable.isFunctionDefinition) {\\n\\t\\t\\t\\tthis.transcludeVariableIsFunction = true;\\n\\t\\t\\t\\tthis.transcludeFunctionResult = (variableInfo.resultList ? variableInfo.resultList[0] : variableInfo.text) || \\\"\\\";\\n\\t\\t\\t}\\n\\t\\t\\tif(variableInfo.text) {\\n\\t\\t\\t\\tif(srcVariable && srcVariable.isFunctionDefinition) {\\n\\t\\t\\t\\t\\tparser = {\\n\\t\\t\\t\\t\\t\\ttree: [{\\n\\t\\t\\t\\t\\t\\t\\ttype: \\\"text\\\",\\n\\t\\t\\t\\t\\t\\t\\ttext: this.transcludeFunctionResult\\n\\t\\t\\t\\t\\t\\t}],\\n\\t\\t\\t\\t\\t\\tsource: this.transcludeFunctionResult,\\n\\t\\t\\t\\t\\t\\ttype: \\\"text/vnd.tiddlywiki\\\"\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\tif(parseAsInline) {\\n\\t\\t\\t\\t\\t\\tparser.tree[0] = {\\n\\t\\t\\t\\t\\t\\t\\ttype: \\\"text\\\",\\n\\t\\t\\t\\t\\t\\t\\ttext: this.transcludeFunctionResult\\n\\t\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tparser.tree[0] = {\\n\\t\\t\\t\\t\\t\\t\\ttype: \\\"element\\\",\\n\\t\\t\\t\\t\\t\\t\\ttag: \\\"p\\\",\\n\\t\\t\\t\\t\\t\\t\\tchildren: [{\\n\\t\\t\\t\\t\\t\\t\\t\\ttype: \\\"text\\\",\\n\\t\\t\\t\\t\\t\\t\\t\\ttext: this.transcludeFunctionResult\\n\\t\\t\\t\\t\\t\\t\\t}]\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tvar cacheKey = (parseAsInline ? \\\"inlineParser\\\" : \\\"blockParser\\\") + (this.transcludeType || \\\"\\\");\\n\\t\\t\\t\\t\\tif(variableInfo.isCacheable && srcVariable[cacheKey]) {\\n\\t\\t\\t\\t\\t\\tparser = srcVariable[cacheKey];\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tparser = this.wiki.parseText(this.transcludeType,variableInfo.text || \\\"\\\",{parseAsInline: parseAsInline, configTrimWhiteSpace: srcVariable && srcVariable.configTrimWhiteSpace});\\n\\t\\t\\t\\t\\t\\tif(variableInfo.isCacheable) {\\n\\t\\t\\t\\t\\t\\t\\tsrcVariable[cacheKey] = parser;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif(parser) {\\n\\t\\t\\t\\t\\t// Add parameters widget for procedures and custom widgets\\n\\t\\t\\t\\t\\tif(srcVariable && (srcVariable.isProcedureDefinition || srcVariable.isWidgetDefinition)) {\\n\\t\\t\\t\\t\\t\\tparser = {\\n\\t\\t\\t\\t\\t\\t\\ttree: [\\n\\t\\t\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\t\\t\\ttype: \\\"parameters\\\",\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tchildren: parser.tree\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t],\\n\\t\\t\\t\\t\\t\\t\\tsource: parser.source,\\n\\t\\t\\t\\t\\t\\t\\ttype: parser.type\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t$tw.utils.each(srcVariable.params,function(param) {\\n\\t\\t\\t\\t\\t\\t\\tvar name = param.name;\\n\\t\\t\\t\\t\\t\\t\\t// Parameter names starting with dollar must be escaped to double dollars\\n\\t\\t\\t\\t\\t\\t\\tif(name.charAt(0) === \\\"$\\\") {\\n\\t\\t\\t\\t\\t\\t\\t\\tname = \\\"$\\\" + name;\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(parser.tree[0],name,param[\\\"default\\\"])\\n\\t\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\t} else if(srcVariable && !srcVariable.isFunctionDefinition) {\\n\\t\\t\\t\\t\\t\\t// For macros and ordinary variables, wrap the parse tree in a vars widget assigning the parameters to variables named \\\"__paramname__\\\"\\n\\t\\t\\t\\t\\t\\tparser = {\\n\\t\\t\\t\\t\\t\\t\\ttree: [\\n\\t\\t\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\t\\t\\ttype: \\\"vars\\\",\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tchildren: parser.tree\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t],\\n\\t\\t\\t\\t\\t\\t\\tsource: parser.source,\\n\\t\\t\\t\\t\\t\\t\\ttype: parser.type\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t$tw.utils.each(variableInfo.params,function(param) {\\n\\t\\t\\t\\t\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(parser.tree[0],\\\"__\\\" + param.name + \\\"__\\\",param.value)\\n\\t\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} else {\\n\\t\\t// Transcluding a text reference\\n\\t\\tparser = this.wiki.parseTextReference(\\n\\t\\t\\t\\t\\t\\tthis.transcludeTitle,\\n\\t\\t\\t\\t\\t\\tthis.transcludeField,\\n\\t\\t\\t\\t\\t\\tthis.transcludeIndex,\\n\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\tparseAsInline: parseAsInline,\\n\\t\\t\\t\\t\\t\\t\\tsubTiddler: this.transcludeSubTiddler,\\n\\t\\t\\t\\t\\t\\t\\tdefaultType: this.transcludeType\\n\\t\\t\\t\\t\\t\\t});\\n\\t}\\n\\t// Return the parse tree\\n\\treturn {\\n\\t\\tparser: parser,\\n\\t\\tparseTreeNodes: parser ? parser.tree : (this.slotFillParseTrees[\\\"ts-missing\\\"] || []),\\n\\t\\tparseAsInline: parseAsInline,\\n\\t\\ttext: parser && parser.source,\\n\\t\\ttype: parser && parser.type\\n\\t};\\n};\\n\\n/*\\nFetch all the string parameters as an ordered array of {name:, value:} where the name is optional\\n*/\\nTranscludeWidget.prototype.getOrderedTransclusionParameters = function() {\\n\\tvar result = [];\\n\\t// Collect the parameters\\n\\tfor(var name in this.stringParametersByName) {\\n\\t\\tvar value = this.stringParametersByName[name];\\n\\t\\tresult.push({name: name, value: value});\\n\\t}\\n\\t// Sort numerical parameter names first\\n\\tresult.sort(function(a,b) {\\n\\t\\tvar aIsNumeric = !isNaN(a.name),\\n\\t\\t\\tbIsNumeric = !isNaN(b.name);\\n\\t\\tif(aIsNumeric && bIsNumeric) {\\n\\t\\t\\treturn a.name - b.name;\\n\\t\\t} else if(aIsNumeric) {\\n\\t\\t\\treturn -1;\\n\\t\\t} else if(bIsNumeric) {\\n\\t\\t\\treturn 1;\\n\\t\\t} else {\\n\\t\\t\\treturn a.name === b.name ? 0 : (a.name < b.name ? -1 : 1);\\n\\t\\t}\\n\\t});\\n\\t// Remove names from numerical parameters\\n\\t$tw.utils.each(result,function(param,index) {\\n\\t\\tif(!isNaN(param.name)) {\\n\\t\\t\\tdelete param.name;\\n\\t\\t}\\n\\t});\\n\\treturn result;\\n};\\n\\n/*\\nFetch the value of a parameter\\n*/\\nTranscludeWidget.prototype.getTransclusionParameter = function(name,index,defaultValue) {\\n\\tif(name in this.stringParametersByName) {\\n\\t\\treturn this.stringParametersByName[name];\\n\\t} else {\\n\\t\\tvar name = \\\"\\\" + index;\\n\\t\\tif(name in this.stringParametersByName) {\\n\\t\\t\\treturn this.stringParametersByName[name];\\n\\t\\t}\\n\\t}\\n\\treturn defaultValue;\\n};\\n\\n/*\\nGet one of the special parameters to be provided by the parameters widget\\n*/\\nTranscludeWidget.prototype.getTransclusionMetaParameters = function() {\\n\\tvar self = this;\\n\\treturn {\\n\\t\\t\\\"parseMode\\\": function() {\\n\\t\\t\\treturn self.parseAsInline ? \\\"inline\\\" : \\\"block\\\";\\n\\t\\t},\\n\\t\\t\\\"parseTreeNodes\\\": function() {\\n\\t\\t\\treturn JSON.stringify(self.parseTreeNode.children || []);\\n\\t\\t},\\n\\t\\t\\\"slotFillParseTreeNodes\\\": function() {\\n\\t\\t\\treturn JSON.stringify(self.slotFillParseTrees);\\n\\t\\t},\\n\\t\\t\\\"params\\\": function() {\\n\\t\\t\\treturn JSON.stringify(self.stringParametersByName);\\n\\t\\t}\\n\\t};\\n};\\n\\n/*\\nFetch the value of a slot\\n*/\\nTranscludeWidget.prototype.getTransclusionSlotFill = function(name,defaultParseTreeNodes) {\\n\\tif(name && this.slotFillParseTrees[name] && this.slotFillParseTrees[name].length > 0) {\\n\\t\\treturn this.slotFillParseTrees[name];\\n\\t} else {\\n\\t\\treturn defaultParseTreeNodes || [];\\n\\t}\\n};\\n\\n/*\\nReturn whether this transclusion should be visible to the slot widget\\n*/\\nTranscludeWidget.prototype.hasVisibleSlots = function() {\\n\\treturn this.getAttribute(\\\"$fillignore\\\",\\\"no\\\") === \\\"no\\\";\\n}\\n\\n/*\\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\\n*/\\nTranscludeWidget.prototype.makeRecursionMarker = function() {\\n\\tvar output = [];\\n\\toutput.push(\\\"{\\\");\\n\\toutput.push(this.getVariable(\\\"currentTiddler\\\",{defaultValue: \\\"\\\"}));\\n\\toutput.push(\\\"|\\\");\\n\\toutput.push(this.transcludeTitle || \\\"\\\");\\n\\toutput.push(\\\"|\\\");\\n\\toutput.push(this.transcludeField || \\\"\\\");\\n\\toutput.push(\\\"|\\\");\\n\\toutput.push(this.transcludeIndex || \\\"\\\");\\n\\toutput.push(\\\"|\\\");\\n\\toutput.push(this.transcludeSubTiddler || \\\"\\\");\\n\\toutput.push(\\\"}\\\");\\n\\treturn output.join(\\\"\\\");\\n};\\n\\nTranscludeWidget.prototype.parserNeedsRefresh = function() {\\n\\t// Doesn't need to consider transcluded variables because a parent variable can't change once a widget has been created\\n\\tvar parserInfo = this.wiki.getTextReferenceParserInfo(this.transcludeTitle,this.transcludeField,this.transcludeIndex,{subTiddler:this.transcludeSubTiddler});\\n\\treturn (this.sourceText === undefined || parserInfo.sourceText !== this.sourceText || parserInfo.parserType !== this.parserType)\\n};\\n\\nTranscludeWidget.prototype.functionNeedsRefresh = function() {\\n\\tvar oldResult = this.transcludeFunctionResult;\\n\\tvar variableInfo = this.getVariableInfo(this.transcludeVariable,{params: this.getOrderedTransclusionParameters()});\\n\\tvar newResult = (variableInfo.resultList ? variableInfo.resultList[0] : variableInfo.text) || \\\"\\\";\\n\\treturn oldResult !== newResult;\\n}\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(($tw.utils.count(changedAttributes) > 0) || (this.transcludeVariableIsFunction && this.functionNeedsRefresh()) || (!this.transcludeVariable && changedTiddlers[this.transcludeTitle] && this.parserNeedsRefresh())) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nexports.transclude = TranscludeWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/vars.js\":{\"title\":\"$:/core/modules/widgets/vars.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/vars.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nThis widget allows multiple variables to be set in one go:\\n\\n```\\n\\\\define helloworld() Hello world!\\n<$vars greeting=\\\"Hi\\\" me={{!!title}} sentence=<<helloworld>>>\\n <<greeting>>! I am <<me>> and I say: <<sentence>>\\n</$vars>\\n```\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar VarsWidget = function(parseTreeNode,options) {\\n\\t// Initialise\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nVarsWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nVarsWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nVarsWidget.prototype.execute = function() {\\n\\t// Parse variables\\n\\tvar self = this;\\n\\t$tw.utils.each(this.attributes,function(val,key) {\\n\\t\\tif(key.charAt(0) !== \\\"$\\\") {\\n\\t\\t\\tself.setVariable(key,val);\\n\\t\\t}\\n\\t});\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nRefresh the widget by ensuring our attributes are up to date\\n*/\\nVarsWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif($tw.utils.count(changedAttributes) > 0) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports[\\\"vars\\\"] = VarsWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/view.js\":{\"title\":\"$:/core/modules/widgets/view.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/view.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nView widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar ViewWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nViewWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nViewWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tif(this.text) {\\n\\t\\tvar textNode = this.document.createTextNode(this.text);\\n\\t\\tparent.insertBefore(textNode,nextSibling);\\n\\t\\tthis.domNodes.push(textNode);\\n\\t} else {\\n\\t\\tthis.makeChildWidgets();\\n\\t\\tthis.renderChildren(parent,nextSibling);\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nViewWidget.prototype.execute = function() {\\n\\t// Get parameters from our attributes\\n\\tthis.viewTitle = this.getAttribute(\\\"tiddler\\\",this.getVariable(\\\"currentTiddler\\\"));\\n\\tthis.viewSubtiddler = this.getAttribute(\\\"subtiddler\\\");\\n\\tthis.viewField = this.getAttribute(\\\"field\\\",\\\"text\\\");\\n\\tthis.viewIndex = this.getAttribute(\\\"index\\\");\\n\\tthis.viewFormat = this.getAttribute(\\\"format\\\",\\\"text\\\");\\n\\tthis.viewTemplate = this.getAttribute(\\\"template\\\",\\\"\\\");\\n\\tthis.viewMode = this.getAttribute(\\\"mode\\\",\\\"block\\\");\\n\\tswitch(this.viewFormat) {\\n\\t\\tcase \\\"htmlwikified\\\":\\n\\t\\t\\tthis.text = this.getValueAsHtmlWikified(this.viewMode);\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"plainwikified\\\":\\n\\t\\t\\tthis.text = this.getValueAsPlainWikified(this.viewMode);\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"htmlencodedplainwikified\\\":\\n\\t\\t\\tthis.text = this.getValueAsHtmlEncodedPlainWikified(this.viewMode);\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"htmlencoded\\\":\\n\\t\\t\\tthis.text = this.getValueAsHtmlEncoded();\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"htmltextencoded\\\":\\n\\t\\t\\tthis.text = this.getValueAsHtmlTextEncoded();\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"urlencoded\\\":\\n\\t\\t\\tthis.text = this.getValueAsUrlEncoded();\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"doubleurlencoded\\\":\\n\\t\\t\\tthis.text = this.getValueAsDoubleUrlEncoded();\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"date\\\":\\n\\t\\t\\tthis.text = this.getValueAsDate(this.viewTemplate);\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"relativedate\\\":\\n\\t\\t\\tthis.text = this.getValueAsRelativeDate();\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"stripcomments\\\":\\n\\t\\t\\tthis.text = this.getValueAsStrippedComments();\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"jsencoded\\\":\\n\\t\\t\\tthis.text = this.getValueAsJsEncoded();\\n\\t\\t\\tbreak;\\n\\t\\tdefault: // \\\"text\\\"\\n\\t\\t\\tthis.text = this.getValueAsText();\\n\\t\\t\\tbreak;\\n\\t}\\n};\\n\\n/*\\nThe various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions\\n*/\\n\\n/*\\nRetrieve the value of the widget. Options are:\\nasString: Optionally return the value as a string\\n*/\\nViewWidget.prototype.getValue = function(options) {\\n\\toptions = options || {};\\n\\tvar value = options.asString ? \\\"\\\" : undefined;\\n\\tif(this.viewIndex) {\\n\\t\\tvalue = this.wiki.extractTiddlerDataItem(this.viewTitle,this.viewIndex);\\n\\t} else {\\n\\t\\tvar tiddler;\\n\\t\\tif(this.viewSubtiddler) {\\n\\t\\t\\ttiddler = this.wiki.getSubTiddler(this.viewTitle,this.viewSubtiddler);\\n\\t\\t} else {\\n\\t\\t\\ttiddler = this.wiki.getTiddler(this.viewTitle);\\n\\t\\t}\\n\\t\\tif(tiddler) {\\n\\t\\t\\tif(this.viewField === \\\"text\\\" && !this.viewSubtiddler) {\\n\\t\\t\\t\\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\\n\\t\\t\\t\\tvalue = this.wiki.getTiddlerText(this.viewTitle);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tif($tw.utils.hop(tiddler.fields,this.viewField)) {\\n\\t\\t\\t\\t\\tif(options.asString) {\\n\\t\\t\\t\\t\\t\\tvalue = tiddler.getFieldString(this.viewField);\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tvalue = tiddler.fields[this.viewField];\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tif(this.viewField === \\\"title\\\") {\\n\\t\\t\\t\\tvalue = this.viewTitle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn value;\\n};\\n\\nViewWidget.prototype.getValueAsText = function() {\\n\\treturn this.getValue({asString: true});\\n};\\n\\nViewWidget.prototype.getValueAsHtmlWikified = function(mode) {\\n\\treturn this.wiki.renderText(\\\"text/html\\\",\\\"text/vnd.tiddlywiki\\\",this.getValueAsText(),{\\n\\t\\tparseAsInline: mode !== \\\"block\\\",\\n\\t\\tparentWidget: this\\n\\t});\\n};\\n\\nViewWidget.prototype.getValueAsPlainWikified = function(mode) {\\n\\treturn this.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",this.getValueAsText(),{\\n\\t\\tparseAsInline: mode !== \\\"block\\\",\\n\\t\\tparentWidget: this\\n\\t});\\n};\\n\\nViewWidget.prototype.getValueAsHtmlEncodedPlainWikified = function(mode) {\\n\\treturn $tw.utils.htmlEncode(this.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",this.getValueAsText(),{\\n\\t\\tparseAsInline: mode !== \\\"block\\\",\\n\\t\\tparentWidget: this\\n\\t}));\\n};\\n\\nViewWidget.prototype.getValueAsHtmlEncoded = function() {\\n\\treturn $tw.utils.htmlEncode(this.getValueAsText());\\n};\\n\\nViewWidget.prototype.getValueAsHtmlTextEncoded = function() {\\n\\treturn $tw.utils.htmlTextEncode(this.getValueAsText());\\n};\\n\\nViewWidget.prototype.getValueAsUrlEncoded = function() {\\n\\treturn $tw.utils.encodeURIComponentExtended(this.getValueAsText());\\n};\\n\\nViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {\\n\\treturn $tw.utils.encodeURIComponentExtended($tw.utils.encodeURIComponentExtended(this.getValueAsText()));\\n};\\n\\nViewWidget.prototype.getValueAsDate = function(format) {\\n\\tformat = format || \\\"YYYY MM DD 0hh:0mm\\\";\\n\\tvar value = $tw.utils.parseDate(this.getValue());\\n\\tif(value && $tw.utils.isDate(value) && value.toString() !== \\\"Invalid Date\\\") {\\n\\t\\treturn $tw.utils.formatDateString(value,format);\\n\\t} else {\\n\\t\\treturn \\\"\\\";\\n\\t}\\n};\\n\\nViewWidget.prototype.getValueAsRelativeDate = function(format) {\\n\\tvar value = $tw.utils.parseDate(this.getValue());\\n\\tif(value && $tw.utils.isDate(value) && value.toString() !== \\\"Invalid Date\\\") {\\n\\t\\treturn $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;\\n\\t} else {\\n\\t\\treturn \\\"\\\";\\n\\t}\\n};\\n\\nViewWidget.prototype.getValueAsStrippedComments = function() {\\n\\tvar lines = this.getValueAsText().split(\\\"\\\\n\\\"),\\n\\t\\tout = [];\\n\\tfor(var line=0; line<lines.length; line++) {\\n\\t\\tvar text = lines[line];\\n\\t\\tif(!/^\\\\s*\\\\/\\\\/#/.test(text)) {\\n\\t\\t\\tout.push(text);\\n\\t\\t}\\n\\t}\\n\\treturn out.join(\\\"\\\\n\\\");\\n};\\n\\nViewWidget.prototype.getValueAsJsEncoded = function() {\\n\\treturn $tw.utils.stringify(this.getValueAsText());\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nViewWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.template || changedAttributes.format || changedTiddlers[this.viewTitle]) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\nexports.view = ViewWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/widget.js\":{\"title\":\"$:/core/modules/widgets/widget.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/widget.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nWidget base class\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/* Maximum permitted depth of the widget tree for recursion detection */\\nvar MAX_WIDGET_TREE_DEPTH = 1000;\\n\\n/*\\nCreate a widget object for a parse tree node\\n\\tparseTreeNode: reference to the parse tree node to be rendered\\n\\toptions: see below\\nOptions include:\\n\\twiki: mandatory reference to wiki associated with this render tree\\n\\tparentWidget: optional reference to a parent renderer node for the context chain\\n\\tdocument: optional document object to use instead of global document\\n*/\\nvar Widget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInitialise widget properties. These steps are pulled out of the constructor so that we can reuse them in subclasses\\n*/\\nWidget.prototype.initialise = function(parseTreeNode,options) {\\n\\t// Bail if parseTreeNode is undefined, meaning that the widget constructor was called without any arguments so that it can be subclassed\\n\\tif(parseTreeNode === undefined) {\\n\\t\\treturn;\\n\\t}\\n\\toptions = options || {};\\n\\t// Save widget info\\n\\tthis.parseTreeNode = parseTreeNode;\\n\\tthis.wiki = options.wiki;\\n\\tthis.parentWidget = options.parentWidget;\\n\\tthis.variables = Object.create(this.parentWidget ? this.parentWidget.variables : null);\\n\\tthis.document = options.document;\\n\\tthis.attributes = {};\\n\\tthis.children = [];\\n\\tthis.domNodes = [];\\n\\tthis.eventListeners = {};\\n\\t// Hashmap of the widget classes\\n\\tif(!this.widgetClasses) {\\n\\t\\t// Get widget classes\\n\\t\\tWidget.prototype.widgetClasses = $tw.modules.applyMethods(\\\"widget\\\");\\n\\t\\t// Process any subclasses\\n\\t\\t$tw.modules.forEachModuleOfType(\\\"widget-subclass\\\",function(title,module) {\\n\\t\\t\\tif(module.baseClass) {\\n\\t\\t\\t\\tvar baseClass = Widget.prototype.widgetClasses[module.baseClass];\\n\\t\\t\\t\\tif(!baseClass) {\\n\\t\\t\\t\\t\\tthrow \\\"Module '\\\" + title + \\\"' is attemping to extend a non-existent base class '\\\" + module.baseClass + \\\"'\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tvar subClass = module.constructor;\\n\\t\\t\\t\\tsubClass.prototype = new baseClass();\\n\\t\\t\\t\\t$tw.utils.extend(subClass.prototype,module.prototype);\\n\\t\\t\\t\\tWidget.prototype.widgetClasses[module.name || module.baseClass] = subClass;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n};\\n\\n/*\\nRender this widget into the DOM\\n*/\\nWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nWidget.prototype.execute = function() {\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nSet the value of a context variable\\nname: name of the variable\\nvalue: value of the variable\\nparams: array of {name:, default:} for each parameter\\nisMacroDefinition: true if the variable is set via a \\\\define macro pragma (and hence should have variable substitution performed)\\noptions includes:\\n\\tisProcedureDefinition: true if the variable is set via a \\\\procedure pragma (and hence should not have variable substitution performed)\\n\\tisFunctionDefinition: true if the variable is set via a \\\\function pragma (and hence should not have variable substitution performed)\\n\\tisWidgetDefinition: true if the variable is set via a \\\\widget pragma (and hence should not have variable substitution performed)\\n*/\\nWidget.prototype.setVariable = function(name,value,params,isMacroDefinition,options) {\\n\\toptions = options || {};\\n\\tthis.variables[name] = {\\n\\t\\tvalue: value,\\n\\t\\tparams: params,\\n\\t\\tisMacroDefinition: !!isMacroDefinition,\\n\\t\\tisFunctionDefinition: !!options.isFunctionDefinition,\\n\\t\\tisProcedureDefinition: !!options.isProcedureDefinition,\\n\\t\\tisWidgetDefinition: !!options.isWidgetDefinition,\\n\\t\\tconfigTrimWhiteSpace: !!options.configTrimWhiteSpace\\n\\t};\\n};\\n\\n/*\\nGet the prevailing value of a context variable\\nname: name of variable\\noptions: see below\\nOptions include\\n\\nparams: array of {name:, value:} for each parameter\\ndefaultValue: default value if the variable is not defined\\nsource: optional source iterator for evaluating function invocations\\nallowSelfAssigned: if true, includes the current widget in the context chain instead of just the parent\\n\\nReturns an object with the following fields:\\n\\nparams: array of {name:,value:} or {value:} of parameters to be applied\\ntext: text of variable, with parameters properly substituted\\nresultList: result of variable evaluation as an array\\nsrcVariable: reference to the object defining the variable\\n*/\\nWidget.prototype.getVariableInfo = function(name,options) {\\n\\toptions = options || {};\\n\\tvar self = this,\\n\\t\\tactualParams = options.params || [],\\n\\t\\tvariable;\\n\\tif(options.allowSelfAssigned) {\\n\\t\\tvariable = this.variables[name];\\n\\t} else {\\n\\t\\tvariable = this.parentWidget && this.parentWidget.variables[name];\\n\\t}\\n\\t// Check for the variable defined in the parent widget (or an ancestor in the prototype chain)\\n\\tif(variable) {\\n\\t\\tvar originalValue = variable.value,\\n\\t\\t\\tvalue = originalValue,\\n\\t\\t\\tparams = [],\\n\\t\\t\\tresultList = [value];\\n\\t\\t// Only substitute parameter and variable references if this variable was defined with the \\\\define pragma\\n\\t\\tif(variable.isMacroDefinition) {\\n\\t\\t\\tparams = self.resolveVariableParameters(variable.params,actualParams);\\n\\t\\t\\t// Substitute any parameters specified in the definition\\n\\t\\t\\t$tw.utils.each(params,function(param) {\\n\\t\\t\\t\\tvalue = $tw.utils.replaceString(value,new RegExp(\\\"\\\\\\\\$\\\" + $tw.utils.escapeRegExp(param.name) + \\\"\\\\\\\\$\\\",\\\"mg\\\"),param.value);\\n\\t\\t\\t});\\n\\t\\t\\tvalue = self.substituteVariableReferences(value,options);\\n\\t\\t\\tresultList = [value];\\n\\t\\t} else if(variable.isFunctionDefinition) {\\n\\t\\t\\t// Function evaluations\\n\\t\\t\\tparams = self.resolveVariableParameters(variable.params,actualParams);\\n\\t\\t\\tvar variables = Object.create(null);\\n\\t\\t\\t// Apply default parameter values\\n\\t\\t\\t$tw.utils.each(variable.params,function(param,index) {\\n\\t\\t\\t\\tif(param[\\\"default\\\"]) {\\n\\t\\t\\t\\t\\tvariables[param.name] = param[\\\"default\\\"];\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t\\t// Parameters are an array of {value:} or {name:, value:} pairs\\n\\t\\t\\t$tw.utils.each(params,function(param) {\\n\\t\\t\\t\\tvariables[param.name] = param.value;\\n\\t\\t\\t});\\n\\t\\t\\tresultList = this.wiki.filterTiddlers(value,this.makeFakeWidgetWithVariables(variables),options.source);\\n\\t\\t\\tvalue = resultList[0] || \\\"\\\";\\n\\t\\t}\\n\\t\\treturn {\\n\\t\\t\\ttext: value,\\n\\t\\t\\tparams: params,\\n\\t\\t\\tresultList: resultList,\\n\\t\\t\\tsrcVariable: variable,\\n\\t\\t\\tisCacheable: originalValue === value\\n\\t\\t};\\n\\t}\\n\\t// If the variable doesn't exist in the parent widget then look for a macro module\\n\\tvar text = this.evaluateMacroModule(name,actualParams);\\n\\tif(text === undefined) {\\n\\t\\ttext = options.defaultValue;\\n\\t}\\n\\treturn {\\n\\t\\ttext: text,\\n\\t\\tresultList: [text]\\n\\t};\\n};\\n\\n/*\\nSimplified version of getVariableInfo() that just returns the text\\n*/\\nWidget.prototype.getVariable = function(name,options) {\\n\\treturn this.getVariableInfo(name,options).text;\\n};\\n\\n/*\\nMaps actual parameters onto formal parameters, returning an array of {name:,value:} objects\\nformalParams - Array of {name:,default:} (default value is optional)\\nactualParams - Array of string values or {name:,value:} (name is optional)\\n*/\\nWidget.prototype.resolveVariableParameters = function(formalParams,actualParams) {\\n\\tformalParams = formalParams || [];\\n\\tactualParams = actualParams || [];\\n\\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\\n\\t\\tparamInfo, paramValue,\\n\\t\\tresults = [];\\n\\t// Step through each of the parameters in the macro definition\\n\\tfor(var p=0; p<formalParams.length; p++) {\\n\\t\\t// Check if we've got a macro call parameter with the same name\\n\\t\\tparamInfo = formalParams[p];\\n\\t\\tparamValue = undefined;\\n\\t\\tfor(var m=0; m<actualParams.length; m++) {\\n\\t\\t\\tif(typeof actualParams[m] !== \\\"string\\\" && actualParams[m].name === paramInfo.name) {\\n\\t\\t\\t\\tparamValue = actualParams[m].value;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t// If not, use the next available anonymous macro call parameter\\n\\t\\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\\n\\t\\t\\tnextAnonParameter++;\\n\\t\\t}\\n\\t\\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\\n\\t\\t\\tvar param = actualParams[nextAnonParameter++];\\n\\t\\t\\tparamValue = typeof param === \\\"string\\\" ? param : param.value;\\n\\t\\t}\\n\\t\\t// If we've still not got a value, use the default, if any\\n\\t\\tparamValue = paramValue || paramInfo[\\\"default\\\"] || \\\"\\\";\\n\\t\\t// Store the parameter name and value\\n\\t\\tresults.push({name: paramInfo.name, value: paramValue});\\n\\t}\\n\\treturn results;\\n};\\n\\nWidget.prototype.substituteVariableReferences = function(text,options) {\\n\\tvar self = this;\\n\\treturn (text || \\\"\\\").replace(/\\\\$\\\\(([^\\\\)\\\\$]+)\\\\)\\\\$/g,function(match,p1,offset,string) {\\n\\t\\treturn options.variables && options.variables[p1] || (self.getVariable(p1,{defaultValue: \\\"\\\"}));\\n\\t});\\n};\\n\\nWidget.prototype.evaluateMacroModule = function(name,actualParams,defaultValue) {\\n\\tif($tw.utils.hop($tw.macros,name)) {\\n\\t\\tvar macro = $tw.macros[name],\\n\\t\\t\\targs = [];\\n\\t\\tif(macro.params.length > 0) {\\n\\t\\t\\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\\n\\t\\t\\t\\tparamInfo, paramValue;\\n\\t\\t\\t// Step through each of the parameters in the macro definition\\n\\t\\t\\tfor(var p=0; p<macro.params.length; p++) {\\n\\t\\t\\t\\t// Check if we've got a macro call parameter with the same name\\n\\t\\t\\t\\tparamInfo = macro.params[p];\\n\\t\\t\\t\\tparamValue = undefined;\\n\\t\\t\\t\\tfor(var m=0; m<actualParams.length; m++) {\\n\\t\\t\\t\\t\\tif(actualParams[m].name === paramInfo.name) {\\n\\t\\t\\t\\t\\t\\tparamValue = actualParams[m].value;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// If not, use the next available anonymous macro call parameter\\n\\t\\t\\t\\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\\n\\t\\t\\t\\t\\tnextAnonParameter++;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\\n\\t\\t\\t\\t\\tparamValue = actualParams[nextAnonParameter++].value;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// If we've still not got a value, use the default, if any\\n\\t\\t\\t\\tparamValue = paramValue || paramInfo[\\\"default\\\"] || \\\"\\\";\\n\\t\\t\\t\\t// Save the parameter\\n\\t\\t\\t\\targs.push(paramValue);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse for(var i=0; i<actualParams.length; ++i) {\\n\\t\\t\\targs.push(actualParams[i].value);\\n\\t\\t}\\n\\t\\treturn (macro.run.apply(this,args) || \\\"\\\").toString();\\n\\t} else {\\n\\t\\treturn defaultValue;\\n\\t}\\n};\\n\\n/*\\nCheck whether a given context variable value exists in the parent chain\\n*/\\nWidget.prototype.hasVariable = function(name,value) {\\n\\tvar node = this;\\n\\twhile(node) {\\n\\t\\tif($tw.utils.hop(node.variables,name) && node.variables[name].value === value) {\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t\\tnode = node.parentWidget;\\n\\t}\\n\\treturn false;\\n};\\n\\n/*\\nConstruct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain\\n*/\\nWidget.prototype.getStateQualifier = function(name) {\\n\\tthis.qualifiers = this.qualifiers || Object.create(null);\\n\\tname = name || \\\"transclusion\\\";\\n\\tif(this.qualifiers[name]) {\\n\\t\\treturn this.qualifiers[name];\\n\\t} else {\\n\\t\\tvar output = [],\\n\\t\\t\\tnode = this;\\n\\t\\twhile(node && node.parentWidget) {\\n\\t\\t\\tif($tw.utils.hop(node.parentWidget.variables,name)) {\\n\\t\\t\\t\\toutput.push(node.getVariable(name));\\n\\t\\t\\t}\\n\\t\\t\\tnode = node.parentWidget;\\n\\t\\t}\\n\\t\\tvar value = $tw.utils.hashString(output.join(\\\"\\\"));\\n\\t\\tthis.qualifiers[name] = value;\\n\\t\\treturn value;\\n\\t}\\n};\\n\\n/*\\nMake a fake widget with specified variables, suitable for variable lookup in filters\\n*/\\nWidget.prototype.makeFakeWidgetWithVariables = function(variables) {\\n\\tvar self = this;\\n\\treturn {\\n\\t\\tgetVariable: function(name,opts) {\\n\\t\\t\\tif($tw.utils.hop(variables,name)) {\\n\\t\\t\\t\\treturn variables[name];\\n\\t\\t\\t} else {\\n\\t\\t\\t\\topts = opts || {};\\n\\t\\t\\t\\topts.variables = variables;\\n\\t\\t\\t\\treturn self.getVariable(name,opts);\\n\\t\\t\\t};\\n\\t\\t},\\n\\t\\tgetVariableInfo: function(name,opts) {\\n\\t\\t\\tif($tw.utils.hop(variables,name)) {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\ttext: variables[name]\\n\\t\\t\\t\\t};\\n\\t\\t\\t} else {\\n\\t\\t\\t\\topts = opts || {};\\n\\t\\t\\t\\topts.variables = variables;\\n\\t\\t\\t\\treturn self.getVariableInfo(name,opts);\\n\\t\\t\\t};\\n\\t\\t},\\n\\t\\tmakeFakeWidgetWithVariables: self.makeFakeWidgetWithVariables,\\n\\t\\tresolveVariableParameters: self.resolveVariableParameters,\\n\\t\\twiki: self.wiki\\n\\t};\\n};\\n\\n/*\\nCompute the current values of the attributes of the widget. Returns a hashmap of the names of the attributes that have changed.\\nOptions include:\\nfilterFn: only include attributes where filterFn(name) returns true\\n*/\\nWidget.prototype.computeAttributes = function(options) {\\n\\toptions = options || {};\\n\\tvar changedAttributes = {},\\n\\t\\tself = this;\\n\\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\\n\\t\\tif(options.filterFn) {\\n\\t\\t\\tif(!options.filterFn(name)) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tvar value = self.computeAttribute(attribute);\\n\\t\\tif(self.attributes[name] !== value) {\\n\\t\\t\\tself.attributes[name] = value;\\n\\t\\t\\tchangedAttributes[name] = true;\\n\\t\\t}\\n\\t});\\n\\treturn changedAttributes;\\n};\\n\\nWidget.prototype.computeAttribute = function(attribute) {\\n\\tvar self = this,\\n\\t\\tvalue;\\n\\tif(attribute.type === \\\"filtered\\\") {\\n\\t\\tvalue = this.wiki.filterTiddlers(attribute.filter,this)[0] || \\\"\\\";\\n\\t} else if(attribute.type === \\\"indirect\\\") {\\n\\t\\tvalue = this.wiki.getTextReference(attribute.textReference,\\\"\\\",this.getVariable(\\\"currentTiddler\\\")) || \\\"\\\";\\n\\t} else if(attribute.type === \\\"macro\\\") {\\n\\t\\tvar variableInfo = this.getVariableInfo(attribute.value.name,{params: attribute.value.params});\\n\\t\\tvalue = variableInfo.text;\\n\\t} else if(attribute.type === \\\"substituted\\\") {\\n\\t\\tvalue = this.wiki.getSubstitutedText(attribute.rawValue,this) || \\\"\\\";\\n\\t} else { // String attribute\\n\\t\\tvalue = attribute.value;\\n\\t}\\n\\treturn value;\\n};\\n\\n/*\\nCheck for the presence of an evaluated attribute on the widget. Note that attributes set to a missing variable (ie attr=<<missing>>) will be treated as missing\\n*/\\nWidget.prototype.hasAttribute = function(name) {\\n\\treturn $tw.utils.hop(this.attributes,name);\\n};\\n\\n/*\\nCheck for the presence of a raw attribute on the widget parse tree node. Note that attributes set to a missing variable (ie attr=<<missing>>) will NOT be treated as missing\\n*/\\nWidget.prototype.hasParseTreeNodeAttribute = function(name) {\\n\\treturn $tw.utils.hop(this.parseTreeNode.attributes,name);\\n};\\n\\n/*\\nGet the value of an attribute\\n*/\\nWidget.prototype.getAttribute = function(name,defaultText) {\\n\\tif($tw.utils.hop(this.attributes,name)) {\\n\\t\\treturn this.attributes[name];\\n\\t} else {\\n\\t\\treturn defaultText;\\n\\t}\\n};\\n\\n/*\\nAssign the common attributes of the widget to a domNode\\noptions include:\\nsourcePrefix: prefix of attributes that are to be directly assigned (defaults to the empty string meaning all attributes)\\ndestPrefix: prefix to be applied to attribute names that are to be directly assigned (defaults to the emtpy string which means no prefix is added)\\nchangedAttributes: hashmap by attribute name of attributes to process (if missing, process all attributes)\\nexcludeEventAttributes: ignores attributes whose name would begin with \\\"on\\\"\\n*/\\nWidget.prototype.assignAttributes = function(domNode,options) {\\n\\toptions = options || {};\\n\\tvar self = this,\\n\\t\\tchangedAttributes = options.changedAttributes || this.attributes,\\n\\t\\tsourcePrefix = options.sourcePrefix || \\\"\\\",\\n\\t\\tdestPrefix = options.destPrefix || \\\"\\\",\\n\\t\\tEVENT_ATTRIBUTE_PREFIX = \\\"on\\\";\\n\\tvar assignAttribute = function(name,value) {\\n\\t\\t// Process any style attributes before considering sourcePrefix and destPrefix\\n\\t\\tif(name.substr(0,6) === \\\"style.\\\" && name.length > 6) {\\n\\t\\t\\tdomNode.style[$tw.utils.unHyphenateCss(name.substr(6))] = value;\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\t// Check if the sourcePrefix is a match\\n\\t\\tif(name.substr(0,sourcePrefix.length) === sourcePrefix) {\\n\\t\\t\\tname = destPrefix + name.substr(sourcePrefix.length);\\n\\t\\t} else {\\n\\t\\t\\tvalue = undefined;\\n\\t\\t}\\n\\t\\t// Check for excluded attribute names\\n\\t\\tif(options.excludeEventAttributes && name.substr(0,2).toLowerCase() === EVENT_ATTRIBUTE_PREFIX) {\\n\\t\\t\\tvalue = undefined;\\n\\t\\t}\\n\\t\\tif(value !== undefined) {\\n\\t\\t\\t// Handle the xlink: namespace\\n\\t\\t\\tvar namespace = null;\\n\\t\\t\\tif(name.substr(0,6) === \\\"xlink:\\\" && name.length > 6) {\\n\\t\\t\\t\\tnamespace = \\\"http://www.w3.org/1999/xlink\\\";\\n\\t\\t\\t\\tname = name.substr(6);\\n\\t\\t\\t}\\n\\t\\t\\t// Setting certain attributes can cause a DOM error (eg xmlns on the svg element)\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tdomNode.setAttributeNS(namespace,name,value);\\n\\t\\t\\t} catch(e) {\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n\\t// If the parse tree node has the orderedAttributes property then use that order\\n\\tif(this.parseTreeNode.orderedAttributes) {\\n\\t\\t$tw.utils.each(this.parseTreeNode.orderedAttributes,function(attribute,index) {\\n\\t\\t\\tif(attribute.name in changedAttributes) {\\n\\t\\t\\t\\tassignAttribute(attribute.name,self.getAttribute(attribute.name));\\n\\t\\t\\t}\\n\\t\\t});\\n\\t// Otherwise update each changed attribute irrespective of order\\n\\t} else {\\n\\t\\t$tw.utils.each(changedAttributes,function(value,name) {\\n\\t\\t\\tassignAttribute(name,self.getAttribute(name));\\n\\t\\t});\\t\\n\\t}\\n};\\n\\n/*\\nGet the number of ancestor widgets for this widget\\n*/\\nWidget.prototype.getAncestorCount = function() {\\n\\tif(this.ancestorCount === undefined) {\\n\\t\\tif(this.parentWidget) {\\n\\t\\t\\tthis.ancestorCount = this.parentWidget.getAncestorCount() + 1;\\n\\t\\t} else {\\n\\t\\t\\tthis.ancestorCount = 0;\\n\\t\\t}\\n\\t}\\n\\treturn this.ancestorCount;\\n};\\n\\n/*\\nMake child widgets correspondng to specified parseTreeNodes\\n*/\\nWidget.prototype.makeChildWidgets = function(parseTreeNodes,options) {\\n\\toptions = options || {};\\n\\tthis.children = [];\\n\\tvar self = this;\\n\\t// Check for too much recursion\\n\\tif(this.getAncestorCount() > MAX_WIDGET_TREE_DEPTH) {\\n\\t\\tthis.children.push(this.makeChildWidget({type: \\\"error\\\", attributes: {\\n\\t\\t\\t\\\"$message\\\": {type: \\\"string\\\", value: $tw.language.getString(\\\"Error/RecursiveTransclusion\\\")}\\n\\t\\t}}));\\n\\t} else {\\n\\t\\t// Create set variable widgets for each variable\\n\\t\\t$tw.utils.each(options.variables,function(value,name) {\\n\\t\\t\\tvar setVariableWidget = {\\n\\t\\t\\t\\ttype: \\\"set\\\",\\n\\t\\t\\t\\tattributes: {\\n\\t\\t\\t\\t\\tname: {type: \\\"string\\\", value: name},\\n\\t\\t\\t\\t\\tvalue: {type: \\\"string\\\", value: value}\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\tchildren: parseTreeNodes\\n\\t\\t\\t};\\n\\t\\t\\tparseTreeNodes = [setVariableWidget];\\n\\t\\t});\\n\\t\\t// Create the child widgets\\n\\t\\t$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {\\n\\t\\t\\tself.children.push(self.makeChildWidget(childNode));\\n\\t\\t});\\n\\t}\\n};\\n\\n/*\\nConstruct the widget object for a parse tree node\\noptions include:\\n\\tvariables: optional hashmap of variables to wrap around the widget\\n*/\\nWidget.prototype.makeChildWidget = function(parseTreeNode,options) {\\n\\tvar self = this;\\n\\toptions = options || {};\\n\\t// Check whether this node type is defined by a custom widget definition\\n\\tvar variableDefinitionName = \\\"$\\\" + parseTreeNode.type;\\n\\tif(this.variables[variableDefinitionName]) {\\n\\t\\tvar isOverrideable = function() {\\n\\t\\t\\t\\t// Widget is overrideable if its name contains a period, or if it is an existing JS widget and we're not in safe mode\\n\\t\\t\\t\\treturn parseTreeNode.type.indexOf(\\\".\\\") !== -1 || (!!self.widgetClasses[parseTreeNode.type] && !$tw.safeMode);\\n\\t\\t\\t};\\n\\t\\tif(!parseTreeNode.isNotRemappable && isOverrideable()) { \\n\\t\\t\\tvar variableInfo = this.getVariableInfo(variableDefinitionName,{allowSelfAssigned: true});\\n\\t\\t\\tif(variableInfo && variableInfo.srcVariable && variableInfo.srcVariable.value && variableInfo.srcVariable.isWidgetDefinition) {\\n\\t\\t\\t\\tvar newParseTreeNode = {\\n\\t\\t\\t\\t\\ttype: \\\"transclude\\\",\\n\\t\\t\\t\\t\\tchildren: parseTreeNode.children,\\n\\t\\t\\t\\t\\tisBlock: parseTreeNode.isBlock\\n\\t\\t\\t\\t};\\n\\t\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(newParseTreeNode,\\\"$variable\\\",variableDefinitionName);\\n\\t\\t\\t\\t$tw.utils.each(parseTreeNode.attributes,function(attr,name) {\\n\\t\\t\\t\\t\\t// If the attribute starts with a dollar then add an extra dollar so that it doesn't clash with the $xxx attributes of transclude\\n\\t\\t\\t\\t\\tname = name.charAt(0) === \\\"$\\\" ? \\\"$\\\" + name : name;\\n\\t\\t\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(newParseTreeNode,$tw.utils.extend({},attr,{name: name}));\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\tparseTreeNode = newParseTreeNode;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// Get the widget class for this node type\\n\\tvar WidgetClass = this.widgetClasses[parseTreeNode.type];\\n\\tif(!WidgetClass) {\\n\\t\\tWidgetClass = this.widgetClasses.text;\\n\\t\\tparseTreeNode = {type: \\\"text\\\", text: \\\"Undefined widget '\\\" + parseTreeNode.type + \\\"'\\\"};\\n\\t}\\n\\t// Create set variable widgets for each variable\\n\\t$tw.utils.each(options.variables,function(value,name) {\\n\\t\\tvar setVariableWidget = {\\n\\t\\t\\ttype: \\\"set\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\tname: {type: \\\"string\\\", value: name},\\n\\t\\t\\t\\tvalue: {type: \\\"string\\\", value: value}\\n\\t\\t\\t},\\n\\t\\t\\tchildren: [\\n\\t\\t\\t\\tparseTreeNode\\n\\t\\t\\t]\\n\\t\\t};\\n\\t\\tparseTreeNode = setVariableWidget;\\n\\t});\\n\\treturn new WidgetClass(parseTreeNode,{\\n\\t\\twiki: this.wiki,\\n\\t\\tparentWidget: this,\\n\\t\\tdocument: this.document\\n\\t});\\n};\\n\\n/*\\nGet the next sibling of this widget\\n*/\\nWidget.prototype.nextSibling = function() {\\n\\tif(this.parentWidget) {\\n\\t\\tvar index = this.parentWidget.children.indexOf(this);\\n\\t\\tif(index !== -1 && index < this.parentWidget.children.length-1) {\\n\\t\\t\\treturn this.parentWidget.children[index+1];\\n\\t\\t}\\n\\t}\\n\\treturn null;\\n};\\n\\n/*\\nGet the previous sibling of this widget\\n*/\\nWidget.prototype.previousSibling = function() {\\n\\tif(this.parentWidget) {\\n\\t\\tvar index = this.parentWidget.children.indexOf(this);\\n\\t\\tif(index !== -1 && index > 0) {\\n\\t\\t\\treturn this.parentWidget.children[index-1];\\n\\t\\t}\\n\\t}\\n\\treturn null;\\n};\\n\\n/*\\nRender the children of this widget into the DOM\\n*/\\nWidget.prototype.renderChildren = function(parent,nextSibling) {\\n\\tvar children = this.children;\\n\\tfor(var i = 0; i < children.length; i++) {\\n\\t\\tchildren[i].render(parent,nextSibling);\\n\\t};\\n};\\n\\n/*\\nAdd a list of event listeners from an array [{type:,handler:},...]\\n*/\\nWidget.prototype.addEventListeners = function(listeners) {\\n\\tvar self = this;\\n\\t$tw.utils.each(listeners,function(listenerInfo) {\\n\\t\\tself.addEventListener(listenerInfo.type,listenerInfo.handler);\\n\\t});\\n};\\n\\n/*\\nAdd an event listener\\n*/\\nWidget.prototype.addEventListener = function(type,handler) {\\n\\tvar self = this;\\n\\tif(typeof handler === \\\"string\\\") { // The handler is a method name on this widget\\n\\t\\tthis.eventListeners[type] = function(event) {\\n\\t\\t\\treturn self[handler].call(self,event);\\n\\t\\t};\\n\\t} else { // The handler is a function\\n\\t\\tthis.eventListeners[type] = function(event) {\\n\\t\\t\\treturn handler.call(self,event);\\n\\t\\t};\\n\\t}\\n};\\n\\n/*\\nDispatch an event to a widget. If the widget doesn't handle the event then it is also dispatched to the parent widget\\n*/\\nWidget.prototype.dispatchEvent = function(event) {\\n\\tevent.widget = event.widget || this;\\n\\t// Dispatch the event if this widget handles it\\n\\tvar listener = this.eventListeners[event.type];\\n\\tif(listener) {\\n\\t\\t// Don't propagate the event if the listener returned false\\n\\t\\tif(!listener(event)) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t}\\n\\t// Dispatch the event to the parent widget\\n\\tif(this.parentWidget) {\\n\\t\\treturn this.parentWidget.dispatchEvent(event);\\n\\t}\\n\\treturn true;\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nWidget.prototype.refresh = function(changedTiddlers) {\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\n/*\\nRebuild a previously rendered widget\\n*/\\nWidget.prototype.refreshSelf = function() {\\n\\tvar nextSibling = this.findNextSiblingDomNode();\\n\\tthis.removeChildDomNodes();\\n\\tthis.render(this.parentDomNode,nextSibling);\\n};\\n\\n/*\\nRefresh all the children of a widget\\n*/\\nWidget.prototype.refreshChildren = function(changedTiddlers) {\\n\\tvar children = this.children,\\n\\t\\trefreshed = false;\\n\\tfor (var i = 0; i < children.length; i++) {\\n\\t\\trefreshed = children[i].refresh(changedTiddlers) || refreshed;\\n\\t}\\n\\treturn refreshed;\\n};\\n\\n/*\\nFind the next sibling in the DOM to this widget. This is done by scanning the widget tree through all next siblings and their descendents that share the same parent DOM node\\n*/\\nWidget.prototype.findNextSiblingDomNode = function(startIndex) {\\n\\t// Refer to this widget by its index within its parents children\\n\\tvar parent = this.parentWidget,\\n\\t\\tindex = startIndex !== undefined ? startIndex : parent.children.indexOf(this);\\nif(index === -1) {\\n\\tthrow \\\"node not found in parents children\\\";\\n}\\n\\t// Look for a DOM node in the later siblings\\n\\twhile(++index < parent.children.length) {\\n\\t\\tvar domNode = parent.children[index].findFirstDomNode();\\n\\t\\tif(domNode) {\\n\\t\\t\\treturn domNode;\\n\\t\\t}\\n\\t}\\n\\t// Go back and look for later siblings of our parent if it has the same parent dom node\\n\\tvar grandParent = parent.parentWidget;\\n\\tif(grandParent && parent.parentDomNode === this.parentDomNode) {\\n\\t\\tindex = grandParent.children.indexOf(parent);\\n\\t\\tif(index !== -1) {\\n\\t\\t\\treturn parent.findNextSiblingDomNode(index);\\n\\t\\t}\\n\\t}\\n\\treturn null;\\n};\\n\\n/*\\nFind the first DOM node generated by a widget or its children\\n*/\\nWidget.prototype.findFirstDomNode = function() {\\n\\t// Return the first dom node of this widget, if we've got one\\n\\tif(this.domNodes.length > 0) {\\n\\t\\treturn this.domNodes[0];\\n\\t}\\n\\t// Otherwise, recursively call our children\\n\\tfor(var t=0; t<this.children.length; t++) {\\n\\t\\tvar domNode = this.children[t].findFirstDomNode();\\n\\t\\tif(domNode) {\\n\\t\\t\\treturn domNode;\\n\\t\\t}\\n\\t}\\n\\treturn null;\\n};\\n\\n/*\\nRemove any DOM nodes created by this widget or its children\\n*/\\nWidget.prototype.removeChildDomNodes = function() {\\n\\t// If this widget has directly created DOM nodes, delete them and exit. This assumes that any child widgets are contained within the created DOM nodes, which would normally be the case\\n\\tif(this.domNodes.length > 0) {\\n\\t\\t$tw.utils.each(this.domNodes,function(domNode) {\\n\\t\\t\\tdomNode.parentNode.removeChild(domNode);\\n\\t\\t});\\n\\t\\tthis.domNodes = [];\\n\\t} else {\\n\\t\\t// Otherwise, ask the child widgets to delete their DOM nodes\\n\\t\\t$tw.utils.each(this.children,function(childWidget) {\\n\\t\\t\\tchildWidget.removeChildDomNodes();\\n\\t\\t});\\n\\t}\\n};\\n\\n/*\\nInvoke the action widgets that are descendents of the current widget.\\n*/\\nWidget.prototype.invokeActions = function(triggeringWidget,event) {\\n\\tvar handled = false;\\n\\t// For each child widget\\n\\tfor(var t=0; t<this.children.length; t++) {\\n\\t\\tvar child = this.children[t],\\n\\t\\t\\tchildIsActionWidget = !!child.invokeAction,\\n\\t\\t\\tactionRefreshPolicy = child.getVariable(\\\"tv-action-refresh-policy\\\"); // Default is \\\"once\\\"\\n\\t\\t// Refresh the child if required\\n\\t\\tif(childIsActionWidget || actionRefreshPolicy === \\\"always\\\") {\\n\\t\\t\\tchild.refreshSelf();\\n\\t\\t}\\n\\t\\t// Invoke the child if it is an action widget\\n\\t\\tif(childIsActionWidget) {\\n\\t\\t\\tif(child.invokeAction(triggeringWidget,event)) {\\n\\t\\t\\t\\thandled = true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t// Propagate through through the child if it permits it\\n\\t\\tif(child.allowActionPropagation() && child.invokeActions(triggeringWidget,event)) {\\n\\t\\t\\thandled = true;\\n\\t\\t}\\n\\t}\\n\\treturn handled;\\n};\\n\\n/*\\nInvoke the action widgets defined in a string\\n*/\\nWidget.prototype.invokeActionString = function(actions,triggeringWidget,event,variables) {\\n\\tactions = actions || \\\"\\\";\\n\\tvar parser = this.wiki.parseText(\\\"text/vnd.tiddlywiki\\\",actions,{\\n\\t\\t\\tparentWidget: this,\\n\\t\\t\\tdocument: this.document\\n\\t\\t}),\\n\\t\\twidgetNode = this.wiki.makeWidget(parser,{\\n\\t\\t\\tparentWidget: this,\\n\\t\\t\\tdocument: this.document,\\n\\t\\t\\tvariables: variables\\n\\t\\t});\\n\\tvar container = this.document.createElement(\\\"div\\\");\\n\\twidgetNode.render(container,null);\\n\\treturn widgetNode.invokeActions(this,event);\\n};\\n\\n/*\\nExecute action tiddlers by tag\\n*/\\nWidget.prototype.invokeActionsByTag = function(tag,event,variables) {\\n\\tvar self = this;\\n\\t$tw.utils.each(self.wiki.filterTiddlers(\\\"[all[shadows+tiddlers]tag[\\\" + tag + \\\"]!has[draft.of]]\\\"),function(title) {\\n\\t\\tself.invokeActionString(self.wiki.getTiddlerText(title),self,event,variables);\\n\\t});\\n};\\n\\nWidget.prototype.allowActionPropagation = function() {\\n\\treturn true;\\n};\\n\\n/*\\nEvaluate a variable with parameters. This is a static convenience method that attempts to evaluate a variable as a function, returning an array of strings\\n*/\\nWidget.evaluateVariable = function(widget,name,options) {\\n\\tvar result;\\n\\tif(widget.getVariableInfo) {\\n\\t\\tvar variableInfo = widget.getVariableInfo(name,options);\\n\\t\\tresult = variableInfo.resultList || [variableInfo.text];\\n\\t} else {\\n\\t\\tresult = [widget.getVariable(name)];\\n\\t}\\n\\treturn result;\\n};\\n\\nexports.widget = Widget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/widgets/wikify.js\":{\"title\":\"$:/core/modules/widgets/wikify.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/widgets/wikify.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nWidget to wikify text into a variable\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar WikifyWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nWikifyWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nWikifyWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,nextSibling);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nWikifyWidget.prototype.execute = function() {\\n\\t// Get our parameters\\n\\tthis.wikifyName = this.getAttribute(\\\"name\\\");\\n\\tthis.wikifyText = this.getAttribute(\\\"text\\\");\\n\\tthis.wikifyType = this.getAttribute(\\\"type\\\");\\n\\tthis.wikifyMode = this.getAttribute(\\\"mode\\\",\\\"block\\\");\\n\\tthis.wikifyOutput = this.getAttribute(\\\"output\\\",\\\"text\\\");\\n\\t// Create the parse tree\\n\\tthis.wikifyParser = this.wiki.parseText(this.wikifyType,this.wikifyText,{\\n\\t\\t\\tparseAsInline: this.wikifyMode === \\\"inline\\\"\\n\\t\\t});\\n\\t// Create the widget tree \\n\\tthis.wikifyWidgetNode = this.wiki.makeWidget(this.wikifyParser,{\\n\\t\\t\\tdocument: $tw.fakeDocument,\\n\\t\\t\\tparentWidget: this\\n\\t\\t});\\n\\t// Render the widget tree to the container\\n\\tthis.wikifyContainer = $tw.fakeDocument.createElement(\\\"div\\\");\\n\\tthis.wikifyWidgetNode.render(this.wikifyContainer,null);\\n\\tthis.wikifyResult = this.getResult();\\n\\t// Set context variable\\n\\tthis.setVariable(this.wikifyName,this.wikifyResult);\\n\\t// Construct the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nReturn the result string\\n*/\\nWikifyWidget.prototype.getResult = function() {\\n\\tvar result;\\n\\tswitch(this.wikifyOutput) {\\n\\t\\tcase \\\"text\\\":\\n\\t\\t\\tresult = this.wikifyContainer.textContent;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"formattedtext\\\":\\n\\t\\t\\tresult = this.wikifyContainer.formattedTextContent;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"html\\\":\\n\\t\\t\\tresult = this.wikifyContainer.innerHTML;\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"parsetree\\\":\\n\\t\\t\\tresult = JSON.stringify(this.wikifyParser.tree,0,$tw.config.preferences.jsonSpaces);\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"widgettree\\\":\\n\\t\\t\\tresult = JSON.stringify(this.getWidgetTree(),0,$tw.config.preferences.jsonSpaces);\\n\\t\\t\\tbreak;\\n\\t}\\n\\treturn result;\\n};\\n\\n/*\\nReturn a string of the widget tree\\n*/\\nWikifyWidget.prototype.getWidgetTree = function() {\\n\\tvar copyNode = function(widgetNode,resultNode) {\\n\\t\\t\\tvar type = widgetNode.parseTreeNode.type;\\n\\t\\t\\tresultNode.type = type;\\n\\t\\t\\tswitch(type) {\\n\\t\\t\\t\\tcase \\\"element\\\":\\n\\t\\t\\t\\t\\tresultNode.tag = widgetNode.parseTreeNode.tag;\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\tcase \\\"text\\\":\\n\\t\\t\\t\\t\\tresultNode.text = widgetNode.parseTreeNode.text;\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t\\tif(Object.keys(widgetNode.attributes || {}).length > 0) {\\n\\t\\t\\t\\tresultNode.attributes = {};\\n\\t\\t\\t\\t$tw.utils.each(widgetNode.attributes,function(attr,attrName) {\\n\\t\\t\\t\\t\\tresultNode.attributes[attrName] = widgetNode.getAttribute(attrName);\\n\\t\\t\\t\\t});\\n\\t\\t\\t}\\n\\t\\t\\tif(Object.keys(widgetNode.children || {}).length > 0) {\\n\\t\\t\\t\\tresultNode.children = [];\\n\\t\\t\\t\\t$tw.utils.each(widgetNode.children,function(widgetChildNode) {\\n\\t\\t\\t\\t\\tvar node = {};\\n\\t\\t\\t\\t\\tresultNode.children.push(node);\\n\\t\\t\\t\\t\\tcopyNode(widgetChildNode,node);\\n\\t\\t\\t\\t});\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tresults = {};\\n\\tcopyNode(this.wikifyWidgetNode,results);\\n\\treturn results;\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nWikifyWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\t// Refresh ourselves entirely if any of our attributes have changed\\n\\tif(changedAttributes.name || changedAttributes.text || changedAttributes.type || changedAttributes.mode || changedAttributes.output) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\t// Refresh the widget tree\\n\\t\\tif(this.wikifyWidgetNode.refresh(changedTiddlers)) {\\n\\t\\t\\t// Check if there was any change\\n\\t\\t\\tvar result = this.getResult();\\n\\t\\t\\tif(result !== this.wikifyResult) {\\n\\t\\t\\t\\t// If so, save the change\\n\\t\\t\\t\\tthis.wikifyResult = result;\\n\\t\\t\\t\\tthis.setVariable(this.wikifyName,this.wikifyResult);\\n\\t\\t\\t\\t// Refresh each of our child widgets\\n\\t\\t\\t\\t$tw.utils.each(this.children,function(childWidget) {\\n\\t\\t\\t\\t\\tchildWidget.refreshSelf();\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t// Just refresh the children\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nexports.wikify = WikifyWidget;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/core/modules/wiki-bulkops.js\":{\"title\":\"$:/core/modules/wiki-bulkops.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/wiki-bulkops.js\\ntype: application/javascript\\nmodule-type: wikimethod\\n\\nBulk tiddler operations such as rename.\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nRename a tiddler, and relink any tags or lists that reference it.\\n*/\\nfunction renameTiddler(fromTitle,toTitle,options) {\\n\\tfromTitle = (fromTitle || \\\"\\\").trim();\\n\\ttoTitle = (toTitle || \\\"\\\").trim();\\n\\toptions = options || {};\\n\\tif(fromTitle && toTitle && fromTitle !== toTitle) {\\n\\t\\t// Rename the tiddler itself\\n\\t\\tvar oldTiddler = this.getTiddler(fromTitle),\\n\\t\\t\\tnewTiddler = new $tw.Tiddler(oldTiddler,{title: toTitle},this.getModificationFields());\\n\\t\\tnewTiddler = $tw.hooks.invokeHook(\\\"th-renaming-tiddler\\\",newTiddler,oldTiddler);\\n\\t\\tthis.addTiddler(newTiddler);\\n\\t\\tthis.deleteTiddler(fromTitle);\\n\\t\\t// Rename any tags or lists that reference it\\n\\t\\tthis.relinkTiddler(fromTitle,toTitle,options)\\n\\t}\\n}\\n\\n/*\\nRelink any tags or lists that reference a given tiddler\\n*/\\nfunction relinkTiddler(fromTitle,toTitle,options) {\\n\\tvar self = this;\\n\\tfromTitle = (fromTitle || \\\"\\\").trim();\\n\\ttoTitle = (toTitle || \\\"\\\").trim();\\n\\toptions = options || {};\\n\\tif(fromTitle && toTitle && fromTitle !== toTitle) {\\n\\t\\tthis.each(function(tiddler,title) {\\n\\t\\t\\tvar type = tiddler.fields.type || \\\"\\\";\\n\\t\\t\\t// Don't touch plugins or JavaScript modules\\n\\t\\t\\tif(!tiddler.fields[\\\"plugin-type\\\"] && type !== \\\"application/javascript\\\") {\\n\\t\\t\\t\\tvar tags = tiddler.fields.tags ? tiddler.fields.tags.slice(0) : undefined,\\n\\t\\t\\t\\t\\tlist = tiddler.fields.list ? tiddler.fields.list.slice(0) : undefined,\\n\\t\\t\\t\\t\\tisModified = false,\\n\\t\\t\\t\\t\\tprocessList = function(listField) {\\n\\t\\t\\t\\t\\t\\tif(listField && listField.indexOf(fromTitle) !== -1) {\\n\\t\\t\\t\\t\\t\\t\\t// Remove any existing instances of the toTitle\\n\\t\\t\\t\\t\\t\\t\\tvar p = listField.indexOf(toTitle);\\n\\t\\t\\t\\t\\t\\t\\twhile(p !== -1) {\\n\\t\\t\\t\\t\\t\\t\\t\\tlistField.splice(p,1);\\n\\t\\t\\t\\t\\t\\t\\t\\tp = listField.indexOf(toTitle);\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t// Replace the fromTitle with toTitle\\n\\t\\t\\t\\t\\t\\t\\t$tw.utils.each(listField,function (title,index) {\\n\\t\\t\\t\\t\\t\\t\\t\\tif(title === fromTitle) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tlistField[index] = toTitle;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tisModified = true;\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\tif(!options.dontRenameInTags) {\\n\\t\\t\\t\\t\\t// Rename tags\\n\\t\\t\\t\\t\\tprocessList(tags);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif(!options.dontRenameInLists) {\\n\\t\\t\\t\\t\\t// Rename lists\\n\\t\\t\\t\\t\\tprocessList(list);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif(isModified) {\\n\\t\\t\\t\\t\\tvar newTiddler = new $tw.Tiddler(tiddler,{tags: tags, list: list},self.getModificationFields())\\n\\t\\t\\t\\t\\tnewTiddler = $tw.hooks.invokeHook(\\\"th-relinking-tiddler\\\",newTiddler,tiddler);\\n\\t\\t\\t\\t\\tself.addTiddler(newTiddler);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n};\\n\\nexports.renameTiddler = renameTiddler;\\nexports.relinkTiddler = relinkTiddler;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikimethod\"},\"$:/core/modules/wiki.js\":{\"title\":\"$:/core/modules/wiki.js\",\"text\":\"/*\\\\\\ntitle: $:/core/modules/wiki.js\\ntype: application/javascript\\nmodule-type: wikimethod\\n\\nExtension methods for the $tw.Wiki object\\n\\nAdds the following properties to the wiki object:\\n\\n* `eventListeners` is a hashmap by type of arrays of listener functions\\n* `changedTiddlers` is a hashmap describing changes to named tiddlers since wiki change events were last dispatched. Each entry is a hashmap containing two fields:\\n\\tmodified: true/false\\n\\tdeleted: true/false\\n* `changeCount` is a hashmap by tiddler title containing a numerical index that starts at zero and is incremented each time a tiddler is created changed or deleted\\n* `caches` is a hashmap by tiddler title containing a further hashmap of named cache objects. Caches are automatically cleared when a tiddler is modified or deleted\\n* `globalCache` is a hashmap by cache name of cache objects that are cleared whenever any tiddler change occurs\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar widget = require(\\\"$:/core/modules/widgets/widget.js\\\");\\n\\nvar USER_NAME_TITLE = \\\"$:/status/UserName\\\",\\n\\tTIMESTAMP_DISABLE_TITLE = \\\"$:/config/TimestampDisable\\\";\\n\\n/*\\nAdd available indexers to this wiki\\n*/\\nexports.addIndexersToWiki = function() {\\n\\tvar self = this;\\n\\t$tw.utils.each($tw.modules.applyMethods(\\\"indexer\\\"),function(Indexer,name) {\\n\\t\\tself.addIndexer(new Indexer(self),name);\\n\\t});\\n};\\n\\n/*\\nGet the value of a text reference. Text references can have any of these forms:\\n\\t<tiddlertitle>\\n\\t<tiddlertitle>!!<fieldname>\\n\\t!!<fieldname> - specifies a field of the current tiddlers\\n\\t<tiddlertitle>##<index>\\n*/\\nexports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {\\n\\tvar tr = $tw.utils.parseTextReference(textRef),\\n\\t\\ttitle = tr.title || currTiddlerTitle;\\n\\tif(tr.field) {\\n\\t\\tvar tiddler = this.getTiddler(title);\\n\\t\\tif(tr.field === \\\"title\\\") { // Special case so we can return the title of a non-existent tiddler\\n\\t\\t\\treturn title || defaultText;\\n\\t\\t} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\\n\\t\\t\\treturn tiddler.getFieldString(tr.field);\\n\\t\\t} else {\\n\\t\\t\\treturn defaultText;\\n\\t\\t}\\n\\t} else if(tr.index) {\\n\\t\\treturn this.extractTiddlerDataItem(title,tr.index,defaultText);\\n\\t} else {\\n\\t\\treturn this.getTiddlerText(title,defaultText);\\n\\t}\\n};\\n\\nexports.setTextReference = function(textRef,value,currTiddlerTitle) {\\n\\tvar tr = $tw.utils.parseTextReference(textRef),\\n\\t\\ttitle = tr.title || currTiddlerTitle;\\n\\tthis.setText(title,tr.field,tr.index,value);\\n};\\n\\nexports.setText = function(title,field,index,value,options) {\\n\\toptions = options || {};\\n\\tvar creationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\\n\\t\\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields();\\n\\t// Check if it is a reference to a tiddler field\\n\\tif(index) {\\n\\t\\tvar data = this.getTiddlerData(title,Object.create(null));\\n\\t\\tif(value !== undefined) {\\n\\t\\t\\tdata[index] = value;\\n\\t\\t} else {\\n\\t\\t\\tdelete data[index];\\n\\t\\t}\\n\\t\\tthis.setTiddlerData(title,data,{},{suppressTimestamp: options.suppressTimestamp});\\n\\t} else {\\n\\t\\tvar tiddler = this.getTiddler(title),\\n\\t\\t\\tfields = {title: title};\\n\\t\\tfields[field || \\\"text\\\"] = value;\\n\\t\\tthis.addTiddler(new $tw.Tiddler(creationFields,tiddler,fields,modificationFields));\\n\\t}\\n};\\n\\nexports.deleteTextReference = function(textRef,currTiddlerTitle) {\\n\\tvar tr = $tw.utils.parseTextReference(textRef),\\n\\t\\ttitle,tiddler,fields;\\n\\t// Check if it is a reference to a tiddler\\n\\tif(tr.title && !tr.field) {\\n\\t\\tthis.deleteTiddler(tr.title);\\n\\t// Else check for a field reference\\n\\t} else if(tr.field) {\\n\\t\\ttitle = tr.title || currTiddlerTitle;\\n\\t\\ttiddler = this.getTiddler(title);\\n\\t\\tif(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\\n\\t\\t\\tfields = Object.create(null);\\n\\t\\t\\tfields[tr.field] = undefined;\\n\\t\\t\\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\\n\\t\\t}\\n\\t}\\n};\\n\\nexports.addEventListener = function(type,listener) {\\n\\tthis.eventListeners = this.eventListeners || {};\\n\\tthis.eventListeners[type] = this.eventListeners[type] || [];\\n\\tthis.eventListeners[type].push(listener);\\n};\\n\\nexports.removeEventListener = function(type,listener) {\\n\\tvar listeners = this.eventListeners[type];\\n\\tif(listeners) {\\n\\t\\tvar p = listeners.indexOf(listener);\\n\\t\\tif(p !== -1) {\\n\\t\\t\\tlisteners.splice(p,1);\\n\\t\\t}\\n\\t}\\n};\\n\\nexports.dispatchEvent = function(type /*, args */) {\\n\\tvar args = Array.prototype.slice.call(arguments,1),\\n\\t\\tlisteners = this.eventListeners[type];\\n\\tif(listeners) {\\n\\t\\tfor(var p=0; p<listeners.length; p++) {\\n\\t\\t\\tvar listener = listeners[p];\\n\\t\\t\\tlistener.apply(listener,args);\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nCauses a tiddler to be marked as changed, incrementing the change count, and triggers event handlers.\\nThis method should be called after the changes it describes have been made to the wiki.tiddlers[] array.\\n\\ttitle: Title of tiddler\\n\\tisDeleted: defaults to false (meaning the tiddler has been created or modified),\\n\\t\\ttrue if the tiddler has been deleted\\n*/\\nexports.enqueueTiddlerEvent = function(title,isDeleted) {\\n\\t// Record the touch in the list of changed tiddlers\\n\\tthis.changedTiddlers = this.changedTiddlers || Object.create(null);\\n\\tthis.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);\\n\\tthis.changedTiddlers[title][isDeleted ? \\\"deleted\\\" : \\\"modified\\\"] = true;\\n\\t// Increment the change count\\n\\tthis.changeCount = this.changeCount || Object.create(null);\\n\\tif($tw.utils.hop(this.changeCount,title)) {\\n\\t\\tthis.changeCount[title]++;\\n\\t} else {\\n\\t\\tthis.changeCount[title] = 1;\\n\\t}\\n\\t// Trigger events\\n\\tthis.eventListeners = this.eventListeners || {};\\n\\tif(!this.eventsTriggered) {\\n\\t\\tvar self = this;\\n\\t\\t$tw.utils.nextTick(function() {\\n\\t\\t\\tvar changes = self.changedTiddlers;\\n\\t\\t\\tself.changedTiddlers = Object.create(null);\\n\\t\\t\\tself.eventsTriggered = false;\\n\\t\\t\\tif($tw.utils.count(changes) > 0) {\\n\\t\\t\\t\\tself.dispatchEvent(\\\"change\\\",changes);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\tthis.eventsTriggered = true;\\n\\t}\\n};\\n\\nexports.getSizeOfTiddlerEventQueue = function() {\\n\\treturn $tw.utils.count(this.changedTiddlers);\\n};\\n\\nexports.clearTiddlerEventQueue = function() {\\n\\tthis.changedTiddlers = Object.create(null);\\n\\tthis.changeCount = Object.create(null);\\n};\\n\\nexports.getChangeCount = function(title) {\\n\\tthis.changeCount = this.changeCount || Object.create(null);\\n\\tif($tw.utils.hop(this.changeCount,title)) {\\n\\t\\treturn this.changeCount[title];\\n\\t} else {\\n\\t\\treturn 0;\\n\\t}\\n};\\n\\n/*\\nGenerate an unused title from the specified base\\noptions.prefix must be a string\\n*/\\nexports.generateNewTitle = function(baseTitle,options) {\\n\\toptions = options || {};\\n\\tvar c = 0,\\n\\t\\ttitle = baseTitle,\\n\\t\\ttemplate = options.template,\\n\\t\\tprefix = (typeof(options.prefix) === \\\"string\\\") ? options.prefix : \\\" \\\";\\n\\tif (template) {\\n\\t\\t// \\\"count\\\" is important to avoid an endless loop in while(...)!!\\n\\t\\ttemplate = (/\\\\$count:?(\\\\d+)?\\\\$/i.test(template)) ? template : template + \\\"$count$\\\";\\n\\t\\ttitle = $tw.utils.formatTitleString(template,{\\\"base\\\":baseTitle,\\\"separator\\\":prefix,\\\"counter\\\":c});\\n\\t\\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\\n\\t\\t\\ttitle = $tw.utils.formatTitleString(template,{\\\"base\\\":baseTitle,\\\"separator\\\":prefix,\\\"counter\\\":(++c)});\\n\\t\\t}\\n\\t} else {\\n\\t\\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\\n\\t\\t\\ttitle = baseTitle + prefix + (++c);\\n\\t\\t}\\n\\t}\\n\\treturn title;\\n};\\n\\nexports.isSystemTiddler = function(title) {\\n\\treturn title && title.indexOf(\\\"$:/\\\") === 0;\\n};\\n\\nexports.isTemporaryTiddler = function(title) {\\n\\treturn title && title.indexOf(\\\"$:/temp/\\\") === 0;\\n};\\n\\nexports.isVolatileTiddler = function(title) {\\n\\treturn title && title.indexOf(\\\"$:/temp/volatile/\\\") === 0;\\n};\\n\\nexports.isImageTiddler = function(title) {\\n\\tvar tiddler = this.getTiddler(title);\\n\\tif(tiddler) {\\n\\t\\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \\\"text/vnd.tiddlywiki\\\"];\\n\\t\\treturn !!contentTypeInfo && contentTypeInfo.flags.indexOf(\\\"image\\\") !== -1;\\n\\t} else {\\n\\t\\treturn null;\\n\\t}\\n};\\n\\nexports.isBinaryTiddler = function(title) {\\n\\tvar tiddler = this.getTiddler(title);\\n\\tif(tiddler) {\\n\\t\\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \\\"text/vnd.tiddlywiki\\\"];\\n\\t\\treturn !!contentTypeInfo && contentTypeInfo.encoding === \\\"base64\\\";\\n\\t} else {\\n\\t\\treturn null;\\n\\t}\\n};\\n\\n/*\\nLike addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported\\n*/\\nexports.importTiddler = function(tiddler) {\\n\\tvar existingTiddler = this.getTiddler(tiddler.fields.title);\\n\\t// Check if we're dealing with a plugin\\n\\tif(tiddler && tiddler.hasField(\\\"plugin-type\\\") && tiddler.hasField(\\\"version\\\") && existingTiddler && existingTiddler.hasField(\\\"plugin-type\\\") && existingTiddler.hasField(\\\"version\\\")) {\\n\\t\\t// Reject the incoming plugin if it is older\\n\\t\\tif(!$tw.utils.checkVersions(tiddler.fields.version,existingTiddler.fields.version)) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t}\\n\\t// Fall through to adding the tiddler\\n\\tthis.addTiddler(tiddler);\\n\\treturn true;\\n};\\n\\n/*\\nReturn a hashmap of the fields that should be set when a tiddler is created\\n*/\\nexports.getCreationFields = function() {\\n\\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\\\"\\\").toLowerCase() !== \\\"yes\\\") {\\n\\t\\tvar fields = {\\n\\t\\t\\t\\tcreated: new Date()\\n\\t\\t\\t},\\n\\t\\t\\tcreator = this.getTiddlerText(USER_NAME_TITLE);\\n\\t\\tif(creator) {\\n\\t\\t\\tfields.creator = creator;\\n\\t\\t}\\n\\t\\treturn fields;\\n\\t} else {\\n\\t\\treturn {};\\n\\t}\\n};\\n\\n/*\\nReturn a hashmap of the fields that should be set when a tiddler is modified\\n*/\\nexports.getModificationFields = function() {\\n\\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\\\"\\\").toLowerCase() !== \\\"yes\\\") {\\n\\t\\tvar fields = Object.create(null),\\n\\t\\t\\tmodifier = this.getTiddlerText(USER_NAME_TITLE);\\n\\t\\tfields.modified = new Date();\\n\\t\\tif(modifier) {\\n\\t\\t\\tfields.modifier = modifier;\\n\\t\\t}\\n\\t\\treturn fields;\\n\\t} else {\\n\\t\\treturn {};\\n\\t}\\n};\\n\\n/*\\nReturn a sorted array of tiddler titles. Options include:\\nsortField: field to sort by\\nexcludeTag: tag to exclude\\nincludeSystem: whether to include system tiddlers (defaults to false)\\n*/\\nexports.getTiddlers = function(options) {\\n\\toptions = options || Object.create(null);\\n\\tvar self = this,\\n\\t\\tsortField = options.sortField || \\\"title\\\",\\n\\t\\ttiddlers = [], t, titles = [];\\n\\tthis.each(function(tiddler,title) {\\n\\t\\tif(options.includeSystem || !self.isSystemTiddler(title)) {\\n\\t\\t\\tif(!options.excludeTag || !tiddler.hasTag(options.excludeTag)) {\\n\\t\\t\\t\\ttiddlers.push(tiddler);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\ttiddlers.sort(function(a,b) {\\n\\t\\tvar aa = a.fields[sortField].toLowerCase() || \\\"\\\",\\n\\t\\t\\tbb = b.fields[sortField].toLowerCase() || \\\"\\\";\\n\\t\\tif(aa < bb) {\\n\\t\\t\\treturn -1;\\n\\t\\t} else {\\n\\t\\t\\tif(aa > bb) {\\n\\t\\t\\t\\treturn 1;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\tfor(t=0; t<tiddlers.length; t++) {\\n\\t\\ttitles.push(tiddlers[t].fields.title);\\n\\t}\\n\\treturn titles;\\n};\\n\\nexports.countTiddlers = function(excludeTag) {\\n\\tvar tiddlers = this.getTiddlers({excludeTag: excludeTag});\\n\\treturn $tw.utils.count(tiddlers);\\n};\\n\\n/*\\nReturns a function iterator(callback) that iterates through the specified titles, and invokes the callback with callback(tiddler,title)\\n*/\\nexports.makeTiddlerIterator = function(titles) {\\n\\tvar self = this;\\n\\tif(!$tw.utils.isArray(titles)) {\\n\\t\\ttitles = Object.keys(titles);\\n\\t} else {\\n\\t\\ttitles = titles.slice(0);\\n\\t}\\n\\treturn function(callback) {\\n\\t\\ttitles.forEach(function(title) {\\n\\t\\t\\tcallback(self.getTiddler(title),title);\\n\\t\\t});\\n\\t};\\n};\\n\\n/*\\nSort an array of tiddler titles by a specified field\\n\\ttitles: array of titles (sorted in place)\\n\\tsortField: name of field to sort by\\n\\tisDescending: true if the sort should be descending\\n\\tisCaseSensitive: true if the sort should consider upper and lower case letters to be different\\n*/\\nexports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,isNumeric,isAlphaNumeric) {\\n\\tvar self = this;\\n\\tif(sortField === \\\"title\\\") {\\n\\t\\tif(!isNumeric && !isAlphaNumeric) {\\n\\t\\t\\tif(isCaseSensitive) {\\n\\t\\t\\t\\tif(isDescending) {\\n\\t\\t\\t\\t\\ttitles.sort(function(a,b) {\\n\\t\\t\\t\\t\\t\\treturn b.localeCompare(a);\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\ttitles.sort(function(a,b) {\\n\\t\\t\\t\\t\\t\\treturn a.localeCompare(b);\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t}\\t\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tif(isDescending) {\\n\\t\\t\\t\\t\\ttitles.sort(function(a,b) {\\n\\t\\t\\t\\t\\t\\treturn b.toLowerCase().localeCompare(a.toLowerCase());\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\ttitles.sort(function(a,b) {\\n\\t\\t\\t\\t\\t\\treturn a.toLowerCase().localeCompare(b.toLowerCase());\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t}\\t\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\ttitles.sort(function(a,b) {\\n\\t\\t\\t\\tvar x,y;\\n\\t\\t\\t\\tif(isNumeric) {\\n\\t\\t\\t\\t\\tx = Number(a);\\n\\t\\t\\t\\t\\ty = Number(b);\\n\\t\\t\\t\\t\\tif(isNaN(x)) {\\n\\t\\t\\t\\t\\t\\tif(isNaN(y)) {\\n\\t\\t\\t\\t\\t\\t\\t// If neither value is a number then fall through to a textual comparison\\n\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\treturn isDescending ? -1 : 1;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tif(isNaN(y)) {\\n\\t\\t\\t\\t\\t\\t\\treturn isDescending ? 1 : -1;\\n\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\treturn isDescending ? y - x : x - y;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif(isAlphaNumeric) {\\n\\t\\t\\t\\t\\treturn isDescending ? b.localeCompare(a,undefined,{numeric: true,sensitivity: \\\"base\\\"}) : a.localeCompare(b,undefined,{numeric: true,sensitivity: \\\"base\\\"});\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif(!isCaseSensitive) {\\n\\t\\t\\t\\t\\ta = a.toLowerCase();\\n\\t\\t\\t\\t\\tb = b.toLowerCase();\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\\n\\t\\t\\t});\\n\\t\\t}\\n\\t} else {\\n\\t\\ttitles.sort(function(a,b) {\\n\\t\\t\\tvar x,y;\\n\\t\\t\\tif(sortField !== \\\"title\\\") {\\n\\t\\t\\t\\tvar tiddlerA = self.getTiddler(a),\\n\\t\\t\\t\\t\\ttiddlerB = self.getTiddler(b);\\n\\t\\t\\t\\tif(tiddlerA) {\\n\\t\\t\\t\\t\\ta = tiddlerA.fields[sortField] || \\\"\\\";\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\ta = \\\"\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif(tiddlerB) {\\n\\t\\t\\t\\t\\tb = tiddlerB.fields[sortField] || \\\"\\\";\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tb = \\\"\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tif(isNumeric) {\\n\\t\\t\\t\\tx = Number(a);\\n\\t\\t\\t\\ty = Number(b);\\n\\t\\t\\t\\tif(isNaN(x)) {\\n\\t\\t\\t\\t\\tif(isNaN(y)) {\\n\\t\\t\\t\\t\\t\\t// If neither value is a number then fall through to a textual comparison\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\treturn isDescending ? -1 : 1;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tif(isNaN(y)) {\\n\\t\\t\\t\\t\\t\\treturn isDescending ? 1 : -1;\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\treturn isDescending ? y - x : x - y;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tif(Object.prototype.toString.call(a) === \\\"[object Date]\\\" && Object.prototype.toString.call(b) === \\\"[object Date]\\\") {\\n\\t\\t\\t\\treturn isDescending ? b - a : a - b;\\n\\t\\t\\t}\\n\\t\\t\\ta = String(a);\\n\\t\\t\\tb = String(b);\\n\\t\\t\\tif(isAlphaNumeric) {\\n\\t\\t\\t\\treturn isDescending ? b.localeCompare(a,undefined,{numeric: true,sensitivity: \\\"base\\\"}) : a.localeCompare(b,undefined,{numeric: true,sensitivity: \\\"base\\\"});\\n\\t\\t\\t}\\n\\t\\t\\tif(!isCaseSensitive) {\\n\\t\\t\\t\\ta = a.toLowerCase();\\n\\t\\t\\t\\tb = b.toLowerCase();\\n\\t\\t\\t}\\n\\t\\t\\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\\n\\t\\t});\\n\\t}\\n};\\n\\n/*\\nFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\\nsortField: field to sort by\\nexcludeTag: tag to exclude\\nincludeSystem: whether to include system tiddlers (defaults to false)\\n*/\\nexports.forEachTiddler = function(/* [options,]callback */) {\\n\\tvar arg = 0,\\n\\t\\toptions = arguments.length >= 2 ? arguments[arg++] : {},\\n\\t\\tcallback = arguments[arg++],\\n\\t\\ttitles = this.getTiddlers(options),\\n\\t\\tt, tiddler;\\n\\tfor(t=0; t<titles.length; t++) {\\n\\t\\ttiddler = this.getTiddler(titles[t]);\\n\\t\\tif(tiddler) {\\n\\t\\t\\tcallback.call(this,tiddler.fields.title,tiddler);\\n\\t\\t}\\n\\t}\\n};\\n\\n/*\\nReturn an array of tiddler titles that are directly linked within the given parse tree\\n */\\nexports.extractLinks = function(parseTreeRoot) {\\n\\t// Count up the links\\n\\tvar links = [],\\n\\t\\tcheckParseTree = function(parseTree) {\\n\\t\\t\\tfor(var t=0; t<parseTree.length; t++) {\\n\\t\\t\\t\\tvar parseTreeNode = parseTree[t];\\n\\t\\t\\t\\tif(parseTreeNode.type === \\\"link\\\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \\\"string\\\") {\\n\\t\\t\\t\\t\\tvar value = parseTreeNode.attributes.to.value;\\n\\t\\t\\t\\t\\tif(links.indexOf(value) === -1) {\\n\\t\\t\\t\\t\\t\\tlinks.push(value);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif(parseTreeNode.children) {\\n\\t\\t\\t\\t\\tcheckParseTree(parseTreeNode.children);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t};\\n\\tcheckParseTree(parseTreeRoot);\\n\\treturn links;\\n};\\n\\n/*\\nReturn an array of tiddler titles that are directly linked from the specified tiddler\\n*/\\nexports.getTiddlerLinks = function(title) {\\n\\tvar self = this;\\n\\t// We'll cache the links so they only get computed if the tiddler changes\\n\\treturn this.getCacheForTiddler(title,\\\"links\\\",function() {\\n\\t\\t// Parse the tiddler\\n\\t\\tvar parser = self.parseTiddler(title);\\n\\t\\tif(parser) {\\n\\t\\t\\treturn self.extractLinks(parser.tree);\\n\\t\\t}\\n\\t\\treturn [];\\n\\t});\\n};\\n\\n/*\\nReturn an array of tiddler titles that link to the specified tiddler\\n*/\\nexports.getTiddlerBacklinks = function(targetTitle) {\\n\\tvar self = this,\\n\\t\\tbacklinksIndexer = this.getIndexer(\\\"BacklinksIndexer\\\"),\\n\\t\\tbacklinks = backlinksIndexer && backlinksIndexer.lookup(targetTitle);\\n\\n\\tif(!backlinks) {\\n\\t\\tbacklinks = [];\\n\\t\\tthis.forEachTiddler(function(title,tiddler) {\\n\\t\\t\\tvar links = self.getTiddlerLinks(title);\\n\\t\\t\\tif(links.indexOf(targetTitle) !== -1) {\\n\\t\\t\\t\\tbacklinks.push(title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\treturn backlinks;\\n};\\n\\n/*\\nReturn a hashmap of tiddler titles that are referenced but not defined. Each value is the number of times the missing tiddler is referenced\\n*/\\nexports.getMissingTitles = function() {\\n\\tvar self = this,\\n\\t\\tmissing = [];\\n// We should cache the missing tiddler list, even if we recreate it every time any tiddler is modified\\n\\tthis.forEachTiddler(function(title,tiddler) {\\n\\t\\tvar links = self.getTiddlerLinks(title);\\n\\t\\t$tw.utils.each(links,function(link) {\\n\\t\\t\\tif((!self.tiddlerExists(link) && !self.isShadowTiddler(link)) && missing.indexOf(link) === -1) {\\n\\t\\t\\t\\tmissing.push(link);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t});\\n\\treturn missing;\\n};\\n\\nexports.getOrphanTitles = function() {\\n\\tvar self = this,\\n\\t\\torphans = this.getTiddlers();\\n\\tthis.forEachTiddler(function(title,tiddler) {\\n\\t\\tvar links = self.getTiddlerLinks(title);\\n\\t\\t$tw.utils.each(links,function(link) {\\n\\t\\t\\tvar p = orphans.indexOf(link);\\n\\t\\t\\tif(p !== -1) {\\n\\t\\t\\t\\torphans.splice(p,1);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t});\\n\\treturn orphans; // Todo\\n};\\n\\n/*\\nRetrieves a list of the tiddler titles that are tagged with a given tag\\n*/\\nexports.getTiddlersWithTag = function(tag) {\\n\\t// Try to use the indexer\\n\\tvar self = this,\\n\\t\\ttagIndexer = this.getIndexer(\\\"TagIndexer\\\"),\\n\\t\\tresults = tagIndexer && tagIndexer.subIndexers[3].lookup(tag);\\n\\tif(!results) {\\n\\t\\t// If not available, perform a manual scan\\n\\t\\tresults = this.getGlobalCache(\\\"taglist-\\\" + tag,function() {\\n\\t\\t\\tvar tagmap = self.getTagMap();\\n\\t\\t\\treturn self.sortByList(tagmap[tag],tag);\\n\\t\\t});\\n\\t}\\n\\treturn results;\\n};\\n\\n/*\\nGet a hashmap by tag of arrays of tiddler titles\\n*/\\nexports.getTagMap = function() {\\n\\tvar self = this;\\n\\treturn this.getGlobalCache(\\\"tagmap\\\",function() {\\n\\t\\tvar tags = Object.create(null),\\n\\t\\t\\tstoreTags = function(tagArray,title) {\\n\\t\\t\\t\\tif(tagArray) {\\n\\t\\t\\t\\t\\tfor(var index=0; index<tagArray.length; index++) {\\n\\t\\t\\t\\t\\t\\tvar tag = tagArray[index];\\n\\t\\t\\t\\t\\t\\tif($tw.utils.hop(tags,tag)) {\\n\\t\\t\\t\\t\\t\\t\\ttags[tag].push(title);\\n\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\ttags[tag] = [title];\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\ttitle, tiddler;\\n\\t\\t// Collect up all the tags\\n\\t\\tself.eachShadow(function(tiddler,title) {\\n\\t\\t\\tif(!self.tiddlerExists(title)) {\\n\\t\\t\\t\\ttiddler = self.getTiddler(title);\\n\\t\\t\\t\\tstoreTags(tiddler.fields.tags,title);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\tself.each(function(tiddler,title) {\\n\\t\\t\\tstoreTags(tiddler.fields.tags,title);\\n\\t\\t});\\n\\t\\treturn tags;\\n\\t});\\n};\\n\\n/*\\nLookup a given tiddler and return a list of all the tiddlers that include it in the specified list field\\n*/\\nexports.findListingsOfTiddler = function(targetTitle,fieldName) {\\n\\tfieldName = fieldName || \\\"list\\\";\\n\\tvar wiki = this;\\n\\tvar listings = this.getGlobalCache(\\\"listings-\\\" + fieldName,function() {\\n\\t\\tvar listings = Object.create(null);\\n\\t\\twiki.each(function(tiddler,title) {\\n\\t\\t\\tvar list = $tw.utils.parseStringArray(tiddler.fields[fieldName]);\\n\\t\\t\\tif(list) {\\n\\t\\t\\t\\tfor(var i = 0; i < list.length; i++) {\\n\\t\\t\\t\\t\\tvar listItem = list[i],\\n\\t\\t\\t\\t\\t\\tlisting = listings[listItem] || [];\\n\\t\\t\\t\\t\\tif (listing.indexOf(title) === -1) {\\n\\t\\t\\t\\t\\t\\tlisting.push(title);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tlistings[listItem] = listing;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\treturn listings;\\n\\t});\\n\\treturn listings[targetTitle] || [];\\n};\\n\\n/*\\nSorts an array of tiddler titles according to an ordered list\\n*/\\nexports.sortByList = function(array,listTitle) {\\n\\tvar self = this,\\n\\t\\treplacedTitles = Object.create(null);\\n\\t// Given a title, this function will place it in the correct location\\n\\t// within titles.\\n\\tfunction moveItemInList(title) {\\n\\t\\tif(!$tw.utils.hop(replacedTitles, title)) {\\n\\t\\t\\treplacedTitles[title] = true;\\n\\t\\t\\tvar newPos = -1,\\n\\t\\t\\t\\ttiddler = self.getTiddler(title);\\n\\t\\t\\tif(tiddler) {\\n\\t\\t\\t\\tvar beforeTitle = tiddler.fields[\\\"list-before\\\"],\\n\\t\\t\\t\\t\\tafterTitle = tiddler.fields[\\\"list-after\\\"];\\n\\t\\t\\t\\tif(beforeTitle === \\\"\\\") {\\n\\t\\t\\t\\t\\tnewPos = 0;\\n\\t\\t\\t\\t} else if(afterTitle === \\\"\\\") {\\n\\t\\t\\t\\t\\tnewPos = titles.length;\\n\\t\\t\\t\\t} else if(beforeTitle) {\\n\\t\\t\\t\\t\\t// if this title is placed relative\\n\\t\\t\\t\\t\\t// to another title, make sure that\\n\\t\\t\\t\\t\\t// title is placed before we place\\n\\t\\t\\t\\t\\t// this one.\\n\\t\\t\\t\\t\\tmoveItemInList(beforeTitle);\\n\\t\\t\\t\\t\\tnewPos = titles.indexOf(beforeTitle);\\n\\t\\t\\t\\t} else if(afterTitle) {\\n\\t\\t\\t\\t\\t// Same deal\\n\\t\\t\\t\\t\\tmoveItemInList(afterTitle);\\n\\t\\t\\t\\t\\tnewPos = titles.indexOf(afterTitle);\\n\\t\\t\\t\\t\\tif(newPos >= 0) {\\n\\t\\t\\t\\t\\t\\t++newPos;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// If a new position is specified, let's move it\\n\\t\\t\\t\\tif (newPos !== -1) {\\n\\t\\t\\t\\t\\t// get its current Pos, and make sure\\n\\t\\t\\t\\t\\t// sure that it's _actually_ in the list\\n\\t\\t\\t\\t\\t// and that it would _actually_ move\\n\\t\\t\\t\\t\\t// (#4275) We don't bother calling\\n\\t\\t\\t\\t\\t// indexOf unless we have a new\\n\\t\\t\\t\\t\\t// position to work with\\n\\t\\t\\t\\t\\tvar currPos = titles.indexOf(title);\\n\\t\\t\\t\\t\\tif(currPos >= 0 && newPos !== currPos) {\\n\\t\\t\\t\\t\\t\\t// move it!\\n\\t\\t\\t\\t\\t\\ttitles.splice(currPos,1);\\n\\t\\t\\t\\t\\t\\tif(newPos >= currPos) {\\n\\t\\t\\t\\t\\t\\t\\tnewPos--;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\ttitles.splice(newPos,0,title);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\tvar list = this.getTiddlerList(listTitle);\\n\\tif(!array || array.length === 0) {\\n\\t\\treturn [];\\n\\t} else {\\n\\t\\tvar titles = [], t, title;\\n\\t\\t// First place any entries that are present in the list\\n\\t\\tfor(t=0; t<list.length; t++) {\\n\\t\\t\\ttitle = list[t];\\n\\t\\t\\tif(array.indexOf(title) !== -1) {\\n\\t\\t\\t\\ttitles.push(title);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t// Then place any remaining entries\\n\\t\\tfor(t=0; t<array.length; t++) {\\n\\t\\t\\ttitle = array[t];\\n\\t\\t\\tif(list.indexOf(title) === -1) {\\n\\t\\t\\t\\ttitles.push(title);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t// Finally obey the list-before and list-after fields of each tiddler in turn\\n\\t\\tvar sortedTitles = titles.slice(0);\\n\\t\\tfor(t=0; t<sortedTitles.length; t++) {\\n\\t\\t\\ttitle = sortedTitles[t];\\n\\t\\t\\tmoveItemInList(title);\\n\\t\\t}\\n\\t\\treturn titles;\\n\\t}\\n};\\n\\nexports.getSubTiddler = function(title,subTiddlerTitle) {\\n\\tvar bundleInfo = this.getPluginInfo(title) || this.getTiddlerDataCached(title);\\n\\tif(bundleInfo && bundleInfo.tiddlers) {\\n\\t\\tvar subTiddler = bundleInfo.tiddlers[subTiddlerTitle];\\n\\t\\tif(subTiddler) {\\n\\t\\t\\treturn new $tw.Tiddler(subTiddler);\\n\\t\\t}\\n\\t}\\n\\treturn null;\\n};\\n\\n/*\\nRetrieve a tiddler as a JSON string of the fields\\n*/\\nexports.getTiddlerAsJson = function(title) {\\n\\tvar tiddler = this.getTiddler(title);\\n\\tif(tiddler) {\\n\\t\\tvar fields = Object.create(null);\\n\\t\\t$tw.utils.each(tiddler.fields,function(value,name) {\\n\\t\\t\\tfields[name] = tiddler.getFieldString(name);\\n\\t\\t});\\n\\t\\treturn JSON.stringify(fields);\\n\\t} else {\\n\\t\\treturn JSON.stringify({title: title});\\n\\t}\\n};\\n\\nexports.getTiddlersAsJson = function(filter,spaces) {\\n\\tvar tiddlers = this.filterTiddlers(filter),\\n\\t\\tspaces = (spaces === undefined) ? $tw.config.preferences.jsonSpaces : spaces,\\n\\t\\tdata = [];\\n\\tfor(var t=0;t<tiddlers.length; t++) {\\n\\t\\tvar tiddler = this.getTiddler(tiddlers[t]);\\n\\t\\tif(tiddler) {\\n\\t\\t\\tvar fields = new Object();\\n\\t\\t\\tfor(var field in tiddler.fields) {\\n\\t\\t\\t\\tfields[field] = tiddler.getFieldString(field);\\n\\t\\t\\t}\\n\\t\\t\\tdata.push(fields);\\n\\t\\t}\\n\\t}\\n\\treturn JSON.stringify(data,null,spaces);\\n};\\n\\n/*\\nGet the content of a tiddler as a JavaScript object. How this is done depends on the type of the tiddler:\\n\\napplication/json: the tiddler JSON is parsed into an object\\napplication/x-tiddler-dictionary: the tiddler is parsed as sequence of name:value pairs\\n\\nOther types currently just return null.\\n\\ntitleOrTiddler: string tiddler title or a tiddler object\\ndefaultData: default data to be returned if the tiddler is missing or doesn't contain data\\n\\nNote that the same value is returned for repeated calls for the same tiddler data. The value is frozen to prevent modification; otherwise modifications would be visible to all callers\\n*/\\nexports.getTiddlerDataCached = function(titleOrTiddler,defaultData) {\\n\\tvar self = this,\\n\\t\\ttiddler = titleOrTiddler;\\n\\tif(!(tiddler instanceof $tw.Tiddler)) {\\n\\t\\ttiddler = this.getTiddler(tiddler);\\n\\t}\\n\\tif(tiddler) {\\n\\t\\treturn this.getCacheForTiddler(tiddler.fields.title,\\\"data\\\",function() {\\n\\t\\t\\t// Return the frozen value\\n\\t\\t\\tvar value = self.getTiddlerData(tiddler.fields.title,undefined);\\n\\t\\t\\t$tw.utils.deepFreeze(value);\\n\\t\\t\\treturn value;\\n\\t\\t}) || defaultData;\\n\\t} else {\\n\\t\\treturn defaultData;\\n\\t}\\n};\\n\\n/*\\nAlternative, uncached version of getTiddlerDataCached(). The return value can be mutated freely and reused\\n*/\\nexports.getTiddlerData = function(titleOrTiddler,defaultData) {\\n\\tvar tiddler = titleOrTiddler,\\n\\t\\tdata;\\n\\tif(!(tiddler instanceof $tw.Tiddler)) {\\n\\t\\ttiddler = this.getTiddler(tiddler);\\n\\t}\\n\\tif(tiddler && tiddler.fields.text) {\\n\\t\\tswitch(tiddler.fields.type) {\\n\\t\\t\\tcase \\\"application/json\\\":\\n\\t\\t\\t\\t// JSON tiddler\\n\\t\\t\\t\\treturn $tw.utils.parseJSONSafe(tiddler.fields.text,defaultData);\\n\\t\\t\\tcase \\\"application/x-tiddler-dictionary\\\":\\n\\t\\t\\t\\treturn $tw.utils.parseFields(tiddler.fields.text);\\n\\t\\t}\\n\\t}\\n\\treturn defaultData;\\n};\\n\\n/*\\nExtract an indexed field from within a data tiddler\\n*/\\nexports.extractTiddlerDataItem = function(titleOrTiddler,index,defaultText) {\\n\\tvar data = this.getTiddlerDataCached(titleOrTiddler,Object.create(null)),\\n\\t\\ttext;\\n\\tif(data && $tw.utils.hop(data,index)) {\\n\\t\\ttext = data[index];\\n\\t}\\n\\tif(typeof text === \\\"string\\\" || typeof text === \\\"number\\\") {\\n\\t\\treturn text.toString();\\n\\t} else {\\n\\t\\treturn defaultText;\\n\\t}\\n};\\n\\n/*\\nSet a tiddlers content to a JavaScript object. Currently this is done by setting the tiddler's type to \\\"application/json\\\" and setting the text to the JSON text of the data.\\ntitle: title of tiddler\\ndata: object that can be serialised to JSON\\nfields: optional hashmap of additional tiddler fields to be set\\noptions: optional hashmap of options including:\\n\\tsuppressTimestamp: if true, don't set the creation/modification timestamps\\n*/\\nexports.setTiddlerData = function(title,data,fields,options) {\\n\\toptions = options || {};\\n\\tvar existingTiddler = this.getTiddler(title),\\n\\t\\tcreationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\\n\\t\\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields(),\\n\\t\\tnewFields = {\\n\\t\\t\\ttitle: title\\n\\t\\t};\\n\\tif(existingTiddler && existingTiddler.fields.type === \\\"application/x-tiddler-dictionary\\\") {\\n\\t\\tnewFields.text = $tw.utils.makeTiddlerDictionary(data);\\n\\t} else {\\n\\t\\tnewFields.type = \\\"application/json\\\";\\n\\t\\tnewFields.text = JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\\n\\t}\\n\\tthis.addTiddler(new $tw.Tiddler(creationFields,existingTiddler,fields,newFields,modificationFields));\\n};\\n\\n/*\\nReturn the content of a tiddler as an array containing each line\\n*/\\nexports.getTiddlerList = function(title,field,index) {\\n\\tif(index) {\\n\\t\\treturn $tw.utils.parseStringArray(this.extractTiddlerDataItem(title,index,\\\"\\\"));\\n\\t}\\n\\tfield = field || \\\"list\\\";\\n\\tvar tiddler = this.getTiddler(title);\\n\\tif(tiddler) {\\n\\t\\treturn ($tw.utils.parseStringArray(tiddler.fields[field]) || []).slice(0);\\n\\t}\\n\\treturn [];\\n};\\n\\n// Return a named global cache object. Global cache objects are cleared whenever a tiddler change occurs\\nexports.getGlobalCache = function(cacheName,initializer) {\\n\\tthis.globalCache = this.globalCache || Object.create(null);\\n\\tif($tw.utils.hop(this.globalCache,cacheName)) {\\n\\t\\treturn this.globalCache[cacheName];\\n\\t} else {\\n\\t\\tthis.globalCache[cacheName] = initializer();\\n\\t\\treturn this.globalCache[cacheName];\\n\\t}\\n};\\n\\nexports.clearGlobalCache = function() {\\n\\tthis.globalCache = Object.create(null);\\n};\\n\\n// Return the named cache object for a tiddler. If the cache doesn't exist then the initializer function is invoked to create it\\nexports.getCacheForTiddler = function(title,cacheName,initializer) {\\n\\tthis.caches = this.caches || Object.create(null);\\n\\tvar caches = this.caches[title];\\n\\tif(caches && caches[cacheName] !== undefined) {\\n\\t\\treturn caches[cacheName];\\n\\t} else {\\n\\t\\tif(!caches) {\\n\\t\\t\\tcaches = Object.create(null);\\n\\t\\t\\tthis.caches[title] = caches;\\n\\t\\t}\\n\\t\\tcaches[cacheName] = initializer();\\n\\t\\treturn caches[cacheName];\\n\\t}\\n};\\n\\n// Clear all caches associated with a particular tiddler, or, if the title is null, clear all the caches for all the tiddlers\\nexports.clearCache = function(title) {\\n\\tif(title) {\\n\\t\\tthis.caches = this.caches || Object.create(null);\\n\\t\\tif($tw.utils.hop(this.caches,title)) {\\n\\t\\t\\tdelete this.caches[title];\\n\\t\\t}\\n\\t} else {\\n\\t\\tthis.caches = Object.create(null);\\n\\t}\\n};\\n\\nexports.initParsers = function(moduleType) {\\n\\t// Install the parser modules\\n\\t$tw.Wiki.parsers = {};\\n\\tvar self = this;\\n\\t$tw.modules.forEachModuleOfType(\\\"parser\\\",function(title,module) {\\n\\t\\tfor(var f in module) {\\n\\t\\t\\tif($tw.utils.hop(module,f)) {\\n\\t\\t\\t\\t$tw.Wiki.parsers[f] = module[f]; // Store the parser class\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n\\t// Use the generic binary parser for any binary types not registered so far\\n\\tif($tw.Wiki.parsers[\\\"application/octet-stream\\\"]) {\\n\\t\\tObject.keys($tw.config.contentTypeInfo).forEach(function(type) {\\n\\t\\t\\tif(!$tw.utils.hop($tw.Wiki.parsers,type) && $tw.config.contentTypeInfo[type].encoding === \\\"base64\\\") {\\n\\t\\t\\t\\t$tw.Wiki.parsers[type] = $tw.Wiki.parsers[\\\"application/octet-stream\\\"];\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n};\\n\\n/*\\nParse a block of text of a specified MIME type\\n\\ttype: content type of text to be parsed\\n\\ttext: text\\n\\toptions: see below\\nOptions include:\\n\\tparseAsInline: if true, the text of the tiddler will be parsed as an inline run\\n\\t_canonical_uri: optional string of the canonical URI of this content\\n*/\\nexports.parseText = function(type,text,options) {\\n\\ttext = text || \\\"\\\";\\n\\toptions = options || {};\\n\\t// Select a parser\\n\\tvar Parser = $tw.Wiki.parsers[type];\\n\\tif(!Parser && $tw.utils.getFileExtensionInfo(type)) {\\n\\t\\tParser = $tw.Wiki.parsers[$tw.utils.getFileExtensionInfo(type).type];\\n\\t}\\n\\tif(!Parser) {\\n\\t\\tParser = $tw.Wiki.parsers[options.defaultType || \\\"text/vnd.tiddlywiki\\\"];\\n\\t}\\n\\tif(!Parser) {\\n\\t\\treturn null;\\n\\t}\\n\\t// Return the parser instance\\n\\treturn new Parser(type,text,{\\n\\t\\tparseAsInline: options.parseAsInline,\\n\\t\\twiki: this,\\n\\t\\t_canonical_uri: options._canonical_uri,\\n\\t\\tconfigTrimWhiteSpace: options.configTrimWhiteSpace\\n\\t});\\n};\\n\\n/*\\nParse a tiddler according to its MIME type\\n*/\\nexports.parseTiddler = function(title,options) {\\n\\toptions = $tw.utils.extend({},options);\\n\\tvar cacheType = options.parseAsInline ? \\\"inlineParseTree\\\" : \\\"blockParseTree\\\",\\n\\t\\ttiddler = this.getTiddler(title),\\n\\t\\tself = this;\\n\\treturn tiddler ? this.getCacheForTiddler(title,cacheType,function() {\\n\\t\\t\\tif(tiddler.hasField(\\\"_canonical_uri\\\")) {\\n\\t\\t\\t\\toptions._canonical_uri = tiddler.fields._canonical_uri;\\n\\t\\t\\t}\\n\\t\\t\\treturn self.parseText(tiddler.fields.type,tiddler.fields.text,options);\\n\\t\\t}) : null;\\n};\\n\\nexports.parseTextReference = function(title,field,index,options) {\\n\\tvar tiddler,\\n\\t\\ttext,\\n\\t\\tparserInfo;\\n\\tif(!options.subTiddler) {\\n\\t\\ttiddler = this.getTiddler(title);\\n\\t\\tif(field === \\\"text\\\" || (!field && !index)) {\\n\\t\\t\\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\\n\\t\\t\\treturn this.parseTiddler(title,options);\\n\\t\\t}\\n\\t} \\n\\tparserInfo = this.getTextReferenceParserInfo(title,field,index,options);\\n\\tif(parserInfo.sourceText !== null) {\\n\\t\\treturn this.parseText(parserInfo.parserType,parserInfo.sourceText,options);\\n\\t} else {\\n\\t\\treturn null;\\n\\t}\\n};\\n\\nexports.getTextReferenceParserInfo = function(title,field,index,options) {\\n\\tvar defaultType = options.defaultType || \\\"text/vnd.tiddlywiki\\\",\\n\\t\\ttiddler,\\n\\t\\tparserInfo = {\\n\\t\\t\\tsourceText : null,\\n\\t\\t\\tparserType : defaultType\\n\\t\\t};\\n\\tif(options.subTiddler) {\\n\\t\\ttiddler = this.getSubTiddler(title,options.subTiddler);\\n\\t} else {\\n\\t\\ttiddler = this.getTiddler(title);\\n\\t}\\n\\tif(field === \\\"text\\\" || (!field && !index)) {\\n\\t\\tif(tiddler && tiddler.fields) {\\n\\t\\t\\tparserInfo.sourceText = tiddler.fields.text || \\\"\\\";\\n\\t\\t\\tif(tiddler.fields.type) {\\n\\t\\t\\t\\tparserInfo.parserType = tiddler.fields.type;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} else if(field) {\\n\\t\\tif(field === \\\"title\\\") {\\n\\t\\t\\tparserInfo.sourceText = title;\\n\\t\\t} else if(tiddler && tiddler.fields) {\\n\\t\\t\\tparserInfo.sourceText = tiddler.hasField(field) ? tiddler.fields[field].toString() : null;\\n\\t\\t}\\n\\t} else if(index) {\\n\\t\\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\\n\\t\\tparserInfo.sourceText = this.extractTiddlerDataItem(tiddler,index,null);\\n\\t}\\n\\tif(parserInfo.sourceText === null) {\\n\\t\\tparserInfo.parserType = null;\\n\\t}\\n\\treturn parserInfo;\\n}\\n\\n/*\\nParse a block of text of a specified MIME type\\n\\ttext: text on which to perform substitutions\\n\\twidget\\n\\toptions: see below\\nOptions include:\\n\\tsubstitutions: an optional array of substitutions\\n*/\\nexports.getSubstitutedText = function(text,widget,options) {\\n\\toptions = options || {};\\n\\ttext = text || \\\"\\\";\\n\\tvar self = this,\\n\\t\\tsubstitutions = options.substitutions || [],\\n\\t\\toutput;\\n\\t// Evaluate embedded filters and substitute with first result\\n\\toutput = text.replace(/\\\\$\\\\{([\\\\S\\\\s]+?)\\\\}\\\\$/g, function(match,filter) {\\n\\t\\treturn self.filterTiddlers(filter,widget)[0] || \\\"\\\";\\n\\t});\\n\\t// Process any substitutions provided in options\\n\\t$tw.utils.each(substitutions,function(substitute) {\\n\\t\\toutput = $tw.utils.replaceString(output,new RegExp(\\\"\\\\\\\\$\\\" + $tw.utils.escapeRegExp(substitute.name) + \\\"\\\\\\\\$\\\",\\\"mg\\\"),substitute.value);\\n\\t});\\n\\t// Substitute any variable references with their values\\n\\treturn output.replace(/\\\\$\\\\(([^\\\\)\\\\$]+)\\\\)\\\\$/g, function(match,varname) {\\n\\t\\treturn widget.getVariable(varname,{defaultValue: \\\"\\\"})\\n\\t});\\n};\\n\\n/*\\nMake a widget tree for a parse tree\\nparser: parser object\\noptions: see below\\nOptions include:\\ndocument: optional document to use\\nvariables: hashmap of variables to set\\nparentWidget: optional parent widget for the root node\\n*/\\nexports.makeWidget = function(parser,options) {\\n\\toptions = options || {};\\n\\tvar widgetNode = {\\n\\t\\t\\ttype: \\\"widget\\\",\\n\\t\\t\\tchildren: []\\n\\t\\t},\\n\\t\\tcurrWidgetNode = widgetNode;\\n\\t// Create let variable widget for variables\\n\\tif($tw.utils.count(options.variables) > 0) {\\n\\t\\tvar letVariableWidget = {\\n\\t\\t\\ttype: \\\"let\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t},\\n\\t\\t\\tchildren: []\\n\\t\\t};\\n\\t\\t$tw.utils.each(options.variables,function(value,name) {\\n\\t\\t\\t$tw.utils.addAttributeToParseTreeNode(letVariableWidget,name,\\\"\\\" + value);\\n\\t\\t});\\n\\t\\tcurrWidgetNode.children = [letVariableWidget];\\n\\t\\tcurrWidgetNode = letVariableWidget;\\n\\t}\\n\\t// Add in the supplied parse tree nodes\\n\\tcurrWidgetNode.children = parser ? parser.tree : [];\\n\\t// Create the widget\\n\\treturn new widget.widget(widgetNode,{\\n\\t\\twiki: this,\\n\\t\\tdocument: options.document || $tw.fakeDocument,\\n\\t\\tparentWidget: options.parentWidget\\n\\t});\\n};\\n\\n/*\\nMake a widget tree for transclusion\\ntitle: target tiddler title\\noptions: as for wiki.makeWidget() plus:\\noptions.field: optional field to transclude (defaults to \\\"text\\\")\\noptions.mode: transclusion mode \\\"inline\\\" or \\\"block\\\"\\noptions.recursionMarker : optional flag to set a recursion marker, defaults to \\\"yes\\\"\\noptions.children: optional array of children for the transclude widget\\noptions.importVariables: optional importvariables filter string for macros to be included\\noptions.importPageMacros: optional boolean; if true, equivalent to passing \\\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\\\" to options.importVariables\\n*/\\nexports.makeTranscludeWidget = function(title,options) {\\n\\toptions = options || {};\\n\\tvar parseTreeDiv = {tree: [{\\n\\t\\t\\ttype: \\\"element\\\",\\n\\t\\t\\ttag: \\\"div\\\",\\n\\t\\t\\tchildren: []}]},\\n\\t\\tparseTreeImportVariables = {\\n\\t\\t\\ttype: \\\"importvariables\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\tfilter: {\\n\\t\\t\\t\\t\\tname: \\\"filter\\\",\\n\\t\\t\\t\\t\\ttype: \\\"string\\\"\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\tisBlock: false,\\n\\t\\t\\tchildren: []},\\n\\t\\tparseTreeTransclude = {\\n\\t\\t\\ttype: \\\"transclude\\\",\\n\\t\\t\\tattributes: {\\n\\t\\t\\t\\trecursionMarker: {\\n\\t\\t\\t\\t\\tname: \\\"recursionMarker\\\",\\n\\t\\t\\t\\t\\ttype: \\\"string\\\",\\n\\t\\t\\t\\t\\tvalue: options.recursionMarker || \\\"yes\\\"\\n\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\ttiddler: {\\n\\t\\t\\t\\t\\tname: \\\"tiddler\\\",\\n\\t\\t\\t\\t\\ttype: \\\"string\\\",\\n\\t\\t\\t\\t\\tvalue: title\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\tisBlock: !options.parseAsInline};\\n\\tif(options.importVariables || options.importPageMacros) {\\n\\t\\tif(options.importVariables) {\\n\\t\\t\\tparseTreeImportVariables.attributes.filter.value = options.importVariables;\\n\\t\\t} else if(options.importPageMacros) {\\n\\t\\t\\tparseTreeImportVariables.attributes.filter.value = this.getTiddlerText(\\\"$:/core/config/GlobalImportFilter\\\");\\n\\t\\t}\\n\\t\\tparseTreeDiv.tree[0].children.push(parseTreeImportVariables);\\n\\t\\tparseTreeImportVariables.children.push(parseTreeTransclude);\\n\\t} else {\\n\\t\\tparseTreeDiv.tree[0].children.push(parseTreeTransclude);\\n\\t}\\n\\tif(options.field) {\\n\\t\\tparseTreeTransclude.attributes.field = {type: \\\"string\\\", value: options.field};\\n\\t}\\n\\tif(options.mode) {\\n\\t\\tparseTreeTransclude.attributes.mode = {type: \\\"string\\\", value: options.mode};\\n\\t}\\n\\tif(options.children) {\\n\\t\\tparseTreeTransclude.children = options.children;\\n\\t}\\n\\treturn this.makeWidget(parseTreeDiv,options);\\n};\\n\\n/*\\nParse text in a specified format and render it into another format\\n\\toutputType: content type for the output\\n\\ttextType: content type of the input text\\n\\ttext: input text\\n\\toptions: see below\\nOptions include:\\nvariables: hashmap of variables to set\\nparentWidget: optional parent widget for the root node\\n*/\\nexports.renderText = function(outputType,textType,text,options) {\\n\\toptions = options || {};\\n\\tvar parser = this.parseText(textType,text,options),\\n\\t\\twidgetNode = this.makeWidget(parser,options);\\n\\tvar container = $tw.fakeDocument.createElement(\\\"div\\\");\\n\\twidgetNode.render(container,null);\\n\\treturn outputType === \\\"text/html\\\" ? container.innerHTML : container.textContent;\\n};\\n\\n/*\\nParse text from a tiddler and render it into another format\\n\\toutputType: content type for the output\\n\\ttitle: title of the tiddler to be rendered\\n\\toptions: see below\\nOptions include:\\nvariables: hashmap of variables to set\\nparentWidget: optional parent widget for the root node\\n*/\\nexports.renderTiddler = function(outputType,title,options) {\\n\\toptions = options || {};\\n\\tvar parser = this.parseTiddler(title,options),\\n\\t\\twidgetNode = this.makeWidget(parser,options);\\n\\tvar container = $tw.fakeDocument.createElement(\\\"div\\\");\\n\\twidgetNode.render(container,null);\\n\\treturn outputType === \\\"text/html\\\" ? container.innerHTML : (outputType === \\\"text/plain-formatted\\\" ? container.formattedTextContent : container.textContent);\\n};\\n\\n/*\\nReturn an array of tiddler titles that match a search string\\n\\ttext: The text string to search for\\n\\toptions: see below\\nOptions available:\\n\\tsource: an iterator function for the source tiddlers, called source(iterator),\\n\\t\\twhere iterator is called as iterator(tiddler,title)\\n\\texclude: An array of tiddler titles to exclude from the search\\n\\tinvert: If true returns tiddlers that do not contain the specified string\\n\\tcaseSensitive: If true forces a case sensitive search\\n\\tfield: If specified, restricts the search to the specified field, or an array of field names\\n\\tanchored: If true, forces all but regexp searches to be anchored to the start of text\\n\\texcludeField: If true, the field options are inverted to specify the fields that are not to be searched\\n\\n\\tThe search mode is determined by the first of these boolean flags to be true\\n\\t\\tliteral: searches for literal string\\n\\t\\twhitespace: same as literal except runs of whitespace are treated as a single space\\n\\t\\tregexp: treats the search term as a regular expression\\n\\t\\twords: (default) treats search string as a list of tokens, and matches if all tokens are found, \\n\\t\\t\\tregardless of adjacency or ordering\\n\\t\\tsome: treats search string as a list of tokens, and matches if at least ONE token is found\\n*/\\nexports.search = function(text,options) {\\n\\toptions = options || {};\\n\\tvar self = this,\\n\\t\\tt,\\n\\t\\tregExpStr=\\\"\\\",\\n\\t\\tinvert = !!options.invert;\\n\\t// Convert the search string into a regexp for each term\\n\\tvar terms, searchTermsRegExps,\\n\\t\\tflags = options.caseSensitive ? \\\"\\\" : \\\"i\\\",\\n\\t\\tanchor = options.anchored ? \\\"^\\\" : \\\"\\\";\\n\\tif(options.literal) {\\n\\t\\tif(text.length === 0) {\\n\\t\\t\\tsearchTermsRegExps = null;\\n\\t\\t} else {\\n\\t\\t\\tsearchTermsRegExps = [new RegExp(\\\"(\\\" + anchor + $tw.utils.escapeRegExp(text) + \\\")\\\",flags)];\\n\\t\\t}\\n\\t} else if(options.whitespace) {\\n\\t\\tterms = [];\\n\\t\\t$tw.utils.each(text.split(/\\\\s+/g),function(term) {\\n\\t\\t\\tif(term) {\\n\\t\\t\\t\\tterms.push($tw.utils.escapeRegExp(term));\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\tsearchTermsRegExps = [new RegExp(\\\"(\\\" + anchor + terms.join(\\\"\\\\\\\\s+\\\") + \\\")\\\",flags)];\\n\\t} else if(options.regexp) {\\n\\t\\ttry {\\n\\t\\t\\tsearchTermsRegExps = [new RegExp(\\\"(\\\" + text + \\\")\\\",flags)];\\n\\t\\t} catch(e) {\\n\\t\\t\\tsearchTermsRegExps = null;\\n\\t\\t\\tconsole.log(\\\"Regexp error parsing /(\\\" + text + \\\")/\\\" + flags + \\\": \\\",e);\\n\\t\\t}\\n\\t} else if(options.some) {\\n\\t\\tterms = text.trim().split(/[^\\\\S\\\\xA0]+/);\\n\\t\\tif(terms.length === 1 && terms[0] === \\\"\\\") {\\n\\t\\t\\tsearchTermsRegExps = null;\\n\\t\\t} else {\\n\\t\\t\\tsearchTermsRegExps = [];\\n\\t\\t\\tfor(t=0; t<terms.length; t++) {\\n\\t\\t\\t\\tregExpStr += (t===0) ? anchor + $tw.utils.escapeRegExp(terms[t]) : \\\"|\\\" + anchor + $tw.utils.escapeRegExp(terms[t]);\\n\\t\\t\\t}\\n\\t\\t\\tsearchTermsRegExps.push(new RegExp(\\\"(\\\" + regExpStr + \\\")\\\",flags));\\n\\t\\t}\\n\\t} else { // default: words\\n\\t\\tterms = text.split(/[^\\\\S\\\\xA0]+/);\\n\\t\\tif(terms.length === 1 && terms[0] === \\\"\\\") {\\n\\t\\t\\tsearchTermsRegExps = null;\\n\\t\\t} else {\\n\\t\\t\\tsearchTermsRegExps = [];\\n\\t\\t\\tfor(t=0; t<terms.length; t++) {\\n\\t\\t\\t\\tsearchTermsRegExps.push(new RegExp(\\\"(\\\" + anchor + $tw.utils.escapeRegExp(terms[t]) + \\\")\\\",flags));\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n// Accumulate the array of fields to be searched or excluded from the search\\n\\tvar fields = [];\\n\\tif(options.field) {\\n\\t\\tif($tw.utils.isArray(options.field)) {\\n\\t\\t\\t$tw.utils.each(options.field,function(fieldName) {\\n\\t\\t\\t\\tif(fieldName) {\\n\\t\\t\\t\\t\\tfields.push(fieldName);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tfields.push(options.field);\\n\\t\\t}\\n\\t}\\n\\t// Use default fields if none specified and we're not excluding fields (excluding fields with an empty field array is the same as searching all fields)\\n\\tif(fields.length === 0 && !options.excludeField) {\\n\\t\\tfields.push(\\\"title\\\");\\n\\t\\tfields.push(\\\"tags\\\");\\n\\t\\tfields.push(\\\"text\\\");\\n\\t}\\n\\t// Function to check a given tiddler for the search term\\n\\tvar searchTiddler = function(title) {\\n\\t\\tif(!searchTermsRegExps) {\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t\\tvar notYetFound = searchTermsRegExps.slice();\\n\\n\\t\\tvar tiddler = self.getTiddler(title);\\n\\t\\tif(!tiddler) {\\n\\t\\t\\ttiddler = new $tw.Tiddler({title: title, text: \\\"\\\", type: \\\"text/vnd.tiddlywiki\\\"});\\n\\t\\t}\\n\\t\\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo[\\\"text/vnd.tiddlywiki\\\"],\\n\\t\\t\\tsearchFields;\\n\\t\\t// Get the list of fields we're searching\\n\\t\\tif(options.excludeField) {\\n\\t\\t\\tsearchFields = Object.keys(tiddler.fields);\\n\\t\\t\\t$tw.utils.each(fields,function(fieldName) {\\n\\t\\t\\t\\tvar p = searchFields.indexOf(fieldName);\\n\\t\\t\\t\\tif(p !== -1) {\\n\\t\\t\\t\\t\\tsearchFields.splice(p,1);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\tsearchFields = fields;\\n\\t\\t}\\n\\t\\tfor(var fieldIndex=0; notYetFound.length>0 && fieldIndex<searchFields.length; fieldIndex++) {\\n\\t\\t\\t// Don't search the text field if the content type is binary\\n\\t\\t\\tvar fieldName = searchFields[fieldIndex];\\n\\t\\t\\tif(fieldName === \\\"text\\\" && contentTypeInfo.encoding !== \\\"utf8\\\") {\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t\\tvar str = tiddler.fields[fieldName],\\n\\t\\t\\t\\tt;\\n\\t\\t\\tif(str) {\\n\\t\\t\\t\\tif($tw.utils.isArray(str)) {\\n\\t\\t\\t\\t\\t// If the field value is an array, test each regexp against each field array entry and fail if each regexp doesn't match at least one field array entry\\n\\t\\t\\t\\t\\tfor(var s=0; s<str.length; s++) {\\n\\t\\t\\t\\t\\t\\tfor(t=0; t<notYetFound.length;) {\\n\\t\\t\\t\\t\\t\\t\\tif(notYetFound[t].test(str[s])) {\\n\\t\\t\\t\\t\\t\\t\\t\\tnotYetFound.splice(t, 1);\\n\\t\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\t\\tt++;\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t// If the field isn't an array, force it to a string and test each regexp against it and fail if any do not match\\n\\t\\t\\t\\t\\tstr = tiddler.getFieldString(fieldName);\\n\\t\\t\\t\\t\\tfor(t=0; t<notYetFound.length;) {\\n\\t\\t\\t\\t\\t\\tif(notYetFound[t].test(str)) {\\n\\t\\t\\t\\t\\t\\t\\tnotYetFound.splice(t, 1);\\n\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\tt++;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t};\\n\\t\\treturn notYetFound.length == 0;\\n\\t};\\n\\t// Loop through all the tiddlers doing the search\\n\\tvar results = [],\\n\\t\\tsource = options.source || this.each;\\n\\tsource(function(tiddler,title) {\\n\\t\\tif(searchTiddler(title) !== invert) {\\n\\t\\t\\tresults.push(title);\\n\\t\\t}\\n\\t});\\n\\t// Remove any of the results we have to exclude\\n\\tif(options.exclude) {\\n\\t\\tfor(t=0; t<options.exclude.length; t++) {\\n\\t\\t\\tvar p = results.indexOf(options.exclude[t]);\\n\\t\\t\\tif(p !== -1) {\\n\\t\\t\\t\\tresults.splice(p,1);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn results;\\n};\\n\\n/*\\nTrigger a load for a tiddler if it is skinny. Returns the text, or undefined if the tiddler is missing, null if the tiddler is being lazily loaded.\\n*/\\nexports.getTiddlerText = function(title,defaultText) {\\n\\tvar tiddler = this.getTiddler(title);\\n\\t// Return undefined if the tiddler isn't found\\n\\tif(!tiddler) {\\n\\t\\treturn defaultText;\\n\\t}\\n\\tif(!tiddler.hasField(\\\"_is_skinny\\\")) {\\n\\t\\t// Just return the text if we've got it\\n\\t\\treturn tiddler.fields.text || \\\"\\\";\\n\\t} else {\\n\\t\\t// Tell any listeners about the need to lazily load this tiddler\\n\\t\\tthis.dispatchEvent(\\\"lazyLoad\\\",title);\\n\\t\\t// Indicate that the text is being loaded\\n\\t\\treturn null;\\n\\t}\\n};\\n\\n/*\\nCheck whether the text of a tiddler matches a given value. By default, the comparison is case insensitive, and any spaces at either end of the tiddler text is trimmed\\n*/\\nexports.checkTiddlerText = function(title,targetText,options) {\\n\\toptions = options || {};\\n\\tvar text = this.getTiddlerText(title,\\\"\\\");\\n\\tif(!options.noTrim) {\\n\\t\\ttext = text.trim();\\n\\t}\\n\\tif(!options.caseSensitive) {\\n\\t\\ttext = text.toLowerCase();\\n\\t\\ttargetText = targetText.toLowerCase();\\n\\t}\\n\\treturn text === targetText;\\n}\\n\\n/*\\nExecute an action string without an associated context widget\\n*/\\nexports.invokeActionString = function(actions,event,variables,options) {\\n\\tvar widget = this.makeWidget(null,{parentWidget: options.parentWidget});\\n\\twidget.invokeActionString(actions,null,event,variables);\\n};\\n\\n/*\\nRead an array of browser File objects, invoking callback(tiddlerFieldsArray) once they're all read\\n*/\\nexports.readFiles = function(files,options) {\\n\\tvar callback;\\n\\tif(typeof options === \\\"function\\\") {\\n\\t\\tcallback = options;\\n\\t\\toptions = {};\\n\\t} else {\\n\\t\\tcallback = options.callback;\\n\\t}\\n\\tvar result = [],\\n\\t\\toutstanding = files.length,\\n\\t\\treadFileCallback = function(tiddlerFieldsArray) {\\n\\t\\t\\tresult.push.apply(result,tiddlerFieldsArray);\\n\\t\\t\\tif(--outstanding === 0) {\\n\\t\\t\\t\\tcallback(result);\\n\\t\\t\\t}\\n\\t\\t};\\n\\tfor(var f=0; f<files.length; f++) {\\n\\t\\tthis.readFile(files[f],$tw.utils.extend({},options,{callback: readFileCallback}));\\n\\t}\\n\\treturn files.length;\\n};\\n\\n/*\\nRead a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\\n*/\\nexports.readFile = function(file,options) {\\n\\tvar callback;\\n\\tif(typeof options === \\\"function\\\") {\\n\\t\\tcallback = options;\\n\\t\\toptions = {};\\n\\t} else {\\n\\t\\tcallback = options.callback;\\n\\t}\\n\\t// Get the type, falling back to the filename extension\\n\\tvar self = this,\\n\\t\\ttype = file.type;\\n\\tif(type === \\\"\\\" || !type) {\\n\\t\\tvar dotPos = file.name.lastIndexOf(\\\".\\\");\\n\\t\\tif(dotPos !== -1) {\\n\\t\\t\\tvar fileExtensionInfo = $tw.utils.getFileExtensionInfo(file.name.substr(dotPos));\\n\\t\\t\\tif(fileExtensionInfo) {\\n\\t\\t\\t\\ttype = fileExtensionInfo.type;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// Figure out if we're reading a binary file\\n\\tvar contentTypeInfo = $tw.config.contentTypeInfo[type],\\n\\t\\tisBinary = contentTypeInfo ? contentTypeInfo.encoding === \\\"base64\\\" : false;\\n\\t// Log some debugging information\\n\\tif($tw.log.IMPORT) {\\n\\t\\tconsole.log(\\\"Importing file '\\\" + file.name + \\\"', type: '\\\" + type + \\\"', isBinary: \\\" + isBinary);\\n\\t}\\n\\t// Give the hook a chance to process the drag\\n\\tif($tw.hooks.invokeHook(\\\"th-importing-file\\\",{\\n\\t\\tfile: file,\\n\\t\\ttype: type,\\n\\t\\tisBinary: isBinary,\\n\\t\\tcallback: callback\\n\\t}) !== true) {\\n\\t\\tthis.readFileContent(file,type,isBinary,options.deserializer,callback);\\n\\t}\\n};\\n\\n/*\\nLower level utility to read the content of a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\\n*/\\nexports.readFileContent = function(file,type,isBinary,deserializer,callback) {\\n\\tvar self = this;\\n\\t// Create the FileReader\\n\\tvar reader = new FileReader();\\n\\t// Onload\\n\\treader.onload = function(event) {\\n\\t\\tvar text = event.target.result,\\n\\t\\t\\ttiddlerFields = {title: file.name || \\\"Untitled\\\"};\\n\\t\\tif(isBinary) {\\n\\t\\t\\tvar commaPos = text.indexOf(\\\",\\\");\\n\\t\\t\\tif(commaPos !== -1) {\\n\\t\\t\\t\\ttext = text.substr(commaPos + 1);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t// Check whether this is an encrypted TiddlyWiki file\\n\\t\\tvar encryptedJson = $tw.utils.extractEncryptedStoreArea(text);\\n\\t\\tif(encryptedJson) {\\n\\t\\t\\t// If so, attempt to decrypt it with the current password\\n\\t\\t\\t$tw.utils.decryptStoreAreaInteractive(encryptedJson,function(tiddlers) {\\n\\t\\t\\t\\tcallback(tiddlers);\\n\\t\\t\\t});\\n\\t\\t} else {\\n\\t\\t\\t// Otherwise, just try to deserialise any tiddlers in the file\\n\\t\\t\\tcallback(self.deserializeTiddlers(type,text,tiddlerFields,{deserializer: deserializer}));\\n\\t\\t}\\n\\t};\\n\\t// Kick off the read\\n\\tif(isBinary) {\\n\\t\\treader.readAsDataURL(file);\\n\\t} else {\\n\\t\\treader.readAsText(file);\\n\\t}\\n};\\n\\n/*\\nFind any existing draft of a specified tiddler\\n*/\\nexports.findDraft = function(targetTitle) {\\n\\tvar draftTitle = undefined;\\n\\tthis.forEachTiddler({includeSystem: true},function(title,tiddler) {\\n\\t\\tif(tiddler.fields[\\\"draft.title\\\"] && tiddler.fields[\\\"draft.of\\\"] === targetTitle) {\\n\\t\\t\\tdraftTitle = title;\\n\\t\\t}\\n\\t});\\n\\treturn draftTitle;\\n}\\n\\n/*\\nCheck whether the specified draft tiddler has been modified.\\nIf the original tiddler doesn't exist, create a vanilla tiddler variable,\\nto check if additional fields have been added.\\n*/\\nexports.isDraftModified = function(title) {\\n\\tvar tiddler = this.getTiddler(title);\\n\\tif(!tiddler.isDraft()) {\\n\\t\\treturn false;\\n\\t}\\n\\tvar ignoredFields = [\\\"created\\\", \\\"modified\\\", \\\"title\\\", \\\"draft.title\\\", \\\"draft.of\\\"],\\n\\t\\torigTiddler = this.getTiddler(tiddler.fields[\\\"draft.of\\\"]) || new $tw.Tiddler({text:\\\"\\\", tags:[]}),\\n\\t\\ttitleModified = tiddler.fields[\\\"draft.title\\\"] !== tiddler.fields[\\\"draft.of\\\"];\\n\\treturn titleModified || !tiddler.isEqual(origTiddler,ignoredFields);\\n};\\n\\n/*\\nAdd a new record to the top of the history stack\\ntitle: a title string or an array of title strings\\nfromPageRect: page coordinates of the origin of the navigation\\nhistoryTitle: title of history tiddler (defaults to $:/HistoryList)\\n*/\\nexports.addToHistory = function(title,fromPageRect,historyTitle) {\\n\\tvar story = new $tw.Story({wiki: this, historyTitle: historyTitle});\\n\\tstory.addToHistory(title,fromPageRect);\\n\\tconsole.log(\\\"$tw.wiki.addToHistory() is deprecated since V5.1.23! Use the this.story.addToHistory() from the story-object!\\\")\\n};\\n\\n/*\\nAdd a new tiddler to the story river\\ntitle: a title string or an array of title strings\\nfromTitle: the title of the tiddler from which the navigation originated\\nstoryTitle: title of story tiddler (defaults to $:/StoryList)\\noptions: see story.js\\n*/\\nexports.addToStory = function(title,fromTitle,storyTitle,options) {\\n\\tvar story = new $tw.Story({wiki: this, storyTitle: storyTitle});\\n\\tstory.addToStory(title,fromTitle,options);\\n\\tconsole.log(\\\"$tw.wiki.addToStory() is deprecated since V5.1.23! Use the this.story.addToStory() from the story-object!\\\")\\n};\\n\\n/*\\nGenerate a title for the draft of a given tiddler\\n*/\\nexports.generateDraftTitle = function(title) {\\n\\tvar c = 0,\\n\\t\\tdraftTitle,\\n\\t\\tusername = this.getTiddlerText(\\\"$:/status/UserName\\\"),\\n\\t\\tattribution = username ? \\\" by \\\" + username : \\\"\\\";\\n\\tdo {\\n\\t\\tdraftTitle = \\\"Draft \\\" + (c ? (c + 1) + \\\" \\\" : \\\"\\\") + \\\"of '\\\" + title + \\\"'\\\" + attribution;\\n\\t\\tc++;\\n\\t} while(this.tiddlerExists(draftTitle));\\n\\treturn draftTitle;\\n};\\n\\n/*\\nInvoke the available upgrader modules\\ntitles: array of tiddler titles to be processed\\ntiddlers: hashmap by title of tiddler fields of pending import tiddlers. These can be modified by the upgraders. An entry with no fields indicates a tiddler that was pending import has been suppressed. When entries are added to the pending import the tiddlers hashmap may have entries that are not present in the titles array\\nReturns a hashmap of messages keyed by tiddler title.\\n*/\\nexports.invokeUpgraders = function(titles,tiddlers) {\\n\\t// Collect up the available upgrader modules\\n\\tvar self = this;\\n\\tif(!this.upgraderModules) {\\n\\t\\tthis.upgraderModules = [];\\n\\t\\t$tw.modules.forEachModuleOfType(\\\"upgrader\\\",function(title,module) {\\n\\t\\t\\tif(module.upgrade) {\\n\\t\\t\\t\\tself.upgraderModules.push(module);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t}\\n\\t// Invoke each upgrader in turn\\n\\tvar messages = {};\\n\\tfor(var t=0; t<this.upgraderModules.length; t++) {\\n\\t\\tvar upgrader = this.upgraderModules[t],\\n\\t\\t\\tupgraderMessages = upgrader.upgrade(this,titles,tiddlers);\\n\\t\\t$tw.utils.extend(messages,upgraderMessages);\\n\\t}\\n\\treturn messages;\\n};\\n\\n// Determine whether a plugin by title is dynamically loadable\\nexports.doesPluginRequireReload = function(title) {\\n\\tvar tiddler = this.getTiddler(title);\\n\\tif(tiddler && tiddler.fields.type === \\\"application/json\\\" && tiddler.fields[\\\"plugin-type\\\"]) {\\n\\t\\tif(tiddler.fields[\\\"plugin-type\\\"] === \\\"import\\\") {\\n\\t\\t\\t// The import plugin never requires reloading\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t}\\n\\treturn this.doesPluginInfoRequireReload(this.getPluginInfo(title) || this.getTiddlerDataCached(title));\\n};\\n\\n// Determine whether a plugin info structure is dynamically loadable\\nexports.doesPluginInfoRequireReload = function(pluginInfo) {\\n\\tif(pluginInfo) {\\n\\t\\tvar foundModule = false;\\n\\t\\t$tw.utils.each(pluginInfo.tiddlers,function(tiddler) {\\n\\t\\t\\tif(tiddler.type === \\\"application/javascript\\\" && $tw.utils.hop(tiddler,\\\"module-type\\\")) {\\n\\t\\t\\t\\tfoundModule = true;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\treturn foundModule;\\n\\t} else {\\n\\t\\treturn null;\\n\\t}\\n};\\n\\nexports.slugify = function(title,options) {\\n\\tvar tiddler = this.getTiddler(title),\\n\\t\\tslug;\\n\\tif(tiddler && tiddler.fields.slug) {\\n\\t\\tslug = tiddler.fields.slug;\\n\\t} else {\\n\\t\\tslug = $tw.utils.transliterate(title.toString().toLowerCase()) // Replace diacritics with basic lowercase ASCII\\n\\t\\t\\t.replace(/\\\\s+/g,\\\"-\\\") // Replace spaces with -\\n\\t\\t\\t.replace(/[^\\\\w\\\\-\\\\.]+/g,\\\"\\\") // Remove all non-word chars except dash and dot\\n\\t\\t\\t.replace(/\\\\-\\\\-+/g,\\\"-\\\") // Replace multiple - with single -\\n\\t\\t\\t.replace(/^-+/,\\\"\\\") // Trim - from start of text\\n\\t\\t\\t.replace(/-+$/,\\\"\\\"); // Trim - from end of text\\n\\t}\\n\\t// If the resulting slug is blank (eg because the title is just punctuation characters)\\n\\tif(!slug) {\\n\\t\\t// ...then just use the character codes of the title\\n\\t\\tvar result = [];\\n\\t\\t$tw.utils.each(title.split(\\\"\\\"),function(char) {\\n\\t\\t\\tresult.push(char.charCodeAt(0).toString());\\n\\t\\t});\\n\\t\\tslug = result.join(\\\"-\\\");\\n\\t}\\n\\treturn slug;\\n};\\n\\n})();\\n\",\"type\":\"application/javascript\",\"module-type\":\"wikimethod\"},\"$:/palettes/Blanca\":{\"title\":\"$:/palettes/Blanca\",\"name\":\"Blanca\",\"color-scheme\":\"light\",\"description\":\"A clean white palette to let you focus\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"text\":\"alert-background: #ffe476\\nalert-border: #b99e2f\\nalert-highlight: #881122\\nalert-muted-foreground: #b99e2f\\nbackground: #ffffff\\nblockquote-bar: <<colour muted-foreground>>\\nbutton-background:\\nbutton-foreground:\\nbutton-border:\\ncode-background: #f7f7f9\\ncode-border: #e1e1e8\\ncode-foreground: #dd1144\\ndirty-indicator: #ff0000\\ndownload-background: #66cccc\\ndownload-foreground: <<colour background>>\\ndragger-background: <<colour foreground>>\\ndragger-foreground: <<colour background>>\\ndropdown-background: <<colour background>>\\ndropdown-border: <<colour muted-foreground>>\\ndropdown-tab-background-selected: #fff\\ndropdown-tab-background: #ececec\\ndropzone-background: rgba(0,200,0,0.7)\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-background: inherit\\nexternal-link-foreground-hover: inherit\\nexternal-link-foreground-visited: #0000aa\\nexternal-link-foreground: #0000ee\\nforeground: #333333\\nhighlight-background: #ffff00\\nhighlight-foreground: #000000\\nmessage-background: #ecf2ff\\nmessage-border: #cfd6e6\\nmessage-foreground: #547599\\nmodal-backdrop: <<colour foreground>>\\nmodal-background: <<colour background>>\\nmodal-border: #999999\\nmodal-footer-background: #f5f5f5\\nmodal-footer-border: #dddddd\\nmodal-header-border: #eeeeee\\nmuted-foreground: #999999\\nnotification-background: #ffffdd\\nnotification-border: #999999\\npage-background: #ffffff\\npre-background: #f5f5f5\\npre-border: #cccccc\\nprimary: #7897f3\\nselect-tag-background:\\nselect-tag-foreground:\\nsidebar-button-foreground: <<colour foreground>>\\nsidebar-controls-foreground-hover: #000000\\nsidebar-controls-foreground: #ccc\\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\\nsidebar-foreground: #acacac\\nsidebar-muted-foreground-hover: #444444\\nsidebar-muted-foreground: #c0c0c0\\nsidebar-tab-background-selected: #ffffff\\nsidebar-tab-background: <<colour tab-background>>\\nsidebar-tab-border-selected: <<colour tab-border-selected>>\\nsidebar-tab-border: <<colour tab-border>>\\nsidebar-tab-divider: <<colour tab-divider>>\\nsidebar-tab-foreground-selected: \\nsidebar-tab-foreground: <<colour tab-foreground>>\\nsidebar-tiddler-link-foreground-hover: #444444\\nsidebar-tiddler-link-foreground: #7897f3\\nsite-title-foreground: <<colour tiddler-title-foreground>>\\nstatic-alert-foreground: #aaaaaa\\ntab-background-selected: #ffffff\\ntab-background: #eeeeee\\ntab-border-selected: #cccccc\\ntab-border: #cccccc\\ntab-divider: #d8d8d8\\ntab-foreground-selected: <<colour tab-foreground>>\\ntab-foreground: #666666\\ntable-border: #dddddd\\ntable-footer-background: #a8a8a8\\ntable-header-background: #f0f0f0\\ntag-background: #ffeedd\\ntag-foreground: #000\\ntiddler-background: <<colour background>>\\ntiddler-border: #eee\\ntiddler-controls-foreground-hover: #888888\\ntiddler-controls-foreground-selected: #444444\\ntiddler-controls-foreground: #cccccc\\ntiddler-editor-background: #f8f8f8\\ntiddler-editor-border-image: #ffffff\\ntiddler-editor-border: #cccccc\\ntiddler-editor-fields-even: #e0e8e0\\ntiddler-editor-fields-odd: #f0f4f0\\ntiddler-info-background: #f8f8f8\\ntiddler-info-border: #dddddd\\ntiddler-info-tab-background: #f8f8f8\\ntiddler-link-background: <<colour background>>\\ntiddler-link-foreground: <<colour primary>>\\ntiddler-subtitle-foreground: #c0c0c0\\ntiddler-title-foreground: #ff9900\\ntoolbar-new-button:\\ntoolbar-options-button:\\ntoolbar-save-button:\\ntoolbar-info-button:\\ntoolbar-edit-button:\\ntoolbar-close-button:\\ntoolbar-delete-button:\\ntoolbar-cancel-button:\\ntoolbar-done-button:\\nuntagged-background: #999999\\nvery-muted-foreground: #888888\\n\"},\"$:/palettes/Blue\":{\"title\":\"$:/palettes/Blue\",\"name\":\"Blue\",\"color-scheme\":\"light\",\"description\":\"A blue theme\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"text\":\"alert-background: #ffe476\\nalert-border: #b99e2f\\nalert-highlight: #881122\\nalert-muted-foreground: #b99e2f\\nbackground: #fff\\nblockquote-bar: <<colour muted-foreground>>\\nbutton-background:\\nbutton-foreground:\\nbutton-border:\\ncode-background: #f7f7f9\\ncode-border: #e1e1e8\\ncode-foreground: #dd1144\\ndirty-indicator: #ff0000\\ndownload-background: #34c734\\ndownload-foreground: <<colour foreground>>\\ndragger-background: <<colour foreground>>\\ndragger-foreground: <<colour background>>\\ndropdown-background: <<colour background>>\\ndropdown-border: <<colour muted-foreground>>\\ndropdown-tab-background-selected: #fff\\ndropdown-tab-background: #ececec\\ndropzone-background: rgba(0,200,0,0.7)\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-background: inherit\\nexternal-link-foreground-hover: inherit\\nexternal-link-foreground-visited: #0000aa\\nexternal-link-foreground: #0000ee\\nforeground: #333353\\nhighlight-background: #ffff00\\nhighlight-foreground: #000000\\nmessage-background: #ecf2ff\\nmessage-border: #cfd6e6\\nmessage-foreground: #547599\\nmodal-backdrop: <<colour foreground>>\\nmodal-background: <<colour background>>\\nmodal-border: #999999\\nmodal-footer-background: #f5f5f5\\nmodal-footer-border: #dddddd\\nmodal-header-border: #eeeeee\\nmuted-foreground: #999999\\nnotification-background: #ffffdd\\nnotification-border: #999999\\npage-background: #ddddff\\npre-background: #f5f5f5\\npre-border: #cccccc\\nprimary: #5778d8\\nselect-tag-background:\\nselect-tag-foreground:\\nsidebar-button-foreground: <<colour foreground>>\\nsidebar-controls-foreground-hover: #000000\\nsidebar-controls-foreground: #ffffff\\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\\nsidebar-foreground: #acacac\\nsidebar-muted-foreground-hover: #444444\\nsidebar-muted-foreground: #c0c0c0\\nsidebar-tab-background-selected: <<colour page-background>>\\nsidebar-tab-background: <<colour tab-background>>\\nsidebar-tab-border-selected: <<colour tab-border-selected>>\\nsidebar-tab-border: <<colour tab-border>>\\nsidebar-tab-divider: <<colour tab-divider>>\\nsidebar-tab-foreground-selected: \\nsidebar-tab-foreground: <<colour tab-foreground>>\\nsidebar-tiddler-link-foreground-hover: #444444\\nsidebar-tiddler-link-foreground: #5959c0\\nsite-title-foreground: <<colour tiddler-title-foreground>>\\nstatic-alert-foreground: #aaaaaa\\ntab-background-selected: <<colour background>>\\ntab-background: #ccccdd\\ntab-border-selected: #ccccdd\\ntab-border: #cccccc\\ntab-divider: #d8d8d8\\ntab-foreground-selected: <<colour tab-foreground>>\\ntab-foreground: #666666\\ntable-border: #dddddd\\ntable-footer-background: #a8a8a8\\ntable-header-background: #f0f0f0\\ntag-background: #eeeeff\\ntag-foreground: #000\\ntiddler-background: <<colour background>>\\ntiddler-border: <<colour background>>\\ntiddler-controls-foreground-hover: #666666\\ntiddler-controls-foreground-selected: #444444\\ntiddler-controls-foreground: #cccccc\\ntiddler-editor-background: #f8f8f8\\ntiddler-editor-border-image: #ffffff\\ntiddler-editor-border: #cccccc\\ntiddler-editor-fields-even: #e0e8e0\\ntiddler-editor-fields-odd: #f0f4f0\\ntiddler-info-background: #ffffff\\ntiddler-info-border: #dddddd\\ntiddler-info-tab-background: #ffffff\\ntiddler-link-background: <<colour background>>\\ntiddler-link-foreground: <<colour primary>>\\ntiddler-subtitle-foreground: #c0c0c0\\ntiddler-title-foreground: #5959c0\\ntoolbar-new-button: #5eb95e\\ntoolbar-options-button: rgb(128, 88, 165)\\ntoolbar-save-button: #0e90d2\\ntoolbar-info-button: #0e90d2\\ntoolbar-edit-button: rgb(243, 123, 29)\\ntoolbar-close-button: #dd514c\\ntoolbar-delete-button: #dd514c\\ntoolbar-cancel-button: rgb(243, 123, 29)\\ntoolbar-done-button: #5eb95e\\nuntagged-background: #999999\\nvery-muted-foreground: #888888\\n\"},\"$:/palettes/Muted\":{\"title\":\"$:/palettes/Muted\",\"name\":\"Muted\",\"color-scheme\":\"light\",\"description\":\"Bright tiddlers on a muted background\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"text\":\"alert-background: #ffe476\\nalert-border: #b99e2f\\nalert-highlight: #881122\\nalert-muted-foreground: #b99e2f\\nbackground: #ffffff\\nblockquote-bar: <<colour muted-foreground>>\\nbutton-background:\\nbutton-foreground:\\nbutton-border:\\ncode-background: #f7f7f9\\ncode-border: #e1e1e8\\ncode-foreground: #dd1144\\ndirty-indicator: #ff0000\\ndownload-background: #34c734\\ndownload-foreground: <<colour background>>\\ndragger-background: <<colour foreground>>\\ndragger-foreground: <<colour background>>\\ndropdown-background: <<colour background>>\\ndropdown-border: <<colour muted-foreground>>\\ndropdown-tab-background-selected: #fff\\ndropdown-tab-background: #ececec\\ndropzone-background: rgba(0,200,0,0.7)\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-background: inherit\\nexternal-link-foreground-hover: inherit\\nexternal-link-foreground-visited: #0000aa\\nexternal-link-foreground: #0000ee\\nforeground: #333333\\nhighlight-background: #ffff00\\nhighlight-foreground: #000000\\nmessage-background: #ecf2ff\\nmessage-border: #cfd6e6\\nmessage-foreground: #547599\\nmodal-backdrop: <<colour foreground>>\\nmodal-background: <<colour background>>\\nmodal-border: #999999\\nmodal-footer-background: #f5f5f5\\nmodal-footer-border: #dddddd\\nmodal-header-border: #eeeeee\\nmuted-foreground: #bbb\\nnotification-background: #ffffdd\\nnotification-border: #999999\\npage-background: #6f6f70\\npre-background: #f5f5f5\\npre-border: #cccccc\\nprimary: #29a6ee\\nselect-tag-background:\\nselect-tag-foreground:\\nsidebar-button-foreground: <<colour foreground>>\\nsidebar-controls-foreground-hover: #000000\\nsidebar-controls-foreground: #c2c1c2\\nsidebar-foreground-shadow: rgba(255,255,255,0)\\nsidebar-foreground: #d3d2d4\\nsidebar-muted-foreground-hover: #444444\\nsidebar-muted-foreground: #c0c0c0\\nsidebar-tab-background-selected: #6f6f70\\nsidebar-tab-background: #666667\\nsidebar-tab-border-selected: #999\\nsidebar-tab-border: #515151\\nsidebar-tab-divider: #999\\nsidebar-tab-foreground-selected: \\nsidebar-tab-foreground: #999\\nsidebar-tiddler-link-foreground-hover: #444444\\nsidebar-tiddler-link-foreground: #d1d0d2\\nsite-title-foreground: <<colour tiddler-title-foreground>>\\nstatic-alert-foreground: #aaaaaa\\ntab-background-selected: #ffffff\\ntab-background: #d8d8d8\\ntab-border-selected: #d8d8d8\\ntab-border: #cccccc\\ntab-divider: #d8d8d8\\ntab-foreground-selected: <<colour tab-foreground>>\\ntab-foreground: #666666\\ntable-border: #dddddd\\ntable-footer-background: #a8a8a8\\ntable-header-background: #f0f0f0\\ntag-background: #d5ad34\\ntag-foreground: #ffffff\\ntiddler-background: <<colour background>>\\ntiddler-border: <<colour background>>\\ntiddler-controls-foreground-hover: #888888\\ntiddler-controls-foreground-selected: #444444\\ntiddler-controls-foreground: #cccccc\\ntiddler-editor-background: #f8f8f8\\ntiddler-editor-border-image: #ffffff\\ntiddler-editor-border: #cccccc\\ntiddler-editor-fields-even: #e0e8e0\\ntiddler-editor-fields-odd: #f0f4f0\\ntiddler-info-background: #f8f8f8\\ntiddler-info-border: #dddddd\\ntiddler-info-tab-background: #f8f8f8\\ntiddler-link-background: <<colour background>>\\ntiddler-link-foreground: <<colour primary>>\\ntiddler-subtitle-foreground: #c0c0c0\\ntiddler-title-foreground: #182955\\ntoolbar-new-button: \\ntoolbar-options-button: \\ntoolbar-save-button: \\ntoolbar-info-button: \\ntoolbar-edit-button: \\ntoolbar-close-button: \\ntoolbar-delete-button: \\ntoolbar-cancel-button: \\ntoolbar-done-button: \\nuntagged-background: #999999\\nvery-muted-foreground: #888888\\n\"},\"$:/palettes/ContrastLight\":{\"title\":\"$:/palettes/ContrastLight\",\"name\":\"Contrast (Light)\",\"color-scheme\":\"light\",\"description\":\"High contrast and unambiguous (light version)\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"text\":\"alert-background: #f00\\nalert-border: <<colour background>>\\nalert-highlight: <<colour foreground>>\\nalert-muted-foreground: #800\\nbackground: #fff\\nblockquote-bar: <<colour muted-foreground>>\\nbutton-background: <<colour background>>\\nbutton-foreground: <<colour foreground>>\\nbutton-border: <<colour foreground>>\\ncode-background: <<colour background>>\\ncode-border: <<colour foreground>>\\ncode-foreground: <<colour foreground>>\\ndirty-indicator: #f00\\ndownload-background: #080\\ndownload-foreground: <<colour background>>\\ndragger-background: <<colour foreground>>\\ndragger-foreground: <<colour background>>\\ndropdown-background: <<colour background>>\\ndropdown-border: <<colour muted-foreground>>\\ndropdown-tab-background-selected: <<colour foreground>>\\ndropdown-tab-background: <<colour foreground>>\\ndropzone-background: rgba(0,200,0,0.7)\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-background: inherit\\nexternal-link-foreground-hover: inherit\\nexternal-link-foreground-visited: #00a\\nexternal-link-foreground: #00e\\nforeground: #000\\nhighlight-background: #ffff00\\nhighlight-foreground: #000000\\nmessage-background: <<colour foreground>>\\nmessage-border: <<colour background>>\\nmessage-foreground: <<colour background>>\\nmodal-backdrop: <<colour foreground>>\\nmodal-background: <<colour background>>\\nmodal-border: <<colour foreground>>\\nmodal-footer-background: <<colour background>>\\nmodal-footer-border: <<colour foreground>>\\nmodal-header-border: <<colour foreground>>\\nmuted-foreground: <<colour foreground>>\\nnotification-background: <<colour background>>\\nnotification-border: <<colour foreground>>\\npage-background: <<colour background>>\\npre-background: <<colour background>>\\npre-border: <<colour foreground>>\\nprimary: #00f\\nselect-tag-background:\\nselect-tag-foreground:\\nsidebar-button-foreground: <<colour foreground>>\\nsidebar-controls-foreground-hover: <<colour background>>\\nsidebar-controls-foreground: <<colour foreground>>\\nsidebar-foreground-shadow: rgba(0,0,0, 0)\\nsidebar-foreground: <<colour foreground>>\\nsidebar-muted-foreground-hover: #444444\\nsidebar-muted-foreground: <<colour foreground>>\\nsidebar-tab-background-selected: <<colour background>>\\nsidebar-tab-background: <<colour tab-background>>\\nsidebar-tab-border-selected: <<colour tab-border-selected>>\\nsidebar-tab-border: <<colour tab-border>>\\nsidebar-tab-divider: <<colour tab-divider>>\\nsidebar-tab-foreground-selected: <<colour foreground>>\\nsidebar-tab-foreground: <<colour tab-foreground>>\\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\\nsidebar-tiddler-link-foreground: <<colour primary>>\\nsite-title-foreground: <<colour tiddler-title-foreground>>\\nstatic-alert-foreground: #aaaaaa\\ntab-background-selected: <<colour background>>\\ntab-background: <<colour foreground>>\\ntab-border-selected: <<colour foreground>>\\ntab-border: <<colour foreground>>\\ntab-divider: <<colour foreground>>\\ntab-foreground-selected: <<colour foreground>>\\ntab-foreground: <<colour background>>\\ntable-border: #dddddd\\ntable-footer-background: #a8a8a8\\ntable-header-background: #f0f0f0\\ntag-background: #000\\ntag-foreground: #fff\\ntiddler-background: <<colour background>>\\ntiddler-border: <<colour foreground>>\\ntiddler-controls-foreground-hover: #ddd\\ntiddler-controls-foreground-selected: #fdd\\ntiddler-controls-foreground: <<colour foreground>>\\ntiddler-editor-background: <<colour background>>\\ntiddler-editor-border-image: <<colour foreground>>\\ntiddler-editor-border: #cccccc\\ntiddler-editor-fields-even: <<colour background>>\\ntiddler-editor-fields-odd: <<colour background>>\\ntiddler-info-background: <<colour background>>\\ntiddler-info-border: <<colour foreground>>\\ntiddler-info-tab-background: <<colour background>>\\ntiddler-link-background: <<colour background>>\\ntiddler-link-foreground: <<colour primary>>\\ntiddler-subtitle-foreground: <<colour foreground>>\\ntiddler-title-foreground: <<colour foreground>>\\ntoolbar-new-button: \\ntoolbar-options-button: \\ntoolbar-save-button: \\ntoolbar-info-button: \\ntoolbar-edit-button: \\ntoolbar-close-button: \\ntoolbar-delete-button: \\ntoolbar-cancel-button: \\ntoolbar-done-button: \\nuntagged-background: <<colour foreground>>\\nvery-muted-foreground: #888888\\n\"},\"$:/palettes/ContrastDark\":{\"title\":\"$:/palettes/ContrastDark\",\"name\":\"Contrast (Dark)\",\"color-scheme\":\"dark\",\"description\":\"High contrast and unambiguous (dark version)\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"text\":\"alert-background: #f00\\nalert-border: <<colour background>>\\nalert-highlight: <<colour foreground>>\\nalert-muted-foreground: #800\\nbackground: #000\\nblockquote-bar: <<colour muted-foreground>>\\nbutton-background: <<colour background>>\\nbutton-foreground: <<colour foreground>>\\nbutton-border: <<colour foreground>>\\ncode-background: <<colour background>>\\ncode-border: <<colour foreground>>\\ncode-foreground: <<colour foreground>>\\ndirty-indicator: #f00\\ndownload-background: #080\\ndownload-foreground: <<colour background>>\\ndragger-background: <<colour foreground>>\\ndragger-foreground: <<colour background>>\\ndropdown-background: <<colour background>>\\ndropdown-border: <<colour muted-foreground>>\\ndropdown-tab-background-selected: <<colour foreground>>\\ndropdown-tab-background: <<colour foreground>>\\ndropzone-background: rgba(0,200,0,0.7)\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-background: inherit\\nexternal-link-foreground-hover: inherit\\nexternal-link-foreground-visited: #00a\\nexternal-link-foreground: #00e\\nforeground: #fff\\nhighlight-background: #ffff00\\nhighlight-foreground: #000000\\nmessage-background: <<colour foreground>>\\nmessage-border: <<colour background>>\\nmessage-foreground: <<colour background>>\\nmodal-backdrop: <<colour foreground>>\\nmodal-background: <<colour background>>\\nmodal-border: <<colour foreground>>\\nmodal-footer-background: <<colour background>>\\nmodal-footer-border: <<colour foreground>>\\nmodal-header-border: <<colour foreground>>\\nmuted-foreground: <<colour foreground>>\\nnotification-background: <<colour background>>\\nnotification-border: <<colour foreground>>\\npage-background: <<colour background>>\\npre-background: <<colour background>>\\npre-border: <<colour foreground>>\\nprimary: #00f\\nselect-tag-background:\\nselect-tag-foreground:\\nsidebar-button-foreground: <<colour foreground>>\\nsidebar-controls-foreground-hover: <<colour background>>\\nsidebar-controls-foreground: <<colour foreground>>\\nsidebar-foreground-shadow: rgba(0,0,0, 0)\\nsidebar-foreground: <<colour foreground>>\\nsidebar-muted-foreground-hover: #444444\\nsidebar-muted-foreground: <<colour foreground>>\\nsidebar-tab-background-selected: <<colour background>>\\nsidebar-tab-background: <<colour tab-background>>\\nsidebar-tab-border-selected: <<colour tab-border-selected>>\\nsidebar-tab-border: <<colour tab-border>>\\nsidebar-tab-divider: <<colour tab-divider>>\\nsidebar-tab-foreground-selected: <<colour foreground>>\\nsidebar-tab-foreground: <<colour tab-foreground>>\\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\\nsidebar-tiddler-link-foreground: <<colour primary>>\\nsite-title-foreground: <<colour tiddler-title-foreground>>\\nstatic-alert-foreground: #aaaaaa\\ntab-background-selected: <<colour background>>\\ntab-background: <<colour foreground>>\\ntab-border-selected: <<colour foreground>>\\ntab-border: <<colour foreground>>\\ntab-divider: <<colour foreground>>\\ntab-foreground-selected: <<colour foreground>>\\ntab-foreground: <<colour background>>\\ntable-border: #dddddd\\ntable-footer-background: #a8a8a8\\ntable-header-background: #f0f0f0\\ntag-background: #fff\\ntag-foreground: #000\\ntiddler-background: <<colour background>>\\ntiddler-border: <<colour foreground>>\\ntiddler-controls-foreground-hover: #ddd\\ntiddler-controls-foreground-selected: #fdd\\ntiddler-controls-foreground: <<colour foreground>>\\ntiddler-editor-background: <<colour background>>\\ntiddler-editor-border-image: <<colour foreground>>\\ntiddler-editor-border: #cccccc\\ntiddler-editor-fields-even: <<colour background>>\\ntiddler-editor-fields-odd: <<colour background>>\\ntiddler-info-background: <<colour background>>\\ntiddler-info-border: <<colour foreground>>\\ntiddler-info-tab-background: <<colour background>>\\ntiddler-link-background: <<colour background>>\\ntiddler-link-foreground: <<colour primary>>\\ntiddler-subtitle-foreground: <<colour foreground>>\\ntiddler-title-foreground: <<colour foreground>>\\ntoolbar-new-button: \\ntoolbar-options-button: \\ntoolbar-save-button: \\ntoolbar-info-button: \\ntoolbar-edit-button: \\ntoolbar-close-button: \\ntoolbar-delete-button: \\ntoolbar-cancel-button: \\ntoolbar-done-button: \\nuntagged-background: <<colour foreground>>\\nvery-muted-foreground: #888888\\n\"},\"$:/palettes/CupertinoDark\":{\"title\":\"$:/palettes/CupertinoDark\",\"tags\":\"$:/tags/Palette\",\"color-scheme\":\"dark\",\"name\":\"Cupertino Dark\",\"description\":\"A macOS inspired dark palette\",\"type\":\"application/x-tiddler-dictionary\",\"text\":\"alert-background: #FF453A\\nalert-border: #FF453A\\nalert-highlight: #FFD60A\\nalert-muted-foreground: <<colour muted-foreground>>\\nbackground: #282828\\nblockquote-bar: <<colour page-background>>\\nbutton-foreground: <<colour foreground>>\\ncode-background: <<colour pre-background>>\\ncode-border: <<colour pre-border>>\\ncode-foreground: rgba(255, 255, 255, 0.54)\\ndirty-indicator: #FF453A\\ndownload-background: <<colour primary>>\\ndownload-foreground: <<colour foreground>>\\ndragger-background: <<colour foreground>>\\ndragger-foreground: <<colour background>>\\ndropdown-background: <<colour tiddler-info-background>>\\ndropdown-border: <<colour dropdown-background>>\\ndropdown-tab-background-selected: #3F638B\\ndropdown-tab-background: #323232\\ndropzone-background: #30D158\\nexternal-link-background-hover: transparent\\nexternal-link-background-visited: transparent\\nexternal-link-background: transparent\\nexternal-link-foreground-hover: \\nexternal-link-foreground-visited: #BF5AF2\\nexternal-link-foreground: #32D74B\\nforeground: #FFFFFF\\nhighlight-background: #ffff78\\nhighlight-foreground: #000000\\nmenubar-background: #464646\\nmenubar-foreground: #ffffff\\nmessage-background: <<colour background>>\\nmessage-border: <<colour very-muted-foreground>>\\nmessage-foreground: rgba(255, 255, 255, 0.54)\\nmodal-backdrop: <<colour page-background>>\\nmodal-background: <<colour background>>\\nmodal-border: <<colour very-muted-foreground>>\\nmodal-footer-background: <<colour background>>\\nmodal-footer-border: <<colour background>>\\nmodal-header-border: <<colour very-muted-foreground>>\\nmuted-foreground: #98989D\\nnotification-background: <<colour dropdown-background>>\\nnotification-border: <<colour dropdown-background>>\\npage-background: #323232\\npre-background: #464646\\npre-border: transparent\\nprimary: #0A84FF\\nselect-tag-background: <<colour background>>\\nselect-tag-foreground: <<colour foreground>>\\nsidebar-button-foreground: <<colour foreground>>\\nsidebar-controls-foreground-hover: #FF9F0A\\nsidebar-controls-foreground: #8E8E93\\nsidebar-foreground-shadow: transparent\\nsidebar-foreground: rgba(255, 255, 255, 0.54)\\nsidebar-muted-foreground-hover: rgba(255, 255, 255, 0.54)\\nsidebar-muted-foreground: rgba(255, 255, 255, 0.38)\\nsidebar-tab-background-selected: #3F638B\\nsidebar-tab-background: <<colour background>>\\nsidebar-tab-border-selected: <<colour background>>\\nsidebar-tab-border: <<colour background>>\\nsidebar-tab-divider: <<colour background>>\\nsidebar-tab-foreground-selected: rgba(255, 255, 255, 0.87)\\nsidebar-tab-foreground: rgba(255, 255, 255, 0.54)\\nsidebar-tiddler-link-foreground-hover: rgba(255, 255, 255, 0.7)\\nsidebar-tiddler-link-foreground: rgba(255, 255, 255, 0.54)\\nsite-title-foreground: #ffffff\\nstatic-alert-foreground: #B4B4B4\\ntab-background-selected: #3F638B\\ntab-background: <<colour page-background>>\\ntab-border-selected: <<colour page-background>>\\ntab-border: <<colour page-background>>\\ntab-divider: <<colour page-background>>\\ntab-foreground-selected: rgba(255, 255, 255, 0.87)\\ntab-foreground: rgba(255, 255, 255, 0.54)\\ntable-border: #464646\\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\\ntable-header-background: <<colour tiddler-editor-fields-even>>\\ntag-background: #48484A\\ntag-foreground: #323232\\ntiddler-background: <<colour background>>\\ntiddler-border: transparent\\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\\ntiddler-controls-foreground: #48484A\\ntiddler-editor-background: <<colour background>>\\ntiddler-editor-border-image: \\ntiddler-editor-border: rgba(255, 255, 255, 0.08)\\ntiddler-editor-fields-even: rgba(255, 255, 255, 0.1)\\ntiddler-editor-fields-odd: rgba(255, 255, 255, 0.04)\\ntiddler-info-background: #1E1E1E\\ntiddler-info-border: #1E1E1E\\ntiddler-info-tab-background: #3F638B\\ntiddler-link-background: <<colour background>>\\ntiddler-link-foreground: <<colour primary>>\\ntiddler-subtitle-foreground: <<colour muted-foreground>>\\ntiddler-title-foreground: #FFFFFF\\ntoolbar-new-button: \\ntoolbar-options-button: \\ntoolbar-save-button: \\ntoolbar-info-button: \\ntoolbar-edit-button: \\ntoolbar-close-button: \\ntoolbar-delete-button: \\ntoolbar-cancel-button: \\ntoolbar-done-button: \\nuntagged-background: <<colour very-muted-foreground>>\\nvery-muted-foreground: #464646\\nselection-background: #3F638B\\nselection-foreground: #ffffff\\nwikilist-background: <<colour page-background>>\\nwikilist-button-background: #3F638B\\nwikilist-button-foreground: <<colour foreground>>\\nwikilist-button-open: #32D74B\\nwikilist-button-open-hover: #32D74B\\nwikilist-button-reveal: #0A84FF\\nwikilist-button-reveal-hover: #0A84FF\\nwikilist-button-remove: #FF453A\\nwikilist-button-remove-hover: #FF453A\\nwikilist-droplink-dragover: #32D74B\\nwikilist-item: <<colour background>>\\nwikilist-toolbar-background: <<colour background>>\\nwikilist-title: <<colour foreground>>\\nwikilist-title-svg: <<colour foreground>>\\nwikilist-toolbar-foreground: <<colour foreground>>\\nwikilist-url: <<colour muted-foreground>>\\n\"},\"$:/palettes/DarkPhotos\":{\"title\":\"$:/palettes/DarkPhotos\",\"created\":\"20150402111612188\",\"description\":\"Good with dark photo backgrounds\",\"modified\":\"20150402112344080\",\"name\":\"DarkPhotos\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"color-scheme\":\"light\",\"text\":\"alert-background: #ffe476\\nalert-border: #b99e2f\\nalert-highlight: #881122\\nalert-muted-foreground: #b99e2f\\nbackground: #ffffff\\nblockquote-bar: <<colour muted-foreground>>\\nbutton-background: \\nbutton-foreground: \\nbutton-border: \\ncode-background: #f7f7f9\\ncode-border: #e1e1e8\\ncode-foreground: #dd1144\\ndirty-indicator: #ff0000\\ndownload-background: #34c734\\ndownload-foreground: <<colour background>>\\ndragger-background: <<colour foreground>>\\ndragger-foreground: <<colour background>>\\ndropdown-background: <<colour background>>\\ndropdown-border: <<colour muted-foreground>>\\ndropdown-tab-background-selected: #fff\\ndropdown-tab-background: #ececec\\ndropzone-background: rgba(0,200,0,0.7)\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-background: inherit\\nexternal-link-foreground-hover: inherit\\nexternal-link-foreground-visited: #0000aa\\nexternal-link-foreground: #0000ee\\nforeground: #333333\\nhighlight-background: #ffff00\\nhighlight-foreground: #000000\\nmessage-background: #ecf2ff\\nmessage-border: #cfd6e6\\nmessage-foreground: #547599\\nmodal-backdrop: <<colour foreground>>\\nmodal-background: <<colour background>>\\nmodal-border: #999999\\nmodal-footer-background: #f5f5f5\\nmodal-footer-border: #dddddd\\nmodal-header-border: #eeeeee\\nmuted-foreground: #ddd\\nnotification-background: #ffffdd\\nnotification-border: #999999\\npage-background: #336438\\npre-background: #f5f5f5\\npre-border: #cccccc\\nprimary: #5778d8\\nselect-tag-background:\\nselect-tag-foreground:\\nsidebar-button-foreground: <<colour foreground>>\\nsidebar-controls-foreground-hover: #ccf\\nsidebar-controls-foreground: #fff\\nsidebar-foreground-shadow: rgba(0,0,0, 0.5)\\nsidebar-foreground: #fff\\nsidebar-muted-foreground-hover: #444444\\nsidebar-muted-foreground: #eee\\nsidebar-tab-background-selected: rgba(255,255,255, 0.8)\\nsidebar-tab-background: rgba(255,255,255, 0.4)\\nsidebar-tab-border-selected: <<colour tab-border-selected>>\\nsidebar-tab-border: <<colour tab-border>>\\nsidebar-tab-divider: rgba(255,255,255, 0.2)\\nsidebar-tab-foreground-selected: \\nsidebar-tab-foreground: <<colour tab-foreground>>\\nsidebar-tiddler-link-foreground-hover: #aaf\\nsidebar-tiddler-link-foreground: #ddf\\nsite-title-foreground: #fff\\nstatic-alert-foreground: #aaaaaa\\ntab-background-selected: #ffffff\\ntab-background: #d8d8d8\\ntab-border-selected: #d8d8d8\\ntab-border: #cccccc\\ntab-divider: #d8d8d8\\ntab-foreground-selected: <<colour tab-foreground>>\\ntab-foreground: #666666\\ntable-border: #dddddd\\ntable-footer-background: #a8a8a8\\ntable-header-background: #f0f0f0\\ntag-background: #ec6\\ntag-foreground: #ffffff\\ntiddler-background: <<colour background>>\\ntiddler-border: <<colour background>>\\ntiddler-controls-foreground-hover: #888888\\ntiddler-controls-foreground-selected: #444444\\ntiddler-controls-foreground: #cccccc\\ntiddler-editor-background: #f8f8f8\\ntiddler-editor-border-image: #ffffff\\ntiddler-editor-border: #cccccc\\ntiddler-editor-fields-even: #e0e8e0\\ntiddler-editor-fields-odd: #f0f4f0\\ntiddler-info-background: #f8f8f8\\ntiddler-info-border: #dddddd\\ntiddler-info-tab-background: #f8f8f8\\ntiddler-link-background: <<colour background>>\\ntiddler-link-foreground: <<colour primary>>\\ntiddler-subtitle-foreground: #c0c0c0\\ntiddler-title-foreground: #182955\\ntoolbar-new-button: \\ntoolbar-options-button: \\ntoolbar-save-button: \\ntoolbar-info-button: \\ntoolbar-edit-button: \\ntoolbar-close-button: \\ntoolbar-delete-button: \\ntoolbar-cancel-button: \\ntoolbar-done-button: \\nuntagged-background: #999999\\nvery-muted-foreground: #888888\\n\"},\"$:/palettes/DesertSand\":{\"title\":\"$:/palettes/DesertSand\",\"tags\":\"$:/tags/Palette\",\"color-scheme\":\"light\",\"name\":\"Desert Sand\",\"description\":\"A desert sand palette\",\"type\":\"application/x-tiddler-dictionary\",\"text\":\"alert-background: #ffe476\\nalert-border: #b99e2f\\nalert-highlight: #881122\\nalert-muted-foreground: #b99e2f\\nbackground: #E9E0C7\\nblockquote-bar: <<colour muted-foreground>>\\nbutton-foreground: <<colour foreground>>\\ncode-background: #F3EDDF\\ncode-border: #C3BAA1\\ncode-foreground: #ab3250\\ndiff-delete-background: #bd8b8b\\ndiff-delete-foreground: <<colour foreground>>\\ndiff-equal-background: \\ndiff-equal-foreground: <<colour foreground>>\\ndiff-insert-background: #91c093\\ndiff-insert-foreground: <<colour foreground>>\\ndiff-invisible-background: \\ndiff-invisible-foreground: <<colour muted-foreground>>\\ndirty-indicator: #ad3434\\ndownload-background: #6ca16c\\ndownload-foreground: <<colour background>>\\ndragger-background: <<colour foreground>>\\ndragger-foreground: <<colour background>>\\ndropdown-background: <<colour background>>\\ndropdown-border: <<colour muted-foreground>>\\ndropdown-tab-background-selected: #E9E0C7\\ndropdown-tab-background: #BAB29C\\ndropzone-background: rgba(0,200,0,0.7)\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-background: inherit\\nexternal-link-foreground-hover: inherit\\nexternal-link-foreground-visited: #313163\\nexternal-link-foreground: #555592\\nforeground: #2D2A23\\nhighlight-background: #ffff00\\nhighlight-foreground: #000000\\nmenubar-background: #CDC2A6\\nmenubar-foreground: #5A5446\\nmessage-background: #ECE5CF\\nmessage-border: #D6CBAA\\nmessage-foreground: #5f6e7d\\nmodal-backdrop: <<colour foreground>>\\nmodal-background: <<colour background>>\\nmodal-border: #8A8885\\nmodal-footer-background: #CDC2A6\\nmodal-footer-border: #9D998E\\nmodal-header-border: #9D998E\\nmuted-foreground: #9D998E\\nnotification-background: #F0E9D7\\nnotification-border: #939189\\npage-background: #e0d3af\\npre-background: #D6CBAA\\npre-border: #CDC2A6\\nprimary: #5B6F55\\nselection-background: #9D947B\\nselection-foreground: <<colour foreground>>\\nselect-tag-background: #F0E9D7\\nselect-tag-foreground: #2D2A23\\nsidebar-button-foreground: <<colour foreground>>\\nsidebar-controls-foreground-hover: #2D2A23\\nsidebar-controls-foreground: #867F69\\nsidebar-foreground-shadow: transparent\\nsidebar-foreground: #867F69\\nsidebar-muted-foreground-hover: #706A58\\nsidebar-muted-foreground: #B3A98C\\nsidebar-tab-background-selected: #e0d3af\\nsidebar-tab-background: #A6A193\\nsidebar-tab-border-selected: #C3BAA1\\nsidebar-tab-border: #C3BAA1\\nsidebar-tab-divider: #CDC2A6\\nsidebar-tab-foreground-selected: \\nsidebar-tab-foreground: #2D2A23\\nsidebar-tiddler-link-foreground-hover: #433F35\\nsidebar-tiddler-link-foreground: #706A58\\nsite-title-foreground: <<colour tiddler-title-foreground>>\\nstatic-alert-foreground: #A6A193\\ntab-background-selected: #E9E0C7\\ntab-background: #A6A193\\ntab-border-selected: #C3BAA1\\ntab-border: #C3BAA1\\ntab-divider: #CDC2A6\\ntab-foreground-selected: <<colour tab-foreground>>\\ntab-foreground: #2D2A23\\ntable-border: #9D998E\\ntable-footer-background: #8A8885\\ntable-header-background: #B0AA98\\ntag-background: #706A58\\ntag-foreground: #E3D7B7\\ntiddler-background: <<colour background>>\\ntiddler-border: <<colour background>>\\ntiddler-controls-foreground-hover: #9D947B\\ntiddler-controls-foreground-selected: #706A58\\ntiddler-controls-foreground: #C3BAA1\\ntiddler-editor-background: #E9E0C7\\ntiddler-editor-border-image: #A6A193\\ntiddler-editor-border: #A6A193\\ntiddler-editor-fields-even: #D6CBAA\\ntiddler-editor-fields-odd: #C3BAA1\\ntiddler-info-background: #E3D7B7\\ntiddler-info-border: #BAB29C\\ntiddler-info-tab-background: #E9E0C7\\ntiddler-link-background: <<colour background>>\\ntiddler-link-foreground: <<colour primary>>\\ntiddler-subtitle-foreground: #867F69\\ntiddler-title-foreground: #374464\\ntoolbar-new-button: \\ntoolbar-options-button: \\ntoolbar-save-button: \\ntoolbar-info-button: \\ntoolbar-edit-button: \\ntoolbar-close-button: \\ntoolbar-delete-button: \\ntoolbar-cancel-button: \\ntoolbar-done-button: \\nuntagged-background: #8A8885\\nvery-muted-foreground: #CDC2A6\\nwikilist-background: <<colour page-background>>\\nwikilist-item: #CDC2A6\\nwikilist-info: #161512\\nwikilist-title: #433F35\\nwikilist-title-svg: <<colour wikilist-title>>\\nwikilist-url: #706A58\\nwikilist-button-open: #7db66a\\nwikilist-button-open-hover: #56a556\\nwikilist-button-reveal: #5a6c9e\\nwikilist-button-reveal-hover: #454591\\nwikilist-button-remove: #bc5972\\nwikilist-button-remove-hover: #814040\\nwikilist-toolbar-background: #CDC2A6\\nwikilist-toolbar-foreground: #2D2A23\\nwikilist-droplink-dragover: rgba(255,192,192,0.5)\\nwikilist-button-background: #A6A193\\nwikilist-button-foreground: #161512\\n\"},\"$:/palettes/GruvboxDark\":{\"title\":\"$:/palettes/GruvboxDark\",\"name\":\"Gruvbox Dark\",\"color-scheme\":\"dark\",\"description\":\"Retro groove color scheme\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"license\":\"https://github.com/morhetz/gruvbox\",\"text\":\"alert-background: #cc241d\\nalert-border: #cc241d\\nalert-highlight: #d79921\\nalert-muted-foreground: #504945\\nbackground: #3c3836\\nblockquote-bar: <<colour muted-foreground>>\\nbutton-foreground: <<colour foreground>>\\ncode-background: #504945\\ncode-border: #504945\\ncode-foreground: #fb4934\\ndiff-delete-background: #fb4934\\ndiff-delete-foreground: <<colour foreground>>\\ndiff-equal-background: \\ndiff-equal-foreground: <<colour foreground>>\\ndiff-insert-background: #b8bb26\\ndiff-insert-foreground: <<colour foreground>>\\ndiff-invisible-background: \\ndiff-invisible-foreground: <<colour muted-foreground>>\\ndirty-indicator: #fb4934\\ndownload-background: #b8bb26\\ndownload-foreground: <<colour background>>\\ndragger-background: <<colour foreground>>\\ndragger-foreground: <<colour background>>\\ndropdown-background: #665c54\\ndropdown-border: <<colour background>>\\ndropdown-tab-background-selected: #ebdbb2\\ndropdown-tab-background: #665c54\\ndropzone-background: #98971a\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-background: inherit\\nexternal-link-foreground-hover: inherit\\nexternal-link-foreground-visited: #d3869b\\nexternal-link-foreground: #8ec07c\\nforeground: #fbf1c7\\nhighlight-background: #ffff79\\nhighlight-foreground: #000000\\nmenubar-background: #504945\\nmenubar-foreground: <<colour foreground>>\\nmessage-background: #83a598\\nmessage-border: #83a598\\nmessage-foreground: #3c3836\\nmodal-backdrop: <<colour foreground>>\\nmodal-background: <<colour background>>\\nmodal-border: #504945\\nmodal-footer-background: #3c3836\\nmodal-footer-border: #3c3836\\nmodal-header-border: #3c3836\\nmuted-foreground: #d5c4a1\\nnotification-background: <<colour primary>>\\nnotification-border: <<colour primary>>\\npage-background: #282828\\npre-background: #504945\\npre-border: #504945\\nprimary: #d79921\\nselect-tag-background: #665c54\\nselect-tag-foreground: <<colour foreground>>\\nselection-background: #458588\\nselection-foreground: <<colour foreground>>\\nsidebar-button-foreground: <<colour foreground>>\\nsidebar-controls-foreground-hover: #7c6f64\\nsidebar-controls-foreground: #504945\\nsidebar-foreground-shadow: transparent\\nsidebar-foreground: #fbf1c7\\nsidebar-muted-foreground-hover: #7c6f64\\nsidebar-muted-foreground: #504945\\nsidebar-tab-background-selected: #bdae93\\nsidebar-tab-background: #3c3836\\nsidebar-tab-border-selected: <<colour tab-border-selected>>\\nsidebar-tab-border: #bdae93\\nsidebar-tab-divider: <<colour page-background>>\\nsidebar-tab-foreground-selected: #282828\\nsidebar-tab-foreground: <<colour tab-foreground>>\\nsidebar-tiddler-link-foreground-hover: #458588\\nsidebar-tiddler-link-foreground: #98971a\\nsite-title-foreground: <<colour tiddler-title-foreground>>\\nstatic-alert-foreground: #B48EAD\\ntab-background-selected: #ebdbb2\\ntab-background: #665c54\\ntab-border-selected: #665c54\\ntab-border: #665c54\\ntab-divider: #bdae93\\ntab-foreground-selected: #282828\\ntab-foreground: #ebdbb2\\ntable-border: #7c6f64\\ntable-footer-background: #665c54\\ntable-header-background: #504945\\ntag-background: #d3869b\\ntag-foreground: #282828\\ntiddler-background: <<colour background>>\\ntiddler-border: <<colour background>>\\ntiddler-controls-foreground-hover: #7c6f64\\ntiddler-controls-foreground-selected: <<colour primary>>\\ntiddler-controls-foreground: #665c54\\ntiddler-editor-background: #32302f\\ntiddler-editor-border-image: #282828\\ntiddler-editor-border: #282828\\ntiddler-editor-fields-even: #504945\\ntiddler-editor-fields-odd: #7c6f64\\ntiddler-info-background: #32302f\\ntiddler-info-border: #ebdbb2\\ntiddler-info-tab-background: #ebdbb2\\ntiddler-link-background: <<colour background>>\\ntiddler-link-foreground: <<colour primary>>\\ntiddler-subtitle-foreground: #7c6f64\\ntiddler-title-foreground: #a89984\\ntoolbar-new-button: \\ntoolbar-options-button: \\ntoolbar-save-button: \\ntoolbar-info-button: \\ntoolbar-edit-button: \\ntoolbar-close-button: \\ntoolbar-delete-button: \\ntoolbar-cancel-button: \\ntoolbar-done-button: \\nuntagged-background: #504945\\nvery-muted-foreground: #bdae93\\nwikilist-background: <<colour page-background>>\\nwikilist-button-background: #acacac\\nwikilist-button-foreground: <<colour button-foreground>>\\nwikilist-item: <<colour background>>\\nwikilist-toolbar-background: <<colour background>>\\nwikilist-toolbar-foreground: <<colour foreground>>\\nwikilist-title: <<colour foreground>>\\nwikilist-title-svg: <<colour wikilist-title>>\\nwikilist-url: <<colour muted-foreground>>\\nwikilist-button-open-hover: <<colour primary>>\\nwikilist-button-open: <<colour dropzone-background>>\\nwikilist-button-remove: <<colour dirty-indicator>>\\nwikilist-button-remove-hover: <<colour alert-background>>\\nwikilist-droplink-dragover: <<colour dropzone-background>>\\nwikilist-button-reveal: <<colour sidebar-tiddler-link-foreground-hover>>\\nwikilist-button-reveal-hover: <<colour message-background>>\\n\"},\"$:/palettes/Nord\":{\"title\":\"$:/palettes/Nord\",\"name\":\"Nord\",\"color-scheme\":\"dark\",\"description\":\"An arctic, north-bluish color palette.\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"license\":\"MIT, arcticicestudio, https://github.com/arcticicestudio/nord/blob/develop/LICENSE.md\",\"text\":\"alert-background: #D08770\\nalert-border: #D08770\\nalert-highlight: #B48EAD\\nalert-muted-foreground: #4C566A\\nbackground: #3b4252\\nblockquote-bar: <<colour muted-foreground>>\\nbutton-foreground: <<colour foreground>>\\ncode-background: #2E3440\\ncode-border: #2E3440\\ncode-foreground: #BF616A\\ndiff-delete-background: #BF616A\\ndiff-delete-foreground: <<colour foreground>>\\ndiff-equal-background: \\ndiff-equal-foreground: <<colour foreground>>\\ndiff-insert-background: #A3BE8C\\ndiff-insert-foreground: <<colour foreground>>\\ndiff-invisible-background: \\ndiff-invisible-foreground: <<colour muted-foreground>>\\ndirty-indicator: #BF616A\\ndownload-background: #A3BE8C\\ndownload-foreground: <<colour background>>\\ndragger-background: <<colour foreground>>\\ndragger-foreground: <<colour background>>\\ndropdown-background: <<colour background>>\\ndropdown-border: <<colour background>>\\ndropdown-tab-background-selected: #ECEFF4\\ndropdown-tab-background: #4C566A\\ndropzone-background: #A3BE8C\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-background: inherit\\nexternal-link-foreground-hover: inherit\\nexternal-link-foreground-visited: #5E81AC\\nexternal-link-foreground: #8FBCBB\\nforeground: #d8dee9\\nhighlight-background: #ffff78\\nhighlight-foreground: #000000\\nmenubar-background: #2E3440\\nmenubar-foreground: #d8dee9\\nmessage-background: #2E3440\\nmessage-border: #2E3440\\nmessage-foreground: #547599\\nmodal-backdrop: <<colour foreground>>\\nmodal-background: <<colour background>>\\nmodal-border: #3b4252\\nmodal-footer-background: #3b4252\\nmodal-footer-border: #3b4252\\nmodal-header-border: #3b4252\\nmuted-foreground: #4C566A\\nnotification-background: <<colour primary>>\\nnotification-border: #EBCB8B\\npage-background: #2e3440\\npre-background: #2E3440\\npre-border: #2E3440\\nprimary: #5E81AC\\nselect-tag-background: #3b4252\\nselect-tag-foreground: <<colour foreground>>\\nselection-background: #5E81AC\\nselection-foreground: <<colour foreground>>\\nsidebar-button-foreground: <<colour foreground>>\\nsidebar-controls-foreground-hover: #D8DEE9\\nsidebar-controls-foreground: #4C566A\\nsidebar-foreground-shadow: transparent\\nsidebar-foreground: #D8DEE9\\nsidebar-muted-foreground-hover: #4C566A\\nsidebar-muted-foreground: #4C566A\\nsidebar-tab-background-selected: #ECEFF4\\nsidebar-tab-background: #4C566A\\nsidebar-tab-border-selected: <<colour tab-border-selected>>\\nsidebar-tab-border: #4C566A\\nsidebar-tab-divider: <<colour page-background>>\\nsidebar-tab-foreground-selected: #4C566A\\nsidebar-tab-foreground: <<colour tab-foreground>>\\nsidebar-tiddler-link-foreground-hover: #A3BE8C\\nsidebar-tiddler-link-foreground: #81A1C1\\nsite-title-foreground: <<colour tiddler-title-foreground>>\\nstatic-alert-foreground: #B48EAD\\ntab-background-selected: #ECEFF4\\ntab-background: #4C566A\\ntab-border-selected: #4C566A\\ntab-border: #4C566A\\ntab-divider: #4C566A\\ntab-foreground-selected: #4C566A\\ntab-foreground: #D8DEE9\\ntable-border: #4C566A\\ntable-footer-background: #2e3440\\ntable-header-background: #2e3440\\ntag-background: #A3BE8C\\ntag-foreground: #4C566A\\ntiddler-background: <<colour background>>\\ntiddler-border: <<colour background>>\\ntiddler-controls-foreground-hover: \\ntiddler-controls-foreground-selected: #EBCB8B\\ntiddler-controls-foreground: #4C566A\\ntiddler-editor-background: #2e3440\\ntiddler-editor-border-image: #2e3440\\ntiddler-editor-border: #3b4252\\ntiddler-editor-fields-even: #2e3440\\ntiddler-editor-fields-odd: #2e3440\\ntiddler-info-background: #2e3440\\ntiddler-info-border: #2e3440\\ntiddler-info-tab-background: #2e3440\\ntiddler-link-background: <<colour background>>\\ntiddler-link-foreground: <<colour primary>>\\ntiddler-subtitle-foreground: #4C566A\\ntiddler-title-foreground: #81A1C1\\ntoolbar-new-button: \\ntoolbar-options-button: \\ntoolbar-save-button: \\ntoolbar-info-button: \\ntoolbar-edit-button: \\ntoolbar-close-button: \\ntoolbar-delete-button: \\ntoolbar-cancel-button: \\ntoolbar-done-button: \\nuntagged-background: #2d3038\\nvery-muted-foreground: #2d3038\\nwikilist-background: <<colour page-background>>\\nwikilist-toolbar-background: <<colour background>>\\nwikilist-item: <<colour background>>\\nwikilist-title: <<colour foreground>>\\nwikilist-info: <<colour muted-foreground>>\\nwikilist-button-open: #A3BE8C\\nwikilist-button-open-hover: #A3BE8C\\nwikilist-button-reveal: #81A1C1\\nwikilist-button-reveal-hover: #81A1C1\\nwikilist-button-remove: #B48EAD\\nwikilist-button-remove-hover: #B48EAD\\n\"},\"$:/palettes/Rocker\":{\"title\":\"$:/palettes/Rocker\",\"name\":\"Rocker\",\"color-scheme\":\"dark\",\"description\":\"A dark theme\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"text\":\"alert-background: #ffe476\\nalert-border: #b99e2f\\nalert-highlight: #881122\\nalert-muted-foreground: #b99e2f\\nbackground: #ffffff\\nblockquote-bar: <<colour muted-foreground>>\\nbutton-background:\\nbutton-foreground:\\nbutton-border:\\ncode-background: #f7f7f9\\ncode-border: #e1e1e8\\ncode-foreground: #dd1144\\ndirty-indicator: #ff0000\\ndownload-background: #34c734\\ndownload-foreground: <<colour background>>\\ndragger-background: <<colour foreground>>\\ndragger-foreground: <<colour background>>\\ndropdown-background: <<colour background>>\\ndropdown-border: <<colour muted-foreground>>\\ndropdown-tab-background-selected: #fff\\ndropdown-tab-background: #ececec\\ndropzone-background: rgba(0,200,0,0.7)\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-background: inherit\\nexternal-link-foreground-hover: inherit\\nexternal-link-foreground-visited: #0000aa\\nexternal-link-foreground: #0000ee\\nforeground: #333333\\nhighlight-background: #ffff00\\nhighlight-foreground: #000000\\nmessage-background: #ecf2ff\\nmessage-border: #cfd6e6\\nmessage-foreground: #547599\\nmodal-backdrop: <<colour foreground>>\\nmodal-background: <<colour background>>\\nmodal-border: #999999\\nmodal-footer-background: #f5f5f5\\nmodal-footer-border: #dddddd\\nmodal-header-border: #eeeeee\\nmuted-foreground: #999999\\nnotification-background: #ffffdd\\nnotification-border: #999999\\npage-background: #000\\npre-background: #f5f5f5\\npre-border: #cccccc\\nprimary: #cc0000\\nselect-tag-background:\\nselect-tag-foreground:\\nsidebar-button-foreground: <<colour foreground>>\\nsidebar-controls-foreground-hover: #000000\\nsidebar-controls-foreground: #ffffff\\nsidebar-foreground-shadow: rgba(255,255,255, 0.0)\\nsidebar-foreground: #acacac\\nsidebar-muted-foreground-hover: #444444\\nsidebar-muted-foreground: #c0c0c0\\nsidebar-tab-background-selected: #000\\nsidebar-tab-background: <<colour tab-background>>\\nsidebar-tab-border-selected: <<colour tab-border-selected>>\\nsidebar-tab-border: <<colour tab-border>>\\nsidebar-tab-divider: <<colour tab-divider>>\\nsidebar-tab-foreground-selected: \\nsidebar-tab-foreground: <<colour tab-foreground>>\\nsidebar-tiddler-link-foreground-hover: #ffbb99\\nsidebar-tiddler-link-foreground: #cc0000\\nsite-title-foreground: <<colour tiddler-title-foreground>>\\nstatic-alert-foreground: #aaaaaa\\ntab-background-selected: #ffffff\\ntab-background: #d8d8d8\\ntab-border-selected: #d8d8d8\\ntab-border: #cccccc\\ntab-divider: #d8d8d8\\ntab-foreground-selected: <<colour tab-foreground>>\\ntab-foreground: #666666\\ntable-border: #dddddd\\ntable-footer-background: #a8a8a8\\ntable-header-background: #f0f0f0\\ntag-background: #ffbb99\\ntag-foreground: #000\\ntiddler-background: <<colour background>>\\ntiddler-border: <<colour background>>\\ntiddler-controls-foreground-hover: #888888\\ntiddler-controls-foreground-selected: #444444\\ntiddler-controls-foreground: #cccccc\\ntiddler-editor-background: #f8f8f8\\ntiddler-editor-border-image: #ffffff\\ntiddler-editor-border: #cccccc\\ntiddler-editor-fields-even: #e0e8e0\\ntiddler-editor-fields-odd: #f0f4f0\\ntiddler-info-background: #f8f8f8\\ntiddler-info-border: #dddddd\\ntiddler-info-tab-background: #f8f8f8\\ntiddler-link-background: <<colour background>>\\ntiddler-link-foreground: <<colour primary>>\\ntiddler-subtitle-foreground: #c0c0c0\\ntiddler-title-foreground: #cc0000\\ntoolbar-new-button:\\ntoolbar-options-button:\\ntoolbar-save-button:\\ntoolbar-info-button:\\ntoolbar-edit-button:\\ntoolbar-close-button:\\ntoolbar-delete-button:\\ntoolbar-cancel-button:\\ntoolbar-done-button:\\nuntagged-background: #999999\\nvery-muted-foreground: #888888\\n\"},\"$:/palettes/SolarFlare\":{\"title\":\"$:/palettes/SolarFlare\",\"name\":\"Solar Flare\",\"color-scheme\":\"light\",\"description\":\"Warm, relaxing earth colours\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"text\":\": Background Tones\\n\\nbase03: #002b36\\nbase02: #073642\\n\\n: Content Tones\\n\\nbase01: #586e75\\nbase00: #657b83\\nbase0: #839496\\nbase1: #93a1a1\\n\\n: Background Tones\\n\\nbase2: #eee8d5\\nbase3: #fdf6e3\\n\\n: Accent Colors\\n\\nyellow: #b58900\\norange: #cb4b16\\nred: #dc322f\\nmagenta: #d33682\\nviolet: #6c71c4\\nblue: #268bd2\\ncyan: #2aa198\\ngreen: #859900\\n\\n: Additional Tones (RA)\\n\\nbase10: #c0c4bb\\nviolet-muted: #7c81b0\\nblue-muted: #4e7baa\\n\\nyellow-hot: #ffcc44\\norange-hot: #eb6d20\\nred-hot: #ff2222\\nblue-hot: #2298ee\\ngreen-hot: #98ee22\\n\\n: Palette\\n\\n: Do not use colour macro for background and foreground\\nbackground: #fdf6e3\\n download-foreground: <<colour background>>\\n dragger-foreground: <<colour background>>\\n dropdown-background: <<colour background>>\\n modal-background: <<colour background>>\\n sidebar-foreground-shadow: <<colour background>>\\n tiddler-background: <<colour background>>\\n tiddler-border: <<colour background>>\\n tiddler-link-background: <<colour background>>\\n tab-background-selected: <<colour background>>\\n dropdown-tab-background-selected: <<colour tab-background-selected>>\\nforeground: #657b83\\n dragger-background: <<colour foreground>>\\n tab-foreground: <<colour foreground>>\\n tab-foreground-selected: <<colour tab-foreground>>\\n sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\\n sidebar-tab-foreground: <<colour tab-foreground>>\\n sidebar-button-foreground: <<colour foreground>>\\n sidebar-controls-foreground: <<colour foreground>>\\n sidebar-foreground: <<colour foreground>>\\n: base03\\n: base02\\n: base01\\n alert-muted-foreground: <<colour base01>>\\n: base00\\n code-foreground: <<colour base00>>\\n message-foreground: <<colour base00>>\\n tag-foreground: <<colour base00>>\\n: base0\\n sidebar-tiddler-link-foreground: <<colour base0>>\\n: base1\\n muted-foreground: <<colour base1>>\\n blockquote-bar: <<colour muted-foreground>>\\n dropdown-border: <<colour muted-foreground>>\\n sidebar-muted-foreground: <<colour muted-foreground>>\\n tiddler-title-foreground: <<colour muted-foreground>>\\n site-title-foreground: <<colour tiddler-title-foreground>>\\n: base2\\n modal-footer-background: <<colour base2>>\\n page-background: <<colour base2>>\\n modal-backdrop: <<colour page-background>>\\n notification-background: <<colour page-background>>\\n code-background: <<colour page-background>>\\n code-border: <<colour code-background>>\\n pre-background: <<colour page-background>>\\n pre-border: <<colour pre-background>>\\n sidebar-tab-background-selected: <<colour page-background>>\\n table-header-background: <<colour base2>>\\n tag-background: <<colour base2>>\\n tiddler-editor-background: <<colour base2>>\\n tiddler-info-background: <<colour base2>>\\n tiddler-info-tab-background: <<colour base2>>\\n tab-background: <<colour base2>>\\n dropdown-tab-background: <<colour tab-background>>\\n: base3\\n alert-background: <<colour base3>>\\n message-background: <<colour base3>>\\n: yellow\\n: orange\\n: red\\n: magenta\\n alert-highlight: <<colour magenta>>\\n: violet\\n external-link-foreground: <<colour violet>>\\n: blue\\n: cyan\\n: green\\n: base10\\n tiddler-controls-foreground: <<colour base10>>\\n: violet-muted\\n external-link-foreground-visited: <<colour violet-muted>>\\n: blue-muted\\n primary: <<colour blue-muted>>\\n download-background: <<colour primary>>\\n tiddler-link-foreground: <<colour primary>>\\n\\nalert-border: #b99e2f\\ndirty-indicator: #ff0000\\ndropzone-background: rgba(0,200,0,0.7)\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-background: inherit\\nexternal-link-foreground-hover: inherit\\nhighlight-background: #ffff00\\nhighlight-foreground: #000000\\nmessage-border: #cfd6e6\\nmodal-border: #999999\\nselect-tag-background:\\nselect-tag-foreground:\\nsidebar-controls-foreground-hover:\\nsidebar-muted-foreground-hover:\\nsidebar-tab-background: #ded8c5\\nsidebar-tiddler-link-foreground-hover:\\nstatic-alert-foreground: #aaaaaa\\ntab-border: #cccccc\\n modal-footer-border: <<colour tab-border>>\\n modal-header-border: <<colour tab-border>>\\n notification-border: <<colour tab-border>>\\n sidebar-tab-border: <<colour tab-border>>\\n tab-border-selected: <<colour tab-border>>\\n sidebar-tab-border-selected: <<colour tab-border-selected>>\\ntab-divider: #d8d8d8\\n sidebar-tab-divider: <<colour tab-divider>>\\ntable-border: #dddddd\\ntable-footer-background: #a8a8a8\\ntiddler-controls-foreground-hover: #888888\\ntiddler-controls-foreground-selected: #444444\\ntiddler-editor-border-image: #ffffff\\ntiddler-editor-border: #cccccc\\ntiddler-editor-fields-even: #e0e8e0\\ntiddler-editor-fields-odd: #f0f4f0\\ntiddler-info-border: #dddddd\\ntiddler-subtitle-foreground: #c0c0c0\\ntoolbar-new-button:\\ntoolbar-options-button:\\ntoolbar-save-button:\\ntoolbar-info-button:\\ntoolbar-edit-button:\\ntoolbar-close-button:\\ntoolbar-delete-button:\\ntoolbar-cancel-button:\\ntoolbar-done-button:\\nuntagged-background: #999999\\nvery-muted-foreground: #888888\\n\"},\"$:/palettes/SolarizedDark\":{\"title\":\"$:/palettes/SolarizedDark\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"description\":\"Precision dark colors for machines and people\",\"license\":\"MIT, Ethan Schoonover, https://github.com/altercation/solarized/blob/master/LICENSE\",\"name\":\"SolarizedDark\",\"color-scheme\":\"dark\",\"text\":\"alert-background: #073642\\nalert-border: #93a1a1\\nalert-highlight: #d33682\\nalert-muted-foreground: #d33682\\nbackground: #073642\\nblockquote-bar: #d33682\\nbutton-background: #073642\\nbutton-border: #586e75\\nbutton-foreground: #93a1a1\\ncode-background: #073642\\ncode-border: #586e75\\ncode-foreground: #93a1a1\\ndirty-indicator: inherit\\ndownload-background: #859900\\ndownload-foreground: #073642\\ndragger-background: #073642\\ndragger-foreground: #839496\\ndropdown-background: #073642\\ndropdown-border: #93a1a1\\ndropdown-tab-background: #002b36\\ndropdown-tab-background-selected: #073642\\ndropzone-background: #859900\\nexternal-link-background: inherit\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-foreground: #268bd2\\nexternal-link-foreground-hover:\\nexternal-link-foreground-visited: #268bd2\\nforeground: #839496\\nhighlight-background: #ffff78\\nhighlight-foreground: #000000\\nmessage-background: #002b36\\nmessage-border: #586e75\\nmessage-foreground: #839496\\nmodal-backdrop: #657b83\\nmodal-background: #002b36\\nmodal-border: #586e75\\nmodal-footer-background: #073642\\nmodal-footer-border: #586e75\\nmodal-header-border: #586e75\\nmuted-foreground: #93a1a1\\nnotification-background: #002b36\\nnotification-border: #586e75\\npage-background: #073642\\npre-background: inherit\\npre-border: #657b83\\nprimary: #859900\\nselect-tag-background: #002b36\\nselect-tag-foreground: #839496\\nsidebar-button-foreground: #93a1a1\\nsidebar-controls-foreground: #93a1a1\\nsidebar-controls-foreground-hover: #eee8d5\\nsidebar-foreground: #93a1a1\\nsidebar-foreground-shadow: transparent\\nsidebar-muted-foreground: #839496\\nsidebar-muted-foreground-hover: #93a1a1\\nsidebar-tab-background: #002b36\\nsidebar-tab-background-selected: #073642\\nsidebar-tab-border: #073642\\nsidebar-tab-border-selected: #839496\\nsidebar-tab-divider: #002b36\\nsidebar-tab-foreground: #657b83\\nsidebar-tab-foreground-selected: #93a1a1\\nsidebar-tiddler-link-foreground: #2aa198\\nsidebar-tiddler-link-foreground-hover: #eee8d5\\nsite-title-foreground: #d33682\\nstatic-alert-foreground: #93a1a1\\ntab-background: #073642\\ntab-background-selected: #002b36\\ntab-border: #586e75\\ntab-border-selected: #93a1a1\\ntab-divider: #93a1a1\\ntab-foreground: #839496\\ntab-foreground-selected: #93a1a1\\ntable-border: #586e75\\ntable-footer-background: #073642\\ntable-header-background: #073642\\ntag-background: #b58900\\ntag-foreground: #002b36\\ntiddler-background: #002b36\\ntiddler-border: #586e75\\ntiddler-controls-foreground: inherit\\ntiddler-controls-foreground-hover: #d33682\\ntiddler-controls-foreground-selected: #2aa198\\ntiddler-editor-background: #002b36\\ntiddler-editor-border: #073642\\ntiddler-editor-border-image: #002b36\\ntiddler-editor-fields-even: #002b36\\ntiddler-editor-fields-odd: #073642\\ntiddler-info-background: #073642\\ntiddler-info-border: #657b83\\ntiddler-info-tab-background: #002b36\\ntiddler-link-background: #002b36\\ntiddler-link-foreground: #2aa198\\ntiddler-subtitle-foreground: #839496\\ntiddler-title-foreground: #d33682\\ntoolbar-cancel-button: #839496\\ntoolbar-close-button: #839496\\ntoolbar-delete-button: #dc322f\\ntoolbar-done-button: #839496\\ntoolbar-edit-button: #839496\\ntoolbar-info-button: #839496\\ntoolbar-new-button: #839496\\ntoolbar-options-button: #839496\\ntoolbar-save-button: inherit\\nuntagged-background: #586e75\\nvery-muted-foreground: #586e75\\n\"},\"$:/palettes/SolarizedLight\":{\"title\":\"$:/palettes/SolarizedLight\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"description\":\"Precision colors for machines and people\",\"license\":\"MIT, Ethan Schoonover, https://github.com/altercation/solarized/blob/master/LICENSE\",\"name\":\"SolarizedLight\",\"color-scheme\":\"light\",\"text\":\"alert-background: #eee8d5\\nalert-border: #586e75\\nalert-highlight: #d33682\\nalert-muted-foreground: #d33682\\nbackground: #eee8d5\\nblockquote-bar: #d33682\\nbutton-background: #eee8d5\\nbutton-border: #93a1a1\\nbutton-foreground: #586e75\\ncode-background: #eee8d5\\ncode-border: #93a1a1\\ncode-foreground: #586e75\\ndirty-indicator: inherit\\ndownload-background: #859900\\ndownload-foreground: #eee8d5\\ndragger-background: #eee8d5\\ndragger-foreground: #657b83\\ndropdown-background: #eee8d5\\ndropdown-border: #586e75\\ndropdown-tab-background: #fdf6e3\\ndropdown-tab-background-selected: #eee8d5\\ndropzone-background: #859900\\nexternal-link-background: inherit\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-foreground: #268bd2\\nexternal-link-foreground-hover: inherit\\nexternal-link-foreground-visited: #268bd2\\nforeground: #657b83\\nhighlight-background: #ffff00\\nhighlight-foreground: #000000\\nmessage-background: #fdf6e3\\nmessage-border: #93a1a1\\nmessage-foreground: #657b83\\nmodal-backdrop: #839496\\nmodal-background: #fdf6e3\\nmodal-border: #93a1a1\\nmodal-footer-background: #eee8d5\\nmodal-footer-border: #93a1a1\\nmodal-header-border: #93a1a1\\nmuted-foreground: #586e75\\nnotification-background: #fdf6e3\\nnotification-border: #93a1a1\\npage-background: #eee8d5\\npre-background: #eee8d5\\npre-border: #839496\\nprimary: #859900\\nselect-tag-background: #fdf6e3\\nselect-tag-foreground: #657b83\\nsidebar-button-foreground: #586e75\\nsidebar-controls-foreground: #586e75\\nsidebar-controls-foreground-hover: #d33682\\nsidebar-foreground: #586e75\\nsidebar-foreground-shadow: transparent\\nsidebar-muted-foreground: #657b83\\nsidebar-muted-foreground-hover: #586e75\\nsidebar-tab-background: #fdf6e3\\nsidebar-tab-background-selected: #eee8d5\\nsidebar-tab-border: #eee8d5\\nsidebar-tab-border-selected: #657b83\\nsidebar-tab-divider: #fdf6e3\\nsidebar-tab-foreground: #839496\\nsidebar-tab-foreground-selected: #586e75\\nsidebar-tiddler-link-foreground: #2aa198\\nsidebar-tiddler-link-foreground-hover: #002b36\\nsite-title-foreground: #d33682\\nstatic-alert-foreground: #586e75\\ntab-background: #eee8d5\\ntab-background-selected: #fdf6e3\\ntab-border: #93a1a1\\ntab-border-selected: #586e75\\ntab-divider: #586e75\\ntab-foreground: #657b83\\ntab-foreground-selected: #586e75\\ntable-border: #93a1a1\\ntable-footer-background: #eee8d5\\ntable-header-background: #eee8d5\\ntag-background: #b58900\\ntag-foreground: #fdf6e3\\ntiddler-background: #fdf6e3\\ntiddler-border: #93a1a1\\ntiddler-controls-foreground: inherit\\ntiddler-controls-foreground-hover: #d33682\\ntiddler-controls-foreground-selected: #2aa198\\ntiddler-editor-background: #fdf6e3\\ntiddler-editor-border: #eee8d5\\ntiddler-editor-border-image: #fdf6e3\\ntiddler-editor-fields-even: #fdf6e3\\ntiddler-editor-fields-odd: #eee8d5\\ntiddler-info-background: #eee8d5\\ntiddler-info-border: #839496\\ntiddler-info-tab-background: #fdf6e3\\ntiddler-link-background: #fdf6e3\\ntiddler-link-foreground: #2aa198\\ntiddler-subtitle-foreground: #657b83\\ntiddler-title-foreground: #d33682\\ntoolbar-cancel-button: #657b83\\ntoolbar-close-button: #657b83\\ntoolbar-delete-button: #dc322f\\ntoolbar-done-button: #657b83\\ntoolbar-edit-button: #657b83\\ntoolbar-info-button: #657b83\\ntoolbar-new-button: #657b83\\ntoolbar-options-button: #657b83\\ntoolbar-save-button: inherit\\nuntagged-background: #586e75\\nvery-muted-foreground: #93a1a1\\n\"},\"$:/palettes/SpartanDay\":{\"title\":\"$:/palettes/SpartanDay\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"description\":\"Cold, spartan day colors\",\"name\":\"Spartan Day\",\"color-scheme\":\"light\",\"text\":\"alert-background: <<colour background>>\\nalert-border: <<colour very-muted-foreground>>\\nalert-highlight: <<colour very-muted-foreground>>\\nalert-muted-foreground: <<colour muted-foreground>>\\nbackground: #FAFAFA\\nblockquote-bar: <<colour page-background>>\\nbutton-background: transparent\\nbutton-foreground: inherit\\nbutton-border: <<colour tag-background>>\\ncode-background: #ececec\\ncode-border: #ececec\\ncode-foreground: \\ndirty-indicator: #c80000\\ndownload-background: <<colour primary>>\\ndownload-foreground: <<colour background>>\\ndragger-background: <<colour foreground>>\\ndragger-foreground: <<colour background>>\\ndropdown-background: #FFFFFF\\ndropdown-border: <<colour dropdown-background>>\\ndropdown-tab-background-selected: <<colour dropdown-background>>\\ndropdown-tab-background: #F5F5F5\\ndropzone-background: <<colour tag-background>>\\nexternal-link-background-hover: transparent\\nexternal-link-background-visited: transparent\\nexternal-link-background: transparent\\nexternal-link-foreground-hover: \\nexternal-link-foreground-visited: \\nexternal-link-foreground: \\nforeground: rgba(0, 0, 0, 0.87)\\nhighlight-background: #ffff00\\nhighlight-foreground: #000000\\nmessage-background: <<colour background>>\\nmessage-border: <<colour very-muted-foreground>>\\nmessage-foreground: rgba(0, 0, 0, 0.54)\\nmodal-backdrop: <<colour foreground>>\\nmodal-background: <<colour background>>\\nmodal-border: <<colour very-muted-foreground>>\\nmodal-footer-background: <<colour background>>\\nmodal-footer-border: <<colour very-muted-foreground>>\\nmodal-header-border: <<colour very-muted-foreground>>\\nmuted-foreground: rgba(0, 0, 0, 0.54)\\nnotification-background: <<colour dropdown-background>>\\nnotification-border: <<colour dropdown-background>>\\npage-background: #f4f4f4\\npre-background: #ececec\\npre-border: #ececec\\nprimary: #3949ab\\nselect-tag-background: <<colour background>>\\nselect-tag-foreground: <<colour foreground>>\\nsidebar-button-foreground: <<colour foreground>>\\nsidebar-controls-foreground-hover: #aeaeae\\nsidebar-controls-foreground: #c6c6c6\\nsidebar-foreground-shadow: transparent\\nsidebar-foreground: rgba(0, 0, 0, 0.54)\\nsidebar-muted-foreground-hover: rgba(0, 0, 0, 0.54)\\nsidebar-muted-foreground: rgba(0, 0, 0, 0.38)\\nsidebar-tab-background-selected: <<colour page-background>>\\nsidebar-tab-background: transparent\\nsidebar-tab-border-selected: <<colour table-border>>\\nsidebar-tab-border: transparent\\nsidebar-tab-divider: <<colour table-border>>\\nsidebar-tab-foreground-selected: rgba(0, 0, 0, 0.87)\\nsidebar-tab-foreground: rgba(0, 0, 0, 0.54)\\nsidebar-tiddler-link-foreground-hover: rgba(0, 0, 0, 0.87)\\nsidebar-tiddler-link-foreground: rgba(0, 0, 0, 0.54)\\nsite-title-foreground: rgba(0, 0, 0, 0.87)\\nstatic-alert-foreground: #aaaaaa\\ntab-background-selected: <<colour background>>\\ntab-background: transparent\\ntab-border-selected: <<colour table-border>>\\ntab-border: transparent\\ntab-divider: <<colour table-border>>\\ntab-foreground-selected: rgba(0, 0, 0, 0.87)\\ntab-foreground: rgba(0, 0, 0, 0.54)\\ntable-border: #d8d8d8\\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\\ntable-header-background: <<colour tiddler-editor-fields-even>>\\ntag-background: #ec6\\ntag-foreground: <<colour button-foreground>>\\ntiddler-background: <<colour background>>\\ntiddler-border: #f9f9f9\\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\\ntiddler-editor-background: transparent\\ntiddler-editor-border-image: \\ntiddler-editor-border: #e8e7e7\\ntiddler-editor-fields-even: rgba(0, 0, 0, 0.1)\\ntiddler-editor-fields-odd: rgba(0, 0, 0, 0.04)\\ntiddler-info-background: #F5F5F5\\ntiddler-info-border: #F5F5F5\\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\\ntiddler-link-background: <<colour background>>\\ntiddler-link-foreground: <<colour primary>>\\ntiddler-subtitle-foreground: <<colour muted-foreground>>\\ntiddler-title-foreground: #000000\\ntoolbar-new-button: \\ntoolbar-options-button: \\ntoolbar-save-button: \\ntoolbar-info-button: \\ntoolbar-edit-button: \\ntoolbar-close-button: \\ntoolbar-delete-button: \\ntoolbar-cancel-button: \\ntoolbar-done-button: \\nuntagged-background: <<colour very-muted-foreground>>\\nvery-muted-foreground: rgba(0, 0, 0, 0.12)\\n\"},\"$:/palettes/SpartanNight\":{\"title\":\"$:/palettes/SpartanNight\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"description\":\"Dark spartan colors\",\"name\":\"Spartan Night\",\"color-scheme\":\"dark\",\"text\":\"alert-background: <<colour background>>\\nalert-border: <<colour very-muted-foreground>>\\nalert-highlight: <<colour very-muted-foreground>>\\nalert-muted-foreground: <<colour muted-foreground>>\\nbackground: #303030\\nblockquote-bar: <<colour page-background>>\\nbutton-background: transparent\\nbutton-foreground: inherit\\nbutton-border: <<colour tag-background>>\\ncode-background: <<colour pre-background>>\\ncode-border: <<colour pre-border>>\\ncode-foreground: rgba(255, 255, 255, 0.54)\\ndirty-indicator: #c80000\\ndownload-background: <<colour primary>>\\ndownload-foreground: <<colour foreground>>\\ndragger-background: <<colour foreground>>\\ndragger-foreground: <<colour background>>\\ndropdown-background: #424242\\ndropdown-border: <<colour dropdown-background>>\\ndropdown-tab-background-selected: <<colour dropdown-background>>\\ndropdown-tab-background: #050505\\ndropzone-background: <<colour tag-background>>\\nexternal-link-background-hover: transparent\\nexternal-link-background-visited: transparent\\nexternal-link-background: transparent\\nexternal-link-foreground-hover: \\nexternal-link-foreground-visited: #7c318c\\nexternal-link-foreground: #9e3eb3\\nforeground: rgba(255, 255, 255, 0.7)\\nhighlight-background: #ffff78\\nhighlight-foreground: #000000\\nmessage-background: <<colour background>>\\nmessage-border: <<colour very-muted-foreground>>\\nmessage-foreground: rgba(255, 255, 255, 0.54)\\nmodal-backdrop: <<colour page-background>>\\nmodal-background: <<colour background>>\\nmodal-border: <<colour very-muted-foreground>>\\nmodal-footer-background: <<colour background>>\\nmodal-footer-border: <<colour background>>\\nmodal-header-border: <<colour very-muted-foreground>>\\nmuted-foreground: rgba(255, 255, 255, 0.54)\\nnotification-background: <<colour dropdown-background>>\\nnotification-border: <<colour dropdown-background>>\\npage-background: #212121\\npre-background: #2a2a2a\\npre-border: transparent\\nprimary: #5656f3\\nselect-tag-background: <<colour background>>\\nselect-tag-foreground: <<colour foreground>>\\nsidebar-button-foreground: <<colour foreground>>\\nsidebar-controls-foreground-hover: #494949\\nsidebar-controls-foreground: #5d5d5d\\nsidebar-foreground-shadow: transparent\\nsidebar-foreground: rgba(255, 255, 255, 0.54)\\nsidebar-muted-foreground-hover: rgba(255, 255, 255, 0.54)\\nsidebar-muted-foreground: rgba(255, 255, 255, 0.38)\\nsidebar-tab-background-selected: <<colour page-background>>\\nsidebar-tab-background: transparent\\nsidebar-tab-border-selected: <<colour table-border>>\\nsidebar-tab-border: transparent\\nsidebar-tab-divider: <<colour table-border>>\\nsidebar-tab-foreground-selected: rgba(255, 255, 255, 0.87)\\nsidebar-tab-foreground: rgba(255, 255, 255, 0.54)\\nsidebar-tiddler-link-foreground-hover: rgba(255, 255, 255, 0.7)\\nsidebar-tiddler-link-foreground: rgba(255, 255, 255, 0.54)\\nsite-title-foreground: rgba(255, 255, 255, 0.7)\\nstatic-alert-foreground: #aaaaaa\\ntab-background-selected: <<colour background>>\\ntab-background: transparent\\ntab-border-selected: <<colour table-border>>\\ntab-border: transparent\\ntab-divider: <<colour table-border>>\\ntab-foreground-selected: rgba(255, 255, 255, 0.87)\\ntab-foreground: rgba(255, 255, 255, 0.54)\\ntable-border: #3a3a3a\\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\\ntable-header-background: <<colour tiddler-editor-fields-even>>\\ntag-background: #ec6\\ntag-foreground: <<colour button-foreground>>\\ntiddler-background: <<colour background>>\\ntiddler-border: rgb(55,55,55)\\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\\ntiddler-editor-background: transparent\\ntiddler-editor-border-image: \\ntiddler-editor-border: rgba(255, 255, 255, 0.08)\\ntiddler-editor-fields-even: rgba(255, 255, 255, 0.1)\\ntiddler-editor-fields-odd: rgba(255, 255, 255, 0.04)\\ntiddler-info-background: #454545\\ntiddler-info-border: #454545\\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\\ntiddler-link-background: <<colour background>>\\ntiddler-link-foreground: <<colour primary>>\\ntiddler-subtitle-foreground: <<colour muted-foreground>>\\ntiddler-title-foreground: #FFFFFF\\ntoolbar-new-button: \\ntoolbar-options-button: \\ntoolbar-save-button: \\ntoolbar-info-button: \\ntoolbar-edit-button: \\ntoolbar-close-button: \\ntoolbar-delete-button: \\ntoolbar-cancel-button: \\ntoolbar-done-button: \\nuntagged-background: <<colour very-muted-foreground>>\\nvery-muted-foreground: rgba(255, 255, 255, 0.12)\\n\"},\"$:/palettes/Twilight\":{\"title\":\"$:/palettes/Twilight\",\"tags\":\"$:/tags/Palette\",\"author\":\"Thomas Elmiger\",\"type\":\"application/x-tiddler-dictionary\",\"name\":\"Twilight\",\"description\":\"Delightful, soft darkness.\",\"color-scheme\":\"dark\",\"text\":\"alert-background: rgb(255, 255, 102)\\nalert-border: rgb(232, 232, 125)\\nalert-highlight: rgb(255, 51, 51)\\nalert-muted-foreground: rgb(224, 82, 82)\\nbackground: rgb(38, 38, 38)\\nblockquote-bar: rgba(240, 196, 117, 0.7)\\nbutton-background: rgb(63, 63, 63)\\nbutton-border: rgb(127, 127, 127)\\nbutton-foreground: rgb(179, 179, 179)\\ncode-background: rgba(0,0,0,0.03)\\ncode-border: rgba(0,0,0,0.08)\\ncode-foreground: rgb(255, 94, 94)\\ndiff-delete-background: #ffc9c9\\ndiff-delete-foreground: <<colour foreground>>\\ndiff-equal-background: \\ndiff-equal-foreground: <<colour foreground>>\\ndiff-insert-background: #aaefad\\ndiff-insert-foreground: <<colour foreground>>\\ndiff-invisible-background: \\ndiff-invisible-foreground: <<colour muted-foreground>>\\ndirty-indicator: rgb(255, 94, 94)\\ndownload-background: #19a974\\ndownload-foreground: rgb(38, 38, 38)\\ndragger-background: rgb(179, 179, 179)\\ndragger-foreground: rgb(38, 38, 38)\\ndropdown-background: rgb(38, 38, 38)\\ndropdown-border: rgb(255, 255, 255)\\ndropdown-tab-background: rgba(0,0,0,.1)\\ndropdown-tab-background-selected: rgba(255,255,255,1)\\ndropzone-background: #9eebcf\\nexternal-link-background: inherit\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-foreground: rgb(179, 179, 255)\\nexternal-link-foreground-hover: inherit\\nexternal-link-foreground-visited: rgb(153, 153, 255)\\nforeground: rgb(179, 179, 179)\\nhighlight-background: #ffff78\\nhighlight-foreground: #000000\\nmessage-background: <<colour tag-foreground>>\\nmessage-border: #96ccff\\nmessage-foreground: <<colour tag-background>>\\nmodal-backdrop: rgb(179, 179, 179)\\nmodal-background: rgb(38, 38, 38)\\nmodal-border: rgba(0,0,0,.5)\\nmodal-footer-background: #f4f4f4\\nmodal-footer-border: rgba(0,0,0,.1)\\nmodal-header-border: rgba(0,0,0,.2)\\nmuted-foreground: rgb(255, 255, 255)\\nnotification-background: <<colour tag-foreground>>\\nnotification-border: <<colour tag-background>>\\npage-background: rgb(26, 26, 26)\\npre-background: rgb(25, 25, 25)\\npre-border: rgba(0,0,0,.2)\\nprimary: rgb(255, 201, 102)\\nselect-tag-background: \\nselect-tag-foreground: \\nsidebar-button-foreground: rgb(179, 179, 179)\\nsidebar-controls-foreground: rgb(153, 153, 153)\\nsidebar-controls-foreground-hover: <<colour tiddler-controls-foreground-hover>>\\nsidebar-foreground: rgb(141, 141, 141)\\nsidebar-foreground-shadow: transparent\\nsidebar-muted-foreground: rgba(0, 0, 0, 0.5)\\nsidebar-muted-foreground-hover: rgb(141, 141, 141)\\nsidebar-tab-background: rgba(141, 141, 141, 0.2)\\nsidebar-tab-background-selected: rgb(26, 26, 26)\\nsidebar-tab-border: rgb(127, 127, 127)\\nsidebar-tab-border-selected: rgb(127, 127, 127)\\nsidebar-tab-divider: rgb(127, 127, 127)\\nsidebar-tab-foreground: rgb(179, 179, 179)\\nsidebar-tab-foreground-selected: rgb(179, 179, 179)\\nsidebar-tiddler-link-foreground: rgb(179, 179, 179)\\nsidebar-tiddler-link-foreground-hover: rgb(115, 115, 115)\\nsite-title-foreground: rgb(255, 201, 102)\\nstatic-alert-foreground: rgba(0,0,0,.3)\\ntab-background: rgba(0,0,0,0.125)\\ntab-background-selected: rgb(38, 38, 38)\\ntab-border: rgb(255, 201, 102)\\ntab-border-selected: rgb(255, 201, 102)\\ntab-divider: rgb(255, 201, 102)\\ntab-foreground: rgb(179, 179, 179)\\ntab-foreground-selected: rgb(179, 179, 179)\\ntable-border: rgba(255,255,255,.3)\\ntable-footer-background: rgba(0,0,0,.4)\\ntable-header-background: rgba(0,0,0,.1)\\ntag-background: rgb(255, 201, 102)\\ntag-foreground: rgb(25, 25, 25)\\ntiddler-background: rgb(38, 38, 38)\\ntiddler-border: rgba(240, 196, 117, 0.7)\\ntiddler-controls-foreground: rgb(128, 128, 128)\\ntiddler-controls-foreground-hover: rgba(255, 255, 255, 0.8)\\ntiddler-controls-foreground-selected: rgba(255, 255, 255, 0.9)\\ntiddler-editor-background: rgb(33, 33, 33)\\ntiddler-editor-border: rgb(63, 63, 63)\\ntiddler-editor-border-image: rgb(25, 25, 25)\\ntiddler-editor-fields-even: rgb(33, 33, 33)\\ntiddler-editor-fields-odd: rgb(28, 28, 28)\\ntiddler-info-background: rgb(43, 43, 43)\\ntiddler-info-border: rgb(25, 25, 25)\\ntiddler-info-tab-background: rgb(43, 43, 43)\\ntiddler-link-background: rgb(38, 38, 38)\\ntiddler-link-foreground: rgb(204, 204, 255)\\ntiddler-subtitle-foreground: rgb(255, 255, 255)\\ntiddler-title-foreground: rgb(255, 192, 76)\\ntoolbar-cancel-button: \\ntoolbar-close-button: \\ntoolbar-delete-button: \\ntoolbar-done-button: \\ntoolbar-edit-button: \\ntoolbar-info-button: \\ntoolbar-new-button: \\ntoolbar-options-button: \\ntoolbar-save-button: \\nuntagged-background: rgb(255, 255, 255)\\nvery-muted-foreground: rgba(240, 196, 117, 0.7)\\n\"},\"$:/palettes/Vanilla\":{\"title\":\"$:/palettes/Vanilla\",\"name\":\"Vanilla\",\"description\":\"Pale and unobtrusive\",\"tags\":\"$:/tags/Palette\",\"type\":\"application/x-tiddler-dictionary\",\"color-scheme\":\"light\",\"text\":\"alert-background: #ffe476\\nalert-border: #b99e2f\\nalert-highlight: #881122\\nalert-muted-foreground: #b99e2f\\nbackground: #ffffff\\nblockquote-bar: <<colour muted-foreground>>\\nbutton-background:\\nbutton-foreground:\\nbutton-border:\\ncode-background: #f7f7f9\\ncode-border: #e1e1e8\\ncode-foreground: #dd1144\\ndiff-delete-background: #ffc9c9\\ndiff-delete-foreground: <<colour foreground>>\\ndiff-equal-background: \\ndiff-equal-foreground: <<colour foreground>>\\ndiff-insert-background: #aaefad\\ndiff-insert-foreground: <<colour foreground>>\\ndiff-invisible-background: \\ndiff-invisible-foreground: <<colour muted-foreground>>\\ndirty-indicator: #ff0000\\ndownload-background: #34c734\\ndownload-foreground: <<colour background>>\\ndragger-background: <<colour foreground>>\\ndragger-foreground: <<colour background>>\\ndropdown-background: <<colour background>>\\ndropdown-border: <<colour muted-foreground>>\\ndropdown-tab-background-selected: #fff\\ndropdown-tab-background: #ececec\\ndropzone-background: rgba(0,200,0,0.7)\\nexternal-link-background-hover: inherit\\nexternal-link-background-visited: inherit\\nexternal-link-background: inherit\\nexternal-link-foreground-hover: inherit\\nexternal-link-foreground-visited: #0000aa\\nexternal-link-foreground: #0000ee\\nforeground: #333333\\nhighlight-background: #ffff00\\nhighlight-foreground: #000000\\nmessage-background: #ecf2ff\\nmessage-border: #cfd6e6\\nmessage-foreground: #547599\\nmodal-backdrop: <<colour foreground>>\\nmodal-background: <<colour background>>\\nmodal-border: #999999\\nmodal-footer-background: #f5f5f5\\nmodal-footer-border: #dddddd\\nmodal-header-border: #eeeeee\\nmuted-foreground: #bbb\\nnetwork-activity-foreground: #448844\\nnotification-background: #ffffdd\\nnotification-border: #999999\\npage-background: #f4f4f4\\npre-background: #f5f5f5\\npre-border: #cccccc\\nprimary: #5778d8\\nselection-background:\\nselection-foreground:\\nselect-tag-background:\\nselect-tag-foreground:\\nsidebar-button-foreground: <<colour foreground>>\\nsidebar-controls-foreground-hover: #000000\\nsidebar-controls-foreground: #aaaaaa\\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\\nsidebar-foreground: #acacac\\nsidebar-muted-foreground-hover: #444444\\nsidebar-muted-foreground: #c0c0c0\\nsidebar-tab-background-selected: #f4f4f4\\nsidebar-tab-background: #e0e0e0\\nsidebar-tab-border-selected: <<colour tab-border-selected>>\\nsidebar-tab-border: <<colour tab-border>>\\nsidebar-tab-divider: #e4e4e4\\nsidebar-tab-foreground-selected:\\nsidebar-tab-foreground: <<colour tab-foreground>>\\nsidebar-tiddler-link-foreground-hover: #444444\\nsidebar-tiddler-link-foreground: #999999\\nsite-title-foreground: <<colour tiddler-title-foreground>>\\nstatic-alert-foreground: #aaaaaa\\ntab-background-selected: #ffffff\\ntab-background: #d8d8d8\\ntab-border-selected: #d8d8d8\\ntab-border: #cccccc\\ntab-divider: #d8d8d8\\ntab-foreground-selected: <<colour tab-foreground>>\\ntab-foreground: #666666\\ntable-border: #dddddd\\ntable-footer-background: #a8a8a8\\ntable-header-background: #f0f0f0\\ntag-background: #ec6\\ntag-foreground: #ffffff\\ntiddler-background: <<colour background>>\\ntiddler-border: <<colour background>>\\ntiddler-controls-foreground-hover: #888888\\ntiddler-controls-foreground-selected: #444444\\ntiddler-controls-foreground: #cccccc\\ntiddler-editor-background: #f8f8f8\\ntiddler-editor-border-image: #ffffff\\ntiddler-editor-border: #cccccc\\ntiddler-editor-fields-even: #e0e8e0\\ntiddler-editor-fields-odd: #f0f4f0\\ntiddler-info-background: #f8f8f8\\ntiddler-info-border: #dddddd\\ntiddler-info-tab-background: #f8f8f8\\ntiddler-link-background: <<colour background>>\\ntiddler-link-foreground: <<colour primary>>\\ntiddler-subtitle-foreground: #c0c0c0\\ntiddler-title-foreground: #182955\\ntoolbar-new-button:\\ntoolbar-options-button:\\ntoolbar-save-button:\\ntoolbar-info-button:\\ntoolbar-edit-button:\\ntoolbar-close-button:\\ntoolbar-delete-button:\\ntoolbar-cancel-button:\\ntoolbar-done-button:\\nuntagged-background: #999999\\nvery-muted-foreground: #888888\\nwikilist-background: #e5e5e5\\nwikilist-item: #fff\\nwikilist-info: #000\\nwikilist-title: #666\\nwikilist-title-svg: <<colour wikilist-title>>\\nwikilist-url: #aaa\\nwikilist-button-open: #4fb82b\\nwikilist-button-open-hover: green\\nwikilist-button-reveal: #5778d8\\nwikilist-button-reveal-hover: blue\\nwikilist-button-remove: #d85778\\nwikilist-button-remove-hover: red\\nwikilist-toolbar-background: #d3d3d3\\nwikilist-toolbar-foreground: #888\\nwikilist-droplink-dragover: rgba(255,192,192,0.5)\\nwikilist-button-background: #acacac\\nwikilist-button-foreground: #000\\n\"},\"$:/core/readme\":{\"title\":\"$:/core/readme\",\"text\":\"This plugin contains TiddlyWiki's core components, comprising:\\n\\n* JavaScript code modules\\n* Icons\\n* Templates needed to create TiddlyWiki's user interface\\n* British English (''en-GB'') translations of the localisable strings used by the core\\n\"},\"$:/library/sjcl.js/license\":{\"title\":\"$:/library/sjcl.js/license\",\"type\":\"text/plain\",\"text\":\"SJCL is open. You can use, modify and redistribute it under a BSD\\nlicense or under the GNU GPL, version 2.0.\\n\\n---------------------------------------------------------------------\\n\\nhttp://opensource.org/licenses/BSD-2-Clause\\n\\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\\nStanford University. All rights reserved.\\n\\nRedistribution and use in source and binary forms, with or without\\nmodification, are permitted provided that the following conditions are\\nmet:\\n\\n1. Redistributions of source code must retain the above copyright\\nnotice, this list of conditions and the following disclaimer.\\n\\n2. Redistributions in binary form must reproduce the above copyright\\nnotice, this list of conditions and the following disclaimer in the\\ndocumentation and/or other materials provided with the distribution.\\n\\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \\\"AS\\nIS\\\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\\nTO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\\nPARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\\nHOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\\n\\n---------------------------------------------------------------------\\n\\nhttp://opensource.org/licenses/GPL-2.0\\n\\nThe Stanford Javascript Crypto Library (hosted here on GitHub) is a\\nproject by the Stanford Computer Security Lab to build a secure,\\npowerful, fast, small, easy-to-use, cross-browser library for\\ncryptography in Javascript.\\n\\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\\nStanford University.\\n\\nThis program is free software; you can redistribute it and/or modify it\\nunder the terms of the GNU General Public License as published by the\\nFree Software Foundation; either version 2 of the License, or (at your\\noption) any later version.\\n\\nThis program is distributed in the hope that it will be useful, but\\nWITHOUT ANY WARRANTY; without even the implied warranty of\\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\\nPublic License for more details.\\n\\nYou should have received a copy of the GNU General Public License along\\nwith this program; if not, write to the Free Software Foundation, Inc.,\\n59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\"},\"$:/core/templates/MOTW.html\":{\"title\":\"$:/core/templates/MOTW.html\",\"text\":\"\\\\rules only filteredtranscludeinline transcludeinline entity\\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\\n<!-- saved from url=(0021)https://tiddlywiki.com --> \"},\"$:/core/templates/alltiddlers.template.html\":{\"title\":\"$:/core/templates/alltiddlers.template.html\",\"type\":\"text/vnd.tiddlywiki-html\",\"text\":\"<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->\\n\\n<$set name=\\\"exportFilter\\\" value=\\\"[!is[system]sort[title]]\\\">\\n\\n{{$:/core/templates/exporters/StaticRiver}}\\n\\n</$set>\\n\"},\"$:/core/templates/canonical-uri-external-image\":{\"title\":\"$:/core/templates/canonical-uri-external-image\",\"text\":\"<!--\\n\\nThis template is used to assign the ''_canonical_uri'' field to external images.\\n\\nChange the `./images/` part to a different base URI. The URI can be relative or absolute.\\n\\n-->\\n./images/<$view field=\\\"title\\\" format=\\\"doubleurlencoded\\\"/>\"},\"$:/core/templates/canonical-uri-external-raw\":{\"title\":\"$:/core/templates/canonical-uri-external-raw\",\"text\":\"<!--\\n\\nThis template is used to assign the ''_canonical_uri'' field to external raw files that are stored in the same directory\\n\\n-->\\n<$view field=\\\"title\\\" format=\\\"doubleurlencoded\\\"/>\"},\"$:/core/templates/canonical-uri-external-text\":{\"title\":\"$:/core/templates/canonical-uri-external-text\",\"text\":\"<!--\\n\\nThis template is used to assign the ''_canonical_uri'' field to external text files.\\n\\nChange the `./text/` part to a different base URI. The URI can be relative or absolute.\\n\\n-->\\n./text/<$view field=\\\"title\\\" format=\\\"doubleurlencoded\\\"/>.tid\"},\"$:/core/templates/css-tiddler\":{\"title\":\"$:/core/templates/css-tiddler\",\"text\":\"<!--\\n\\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\\n\\n-->`<style`<$fields template=' data-tiddler-$name$=\\\"$encoded_value$\\\"'></$fields>` type=\\\"text/css\\\">`<$view field=\\\"text\\\" format=\\\"text\\\" />`</style>`\"},\"$:/core/templates/exporters/CsvFile\":{\"title\":\"$:/core/templates/exporters/CsvFile\",\"tags\":\"$:/tags/Exporter\",\"description\":\"{{$:/language/Exporters/CsvFile}}\",\"extension\":\".csv\",\"text\":\"<$macrocall $name=\\\"csvtiddlers\\\" filter=<<exportFilter>> format=\\\"quoted-comma-sep\\\" $output=\\\"text/raw\\\"/>\\n\"},\"$:/core/templates/exporters/JsonFile\":{\"title\":\"$:/core/templates/exporters/JsonFile\",\"tags\":\"$:/tags/Exporter\",\"description\":\"{{$:/language/Exporters/JsonFile}}\",\"extension\":\".json\",\"text\":\"<$macrocall $name=\\\"jsontiddlers\\\" filter=<<exportFilter>> $output=\\\"text/raw\\\"/>\\n\"},\"$:/core/templates/exporters/StaticRiver\":{\"title\":\"$:/core/templates/exporters/StaticRiver\",\"tags\":\"$:/tags/Exporter\",\"description\":\"{{$:/language/Exporters/StaticRiver}}\",\"extension\":\".html\",\"text\":\"\\\\define tv-config-static() yes\\n\\\\define tv-wikilink-template() #$uri_encoded$\\n\\\\define tv-config-toolbar-icons() no\\n\\\\define tv-config-toolbar-text() no\\n\\\\define tv-config-toolbar-class() tc-btn-invisible\\n\\\\rules only filteredtranscludeinline transcludeinline\\n<!doctype html>\\n<html>\\n<head>\\n<meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html;charset=utf-8\\\" />\\n<meta name=\\\"generator\\\" content=\\\"TiddlyWiki\\\" />\\n<meta name=\\\"tiddlywiki-version\\\" content=\\\"{{$:/core/templates/version}}\\\" />\\n<meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1.0\\\" />\\n<meta name=\\\"format-detection\\\" content=\\\"telephone=no\\\">\\n<link id=\\\"faviconLink\\\" rel=\\\"shortcut icon\\\" href=\\\"favicon.ico\\\">\\n<title>{{$:/core/wiki/title}}\\n
\\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\\n
\\n\\n\\n\\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\\n
\\n{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}\\n
\\n\\n\\n\"},\"$:/core/templates/exporters/StaticRiver/Content\":{\"title\":\"$:/core/templates/exporters/StaticRiver/Content\",\"text\":\"\\\\define renderContent()\\n{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}\\n\\\\end\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n<>\\n\"},\"$:/core/templates/exporters/TidFile\":{\"title\":\"$:/core/templates/exporters/TidFile\",\"tags\":\"$:/tags/Exporter\",\"description\":\"{{$:/language/Exporters/TidFile}}\",\"extension\":\".tid\",\"condition\":\"[compare:lte[1]]\",\"text\":\"\\\\define renderContent()\\n{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}\\n\\\\end\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n<>\"},\"$:/core/save/all-external-js\":{\"title\":\"$:/core/save/all-external-js\",\"text\":\"\\\\whitespace trim\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n\\\\define saveTiddlerFilter()\\n[is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/core]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\\n\\\\end\\n\\n\\n\\\\define defaultCoreURL() %24%3A%2Fcore%2Ftemplates%2Ftiddlywiki5.js\\n\\n<$let coreURL={{{ [[coreURL]is[variable]thenelse] }}}>\\n\\t{{$:/core/templates/tiddlywiki5-external-js.html}}\\n\\n\"},\"$:/core/save/offline-external-js\":{\"title\":\"$:/core/save/offline-external-js\",\"text\":\"\\\\whitespace trim\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n\\\\define saveTiddlerFilter()\\n[is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/core]] -[[$:/plugins/tiddlywiki/filesystem]] -[[$:/plugins/tiddlywiki/tiddlyweb]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\\n\\\\end\\n\\\\define defaultCoreURL() tiddlywikicore-$(version)$.js\\n<$let coreURL={{{ [[coreURL]is[variable]thenelse] }}}>\\n\\t{{$:/core/templates/tiddlywiki5-external-js.html}}\\n\\n\"},\"$:/core/templates/tiddlywiki.js/load-tiddler\":{\"title\":\"$:/core/templates/tiddlywiki.js/load-tiddler\",\"text\":\"_load(window,<$macrocall $name=\\\"jsontiddler\\\" $output=\\\"text/raw\\\"/>);\"},\"$:/core/templates/tiddlywiki5.js\":{\"title\":\"$:/core/templates/tiddlywiki5.js\",\"text\":\"\\\\rules only filteredtranscludeinline transcludeinline codeinline\\n\\n`/*\\n`{{ $:/core/copyright.txt ||$:/core/templates/plain-text-tiddler}}`\\n*/\\n\\n$tw = (typeof $tw === 'undefined') ? Object.create(null) : $tw;\\n\\n$tw.preloadTiddlers = $tw.preloadTiddlers || [];\\n\\n_load = function(window,tiddler) {\\n\\t\\\"use strict\\\";\\n\\tvar f;\\n\\t$tw.preloadTiddlers.push(tiddler);\\n\\tif(tiddler.library === \\\"yes\\\") {\\n\\t\\tvar module = { exports:{} };\\n\\t\\tvar moduleName = function moduleName(path) {\\n\\t\\t\\tvar word = path.split(\\\"/\\\").pop();\\n\\t\\t\\tword = word.substring(0,word.indexOf(\\\".\\\")) || word;\\n\\t\\t\\treturn word;\\n\\t\\t}\\n\\t\\tf = new Function(\\\"module\\\",tiddler.text);\\n\\t\\tf(module);\\n\\t\\twindow[moduleName(tiddler.title)] = module.exports;\\n\\t} else {\\n\\t\\tf = new Function(\\\"window\\\",tiddler.text);\\n\\t\\tf(window);\\n\\t}\\n}\\n\\n/* ~~ Library modules ~~ */\\n\\n`{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/tiddlywiki.js/load-tiddler}}}`\\n\\n/* ~~ Boot kernel prologue ~~ */\\n\\n`{{ $:/boot/bootprefix.js ||$:/core/templates/tiddlywiki.js/load-tiddler}}`\\n\\n/* ~~ Core tiddlers ~~ */\\n\\n`{{$:/core/templates/tiddlywiki5.js/tiddlers}}`\\n\\n/* ~~ Boot kernel ~~ */\\n\\n`{{ $:/boot/boot.js ||$:/core/templates/tiddlywiki.js/load-tiddler}}`\\n\"},\"$:/core/templates/tiddlywiki5.js/tiddlers\":{\"title\":\"$:/core/templates/tiddlywiki5.js/tiddlers\",\"text\":\"`\\n$tw.preloadTiddlerArray(`<$text text=<>/>`);\\n$tw.preloadTiddlerArray([{\\n\\ttitle: \\\"$:/config/SaveWikiButton/Template\\\",\\n\\ttext: \\\"$:/core/save/offline-external-js\\\"\\n}]);\\n`\\n\"},\"$:/core/templates/tiddlywiki5-external-js.html\":{\"title\":\"$:/core/templates/tiddlywiki5-external-js.html\",\"text\":\"<$set name=\\\"saveTiddlerAndShadowsFilter\\\" filter=\\\"[subfilter] [subfilterplugintiddlers[]]\\\">\\n`\\n`{{$:/core/templates/MOTW.html}}``\\\">\\n\\n\\n\\n`{{{ [enlisttag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}`\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n`{{$:/core/wiki/title}}`\\n\\n\\n\\n`{{{ [enlisttag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}`\\n`{{{ [enlisttag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}`\\n`{{{ [enlisttag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`\\n\\n\\n\\n`{{{ [enlisttag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}`\\n\\n
\\n`{{$:/boot/boot.css||$:/core/templates/css-tiddler}}`\\n
\\n\\n\\n\\n`{{$:/core/templates/store.area.template.html}}`\\n\\n`{{{ [enlisttag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`\\n\\n\\n\\n`\\n\"},\"$:/core/templates/html-div-skinny-tiddler\":{\"title\":\"$:/core/templates/html-div-skinny-tiddler\",\"text\":\"``>\\n
\\n`\\n\"},\"$:/core/templates/html-div-tiddler\":{\"title\":\"$:/core/templates/html-div-tiddler\",\"text\":\"``>\\n
`<$view field=\\\"text\\\" format=\\\"htmltextencoded\\\" />`
\\n`\\n\"},\"$:/core/templates/html-json-skinny-tiddler\":{\"title\":\"$:/core/templates/html-json-skinny-tiddler\",\"text\":\"<$text text=<>/><$jsontiddler tiddler=<> exclude=\\\"text\\\" escapeUnsafeScriptChars=\\\"yes\\\"/>\\n\"},\"$:/core/templates/html-json-tiddler\":{\"title\":\"$:/core/templates/html-json-tiddler\",\"text\":\"<$jsontiddler tiddler=<> escapeUnsafeScriptChars=\\\"yes\\\"/>\"},\"$:/core/templates/html-tiddler\":{\"title\":\"$:/core/templates/html-tiddler\",\"text\":\"<$view field=\\\"text\\\" format=\\\"htmlwikified\\\" />\"},\"$:/core/templates/javascript-tiddler\":{\"title\":\"$:/core/templates/javascript-tiddler\",\"text\":\"`` type=\\\"text/javascript\\\">`<$view field=\\\"text\\\" format=\\\"text\\\" />``\"},\"$:/core/templates/json-tiddler\":{\"title\":\"$:/core/templates/json-tiddler\",\"text\":\"<$text text=<>/>\"},\"$:/core/templates/module-tiddler\":{\"title\":\"$:/core/templates/module-tiddler\",\"text\":\"`` type=\\\"text/javascript\\\" data-module=\\\"yes\\\">$tw.modules.define(\\\"`<$view field=\\\"title\\\" format=\\\"jsencoded\\\" />`\\\",\\\"`<$view field=\\\"module-type\\\" format=\\\"jsencoded\\\" />`\\\",function(module,exports,require) {`<$view field=\\\"text\\\" format=\\\"text\\\" />`});\\n`\"},\"$:/core/templates/plain-text-tiddler\":{\"title\":\"$:/core/templates/plain-text-tiddler\",\"text\":\"<$view field=\\\"text\\\" format=\\\"text\\\" />\"},\"$:/core/templates/raw-static-tiddler\":{\"title\":\"$:/core/templates/raw-static-tiddler\",\"text\":\"<$view field=\\\"text\\\" format=\\\"plainwikified\\\" />\"},\"$:/core/save/all\":{\"title\":\"$:/core/save/all\",\"text\":\"\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n\\\\define saveTiddlerFilter()\\n[is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\\n\\\\end\\n{{$:/core/templates/tiddlywiki5.html}}\\n\"},\"$:/core/save/empty\":{\"title\":\"$:/core/save/empty\",\"text\":\"\\\\define saveTiddlerFilter()\\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\\n\\\\end\\n{{$:/core/templates/tiddlywiki5.html}}\\n\"},\"$:/core/save/lazy-all\":{\"title\":\"$:/core/save/lazy-all\",\"text\":\"\\\\define saveTiddlerFilter()\\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] [is[tiddler]type[application/javascript]] +[sort[title]]\\n\\\\end\\n\\\\define skinnySaveTiddlerFilter()\\n[!is[system]] -[type[application/javascript]]\\n\\\\end\\n{{$:/core/templates/tiddlywiki5.html}}\\n\"},\"$:/core/save/lazy-images\":{\"title\":\"$:/core/save/lazy-images\",\"text\":\"\\\\define saveTiddlerFilter()\\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[!is[system]is[image]] +[sort[title]] \\n\\\\end\\n\\\\define skinnySaveTiddlerFilter()\\n[!is[system]is[image]]\\n\\\\end\\n{{$:/core/templates/tiddlywiki5.html}}\\n\"},\"$:/core/templates/server/static.sidebar.wikitext\":{\"title\":\"$:/core/templates/server/static.sidebar.wikitext\",\"text\":\"\\\\whitespace trim\\n
\\n
\\n

\\n<$transclude tiddler=\\\"$:/SiteTitle\\\"/>\\n

\\n
\\n<$transclude tiddler=\\\"$:/SiteSubtitle\\\"/>\\n
\\n

\\n

\\n
\\n<$list filter={{$:/DefaultTiddlers}}>\\n
\\n<$link><$text text=<>/>\\n
\\n\\n
\\n\\n\"},\"$:/core/templates/server/static.tiddler.html\":{\"title\":\"$:/core/templates/server/static.tiddler.html\",\"text\":\"\\\\whitespace trim\\n\\\\define tv-config-static() yes\\n\\\\define tv-wikilink-template() $uri_encoded$\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n<$view field=\\\"caption\\\" format=\\\"plainwikified\\\"><$view field=\\\"title\\\"/></$view>: <$view tiddler=\\\"$:/core/wiki/title\\\" format=\\\"plainwikified\\\"/>\\n\\n\\n<$transclude tiddler=\\\"$:/core/templates/server/static.sidebar.wikitext\\\" mode=\\\"inline\\\"/>\\n
\\n
\\n<$transclude tiddler=\\\"$:/core/templates/server/static.tiddler.wikitext\\\" mode=\\\"inline\\\"/>\\n
\\n
\\n\\n\"},\"$:/core/templates/server/static.tiddler.wikitext\":{\"title\":\"$:/core/templates/server/static.tiddler.wikitext\",\"text\":\"\\\\whitespace trim\\n
\\n
\\n

<$text text=<>/>

\\n
\\n
\\n
\\n<$link to={{!!modifier}}>\\n<$view field=\\\"modifier\\\"/>\\n <$view field=\\\"modified\\\" format=\\\"date\\\" template={{$:/language/Tiddler/DateFormat}}/>\\n
\\n
\\n<$list filter=\\\"[all[current]tags[]sort[title]]\\\">\\nencodeuricomponent[]] }}}>\\n<$macrocall $name=\\\"tag-pill\\\" tag=<>/>\\n\\n\\n
\\n
\\n<$transclude mode=\\\"block\\\"/>\\n
\\n\"},\"$:/core/templates/single.tiddler.window\":{\"title\":\"$:/core/templates/single.tiddler.window\",\"text\":\"\\\\whitespace trim\\n\\\\define containerClasses()\\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\\n\\\\end\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n\\n<$vars\\n\\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\\n\\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\\n\\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\\n\\ttv-show-missing-links={{$:/config/MissingLinks}}\\n\\tstoryviewTitle={{$:/view}}\\n\\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\\n\\n
>>\\n\\n<$navigator story=\\\"$:/StoryList\\\" history=\\\"$:/HistoryList\\\">\\n\\n<$transclude tiddler=\\\"$:/core/ui/ViewTemplate/body\\\" mode=\\\"block\\\"/>\\n\\n\\n\\n
\\n\\n\\n\"},\"$:/core/templates/split-recipe\":{\"title\":\"$:/core/templates/split-recipe\",\"text\":\"<$list filter=\\\"[!is[system]]\\\">\\ntiddler: <$view field=\\\"title\\\" format=\\\"urlencoded\\\"/>.tid\\n\\n\"},\"$:/core/templates/static-tiddler\":{\"title\":\"$:/core/templates/static-tiddler\",\"text\":\">>\\n<$transclude tiddler=\\\"$:/core/ui/ViewTemplate\\\"/>\\n\"},\"$:/core/templates/static.area\":{\"title\":\"$:/core/templates/static.area\",\"text\":\"<$reveal type=\\\"nomatch\\\" state=\\\"$:/isEncrypted\\\" text=\\\"yes\\\">\\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawStaticContent]!has[draft.of]] ||$:/core/templates/raw-static-tiddler}}}\\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\\n\\n<$reveal type=\\\"match\\\" state=\\\"$:/isEncrypted\\\" text=\\\"yes\\\">\\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\\n\\n\\n``\\n\"},\"$:/core/templates/static.content\":{\"title\":\"$:/core/templates/static.content\",\"text\":\"\\nThis [[TiddlyWiki|https://tiddlywiki.com]] contains the following tiddlers:\\n\\n
    \\n<$list filter=<>>\\n
  • <$view field=\\\"title\\\" format=\\\"text\\\">
  • \\n\\n
\\n\"},\"$:/core/templates/static.template.css\":{\"title\":\"$:/core/templates/static.template.css\",\"text\":\"{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\\n\\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\\n\"},\"$:/core/templates/static.template.html\":{\"title\":\"$:/core/templates/static.template.html\",\"type\":\"text/vnd.tiddlywiki-html\",\"text\":\"\\\\define tv-config-static() yes\\n\\\\define tv-wikilink-template() static/$uri_doubleencoded$.html\\n\\\\define tv-config-toolbar-icons() no\\n\\\\define tv-config-toolbar-text() no\\n\\\\define tv-config-toolbar-class() tc-btn-invisible\\n\\\\rules only filteredtranscludeinline transcludeinline\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n{{$:/core/wiki/title}}\\n
\\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\\n
\\n\\n\\n\\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\\n\\n\\n\"},\"$:/core/templates/static.tiddler.html\":{\"title\":\"$:/core/templates/static.tiddler.html\",\"text\":\"\\\\define tv-wikilink-template() $uri_doubleencoded$.html\\n\\\\define tv-config-static() yes\\n\\\\define tv-config-toolbar-icons() no\\n\\\\define tv-config-toolbar-text() no\\n\\\\define tv-config-toolbar-class() tc-btn-invisible\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n`\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n`<$view field=\\\"caption\\\"><$view field=\\\"title\\\"/></$view>: {{$:/core/wiki/title}}`\\n\\n\\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\\n
\\n`<$view tiddler=\\\"$:/core/ui/ViewTemplate\\\" format=\\\"htmlwikified\\\"/>`\\n
\\n\\n\\n`\\n\"},\"$:/core/templates/store.area.template.html\":{\"title\":\"$:/core/templates/store.area.template.html\",\"text\":\"\\\\whitespace trim\\n\\n<$list filter=\\\"[[$:/isEncrypted]get[text]else[no]match[no]]\\\">\\n <$list filter=\\\"[[storeAreaFormat]is[variable]getvariable[]else[json]match[json]]\\\">\\n \\n ``\\n `
`\\n `
`\\n \\n <$list filter=\\\"[[storeAreaFormat]is[variable]getvariable[]else[json]match[div]]\\\">\\n \\n <$reveal type=\\\"nomatch\\\" state=\\\"$:/isEncrypted\\\" text=\\\"yes\\\">\\n `
`\\n <$list filter={{{ [] }}} template=\\\"$:/core/templates/html-div-tiddler\\\"/>\\n <$list filter=\\\"[subfilter]\\\" template=\\\"$:/core/templates/html-div-skinny-tiddler\\\"/>\\n `
`\\n \\n \\n\\n\\n<$list filter=\\\"[[$:/isEncrypted]get[text]else[no]match[yes]]\\\">\\n ``\\n `
`\\n        <$encrypt filter=<>/>\\n    `
`\\n\"},\"$:/core/templates/tid-tiddler\":{\"title\":\"$:/core/templates/tid-tiddler\",\"text\":\"<$fields exclude='text bag' template='$name$: $value$\\n'>`\\n`<$view field=\\\"text\\\" format=\\\"text\\\" />\"},\"$:/core/templates/tiddler-metadata\":{\"title\":\"$:/core/templates/tiddler-metadata\",\"text\":\"<$fields exclude='text bag' template='$name$: $value$\\n'>\"},\"$:/core/templates/tiddlywiki5.html\":{\"title\":\"$:/core/templates/tiddlywiki5.html\",\"text\":\"<$set name=\\\"saveTiddlerAndShadowsFilter\\\" filter=\\\"[subfilter] [subfilterplugintiddlers[]]\\\">\\n`\\n`{{$:/core/templates/MOTW.html}}``\\\">\\n\\n\\n\\n`{{{ [enlisttag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}`\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n`{{$:/core/wiki/title}}`\\n\\n\\n\\n`{{{ [enlisttag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}\\n{{{ [enlisttag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\\n{{{ [enlisttag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`\\n\\n\\n\\n`{{{ [enlisttag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}`\\n\\n
\\n`{{$:/boot/boot.css||$:/core/templates/css-tiddler}}`\\n
\\n\\n\\n\\n`{{$:/core/templates/store.area.template.html}}`\\n\\n
\\n`{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}`\\n
\\n\\n
\\n`{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}`\\n
\\n\\n
\\n`{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}`\\n
\\n\\n`{{{ [enlisttag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`\\n\\n`\\n\"},\"$:/core/templates/version\":{\"title\":\"$:/core/templates/version\",\"text\":\"<>\"},\"$:/core/templates/wikified-tiddler\":{\"title\":\"$:/core/templates/wikified-tiddler\",\"text\":\"<$transclude />\"},\"$:/core/ui/AboveStory/tw2-plugin-check\":{\"title\":\"$:/core/ui/AboveStory/tw2-plugin-check\",\"tags\":\"$:/tags/AboveStory\",\"text\":\"\\\\define lingo-base() $:/language/AboveStory/ClassicPlugin/\\n<$list filter=\\\"[all[system+tiddlers]tag[systemConfig]limit[1]]\\\">\\n\\n
\\n\\n<>\\n\\n
    \\n\\n<$list filter=\\\"[all[system+tiddlers]tag[systemConfig]]\\\">\\n\\n
  • \\n\\n<$link><$view field=\\\"title\\\"/>\\n\\n
  • \\n\\n\\n\\n
\\n\\n
\\n\\n\\n\"},\"$:/core/ui/Actions/new-image\":{\"title\":\"$:/core/ui/Actions/new-image\",\"tags\":\"$:/tags/Actions\",\"description\":\"create a new image tiddler\",\"text\":\"\\\\whitespace trim\\n<$action-sendmessage $message=\\\"tm-new-tiddler\\\" type={{{ [{$:/config/NewImageType}addprefix[image/]] }}}/>\\n\"},\"$:/core/ui/Actions/new-journal\":{\"title\":\"$:/core/ui/Actions/new-journal\",\"tags\":\"$:/tags/Actions\",\"description\":\"create a new journal tiddler\",\"text\":\"\\\\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$\\n\\\\whitespace trim\\n<$vars journalTitleTemplate={{$:/config/NewJournal/Title}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>\\n<$wikify name=\\\"journalTitle\\\" text=\\\"<$macrocall $name='now' format=<>/>\\\">\\n<$reveal type=\\\"nomatch\\\" state=<> text=\\\"\\\">\\n<$action-sendmessage $message=\\\"tm-new-tiddler\\\" title=<> tags=<> text={{{ [get[]] }}}/>\\n\\n<$reveal type=\\\"match\\\" state=<> text=\\\"\\\">\\n<$action-sendmessage $message=\\\"tm-new-tiddler\\\" title=<> tags=<> text=<>/>\\n\\n\\n\\n\"},\"$:/core/ui/Actions/new-tiddler\":{\"title\":\"$:/core/ui/Actions/new-tiddler\",\"tags\":\"$:/tags/Actions\",\"description\":\"create a new empty tiddler\",\"text\":\"\\\\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$\\n\\\\whitespace trim\\n<$vars textFieldTags={{$:/config/NewTiddler/Tags}} tagsFieldTags={{$:/config/NewTiddler/Tags!!tags}}>\\n<$action-sendmessage $message=\\\"tm-new-tiddler\\\" tags=<>/>\\n\\n\"},\"$:/core/ui/AdvancedSearch/Filter\":{\"title\":\"$:/core/ui/AdvancedSearch/Filter\",\"tags\":\"$:/tags/AdvancedSearch\",\"caption\":\"{{$:/language/Search/Filter/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/Search/\\n\\\\define set-next-input-tab(beforeafter:\\\"after\\\")\\n<$macrocall $name=\\\"change-input-tab\\\"\\n\\tstateTitle=\\\"$:/state/tab--1498284803\\\"\\n\\ttag=\\\"$:/tags/AdvancedSearch\\\"\\n\\tbeforeafter=\\\"$beforeafter$\\\"\\n\\tdefaultState=\\\"$:/core/ui/AdvancedSearch/System\\\"\\n\\tactions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<>/>\\\"/>\\n\\\\end\\n\\n\\\\define cancel-search-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]\\\"\\n\\temptyMessage=\\\"<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />\\\">\\n\\t<$action-setfield $tiddler=\\\"$:/temp/advancedsearch/input\\\" text={{$:/temp/advancedsearch}}/>\\n\\t<$action-setfield $tiddler=\\\"$:/temp/advancedsearch/refresh\\\" text=\\\"yes\\\"/>\\n\\n\\\\end\\n\\n\\\\define input-accept-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\"\\n\\temptyMessage=\\\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>\\\">\\n\\t<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>\\n\\n\\\\end\\n\\n\\\\define input-accept-variant-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\"\\n\\temptyMessage=\\\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/>\\\">\\n\\t<$list filter=\\\"[<__tiddler__>get[text]minlength[1]]\\\">\\n\\t\\t<$action-sendmessage $message=\\\"tm-edit-tiddler\\\" $param={{{ [<__tiddler__>get[text]] }}}/>\\n\\n\\\\end\\n\\n\\\\whitespace trim\\n<>\\n\\n\\n\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$set name=\\\"resultCount\\\" value=\\\"<$count filter={{$:/temp/advancedsearch}}/>\\\">\\n
\\n<>\\n<$list filter={{$:/temp/advancedsearch}}>\\naddsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>\\n<$transclude tiddler=\\\"$:/core/ui/ListItemTemplate\\\"/>\\n\\n\\n
\\n\\n\\n\"},\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear\":{\"title\":\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear\",\"tags\":\"$:/tags/AdvancedSearch/FilterButton\",\"text\":\"\\\\whitespace trim\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$button class=\\\"tc-btn-invisible\\\">\\n<>\\n<$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\"\\\"\\\".tc-advanced-search input\\\"\\\"\\\" />\\n{{$:/core/images/close-button}}\\n\\n\\n\"},\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete\":{\"title\":\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete\",\"tags\":\"$:/tags/AdvancedSearch/FilterButton\",\"text\":\"\\\\whitespace trim\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$button tooltip={{$:/language/Buttons/DeleteTiddlers/Hint}} popup=<> class=\\\"tc-btn-invisible\\\">\\n{{$:/core/images/delete-button}}\\n\\n\\n\\n<$reveal state=<> type=\\\"popup\\\" position=\\\"belowleft\\\" animate=\\\"yes\\\">\\n
\\n
\\n
\\n<$set name=\\\"resultCount\\\" value=\\\"\\\"\\\"<$count filter={{$:/temp/advancedsearch}}/>\\\"\\\"\\\">\\n{{$:/language/ConfirmDeleteTiddlers}}\\n\\n
\\n
\\n<$button class=\\\"tc-btn\\\">\\n<$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>\\n{{$:/language/Buttons/DeleteTiddlers/Hint}}\\n\\n
\\n
\\n
\\n\\n\"},\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown\":{\"title\":\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown\",\"tags\":\"$:/tags/AdvancedSearch/FilterButton\",\"text\":\"\\\\whitespace trim\\n\\n\\n<$button popup=<> class=\\\"tc-btn-invisible\\\">\\n{{$:/core/images/down-arrow}}\\n\\n\\n\\n<$reveal state=<> type=\\\"popup\\\" position=\\\"belowleft\\\" animate=\\\"yes\\\">\\n<$set name=\\\"tv-show-missing-links\\\" value=\\\"yes\\\">\\n<$linkcatcher actions=\\\"<$action-setfield $tiddler='$:/temp/advancedsearch' text=<>/><$action-setfield $tiddler='$:/temp/advancedsearch/input' text=<>/><$action-setfield $tiddler='$:/temp/advancedsearch/refresh' text='yes'/><$action-sendmessage $message='tm-focus-selector' $param='.tc-advanced-search input' />\\\">\\n
\\n
\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/Filter]!is[draft]]\\\">\\n<$link to={{!!filter}}><$let tv-wikilinks=\\\"no\\\"><$transclude field=\\\"description\\\"/>\\n\\n
\\n
\\n\\n\\n\\n\"},\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/export\":{\"title\":\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/export\",\"tags\":\"$:/tags/AdvancedSearch/FilterButton\",\"text\":\"\\\\whitespace trim\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$macrocall $name=\\\"exportButton\\\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\\\"$:/language/Buttons/ExportTiddlers/\\\"/>\\n\\n\"},\"$:/core/ui/AdvancedSearch/Shadows\":{\"title\":\"$:/core/ui/AdvancedSearch/Shadows\",\"tags\":\"$:/tags/AdvancedSearch\",\"caption\":\"{{$:/language/Search/Shadows/Caption}}\",\"first-search-filter\":\"[all[shadows]searchsort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]\",\"text\":\"\\\\define lingo-base() $:/language/Search/\\n\\n\\\\define set-next-input-tab(beforeafter:\\\"after\\\")\\n<$macrocall $name=\\\"change-input-tab\\\"\\n\\tstateTitle=\\\"$:/state/tab--1498284803\\\"\\n\\ttag=\\\"$:/tags/AdvancedSearch\\\"\\n\\tbeforeafter=\\\"$beforeafter$\\\"\\n\\tdefaultState=\\\"$:/core/ui/AdvancedSearch/System\\\"\\n\\tactions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<>/>\\\"/>\\n\\\\end\\n\\n\\\\define cancel-search-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\\\"\\n\\temptyMessage=\\\"<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />\\\">\\n\\t<$action-setfield $tiddler=\\\"$:/temp/advancedsearch/input\\\" text={{$:/temp/advancedsearch}}/>\\n\\t<$action-setfield $tiddler=\\\"$:/temp/advancedsearch/refresh\\\" text=\\\"yes\\\"/>\\n\\n<$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\".tc-advanced-search input\\\"/>\\n\\\\end\\n\\n\\\\define input-accept-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\"\\n\\temptyMessage=\\\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>\\\">\\n\\t<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>\\n\\n\\\\end\\n\\n\\\\define input-accept-variant-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\"\\n\\temptyMessage=\\\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/>\\\">\\n\\t<$list filter=\\\"[<__tiddler__>get[text]minlength[1]]\\\">\\n\\t\\t<$action-sendmessage $message=\\\"tm-edit-tiddler\\\" $param={{{ [<__tiddler__>get[text]] }}}/>\\n\\n\\\\end\\n\\n\\\\whitespace trim\\n\\n<>\\n\\n
\\n<$keyboard key=\\\"((input-tab-right))\\\" actions=<>>\\n<$keyboard key=\\\"((input-tab-left))\\\" actions=<>>\\n<$macrocall $name=\\\"keyboard-driven-input\\\"\\n\\ttiddler=\\\"$:/temp/advancedsearch/input\\\"\\n\\tstoreTitle=\\\"$:/temp/advancedsearch\\\"\\n\\trefreshTitle=\\\"$:/temp/advancedsearch/refresh\\\"\\n\\tselectionStateTitle=\\\"$:/temp/advancedsearch/selected-item\\\"\\n\\ttype=\\\"search\\\"\\n\\ttag=\\\"input\\\"\\n\\tfocus={{$:/config/Search/AutoFocus}}\\n\\tconfigTiddlerFilter=\\\"[[$:/core/ui/AdvancedSearch/Shadows]]\\\"\\n\\tinputCancelActions=<>\\n\\tinputAcceptActions=<>\\n\\tinputAcceptVariantActions=<>\\n\\tfilterMinLength={{$:/config/Search/MinLength}}/>\\n\\n\\n \\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$button class=\\\"tc-btn-invisible\\\">\\n<>\\n{{$:/core/images/close-button}}\\n\\n\\n
\\n\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n\\n<$list filter=\\\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\\\" emptyMessage=\\\"
{{$:/language/Search/Search/TooShort}}
\\\" variable=\\\"listItem\\\">\\n\\n<$set name=\\\"resultCount\\\" value=\\\"<$count filter='[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]'/>\\\">\\n\\n
\\n\\n<>\\n\\n<$list filter=\\\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]\\\">\\naddsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>\\n<$transclude tiddler=\\\"$:/core/ui/ListItemTemplate\\\"/>\\n\\n\\n\\n
\\n\\n\\n\\n\\n\\n\\n\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"match\\\" text=\\\"\\\">\\n\\n\\n\"},\"$:/core/ui/AdvancedSearch/Standard\":{\"title\":\"$:/core/ui/AdvancedSearch/Standard\",\"tags\":\"$:/tags/AdvancedSearch\",\"caption\":\"{{$:/language/Search/Standard/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/Search/\\n\\\\define set-next-input-tab(beforeafter:\\\"after\\\") <$macrocall $name=\\\"change-input-tab\\\" stateTitle=\\\"$:/state/tab--1498284803\\\" tag=\\\"$:/tags/AdvancedSearch\\\" beforeafter=\\\"$beforeafter$\\\" defaultState=\\\"$:/core/ui/AdvancedSearch/System\\\" actions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<>/>\\\"/>\\n\\n\\\\define next-search-tab(beforeafter:\\\"after\\\") <$macrocall $name=\\\"change-input-tab\\\" stateTitle=\\\"$:/state/tab/search-results/advancedsearch\\\" tag=\\\"$:/tags/SearchResults\\\" beforeafter=\\\"$beforeafter$\\\" defaultState={{$:/config/SearchResults/Default}} actions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<>/>\\\"/>\\n\\n\\\\define cancel-search-actions() <$list filter=\\\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\\\" emptyMessage=\\\"<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />\\\"><$action-setfield $tiddler=\\\"$:/temp/advancedsearch/input\\\" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler=\\\"$:/temp/advancedsearch/refresh\\\" text=\\\"yes\\\"/><$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\".tc-advanced-search input\\\"/>\\n\\n\\\\define input-accept-actions() <$list filter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\" emptyMessage=\\\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>\\\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>\\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 filter=\\\"[<__tiddler__>get[text]minlength[1]]\\\"><$action-sendmessage $message=\\\"tm-edit-tiddler\\\" $param={{{ [<__tiddler__>get[text]] }}}/>\\n\\n\\\\whitespace trim\\n\\n<>\\n\\n
\\n<$keyboard key=\\\"((input-tab-right))\\\" actions=<>>\\n<$keyboard key=\\\"((input-tab-left))\\\" actions=<>>\\n<$keyboard key=\\\"shift-alt-Right\\\" actions=<>>\\n<$keyboard key=\\\"shift-alt-Left\\\" actions=<>>\\n<$macrocall $name=\\\"keyboard-driven-input\\\"\\n\\ttiddler=\\\"$:/temp/advancedsearch/input\\\"\\n\\tstoreTitle=\\\"$:/temp/advancedsearch\\\"\\n\\trefreshTitle=\\\"$:/temp/advancedsearch/refresh\\\"\\n\\tselectionStateTitle=\\\"$:/temp/advancedsearch/selected-item\\\"\\n\\ttype=\\\"search\\\"\\n\\ttag=\\\"input\\\"\\n\\tfocus={{$:/config/Search/AutoFocus}}\\n\\tinputCancelActions=<>\\n\\tinputAcceptActions=<>\\n\\tinputAcceptVariantActions=<>\\n\\tconfigTiddlerFilter=\\\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\\\"\\n\\tfilterMinLength={{$:/config/Search/MinLength}}/>\\n\\n\\n\\n\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$button class=\\\"tc-btn-invisible\\\">\\n<>\\n{{$:/core/images/close-button}}\\n\\n\\n
\\n\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$list\\n\\tfilter=\\\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\\\"\\n\\temptyMessage=\\\"
{{$:/language/Search/Search/TooShort}}
\\\"\\n\\tvariable=\\\"listItem\\\">\\n<$vars\\n\\tuserInput={{{ [[$:/temp/advancedsearch]get[text]] }}}\\n\\tconfigTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}\\n\\tsearchListState=\\\"$:/temp/advancedsearch/selected-item\\\">\\n<$list\\n\\tfilter=\\\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\\\"\\n\\temptyMessage=\\\"<$list filter='[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]'><$transclude/>\\\">\\n<$macrocall $name=\\\"tabs\\\"\\n\\ttabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\\\"\\n\\tdefault={{$:/config/SearchResults/Default}}\\n\\tactions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<>/>\\\"\\n\\texplicitState=\\\"$:/state/tab/search-results/advancedsearch\\\" />\\n\\n\\n\\n\\n\"},\"$:/core/ui/AdvancedSearch/System\":{\"title\":\"$:/core/ui/AdvancedSearch/System\",\"tags\":\"$:/tags/AdvancedSearch\",\"caption\":\"{{$:/language/Search/System/Caption}}\",\"first-search-filter\":\"[is[system]searchsort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]\",\"text\":\"\\\\define lingo-base() $:/language/Search/\\n\\\\define set-next-input-tab(beforeafter:\\\"after\\\",stateTitle,tag,defaultState,currentTabTiddler)\\n<$macrocall $name=\\\"change-input-tab\\\"\\n\\tstateTitle=\\\"$:/state/tab--1498284803\\\"\\n\\ttag=\\\"$:/tags/AdvancedSearch\\\"\\n\\tbeforeafter=\\\"$beforeafter$\\\"\\n\\tdefaultState=\\\"$:/core/ui/AdvancedSearch/System\\\"\\n\\tactions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<>/>\\\"/>\\n\\\\end\\n\\n\\\\define cancel-search-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\\\"\\n\\temptyMessage=\\\"<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />\\\">\\n\\t<$action-setfield $tiddler=\\\"$:/temp/advancedsearch/input\\\" text={{$:/temp/advancedsearch}}/>\\n\\t<$action-setfield $tiddler=\\\"$:/temp/advancedsearch/refresh\\\" text=\\\"yes\\\"/>\\n\\n<$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\".tc-advanced-search input\\\"/>\\n\\\\end\\n\\n\\\\define input-accept-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\"\\n\\temptyMessage=\\\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>\\\">\\n\\t<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>\\n\\n\\\\end\\n\\n\\\\define input-accept-variant-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\"\\n\\temptyMessage=\\\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/>\\\">\\n\\t<$list filter=\\\"[<__tiddler__>get[text]minlength[1]]\\\">\\n\\t\\t<$action-sendmessage $message=\\\"tm-edit-tiddler\\\" $param={{{ [<__tiddler__>get[text]] }}}/>\\n\\n\\\\end\\n\\n\\\\whitespace trim\\n\\n<>\\n\\n
\\n<$keyboard key=\\\"((input-tab-right))\\\" actions=<>>\\n<$keyboard key=\\\"((input-tab-left))\\\" actions=<>>\\n<$macrocall $name=\\\"keyboard-driven-input\\\"\\n\\ttiddler=\\\"$:/temp/advancedsearch/input\\\"\\n\\tstoreTitle=\\\"$:/temp/advancedsearch\\\"\\n\\trefreshTitle=\\\"$:/temp/advancedsearch/refresh\\\"\\n\\tselectionStateTitle=\\\"$:/temp/advancedsearch/selected-item\\\"\\n\\ttype=\\\"search\\\"\\n\\ttag=\\\"input\\\"\\n\\tfocus={{$:/config/Search/AutoFocus}}\\n\\tconfigTiddlerFilter=\\\"[[$:/core/ui/AdvancedSearch/System]]\\\"\\n\\tinputCancelActions=<>\\n\\tinputAcceptActions=<>\\n\\tinputAcceptVariantActions=<>\\n\\tfilterMinLength={{$:/config/Search/MinLength}}/>\\n\\n\\n \\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$button class=\\\"tc-btn-invisible\\\">\\n<>\\n{{$:/core/images/close-button}}\\n\\n\\n
\\n\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n\\n<$list filter=\\\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\\\" emptyMessage=\\\"
{{$:/language/Search/Search/TooShort}}
\\\" variable=\\\"listItem\\\">\\n\\n<$set name=\\\"resultCount\\\" value=\\\"<$count filter='[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]'/>\\\">\\n\\n
\\n\\n<>\\n\\n<$list filter=\\\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]\\\">\\naddsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>\\n<$transclude tiddler=\\\"$:/core/ui/ListItemTemplate\\\"/>\\n\\n\\n\\n
\\n\\n\\n\\n\\n\\n\\n\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"match\\\" text=\\\"\\\">\\n\\n\\n\"},\"$:/AdvancedSearch\":{\"title\":\"$:/AdvancedSearch\",\"icon\":\"$:/core/images/advanced-search-button\",\"color\":\"#bbb\",\"text\":\"\\\\whitespace trim\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\\\" default=\\\"$:/core/ui/AdvancedSearch/System\\\" actions=\\\"\\\"\\\"<$action-setfield $tiddler=\\\"$:/state/advancedsearch/currentTab\\\" text=<>/>\\\"\\\"\\\" explicitState=\\\"$:/state/tab--1498284803\\\"/>\\n
\\n\"},\"$:/core/ui/AlertTemplate\":{\"title\":\"$:/core/ui/AlertTemplate\",\"code-body\":\"yes\",\"text\":\"\\\\whitespace trim\\n
\\n
\\n<$button class=\\\"tc-btn-invisible\\\"><$action-deletetiddler $tiddler=<>/>{{$:/core/images/cancel-button}}\\n
\\n
\\n<$wikify name=\\\"format\\\" text=<>>\\n<$view field=\\\"component\\\"/>\\n - \\n<$view field=\\\"modified\\\" format=\\\"date\\\" template=<>/>\\n \\n<$reveal type=\\\"nomatch\\\" state=\\\"!!count\\\" text=\\\"\\\">\\n\\n({{$:/language/Count}}: <$view field=\\\"count\\\"/>)\\n\\n\\n\\n
\\n
\\n\\n<$transclude/>\\n\\n
\\n
\\n\"},\"$:/core/ui/BinaryWarning\":{\"title\":\"$:/core/ui/BinaryWarning\",\"text\":\"\\\\define lingo-base() $:/language/BinaryWarning/\\n<>\\n\"},\"$:/core/ui/VisibleTransclude\":{\"title\":\"$:/core/ui/VisibleTransclude\",\"text\":\"\\n\\\\widget $transclude()\\n\\n<$parameters tiddler=\\\"\\\" $$tiddler=\\\"\\\" mode=\\\"\\\" $$mode=\\\"\\\" $parseMode=\\\"@parseMode\\\" $params=\\\"@params\\\">\\n\\t\\n\\t<$let\\n\\t\\tmode={{{ [[$mode]is[variable]then<$mode>!is[blank]] :else[[mode]is[variable]then!is[blank]] :else[<@parseMode>] }}}\\n\\t\\toutputTag={{{ [match[inline]then[span]else[div]] }}}\\n\\t\\toutputColour={{{ [match[inline]then[green]else[red]] }}}\\n\\t>\\n\\t\\t\\n\\t\\t<$genesis $type=<> style=\\\"color:white;padding:4px;\\\" style.background=<>>\\n\\t\\t\\t<$genesis $type=<> style=\\\"display: inline-block;\\\">\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t<$list filter=\\\"[<@params>jsonindexes[]]\\\" emptyMessage=\\\"(none)\\\">\\n\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t\\t<$text text=<>/><$text text=\\\": \\\"/><$text text={{{ [<@params>jsonget] }}}/>\\n\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t<$genesis $type=<> style=\\\"background:white;color:black;padding:4px;\\\">\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t<$list filter=\\\"[<@params>jsonindexes[]] :filter[prefix[$]] +[limit[1]]\\\" variable=\\\"ignore\\\" emptyMessage=\\\"\\\"\\\"\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t<$genesis $type=\\\"$transclude\\\" $remappable=\\\"no\\\" $names=\\\"[<@params>jsonindexes[]]\\\" $values=\\\"[<@params>jsonindexes[]] :map[<@params>jsonget]\\\" recursionMarker=\\\"no\\\" mode=<> $$fillignore=\\\"yes\\\">\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t<$slot $name=\\\"ts-raw\\\"/>\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\\"\\\"\\\">\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t<$genesis $type=\\\"$transclude\\\" $remappable=\\\"no\\\" $names=\\\"[<@params>jsonindexes[]]\\\" $values=\\\"[<@params>jsonindexes[]] :map[<@params>jsonget]\\\" $$recursionMarker=\\\"no\\\" $$mode=<> $$fillignore=\\\"yes\\\">\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t<$slot $name=\\\"ts-raw\\\"/>\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t\\n\\n\\\\end\\n\"},\"$:/core/ui/Components/plugin-info\":{\"title\":\"$:/core/ui/Components/plugin-info\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Plugins/\\n\\n\\\\define popup-state-macro()\\n$(qualified-state)$-$(currentTiddler)$\\n\\\\end\\n\\n\\\\define tabs-state-macro()\\n$(popup-state)$-$(pluginInfoType)$\\n\\\\end\\n\\n\\\\define plugin-icon-title()\\n$(currentTiddler)$/icon\\n\\\\end\\n\\n\\\\define plugin-disable-title()\\n$:/config/Plugins/Disabled/$(currentTiddler)$\\n\\\\end\\n\\n\\\\define plugin-table-body(type,disabledMessage,default-popup-state)\\n\\\\whitespace trim\\n
\\n\\t<$reveal type=\\\"nomatch\\\" state=<> text=\\\"yes\\\" default=\\\"\\\"\\\"$default-popup-state$\\\"\\\"\\\">\\n\\t\\t<$button class=\\\"tc-btn-invisible tc-btn-dropdown\\\" set=<> setTo=\\\"yes\\\">\\n\\t\\t\\t{{$:/core/images/chevron-right}}\\n\\t\\t\\n\\t\\n\\t<$reveal type=\\\"match\\\" state=<> text=\\\"yes\\\" default=\\\"\\\"\\\"$default-popup-state$\\\"\\\"\\\">\\n\\t\\t<$button class=\\\"tc-btn-invisible tc-btn-dropdown\\\" set=<> setTo=\\\"no\\\">\\n\\t\\t\\t{{$:/core/images/chevron-down}}\\n\\t\\t\\n\\t\\n
\\n
\\n\\t<$transclude tiddler=<> subtiddler=<>>\\n\\t\\t<$transclude tiddler=\\\"$:/core/images/plugin-generic-$type$\\\"/>\\n\\t\\n
\\n
\\n\\t

\\n\\t\\t''<$text text={{{ [get[name]] ~[split[/]last[1]] }}}/>'': <$view field=\\\"description\\\"><$view field=\\\"title\\\"/> $disabledMessage$\\n\\t

\\n\\t

\\n\\t\\t<$view field=\\\"title\\\"/>\\n\\t

\\n\\t

\\n\\t\\t
<$view field=\\\"version\\\"/>
\\n\\t

\\n
\\n\\\\end\\n\\n\\\\define plugin-info(type,default-popup-state)\\n\\\\whitespace trim\\n<$set name=\\\"popup-state\\\" value=<>>\\n\\t<$reveal type=\\\"nomatch\\\" state=<> text=\\\"yes\\\">\\n\\t\\t<$link to={{!!title}} class=\\\"tc-plugin-info\\\">\\n\\t\\t\\t<>\\n\\t\\t\\n\\t\\n\\t<$reveal type=\\\"match\\\" state=<> text=\\\"yes\\\">\\n\\t\\t<$link to={{!!title}} class=\\\"tc-plugin-info tc-plugin-info-disabled\\\">\\n\\t\\t\\t<\\\">>\\n\\t\\t\\n\\t\\n\\t<$reveal type=\\\"match\\\" text=\\\"yes\\\" state=<> default=\\\"\\\"\\\"$default-popup-state$\\\"\\\"\\\">\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t<$list filter=\\\"[all[current]] -[[$:/core]]\\\">\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t<$reveal type=\\\"nomatch\\\" state=<> text=\\\"yes\\\">\\n\\t\\t\\t\\t\\t\\t\\t<$button set=<> setTo=\\\"yes\\\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\\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\\t<$reveal type=\\\"match\\\" state=<> text=\\\"yes\\\">\\n\\t\\t\\t\\t\\t\\t\\t<$button set=<> setTo=\\\"no\\\" tooltip={{$:/language/ControlPanel/Plugins/Enable Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\\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\\t<$set name=\\\"tabsList\\\" filter=\\\"[list[]] contents\\\">\\n\\t\\t\\t\\t\\t<$macrocall $name=\\\"tabs\\\" state=<> tabsList=<> default={{{ [enlist] }}} template=\\\"$:/core/ui/PluginInfo\\\"/>\\n\\t\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t
\\n\\t\\n\\n\\\\end\\n\\n<$macrocall $name=\\\"plugin-info\\\" type=<> default-popup-state=<>/>\\n\"},\"$:/core/ui/Components/tag-link\":{\"title\":\"$:/core/ui/Components/tag-link\",\"text\":\"\\\\whitespace trim\\n<$link>\\n<$set name=\\\"backgroundColor\\\" value={{{ [] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}>\\n> class=\\\"tc-tag-label\\\">\\n<$view field=\\\"title\\\" format=\\\"text\\\"/>\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Advanced\":{\"title\":\"$:/core/ui/ControlPanel/Advanced\",\"tags\":\"$:/tags/ControlPanel/Info\",\"caption\":\"{{$:/language/ControlPanel/Advanced/Caption}}\",\"text\":\"\\\\whitespace trim\\n{{$:/language/ControlPanel/Advanced/Hint}}\\n\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/TiddlerFields\\\" explicitState=\\\"$:/state/tab--959111941\\\"/>\\n
\\n\"},\"$:/core/ui/ControlPanel/Appearance\":{\"title\":\"$:/core/ui/ControlPanel/Appearance\",\"tags\":\"$:/tags/ControlPanel\",\"caption\":\"{{$:/language/ControlPanel/Appearance/Caption}}\",\"text\":\"\\\\whitespace trim\\n{{$:/language/ControlPanel/Appearance/Hint}}\\n\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Theme\\\" explicitState=\\\"$:/state/tab--1963855381\\\"/>\\n
\\n\"},\"$:/snippets/retain-story-ordering-button\":{\"title\":\"$:/snippets/retain-story-ordering-button\",\"text\":\"<$button set=\\\"$:/DefaultTiddlers\\\" setTo={{$:/config/ControlPanel/Basics/DefaultTiddlers/RetainStory}} ><>\"},\"$:/core/ui/ControlPanel/Basics\":{\"title\":\"$:/core/ui/ControlPanel/Basics\",\"tags\":\"$:/tags/ControlPanel/Info\",\"caption\":\"{{$:/language/ControlPanel/Basics/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Basics/\\n\\n\\\\define show-filter-count(filter)\\n\\\\whitespace trim\\n<$button class=\\\"tc-btn-invisible\\\">\\n<$action-setfield $tiddler=\\\"$:/temp/advancedsearch\\\" $value=\\\"\\\"\\\"$filter$\\\"\\\"\\\"/>\\n<$action-setfield $tiddler=\\\"$:/temp/advancedsearch/input\\\" $value=\\\"\\\"\\\"$filter$\\\"\\\"\\\"/>\\n<$action-setfield $tiddler=\\\"$:/temp/advancedsearch/refresh\\\" text=\\\"yes\\\"/>\\n<$action-setfield $tiddler=\\\"$:/state/tab--1498284803\\\" $value=\\\"$:/core/ui/AdvancedSearch/Filter\\\"/>\\n<$action-navigate $to=\\\"$:/AdvancedSearch\\\"/>\\n<$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\".tc-advanced-search input\\\"/>\\n''<$count filter=\\\"\\\"\\\"$filter$\\\"\\\"\\\"/>''\\n \\n{{$:/core/images/advanced-search-button}}\\n\\n\\\\end\\n\\\\whitespace trim\\n\\n|tc-max-width tc-edit-max-width|k\\n|<> |''<>'' |\\n|<$link to=\\\"$:/SiteTitle\\\"><> |<$edit-text tiddler=\\\"$:/SiteTitle\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<$link to=\\\"$:/SiteSubtitle\\\"><> |<$edit-text tiddler=\\\"$:/SiteSubtitle\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<$link to=\\\"$:/status/UserName\\\"><> |<$edit-text tiddler=\\\"$:/status/UserName\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<$link to=\\\"$:/config/AnimationDuration\\\"><> |<$edit-text tiddler=\\\"$:/config/AnimationDuration\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<$link to=\\\"$:/DefaultTiddlers\\\"><> |<>
<$edit class=\\\"tc-edit-texteditor\\\" tiddler=\\\"$:/DefaultTiddlers\\\" autoHeight=\\\"yes\\\"/>
//<>// |\\n|<$link to=\\\"$:/language/DefaultNewTiddlerTitle\\\"><> |<$edit-text tiddler=\\\"$:/language/DefaultNewTiddlerTitle\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<$link to=\\\"$:/config/NewJournal/Title\\\"><> |<$edit-text tiddler=\\\"$:/config/NewJournal/Title\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<$link to=\\\"$:/config/NewJournal/Text\\\"><> |<$edit tiddler=\\\"$:/config/NewJournal/Text\\\" class=\\\"tc-edit-texteditor\\\" default=\\\"\\\" autoHeight=\\\"yes\\\"/> |\\n|<$link to=\\\"$:/config/NewTiddler/Tags\\\"><> |<$vars currentTiddler=\\\"$:/config/NewTiddler/Tags\\\" tagField=\\\"text\\\">{{||$:/core/ui/EditTemplate/tags}}<$list filter=\\\"[tags[]] +[limit[1]]\\\" variable=\\\"ignore\\\"><$button tooltip={{$:/language/ControlPanel/Basics/RemoveTags/Hint}}><><$action-listops $tiddler=<> $field=\\\"text\\\" $subfilter={{{ [get[tags]] }}}/><$action-setfield $tiddler=<> tags=\\\"\\\"/> |\\n|<$link to=\\\"$:/config/NewJournal/Tags\\\"><> |<$vars currentTiddler=\\\"$:/config/NewJournal/Tags\\\" tagField=\\\"text\\\">{{||$:/core/ui/EditTemplate/tags}}<$list filter=\\\"[tags[]] +[limit[1]]\\\" variable=\\\"ignore\\\"><$button tooltip={{$:/language/ControlPanel/Basics/RemoveTags/Hint}}><><$action-listops $tiddler=<> $field=\\\"text\\\" $subfilter={{{ [get[tags]] }}}/><$action-setfield $tiddler=<> tags=\\\"\\\"/> |\\n|<$link to=\\\"$:/config/AutoFocus\\\"><> |{{$:/snippets/minifocusswitcher}} |\\n|<> |{{$:/snippets/minilanguageswitcher}} |\\n|<> |<> |\\n|<> |<> |\\n|<> |<> |\\n|<> |<> |\\n|<> |<> |\\n\"},\"$:/core/ui/ControlPanel/EditTemplateBody\":{\"title\":\"$:/core/ui/ControlPanel/EditTemplateBody\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/EditTemplateBody/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/EditTemplateBody/\\n\\n<>\\n\\n{{$:/tags/EditTemplateBodyFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/FieldEditor\":{\"title\":\"$:/core/ui/ControlPanel/FieldEditor\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/FieldEditor/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/FieldEditor/\\n\\n<>\\n\\n{{$:/tags/FieldEditorFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/StoryTiddler\":{\"title\":\"$:/core/ui/ControlPanel/StoryTiddler\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/StoryTiddler/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/StoryTiddler/\\n\\n<>\\n\\n{{$:/tags/StoryTiddlerTemplateFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/TiddlerColour\":{\"title\":\"$:/core/ui/ControlPanel/TiddlerColour\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/TiddlerColour/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/TiddlerColour/\\n\\n<>\\n\\n{{$:/tags/TiddlerColourFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/TiddlerIcon\":{\"title\":\"$:/core/ui/ControlPanel/TiddlerIcon\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/TiddlerIcon/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/TiddlerIcon/\\n\\n<>\\n\\n{{$:/tags/TiddlerIconFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/ViewTemplateBody\":{\"title\":\"$:/core/ui/ControlPanel/ViewTemplateBody\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/ViewTemplateBody/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/ViewTemplateBody/\\n\\n<>\\n\\n{{$:/tags/ViewTemplateBodyFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/ViewTemplateTitle\":{\"title\":\"$:/core/ui/ControlPanel/ViewTemplateTitle\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/ViewTemplateTitle/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/ViewTemplateTitle/\\n\\n<>\\n\\n{{$:/tags/ViewTemplateTitleFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/Cascades\":{\"title\":\"$:/core/ui/ControlPanel/Cascades\",\"tags\":\"$:/tags/ControlPanel/Advanced\",\"caption\":\"{{$:/language/ControlPanel/Cascades/Caption}}\",\"text\":\"\\\\whitespace trim\\n{{$:/language/ControlPanel/Cascades/Hint}}\\n\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Cascades]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/StoryTiddler\\\"/>\\n
\\n\"},\"$:/core/ui/ControlPanel/EditorTypes\":{\"title\":\"$:/core/ui/ControlPanel/EditorTypes\",\"tags\":\"$:/tags/ControlPanel/Advanced\",\"caption\":\"{{$:/language/ControlPanel/EditorTypes/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/EditorTypes/\\n\\\\whitespace trim\\n\\n<>\\n\\n\\n\\n\\n\\n\\n\\n<$list filter=\\\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\\\">\\n\\n\\n\\n\\n\\n\\n
<><>
\\n<$link>\\n<$list filter=\\\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\\\">\\n<$text text={{!!title}}/>\\n\\n\\n\\n<$view field=\\\"text\\\"/>\\n
\\n\"},\"$:/core/ui/ControlPanel/Info\":{\"title\":\"$:/core/ui/ControlPanel/Info\",\"tags\":\"$:/tags/ControlPanel\",\"caption\":\"{{$:/language/ControlPanel/Info/Caption}}\",\"text\":\"\\\\whitespace trim\\n{{$:/language/ControlPanel/Info/Hint}}\\n\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Basics\\\" explicitState=\\\"$:/state/tab--2112689675\\\"/>\\n
\\n\"},\"$:/core/ui/ControlPanel/KeyboardShortcuts\":{\"title\":\"$:/core/ui/ControlPanel/KeyboardShortcuts\",\"tags\":\"$:/tags/ControlPanel\",\"caption\":\"{{$:/language/ControlPanel/KeyboardShortcuts/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/\\n\\n\\\\define new-shortcut(title)\\n\\\\whitespace trim\\n
\\n<$edit-shortcut tiddler=\\\"$title$\\\" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} focus=\\\"true\\\" style=\\\"width:auto;\\\"/>\\n \\n<$button>\\n<>\\n<$action-listops\\n\\t$tiddler=\\\"$(shortcutTitle)$\\\"\\n\\t$field=\\\"text\\\"\\n\\t$subfilter=\\\"[{$title$}]\\\"\\n/>\\n<$action-deletetiddler\\n\\t$tiddler=\\\"$title$\\\"\\n/>\\n\\n
\\n\\\\end\\n\\n\\\\define shortcut-list-item(caption)\\n\\\\whitespace trim\\n\\n\\n\\n<>\\n\\n\\n
\\n<$button popup=<> class=\\\"tc-btn-invisible\\\">\\n{{$:/core/images/edit-button}}\\n\\n \\n<$macrocall $name=\\\"displayshortcuts\\\" $output=\\\"text/html\\\" shortcuts={{$(shortcutTitle)$}} prefix=\\\"\\\" separator=\\\" \\\" suffix=\\\"\\\"/>\\n\\n<$reveal state=<> type=\\\"popup\\\" position=\\\"below\\\" animate=\\\"yes\\\">\\n
\\n
\\n<$list\\n\\tfilter=\\\"[list[$(shortcutTitle)$!!text]sort[title]]\\\"\\n\\tvariable=\\\"shortcut\\\"\\n\\temptyMessage=\\\"
//<>//
\\\">\\n
\\n<$button class=\\\"tc-btn-invisible\\\" tooltip={{$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint}}>\\n<$action-listops\\n\\t$tiddler=\\\"$(shortcutTitle)$\\\"\\n\\t$field=\\\"text\\\"\\n\\t$subfilter=\\\"+[remove]\\\"\\n/>\\n{{$:/core/images/close-button}}\\n\\n \\n\\n<$macrocall $name=\\\"displayshortcuts\\\" $output=\\\"text/html\\\" shortcuts=<>/>\\n\\n
\\n\\n
\\n<$macrocall $name=\\\"new-shortcut\\\" title=<>/>\\n
\\n
\\n\\n
\\n\\n\\\\end\\n\\n\\\\define shortcut-list(caption,prefix)\\n\\\\whitespace trim\\n\\n<$list filter=\\\"[[$prefix$$(shortcutName)$]]\\\" variable=\\\"shortcutTitle\\\">\\n<>\\n\\n\\n\\\\end\\n\\n\\\\define shortcut-editor()\\n\\\\whitespace trim\\n<> \\n<>\\n<>\\n<>\\n<>\\n<>\\n<>\\n\\\\end\\n\\n\\\\define shortcut-preview()\\n<$macrocall $name=\\\"displayshortcuts\\\" $output=\\\"text/html\\\" shortcuts={{$(shortcutPrefix)$$(shortcutName)$}} prefix=\\\"\\\" separator=\\\" \\\" suffix=\\\"\\\"/>\\n\\\\end\\n\\n\\\\define shortcut-item-inner()\\n\\\\whitespace trim\\n\\n\\n<$reveal type=\\\"nomatch\\\" state=<> text=\\\"open\\\">\\n<$button class=\\\"tc-btn-invisible\\\">\\n<$action-setfield\\n\\t$tiddler=<>\\n\\t$value=\\\"open\\\"\\n/>\\n{{$:/core/images/right-arrow}}\\n\\n\\n<$reveal type=\\\"match\\\" state=<> text=\\\"open\\\">\\n<$button class=\\\"tc-btn-invisible\\\">\\n<$action-setfield\\n\\t$tiddler=<>\\n\\t$value=\\\"close\\\"\\n/>\\n{{$:/core/images/down-arrow}}\\n\\n\\n \\n''<$text text=<>/>''\\n\\n\\n<$transclude tiddler=\\\"$:/config/ShortcutInfo/$(shortcutName)$\\\"/>\\n\\n\\n<$list filter=\\\"$:/config/shortcuts/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-linux/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-windows/ $:/config/shortcuts-not-windows/\\\" variable=\\\"shortcutPrefix\\\">\\n<>\\n\\n\\n\\n<$set name=\\\"dropdownState\\\" value={{$(dropdownStateTitle)$}}>\\n<$list filter=\\\"[match[open]]\\\" variable=\\\"listItem\\\">\\n<>\\n\\n\\n\\\\end\\n\\n\\\\define shortcut-item()\\n\\\\whitespace trim\\n<$set name=\\\"dropdownStateTitle\\\" value=<>>\\n<>\\n\\n\\\\end\\n\\\\whitespace trim\\n\\n\\n\\n<$list filter=\\\"[all[shadows+tiddlers]removeprefix[$:/config/ShortcutInfo/]]\\\" variable=\\\"shortcutName\\\">\\n<>\\n\\n\\n
\\n\"},\"$:/core/ui/ControlPanel/LoadedModules\":{\"title\":\"$:/core/ui/ControlPanel/LoadedModules\",\"tags\":\"$:/tags/ControlPanel/Advanced\",\"caption\":\"{{$:/language/ControlPanel/LoadedModules/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/\\n<>\\n\\n{{$:/snippets/modules}}\\n\"},\"$:/core/ui/ControlPanel/Modals/AddPlugins\":{\"title\":\"$:/core/ui/ControlPanel/Modals/AddPlugins\",\"subtitle\":\"{{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}\",\"text\":\"\\\\define install-plugin-actions()\\n\\\\whitespace trim\\n<$action-sendmessage $message=\\\"tm-load-plugin-from-library\\\" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>\\n<$set name=\\\"url\\\" value={{!!url}}>\\n<$set name=\\\"currentTiddler\\\" value=<>>\\n<$list filter=\\\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[name]]\\\" variable=\\\"dependency\\\">\\n<$action-sendmessage $message=\\\"tm-load-plugin-from-library\\\" url=<> title=<>/>\\n\\n\\n\\n\\\\end\\n\\n\\\\define install-plugin-button()\\n\\\\whitespace trim\\n
\\n<$set name=\\\"libraryVersion\\\" value={{{ [get[version]] }}}>\\n<$set name=\\\"installedVersion\\\" value={{{ [get[original-title]get[version]] }}}>\\n<$set name=\\\"reinstall-type\\\" value={{{ [compare:version:eqthen[tc-reinstall]] [compare:version:gtthen[tc-reinstall-upgrade]] [compare:version:ltthen[tc-reinstall-downgrade]] }}}>\\n<$button actions=<> class={{{ [get[original-title]has[version]then] tc-btn-invisible tc-install-plugin +[join[ ]] }}}>\\n{{$:/core/images/download-button}}\\n \\n<$list filter=\\\"[get[original-title]get[version]]\\\" variable=\\\"ignore\\\" emptyMessage=\\\"{{$:/language/ControlPanel/Plugins/Install/Caption}}\\\">\\n<$list filter=\\\"[compare:version:gt]\\\" variable=\\\"ignore\\\" emptyMessage=\\\"\\n\\\\whitespace trim\\n<$list filter='[compare:version:lt]' variable='ignore' emptyMessage='{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}'>\\n{{$:/language/ControlPanel/Plugins/Downgrade/Caption}}\\n\\n\\\">\\n{{$:/language/ControlPanel/Plugins/Update/Caption}}\\n\\n\\n\\n
\\n
\\n<$reveal stateTitle=<> stateField=\\\"requires-reload\\\" type=\\\"match\\\" text=\\\"yes\\\">{{$:/language/ControlPanel/Plugins/PluginWillRequireReload}}\\n\\n\\n\\n
\\n\\\\end\\n\\n\\\\define popup-state-macro()\\n$:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$\\n\\\\end\\n\\n\\\\define display-plugin-info(type)\\n\\\\whitespace trim\\n<$set name=\\\"popup-state\\\" value=<>>\\n
\\n
\\n<$reveal type=\\\"nomatch\\\" state=<> text=\\\"yes\\\">\\n<$button class=\\\"tc-btn-invisible tc-btn-dropdown\\\" set=<> setTo=\\\"yes\\\">\\n{{$:/core/images/chevron-right}}\\n\\n\\n<$reveal type=\\\"match\\\" state=<> text=\\\"yes\\\">\\n<$button class=\\\"tc-btn-invisible tc-btn-dropdown\\\" set=<> setTo=\\\"no\\\">\\n{{$:/core/images/chevron-down}}\\n\\n\\n
\\n
\\n<$list filter=\\\"[has[icon]]\\\" emptyMessage=\\\"\\\"\\\"<$transclude tiddler=\\\"$:/core/images/plugin-generic-$type$\\\"/>\\\"\\\"\\\">\\n\\n\\n
\\n
\\n

<$text text={{{ [get[name]] ~[get[original-title]split[/]last[1]] }}}/>:\\n \\n<$view tiddler=<> field=\\\"description\\\"/>

\\n

<$view tiddler=<> field=\\\"original-title\\\"/>

\\n
<$view tiddler=<> field=\\\"version\\\"/>
\\n<$list filter=\\\"[get[original-title]get[version]]\\\" variable=\\\"installedVersion\\\">
{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}
\\n
\\n
\\n<>\\n
\\n
\\n<$set name=\\\"original-title\\\" value={{{ [get[original-title]] }}}>\\n<$reveal type=\\\"match\\\" text=\\\"yes\\\" state=<>>\\n
\\n<$list filter=\\\"[enlist{!!dependents}] [get[parent-plugin]] +[limit[1]] ~[get[original-title]!is[tiddler]]\\\" variable=\\\"ignore\\\">\\n
\\n<$list filter=\\\"[get[original-title]!is[tiddler]]\\\">\\n{{$:/language/ControlPanel/Plugins/NotInstalled/Hint}}\\n\\n<$set name=\\\"currentTiddler\\\" value=<>>\\n<$list filter=\\\"[enlist{!!dependents}] [get[parent-plugin]] +[limit[1]]\\\" variable=\\\"ignore\\\">\\n
\\n{{$:/language/ControlPanel/Plugins/AlsoRequires}} \\n<$list filter=\\\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[name]]\\\" variable=\\\"dependency\\\">\\n<$text text=<>/> \\n\\n
\\n\\n\\n
\\n\\n
\\n<$transclude tiddler=<> field=\\\"readme\\\" mode=\\\"block\\\"/>\\n
\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-pluginlimit[1]]\\\" variable=\\\"ignore\\\">\\n
\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-pluginsort[name]]\\\" variable=\\\"assetInfo\\\">\\n<>\\n\\n
\\n\\n
\\n\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-pluginlimit[1]]\\\" variable=\\\"ignore\\\">\\n<$reveal type=\\\"nomatch\\\" text=\\\"yes\\\" state=<> tag=\\\"div\\\" class=\\\"tc-plugin-info-sub-plugin-indicator\\\">\\n<$wikify name=\\\"count\\\" text=\\\"\\\"\\\"<$count filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin]\\\"/>\\\"\\\"\\\">\\n<$button class=\\\"tc-btn-invisible\\\" set=<> setTo=\\\"yes\\\">\\n{{$:/language/ControlPanel/Plugins/SubPluginPrompt}}\\n\\n\\n\\n\\n\\n\\n\\\\end\\n\\n\\\\define load-plugin-library-button()\\n\\\\whitespace trim\\n<$list filter=\\\"[get[enabled]else[yes]match[yes]]\\\" variable=\\\"ignore\\\">\\n<$button class=\\\"tc-btn-big-green\\\">\\n<$action-sendmessage $message=\\\"tm-load-plugin-library\\\" url={{!!url}} infoTitlePrefix=\\\"$:/temp/RemoteAssetInfo/\\\"/>\\n{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Plugins/OpenPluginLibrary}}\\n\\n\\n\\\\end\\n\\n\\\\define display-server-assets(type)\\n\\\\whitespace trim\\n{{$:/language/Search/Search}}:\\n \\n<$edit-text tiddler=\\\"\\\"\\\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\\\"\\\"\\\" default=\\\"\\\" type=\\\"search\\\" tag=\\\"input\\\"/>\\n \\n<$reveal state=\\\"\\\"\\\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\\\"\\\"\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$button class=\\\"tc-btn-invisible\\\">\\n<$action-setfield $tiddler=\\\"\\\"\\\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\\\"\\\"\\\" $field=\\\"text\\\" $value=\\\"\\\"/>\\n{{$:/core/images/close-button}}\\n\\n\\n
\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search:author,description,original-title,readme,title{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[name]]\\\" variable=\\\"assetInfo\\\">\\n<$list filter=\\\"[[$:/temp/RemoteAssetSearch/$(currentTiddler)$]has[text]] ~[!has[parent-plugin]]\\\" variable=\\\"ignore\\\">\\n<>\\n\\n\\n
\\n\\\\end\\n\\n\\\\define display-server-connection()\\n\\\\whitespace trim\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/ServerConnection]suffix{!!url}]\\\" variable=\\\"connectionTiddler\\\" emptyMessage=<>>\\n\\n<$set name=\\\"transclusion\\\" value=<>>\\n\\n<>\\n\\n\\n\\n\\n\\\\end\\n\\n\\\\define close-library-button()\\n\\\\whitespace trim\\n<$reveal type='nomatch' state='$:/temp/ServerConnection/$(PluginLibraryURL)$' text=''>\\n<$button class='tc-btn-big-green'>\\n<$action-sendmessage $message=\\\"tm-unload-plugin-library\\\" url={{!!url}}/>\\n{{$:/core/images/chevron-left}} {{$:/language/ControlPanel/Plugins/ClosePluginLibrary}}\\n<$action-deletetiddler $filter=\\\"[prefix[$:/temp/ServerConnection/$(PluginLibraryURL)$]][prefix[$:/temp/RemoteAssetInfo/$(PluginLibraryURL)$]]\\\"/>\\n\\n\\n\\\\end\\n\\n\\\\define plugin-library-listing()\\n\\\\whitespace trim\\n
\\n<$set name=\\\"defaultTab\\\" value={{{ [all[tiddlers+shadows]tag[$:/tags/PluginLibrary]] }}}>\\n
\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\\\">\\n<$button set=<> setTo=<> default=<> selectedClass=\\\"tc-tab-selected\\\">\\n<$set name=\\\"tv-wikilinks\\\" value=\\\"no\\\">\\n<$transclude field=\\\"caption\\\"/>\\n\\n\\n\\n
\\n
\\n
\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\\\">\\n<$reveal type=\\\"match\\\" state=<> text=<> default=<>>\\n

<$link><$transclude field=\\\"caption\\\"><$view field=\\\"title\\\"/>

\\n//<$view field=\\\"url\\\"/>//\\n<$transclude mode=\\\"block\\\"/>\\n<$set name=PluginLibraryURL value={{!!url}}>\\n<>\\n\\n \\n<>\\n\\n\\n
\\n\\n
\\n\\\\end\\n\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n\\\\whitespace trim\\n\\n
\\n<>\\n
\\n\"},\"$:/core/ui/ControlPanel/Palette\":{\"title\":\"$:/core/ui/ControlPanel/Palette\",\"tags\":\"$:/tags/ControlPanel/Appearance\",\"caption\":\"{{$:/language/ControlPanel/Palette/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Palette/\\n\\n{{$:/snippets/paletteswitcher}}\\n\\n<$reveal type=\\\"nomatch\\\" state=\\\"$:/state/ShowPaletteEditor\\\" text=\\\"yes\\\">\\n\\n<$button set=\\\"$:/state/ShowPaletteEditor\\\" setTo=\\\"yes\\\"><>\\n\\n\\n\\n<$reveal type=\\\"match\\\" state=\\\"$:/state/ShowPaletteEditor\\\" text=\\\"yes\\\">\\n\\n<$button set=\\\"$:/state/ShowPaletteEditor\\\" setTo=\\\"no\\\"><>\\n{{$:/PaletteManager}}\\n\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Parsing\":{\"title\":\"$:/core/ui/ControlPanel/Parsing\",\"tags\":\"$:/tags/ControlPanel/Advanced\",\"caption\":\"{{$:/language/ControlPanel/Parsing/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Parsing/\\n\\n\\\\define toggle(Type)\\n\\\\whitespace trim\\n<$checkbox\\ntiddler=\\\"\\\"\\\"$:/config/WikiParserRules/$Type$/$(rule)$\\\"\\\"\\\"\\nfield=\\\"text\\\"\\nchecked=\\\"enable\\\"\\nunchecked=\\\"disable\\\"\\ndefault=\\\"enable\\\">\\n<>\\n\\n\\\\end\\n\\n\\\\define rules(type,Type)\\n\\\\whitespace trim\\n<$list filter=\\\"[wikiparserrules[$type$]]\\\" variable=\\\"rule\\\">\\n
<>
\\n\\n\\\\end\\n\\\\whitespace trim\\n\\n<>\\n\\n
\\n
<>
\\n<>\\n
<>
\\n<>\\n
<>
\\n<>\\n
\"},\"$:/core/ui/ControlPanel/Plugins/Add/Languages\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/Add/Languages\",\"caption\":\"{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[language]]\\\"/>)\",\"text\":\"<>\\n\"},\"$:/core/ui/ControlPanel/Plugins/Add/Plugins\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/Add/Plugins\",\"caption\":\"{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[plugin]]\\\"/>)\",\"text\":\"<>\\n\"},\"$:/core/ui/ControlPanel/Plugins/Add/Themes\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/Add/Themes\",\"caption\":\"{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[theme]]\\\"/>)\",\"text\":\"<>\\n\"},\"$:/core/ui/ControlPanel/Plugins/Add/Updates\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/Add/Updates\",\"caption\":\"<$importvariables filter=\\\"$:/core/ui/ControlPanel/Plugins/Add/Updates\\\">{{$:/language/ControlPanel/Plugins/Updates/Caption}} (<>)\",\"text\":\"\\\\define each-updateable-plugin(body)\\n\\\\whitespace trim\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}sort[title]]\\\" variable=\\\"assetInfo\\\">\\n<$set name=\\\"libraryVersion\\\" value={{{ [get[version]] }}}>\\n<$list filter=\\\"[get[original-title]has[version]!version]\\\" variable=\\\"ignore\\\">\\n<$set name=\\\"installedVersion\\\" value={{{ [get[original-title]get[version]] }}}>\\n<$list filter=\\\"[!match]\\\" variable=\\\"ignore\\\">\\n$body$\\n\\n\\n\\n\\n\\n\\\\end\\n\\n\\\\define update-all-actions()\\n<$macrocall $name=\\\"each-updateable-plugin\\\" body=\\\"\\\"\\\"\\n<>\\n\\\"\\\"\\\"/>\\n\\\\end\\n\\n\\\\define update-count()\\n<$wikify name=\\\"count-filter\\\" text=<>/>]]\\\">>><$count filter=<>/>\\n\\\\end\\n\\n\\\\whitespace trim\\n<$button actions=<> class=\\\"tc-btn-invisible tc-install-plugin tc-reinstall-upgrade\\\">\\n{{$:/core/images/download-button}}\\n \\n{{||$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption}}\\n\\n\\n
\\n<$macrocall $name=\\\"each-updateable-plugin\\\" body=\\\"\\\"\\\"\\n<$macrocall $name=\\\"display-plugin-info\\\" type={{{ [get[original-plugin-type]] }}}/>\\n\\\"\\\"\\\"/>\\n
\\n\"},\"$:/core/ui/ControlPanel/Plugins/AddPlugins\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/AddPlugins\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Plugins/\\n\\\\whitespace trim\\n\\n<$button message=\\\"tm-modal\\\" param=\\\"$:/core/ui/ControlPanel/Modals/AddPlugins\\\" tooltip={{$:/language/ControlPanel/Plugins/Add/Hint}} class=\\\"tc-btn-big-green tc-primary-btn\\\">\\n{{$:/core/images/download-button}}\\n \\n<>\\n\\n\"},\"$:/core/ui/ControlPanel/Plugins/Installed/Languages\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/Installed/Languages\",\"tags\":\"$:/tags/ControlPanel/Plugins\",\"caption\":\"{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\\\"[!has[draft.of]plugin-type[language]]\\\"/>)\",\"text\":\"<>\\n\"},\"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\",\"tags\":\"$:/tags/ControlPanel/Plugins\",\"caption\":\"{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\\\"[!has[draft.of]plugin-type[plugin]]\\\"/>)\",\"text\":\"<>\\n\"},\"$:/core/ui/ControlPanel/Plugins/Installed/Themes\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/Installed/Themes\",\"tags\":\"$:/tags/ControlPanel/Plugins\",\"caption\":\"{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\\\"[!has[draft.of]plugin-type[theme]]\\\"/>)\",\"text\":\"<>\\n\"},\"$:/core/ui/ControlPanel/Plugins\":{\"title\":\"$:/core/ui/ControlPanel/Plugins\",\"tags\":\"$:/tags/ControlPanel\",\"caption\":\"{{$:/language/ControlPanel/Plugins/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Plugins/\\n\\n\\\\define plugin-table(type)\\n\\\\whitespace trim\\n<$set name=\\\"plugin-type\\\" value=\\\"\\\"\\\"$type$\\\"\\\"\\\">\\n<$set name=\\\"qualified-state\\\" value=<>>\\n<$list filter=\\\"[!has[draft.of]plugin-type[$type$]sort[name]]\\\" emptyMessage=<> template=\\\"$:/core/ui/Components/plugin-info\\\"/>\\n\\n\\n\\\\end\\n\\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\\n\\n<>\\n\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[tiddlers+shadows]tag[$:/tags/ControlPanel/Plugins]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\\\" explicitState=\\\"$:/state/tab--86143343\\\"/>\\n\"},\"$:/core/ui/ControlPanel/Saving/DownloadSaver\":{\"title\":\"$:/core/ui/ControlPanel/Saving/DownloadSaver\",\"tags\":\"$:/tags/ControlPanel/Saving\",\"caption\":\"{{$:/language/ControlPanel/Saving/DownloadSaver/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Saving/DownloadSaver/\\n\\n<>\\n\\n!! <$link to=\\\"$:/config/DownloadSaver/AutoSave\\\"><>\\n\\n<$checkbox tiddler=\\\"$:/config/DownloadSaver/AutoSave\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"no\\\"> <> \\n\"},\"$:/core/ui/ControlPanel/Saving/General\":{\"title\":\"$:/core/ui/ControlPanel/Saving/General\",\"tags\":\"$:/tags/ControlPanel/Saving\",\"caption\":\"{{$:/language/ControlPanel/Saving/General/Caption}}\",\"list-before\":\"\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/\\n\\n{{$:/language/ControlPanel/Saving/General/Hint}}\\n\\n!! <$link to=\\\"$:/config/AutoSave\\\"><>\\n\\n<>\\n\\n<$radio tiddler=\\\"$:/config/AutoSave\\\" value=\\\"yes\\\"> <> \\n\\n<$radio tiddler=\\\"$:/config/AutoSave\\\" value=\\\"no\\\"> <> \\n\"},\"$:/core/ui/ControlPanel/Saving/GitHub\":{\"title\":\"$:/core/ui/ControlPanel/Saving/GitHub\",\"tags\":\"$:/tags/ControlPanel/Saving\",\"caption\":\"{{$:/language/ControlPanel/Saving/GitService/GitHub/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\\n\\\\define service-name() ~GitHub\\n\\n<>\\n\\n|<> |<$edit-text tiddler=\\\"$:/GitHub/Username\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$password name=\\\"github\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitHub/Repo\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitHub/Branch\\\" default=\\\"main\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitHub/Path\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitHub/Filename\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitHub/ServerURL\\\" default=\\\"https://api.github.com\\\" tag=\\\"input\\\"/> |\"},\"$:/core/ui/ControlPanel/Saving/GitLab\":{\"title\":\"$:/core/ui/ControlPanel/Saving/GitLab\",\"tags\":\"$:/tags/ControlPanel/Saving\",\"caption\":\"{{$:/language/ControlPanel/Saving/GitService/GitLab/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\\n\\\\define service-name() ~GitLab\\n\\n<>\\n\\n|<> |<$edit-text tiddler=\\\"$:/GitLab/Username\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$password name=\\\"gitlab\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitLab/Repo\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitLab/Branch\\\" default=\\\"master\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitLab/Path\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitLab/Filename\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitLab/ServerURL\\\" default=\\\"https://gitlab.com/api/v4\\\" tag=\\\"input\\\"/> |\"},\"$:/core/ui/ControlPanel/Saving/TiddlySpot\":{\"title\":\"$:/core/ui/ControlPanel/Saving/TiddlySpot\",\"tags\":\"$:/tags/ControlPanel/Saving\",\"caption\":\"{{$:/language/ControlPanel/Saving/TiddlySpot/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Saving/TiddlySpot/\\n\\n\\\\define siteURL(path)\\nhttp://$(userName)$.tiddlyspot.com/$path$/\\n\\\\end\\n\\\\define siteLink(path)\\n\\\\whitespace trim\\n<$reveal type=\\\"nomatch\\\" state=\\\"$:/UploadName\\\" text=\\\"\\\">\\n<$set name=\\\"userName\\\" value={{$:/UploadName}}>\\n<$reveal type=\\\"match\\\" state=\\\"$:/UploadURL\\\" text=\\\"\\\">\\n<>\\n\\n<$reveal type=\\\"nomatch\\\" state=\\\"$:/UploadURL\\\" text=\\\"\\\">\\n<$macrocall $name=resolvePath source={{$:/UploadBackupDir}} root={{$:/UploadURL}}/>\\n\\n\\n\\n\\\\end\\n\\n
\\n\\n<>\\n\\n
\\n\\n<>\\n\\n|<> |<$edit-text tiddler=\\\"$:/UploadName\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$password name=\\\"upload\\\"/> |\\n\\n''<>''\\n\\n|<> |<$edit-text tiddler=\\\"$:/UploadURL\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/UploadFilename\\\" default=\\\"index.html\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/UploadDir\\\" default=\\\".\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/UploadBackupDir\\\" default=\\\".\\\" tag=\\\"input\\\"/> |\\n\\n<>\\n\"},\"$:/core/ui/ControlPanel/Saving/Gitea\":{\"title\":\"$:/core/ui/ControlPanel/Saving/Gitea\",\"tags\":\"$:/tags/ControlPanel/Saving\",\"caption\":\"{{$:/language/ControlPanel/Saving/GitService/Gitea/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\\n\\\\define service-name() ~Gitea\\n\\n<>\\n\\n|<> |<$edit-text tiddler=\\\"$:/Gitea/Username\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$password name=\\\"Gitea\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/Gitea/Repo\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/Gitea/Branch\\\" default=\\\"master\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/Gitea/Path\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/Gitea/Filename\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/Gitea/ServerURL\\\" default=\\\"https://gitea/api/v1\\\" tag=\\\"input\\\"/> |\\n\"},\"$:/core/ui/ControlPanel/Saving\":{\"title\":\"$:/core/ui/ControlPanel/Saving\",\"tags\":\"$:/tags/ControlPanel\",\"caption\":\"{{$:/language/ControlPanel/Saving/Caption}}\",\"text\":\"\\\\whitespace trim\\n{{$:/language/ControlPanel/Saving/Hint}}\\n\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Saving]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Saving/General\\\" explicitState=\\\"$:/state/tab-2065006209\\\"/>\\n
\\n\"},\"$:/core/buttonstyles/Borderless\":{\"title\":\"$:/core/buttonstyles/Borderless\",\"tags\":\"$:/tags/ToolbarButtonStyle\",\"caption\":\"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless}}\",\"text\":\"tc-btn-invisible\"},\"$:/core/buttonstyles/Boxed\":{\"title\":\"$:/core/buttonstyles/Boxed\",\"tags\":\"$:/tags/ToolbarButtonStyle\",\"caption\":\"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed}}\",\"text\":\"tc-btn-boxed\"},\"$:/core/buttonstyles/Rounded\":{\"title\":\"$:/core/buttonstyles/Rounded\",\"tags\":\"$:/tags/ToolbarButtonStyle\",\"caption\":\"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded}}\",\"text\":\"tc-btn-rounded\"},\"$:/core/ui/ControlPanel/Settings/CamelCase\":{\"title\":\"$:/core/ui/ControlPanel/Settings/CamelCase\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/CamelCase/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/CamelCase/\\n<>\\n\\n<$checkbox tiddler=\\\"$:/config/WikiParserRules/Inline/wikilink\\\" field=\\\"text\\\" checked=\\\"enable\\\" unchecked=\\\"disable\\\" default=\\\"enable\\\"> <$link to=\\\"$:/config/WikiParserRules/Inline/wikilink\\\"><> \\n\"},\"$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab\":{\"title\":\"$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab\",\"caption\":\"{{$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption}}\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/DefaultMoreSidebarTab/\\n\\\\whitespace trim\\n\\n<$link to=\\\"$:/config/DefaultMoreSidebarTab\\\"><>\\n\\n<$select tiddler=\\\"$:/config/DefaultMoreSidebarTab\\\">\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\\\">\\n\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/DefaultSidebarTab\":{\"title\":\"$:/core/ui/ControlPanel/Settings/DefaultSidebarTab\",\"caption\":\"{{$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption}}\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/DefaultSidebarTab/\\n\\\\whitespace trim\\n\\n<$link to=\\\"$:/config/DefaultSidebarTab\\\"><>\\n\\n<$select tiddler=\\\"$:/config/DefaultSidebarTab\\\">\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\\\">\\n\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/EditorToolbar\":{\"title\":\"$:/core/ui/ControlPanel/Settings/EditorToolbar\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/EditorToolbar/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/EditorToolbar/\\n<>\\n\\n<$checkbox tiddler=\\\"$:/config/TextEditor/EnableToolbar\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"yes\\\"> <$link to=\\\"$:/config/TextEditor/EnableToolbar\\\"><> \\n\\n\"},\"$:/core/ui/ControlPanel/Settings/InfoPanelMode\":{\"title\":\"$:/core/ui/ControlPanel/Settings/InfoPanelMode\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/InfoPanelMode/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/InfoPanelMode/\\n<$link to=\\\"$:/config/TiddlerInfo/Mode\\\"><>\\n\\n<$radio tiddler=\\\"$:/config/TiddlerInfo/Mode\\\" value=\\\"popup\\\"> <> \\n\\n<$radio tiddler=\\\"$:/config/TiddlerInfo/Mode\\\" value=\\\"sticky\\\"> <> \\n\"},\"$:/core/ui/ControlPanel/Settings/LinkToBehaviour\":{\"title\":\"$:/core/ui/ControlPanel/Settings/LinkToBehaviour\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/LinkToBehaviour/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/LinkToBehaviour/\\n\\\\whitespace trim\\n\\n<$link to=\\\"$:/config/Navigation/openLinkFromInsideRiver\\\"><>\\n\\n<$select tiddler=\\\"$:/config/Navigation/openLinkFromInsideRiver\\\">\\n \\n \\n \\n \\n\\n\\n<$link to=\\\"$:/config/Navigation/openLinkFromOutsideRiver\\\"><>\\n\\n<$select tiddler=\\\"$:/config/Navigation/openLinkFromOutsideRiver\\\">\\n \\n \\n\\n\"},\"$:/core/ui/ControlPanel/Settings/MissingLinks\":{\"title\":\"$:/core/ui/ControlPanel/Settings/MissingLinks\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/MissingLinks/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/MissingLinks/\\n<>\\n\\n<$checkbox tiddler=\\\"$:/config/MissingLinks\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"yes\\\"> <$link to=\\\"$:/config/MissingLinks\\\"><> \\n\\n\"},\"$:/core/ui/ControlPanel/Settings/NavigationAddressBar\":{\"title\":\"$:/core/ui/ControlPanel/Settings/NavigationAddressBar\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\\n\\n<$link to=\\\"$:/config/Navigation/UpdateAddressBar\\\"><>\\n\\n<$radio tiddler=\\\"$:/config/Navigation/UpdateAddressBar\\\" value=\\\"permaview\\\"> <> \\n\\n<$radio tiddler=\\\"$:/config/Navigation/UpdateAddressBar\\\" value=\\\"permalink\\\"> <> \\n\\n<$radio tiddler=\\\"$:/config/Navigation/UpdateAddressBar\\\" value=\\\"no\\\"> <> \\n\"},\"$:/core/ui/ControlPanel/Settings/NavigationHistory\":{\"title\":\"$:/core/ui/ControlPanel/Settings/NavigationHistory\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\\n<$link to=\\\"$:/config/Navigation/UpdateHistory\\\"><>\\n\\n<$radio tiddler=\\\"$:/config/Navigation/UpdateHistory\\\" value=\\\"yes\\\"> <> \\n\\n<$radio tiddler=\\\"$:/config/Navigation/UpdateHistory\\\" value=\\\"no\\\"> <> \\n\"},\"$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode\":{\"title\":\"$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/NavigationPermalinkviewMode/\\n<>\\n\\n<$checkbox tiddler=\\\"$:/config/Navigation/Permalinkview/CopyToClipboard\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"yes\\\"> <$link to=\\\"$:/config/Navigation/Permalinkview/CopyToClipboard\\\"><> \\n\\n<$checkbox tiddler=\\\"$:/config/Navigation/Permalinkview/UpdateAddressBar\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"yes\\\"> <$link to=\\\"$:/config/Navigation/Permalinkview/UpdateAddressBar\\\"><> \\n\"},\"$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation\":{\"title\":\"$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/PerformanceInstrumentation/\\n<>\\n\\n<$checkbox tiddler=\\\"$:/config/Performance/Instrumentation\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"no\\\"> <$link to=\\\"$:/config/Performance/Instrumentation\\\"><> \\n\"},\"$:/core/ui/ControlPanel/Settings/TitleLinks\":{\"title\":\"$:/core/ui/ControlPanel/Settings/TitleLinks\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/TitleLinks/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/TitleLinks/\\n<$link to=\\\"$:/config/Tiddlers/TitleLinks\\\"><>\\n\\n<$radio tiddler=\\\"$:/config/Tiddlers/TitleLinks\\\" value=\\\"yes\\\"> <> \\n\\n<$radio tiddler=\\\"$:/config/Tiddlers/TitleLinks\\\" value=\\\"no\\\"> <> \\n\"},\"$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle\":{\"title\":\"$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtonStyle/\\n\\\\whitespace trim\\n<$link to=\\\"$:/config/Toolbar/ButtonClass\\\"><>\\n\\n<$select tiddler=\\\"$:/config/Toolbar/ButtonClass\\\">\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/ToolbarButtonStyle]]\\\">\\n\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/ToolbarButtons\":{\"title\":\"$:/core/ui/ControlPanel/Settings/ToolbarButtons\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\\n<>\\n\\n<$checkbox tiddler=\\\"$:/config/Toolbar/Icons\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"yes\\\"> <$link to=\\\"$:/config/Toolbar/Icons\\\"><> \\n\\n<$checkbox tiddler=\\\"$:/config/Toolbar/Text\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"no\\\"> <$link to=\\\"$:/config/Toolbar/Text\\\"><> \\n\"},\"$:/core/ui/ControlPanel/Settings\":{\"title\":\"$:/core/ui/ControlPanel/Settings\",\"tags\":\"$:/tags/ControlPanel\",\"caption\":\"{{$:/language/ControlPanel/Settings/Caption}}\",\"text\":\"
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/SettingsTab]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Settings/TiddlyWiki\\\" explicitState=\\\"$:/state/tab--697582678\\\"/>\\n
\"},\"$:/core/ui/ControlPanel/StoryView\":{\"title\":\"$:/core/ui/ControlPanel/StoryView\",\"tags\":\"$:/tags/ControlPanel/Appearance\",\"caption\":\"{{$:/language/ControlPanel/StoryView/Caption}}\",\"text\":\"{{$:/snippets/viewswitcher}}\\n\"},\"$:/core/ui/ControlPanel/Stylesheets\":{\"title\":\"$:/core/ui/ControlPanel/Stylesheets\",\"tags\":\"$:/tags/ControlPanel/Advanced\",\"caption\":\"{{$:/language/ControlPanel/Stylesheets/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/\\n\\n<>\\n\\n{{$:/snippets/peek-stylesheets}}\\n\"},\"$:/core/ui/ControlPanel/Theme\":{\"title\":\"$:/core/ui/ControlPanel/Theme\",\"tags\":\"$:/tags/ControlPanel/Appearance\",\"caption\":\"{{$:/language/ControlPanel/Theme/Caption}}\",\"text\":\"{{$:/snippets/themeswitcher}}\\n\"},\"$:/core/ui/ControlPanel/TiddlerFields\":{\"title\":\"$:/core/ui/ControlPanel/TiddlerFields\",\"tags\":\"$:/tags/ControlPanel/Advanced\",\"caption\":\"{{$:/language/ControlPanel/TiddlerFields/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/\\n\\n<>\\n\\n{{$:/snippets/allfields}}\"},\"$:/core/ui/ControlPanel/Settings/TiddlyWiki\":{\"title\":\"$:/core/ui/ControlPanel/Settings/TiddlyWiki\",\"tags\":\"$:/tags/ControlPanel/SettingsTab\",\"caption\":\"TiddlyWiki\",\"list-before\":\"\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/\\n\\n<>\\n\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\\\">\\n\\n
\\n\\n!! <$link><$transclude field=\\\"caption\\\"/>\\n\\n<$transclude/>\\n\\n
\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Toolbars/EditToolbar\":{\"title\":\"$:/core/ui/ControlPanel/Toolbars/EditToolbar\",\"tags\":\"$:/tags/ControlPanel/Toolbars\",\"caption\":\"{{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/TiddlerInfo/\\n\\n\\\\define config-base() $:/config/EditToolbarButtons/Visibility/\\n\\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\\n\\n<$set name=\\\"tv-config-toolbar-icons\\\" value=\\\"yes\\\">\\n\\n<$set name=\\\"tv-config-toolbar-text\\\" value=\\\"yes\\\">\\n\\n<$macrocall $name=\\\"list-tagged-draggable\\\" tag=\\\"$:/tags/EditToolbar\\\" itemTemplate=\\\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\\\"/>\\n\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\":{\"title\":\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\",\"text\":\"\\\\define config-title()\\n$(config-base)$$(currentTiddler)$\\n\\\\end\\n\\\\whitespace trim\\n\\n<$draggable tiddler=<>>\\n<$checkbox tiddler=<> field=\\\"text\\\" checked=\\\"show\\\" unchecked=\\\"hide\\\" default=\\\"show\\\"/>\\n \\n<$transclude tiddler={{!!icon}}/>\\n \\n<$transclude field=\\\"caption\\\"/>\\n -- \\n<$transclude field=\\\"description\\\"/>\\n\\n\"},\"$:/core/ui/ControlPanel/Toolbars/EditorToolbar\":{\"title\":\"$:/core/ui/ControlPanel/Toolbars/EditorToolbar\",\"tags\":\"$:/tags/ControlPanel/Toolbars\",\"caption\":\"{{$:/language/ControlPanel/Toolbars/EditorToolbar/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/TiddlerInfo/\\n\\n\\\\define config-base() $:/config/EditorToolbarButtons/Visibility/\\n\\n{{$:/language/ControlPanel/Toolbars/EditorToolbar/Hint}}\\n\\n<$macrocall $name=\\\"list-tagged-draggable\\\" tag=\\\"$:/tags/EditorToolbar\\\" itemTemplate=\\\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\\\"/>\\n\"},\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\":{\"title\":\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\",\"text\":\"\\\\define config-title()\\n$(config-base)$$(currentTiddler)$\\n\\\\end\\n\\\\whitespace trim\\n\\n<$draggable tiddler=<>>\\n<$checkbox tiddler=<> field=\\\"text\\\" checked=\\\"show\\\" unchecked=\\\"hide\\\" default=\\\"show\\\"/>\\n \\n\\n \\n<$transclude field=\\\"caption\\\"/>\\n \\n\\n-- \\n<$transclude field=\\\"description\\\"/>\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Toolbars/PageControls\":{\"title\":\"$:/core/ui/ControlPanel/Toolbars/PageControls\",\"tags\":\"$:/tags/ControlPanel/Toolbars\",\"caption\":\"{{$:/language/ControlPanel/Toolbars/PageControls/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/TiddlerInfo/\\n\\n\\\\define config-base() $:/config/PageControlButtons/Visibility/\\n\\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\\n\\n<$set name=\\\"tv-config-toolbar-icons\\\" value=\\\"yes\\\">\\n\\n<$set name=\\\"tv-config-toolbar-text\\\" value=\\\"yes\\\">\\n\\n<$macrocall $name=\\\"list-tagged-draggable\\\" tag=\\\"$:/tags/PageControls\\\" itemTemplate=\\\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\\\"/>\\n\\n\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\":{\"title\":\"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\",\"tags\":\"$:/tags/ControlPanel/Toolbars\",\"caption\":\"{{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/TiddlerInfo/\\n\\n\\\\define config-base() $:/config/ViewToolbarButtons/Visibility/\\n\\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\\n\\n<$set name=\\\"tv-config-toolbar-icons\\\" value=\\\"yes\\\">\\n\\n<$set name=\\\"tv-config-toolbar-text\\\" value=\\\"yes\\\">\\n\\n<$macrocall $name=\\\"list-tagged-draggable\\\" tag=\\\"$:/tags/ViewToolbar\\\" itemTemplate=\\\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\\\"/>\\n\\n\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Toolbars\":{\"title\":\"$:/core/ui/ControlPanel/Toolbars\",\"tags\":\"$:/tags/ControlPanel/Appearance\",\"caption\":\"{{$:/language/ControlPanel/Toolbars/Caption}}\",\"text\":\"\\\\whitespace trim\\n{{$:/language/ControlPanel/Toolbars/Hint}}\\n\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\\\" class=\\\"tc-vertical\\\" explicitState=\\\"$:/state/tabs/controlpanel/toolbars-1345989671\\\"/>\\n
\\n\"},\"$:/ControlPanel\":{\"title\":\"$:/ControlPanel\",\"icon\":\"$:/core/images/options-button\",\"color\":\"#bbb\",\"text\":\"\\\\whitespace trim\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Info\\\" explicitState=\\\"$:/state/tab-1749438307\\\"/>\\n
\\n\"},\"$:/core/ui/DefaultSearchResultList\":{\"title\":\"$:/core/ui/DefaultSearchResultList\",\"tags\":\"$:/tags/SearchResults\",\"caption\":\"{{$:/language/Search/DefaultResults/Caption}}\",\"first-search-filter\":\"[!is[system]search:titlesort[title]limit[250]]\",\"second-search-filter\":\"[!is[system]searchsort[title]limit[250]]\",\"text\":\"\\\\define searchResultList()\\n\\\\whitespace trim\\n//{{$:/language/Search/Matches/Title}}//\\n\\n<$list filter=\\\"[minlength[1]]\\\" variable=\\\"ignore\\\">\\n<$list filter={{{ [get[first-search-filter]] }}}>\\naddsuffix[-primaryList]] -[get[text]] +[then[]else[tc-list-item-selected]] }}}>\\n<$transclude tiddler=\\\"$:/core/ui/ListItemTemplate\\\"/>\\n\\n\\n\\n\\n//{{$:/language/Search/Matches/All}}//\\n\\n<$list filter=\\\"[minlength[1]]\\\" variable=\\\"ignore\\\">\\n<$list filter={{{ [get[second-search-filter]] }}}>\\naddsuffix[-secondaryList]] -[get[text]] +[then[]else[tc-list-item-selected]] }}}>\\n<$transclude tiddler=\\\"$:/core/ui/ListItemTemplate\\\"/>\\n\\n\\n\\n\\n\\\\end\\n<>\\n\"},\"$:/core/ui/DownloadFullWiki\":{\"title\":\"$:/core/ui/DownloadFullWiki\",\"text\":\"\\\\whitespace trim\\n\\\\rules except wikilink\\n\\nTo download the standard single-file version of your wiki:\\n\\n<$wikify name=\\\"site-title\\\" text={{$:/config/SaveWikiButton/Filename}}>\\n<$let publishFilter=\\\"\\\"\\\"-[[$:/config/SaveWikiButton/Template]] -[[$:/plugins/tiddlywiki/filesystem]] -[[$:/plugins/tiddlywiki/tiddlyweb]]\\\"\\\"\\\">\\n<$button tooltip=\\\"Download fully standalone wiki\\\" aria-label=\\\"download full wiki\\\" class=\\\"tc-btn-big-green\\\">\\n<$action-sendmessage $message=\\\"tm-download-file\\\" $param=\\\"$:/core/save/all\\\" publishFilter=<> filename=<>/>\\n{{$:/core/images/download-button}}\\n\\nDownload full wiki\\n\\n\\n\\n\"},\"$:/core/ui/EditTemplate/body/preview/diffs-current\":{\"title\":\"$:/core/ui/EditTemplate/body/preview/diffs-current\",\"tags\":\"$:/tags/EditPreview\",\"caption\":\"{{$:/language/EditTemplate/Body/Preview/Type/DiffCurrent}}\",\"list-after\":\"$:/core/ui/EditTemplate/body/preview/output\",\"text\":\"<$list filter=\\\"[!is[image]]\\\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\\n\\n<$macrocall $name=\\\"compareTiddlerText\\\" sourceTiddlerTitle={{!!draft.of}} destTiddlerTitle=<>/>\\n\\n\\n\\n\"},\"$:/core/ui/EditTemplate/body/preview/diffs-shadow\":{\"title\":\"$:/core/ui/EditTemplate/body/preview/diffs-shadow\",\"tags\":\"$:/tags/EditPreview\",\"caption\":\"{{$:/language/EditTemplate/Body/Preview/Type/DiffShadow}}\",\"list-after\":\"$:/core/ui/EditTemplate/body/preview/output\",\"text\":\"<$list filter=\\\"[!is[image]]\\\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\\n\\n<$macrocall $name=\\\"compareTiddlerText\\\" sourceTiddlerTitle={{{ [{!!draft.of}shadowsource[]] }}} sourceSubTiddlerTitle={{!!draft.of}} destTiddlerTitle=<>/>\\n\\n\\n\\n\"},\"$:/core/ui/EditTemplate/body/preview/output\":{\"title\":\"$:/core/ui/EditTemplate/body/preview/output\",\"tags\":\"$:/tags/EditPreview\",\"caption\":\"{{$:/language/EditTemplate/Body/Preview/Type/Output}}\",\"text\":\"\\\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Macro/View/Body]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View/Body]!is[draft]]\\n<$set name=\\\"tv-tiddler-preview\\\" value=\\\"yes\\\">\\n\\n<$transclude tiddler={{{ [] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/body/default]] }}} />\\n\\n\\n\"},\"$:/state/showeditpreview\":{\"title\":\"$:/state/showeditpreview\",\"text\":\"no\"},\"$:/core/ui/EditTemplate/body/canonical-uri\":{\"title\":\"$:/core/ui/EditTemplate/body/canonical-uri\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/Body/\\n\\n
\\n\\n<>\\n\\n<$text text={{!!_canonical_uri}}/>\\n\\n<$edit-text field=\\\"_canonical_uri\\\" class=\\\"tc-edit-fields\\\" tabindex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\">\\n\\n
\\n\"},\"$:/core/ui/EditTemplate/body/default\":{\"title\":\"$:/core/ui/EditTemplate/body/default\",\"text\":\"\\\\define config-visibility-title()\\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\\n\\\\end\\n\\n\\\\define importFileActions()\\n<$action-popup $state=<> $coords=\\\"(0,0,0,0)\\\" $floating=\\\"yes\\\"/>\\n\\\\end\\n\\n\\\\whitespace trim\\n<$let\\n\\teditPreviewStateTiddler={{{ [{$:/config/ShowEditPreview/PerTiddler}!match[yes]then[$:/state/showeditpreview]] :else[] }}}\\n\\timportTitle=<>\\n\\timportState=<> >\\n<$dropzone importTitle=<> autoOpenOnImport=\\\"no\\\" contentTypesFilter={{$:/config/Editor/ImportContentTypesFilter}} class=\\\"tc-dropzone-editor\\\" enable={{{ [{$:/config/DragAndDrop/Enable}match[no]] :else[subfilter{$:/config/Editor/EnableImportFilter}then[yes]else[no]] }}} filesOnly=\\\"yes\\\" actions=<> >\\n
\\n
get[text]match[yes]then[tc-tiddler-preview]else[tc-tiddler-preview-hidden]] [[tc-tiddler-editor]] +[join[ ]] }}}>\\n\\n<$transclude tiddler=\\\"$:/core/ui/EditTemplate/body/editor\\\" mode=\\\"inline\\\"/>\\n\\n<$list filter=\\\"[get[text]match[yes]]\\\" variable=\\\"ignore\\\">\\n\\n
\\n\\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\\\"inline\\\">\\n\\n<$transclude tiddler=\\\"$:/core/ui/EditTemplate/body/preview/output\\\" mode=\\\"inline\\\"/>\\n\\n\\n\\n
\\n\\n\\n\\n
\\n\\n
\\n\\n\\n\\n\\n\"},\"$:/core/ui/EditTemplate/body/editor\":{\"title\":\"$:/core/ui/EditTemplate/body/editor\",\"text\":\"\\\\whitespace trim\\n\\n<$edit\\n\\n field=\\\"text\\\"\\n class=\\\"tc-edit-texteditor tc-edit-texteditor-body\\\"\\n placeholder={{$:/language/EditTemplate/Body/Placeholder}}\\n tabindex={{$:/config/EditTabIndex}}\\n focus={{{ [{$:/config/AutoFocus}match[text]then[true]] ~[[false]] }}}\\n cancelPopups=\\\"yes\\\"\\n fileDrop={{{ [{$:/config/DragAndDrop/Enable}match[no]] :else[subfilter{$:/config/Editor/EnableImportFilter}then[yes]else[no]] }}}\\n\\n><$set\\n\\n name=\\\"targetTiddler\\\"\\n value=<>\\n\\n><$list\\n\\n filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\\\"\\n\\n><$reveal\\n\\n type=\\\"nomatch\\\"\\n state=<>\\n text=\\\"hide\\\"\\n class=\\\"tc-text-editor-toolbar-item-wrapper\\\"\\n\\n><$transclude\\n\\n tiddler=\\\"$:/core/ui/EditTemplate/body/toolbar/button\\\"\\n mode=\\\"inline\\\"\\n\\n/><$list\\n\\n filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditorTools]!has[draft.of]]\\\"\\n\\n><$list\\n\\tfilter={{!!condition}}\\n\\tvariable=\\\"list-condition\\\"\\n><$transclude/>\\n\\n\"},\"$:/core/ui/EditTemplate/body/toolbar/button\":{\"title\":\"$:/core/ui/EditTemplate/body/toolbar/button\",\"text\":\"\\\\define toolbar-button-icon()\\n<$list\\n\\n filter=\\\"[all[current]!has[custom-icon]]\\\"\\n variable=\\\"no-custom-icon\\\"\\n\\n><$transclude\\n\\n tiddler={{!!icon}}\\n\\n/>\\n\\\\end\\n\\n\\\\define toolbar-button-tooltip()\\n{{!!description}}<$macrocall $name=\\\"displayshortcuts\\\" $output=\\\"text/plain\\\" shortcuts={{!!shortcuts}} prefix=\\\"` - [\\\" separator=\\\"] [\\\" suffix=\\\"]`\\\"/>\\n\\\\end\\n\\n\\\\define toolbar-button()\\n<$list\\n\\n filter={{!!condition}}\\n variable=\\\"list-condition\\\"\\n\\n><$wikify\\n\\n name=\\\"tooltip-text\\\"\\n text=<>\\n mode=\\\"inline\\\"\\n output=\\\"text\\\"\\n\\n><$list\\n\\n filter=\\\"[all[current]!has[dropdown]]\\\"\\n variable=\\\"no-dropdown\\\"\\n\\n><$set name=disabled filter={{!!condition-disabled}}><$button\\n\\n class=\\\"tc-btn-invisible $(buttonClasses)$\\\"\\n tooltip=<>\\n actions={{!!actions}}\\n disabled=<>\\n\\n>match[yes]then[]else{!!shortcuts}] }}}\\n\\n/><><$transclude\\n\\n tiddler=<>\\n field=\\\"text\\\"\\n\\n/><$list\\n\\n filter=\\\"[all[current]has[dropdown]]\\\"\\n variable=\\\"dropdown\\\"\\n\\n><$set\\n\\n name=\\\"dropdown-state\\\"\\n value=<>\\n\\n><$set name=disabled filter={{!!condition-disabled}}><$button\\n\\n popup=<>\\n class=\\\"tc-popup-keep tc-btn-invisible $(buttonClasses)$\\\"\\n selectedClass=\\\"tc-selected\\\"\\n tooltip=<>\\n actions={{!!actions}}\\n disabled=<>\\n\\n>match[yes]then[]else{!!shortcuts}] }}}\\n\\n/><><$transclude\\n\\n tiddler=<>\\n field=\\\"text\\\"\\n\\n/><$reveal\\n\\n state=<>\\n type=\\\"popup\\\"\\n position=\\\"below\\\"\\n animate=\\\"yes\\\"\\n tag=\\\"span\\\"\\n\\n><$transclude\\n\\n tiddler={{!!dropdown}}\\n mode=\\\"block\\\"\\n\\n/>
\\n\\\\end\\n\\n\\\\define toolbar-button-outer()\\n<$set\\n\\n name=\\\"buttonClasses\\\"\\n value={{!!button-classes}}\\n\\n><>\\n\\\\end\\n\\n<>\"},\"$:/core/ui/EditTemplate/body\":{\"title\":\"$:/core/ui/EditTemplate/body\",\"tags\":\"$:/tags/EditTemplate\",\"text\":\"<$transclude tiddler={{{ [] :cascade[all[shadows+tiddlers]tag[$:/tags/EditTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/EditTemplate/body/default]] }}} />\\n\"},\"$:/core/ui/EditTemplate/controls\":{\"title\":\"$:/core/ui/EditTemplate/controls\",\"tags\":\"$:/tags/EditTemplate\",\"text\":\"\\\\define config-title()\\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\\n\\\\end\\n\\\\whitespace trim\\n
\\n<$view field=\\\"title\\\"/>\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\\\" variable=\\\"listItem\\\"><$let tv-config-toolbar-class={{{ [enlist] [encodeuricomponent[]addprefix[tc-btn-]] +[join[ ]]}}}><$reveal type=\\\"nomatch\\\" state=<> text=\\\"hide\\\"><$transclude tiddler=<>/>\\n
\\n
\\n\"},\"$:/core/ui/EditTemplate/fieldEditor/default\":{\"title\":\"$:/core/ui/EditTemplate/fieldEditor/default\",\"text\":\"<$edit-text tiddler=<> field=<> tag=\\\"input\\\" default=\\\"\\\" class=\\\"tc-edit-texteditor tc-edit-fieldeditor\\\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} tabindex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\"/>\"},\"$:/core/ui/EditTemplate/fields\":{\"title\":\"$:/core/ui/EditTemplate/fields\",\"tags\":\"$:/tags/EditTemplate\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/\\n\\\\define config-title()\\n$:/config/EditTemplateFields/Visibility/$(currentField)$\\n\\\\end\\n\\n\\\\define config-filter()\\n[[hide]] -[title{$(config-title)$}]\\n\\\\end\\n\\n\\n\\\\define get-field-value-tiddler-filter() [subfiltersha256[16]addprefix[/]addprefix]\\n\\\\define get-field-editor-filter() [get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]\\n\\n\\\\define current-tiddler-new-field-selector()\\n[data-tiddler-title=\\\"$(currentTiddlerCSSescaped)$\\\"] .tc-edit-field-add-name-wrapper input\\n\\\\end\\n\\n\\\\define new-field-actions()\\n\\\\whitespace trim\\n<$action-sendmessage $message=\\\"tm-add-field\\\" $name={{{ [get[text]] }}} $value={{{ [get[text]] :map[subfilterget[text]] }}}/>\\n<$set name=\\\"safeNewFieldValueTiddlerPrefix\\\" value=<> emptyValue=<> >\\n\\t<$action-deletetiddler $filter=\\\"[] [prefix[$:/temp/NewFieldValue]prefix] [] []\\\"/>\\n\\n<$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=<>/>\\n\\\\end\\n\\n\\\\define delete-state-tiddlers() <$action-deletetiddler $filter=\\\"[] [] []\\\"/>\\n\\n\\\\define cancel-search-actions-inner()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[has[text]] [has[text]]\\\"\\n\\tvariable=\\\"ignore\\\"\\n\\temptyMessage=\\\"<>\\\">\\n<>\\n\\n\\\\end\\n\\n\\\\define cancel-search-actions()\\n\\\\whitespace trim\\n<$set name=\\\"userInput\\\" value={{{ [get[text]] }}}>\\n<$list\\n\\tfilter=\\\"[get[text]!match]\\\"\\n\\temptyMessage=\\\"<>\\\">\\n<$action-setfield $tiddler=<> text=<>/><$action-setfield $tiddler=<> text=\\\"yes\\\"/>\\n\\n\\n\\\\end\\n\\n\\\\define new-field()\\n\\\\whitespace trim\\n<$vars name={{{ [get[text]] }}}>\\n<$reveal type=\\\"nomatch\\\" text=\\\"\\\" default=<>>\\n<$button tooltip={{$:/language/EditTemplate/Fields/Add/Button/Hint}}>\\n<$action-sendmessage $message=\\\"tm-add-field\\\"\\n$name=<>\\n$value={{{ [subfilterget[text]] }}}/>\\n<$set name=\\\"safeNewFieldValueTiddlerPrefix\\\" value=<> emptyValue=<> >\\n\\t<$action-deletetiddler $filter=\\\"[] [prefix[$:/temp/NewFieldValue]prefix] [] []\\\"/>\\n\\n<>\\n\\n\\n<$reveal type=\\\"match\\\" text=\\\"\\\" default=<>>\\n<$button>\\n<>\\n\\n\\n\\n\\\\end\\n\\\\whitespace trim\\n\\n<$set name=\\\"newFieldValueTiddlerPrefix\\\" value=<> emptyValue=<> >\\n
\\n\\n\\n<$list filter=\\\"[all[current]fields[]] +[sort[title]]\\\" variable=\\\"currentField\\\" storyview=\\\"pop\\\">\\n<$list filter=<> variable=\\\"temp\\\">\\n\\n\\n\\n\\n\\n\\n\\n\\n
\\n<$text text=<>/>:\\n<$keyboard key=\\\"((delete-field))\\\" actions=\\\"\\\"\\\"<$action-deletefield $field=<>/><$set name=\\\"currentTiddlerCSSescaped\\\" value={{{ [escapecss[]] }}}><$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=<>/>\\\"\\\"\\\">\\n<$transclude tiddler={{{ [] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}] }}} />\\n\\n\\n<$button class=\\\"tc-btn-invisible\\\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\\n<$action-deletefield $field=<>/>\\n{{$:/core/images/delete-button}}\\n\\n
\\n
\\n\\n<$fieldmangler>\\n
\\n\\n<>\\n\\n<$vars refreshTitle=<> storeTitle=<> searchListState=<>>\\n
\\n<$macrocall $name=\\\"keyboard-driven-input\\\" tiddler=<> storeTitle=<> refreshTitle=<>\\n\\t\\tselectionStateTitle=<> tag=\\\"input\\\" default=\\\"\\\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}}\\n\\t\\tfocusPopup=<> class=\\\"tc-edit-texteditor tc-popup-handle\\\" tabindex={{$:/config/EditTabIndex}}\\n\\t\\tfocus={{{ [{$:/config/AutoFocus}match[fields]then[true]] ~[[false]] }}} cancelPopups=\\\"yes\\\"\\n\\t\\tconfigTiddlerFilter=\\\"[[$:/config/EditMode/fieldname-filter]]\\\" inputCancelActions=<> />\\n<$button popup=<> class=\\\"tc-btn-invisible tc-btn-dropdown tc-small-gap\\\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}\\n<$reveal state=<> type=\\\"nomatch\\\" text=\\\"\\\" default=\\\"\\\">\\n
\\n<$set name=\\\"tv-show-missing-links\\\" value=\\\"yes\\\">\\n<$linkcatcher to=<>>\\n
\\n<>\\n
\\n<$set name=\\\"newFieldName\\\" value={{{ [get[text]] }}}>\\n<$list filter=\\\"[!is[shadow]!is[system]fields[]search:titlesort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\\\" variable=\\\"currentField\\\">\\n<$list filter=\\\"[addsuffix[-primaryList]] -[get[text]]\\\" emptyMessage=\\\"\\\"\\\"<$link to=<> class=\\\"tc-list-item-selected\\\"><$text text=<>/>\\\"\\\"\\\">\\n<$link to=<>>\\n<$text text=<>/>\\n\\n\\n\\n
\\n<>\\n
\\n<$list filter=\\\"[fields[]search:titlesort[]] -[!is[shadow]!is[system]fields[]]\\\" variable=\\\"currentField\\\">\\n<$list filter=\\\"[addsuffix[-secondaryList]] -[get[text]]\\\" emptyMessage=\\\"\\\"\\\"<$link to=<> class=\\\"tc-list-item-selected\\\"><$text text=<>/>\\\"\\\"\\\">\\n<$link to=<>>\\n<$text text=<>/>\\n\\n\\n\\n\\n\\n\\n
\\n\\n
\\n<$let currentTiddlerCSSescaped={{{ [escapecss[]] }}} currentTiddler={{{ [subfilter] }}} currentField=\\\"text\\\" currentFieldName={{{ [get[text]] }}}>\\n\\n<$keyboard key=\\\"((add-field))\\\" actions=<>>\\n<$transclude tiddler={{{ [subfilter] }}} />\\n\\n\\n\\n<$macrocall $name=\\\"new-field\\\"/>\\n\\n\\n\\n
\\n\\n\"},\"$:/core/ui/EditTemplate/shadow\":{\"title\":\"$:/core/ui/EditTemplate/shadow\",\"tags\":\"$:/tags/EditTemplate\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/Shadow/\\n\\\\define pluginLinkBody()\\n\\\\whitespace trim\\n<$link to=\\\"\\\"\\\"$(pluginTitle)$\\\"\\\"\\\">\\n<$text text=\\\"\\\"\\\"$(pluginTitle)$\\\"\\\"\\\"/>\\n\\n\\\\end\\n\\\\whitespace trim\\n<$list filter=\\\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\\\">\\n\\n<$list filter=\\\"[all[current]shadowsource[]]\\\" variable=\\\"pluginTitle\\\">\\n\\n<$set name=\\\"pluginLink\\\" value=<>>\\n
\\n\\n<>\\n\\n
\\n\\n\\n\\n\\n\\n<$list filter=\\\"[all[current]get[draft.of]is[shadow]is[tiddler]]\\\">\\n\\n<$list filter=\\\"[all[current]shadowsource[]]\\\" variable=\\\"pluginTitle\\\">\\n\\n<$set name=\\\"pluginLink\\\" value=<>>\\n
\\n\\n<>\\n\\n
\\n\\n\\n\\n\"},\"$:/core/ui/EditTemplate/tags\":{\"title\":\"$:/core/ui/EditTemplate/tags\",\"tags\":\"$:/tags/EditTemplate\",\"text\":\"\\\\whitespace trim\\n\\n\\\\define lingo-base() $:/language/EditTemplate/\\n\\n\\\\define tag-styles()\\nbackground-color:$(backgroundColor)$;\\nfill:$(foregroundColor)$;\\ncolor:$(foregroundColor)$;\\n\\\\end\\n\\n\\\\define tag-body-inner(colour,fallbackTarget,colourA,colourB,icon,tagField:\\\"tags\\\")\\n\\\\whitespace trim\\n<$vars foregroundColor=<> backgroundColor=\\\"\\\"\\\"$colour$\\\"\\\"\\\">\\n> class=\\\"tc-tag-label tc-tag-list-item tc-small-gap-right\\\" data-tag-title=<>>\\n<$transclude tiddler=\\\"\\\"\\\"$icon$\\\"\\\"\\\"/><$view field=\\\"title\\\" format=\\\"text\\\"/>\\n<$button class=\\\"tc-btn-invisible tc-remove-tag-button\\\" style=<>><$action-listops $tiddler=<> $field=<<__tagField__>> $subfilter=\\\"-[{!!title}]\\\"/>{{$:/core/images/close-button}}\\n\\n\\n\\\\end\\n\\n\\\\define tag-body(colour,palette,icon,tagField:\\\"tags\\\")\\n<$macrocall $name=\\\"tag-body-inner\\\" colour=\\\"\\\"\\\"$colour$\\\"\\\"\\\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} icon=\\\"\\\"\\\"$icon$\\\"\\\"\\\" tagField=<<__tagField__>>/>\\n\\\\end\\n\\n\\\\define edit-tags-template(tagField:\\\"tags\\\")\\n\\\\whitespace trim\\n
\\n<$list filter=\\\"[list[!!$tagField$]sort[title]]\\\" storyview=\\\"pop\\\">\\n<$macrocall $name=\\\"tag-body\\\" colour={{{ [] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}} palette={{$:/palette}} icon={{{ [] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}} tagField=<<__tagField__>>/>\\n\\n<$vars tabIndex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\">\\n<$macrocall $name=\\\"tag-picker\\\" tagField=<<__tagField__>>/>\\n\\n
\\n\\\\end\\n<$set name=\\\"saveTiddler\\\" value=<>>\\n<$macrocall $name=\\\"edit-tags-template\\\" tagField=<>/>\\n\\n\"},\"$:/core/ui/EditTemplate/title\":{\"title\":\"$:/core/ui/EditTemplate/title\",\"tags\":\"$:/tags/EditTemplate\",\"text\":\"\\\\whitespace trim\\n<$edit-text field=\\\"draft.title\\\" class=\\\"tc-titlebar tc-edit-texteditor\\\" focus={{{ [{$:/config/AutoFocus}match[title]then[true]] ~[[false]] }}} tabindex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\"/>\\n\\n<$vars pattern=\\\"\\\"\\\"[\\\\|\\\\[\\\\]{}]\\\"\\\"\\\" bad-chars=\\\"\\\"\\\"`| [ ] { }`\\\"\\\"\\\">\\n\\n<$list filter=\\\"[all[current]regexp:draft.title]\\\" variable=\\\"listItem\\\">\\n\\n
\\n\\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\\n\\n
\\n\\n\\n\\n\\n\\n<$reveal state=\\\"!!draft.title\\\" type=\\\"nomatch\\\" text={{!!draft.of}} tag=\\\"div\\\">\\n\\n<$list filter=\\\"[{!!draft.title}!is[missing]]\\\" variable=\\\"listItem\\\">\\n\\n
\\n\\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}: <$link to={{!!draft.title}} />\\n\\n
\\n\\n\\n\\n<$list filter=\\\"[{!!draft.of}!is[missing]]\\\" variable=\\\"listItem\\\">\\n\\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\\n\\n<$checkbox tiddler=\\\"$:/config/RelinkOnRename\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"no\\\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}\\n\\n<$list filter=\\\"[titlebacklinks[]limit[1]]\\\" variable=\\\"listItem\\\">\\n\\n<$vars stateTiddler=<> >\\n\\n<$reveal type=\\\"nomatch\\\" state=<> text=\\\"show\\\">\\n<$button set=<> setTo=\\\"show\\\" class=\\\"tc-btn-invisible\\\">\\n{{$:/core/images/right-arrow}}\\n \\n<>\\n\\n<$reveal type=\\\"match\\\" state=<> text=\\\"show\\\">\\n<$button set=<> setTo=\\\"hide\\\" class=\\\"tc-btn-invisible\\\">\\n{{$:/core/images/down-arrow}}\\n \\n<>\\n\\n\\n<$reveal type=\\\"match\\\" state=<> text=\\\"show\\\">\\n<$tiddler tiddler=<> >\\n<$transclude tiddler=\\\"$:/core/ui/TiddlerInfo/References\\\"/>\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"},\"$:/core/ui/EditTemplate/type\":{\"title\":\"$:/core/ui/EditTemplate/type\",\"tags\":\"$:/tags/EditTemplate\",\"first-search-filter\":\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[description]sort[group-sort]removeprefix[$:/language/Docs/Types/]search]\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/\\n\\\\define input-cancel-actions() <$list filter=\\\"[get[text]] [get[type]] +[limit[1]]\\\" emptyMessage=\\\"\\\"\\\"<>\\\"\\\"\\\"><$action-sendmessage $message=\\\"tm-remove-field\\\" $param=\\\"type\\\"/><$action-deletetiddler $filter=\\\"[] [] []\\\"/>\\n\\\\whitespace trim\\n<$set name=\\\"refreshTitle\\\" value=<>>\\n
\\n<>\\n
\\n
<$fieldmangler>\\n<$macrocall $name=\\\"keyboard-driven-input\\\" tiddler=<> storeTitle=<> refreshTitle=<> selectionStateTitle=<> field=\\\"type\\\" tag=\\\"input\\\" default=\\\"\\\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<> class=\\\"tc-edit-typeeditor tc-edit-texteditor tc-popup-handle\\\" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] ~[[false]] }}} cancelPopups=\\\"yes\\\" configTiddlerFilter=\\\"[[$:/core/ui/EditTemplate/type]]\\\" inputCancelActions=<>/><$button popup=<> class=\\\"tc-btn-invisible tc-btn-dropdown tc-small-gap\\\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}<$button message=\\\"tm-remove-field\\\" param=\\\"type\\\" class=\\\"tc-btn-invisible tc-btn-icon\\\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}<$action-deletetiddler $filter=\\\"[] [] [] []\\\"/>\\n
\\n\\n
\\n<$set name=\\\"tv-show-missing-links\\\" value=\\\"yes\\\">\\n<$reveal state=<> type=\\\"nomatch\\\" text=\\\"\\\" default=\\\"\\\">\\n
\\n<$linkcatcher to=\\\"!!type\\\">\\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\\n
\\n<$text text={{!!group}}/>\\n
\\n<$set name=\\\"userInput\\\" value={{{ [get[text]] }}}>\\n<$list filter=\\\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]] +[removeprefix[$:/language/Docs/Types/]] +[search]\\\">addsuffix[-primaryList]] -[get[text]] +[then[]else[tc-list-item-selected]] }}}><$link to={{{ [addprefix[$:/language/Docs/Types/]get[name]] }}}><$view tiddler={{{ [addprefix[$:/language/Docs/Types/]] }}} field=\\\"description\\\"/><$text text=\\\" \\\"/>(<$view tiddler={{{ [addprefix[$:/language/Docs/Types/]] }}} field=\\\"name\\\"/>)\\n\\n\\n\\n\\n
\\n\\n\\n
\\n
\\n
\\n\\n\"},\"$:/core/ui/EditTemplate\":{\"title\":\"$:/core/ui/EditTemplate\",\"code-body\":\"yes\",\"text\":\"\\\\define delete-edittemplate-state-tiddlers()\\n<$set name=\\\"safeNewFieldValueTiddlerPrefix\\\" value=<> emptyValue=<> >\\n\\t<$action-deletetiddler $filter=\\\"[] [prefix[$:/temp/NewFieldValue]prefix] [] [] [] [] [] [] []\\\"/>\\n\\n\\\\end\\n\\n\\n\\\\define get-field-value-tiddler-filter() [subfiltersha256[16]addprefix[/]addprefix]\\n\\\\define get-field-editor-filter() [get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]\\n\\n\\\\define save-tiddler-actions()\\n\\\\whitespace trim\\n<$action-sendmessage $message=\\\"tm-add-tag\\\" $param={{{ [get[text]] }}}/>\\n<$action-sendmessage $message=\\\"tm-add-field\\\" $name={{{ [get[text]] }}} $value={{{ [get[text]] :map[subfilterget[text]] }}}/>\\n<>\\n<$action-sendmessage $message=\\\"tm-save-tiddler\\\"/>\\n\\\\end\\n\\n\\\\define cancel-delete-tiddler-actions(message)\\n\\\\whitespace trim\\n<>\\n<$action-sendmessage $message=\\\"tm-$message$-tiddler\\\"/>\\n\\\\end\\n\\n\\\\whitespace trim\\n>\\n\\tdata-tags={{!!tags}}\\n\\tclass={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/TiddlerTemplate]!is[draft]] :map:flat[subfilter{!!text}] tc-tiddler-frame tc-tiddler-edit-frame [is[tiddler]then[tc-tiddler-exists]] [is[missing]!is[shadow]then[tc-tiddler-missing]] [is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [is[system]then[tc-tiddler-system]] [{!!class}] [tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}\\n\\trole=\\\"region\\\"\\n\\taria-label={{$:/language/EditTemplate/Caption}}>\\n<$fieldmangler>\\n<$vars\\n\\tstoryTiddler=<>\\n\\tnewTagNameTiddler=<>\\n\\tnewFieldNameTiddler=<>\\n\\tnewFieldValueTiddlerPrefix=<>\\n\\tnewFieldNameInputTiddler=<>\\n\\tnewFieldNameSelectionTiddler=<>\\n\\tnewTagNameInputTiddler=<>\\n\\tnewTagNameSelectionTiddler=<>\\n\\ttypeInputTiddler=<>\\n\\ttypeSelectionTiddler=<>>\\n<$keyboard key=\\\"((cancel-edit-tiddler))\\\" actions=<> tag=\\\"div\\\">\\n<$keyboard key=\\\"((save-tiddler))\\\" actions=<> tag=\\\"div\\\">\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\\\" variable=\\\"listItem\\\">\\n<$transclude tiddler=<>/>\\n\\n\\n\\n\\n\\n
\\n\"},\"$:/core/ui/Buttons/cancel\":{\"title\":\"$:/core/ui/Buttons/cancel\",\"tags\":\"$:/tags/EditToolbar\",\"caption\":\"{{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}\",\"description\":\"{{$:/language/Buttons/Cancel/Hint}}\",\"text\":\"\\\\whitespace trim\\n<$button actions=<> tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<>>\\n<$list filter=\\\"[match[yes]]\\\">\\n{{$:/core/images/cancel-button}}\\n\\n<$list filter=\\\"[match[yes]]\\\">\\n<$text text={{$:/language/Buttons/Cancel/Caption}}/>\\n\\n\\n\"},\"$:/core/ui/Buttons/delete\":{\"title\":\"$:/core/ui/Buttons/delete\",\"tags\":\"$:/tags/EditToolbar $:/tags/ViewToolbar\",\"caption\":\"{{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}\",\"description\":\"{{$:/language/Buttons/Delete/Hint}}\",\"text\":\"\\\\whitespace trim\\n<$button actions=<> tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<>>\\n<$list filter=\\\"[match[yes]]\\\">\\n{{$:/core/images/delete-button}}\\n\\n<$list filter=\\\"[match[yes]]\\\">\\n<$text text={{$:/language/Buttons/Delete/Caption}}/>\\n\\n\\n\"},\"$:/core/ui/Buttons/save\":{\"title\":\"$:/core/ui/Buttons/save\",\"tags\":\"$:/tags/EditToolbar\",\"caption\":\"{{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}\",\"description\":\"{{$:/language/Buttons/Save/Hint}}\",\"text\":\"\\\\whitespace trim\\n\\\\define save-tiddler-button()\\n\\\\whitespace trim\\n<$fieldmangler>\\n\\t<$button\\n\\t\\ttooltip={{$:/language/Buttons/Save/Hint}}\\n\\t\\taria-label={{$:/language/Buttons/Save/Caption}}\\n\\t\\tclass=<>\\n\\t>\\n\\t\\t<>\\n\\t\\t<$list filter=\\\"[match[yes]]\\\">\\n\\t\\t\\t{{$:/core/images/done-button}}\\n\\t\\t\\n\\t\\t<$list filter=\\\"[match[yes]]\\\">\\n\\t\\t\\t<$text text={{$:/language/Buttons/Save/Caption}}/>\\n\\t\\t\\n\\t\\n\\n\\\\end\\n<>\\n\"},\"$:/core/ui/EditorToolbar/bold\":{\"title\":\"$:/core/ui/EditorToolbar/bold\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/bold\",\"caption\":\"{{$:/language/Buttons/Bold/Caption}}\",\"description\":\"{{$:/language/Buttons/Bold/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((bold))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"''\\\"\\n\\tsuffix=\\\"''\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/clear-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/clear-dropdown\",\"text\":\"''{{$:/language/Buttons/Clear/Hint}}''\\n\\n
\\n\\n<$macrocall $name=\\\"colour-picker\\\" actions=\\\"\\\"\\\"\\n\\n<$action-sendmessage\\n\\t$message=\\\"tm-edit-bitmap-operation\\\"\\n\\t$param=\\\"clear\\\"\\n\\tcolour=<>\\n/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n\\\"\\\"\\\"/>\\n\\n
\\n\"},\"$:/core/ui/EditorToolbar/clear\":{\"title\":\"$:/core/ui/EditorToolbar/clear\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/erase\",\"caption\":\"{{$:/language/Buttons/Clear/Caption}}\",\"description\":\"{{$:/language/Buttons/Clear/Hint}}\",\"condition\":\"[is[image]] -[type[image/svg+xml]]\",\"dropdown\":\"$:/core/ui/EditorToolbar/clear-dropdown\",\"text\":\"\"},\"$:/core/ui/EditorToolbar/editor-height-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/editor-height-dropdown\",\"text\":\"\\\\define lingo-base() $:/language/Buttons/EditorHeight/\\n''<>''\\n\\n<$radio tiddler=\\\"$:/config/TextEditor/EditorHeight/Mode\\\" value=\\\"auto\\\"> {{$:/core/images/auto-height}} <>\\n\\n<$radio tiddler=\\\"$:/config/TextEditor/EditorHeight/Mode\\\" value=\\\"fixed\\\"> {{$:/core/images/fixed-height}} <> <$edit-text tag=\\\"input\\\" tiddler=\\\"$:/config/TextEditor/EditorHeight/Height\\\" default=\\\"100px\\\"/>\\n\"},\"$:/core/ui/EditorToolbar/editor-height\":{\"title\":\"$:/core/ui/EditorToolbar/editor-height\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/fixed-height\",\"custom-icon\":\"yes\",\"caption\":\"{{$:/language/Buttons/EditorHeight/Caption}}\",\"description\":\"{{$:/language/Buttons/EditorHeight/Hint}}\",\"condition\":\"[type[]] [get[type]prefix[text/]] [get[type]match[application/javascript]] [get[type]match[application/json]] [get[type]match[application/x-tiddler-dictionary]] [get[type]match[image/svg+xml]] +[first[]]\",\"dropdown\":\"$:/core/ui/EditorToolbar/editor-height-dropdown\",\"text\":\"\\\\whitespace trim\\n<$reveal tag=\\\"span\\\" state=\\\"$:/config/TextEditor/EditorHeight/Mode\\\" type=\\\"match\\\" text=\\\"fixed\\\">\\n{{$:/core/images/fixed-height}}\\n\\n<$reveal tag=\\\"span\\\" state=\\\"$:/config/TextEditor/EditorHeight/Mode\\\" type=\\\"match\\\" text=\\\"auto\\\">\\n{{$:/core/images/auto-height}}\\n\\n\"},\"$:/core/ui/EditorToolbar/excise-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/excise-dropdown\",\"text\":\"\\\\define lingo-base() $:/language/Buttons/Excise/\\n\\n\\\\define body(config-title)\\n\\\\whitespace trim\\n''<>''\\n\\n<> <$edit-text tag=\\\"input\\\" tiddler=\\\"$config-title$/new-title\\\" default=\\\"\\\" focus=\\\"true\\\"/>\\n\\n<$set name=\\\"new-title\\\" value={{$config-title$/new-title}}>\\n<$list filter=\\\"\\\"\\\"[is[tiddler]]\\\"\\\"\\\">\\n
\\n<>\\n
\\n\\n\\n\\n<$checkbox tiddler=\\\"\\\"\\\"$config-title$/tagnew\\\"\\\"\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"false\\\"> <>\\n\\n<> <$select tiddler=\\\"\\\"\\\"$config-title$/type\\\"\\\"\\\" default=\\\"transclude\\\">\\n\\n\\n\\n\\n\\n<$reveal state=\\\"\\\"\\\"$config-title$/type\\\"\\\"\\\" type=\\\"match\\\" text=\\\"macro\\\">\\n<> <$edit-text tag=\\\"input\\\" tiddler=\\\"\\\"\\\"$config-title$/macro-title\\\"\\\"\\\" default=\\\"translink\\\"/>\\n\\n\\n<$button>\\n<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"excise\\\"\\n\\ttitle={{$config-title$/new-title}}\\n\\ttype={{$config-title$/type}}\\n\\tmacro={{$config-title$/macro-title}}\\n\\ttagnew={{$config-title$/tagnew}}\\n/>\\n<$action-deletetiddler\\n\\t$tiddler=\\\"$config-title$/new-title\\\"\\n/>\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n<>\\n\\n\\\\end\\n\\n<$macrocall $name=\\\"body\\\" config-title=<>/>\\n\"},\"$:/core/ui/EditorToolbar/excise\":{\"title\":\"$:/core/ui/EditorToolbar/excise\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/excise\",\"caption\":\"{{$:/language/Buttons/Excise/Caption}}\",\"description\":\"{{$:/language/Buttons/Excise/Hint}}\",\"condition\":\"[type[]] [type[text/vnd.tiddlywiki]] +[first[]]\",\"shortcuts\":\"((excise))\",\"dropdown\":\"$:/core/ui/EditorToolbar/excise-dropdown\",\"text\":\"\"},\"$:/core/ui/EditorToolbar/file-import\":{\"title\":\"$:/core/ui/EditorToolbar/file-import\",\"tags\":\"$:/tags/EditorTools\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"text\":\"\\\\define lingo-base() $:/language/Import/\\n\\n\\\\define closePopupActions()\\n<$action-deletetiddler $filter=\\\"[title] [title]\\\"/>\\n\\\\end\\n\\n\\\\define replacement-text-image() [img[$title$]]\\n\\n\\\\define replacement-text-file() [[$title$]]\\n\\n\\\\define postImportActions()\\n\\\\whitespace trim\\n<$list filter=\\\"[links[]] :reduce[get[type]prefix[image]thenelsesearch-replace[$title$],addprefix]\\\" variable=\\\"imageTitle\\\">\\n<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"insert-text\\\"\\n\\ttext=<>\\n/>\\n\\n<>\\n\\\\end\\n\\n\\\\define buttons()\\n\\\\whitespace trim\\n<$button class=\\\"tc-btn-invisible\\\" actions=<> ><>\\n \\n<$button class=\\\"tc-btn-invisible\\\" message=\\\"tm-perform-import\\\" param=<> actions=<> ><>\\n\\\\end\\n\\n\\\\whitespace trim\\n<$reveal type=\\\"popup\\\" state=<> tag=\\\"div\\\" class=\\\"tc-editor-importpopup\\\">\\n
\\n<$list filter=\\\"[field:plugin-type[import]]\\\">\\n

<>

\\n<$tiddler tiddler=<>>\\n{{||$:/core/ui/ImportListing}}\\n<>\\n\\n\\n
\\n\\n\"},\"$:/core/ui/EditorToolbar/heading-1\":{\"title\":\"$:/core/ui/EditorToolbar/heading-1\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/heading-1\",\"caption\":\"{{$:/language/Buttons/Heading1/Caption}}\",\"description\":\"{{$:/language/Buttons/Heading1/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"button-classes\":\"tc-text-editor-toolbar-item-start-group\",\"shortcuts\":\"((heading-1))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"!\\\"\\n\\tcount=\\\"1\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/heading-2\":{\"title\":\"$:/core/ui/EditorToolbar/heading-2\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/heading-2\",\"caption\":\"{{$:/language/Buttons/Heading2/Caption}}\",\"description\":\"{{$:/language/Buttons/Heading2/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((heading-2))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"!\\\"\\n\\tcount=\\\"2\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/heading-3\":{\"title\":\"$:/core/ui/EditorToolbar/heading-3\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/heading-3\",\"caption\":\"{{$:/language/Buttons/Heading3/Caption}}\",\"description\":\"{{$:/language/Buttons/Heading3/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((heading-3))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"!\\\"\\n\\tcount=\\\"3\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/heading-4\":{\"title\":\"$:/core/ui/EditorToolbar/heading-4\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/heading-4\",\"caption\":\"{{$:/language/Buttons/Heading4/Caption}}\",\"description\":\"{{$:/language/Buttons/Heading4/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((heading-4))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"!\\\"\\n\\tcount=\\\"4\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/heading-5\":{\"title\":\"$:/core/ui/EditorToolbar/heading-5\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/heading-5\",\"caption\":\"{{$:/language/Buttons/Heading5/Caption}}\",\"description\":\"{{$:/language/Buttons/Heading5/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((heading-5))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"!\\\"\\n\\tcount=\\\"5\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/heading-6\":{\"title\":\"$:/core/ui/EditorToolbar/heading-6\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/heading-6\",\"caption\":\"{{$:/language/Buttons/Heading6/Caption}}\",\"description\":\"{{$:/language/Buttons/Heading6/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((heading-6))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"!\\\"\\n\\tcount=\\\"6\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/italic\":{\"title\":\"$:/core/ui/EditorToolbar/italic\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/italic\",\"caption\":\"{{$:/language/Buttons/Italic/Caption}}\",\"description\":\"{{$:/language/Buttons/Italic/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((italic))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"//\\\"\\n\\tsuffix=\\\"//\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/line-width-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/line-width-dropdown\",\"text\":\"\\\\define lingo-base() $:/language/Buttons/LineWidth/\\n\\n\\\\define toolbar-line-width-inner()\\n<$button tag=\\\"a\\\" tooltip=\\\"\\\"\\\"$(line-width)$\\\"\\\"\\\">\\n\\n<$action-setfield\\n\\t$tiddler=\\\"$:/config/BitmapEditor/LineWidth\\\"\\n\\t$value=\\\"$(line-width)$\\\"\\n/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n
\\n\\n\\n\\n<$text text=\\\"\\\"\\\"$(line-width)$\\\"\\\"\\\"/>\\n\\n<$reveal state=\\\"$:/config/BitmapEditor/LineWidth\\\" type=\\\"match\\\" text=\\\"\\\"\\\"$(line-width)$\\\"\\\"\\\" tag=\\\"span\\\">\\n\\n<$entity entity=\\\" \\\"/>\\n\\n<$entity entity=\\\"✓\\\"/>\\n\\n\\n\\n\\n\\n\\n\\\\end\\n\\n''<>''\\n\\n<$list filter={{$:/config/BitmapEditor/LineWidths}} variable=\\\"line-width\\\">\\n\\n<>\\n\\n\\n\"},\"$:/core/ui/EditorToolbar/line-width\":{\"title\":\"$:/core/ui/EditorToolbar/line-width\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/line-width\",\"caption\":\"{{$:/language/Buttons/LineWidth/Caption}}\",\"description\":\"{{$:/language/Buttons/LineWidth/Hint}}\",\"condition\":\"[is[image]] -[type[image/svg+xml]]\",\"dropdown\":\"$:/core/ui/EditorToolbar/line-width-dropdown\",\"text\":\"<$text text={{$:/config/BitmapEditor/LineWidth}}/>\\n\"},\"$:/core/ui/EditorToolbar/link-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/link-dropdown\",\"text\":\"\\\\define lingo-base() $:/language/Buttons/Link/\\n\\n\\\\define add-link-actions()\\n\\\\whitespace trim\\n<$action-sendmessage $message=\\\"tm-edit-text-operation\\\" $param=\\\"make-link\\\" text={{$(linkTiddler)$}} />\\n<$action-deletetiddler $filter=\\\"[] [] [] [] []\\\"/>\\n\\\\end\\n\\n\\\\define get-focus-selector() [data-tiddler-title=\\\"$(cssEscapedTitle)$\\\"] .tc-create-wikitext-link input\\n\\n\\\\define cancel-search-actions-inner()\\n<$set name=\\\"userInput\\\" value={{{ [get[text]] }}}><$list filter=\\\"[get[text]!match]\\\" emptyMessage=\\\"<$action-deletetiddler $filter='[] [] [] []'/>\\\"><$action-setfield $tiddler=<> text=<>/><$action-setfield $tiddler=<> text=\\\"yes\\\"/>\\n\\\\end\\n\\n\\\\define cancel-search-actions() <$list filter=\\\"[!has[text]] +[!has[text]]\\\" emptyMessage=\\\"<>\\\"><$action-sendmessage $message=\\\"tm-edit-text-operation\\\" $param=\\\"focus-editor\\\"/>\\n\\n\\\\define external-link()\\n\\\\whitespace trim\\n<$button class=\\\"tc-btn-invisible tc-btn-mini\\\" style=\\\"width: auto; display: inline-block; background-colour: inherit;\\\" actions=<>>\\n{{$:/core/images/chevron-right}}\\n\\n\\\\end\\n\\n\\\\define set-next-input-tab(beforeafter:\\\"after\\\") <$macrocall $name=\\\"change-input-tab\\\" stateTitle=\\\"$:/state/tab/search-results/sidebar\\\" tag=\\\"$:/tags/SearchResults\\\" beforeafter=\\\"$beforeafter$\\\" defaultState={{$:/config/SearchResults/Default}} actions=\\\"<$action-setfield $tiddler='$:/state/search/currentTab' text=<>/>\\\"/>\\n\\n\\\\define body(config-title)\\n\\\\whitespace trim\\n''<>''\\n\\n<$vars searchTiddler=\\\"\\\"\\\"$config-title$/search\\\"\\\"\\\" linkTiddler=\\\"\\\"\\\"$config-title$/link\\\"\\\"\\\" linktext=\\\"\\\" searchListState=<> refreshTitle=<> storeTitle=<>>\\n\\n<$vars linkTiddler=<>>\\n<$keyboard key=\\\"((input-tab-right))\\\" actions=<>>\\n<$keyboard key=\\\"((input-tab-left))\\\" actions=<> class=\\\"tc-create-wikitext-link\\\">\\n<$macrocall $name=\\\"keyboard-driven-input\\\" tiddler=<> storeTitle=<>\\n\\t\\tselectionStateTitle=<> refreshTitle=<> type=\\\"search\\\" filterMinLength=\\\"1\\\"\\n\\t\\ttag=\\\"input\\\" focus=\\\"true\\\" class=\\\"tc-popup-handle\\\" inputCancelActions=<>\\n\\t\\tinputAcceptActions=<> placeholder={{$:/language/Search/Search}} default=\\\"\\\"\\n\\t\\tconfigTiddlerFilter=\\\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\\\" />\\n\\n\\n \\n<$reveal tag=\\\"span\\\" state=<> type=\\\"nomatch\\\" text=\\\"\\\">\\n<>\\n \\n<$button class=\\\"tc-btn-invisible tc-btn-mini\\\" style=\\\"width: auto; display: inline-block; background-colour: inherit;\\\">\\n<><$set name=\\\"cssEscapedTitle\\\" value={{{ [escapecss[]] }}}><$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=<>/>\\n{{$:/core/images/close-button}}\\n\\n\\n\\n\\n<$reveal tag=\\\"div\\\" state=<> type=\\\"nomatch\\\" text=\\\"\\\">\\n\\n<$linkcatcher actions=<> to=<>>\\n\\n<$vars userInput={{{ [get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}>\\n\\n{{$:/core/ui/SearchResults}}\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\\\end\\n\\n<$macrocall $name=\\\"body\\\" config-title=<>/>\\n\"},\"$:/core/ui/EditorToolbar/link\":{\"title\":\"$:/core/ui/EditorToolbar/link\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/link\",\"caption\":\"{{$:/language/Buttons/Link/Caption}}\",\"description\":\"{{$:/language/Buttons/Link/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"button-classes\":\"tc-text-editor-toolbar-item-start-group\",\"shortcuts\":\"((link))\",\"dropdown\":\"$:/core/ui/EditorToolbar/link-dropdown\",\"text\":\"\"},\"$:/core/ui/EditorToolbar/linkify\":{\"title\":\"$:/core/ui/EditorToolbar/linkify\",\"caption\":\"{{$:/language/Buttons/Linkify/Caption}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"description\":\"{{$:/language/Buttons/Linkify/Hint}}\",\"icon\":\"$:/core/images/linkify\",\"list-before\":\"$:/core/ui/EditorToolbar/mono-block\",\"shortcuts\":\"((linkify))\",\"tags\":\"$:/tags/EditorToolbar\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"[[\\\"\\n\\tsuffix=\\\"]]\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/list-bullet\":{\"title\":\"$:/core/ui/EditorToolbar/list-bullet\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/list-bullet\",\"caption\":\"{{$:/language/Buttons/ListBullet/Caption}}\",\"description\":\"{{$:/language/Buttons/ListBullet/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((list-bullet))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"*\\\"\\n\\tcount=\\\"1\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/list-number\":{\"title\":\"$:/core/ui/EditorToolbar/list-number\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/list-number\",\"caption\":\"{{$:/language/Buttons/ListNumber/Caption}}\",\"description\":\"{{$:/language/Buttons/ListNumber/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((list-number))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"#\\\"\\n\\tcount=\\\"1\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/mono-block\":{\"title\":\"$:/core/ui/EditorToolbar/mono-block\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/mono-block\",\"caption\":\"{{$:/language/Buttons/MonoBlock/Caption}}\",\"description\":\"{{$:/language/Buttons/MonoBlock/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"button-classes\":\"tc-text-editor-toolbar-item-start-group\",\"shortcuts\":\"((mono-block))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-lines\\\"\\n\\tprefix=\\\"\\n```\\\"\\n\\tsuffix=\\\"```\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/mono-line\":{\"title\":\"$:/core/ui/EditorToolbar/mono-line\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/mono-line\",\"caption\":\"{{$:/language/Buttons/MonoLine/Caption}}\",\"description\":\"{{$:/language/Buttons/MonoLine/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((mono-line))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"`\\\"\\n\\tsuffix=\\\"`\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/more-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/more-dropdown\",\"text\":\"\\\\define config-title()\\n$:/config/EditorToolbarButtons/Visibility/$(toolbarItem)$\\n\\\\end\\n\\n\\\\define conditional-button()\\n\\\\whitespace trim\\n<$list filter={{$(toolbarItem)$!!condition}} variable=\\\"condition\\\">\\n<$transclude tiddler=\\\"$:/core/ui/EditTemplate/body/toolbar/button\\\" mode=\\\"inline\\\"/>\\n \\n<$transclude tiddler=<> field=\\\"description\\\"/>\\n\\n\\\\end\\n\\\\whitespace trim\\n\\n
\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]] -[[$:/core/ui/EditorToolbar/more]]\\\">\\n<$reveal type=\\\"match\\\" state=<> text=\\\"hide\\\" tag=\\\"div\\\">\\n<>\\n\\n\\n
\\n\"},\"$:/core/ui/EditorToolbar/more\":{\"title\":\"$:/core/ui/EditorToolbar/more\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/down-arrow\",\"caption\":\"{{$:/language/Buttons/More/Caption}}\",\"description\":\"{{$:/language/Buttons/More/Hint}}\",\"condition\":\"[]\",\"dropdown\":\"$:/core/ui/EditorToolbar/more-dropdown\",\"text\":\"\"},\"$:/core/ui/EditorToolbar/opacity-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/opacity-dropdown\",\"text\":\"\\\\define lingo-base() $:/language/Buttons/Opacity/\\n\\n\\\\define toolbar-opacity-inner()\\n<$button tag=\\\"a\\\" tooltip=\\\"\\\"\\\"$(opacity)$\\\"\\\"\\\">\\n\\n<$action-setfield\\n\\t$tiddler=\\\"$:/config/BitmapEditor/Opacity\\\"\\n\\t$value=\\\"$(opacity)$\\\"\\n/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n
\\n\\n\\n\\n<$text text=\\\"\\\"\\\"$(opacity)$\\\"\\\"\\\"/>\\n\\n<$reveal state=\\\"$:/config/BitmapEditor/Opacity\\\" type=\\\"match\\\" text=\\\"\\\"\\\"$(opacity)$\\\"\\\"\\\" tag=\\\"span\\\">\\n\\n<$entity entity=\\\" \\\"/>\\n\\n<$entity entity=\\\"✓\\\"/>\\n\\n\\n\\n\\n\\n\\n\\\\end\\n\\n\\\\define toolbar-opacity()\\n''<>''\\n\\n<$list filter={{$:/config/BitmapEditor/Opacities}} variable=\\\"opacity\\\">\\n\\n<>\\n\\n\\n\\\\end\\n\\n<$set name=\\\"current-paint-colour\\\" value={{$:/config/BitmapEditor/Colour}}>\\n\\n<$set name=\\\"current-opacity\\\" value={{$:/config/BitmapEditor/Opacity}}>\\n\\n<>\\n\\n\\n\\n\\n\"},\"$:/core/ui/EditorToolbar/opacity\":{\"title\":\"$:/core/ui/EditorToolbar/opacity\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/opacity\",\"caption\":\"{{$:/language/Buttons/Opacity/Caption}}\",\"description\":\"{{$:/language/Buttons/Opacity/Hint}}\",\"condition\":\"[is[image]] -[type[image/svg+xml]]\",\"dropdown\":\"$:/core/ui/EditorToolbar/opacity-dropdown\",\"text\":\"<$text text={{$:/config/BitmapEditor/Opacity}}/>\\n\"},\"$:/core/ui/EditorToolbar/paint-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/paint-dropdown\",\"text\":\"''{{$:/language/Buttons/Paint/Hint}}''\\n\\n<$macrocall $name=\\\"colour-picker\\\" actions=\\\"\\\"\\\"\\n\\n<$action-setfield\\n\\t$tiddler=\\\"$:/config/BitmapEditor/Colour\\\"\\n\\t$value=<>\\n/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n\\\"\\\"\\\"/>\\n\"},\"$:/core/ui/EditorToolbar/paint\":{\"title\":\"$:/core/ui/EditorToolbar/paint\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/paint\",\"caption\":\"{{$:/language/Buttons/Paint/Caption}}\",\"description\":\"{{$:/language/Buttons/Paint/Hint}}\",\"condition\":\"[is[image]] -[type[image/svg+xml]]\",\"dropdown\":\"$:/core/ui/EditorToolbar/paint-dropdown\",\"text\":\"\\\\define toolbar-paint()\\n
\\n\\\\end\\n\\\\whitespace trim\\n<$set name=\\\"colour-picker-value\\\" value={{$:/config/BitmapEditor/Colour}}>\\n<>\\n\\n\"},\"$:/core/ui/EditorToolbar/picture-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/picture-dropdown\",\"text\":\"\\\\define replacement-text()\\n[img[$(imageTitle)$]]\\n\\\\end\\n\\n''{{$:/language/Buttons/Picture/Hint}}''\\n\\n<$macrocall $name=\\\"image-picker\\\" actions=\\\"\\\"\\\"\\n\\n<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"replace-selection\\\"\\n\\ttext=<>\\n/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n\\\"\\\"\\\"/>\\n\"},\"$:/core/ui/EditorToolbar/picture\":{\"title\":\"$:/core/ui/EditorToolbar/picture\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/picture\",\"caption\":\"{{$:/language/Buttons/Picture/Caption}}\",\"description\":\"{{$:/language/Buttons/Picture/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((picture))\",\"dropdown\":\"$:/core/ui/EditorToolbar/picture-dropdown\",\"text\":\"\"},\"$:/core/ui/EditorToolbar/preview-type-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/preview-type-dropdown\",\"text\":\"\\\\define preview-type-button()\\n<$button tag=\\\"a\\\">\\n\\n<$action-setfield $tiddler=\\\"$:/state/editpreviewtype\\\" $value=\\\"$(previewType)$\\\"/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n<$transclude tiddler=<> field=\\\"caption\\\" mode=\\\"inline\\\">\\n\\n<$view tiddler=<> field=\\\"title\\\" mode=\\\"inline\\\"/>\\n\\n \\n\\n<$reveal tag=\\\"span\\\" state=\\\"$:/state/editpreviewtype\\\" type=\\\"match\\\" text=<> default=\\\"$:/core/ui/EditTemplate/body/preview/output\\\">\\n\\n<$entity entity=\\\" \\\"/>\\n\\n<$entity entity=\\\"✓\\\"/>\\n\\n\\n\\n\\n\\\\end\\n\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]]\\\" variable=\\\"previewType\\\">\\n\\n<>\\n\\n\\n\"},\"$:/core/ui/EditorToolbar/preview-type\":{\"title\":\"$:/core/ui/EditorToolbar/preview-type\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/chevron-down\",\"caption\":\"{{$:/language/Buttons/PreviewType/Caption}}\",\"description\":\"{{$:/language/Buttons/PreviewType/Hint}}\",\"condition\":\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]butfirst[]limit[1]]\",\"button-classes\":\"tc-text-editor-toolbar-item-adjunct\",\"dropdown\":\"$:/core/ui/EditorToolbar/preview-type-dropdown\"},\"$:/core/ui/EditorToolbar/preview\":{\"title\":\"$:/core/ui/EditorToolbar/preview\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/preview-open\",\"custom-icon\":\"yes\",\"caption\":\"{{$:/language/Buttons/Preview/Caption}}\",\"description\":\"{{$:/language/Buttons/Preview/Hint}}\",\"condition\":\"[]\",\"button-classes\":\"tc-text-editor-toolbar-item-start-group\",\"shortcuts\":\"((preview))\",\"text\":\"\\\\whitespace trim\\n\\n\\t<$transclude $tiddler={{{ [get[text]match[yes]then[$:/core/images/preview-open]else[$:/core/images/preview-closed]] }}} />\\n\\n<$action-setfield $tiddler=<> $value={{{ [get[text]toggle[yes],[no]] }}} />\\n<$action-sendmessage $message=\\\"tm-edit-text-operation\\\" $param=\\\"focus-editor\\\"/>\"},\"$:/core/ui/EditorToolbar/quote\":{\"title\":\"$:/core/ui/EditorToolbar/quote\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/quote\",\"caption\":\"{{$:/language/Buttons/Quote/Caption}}\",\"description\":\"{{$:/language/Buttons/Quote/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((quote))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-lines\\\"\\n\\tprefix=\\\"\\n<<<\\\"\\n\\tsuffix=\\\"<<<\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/rotate-left\":{\"title\":\"$:/core/ui/EditorToolbar/rotate-left\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/rotate-left\",\"caption\":\"{{$:/language/Buttons/RotateLeft/Caption}}\",\"description\":\"{{$:/language/Buttons/RotateLeft/Hint}}\",\"condition\":\"[is[image]] -[type[image/svg+xml]]\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-bitmap-operation\\\"\\n\\t$param=\\\"rotate-left\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/size-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/size-dropdown\",\"text\":\"\\\\define lingo-base() $:/language/Buttons/Size/\\n\\n\\\\define toolbar-button-size-preset(config-title)\\n<$set name=\\\"width\\\" filter=\\\"$(sizePair)$ +[first[]]\\\">\\n\\n<$set name=\\\"height\\\" filter=\\\"$(sizePair)$ +[last[]]\\\">\\n\\n<$button tag=\\\"a\\\">\\n\\n<$action-setfield\\n\\t$tiddler=\\\"\\\"\\\"$config-title$/new-width\\\"\\\"\\\"\\n\\t$value=<>\\n/>\\n\\n<$action-setfield\\n\\t$tiddler=\\\"\\\"\\\"$config-title$/new-height\\\"\\\"\\\"\\n\\t$value=<>\\n/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=\\\"\\\"\\\"$config-title$/presets-popup\\\"\\\"\\\"\\n/>\\n\\n<$text text=<>/> × <$text text=<>/>\\n\\n\\n\\n\\n\\n\\n\\\\end\\n\\n\\\\define toolbar-button-size(config-title)\\n\\\\whitespace trim\\n''{{$:/language/Buttons/Size/Hint}}''\\n\\n<> <$edit-text tag=\\\"input\\\" tiddler=\\\"\\\"\\\"$config-title$/new-width\\\"\\\"\\\" default=<> focus=\\\"true\\\" size=\\\"8\\\"/>\\n \\n<> <$edit-text tag=\\\"input\\\" tiddler=\\\"\\\"\\\"$config-title$/new-height\\\"\\\"\\\" default=<> size=\\\"8\\\"/>\\n \\n<$button popup=\\\"\\\"\\\"$config-title$/presets-popup\\\"\\\"\\\" class=\\\"tc-btn-invisible tc-popup-keep\\\" style=\\\"width: auto; display: inline-block; background-colour: inherit;\\\" selectedClass=\\\"tc-selected\\\">\\n{{$:/core/images/down-arrow}}\\n\\n\\n<$reveal tag=\\\"span\\\" state=\\\"\\\"\\\"$config-title$/presets-popup\\\"\\\"\\\" type=\\\"popup\\\" position=\\\"belowleft\\\" animate=\\\"yes\\\">\\n\\n
\\n\\n<$list filter={{$:/config/BitmapEditor/ImageSizes}} variable=\\\"sizePair\\\">\\n\\n<$macrocall $name=\\\"toolbar-button-size-preset\\\" config-title=\\\"$config-title$\\\"/>\\n\\n\\n\\n
\\n\\n\\n\\n<$button>\\n<$action-sendmessage\\n\\t$message=\\\"tm-edit-bitmap-operation\\\"\\n\\t$param=\\\"resize\\\"\\n\\twidth={{$config-title$/new-width}}\\n\\theight={{$config-title$/new-height}}\\n/>\\n<$action-deletetiddler\\n\\t$tiddler=\\\"\\\"\\\"$config-title$/new-width\\\"\\\"\\\"\\n/>\\n<$action-deletetiddler\\n\\t$tiddler=\\\"\\\"\\\"$config-title$/new-height\\\"\\\"\\\"\\n/>\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n<>\\n\\n\\\\end\\n\\n<$macrocall $name=\\\"toolbar-button-size\\\" config-title=<>/>\\n\"},\"$:/core/ui/EditorToolbar/size\":{\"title\":\"$:/core/ui/EditorToolbar/size\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/size\",\"caption\":\"{{$:/language/Buttons/Size/Caption}}\",\"description\":\"{{$:/language/Buttons/Size/Hint}}\",\"condition\":\"[is[image]] -[type[image/svg+xml]]\",\"dropdown\":\"$:/core/ui/EditorToolbar/size-dropdown\",\"text\":\"\"},\"$:/core/ui/EditorToolbar/StampDropdown/ItemTemplate\":{\"title\":\"$:/core/ui/EditorToolbar/StampDropdown/ItemTemplate\",\"text\":\"<$linkcatcher actions=\\\"\\\"\\\"\\n\\n<$list filter=\\\"[!match[ctrl]]\\\" variable=\\\"ignore\\\">\\n\\n<$list filter=\\\"[addsuffix[/prefix]!is[tiddler]!is[shadow]removesuffix[/prefix]addsuffix[/suffix]!is[tiddler]!is[shadow]]\\\" variable=\\\"ignore\\\">\\n\\n<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"replace-selection\\\"\\n\\ttext={{{ [get[text]] }}}\\n/>\\n\\n\\n\\n\\n<$list filter=\\\"[addsuffix[/prefix]] [addsuffix[/suffix]] +[is[shadow]] :else[is[tiddler]] +[limit[1]]\\\" variable=\\\"ignore\\\">\\n\\n<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix={{{ [addsuffix[/prefix]get[text]] }}}\\n suffix={{{ [addsuffix[/suffix]get[text]] }}}\\n/>\\n\\n\\n\\n\\n\\n<$list filter=\\\"[match[ctrl]]\\\" variable=\\\"ignore\\\">\\n\\n<$action-sendmessage $message=\\\"tm-edit-tiddler\\\"/>\\n\\n\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n\\\"\\\"\\\">\\n\\n<$link tooltip={{{ [get[description]] }}}>\\n\\n<$transclude tiddler=<> field=\\\"caption\\\" mode=\\\"inline\\\">\\n\\n<$view tiddler=<> field=\\\"title\\\" />\\n\\n\\n\\n\\n\\n\\n\"},\"$:/core/ui/EditorToolbar/stamp-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/stamp-dropdown\",\"text\":\"<$macrocall $name=\\\"list-tagged-draggable\\\" tag=\\\"$:/tags/TextEditor/Snippet\\\" subFilter=\\\"!is[draft]\\\" itemTemplate=\\\"$:/core/ui/EditorToolbar/StampDropdown/ItemTemplate\\\"/>\\n\\n----\\n\\n<$button tag=\\\"a\\\">\\n\\n<$action-sendmessage\\n\\t$message=\\\"tm-new-tiddler\\\"\\n\\ttags=\\\"$:/tags/TextEditor/Snippet\\\"\\n\\tcaption={{$:/language/Buttons/Stamp/New/Title}}\\n\\ttext={{$:/language/Buttons/Stamp/New/Text}}\\n/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n\\n\\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\\n\\n\\n\\n\\n\"},\"$:/core/ui/EditorToolbar/stamp\":{\"title\":\"$:/core/ui/EditorToolbar/stamp\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/stamp\",\"caption\":\"{{$:/language/Buttons/Stamp/Caption}}\",\"description\":\"{{$:/language/Buttons/Stamp/Hint}}\",\"condition\":\"[type[]] [get[type]prefix[text/]] [get[type]match[application/javascript]] [get[type]match[application/json]] [get[type]match[application/x-tiddler-dictionary]] [get[type]match[image/svg+xml]] +[first[]]\",\"shortcuts\":\"((stamp))\",\"dropdown\":\"$:/core/ui/EditorToolbar/stamp-dropdown\",\"button-classes\":\"tc-editortoolbar-stamp-button\",\"text\":\"\"},\"$:/core/ui/EditorToolbar/strikethrough\":{\"title\":\"$:/core/ui/EditorToolbar/strikethrough\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/strikethrough\",\"caption\":\"{{$:/language/Buttons/Strikethrough/Caption}}\",\"description\":\"{{$:/language/Buttons/Strikethrough/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((strikethrough))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"~~\\\"\\n\\tsuffix=\\\"~~\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/subscript\":{\"title\":\"$:/core/ui/EditorToolbar/subscript\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/subscript\",\"caption\":\"{{$:/language/Buttons/Subscript/Caption}}\",\"description\":\"{{$:/language/Buttons/Subscript/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((subscript))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\",,\\\"\\n\\tsuffix=\\\",,\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/superscript\":{\"title\":\"$:/core/ui/EditorToolbar/superscript\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/superscript\",\"caption\":\"{{$:/language/Buttons/Superscript/Caption}}\",\"description\":\"{{$:/language/Buttons/Superscript/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((superscript))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"^^\\\"\\n\\tsuffix=\\\"^^\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/transcludify\":{\"title\":\"$:/core/ui/EditorToolbar/transcludify\",\"caption\":\"{{$:/language/Buttons/Transcludify/Caption}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"description\":\"{{$:/language/Buttons/Transcludify/Hint}}\",\"icon\":\"$:/core/images/transcludify\",\"list-before\":\"$:/core/ui/EditorToolbar/mono-block\",\"shortcuts\":\"((transcludify))\",\"tags\":\"$:/tags/EditorToolbar\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"{{\\\"\\n\\tsuffix=\\\"}}\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/underline\":{\"title\":\"$:/core/ui/EditorToolbar/underline\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/underline\",\"caption\":\"{{$:/language/Buttons/Underline/Caption}}\",\"description\":\"{{$:/language/Buttons/Underline/Hint}}\",\"condition\":\"[!has[type]] [type[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((underline))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"__\\\"\\n\\tsuffix=\\\"__\\\"\\n/>\\n\"},\"$:/core/ui/ExportTiddlyWikiCore\":{\"title\":\"$:/core/ui/ExportTiddlyWikiCore\",\"text\":\"\\\\define jsFileName() tiddlywikicore-$(version)$.js\\n\\\\define noExportMsg()\\nIt appears that you have a wiki with an external ~TiddlyWiki core. The export action cannot be performed.\\n

You will need to view the page source in your browser. Then go to the very bottom the the source, find the last `\\n\\n`\\n\"},\"$:/core/templates/html-div-skinny-tiddler\":{\"title\":\"$:/core/templates/html-div-skinny-tiddler\",\"text\":\"``>\\n

\\n
`\\n\"},\"$:/core/templates/html-div-tiddler\":{\"title\":\"$:/core/templates/html-div-tiddler\",\"text\":\"``>\\n
`<$view field=\\\"text\\\" format=\\\"htmltextencoded\\\" />`
\\n
`\\n\"},\"$:/core/templates/html-json-skinny-tiddler\":{\"title\":\"$:/core/templates/html-json-skinny-tiddler\",\"text\":\"<$text text=<>/><$jsontiddler tiddler=<> exclude=\\\"text\\\" escapeUnsafeScriptChars=\\\"yes\\\"/>\\n\"},\"$:/core/templates/html-json-tiddler\":{\"title\":\"$:/core/templates/html-json-tiddler\",\"text\":\"<$jsontiddler tiddler=<> escapeUnsafeScriptChars=\\\"yes\\\"/>\"},\"$:/core/templates/html-tiddler\":{\"title\":\"$:/core/templates/html-tiddler\",\"text\":\"<$view field=\\\"text\\\" format=\\\"htmlwikified\\\" />\"},\"$:/core/templates/javascript-tiddler\":{\"title\":\"$:/core/templates/javascript-tiddler\",\"text\":\"`` type=\\\"text/javascript\\\">`<$view field=\\\"text\\\" format=\\\"text\\\" />``\"},\"$:/core/templates/json-tiddler\":{\"title\":\"$:/core/templates/json-tiddler\",\"text\":\"<$text text=<>/>\"},\"$:/core/templates/module-tiddler\":{\"title\":\"$:/core/templates/module-tiddler\",\"text\":\"`` type=\\\"text/javascript\\\" data-module=\\\"yes\\\">$tw.modules.define(\\\"`<$view field=\\\"title\\\" format=\\\"jsencoded\\\" />`\\\",\\\"`<$view field=\\\"module-type\\\" format=\\\"jsencoded\\\" />`\\\",function(module,exports,require) {`<$view field=\\\"text\\\" format=\\\"text\\\" />`});\\n`\"},\"$:/core/templates/plain-text-tiddler\":{\"title\":\"$:/core/templates/plain-text-tiddler\",\"text\":\"<$view field=\\\"text\\\" format=\\\"text\\\" />\"},\"$:/core/templates/raw-static-tiddler\":{\"title\":\"$:/core/templates/raw-static-tiddler\",\"text\":\"<$view field=\\\"text\\\" format=\\\"plainwikified\\\" />\"},\"$:/core/save/all\":{\"title\":\"$:/core/save/all\",\"text\":\"\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n\\\\define saveTiddlerFilter()\\n[is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\\n\\\\end\\n{{$:/core/templates/tiddlywiki5.html}}\\n\"},\"$:/core/save/empty\":{\"title\":\"$:/core/save/empty\",\"text\":\"\\\\define saveTiddlerFilter()\\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\\n\\\\end\\n{{$:/core/templates/tiddlywiki5.html}}\\n\"},\"$:/core/save/lazy-all\":{\"title\":\"$:/core/save/lazy-all\",\"text\":\"\\\\define saveTiddlerFilter()\\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] [is[tiddler]type[application/javascript]] +[sort[title]]\\n\\\\end\\n\\\\define skinnySaveTiddlerFilter()\\n[!is[system]] -[type[application/javascript]]\\n\\\\end\\n{{$:/core/templates/tiddlywiki5.html}}\\n\"},\"$:/core/save/lazy-images\":{\"title\":\"$:/core/save/lazy-images\",\"text\":\"\\\\define saveTiddlerFilter()\\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[!is[system]is[image]] +[sort[title]] \\n\\\\end\\n\\\\define skinnySaveTiddlerFilter()\\n[!is[system]is[image]]\\n\\\\end\\n{{$:/core/templates/tiddlywiki5.html}}\\n\"},\"$:/core/templates/server/static.sidebar.wikitext\":{\"title\":\"$:/core/templates/server/static.sidebar.wikitext\",\"text\":\"\\\\whitespace trim\\n
\\n
\\n

\\n<$transclude tiddler=\\\"$:/SiteTitle\\\"/>\\n

\\n
\\n<$transclude tiddler=\\\"$:/SiteSubtitle\\\"/>\\n
\\n

\\n

\\n
\\n<$list filter={{$:/DefaultTiddlers}}>\\n
\\n<$link><$text text=<>/>\\n
\\n\\n
\\n\\n\"},\"$:/core/templates/server/static.tiddler.html\":{\"title\":\"$:/core/templates/server/static.tiddler.html\",\"text\":\"\\\\whitespace trim\\n\\\\define tv-config-static() yes\\n\\\\define tv-wikilink-template() $uri_encoded$\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n<$view field=\\\"caption\\\" format=\\\"plainwikified\\\"><$view field=\\\"title\\\"/></$view>: <$view tiddler=\\\"$:/core/wiki/title\\\" format=\\\"plainwikified\\\"/>\\n\\n\\n<$transclude tiddler=\\\"$:/core/templates/server/static.sidebar.wikitext\\\" mode=\\\"inline\\\"/>\\n
\\n
\\n<$transclude tiddler=\\\"$:/core/templates/server/static.tiddler.wikitext\\\" mode=\\\"inline\\\"/>\\n
\\n
\\n\\n\"},\"$:/core/templates/server/static.tiddler.wikitext\":{\"title\":\"$:/core/templates/server/static.tiddler.wikitext\",\"text\":\"\\\\whitespace trim\\n
\\n
\\n

<$text text=<>/>

\\n
\\n
\\n
\\n<$link to={{!!modifier}}>\\n<$view field=\\\"modifier\\\"/>\\n <$view field=\\\"modified\\\" format=\\\"date\\\" template={{$:/language/Tiddler/DateFormat}}/>\\n
\\n
\\n<$list filter=\\\"[all[current]tags[]sort[title]]\\\">\\nencodeuricomponent[]] }}}>\\n<$macrocall $name=\\\"tag-pill\\\" tag=<>/>\\n\\n\\n
\\n
\\n<$transclude mode=\\\"block\\\"/>\\n
\\n\"},\"$:/core/templates/single.tiddler.window\":{\"title\":\"$:/core/templates/single.tiddler.window\",\"text\":\"\\\\whitespace trim\\n\\\\define containerClasses()\\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\\n\\\\end\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n\\n<$vars\\n\\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\\n\\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\\n\\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\\n\\ttv-show-missing-links={{$:/config/MissingLinks}}\\n\\tstoryviewTitle={{$:/view}}\\n\\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\\n\\n
>>\\n\\n<$navigator story=\\\"$:/StoryList\\\" history=\\\"$:/HistoryList\\\">\\n\\n<$transclude tiddler=\\\"$:/core/ui/ViewTemplate/body\\\" mode=\\\"block\\\"/>\\n\\n\\n\\n
\\n\\n\\n\"},\"$:/core/templates/social-metadata\":{\"title\":\"$:/core/templates/social-metadata\",\"tags\":\"$:/tags/RawMarkupWikified\",\"text\":\"\\\\procedure meta-plain(name,source,name-attribute:\\\"name\\\")\\n\\\\whitespace trim\\n<%if [has[text]] %>\\n\\t<meta <$text text=<>/>=\\\"<$text text=<>/>\\\" content=\\\"<$text text={{{ [get[text]encodehtml[]] }}}/>\\\">\\n\\t<$text text={{{ [charcode[10]] }}}/>\\n<%endif%>\\n\\\\end meta-plain\\n\\n\\\\procedure meta-wikified(name,source,name-attribute:\\\"name\\\")\\n\\\\whitespace trim\\n<%if [has[text]] %>\\n\\t<$wikify name=\\\"html\\\" text={{{ [get[text]] }}} output=\\\"text\\\">\\n\\t\\t<meta <$text text=<>/>=\\\"<$text text=<>/>\\\" content=\\\"<$text text={{{ [encodehtml[]] }}}/>\\\">\\n\\t\\t<$text text={{{ [charcode[10]] }}}/>\\n\\t\\n<%endif%>\\n\\\\end meta-wikified\\n\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock conditional commentinline commentblock\\n<>\\n\\n\\n<>\\n<>\\n<>\\n<>\\n<>\\n\\n\\n<>\\n<>\\n<>\\n<>\\n<>\\n<>\\n\"},\"$:/core/templates/split-recipe\":{\"title\":\"$:/core/templates/split-recipe\",\"text\":\"<$list filter=\\\"[!is[system]]\\\">\\ntiddler: <$view field=\\\"title\\\" format=\\\"urlencoded\\\"/>.tid\\n\\n\"},\"$:/core/templates/static-tiddler\":{\"title\":\"$:/core/templates/static-tiddler\",\"text\":\">>\\n<$transclude tiddler=\\\"$:/core/ui/ViewTemplate\\\"/>\\n\"},\"$:/core/templates/static.area\":{\"title\":\"$:/core/templates/static.area\",\"text\":\"<$reveal type=\\\"nomatch\\\" state=\\\"$:/isEncrypted\\\" text=\\\"yes\\\">\\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawStaticContent]!has[draft.of]] ||$:/core/templates/raw-static-tiddler}}}\\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\\n\\n<$reveal type=\\\"match\\\" state=\\\"$:/isEncrypted\\\" text=\\\"yes\\\">\\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\\n\\n\\n``\\n\"},\"$:/core/templates/static.content\":{\"title\":\"$:/core/templates/static.content\",\"text\":\"\\nThis [[TiddlyWiki|https://tiddlywiki.com]] contains the following tiddlers:\\n\\n
    \\n<$list filter=<>>\\n
  • <$view field=\\\"title\\\" format=\\\"text\\\">
  • \\n\\n
\\n\"},\"$:/core/templates/static.template.css\":{\"title\":\"$:/core/templates/static.template.css\",\"text\":\"{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\\n\\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\\n\"},\"$:/core/templates/static.template.html\":{\"title\":\"$:/core/templates/static.template.html\",\"type\":\"text/vnd.tiddlywiki-html\",\"text\":\"\\\\define tv-config-static() yes\\n\\\\define tv-wikilink-template() static/$uri_doubleencoded$.html\\n\\\\define tv-config-toolbar-icons() no\\n\\\\define tv-config-toolbar-text() no\\n\\\\define tv-config-toolbar-class() tc-btn-invisible\\n\\\\rules only filteredtranscludeinline transcludeinline\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n{{$:/core/wiki/title}}\\n
\\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\\n
\\n\\n\\n\\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\\n\\n\\n\"},\"$:/core/templates/static.tiddler.html\":{\"title\":\"$:/core/templates/static.tiddler.html\",\"text\":\"\\\\define tv-wikilink-template() $uri_doubleencoded$.html\\n\\\\define tv-config-static() yes\\n\\\\define tv-config-toolbar-icons() no\\n\\\\define tv-config-toolbar-text() no\\n\\\\define tv-config-toolbar-class() tc-btn-invisible\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n`\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n`<$view field=\\\"caption\\\"><$view field=\\\"title\\\"/></$view>: {{$:/core/wiki/title}}`\\n\\n\\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\\n
\\n`<$view tiddler=\\\"$:/core/ui/ViewTemplate\\\" format=\\\"htmlwikified\\\"/>`\\n
\\n\\n\\n`\\n\"},\"$:/core/templates/store.area.template.html\":{\"title\":\"$:/core/templates/store.area.template.html\",\"text\":\"\\\\whitespace trim\\n\\n<$list filter=\\\"[[$:/isEncrypted]get[text]else[no]match[no]]\\\">\\n <$list filter=\\\"[[storeAreaFormat]is[variable]getvariable[]else[json]match[json]]\\\">\\n \\n ``\\n `
`\\n `
`\\n \\n <$list filter=\\\"[[storeAreaFormat]is[variable]getvariable[]else[json]match[div]]\\\">\\n \\n <$reveal type=\\\"nomatch\\\" state=\\\"$:/isEncrypted\\\" text=\\\"yes\\\">\\n `
`\\n <$list filter={{{ [] }}} template=\\\"$:/core/templates/html-div-tiddler\\\"/>\\n <$list filter=\\\"[subfilter]\\\" template=\\\"$:/core/templates/html-div-skinny-tiddler\\\"/>\\n `
`\\n \\n \\n\\n\\n<$list filter=\\\"[[$:/isEncrypted]get[text]else[no]match[yes]]\\\">\\n ``\\n `
`\\n        <$encrypt filter=<>/>\\n    `
`\\n\"},\"$:/core/templates/tid-tiddler\":{\"title\":\"$:/core/templates/tid-tiddler\",\"text\":\"<$fields exclude='text bag' template='$name$: $value$\\n'>`\\n`<$view field=\\\"text\\\" format=\\\"text\\\" />\"},\"$:/core/templates/tiddler-metadata\":{\"title\":\"$:/core/templates/tiddler-metadata\",\"text\":\"<$fields exclude='text bag' template='$name$: $value$\\n'>\"},\"$:/core/templates/tiddlywiki5.html\":{\"title\":\"$:/core/templates/tiddlywiki5.html\",\"text\":\"<$set name=\\\"saveTiddlerAndShadowsFilter\\\" filter=\\\"[subfilter] [subfilterplugintiddlers[]]\\\">\\n`\\n`{{$:/core/templates/MOTW.html}}``\\\">\\n\\n\\n\\n`{{{ [enlisttag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}`\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n`{{$:/core/wiki/title}}`\\n\\n\\n\\n`{{{ [enlisttag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}\\n{{{ [enlisttag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\\n{{{ [enlisttag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`\\n\\n\\n\\n`{{{ [enlisttag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}`\\n\\n
\\n`{{$:/boot/boot.css||$:/core/templates/css-tiddler}}`\\n
\\n\\n\\n\\n`{{$:/core/templates/store.area.template.html}}`\\n\\n
\\n`{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}`\\n
\\n\\n
\\n`{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}`\\n
\\n\\n
\\n`{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}`\\n
\\n\\n`{{{ [enlisttag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`\\n\\n`\\n\\n\"},\"$:/core/templates/version\":{\"title\":\"$:/core/templates/version\",\"text\":\"<>\"},\"$:/core/templates/wikified-tiddler\":{\"title\":\"$:/core/templates/wikified-tiddler\",\"text\":\"<$transclude />\"},\"$:/core/ui/AboveStory/tw2-plugin-check\":{\"title\":\"$:/core/ui/AboveStory/tw2-plugin-check\",\"tags\":\"$:/tags/AboveStory\",\"text\":\"\\\\define lingo-base() $:/language/AboveStory/ClassicPlugin/\\n<$list filter=\\\"[all[system+tiddlers]tag[systemConfig]limit[1]]\\\">\\n\\n
\\n\\n<>\\n\\n
    \\n\\n<$list filter=\\\"[all[system+tiddlers]tag[systemConfig]]\\\">\\n\\n
  • \\n\\n<$link><$view field=\\\"title\\\"/>\\n\\n
  • \\n\\n\\n\\n
\\n\\n
\\n\\n\\n\"},\"$:/core/ui/Actions/new-image\":{\"title\":\"$:/core/ui/Actions/new-image\",\"tags\":\"$:/tags/Actions\",\"description\":\"create a new image tiddler\",\"text\":\"\\\\whitespace trim\\n<$action-sendmessage $message=\\\"tm-new-tiddler\\\" type={{{ [{$:/config/NewImageType}addprefix[image/]] }}}/>\\n\"},\"$:/core/ui/Actions/new-journal\":{\"title\":\"$:/core/ui/Actions/new-journal\",\"tags\":\"$:/tags/Actions\",\"description\":\"create a new journal tiddler\",\"text\":\"\\\\whitespace trim\\n\\\\function get-tags() [] [] +[join[ ]]\\n<$let journalTitleTemplate={{$:/config/NewJournal/Title}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>\\n<$wikify name=\\\"journalTitle\\\" text=\\\"<$transclude $variable='now' format=<>/>\\\">\\n<$reveal type=\\\"nomatch\\\" state=<> text=\\\"\\\">\\n<$action-sendmessage $message=\\\"tm-new-tiddler\\\" title=<> tags=<> text={{{ [get[]] }}}/>\\n\\n<$reveal type=\\\"match\\\" state=<> text=\\\"\\\">\\n<$action-sendmessage $message=\\\"tm-new-tiddler\\\" title=<> tags=<> text=<>/>\\n\\n\\n\\n\"},\"$:/core/ui/Actions/new-tiddler\":{\"title\":\"$:/core/ui/Actions/new-tiddler\",\"tags\":\"$:/tags/Actions\",\"description\":\"create a new empty tiddler\",\"text\":\"\\\\whitespace trim\\n\\\\function get-tags() [] [] +[join[ ]]\\n<$let textFieldTags={{$:/config/NewTiddler/Tags}} tagsFieldTags={{$:/config/NewTiddler/Tags!!tags}}>\\n<$action-sendmessage $message=\\\"tm-new-tiddler\\\" tags=<>/>\\n\\n\"},\"$:/core/ui/AdvancedSearch/Filter\":{\"title\":\"$:/core/ui/AdvancedSearch/Filter\",\"tags\":\"$:/tags/AdvancedSearch\",\"caption\":\"{{$:/language/Search/Filter/Caption}}\",\"text\":\"\\\\procedure lingo-base() $:/language/Search/\\n\\\\procedure set-next-input-tab()\\n<$transclude $variable=\\\"change-input-tab\\\"\\n\\tstateTitle=\\\"$:/state/tab--1498284803\\\"\\n\\ttag=\\\"$:/tags/AdvancedSearch\\\"\\n\\tbeforeafter=\\\"after\\\"\\n\\tdefaultState=\\\"$:/core/ui/AdvancedSearch/System\\\"\\n\\tactions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<>/>\\\"\\n/>\\n\\\\end\\n\\n\\\\procedure set-previous-input-tab()\\n<$transclude $variable=\\\"change-input-tab\\\"\\n\\tstateTitle=\\\"$:/state/tab--1498284803\\\"\\n\\ttag=\\\"$:/tags/AdvancedSearch\\\"\\n\\tbeforeafter=\\\"before\\\"\\n\\tdefaultState=\\\"$:/core/ui/AdvancedSearch/System\\\"\\n\\tactions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<>/>\\\"\\n/>\\n\\\\end\\n\\n\\\\procedure cancel-search-actions()\\n\\\\whitespace trim\\n<$list filter=\\\"[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]\\\">\\n\\t<$list-empty>\\n\\t\\t<$action-deletetiddler $filter=\\\"[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]\\\"/>\\n\\t\\n\\t<$action-setfield $tiddler=\\\"$:/temp/advancedsearch/input\\\" text={{$:/temp/advancedsearch}}/>\\n\\t<$action-setfield $tiddler=\\\"$:/temp/advancedsearch/refresh\\\" text=\\\"yes\\\"/>\\n\\n\\\\end\\n\\n\\\\procedure input-accept-actions()\\n\\\\whitespace trim\\n<$list filter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\">\\n\\t<$list-empty>\\n\\t\\t<$list filter=\\\"[get[text]!is[missing]] :else[get[text]is[shadow]]\\\">\\n\\t\\t\\t<$action-navigate $to={{{ [get[text]] }}}/>\\n\\t\\t\\n\\t<$/list-empty>\\n\\t<$action-navigate $to={{{ [get[text]] }}}/>\\n\\n\\\\end\\n\\n\\\\procedure input-accept-variant-actions()\\n\\\\whitespace trim\\n<$list filter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\">\\n\\t<$list-empty>\\n\\t\\t<$list filter=\\\"[get[text]!is[missing]] :else[get[text]is[shadow]]\\\">\\n\\t\\t\\t<$list filter=\\\"[<__tiddler__>get[text]minlength[1]]\\\">\\n\\t\\t\\t\\t<$action-sendmessage $message=\\\"tm-edit-tiddler\\\" $param={{{ [get[text]] }}}/>\\n\\t\\t\\t\\n\\t\\t\\n\\t\\n\\t<$list filter=\\\"[get[text]minlength[1]]\\\">\\n\\t\\t<$action-sendmessage $message=\\\"tm-edit-tiddler\\\" $param={{{ [get[text]] }}}/>\\n\\t\\n\\n\\\\end\\n\\n\\\\whitespace trim\\n\\n<>\\n\\n\\n\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\" tag=\\\"div\\\" class=\\\"tc-search-results\\\">\\n\\t<$set name=\\\"resultCount\\\" value=\\\"<$count filter={{$:/temp/advancedsearch}}/>\\\">\\n\\t\\t

<>

\\n\\t\\t<$list filter={{$:/temp/advancedsearch}}>\\n\\t\\t\\taddsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>\\n\\t\\t\\t\\t<$transclude tiddler=\\\"$:/core/ui/ListItemTemplate\\\"/>\\n\\t\\t\\t\\n\\t\\t\\n\\t\\n\\n\"},\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear\":{\"title\":\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear\",\"tags\":\"$:/tags/AdvancedSearch/FilterButton\",\"text\":\"\\\\whitespace trim\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$button class=\\\"tc-btn-invisible\\\">\\n<>\\n<$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\"\\\"\\\".tc-advanced-search input\\\"\\\"\\\" />\\n{{$:/core/images/close-button}}\\n\\n\\n\"},\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete\":{\"title\":\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete\",\"tags\":\"$:/tags/AdvancedSearch/FilterButton\",\"text\":\"\\\\whitespace trim\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$button tooltip={{$:/language/Buttons/DeleteTiddlers/Hint}} popup=<> class=\\\"tc-btn-invisible\\\">\\n{{$:/core/images/delete-button}}\\n\\n\\n\\n<$reveal state=<> type=\\\"popup\\\" position=\\\"belowleft\\\" animate=\\\"yes\\\">\\n
\\n
\\n
\\n<$set name=\\\"resultCount\\\" value=\\\"\\\"\\\"<$count filter={{$:/temp/advancedsearch}}/>\\\"\\\"\\\">\\n{{$:/language/ConfirmDeleteTiddlers}}\\n\\n
\\n
\\n<$button class=\\\"tc-btn\\\">\\n<$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>\\n{{$:/language/Buttons/DeleteTiddlers/Hint}}\\n\\n
\\n
\\n
\\n\\n\"},\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown\":{\"title\":\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown\",\"tags\":\"$:/tags/AdvancedSearch/FilterButton\",\"text\":\"\\\\whitespace trim\\n\\n\\n<$button popup=<> class=\\\"tc-btn-invisible\\\">\\n{{$:/core/images/down-arrow}}\\n\\n\\n\\n<$reveal state=<> type=\\\"popup\\\" position=\\\"belowleft\\\" animate=\\\"yes\\\">\\n<$set name=\\\"tv-show-missing-links\\\" value=\\\"yes\\\">\\n<$linkcatcher actions=\\\"<$action-setfield $tiddler='$:/temp/advancedsearch' text=<>/><$action-setfield $tiddler='$:/temp/advancedsearch/input' text=<>/><$action-setfield $tiddler='$:/temp/advancedsearch/refresh' text='yes'/><$action-sendmessage $message='tm-focus-selector' $param='.tc-advanced-search input' />\\\">\\n
\\n
\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/Filter]!is[draft]]\\\">\\n<$link to={{!!filter}}><$let tv-wikilinks=\\\"no\\\"><$transclude field=\\\"description\\\"/>\\n\\n
\\n
\\n\\n\\n\\n\"},\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/export\":{\"title\":\"$:/core/ui/AdvancedSearch/Filter/FilterButtons/export\",\"tags\":\"$:/tags/AdvancedSearch/FilterButton\",\"text\":\"\\\\whitespace trim\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$macrocall $name=\\\"exportButton\\\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\\\"$:/language/Buttons/ExportTiddlers/\\\"/>\\n\\n\"},\"$:/core/ui/AdvancedSearch/Shadows\":{\"title\":\"$:/core/ui/AdvancedSearch/Shadows\",\"tags\":\"$:/tags/AdvancedSearch\",\"caption\":\"{{$:/language/Search/Shadows/Caption}}\",\"first-search-filter\":\"[all[shadows]searchsort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]\",\"text\":\"\\\\procedure lingo-base() $:/language/Search/\\n\\n\\\\procedure set-next-input-tab()\\n<$transclude $variable=\\\"change-input-tab\\\"\\n\\tstateTitle=\\\"$:/state/tab--1498284803\\\"\\n\\ttag=\\\"$:/tags/AdvancedSearch\\\"\\n\\tbeforeafter=\\\"after\\\"\\n\\tdefaultState=\\\"$:/core/ui/AdvancedSearch/System\\\"\\n\\tactions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<>/>\\\"/>\\n\\\\end\\n\\n\\\\procedure set-previous-input-tab()\\n<$transclude $variable=\\\"change-input-tab\\\"\\n\\tstateTitle=\\\"$:/state/tab--1498284803\\\"\\n\\ttag=\\\"$:/tags/AdvancedSearch\\\"\\n\\tbeforeafter=\\\"before\\\"\\n\\tdefaultState=\\\"$:/core/ui/AdvancedSearch/System\\\"\\n\\tactions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<>/>\\\"/>\\n\\\\end\\n\\n\\\\procedure cancel-search-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\\\"\\n\\temptyMessage=\\\"<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />\\\">\\n\\t<$action-setfield $tiddler=\\\"$:/temp/advancedsearch/input\\\" text={{$:/temp/advancedsearch}}/>\\n\\t<$action-setfield $tiddler=\\\"$:/temp/advancedsearch/refresh\\\" text=\\\"yes\\\"/>\\n\\n<$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\".tc-advanced-search input\\\"/>\\n\\\\end\\n\\n\\\\procedure input-accept-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\"\\n\\temptyMessage=\\\"<$list filter='[get[text]!is[missing]] :else[get[text]is[shadow]]'><$action-navigate $to={{{ [get[text]] }}}/>\\\">\\n\\t<$action-navigate $to={{{ [get[text]] }}}/>\\n\\n\\\\end\\n\\n\\\\procedure input-accept-variant-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\"\\n\\temptyMessage=\\\"<$list filter='[get[text]!is[missing]] :else[get[text]is[shadow]]'><$list filter='[get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [get[text]] }}}/>\\\">\\n\\t<$list filter=\\\"[get[text]minlength[1]]\\\">\\n\\t\\t<$action-sendmessage $message=\\\"tm-edit-tiddler\\\" $param={{{ [get[text]] }}}/>\\n\\n\\\\end\\n\\n\\\\whitespace trim\\n\\n<>\\n\\n
\\n<$keyboard key=\\\"((input-tab-right))\\\" actions=<>>\\n<$keyboard key=\\\"((input-tab-left))\\\" actions=<>>\\n<$transclude $variable=\\\"keyboard-driven-input\\\"\\n\\ttiddler=\\\"$:/temp/advancedsearch/input\\\"\\n\\tstoreTitle=\\\"$:/temp/advancedsearch\\\"\\n\\trefreshTitle=\\\"$:/temp/advancedsearch/refresh\\\"\\n\\tselectionStateTitle=\\\"$:/temp/advancedsearch/selected-item\\\"\\n\\ttype=\\\"search\\\"\\n\\ttag=\\\"input\\\"\\n\\tfocus={{$:/config/Search/AutoFocus}}\\n\\tconfigTiddlerFilter=\\\"[[$:/core/ui/AdvancedSearch/Shadows]]\\\"\\n\\tinputCancelActions=<>\\n\\tinputAcceptActions=<>\\n\\tinputAcceptVariantActions=<>\\n\\tfilterMinLength={{$:/config/Search/MinLength}}/>\\n\\n\\n \\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$button class=\\\"tc-btn-invisible\\\">\\n<>\\n{{$:/core/images/close-button}}\\n\\n\\n
\\n\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n\\n<$list filter=\\\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\\\" emptyMessage=\\\"
{{$:/language/Search/Search/TooShort}}
\\\" variable=\\\"listItem\\\">\\n\\n<$set name=\\\"resultCount\\\" value={{{ [all[shadows]search{$:/temp/advancedsearch}] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :and[count[]]}}}>\\n\\n
\\n\\n<%if [match[0]] %>\\n\\t{{$:/language/Search/Matches/NoMatch}}\\n<%else%>\\n\\t<>\\n<%endif%>\\n\\n<$list filter=\\\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]]\\\">\\naddsuffix[-primaryList]] :except[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>\\n<$transclude tiddler=\\\"$:/core/ui/ListItemTemplate\\\"/>\\n\\n\\n\\n
\\n\\n\\n\\n\\n\\n\\n\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"match\\\" text=\\\"\\\">\\n\\n\\n\"},\"$:/core/ui/AdvancedSearch/Standard\":{\"title\":\"$:/core/ui/AdvancedSearch/Standard\",\"tags\":\"$:/tags/AdvancedSearch\",\"caption\":\"{{$:/language/Search/Standard/Caption}}\",\"text\":\"\\\\procedure lingo-base() $:/language/Search/\\n\\\\procedure set-next-input-tab() <$transclude $variable=\\\"change-input-tab\\\" stateTitle=\\\"$:/state/tab--1498284803\\\" tag=\\\"$:/tags/AdvancedSearch\\\" beforeafter=\\\"after\\\" defaultState=\\\"$:/core/ui/AdvancedSearch/System\\\" actions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<>/>\\\"/>\\n\\n\\\\procedure set-previous-input-tab() <$transclude $variable=\\\"change-input-tab\\\" stateTitle=\\\"$:/state/tab--1498284803\\\" tag=\\\"$:/tags/AdvancedSearch\\\" beforeafter=\\\"before\\\" defaultState=\\\"$:/core/ui/AdvancedSearch/System\\\" actions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<>/>\\\"/>\\n\\n\\\\procedure next-search-tab() <$transclude $variable=\\\"change-input-tab\\\" stateTitle=\\\"$:/state/tab/search-results/advancedsearch\\\" tag=\\\"$:/tags/SearchResults\\\" beforeafter=\\\"after\\\" defaultState={{$:/config/SearchResults/Default}} actions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<>/>\\\"/>\\n\\n\\\\procedure previous-search-tab() <$transclude $variable=\\\"change-input-tab\\\" stateTitle=\\\"$:/state/tab/search-results/advancedsearch\\\" tag=\\\"$:/tags/SearchResults\\\" beforeafter=\\\"before\\\" defaultState={{$:/config/SearchResults/Default}} actions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<>/>\\\"/>\\n\\n\\\\procedure cancel-search-actions() <$list filter=\\\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\\\" emptyMessage=\\\"<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />\\\"><$action-setfield $tiddler=\\\"$:/temp/advancedsearch/input\\\" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler=\\\"$:/temp/advancedsearch/refresh\\\" text=\\\"yes\\\"/><$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\".tc-advanced-search input\\\"/>\\n\\n\\\\procedure input-accept-actions() <$list filter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\" emptyMessage=\\\"<$list filter='[get[text]!is[missing]] :else[get[text]is[shadow]]'><$action-navigate $to={{{ [get[text]] }}}/>\\\"><$action-navigate $to={{{ [get[text]] }}}/>\\n\\n\\\\procedure input-accept-variant-actions() <$list filter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\" emptyMessage=\\\"<$list filter='[get[text]!is[missing]] :else[get[text]is[shadow]]'><$list filter='[get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [get[text]] }}}/>\\\"><$list filter=\\\"[get[text]minlength[1]]\\\"><$action-sendmessage $message=\\\"tm-edit-tiddler\\\" $param={{{ [get[text]] }}}/>\\n\\n\\\\whitespace trim\\n\\n<>\\n\\n
\\n<$keyboard key=\\\"((input-tab-right))\\\" actions=<>>\\n<$keyboard key=\\\"((input-tab-left))\\\" actions=<>>\\n<$keyboard key=\\\"shift-alt-Right\\\" actions=<>>\\n<$keyboard key=\\\"shift-alt-Left\\\" actions=<>>\\n<$transclude $variable=\\\"keyboard-driven-input\\\"\\n\\ttiddler=\\\"$:/temp/advancedsearch/input\\\"\\n\\tstoreTitle=\\\"$:/temp/advancedsearch\\\"\\n\\trefreshTitle=\\\"$:/temp/advancedsearch/refresh\\\"\\n\\tselectionStateTitle=\\\"$:/temp/advancedsearch/selected-item\\\"\\n\\ttype=\\\"search\\\"\\n\\ttag=\\\"input\\\"\\n\\tfocus={{$:/config/Search/AutoFocus}}\\n\\tinputCancelActions=<>\\n\\tinputAcceptActions=<>\\n\\tinputAcceptVariantActions=<>\\n\\tconfigTiddlerFilter=\\\"[[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}]\\\"\\n\\tfilterMinLength={{$:/config/Search/MinLength}}/>\\n\\n\\n\\n\\n \\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$button class=\\\"tc-btn-invisible\\\">\\n<>\\n{{$:/core/images/close-button}}\\n\\n\\n
\\n\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$list\\n\\tfilter=\\\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\\\"\\n\\temptyMessage=\\\"
{{$:/language/Search/Search/TooShort}}
\\\"\\n\\tvariable=\\\"listItem\\\">\\n<$vars\\n\\tuserInput={{{ [[$:/temp/advancedsearch]get[text]] }}}\\n\\tconfigTiddler={{{ [[$:/state/advancedsearch/standard/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}] }}}\\n\\tsearchListState=\\\"$:/temp/advancedsearch/selected-item\\\">\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\\\">\\n<$list-empty>\\n<$list filter='[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]'><$transclude mode=\\\"block\\\"/>\\n\\n<$transclude $variable=\\\"tabs\\\"\\n\\ttabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\\\"\\n\\tdefault={{$:/config/SearchResults/Default}}\\n\\tactions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<>/>\\\"\\n\\texplicitState=\\\"$:/state/tab/search-results/advancedsearch\\\" />\\n\\n\\n\\n\\n\"},\"$:/core/ui/AdvancedSearch/System\":{\"title\":\"$:/core/ui/AdvancedSearch/System\",\"tags\":\"$:/tags/AdvancedSearch\",\"caption\":\"{{$:/language/Search/System/Caption}}\",\"first-search-filter\":\"[is[system]searchsort[title]limit[250]] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :except[[$:/temp/advancedsearch/selected-item]]\",\"text\":\"\\\\procedure lingo-base() $:/language/Search/\\n\\\\procedure set-next-input-tab()\\n<$transclude $variable=\\\"change-input-tab\\\"\\n\\tstateTitle=\\\"$:/state/tab--1498284803\\\"\\n\\ttag=\\\"$:/tags/AdvancedSearch\\\"\\n\\tbeforeafter=\\\"after\\\"\\n\\tdefaultState=\\\"$:/core/ui/AdvancedSearch/System\\\"\\n\\tactions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<>/>\\\"/>\\n\\\\end\\n\\n\\\\procedure set-previous-input-tab()\\n<$transclude $variable=\\\"change-input-tab\\\"\\n\\tstateTitle=\\\"$:/state/tab--1498284803\\\"\\n\\ttag=\\\"$:/tags/AdvancedSearch\\\"\\n\\tbeforeafter=\\\"before\\\"\\n\\tdefaultState=\\\"$:/core/ui/AdvancedSearch/System\\\"\\n\\tactions=\\\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<>/>\\\"/>\\n\\\\end\\n\\n\\\\procedure cancel-search-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\\\"\\n\\temptyMessage=\\\"<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />\\\">\\n\\t<$action-setfield $tiddler=\\\"$:/temp/advancedsearch/input\\\" text={{$:/temp/advancedsearch}}/>\\n\\t<$action-setfield $tiddler=\\\"$:/temp/advancedsearch/refresh\\\" text=\\\"yes\\\"/>\\n\\n<$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\".tc-advanced-search input\\\"/>\\n\\\\end\\n\\n\\\\procedure input-accept-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\"\\n\\temptyMessage=\\\"<$list filter='[get[text]!is[missing]] :else[get[text]is[shadow]]'><$action-navigate $to={{{ [get[text]] }}}/>\\\">\\n\\t<$action-navigate $to={{{ [get[text]] }}}/>\\n\\n\\\\end\\n\\n\\\\procedure input-accept-variant-actions()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\\\"\\n\\temptyMessage=\\\"<$list filter='[get[text]!is[missing]] :else[get[text]is[shadow]]'><$list filter='[get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [get[text]] }}}/>\\\">\\n\\t<$list filter=\\\"[get[text]minlength[1]]\\\">\\n\\t\\t<$action-sendmessage $message=\\\"tm-edit-tiddler\\\" $param={{{ [get[text]] }}}/>\\n\\n\\\\end\\n\\n\\\\whitespace trim\\n\\n<>\\n\\n
\\n<$keyboard key=\\\"((input-tab-right))\\\" actions=<>>\\n<$keyboard key=\\\"((input-tab-left))\\\" actions=<>>\\n<$transclude $variable=\\\"keyboard-driven-input\\\"\\n\\ttiddler=\\\"$:/temp/advancedsearch/input\\\"\\n\\tstoreTitle=\\\"$:/temp/advancedsearch\\\"\\n\\trefreshTitle=\\\"$:/temp/advancedsearch/refresh\\\"\\n\\tselectionStateTitle=\\\"$:/temp/advancedsearch/selected-item\\\"\\n\\ttype=\\\"search\\\"\\n\\ttag=\\\"input\\\"\\n\\tfocus={{$:/config/Search/AutoFocus}}\\n\\tconfigTiddlerFilter=\\\"[[$:/core/ui/AdvancedSearch/System]]\\\"\\n\\tinputCancelActions=<>\\n\\tinputAcceptActions=<>\\n\\tinputAcceptVariantActions=<>\\n\\tfilterMinLength={{$:/config/Search/MinLength}}/>\\n\\n\\n \\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$button class=\\\"tc-btn-invisible\\\">\\n<>\\n{{$:/core/images/close-button}}\\n\\n\\n
\\n\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n\\n<$list filter=\\\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\\\" emptyMessage=\\\"
{{$:/language/Search/Search/TooShort}}
\\\" variable=\\\"listItem\\\">\\n\\n<$set name=\\\"resultCount\\\" value={{{ [is[system]search{$:/temp/advancedsearch}] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :except[[$:/temp/advancedsearch/selected-item]] +[count[]] }}}>\\n\\n
\\n\\n<%if [match[0]] %>\\n\\t{{$:/language/Search/Matches/NoMatch}}\\n<%else%>\\n\\t<>\\n<%endif%>\\n\\n<$list filter=\\\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :except[[$:/temp/advancedsearch/selected-item]]\\\">\\naddsuffix[-primaryList]] :except[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>\\n<$transclude tiddler=\\\"$:/core/ui/ListItemTemplate\\\"/>\\n\\n\\n\\n
\\n\\n\\n\\n\\n\\n\\n\\n<$reveal state=\\\"$:/temp/advancedsearch\\\" type=\\\"match\\\" text=\\\"\\\">\\n\\n\\n\"},\"$:/AdvancedSearch\":{\"title\":\"$:/AdvancedSearch\",\"icon\":\"$:/core/images/advanced-search-button\",\"color\":\"#bbb\",\"text\":\"\\\\whitespace trim\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\\\" default=\\\"$:/core/ui/AdvancedSearch/System\\\" actions=\\\"\\\"\\\"<$action-setfield $tiddler=\\\"$:/state/advancedsearch/currentTab\\\" text=<>/>\\\"\\\"\\\" explicitState=\\\"$:/state/tab--1498284803\\\"/>\\n
\\n\"},\"$:/core/ui/AlertTemplate\":{\"title\":\"$:/core/ui/AlertTemplate\",\"code-body\":\"yes\",\"text\":\"\\\\whitespace trim\\n
\\n
\\n<$button class=\\\"tc-btn-invisible\\\"><$action-deletetiddler $tiddler=<>/>{{$:/core/images/cancel-button}}\\n
\\n
\\n<$wikify name=\\\"format\\\" text=<>>\\n<$view field=\\\"component\\\"/>\\n - \\n<$view field=\\\"modified\\\" format=\\\"date\\\" template=<>/>\\n \\n<$reveal type=\\\"nomatch\\\" state=\\\"!!count\\\" text=\\\"\\\">\\n\\n({{$:/language/Count}}: <$view field=\\\"count\\\"/>)\\n\\n\\n\\n
\\n
\\n\\n<$transclude/>\\n\\n
\\n
\\n\"},\"$:/core/ui/BinaryWarning\":{\"title\":\"$:/core/ui/BinaryWarning\",\"text\":\"\\\\define lingo-base() $:/language/BinaryWarning/\\n<>\\n\"},\"$:/core/ui/VisibleTransclude\":{\"title\":\"$:/core/ui/VisibleTransclude\",\"text\":\"\\n\\\\widget $transclude()\\n\\n<$parameters tiddler=\\\"\\\" $$tiddler=\\\"\\\" mode=\\\"\\\" $$mode=\\\"\\\" $parseMode=\\\"@parseMode\\\" $params=\\\"@params\\\">\\n\\t\\n\\t<$let\\n\\t\\tmode={{{ [[$mode]is[variable]then<$mode>!is[blank]] :else[[mode]is[variable]then!is[blank]] :else[<@parseMode>] }}}\\n\\t\\toutputTag={{{ [match[inline]then[span]else[div]] }}}\\n\\t\\toutputColour={{{ [match[inline]then[green]else[red]] }}}\\n\\t>\\n\\t\\t\\n\\t\\t<$genesis $type=<> style=\\\"color:white;padding:4px;\\\" style.background=<>>\\n\\t\\t\\t<$genesis $type=<> style=\\\"display: inline-block;\\\">\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t<$list filter=\\\"[<@params>jsonindexes[]]\\\" emptyMessage=\\\"(none)\\\">\\n\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t\\t<$text text=<>/><$text text=\\\": \\\"/><$text text={{{ [<@params>jsonget] }}}/>\\n\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t<$genesis $type=<> style=\\\"background:white;color:black;padding:4px;\\\">\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t<$list filter=\\\"[<@params>jsonindexes[]] :filter[prefix[$]] +[limit[1]]\\\" variable=\\\"ignore\\\" emptyMessage=\\\"\\\"\\\"\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t<$genesis $type=\\\"$transclude\\\" $remappable=\\\"no\\\" $names=\\\"[<@params>jsonindexes[]]\\\" $values=\\\"[<@params>jsonindexes[]] :map[<@params>jsonget]\\\" recursionMarker=\\\"no\\\" mode=<> $$fillignore=\\\"yes\\\">\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t<$slot $name=\\\"ts-raw\\\"/>\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\\"\\\"\\\">\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t<$genesis $type=\\\"$transclude\\\" $remappable=\\\"no\\\" $names=\\\"[<@params>jsonindexes[]]\\\" $values=\\\"[<@params>jsonindexes[]] :map[<@params>jsonget]\\\" $$recursionMarker=\\\"no\\\" $$mode=<> $$fillignore=\\\"yes\\\">\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t<$slot $name=\\\"ts-raw\\\"/>\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t\\n\\n\\\\end\\n\"},\"$:/core/ui/Components/plugin-info\":{\"title\":\"$:/core/ui/Components/plugin-info\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Plugins/\\n\\n\\\\define popup-state-macro()\\n$(qualified-state)$-$(currentTiddler)$\\n\\\\end\\n\\n\\\\define tabs-state-macro()\\n$(popup-state)$-$(pluginInfoType)$\\n\\\\end\\n\\n\\\\define plugin-icon-title()\\n$(currentTiddler)$/icon\\n\\\\end\\n\\n\\\\define plugin-disable-title()\\n$:/config/Plugins/Disabled/$(currentTiddler)$\\n\\\\end\\n\\n\\\\define plugin-table-body(type,disabledMessage,default-popup-state)\\n\\\\whitespace trim\\n
\\n\\t<$reveal type=\\\"nomatch\\\" state=<> text=\\\"yes\\\" default=\\\"\\\"\\\"$default-popup-state$\\\"\\\"\\\">\\n\\t\\t<$button class=\\\"tc-btn-invisible tc-btn-dropdown\\\" set=<> setTo=\\\"yes\\\">\\n\\t\\t\\t{{$:/core/images/chevron-right}}\\n\\t\\t\\n\\t\\n\\t<$reveal type=\\\"match\\\" state=<> text=\\\"yes\\\" default=\\\"\\\"\\\"$default-popup-state$\\\"\\\"\\\">\\n\\t\\t<$button class=\\\"tc-btn-invisible tc-btn-dropdown\\\" set=<> setTo=\\\"no\\\">\\n\\t\\t\\t{{$:/core/images/chevron-down}}\\n\\t\\t\\n\\t\\n
\\n
\\n\\t<$transclude tiddler=<> subtiddler=<>>\\n\\t\\t<$transclude tiddler=\\\"$:/core/images/plugin-generic-$type$\\\"/>\\n\\t\\n
\\n
\\n\\t

\\n\\t\\t''<$text text={{{ [get[name]] ~[split[/]last[1]] }}}/>'': <$view field=\\\"description\\\"><$view field=\\\"title\\\"/> $disabledMessage$\\n\\t

\\n\\t

\\n\\t\\t<$view field=\\\"title\\\"/>\\n\\t

\\n\\t

\\n\\t\\t
\\n\\t\\t\\t<%if [get[stability]match[STABILITY_0_DEPRECATED]] %>\\n\\t\\t\\t\\t<>\\n\\t\\t\\t<%elseif [get[stability]match[STABILITY_1_EXPERIMENTAL]] %>\\n\\t\\t\\t\\t<>\\n\\t\\t\\t<%elseif [get[stability]match[STABILITY_2_STABLE]] %>\\n\\t\\t\\t\\t<>\\n\\t\\t\\t<%elseif [get[stability]match[STABILITY_3_LEGACY]] %>\\n\\t\\t\\t\\t<>\\n\\t\\t\\t<%endif%>\\n\\t\\t\\t<$view field=\\\"version\\\"/>
\\n\\t

\\n
\\n\\\\end\\n\\n\\\\define plugin-info(type,default-popup-state)\\n\\\\whitespace trim\\n<$set name=\\\"popup-state\\\" value=<>>\\n\\t<$reveal type=\\\"nomatch\\\" state=<> text=\\\"yes\\\">\\n\\t\\t<$link to={{!!title}} class=\\\"tc-plugin-info\\\">\\n\\t\\t\\t<>\\n\\t\\t\\n\\t\\n\\t<$reveal type=\\\"match\\\" state=<> text=\\\"yes\\\">\\n\\t\\t<$link to={{!!title}} class=\\\"tc-plugin-info tc-plugin-info-disabled\\\">\\n\\t\\t\\t<\\\">>\\n\\t\\t\\n\\t\\n\\t<$reveal type=\\\"match\\\" text=\\\"yes\\\" state=<> default=\\\"\\\"\\\"$default-popup-state$\\\"\\\"\\\">\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t<$list filter=\\\"[all[current]] -[[$:/core]]\\\">\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t<$reveal type=\\\"nomatch\\\" state=<> text=\\\"yes\\\">\\n\\t\\t\\t\\t\\t\\t\\t<$button set=<> setTo=\\\"yes\\\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\\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\\t<$reveal type=\\\"match\\\" state=<> text=\\\"yes\\\">\\n\\t\\t\\t\\t\\t\\t\\t<$button set=<> setTo=\\\"no\\\" tooltip={{$:/language/ControlPanel/Plugins/Enable Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\\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\\t<$set name=\\\"tabsList\\\" filter=\\\"[list[]] contents\\\">\\n\\t\\t\\t\\t\\t<$macrocall $name=\\\"tabs\\\" state=<> tabsList=<> default={{{ [enlist] }}} template=\\\"$:/core/ui/PluginInfo\\\"/>\\n\\t\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t
\\n\\t\\n\\n\\\\end\\n\\n<$macrocall $name=\\\"plugin-info\\\" type=<> default-popup-state=<>/>\\n\"},\"$:/core/ui/Components/tag-link\":{\"title\":\"$:/core/ui/Components/tag-link\",\"text\":\"\\\\whitespace trim\\n<$link>\\n<$set name=\\\"backgroundColor\\\" value={{{ [] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}>\\n> class=\\\"tc-tag-label\\\">\\n<$view field=\\\"title\\\" format=\\\"text\\\"/>\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Advanced\":{\"title\":\"$:/core/ui/ControlPanel/Advanced\",\"tags\":\"$:/tags/ControlPanel/Info\",\"caption\":\"{{$:/language/ControlPanel/Advanced/Caption}}\",\"text\":\"\\\\whitespace trim\\n{{$:/language/ControlPanel/Advanced/Hint}}\\n\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/TiddlerFields\\\" explicitState=\\\"$:/state/tab--959111941\\\"/>\\n
\\n\"},\"$:/core/ui/ControlPanel/Appearance\":{\"title\":\"$:/core/ui/ControlPanel/Appearance\",\"tags\":\"$:/tags/ControlPanel\",\"caption\":\"{{$:/language/ControlPanel/Appearance/Caption}}\",\"text\":\"\\\\whitespace trim\\n{{$:/language/ControlPanel/Appearance/Hint}}\\n\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Theme\\\" explicitState=\\\"$:/state/tab--1963855381\\\"/>\\n
\\n\"},\"$:/snippets/retain-story-ordering-button\":{\"title\":\"$:/snippets/retain-story-ordering-button\",\"text\":\"<$button set=\\\"$:/DefaultTiddlers\\\" setTo={{$:/config/ControlPanel/Basics/DefaultTiddlers/RetainStory}} ><>\"},\"$:/core/ui/ControlPanel/Basics\":{\"title\":\"$:/core/ui/ControlPanel/Basics\",\"tags\":\"$:/tags/ControlPanel/Info\",\"caption\":\"{{$:/language/ControlPanel/Basics/Caption}}\",\"text\":\"\\\\procedure lingo-base() $:/language/ControlPanel/Basics/\\n\\\\whitespace trim\\n\\n|tc-max-width tc-edit-max-width|k\\n|<> |''<>'' |\\n|<$link to=\\\"$:/SiteTitle\\\"><> |<$edit-text tiddler=\\\"$:/SiteTitle\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<$link to=\\\"$:/SiteSubtitle\\\"><> |<$edit-text tiddler=\\\"$:/SiteSubtitle\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<$link to=\\\"$:/status/UserName\\\"><> |<$edit-text tiddler=\\\"$:/status/UserName\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<$link to=\\\"$:/config/AnimationDuration\\\"><> |<$edit-text tiddler=\\\"$:/config/AnimationDuration\\\" default=\\\"\\\" tag=\\\"input\\\" type=\\\"number\\\"/> |\\n|<$link to=\\\"$:/DefaultTiddlers\\\"><> |<>
<$edit class=\\\"tc-edit-texteditor\\\" tiddler=\\\"$:/DefaultTiddlers\\\" autoHeight=\\\"yes\\\"/>
//<>// |\\n|<$link to=\\\"$:/language/DefaultNewTiddlerTitle\\\"><> |<$edit-text tiddler=\\\"$:/language/DefaultNewTiddlerTitle\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<$link to=\\\"$:/config/NewJournal/Title\\\"><> |<$edit-text tiddler=\\\"$:/config/NewJournal/Title\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<$link to=\\\"$:/config/NewJournal/Text\\\"><> |<$edit tiddler=\\\"$:/config/NewJournal/Text\\\" class=\\\"tc-edit-texteditor\\\" default=\\\"\\\" autoHeight=\\\"yes\\\"/> |\\n|<$link to=\\\"$:/config/NewTiddler/Tags\\\"><> |<$vars currentTiddler=\\\"$:/config/NewTiddler/Tags\\\" tagField=\\\"text\\\">{{||$:/core/ui/EditTemplate/tags}}<$list filter=\\\"[tags[]] +[limit[1]]\\\" variable=\\\"ignore\\\"><$button tooltip={{$:/language/ControlPanel/Basics/RemoveTags/Hint}}><><$action-listops $tiddler=<> $field=\\\"text\\\" $subfilter={{{ [get[tags]] }}}/><$action-setfield $tiddler=<> tags=\\\"\\\"/> |\\n|<$link to=\\\"$:/config/NewJournal/Tags\\\"><> |<$vars currentTiddler=\\\"$:/config/NewJournal/Tags\\\" tagField=\\\"text\\\">{{||$:/core/ui/EditTemplate/tags}}<$list filter=\\\"[tags[]] +[limit[1]]\\\" variable=\\\"ignore\\\"><$button tooltip={{$:/language/ControlPanel/Basics/RemoveTags/Hint}}><><$action-listops $tiddler=<> $field=\\\"text\\\" $subfilter={{{ [get[tags]] }}}/><$action-setfield $tiddler=<> tags=\\\"\\\"/> |\\n|<$link to=\\\"$:/config/AutoFocus\\\"><> |{{$:/snippets/minifocusswitcher}} |\\n|<> |{{$:/snippets/minilanguageswitcher}} |\\n|<> |<> |\\n|<> |<> |\\n|<> |<> |\\n|<> |<> |\\n|<> |<> |\\n\"},\"$:/core/ui/ControlPanel/EditTemplateBody\":{\"title\":\"$:/core/ui/ControlPanel/EditTemplateBody\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/EditTemplateBody/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/EditTemplateBody/\\n\\n<>\\n\\n{{$:/tags/EditTemplateBodyFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/FieldEditor\":{\"title\":\"$:/core/ui/ControlPanel/FieldEditor\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/FieldEditor/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/FieldEditor/\\n\\n<>\\n\\n{{$:/tags/FieldEditorFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/StoryTiddler\":{\"title\":\"$:/core/ui/ControlPanel/StoryTiddler\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/StoryTiddler/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/StoryTiddler/\\n\\n<>\\n\\n{{$:/tags/StoryTiddlerTemplateFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/TiddlerColour\":{\"title\":\"$:/core/ui/ControlPanel/TiddlerColour\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/TiddlerColour/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/TiddlerColour/\\n\\n<>\\n\\n{{$:/tags/TiddlerColourFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/TiddlerIcon\":{\"title\":\"$:/core/ui/ControlPanel/TiddlerIcon\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/TiddlerIcon/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/TiddlerIcon/\\n\\n<>\\n\\n{{$:/tags/TiddlerIconFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/ViewTemplateBody\":{\"title\":\"$:/core/ui/ControlPanel/ViewTemplateBody\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/ViewTemplateBody/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/ViewTemplateBody/\\n\\n<>\\n\\n{{$:/tags/ViewTemplateBodyFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/ViewTemplateSubtitle\":{\"title\":\"$:/core/ui/ControlPanel/ViewTemplateSubtitle\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/ViewTemplateSubtitle/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/ViewTemplateSubtitle/\\n\\n<>\\n\\n{{$:/tags/ViewTemplateSubtitleFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/ViewTemplateTags\":{\"title\":\"$:/core/ui/ControlPanel/ViewTemplateTags\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/ViewTemplateTags/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/ViewTemplateTags/\\n\\n<>\\n\\n{{$:/tags/ViewTemplateTagsFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/ViewTemplateTitle\":{\"title\":\"$:/core/ui/ControlPanel/ViewTemplateTitle\",\"tags\":\"$:/tags/ControlPanel/Cascades\",\"caption\":\"{{$:/language/ControlPanel/ViewTemplateTitle/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/ViewTemplateTitle/\\n\\n<>\\n\\n{{$:/tags/ViewTemplateTitleFilter||$:/snippets/ListTaggedCascade}}\\n\"},\"$:/core/ui/ControlPanel/Cascades\":{\"title\":\"$:/core/ui/ControlPanel/Cascades\",\"tags\":\"$:/tags/ControlPanel/Advanced\",\"caption\":\"{{$:/language/ControlPanel/Cascades/Caption}}\",\"text\":\"\\\\whitespace trim\\n{{$:/language/ControlPanel/Cascades/Hint}}\\n\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Cascades]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/StoryTiddler\\\"/>\\n
\\n\"},\"$:/core/ui/ControlPanel/EditorTypes\":{\"title\":\"$:/core/ui/ControlPanel/EditorTypes\",\"tags\":\"$:/tags/ControlPanel/Advanced\",\"caption\":\"{{$:/language/ControlPanel/EditorTypes/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/EditorTypes/\\n\\\\whitespace trim\\n\\n<>\\n\\n\\n\\n\\n\\n\\n\\n<$list filter=\\\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\\\">\\n\\n\\n\\n\\n\\n\\n
<><>
\\n<$link>\\n<$list filter=\\\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\\\">\\n<$text text={{!!title}}/>\\n\\n\\n\\n<$view field=\\\"text\\\"/>\\n
\\n\"},\"$:/core/ui/ControlPanel/Info\":{\"title\":\"$:/core/ui/ControlPanel/Info\",\"tags\":\"$:/tags/ControlPanel\",\"caption\":\"{{$:/language/ControlPanel/Info/Caption}}\",\"text\":\"\\\\whitespace trim\\n{{$:/language/ControlPanel/Info/Hint}}\\n\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Basics\\\" explicitState=\\\"$:/state/tab--2112689675\\\"/>\\n
\\n\"},\"$:/core/ui/ControlPanel/KeyboardShortcuts\":{\"title\":\"$:/core/ui/ControlPanel/KeyboardShortcuts\",\"tags\":\"$:/tags/ControlPanel\",\"caption\":\"{{$:/language/ControlPanel/KeyboardShortcuts/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/\\n\\n\\\\define new-shortcut(title)\\n\\\\whitespace trim\\n
\\n<$edit-shortcut tiddler=\\\"$title$\\\" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} focus=\\\"true\\\" style=\\\"width:auto;\\\"/>\\n \\n<$button>\\n<>\\n<$action-listops\\n\\t$tiddler=\\\"$(shortcutTitle)$\\\"\\n\\t$field=\\\"text\\\"\\n\\t$subfilter=\\\"[{$title$}]\\\"\\n/>\\n<$action-deletetiddler\\n\\t$tiddler=\\\"$title$\\\"\\n/>\\n\\n
\\n\\\\end\\n\\n\\\\define shortcut-list-item(caption)\\n\\\\whitespace trim\\n\\n\\n\\n<>\\n\\n\\n
\\n<$button popup=<> class=\\\"tc-btn-invisible\\\">\\n{{$:/core/images/edit-button}}\\n\\n \\n<$macrocall $name=\\\"displayshortcuts\\\" $output=\\\"text/html\\\" shortcuts={{$(shortcutTitle)$}} prefix=\\\"\\\" separator=\\\" \\\" suffix=\\\"\\\"/>\\n\\n<$reveal state=<> type=\\\"popup\\\" position=\\\"below\\\" animate=\\\"yes\\\">\\n
\\n
\\n<$list\\n\\tfilter=\\\"[list[$(shortcutTitle)$!!text]sort[title]]\\\"\\n\\tvariable=\\\"shortcut\\\"\\n\\temptyMessage=\\\"
//<>//
\\\">\\n
\\n<$button class=\\\"tc-btn-invisible\\\" tooltip={{$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint}}>\\n<$action-listops\\n\\t$tiddler=\\\"$(shortcutTitle)$\\\"\\n\\t$field=\\\"text\\\"\\n\\t$subfilter=\\\"+[remove]\\\"\\n/>\\n{{$:/core/images/close-button}}\\n\\n \\n\\n<$macrocall $name=\\\"displayshortcuts\\\" $output=\\\"text/html\\\" shortcuts=<>/>\\n\\n
\\n\\n
\\n<$macrocall $name=\\\"new-shortcut\\\" title=<>/>\\n
\\n
\\n\\n
\\n\\n\\\\end\\n\\n\\\\define shortcut-list(caption,prefix)\\n\\\\whitespace trim\\n\\n<$list filter=\\\"[[$prefix$$(shortcutName)$]]\\\" variable=\\\"shortcutTitle\\\">\\n<>\\n\\n\\n\\\\end\\n\\n\\\\define shortcut-editor()\\n\\\\whitespace trim\\n<> \\n<>\\n<>\\n<>\\n<>\\n<>\\n<>\\n\\\\end\\n\\n\\\\define shortcut-preview()\\n<$macrocall $name=\\\"displayshortcuts\\\" $output=\\\"text/html\\\" shortcuts={{$(shortcutPrefix)$$(shortcutName)$}} prefix=\\\"\\\" separator=\\\" \\\" suffix=\\\"\\\"/>\\n\\\\end\\n\\n\\\\define shortcut-item-inner()\\n\\\\whitespace trim\\n\\n\\n<$reveal type=\\\"nomatch\\\" state=<> text=\\\"open\\\">\\n<$button class=\\\"tc-btn-invisible\\\">\\n<$action-setfield\\n\\t$tiddler=<>\\n\\t$value=\\\"open\\\"\\n/>\\n{{$:/core/images/right-arrow}}\\n\\n\\n<$reveal type=\\\"match\\\" state=<> text=\\\"open\\\">\\n<$button class=\\\"tc-btn-invisible\\\">\\n<$action-setfield\\n\\t$tiddler=<>\\n\\t$value=\\\"close\\\"\\n/>\\n{{$:/core/images/down-arrow}}\\n\\n\\n \\n''<$text text=<>/>''\\n\\n\\n<$transclude tiddler=\\\"$:/config/ShortcutInfo/$(shortcutName)$\\\"/>\\n\\n\\n<$list filter=\\\"$:/config/shortcuts/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-linux/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-windows/ $:/config/shortcuts-not-windows/\\\" variable=\\\"shortcutPrefix\\\">\\n<>\\n\\n\\n\\n<$set name=\\\"dropdownState\\\" value={{$(dropdownStateTitle)$}}>\\n<$list filter=\\\"[match[open]]\\\" variable=\\\"listItem\\\">\\n<>\\n\\n\\n\\\\end\\n\\n\\\\define shortcut-item()\\n\\\\whitespace trim\\n<$set name=\\\"dropdownStateTitle\\\" value=<>>\\n<>\\n\\n\\\\end\\n\\\\whitespace trim\\n\\n\\n\\n<$list filter=\\\"[all[shadows+tiddlers]removeprefix[$:/config/ShortcutInfo/]]\\\" variable=\\\"shortcutName\\\">\\n<>\\n\\n\\n
\\n\"},\"$:/core/ui/ControlPanel/LoadedModules\":{\"title\":\"$:/core/ui/ControlPanel/LoadedModules\",\"tags\":\"$:/tags/ControlPanel/Advanced\",\"caption\":\"{{$:/language/ControlPanel/LoadedModules/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/\\n<>\\n\\n{{$:/snippets/modules}}\\n\"},\"$:/core/ui/ControlPanel/Modals/AddPlugins\":{\"title\":\"$:/core/ui/ControlPanel/Modals/AddPlugins\",\"subtitle\":\"{{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}\",\"text\":\"\\\\define install-plugin-actions()\\n\\\\whitespace trim\\n<$action-sendmessage $message=\\\"tm-load-plugin-from-library\\\" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>\\n<$set name=\\\"url\\\" value={{!!url}}>\\n<$set name=\\\"currentTiddler\\\" value=<>>\\n<$list filter=\\\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[name]]\\\" variable=\\\"dependency\\\">\\n<$action-sendmessage $message=\\\"tm-load-plugin-from-library\\\" url=<> title=<>/>\\n\\n\\n\\n\\\\end\\n\\n\\\\define install-plugin-button()\\n\\\\whitespace trim\\n
\\n<$set name=\\\"libraryVersion\\\" value={{{ [get[version]] }}}>\\n<$set name=\\\"installedVersion\\\" value={{{ [get[original-title]get[version]] }}}>\\n<$set name=\\\"reinstall-type\\\" value={{{ [compare:version:eqthen[tc-reinstall]] [compare:version:gtthen[tc-reinstall-upgrade]] [compare:version:ltthen[tc-reinstall-downgrade]] }}}>\\n<$button actions=<> class={{{ [get[original-title]has[version]then] tc-btn-invisible tc-install-plugin +[join[ ]] }}}>\\n{{$:/core/images/download-button}}\\n \\n<$list filter=\\\"[get[original-title]get[version]]\\\" variable=\\\"ignore\\\" emptyMessage=\\\"{{$:/language/ControlPanel/Plugins/Install/Caption}}\\\">\\n<$list filter=\\\"[compare:version:gt]\\\" variable=\\\"ignore\\\" emptyMessage=\\\"\\n\\\\whitespace trim\\n<$list filter='[compare:version:lt]' variable='ignore' emptyMessage='{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}'>\\n{{$:/language/ControlPanel/Plugins/Downgrade/Caption}}\\n\\n\\\">\\n{{$:/language/ControlPanel/Plugins/Update/Caption}}\\n\\n\\n\\n
\\n
\\n<$reveal stateTitle=<> stateField=\\\"requires-reload\\\" type=\\\"match\\\" text=\\\"yes\\\">{{$:/language/ControlPanel/Plugins/PluginWillRequireReload}}\\n\\n\\n\\n
\\n\\\\end\\n\\n\\\\define popup-state-macro()\\n$:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$\\n\\\\end\\n\\n\\\\define display-plugin-info(type)\\n\\\\whitespace trim\\n<$set name=\\\"popup-state\\\" value=<>>\\n
\\n
\\n<$reveal type=\\\"nomatch\\\" state=<> text=\\\"yes\\\">\\n<$button class=\\\"tc-btn-invisible tc-btn-dropdown\\\" set=<> setTo=\\\"yes\\\">\\n{{$:/core/images/chevron-right}}\\n\\n\\n<$reveal type=\\\"match\\\" state=<> text=\\\"yes\\\">\\n<$button class=\\\"tc-btn-invisible tc-btn-dropdown\\\" set=<> setTo=\\\"no\\\">\\n{{$:/core/images/chevron-down}}\\n\\n\\n
\\n
\\n<$list filter=\\\"[has[icon]]\\\" emptyMessage=\\\"\\\"\\\"<$transclude tiddler=\\\"$:/core/images/plugin-generic-$type$\\\"/>\\\"\\\"\\\">\\n\\n\\n
\\n
\\n

<$text text={{{ [get[name]] ~[get[original-title]split[/]last[1]] }}}/>:\\n \\n<$view tiddler=<> field=\\\"description\\\"/>\\n

\\n

<$view tiddler=<> field=\\\"original-title\\\"/>

\\n
\\n<%if [get[stability]match[STABILITY_0_DEPRECATED]] %>\\n\\t{{$:/language/ControlPanel/Plugins/Stability/Deprecated}}\\n<%elseif [get[stability]match[STABILITY_1_EXPERIMENTAL]] %>\\n\\t{{$:/language/ControlPanel/Plugins/Stability/Experimental}}\\n<%elseif [get[stability]match[STABILITY_2_STABLE]] %>\\n\\t{{$:/language/ControlPanel/Plugins/Stability/Stable}}\\n<%elseif [get[stability]match[STABILITY_3_LEGACY]] %>\\n\\t{{$:/language/ControlPanel/Plugins/Stability/Legacy}}\\n<%endif%>\\n<$view tiddler=<> field=\\\"version\\\"/>
\\n<$list filter=\\\"[get[original-title]get[version]]\\\" variable=\\\"installedVersion\\\">
{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}
\\n
\\n
\\n<>\\n
\\n
\\n<$set name=\\\"original-title\\\" value={{{ [get[original-title]] }}}>\\n<$reveal type=\\\"match\\\" text=\\\"yes\\\" state=<>>\\n
\\n<$list filter=\\\"[enlist{!!dependents}] [get[parent-plugin]] +[limit[1]] ~[get[original-title]!is[tiddler]]\\\" variable=\\\"ignore\\\">\\n
\\n<$list filter=\\\"[get[original-title]!is[tiddler]]\\\">\\n{{$:/language/ControlPanel/Plugins/NotInstalled/Hint}}\\n\\n<$set name=\\\"currentTiddler\\\" value=<>>\\n<$list filter=\\\"[enlist{!!dependents}] [get[parent-plugin]] +[limit[1]]\\\" variable=\\\"ignore\\\">\\n
\\n{{$:/language/ControlPanel/Plugins/AlsoRequires}} \\n<$list filter=\\\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[name]]\\\" variable=\\\"dependency\\\">\\n<$text text=<>/> \\n\\n
\\n\\n\\n
\\n\\n
\\n<$transclude tiddler=<> field=\\\"readme\\\" mode=\\\"block\\\"/>\\n
\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-pluginlimit[1]]\\\" variable=\\\"ignore\\\">\\n
\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-pluginsort[name]]\\\" variable=\\\"assetInfo\\\">\\n<>\\n\\n
\\n\\n
\\n\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-pluginlimit[1]]\\\" variable=\\\"ignore\\\">\\n<$reveal type=\\\"nomatch\\\" text=\\\"yes\\\" state=<> tag=\\\"div\\\" class=\\\"tc-plugin-info-sub-plugin-indicator\\\">\\n<$wikify name=\\\"count\\\" text=\\\"\\\"\\\"<$count filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin]\\\"/>\\\"\\\"\\\">\\n<$button class=\\\"tc-btn-invisible\\\" set=<> setTo=\\\"yes\\\">\\n{{$:/language/ControlPanel/Plugins/SubPluginPrompt}}\\n\\n\\n\\n\\n\\n\\n\\\\end\\n\\n\\\\define load-plugin-library-button()\\n\\\\whitespace trim\\n<$list filter=\\\"[get[enabled]else[yes]match[yes]]\\\" variable=\\\"ignore\\\">\\n<$button class=\\\"tc-btn-big-green\\\">\\n<$action-sendmessage $message=\\\"tm-load-plugin-library\\\" url={{!!url}} infoTitlePrefix=\\\"$:/temp/RemoteAssetInfo/\\\"/>\\n{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Plugins/OpenPluginLibrary}}\\n\\n\\n\\\\end\\n\\n\\\\define display-server-assets(type)\\n\\\\whitespace trim\\n{{$:/language/Search/Search}}:\\n \\n<$edit-text tiddler=\\\"\\\"\\\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\\\"\\\"\\\" default=\\\"\\\" type=\\\"search\\\" tag=\\\"input\\\"/>\\n \\n<$reveal state=\\\"\\\"\\\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\\\"\\\"\\\" type=\\\"nomatch\\\" text=\\\"\\\">\\n<$button class=\\\"tc-btn-invisible\\\">\\n<$action-setfield $tiddler=\\\"\\\"\\\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\\\"\\\"\\\" $field=\\\"text\\\" $value=\\\"\\\"/>\\n{{$:/core/images/close-button}}\\n\\n\\n
\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search:author,description,original-title,readme,title{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[name]]\\\" variable=\\\"assetInfo\\\">\\n<$list filter=\\\"[[$:/temp/RemoteAssetSearch/$(currentTiddler)$]has[text]] ~[!has[parent-plugin]]\\\" variable=\\\"ignore\\\">\\n<>\\n\\n\\n
\\n\\\\end\\n\\n\\\\define display-server-connection()\\n\\\\whitespace trim\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/ServerConnection]suffix{!!url}]\\\" variable=\\\"connectionTiddler\\\" emptyMessage=<>>\\n\\n<$set name=\\\"transclusion\\\" value=<>>\\n\\n<>\\n\\n\\n\\n\\n\\\\end\\n\\n\\\\define close-library-button()\\n\\\\whitespace trim\\n<$reveal type='nomatch' state='$:/temp/ServerConnection/$(PluginLibraryURL)$' text=''>\\n<$button class='tc-btn-big-green'>\\n<$action-sendmessage $message=\\\"tm-unload-plugin-library\\\" url={{!!url}}/>\\n{{$:/core/images/chevron-left}} {{$:/language/ControlPanel/Plugins/ClosePluginLibrary}}\\n<$action-deletetiddler $filter=\\\"[prefix[$:/temp/ServerConnection/$(PluginLibraryURL)$]][prefix[$:/temp/RemoteAssetInfo/$(PluginLibraryURL)$]]\\\"/>\\n\\n\\n\\\\end\\n\\n\\\\define plugin-library-listing()\\n\\\\whitespace trim\\n
\\n<$set name=\\\"defaultTab\\\" value={{{ [all[tiddlers+shadows]tag[$:/tags/PluginLibrary]] }}}>\\n
\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\\\">\\n<$button set=<> setTo=<> default=<> selectedClass=\\\"tc-tab-selected\\\">\\n<$set name=\\\"tv-wikilinks\\\" value=\\\"no\\\">\\n<$transclude field=\\\"caption\\\"/>\\n\\n\\n\\n
\\n
\\n
\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\\\">\\n<$reveal type=\\\"match\\\" state=<> text=<> default=<>>\\n

<$link><$transclude field=\\\"caption\\\"><$view field=\\\"title\\\"/>

\\n//<$view field=\\\"url\\\"/>//\\n<$transclude mode=\\\"block\\\"/>\\n<$set name=PluginLibraryURL value={{!!url}}>\\n<>\\n\\n \\n<>\\n\\n\\n
\\n\\n
\\n\\\\end\\n\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n\\\\whitespace trim\\n\\n
\\n<>\\n
\\n\"},\"$:/core/ui/ControlPanel/Palette\":{\"title\":\"$:/core/ui/ControlPanel/Palette\",\"tags\":\"$:/tags/ControlPanel/Appearance\",\"caption\":\"{{$:/language/ControlPanel/Palette/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Palette/\\n\\n{{$:/snippets/paletteswitcher}}\\n\\n<$reveal type=\\\"nomatch\\\" state=\\\"$:/state/ShowPaletteEditor\\\" text=\\\"yes\\\">\\n\\n<$button set=\\\"$:/state/ShowPaletteEditor\\\" setTo=\\\"yes\\\"><>\\n\\n\\n\\n<$reveal type=\\\"match\\\" state=\\\"$:/state/ShowPaletteEditor\\\" text=\\\"yes\\\">\\n\\n<$button set=\\\"$:/state/ShowPaletteEditor\\\" setTo=\\\"no\\\"><>\\n{{$:/PaletteManager}}\\n\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Parsing\":{\"title\":\"$:/core/ui/ControlPanel/Parsing\",\"tags\":\"$:/tags/ControlPanel/Advanced\",\"caption\":\"{{$:/language/ControlPanel/Parsing/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Parsing/\\n\\n\\\\define toggle(Type)\\n\\\\whitespace trim\\n<$checkbox\\ntiddler=\\\"\\\"\\\"$:/config/WikiParserRules/$Type$/$(rule)$\\\"\\\"\\\"\\nfield=\\\"text\\\"\\nchecked=\\\"enable\\\"\\nunchecked=\\\"disable\\\"\\ndefault=\\\"enable\\\">\\n<>\\n\\n\\\\end\\n\\n\\\\define rules(type,Type)\\n\\\\whitespace trim\\n<$list filter=\\\"[wikiparserrules[$type$]]\\\" variable=\\\"rule\\\">\\n
<>
\\n\\n\\\\end\\n\\\\whitespace trim\\n\\n<>\\n\\n
\\n
<>
\\n<>\\n
<>
\\n<>\\n
<>
\\n<>\\n
\"},\"$:/core/ui/ControlPanel/Plugins/Add/Languages\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/Add/Languages\",\"caption\":\"{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[language]]\\\"/>)\",\"text\":\"<>\\n\"},\"$:/core/ui/ControlPanel/Plugins/Add/Plugins\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/Add/Plugins\",\"caption\":\"{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[plugin]]\\\"/>)\",\"text\":\"<>\\n\"},\"$:/core/ui/ControlPanel/Plugins/Add/Themes\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/Add/Themes\",\"caption\":\"{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[theme]]\\\"/>)\",\"text\":\"<>\\n\"},\"$:/core/ui/ControlPanel/Plugins/Add/Updates\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/Add/Updates\",\"caption\":\"<$importvariables filter=\\\"$:/core/ui/ControlPanel/Plugins/Add/Updates\\\">{{$:/language/ControlPanel/Plugins/Updates/Caption}} (<>)\",\"text\":\"\\\\define each-updateable-plugin(body)\\n\\\\whitespace trim\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}sort[title]]\\\" variable=\\\"assetInfo\\\">\\n<$set name=\\\"libraryVersion\\\" value={{{ [get[version]] }}}>\\n<$list filter=\\\"[get[original-title]has[version]!version]\\\" variable=\\\"ignore\\\">\\n<$set name=\\\"installedVersion\\\" value={{{ [get[original-title]get[version]] }}}>\\n<$list filter=\\\"[!match]\\\" variable=\\\"ignore\\\">\\n$body$\\n\\n\\n\\n\\n\\n\\\\end\\n\\n\\\\define update-all-actions()\\n<$macrocall $name=\\\"each-updateable-plugin\\\" body=\\\"\\\"\\\"\\n<>\\n\\\"\\\"\\\"/>\\n\\\\end\\n\\n\\\\define update-count()\\n<$wikify name=\\\"count-filter\\\" text=<>/>]]\\\">>><$count filter=<>/>\\n\\\\end\\n\\n\\\\whitespace trim\\n<$button actions=<> class=\\\"tc-btn-invisible tc-install-plugin tc-reinstall-upgrade\\\">\\n{{$:/core/images/download-button}}\\n \\n{{||$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption}}\\n\\n\\n
\\n<$macrocall $name=\\\"each-updateable-plugin\\\" body=\\\"\\\"\\\"\\n<$macrocall $name=\\\"display-plugin-info\\\" type={{{ [get[original-plugin-type]] }}}/>\\n\\\"\\\"\\\"/>\\n
\\n\"},\"$:/core/ui/ControlPanel/Plugins/AddPlugins\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/AddPlugins\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Plugins/\\n\\\\whitespace trim\\n\\n<$button message=\\\"tm-modal\\\" param=\\\"$:/core/ui/ControlPanel/Modals/AddPlugins\\\" tooltip={{$:/language/ControlPanel/Plugins/Add/Hint}} class=\\\"tc-btn-big-green tc-primary-btn\\\">\\n{{$:/core/images/download-button}}\\n \\n<>\\n\\n\"},\"$:/core/ui/ControlPanel/Plugins/Installed/Languages\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/Installed/Languages\",\"tags\":\"$:/tags/ControlPanel/Plugins\",\"caption\":\"{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\\\"[!has[draft.of]plugin-type[language]]\\\"/>)\",\"text\":\"<>\\n\"},\"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\",\"tags\":\"$:/tags/ControlPanel/Plugins\",\"caption\":\"{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\\\"[!has[draft.of]plugin-type[plugin]]\\\"/>)\",\"text\":\"<>\\n\"},\"$:/core/ui/ControlPanel/Plugins/Installed/Themes\":{\"title\":\"$:/core/ui/ControlPanel/Plugins/Installed/Themes\",\"tags\":\"$:/tags/ControlPanel/Plugins\",\"caption\":\"{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\\\"[!has[draft.of]plugin-type[theme]]\\\"/>)\",\"text\":\"<>\\n\"},\"$:/core/ui/ControlPanel/Plugins\":{\"title\":\"$:/core/ui/ControlPanel/Plugins\",\"tags\":\"$:/tags/ControlPanel\",\"caption\":\"{{$:/language/ControlPanel/Plugins/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Plugins/\\n\\n\\\\define plugin-table(type)\\n\\\\whitespace trim\\n<$set name=\\\"plugin-type\\\" value=\\\"\\\"\\\"$type$\\\"\\\"\\\">\\n<$set name=\\\"qualified-state\\\" value=<>>\\n<$list filter=\\\"[!has[draft.of]plugin-type[$type$]sort[name]]\\\" emptyMessage=<> template=\\\"$:/core/ui/Components/plugin-info\\\"/>\\n\\n\\n\\\\end\\n\\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\\n\\n<>\\n\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[tiddlers+shadows]tag[$:/tags/ControlPanel/Plugins]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\\\" explicitState=\\\"$:/state/tab--86143343\\\"/>\\n\"},\"$:/core/ui/ControlPanel/Saving/DownloadSaver\":{\"title\":\"$:/core/ui/ControlPanel/Saving/DownloadSaver\",\"tags\":\"$:/tags/ControlPanel/Saving\",\"caption\":\"{{$:/language/ControlPanel/Saving/DownloadSaver/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Saving/DownloadSaver/\\n\\n
>>\\n\\n<>\\n\\n!!.tc-control-panel-accent <$link to=\\\"$:/config/DownloadSaver/AutoSave\\\"><>\\n\\n<$checkbox tiddler=\\\"$:/config/DownloadSaver/AutoSave\\\"\\n\\tfield=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"no\\\"\\n\\tclass=\\\"tc-control-panel-item\\\"\\n>\\n\\t<>\\n\\n
\"},\"$:/core/ui/ControlPanel/Saving/General\":{\"title\":\"$:/core/ui/ControlPanel/Saving/General\",\"tags\":\"$:/tags/ControlPanel/Saving\",\"caption\":\"{{$:/language/ControlPanel/Saving/General/Caption}}\",\"list-before\":\"\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Settings/\\n\\n
>>\\n\\n{{$:/language/ControlPanel/Saving/General/Hint}}\\n\\n!!.tc-control-panel-accent <$link to=\\\"$:/config/AutoSave\\\"><>\\n\\n<>\\n\\n<$radio tiddler=\\\"$:/config/AutoSave\\\" value=\\\"yes\\\">\\n\\t<>\\n\\n\\n<$radio tiddler=\\\"$:/config/AutoSave\\\" value=\\\"no\\\">\\n\\t<>\\n\\n
\"},\"$:/core/ui/ControlPanel/Saving/GitHub\":{\"title\":\"$:/core/ui/ControlPanel/Saving/GitHub\",\"tags\":\"$:/tags/ControlPanel/Saving\",\"caption\":\"{{$:/language/ControlPanel/Saving/GitService/GitHub/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\\n\\\\define service-name() ~GitHub\\n\\n<>\\n\\n|<> |<$edit-text tiddler=\\\"$:/GitHub/Username\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$password name=\\\"github\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitHub/Repo\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitHub/Branch\\\" default=\\\"main\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitHub/Path\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitHub/Filename\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitHub/ServerURL\\\" default=\\\"https://api.github.com\\\" tag=\\\"input\\\" type=\\\"url\\\"/> |\"},\"$:/core/ui/ControlPanel/Saving/GitLab\":{\"title\":\"$:/core/ui/ControlPanel/Saving/GitLab\",\"tags\":\"$:/tags/ControlPanel/Saving\",\"caption\":\"{{$:/language/ControlPanel/Saving/GitService/GitLab/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\\n\\\\define service-name() ~GitLab\\n\\n<>\\n\\n|<> |<$edit-text tiddler=\\\"$:/GitLab/Username\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$password name=\\\"gitlab\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitLab/Repo\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitLab/Branch\\\" default=\\\"master\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitLab/Path\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitLab/Filename\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/GitLab/ServerURL\\\" default=\\\"https://gitlab.com/api/v4\\\" tag=\\\"input\\\" type=\\\"url\\\"/> |\"},\"$:/core/ui/ControlPanel/Saving/TiddlySpot\":{\"title\":\"$:/core/ui/ControlPanel/Saving/TiddlySpot\",\"tags\":\"$:/tags/ControlPanel/Saving\",\"caption\":\"{{$:/language/ControlPanel/Saving/TiddlySpot/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Saving/TiddlySpot/\\n\\n\\\\define siteURL(path)\\nhttp://$(userName)$.tiddlyspot.com/$path$/\\n\\\\end\\n\\\\define siteLink(path)\\n\\\\whitespace trim\\n<$reveal type=\\\"nomatch\\\" state=\\\"$:/UploadName\\\" text=\\\"\\\">\\n<$set name=\\\"userName\\\" value={{$:/UploadName}}>\\n<$reveal type=\\\"match\\\" state=\\\"$:/UploadURL\\\" text=\\\"\\\">\\n<>\\n\\n<$reveal type=\\\"nomatch\\\" state=\\\"$:/UploadURL\\\" text=\\\"\\\">\\n<$macrocall $name=resolvePath source={{$:/UploadBackupDir}} root={{$:/UploadURL}}/>\\n\\n\\n\\n\\\\end\\n\\n
\\n\\n<>\\n\\n
\\n\\n<>\\n\\n|<> |<$edit-text tiddler=\\\"$:/UploadName\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$password name=\\\"upload\\\"/> |\\n\\n''<>''\\n\\n|<> |<$edit-text tiddler=\\\"$:/UploadURL\\\" default=\\\"\\\" tag=\\\"input\\\" type=\\\"url\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/UploadFilename\\\" default=\\\"index.html\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/UploadDir\\\" default=\\\".\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/UploadBackupDir\\\" default=\\\".\\\" tag=\\\"input\\\"/> |\\n\\n<>\\n\"},\"$:/core/ui/ControlPanel/Saving/Gitea\":{\"title\":\"$:/core/ui/ControlPanel/Saving/Gitea\",\"tags\":\"$:/tags/ControlPanel/Saving\",\"caption\":\"{{$:/language/ControlPanel/Saving/GitService/Gitea/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\\n\\\\define service-name() ~Gitea\\n\\n<>\\n\\n|<> |<$edit-text tiddler=\\\"$:/Gitea/Username\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$password name=\\\"Gitea\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/Gitea/Repo\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/Gitea/Branch\\\" default=\\\"master\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/Gitea/Path\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/Gitea/Filename\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<> |<$edit-text tiddler=\\\"$:/Gitea/ServerURL\\\" default=\\\"https://gitea/api/v1\\\" tag=\\\"input\\\" type=\\\"url\\\"/> |\\n\"},\"$:/core/ui/ControlPanel/Saving\":{\"title\":\"$:/core/ui/ControlPanel/Saving\",\"tags\":\"$:/tags/ControlPanel\",\"caption\":\"{{$:/language/ControlPanel/Saving/Caption}}\",\"text\":\"\\\\whitespace trim\\n{{$:/language/ControlPanel/Saving/Hint}}\\n\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Saving]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Saving/General\\\" explicitState=\\\"$:/state/tab-2065006209\\\"/>\\n
\\n\"},\"$:/core/buttonstyles/Borderless\":{\"title\":\"$:/core/buttonstyles/Borderless\",\"tags\":\"$:/tags/ToolbarButtonStyle\",\"caption\":\"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless}}\",\"text\":\"tc-btn-invisible\"},\"$:/core/buttonstyles/Boxed\":{\"title\":\"$:/core/buttonstyles/Boxed\",\"tags\":\"$:/tags/ToolbarButtonStyle\",\"caption\":\"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed}}\",\"text\":\"tc-btn-boxed\"},\"$:/core/buttonstyles/Rounded\":{\"title\":\"$:/core/buttonstyles/Rounded\",\"tags\":\"$:/tags/ToolbarButtonStyle\",\"caption\":\"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded}}\",\"text\":\"tc-btn-rounded\"},\"$:/core/ui/ControlPanel/Settings/CamelCase\":{\"title\":\"$:/core/ui/ControlPanel/Settings/CamelCase\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/CamelCase/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Settings/CamelCase/\\n\\n<>\\n\\n<$checkbox tiddler=\\\"$:/config/WikiParserRules/Inline/wikilink\\\"\\n\\tfield=\\\"text\\\" checked=\\\"enable\\\" unchecked=\\\"disable\\\" default=\\\"enable\\\"\\n\\tclass=\\\"tc-control-panel-item\\\"\\n>\\n\\t<$link to=\\\"$:/config/WikiParserRules/Inline/wikilink\\\" class=\\\"tc-tiny-gap-left\\\">\\n\\t\\t<>\\n\\t\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab\":{\"title\":\"$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab\",\"caption\":\"{{$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption}}\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Settings/DefaultMoreSidebarTab/\\n\\n<$link to=\\\"$:/config/DefaultMoreSidebarTab\\\" class=\\\"tc-control-panel-item\\\">\\n\\t<>\\n\\n\\n<$select tiddler=\\\"$:/config/DefaultMoreSidebarTab\\\" class=\\\"tc-select\\\">\\n\\t<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\\\">\\n\\t\\t\\n\\t\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/DefaultSidebarTab\":{\"title\":\"$:/core/ui/ControlPanel/Settings/DefaultSidebarTab\",\"caption\":\"{{$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption}}\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/DefaultSidebarTab/\\n\\\\whitespace trim\\n\\n<$link to=\\\"$:/config/DefaultSidebarTab\\\" class=\\\"tc-control-panel-item\\\">\\n\\t<>\\n\\n\\n<$select tiddler=\\\"$:/config/DefaultSidebarTab\\\" class=\\\"tc-select\\\">\\n\\t<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\\\">\\n\\t\\t\\n\\t\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/EditorToolbar\":{\"title\":\"$:/core/ui/ControlPanel/Settings/EditorToolbar\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/EditorToolbar/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Settings/EditorToolbar/\\n<>\\n\\n<$checkbox tiddler=\\\"$:/config/TextEditor/EnableToolbar\\\"\\n\\tfield=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"yes\\\"\\n\\tclass=\\\"tc-control-panel-item\\\"\\n>\\n\\t<$link to=\\\"$:/config/TextEditor/EnableToolbar\\\" class=\\\"tc-tiny-gap-left\\\">\\n\\t\\t<>\\n\\t\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/InfoPanelMode\":{\"title\":\"$:/core/ui/ControlPanel/Settings/InfoPanelMode\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/InfoPanelMode/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Settings/InfoPanelMode/\\n\\n<$link to=\\\"$:/config/TiddlerInfo/Mode\\\" class=\\\"tc-control-panel-item\\\">\\n\\t<>\\n\\n\\n<$radio tiddler=\\\"$:/config/TiddlerInfo/Mode\\\" value=\\\"popup\\\">\\n\\t<>\\n\\n\\n<$radio tiddler=\\\"$:/config/TiddlerInfo/Mode\\\" value=\\\"sticky\\\">\\n\\t<>\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/LinkToBehaviour\":{\"title\":\"$:/core/ui/ControlPanel/Settings/LinkToBehaviour\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/LinkToBehaviour/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Settings/LinkToBehaviour/\\n\\n<$link to=\\\"$:/config/Navigation/openLinkFromInsideRiver\\\" class=\\\"tc-control-panel-item\\\">\\n\\t<>\\n\\n\\n<$select tiddler=\\\"$:/config/Navigation/openLinkFromInsideRiver\\\" class=\\\"tc-select\\\">\\n\\t\\n\\t\\n\\t\\n\\t\\n\\n\\n<$link to=\\\"$:/config/Navigation/openLinkFromOutsideRiver\\\" class=\\\"tc-control-panel-item\\\">\\n\\t<>\\n\\n\\n<$select tiddler=\\\"$:/config/Navigation/openLinkFromOutsideRiver\\\" class=\\\"tc-select\\\">\\n\\t\\n\\t\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/MissingLinks\":{\"title\":\"$:/core/ui/ControlPanel/Settings/MissingLinks\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/MissingLinks/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Settings/MissingLinks/\\n<>\\n\\n<$checkbox tiddler=\\\"$:/config/MissingLinks\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"yes\\\">\\n\\t<$link to=\\\"$:/config/MissingLinks\\\" class=\\\"tc-control-panel-item\\\">\\n\\t\\t<>\\n\\t\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/NavigationAddressBar\":{\"title\":\"$:/core/ui/ControlPanel/Settings/NavigationAddressBar\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\\n\\n<$link to=\\\"$:/config/Navigation/UpdateAddressBar\\\" class=\\\"tc-control-panel-item\\\">\\n\\t<>\\n\\n\\n<$radio tiddler=\\\"$:/config/Navigation/UpdateAddressBar\\\" value=\\\"permaview\\\">\\n\\t<>\\n\\n\\n<$radio tiddler=\\\"$:/config/Navigation/UpdateAddressBar\\\" value=\\\"permalink\\\">\\n\\t<>\\n\\n\\n<$radio tiddler=\\\"$:/config/Navigation/UpdateAddressBar\\\" value=\\\"no\\\">\\n\\t<>\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/NavigationHistory\":{\"title\":\"$:/core/ui/ControlPanel/Settings/NavigationHistory\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\\n\\n<$link to=\\\"$:/config/Navigation/UpdateHistory\\\" class=\\\"tc-control-panel-item\\\">\\n\\t<>\\n\\n\\n<$radio tiddler=\\\"$:/config/Navigation/UpdateHistory\\\" value=\\\"yes\\\">\\n\\t<>\\n\\n\\n<$radio tiddler=\\\"$:/config/Navigation/UpdateHistory\\\" value=\\\"no\\\">\\n\\t<>\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode\":{\"title\":\"$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Settings/NavigationPermalinkviewMode/\\n<>\\n\\n<$checkbox tiddler=\\\"$:/config/Navigation/Permalinkview/CopyToClipboard\\\"\\n\\tfield=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"yes\\\"\\n\\tclass=\\\"tc-control-panel-item\\\"\\n>\\n\\t<$link to=\\\"$:/config/Navigation/Permalinkview/CopyToClipboard\\\" class=\\\"tc-tiny-gap-left\\\">\\n\\t\\t<>\\n\\t\\n\\n\\n<$checkbox tiddler=\\\"$:/config/Navigation/Permalinkview/UpdateAddressBar\\\"\\n\\tfield=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"yes\\\"\\n\\tclass=\\\"tc-control-panel-item\\\"\\n>\\n\\t<$link to=\\\"$:/config/Navigation/Permalinkview/UpdateAddressBar\\\" class=\\\"tc-tiny-gap-left\\\">\\n\\t\\t<>\\n\\t\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation\":{\"title\":\"$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Settings/PerformanceInstrumentation/\\n<>\\n\\n<$checkbox tiddler=\\\"$:/config/Performance/Instrumentation\\\"\\n\\tfield=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"no\\\"\\n\\tclass=\\\"tc-control-panel-item\\\"\\n>\\n\\t<$link to=\\\"$:/config/Performance/Instrumentation\\\" class=\\\"tc-tiny-gap-left\\\">\\n\\t\\t<>\\n\\t\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/RecentLimit\":{\"title\":\"$:/core/ui/ControlPanel/Settings/RecentLimit\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/RecentLimit/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\procedure lingo-base() $:/language/ControlPanel/Settings/RecentLimit/\\n<>\\n\\n|tc-table-no-border|k\\n|<$link to=\\\"$:/config/RecentLimit\\\"><> |<$edit-text tiddler=\\\"$:/config/RecentLimit\\\" tag=\\\"input\\\" type=\\\"number\\\"/> |\\n\"},\"$:/core/ui/ControlPanel/Settings/TitleLinks\":{\"title\":\"$:/core/ui/ControlPanel/Settings/TitleLinks\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/TitleLinks/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Settings/TitleLinks/\\n\\n<$link to=\\\"$:/config/Tiddlers/TitleLinks\\\" class=\\\"tc-control-panel-item\\\">\\n\\t<>\\n\\n\\n<$radio tiddler=\\\"$:/config/Tiddlers/TitleLinks\\\" value=\\\"yes\\\">\\n\\t<>\\n\\n\\n<$radio tiddler=\\\"$:/config/Tiddlers/TitleLinks\\\" value=\\\"no\\\">\\n\\t<>\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle\":{\"title\":\"$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtonStyle/\\n\\n<$link to=\\\"$:/config/Toolbar/ButtonClass\\\" class=\\\"tc-control-panel-item\\\">\\n\\t<>\\n\\n\\n<$select tiddler=\\\"$:/config/Toolbar/ButtonClass\\\" class=\\\"tc-select\\\">\\n\\t<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/ToolbarButtonStyle]]\\\">\\n\\t\\t\\n\\t\\n\\n\"},\"$:/core/ui/ControlPanel/Settings/ToolbarButtons\":{\"title\":\"$:/core/ui/ControlPanel/Settings/ToolbarButtons\",\"tags\":\"$:/tags/ControlPanel/Settings\",\"caption\":\"{{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\\n<>\\n\\n<$checkbox tiddler=\\\"$:/config/Toolbar/Icons\\\"\\n\\tfield=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"yes\\\"\\n\\tclass=\\\"tc-control-panel-item\\\"\\n>\\n\\t<$link to=\\\"$:/config/Toolbar/Icons\\\" class=\\\"tc-tiny-gap-left\\\">\\n\\t\\t<>\\n\\t\\n\\n\\n<$checkbox tiddler=\\\"$:/config/Toolbar/Text\\\"\\n\\tfield=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"no\\\"\\n\\tclass=\\\"tc-control-panel-item\\\"\\n>\\n\\t<$link to=\\\"$:/config/Toolbar/Text\\\" class=\\\"tc-tiny-gap-left\\\">\\n\\t\\t<>\\n\\t\\n\\n\"},\"$:/core/ui/ControlPanel/Settings\":{\"title\":\"$:/core/ui/ControlPanel/Settings\",\"tags\":\"$:/tags/ControlPanel\",\"caption\":\"{{$:/language/ControlPanel/Settings/Caption}}\",\"text\":\"
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/SettingsTab]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Settings/TiddlyWiki\\\" explicitState=\\\"$:/state/tab--697582678\\\"/>\\n
\"},\"$:/core/ui/ControlPanel/SocialCard\":{\"title\":\"$:/core/ui/ControlPanel/SocialCard\",\"tags\":\"$:/tags/ControlPanel/Advanced\",\"caption\":\"{{$:/language/ControlPanel/SocialCard/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/\\n\\n<>\\n\\n|<$link to=\\\"$:/SiteTitle\\\"><> |<$edit-text tiddler=\\\"$:/SiteTitle\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<$link to=\\\"$:/SiteSubtitle\\\"><> |<$edit-text tiddler=\\\"$:/SiteSubtitle\\\" default=\\\"\\\" tag=\\\"input\\\"/> |\\n|<$link to=\\\"$:/SiteDomain\\\"><> |<$edit-text tiddler=\\\"$:/SiteDomain\\\" default=\\\"\\\" tag=\\\"input\\\" type=\\\"url\\\"/> |\\n|<$link to=\\\"$:/SiteUrl\\\"><> |<$edit-text tiddler=\\\"$:/SiteUrl\\\" default=\\\"\\\" tag=\\\"input\\\" type=\\\"url\\\"/> |\\n|<$link to=\\\"$:/SitePreviewUrl\\\"><> |<$edit-text tiddler=\\\"$:/SitePreviewUrl\\\" default=\\\"\\\" tag=\\\"input\\\" type=\\\"url\\\"/> |\\n\\n<%if [[$:/SitePreviewUrl]get[text]else[]!is[blank]] %>\\n
\\n
\\n<>\\n
\\n\\n
\\n<%endif%>\"},\"$:/core/ui/ControlPanel/StoryView\":{\"title\":\"$:/core/ui/ControlPanel/StoryView\",\"tags\":\"$:/tags/ControlPanel/Appearance\",\"caption\":\"{{$:/language/ControlPanel/StoryView/Caption}}\",\"text\":\"{{$:/snippets/viewswitcher}}\\n\"},\"$:/core/ui/ControlPanel/Stylesheets\":{\"title\":\"$:/core/ui/ControlPanel/Stylesheets\",\"tags\":\"$:/tags/ControlPanel/Advanced\",\"caption\":\"{{$:/language/ControlPanel/Stylesheets/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/\\n\\n<>\\n\\n{{$:/snippets/peek-stylesheets}}\\n\"},\"$:/core/ui/ControlPanel/TestCases\":{\"title\":\"$:/core/ui/ControlPanel/TestCases\",\"tags\":\"$:/tags/ControlPanel/Advanced\",\"caption\":\"{{$:/language/ControlPanel/TestCases/Caption}}\",\"text\":\"\\\\whitespace trim\\n{{$:/language/ControlPanel/TestCases/Hint}}\\n\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/TestCases]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/TestCases/All\\\"/>\\n
\\n\"},\"$:/core/ui/ControlPanel/TestCases/All\":{\"title\":\"$:/core/ui/ControlPanel/TestCases/All\",\"tags\":\"$:/tags/ControlPanel/TestCases\",\"caption\":\"{{$:/language/ControlPanel/TestCases/All/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/\\n<>\\n\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/wiki-test-spec]type[text/vnd.tiddlywiki-multiple]] [all[tiddlers+shadows]tag[$:/tags/wiki-test-spec-failing]type[text/vnd.tiddlywiki-multiple]]\\\">\\n\\n

\\n\\n<$link>\\n\\n<$text text=<>/>\\n\\n\\n\\n

\\n\\n<$transclude\\n\\t$tiddler=\\\"$:/core/ui/TestCaseTemplate\\\"\\n/>\\n\\n\\n\"},\"$:/core/ui/ControlPanel/TestCases/Failed\":{\"title\":\"$:/core/ui/ControlPanel/TestCases/Failed\",\"tags\":\"$:/tags/ControlPanel/TestCases\",\"caption\":\"{{$:/language/ControlPanel/TestCases/Failed/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/\\n<>\\n\\n<$list filter=\\\"[all[tiddlers+shadows]tag[$:/tags/wiki-test-spec]type[text/vnd.tiddlywiki-multiple]] [all[tiddlers+shadows]tag[$:/tags/wiki-test-spec-failing]type[text/vnd.tiddlywiki-multiple]]\\\">\\n\\n<$transclude\\n\\t$tiddler=\\\"$:/core/ui/TestCaseTemplate\\\"\\n\\thideIfPass=\\\"yes\\\"\\n/>\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Theme\":{\"title\":\"$:/core/ui/ControlPanel/Theme\",\"tags\":\"$:/tags/ControlPanel/Appearance\",\"caption\":\"{{$:/language/ControlPanel/Theme/Caption}}\",\"text\":\"{{$:/snippets/themeswitcher}}\\n\"},\"$:/core/ui/ControlPanel/TiddlerFields\":{\"title\":\"$:/core/ui/ControlPanel/TiddlerFields\",\"tags\":\"$:/tags/ControlPanel/Advanced\",\"caption\":\"{{$:/language/ControlPanel/TiddlerFields/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/\\n\\n<>\\n\\n{{$:/snippets/allfields}}\"},\"$:/core/ui/ControlPanel/Settings/TiddlyWiki\":{\"title\":\"$:/core/ui/ControlPanel/Settings/TiddlyWiki\",\"tags\":\"$:/tags/ControlPanel/SettingsTab\",\"caption\":\"TiddlyWiki\",\"list-before\":\"\",\"text\":\"\\\\define lingo-base() $:/language/ControlPanel/Settings/\\n\\n<>\\n\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\\\">\\n\\n
> >\\n\\n!!.tc-control-panel-accent <$link><$transclude field=\\\"caption\\\"/>\\n\\n<$transclude/>\\n\\n
\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Toolbars/EditToolbar\":{\"title\":\"$:/core/ui/ControlPanel/Toolbars/EditToolbar\",\"tags\":\"$:/tags/ControlPanel/Toolbars\",\"caption\":\"{{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/TiddlerInfo/\\n\\n\\\\define config-base() $:/config/EditToolbarButtons/Visibility/\\n\\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\\n\\n<$set name=\\\"tv-config-toolbar-icons\\\" value=\\\"yes\\\">\\n\\n<$set name=\\\"tv-config-toolbar-text\\\" value=\\\"yes\\\">\\n\\n<$macrocall $name=\\\"list-tagged-draggable\\\" tag=\\\"$:/tags/EditToolbar\\\" itemTemplate=\\\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\\\"/>\\n\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\":{\"title\":\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\",\"text\":\"\\\\define config-title()\\n$(config-base)$$(currentTiddler)$\\n\\\\end\\n\\\\whitespace trim\\n\\n<$draggable tiddler=<>>\\n<$checkbox tiddler=<> field=\\\"text\\\" checked=\\\"show\\\" unchecked=\\\"hide\\\" default=\\\"show\\\"/>\\n \\n<$transclude tiddler={{!!icon}}/>\\n \\n<$transclude field=\\\"caption\\\"/>\\n -- \\n<$transclude field=\\\"description\\\"/>\\n\\n\"},\"$:/core/ui/ControlPanel/Toolbars/EditorToolbar\":{\"title\":\"$:/core/ui/ControlPanel/Toolbars/EditorToolbar\",\"tags\":\"$:/tags/ControlPanel/Toolbars\",\"caption\":\"{{$:/language/ControlPanel/Toolbars/EditorToolbar/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/TiddlerInfo/\\n\\n\\\\define config-base() $:/config/EditorToolbarButtons/Visibility/\\n\\n{{$:/language/ControlPanel/Toolbars/EditorToolbar/Hint}}\\n\\n<$macrocall $name=\\\"list-tagged-draggable\\\" tag=\\\"$:/tags/EditorToolbar\\\" itemTemplate=\\\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\\\"/>\\n\"},\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\":{\"title\":\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\",\"text\":\"\\\\define config-title()\\n$(config-base)$$(currentTiddler)$\\n\\\\end\\n\\\\whitespace trim\\n\\n<$draggable tiddler=<>>\\n<$checkbox tiddler=<> field=\\\"text\\\" checked=\\\"show\\\" unchecked=\\\"hide\\\" default=\\\"show\\\"/>\\n \\n\\n \\n<$transclude field=\\\"caption\\\"/>\\n \\n\\n-- \\n<$transclude field=\\\"description\\\"/>\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Toolbars/PageControls\":{\"title\":\"$:/core/ui/ControlPanel/Toolbars/PageControls\",\"tags\":\"$:/tags/ControlPanel/Toolbars\",\"caption\":\"{{$:/language/ControlPanel/Toolbars/PageControls/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/TiddlerInfo/\\n\\n\\\\define config-base() $:/config/PageControlButtons/Visibility/\\n\\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\\n\\n<$set name=\\\"tv-config-toolbar-icons\\\" value=\\\"yes\\\">\\n\\n<$set name=\\\"tv-config-toolbar-text\\\" value=\\\"yes\\\">\\n\\n<$macrocall $name=\\\"list-tagged-draggable\\\" tag=\\\"$:/tags/PageControls\\\" itemTemplate=\\\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\\\"/>\\n\\n\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\":{\"title\":\"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\",\"tags\":\"$:/tags/ControlPanel/Toolbars\",\"caption\":\"{{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}\",\"text\":\"\\\\define lingo-base() $:/language/TiddlerInfo/\\n\\n\\\\define config-base() $:/config/ViewToolbarButtons/Visibility/\\n\\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\\n\\n<$set name=\\\"tv-config-toolbar-icons\\\" value=\\\"yes\\\">\\n\\n<$set name=\\\"tv-config-toolbar-text\\\" value=\\\"yes\\\">\\n\\n<$macrocall $name=\\\"list-tagged-draggable\\\" tag=\\\"$:/tags/ViewToolbar\\\" itemTemplate=\\\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\\\"/>\\n\\n\\n\\n\\n\"},\"$:/core/ui/ControlPanel/Toolbars\":{\"title\":\"$:/core/ui/ControlPanel/Toolbars\",\"tags\":\"$:/tags/ControlPanel/Appearance\",\"caption\":\"{{$:/language/ControlPanel/Toolbars/Caption}}\",\"text\":\"\\\\whitespace trim\\n{{$:/language/ControlPanel/Toolbars/Hint}}\\n\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\\\" class=\\\"tc-vertical\\\" explicitState=\\\"$:/state/tabs/controlpanel/toolbars-1345989671\\\"/>\\n
\\n\"},\"$:/ControlPanel\":{\"title\":\"$:/ControlPanel\",\"icon\":\"$:/core/images/options-button\",\"color\":\"#bbb\",\"text\":\"\\\\whitespace trim\\n
\\n<$macrocall $name=\\\"tabs\\\" tabsList=\\\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\\\" default=\\\"$:/core/ui/ControlPanel/Info\\\" explicitState=\\\"$:/state/tab-1749438307\\\"/>\\n
\\n\"},\"$:/core/ui/DefaultSearchResultList\":{\"title\":\"$:/core/ui/DefaultSearchResultList\",\"tags\":\"$:/tags/SearchResults\",\"caption\":\"{{$:/language/Search/DefaultResults/Caption}}\",\"first-search-filter\":\"[!is[system]search:titlesort[title]limit[250]]\",\"second-search-filter\":\"[!is[system]searchsort[title]limit[250]]\",\"text\":\"\\\\define searchResultList()\\n\\\\whitespace trim\\n//{{$:/language/Search/Matches/Title}}//\\n\\n<$list filter=\\\"[minlength[1]]\\\" variable=\\\"ignore\\\">\\n<$list filter={{{ [get[first-search-filter]] }}} emptyMessage={{$:/language/Search/Matches/NoResult}}>\\naddsuffix[-primaryList]] -[get[text]] +[then[]else[tc-list-item-selected]] }}}>\\n<$transclude tiddler=\\\"$:/core/ui/ListItemTemplate\\\"/>\\n\\n\\n\\n\\n//{{$:/language/Search/Matches/All}}//\\n\\n<$list filter=\\\"[minlength[1]]\\\" variable=\\\"ignore\\\">\\n<$list filter={{{ [get[second-search-filter]] }}} emptyMessage={{$:/language/Search/Matches/NoResult}}>\\naddsuffix[-secondaryList]] -[get[text]] +[then[]else[tc-list-item-selected]] }}}>\\n<$transclude tiddler=\\\"$:/core/ui/ListItemTemplate\\\"/>\\n\\n\\n\\n\\n\\\\end\\n<>\\n\"},\"$:/core/ui/DownloadFullWiki\":{\"title\":\"$:/core/ui/DownloadFullWiki\",\"text\":\"\\\\whitespace trim\\n\\\\rules except wikilink\\n\\nTo download the standard single-file version of your wiki:\\n\\n<$wikify name=\\\"site-title\\\" text={{$:/config/SaveWikiButton/Filename}}>\\n<$let publishFilter=\\\"\\\"\\\"-[[$:/config/SaveWikiButton/Template]] -[[$:/plugins/tiddlywiki/filesystem]] -[[$:/plugins/tiddlywiki/tiddlyweb]]\\\"\\\"\\\">\\n<$button tooltip=\\\"Download fully standalone wiki\\\" aria-label=\\\"download full wiki\\\" class=\\\"tc-btn-big-green\\\">\\n<$action-sendmessage $message=\\\"tm-download-file\\\" $param=\\\"$:/core/save/all\\\" publishFilter=<> filename=<>/>\\n{{$:/core/images/download-button}}\\n\\nDownload full wiki\\n\\n\\n\\n\"},\"$:/core/ui/EditTemplate/body/preview/diffs-current\":{\"title\":\"$:/core/ui/EditTemplate/body/preview/diffs-current\",\"tags\":\"$:/tags/EditPreview\",\"caption\":\"{{$:/language/EditTemplate/Body/Preview/Type/DiffCurrent}}\",\"list-after\":\"$:/core/ui/EditTemplate/body/preview/output\",\"text\":\"<$list filter=\\\"[!is[image]]\\\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\\n\\n<$macrocall $name=\\\"compareTiddlerText\\\" sourceTiddlerTitle={{!!draft.of}} destTiddlerTitle=<>/>\\n\\n\\n\\n\"},\"$:/core/ui/EditTemplate/body/preview/diffs-shadow\":{\"title\":\"$:/core/ui/EditTemplate/body/preview/diffs-shadow\",\"tags\":\"$:/tags/EditPreview\",\"caption\":\"{{$:/language/EditTemplate/Body/Preview/Type/DiffShadow}}\",\"list-after\":\"$:/core/ui/EditTemplate/body/preview/output\",\"text\":\"<$list filter=\\\"[!is[image]]\\\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\\n\\n<$macrocall $name=\\\"compareTiddlerText\\\" sourceTiddlerTitle={{{ [{!!draft.of}shadowsource[]] }}} sourceSubTiddlerTitle={{!!draft.of}} destTiddlerTitle=<>/>\\n\\n\\n\\n\"},\"$:/core/ui/EditTemplate/body/preview/output\":{\"title\":\"$:/core/ui/EditTemplate/body/preview/output\",\"tags\":\"$:/tags/EditPreview\",\"caption\":\"{{$:/language/EditTemplate/Body/Preview/Type/Output}}\",\"text\":\"\\\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Macro/View/Body]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View/Body]!is[draft]]\\n<$set name=\\\"tv-tiddler-preview\\\" value=\\\"yes\\\">\\n\\n<$transclude tiddler={{{ [] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/body/default]] }}} />\\n\\n\\n\"},\"$:/state/showeditpreview\":{\"title\":\"$:/state/showeditpreview\",\"text\":\"no\"},\"$:/core/ui/EditTemplate/body/canonical-uri\":{\"title\":\"$:/core/ui/EditTemplate/body/canonical-uri\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/Body/\\n\\n
\\n\\n<>\\n\\n<$text text={{!!_canonical_uri}}/>\\n\\n<$edit-text field=\\\"_canonical_uri\\\" class=\\\"tc-edit-fields\\\" tabindex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\">\\n\\n
\\n\"},\"$:/core/ui/EditTemplate/body/default\":{\"title\":\"$:/core/ui/EditTemplate/body/default\",\"text\":\"\\\\function edit-preview-state()\\n[{$:/config/ShowEditPreview/PerTiddler}!match[yes]then[$:/state/showeditpreview]] :else[] +[get[text]] :else[[no]]\\n\\\\end\\n\\n\\\\define config-visibility-title()\\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\\n\\\\end\\n\\n\\\\define importFileActions()\\n<$action-popup $state=<> $coords=\\\"(0,0,0,0)\\\" $floating=\\\"yes\\\"/>\\n\\\\end\\n\\n\\\\whitespace trim\\n<$let\\n\\tqualified-preview-state=<>\\n\\teditPreviewStateTiddler={{{ [{$:/config/ShowEditPreview/PerTiddler}!match[yes]then[$:/state/showeditpreview]] :else[] }}}\\n\\timportTitle=<>\\n\\timportState=<> >\\n<$dropzone importTitle=<> autoOpenOnImport=\\\"no\\\" contentTypesFilter={{$:/config/Editor/ImportContentTypesFilter}} class=\\\"tc-dropzone-editor\\\" enable={{{ [{$:/config/DragAndDrop/Enable}match[no]] :else[subfilter{$:/config/Editor/EnableImportFilter}then[yes]else[no]] }}} filesOnly=\\\"yes\\\" actions=<> >\\n
\\n
match[yes]then[tc-tiddler-preview]else[tc-tiddler-preview-hidden]] [[tc-tiddler-editor]] +[join[ ]] }}}>\\n\\n<$transclude tiddler=\\\"$:/core/ui/EditTemplate/body/editor\\\" mode=\\\"inline\\\"/>\\n\\n<$list filter=\\\"[get[text]match[yes]]\\\" variable=\\\"ignore\\\">\\n\\n
\\n\\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\\\"inline\\\">\\n\\n<$transclude tiddler=\\\"$:/core/ui/EditTemplate/body/preview/output\\\" mode=\\\"inline\\\"/>\\n\\n\\n\\n
\\n\\n\\n\\n
\\n\\n
\\n\\n\\n\\n\\n\"},\"$:/core/ui/EditTemplate/body/editor\":{\"title\":\"$:/core/ui/EditTemplate/body/editor\",\"text\":\"\\\\whitespace trim\\n\\n<$edit\\n\\n field=\\\"text\\\"\\n class=\\\"tc-edit-texteditor tc-edit-texteditor-body\\\"\\n placeholder={{$:/language/EditTemplate/Body/Placeholder}}\\n tabindex={{$:/config/EditTabIndex}}\\n focus={{{ [{$:/config/AutoFocus}match[text]then[true]] ~[[false]] }}}\\n cancelPopups=\\\"yes\\\"\\n fileDrop={{{ [{$:/config/DragAndDrop/Enable}match[no]] :else[subfilter{$:/config/Editor/EnableImportFilter}then[yes]else[no]] }}}\\n\\n><$set\\n\\n name=\\\"targetTiddler\\\"\\n value=<>\\n\\n><$list\\n\\n filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\\\"\\n\\n><$reveal\\n\\n type=\\\"nomatch\\\"\\n state=<>\\n text=\\\"hide\\\"\\n class=\\\"tc-text-editor-toolbar-item-wrapper\\\"\\n\\n><$transclude\\n\\n tiddler=\\\"$:/core/ui/EditTemplate/body/toolbar/button\\\"\\n mode=\\\"inline\\\"\\n\\n/><$list\\n\\n filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditorTools]!has[draft.of]]\\\"\\n\\n><$list\\n\\tfilter={{!!condition}}\\n\\tvariable=\\\"list-condition\\\"\\n><$transclude/>\\n\\n\"},\"$:/core/ui/EditTemplate/body/toolbar/button\":{\"title\":\"$:/core/ui/EditTemplate/body/toolbar/button\",\"text\":\"\\\\define toolbar-button-icon()\\n<$list\\n\\n filter=\\\"[all[current]!has[custom-icon]]\\\"\\n variable=\\\"no-custom-icon\\\"\\n\\n><$transclude\\n\\n tiddler={{!!icon}}\\n\\n/>\\n\\\\end\\n\\n\\\\define toolbar-button-tooltip()\\n{{!!description}}<$macrocall $name=\\\"displayshortcuts\\\" $output=\\\"text/plain\\\" shortcuts={{!!shortcuts}} prefix=\\\"` - [\\\" separator=\\\"] [\\\" suffix=\\\"]`\\\"/>\\n\\\\end\\n\\n\\\\define toolbar-button()\\n<$list\\n\\n filter={{!!condition}}\\n variable=\\\"list-condition\\\"\\n\\n><$wikify\\n\\n name=\\\"tooltip-text\\\"\\n text=<>\\n mode=\\\"inline\\\"\\n output=\\\"text\\\"\\n\\n><$list\\n\\n filter=\\\"[all[current]!has[dropdown]]\\\"\\n variable=\\\"no-dropdown\\\"\\n\\n><$set name=disabled filter={{!!condition-disabled}}><$button\\n\\n class=\\\"tc-btn-invisible $(buttonClasses)$\\\"\\n tooltip=<>\\n actions={{!!actions}}\\n disabled=<>\\n\\n>match[yes]then[]else{!!shortcuts}] }}}\\n\\n/><><$transclude\\n\\n tiddler=<>\\n field=\\\"text\\\"\\n\\n/><$list\\n\\n filter=\\\"[all[current]has[dropdown]]\\\"\\n variable=\\\"dropdown\\\"\\n\\n><$set\\n\\n name=\\\"dropdown-state\\\"\\n value=<>\\n\\n><$set name=disabled filter={{!!condition-disabled}}><$button\\n\\n popup=<>\\n class=\\\"tc-popup-keep tc-btn-invisible $(buttonClasses)$\\\"\\n selectedClass=\\\"tc-selected\\\"\\n tooltip=<>\\n actions={{!!actions}}\\n disabled=<>\\n\\n>match[yes]then[]else{!!shortcuts}] }}}\\n\\n/><><$transclude\\n\\n tiddler=<>\\n field=\\\"text\\\"\\n\\n/><$reveal\\n\\n state=<>\\n type=\\\"popup\\\"\\n position=\\\"below\\\"\\n animate=\\\"yes\\\"\\n tag=\\\"span\\\"\\n\\n><$transclude\\n\\n tiddler={{!!dropdown}}\\n mode=\\\"block\\\"\\n\\n/>
\\n\\\\end\\n\\n\\\\define toolbar-button-outer()\\n<$set\\n\\n name=\\\"buttonClasses\\\"\\n value={{!!button-classes}}\\n\\n><>\\n\\\\end\\n\\n<>\"},\"$:/core/ui/EditTemplate/body\":{\"title\":\"$:/core/ui/EditTemplate/body\",\"tags\":\"$:/tags/EditTemplate\",\"text\":\"<$transclude tiddler={{{ [] :cascade[all[shadows+tiddlers]tag[$:/tags/EditTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/EditTemplate/body/default]] }}} />\\n\"},\"$:/core/ui/EditTemplate/controls\":{\"title\":\"$:/core/ui/EditTemplate/controls\",\"tags\":\"$:/tags/EditTemplate\",\"text\":\"\\\\define config-title() $:/config/EditToolbarButtons/Visibility/$(listItem)$\\n\\\\whitespace trim\\n
\\n\\t<$view field=\\\"title\\\"/>\\n\\t\\n\\t\\t<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\\\" variable=\\\"listItem\\\">\\n\\t\\t\\t<$let tv-config-toolbar-class={{{ [enlist] [encodeuricomponent[]addprefix[tc-btn-]] +[join[ ]] }}}>\\n\\t\\t\\t\\t<$reveal type=\\\"nomatch\\\" state=<> text=\\\"hide\\\">\\n\\t\\t\\t\\t\\t<$transclude $tiddler=<>/>\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t\\n
\\n\"},\"$:/core/ui/EditTemplate/fieldEditor/default\":{\"title\":\"$:/core/ui/EditTemplate/fieldEditor/default\",\"text\":\"<$edit-text tiddler=<> field=<> tag=\\\"input\\\" default=\\\"\\\" class=\\\"tc-edit-texteditor tc-edit-fieldeditor\\\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} tabindex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\"/>\"},\"$:/core/ui/EditTemplate/fields\":{\"title\":\"$:/core/ui/EditTemplate/fields\",\"tags\":\"$:/tags/EditTemplate\",\"text\":\"\\\\procedure lingo-base() $:/language/EditTemplate/\\n\\\\function tf.config-title() [[$:/config/EditTemplateFields/Visibility/]addsuffix[$(currentField)$]substitute[]get[text]]\\n\\n\\\\function tf.config-filter() [[hide]] :except[title]\\n\\n\\n\\\\procedure get-field-value-tiddler-filter() [subfiltersha256[16]addprefix[/]addprefix]\\n\\\\procedure get-field-editor-filter() [get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]\\n\\n\\\\procedure prefix.bracket() [\\n\\\\procedure suffix.bracket() ]\\n\\n\\\\function tf.current-tiddler-new-field-selector() [[data-tiddler-title=]addprefix[$(prefix.bracket)$]substitute[]addsuffixaddsuffix[$(suffix.bracket)$]substitute[]] .tc-edit-field-add-name-wrapper input :and[join[ ]]\\n\\n\\\\procedure new-field-actions()\\n\\\\whitespace trim\\n<$action-sendmessage $message=\\\"tm-add-field\\\" $name={{{ [get[text]] }}} $value={{{ [get[text]] :map[subfilterget[text]] }}}/>\\n<$set name=\\\"safeNewFieldValueTiddlerPrefix\\\" value=<> emptyValue=<> >\\n\\t<$action-deletetiddler $filter=\\\"[] [prefix[$:/temp/NewFieldValue]prefix] [] []\\\"/>\\n\\n<$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=<>/>\\n\\\\end\\n\\n\\\\procedure delete-state-tiddlers() <$action-deletetiddler $filter=\\\"[] [] []\\\"/>\\n\\n\\\\procedure cancel-search-actions-inner()\\n\\\\whitespace trim\\n<$list\\n\\tfilter=\\\"[has[text]] [has[text]]\\\"\\n\\tvariable=\\\"ignore\\\"\\n\\temptyMessage=\\\"<>\\\">\\n<>\\n\\n\\\\end\\n\\n\\\\procedure cancel-search-actions()\\n\\\\whitespace trim\\n<$set name=\\\"userInput\\\" value={{{ [get[text]] }}}>\\n<$list\\n\\tfilter=\\\"[get[text]!match]\\\"\\n\\temptyMessage=\\\"<>\\\">\\n<$action-setfield $tiddler=<> text=<>/><$action-setfield $tiddler=<> text=\\\"yes\\\"/>\\n\\n\\n\\\\end\\n\\n\\\\procedure new-field()\\n\\\\whitespace trim\\n<$vars name={{{ [get[text]] }}}>\\n<$reveal type=\\\"nomatch\\\" text=\\\"\\\" default=<>>\\n<$button tooltip={{$:/language/EditTemplate/Fields/Add/Button/Hint}}>\\n<$action-sendmessage $message=\\\"tm-add-field\\\"\\n$name=<>\\n$value={{{ [subfilterget[text]] }}}/>\\n<$set name=\\\"safeNewFieldValueTiddlerPrefix\\\" value=<> emptyValue=<> >\\n\\t<$action-deletetiddler $filter=\\\"[] [prefix[$:/temp/NewFieldValue]prefix] [] []\\\"/>\\n\\n<>\\n\\n\\n<$reveal type=\\\"match\\\" text=\\\"\\\" default=<>>\\n<$button>\\n<>\\n\\n\\n\\n\\\\end\\n\\\\whitespace trim\\n\\n<$set name=\\\"newFieldValueTiddlerPrefix\\\" value=<> emptyValue=<> >\\n
\\n\\n\\n<$list filter=\\\"[all[current]fields[]] :and[sort[title]]\\\" variable=\\\"currentField\\\" storyview=\\\"pop\\\">\\n<$list filter=<> variable=\\\"temp\\\">\\n\\n\\n\\n\\n\\n\\n\\n\\n
\\n<$text text=<>/>:\\n<$keyboard key=\\\"((delete-field))\\\" actions=\\\"\\\"\\\"<$action-deletefield $field=<>/><$set name=\\\"currentTiddlerCSSescaped\\\" value={{{ [escapecss[]] }}}><$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=<>/>\\\"\\\"\\\">\\n<$transclude tiddler={{{ [] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}] }}} />\\n\\n\\n<$button class=\\\"tc-btn-invisible\\\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\\n<$action-deletefield $field=<>/>\\n{{$:/core/images/delete-button}}\\n\\n
\\n
\\n\\n<$fieldmangler>\\n
\\n\\n<>\\n\\n<$vars refreshTitle=<> storeTitle=<> searchListState=<>>\\n
\\n<$transclude $variable=\\\"keyboard-driven-input\\\" tiddler=<> storeTitle=<> refreshTitle=<>\\n\\t\\tselectionStateTitle=<> tag=\\\"input\\\" default=\\\"\\\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}}\\n\\t\\tfocusPopup=<> class=\\\"tc-edit-texteditor tc-popup-handle\\\" tabindex={{$:/config/EditTabIndex}}\\n\\t\\tfocus={{{ [{$:/config/AutoFocus}match[fields]then[true]] :else[[false]] }}} cancelPopups=\\\"yes\\\"\\n\\t\\tconfigTiddlerFilter=\\\"[[$:/config/EditMode/fieldname-filter]]\\\" inputCancelActions=<> />\\n<$button popup=<> class=\\\"tc-btn-invisible tc-btn-dropdown tc-small-gap\\\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}\\n<$reveal state=<> type=\\\"nomatch\\\" text=\\\"\\\" default=\\\"\\\">\\n
\\n<$set name=\\\"tv-show-missing-links\\\" value=\\\"yes\\\">\\n<$linkcatcher to=<>>\\n
\\n<>\\n
\\n<$set name=\\\"newFieldName\\\" value={{{ [get[text]] }}}>\\n<$list filter=\\\"[!is[shadow]!is[system]fields[]search:titlesort[]] :except[[created]] :except[[creator]] :except[[draft.of]] :except[[draft.title]] :except[[modified]] :except[[modifier]] :except[[tags]] :except[[text]] :except[[title]] :except[[type]]\\\" variable=\\\"currentField\\\">\\n<$list filter=\\\"[addsuffix[-primaryList]] :except[get[text]]\\\" emptyMessage=\\\"\\\"\\\"<$link to=<> class=\\\"tc-list-item-selected\\\"><$text text=<>/>\\\"\\\"\\\">\\n<$link to=<>>\\n<$text text=<>/>\\n\\n\\n\\n
\\n<>\\n
\\n<$list filter=\\\"[fields[]search:titlesort[]] :except[!is[shadow]!is[system]fields[]]\\\" variable=\\\"currentField\\\">\\n<$list filter=\\\"[addsuffix[-secondaryList]] :except[get[text]]\\\" emptyMessage=\\\"\\\"\\\"<$link to=<> class=\\\"tc-list-item-selected\\\"><$text text=<>/>\\\"\\\"\\\">\\n<$link to=<>>\\n<$text text=<>/>\\n\\n\\n\\n\\n\\n\\n
\\n\\n
\\n<$let currentTiddlerCSSescaped={{{ [escapecss[]] }}} currentTiddler={{{ [subfilter] }}} currentField=\\\"text\\\" currentFieldName={{{ [get[text]] }}}>\\n\\n<$keyboard key=\\\"((add-field))\\\" actions=<>>\\n<$transclude tiddler={{{ [subfilter] }}} />\\n\\n\\n\\n<$transclude $variable=\\\"new-field\\\"/>\\n\\n\\n\\n
\\n\\n\"},\"$:/core/ui/EditTemplate/shadow\":{\"title\":\"$:/core/ui/EditTemplate/shadow\",\"tags\":\"$:/tags/EditTemplate\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/Shadow/\\n\\\\define pluginLinkBody()\\n\\\\whitespace trim\\n<$link to=\\\"\\\"\\\"$(pluginTitle)$\\\"\\\"\\\">\\n<$text text=\\\"\\\"\\\"$(pluginTitle)$\\\"\\\"\\\"/>\\n\\n\\\\end\\n\\\\whitespace trim\\n<$list filter=\\\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\\\">\\n\\n<$list filter=\\\"[all[current]shadowsource[]]\\\" variable=\\\"pluginTitle\\\">\\n\\n<$set name=\\\"pluginLink\\\" value=<>>\\n
\\n\\n<>\\n\\n
\\n\\n\\n\\n\\n\\n<$list filter=\\\"[all[current]get[draft.of]is[shadow]is[tiddler]]\\\">\\n\\n<$list filter=\\\"[all[current]shadowsource[]]\\\" variable=\\\"pluginTitle\\\">\\n\\n<$set name=\\\"pluginLink\\\" value=<>>\\n
\\n\\n<>\\n\\n
\\n\\n\\n\\n\"},\"$:/core/ui/EditTemplate/tags\":{\"title\":\"$:/core/ui/EditTemplate/tags\",\"tags\":\"$:/tags/EditTemplate\",\"text\":\"\\\\whitespace trim\\n\\n\\\\procedure lingo-base() $:/language/EditTemplate/\\n\\n\\\\procedure tag-body-inner(colour,fallbackTarget,colourA,colourB,icon,tagField:\\\"tags\\\")\\n<$wikify name=\\\"foregroundColor\\\"\\n\\ttext=\\\"\\\"\\\"<$macrocall $name=\\\"contrastcolour\\\"\\n\\t\\ttarget=<>\\n\\t\\tfallbackTarget=<>\\n\\t\\tcolourA=<>\\n\\t\\tcolourB=<>/>\\n\\t\\\"\\\"\\\"\\n>\\n\\t<$let backgroundColor=<> >\\n\\t\\t>\\n\\t\\t\\tstyle.color=<>\\n\\t\\t\\tstyle.fill=<>\\n\\t\\t\\tstyle.background-color=<>\\n\\t\\t>\\n\\t\\t\\t<$transclude tiddler=<>/>\\n\\t\\t\\t<$view field=\\\"title\\\" format=\\\"text\\\"/>\\n\\t\\t\\t<$button class=\\\"tc-btn-invisible tc-remove-tag-button\\\"\\n\\t\\t\\t\\tstyle.fill=<>\\n\\t\\t\\t>\\n\\t\\t\\t\\t<$action-listops $tiddler=<> $field=<> $subfilter=\\\"-[{!!title}]\\\"/>\\n\\t\\t\\t\\t{{$:/core/images/close-button}}\\n\\t\\t\\t\\n\\t\\t\\n\\t\\n\\n\\\\end\\n\\n\\\\procedure tag-body(colour,palette,icon,tagField:\\\"tags\\\")\\n<$macrocall $name=\\\"tag-body-inner\\\"\\n\\tcolour=`$(colour)$`\\n\\tcolourA={{{ [getindex[foreground]] }}}\\n\\tcolourB={{{ [getindex[background]] }}}\\n\\tfallbackTarget={{{ [getindex[tag-background]] }}}\\n\\ticon=<>\\n\\ttagField=<>\\n/>\\n\\\\end\\n\\n\\\\procedure edit-tags-template(tagField:\\\"tags\\\")\\n
\\n\\t<$list filter=\\\"[getenlist-input[]sort[title]]\\\" storyview=\\\"pop\\\">\\n\\t\\t<$macrocall $name=\\\"tag-body\\\"\\n\\t\\t\\tcolour={{{ [] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}\\n\\t\\t\\tpalette={{$:/palette}}\\n\\t\\t\\ticon={{{ [] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}}\\n\\t\\t\\ttagField=<>\\n\\t\\t/>\\n\\t\\n\\t<$let tabIndex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\">\\n\\t\\t<$macrocall $name=\\\"tag-picker\\\" tagField=<>/>\\n\\t\\n
\\n\\\\end\\n<$let saveTiddler=<>>\\n\\t<$macrocall $name=\\\"edit-tags-template\\\" tagField=<>/>\\n\\n\"},\"$:/core/ui/EditTemplate/title\":{\"title\":\"$:/core/ui/EditTemplate/title\",\"tags\":\"$:/tags/EditTemplate\",\"text\":\"\\\\whitespace trim\\n<$edit-text field=\\\"draft.title\\\" class=\\\"tc-titlebar tc-edit-texteditor\\\" focus={{{ [{$:/config/AutoFocus}match[title]then[true]] ~[[false]] }}} tabindex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\"/>\\n\\n<$vars pattern=\\\"\\\"\\\"[\\\\|\\\\[\\\\]{}]\\\"\\\"\\\" bad-chars=\\\"\\\"\\\"`| [ ] { }`\\\"\\\"\\\">\\n\\n<$list filter=\\\"[all[current]regexp:draft.title]\\\" variable=\\\"listItem\\\">\\n\\n
\\n\\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\\n\\n
\\n\\n\\n\\n\\n\\n<$reveal state=\\\"!!draft.title\\\" type=\\\"nomatch\\\" text={{!!draft.of}} tag=\\\"div\\\">\\n\\n<$list filter=\\\"[{!!draft.title}!is[missing]]\\\" variable=\\\"listItem\\\">\\n\\n
\\n\\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}: <$link to={{!!draft.title}} />\\n\\n
\\n\\n\\n\\n<$list filter=\\\"[{!!draft.of}!is[missing]]\\\" variable=\\\"listItem\\\">\\n\\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\\n\\n<$checkbox tiddler=\\\"$:/config/RelinkOnRename\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"no\\\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}\\n\\n<$list filter=\\\"[titlebacklinks[]limit[1]]\\\" variable=\\\"listItem\\\">\\n\\n<$vars stateTiddler=<> >\\n\\n<$reveal type=\\\"nomatch\\\" state=<> text=\\\"show\\\">\\n<$button set=<> setTo=\\\"show\\\" class=\\\"tc-btn-invisible\\\">\\n{{$:/core/images/right-arrow}}\\n \\n<>\\n\\n<$reveal type=\\\"match\\\" state=<> text=\\\"show\\\">\\n<$button set=<> setTo=\\\"hide\\\" class=\\\"tc-btn-invisible\\\">\\n{{$:/core/images/down-arrow}}\\n \\n<>\\n\\n\\n<$reveal type=\\\"match\\\" state=<> text=\\\"show\\\">\\n<$tiddler tiddler=<> >\\n<$transclude tiddler=\\\"$:/core/ui/TiddlerInfo/References\\\"/>\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"},\"$:/core/ui/EditTemplate/type\":{\"title\":\"$:/core/ui/EditTemplate/type\",\"tags\":\"$:/tags/EditTemplate\",\"first-search-filter\":\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[description]sort[group-sort]removeprefix[$:/language/Docs/Types/]search]\",\"text\":\"\\\\procedure lingo-base() $:/language/EditTemplate/\\n\\\\procedure input-cancel-actions() <$list filter=\\\"[get[text]] [get[type]] :and[limit[1]]\\\" emptyMessage=\\\"\\\"\\\"<>\\\"\\\"\\\"><$action-sendmessage $message=\\\"tm-remove-field\\\" $param=\\\"type\\\"/><$action-deletetiddler $filter=\\\"[] [] []\\\"/>\\n\\\\whitespace trim\\n<$set name=\\\"refreshTitle\\\" value=<>>\\n
\\n<>\\n
\\n
<$fieldmangler>\\n<$transclude $variable=\\\"keyboard-driven-input\\\" tiddler=<> storeTitle=<> refreshTitle=<> selectionStateTitle=<> field=\\\"type\\\" tag=\\\"input\\\" default=\\\"\\\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<> class=\\\"tc-edit-typeeditor tc-edit-texteditor tc-popup-handle\\\" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] :else[[false]] }}} cancelPopups=\\\"yes\\\" configTiddlerFilter=\\\"[[$:/core/ui/EditTemplate/type]]\\\" inputCancelActions=<>/><$button popup=<> class=\\\"tc-btn-invisible tc-btn-dropdown tc-small-gap\\\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}<$button message=\\\"tm-remove-field\\\" param=\\\"type\\\" class=\\\"tc-btn-invisible tc-btn-icon\\\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}<$action-deletetiddler $filter=\\\"[] [] [] []\\\"/>\\n
\\n\\n
\\n<$set name=\\\"tv-show-missing-links\\\" value=\\\"yes\\\">\\n<$reveal state=<> type=\\\"nomatch\\\" text=\\\"\\\" default=\\\"\\\">\\n
\\n<$linkcatcher to=\\\"!!type\\\">\\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\\n
\\n<$text text={{!!group}}/>\\n
\\n<$set name=\\\"userInput\\\" value={{{ [get[text]] }}}>\\n<$list filter=\\\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] :and[sort[description]] :and[removeprefix[$:/language/Docs/Types/]] :and[search]\\\">addsuffix[-primaryList]] :except[get[text]] :and[then[]else[tc-list-item-selected]] }}}><$link to={{{ [addprefix[$:/language/Docs/Types/]get[name]] }}}><$view tiddler={{{ [addprefix[$:/language/Docs/Types/]] }}} field=\\\"description\\\"/><$text text=\\\" \\\"/>(<$view tiddler={{{ [addprefix[$:/language/Docs/Types/]] }}} field=\\\"name\\\"/>)\\n\\n\\n\\n\\n
\\n\\n\\n
\\n
\\n
\\n\\n\"},\"$:/core/ui/EditTemplate\":{\"title\":\"$:/core/ui/EditTemplate\",\"code-body\":\"yes\",\"text\":\"\\\\define delete-edittemplate-state-tiddlers()\\n<$set name=\\\"safeNewFieldValueTiddlerPrefix\\\" value=<> emptyValue=<> >\\n\\t<$action-deletetiddler $filter=\\\"[] [prefix[$:/temp/NewFieldValue]prefix] [] [] [] [] [] [] []\\\"/>\\n\\n\\\\end\\n\\n\\n\\\\define get-field-value-tiddler-filter() [subfiltersha256[16]addprefix[/]addprefix]\\n\\\\define get-field-editor-filter() [get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]\\n\\n\\\\define save-tiddler-actions()\\n\\\\whitespace trim\\n<$action-sendmessage $message=\\\"tm-add-tag\\\" $param={{{ [get[text]] }}}/>\\n<$action-sendmessage $message=\\\"tm-add-field\\\" $name={{{ [get[text]] }}} $value={{{ [get[text]] :map[subfilterget[text]] }}}/>\\n<>\\n<$action-sendmessage $message=\\\"tm-save-tiddler\\\"/>\\n\\\\end\\n\\n\\\\define cancel-delete-tiddler-actions(message)\\n\\\\whitespace trim\\n<>\\n<$action-sendmessage $message=\\\"tm-$message$-tiddler\\\"/>\\n\\\\end\\n\\n\\\\whitespace trim\\n>\\n\\tdata-tags={{!!tags}}\\n\\tclass={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/TiddlerTemplate]!is[draft]] :map:flat[subfilter{!!text}] tc-tiddler-frame tc-tiddler-edit-frame [is[tiddler]then[tc-tiddler-exists]] [is[missing]!is[shadow]then[tc-tiddler-missing]] [is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [is[system]then[tc-tiddler-system]] [{!!class}] [tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}\\n\\trole=\\\"region\\\"\\n\\taria-label={{$:/language/EditTemplate/Caption}}>\\n<$fieldmangler>\\n<$vars\\n\\tstoryTiddler=<>\\n\\tnewTagNameTiddler=<>\\n\\tnewFieldNameTiddler=<>\\n\\tnewFieldValueTiddlerPrefix=<>\\n\\tnewFieldNameInputTiddler=<>\\n\\tnewFieldNameSelectionTiddler=<>\\n\\tnewTagNameInputTiddler=<>\\n\\tnewTagNameSelectionTiddler=<>\\n\\ttypeInputTiddler=<>\\n\\ttypeSelectionTiddler=<>>\\n<$keyboard key=\\\"((cancel-edit-tiddler))\\\" actions=<> tag=\\\"div\\\">\\n<$keyboard key=\\\"((save-tiddler))\\\" actions=<> tag=\\\"div\\\">\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\\\" variable=\\\"listItem\\\">\\n<$transclude tiddler=<>/>\\n\\n\\n\\n\\n\\n
\\n\"},\"$:/core/ui/Buttons/cancel\":{\"title\":\"$:/core/ui/Buttons/cancel\",\"tags\":\"$:/tags/EditToolbar\",\"caption\":\"{{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}\",\"description\":\"{{$:/language/Buttons/Cancel/Hint}}\",\"text\":\"\\\\whitespace trim\\n<$button actions=<>\\n\\ttooltip={{$:/language/Buttons/Cancel/Hint}}\\n\\taria-label={{$:/language/Buttons/Cancel/Hint}}\\n\\tclass=<>\\n>\\n\\t<%if [match[yes]] %>\\n\\t\\t{{$:/core/images/cancel-button}}\\n\\t<%endif%>\\n\\t<%if [match[yes]] %>\\n\\t\\t<$text text={{$:/language/Buttons/Cancel/Caption}}/>\\n\\t<%endif%>\\n\\n\"},\"$:/core/ui/Buttons/delete\":{\"title\":\"$:/core/ui/Buttons/delete\",\"tags\":\"$:/tags/EditToolbar $:/tags/ViewToolbar\",\"caption\":\"{{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}\",\"description\":\"{{$:/language/Buttons/Delete/Hint}}\",\"text\":\"\\\\whitespace trim\\n<$button actions=<>\\n\\ttooltip={{$:/language/Buttons/Delete/Hint}}\\n\\taria-label={{$:/language/Buttons/Delete/Hint}}\\n\\tclass=<>\\n>\\n\\t<%if [match[yes]] %>\\n\\t\\t{{$:/core/images/delete-button}}\\n\\t<%endif%>\\n\\t<%if [match[yes]] %>\\n\\t\\t<$text text={{$:/language/Buttons/Delete/Caption}}/>\\n\\t<%endif%>\\n\\n\"},\"$:/core/ui/Buttons/save\":{\"title\":\"$:/core/ui/Buttons/save\",\"tags\":\"$:/tags/EditToolbar\",\"caption\":\"{{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}\",\"description\":\"{{$:/language/Buttons/Save/Hint}}\",\"text\":\"\\\\whitespace trim\\n\\\\procedure save-tiddler-button()\\n<$fieldmangler>\\n\\t<$button\\n\\t\\ttooltip={{$:/language/Buttons/Save/Hint}}\\n\\t\\taria-label={{$:/language/Buttons/Save/Hint}}\\n\\t\\tclass=<>\\n\\t>\\n\\t\\t<>\\n\\t\\t<%if [match[yes]] %>\\n\\t\\t\\t{{$:/core/images/done-button}}\\n\\t\\t<%endif%>\\n\\t\\t<%if [match[yes]] %>\\n\\t\\t\\t<$text text={{$:/language/Buttons/Save/Caption}}/>\\n\\t\\t<%endif%>\\n\\t\\n\\n\\\\end\\n<>\\n\"},\"$:/core/ui/EditorToolbar/bold\":{\"title\":\"$:/core/ui/EditorToolbar/bold\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/bold\",\"caption\":\"{{$:/language/Buttons/Bold/Caption}}\",\"description\":\"{{$:/language/Buttons/Bold/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((bold))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"''\\\"\\n\\tsuffix=\\\"''\\\"\\n\\ttrimSelection=\\\"yes\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/clear-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/clear-dropdown\",\"text\":\"''{{$:/language/Buttons/Clear/Hint}}''\\n\\n
\\n\\n<$macrocall $name=\\\"colour-picker\\\" actions=\\\"\\\"\\\"\\n\\n<$action-sendmessage\\n\\t$message=\\\"tm-edit-bitmap-operation\\\"\\n\\t$param=\\\"clear\\\"\\n\\tcolour=<>\\n/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n\\\"\\\"\\\"/>\\n\\n
\\n\"},\"$:/core/ui/EditorToolbar/clear\":{\"title\":\"$:/core/ui/EditorToolbar/clear\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/erase\",\"caption\":\"{{$:/language/Buttons/Clear/Caption}}\",\"description\":\"{{$:/language/Buttons/Clear/Hint}}\",\"condition\":\"[is[image]] -[type[image/svg+xml]]\",\"dropdown\":\"$:/core/ui/EditorToolbar/clear-dropdown\",\"text\":\"\"},\"$:/core/ui/EditorToolbar/editor-height-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/editor-height-dropdown\",\"text\":\"\\\\define lingo-base() $:/language/Buttons/EditorHeight/\\n''<>''\\n\\n<$radio tiddler=\\\"$:/config/TextEditor/EditorHeight/Mode\\\" value=\\\"auto\\\"> {{$:/core/images/auto-height}} <>\\n\\n<$radio tiddler=\\\"$:/config/TextEditor/EditorHeight/Mode\\\" value=\\\"fixed\\\"> {{$:/core/images/fixed-height}} <> <$edit-text tag=\\\"input\\\" tiddler=\\\"$:/config/TextEditor/EditorHeight/Height\\\" default=\\\"100px\\\"/>\\n\"},\"$:/core/ui/EditorToolbar/editor-height\":{\"title\":\"$:/core/ui/EditorToolbar/editor-height\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/fixed-height\",\"custom-icon\":\"yes\",\"caption\":\"{{$:/language/Buttons/EditorHeight/Caption}}\",\"description\":\"{{$:/language/Buttons/EditorHeight/Hint}}\",\"condition\":\"[type[]] [get[type]prefix[text/]] [get[type]match[application/javascript]] [get[type]match[application/json]] [get[type]match[application/x-tiddler-dictionary]] [get[type]match[image/svg+xml]] +[first[]]\",\"dropdown\":\"$:/core/ui/EditorToolbar/editor-height-dropdown\",\"text\":\"\\\\whitespace trim\\n<$reveal tag=\\\"span\\\" state=\\\"$:/config/TextEditor/EditorHeight/Mode\\\" type=\\\"match\\\" text=\\\"fixed\\\">\\n{{$:/core/images/fixed-height}}\\n\\n<$reveal tag=\\\"span\\\" state=\\\"$:/config/TextEditor/EditorHeight/Mode\\\" type=\\\"match\\\" text=\\\"auto\\\">\\n{{$:/core/images/auto-height}}\\n\\n\"},\"$:/core/ui/EditorToolbar/excise-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/excise-dropdown\",\"text\":\"\\\\define lingo-base() $:/language/Buttons/Excise/\\n\\n\\\\define body(config-title)\\n\\\\whitespace trim\\n''<>''\\n\\n<> <$edit-text tag=\\\"input\\\" tiddler=\\\"$config-title$/new-title\\\" default=\\\"\\\" focus=\\\"true\\\"/>\\n\\n<$set name=\\\"new-title\\\" value={{$config-title$/new-title}}>\\n<$list filter=\\\"\\\"\\\"[is[tiddler]]\\\"\\\"\\\">\\n
\\n<>\\n
\\n\\n\\n\\n<$checkbox tiddler=\\\"\\\"\\\"$config-title$/tagnew\\\"\\\"\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"false\\\"> <>\\n\\n<> <$select tiddler=\\\"\\\"\\\"$config-title$/type\\\"\\\"\\\" default=\\\"transclude\\\">\\n\\n\\n\\n\\n\\n<$reveal state=\\\"\\\"\\\"$config-title$/type\\\"\\\"\\\" type=\\\"match\\\" text=\\\"macro\\\">\\n<> <$edit-text tag=\\\"input\\\" tiddler=\\\"\\\"\\\"$config-title$/macro-title\\\"\\\"\\\" default=\\\"translink\\\"/>\\n\\n\\n<$button>\\n<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"excise\\\"\\n\\ttitle={{$config-title$/new-title}}\\n\\ttype={{$config-title$/type}}\\n\\tmacro={{$config-title$/macro-title}}\\n\\ttagnew={{$config-title$/tagnew}}\\n/>\\n<$action-deletetiddler\\n\\t$tiddler=\\\"$config-title$/new-title\\\"\\n/>\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n<>\\n\\n\\\\end\\n\\n<$macrocall $name=\\\"body\\\" config-title=<>/>\\n\"},\"$:/core/ui/EditorToolbar/excise\":{\"title\":\"$:/core/ui/EditorToolbar/excise\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/excise\",\"caption\":\"{{$:/language/Buttons/Excise/Caption}}\",\"description\":\"{{$:/language/Buttons/Excise/Hint}}\",\"condition\":\"[type[]] [type[text/vnd.tiddlywiki]] [type[text/markdown]] [type[text/x-markdown]] +[first[]]\",\"shortcuts\":\"((excise))\",\"dropdown\":\"$:/core/ui/EditorToolbar/excise-dropdown\",\"text\":\"\"},\"$:/core/ui/EditorToolbar/file-import\":{\"title\":\"$:/core/ui/EditorToolbar/file-import\",\"tags\":\"$:/tags/EditorTools\",\"condition\":\"[filter{$:/config/Editor/EnableImportFilter}]\",\"text\":\"\\\\procedure lingo-base() $:/language/Import/\\n\\n\\\\procedure closePopupActions()\\n<$action-deletetiddler $filter=\\\"[title] [title]\\\"/>\\n\\\\end closePopupActions\\n\\n\\\\procedure tw5-ImageTemplate() [img[$(currentTiddler)$]]\\n\\\\procedure tw5-FileTemplate() [[$(currentTiddler)$]]\\n\\n\\n\\\\function escape.title() [search-replace:g:regexp[\\\\(|\\\\)|<|>|\\\\\\\\],[\\\\$&]]\\n\\\\procedure markdown-ImageTemplate() ![](<#${ [escape.title[]] }$>)\\n\\\\procedure markdown-FileTemplate() [](<#${ [escape.title[]] }$>)\\n\\n\\\\function is.markdown.tiddler() [all[]type[text/x-markdown]] [all[]type[text/markdown]]\\n\\\\function is.image() [get[type]prefix[image]]\\n\\\\function get.markdown.link() [is.image[]thenelse]\\n\\\\function get.tw5.link() [is.image[]thenelse] \\n\\\\function get.link.template() [is.markdown.tiddler[]thenelse]\\n\\n\\\\procedure postImportActions()\\n\\\\whitespace trim\\n<$list filter=\\\"[links[]] :reduce[get.link.template[]substitute[]addprefix]\\\" variable=\\\"imageTitle\\\">\\n<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"insert-text\\\"\\n\\ttext=<>\\n/>\\n\\n<>\\n\\\\end postImportActions\\n\\n\\\\procedure buttons()\\n\\\\whitespace trim\\n<$button class=\\\"tc-btn-invisible\\\" actions=<> ><>\\n \\n<$button class=\\\"tc-btn-invisible\\\" message=\\\"tm-perform-import\\\" param=<> actions=<> ><>\\n\\\\end buttons\\n\\n\\\\whitespace trim\\n<$reveal type=\\\"popup\\\" state=<> tag=\\\"div\\\" class=\\\"tc-editor-importpopup\\\">\\n
\\n<$list filter=\\\"[field:plugin-type[import]]\\\">\\n

<>

\\n<$tiddler tiddler=<>>\\n{{||$:/core/ui/ImportListing}}\\n<>\\n\\n\\n
\\n\"},\"$:/core/ui/EditorToolbar/heading-1\":{\"title\":\"$:/core/ui/EditorToolbar/heading-1\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/heading-1\",\"caption\":\"{{$:/language/Buttons/Heading1/Caption}}\",\"description\":\"{{$:/language/Buttons/Heading1/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"button-classes\":\"tc-text-editor-toolbar-item-start-group\",\"shortcuts\":\"((heading-1))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"!\\\"\\n\\tcount=\\\"1\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/heading-2\":{\"title\":\"$:/core/ui/EditorToolbar/heading-2\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/heading-2\",\"caption\":\"{{$:/language/Buttons/Heading2/Caption}}\",\"description\":\"{{$:/language/Buttons/Heading2/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((heading-2))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"!\\\"\\n\\tcount=\\\"2\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/heading-3\":{\"title\":\"$:/core/ui/EditorToolbar/heading-3\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/heading-3\",\"caption\":\"{{$:/language/Buttons/Heading3/Caption}}\",\"description\":\"{{$:/language/Buttons/Heading3/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((heading-3))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"!\\\"\\n\\tcount=\\\"3\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/heading-4\":{\"title\":\"$:/core/ui/EditorToolbar/heading-4\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/heading-4\",\"caption\":\"{{$:/language/Buttons/Heading4/Caption}}\",\"description\":\"{{$:/language/Buttons/Heading4/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((heading-4))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"!\\\"\\n\\tcount=\\\"4\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/heading-5\":{\"title\":\"$:/core/ui/EditorToolbar/heading-5\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/heading-5\",\"caption\":\"{{$:/language/Buttons/Heading5/Caption}}\",\"description\":\"{{$:/language/Buttons/Heading5/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((heading-5))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"!\\\"\\n\\tcount=\\\"5\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/heading-6\":{\"title\":\"$:/core/ui/EditorToolbar/heading-6\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/heading-6\",\"caption\":\"{{$:/language/Buttons/Heading6/Caption}}\",\"description\":\"{{$:/language/Buttons/Heading6/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((heading-6))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"!\\\"\\n\\tcount=\\\"6\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/italic\":{\"title\":\"$:/core/ui/EditorToolbar/italic\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/italic\",\"caption\":\"{{$:/language/Buttons/Italic/Caption}}\",\"description\":\"{{$:/language/Buttons/Italic/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((italic))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"//\\\"\\n\\tsuffix=\\\"//\\\"\\n\\ttrimSelection=\\\"yes\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/line-width-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/line-width-dropdown\",\"text\":\"\\\\define lingo-base() $:/language/Buttons/LineWidth/\\n\\n\\\\define toolbar-line-width-inner()\\n<$button tag=\\\"a\\\" tooltip=\\\"\\\"\\\"$(line-width)$\\\"\\\"\\\">\\n\\n<$action-setfield\\n\\t$tiddler=\\\"$:/config/BitmapEditor/LineWidth\\\"\\n\\t$value=\\\"$(line-width)$\\\"\\n/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n
\\n\\n\\n\\n<$text text=\\\"\\\"\\\"$(line-width)$\\\"\\\"\\\"/>\\n\\n<$reveal state=\\\"$:/config/BitmapEditor/LineWidth\\\" type=\\\"match\\\" text=\\\"\\\"\\\"$(line-width)$\\\"\\\"\\\" tag=\\\"span\\\">\\n\\n<$entity entity=\\\" \\\"/>\\n\\n<$entity entity=\\\"✓\\\"/>\\n\\n\\n\\n\\n\\n\\n\\\\end\\n\\n''<>''\\n\\n<$list filter={{$:/config/BitmapEditor/LineWidths}} variable=\\\"line-width\\\">\\n\\n<>\\n\\n\\n\"},\"$:/core/ui/EditorToolbar/line-width\":{\"title\":\"$:/core/ui/EditorToolbar/line-width\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/line-width\",\"caption\":\"{{$:/language/Buttons/LineWidth/Caption}}\",\"description\":\"{{$:/language/Buttons/LineWidth/Hint}}\",\"condition\":\"[is[image]] -[type[image/svg+xml]]\",\"dropdown\":\"$:/core/ui/EditorToolbar/line-width-dropdown\",\"text\":\"<$text text={{$:/config/BitmapEditor/LineWidth}}/>\\n\"},\"$:/core/ui/EditorToolbar/link-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/link-dropdown\",\"text\":\"\\\\procedure lingo-base() $:/language/Buttons/Link/\\n\\n\\\\procedure add-link-actions()\\n\\\\whitespace trim\\n<$action-sendmessage $message=\\\"tm-edit-text-operation\\\" $param=\\\"make-link\\\" text={{{ [get[text]] }}} />\\n<$action-deletetiddler $filter=\\\"[] [] [] [] []\\\"/>\\n\\\\end\\n\\n\\\\procedure prefix.bracket() [\\n\\\\procedure suffix.bracket() ]\\n\\n\\\\function tf.get-focus-selector() [[data-tiddler-title=]addprefix[$(prefix.bracket)$]substitute[]addsuffixaddsuffix[$(suffix.bracket)$]substitute[]] .tc-create-wikitext-link input :and[join[ ]]\\n\\n\\\\procedure cancel-search-actions-inner()\\n<$set name=\\\"userInput\\\" value={{{ [get[text]] }}}><$list filter=\\\"[get[text]!match]\\\" emptyMessage=\\\"<$action-deletetiddler $filter='[] [] [] []'/>\\\"><$action-setfield $tiddler=<> text=<>/><$action-setfield $tiddler=<> text=\\\"yes\\\"/>\\n\\\\end\\n\\n\\\\procedure cancel-search-actions() <$list filter=\\\"[!has[text]] :and[!has[text]]\\\" emptyMessage=\\\"<>\\\"><$action-sendmessage $message=\\\"tm-edit-text-operation\\\" $param=\\\"focus-editor\\\"/>\\n\\n\\\\procedure external-link()\\n\\\\whitespace trim\\n<$button class=\\\"tc-btn-invisible tc-btn-mini\\\" style=\\\"width: auto; display: inline-block; background-colour: inherit;\\\" actions=<>>\\n{{$:/core/images/chevron-right}}\\n\\n\\\\end\\n\\n\\\\procedure set-next-input-tab() <$transclude $variable=\\\"change-input-tab-after\\\" stateTitle=\\\"$:/state/tab/search-results/sidebar\\\" tag=\\\"$:/tags/SearchResults\\\" defaultState={{$:/config/SearchResults/Default}} actions=\\\"<$action-setfield $tiddler='$:/state/search/currentTab' text=<>/>\\\"/>\\n\\n\\\\procedure set-previous-input-tab() <$transclude $variable=\\\"change-input-tab-before\\\" stateTitle=\\\"$:/state/tab/search-results/sidebar\\\" tag=\\\"$:/tags/SearchResults\\\" defaultState={{$:/config/SearchResults/Default}} actions=\\\"<$action-setfield $tiddler='$:/state/search/currentTab' text=<>/>\\\"/>\\n\\n\\\\procedure body(config-title)\\n\\\\whitespace trim\\n''<>''\\n\\n<$vars searchTiddler={{{ [addsuffix[/search]] }}} linkTiddler={{{ [addsuffix[/link]] }}} linktext=\\\"\\\" searchListState=<> refreshTitle=<> storeTitle=<>>\\n\\n<$vars linkTiddler=<>>\\n<$keyboard key=\\\"((input-tab-right))\\\" actions=<>>\\n<$keyboard key=\\\"((input-tab-left))\\\" actions=<> class=\\\"tc-create-wikitext-link\\\">\\n<$transclude $variable=\\\"keyboard-driven-input\\\" tiddler=<> storeTitle=<>\\n\\t\\tselectionStateTitle=<> refreshTitle=<> type=\\\"search\\\" filterMinLength=\\\"1\\\"\\n\\t\\ttag=\\\"input\\\" focus=\\\"true\\\" class=\\\"tc-popup-handle\\\" inputCancelActions=<>\\n\\t\\tinputAcceptActions=<> placeholder={{$:/language/Search/Search}} default=\\\"\\\"\\n\\t\\tconfigTiddlerFilter=\\\"[[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}]\\\" />\\n\\n\\n \\n<$reveal tag=\\\"span\\\" state=<> type=\\\"nomatch\\\" text=\\\"\\\">\\n<>\\n \\n<$button class=\\\"tc-btn-invisible tc-btn-mini\\\" style=\\\"width: auto; display: inline-block; background-colour: inherit;\\\">\\n<><$set name=\\\"cssEscapedTitle\\\" value={{{ [escapecss[]] }}}><$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=<>/>\\n{{$:/core/images/close-button}}\\n\\n\\n\\n\\n<$reveal tag=\\\"div\\\" state=<> type=\\\"nomatch\\\" text=\\\"\\\">\\n\\n<$linkcatcher actions=<> to=<>>\\n\\n<$vars userInput={{{ [get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}] }}}>\\n\\n{{$:/core/ui/SearchResults}}\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\\\end\\n\\n<$transclude $variable=\\\"body\\\" config-title=<>/>\\n\"},\"$:/core/ui/EditorToolbar/link\":{\"title\":\"$:/core/ui/EditorToolbar/link\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/link\",\"caption\":\"{{$:/language/Buttons/Link/Caption}}\",\"description\":\"{{$:/language/Buttons/Link/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"button-classes\":\"tc-text-editor-toolbar-item-start-group\",\"shortcuts\":\"((link))\",\"dropdown\":\"$:/core/ui/EditorToolbar/link-dropdown\",\"text\":\"\"},\"$:/core/ui/EditorToolbar/linkify\":{\"title\":\"$:/core/ui/EditorToolbar/linkify\",\"caption\":\"{{$:/language/Buttons/Linkify/Caption}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"description\":\"{{$:/language/Buttons/Linkify/Hint}}\",\"icon\":\"$:/core/images/linkify\",\"list-before\":\"$:/core/ui/EditorToolbar/mono-block\",\"shortcuts\":\"((linkify))\",\"tags\":\"$:/tags/EditorToolbar\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"[[\\\"\\n\\tsuffix=\\\"]]\\\"\\n\\ttrimSelection=\\\"yes\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/list-bullet\":{\"title\":\"$:/core/ui/EditorToolbar/list-bullet\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/list-bullet\",\"caption\":\"{{$:/language/Buttons/ListBullet/Caption}}\",\"description\":\"{{$:/language/Buttons/ListBullet/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((list-bullet))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"*\\\"\\n\\tcount=\\\"1\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/list-number\":{\"title\":\"$:/core/ui/EditorToolbar/list-number\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/list-number\",\"caption\":\"{{$:/language/Buttons/ListNumber/Caption}}\",\"description\":\"{{$:/language/Buttons/ListNumber/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((list-number))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"prefix-lines\\\"\\n\\tcharacter=\\\"#\\\"\\n\\tcount=\\\"1\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/mono-block\":{\"title\":\"$:/core/ui/EditorToolbar/mono-block\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/mono-block\",\"caption\":\"{{$:/language/Buttons/MonoBlock/Caption}}\",\"description\":\"{{$:/language/Buttons/MonoBlock/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"button-classes\":\"tc-text-editor-toolbar-item-start-group\",\"shortcuts\":\"((mono-block))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-lines\\\"\\n\\tprefix=\\\"\\n```\\\"\\n\\tsuffix=\\\"```\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/mono-line\":{\"title\":\"$:/core/ui/EditorToolbar/mono-line\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/mono-line\",\"caption\":\"{{$:/language/Buttons/MonoLine/Caption}}\",\"description\":\"{{$:/language/Buttons/MonoLine/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((mono-line))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"`\\\"\\n\\tsuffix=\\\"`\\\"\\n\\ttrimSelection=\\\"yes\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/more-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/more-dropdown\",\"text\":\"\\\\define config-title()\\n$:/config/EditorToolbarButtons/Visibility/$(toolbarItem)$\\n\\\\end\\n\\n\\\\define conditional-button()\\n\\\\whitespace trim\\n<$list filter={{$(toolbarItem)$!!condition}} variable=\\\"condition\\\">\\n<$transclude tiddler=\\\"$:/core/ui/EditTemplate/body/toolbar/button\\\" mode=\\\"inline\\\"/>\\n \\n<$transclude tiddler=<> field=\\\"description\\\"/>\\n\\n\\\\end\\n\\\\whitespace trim\\n\\n
\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]] -[[$:/core/ui/EditorToolbar/more]]\\\">\\n<$reveal type=\\\"match\\\" state=<> text=\\\"hide\\\" tag=\\\"div\\\">\\n<>\\n\\n\\n
\\n\"},\"$:/core/ui/EditorToolbar/more\":{\"title\":\"$:/core/ui/EditorToolbar/more\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/down-arrow\",\"caption\":\"{{$:/language/Buttons/More/Caption}}\",\"description\":\"{{$:/language/Buttons/More/Hint}}\",\"condition\":\"[]\",\"dropdown\":\"$:/core/ui/EditorToolbar/more-dropdown\",\"text\":\"\"},\"$:/core/ui/EditorToolbar/opacity-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/opacity-dropdown\",\"text\":\"\\\\define lingo-base() $:/language/Buttons/Opacity/\\n\\n\\\\define toolbar-opacity-inner()\\n<$button tag=\\\"a\\\" tooltip=\\\"\\\"\\\"$(opacity)$\\\"\\\"\\\">\\n\\n<$action-setfield\\n\\t$tiddler=\\\"$:/config/BitmapEditor/Opacity\\\"\\n\\t$value=\\\"$(opacity)$\\\"\\n/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n
\\n\\n\\n\\n<$text text=\\\"\\\"\\\"$(opacity)$\\\"\\\"\\\"/>\\n\\n<$reveal state=\\\"$:/config/BitmapEditor/Opacity\\\" type=\\\"match\\\" text=\\\"\\\"\\\"$(opacity)$\\\"\\\"\\\" tag=\\\"span\\\">\\n\\n<$entity entity=\\\" \\\"/>\\n\\n<$entity entity=\\\"✓\\\"/>\\n\\n\\n\\n\\n\\n\\n\\\\end\\n\\n\\\\define toolbar-opacity()\\n''<>''\\n\\n<$list filter={{$:/config/BitmapEditor/Opacities}} variable=\\\"opacity\\\">\\n\\n<>\\n\\n\\n\\\\end\\n\\n<$set name=\\\"current-paint-colour\\\" value={{$:/config/BitmapEditor/Colour}}>\\n\\n<$set name=\\\"current-opacity\\\" value={{$:/config/BitmapEditor/Opacity}}>\\n\\n<>\\n\\n\\n\\n\\n\"},\"$:/core/ui/EditorToolbar/opacity\":{\"title\":\"$:/core/ui/EditorToolbar/opacity\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/opacity\",\"caption\":\"{{$:/language/Buttons/Opacity/Caption}}\",\"description\":\"{{$:/language/Buttons/Opacity/Hint}}\",\"condition\":\"[is[image]] -[type[image/svg+xml]]\",\"dropdown\":\"$:/core/ui/EditorToolbar/opacity-dropdown\",\"text\":\"<$text text={{$:/config/BitmapEditor/Opacity}}/>\\n\"},\"$:/core/ui/EditorToolbar/paint-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/paint-dropdown\",\"text\":\"''{{$:/language/Buttons/Paint/Hint}}''\\n\\n<$macrocall $name=\\\"colour-picker\\\" actions=\\\"\\\"\\\"\\n\\n<$action-setfield\\n\\t$tiddler=\\\"$:/config/BitmapEditor/Colour\\\"\\n\\t$value=<>\\n/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n\\\"\\\"\\\"/>\\n\"},\"$:/core/ui/EditorToolbar/paint\":{\"title\":\"$:/core/ui/EditorToolbar/paint\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/paint\",\"caption\":\"{{$:/language/Buttons/Paint/Caption}}\",\"description\":\"{{$:/language/Buttons/Paint/Hint}}\",\"condition\":\"[is[image]] -[type[image/svg+xml]]\",\"dropdown\":\"$:/core/ui/EditorToolbar/paint-dropdown\",\"text\":\"\\\\define toolbar-paint()\\n
\\n\\\\end\\n\\\\whitespace trim\\n<$set name=\\\"colour-picker-value\\\" value={{$:/config/BitmapEditor/Colour}}>\\n<>\\n\\n\"},\"$:/core/ui/EditorToolbar/picture-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/picture-dropdown\",\"text\":\"\\\\define replacement-text()\\n[img[$(imageTitle)$]]\\n\\\\end\\n\\n''{{$:/language/Buttons/Picture/Hint}}''\\n\\n<$macrocall $name=\\\"image-picker\\\" actions=\\\"\\\"\\\"\\n\\n<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"replace-selection\\\"\\n\\ttext=<>\\n/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n\\\"\\\"\\\"/>\\n\"},\"$:/core/ui/EditorToolbar/picture\":{\"title\":\"$:/core/ui/EditorToolbar/picture\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/picture\",\"caption\":\"{{$:/language/Buttons/Picture/Caption}}\",\"description\":\"{{$:/language/Buttons/Picture/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((picture))\",\"dropdown\":\"$:/core/ui/EditorToolbar/picture-dropdown\",\"text\":\"\"},\"$:/core/ui/EditorToolbar/preview-type-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/preview-type-dropdown\",\"text\":\"\\\\define preview-type-button()\\n<$button tag=\\\"a\\\">\\n\\n<$action-setfield $tiddler=\\\"$:/state/editpreviewtype\\\" $value=\\\"$(previewType)$\\\"/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n<$transclude tiddler=<> field=\\\"caption\\\" mode=\\\"inline\\\">\\n\\n<$view tiddler=<> field=\\\"title\\\" mode=\\\"inline\\\"/>\\n\\n \\n\\n<$reveal tag=\\\"span\\\" state=\\\"$:/state/editpreviewtype\\\" type=\\\"match\\\" text=<> default=\\\"$:/core/ui/EditTemplate/body/preview/output\\\">\\n\\n<$entity entity=\\\" \\\"/>\\n\\n<$entity entity=\\\"✓\\\"/>\\n\\n\\n\\n\\n\\\\end\\n\\n<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]]\\\" variable=\\\"previewType\\\">\\n\\n<>\\n\\n\\n\"},\"$:/core/ui/EditorToolbar/preview-type\":{\"title\":\"$:/core/ui/EditorToolbar/preview-type\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/chevron-down\",\"caption\":\"{{$:/language/Buttons/PreviewType/Caption}}\",\"description\":\"{{$:/language/Buttons/PreviewType/Hint}}\",\"condition\":\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]butfirst[]limit[1]]\",\"button-classes\":\"tc-text-editor-toolbar-item-adjunct\",\"dropdown\":\"$:/core/ui/EditorToolbar/preview-type-dropdown\"},\"$:/core/ui/EditorToolbar/preview\":{\"title\":\"$:/core/ui/EditorToolbar/preview\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/preview-open\",\"custom-icon\":\"yes\",\"caption\":\"{{$:/language/Buttons/Preview/Caption}}\",\"description\":\"{{$:/language/Buttons/Preview/Hint}}\",\"condition\":\"[]\",\"button-classes\":\"tc-text-editor-toolbar-item-start-group\",\"shortcuts\":\"((preview))\",\"text\":\"\\\\whitespace trim\\n\\n\\t<$transclude $tiddler={{{ [match[yes]then[$:/core/images/preview-open]else[$:/core/images/preview-closed]] }}} />\\n\\n<$action-setfield $tiddler=<> $value={{{ [get[text]toggle[yes],[no]] }}} />\\n<$action-sendmessage $message=\\\"tm-edit-text-operation\\\" $param=\\\"focus-editor\\\"/>\\n\"},\"$:/core/ui/EditorToolbar/quote\":{\"title\":\"$:/core/ui/EditorToolbar/quote\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/quote\",\"caption\":\"{{$:/language/Buttons/Quote/Caption}}\",\"description\":\"{{$:/language/Buttons/Quote/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((quote))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-lines\\\"\\n\\tprefix=\\\"\\n<<<\\\"\\n\\tsuffix=\\\"<<<\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/rotate-left\":{\"title\":\"$:/core/ui/EditorToolbar/rotate-left\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/rotate-left\",\"caption\":\"{{$:/language/Buttons/RotateLeft/Caption}}\",\"description\":\"{{$:/language/Buttons/RotateLeft/Hint}}\",\"condition\":\"[is[image]] -[type[image/svg+xml]]\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-bitmap-operation\\\"\\n\\t$param=\\\"rotate-left\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/size-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/size-dropdown\",\"text\":\"\\\\define lingo-base() $:/language/Buttons/Size/\\n\\n\\\\define toolbar-button-size-preset(config-title)\\n<$set name=\\\"width\\\" filter=\\\"$(sizePair)$ +[first[]]\\\">\\n\\n<$set name=\\\"height\\\" filter=\\\"$(sizePair)$ +[last[]]\\\">\\n\\n<$button tag=\\\"a\\\">\\n\\n<$action-setfield\\n\\t$tiddler=\\\"\\\"\\\"$config-title$/new-width\\\"\\\"\\\"\\n\\t$value=<>\\n/>\\n\\n<$action-setfield\\n\\t$tiddler=\\\"\\\"\\\"$config-title$/new-height\\\"\\\"\\\"\\n\\t$value=<>\\n/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=\\\"\\\"\\\"$config-title$/presets-popup\\\"\\\"\\\"\\n/>\\n\\n<$text text=<>/> × <$text text=<>/>\\n\\n\\n\\n\\n\\n\\n\\\\end\\n\\n\\\\define toolbar-button-size(config-title)\\n\\\\whitespace trim\\n''{{$:/language/Buttons/Size/Hint}}''\\n\\n<> <$edit-text tag=\\\"input\\\" tiddler=\\\"\\\"\\\"$config-title$/new-width\\\"\\\"\\\" default=<> focus=\\\"true\\\" size=\\\"8\\\"/>\\n \\n<> <$edit-text tag=\\\"input\\\" tiddler=\\\"\\\"\\\"$config-title$/new-height\\\"\\\"\\\" default=<> size=\\\"8\\\"/>\\n \\n<$button popup=\\\"\\\"\\\"$config-title$/presets-popup\\\"\\\"\\\" class=\\\"tc-btn-invisible tc-popup-keep\\\" style=\\\"width: auto; display: inline-block; background-colour: inherit;\\\" selectedClass=\\\"tc-selected\\\">\\n{{$:/core/images/down-arrow}}\\n\\n\\n<$reveal tag=\\\"span\\\" state=\\\"\\\"\\\"$config-title$/presets-popup\\\"\\\"\\\" type=\\\"popup\\\" position=\\\"belowleft\\\" animate=\\\"yes\\\">\\n\\n
\\n\\n<$list filter={{$:/config/BitmapEditor/ImageSizes}} variable=\\\"sizePair\\\">\\n\\n<$macrocall $name=\\\"toolbar-button-size-preset\\\" config-title=\\\"$config-title$\\\"/>\\n\\n\\n\\n
\\n\\n\\n\\n<$button>\\n<$action-sendmessage\\n\\t$message=\\\"tm-edit-bitmap-operation\\\"\\n\\t$param=\\\"resize\\\"\\n\\twidth={{$config-title$/new-width}}\\n\\theight={{$config-title$/new-height}}\\n/>\\n<$action-deletetiddler\\n\\t$tiddler=\\\"\\\"\\\"$config-title$/new-width\\\"\\\"\\\"\\n/>\\n<$action-deletetiddler\\n\\t$tiddler=\\\"\\\"\\\"$config-title$/new-height\\\"\\\"\\\"\\n/>\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n<>\\n\\n\\\\end\\n\\n<$macrocall $name=\\\"toolbar-button-size\\\" config-title=<>/>\\n\"},\"$:/core/ui/EditorToolbar/size\":{\"title\":\"$:/core/ui/EditorToolbar/size\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/size\",\"caption\":\"{{$:/language/Buttons/Size/Caption}}\",\"description\":\"{{$:/language/Buttons/Size/Hint}}\",\"condition\":\"[is[image]] -[type[image/svg+xml]]\",\"dropdown\":\"$:/core/ui/EditorToolbar/size-dropdown\",\"text\":\"\"},\"$:/core/ui/EditorToolbar/StampDropdown/ItemTemplate\":{\"title\":\"$:/core/ui/EditorToolbar/StampDropdown/ItemTemplate\",\"text\":\"<$linkcatcher actions=\\\"\\\"\\\"\\n\\n<$list filter=\\\"[!match[ctrl]]\\\" variable=\\\"ignore\\\">\\n\\n<$list filter=\\\"[addsuffix[/prefix]!is[tiddler]!is[shadow]removesuffix[/prefix]addsuffix[/suffix]!is[tiddler]!is[shadow]]\\\" variable=\\\"ignore\\\">\\n\\n<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"replace-selection\\\"\\n\\ttext={{{ [get[text]] }}}\\n/>\\n\\n\\n\\n\\n<$list filter=\\\"[addsuffix[/prefix]] [addsuffix[/suffix]] +[is[shadow]] :else[is[tiddler]] +[limit[1]]\\\" variable=\\\"ignore\\\">\\n\\n<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix={{{ [addsuffix[/prefix]get[text]] }}}\\n\\tsuffix={{{ [addsuffix[/suffix]get[text]] }}}\\n/>\\n\\n\\n\\n\\n\\n<$list filter=\\\"[match[ctrl]]\\\" variable=\\\"ignore\\\">\\n\\n<$action-sendmessage $message=\\\"tm-edit-tiddler\\\"/>\\n\\n\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n\\\"\\\"\\\">\\n\\n<$link tooltip={{{ [get[description]] }}}>\\n\\n<$transclude tiddler=<> field=\\\"caption\\\" mode=\\\"inline\\\">\\n\\n<$view tiddler=<> field=\\\"title\\\" />\\n\\n\\n\\n\\n\\n\\n\"},\"$:/core/ui/EditorToolbar/stamp-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/stamp-dropdown\",\"text\":\"<$macrocall $name=\\\"list-tagged-draggable\\\" tag=\\\"$:/tags/TextEditor/Snippet\\\" subFilter=\\\"!is[draft]\\\" itemTemplate=\\\"$:/core/ui/EditorToolbar/StampDropdown/ItemTemplate\\\"/>\\n\\n----\\n\\n<$button tag=\\\"a\\\">\\n\\n<$action-sendmessage\\n\\t$message=\\\"tm-new-tiddler\\\"\\n\\ttags=\\\"$:/tags/TextEditor/Snippet\\\"\\n\\tcaption={{$:/language/Buttons/Stamp/New/Title}}\\n\\ttext={{$:/language/Buttons/Stamp/New/Text}}\\n/>\\n\\n<$action-deletetiddler\\n\\t$tiddler=<>\\n/>\\n\\n\\n\\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\\n\\n\\n\\n\\n\"},\"$:/core/ui/EditorToolbar/stamp\":{\"title\":\"$:/core/ui/EditorToolbar/stamp\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/stamp\",\"caption\":\"{{$:/language/Buttons/Stamp/Caption}}\",\"description\":\"{{$:/language/Buttons/Stamp/Hint}}\",\"condition\":\"[type[]] [get[type]prefix[text/]] [get[type]match[application/javascript]] [get[type]match[application/json]] [get[type]match[application/x-tiddler-dictionary]] [get[type]match[image/svg+xml]] +[first[]]\",\"shortcuts\":\"((stamp))\",\"dropdown\":\"$:/core/ui/EditorToolbar/stamp-dropdown\",\"button-classes\":\"tc-editortoolbar-stamp-button\",\"text\":\"\"},\"$:/core/ui/EditorToolbar/strikethrough\":{\"title\":\"$:/core/ui/EditorToolbar/strikethrough\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/strikethrough\",\"caption\":\"{{$:/language/Buttons/Strikethrough/Caption}}\",\"description\":\"{{$:/language/Buttons/Strikethrough/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((strikethrough))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"~~\\\"\\n\\tsuffix=\\\"~~\\\"\\n\\ttrimSelection=\\\"yes\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/subscript\":{\"title\":\"$:/core/ui/EditorToolbar/subscript\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/subscript\",\"caption\":\"{{$:/language/Buttons/Subscript/Caption}}\",\"description\":\"{{$:/language/Buttons/Subscript/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((subscript))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\",,\\\"\\n\\tsuffix=\\\",,\\\"\\n\\ttrimSelection=\\\"yes\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/superscript\":{\"title\":\"$:/core/ui/EditorToolbar/superscript\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/superscript\",\"caption\":\"{{$:/language/Buttons/Superscript/Caption}}\",\"description\":\"{{$:/language/Buttons/Superscript/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((superscript))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"^^\\\"\\n\\tsuffix=\\\"^^\\\"\\n\\ttrimSelection=\\\"yes\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/transcludify\":{\"title\":\"$:/core/ui/EditorToolbar/transcludify\",\"caption\":\"{{$:/language/Buttons/Transcludify/Caption}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"description\":\"{{$:/language/Buttons/Transcludify/Hint}}\",\"icon\":\"$:/core/images/transcludify\",\"list-before\":\"$:/core/ui/EditorToolbar/mono-block\",\"shortcuts\":\"((transcludify))\",\"tags\":\"$:/tags/EditorToolbar\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"{{\\\"\\n\\tsuffix=\\\"}}\\\"\\n\\ttrimSelection=\\\"yes\\\"\\n/>\\n\"},\"$:/core/ui/EditorToolbar/underline\":{\"title\":\"$:/core/ui/EditorToolbar/underline\",\"tags\":\"$:/tags/EditorToolbar\",\"icon\":\"$:/core/images/underline\",\"caption\":\"{{$:/language/Buttons/Underline/Caption}}\",\"description\":\"{{$:/language/Buttons/Underline/Hint}}\",\"condition\":\"[!has[type]] [get[type]prefix[text/vnd.tiddlywiki]]\",\"shortcuts\":\"((underline))\",\"text\":\"<$action-sendmessage\\n\\t$message=\\\"tm-edit-text-operation\\\"\\n\\t$param=\\\"wrap-selection\\\"\\n\\tprefix=\\\"__\\\"\\n\\tsuffix=\\\"__\\\"\\n\\ttrimSelection=\\\"yes\\\"\\n/>\\n\"},\"$:/core/ui/ExportTiddlyWikiCore\":{\"title\":\"$:/core/ui/ExportTiddlyWikiCore\",\"text\":\"\\\\define jsFileName() tiddlywikicore-$(version)$.js\\n\\\\define noExportMsg()\\nIt appears that you have a wiki with an external ~TiddlyWiki core. The export action cannot be performed.\\n

You will need to view the page source in your browser. Then go to the very bottom the the source, find the last `