diff --git a/2024/02/22/hello-world/index.html b/2024/02/22/hello-world/index.html new file mode 100644 index 0000000..009bced --- /dev/null +++ b/2024/02/22/hello-world/index.html @@ -0,0 +1,365 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + +
+ + + +
+
+ ^-^ +
+ + 想要做一些有趣的事 +
+ +
+ + + +
+ + + + + + + + + +
+ + +
+ Hello World +
+ + + +
+ + +
  1. Quick Start
    1. Create a new post
    2. Run server
    3. Generate static files
    4. Deploy to remote sites
+ + + +
+ + +
+ + + + + +
+
+
+ 以上 +
+ + + +
+ + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git "a/2024/02/22/\345\205\250\344\270\226\347\225\214/index.html" "b/2024/02/22/\345\205\250\344\270\226\347\225\214/index.html" new file mode 100644 index 0000000..c7f933e --- /dev/null +++ "b/2024/02/22/\345\205\250\344\270\226\347\225\214/index.html" @@ -0,0 +1,362 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + +
+ + + +
+
+ ^-^ +
+ + 想要做一些有趣的事 +
+ +
+ + + +
+ + + + + + + + + +
+ + +
+ 『狂想』全世界 +
+ + + +
+ + + + + + +
+ + +
+ + + + + +
+
+
+ 以上 +
+ + + +
+ + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git "a/2024/02/22/\347\224\237\346\264\273\347\232\204\346\204\217\344\271\211/index.html" "b/2024/02/22/\347\224\237\346\264\273\347\232\204\346\204\217\344\271\211/index.html" new file mode 100644 index 0000000..28d60c0 --- /dev/null +++ "b/2024/02/22/\347\224\237\346\264\273\347\232\204\346\204\217\344\271\211/index.html" @@ -0,0 +1,362 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + +
+ + + +
+
+ ^-^ +
+ + 想要做一些有趣的事 +
+ +
+ + + +
+ + + + + + + + + +
+ + +
+ 『困惑』生活的意义 +
+ + + +
+ + + + + + +
+ + +
+ + + + + +
+
+
+ 以上 +
+ + + +
+ + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git "a/2024/02/29/Markdown\350\257\255\346\263\225/index.html" "b/2024/02/29/Markdown\350\257\255\346\263\225/index.html" new file mode 100644 index 0000000..71bf838 --- /dev/null +++ "b/2024/02/29/Markdown\350\257\255\346\263\225/index.html" @@ -0,0 +1,826 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + +
+ + + +
+
+ ^-^ +
+ + 想要做一些有趣的事 +
+ +
+ + + +
+ + + + + + + + + +
+ + +
+ Markdown语法 +
+ + + +
+ + +
  1. 目录
    1. 横线
  2. 标题
  • 一级标题
    1. 二级标题
      1. 三级标题
        1. 四级标题
          1. 五级标题
            1. 六级标题
    2. 文本
      1. 普通文本
      2. 单行文本
      3. 文本块
        1. 语法1
        2. 语法2
      4. 文字高亮
        1. 换行
        2. 斜体、粗体、删除线
    3. 图片
    4. 链接
      1. 链接外部URL
      2. 链接本仓库里的URL
      3. 图片链接
      4. 锚点
    5. 列表
      1. 无序列表
        1. 语法
        2. 效果
      2. 多级无序列表
        1. 语法
        2. 效果
      3. 一级有序列表
        1. 语法
        2. 效果
      4. 多级有序列表
        1. 语法
        2. 效果
      5. 复选框列表
        1. 语法
        2. 效果
    6. 块引用
      1. 常用于引用文本
        1. 文本摘自《深入理解计算机系统》P27
      2. 块引用有多级结构
        1. 语法
        2. 效果
    7. 代码高亮
      1. 语法
      2. 效果
    8. 表格
      1. 对齐
      2. 混合其他语法
        1. 使用普通文本的删除线,斜体等效果
        2. 表格中嵌入图片(链接)
    9. 表情
    10. diff语法
      1. 语法
      2. 效果
  • 常用HTML语法
    1. 折叠
      1. 编译
      2. 安装
  • 居中
  • 其他
    1. 徽章
    2. star历史
  • + + + +
    + + +
    + + + + + +
    +
    +
    + 以上 +
    + + + +
    + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git "a/2024/02/29/\345\201\232\350\217\234\346\214\207\345\215\227/index.html" "b/2024/02/29/\345\201\232\350\217\234\346\214\207\345\215\227/index.html" new file mode 100644 index 0000000..0cdeda6 --- /dev/null +++ "b/2024/02/29/\345\201\232\350\217\234\346\214\207\345\215\227/index.html" @@ -0,0 +1,357 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + + +
    + + +
    + 做菜指南 +
    + + + +
    + + + + + + +
    + + +
    + + + + + +
    +
    +
    + 以上 +
    + + + +
    + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git "a/2024/02/29/\345\205\232\347\272\252\346\263\225\350\247\204|\344\270\255\345\233\275\345\205\261\344\272\247\345\205\232\347\253\240\347\250\213/index.html" "b/2024/02/29/\345\205\232\347\272\252\346\263\225\350\247\204|\344\270\255\345\233\275\345\205\261\344\272\247\345\205\232\347\253\240\347\250\213/index.html" new file mode 100644 index 0000000..b89a853 --- /dev/null +++ "b/2024/02/29/\345\205\232\347\272\252\346\263\225\350\247\204|\344\270\255\345\233\275\345\205\261\344\272\247\345\205\232\347\253\240\347\250\213/index.html" @@ -0,0 +1,552 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + + +
    + + +
    + 党纪法规|中国共产党章程 +
    + + + +
    + + +
    1. 中国共产党章程
      1. 总纲
      2. 第一章 党员
      3. 第二章 党的组织制度
      4. 第三章 党的中央组织
      5. 第四章 党的地方组织
      6. 第五章 党的基层组织
      7. 第六章 党的干部
      8. 第七章 党的纪律
      9. 第八章 党的纪律检查机关
      10. 第九章 党组
      11. 第十章 党和共产主义青年团的关系
      12. 第十一章 党徽党旗
    + + + +
    + + +
    + + + + + +
    +
    +
    + 以上 +
    + + + +
    + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/404.html b/404.html new file mode 100644 index 0000000..ba55599 --- /dev/null +++ b/404.html @@ -0,0 +1,218 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    +
    +
    +

    Page not found.

    +
    +
    + + +
    + + + + +
    + + Go Back Home +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/about/index.html b/about/index.html new file mode 100644 index 0000000..3bfd079 --- /dev/null +++ b/about/index.html @@ -0,0 +1,330 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + + +
    + + + +
    + + + + +
    + + +
    + + + + + +
    +
    +
    + 以上 +
    + + + +
    + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/archives/2024/02/index.html b/archives/2024/02/index.html new file mode 100644 index 0000000..84a14cf --- /dev/null +++ b/archives/2024/02/index.html @@ -0,0 +1,320 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + + +
    + + + +
    + + + + +
    + + +
    + + + + + +
    +
    +
    + 以上 +
    + + + +
    + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/archives/2024/index.html b/archives/2024/index.html new file mode 100644 index 0000000..84a14cf --- /dev/null +++ b/archives/2024/index.html @@ -0,0 +1,320 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + + +
    + + + +
    + + + + +
    + + +
    + + + + + +
    +
    +
    + 以上 +
    + + + +
    + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/archives/index.html b/archives/index.html new file mode 100644 index 0000000..84a14cf --- /dev/null +++ b/archives/index.html @@ -0,0 +1,320 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + + +
    + + + +
    + + + + +
    + + +
    + + + + + +
    +
    +
    + 以上 +
    + + + +
    + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 0000000..6acc128 --- /dev/null +++ b/categories/index.html @@ -0,0 +1,271 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + +
    +🔖categories +
      + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/contact/index.html b/contact/index.html new file mode 100644 index 0000000..7a05095 --- /dev/null +++ b/contact/index.html @@ -0,0 +1,333 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + + +
    + + + +
    + + + + +
    + + +
    + + + + + +
    +
    +
    + 以上 +
    + + + +
    + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/css/a11y-dark.min.css b/css/a11y-dark.min.css new file mode 100644 index 0000000..4901d07 --- /dev/null +++ b/css/a11y-dark.min.css @@ -0,0 +1,89 @@ +pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! + Theme: a11y-dark + Author: @ericwbailey + Maintainer: @ericwbailey + + Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css +/* + +Style with support for rainbow parens + +*/ + +.hljs { + background: #474949; + color: #d1d9e1; +} + + +.hljs-comment, +.hljs-quote { + color: #969896; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-type, +.hljs-addition { + color: #cc99cc; +} + +.hljs-number, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #f99157; +} + +.hljs-string, +.hljs-doctag, +.hljs-regexp { + color: #8abeb7; +} + +.hljs-title, +.hljs-name, +.hljs-section, +.hljs-built_in { + color: #b5bd68; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-selector-id, +.hljs-title.class_, +.hljs-class .hljs-title { + color: #ffcc66; +} + +.hljs-section, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-link { + color: #f99157; +} + +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #eee8d5; +} + +.hljs-attr, +.hljs-attribute { + color: #81a2be; +} + +.hljs-emphasis { + font-style: italic; +} \ No newline at end of file diff --git a/css/fonts.css b/css/fonts.css new file mode 100644 index 0000000..89054d4 --- /dev/null +++ b/css/fonts.css @@ -0,0 +1,30 @@ + +@font-face +{ + font-family: "notoserifsc-medium"; + font-style: normal; + font-weight: 600; + src: local(""), + url("../fonts/notoserifsc-medium-webfont.woff2") format("woff2"), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url("../fonts/notoserifsc-medium-webfont.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ + ; +} + +@font-face { + font-family: "LXGW WenKai"; + font-style: normal; + font-weight: 600; + src: local("../fonts/LXGWWenKaiLite-Regular.woff2"), + url("https://jsd.onmicrosoft.cn/gh/hininojay/images/source/img/a4color/LXGWWenKaiLite-Regular.woff2") format("woff2"), + url("https://jsd.onmicrosoft.cn/gh/hininojay/images/source/img/a4color/LXGWWenKaiMono-Regular.woff2") format("woff2"), + url("../fonts/LXGWWenKaiLite-Regular.woff2") format("woff2"), + url("../fonts/LXGWWenKaiMono-Regular.woff2") format("woff2"); +} + +@font-face { + font-family: "LXGW WenKai bold"; + font-style: normal; + font-weight: 700; + src: local(""), + url("https://jsd.onmicrosoft.cn/gh/hininojay/images/source/img/a4color/LXGWWenKai-Bold.woff2") format("woff2"); +} diff --git a/css/highlight/highlight.css b/css/highlight/highlight.css new file mode 100644 index 0000000..b41c973 --- /dev/null +++ b/css/highlight/highlight.css @@ -0,0 +1,177 @@ +.post-md pre, +.post-md .highlight { + background: #2d2d2d; + padding: 15px article-padding; + border-style: solid; + border-color: color-border; + border-width: 1px 0; + overflow: auto; + color: #ccc; + line-height: 20.480000000000004px; +} +.post-md .highlight .gutter pre, +.post-md .gist .gist-file .gist-data .line-numbers { + color: #666; + font-size: 0.85em; +} +.post-md pre, +.post-md code { + font-family: font-mono; +} +.post-md code { + background: color-background; + padding: 0 0.3em; +} +.post-md pre code { + background: none; + text-shadow: none; + padding: 0; +} +.post-md .highlight { + font-size: 14.8px; +} +.post-md .highlight pre { + border: none; + margin: 0; + padding: 0; +} +.post-md .highlight table { + margin: 0; + width: auto; + padding: 0px 0 !important; + border-bottom: none !important; + background: none !important; +} +.post-md .highlight td { + border: none; + padding: 0; + padding: 0px 0 !important; + border-bottom: none !important; + background: none !important; +} +.post-md .highlight figcaption { + font-size: 0.85em; + color: #999; + line-height: 1em; + margin-bottom: 1em; +} +.post-md .highlight figcaption a { + float: right; +} +.post-md .highlight .gutter { + -moz-user-select: none; + -ms-user-select: none; + -webkit-user-select: none; + user-select: none; +} +.post-md .highlight .gutter pre { + text-align: right; + padding-right: 20px; +} +.post-md .highlight .line { + height: 20.480000000000004px; +} +.post-md .highlight .line.marked { + background: #515151; +} +.post-md .gist { + border-style: solid; + border-color: color-border; + border-width: 1px 0; + background: #2d2d2d; + padding: 15px article-padding 15px 0; +} +.post-md .gist .gist-file { + border: none; + font-family: font-mono; + margin: 0; +} +.post-md .gist .gist-file .gist-data { + background: none; + border: none; +} +.post-md .gist .gist-file .gist-data .line-numbers { + background: none; + border: none; + padding: 0 20px 0 0; +} +.post-md .gist .gist-file .gist-data .line-data { + padding: 0 !important; +} +.post-md .gist .gist-file .highlight { + margin: 0; + padding: 0; + border: none; +} +.post-md .gist .gist-file .gist-meta { + background: #2d2d2d; + color: #999; + font: 0.85em font-sans; + text-shadow: 0 0; + padding: 0; + margin-top: 1em; + margin-left: article-padding; +} +.post-md .gist .gist-file .gist-meta a { + color: color-link; + font-weight: normal; +} +.post-md .gist .gist-file .gist-meta a:hover { + text-decoration: underline; +} +pre .comment, +pre .title { + color: #999; +} +pre .variable, +pre .attribute, +pre .tag, +pre .regexp, +pre .ruby .constant, +pre .xml .tag .title, +pre .xml .pi, +pre .xml .doctype, +pre .html .doctype, +pre .css .id, +pre .css .class, +pre .css .pseudo { + color: #f2777a; +} +pre .number, +pre .preprocessor, +pre .built_in, +pre .literal, +pre .params, +pre .constant { + color: #f99157; +} +pre .class, +pre .ruby .class .title, +pre .css .rules .attribute { + color: #9c9; +} +pre .string, +pre .value, +pre .inheritance, +pre .header, +pre .ruby .symbol, +pre .xml .cdata { + color: #9c9; +} +pre .css .hexcolor { + color: #6cc; +} +pre .function, +pre .python .decorator, +pre .python .title, +pre .ruby .function .title, +pre .ruby .title .keyword, +pre .perl .sub, +pre .javascript .title, +pre .coffeescript .title { + color: #69c; +} +pre .keyword, +pre .javascript .function { + color: #c9c; +} diff --git a/css/highlight/style1.css b/css/highlight/style1.css new file mode 100644 index 0000000..6fc2f8f --- /dev/null +++ b/css/highlight/style1.css @@ -0,0 +1,188 @@ +.post-md pre, +.post-md .highlight { + background: #2d2d2d; + padding: 15px 20px; + border-style: solid; + border-color: #ddd; + border-width: 1px 0; + overflow: auto; + color: #ccc; + line-height: 20.480000000000004px; +} +.post-md .highlight .gutter pre, +.post-md .gist .gist-file .gist-data .line-numbers { + color: #666; + font-size: 0.85em; +} +.post-md pre, +.post-md code { + font-family: "Source Code Pro", Consolas, Monaco, Menlo, Consolas, monospace, sans-serif, "notoserifsc-medium", "Microsoft YaHei", "Hiragino Sans GB", "WenQuanYi Micro Hei"; +} +.post-md code { + background: #eee; + padding: 0 0.3em; +} +.post-md pre code { + background: none; + text-shadow: none; + padding: 0; +} +.post-md .highlight { + font-size: 14.8px; +} +.post-md .highlight pre { + border: none; + margin: 0; + padding: 0; +} +.post-md .highlight table { + margin: 0; + width: auto; + padding: 0px 0 !important; + border-bottom: none !important; + background: none !important; +} +.post-md .highlight td { + border: none; + padding: 0; + padding: 0px 0 !important; + border-bottom: none !important; + background: none !important; +} +.post-md .highlight figcaption { + font-size: 0.85em; + color: #999; + line-height: 1em; + margin-bottom: 1em; +} +.post-md .highlight figcaption:before, +.post-md .highlight figcaption:after { + content: ""; + display: table; +} +.post-md .highlight figcaption:after { + clear: both; +} +.post-md .highlight figcaption a { + float: right; +} +.post-md .highlight .gutter { + -moz-user-select: none; + -ms-user-select: none; + -webkit-user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.post-md .highlight .gutter pre { + text-align: right; + padding-right: 20px; +} +.post-md .highlight .line { + height: 20.480000000000004px; +} +.post-md .highlight .line.marked { + background: #515151; +} +.post-md .gist { + border-style: solid; + border-color: #ddd; + border-width: 1px 0; + background: #2d2d2d; + padding: 15px 20px 15px 0; +} +.post-md .gist .gist-file { + border: none; + font-family: "Source Code Pro", Consolas, Monaco, Menlo, Consolas, monospace, sans-serif, "notoserifsc-medium", "Microsoft YaHei", "Hiragino Sans GB", "WenQuanYi Micro Hei"; + margin: 0; +} +.post-md .gist .gist-file .gist-data { + background: none; + border: none; +} +.post-md .gist .gist-file .gist-data .line-numbers { + background: none; + border: none; + padding: 0 20px 0 0; +} +.post-md .gist .gist-file .gist-data .line-data { + padding: 0 !important; +} +.post-md .gist .gist-file .highlight { + margin: 0; + padding: 0; + border: none; +} +.post-md .gist .gist-file .gist-meta { + background: #2d2d2d; + color: #999; + font: 0.85em font-sans; + text-shadow: 0 0; + padding: 0; + margin-top: 1em; + margin-left: 20px; +} +.post-md .gist .gist-file .gist-meta a { + color: #258fb8; + font-weight: normal; +} +.post-md .gist .gist-file .gist-meta a:hover { + text-decoration: underline; +} +pre .comment, +pre .title { + color: #999; +} +pre .variable, +pre .attribute, +pre .tag, +pre .regexp, +pre .ruby .constant, +pre .xml .tag .title, +pre .xml .pi, +pre .xml .doctype, +pre .html .doctype, +pre .css .id, +pre .css .class, +pre .css .pseudo { + color: #f2777a; +} +pre .number, +pre .preprocessor, +pre .built_in, +pre .literal, +pre .params, +pre .constant { + color: #f99157; +} +pre .class, +pre .ruby .class .title, +pre .css .rules .attribute { + color: #9c9; +} +pre .string, +pre .value, +pre .inheritance, +pre .header, +pre .ruby .symbol, +pre .xml .cdata { + color: #9c9; +} +pre .css .hexcolor { + color: #6cc; +} +pre .function, +pre .python .decorator, +pre .python .title, +pre .ruby .function .title, +pre .ruby .title .keyword, +pre .perl .sub, +pre .javascript .title, +pre .coffeescript .title { + color: #69c; +} +pre .keyword, +pre .javascript .function { + color: #c9c; +} diff --git a/css/lightgallery.min.css b/css/lightgallery.min.css new file mode 100644 index 0000000..104d68f --- /dev/null +++ b/css/lightgallery.min.css @@ -0,0 +1 @@ +@font-face{font-family:lg;src:url(../fonts/lg.ttf?22t19m) format("truetype"),url(../fonts/lg.woff?22t19m) format("woff"),url(../fonts/lg.svg?22t19m#lg) format("svg");font-weight:400;font-style:normal;font-display:block}.lg-icon{font-family:lg!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg-actions .lg-next,.lg-actions .lg-prev{border-radius:2px;color:#999;cursor:pointer;display:block;font-size:22px;margin-top:-10px;padding:8px 10px 9px;position:absolute;top:50%;z-index:1080;outline:0;border:none;background-color:transparent}.lg-actions .lg-next.disabled,.lg-actions .lg-prev.disabled{pointer-events:none;opacity:.5}.lg-actions .lg-next:hover,.lg-actions .lg-prev:hover{color:#FFF}.lg-actions .lg-next{right:20px}.lg-actions .lg-next:before{content:"\e095"}.lg-actions .lg-prev{left:20px}.lg-actions .lg-prev:after{content:"\e094"}@-webkit-keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@-moz-keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@-ms-keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@-webkit-keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}@-moz-keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}@-ms-keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}@keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}.lg-outer.lg-right-end .lg-object{-webkit-animation:lg-right-end .3s;-o-animation:lg-right-end .3s;animation:lg-right-end .3s;position:relative}.lg-outer.lg-left-end .lg-object{-webkit-animation:lg-left-end .3s;-o-animation:lg-left-end .3s;animation:lg-left-end .3s;position:relative}.lg-toolbar{z-index:1082;left:0;position:absolute;top:0;width:100%;background-color:rgba(0,0,0,.45)}.lg-toolbar .lg-icon{color:#999;cursor:pointer;float:right;font-size:24px;height:47px;line-height:27px;padding:10px 0;text-align:center;width:50px;text-decoration:none!important;outline:0;background:0 0;border:none;box-shadow:none;-webkit-transition:color .2s linear;-o-transition:color .2s linear;transition:color .2s linear}.lg-toolbar .lg-icon:hover{color:#FFF}.lg-toolbar .lg-close:after{content:"\e070"}.lg-toolbar .lg-download:after{content:"\e0f2"}.lg-sub-html{background-color:rgba(0,0,0,.45);bottom:0;color:#EEE;font-size:16px;left:0;padding:10px 40px;position:fixed;right:0;text-align:center;z-index:1080}.lg-sub-html h4{margin:0;font-size:13px;font-weight:700}.lg-sub-html p{font-size:12px;margin:5px 0 0}#lg-counter{color:#999;display:inline-block;font-size:16px;padding-left:20px;padding-top:12px;vertical-align:middle}.lg-next,.lg-prev,.lg-toolbar{opacity:1;-webkit-transition:-webkit-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;-moz-transition:-moz-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;-o-transition:-o-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;transition:transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear}.lg-hide-items .lg-prev{opacity:0;-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}.lg-hide-items .lg-next{opacity:0;-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}.lg-hide-items .lg-toolbar{opacity:0;-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-object{-webkit-transform:scale3d(.5,.5,.5);transform:scale3d(.5,.5,.5);opacity:0;-webkit-transition:-webkit-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;-moz-transition:-moz-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;-o-transition:-o-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;transition:transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);opacity:1}.lg-outer .lg-thumb-outer{background-color:#0D0A0A;bottom:0;position:absolute;width:100%;z-index:1080;max-height:350px;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .25s cubic-bezier(0,0,.25,1) 0s;transition:transform .25s cubic-bezier(0,0,.25,1) 0s}.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb{-webkit-transition-duration:0s!important;transition-duration:0s!important}.lg-outer.lg-thumb-open .lg-thumb-outer{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.lg-outer .lg-thumb{padding:10px 0;height:100%;margin-bottom:-5px}.lg-outer .lg-thumb-item{cursor:pointer;float:left;overflow:hidden;height:100%;border:2px solid #FFF;border-radius:4px;margin-bottom:5px}@media (min-width:1025px){.lg-outer .lg-thumb-item{-webkit-transition:border-color .25s ease;-o-transition:border-color .25s ease;transition:border-color .25s ease}}.lg-outer .lg-thumb-item.active,.lg-outer .lg-thumb-item:hover{border-color:#a90707}.lg-outer .lg-thumb-item img{width:100%;height:100%;object-fit:cover}.lg-outer.lg-has-thumb .lg-item{padding-bottom:120px}.lg-outer.lg-can-toggle .lg-item{padding-bottom:0}.lg-outer.lg-pull-caption-up .lg-sub-html{-webkit-transition:bottom .25s ease;-o-transition:bottom .25s ease;transition:bottom .25s ease}.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html{bottom:100px}.lg-outer .lg-toggle-thumb{background-color:#0D0A0A;border-radius:2px 2px 0 0;color:#999;cursor:pointer;font-size:24px;height:39px;line-height:27px;padding:5px 0;position:absolute;right:20px;text-align:center;top:-39px;width:50px;outline:0;border:none}.lg-outer .lg-toggle-thumb:after{content:"\e1ff"}.lg-outer .lg-toggle-thumb:hover{color:#FFF}.lg-outer .lg-video-cont{display:inline-block;vertical-align:middle;max-width:1140px;max-height:100%;width:100%;padding:0 5px}.lg-outer .lg-video{width:100%;height:0;padding-bottom:56.25%;overflow:hidden;position:relative}.lg-outer .lg-video .lg-object{display:inline-block;position:absolute;top:0;left:0;width:100%!important;height:100%!important}.lg-outer .lg-video .lg-video-play{width:84px;height:59px;position:absolute;left:50%;top:50%;margin-left:-42px;margin-top:-30px;z-index:1080;cursor:pointer}.lg-outer .lg-has-vimeo .lg-video-play{background:url(../img/vimeo-play.png) no-repeat}.lg-outer .lg-has-vimeo:hover .lg-video-play{background:url(../img/vimeo-play.png) 0 -58px no-repeat}.lg-outer .lg-has-html5 .lg-video-play{background:url(../img/video-play.png) no-repeat;height:64px;margin-left:-32px;margin-top:-32px;width:64px;opacity:.8}.lg-outer .lg-has-html5:hover .lg-video-play{opacity:1}.lg-outer .lg-has-youtube .lg-video-play{background:url(../img/youtube-play.png) no-repeat}.lg-outer .lg-has-youtube:hover .lg-video-play{background:url(../img/youtube-play.png) 0 -60px no-repeat}.lg-outer .lg-video-object{width:100%!important;height:100%!important;position:absolute;top:0;left:0}.lg-outer .lg-has-video .lg-video-object{visibility:hidden}.lg-outer .lg-has-video.lg-video-playing .lg-object,.lg-outer .lg-has-video.lg-video-playing .lg-video-play{display:none}.lg-outer .lg-has-video.lg-video-playing .lg-video-object{visibility:visible}.lg-progress-bar{background-color:#333;height:5px;left:0;position:absolute;top:0;width:100%;z-index:1083;opacity:0;-webkit-transition:opacity 80ms ease 0s;-moz-transition:opacity 80ms ease 0s;-o-transition:opacity 80ms ease 0s;transition:opacity 80ms ease 0s}.lg-progress-bar .lg-progress{background-color:#a90707;height:5px;width:0}.lg-progress-bar.lg-start .lg-progress{width:100%}.lg-show-autoplay .lg-progress-bar{opacity:1}.lg-autoplay-button:after{content:"\e01d"}.lg-show-autoplay .lg-autoplay-button:after{content:"\e01a"}.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image,.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition-duration:0s;transition-duration:0s}.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition:-webkit-transform .3s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .3s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .3s cubic-bezier(0,0,.25,1) 0s;transition:transform .3s cubic-bezier(0,0,.25,1) 0s}.lg-outer.lg-use-left-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;-moz-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;-o-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:-webkit-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-moz-transition:-moz-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-o-transition:-o-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;transition:transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}#lg-zoom-in:after{content:"\e311"}#lg-actual-size{font-size:20px}#lg-actual-size:after{content:"\e033"}#lg-zoom-out{opacity:.5;pointer-events:none}#lg-zoom-out:after{content:"\e312"}.lg-zoomed #lg-zoom-out{opacity:1;pointer-events:auto}.lg-outer .lg-pager-outer{bottom:60px;left:0;position:absolute;right:0;text-align:center;z-index:1080;height:10px}.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont{overflow:visible}.lg-outer .lg-pager-cont{cursor:pointer;display:inline-block;overflow:hidden;position:relative;vertical-align:top;margin:0 5px}.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.lg-outer .lg-pager-cont.lg-pager-active .lg-pager{box-shadow:0 0 0 2px #fff inset}.lg-outer .lg-pager-thumb-cont{background-color:#fff;color:#FFF;bottom:100%;height:83px;left:0;margin-bottom:20px;margin-left:-60px;opacity:0;padding:5px;position:absolute;width:120px;border-radius:3px;-webkit-transition:opacity .15s ease 0s,-webkit-transform .15s ease 0s;-moz-transition:opacity .15s ease 0s,-moz-transform .15s ease 0s;-o-transition:opacity .15s ease 0s,-o-transform .15s ease 0s;transition:opacity .15s ease 0s,transform .15s ease 0s;-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}.lg-outer .lg-pager-thumb-cont img{width:100%;height:100%}.lg-outer .lg-pager{background-color:rgba(255,255,255,.5);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.7) inset;display:block;height:12px;-webkit-transition:box-shadow .3s ease 0s;-o-transition:box-shadow .3s ease 0s;transition:box-shadow .3s ease 0s;width:12px}.lg-outer .lg-pager:focus,.lg-outer .lg-pager:hover{box-shadow:0 0 0 8px #fff inset}.lg-outer .lg-caret{border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px dashed;bottom:-10px;display:inline-block;height:0;left:50%;margin-left:-5px;position:absolute;vertical-align:middle;width:0}.lg-fullscreen:after{content:"\e20c"}.lg-fullscreen-on .lg-fullscreen:after{content:"\e20d"}.lg-outer #lg-dropdown-overlay{background-color:rgba(0,0,0,.25);bottom:0;cursor:default;left:0;position:fixed;right:0;top:0;z-index:1081;opacity:0;visibility:hidden;-webkit-transition:visibility 0s linear .18s,opacity .18s linear 0s;-o-transition:visibility 0s linear .18s,opacity .18s linear 0s;transition:visibility 0s linear .18s,opacity .18s linear 0s}.lg-outer.lg-dropdown-active #lg-dropdown-overlay,.lg-outer.lg-dropdown-active .lg-dropdown{-webkit-transition-delay:0s;transition-delay:0s;-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1;visibility:visible}.lg-outer.lg-dropdown-active #lg-share{color:#FFF}.lg-outer .lg-dropdown{background-color:#fff;border-radius:2px;font-size:14px;list-style-type:none;margin:0;padding:10px 0;position:absolute;right:0;text-align:left;top:50px;opacity:0;visibility:hidden;-moz-transform:translate3d(0,5px,0);-o-transform:translate3d(0,5px,0);-ms-transform:translate3d(0,5px,0);-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0);-webkit-transition:-webkit-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;-moz-transition:-moz-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;-o-transition:-o-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;transition:transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s}.lg-outer .lg-dropdown:after{content:"";display:block;height:0;width:0;position:absolute;border:8px solid transparent;border-bottom-color:#FFF;right:16px;top:-16px}.lg-outer .lg-dropdown>li:last-child{margin-bottom:0}.lg-outer .lg-dropdown>li:hover .lg-icon,.lg-outer .lg-dropdown>li:hover a{color:#333}.lg-outer .lg-dropdown a{color:#333;display:block;white-space:pre;padding:4px 12px;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px}.lg-outer .lg-dropdown a:hover{background-color:rgba(0,0,0,.07)}.lg-outer .lg-dropdown .lg-dropdown-text{display:inline-block;line-height:1;margin-top:-3px;vertical-align:middle}.lg-outer .lg-dropdown .lg-icon{color:#333;display:inline-block;float:none;font-size:20px;height:auto;line-height:1;margin-right:8px;padding:0;vertical-align:middle;width:auto}.lg-outer,.lg-outer .lg,.lg-outer .lg-inner{height:100%;width:100%}.lg-outer #lg-share{position:relative}.lg-outer #lg-share:after{content:"\e80d"}.lg-outer #lg-share-facebook .lg-icon{color:#3b5998}.lg-outer #lg-share-facebook .lg-icon:after{content:"\e904"}.lg-outer #lg-share-twitter .lg-icon{color:#00aced}.lg-outer #lg-share-twitter .lg-icon:after{content:"\e907"}.lg-outer #lg-share-googleplus .lg-icon{color:#dd4b39}.lg-outer #lg-share-googleplus .lg-icon:after{content:"\e905"}.lg-outer #lg-share-pinterest .lg-icon{color:#cb2027}.lg-outer #lg-share-pinterest .lg-icon:after{content:"\e906"}.lg-outer .lg-img-rotate{position:absolute;padding:0 5px;left:0;right:0;top:0;bottom:0;-webkit-transition:-webkit-transform .3s cubic-bezier(.32,0,.67,0) 0s;-moz-transition:-moz-transform .3s cubic-bezier(.32,0,.67,0) 0s;-o-transition:-o-transform .3s cubic-bezier(.32,0,.67,0) 0s;transition:transform .3s cubic-bezier(.32,0,.67,0) 0s}.lg-rotate-left:after{content:"\e900"}.lg-rotate-right:after{content:"\e901"}.lg-icon.lg-flip-hor,.lg-icon.lg-flip-ver{font-size:26px}.lg-flip-hor:after{content:"\e902"}.lg-flip-ver:after{content:"\e903"}.lg-group:after,.lg-group:before{display:table;content:"";line-height:0}.lg-group:after{clear:both}.lg-outer{position:fixed;top:0;left:0;z-index:1050;opacity:0;outline:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-outer *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lg-outer.lg-visible{opacity:1}.lg-outer.lg-css3 .lg-item.lg-current,.lg-outer.lg-css3 .lg-item.lg-next-slide,.lg-outer.lg-css3 .lg-item.lg-prev-slide{-webkit-transition-duration:inherit!important;transition-duration:inherit!important;-webkit-transition-timing-function:inherit!important;transition-timing-function:inherit!important}.lg-outer.lg-css3.lg-dragging .lg-item.lg-current,.lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide,.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide{-webkit-transition-duration:0s!important;transition-duration:0s!important;opacity:1}.lg-outer.lg-grab img.lg-object{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lg-outer.lg-grabbing img.lg-object{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.lg-outer .lg{position:relative;overflow:hidden;margin-left:auto;margin-right:auto;max-width:100%;max-height:100%}.lg-outer .lg-inner{position:absolute;left:0;top:0;white-space:nowrap}.lg-outer .lg-item{background:url(../img/loading.gif) center center no-repeat;display:none!important}.lg-outer.lg-css .lg-current,.lg-outer.lg-css3 .lg-current,.lg-outer.lg-css3 .lg-next-slide,.lg-outer.lg-css3 .lg-prev-slide{display:inline-block!important}.lg-outer .lg-img-wrap,.lg-outer .lg-item{display:inline-block;text-align:center;position:absolute;width:100%;height:100%}.lg-outer .lg-img-wrap:before,.lg-outer .lg-item:before{content:"";display:inline-block;height:50%;width:1px;margin-right:-1px}.lg-outer .lg-img-wrap{position:absolute;padding:0 5px;left:0;right:0;top:0;bottom:0}.lg-outer .lg-item.lg-complete{background-image:none}.lg-outer .lg-item.lg-current{z-index:1060}.lg-outer .lg-image{display:inline-block;vertical-align:middle;max-width:100%;max-height:100%;width:auto!important;height:auto!important}.lg-outer.lg-show-after-load .lg-item .lg-object,.lg-outer.lg-show-after-load .lg-item .lg-video-play{opacity:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-object,.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-video-play{opacity:1}.lg-outer .lg-empty-html,.lg-outer.lg-hide-download #lg-download{display:none}.lg-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1040;background-color:#000;opacity:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-backdrop.in{opacity:1}.lg-css3.lg-no-trans .lg-current,.lg-css3.lg-no-trans .lg-next-slide,.lg-css3.lg-no-trans .lg-prev-slide{-webkit-transition:none 0s ease 0s!important;-moz-transition:none 0s ease 0s!important;-o-transition:none 0s ease 0s!important;transition:none 0s ease 0s!important}.lg-css3.lg-use-css3 .lg-item,.lg-css3.lg-use-left .lg-item{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-css3.lg-fade .lg-item{opacity:0}.lg-css3.lg-fade .lg-item.lg-current{opacity:1}.lg-css3.lg-fade .lg-item.lg-current,.lg-css3.lg-fade .lg-item.lg-next-slide,.lg-css3.lg-fade .lg-item.lg-prev-slide{-webkit-transition:opacity .1s ease 0s;-moz-transition:opacity .1s ease 0s;-o-transition:opacity .1s ease 0s;transition:opacity .1s ease 0s}.lg-css3.lg-slide.lg-use-css3 .lg-item{opacity:0}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current,.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide,.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide.lg-use-left .lg-item{opacity:0;position:absolute;left:0}.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide{left:-100%}.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide{left:100%}.lg-css3.lg-slide.lg-use-left .lg-item.lg-current{left:0;opacity:1}.lg-css3.lg-slide.lg-use-left .lg-item.lg-current,.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide,.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide{-webkit-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s} \ No newline at end of file diff --git a/css/markdown.css b/css/markdown.css new file mode 100644 index 0000000..8aed5a3 --- /dev/null +++ b/css/markdown.css @@ -0,0 +1,169 @@ +@charset "utf-8"; + +.post-md +{ + width: 100%; + font-size: 16.8px; + letter-spacing: 0; +} + +.post-md h1, +.post-md h2, +.post-md h3, +.post-md h4, +.post-md h5, +.post-md h6 +{ + color: var(--font-color-1); + margin: 12px 0; +} +.post-md h1 +{ + font-size: 2.5rem; + line-height: 1.2; + padding: 24px 0; +} +.post-md h2 +{ + font-size: 2rem; + line-height: 1.2; + padding: 20px 0; +} +.post-md h3 +{ + font-size: 1.75rem; + line-height: 1.2; + padding: 18px 0; +} +.post-md h4 +{ + font-size: 1.5rem; + line-height: 1.2; + padding: 16px 0; +} +.post-md h5 +{ + font-size: 1.25rem; + line-height: 1.2; + padding: 14px 0; +} +.post-md h6 +{ + font-size: 1.125rem; + line-height: 1.2; + padding: 12px 0; +} +.post-md a +{ + color: var(--font-color-2); + box-shadow: 0 2px 0 var(--line-1); + /* transition: color ease-in-out .65s, box-shadow ease-in-out .65s; */ +} +.post-md a:hover +{ + color: var(--font-color-0); + box-shadow: 0 2px 0 var(--font-color-0); + /* transition: color ease-in-out .65s, box-shadow ease-in-out .65s; */ +} +.post-md strong +{ + font-weight: 700; + font-family: LXGW WenKai bold; +} +.post-md em +{ + font-style: italic; + +} +.post-md kbd +{ + padding: 2px 4px; + border-radius: 2px; + background: #eee; + border: 1px solid #ddd; +} +.post-md ol +{ + list-style: decimal; + padding-left: 24px; +} +.post-md ul +{ + list-style: disc; + padding-left: 24px; +} +.post-md img +{ + border-radius: 4px; +} +.post-md hr +{ + border: none; + height: 1px; + background: var(--line-1); + margin: 24px 0; +} + +.post-md p, +.post-md blockquote +{ + width: 100%; + margin: 12px 0; +} +.post-md blockquote +{ + border-left: 2px solid var(--line-2); + padding-left: 12px; + word-wrap: break-word; +} + +.post-md .video-container +{ + background: #000; + border-radius: 4px; + overflow: hidden; +} +.post-md iframe, +.post-md .video-container iframe +{ + width: 100%; +} + +.post-md table +{ + width: 100%; + text-align: left; + border-spacing: 0; +} +.post-md table th +{ + padding: 12px 0; + border-bottom: 2px solid var(--line-1); +} +.post-md table tr:nth-child(odd) td +{ + padding: 12px 0; + border-bottom: 1px solid var(--line-1); + background: #fafafa; +} +.post-md table tr:nth-child(even) td +{ + padding: 12px 0; + border-bottom: 1px solid var(--line-1); + background: #fff; +} + +.post-md code +{ + border-radius: 4px; + background: #e4e4e4; + padding: 2px 4px; + color: #2d2d2d; + font-size: 1rem; +} + +.post-md .hljs-ln-numbers +{ + opacity: .5; + padding-right: 12px; +} diff --git a/css/reset.css b/css/reset.css new file mode 100644 index 0000000..fd770ce --- /dev/null +++ b/css/reset.css @@ -0,0 +1,70 @@ +@charset "utf-8"; + +*, +*::before, +*::after +{ + box-sizing: border-box; +} + +body, +h1, +h2, +h3, +h4, +h5, +h6, +p, +figure, +blockquote, +dl, +dd +{ + margin: 0; +} + +ul, +ol +{ + list-style: none; +} + +ul +{ + padding-inline-start: 0; +} + +html, +body +{ + scroll-behavior: auto; +} + +a:not([class]) +{ + text-decoration-skip-ink: auto; +} + +img, +picture +{ + /* width: auto; */ + max-width: 100%; + display: block; +} + +input, +button, +textarea, +select +{ + font: inherit; +} + +@media (prefers-reduced-motion: reduce) +{ + html:focus-within + { + scroll-behavior: auto; + } +} \ No newline at end of file diff --git a/css/returnToLastPage.css b/css/returnToLastPage.css new file mode 100644 index 0000000..2ef9eda --- /dev/null +++ b/css/returnToLastPage.css @@ -0,0 +1,92 @@ +/* Please ❤ this if you like it! */ + +/* #Progress +================================================== */ + +.return-to-last-progress-wrap { + position: fixed; + right: 50px; + bottom: 100px; + height: 45px; + width: 45px; + cursor: pointer; + display: block; + border-radius: 50px; + box-shadow: inset 0 0 0 2px rgba(245, 245, 245, 0.2); + z-index: 10000; + opacity: 0; + visibility: hidden; + transform: translateY(15px); + /* -webkit-transition: all 0ms linear; */ + /* transition: all 0ms linear; */ +} +.return-to-last-progress-wrap.active-progress { + opacity: 1; + visibility: visible; + transform: translateY(0); +} +.return-to-last-progress-wrap::after { + position: absolute; + font-family: 'unicons'; + content: '\e843'; + text-align: center; + line-height: 46px; + font-size: 24px; + color: #4f7dde; /* 箭头的颜色 */ + left: 0; + top: 0; + height: 46px; + width: 46px; + cursor: pointer; + display: block; + z-index: 1; + /* -webkit-transition: all 200ms linear; */ + /* transition: all 200ms linear; */ +} +.return-to-last-progress-wrap:hover::after { + opacity: 0; +} +.return-to-last-progress-wrap::before { + position: absolute; + font-family: 'unicons'; + content: '\e843'; + text-align: center; + line-height: 46px; + font-size: 24px; + opacity: 0; + background-image: linear-gradient(298deg, #4f7dde, #4f7dde); /* 鼠标滑过的箭头颜色 */ + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + left: 0; + top: 0; + height: 45px; + width: 45px; + cursor: pointer; + display: block; + z-index: 2; + /* -webkit-transition: all 200ms linear; */ + /* transition: all 200ms linear; */ +} +.return-to-last-progress-wrap:hover::before { + opacity: 1; +} +.return-to-last-progress-wrap svg path { + fill: none; +} +.return-to-last-progress-wrapp svg.progress-circle path { + stroke: #4f7dde; /* 边框的颜色 */ + stroke-width: 4; + box-sizing:border-box; + /* -webkit-transition: all 200ms linear; */ + /* transition: all 200ms linear; */ +} +body.light .return-to-last-progress-wrap { + box-shadow: inset 0 0 0 2px rgba(0,0,0,0.2); +} +body.light .return-to-last-progress-wrap::after { + color: black; +} +body.light .return-to-last-progress-wrap svg.progress-circle path { + stroke: rgb(0, 0, 0); +} + diff --git a/css/returnToTop.css b/css/returnToTop.css new file mode 100644 index 0000000..2bfcedd --- /dev/null +++ b/css/returnToTop.css @@ -0,0 +1,91 @@ +/* Please ❤ this if you like it! */ + +/* #Progress +================================================== */ + +.progress-wrap { + position: fixed; + right: 50px; + bottom: 45px; + height: 45px; + width: 45px; + cursor: pointer; + display: block; + border-radius: 50px; + box-shadow: inset 0 0 0 2px rgba(245, 245, 245, 0.2); + z-index: 10000; + opacity: 0; + visibility: hidden; + transform: translateY(15px); + /* -webkit-transition: all 0ms linear; */ + /* transition: all 0ms linear; */ +} +.progress-wrap.active-progress { + opacity: 1; + visibility: visible; + transform: translateY(0); +} +.progress-wrap::after { + position: absolute; + font-family: 'unicons'; + content: '\e84b'; + text-align: center; + line-height: 46px; + font-size: 24px; + color: #4f7dde; /* 箭头的颜色 */ + left: 0; + top: 0; + height: 46px; + width: 46px; + cursor: pointer; + display: block; + z-index: 1; + /* -webkit-transition: all 200ms linear; */ + /* transition: all 200ms linear; */ +} +.progress-wrap:hover::after { + opacity: 0; +} +.progress-wrap::before { + position: absolute; + font-family: 'unicons'; + content: '\e84b'; + text-align: center; + line-height: 46px; + font-size: 24px; + opacity: 0; + background-image: linear-gradient(298deg, #4f7dde, #4f7dde); /* 鼠标滑过的箭头颜色 */ + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + left: 0; + top: 0; + height: 45px; + width: 45px; + cursor: pointer; + display: block; + z-index: 2; + /* -webkit-transition: all 200ms linear; */ + /* transition: all 200ms linear; */ +} +.progress-wrap:hover::before { + opacity: 1; +} +.progress-wrap svg path { + fill: none; +} +.progress-wrap svg.progress-circle path { + stroke: #4f7dde; /* 边框的颜色 */ + stroke-width: 4; + box-sizing:border-box; + /* -webkit-transition: all 200ms linear; */ + /* transition: all 200ms linear; */ +} +body.light .progress-wrap { + box-shadow: inset 0 0 0 2px rgba(0,0,0,0.2); +} +body.light .progress-wrap::after { + color: black; +} +body.light .progress-wrap svg.progress-circle path { + stroke: rgb(0, 0, 0); +} diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..63981f5 --- /dev/null +++ b/css/style.css @@ -0,0 +1,687 @@ +@charset "utf-8"; + +:root +{ + --font-color-0: #04077e; + --font-color-1: #000; + --font-color-2: #666; + --font-color-3: #aaa; + --bg-color-1: #eee; + --line-1: #ccc; + --line-2: #ddd; +} +p +{ + word-wrap: break-word; + white-space: pre-wrap; +} + +body +{ + font-family: "Times New Roman", Helvetica, Tahoma, Arial, "LXGW WenKai", "notoserifsc-medium", "Microsoft YaHei", "Hiragino Sans GB", "WenQuanYi Micro Hei", sans-serif; + font-size: 16.8px; + line-height: 1.7; + /* letter-spacing: 0.6px; */ + color: var(--font-color-1); + background: #e4e4e4; + height: 100%; +} + + + +a +{ + text-decoration: none; + color: #4f7dde; +} + +.paper +{ + padding: 4vw; + background: #e4e4e4; +} +.paper-main +{ + width: 100%; + max-width: 880px; + margin: 0 auto; + padding: 36px 4vw 0px; /*上 宽 第*/ + background: #fff; + /*border-radius: 24px;*/ + border-radius: 0px; + background: #ffffff; + /* box-shadow: 0px 5px 13px #616161, -5px -5px 13px #ffffff; */ +} +.index-main +{ + width: 100%; + max-width: 580px; + margin: 0 auto; + padding: 36px 4.5vw 0px; + border-radius: 0px; + background: #ffffff; + /* box-shadow: 0px 5px 13px #616161, -5px -5px 13px #ffffff; */ +} + +.index-header-line +{ + margin-top: -28px; + /* margin-bottom: 18px; */ + /* border-bottom: 1px solid var(--line-1); */ + font-size: 0.6rem; + color: var(--font-color-3); + text-align: center; + font-style: italic; +} + +.header +{ + /*padding-bottom: 48px; + margin-bottom: 48px;*/ + border-bottom: 1px solid var(--line-1); + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + align-content: center; +} +.index-header +{ + /*padding-bottom: 48px; + margin-bottom: 48px;*/ + /* border-bottom: 1px solid var(--line-1); */ + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + align-content: center; +} + + +.logo +{ + font-size: 1.8rem; + font-weight: 600; + margin-bottom: 16px; + flex: 0 0 100%; +} + +.index-logo +{ + font-size: 3rem; + font-weight: 600; + margin-bottom: 0px; + flex: 0 0 100%; +} + +.nav +{ + margin: 4px -1px -3px; + flex: 0 0 100%; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + align-content: center; +} +.nav li +{ + padding: 2px 0; + margin-right: 24px; +} +.nav li:last-of-type +{ + margin-right: 0; +} +.nav li a +{ + color: var(--font-color-1); + /* opacity: .6; */ + /* transition: opacity ease-in-out .5s; */ +} +.nav li a:hover +{ + opacity: 1; + /* transition: opacity ease-in-out .5s; */ +} + +.post-header +{ + margin-bottom: 48px; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + align-content: center; +} +.post-header .logo +{ + font-size: 1rem; +} +.post-header .go-home +{ + display: block; + padding: 10px 20px 8px; + border-radius: 18px; + background: #fff; + border: 1px solid #eee; + margin: 8px 0; + /* transition: background ease-in-out .5s; */ +} +.post-header .go-home:hover +{ + background: var(--bg-color-1); + /* transition: background ease-in-out .5s; */ +} +.post-header .go-home svg +{ + transform: translateX(0); + /* transition: transform ease-in-out .5s; */ +} +.post-header .go-home:hover svg +{ + transform: translateX(-4px); + /* transition: transform ease-in-out .5s; */ +} + +.post-list +{ + display: flex; + flex-direction: column; + flex-wrap: wrap; + justify-content: flex-start; + align-items: stretch; +} +.post +{ + width: 100%; + padding-bottom: 48px; + margin-bottom: 48px; + border-bottom: 1px dashed var(--line-2); +} +.post-title +{ + display: inline-block; + font-size: 1.6rem; + font-weight: 600; + line-height: 1.5; + margin-bottom: 12px; + color: var(--font-color-1); + /*transition: color ease-in-out .5s;*/ +} +.post-title:hover +{ + color: var(--font-color-0); + /* transition: color ease-in-out .5s; */ +} +.post-except +{ + word-break: break-all; + margin-bottom: 12px; +} +.read-more +{ + padding: 0 4px; + color: var(--font-color-0); +} +.read-more:before, +.read-more:after +{ + display: inline-block; + /* transition: transform ease-in-out .5s; */ +} +.read-more:before +{ + content: "{ "; +} +.read-more:after +{ + content: " }"; +} +.read-more:hover:before +{ + transform: translateX(-4px); + /* transition: transform ease-in-out .25s; */ +} +.read-more:hover:after +{ + transform: translateX(4px); + /* transition: transform ease-in-out .25s; */ +} +.post-date +{ + font-size: 0.875rem; + color: var(--font-color-3); +} + +.paginator +{ + font-size: 0.875rem; + width: 100%; + margin: -18px auto 24px; + display: flex; + flex-direction: row; + flex-wrap: wrap; + /*justify-content: space-evenly;*/ + align-items: center; +} +.paginator * +{ + display: block; + padding: 8px 16px; + border-radius: 18px; + background: #fff; + border: 1px solid #eee; +} +.paginator .space +{ + display: block; + padding: 8px 16px; + border-radius: 18px; + background: #fff; + border: none; +} +.paginator a +{ + margin: 4px; + color: var(--font-color-2); + /* transition: color ease-in-out .5s; */ +} +.paginator a:hover +{ + color: var(--font-color-0); + /* transition: color ease-in-out .5s; */ +} +.paginator .current +{ + color: var(--font-color-0); + border: 1px solid var(--font-color-0); +} + +.footer +{ + padding: 4px 0; + font-size: 0.875rem; + color: var(--font-color-3); + display: flex; + flex-direction: column; + flex-wrap: nowrap; + justify-content: flex-start; + align-content: center; +} +.footer-last +{ + padding-bottom: 24px; + /* padding-top: 6px; */ + font-size: 10px; + color: var(--font-color-3); + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: center; + align-items: center; + border-top: 1px solid var(--line-1); +} +.post-footer-pre-next +{ + padding-top: 10px; + /* padding-top: 6px; */ + color: black; + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: center; + align-items: center; + width: -webkit-fill-available; +} + +.footer span +{ + text-align: left; + margin-bottom: -7px; +} +.footer-last-span-right +{ + flex: 1; + text-align: right; + font-size: 10px; +} + +.post-footer-pre-next-last-span-right +{ + flex: 1; + text-align: right; +} + +@media only screen and (max-width: 600px) { + .footer-last { + padding-top: 5px; + flex-direction: column; + } + + .footer-last i{ + font-style: normal; + } + + .footer-last-span-right { + float: left; + font-size: 10px; + } + } + +.index-footer-last-span +{ + font-size: 10px; +} +.footer a +{ + color: var(--font-color-3); + /* transition: color ease-in-out .5s; */ +} +.footer a:hover +{ + color: var(--font-color-0); + /* transition: color ease-in-out .5s; */ +} + +.post-main +{ + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + align-items: flex-start; + margin-bottom: 24px; +} +.post-main-title +{ + flex: 0 0 100%; + /*margin-bottom: 12px;*/ + margin-top: 16px; + font-size: 1.6rem; + font-weight: 600; + line-height: 1.5; + color: var(--font-color-1); +} +.post-meta +{ + font-size: 0.875rem; + color: var(--font-color-3); + flex: 0 0 100%; + margin-bottom: 10px; + margin-top: 10px; +} + +.archive +{ + display: flex; + flex-direction: column; + flex-wrap: wrap; + justify-content: space-between; + align-content: normal; +} +.archive li +{ + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: flex-start; + align-content: center; + padding: 12px 0; +} +.archive li:nth-child(odd) +{ + background: #fafafa; +} +.archive li:nth-child(even) +{ + background: #fff; +} +.archive li span +{ + width: 108px; + color: var(--font-color-2); +} +.archive-main +{ + flex: 0 1 calc( 100% - 108px ); +} + + +.archive-title +{ + color: var(--font-color-1); + /*transition: color ease-in-out .5s;*/ +} +.archive-title:hover +{ + color: var(--font-color-0); + /* transition: color ease-in-out .5s; */ +} + +/* add by myself */ +.circle-green { + padding: 40px 25px 50px; + border: solid 1px green; + margin-bottom: 15px; + display: flex; + flex-direction: column; + flex-wrap: nowrap; + justify-content: flex-start; + align-content: center; +} +.circle-red { + padding: 40px 25px 50px; + border: solid 1px rgb(156, 0, 0); + margin-bottom: 15px; + display: flex; + flex-direction: column; + flex-wrap: nowrap; + justify-content: flex-start; + align-content: center; +} +.circle-orange { + padding: 40px 25px 50px; + border: solid 1px rgb(244, 135, 26); + margin-bottom: 15px; + display: flex; + flex-direction: column; + flex-wrap: nowrap; + justify-content: flex-start; + align-content: center; +} +.circle-blue { + padding: 40px 25px 50px; + border: solid 1px rgb(81, 114, 221); + margin-bottom: 15px; + display: flex; + flex-direction: column; + flex-wrap: nowrap; + justify-content: flex-start; + align-content: center; +} +.circle-black { + padding: 40px 25px 50px; + border: solid 1px rgb(0, 0, 0); + margin-bottom: 15px; + display: flex; + flex-direction: column; + flex-wrap: nowrap; + justify-content: flex-start; + align-content: center; +} + +.poem-header{ + font-size: larger; +} +.poem span { + color: #000 +} + +/* comment*/ +.paper-comment { + padding: 4vw; +} + +.paper-comment-main { + width: 100%; + max-width: 880px; + margin: 0 auto; + padding: 72px 8vw 24px; + background: #fff; + border-radius: 24px; + background: #fff; +} + + +.comments-container { + display: inline-block; + margin-top: 10px; + width: 100% +} + + +.comment-area-title { + width: 100%; + margin: 10px 0; + font-size: 1.38rem; + color: var(--default-text-color); +} + +/* list页面 标签访问过后的颜色 */ +.archive-main a:link { + color:#4f7dde; + text-decoration:none; +} + +.archive-main a:visited { + color:#9c9caf; + text-decoration: underline; +} +.archive-main a:hover { + color:#000000; + text-decoration: underline; +} + +.index-header a:link { + color:#000000; + text-decoration:none; +} + +.index-header a:visited { + color:#9c9caf; + text-decoration: underline; +} + +.index-header a:hover { + color:rgb(0, 0, 0); + text-decoration: underline; +} + +.header a:link { + color:rgb(0, 0, 0); + text-decoration: none; +} + +.header a:hover { + color:rgb(0, 0, 0); + text-decoration: underline; +} + + + + +/* header相关 */ +.description { + font-size: smaller; + color: #9c9caf; + margin-top: -24px; +} + +.header-container { + display: flex; + align-items: center; + } +.header-content { +display: flex; +flex-direction: column; +margin-left: 10px; /* 调整a标签和span之间的距离 */ +} + +/*img adj*/ +.about-achievement-container{ + max-width: 100%; + display: flex; +} + +.about-achievement-container img{ + background-color: rgba(255, 255, 255, 0.5); + opacity: 0; + transition: opacity 0.3s ease; + display: inline-block; + margin: 0 auto; + vertical-align: middle; +} + +.about-achievement-container img:hover{ + opacity: 1; + cursor: pointer; + transform: scale(1.5); +} +.about-achievement-container img:active::before{ + opacity: 1; + cursor: pointer; + transform: scale(1.5); +} + +@media only screen and (max-width: 600px) { + .about-achievement-container { + max-width: 100%; + display: flex; + flex-direction: column; + } + + .about-achievement-container img{ + max-width: 50%; + margin-left: 0px; + display: inline-block; + margin: 0 auto; + vertical-align: middle; + } + } + +.inline-ul { + list-style: none; + padding: 0; +} +.inline-li { + display: inline-block; + margin-right: 10px; /* 可以根据需要调整元素之间的间距 */ +} + +.year-font-color { + color: black !important; +} + +@media print { + + /* All your print styles go here */ + .paper { + margin: 0; + padding: 0; + } + + .paper-main { + margin: 0 !important; + max-width: 100%; + } +} + +.darkmode-layer, .darkmode-toggle { + z-index: 500; +} + +.darkmode-background { + background: transparent !important; +} + diff --git a/css/toc.css b/css/toc.css new file mode 100644 index 0000000..f73c676 --- /dev/null +++ b/css/toc.css @@ -0,0 +1,187 @@ + + +.left-toc-container{ + top: 206px; + left: 1px; + bottom: 110px; + overflow-y: auto; /* 或者使用 overflow-y: scroll; */ + max-height: -webkit-fill-available; /* 设置最大高度,可以根据需要进行调整 */ + position: fixed; + scrollbar-width: thin; +} + +.left-toc-container::-webkit-scrollbar { + width: 10px; /* 设置滚动条宽度 */ +} + +.left-toc-container::-webkit-scrollbar-thumb { + background-color: white; /* 设置滚动条拖动块的颜色 */ + border-radius: 5px; /* 设置圆角 */ +} + +.left-toc-container::-webkit-scrollbar-track { + background-color: transparent; /* 设置滚动条轨道的颜色 */ +} + +/* The Table of Contents container element */ + +.tocify { + overflow: auto; + /* position: fixed; + left: -240px; */ +} + +/* sidebar */ + +.bs-docs-sidebar { + /* top: 235px; + left: 1px; */ +} + +/* The Table of Contents is composed of multiple nested unordered lists. These styles remove the default styling of an unordered list because it is ugly. */ + +.tocify ul, +.tocify li { + list-style: none; + margin: 0; + padding: 0; + border: none; + line-height: 30px; +} + + +/* Top level header elements */ + +.tocify-header { + text-indent: 10px; +} + + +/* Top level subheader elements. These are the first nested items underneath a header element. */ + +.tocify-subheader { + text-indent: 20px; + display: none; + border-left-width: 1px !important; +} + + +/* Makes the font smaller for all subheader elements. */ + +.tocify-subheader li { + font-size: 12px; +} + + +/* Further indents second level subheader elements. */ + +.tocify-subheader .tocify-subheader { + text-indent: 30px; +} + + +/* Further indents third level subheader elements. You can continue this pattern if you have more nested elements. */ + +.tocify-subheader .tocify-subheader .tocify-subheader { + text-indent: 40px; +} + + +/* Twitter Bootstrap Override Style */ + +.nav-list > li > a, +.nav-list .nav-header { + margin: 0px; +} + + +/* Twitter Bootstrap Override Style */ + +.nav-list > li > a { + padding: 5px; +} + + + + + +/* all links */ + +.bs-docs-sidebar .nav>li>a { + color: #999; + font-size: 13px; + font-weight: 400; + border-left: 4px solid transparent; + padding: 4px 20px; +} + + +/* nested links */ + +.bs-docs-sidebar .nav .nav>li>a { + border-left-width: 2px; +} + +.bs-docs-sidebar .nav .nav>ul>li>a { + border-left-width: 1px; +} + +.bs-docs-sidebar .nav .nav>li>a { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 30px; + font-size: 12px; +} + + +/* active & hover links */ + +.bs-docs-sidebar .nav>.active>a, +.bs-docs-sidebar .nav>li>a:hover, +.bs-docs-sidebar .nav>li>a:focus { + color: #4f7ddf; + text-decoration: none; + background-color: transparent; + border-left-color: #4f7ddf; +} + + +/* all active links */ + +.bs-docs-sidebar .nav>.active>a, +.bs-docs-sidebar .nav>.active:hover>a, +.bs-docs-sidebar .nav>.active:focus>a { + font-weight: 700; +} + + +/* nested active links */ + +.bs-docs-sidebar .nav .nav>.active>a, +.bs-docs-sidebar .nav .nav>.active:hover>a, +.bs-docs-sidebar .nav .nav>.active:focus>a { + font-weight: 500; +} + + +/* hide inactive nested list */ + +.bs-docs-sidebar .nav ul.nav { + display: none; +} + + +/* show active nested list */ + +.bs-docs-sidebar .nav>.active>ul.nav { + display: block; +} + +@media screen and (max-width: 1104px) { + .bs-docs-sidebar { + display: none + } +} +.tocify-extend-page { + height: 10px !important; +} \ No newline at end of file diff --git a/css/ui.css b/css/ui.css new file mode 100644 index 0000000..c21d7f0 --- /dev/null +++ b/css/ui.css @@ -0,0 +1,81 @@ +.shadow-drop-2-bottom { + animation: shadow-drop-2-bottom 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; +} +/* ---------------------------------------------- + * Generated by Animista on 2023-4-30 15:1:38 + * Licensed under FreeBSD License. + * See http://animista.net/license for more info. + * w: http://animista.net, t: @cssanimista + * ---------------------------------------------- */ + +/** + * ---------------------------------------- + * animation shadow-drop-2-bottom + * ---------------------------------------- + */ + @keyframes shadow-drop-2-bottom { + 0% { + transform: translateZ(0) translateY(0); + box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); + } + 100% { + transform: translateZ(50px) translateY(-12px); + box-shadow: 0 5px 13px rgba(0, 0, 0, 0.35); + } + } + + .shadow-drop-2-top { + animation: shadow-drop-2-top 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; +} +/* ---------------------------------------------- + * Generated by Animista on 2023-4-30 15:6:26 + * Licensed under FreeBSD License. + * See http://animista.net/license for more info. + * w: http://animista.net, t: @cssanimista + * ---------------------------------------------- */ + +/** + * ---------------------------------------- + * animation shadow-drop-2-top + * ---------------------------------------- + */ + @keyframes shadow-drop-2-top { + 0% { + transform: translateZ(0) translateY(0); + box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); + } + 100% { + transform: translateZ(50px) translateY(12px); + box-shadow: 0 5px 13px rgba(0, 0, 0, 0.35); + } + } +.shadow-drop-2-right { + animation: shadow-drop-2-right 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; +} +/* ---------------------------------------------- + * Generated by Animista on 2023-4-30 15:10:8 + * Licensed under FreeBSD License. + * See http://animista.net/license for more info. + * w: http://animista.net, t: @cssanimista + * ---------------------------------------------- */ + +/** + * ---------------------------------------- + * animation shadow-drop-2-right + * ---------------------------------------- + */ + @keyframes shadow-drop-2-right { + 0% { + transform: translateZ(0) translateX(0); + box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); + } + 100% { + transform: translateZ(50px) translateX(-12px); + box-shadow: 0px 5px 13px rgba(0, 0, 0, 0.35); + } + } + + + + + \ No newline at end of file diff --git a/css/unicons.css b/css/unicons.css new file mode 100644 index 0000000..c1be484 --- /dev/null +++ b/css/unicons.css @@ -0,0 +1,1095 @@ +@font-face { + font-family: 'unicons'; + src: url('https://jsd.onmicrosoft.cn/npm/hexo-theme-a4@latest/source/fonts/unicons.woff2') format('woff2'); + font-weight: normal; + font-style: normal; +} +/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ +/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ +/* +@media screen and (-webkit-min-device-pixel-ratio:0) { + @font-face { + font-family: 'unicons'; + src: url('../font/unicons.svg?50911815#unicons') format('svg'); + } +} +*/ + + [class^="uil-"]:before, [class*=" uil-"]:before { + font-family: "unicons"; + font-style: normal; + font-weight: normal; + speak: none; + + display: inline-block; + text-decoration: inherit; + text-align: center; + /* opacity: .8; */ + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + + /* Font smoothing. That was taken from TWBS */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ +} + +.uil-0-plus:before { content: '\e800'; } /* '顮€' */ +.uil-10-plus:before { content: '\e801'; } /* '顮�' */ +.uil-12-plus:before { content: '\e802'; } /* '顮�' */ +.uil-13-plus:before { content: '\e803'; } /* '顮�' */ +.uil-16-plus:before { content: '\e804'; } /* '顮�' */ +.uil-17-plus:before { content: '\e805'; } /* '顮�' */ +.uil-18-plus:before { content: '\e806'; } /* '顮�' */ +.uil-21-plus:before { content: '\e807'; } /* '顮�' */ +.uil-3-plus:before { content: '\e808'; } /* '顮�' */ +.uil-500px:before { content: '\e809'; } /* '顮�' */ +.uil-6-plus:before { content: '\e80a'; } /* '顮�' */ +.uil-abacus:before { content: '\e80b'; } /* '顮�' */ +.uil-accessible-icon-alt:before { content: '\e80c'; } /* '顮�' */ +.uil-adjust-alt:before { content: '\e80d'; } /* '顮�' */ +.uil-adjust-circle:before { content: '\e80e'; } /* '顮�' */ +.uil-adjust-half:before { content: '\e80f'; } /* '顮�' */ +.uil-adjust:before { content: '\e810'; } /* '顮�' */ +.uil-adobe:before { content: '\e811'; } /* '顮�' */ +.uil-airplay:before { content: '\e812'; } /* '顮�' */ +.uil-align-alt:before { content: '\e813'; } /* '顮�' */ +.uil-align-center-alt:before { content: '\e814'; } /* '顮�' */ +.uil-align-center-h:before { content: '\e815'; } /* '顮�' */ +.uil-align-center-justify:before { content: '\e816'; } /* '顮�' */ +.uil-align-center-v:before { content: '\e817'; } /* '顮�' */ +.uil-align-center:before { content: '\e818'; } /* '顮�' */ +.uil-align-justify:before { content: '\e819'; } /* '顮�' */ +.uil-align-left-justify:before { content: '\e81a'; } /* '顮�' */ +.uil-align-left:before { content: '\e81b'; } /* '顮�' */ +.uil-align-letter-right:before { content: '\e81c'; } /* '顮�' */ +.uil-align-right-justify:before { content: '\e81d'; } /* '顮�' */ +.uil-align-right:before { content: '\e81e'; } /* '顮�' */ +.uil-align:before { content: '\e81f'; } /* '顮�' */ +.uil-ambulance:before { content: '\e820'; } /* '顮�' */ +.uil-analysis:before { content: '\e821'; } /* '顮�' */ +.uil-analytics:before { content: '\e822'; } /* '顮�' */ +.uil-anchor:before { content: '\e823'; } /* '顮�' */ +.uil-android-phone-slash:before { content: '\e824'; } /* '顮�' */ +.uil-angle-double-down:before { content: '\e825'; } /* '顮�' */ +.uil-angle-double-left:before { content: '\e826'; } /* '顮�' */ +.uil-angle-double-right:before { content: '\e827'; } /* '顮�' */ +.uil-angle-double-up:before { content: '\e828'; } /* '顮�' */ +.uil-angle-down:before { content: '\e829'; } /* '顮�' */ +.uil-angle-left:before { content: '\e82a'; } /* '顮�' */ +.uil-angle-right-b:before { content: '\e82b'; } /* '顮�' */ +.uil-angle-right:before { content: '\e82c'; } /* '顮�' */ +.uil-angle-up:before { content: '\e82d'; } /* '顮�' */ +.uil-angry:before { content: '\e82e'; } /* '顮�' */ +.uil-ankh:before { content: '\e82f'; } /* '顮�' */ +.uil-annoyed-alt:before { content: '\e830'; } /* '顮�' */ +.uil-annoyed:before { content: '\e831'; } /* '顮�' */ +.uil-apple:before { content: '\e832'; } /* '顮�' */ +.uil-apps:before { content: '\e833'; } /* '顮�' */ +.uil-archive-alt:before { content: '\e834'; } /* '顮�' */ +.uil-archive:before { content: '\e835'; } /* '顮�' */ +.uil-archway:before { content: '\e836'; } /* '顮�' */ +.uil-arrow-break:before { content: '\e837'; } /* '顮�' */ +.uil-arrow-circle-down:before { content: '\e838'; } /* '顮�' */ +.uil-arrow-circle-left:before { content: '\e839'; } /* '顮�' */ +.uil-arrow-circle-right:before { content: '\e83a'; } /* '顮�' */ +.uil-arrow-circle-up:before { content: '\e83b'; } /* '顮�' */ +.uil-arrow-compress-h:before { content: '\e83c'; } /* '顮�' */ +.uil-arrow-down-left:before { content: '\e83d'; } /* '顮�' */ +.uil-arrow-down-right:before { content: '\e83e'; } /* '顮�' */ +.uil-arrow-down:before { content: '\e83f'; } /* '顮�' */ +.uil-arrow-from-right:before { content: '\e840'; } /* '睢€' */ +.uil-arrow-from-top:before { content: '\e841'; } /* '睢�' */ +.uil-arrow-growth:before { content: '\e842'; } /* '睢�' */ +.uil-arrow-left:before { content: '\e843'; } /* '睢�' */ +.uil-arrow-random:before { content: '\e844'; } /* '睢�' */ +.uil-arrow-resize-diagonal:before { content: '\e845'; } /* '睢�' */ +.uil-arrow-right:before { content: '\e846'; } /* '睢�' */ +.uil-arrow-to-bottom:before { content: '\e847'; } /* '睢�' */ +.uil-arrow-to-right:before { content: '\e848'; } /* '睢�' */ +.uil-arrow-up-left:before { content: '\e849'; } /* '睢�' */ +.uil-arrow-up-right:before { content: '\e84a'; } /* '睢�' */ +.uil-arrow-up:before { content: '\e84b'; } /* '睢�' */ +.uil-arrows-h-alt:before { content: '\e84c'; } /* '睢�' */ +.uil-arrows-h:before { content: '\e84d'; } /* '睢�' */ +.uil-arrows-left-down:before { content: '\e84e'; } /* '睢�' */ +.uil-arrows-maximize:before { content: '\e84f'; } /* '睢�' */ +.uil-arrows-merge:before { content: '\e850'; } /* '睢�' */ +.uil-arrows-resize-h:before { content: '\e851'; } /* '睢�' */ +.uil-arrows-resize-v:before { content: '\e852'; } /* '睢�' */ +.uil-arrows-resize:before { content: '\e853'; } /* '睢�' */ +.uil-arrows-right-down:before { content: '\e854'; } /* '睢�' */ +.uil-arrows-shrink-h:before { content: '\e855'; } /* '睢�' */ +.uil-arrows-shrink-v:before { content: '\e856'; } /* '睢�' */ +.uil-arrows-up-right:before { content: '\e857'; } /* '睢�' */ +.uil-arrows-v-alt:before { content: '\e858'; } /* '睢�' */ +.uil-arrows-v:before { content: '\e859'; } /* '睢�' */ +.uil-assistive-listening-systems:before { content: '\e85a'; } /* '睢�' */ +.uil-at:before { content: '\e85b'; } /* '睢�' */ +.uil-atm-card:before { content: '\e85c'; } /* '睢�' */ +.uil-atom:before { content: '\e85d'; } /* '睢�' */ +.uil-auto-flash:before { content: '\e85e'; } /* '睢�' */ +.uil-award-alt:before { content: '\e85f'; } /* '睢�' */ +.uil-award:before { content: '\e860'; } /* '睢�' */ +.uil-baby-carriage:before { content: '\e861'; } /* '睢�' */ +.uil-backpack:before { content: '\e862'; } /* '睢�' */ +.uil-backspace:before { content: '\e863'; } /* '睢�' */ +.uil-backward:before { content: '\e864'; } /* '睢�' */ +.uil-bag-alt:before { content: '\e865'; } /* '睢�' */ +.uil-bag-slash:before { content: '\e866'; } /* '睢�' */ +.uil-bag:before { content: '\e867'; } /* '睢�' */ +.uil-ball:before { content: '\e868'; } /* '睢�' */ +.uil-ban:before { content: '\e869'; } /* '睢�' */ +.uil-bars:before { content: '\e86a'; } /* '睢�' */ +.uil-basketball-hoop:before { content: '\e86b'; } /* '睢�' */ +.uil-basketball:before { content: '\e86c'; } /* '睢�' */ +.uil-battery-bolt:before { content: '\e86d'; } /* '睢�' */ +.uil-battery-empty:before { content: '\e86e'; } /* '睢�' */ +.uil-bed-double:before { content: '\e86f'; } /* '睢�' */ +.uil-bed:before { content: '\e870'; } /* '睢�' */ +.uil-behance:before { content: '\e871'; } /* '睢�' */ +.uil-bell-school:before { content: '\e872'; } /* '睢�' */ +.uil-bell-slash:before { content: '\e873'; } /* '睢�' */ +.uil-bell:before { content: '\e874'; } /* '睢�' */ +.uil-bill:before { content: '\e875'; } /* '睢�' */ +.uil-bitcoin-circle:before { content: '\e876'; } /* '睢�' */ +.uil-bitcoin:before { content: '\e877'; } /* '睢�' */ +.uil-black-berry:before { content: '\e878'; } /* '睢�' */ +.uil-bluetooth-b:before { content: '\e879'; } /* '睢�' */ +.uil-bold:before { content: '\e87a'; } /* '睢�' */ +.uil-bolt-alt:before { content: '\e87b'; } /* '睢�' */ +.uil-bolt-slash:before { content: '\e87c'; } /* '睢�' */ +.uil-bolt:before { content: '\e87d'; } /* '睢�' */ +.uil-book-alt:before { content: '\e87e'; } /* '睢�' */ +.uil-book-medical:before { content: '\e87f'; } /* '睢�' */ +.uil-book-open:before { content: '\e880'; } /* '睥€' */ +.uil-book-reader:before { content: '\e881'; } /* '睥�' */ +.uil-book:before { content: '\e882'; } /* '睥�' */ +.uil-bookmark-full:before { content: '\e883'; } /* '睥�' */ +.uil-bookmark:before { content: '\e884'; } /* '睥�' */ +.uil-books:before { content: '\e885'; } /* '睥�' */ +.uil-boombox:before { content: '\e886'; } /* '睥�' */ +.uil-border-alt:before { content: '\e887'; } /* '睥�' */ +.uil-border-bottom:before { content: '\e888'; } /* '睥�' */ +.uil-border-clear:before { content: '\e889'; } /* '睥�' */ +.uil-border-horizontal:before { content: '\e88a'; } /* '睥�' */ +.uil-border-inner:before { content: '\e88b'; } /* '睥�' */ +.uil-border-left:before { content: '\e88c'; } /* '睥�' */ +.uil-border-out:before { content: '\e88d'; } /* '睥�' */ +.uil-border-right:before { content: '\e88e'; } /* '睥�' */ +.uil-border-top:before { content: '\e88f'; } /* '睥�' */ +.uil-border-vertical:before { content: '\e890'; } /* '睥�' */ +.uil-box:before { content: '\e891'; } /* '睥�' */ +.uil-briefcase-alt:before { content: '\e892'; } /* '睥�' */ +.uil-briefcase:before { content: '\e893'; } /* '睥�' */ +.uil-bright:before { content: '\e894'; } /* '睥�' */ +.uil-brightness-empty:before { content: '\e895'; } /* '睥�' */ +.uil-brightness-half:before { content: '\e896'; } /* '睥�' */ +.uil-brightness-low:before { content: '\e897'; } /* '睥�' */ +.uil-brightness-minus:before { content: '\e898'; } /* '睥�' */ +.uil-brightness-plus:before { content: '\e899'; } /* '睥�' */ +.uil-brightness:before { content: '\e89a'; } /* '睥�' */ +.uil-bring-bottom:before { content: '\e89b'; } /* '睥�' */ +.uil-bring-front:before { content: '\e89c'; } /* '睥�' */ +.uil-brush-alt:before { content: '\e89d'; } /* '睥�' */ +.uil-bug:before { content: '\e89e'; } /* '睥�' */ +.uil-building:before { content: '\e89f'; } /* '睥�' */ +.uil-bullseye:before { content: '\e8a0'; } /* '睥�' */ +.uil-bus-alt:before { content: '\e8a1'; } /* '睥�' */ +.uil-bus-school:before { content: '\e8a2'; } /* '睥�' */ +.uil-bus:before { content: '\e8a3'; } /* '睥�' */ +.uil-calcualtor:before { content: '\e8a4'; } /* '睥�' */ +.uil-calculator-alt:before { content: '\e8a5'; } /* '睥�' */ +.uil-calendar-alt:before { content: '\e8a6'; } /* '睥�' */ +.uil-calendar-slash:before { content: '\e8a7'; } /* '睥�' */ +.uil-calender:before { content: '\e8a8'; } /* '睥�' */ +.uil-calling:before { content: '\e8a9'; } /* '睥�' */ +.uil-camera-change:before { content: '\e8aa'; } /* '睥�' */ +.uil-camera-plus:before { content: '\e8ab'; } /* '睥�' */ +.uil-camera-slash:before { content: '\e8ac'; } /* '睥�' */ +.uil-camera:before { content: '\e8ad'; } /* '睥�' */ +.uil-cancel:before { content: '\e8ae'; } /* '睥�' */ +.uil-capsule:before { content: '\e8af'; } /* '睥�' */ +.uil-capture:before { content: '\e8b0'; } /* '睥�' */ +.uil-car-sideview:before { content: '\e8b1'; } /* '睥�' */ +.uil-car-slash:before { content: '\e8b2'; } /* '睥�' */ +.uil-car-wash:before { content: '\e8b3'; } /* '睥�' */ +.uil-car:before { content: '\e8b4'; } /* '睥�' */ +.uil-card-atm:before { content: '\e8b5'; } /* '睥�' */ +.uil-caret-right:before { content: '\e8b6'; } /* '睥�' */ +.uil-cart:before { content: '\e8b7'; } /* '睥�' */ +.uil-cell:before { content: '\e8b8'; } /* '睥�' */ +.uil-celsius:before { content: '\e8b9'; } /* '睥�' */ +.uil-chart-bar-alt:before { content: '\e8ba'; } /* '睥�' */ +.uil-chart-bar:before { content: '\e8bb'; } /* '睥�' */ +.uil-chart-down:before { content: '\e8bc'; } /* '睥�' */ +.uil-chart-growth-alt:before { content: '\e8bd'; } /* '睥�' */ +.uil-chart-growth:before { content: '\e8be'; } /* '睥�' */ +.uil-chart-line:before { content: '\e8bf'; } /* '睥�' */ +.uil-chart-pie-alt:before { content: '\e8c0'; } /* '睿€' */ +.uil-chart-pie:before { content: '\e8c1'; } /* '睿�' */ +.uil-chart:before { content: '\e8c2'; } /* '睿�' */ +.uil-chat-bubble-user:before { content: '\e8c3'; } /* '睿�' */ +.uil-chat-info:before { content: '\e8c4'; } /* '睿�' */ +.uil-chat:before { content: '\e8c5'; } /* '睿�' */ +.uil-check-circle:before { content: '\e8c6'; } /* '睿�' */ +.uil-check-square:before { content: '\e8c7'; } /* '睿�' */ +.uil-check:before { content: '\e8c8'; } /* '睿�' */ +.uil-circle-layer:before { content: '\e8c9'; } /* '睿�' */ +.uil-circle:before { content: '\e8ca'; } /* '睿�' */ +.uil-circuit:before { content: '\e8cb'; } /* '睿�' */ +.uil-clapper-board:before { content: '\e8cc'; } /* '睿�' */ +.uil-clipboard-alt:before { content: '\e8cd'; } /* '睿�' */ +.uil-clipboard-blank:before { content: '\e8ce'; } /* '睿�' */ +.uil-clipboard-notes:before { content: '\e8cf'; } /* '睿�' */ +.uil-clipboard:before { content: '\e8d0'; } /* '睿�' */ +.uil-clock-eight:before { content: '\e8d1'; } /* '睿�' */ +.uil-clock-five:before { content: '\e8d2'; } /* '睿�' */ +.uil-clock-nine:before { content: '\e8d3'; } /* '睿�' */ +.uil-clock-seven:before { content: '\e8d4'; } /* '睿�' */ +.uil-clock-ten:before { content: '\e8d5'; } /* '睿�' */ +.uil-clock-three:before { content: '\e8d6'; } /* '睿�' */ +.uil-clock-two:before { content: '\e8d7'; } /* '睿�' */ +.uil-clock:before { content: '\e8d8'; } /* '睿�' */ +.uil-closed-captioning:before { content: '\e8d9'; } /* '睿�' */ +.uil-cloud-block:before { content: '\e8da'; } /* '睿�' */ +.uil-cloud-bookmark:before { content: '\e8db'; } /* '睿�' */ +.uil-cloud-check:before { content: '\e8dc'; } /* '睿�' */ +.uil-cloud-computing:before { content: '\e8dd'; } /* '睿�' */ +.uil-cloud-data-connection:before { content: '\e8de'; } /* '睿�' */ +.uil-cloud-database-tree:before { content: '\e8df'; } /* '睿�' */ +.uil-cloud-download:before { content: '\e8e0'; } /* '睿�' */ +.uil-cloud-drizzle:before { content: '\e8e1'; } /* '睿�' */ +.uil-cloud-exclamation:before { content: '\e8e2'; } /* '睿�' */ +.uil-cloud-hail:before { content: '\e8e3'; } /* '睿�' */ +.uil-cloud-heart:before { content: '\e8e4'; } /* '睿�' */ +.uil-cloud-info:before { content: '\e8e5'; } /* '睿�' */ +.uil-cloud-lock:before { content: '\e8e6'; } /* '睿�' */ +.uil-cloud-meatball:before { content: '\e8e7'; } /* '睿�' */ +.uil-cloud-moon-hail:before { content: '\e8e8'; } /* '睿�' */ +.uil-cloud-moon-meatball:before { content: '\e8e9'; } /* '睿�' */ +.uil-cloud-moon-rain:before { content: '\e8ea'; } /* '睿�' */ +.uil-cloud-moon-showers:before { content: '\e8eb'; } /* '睿�' */ +.uil-cloud-moon:before { content: '\e8ec'; } /* '睿�' */ +.uil-cloud-question:before { content: '\e8ed'; } /* '睿�' */ +.uil-cloud-rain-sun:before { content: '\e8ee'; } /* '睿�' */ +.uil-cloud-rain:before { content: '\e8ef'; } /* '睿�' */ +.uil-cloud-redo:before { content: '\e8f0'; } /* '睿�' */ +.uil-cloud-set:before { content: '\e8f1'; } /* '睿�' */ +.uil-cloud-share:before { content: '\e8f2'; } /* '睿�' */ +.uil-cloud-shield:before { content: '\e8f3'; } /* '睿�' */ +.uil-cloud-showers-alt:before { content: '\e8f4'; } /* '睿�' */ +.uil-cloud-showers-heavy:before { content: '\e8f5'; } /* '睿�' */ +.uil-cloud-showers:before { content: '\e8f6'; } /* '睿�' */ +.uil-cloud-slash:before { content: '\e8f7'; } /* '睿�' */ +.uil-cloud-sun-hail:before { content: '\e8f8'; } /* '睿�' */ +.uil-cloud-sun-meatball:before { content: '\e8f9'; } /* '睿�' */ +.uil-cloud-sun-rain-alt:before { content: '\e8fa'; } /* '睿�' */ +.uil-cloud-sun-rain:before { content: '\e8fb'; } /* '睿�' */ +.uil-cloud-sun-tear:before { content: '\e8fc'; } /* '睿�' */ +.uil-cloud-sun:before { content: '\e8fd'; } /* '睿�' */ +.uil-cloud-times:before { content: '\e8fe'; } /* '睿�' */ +.uil-cloud-unlock:before { content: '\e8ff'; } /* '睿�' */ +.uil-cloud-upload:before { content: '\e900'; } /* '瞍€' */ +.uil-cloud-wifi:before { content: '\e901'; } /* '瞍�' */ +.uil-cloud-wind:before { content: '\e902'; } /* '瞍�' */ +.uil-cloud:before { content: '\e903'; } /* '瞍�' */ +.uil-clouds:before { content: '\e904'; } /* '瞍�' */ +.uil-club:before { content: '\e905'; } /* '瞍�' */ +.uil-code:before { content: '\e906'; } /* '瞍�' */ +.uil-coffee:before { content: '\e907'; } /* '瞍�' */ +.uil-cog:before { content: '\e908'; } /* '瞍�' */ +.uil-coins:before { content: '\e909'; } /* '瞍�' */ +.uil-columns:before { content: '\e90a'; } /* '瞍�' */ +.uil-comment-alt-block:before { content: '\e90b'; } /* '瞍�' */ +.uil-comment-alt-chart-lines:before { content: '\e90c'; } /* '瞍�' */ +.uil-comment-alt-check:before { content: '\e90d'; } /* '瞍�' */ +.uil-comment-alt-dots:before { content: '\e90e'; } /* '瞍�' */ +.uil-comment-alt-download:before { content: '\e90f'; } /* '瞍�' */ +.uil-comment-alt-edit:before { content: '\e910'; } /* '瞍�' */ +.uil-comment-alt-exclamation:before { content: '\e911'; } /* '瞍�' */ +.uil-comment-alt-heart:before { content: '\e912'; } /* '瞍�' */ +.uil-comment-alt-image:before { content: '\e913'; } /* '瞍�' */ +.uil-comment-alt-info:before { content: '\e914'; } /* '瞍�' */ +.uil-comment-alt-lines:before { content: '\e915'; } /* '瞍�' */ +.uil-comment-alt-lock:before { content: '\e916'; } /* '瞍�' */ +.uil-comment-alt-medical:before { content: '\e917'; } /* '瞍�' */ +.uil-comment-alt-message:before { content: '\e918'; } /* '瞍�' */ +.uil-comment-alt-notes:before { content: '\e919'; } /* '瞍�' */ +.uil-comment-alt-plus:before { content: '\e91a'; } /* '瞍�' */ +.uil-comment-alt-question:before { content: '\e91b'; } /* '瞍�' */ +.uil-comment-alt-redo:before { content: '\e91c'; } /* '瞍�' */ +.uil-comment-alt-search:before { content: '\e91d'; } /* '瞍�' */ +.uil-comment-alt-share:before { content: '\e91e'; } /* '瞍�' */ +.uil-comment-alt-shield:before { content: '\e91f'; } /* '瞍�' */ +.uil-comment-alt-slash:before { content: '\e920'; } /* '瞍�' */ +.uil-comment-alt-upload:before { content: '\e921'; } /* '瞍�' */ +.uil-comment-alt-verify:before { content: '\e922'; } /* '瞍�' */ +.uil-comment-alt:before { content: '\e923'; } /* '瞍�' */ +.uil-comment-block:before { content: '\e924'; } /* '瞍�' */ +.uil-comment-chart-line:before { content: '\e925'; } /* '瞍�' */ +.uil-comment-check:before { content: '\e926'; } /* '瞍�' */ +.uil-comment-dots:before { content: '\e927'; } /* '瞍�' */ +.uil-comment-download:before { content: '\e928'; } /* '瞍�' */ +.uil-comment-edit:before { content: '\e929'; } /* '瞍�' */ +.uil-comment-exclamation:before { content: '\e92a'; } /* '瞍�' */ +.uil-comment-heart:before { content: '\e92b'; } /* '瞍�' */ +.uil-comment-image:before { content: '\e92c'; } /* '瞍�' */ +.uil-comment-info-alt:before { content: '\e92d'; } /* '瞍�' */ +.uil-comment-info:before { content: '\e92e'; } /* '瞍�' */ +.uil-comment-lines:before { content: '\e92f'; } /* '瞍�' */ +.uil-comment-lock:before { content: '\e930'; } /* '瞍�' */ +.uil-comment-medical:before { content: '\e931'; } /* '瞍�' */ +.uil-comment-message:before { content: '\e932'; } /* '瞍�' */ +.uil-comment-notes:before { content: '\e933'; } /* '瞍�' */ +.uil-comment-plus:before { content: '\e934'; } /* '瞍�' */ +.uil-comment-question:before { content: '\e935'; } /* '瞍�' */ +.uil-comment-redo:before { content: '\e936'; } /* '瞍�' */ +.uil-comment-search:before { content: '\e937'; } /* '瞍�' */ +.uil-comment-share:before { content: '\e938'; } /* '瞍�' */ +.uil-comment-shield:before { content: '\e939'; } /* '瞍�' */ +.uil-comment-slash:before { content: '\e93a'; } /* '瞍�' */ +.uil-comment-upload:before { content: '\e93b'; } /* '瞍�' */ +.uil-comment-verify:before { content: '\e93c'; } /* '瞍�' */ +.uil-comment:before { content: '\e93d'; } /* '瞍�' */ +.uil-comments-alt:before { content: '\e93e'; } /* '瞍�' */ +.uil-comments:before { content: '\e93f'; } /* '瞍�' */ +.uil-commnet-alt-slash:before { content: '\e940'; } /* '睽€' */ +.uil-compact-disc:before { content: '\e941'; } /* '睽�' */ +.uil-compass:before { content: '\e942'; } /* '睽�' */ +.uil-compress-alt-left:before { content: '\e943'; } /* '睽�' */ +.uil-compress-alt:before { content: '\e944'; } /* '睽�' */ +.uil-compress-arrows:before { content: '\e945'; } /* '睽�' */ +.uil-compress-lines:before { content: '\e946'; } /* '睽�' */ +.uil-compress-point:before { content: '\e947'; } /* '睽�' */ +.uil-compress-v:before { content: '\e948'; } /* '睽�' */ +.uil-compress:before { content: '\e949'; } /* '睽�' */ +.uil-computer-mouse:before { content: '\e94a'; } /* '睽�' */ +.uil-confused:before { content: '\e94b'; } /* '睽�' */ +.uil-constructor:before { content: '\e94c'; } /* '睽�' */ +.uil-copy-alt:before { content: '\e94d'; } /* '睽�' */ +.uil-copy-landscape:before { content: '\e94e'; } /* '睽�' */ +.uil-copy:before { content: '\e94f'; } /* '睽�' */ +.uil-copyright:before { content: '\e950'; } /* '睽�' */ +.uil-corner-down-left:before { content: '\e951'; } /* '睽�' */ +.uil-corner-down-right-alt:before { content: '\e952'; } /* '睽�' */ +.uil-corner-down-right:before { content: '\e953'; } /* '睽�' */ +.uil-corner-left-down:before { content: '\e954'; } /* '睽�' */ +.uil-corner-right-down:before { content: '\e955'; } /* '睽�' */ +.uil-corner-up-left-alt:before { content: '\e956'; } /* '睽�' */ +.uil-corner-up-left:before { content: '\e957'; } /* '睽�' */ +.uil-corner-up-right-alt:before { content: '\e958'; } /* '睽�' */ +.uil-corner-up-right:before { content: '\e959'; } /* '睽�' */ +.uil-creative-commons-pd-alt:before { content: '\e95a'; } /* '睽�' */ +.uil-creative-commons-pd:before { content: '\e95b'; } /* '睽�' */ +.uil-crockery:before { content: '\e95c'; } /* '睽�' */ +.uil-crop-alt-rotate-left:before { content: '\e95d'; } /* '睽�' */ +.uil-crop-alt-rotate-right:before { content: '\e95e'; } /* '睽�' */ +.uil-crop-alt:before { content: '\e95f'; } /* '睽�' */ +.uil-crosshair-alt:before { content: '\e960'; } /* '睽�' */ +.uil-crosshair:before { content: '\e961'; } /* '睽�' */ +.uil-crosshairs:before { content: '\e962'; } /* '睽�' */ +.uil-cube:before { content: '\e963'; } /* '睽�' */ +.uil-data-sharing:before { content: '\e964'; } /* '睽�' */ +.uil-database-alt:before { content: '\e965'; } /* '睽�' */ +.uil-database:before { content: '\e966'; } /* '睽�' */ +.uil-desert:before { content: '\e967'; } /* '睽�' */ +.uil-desktop-alt-slash:before { content: '\e968'; } /* '睽�' */ +.uil-desktop-alt:before { content: '\e969'; } /* '睽�' */ +.uil-desktop-cloud-alt:before { content: '\e96a'; } /* '睽�' */ +.uil-desktop-slash:before { content: '\e96b'; } /* '睽�' */ +.uil-desktop:before { content: '\e96c'; } /* '睽�' */ +.uil-dialpad-alt:before { content: '\e96d'; } /* '睽�' */ +.uil-dialpad:before { content: '\e96e'; } /* '睽�' */ +.uil-diamond:before { content: '\e96f'; } /* '睽�' */ +.uil-diary-alt:before { content: '\e970'; } /* '睽�' */ +.uil-diary:before { content: '\e971'; } /* '睽�' */ +.uil-dice-five:before { content: '\e972'; } /* '睽�' */ +.uil-dice-four:before { content: '\e973'; } /* '睽�' */ +.uil-dice-one:before { content: '\e974'; } /* '睽�' */ +.uil-dice-six:before { content: '\e975'; } /* '睽�' */ +.uil-dice-three:before { content: '\e976'; } /* '睽�' */ +.uil-dice-two:before { content: '\e977'; } /* '睽�' */ +.uil-direction:before { content: '\e978'; } /* '睽�' */ +.uil-directions:before { content: '\e979'; } /* '睽�' */ +.uil-dizzy-meh:before { content: '\e97a'; } /* '睽�' */ +.uil-dna:before { content: '\e97b'; } /* '睽�' */ +.uil-document-layout-center:before { content: '\e97c'; } /* '睽�' */ +.uil-document-layout-left:before { content: '\e97d'; } /* '睽�' */ +.uil-document-layout-right:before { content: '\e97e'; } /* '睽�' */ +.uil-document:before { content: '\e97f'; } /* '睽�' */ +.uil-dollar-alt:before { content: '\e980'; } /* '瞀€' */ +.uil-dollar-sign-alt:before { content: '\e981'; } /* '瞀�' */ +.uil-dollar-sign:before { content: '\e982'; } /* '瞀�' */ +.uil-down-arrow:before { content: '\e983'; } /* '瞀�' */ +.uil-download-alt:before { content: '\e984'; } /* '瞀�' */ +.uil-dribbble:before { content: '\e985'; } /* '瞀�' */ +.uil-drill:before { content: '\e986'; } /* '瞀�' */ +.uil-dropbox:before { content: '\e987'; } /* '瞀�' */ +.uil-dumbbell:before { content: '\e988'; } /* '瞀�' */ +.uil-edit-alt:before { content: '\e98a'; } /* '瞀�' */ +.uil-edit:before { content: '\e98b'; } /* '瞀�' */ +.uil-ellipsis-h:before { content: '\e98c'; } /* '瞀�' */ +.uil-ellipsis-v:before { content: '\e98d'; } /* '瞀�' */ +.uil-emoji:before { content: '\e98e'; } /* '瞀�' */ +.uil-enter:before { content: '\e98f'; } /* '瞀�' */ +.uil-entry:before { content: '\e990'; } /* '瞀�' */ +.uil-envelope-add:before { content: '\e991'; } /* '瞀�' */ +.uil-envelope-alt:before { content: '\e992'; } /* '瞀�' */ +.uil-envelope-block:before { content: '\e993'; } /* '瞀�' */ +.uil-envelope-bookmark:before { content: '\e994'; } /* '瞀�' */ +.uil-envelope-check:before { content: '\e995'; } /* '瞀�' */ +.uil-envelope-download-alt:before { content: '\e996'; } /* '瞀�' */ +.uil-envelope-download:before { content: '\e997'; } /* '瞀�' */ +.uil-envelope-edit:before { content: '\e998'; } /* '瞀�' */ +.uil-envelope-exclamation:before { content: '\e999'; } /* '瞀�' */ +.uil-envelope-heart:before { content: '\e99a'; } /* '瞀�' */ +.uil-envelope-info:before { content: '\e99b'; } /* '瞀�' */ +.uil-envelope-lock:before { content: '\e99c'; } /* '瞀�' */ +.uil-envelope-minus:before { content: '\e99d'; } /* '瞀�' */ +.uil-envelope-open:before { content: '\e99e'; } /* '瞀�' */ +.uil-envelope-question:before { content: '\e99f'; } /* '瞀�' */ +.uil-envelope-receive:before { content: '\e9a0'; } /* '瞀�' */ +.uil-envelope-redo:before { content: '\e9a1'; } /* '瞀�' */ +.uil-envelope-search:before { content: '\e9a2'; } /* '瞀�' */ +.uil-envelope-send:before { content: '\e9a3'; } /* '瞀�' */ +.uil-envelope-share:before { content: '\e9a4'; } /* '瞀�' */ +.uil-envelope-shield:before { content: '\e9a5'; } /* '瞀�' */ +.uil-envelope-star:before { content: '\e9a6'; } /* '瞀�' */ +.uil-envelope-times:before { content: '\e9a7'; } /* '瞀�' */ +.uil-envelope-upload-alt:before { content: '\e9a8'; } /* '瞀�' */ +.uil-envelope-upload:before { content: '\e9a9'; } /* '瞀�' */ +.uil-envelope:before { content: '\e9aa'; } /* '瞀�' */ +.uil-envelopes:before { content: '\e9ab'; } /* '瞀�' */ +.uil-equal-circle:before { content: '\e9ac'; } /* '瞀�' */ +.uil-euro-circle:before { content: '\e9ad'; } /* '瞀�' */ +.uil-euro:before { content: '\e9ae'; } /* '瞀�' */ +.uil-exchange-alt:before { content: '\e9af'; } /* '瞀�' */ +.uil-exchange:before { content: '\e9b0'; } /* '瞀�' */ +.uil-exclamation-circle:before { content: '\e9b1'; } /* '瞀�' */ +.uil-exclamation-octagon:before { content: '\e9b2'; } /* '瞀�' */ +.uil-exclamation-triangle:before { content: '\e9b3'; } /* '瞀�' */ +.uil-exclude:before { content: '\e9b4'; } /* '瞀�' */ +.uil-exit:before { content: '\e9b5'; } /* '瞀�' */ +.uil-expand-alt:before { content: '\e9b6'; } /* '瞀�' */ +.uil-expand-arrows-alt:before { content: '\e9b7'; } /* '瞀�' */ +.uil-expand-arrows:before { content: '\e9b8'; } /* '瞀�' */ +.uil-expand-from-corner:before { content: '\e9b9'; } /* '瞀�' */ +.uil-expand-left:before { content: '\e9ba'; } /* '瞀�' */ +.uil-expand-right:before { content: '\e9bb'; } /* '瞀�' */ +.uil-export:before { content: '\e9bc'; } /* '瞀�' */ +.uil-exposure-alt:before { content: '\e9bd'; } /* '瞀�' */ +.uil-exposure-increase:before { content: '\e9be'; } /* '瞀�' */ +.uil-external-link-alt:before { content: '\e9bf'; } /* '瞀�' */ +.uil-eye-slash:before { content: '\e9c0'; } /* '瞌€' */ +.uil-eye:before { content: '\e9c1'; } /* '瞌�' */ +.uil-facebook-f:before { content: '\e9c2'; } /* '瞌�' */ +.uil-facebook-messenger:before { content: '\e9c3'; } /* '瞌�' */ +.uil-facebook:before { content: '\e9c4'; } /* '瞌�' */ +.uil-fahrenheit:before { content: '\e9c5'; } /* '瞌�' */ +.uil-fast-mail-alt:before { content: '\e9c6'; } /* '瞌�' */ +.uil-fast-mail:before { content: '\e9c7'; } /* '瞌�' */ +.uil-favorite:before { content: '\e9c8'; } /* '瞌�' */ +.uil-feedback:before { content: '\e9c9'; } /* '瞌�' */ +.uil-file-alt:before { content: '\e9ca'; } /* '瞌�' */ +.uil-file-blank:before { content: '\e9cb'; } /* '瞌�' */ +.uil-file-block-alt:before { content: '\e9cc'; } /* '瞌�' */ +.uil-file-bookmark-alt:before { content: '\e9cd'; } /* '瞌�' */ +.uil-file-check-alt:before { content: '\e9ce'; } /* '瞌�' */ +.uil-file-check:before { content: '\e9cf'; } /* '瞌�' */ +.uil-file-contract-dollar:before { content: '\e9d0'; } /* '瞌�' */ +.uil-file-copy-alt:before { content: '\e9d1'; } /* '瞌�' */ +.uil-file-download-alt:before { content: '\e9d2'; } /* '瞌�' */ +.uil-file-download:before { content: '\e9d3'; } /* '瞌�' */ +.uil-file-edit-alt:before { content: '\e9d4'; } /* '瞌�' */ +.uil-file-exclamation-alt:before { content: '\e9d5'; } /* '瞌�' */ +.uil-file-exclamation:before { content: '\e9d6'; } /* '瞌�' */ +.uil-file-heart:before { content: '\e9d7'; } /* '瞌�' */ +.uil-file-info-alt:before { content: '\e9d8'; } /* '瞌�' */ +.uil-file-landscape-alt:before { content: '\e9d9'; } /* '瞌�' */ +.uil-file-landscape:before { content: '\e9da'; } /* '瞌�' */ +.uil-file-lanscape-slash:before { content: '\e9db'; } /* '瞌�' */ +.uil-file-lock-alt:before { content: '\e9dc'; } /* '瞌�' */ +.uil-file-medical-alt:before { content: '\e9dd'; } /* '瞌�' */ +.uil-file-medical:before { content: '\e9de'; } /* '瞌�' */ +.uil-file-minus-alt:before { content: '\e9df'; } /* '瞌�' */ +.uil-file-minus:before { content: '\e9e0'; } /* '瞌�' */ +.uil-file-network:before { content: '\e9e1'; } /* '瞌�' */ +.uil-file-plus-alt:before { content: '\e9e2'; } /* '瞌�' */ +.uil-file-plus:before { content: '\e9e3'; } /* '瞌�' */ +.uil-file-question-alt:before { content: '\e9e4'; } /* '瞌�' */ +.uil-file-question:before { content: '\e9e5'; } /* '瞌�' */ +.uil-file-redo-alt:before { content: '\e9e6'; } /* '瞌�' */ +.uil-file-search-alt:before { content: '\e9e7'; } /* '瞌�' */ +.uil-file-share-alt:before { content: '\e9e8'; } /* '瞌�' */ +.uil-file-shield-alt:before { content: '\e9e9'; } /* '瞌�' */ +.uil-file-slash:before { content: '\e9ea'; } /* '瞌�' */ +.uil-file-times-alt:before { content: '\e9eb'; } /* '瞌�' */ +.uil-file-times:before { content: '\e9ec'; } /* '瞌�' */ +.uil-file-upload-alt:before { content: '\e9ed'; } /* '瞌�' */ +.uil-file-upload:before { content: '\e9ee'; } /* '瞌�' */ +.uil-file:before { content: '\e9ef'; } /* '瞌�' */ +.uil-files-landscapes-alt:before { content: '\e9f0'; } /* '瞌�' */ +.uil-files-landscapes:before { content: '\e9f1'; } /* '瞌�' */ +.uil-film:before { content: '\e9f2'; } /* '瞌�' */ +.uil-filter-slash:before { content: '\e9f3'; } /* '瞌�' */ +.uil-filter:before { content: '\e9f4'; } /* '瞌�' */ +.uil-flask-potion:before { content: '\e9f5'; } /* '瞌�' */ +.uil-flask:before { content: '\e9f6'; } /* '瞌�' */ +.uil-flip-h-alt:before { content: '\e9f7'; } /* '瞌�' */ +.uil-flip-h:before { content: '\e9f8'; } /* '瞌�' */ +.uil-flip-v-alt:before { content: '\e9f9'; } /* '瞌�' */ +.uil-flip-v:before { content: '\e9fa'; } /* '瞌�' */ +.uil-flower:before { content: '\e9fb'; } /* '瞌�' */ +.uil-focus-add:before { content: '\e9fc'; } /* '瞌�' */ +.uil-focus-target:before { content: '\e9fd'; } /* '瞌�' */ +.uil-focus:before { content: '\e9fe'; } /* '瞌�' */ +.uil-folder-check:before { content: '\e9ff'; } /* '瞌�' */ +.uil-folder-download:before { content: '\ea00'; } /* '瞑€' */ +.uil-folder-exclamation:before { content: '\ea01'; } /* '瞑�' */ +.uil-folder-heart:before { content: '\ea02'; } /* '瞑�' */ +.uil-folder-info:before { content: '\ea03'; } /* '瞑�' */ +.uil-folder-lock:before { content: '\ea04'; } /* '瞑�' */ +.uil-folder-medical:before { content: '\ea05'; } /* '瞑�' */ +.uil-folder-minus:before { content: '\ea06'; } /* '瞑�' */ +.uil-folder-network:before { content: '\ea07'; } /* '瞑�' */ +.uil-folder-plus:before { content: '\ea08'; } /* '瞑�' */ +.uil-folder-question:before { content: '\ea09'; } /* '瞑�' */ +.uil-folder-slash:before { content: '\ea0a'; } /* '瞑�' */ +.uil-folder-times:before { content: '\ea0b'; } /* '瞑�' */ +.uil-folder-upload:before { content: '\ea0c'; } /* '瞑�' */ +.uil-folder:before { content: '\ea0d'; } /* '瞑�' */ +.uil-food:before { content: '\ea0e'; } /* '瞑�' */ +.uil-football-american:before { content: '\ea0f'; } /* '瞑�' */ +.uil-football-ball:before { content: '\ea10'; } /* '瞑�' */ +.uil-football:before { content: '\ea11'; } /* '瞑�' */ +.uil-forecastcloud-moon-tear:before { content: '\ea12'; } /* '瞑�' */ +.uil-forwaded-call:before { content: '\ea13'; } /* '瞑�' */ +.uil-forward:before { content: '\ea14'; } /* '瞑�' */ +.uil-frown:before { content: '\ea15'; } /* '瞑�' */ +.uil-game-structure:before { content: '\ea16'; } /* '瞑�' */ +.uil-game:before { content: '\ea17'; } /* '瞑�' */ +.uil-gift:before { content: '\ea18'; } /* '瞑�' */ +.uil-glass-martini-alt-slash:before { content: '\ea19'; } /* '瞑�' */ +.uil-glass-martini-alt:before { content: '\ea1a'; } /* '瞑�' */ +.uil-glass-martini:before { content: '\ea1b'; } /* '瞑�' */ +.uil-glass-tea:before { content: '\ea1c'; } /* '瞑�' */ +.uil-glass:before { content: '\ea1d'; } /* '瞑�' */ +.uil-globe:before { content: '\ea1e'; } /* '瞑�' */ +.uil-gold:before { content: '\ea1f'; } /* '瞑�' */ +.uil-google-drive:before { content: '\ea20'; } /* '瞑�' */ +.uil-graduation-hat:before { content: '\ea21'; } /* '瞑�' */ +.uil-graph-bar:before { content: '\ea22'; } /* '瞑�' */ +.uil-grid:before { content: '\ea23'; } /* '瞑�' */ +.uil-grids:before { content: '\ea24'; } /* '瞑�' */ +.uil-grin-tongue-wink-alt:before { content: '\ea25'; } /* '瞑�' */ +.uil-grin-tongue-wink:before { content: '\ea26'; } /* '瞑�' */ +.uil-grin:before { content: '\ea27'; } /* '瞑�' */ +.uil-grip-horizontal-line:before { content: '\ea28'; } /* '瞑�' */ +.uil-hdd:before { content: '\ea29'; } /* '瞑�' */ +.uil-headphones-alt:before { content: '\ea2a'; } /* '瞑�' */ +.uil-headphones:before { content: '\ea2b'; } /* '瞑�' */ +.uil-heart-alt:before { content: '\ea2c'; } /* '瞑�' */ +.uil-heart-medical:before { content: '\ea2d'; } /* '瞑�' */ +.uil-heart-rate:before { content: '\ea2e'; } /* '瞑�' */ +.uil-heart-sign:before { content: '\ea2f'; } /* '瞑�' */ +.uil-heart:before { content: '\ea30'; } /* '瞑�' */ +.uil-heartbeat:before { content: '\ea31'; } /* '瞑�' */ +.uil-history-alt:before { content: '\ea32'; } /* '瞑�' */ +.uil-history:before { content: '\ea33'; } /* '瞑�' */ +.uil-home-alt:before { content: '\ea34'; } /* '瞑�' */ +.uil-home:before { content: '\ea35'; } /* '瞑�' */ +.uil-horizontal-align-center:before { content: '\ea36'; } /* '瞑�' */ +.uil-horizontal-align-left:before { content: '\ea37'; } /* '瞑�' */ +.uil-horizontal-align-right:before { content: '\ea38'; } /* '瞑�' */ +.uil-horizontal-distribution-center:before { content: '\ea39'; } /* '瞑�' */ +.uil-horizontal-distribution-left:before { content: '\ea3a'; } /* '瞑�' */ +.uil-horizontal-distribution-right:before { content: '\ea3b'; } /* '瞑�' */ +.uil-hunting:before { content: '\ea3c'; } /* '瞑�' */ +.uil-image-alt-slash:before { content: '\ea3d'; } /* '瞑�' */ +.uil-image-block:before { content: '\ea3e'; } /* '瞑�' */ +.uil-image-broken:before { content: '\ea3f'; } /* '瞑�' */ +.uil-image-check:before { content: '\ea40'; } /* '瞟€' */ +.uil-image-download:before { content: '\ea41'; } /* '瞟�' */ +.uil-image-edit:before { content: '\ea42'; } /* '瞟�' */ +.uil-image-lock:before { content: '\ea43'; } /* '瞟�' */ +.uil-image-minus:before { content: '\ea44'; } /* '瞟�' */ +.uil-image-plus:before { content: '\ea45'; } /* '瞟�' */ +.uil-image-question:before { content: '\ea46'; } /* '瞟�' */ +.uil-image-redo:before { content: '\ea47'; } /* '瞟�' */ +.uil-image-resize-landscape:before { content: '\ea48'; } /* '瞟�' */ +.uil-image-resize-square:before { content: '\ea49'; } /* '瞟�' */ +.uil-image-search:before { content: '\ea4a'; } /* '瞟�' */ +.uil-image-share:before { content: '\ea4b'; } /* '瞟�' */ +.uil-image-shield:before { content: '\ea4c'; } /* '瞟�' */ +.uil-image-slash:before { content: '\ea4d'; } /* '瞟�' */ +.uil-image-times:before { content: '\ea4e'; } /* '瞟�' */ +.uil-image-upload:before { content: '\ea4f'; } /* '瞟�' */ +.uil-image-v:before { content: '\ea50'; } /* '瞟�' */ +.uil-image:before { content: '\ea51'; } /* '瞟�' */ +.uil-images:before { content: '\ea52'; } /* '瞟�' */ +.uil-incoming-call:before { content: '\ea53'; } /* '瞟�' */ +.uil-info-circle:before { content: '\ea54'; } /* '瞟�' */ +.uil-instagram-alt:before { content: '\ea55'; } /* '瞟�' */ +.uil-instagram:before { content: '\ea56'; } /* '瞟�' */ +.uil-intercom:before { content: '\ea57'; } /* '瞟�' */ +.uil-invoice:before { content: '\ea58'; } /* '瞟�' */ +.uil-italic:before { content: '\ea59'; } /* '瞟�' */ +.uil-jackhammer:before { content: '\ea5a'; } /* '瞟�' */ +.uil-kayak:before { content: '\ea5b'; } /* '瞟�' */ +.uil-key-skeleton-alt:before { content: '\ea5c'; } /* '瞟�' */ +.uil-key-skeleton:before { content: '\ea5d'; } /* '瞟�' */ +.uil-keyboard-alt:before { content: '\ea5e'; } /* '瞟�' */ +.uil-keyboard-hide:before { content: '\ea5f'; } /* '瞟�' */ +.uil-keyboard-show:before { content: '\ea60'; } /* '瞟�' */ +.uil-keyboard:before { content: '\ea61'; } /* '瞟�' */ +.uil-keyhole-circle:before { content: '\ea62'; } /* '瞟�' */ +.uil-keyhole-square-full:before { content: '\ea63'; } /* '瞟�' */ +.uil-keyhole-square:before { content: '\ea64'; } /* '瞟�' */ +.uil-kid:before { content: '\ea65'; } /* '瞟�' */ +.uil-label-alt:before { content: '\ea66'; } /* '瞟�' */ +.uil-label:before { content: '\ea67'; } /* '瞟�' */ +.uil-lamp:before { content: '\ea68'; } /* '瞟�' */ +.uil-laptop-cloud:before { content: '\ea69'; } /* '瞟�' */ +.uil-laptop:before { content: '\ea6a'; } /* '瞟�' */ +.uil-laughing:before { content: '\ea6b'; } /* '瞟�' */ +.uil-layer-group-slash:before { content: '\ea6c'; } /* '瞟�' */ +.uil-layer-group:before { content: '\ea6d'; } /* '瞟�' */ +.uil-layers-alt:before { content: '\ea6e'; } /* '瞟�' */ +.uil-layers-slash:before { content: '\ea6f'; } /* '瞟�' */ +.uil-layers:before { content: '\ea70'; } /* '瞟�' */ +.uil-left-arrow-from-left:before { content: '\ea71'; } /* '瞟�' */ +.uil-left-arrow-to-left:before { content: '\ea72'; } /* '瞟�' */ +.uil-left-indent-alt:before { content: '\ea73'; } /* '瞟�' */ +.uil-left-indent:before { content: '\ea74'; } /* '瞟�' */ +.uil-left-to-right-text-direction:before { content: '\ea75'; } /* '瞟�' */ +.uil-life-ring:before { content: '\ea76'; } /* '瞟�' */ +.uil-lightbulb-alt:before { content: '\ea77'; } /* '瞟�' */ +.uil-lightbulb:before { content: '\ea78'; } /* '瞟�' */ +.uil-line-alt:before { content: '\ea79'; } /* '瞟�' */ +.uil-line-spacing:before { content: '\ea7a'; } /* '瞟�' */ +.uil-line:before { content: '\ea7b'; } /* '瞟�' */ +.uil-link-alt:before { content: '\ea7c'; } /* '瞟�' */ +.uil-link-broken:before { content: '\ea7d'; } /* '瞟�' */ +.uil-link-h:before { content: '\ea7e'; } /* '瞟�' */ +.uil-link:before { content: '\ea7f'; } /* '瞟�' */ +.uil-linkedin:before { content: '\ea80'; } /* '瞠€' */ +.uil-list-ui-alt:before { content: '\ea81'; } /* '瞠�' */ +.uil-list-ul:before { content: '\ea82'; } /* '瞠�' */ +.uil-location-arrow-alt:before { content: '\ea83'; } /* '瞠�' */ +.uil-location-arrow:before { content: '\ea84'; } /* '瞠�' */ +.uil-location-pin-alt:before { content: '\ea85'; } /* '瞠�' */ +.uil-location-point:before { content: '\ea86'; } /* '瞠�' */ +.uil-location:before { content: '\ea87'; } /* '瞠�' */ +.uil-lock-access:before { content: '\ea88'; } /* '瞠�' */ +.uil-lock-alt:before { content: '\ea89'; } /* '瞠�' */ +.uil-lock-open-alt:before { content: '\ea8a'; } /* '瞠�' */ +.uil-lock-slash:before { content: '\ea8b'; } /* '瞠�' */ +.uil-lock:before { content: '\ea8c'; } /* '瞠�' */ +.uil-mailbox-alt:before { content: '\ea8d'; } /* '瞠�' */ +.uil-mailbox:before { content: '\ea8e'; } /* '瞠�' */ +.uil-map-marker-alt:before { content: '\ea8f'; } /* '瞠�' */ +.uil-map-marker-edit:before { content: '\ea90'; } /* '瞠�' */ +.uil-map-marker-info:before { content: '\ea91'; } /* '瞠�' */ +.uil-map-marker-minus:before { content: '\ea92'; } /* '瞠�' */ +.uil-map-marker-plus:before { content: '\ea93'; } /* '瞠�' */ +.uil-map-marker-question:before { content: '\ea94'; } /* '瞠�' */ +.uil-map-marker-shield:before { content: '\ea95'; } /* '瞠�' */ +.uil-map-marker-slash:before { content: '\ea96'; } /* '瞠�' */ +.uil-map-marker:before { content: '\ea97'; } /* '瞠�' */ +.uil-map-pin-alt:before { content: '\ea98'; } /* '瞠�' */ +.uil-map-pin:before { content: '\ea99'; } /* '瞠�' */ +.uil-map:before { content: '\ea9a'; } /* '瞠�' */ +.uil-mars:before { content: '\ea9b'; } /* '瞠�' */ +.uil-maximize-left:before { content: '\ea9c'; } /* '瞠�' */ +.uil-medal:before { content: '\ea9d'; } /* '瞠�' */ +.uil-medical-drip:before { content: '\ea9e'; } /* '瞠�' */ +.uil-medical-square-full:before { content: '\ea9f'; } /* '瞠�' */ +.uil-medical-square:before { content: '\eaa0'; } /* '瞠�' */ +.uil-medical:before { content: '\eaa1'; } /* '瞠�' */ +.uil-medkit:before { content: '\eaa2'; } /* '瞠�' */ +.uil-meeting-board:before { content: '\eaa3'; } /* '瞠�' */ +.uil-meh-alt:before { content: '\eaa4'; } /* '瞠�' */ +.uil-meh-closed-eye:before { content: '\eaa5'; } /* '瞠�' */ +.uil-meh:before { content: '\eaa6'; } /* '瞠�' */ +.uil-message:before { content: '\eaa7'; } /* '瞠�' */ +.uil-microphone-slash:before { content: '\eaa8'; } /* '瞠�' */ +.uil-microphone:before { content: '\eaa9'; } /* '瞠�' */ +.uil-minus-circle:before { content: '\eaaa'; } /* '瞠�' */ +.uil-minus-path:before { content: '\eaab'; } /* '瞠�' */ +.uil-minus-square-full:before { content: '\eaac'; } /* '瞠�' */ +.uil-minus-square:before { content: '\eaad'; } /* '瞠�' */ +.uil-minus:before { content: '\eaae'; } /* '瞠�' */ +.uil-missed-call:before { content: '\eaaf'; } /* '瞠�' */ +.uil-mobey-bill-slash:before { content: '\eab0'; } /* '瞠�' */ +.uil-mobile-android-alt:before { content: '\eab1'; } /* '瞠�' */ +.uil-mobile-android:before { content: '\eab2'; } /* '瞠�' */ +.uil-mobile-vibrate:before { content: '\eab3'; } /* '瞠�' */ +.uil-modem:before { content: '\eab4'; } /* '瞠�' */ +.uil-money-bill-stack:before { content: '\eab5'; } /* '瞠�' */ +.uil-money-bill:before { content: '\eab6'; } /* '瞠�' */ +.uil-money-insert:before { content: '\eab7'; } /* '瞠�' */ +.uil-money-stack:before { content: '\eab8'; } /* '瞠�' */ +.uil-money-withdraw:before { content: '\eab9'; } /* '瞠�' */ +.uil-money-withdrawal:before { content: '\eaba'; } /* '瞠�' */ +.uil-moneybag-alt:before { content: '\eabb'; } /* '瞠�' */ +.uil-moneybag:before { content: '\eabc'; } /* '瞠�' */ +.uil-monitor-heart-rate:before { content: '\eabd'; } /* '瞠�' */ +.uil-monitor:before { content: '\eabe'; } /* '瞠�' */ +.uil-moon-eclipse:before { content: '\eabf'; } /* '瞠�' */ +.uil-moon:before { content: '\eac0'; } /* '瞰€' */ +.uil-moonset:before { content: '\eac1'; } /* '瞰�' */ +.uil-mountains-sun:before { content: '\eac2'; } /* '瞰�' */ +.uil-mountains:before { content: '\eac3'; } /* '瞰�' */ +.uil-mouse-alt:before { content: '\eac4'; } /* '瞰�' */ +.uil-mouse:before { content: '\eac5'; } /* '瞰�' */ +.uil-multiply:before { content: '\eac6'; } /* '瞰�' */ +.uil-music-note:before { content: '\eac7'; } /* '瞰�' */ +.uil-music-tune-slash:before { content: '\eac8'; } /* '瞰�' */ +.uil-music:before { content: '\eac9'; } /* '瞰�' */ +.uil-n-a:before { content: '\eaca'; } /* '瞰�' */ +.uil-navigator:before { content: '\eacb'; } /* '瞰�' */ +.uil-nerd:before { content: '\eacc'; } /* '瞰�' */ +.uil-newspaper:before { content: '\eacd'; } /* '瞰�' */ +.uil-ninja:before { content: '\eace'; } /* '瞰�' */ +.uil-no-entry:before { content: '\eacf'; } /* '瞰�' */ +.uil-notebooks:before { content: '\ead0'; } /* '瞰�' */ +.uil-notes:before { content: '\ead1'; } /* '瞰�' */ +.uil-object-group:before { content: '\ead2'; } /* '瞰�' */ +.uil-object-ungroup:before { content: '\ead3'; } /* '瞰�' */ +.uil-octagon:before { content: '\ead4'; } /* '瞰�' */ +.uil-outgoing-call:before { content: '\ead5'; } /* '瞰�' */ +.uil-package:before { content: '\ead6'; } /* '瞰�' */ +.uil-padlock:before { content: '\ead7'; } /* '瞰�' */ +.uil-paint-tool:before { content: '\ead8'; } /* '瞰�' */ +.uil-palette:before { content: '\ead9'; } /* '瞰�' */ +.uil-panorama-h-alt:before { content: '\eada'; } /* '瞰�' */ +.uil-panorama-h:before { content: '\eadb'; } /* '瞰�' */ +.uil-panorama-v:before { content: '\eadc'; } /* '瞰�' */ +.uil-paperclip:before { content: '\eadd'; } /* '瞰�' */ +.uil-paragraph:before { content: '\eade'; } /* '瞰�' */ +.uil-parcel:before { content: '\eadf'; } /* '瞰�' */ +.uil-parking-square:before { content: '\eae0'; } /* '瞰�' */ +.uil-pathfinder-unite:before { content: '\eae1'; } /* '瞰�' */ +.uil-pathfinder:before { content: '\eae2'; } /* '瞰�' */ +.uil-pause-circle:before { content: '\eae3'; } /* '瞰�' */ +.uil-pause:before { content: '\eae4'; } /* '瞰�' */ +.uil-pen:before { content: '\eae5'; } /* '瞰�' */ +.uil-pentagon:before { content: '\eae6'; } /* '瞰�' */ +.uil-phone-alt:before { content: '\eae7'; } /* '瞰�' */ +.uil-phone-pause:before { content: '\eae8'; } /* '瞰�' */ +.uil-phone-slash:before { content: '\eae9'; } /* '瞰�' */ +.uil-phone-times:before { content: '\eaea'; } /* '瞰�' */ +.uil-phone-volume:before { content: '\eaeb'; } /* '瞰�' */ +.uil-phone:before { content: '\eaec'; } /* '瞰�' */ +.uil-picture:before { content: '\eaed'; } /* '瞰�' */ +.uil-plane-arrival:before { content: '\eaee'; } /* '瞰�' */ +.uil-plane-departure:before { content: '\eaef'; } /* '瞰�' */ +.uil-plane-fly:before { content: '\eaf0'; } /* '瞰�' */ +.uil-plane:before { content: '\eaf1'; } /* '瞰�' */ +.uil-play-circle:before { content: '\eaf2'; } /* '瞰�' */ +.uil-play:before { content: '\eaf3'; } /* '瞰�' */ +.uil-plug:before { content: '\eaf4'; } /* '瞰�' */ +.uil-plus-circle:before { content: '\eaf5'; } /* '瞰�' */ +.uil-plus-square:before { content: '\eaf6'; } /* '瞰�' */ +.uil-plus:before { content: '\eaf7'; } /* '瞰�' */ +.uil-podium:before { content: '\eaf8'; } /* '瞰�' */ +.uil-polygon:before { content: '\eaf9'; } /* '瞰�' */ +.uil-post-stamp:before { content: '\eafa'; } /* '瞰�' */ +.uil-postcard:before { content: '\eafb'; } /* '瞰�' */ +.uil-pound-circle:before { content: '\eafc'; } /* '瞰�' */ +.uil-pound:before { content: '\eafd'; } /* '瞰�' */ +.uil-power:before { content: '\eafe'; } /* '瞰�' */ +.uil-prescription-bottle:before { content: '\eaff'; } /* '瞰�' */ +.uil-presentation-check:before { content: '\eb00'; } /* '瞵€' */ +.uil-presentation-edit:before { content: '\eb01'; } /* '瞵�' */ +.uil-presentation-line:before { content: '\eb02'; } /* '瞵�' */ +.uil-presentation-lines-alt:before { content: '\eb03'; } /* '瞵�' */ +.uil-presentation-minus:before { content: '\eb04'; } /* '瞵�' */ +.uil-presentation-play:before { content: '\eb05'; } /* '瞵�' */ +.uil-presentation-plus:before { content: '\eb06'; } /* '瞵�' */ +.uil-presentation-times:before { content: '\eb07'; } /* '瞵�' */ +.uil-presentation:before { content: '\eb08'; } /* '瞵�' */ +.uil-previous:before { content: '\eb09'; } /* '瞵�' */ +.uil-pricetag-alt:before { content: '\eb0a'; } /* '瞵�' */ +.uil-print-slash:before { content: '\eb0b'; } /* '瞵�' */ +.uil-print:before { content: '\eb0c'; } /* '瞵�' */ +.uil-processor:before { content: '\eb0d'; } /* '瞵�' */ +.uil-pump:before { content: '\eb0e'; } /* '瞵�' */ +.uil-puzzle-piece:before { content: '\eb0f'; } /* '瞵�' */ +.uil-question-circle:before { content: '\eb10'; } /* '瞵�' */ +.uil-rainbow:before { content: '\eb11'; } /* '瞵�' */ +.uil-raindrops-alt:before { content: '\eb12'; } /* '瞵�' */ +.uil-raindrops:before { content: '\eb13'; } /* '瞵�' */ +.uil-receipt-alt:before { content: '\eb14'; } /* '瞵�' */ +.uil-receipt:before { content: '\eb15'; } /* '瞵�' */ +.uil-record-audio:before { content: '\eb16'; } /* '瞵�' */ +.uil-redo:before { content: '\eb17'; } /* '瞵�' */ +.uil-refresh:before { content: '\eb18'; } /* '瞵�' */ +.uil-registered:before { content: '\eb19'; } /* '瞵�' */ +.uil-repeat:before { content: '\eb1a'; } /* '瞵�' */ +.uil-restaurant:before { content: '\eb1b'; } /* '瞵�' */ +.uil-right-indent-alt:before { content: '\eb1c'; } /* '瞵�' */ +.uil-right-to-left-text-direction:before { content: '\eb1d'; } /* '瞵�' */ +.uil-robot:before { content: '\eb1e'; } /* '瞵�' */ +.uil-rope-way:before { content: '\eb1f'; } /* '瞵�' */ +.uil-rotate-360:before { content: '\eb20'; } /* '瞵�' */ +.uil-rss-alt:before { content: '\eb21'; } /* '瞵�' */ +.uil-rss-interface:before { content: '\eb22'; } /* '瞵�' */ +.uil-rss:before { content: '\eb23'; } /* '瞵�' */ +.uil-ruler-combined:before { content: '\eb24'; } /* '瞵�' */ +.uil-ruler:before { content: '\eb25'; } /* '瞵�' */ +.uil-sad-cry:before { content: '\eb26'; } /* '瞵�' */ +.uil-sad-crying:before { content: '\eb27'; } /* '瞵�' */ +.uil-sad-dizzy:before { content: '\eb28'; } /* '瞵�' */ +.uil-sad-squint:before { content: '\eb29'; } /* '瞵�' */ +.uil-sad:before { content: '\eb2a'; } /* '瞵�' */ +.uil-scaling-left:before { content: '\eb2b'; } /* '瞵�' */ +.uil-scaling-right:before { content: '\eb2c'; } /* '瞵�' */ +.uil-scenery:before { content: '\eb2d'; } /* '瞵�' */ +.uil-schedule:before { content: '\eb2e'; } /* '瞵�' */ +.uil-science:before { content: '\eb2f'; } /* '瞵�' */ +.uil-screw:before { content: '\eb30'; } /* '瞵�' */ +.uil-scroll-h:before { content: '\eb31'; } /* '瞵�' */ +.uil-scroll:before { content: '\eb32'; } /* '瞵�' */ +.uil-search-alt:before { content: '\eb33'; } /* '瞵�' */ +.uil-search-minus:before { content: '\eb34'; } /* '瞵�' */ +.uil-search-plus:before { content: '\eb35'; } /* '瞵�' */ +.uil-search:before { content: '\eb36'; } /* '瞵�' */ +.uil-selfie:before { content: '\eb37'; } /* '瞵�' */ +.uil-server-alt:before { content: '\eb38'; } /* '瞵�' */ +.uil-server-connection:before { content: '\eb39'; } /* '瞵�' */ +.uil-server-network-alt:before { content: '\eb3a'; } /* '瞵�' */ +.uil-server-network:before { content: '\eb3b'; } /* '瞵�' */ +.uil-server:before { content: '\eb3c'; } /* '瞵�' */ +.uil-servers:before { content: '\eb3d'; } /* '瞵�' */ +.uil-servicemark:before { content: '\eb3e'; } /* '瞵�' */ +.uil-share-alt:before { content: '\eb3f'; } /* '瞵�' */ +.uil-shield-check:before { content: '\eb40'; } /* '瞽€' */ +.uil-shield-exclamation:before { content: '\eb41'; } /* '瞽�' */ +.uil-shield-question:before { content: '\eb42'; } /* '瞽�' */ +.uil-shield-slash:before { content: '\eb43'; } /* '瞽�' */ +.uil-shield:before { content: '\eb44'; } /* '瞽�' */ +.uil-ship:before { content: '\eb45'; } /* '瞽�' */ +.uil-shop:before { content: '\eb46'; } /* '瞽�' */ +.uil-shopping-basket:before { content: '\eb47'; } /* '瞽�' */ +.uil-shopping-cart-alt:before { content: '\eb48'; } /* '瞽�' */ +.uil-shopping-trolley:before { content: '\eb49'; } /* '瞽�' */ +.uil-shovel:before { content: '\eb4a'; } /* '瞽�' */ +.uil-shrink:before { content: '\eb4b'; } /* '瞽�' */ +.uil-shuffle:before { content: '\eb4c'; } /* '瞽�' */ +.uil-shutter-alt:before { content: '\eb4d'; } /* '瞽�' */ +.uil-shutter:before { content: '\eb4e'; } /* '瞽�' */ +.uil-sick:before { content: '\eb4f'; } /* '瞽�' */ +.uil-sigma:before { content: '\eb50'; } /* '瞽�' */ +.uil-sign-alt:before { content: '\eb51'; } /* '瞽�' */ +.uil-sign-in-alt:before { content: '\eb52'; } /* '瞽�' */ +.uil-sign-left:before { content: '\eb53'; } /* '瞽�' */ +.uil-sign-out-alt:before { content: '\eb54'; } /* '瞽�' */ +.uil-sign-right:before { content: '\eb55'; } /* '瞽�' */ +.uil-signal-alt-3:before { content: '\eb56'; } /* '瞽�' */ +.uil-signal-alt:before { content: '\eb57'; } /* '瞽�' */ +.uil-signal:before { content: '\eb58'; } /* '瞽�' */ +.uil-silence:before { content: '\eb59'; } /* '瞽�' */ +.uil-silent-squint:before { content: '\eb5a'; } /* '瞽�' */ +.uil-sim-card:before { content: '\eb5b'; } /* '瞽�' */ +.uil-sitemap:before { content: '\eb5c'; } /* '瞽�' */ +.uil-skip-forward-alt:before { content: '\eb5d'; } /* '瞽�' */ +.uil-skip-forward-circle:before { content: '\eb5e'; } /* '瞽�' */ +.uil-skip-forward:before { content: '\eb5f'; } /* '瞽�' */ +.uil-slack:before { content: '\eb60'; } /* '瞽�' */ +.uil-sliders-v-alt:before { content: '\eb61'; } /* '瞽�' */ +.uil-sliders-v:before { content: '\eb62'; } /* '瞽�' */ +.uil-smile-beam:before { content: '\eb63'; } /* '瞽�' */ +.uil-smile-dizzy:before { content: '\eb64'; } /* '瞽�' */ +.uil-smile-squint-wink-alt:before { content: '\eb65'; } /* '瞽�' */ +.uil-smile-squint-wink:before { content: '\eb66'; } /* '瞽�' */ +.uil-smile-wink-alt:before { content: '\eb67'; } /* '瞽�' */ +.uil-smile-wink:before { content: '\eb68'; } /* '瞽�' */ +.uil-smile:before { content: '\eb69'; } /* '瞽�' */ +.uil-snow-flake:before { content: '\eb6c'; } /* '瞽�' */ +.uil-snowflake-alt:before { content: '\eb6d'; } /* '瞽�' */ +.uil-snowflake:before { content: '\eb6e'; } /* '瞽�' */ +.uil-sort-amount-down:before { content: '\eb6f'; } /* '瞽�' */ +.uil-sort-amount-up:before { content: '\eb70'; } /* '瞽�' */ +.uil-sort:before { content: '\eb71'; } /* '瞽�' */ +.uil-sorting:before { content: '\eb72'; } /* '瞽�' */ +.uil-space-key:before { content: '\eb73'; } /* '瞽�' */ +.uil-spade:before { content: '\eb74'; } /* '瞽�' */ +.uil-sperms:before { content: '\eb75'; } /* '瞽�' */ +.uil-spin:before { content: '\eb76'; } /* '瞽�' */ +.uil-sport:before { content: '\eb77'; } /* '瞽�' */ +.uil-square-full:before { content: '\eb78'; } /* '瞽�' */ +.uil-square-shape:before { content: '\eb79'; } /* '瞽�' */ +.uil-square:before { content: '\eb7a'; } /* '瞽�' */ +.uil-squint:before { content: '\eb7b'; } /* '瞽�' */ +.uil-star-half-alt:before { content: '\eb7c'; } /* '瞽�' */ +.uil-star:before { content: '\eb7d'; } /* '瞽�' */ +.uil-step-backward-alt:before { content: '\eb7e'; } /* '瞽�' */ +.uil-step-backward-circle:before { content: '\eb7f'; } /* '瞽�' */ +.uil-step-backward:before { content: '\eb80'; } /* '町€' */ +.uil-step-forward:before { content: '\eb81'; } /* '町�' */ +.uil-stop-circle:before { content: '\eb82'; } /* '町�' */ +.uil-stopwatch-slash:before { content: '\eb83'; } /* '町�' */ +.uil-stopwatch:before { content: '\eb84'; } /* '町�' */ +.uil-store-alt:before { content: '\eb85'; } /* '町�' */ +.uil-store:before { content: '\eb86'; } /* '町�' */ +.uil-streering:before { content: '\eb87'; } /* '町�' */ +.uil-stretcher:before { content: '\eb88'; } /* '町�' */ +.uil-subject:before { content: '\eb89'; } /* '町�' */ +.uil-subway-alt:before { content: '\eb8a'; } /* '町�' */ +.uil-subway:before { content: '\eb8b'; } /* '町�' */ +.uil-suitcase-alt:before { content: '\eb8c'; } /* '町�' */ +.uil-suitcase:before { content: '\eb8d'; } /* '町�' */ +.uil-sun:before { content: '\eb8e'; } /* '町�' */ +.uil-sunset:before { content: '\eb8f'; } /* '町�' */ +.uil-surprise:before { content: '\eb90'; } /* '町�' */ +.uil-swatchbook:before { content: '\eb91'; } /* '町�' */ +.uil-swimmer:before { content: '\eb92'; } /* '町�' */ +.uil-symbol:before { content: '\eb93'; } /* '町�' */ +.uil-sync-exclamation:before { content: '\eb94'; } /* '町�' */ +.uil-sync-slash:before { content: '\eb95'; } /* '町�' */ +.uil-sync:before { content: '\eb96'; } /* '町�' */ +.uil-syringe:before { content: '\eb97'; } /* '町�' */ +.uil-table:before { content: '\eb98'; } /* '町�' */ +.uil-tablet:before { content: '\eb99'; } /* '町�' */ +.uil-tablets:before { content: '\eb9a'; } /* '町�' */ +.uil-tachometer-fast:before { content: '\eb9b'; } /* '町�' */ +.uil-tag-alt:before { content: '\eb9c'; } /* '町�' */ +.uil-tag:before { content: '\eb9d'; } /* '町�' */ +.uil-tape:before { content: '\eb9e'; } /* '町�' */ +.uil-taxi:before { content: '\eb9f'; } /* '町�' */ +.uil-tear:before { content: '\eba0'; } /* '町�' */ +.uil-technology:before { content: '\eba1'; } /* '町�' */ +.uil-telescope:before { content: '\eba2'; } /* '町�' */ +.uil-temperature-empty:before { content: '\eba3'; } /* '町�' */ +.uil-temperature-half:before { content: '\eba4'; } /* '町�' */ +.uil-temperature-minus:before { content: '\eba5'; } /* '町�' */ +.uil-temperature-plus:before { content: '\eba6'; } /* '町�' */ +.uil-temperature-quarter:before { content: '\eba7'; } /* '町�' */ +.uil-temperature-three-quarter:before { content: '\eba8'; } /* '町�' */ +.uil-temperature:before { content: '\eba9'; } /* '町�' */ +.uil-text-fields:before { content: '\ebaa'; } /* '町�' */ +.uil-text-size:before { content: '\ebab'; } /* '町�' */ +.uil-text-strike-through:before { content: '\ebac'; } /* '町�' */ +.uil-text:before { content: '\ebad'; } /* '町�' */ +.uil-th-large:before { content: '\ebae'; } /* '町�' */ +.uil-th-slash:before { content: '\ebaf'; } /* '町�' */ +.uil-th:before { content: '\ebb0'; } /* '町�' */ +.uil-thermometer:before { content: '\ebb1'; } /* '町�' */ +.uil-thumbs-down:before { content: '\ebb2'; } /* '町�' */ +.uil-thumbs-up:before { content: '\ebb3'; } /* '町�' */ +.uil-thunderstorm-moon:before { content: '\ebb4'; } /* '町�' */ +.uil-thunderstorm-sun:before { content: '\ebb5'; } /* '町�' */ +.uil-thunderstorm:before { content: '\ebb6'; } /* '町�' */ +.uil-ticket:before { content: '\ebb7'; } /* '町�' */ +.uil-times-circle:before { content: '\ebb8'; } /* '町�' */ +.uil-times-square:before { content: '\ebb9'; } /* '町�' */ +.uil-times:before { content: '\ebba'; } /* '町�' */ +.uil-toggle-off:before { content: '\ebbb'; } /* '町�' */ +.uil-toggle-on:before { content: '\ebbc'; } /* '町�' */ +.uil-top-arrow-from-top:before { content: '\ebbd'; } /* '町�' */ +.uil-top-arrow-to-top:before { content: '\ebbe'; } /* '町�' */ +.uil-tornado:before { content: '\ebbf'; } /* '町�' */ +.uil-trademark-circle:before { content: '\ebc0'; } /* '畀€' */ +.uil-trademark:before { content: '\ebc1'; } /* '畀�' */ +.uil-traffic-barrier:before { content: '\ebc2'; } /* '畀�' */ +.uil-trash-alt:before { content: '\ebc3'; } /* '畀�' */ +.uil-trash:before { content: '\ebc4'; } /* '畀�' */ +.uil-trees:before { content: '\ebc5'; } /* '畀�' */ +.uil-triangle:before { content: '\ebc6'; } /* '畀�' */ +.uil-trophy:before { content: '\ebc7'; } /* '畀�' */ +.uil-trowel:before { content: '\ebc8'; } /* '畀�' */ +.uil-truck-case:before { content: '\ebc9'; } /* '畀�' */ +.uil-truck-loading:before { content: '\ebca'; } /* '畀�' */ +.uil-truck:before { content: '\ebcb'; } /* '畀�' */ +.uil-tumblr-square:before { content: '\ebcc'; } /* '畀�' */ +.uil-tumblr:before { content: '\ebcd'; } /* '畀�' */ +.uil-tv-retro-slash:before { content: '\ebce'; } /* '畀�' */ +.uil-tv-retro:before { content: '\ebcf'; } /* '畀�' */ +.uil-twitter:before { content: '\ebd0'; } /* '畀�' */ +.uil-umbrella:before { content: '\ebd1'; } /* '畀�' */ +.uil-unamused:before { content: '\ebd2'; } /* '畀�' */ +.uil-underline:before { content: '\ebd3'; } /* '畀�' */ +.uil-unlock-alt:before { content: '\ebd4'; } /* '畀�' */ +.uil-unlock:before { content: '\ebd5'; } /* '畀�' */ +.uil-upload-alt:before { content: '\ebd6'; } /* '畀�' */ +.uil-upload:before { content: '\ebd7'; } /* '畀�' */ +.uil-usd-circle:before { content: '\ebd8'; } /* '畀�' */ +.uil-usd-square:before { content: '\ebd9'; } /* '畀�' */ +.uil-user-check:before { content: '\ebda'; } /* '畀�' */ +.uil-user-circle:before { content: '\ebdb'; } /* '畀�' */ +.uil-user-exclamation:before { content: '\ebdc'; } /* '畀�' */ +.uil-user-hard-hat:before { content: '\ebdd'; } /* '畀�' */ +.uil-user-minus:before { content: '\ebde'; } /* '畀�' */ +.uil-user-plus:before { content: '\ebdf'; } /* '畀�' */ +.uil-user-square:before { content: '\ebe0'; } /* '畀�' */ +.uil-user-times:before { content: '\ebe1'; } /* '畀�' */ +.uil-user:before { content: '\ebe2'; } /* '畀�' */ +.uil-users-alt:before { content: '\ebe3'; } /* '畀�' */ +.uil-utensils-alt:before { content: '\ebe4'; } /* '畀�' */ +.uil-utensils:before { content: '\ebe5'; } /* '畀�' */ +.uil-vector-square-alt:before { content: '\ebe6'; } /* '畀�' */ +.uil-vector-square:before { content: '\ebe7'; } /* '畀�' */ +.uil-venus:before { content: '\ebe8'; } /* '畀�' */ +.uil-vertical-align-bottom:before { content: '\ebe9'; } /* '畀�' */ +.uil-vertical-align-center:before { content: '\ebea'; } /* '畀�' */ +.uil-vertical-align-top:before { content: '\ebeb'; } /* '畀�' */ +.uil-vertical-distribute-bottom:before { content: '\ebec'; } /* '畀�' */ +.uil-vertical-distribution-center:before { content: '\ebed'; } /* '畀�' */ +.uil-vertical-distribution-top:before { content: '\ebee'; } /* '畀�' */ +.uil-video-slash:before { content: '\ebef'; } /* '畀�' */ +.uil-video:before { content: '\ebf0'; } /* '畀�' */ +.uil-visual-studio:before { content: '\ebf1'; } /* '畀�' */ +.uil-voicemail-rectangle:before { content: '\ebf2'; } /* '畀�' */ +.uil-voicemail:before { content: '\ebf3'; } /* '畀�' */ +.uil-volleyball:before { content: '\ebf4'; } /* '畀�' */ +.uil-volume-down:before { content: '\ebf5'; } /* '畀�' */ +.uil-volume-mute:before { content: '\ebf6'; } /* '畀�' */ +.uil-volume-off:before { content: '\ebf7'; } /* '畀�' */ +.uil-volume-up:before { content: '\ebf8'; } /* '畀�' */ +.uil-volume:before { content: '\ebf9'; } /* '畀�' */ +.uil-wall:before { content: '\ebfa'; } /* '畀�' */ +.uil-wallet:before { content: '\ebfb'; } /* '畀�' */ +.uil-watch-alt:before { content: '\ebfc'; } /* '畀�' */ +.uil-watch:before { content: '\ebfd'; } /* '畀�' */ +.uil-water-drop-slash:before { content: '\ebfe'; } /* '畀�' */ +.uil-water-glass:before { content: '\ebff'; } /* '畀�' */ +.uil-water:before { content: '\ec00'; } /* '畎€' */ +.uil-web-grid-alt:before { content: '\ec01'; } /* '畎�' */ +.uil-web-grid:before { content: '\ec02'; } /* '畎�' */ +.uil-web-section-alt:before { content: '\ec03'; } /* '畎�' */ +.uil-web-section:before { content: '\ec04'; } /* '畎�' */ +.uil-webcam:before { content: '\ec05'; } /* '畎�' */ +.uil-weight:before { content: '\ec06'; } /* '畎�' */ +.uil-whatsapp:before { content: '\ec07'; } /* '畎�' */ +.uil-wheel-barrow:before { content: '\ec08'; } /* '畎�' */ +.uil-wheelchair-alt:before { content: '\ec09'; } /* '畎�' */ +.uil-wheelchair:before { content: '\ec0a'; } /* '畎�' */ +.uil-wifi-router:before { content: '\ec0b'; } /* '畎�' */ +.uil-wifi-slash:before { content: '\ec0c'; } /* '畎�' */ +.uil-wifi:before { content: '\ec0d'; } /* '畎�' */ +.uil-wind:before { content: '\ec0e'; } /* '畎�' */ +.uil-window-grid:before { content: '\ec0f'; } /* '畎�' */ +.uil-window-maximize:before { content: '\ec10'; } /* '畎�' */ +.uil-window-restore:before { content: '\ec11'; } /* '畎�' */ +.uil-window-section:before { content: '\ec12'; } /* '畎�' */ +.uil-window:before { content: '\ec13'; } /* '畎�' */ +.uil-windsock:before { content: '\ec14'; } /* '畎�' */ +.uil-wrap-text:before { content: '\ec15'; } /* '畎�' */ +.uil-wrench:before { content: '\ec16'; } /* '畎�' */ +.uil-yellow:before { content: '\ec17'; } /* '畎�' */ +.uil-yen-circle:before { content: '\ec18'; } /* '畎�' */ +.uil-yen:before { content: '\ec19'; } /* '畎�' */ +.uil-youtube-alt:before { content: '\ec1a'; } /* '畎�' */ +.uil-youtube:before { content: '\ec1b'; } /* '畎�' */ \ No newline at end of file diff --git a/css/waline.css b/css/waline.css new file mode 100644 index 0000000..4fadbfe --- /dev/null +++ b/css/waline.css @@ -0,0 +1,1354 @@ +:root { + --waline-font-size : 1rem; + --waline-white : #fff; + --waline-light-grey : #999; + --waline-dark-grey : #666; + --waline-theme-color : #000000; + --waline-active-color : #2ecc71; + --waline-color : #444; + --waline-bgcolor : #fff; + --waline-bgcolor-light : #f8f8f8; + --waline-bgcolor-hover : #f0f0f0; + --waline-border-color : #000000; + --waline-disable-bgcolor: #f8f8f8; + --waline-disable-color : #000; + --waline-code-bgcolor : #282c34; + --waline-bq-color : #f0f0f0; + --waline-avatar-size : 3.25rem; + --waline-m-avatar-size : calc(var(--waline-avatar-size) * 9 / 13); + --waline-badge-color : #000000; + --waline-badge-font-size: 0.75em; + --waline-info-bgcolor : #f8f8f8; + --waline-info-color : #999; + --waline-info-font-size : 0.625em; + --waline-border : 1px solid var(--waline-border-color); + --waline-avatar-radius : 50%; + --waline-box-shadow : none +} + +[data-waline] { + font-size : var(--waline-font-size); + text-align: start +} + +[dir=rtl] [data-waline] { + direction: rtl +} + +[data-waline] * { + box-sizing : content-box; + line-height: 1.75 +} + +[data-waline] p { + color: var(--waline-color) +} + +[data-waline] a { + position : relative; + display : inline-block; + color : var(--waline-theme-color); + text-decoration: none; + word-break : break-word; + cursor : pointer +} + +[data-waline] a:hover { + color: var(--waline-active-color) +} + +[data-waline] img { + max-width : 100%; + max-height: 400px; + border : none +} + +[data-waline] hr { + margin : .825em 0; + border-style: dashed; + border-color: var(--waline-bgcolor-light) +} + +[data-waline] code, +[data-waline] pre { + margin : 0; + padding : .2em .4em; + border-radius: 3px; + background : var(--waline-bgcolor-light); + font-size : 85% +} + +[data-waline] pre { + overflow : auto; + padding : 10px; + line-height: 1.45 +} + +[data-waline] pre::-webkit-scrollbar { + width : 6px; + height: 6px +} + +[data-waline] pre::-webkit-scrollbar-track-piece:horizontal { + -webkit-border-radius: 6px; + border-radius : 6px; + background : rgba(0, 0, 0, .1) +} + +[data-waline] pre::-webkit-scrollbar-thumb:horizontal { + width : 6px; + -webkit-border-radius: 6px; + border-radius : 6px; + background : var(--waline-theme-color) +} + +[data-waline] pre code { + padding : 0; + background : rgba(0, 0, 0, 0); + color : var(--waline-color); + white-space: pre-wrap; + word-break : keep-all +} + +[data-waline] blockquote { + margin : .5em 0; + padding : .5em 0 .5em 1em; + border-inline-start: 8px solid var(--waline-bq-color); + color : var(--waline-dark-grey) +} + +[data-waline] blockquote>p { + margin: 0 +} + +[data-waline] ol, +[data-waline] ul { + margin-inline-start: 1.25em; + padding : 0 +} + +[data-waline] input[type=checkbox], +[data-waline] input[type=radio] { + display : inline-block; + vertical-align: middle; + margin-top : -2px +} + +.wl-btn { + display : inline-block; + vertical-align : middle; + min-width : 2.5em; + margin-bottom : 0; + padding : .5em 1em; + border : 1px solid var(--waline-border-color); + border-radius : .5em; + background : rgba(0, 0, 0, 0); + color : var(--waline-color); + font-weight : 400; + font-size : .75em; + line-height : 1.5; + text-align : center; + white-space : nowrap; + cursor : pointer; + user-select : none; + transition-duration: .4s; + touch-action : manipulation +} + +.wl-btn:hover, +.wl-btn:active { + border-color: var(--waline-theme-color); + color : var(--waline-theme-color) +} + +.wl-btn:disabled { + border-color: var(--waline-border-color); + background : var(--waline-disable-bgcolor); + color : var(--waline-disable-color); + cursor : not-allowed +} + +.wl-btn.primary { + border-color: var(--waline-theme-color); + background : var(--waline-theme-color); + color : var(--waline-white) +} + +.wl-btn.primary:hover, +.wl-btn.primary:active { + border-color: var(--waline-active-color); + background : var(--waline-active-color); + color : var(--waline-white) +} + +.wl-btn.primary:disabled { + border-color: var(--waline-border-color); + background : var(--waline-disable-bgcolor); + color : var(--waline-disable-color); + cursor : not-allowed +} + +.wl-loading { + text-align: center +} + +.wl-loading svg { + margin: 0 auto +} + +.wl-comment { + position : relative; + display : flex; + margin-bottom: .75em +} + +.wl-close { + position : absolute; + top : -4px; + inset-inline-end: -4px; + padding : 0; + border : none; + background : rgba(0, 0, 0, 0); + line-height : 1; + cursor : pointer +} + +.wl-login-info { + max-width : 80px; + margin-top: .75em; + text-align: center +} + +.wl-logout-btn { + position : absolute; + top : -10px; + inset-inline-end: -10px; + padding : 3px; + border : none; + background : rgba(0, 0, 0, 0); + line-height : 0; + cursor : pointer +} + +.wl-avatar { + position : relative; + width : var(--waline-avatar-size); + height : var(--waline-avatar-size); + margin : 0 auto; + border : var(--waline-border); + border-radius: var(--waline-avatar-radius) +} + +@media(max-width: 720px) { + .wl-avatar { + width : var(--waline-m-avatar-size); + height: var(--waline-m-avatar-size) + } +} + +.wl-avatar img { + width : 100%; + height : 100%; + border-radius: var(--waline-avatar-radius) +} + +.wl-login-nick { + display : block; + color : var(--waline-theme-color); + font-size : .75em; + word-break: break-all +} + +.wl-panel { + position : relative; + flex-shrink : 1; + width : 100%; + margin : .5em; + border : var(--waline-border); + border-radius: .75em; + background : var(--waline-bgcolor); + box-shadow : var(--waline-box-shadow) +} + +.wl-header { + display : flex; + overflow : hidden; + padding : 0 4px; + border-bottom : 2px dashed var(--waline-border-color); + border-top-left-radius : .75em; + border-top-right-radius: .75em +} + +@media(max-width: 580px) { + .wl-header { + display: block + } +} + +.wl-header label { + min-width : 40px; + padding : .75em .5em; + color : var(--waline-color); + font-size : .75em; + text-align: center +} + +.wl-header input { + flex : 1; + width : 0; + padding : .5em; + background: rgba(0, 0, 0, 0); + font-size : .625em; + resize : none +} + +.wl-header-item { + display: flex; + flex : 1 +} + +@media(max-width: 580px) { + .wl-header-item:not(:last-child) { + border-bottom: 2px dashed var(--waline-border-color) + } +} + +.wl-header-1 .wl-header-item { + width: 100% +} + +.wl-header-2 .wl-header-item { + width: 50% +} + +@media(max-width: 580px) { + .wl-header-2 .wl-header-item { + flex : 0; + width: 100% + } +} + +.wl-header-3 .wl-header-item { + width: 33.33% +} + +@media(max-width: 580px) { + .wl-header-3 .wl-header-item { + width: 100% + } +} + +.wl-editor { + position : relative; + width : calc(100% - 1em); + min-height : 8.75em; + margin : .75em .5em; + border-radius: .5em; + background : rgba(0, 0, 0, 0); + font-size : .875em; + resize : vertical +} + +.wl-editor, +.wl-input { + max-width : 100%; + border : none; + color : var(--waline-color); + outline : none; + transition: all .25s ease +} + +.wl-editor:focus, +.wl-input:focus { + background: var(--waline-bgcolor-light) +} + +.wl-preview { + padding: 0 .5em .5em +} + +.wl-preview h4 { + margin : .25em; + font-weight: bold; + font-size : .9375em +} + +.wl-preview .wl-content { + min-height: 1.25em; + padding : .25em; + word-break: break-word; + hyphens : auto +} + +.wl-preview .wl-content>*:first-child { + margin-top: 0 +} + +.wl-preview .wl-content>*:last-child { + margin-bottom: 0 +} + +.wl-footer { + position : relative; + display : flex; + flex-wrap: wrap; + margin : .5em .75em +} + +.wl-actions { + display : flex; + flex : 2; + align-items: center +} + +.wl-action { + display : inline-flex; + align-items : center; + justify-content: center; + width : 1.5em; + height : 1.5em; + margin : 2px; + padding : 0; + border : none; + background : rgba(0, 0, 0, 0); + color : var(--waline-color); + font-size : 16px; + cursor : pointer +} + +.wl-action:hover { + color: var(--waline-theme-color) +} + +.wl-action.active { + color: var(--waline-active-color) +} + +#wl-image-upload { + display: none +} + +#wl-image-upload:focus+label { + color: var(--waline-color) +} + +#wl-image-upload:focus-visible+label { + outline: -webkit-focus-ring-color auto 1px +} + +.wl-info { + display : flex; + flex : 3; + align-items : center; + justify-content: flex-end +} + +.wl-info .wl-text-number { + color : var(--waline-info-color); + font-size: .75em +} + +.wl-info .wl-text-number .illegal { + color: red +} + +.wl-info button { + margin-inline-start: .75em +} + +.wl-info button svg { + display : block; + margin : 0 auto; + line-height: 18px +} + +.wl-emoji-popup { + position : absolute; + top : 100%; + inset-inline-start: 1.25em; + z-index : 10; + max-width : 526px; + border : var(--waline-border); + border-radius : 6px; + background : var(--waline-bgcolor); + box-shadow : var(--waline-box-shadow); + opacity : 0; + visibility : hidden; + transition : transform .2s ease-out, opacity .2s ease-out; + transform : scale(0.9, 0.9); + transform-origin : 0 0 +} + +.wl-emoji-popup.display { + opacity : 1; + visibility: visible; + transform : none +} + +.wl-emoji-popup button { + display : inline-block; + vertical-align: middle; + width : 2em; + margin : .125em; + padding : 0; + border-width : 0; + background : rgba(0, 0, 0, 0); + font-size : inherit; + line-height : 2; + text-align : center; + cursor : pointer +} + +.wl-emoji-popup button:hover { + background: var(--waline-bgcolor-hover) +} + +.wl-emoji-popup .wl-emoji { + display : inline-block; + vertical-align: middle; + max-width : 1.5em; + max-height : 1.5em +} + +.wl-emoji-popup .wl-tab-wrapper { + overflow-y: auto; + max-height: 145px; + padding : .5em +} + +.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar { + width : 6px; + height: 6px +} + +.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar-track-piece:vertical { + -webkit-border-radius: 6px; + border-radius : 6px; + background : rgba(0, 0, 0, .1) +} + +.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar-thumb:vertical { + width : 6px; + -webkit-border-radius: 6px; + border-radius : 6px; + background : var(--waline-theme-color) +} + +.wl-emoji-popup .wl-tabs { + position : relative; + overflow-x : auto; + padding : 0 6px; + white-space: nowrap +} + +.wl-emoji-popup .wl-tabs::before { + content : " "; + position : absolute; + top : 0; + right : 0; + left : 0; + z-index : 2; + height : 1px; + background: var(--waline-border-color) +} + +.wl-emoji-popup .wl-tabs::-webkit-scrollbar { + width : 6px; + height: 6px +} + +.wl-emoji-popup .wl-tabs::-webkit-scrollbar-track-piece:horizontal { + -webkit-border-radius: 6px; + border-radius : 6px; + background : rgba(0, 0, 0, .1) +} + +.wl-emoji-popup .wl-tabs::-webkit-scrollbar-thumb:horizontal { + height : 6px; + -webkit-border-radius: 6px; + border-radius : 6px; + background : var(--waline-theme-color) +} + +.wl-emoji-popup .wl-tab { + position: relative; + margin : 0; + padding : 0 .5em +} + +.wl-emoji-popup .wl-tab.active { + z-index : 3; + border : 1px solid var(--waline-border-color); + border-top-width : 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius : 6px; + background : var(--waline-bgcolor) +} + +.wl-gif-popup { + position : absolute; + top : 100%; + inset-inline-start: 1.25em; + z-index : 10; + width : calc(100% - 3em); + padding : .75em .75em .25em; + border : var(--waline-border); + border-radius : 6px; + background : var(--waline-bgcolor); + box-shadow : var(--waline-box-shadow); + opacity : 0; + visibility : hidden; + transition : transform .2s ease-out, opacity .2s ease-out; + transform : scale(0.9, 0.9); + transform-origin : 0 0 +} + +.wl-gif-popup.display { + opacity : 1; + visibility: visible; + transform : none +} + +.wl-gif-popup input { + box-sizing : border-box; + width : 100%; + margin-bottom: 10px; + padding : 3px 5px; + border : var(--waline-border) +} + +.wl-gif-popup img { + display : block; + box-sizing : border-box; + width : 100%; + border-width: 2px; + border-style: solid; + border-color: #fff; + cursor : pointer +} + +.wl-gif-popup img:hover { + border-color : var(--waline-theme-color); + border-radius: 2px +} + +.wl-gallery { + display : flex; + overflow-y: auto; + max-height: 80vh +} + +.wl-gallery-column { + display : flex; + flex : 1; + flex-direction: column; + height : -webkit-max-content; + height : -moz-max-content; + height : max-content +} + +.wl-cards .wl-user { + --avatar-size : var(--waline-avatar-size); + position : relative; + margin-inline-end: .75em +} + +@media(max-width: 720px) { + .wl-cards .wl-user { + --avatar-size: var(--waline-m-avatar-size) + } +} + +.wl-cards .wl-user img { + width : var(--avatar-size); + height : var(--avatar-size); + border-radius: var(--waline-avatar-radius); + box-shadow : var(--waline-box-shadow) +} + +.wl-cards .wl-user .verified-icon { + position : absolute; + top : calc(var(--avatar-size)*3/4); + inset-inline-start: calc(var(--avatar-size)*3/4); + border-radius : 50%; + background : var(--waline-bgcolor); + box-shadow : var(--waline-box-shadow) +} + +.wl-card-item { + position: relative; + display : flex; + padding : .5em +} + +.wl-card-item .wl-card-item { + padding-inline-end: 0 +} + +.wl-card { + flex : 1; + width : 0; + padding-bottom: .5em; + border-bottom : 1px dashed var(--waline-border-color) +} + +.wl-card:first-child { + margin-inline-start: 1em +} + +.wl-card-item:last-child>.wl-card { + border-bottom: none +} + +.wl-card .wl-nick svg { + position : relative; + bottom : -0.125em; + line-height: 1 +} + +.wl-card .wl-head { + overflow : hidden; + line-height: 1.5 +} + +.wl-card .wl-head .wl-nick { + position : relative; + display : inline-block; + margin-inline-end: .5em; + font-weight : bold; + font-size : .875em; + line-height : 1; + text-decoration : none +} + +.wl-card span.wl-nick { + color: var(--waline-dark-grey) +} + +.wl-card .wl-badge { + display : inline-block; + margin-inline-end: 1em; + padding : 0 .3em; + border : 1px solid var(--waline-badge-color); + border-radius : 4px; + color : var(--waline-badge-color); + font-size : var(--waline-badge-font-size) +} + +.wl-card .wl-time { + margin-inline-end: .875em; + color : var(--waline-info-color); + font-size : .75em +} + +.wl-card .wl-meta { + position : relative; + line-height: 1 +} + +.wl-card .wl-meta>span { + display : inline-block; + margin-inline-end: .25em; + padding : 2px 4px; + border-radius : .2em; + background : var(--waline-info-bgcolor); + color : var(--waline-info-color); + font-size : var(--waline-info-font-size); + line-height : 1.5 +} + +.wl-card .wl-meta>span:empty { + display: none +} + +.wl-card .wl-comment-actions { + float : right; + line-height: 1 +} + +[dir=rtl] .wl-card .wl-comment-actions { + float: left +} + +.wl-card .wl-delete, +.wl-card .wl-like, +.wl-card .wl-reply, +.wl-card .wl-edit { + display : inline-flex; + align-items: center; + border : none; + background : rgba(0, 0, 0, 0); + color : var(--waline-color); + line-height: 1; + cursor : pointer; + transition : color .2s ease +} + +.wl-card .wl-delete:hover, +.wl-card .wl-like:hover, +.wl-card .wl-reply:hover, +.wl-card .wl-edit:hover { + color: var(--waline-theme-color) +} + +.wl-card .wl-delete.active, +.wl-card .wl-like.active, +.wl-card .wl-reply.active, +.wl-card .wl-edit.active { + color: var(--waline-active-color) +} + +.wl-card .wl-content { + position : relative; + margin-bottom: .75em; + padding-top : .625em; + font-size : .875em; + line-height : 2; + word-wrap : break-word +} + +.wl-card .wl-content.expand { + overflow : hidden; + max-height: 8em; + cursor : pointer +} + +.wl-card .wl-content.expand::before { + content : ""; + position : absolute; + top : 0; + bottom : 3.15em; + inset-inline-start: 0; + z-index : 999; + display : block; + width : 100%; + background : linear-gradient(180deg, #000, rgba(255, 255, 255, 0.9)) +} + +.wl-card .wl-content.expand::after { + content : attr(data-expand); + position : absolute; + bottom : 0; + inset-inline-start: 0; + z-index : 999; + display : block; + width : 100%; + height : 3.15em; + background : rgba(255, 255, 255, .9); + color : #828586; + line-height : 3.15em; + text-align : center +} + +.wl-card .wl-content>*:first-child { + margin-top: 0 +} + +.wl-card .wl-content>*:last-child { + margin-bottom: 0 +} + +.wl-card .wl-admin-actions { + margin : 8px 0; + font-size : 12px; + text-align: right +} + +.wl-card .wl-comment-status { + margin: 0 8px +} + +.wl-card .wl-comment-status .wl-btn { + border-radius: 0 +} + +.wl-card .wl-comment-status .wl-btn:first-child { + border-inline-end: 0; + border-radius : .5em 0 0 .5em +} + +.wl-card .wl-comment-status .wl-btn:last-child { + border-inline-start: 0; + border-radius : 0 .5em .5em 0 +} + +.wl-card .wl-quote { + border-inline-start: 1px dashed rgba(237, 237, 237, .5) +} + +.wl-card .wl-quote .wl-user { + --avatar-size: var(--waline-m-avatar-size) +} + +.wl-close-icon { + color: var(--waline-border-color) +} + +.wl-content .vemoji, +.wl-content .wl-emoji { + display : inline-block; + vertical-align: baseline; + height : 1.25em; + margin : -0.125em .25em +} + +.wl-content .wl-tex { + background: var(--waline-info-bgcolor); + color : var(--waline-info-color) +} + +.wl-content span.wl-tex { + display : inline-block; + margin-inline-end: .25em; + padding : 2px 4px; + border-radius : .2em; + font-size : var(--waline-info-font-size); + line-height : 1.5 +} + +.wl-content p.wl-tex { + text-align: center +} + +.wl-content .katex-display { + overflow : auto hidden; + -webkit-overflow-scrolling: touch; + padding-top : .2em; + padding-bottom : .2em +} + +.wl-content .katex-display::-webkit-scrollbar { + height: 3px +} + +.wl-content .katex-error { + color: red +} + +.wl-count { + flex : 1; + font-weight: bold; + font-size : 1.25em +} + +.wl-empty { + overflow : auto; + padding : 1.25em; + color : var(--waline-color); + text-align: center +} + +.wl-operation { + text-align: center +} + +.wl-operation button { + margin: 1em 0 +} + +.wl-power { + padding : .5em 0; + color : var(--waline-light-grey); + font-size : var(--waline-info-font-size); + text-align: end +} + +.wl-meta-head { + display : flex; + flex-direction: row; + align-items : center; + padding : .375em +} + +.wl-sort { + margin : 0; + list-style-type: none +} + +.wl-sort li { + display : inline-block; + color : var(--waline-info-color); + font-size: .75em; + cursor : pointer +} + +.wl-sort li.active { + color: var(--waline-theme-color) +} + +.wl-sort li+li { + margin-inline-start: 1em +} + +.wl-reaction { + overflow : auto hidden; + margin-bottom: 1.75em; + text-align : center +} + +.wl-reaction img { + width : 100%; + height : 100%; + transition: all 250ms ease-in-out +} + +.wl-reaction-title { + margin : 16px auto; + font-weight: bold; + font-size : 18px +} + +.wl-reaction-list { + display : flex; + flex-direction : row; + gap : 16px; + justify-content: center; + margin : 0; + padding : 8px; + list-style-type: none +} + +@media(max-width: 580px) { + .wl-reaction-list { + gap: 12px + } +} + +[data-waline] .wl-reaction-list { + margin-inline-start: 0 +} + +.wl-reaction-item { + display : flex; + flex-direction: column; + align-items : center; + cursor : pointer +} + +.wl-reaction-item:hover img, +.wl-reaction-item.active img { + transform: scale(1.15) +} + +.wl-reaction-img { + position: relative; + width : 42px; + height : 42px +} + +@media(max-width: 580px) { + .wl-reaction-img { + width : 32px; + height: 32px + } +} + +.wl-reaction-loading { + position : absolute; + top : -4px; + inset-inline-end: -5px; + width : 18px; + height : 18px; + color : var(--waline-theme-color) +} + +.wl-reaction-votes { + position : absolute; + top : -9px; + inset-inline-end: -9px; + min-width : 1em; + padding : 2px; + border : 1px solid var(--waline-theme-color); + border-radius : 1em; + background : var(--waline-bgcolor); + color : var(--waline-theme-color); + font-weight : 700; + font-size : .75em; + line-height : 1 +} + +.wl-reaction-item.active .wl-reaction-votes { + background: var(--waline-theme-color); + color : var(--waline-bgcolor) +} + +.wl-reaction-text { + font-size: .875em +} + +.wl-reaction-item.active .wl-reaction-text { + color: var(--waline-theme-color) +} + +.wl-content pre, +.wl-content pre[class*=language-] { + overflow : auto; + margin : .75rem 0; + padding : 1rem 1.25rem; + border-radius: 6px; + background : var(--waline-code-bgcolor); + line-height : 1.4 +} + +.wl-content pre code, +.wl-content pre[class*=language-] code { + padding : 0; + border-radius: 0; + background : rgba(0, 0, 0, 0) !important; + color : #bbb; + direction : ltr +} + +.wl-content code[class*=language-], +.wl-content pre[class*=language-] { + background : none; + color : #ccc; + font-size : 1em; + font-family : Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace; + text-align : left; + white-space : pre; + word-spacing: normal; + word-wrap : normal; + word-break : normal; + tab-size : 4; + hyphens : none +} + +.wl-content pre[class*=language-] { + overflow: auto +} + +.wl-content :not(pre)>code[class*=language-], +.wl-content pre[class*=language-] { + background: #2d2d2d +} + +.wl-content :not(pre)>code[class*=language-] { + padding : .1em; + border-radius: .3em; + white-space : normal +} + +.wl-content .token.comment, +.wl-content .token.block-comment, +.wl-content .token.prolog, +.wl-content .token.doctype, +.wl-content .token.cdata { + color: #999 +} + +.wl-content .token.punctuation { + color: #ccc +} + +.wl-content .token.tag, +.wl-content .token.attr-name, +.wl-content .token.namespace, +.wl-content .token.deleted { + color: #e2777a +} + +.wl-content .token.function-name { + color: #6196cc +} + +.wl-content .token.boolean, +.wl-content .token.number, +.wl-content .token.function { + color: #f08d49 +} + +.wl-content .token.property, +.wl-content .token.class-name, +.wl-content .token.constant, +.wl-content .token.symbol { + color: #f8c555 +} + +.wl-content .token.selector, +.wl-content .token.important, +.wl-content .token.atrule, +.wl-content .token.keyword, +.wl-content .token.builtin { + color: #cc99cd +} + +.wl-content .token.string, +.wl-content .token.char, +.wl-content .token.attr-value, +.wl-content .token.regex, +.wl-content .token.variable { + color: #7ec699 +} + +.wl-content .token.operator, +.wl-content .token.entity, +.wl-content .token.url { + color: #67cdcc +} + +.wl-content .token.important, +.wl-content .token.bold { + font-weight: bold +} + +.wl-content .token.italic { + font-style: italic +} + +.wl-content .token.entity { + cursor: help +} + +.wl-content .token.inserted { + color: green +} + +.wl-recent-item p { + display: inline +} + +.wl-user-list { + padding : 0; + list-style: none +} + +.wl-user-list a, +.wl-user-list a:hover, +.wl-user-list a:visited { + color : var(--waline-color); + text-decoration: none +} + +.wl-user-list .wl-user-avatar { + position : relative; + display : inline-block; + overflow : hidden; + margin-inline-end: 10px; + border-radius : 4px; + line-height : 0 +} + +.wl-user-list .wl-user-avatar>img { + width : var(--waline-user-avatar-size, 48px); + height: var(--waline-user-avatar-size, 48px) +} + +.wl-user-list .wl-user-badge { + position : absolute; + bottom : 0; + inset-inline-end: 0; + min-width : .7em; + height : 1.5em; + padding : 0 .4em; + border-radius : 4px; + background : var(--waline-info-bgcolor); + color : var(--waline-info-color); + font-weight : bold; + font-size : 10px; + line-height : 1.5em; + text-align : center +} + +.wl-user-list .wl-user-item { + margin: 10px 0 +} + +.wl-user-list .wl-user-item:nth-child(1) .wl-user-badge { + background : var(--waline-rank-gold-bgcolor, #fa3939); + color : var(--waline-white); + font-weight: bold +} + +.wl-user-list .wl-user-item:nth-child(2) .wl-user-badge { + background : var(--waline-rank-silver-bgcolor, #fb811c); + color : var(--waline-white); + font-weight: bold +} + +.wl-user-list .wl-user-item:nth-child(3) .wl-user-badge { + background: var(--waline-rank-copper-bgcolor, #feb207); + color : var(--waline-white) +} + +.wl-user-list .wl-user-meta { + display : inline-block; + vertical-align: top +} + +.wl-user-list .wl-badge { + display : inline-block; + vertical-align : text-top; + margin-inline-start: .5em; + padding : 0 .3em; + border : 1px solid var(--waline-badge-color); + border-radius : 4px; + color : var(--waline-badge-color); + font-size : var(--waline-badge-font-size) +} + +.wl-user-wall { + padding : 0; + list-style: none +} + +.wl-user-wall .wl-user-badge, +.wl-user-wall .wl-user-meta { + display: none +} + +.wl-user-wall .wl-user-item { + position : relative; + display : inline-block; + transition: transform ease-in-out .2s +} + +.wl-user-wall .wl-user-item::before, +.wl-user-wall .wl-user-item::after { + position : absolute; + bottom : 100%; + left : 50%; + z-index : 10; + opacity : 0; + pointer-events : none; + transition : all .18s ease-out .18s; + transform : translate(-50%, 4px); + transform-origin: top +} + +.wl-user-wall .wl-user-item::before { + content : ""; + width : 0; + height : 0; + border : 5px solid rgba(0, 0, 0, 0); + border-top-color: rgba(16, 16, 16, .95) +} + +.wl-user-wall .wl-user-item::after { + content : attr(aria-label); + margin-bottom: 10px; + padding : .5em 1em; + border-radius: 2px; + background : rgba(16, 16, 16, .95); + color : #fff; + font-size : 12px; + white-space : nowrap +} + +.wl-user-wall .wl-user-item:hover { + transform: scale(1.1) +} + +.wl-user-wall .wl-user-item:hover::before, +.wl-user-wall .wl-user-item:hover::after { + opacity : 1; + pointer-events: none; + transform : translate(-50%, 0) +} + +.wl-user-wall .wl-user-item img { + width : var(--waline-user-avatar-size, 48px); + height: var(--waline-user-avatar-size, 48px) +} + +/*# sourceMappingURL=waline.css.map */ \ No newline at end of file diff --git a/fonts/LXGWWenKaiLite-Regular.woff2 b/fonts/LXGWWenKaiLite-Regular.woff2 new file mode 100644 index 0000000..3106ab0 Binary files /dev/null and b/fonts/LXGWWenKaiLite-Regular.woff2 differ diff --git a/fonts/LXGWWenKaiMono-Regular.woff2 b/fonts/LXGWWenKaiMono-Regular.woff2 new file mode 100644 index 0000000..9078826 Binary files /dev/null and b/fonts/LXGWWenKaiMono-Regular.woff2 differ diff --git a/fonts/lg.svg b/fonts/lg.svg new file mode 100644 index 0000000..fe8b075 --- /dev/null +++ b/fonts/lg.svg @@ -0,0 +1,54 @@ + + + + + + +{ + "fontFamily": "lg", + "majorVersion": 2, + "minorVersion": 0, + "fontURL": "", + "copyright": "", + "license": "", + "licenseURL": "", + "description": "Font generated by IcoMoon.", + "version": "Version 2.0", + "fontId": "lg", + "psName": "lg", + "subFamily": "Regular", + "fullName": "lg" +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/lg.ttf b/fonts/lg.ttf new file mode 100644 index 0000000..825f483 Binary files /dev/null and b/fonts/lg.ttf differ diff --git a/fonts/lg.woff b/fonts/lg.woff new file mode 100644 index 0000000..fd02a6f Binary files /dev/null and b/fonts/lg.woff differ diff --git a/fonts/lg.woff2 b/fonts/lg.woff2 new file mode 100644 index 0000000..2c2e289 Binary files /dev/null and b/fonts/lg.woff2 differ diff --git a/fonts/notoserifsc-medium-webfont.woff b/fonts/notoserifsc-medium-webfont.woff new file mode 100644 index 0000000..883315d Binary files /dev/null and b/fonts/notoserifsc-medium-webfont.woff differ diff --git a/fonts/notoserifsc-medium-webfont.woff2 b/fonts/notoserifsc-medium-webfont.woff2 new file mode 100644 index 0000000..ba52cb6 Binary files /dev/null and b/fonts/notoserifsc-medium-webfont.woff2 differ diff --git a/fonts/unicons.woff2 b/fonts/unicons.woff2 new file mode 100644 index 0000000..4855685 Binary files /dev/null and b/fonts/unicons.woff2 differ diff --git a/idea/index.html b/idea/index.html new file mode 100644 index 0000000..df07b38 --- /dev/null +++ b/idea/index.html @@ -0,0 +1,329 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + + +
    + + + +
    + + + + +
    + + +
    + + + + + +
    +
    +
    + 以上 +
    + + + +
    + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/img/A4-favicon.png b/img/A4-favicon.png new file mode 100644 index 0000000..ee3d616 Binary files /dev/null and b/img/A4-favicon.png differ diff --git a/img/A4800x500.png b/img/A4800x500.png new file mode 100644 index 0000000..cfaae3b Binary files /dev/null and b/img/A4800x500.png differ diff --git a/img/archive.png b/img/archive.png new file mode 100644 index 0000000..6d01c87 Binary files /dev/null and b/img/archive.png differ diff --git a/img/comment.png b/img/comment.png new file mode 100644 index 0000000..fac6905 Binary files /dev/null and b/img/comment.png differ diff --git a/img/favicon.ico b/img/favicon.ico new file mode 100644 index 0000000..520a338 Binary files /dev/null and b/img/favicon.ico differ diff --git a/img/favicon.png b/img/favicon.png new file mode 100644 index 0000000..dcfde89 Binary files /dev/null and b/img/favicon.png differ diff --git a/img/favicon.webp b/img/favicon.webp new file mode 100644 index 0000000..39862f8 Binary files /dev/null and b/img/favicon.webp differ diff --git a/img/index.png b/img/index.png new file mode 100644 index 0000000..518ac62 Binary files /dev/null and b/img/index.png differ diff --git a/img/loading.gif b/img/loading.gif new file mode 100644 index 0000000..d3bbc80 Binary files /dev/null and b/img/loading.gif differ diff --git a/img/market.png b/img/market.png new file mode 100644 index 0000000..03cbe45 Binary files /dev/null and b/img/market.png differ diff --git a/img/tags&&categories.png b/img/tags&&categories.png new file mode 100644 index 0000000..5dfb3c6 Binary files /dev/null and b/img/tags&&categories.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..f27dfac --- /dev/null +++ b/index.html @@ -0,0 +1,246 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    + + + + +
    + + +
    + + +
    + + + 首页 + + + +   /  文章 + + + + + + + +   /  一些想法 + + + +   /  关于 + + +
    +
    + +
    + + + + + + + +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/index/index.html b/index/index.html new file mode 100644 index 0000000..b942e63 --- /dev/null +++ b/index/index.html @@ -0,0 +1,336 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + + +
    + + + +
    + + + + +
    + + +
    + + + + + +
    +
    +
    + 以上 +
    + + + +
    + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/js/darkmode-js.min.js b/js/darkmode-js.min.js new file mode 100644 index 0000000..667a782 --- /dev/null +++ b/js/darkmode-js.min.js @@ -0,0 +1 @@ +!function (e, t) { "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define("darkmode-js", [], t) : "object" == typeof exports ? exports["darkmode-js"] = t() : e["darkmode-js"] = t() }("undefined" != typeof self ? self : this, (function () { return function (e) { var t = {}; function n(o) { if (t[o]) return t[o].exports; var r = t[o] = { i: o, l: !1, exports: {} }; return e[o].call(r.exports, r, r.exports, n), r.l = !0, r.exports } return n.m = e, n.c = t, n.d = function (e, t, o) { n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: o }) }, n.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }, n.t = function (e, t) { if (1 & t && (e = n(e)), 8 & t) return e; if (4 & t && "object" == typeof e && e && e.__esModule) return e; var o = Object.create(null); if (n.r(o), Object.defineProperty(o, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var r in e) n.d(o, r, function (t) { return e[t] }.bind(null, r)); return o }, n.n = function (e) { var t = e && e.__esModule ? function () { return e.default } : function () { return e }; return n.d(t, "a", t), t }, n.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, n.p = "", n(n.s = 0) }([function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.default = void 0; var o = function (e) { if (e && e.__esModule) return e; var t = {}; if (null != e) for (var n in e) if (Object.prototype.hasOwnProperty.call(e, n)) { var o = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(e, n) : {}; o.get || o.set ? Object.defineProperty(t, n, o) : t[n] = e[n] } return t.default = e, t }(n(1)); var r = o.default; t.default = r, o.IS_BROWSER && function (e) { e.Darkmode = o.default }(window), e.exports = t.default }, function (e, t, n) { "use strict"; function o(e, t) { for (var n = 0; n < t.length; n++) { var o = t[n]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, o.key, o) } } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = t.IS_BROWSER = void 0; var r = "undefined" != typeof window; t.IS_BROWSER = r; var a = function () { function e(t) { if (function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), r) { t = Object.assign({}, { bottom: "32px", right: "32px", left: "unset", time: "0.3s", mixColor: "#fff", backgroundColor: "#fff", buttonColorDark: "#100f2c", buttonColorLight: "#fff", label: "", saveInCookies: !0, autoMatchOsTheme: !0 }, t); var n = "\n .darkmode-layer {\n position: fixed;\n pointer-events: none;\n background: ".concat(t.mixColor, ";\n transition: all ").concat(t.time, " ease;\n mix-blend-mode: difference;\n }\n\n .darkmode-layer--button {\n width: 2.9rem;\n height: 2.9rem;\n border-radius: 50%;\n right: ").concat(t.right, ";\n bottom: ").concat(t.bottom, ";\n left: ").concat(t.left, ";\n }\n\n .darkmode-layer--simple {\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n transform: scale(1) !important;\n }\n\n .darkmode-layer--expanded {\n transform: scale(100);\n border-radius: 0;\n }\n\n .darkmode-layer--no-transition {\n transition: none;\n }\n\n .darkmode-toggle {\n background: ").concat(t.buttonColorDark, ";\n width: 3rem;\n height: 3rem;\n position: fixed;\n border-radius: 50%;\n border:none;\n right: ").concat(t.right, ";\n bottom: ").concat(t.bottom, ";\n left: ").concat(t.left, ";\n cursor: pointer;\n transition: all 0.5s ease;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .darkmode-toggle--white {\n background: ").concat(t.buttonColorLight, ";\n }\n\n .darkmode-toggle--inactive {\n display: none;\n }\n\n .darkmode-background {\n background: ").concat(t.backgroundColor, ";\n position: fixed;\n pointer-events: none;\n z-index: -10;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n }\n\n img, .darkmode-ignore {\n isolation: isolate;\n display: inline-block;\n }\n\n @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .darkmode-toggle {display: none !important}\n }\n\n @supports (-ms-ime-align:auto), (-ms-accelerator:true) {\n .darkmode-toggle {display: none !important}\n }\n "), o = document.createElement("div"), a = document.createElement("button"), i = document.createElement("div"); a.innerHTML = t.label, a.classList.add("darkmode-toggle--inactive"), o.classList.add("darkmode-layer"), i.classList.add("darkmode-background"); var d = "true" === window.localStorage.getItem("darkmode"), s = t.autoMatchOsTheme && window.matchMedia("(prefers-color-scheme: dark)").matches, l = null === window.localStorage.getItem("darkmode"); (!0 === d && t.saveInCookies || l && s) && (o.classList.add("darkmode-layer--expanded", "darkmode-layer--simple", "darkmode-layer--no-transition"), a.classList.add("darkmode-toggle--white"), document.body.classList.add("darkmode--activated")), document.body.insertBefore(a, document.body.firstChild), document.body.insertBefore(o, document.body.firstChild), document.body.insertBefore(i, document.body.firstChild), this.addStyle(n), this.button = a, this.layer = o, this.saveInCookies = t.saveInCookies, this.time = t.time } } var t, n, a; return t = e, (n = [{ key: "addStyle", value: function (e) { var t = document.createElement("link"); t.setAttribute("rel", "stylesheet"), t.setAttribute("type", "text/css"), t.setAttribute("href", "data:text/css;charset=UTF-8," + encodeURIComponent(e)), document.head.appendChild(t) } }, { key: "showWidget", value: function () { var e = this; if (r) { var t = this.button, n = this.layer, o = 1e3 * parseFloat(this.time); t.classList.add("darkmode-toggle"), t.classList.remove("darkmode-toggle--inactive"), t.setAttribute("aria-label", "Activate dark mode"), t.setAttribute("aria-checked", "false"), t.setAttribute("role", "checkbox"), n.classList.add("darkmode-layer--button"), t.addEventListener("click", (function () { var r = e.isActivated(); r ? (n.classList.remove("darkmode-layer--simple"), t.setAttribute("disabled", !0), setTimeout((function () { n.classList.remove("darkmode-layer--no-transition"), n.classList.remove("darkmode-layer--expanded"), t.removeAttribute("disabled") }), 1)) : (n.classList.add("darkmode-layer--expanded"), t.setAttribute("disabled", !0), setTimeout((function () { n.classList.add("darkmode-layer--no-transition"), n.classList.add("darkmode-layer--simple"), t.removeAttribute("disabled") }), o)), t.classList.toggle("darkmode-toggle--white"), document.body.classList.toggle("darkmode--activated"), window.localStorage.setItem("darkmode", !r) })) } } }, { key: "toggle", value: function () { if (r) { var e = this.layer, t = this.isActivated(), n = this.button; e.classList.toggle("darkmode-layer--simple"), document.body.classList.toggle("darkmode--activated"), window.localStorage.setItem("darkmode", !t), n.setAttribute("aria-label", "De-activate dark mode"), n.setAttribute("aria-checked", "true") } } }, { key: "isActivated", value: function () { return r ? document.body.classList.contains("darkmode--activated") : null } }]) && o(t.prototype, n), a && o(t, a), e }(); t.default = a }]) })); \ No newline at end of file diff --git a/js/hitokoto.js b/js/hitokoto.js new file mode 100644 index 0000000..cd00716 --- /dev/null +++ b/js/hitokoto.js @@ -0,0 +1,14 @@ +fetch('https://v1.hitokoto.cn/?c=k') // 具体接口信息:https://developer.hitokoto.cn/sentence/ + .then(function (res) { + return res.json(); + }) + .then(function (data) { + var hitokoto = document.getElementById('quote') + hitokoto.innerText = data.hitokoto; + }) + .catch(function (err) { + console.error(err); + }) + + + diff --git a/js/lightgallery.min.js b/js/lightgallery.min.js new file mode 100644 index 0000000..c8f89fc --- /dev/null +++ b/js/lightgallery.min.js @@ -0,0 +1,7 @@ +/**! + * lightgallery.js | 1.4.0 | October 13th 2020 + * http://sachinchoolur.github.io/lightgallery.js/ + * Copyright (c) 2016 Sachin N; + * @license GPLv3 + */ +!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Lightgallery=e()}}(function(){var e,t,s;return function(){function e(t,s,l){function i(r,a){if(!s[r]){if(!t[r]){var d="function"==typeof require&&require;if(!a&&d)return d(r,!0);if(o)return o(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var u=s[r]={exports:{}};t[r][0].call(u.exports,function(e){return i(t[r][1][e]||e)},u,u.exports,e,t,s,l)}return s[r].exports}for(var o="function"==typeof require&&require,r=0;r2&&void 0!==arguments[2]?arguments[2]:null;if(t){var i=new CustomEvent(s,{detail:l});t.dispatchEvent(i)}},Listener:{uid:0},on:function e(s,l,i){var o=this;s&&l.split(" ").forEach(function(e){var l=o.getAttribute(s,"lg-event-uid")||"";t.Listener.uid++,l+="&"+t.Listener.uid,o.setAttribute(s,"lg-event-uid",l),t.Listener[e+t.Listener.uid]=i,s.addEventListener(e.split(".")[0],i,!1)})},off:function e(s,l){if(s){var i=this.getAttribute(s,"lg-event-uid");if(i){i=i.split("&");for(var o=0;o-1&&(s.removeEventListener(a.split(".")[0],t.Listener[a]),this.setAttribute(s,"lg-event-uid",this.getAttribute(s,"lg-event-uid").replace("&"+i[o],"")),delete t.Listener[a]);else s.removeEventListener(r.split(".")[0],t.Listener[r]),this.setAttribute(s,"lg-event-uid",this.getAttribute(s,"lg-event-uid").replace("&"+i[o],"")),delete t.Listener[r]}}}},param:function e(t){return Object.keys(t).map(function(e){return encodeURIComponent(e)+"="+encodeURIComponent(t[e])}).join("&")}};e.default=t})},{}],2:[function(t,s,l){!function(s,i){if("function"==typeof e&&e.amd)e(["./lg-utils"],i);else if(void 0!==l)i(t("./lg-utils"));else{var o={exports:{}};i(s.lgUtils),s.lightgallery=o.exports}}(this,function(e){"use strict";function t(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(this.el=e,this.s=i({},o,t),this.s.dynamic&&"undefined"!==this.s.dynamicEl&&this.s.dynamicEl.constructor===Array&&!this.s.dynamicEl.length)throw"When using dynamic mode, you must also define dynamicEl as an Array.";return this.modules={},this.lGalleryOn=!1,this.lgBusy=!1,this.hideBartimeout=!1,this.isTouch="ontouchstart"in document.documentElement,this.s.slideEndAnimatoin&&(this.s.hideControlOnEnd=!1),this.items=[],this.s.dynamic?this.items=this.s.dynamicEl:"this"===this.s.selector?this.items.push(this.el):""!==this.s.selector?this.s.selectWithin?this.items=document.querySelector(this.s.selectWithin).querySelectorAll(this.s.selector):this.items=this.el.querySelectorAll(this.s.selector):this.items=this.el.children,this.___slide="",this.outer="",this.init(),this}var l=t(e),i=Object.assign||function(e){for(var t=1;te.items.length&&(e.s.preload=e.items.length);var t=window.location.hash;if(t.indexOf("lg="+this.s.galleryId)>0&&(e.index=parseInt(t.split("&slide=")[1],10),l.default.addClass(document.body,"lg-from-hash"),l.default.hasClass(document.body,"lg-on")||(l.default.addClass(document.body,"lg-on"),setTimeout(function(){e.build(e.index)}))),e.s.dynamic)l.default.trigger(this.el,"onBeforeOpen"),e.index=e.s.index||0,l.default.hasClass(document.body,"lg-on")||(l.default.addClass(document.body,"lg-on"),setTimeout(function(){e.build(e.index)}));else for(var s=0;s1&&(t.arrow(),setTimeout(function(){t.enableDrag(),t.enableSwipe()},50),t.s.mousewheel&&t.mousewheel()),t.counter(),t.closeGallery(),l.default.trigger(t.el,"onAfterOpen"),t.s.hideBarsDelay>0){var i=setTimeout(function(){l.default.addClass(t.outer,"lg-hide-items")},t.s.hideBarsDelay);l.default.on(t.outer,"mousemove.lg click.lg touchstart.lg",function(){clearTimeout(i),l.default.removeClass(t.outer,"lg-hide-items"),clearTimeout(t.hideBartimeout),t.hideBartimeout=setTimeout(function(){l.default.addClass(t.outer,"lg-hide-items")},t.s.hideBarsDelay)})}},s.prototype.structure=function(){var e="",t="",s=0,i="",o,r=this;for(document.body.insertAdjacentHTML("beforeend",'
    '),l.default.setVendor(document.querySelector(".lg-backdrop"),"TransitionDuration",this.s.backdropDuration+"ms"),s=0;s
    ';if(this.s.controls&&this.items.length>1&&(t='
    "),".lg-sub-html"===this.s.appendSubHtmlTo&&(i='
    '),o='",document.body.insertAdjacentHTML("beforeend",o),this.outer=document.querySelector(".lg-outer"),this.outer.focus(),this.___slide=this.outer.querySelectorAll(".lg-item"),this.s.useLeft?(l.default.addClass(this.outer,"lg-use-left"),this.s.mode="lg-slide"):l.default.addClass(this.outer,"lg-use-css3"),r.setTop(),l.default.on(window,"resize.lg orientationchange.lg",function(){setTimeout(function(){r.setTop()},100)}),l.default.addClass(this.___slide[this.index],"lg-current"),this.doCss()?l.default.addClass(this.outer,"lg-css3"):(l.default.addClass(this.outer,"lg-css"),this.s.speed=0),l.default.addClass(this.outer,this.s.mode),this.s.enableDrag&&this.items.length>1&&l.default.addClass(this.outer,"lg-grab"),this.s.showAfterLoad&&l.default.addClass(this.outer,"lg-show-after-load"),this.doCss()){var a=this.outer.querySelector(".lg-inner");l.default.setVendor(a,"TransitionTimingFunction",this.s.cssEasing),l.default.setVendor(a,"TransitionDuration",this.s.speed+"ms")}setTimeout(function(){l.default.addClass(document.querySelector(".lg-backdrop"),"in")}),setTimeout(function(){l.default.addClass(r.outer,"lg-visible")},this.s.backdropDuration),this.s.download&&this.outer.querySelector(".lg-toolbar").insertAdjacentHTML("beforeend",''),this.prevScrollTop=document.documentElement.scrollTop||document.body.scrollTop},s.prototype.setTop=function(){if("100%"!==this.s.height){var e=window.innerHeight,t=(e-parseInt(this.s.height,10))/2,s=this.outer.querySelector(".lg");e>=parseInt(this.s.height,10)?s.style.top=t+"px":s.style.top="0px"}},s.prototype.doCss=function(){return!!function e(){var t=["transition","MozTransition","WebkitTransition","OTransition","msTransition","KhtmlTransition"],s=document.documentElement,l=0;for(l=0;l'+(parseInt(this.index,10)+1)+' / '+this.items.length+"
    ")},s.prototype.addHtml=function(e){var t=null,s;if(this.s.dynamic?t=this.s.dynamicEl[e].subHtml:(s=this.items[e],t=s.getAttribute("data-sub-html"),this.s.getCaptionFromTitleOrAlt&&!t&&(t=s.getAttribute("title"))&&s.querySelector("img")&&(t=s.querySelector("img").getAttribute("alt"))),void 0!==t&&null!==t){var i=t.substring(0,1);"."!==i&&"#"!==i||(t=this.s.subHtmlSelectorRelative&&!this.s.dynamic?s.querySelector(t).innerHTML:document.querySelector(t).innerHTML)}else t="";".lg-sub-html"===this.s.appendSubHtmlTo?this.outer.querySelector(this.s.appendSubHtmlTo).innerHTML=t:this.___slide[e].insertAdjacentHTML("beforeend",t),void 0!==t&&null!==t&&(""===t?l.default.addClass(this.outer.querySelector(this.s.appendSubHtmlTo),"lg-empty-html"):l.default.removeClass(this.outer.querySelector(this.s.appendSubHtmlTo),"lg-empty-html")),l.default.trigger(this.el,"onAfterAppendSubHtml",{index:e})},s.prototype.preload=function(e){var t=1,s=1;for(t=1;t<=this.s.preload&&!(t>=this.items.length-e);t++)this.loadContent(e+t,!1,0);for(s=1;s<=this.s.preload&&!(e-s<0);s++)this.loadContent(e-s,!1,0)},s.prototype.loadContent=function(e,t,s){var i=this,o=!1,r,a,d,n,u,c,g,f=function e(t){for(var s=[],l=[],i=0;ir){a=l[d];break}};if(i.s.dynamic){if(i.s.dynamicEl[e].poster&&(o=!0,d=i.s.dynamicEl[e].poster),c=i.s.dynamicEl[e].html,a=i.s.dynamicEl[e].src,g=i.s.dynamicEl[e].alt,i.s.dynamicEl[e].responsive){f(i.s.dynamicEl[e].responsive.split(","))}n=i.s.dynamicEl[e].srcset,u=i.s.dynamicEl[e].sizes}else{if(i.items[e].getAttribute("data-poster")&&(o=!0,d=i.items[e].getAttribute("data-poster")),c=i.items[e].getAttribute("data-html"),a=i.items[e].getAttribute("href")||i.items[e].getAttribute("data-src"),g=i.items[e].getAttribute("title"),i.items[e].querySelector("img")&&(g=g||i.items[e].querySelector("img").getAttribute("alt")),i.items[e].getAttribute("data-responsive")){f(i.items[e].getAttribute("data-responsive").split(","))}n=i.items[e].getAttribute("data-srcset"),u=i.items[e].getAttribute("data-sizes")}var h=!1;i.s.dynamic?i.s.dynamicEl[e].iframe&&(h=!0):"true"===i.items[e].getAttribute("data-iframe")&&(h=!0);var m=i.isVideo(a,e);if(!l.default.hasClass(i.___slide[e],"lg-loaded")){if(h)i.___slide[e].insertAdjacentHTML("afterbegin",'
    ');else if(o){var p="";p=m&&m.youtube?"lg-has-youtube":m&&m.vimeo?"lg-has-vimeo":"lg-has-html5",i.___slide[e].insertAdjacentHTML("beforeend",'
    ')}else m?(i.___slide[e].insertAdjacentHTML("beforeend",'
    '),l.default.trigger(i.el,"hasVideo",{index:e,src:a,html:c})):(g=g?'alt="'+g+'"':"",i.___slide[e].insertAdjacentHTML("beforeend",'
    '));if(l.default.trigger(i.el,"onAferAppendSlide",{index:e}),r=i.___slide[e].querySelector(".lg-object"),u&&r.setAttribute("sizes",u),n&&(r.setAttribute("srcset",n),this.s.supportLegacyBrowser))try{picturefill({elements:[r[0]]})}catch(e){console.warn("If you want srcset to be supported for older browsers, please include picturefil javascript library in your document.")}".lg-sub-html"!==this.s.appendSubHtmlTo&&i.addHtml(e),l.default.addClass(i.___slide[e],"lg-loaded")}l.default.on(i.___slide[e].querySelector(".lg-object"),"load.lg error.lg",function(){var t=0;s&&!l.default.hasClass(document.body,"lg-from-hash")&&(t=s),setTimeout(function(){l.default.addClass(i.___slide[e],"lg-complete"),l.default.trigger(i.el,"onSlideItemLoad",{index:e,delay:s||0})},t)}),m&&m.html5&&!o&&l.default.addClass(i.___slide[e],"lg-complete"),!0===t&&(l.default.hasClass(i.___slide[e],"lg-complete")?i.preload(e):l.default.on(i.___slide[e].querySelector(".lg-object"),"load.lg error.lg",function(){i.preload(e)}))},s.prototype.slide=function(e,t,s){for(var i=0,o=0;oi&&(n=!0,e!==a-1||0!==i||s||(u=!0,n=!1)),u?(l.default.addClass(this.___slide[e],"lg-prev-slide"),l.default.addClass(this.___slide[i],"lg-next-slide")):n&&(l.default.addClass(this.___slide[e],"lg-next-slide"),l.default.addClass(this.___slide[i],"lg-prev-slide")),setTimeout(function(){l.default.removeClass(r.outer.querySelector(".lg-current"),"lg-current"),l.default.addClass(r.___slide[e],"lg-current"),l.default.removeClass(r.outer,"lg-no-trans")},50)}r.lGalleryOn?(setTimeout(function(){r.loadContent(e,!0,0)},this.s.speed+50),setTimeout(function(){r.lgBusy=!1,l.default.trigger(r.el,"onAfterSlide",{prevIndex:i,index:e,fromTouch:t,fromThumb:s})},this.s.speed)):(r.loadContent(e,!0,r.s.backdropDuration),r.lgBusy=!1,l.default.trigger(r.el,"onAfterSlide",{prevIndex:i,index:e,fromTouch:t,fromThumb:s})),r.lGalleryOn=!0,this.s.counter&&document.getElementById("lg-counter-current")&&(document.getElementById("lg-counter-current").innerHTML=e+1)}}},s.prototype.goToNextSlide=function(e){var t=this;t.lgBusy||(t.index+10?(t.index--,l.default.trigger(t.el,"onBeforePrevSlide",{index:t.index,fromTouch:e}),t.slide(t.index,e,!1)):t.s.loop?(t.index=t.items.length-1,l.default.trigger(t.el,"onBeforePrevSlide",{index:t.index,fromTouch:e}),t.slide(t.index,e,!1)):t.s.slideEndAnimatoin&&(l.default.addClass(t.outer,"lg-left-end"),setTimeout(function(){l.default.removeClass(t.outer,"lg-left-end")},400)))},s.prototype.keyPress=function(){var e=this;this.items.length>1&&l.default.on(window,"keyup.lg",function(t){e.items.length>1&&(37===t.keyCode&&(t.preventDefault(),e.goToPrevSlide()),39===t.keyCode&&(t.preventDefault(),e.goToNextSlide()))}),l.default.on(window,"keydown.lg",function(t){!0===e.s.escKey&&27===t.keyCode&&(t.preventDefault(),l.default.hasClass(e.outer,"lg-thumb-open")?l.default.removeClass(e.outer,"lg-thumb-open"):e.destroy())})},s.prototype.arrow=function(){var e=this;l.default.on(this.outer.querySelector(".lg-prev"),"click.lg",function(){e.goToPrevSlide()}),l.default.on(this.outer.querySelector(".lg-next"),"click.lg",function(){e.goToNextSlide()})},s.prototype.arrowDisable=function(e){if(!this.s.loop&&this.s.hideControlOnEnd){var t=this.outer.querySelector(".lg-next"),s=this.outer.querySelector(".lg-prev");e+10?(s.removeAttribute("disabled"),l.default.removeClass(s,"disabled")):(s.setAttribute("disabled","disabled"),l.default.addClass(s,"disabled"))}},s.prototype.setTranslate=function(e,t,s){this.s.useLeft?e.style.left=t:l.default.setVendor(e,"Transform","translate3d("+t+"px, "+s+"px, 0px)")},s.prototype.touchMove=function(e,t){var s=t-e;Math.abs(s)>15&&(l.default.addClass(this.outer,"lg-dragging"),this.setTranslate(this.___slide[this.index],s,0),this.setTranslate(document.querySelector(".lg-prev-slide"),-this.___slide[this.index].clientWidth+s,0),this.setTranslate(document.querySelector(".lg-next-slide"),this.___slide[this.index].clientWidth+s,0))},s.prototype.touchEnd=function(e){var t=this;"lg-slide"!==t.s.mode&&l.default.addClass(t.outer,"lg-slide");for(var s=0;st.s.swipeThreshold?t.goToNextSlide(!0):e>0&&Math.abs(e)>t.s.swipeThreshold?t.goToPrevSlide(!0):Math.abs(e)<5&&l.default.trigger(t.el,"onSlideClick");for(var s=0;s-1&&l.default.addClass(this.___slide[t],"lg-prev-slide"),l.default.addClass(this.___slide[e],"lg-next-slide")},s.prototype.mousewheel=function(){var e=this;l.default.on(e.outer,"mousewheel.lg",function(t){t.deltaY&&(t.deltaY>0?e.goToPrevSlide():e.goToNextSlide(),t.preventDefault())})},s.prototype.closeGallery=function(){var e=this,t=!1;l.default.on(this.outer.querySelector(".lg-close"),"click.lg",function(){e.destroy()}),e.s.closable&&(l.default.on(e.outer,"mousedown.lg",function(e){t=!!(l.default.hasClass(e.target,"lg-outer")||l.default.hasClass(e.target,"lg-item")||l.default.hasClass(e.target,"lg-img-wrap"))}),l.default.on(e.outer,"mouseup.lg",function(s){(l.default.hasClass(s.target,"lg-outer")||l.default.hasClass(s.target,"lg-item")||l.default.hasClass(s.target,"lg-img-wrap")&&t)&&(l.default.hasClass(e.outer,"lg-dragging")||e.destroy())}))},s.prototype.destroy=function(e){var t=this;if(e||l.default.trigger(t.el,"onBeforeClose"),document.body.scrollTop=t.prevScrollTop,document.documentElement.scrollTop=t.prevScrollTop,e){if(!t.s.dynamic)for(var s=0;s
    ") + '
    ', r = 0; r < this.packages.length; r++) { n += '
      '); for (var i = this.odata[this.packages[r]].container, o = 0; o < i.length; o++) { var a = i[o].icon.replace("').concat(a, "") } n += "
    " } n += '
      '; for (var s = 0; s < this.packages.length; s++)n += "
    • ".concat(this.packages[s], "
    • "); n += "
    ", this.container.innerHTML = n, this.logo = this.container.getElementsByClassName("OwO-logo")[0], this.logo.addEventListener("click", (function () { t.toggle() })), this.container.getElementsByClassName("OwO-body")[0].addEventListener("click", (function (e) { var n = null; if (e.target.classList.contains("OwO-item") ? n = e.target : e.target.parentNode.classList.contains("OwO-item") && (n = e.target.parentNode), n) { var r = t.area.selectionEnd, i = t.area.value, o = n.innerHTML; if (-1 !== o.indexOf(" 2 && f[2] !== undefined ? f[2] : {}, o = e || (s.app ? s.app.$tcb : null), a = r.envId || s.app.$twikoo.envId, u = r.funcName || (null === s.app || void 0 === s.app ? void 0 : s.app.$twikoo.funcName) || "twikoo", !o) { t.next = 33; break } return t.prev = 5, t.next = 8, o.app.callFunction({ name: u, data: c({ event: n }, r) }); case 8: case 27: case 36: return t.abrupt("return", t.sent); case 11: t.prev = 11, t.t0 = t["catch"](5), t.t1 = n, t.next = "COMMENT_LIKE" === t.t1 ? 16 : "COMMENT_GET" === t.t1 ? 18 : "COMMENT_SUBMIT" === t.t1 ? 20 : "COUNTER_GET" === t.t1 ? 22 : 24; break; case 16: return d = "comment-like", t.abrupt("break", 24); case 18: return d = "comment-get", t.abrupt("break", 24); case 20: return d = "comment-submit", t.abrupt("break", 24); case 22: return d = "counter-get", t.abrupt("break", 24); case 24: if (!d) { t.next = 30; break } return t.next = 27, o.app.callFunction({ name: d, data: r }); case 30: throw new Error("请升级 Twikoo 云函数版本再试,如果仍无法解决,请删除并重新创建 Twikoo 云函数 - https://twikoo.js.org"); case 31: t.next = 40; break; case 33: if (!l(a)) { t.next = 39; break } return t.next = 36, new Promise((function (e, t) { try { var i = localStorage.getItem("twikoo-access-token"), o = new XMLHttpRequest; o.onreadystatechange = function () { if (4 === o.readyState) if (200 === o.status) { var n = JSON.parse(o.responseText); n.accessToken && localStorage.setItem("twikoo-access-token", n.accessToken), e({ result: n }) } else t(o.status) }, o.open("POST", a), o.setRequestHeader("Content-Type", "application/json"), o.send(JSON.stringify(c({ event: n, accessToken: i }, r))) } catch (s) { t(s) } })); case 39: throw new Error("缺少 envId 配置 - https://twikoo.js.org"); case 40: case "end": return t.stop() } }), t, null, [[5, 11]]) }))); return function (t, n) { return e.apply(this, arguments) } }() }, 4453: function (e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.getQQAvatar = function (e) { var t = e.replace(/@qq.com/gi, ""); return "https://thirdqq.qlogo.cn/g?b=sdk&nk=".concat(t, "&s=140") }, t.isQQ = function (e) { return /^[1-9][0-9]{4,10}$/.test(e) || /^[1-9][0-9]{4,10}@qq.com$/i.test(e) }, t.normalizeMail = function (e) { return String(e).trim().toLowerCase() } }, 2894: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.initMarkedOwo = function (e) { if (e && Object.values(e)) { var t = {}; return Object.values(e).forEach((function (e) { e.container.forEach((function (e) { var n = p(e.icon); n && (t[e.text] = n) })) })), t } }, t.initOwoEmotions = function (e) { return d.apply(this, arguments) }; var i = r(n(818)), o = r(n(5825)), a = r(n(8711)), s = n(2304); function u(e, t) { var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!n) { if (Array.isArray(e) || (n = function (e, t) { if (e) { if ("string" == typeof e) return c(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? c(e, t) : void 0 } }(e)) || t && e && "number" == typeof e.length) { n && (e = n); var r = 0, i = function () { }; return { s: i, n: function () { return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } }, e: function (e) { throw e }, f: i } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var o, a = !0, s = !1; return { s: function () { n = n.call(e) }, n: function () { var e = n.next(); return a = e.done, e }, e: function (e) { s = !0, o = e }, f: function () { try { a || null == n["return"] || n["return"]() } finally { if (s) throw o } } } } function c(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } function l(e) { return new Promise((function (t) { var n = new XMLHttpRequest; n.onreadystatechange = function () { if (4 === n.readyState) if (n.status >= 200 && n.status < 300 || 304 === n.status) { var e = function (e) { try { return Object.values(e).forEach((function (e) { if ("image" === e.type) { var t, n = u(e.container); try { for (n.s(); !(t = n.n()).done;) { var r = t.value; r.text || (r.text = h(p(r.icon))) } } catch (i) { n.e(i) } finally { n.f() } } })), e } catch (t) { s.logger.warn("OwO data is bad: ", t) } }(JSON.parse(n.responseText)); t(e) } else s.logger.warn("OwO data request was unsuccessful: " + n.status) }, n.open("get", e, !0), n.send(null) })) } function d() { return (d = (0, a["default"])(i["default"].mark((function e(t) { var n, r; return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return n = {}, e.next = 3, Promise.all(t.split(",").map((function (e) { return l(e.trim()) }))); case 3: return r = e.sent, Object.assign.apply(Object, [n].concat((0, o["default"])(r))), e.abrupt("return", n); case 6: case "end": return e.stop() } }), e) })))).apply(this, arguments) } var f = document.createElement("template"); function p(e) { try { return f.innerHTML = e, f.content.childNodes[0].src } catch (t) { return "" } } function h(e) { return e.split("#").shift().split("?").shift().split("/").pop() } }, 4508: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t["default"] = void 0; var r, i, o = n(7588), a = function (e, t) { var n = document.getElementById("twikoo"); i && n.contains(i) || !e || "none" === e || ((i = document.createElement("link")).href = "default" === e ? "".concat(t, "/themes/prism.min.css") : "".concat(t, "/themes/prism-").concat(e, ".min.css"), i.rel = "stylesheet", i.type = "text/css", n.appendChild(i)) }; t["default"] = function (e, t) { var i = o.app && o.app.$twikoo.prismCdn ? o.app.$twikoo.prismCdn : "https://cdn.staticfile.org/prism/1.28.0"; window.Prism = window.Prism || {}, window.Prism.manual = !0, r || (r = n(7861), n(164), r.plugins.autoloader.languages_path = "".concat(i, "/components/")), a(t, i), r.highlightAllUnder(e) } }, 2554: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t["default"] = void 0; var i, o = r(n(3295)), a = "ADMIN_COMMENT", s = "ADMIN_CONFIG_CATEGORY", u = "ADMIN_CONFIG_ITEM", c = "ADMIN_IMPORT", l = ["qmsg", "serverchan", "pushplus", "pushplushxtrip", "dingtalk", "wecom", "bark", "gocqhttp", "atri", "pushdeer", "igot", "telegram", "feishu"].map((function (e) { return '"'.concat(e, '"') })), d = ["126", "163", "1und1", "AOL", "DebugMail", "DynectEmail", "FastMail", "GandiMail", "Gmail", "Godaddy", "GodaddyAsia", "GodaddyEurope", "Hotmail", "Mail.ru", "Maildev", "Mailgun", "Mailjet", "Mailosaur", "Mandrill", "Naver", "OpenMailBox", "Outlook365", "Postmark", "QQ", "QQex", "SES", "SES-EU-WEST-1", "SES-US-EAST-1", "SES-US-WEST-2", "SendCloud", "SendGrid", "SendPulse", "SendinBlue", "Sparkpost", "Yahoo", "Yandex", "Zoho", "hot.ee", "iCloud", "mail.ee", "qiye.aliyun"].map((function (e) { return '"'.concat(e, '"') })), f = ["default", "coy", "dark", "funky", "okaidia", "solarizedlight", "tomorrow", "twilight"].map((function (e) { return '"'.concat(e, '"') })), p = ["qcloud", "7bu", "https://7bu.top", "smms"].map((function (e) { return '"'.concat(e, '"') })), h = ["404", "mp", "identicon", "monsterid", "wavatar", "retro", "robohash", "blank"].map((function (e) { return '"'.concat(e, '"') })); t["default"] = (i = { ADMIN_CLIENT_VERSION: ["前端版本:", "前端版本:", "前端版本:", "Client version: ", "Клиент версияси: ", "フロントエンドバージョン:"], ADMIN_SERVER_VERSION: ["云函数版本:", "云函數版本:", "雲端函式版本:", "Server version: ", "Сервернинг версияси: ", "クラウド機能バージョン: "] }, (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, a, ["评论管理", "評論管理", "留言管理", "Comment", "Изоҳ", "コメント管理"]), a + "_DELETE", ["删除", "刪除", "移除", "Delete", "Ўчирмоқ", "削除"]), a + "_DELETE_CONFIRM", ["确认删除?", "確認刪除?", "確認移除?", "Confirm deletion?", "Ўчириш тасдиқлансинми?", "削除を確認する?"]), a + "_FILTER_ALL", ["全部", "全部", "全部", "All", "Ҳаммаси", "全部"]), a + "_FILTER_VISIBLE", ["只看可见", "只看可見", "只看可見", "Visible", "Кўринадиган", "可視のみ"]), a + "_FILTER_HIDDEN", ["只看隐藏", "只看隱藏", "只看隱藏", "Hidden", "Яширилган", "非表示のみ"]), a + "_HIDE", ["隐藏", "隱藏", "隱藏", "Hide", "非表示"]), a + "_IS_SPAM_SUFFIX", [" (已隐藏)", " (已隱藏)", " (已隱藏)", " (Hidden)", " (Яширилган)", " (非表示にされた)"]), a + "_SEARCH", ["搜索", "搜索", "搜尋", "Search", "Излаш", "検索"]), a + "_SEARCH_PLACEHOLDER", ["搜索昵称、邮箱、网址、IP、评论正文、文章地址", "搜索暱稱、郵箱、網址、IP、評論正文、文章地址", "搜索暱稱、郵件、網址、IP、留言正文、文章路徑", "Search by nick, mail, website, IP, comment, or article path", "Тахаллус, почта, веб-сайт, ИП, шарҳ ёки мақола йўли бўйича излаш", "ニックネーム、メールアドレス、ウェブサイトURL、IPアドレス、コメント内容、記事のURLを検索"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, a + "_SHOW", ["显示", "顯示", "顯示", "Show", "Кўрсатиш", "表示"]), a + "_TOP", ["置顶", "置頂", "置頂", "Pin", "Қадамоқ", "トップに固定"]), a + "_UNTOP", ["取消置顶", "取消置頂", "取消置頂", "Unpin", "Қадоқни ечмоқ", "トップ固定を解除"]), a + "_VIEW", ["查看", "查看", "檢視", "View", "Кўриниш", "閲覧"]), "ADMIN_CONFIG", ["配置管理", "配置管理", "設定值管理", "Configuration", "Конфигурация", "設定管理"]), s + "_COMMON", ["通用", "通用", "一般", "General", "Умумий", "共通"]), s + "_IM", ["即时通知", "即時通知", "即時通知", "Instant notification", "Тезкор хабарнома", "即時通知"]), s + "_MAIL", ["邮件通知", "郵件通知", "郵件通知", "Email notification", "Электрон почта хабарномаси", "メール通知"]), s + "_PLUGIN", ["插件", "插件", "擴充功能", "Plugin", "Плагин", "プラグイン"]), s + "_PRIVACY", ["隐私", "隱私", "隱私權", "Privacy", "Шахсий қоидалар", "プライバシー"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, s + "_SPAM", ["反垃圾", "反垃圾", "防垃圾", "Spam", "Спам", "スパム対策"]), "ADMIN_CONFIG_EMAIL_TEST", ["邮件通知测试", "郵件通知測試", "郵件通知測試", "Email notification test", "Электрон почта хабарномаси тести", "メール通知テスト"]), "ADMIN_CONFIG_EMAIL_TEST_BTN", ["发送测试邮件", "發送測試郵件", "發送測試郵件", "Send test mail", "Синов хатини юбориш", "テストメールを送信"]), "ADMIN_CONFIG_EMAIL_TEST_HELP", ["输入一个邮箱地址,发送测试邮件", "輸入一個郵箱位址,發送測試郵件", "輸入一個郵箱帳號,發送測試郵件", "Input an email address & send test mail", "Э-почта манзилини киритинг ва синов хатини юборинг", "メールアドレスを入力し、テストメールを送信してください"]), "ADMIN_CONFIG_EMAIL_TEST_RESULT", ["测试结果:", "測試結果:", "測試結果:", "Test result: ", "Тест натижаси: ", "テスト結果:"]), "ADMIN_CONFIG_EXAMPLE", ["示例:", "示例:", "範例:", "Example: ", "Намуна: ", "例:"]), u + "_AKISMET_KEY", ['Akismet 反垃圾评论,用于垃圾评论检测,设为 "MANUAL_REVIEW" 开启人工审核,留空不使用反垃圾。注册:https://akismet.com', 'Akismet 反垃圾評論,用於垃圾評論檢測,設為 "MANUAL_REVIEW" 開啟人工審核,留空不使用反垃圾。註冊:https://akismet.com', 'Akismet 防垃圾留言,用於垃圾留言檢測,設為 "MANUAL_REVIEW" 以開啟人工審核,留空則不使用防垃圾。註冊:https://akismet.com', 'Akismet spam protection. Set to "MANUAL_REVIEW" to enable manual review. Leave it blank to not use anti-spam. Register Akismet: https://akismet.com', 'Акисмет спам ҳимояси. Қўлда кўриб чиқишни ёқиш учун "MANUAL_REVIEW" га созланг. Анти-спамдан фойдаланмаслик учун уни бўш қолдиринг. Акисметни рўйхатдан ўтказиш: https://akismet.com', 'Akismetは、スパムコメントの検出に使用されるアンチスパムサービスです。"MANUAL_REVIEW"を設定すると、人の手によるレビューが必要なコメントを開始します。コメントのスパム対策にAkismetを使用することで、不要なコメントをブロックし、サイトのセキュリティを向上させることができます。 Akismetの詳細情報と登録は、https://akismet.com で提供されています。']), u + "_BLOGGER_NICK", ["博主的昵称。", "博主的昵稱。", "站長的暱稱。", "Admin nick name.", "Админ исми.", "管理者のニックネーム。"]), u + "_BLOGGER_EMAIL", ["博主的邮箱地址,用于邮件通知、博主标识。", "博主的郵箱地址,用於郵件通知、博主標識。", "站長的郵箱帳號,用於郵件通知、站長認證。", "Admin Email address. Used for Email notification and admin identification.", "Админ электрон почта манзили. Электрон почта хабарномаси ва администратор идентификацияси учун фойдаланилади.", "管理者のメールアドレス、通知、ブロガー識別のため。"]), u + "_COMMENT_BG_IMG", ["评论框自定义背景图片 URL 地址。", "評論框自定義背景圖片 URL 地址。", "留言區塊自訂背景圖片 URL 網址。", "URL for custom background image.", "Махсус фон расми учун УРЛ.", "コメントボックスのカスタム背景画像のURLアドレス。"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, u + "_COMMENT_PAGE_SIZE", ["评论列表分页大小,默认为 8。", "評論列表分頁大小,預設為 8。", "留言列表分頁大小,預設為 8。", "Comment page size. Default: 8.", "Изоҳ саҳифаси ўлчами. Стандарт: 8.", "コメントリストのページサイズ、デフォルトは8。"]), u + "_COMMENT_PLACEHOLDER", ["评论框提示信息,可用
    换行,默认为空", "評論框提示信息,可用
    換行,預設為空", "留言區塊提示資訊,可用
    換行,預設空白", "Comment placeholder. Use
    to start a newline. Default: empty.", "Изоҳ тўлдирувчиси. Янги қаторни бошлаш учун <бр> дан фойдаланинг. Стандарт: бўш.", "コメントボックスのヒントメッセージ、
    で改行可能、デフォルトは空」"]), u + "_CORS_ALLOW_ORIGIN", ["Vercel CORS 安全域名,注意:错误设置会导致无法加载,默认为空,格式为 https://blog.example.com;如需添加多域名请使用,分隔", "Vercel CORS 安全域名,注意:错误设置会导致无法加載,默認為空,格式为 https://blog.example.com;如需添加多域名請使用,分隔", "Vercel CORS 安全網域,注意:設定錯誤將會導致載入失敗,預設空白,格式應為 https://blog.example.com;如需添加多域名請使用,分隔", "Vercel CORS allow origin, note: incorrect settings can cause loading failure. Default: blank, format: https://blog.example.com; If you need to add multiple domain names, please use, separate", "Версел СОРС келиб чиқишига рухсат беради, эътибор беринг: нотўғри созламалар юклашда хатоликка олиб келиши мумкин. Стандарт: бўш, формат: https://blog.example.com; Агар сиз бир нечта домен номларини қўшмоқчи бўлсангиз, илтимос, ажратишдан фойдаланинг.", "Vercel CORS セキュアドメイン、注意:誤った設定は読み込みエラーを引き起こす可能性があります、デフォルトは空、形式は https://blog.example.com です。複数のドメインを追加する場合は、コンマで区切ってください。"]), u + "_DEFAULT_GRAVATAR", ['默认的头像显示。默认值为 "identicon",可选:'.concat(h.join("、")), '預設的頭像顯示。預設值為 "identicon",可選:'.concat(h.join("、")), '預設的大頭貼照圖示。預設值為 "identicon",選項:'.concat(h.join("、")), 'Avatar placeholder. Default: "identicon". Choose from: '.concat(h.join(", ")), "Аватар тўлдирувчиси. Стандарт: «идентификатор». Қуйидагилардан танланг: ".concat(h.join(", ")), 'デフォルトのプロフィール画像表示。デフォルト値は "identicon" で、選択肢は:'.concat(h.join("、"), " です")]), u + "_EMOTION_CDN", ["表情 CDN,英文逗号分隔。默认为:https://owo.imaegoo.com/owo.json", "表情 CDN,英文逗號分隔。預設為:https://owo.imaegoo.com/owo.json", "表情 CDN 來源,使用英文逗號分隔。預設為:https://owo.imaegoo.com/owo.json", "Emotion CDN. Separate by comma. Default: https://owo.imaegoo.com/owo.json", "Emotion CDN. Вергул билан ажратинг. Default: https://owo.imaegoo.com/owo.json", "表情 CDN,英文逗号分隔。默认为:https://owo.imaegoo.com/owo.json"]), u + "_FORBIDDEN_WORDS", ["违禁词配置,包含违禁词的内容会直接标记为垃圾评论。英文逗号分隔。", "違禁詞配置,包含違禁詞的內容會直接標記為垃圾評論。英文逗號分隔。", "禁用詞語設定,包含禁用詞語的內容會直接標記為垃圾留言。使用英文逗號分隔。", "Configure prohibited words. Comments containing prohibited words will be auto spammed. Separate by comma.", "Тақиқланган сўзларни созланг. Тақиқланган сўзларни ўз ичига олган шарҳлар автоматик равишда спамга юборилади. Вергул билан ажратинг.", "禁止語設定、禁止語を含むコンテンツは直ちにスパムコメントとしてマークされます。コンマで区切ってください。"]), u + "_BLOCKED_WORDS", ["屏蔽词配置,包含屏蔽词的内容会直接评论失败。英文逗号分隔。", "屏蔽词配置,包含屏蔽词的内容会直接评论失败。英文逗号分隔。", "屏蔽词配置,包含屏蔽词的内容会直接评论失败。英文逗号分隔。", "Configure blocked words. Comments containing blocked words will fail to send. Separate by comma.", "Configure blocked words. Comments containing blocked words will fail to send. Separate by comma.", "Configure blocked words. Comments containing blocked words will fail to send. Separate by comma."]), u + "_GRAVATAR_CDN", ["自定义头像 CDN 地址。如:cn.gravatar.com, cravatar.cn, sdn.geekzu.org, gravatar.loli.net,默认:cravatar.cn", "自定義頭像 CDN 地址。如:cn.gravatar.com, cravatar.cn, sdn.geekzu.org, gravatar.loli.net,預設:cravatar.cn", "自訂大頭貼照 CDN 來源。如:cn.gravatar.com, cravatar.cn, sdn.geekzu.org, gravatar.loli.net,預設:cravatar.cn", "Custom avator CDN. (Examples: gravatar.com) Default: cravatar.cn.", "Custom avator CDN. (Мисоллар: gravatar.com) Default: cravatar.cn.", "カスタムプロフィール画像CDNアドレス。例:cn.gravatar.com、cravatar.cn、sdn.geekzu.org、gravatar.loli.net、デフォルト:cravatar.cn"]), u + "_HIDE_ADMIN_CRYPT", ["隐藏管理面板入口。可设置一个“暗号”,只有在“昵称”一栏输入相同的“暗号”时,管理面板入口才会显示,留空则不隐藏管理入口", "隱藏管理面板入口。可設定一個“暗號”,只有在“暱稱”一欄輸入相同的“暗號”時,管理面板入口才會顯示,留空則不隱藏管理入口", "隱藏管理控制台入口。可設定一個“暗號”,只有在「暱稱」一欄輸入相同的「暗號」時,管理控制台入口才會顯示,留白則不隱藏管理入口", "Set a cipher to hide the management panel entrance, only when the same cipher is entered in the nickname field the management panel entry will be displayed. Leave it blank to not hide the management entrance.", "Бошқарув панелига киришни яшириш учун шифрни ўрнатинг, фақат тахаллус майдонига худди шу шифр киритилганда бошқарув панелидаги ёзув кўрсатилади. Бошқарув киришини яширмаслик учун уни бўш қолдиринг.", '管理パネルのエントリを非表示にする。 "パスワード" を設定でき、 "ニックネーム" 列に同じ "パスワード" を入力した場合のみ、管理パネルのエントリが表示されます。空白の場合、管理エントリは非表示にされません。']), u + "_HIGHLIGHT", ["启用代码高亮功能。如果您的主题和代码高亮有冲突,请设为 false。默认:true", "啟用代碼高亮功能。如果您的主題和代碼高亮有衝突,請設為 false。預設:true", "啟用程式碼醒目顯示功能。如果您的主題和此功能發生衝突,請設定為 false。預設:true", "Enable code highlighting. If your theme conflicts with code highlighting, please set it to false. Default: true.", "Кодни ажратиб кўрсатишни ёқинг. Агар мавзуингиз кодни ажратиб кўрсатишга зид бўлса, уни «фалсе» га ўрнатинг. Стандарт: рост.", "コードハイライト機能を有効にします。テーマとコードハイライトに競合がある場合、falseに設定してください。デフォルト:true"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, u + "_HIGHLIGHT_THEME", ["代码高亮主题,可选:".concat(f.join("、"), ",访问 https://prismjs.com 可预览主题效果。如果您的主题和代码高亮有冲突,请设为 none。默认:none"), "代碼高亮主題,可選:".concat(f.join("、"), ",訪問 https://prismjs.com 可預覽主題效果。如果您的主題和代碼高亮有衝突,請設為 none。預設:none"), "程式碼醒目顯示主題,選項:".concat(f.join("、"), ",瀏覽 https://prismjs.com 可預覽主題效果。如果您的主題和此功能發生衝突,請設定為 none。預設:none"), "Code highlighting theme. Select from: ".concat(f.join(", "), ". Visit https://prismjs.com for preview. If your theme conflicts with code highlighting, please set it to none. Default: none."), "Кодни таъкидлаш мавзуси. Қуйидагилардан танланг: ".concat(f.join(", "), ". Олдиндан кўриш учун https://prismjs.com сайтига ташриф буюринг. Агар мавзуингиз кодни ажратиб кўрсатишга зид бўлса, уни «Ҳеч» га ўрнатинг. Стандарт: йўқ."), "コードハイライトのテーマ、選択肢:".concat(f.join("、"), "、テーマの効果をプレビューするには https://prismjs.com を訪問してください。テーマとコードハイライトに競合がある場合、noneに設定してください。デフォルト:none")]), u + "_IMAGE_CDN", ["插入图片所使用的图床,目前支持:".concat(p.join("、")), "插入圖片所使用的圖床,目前支持:".concat(p.join("、")), "插入圖片所使用的圖床,目前支援:".concat(p.join("、")), "The image bed for image uploading. Select from: ".concat(p.join(", ")), "Расм юклаш учун расм тўшаги. Қуйидагилардан танланг: ".concat(p.join(", ")), "画像のアップロードに使用する画像ホスティングサービス、現在のサポート:".concat(p.join("、"))]), u + "_IMAGE_CDN_TOKEN", ["图床 token。qcloud 图床无需设置", "图床 token。qcloud 图床无需设置", "圖床 token。qcloud 圖床不需設定", "The image bed token. Unnessessary for qcloud", "Тасвир токен белгиси. Қслоуд учун кераксиз", "画像ホスティングトークン。qcloud画像ホスティングには設定が必要ありません"]), u + "_LIMIT_PER_MINUTE", ["单个 IP 发言频率限制(条/10分钟),0 为无限制,默认:10", "單個 IP 發言頻率限制(條/10分鐘),0 為無限制,預設:10", "單個 IP 留言頻率限制(則/10分鐘),0 為無限,預設:10", "How many comments can be posted by each IP every 10 minutes, 0 is unlimited, default: 10.", "Ҳар бир ИП ҳар 10 дақиқада қанча шарҳ қолдириши мумкин, 0 чексиз, стандарт: 10.", "シングルIPスピーキング回数制限(メッセージ/10分)、0は無制限、デフォルト:10"]), u + "_LIMIT_PER_MINUTE_ALL", ["全站发言频率限制(条/10分钟),0 为无限制,默认:10", "全站發言頻率限制(條/10分鐘),0 為無限制,預設:10", "全站留言頻率限制(則/10分鐘),0 為無限,預設:10", "How many comments can be posted by all IPs every 10 minutes, 0 is unlimited, default: 10.", "Барча ИП-лар ҳар 10 дақиқада қанча шарҳ қўйиши мумкин, 0 чексиз, стандарт: 10.", "全体サイトの発言頻度制限(件/10分間)、0は制限なし、デフォルト:10"]), u + "_LIMIT_LENGTH", ["评论长度限制,0 为无限制,默认:500", "評論長度限制,0 為無限制,預設:500", "留言長度限制,0 為無限,預設:500", "Comment length limitation, 0 is unlimited, default: 500.", "Шарҳ узунлиги чеклови, 0 чексиз, стандарт: 500.", "コメント長さの制限、0は無制限、デフォルト:500"]), u + "_MAIL_SUBJECT", ["自定义通知邮件主题,留空则使用默认主题。", "自定義通知郵件主題,留空則使用預設主題。", "自訂通知郵件主題,留白則使用預設主題。", "Custom Email notification subject. Leave it blank to use the default subject.", "Махсус электрон почта хабарномаси мавзуси. Стандарт мавзуни ишлатиш учун уни бўш қолдиринг.", "カスタム通知メールの件名、空白の場合はデフォルトの件名を使用します。"]), u + "_MAIL_SUBJECT_ADMIN", ["自定义博主通知邮件主题,留空则使用默认主题。", "自定義博主通知郵件主題,留空則使用預設主題。", "自訂站長通知郵件主題,留白則使用預設主題。", "Custom admin Email notification subject. Leave it blank to use the default subject.", "Махсус администратор электрон почта хабарномаси мавзуси. Стандарт мавзуни ишлатиш учун уни бўш қолдиринг.", "カスタムブロガー通知メールの件名、空白の場合はデフォルトの件名を使用します。"]), u + "_MAIL_TEMPLATE", ["自定义通知邮件模板,留空则使用默认模板。可包含的字段:${SITE_URL}, ${SITE_NAME}, ${PARENT_NICK}, ${PARENT_COMMENT}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IMG}, ${PARENT_IMG}", "自定義通知郵件模板,留空則使用預設模板。可包含的字段:${SITE_URL}, ${SITE_NAME}, ${PARENT_NICK}, ${PARENT_COMMENT}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IMG}, ${PARENT_IMG}", "自訂通知郵件模板,留白則使用預設模板。可包含的欄位:${SITE_URL}, ${SITE_NAME}, ${PARENT_NICK}, ${PARENT_COMMENT}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IMG}, ${PARENT_IMG}", "Custom Email notification template. Leave it blank to use the default template. Fields that can be included: ${SITE_URL}, ${SITE_NAME}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IMG}, ${PARENT_IMG}", "Махсус электрон почта хабарномаси шаблони. Стандарт шаблонни ишлатиш учун уни бўш қолдиринг. Қўшилиши мумкин бўлган майдонлар: ${SITE_URL}, ${SITE_NAME}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IMG}, ${PARENT_IMG}", "カスタム通知メールテンプレート、空白の場合はデフォルトテンプレートを使用します。使用可能なフィールド:${SITE_URL}、${SITE_NAME}、${PARENT_NICK}、${PARENT_COMMENT}、${NICK}、${COMMENT}、${POST_URL}、${IMG}、${PARENT_IMG}"]), u + "_MAIL_TEMPLATE_ADMIN", ["自定义博主通知邮件模板,留空则使用默认模板。可包含的字段:${SITE_URL}, ${SITE_NAME}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IP}, ${MAIL}, ${IMG}", "自定義博主通知郵件模板,留空則使用預設模板。可包含的字段:${SITE_URL}, ${SITE_NAME}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IP}, ${MAIL}, ${IMG}", "自訂站長通知郵件模板,留白則使用預設模板。可包含的欄位:${SITE_URL}, ${SITE_NAME}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IP}, ${MAIL}, ${IMG}", "Custom admin Email notification template. Leave it blank to use the default template. Fields that can be included: ${SITE_URL}, ${SITE_NAME}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IP}, ${MAIL}, ${IMG}", "Махсус администратор электрон почта хабарномаси шаблони. Стандарт шаблонни ишлатиш учун уни бўш қолдиринг. Қўшилиши мумкин бўлган майдонлар: ${SITE_URL}, ${SITE_NAME}, ${NICK}, ${COMMENT}, ${POST_URL}, ${IMG}, ${PARENT_IMG}", "カスタムブロガー通知メールテンプレート、空白の場合はデフォルトテンプレートを使用します。使用可能なフィールド:${SITE_URL}、${SITE_NAME}、${NICK}、${COMMENT}、${POST_URL}、${IP}、${MAIL}、${IMG}"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, u + "_MASTER_TAG", ["博主标识自定义文字,默认为 “博主”。", "博主標識自定義文字,預設為 “博主”。", "站長認證自訂文字,預設為「博主」。", "Custom admin identifier.", "Махсус администратор идентификатори.", 'ブロガー識別カスタムテキスト、デフォルトは "ブロガー"']), u + "_NOTIFY_SPAM", ["垃圾评论是否发送通知,默认:true", "垃圾評論是否發送通知,默認:true", "垃圾留言是否發送通知,預設:true", "Notifications for spam comments. Default: true.", "Спам шарҳлар учун билдиришномалар. Стандарт: рост.", "スパムコメントの通知を送信するかどうか、デフォルト:true"]), u + "_TURNSTILE_SITE_KEY", ["Turnstile 验证码的站点密钥。申请地址: https://dash.cloudflare.com/?to=/:account/turnstile", "Turnstile 验证码的站点密钥。申请地址: https://dash.cloudflare.com/?to=/:account/turnstile", "Turnstile 验证码的站点密钥。申请地址: https://dash.cloudflare.com/?to=/:account/turnstile", "Turnstile CAPTCHA Site Key. Get from: https://dash.cloudflare.com/?to=/:account/turnstile", "Turnstile CAPTCHA Site Key. Get from: https://dash.cloudflare.com/?to=/:account/turnstile", "Turnstile CAPTCHA Site Key. Get from: https://dash.cloudflare.com/?to=/:account/turnstile"]), u + "_TURNSTILE_SECRET_KEY", ["Turnstile 验证码的密钥", "Turnstile 验证码的密钥", "Turnstile 验证码的密钥", "Turnstile CAPTCHA Secret Key", "Turnstile CAPTCHA Secret Key", "Turnstile CAPTCHA Secret Key"]), u + "_QCLOUD_SECRET_ID", ["腾讯云 secret id,用于垃圾评论检测。同时设置腾讯云和 Akismet 时,只有腾讯云会生效。注册:https://twikoo.js.org/cms.html", "騰訊雲 secret id,用於垃圾評論檢測。同時設定騰訊雲和 Akismet 時,只有騰訊雲會生效。註冊:https://twikoo.js.org/cms.html", "騰訊雲 Secret ID,用於垃圾留言檢測。同時設定騰訊雲和 Akismet 時,只有騰訊雲會被啟用。註冊:https://twikoo.js.org/cms.html", "Tencent Cloud secret id for spam detection. When Tencent Cloud and Akismet are set at the same time, only Tencent Cloud will take effect. Register: https://twikoo.js.org/cms.html", "Спамни аниқлаш учун Тенсент Слоуд махфий идентификатори. Тенсент Слоуд ва Акисмет бир вақтнинг ўзида ўрнатилганда, фақат Тенсент Слоуд кучга киради. Рўйхатдан ўтиш: https://twikoo.js.org/cms.html", "Tencent CloudのシークレットID、スパムコメントの検出に使用されます。同時にTencent CloudとAkismetを設定した場合、Tencent Cloudのみが有効になります。登録:https://twikoo.js.org/cms.html"]), u + "_QCLOUD_SECRET_KEY", ["腾讯云 secret key", "騰訊雲 secret key", "騰訊雲 Secret Key", "Tencent Cloud secret key.", "Тенсент Клауд махфий калити.", "Tencent Cloudのシークレットキー"]), u + "_PUSHOO_CHANNEL", ["即时消息推送平台名称,支持:".concat(l.join("、"), " 等"), "即時消息推送平台名称,支持:".concat(l.join("、"), " 等"), "即時訊息推送平台名稱,支援:".concat(l.join("、"), " 等"), "IM notification push channel. Support: ".concat(l.join(", ")), "ИМ билдиришномаси суриш канали. Қўллаб-қувватлаш: ".concat(l.join(", ")), "即時メッセージプッシュプラットフォームの名前、サポート:".concat(l.join("、"), " など")]), u + "_PUSHOO_TOKEN", ["即时消息推送 token。请参考 https://pushoo.js.org 里的详细说明配置", "即時消息推送 token。请参考 https://pushoo.js.org 里的详细说明配置", "即時訊息推送 Token。請参考 https://pushoo.js.org 裡的詳細說明進行設定", "IM notification push token. See https://pushoo.js.org for details", "ИМ билдиришномаси пуш токени. Тафсилотлар учун https://pushoo.js.org га қаранг", "即時メッセージプッシュトークン。詳細な設定については、https://pushoo.js.org の説明をご覧ください"]), u + "_DISPLAYED_FIELDS", ["界面上展示的输入框,默认:nick,mail,link", "界面上顯示的輸入框,預設:nick,mail,link", "界面上顯示的輸入框,預設:nick,mail,link", "Input boxes displayed on the interface. Default: nick,mail,link", "Поля ввода, отображаемые на интерфейсе, Стандарт: nick,mail,link", "画面に表示される入力欄、デフォルト:nick,mail,link"]), u + "_REQUIRED_FIELDS", ["评论必填信息,设为 nick,mail,link 代表全必填,设为 none 代表全选填,默认:nick,mail", "評論必填信息,設為 nick,mail,link 代表全必填,設為 none 代表全選填,預設:nick,mail", "留言必填資訊,設為 nick,mail,link 代表全必填,設為 none 代表全選填,預設:nick,mail", 'Required fields for comments. Set to "nick,mail,link" means all fields are required. Set to "none" means all fields are optional. Default: nick,mail.', "Шарҳлар учун зарур майдонлар. «Ниск,маил,линк» га ўрнатилган бўлса, барча майдонлар талаб қилинади. «Йўқ» га ўрнатилиши барча майдонлар ихтиёрий эканлигини англатади. Стандарт: ник, почта.", "コメント必須情報、すべての必須情報にはnick,mail,linkに設定、すべての任意情報にはnoneに設定、デフォルト:nick,mail"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, u + "_SC_MAIL_NOTIFY", ["是否同时通过 IM 和邮件 2 种方式通知博主,默认只通过 IM 通知博主,默认:false", "是否同時通過 IM 和郵件 2 種方式通知博主,預設只通過 IM 通知博主,預設:false", "是否同時透過 IM 和郵件 2 種方式通知博主,預設只透過 IM 通知博主,預設:false", "Whether to notify admin via IM and email at the same time, the default is to notify admin only via IM. Default: false.", "Администраторни бир вақтнинг ўзида ИМ ва электрон почта орқали хабардор қилиш керакми, сукут бўйича администраторни фақат ИМ орқали хабардор қилиш керак. Стандарт: нотўғри.", "ブロガーにIMとEメールで同時に通知するかどうか、デフォルトはIMのみで通知、デフォルト:false"]), u + "_SENDER_EMAIL", ["邮件通知邮箱地址。对于大多数邮箱服务商,SENDER_EMAIL 必须和 SMTP_USER 保持一致,否则无法发送邮件。", "郵件通知郵箱地址。對於大多數郵箱服務商,SENDER_EMAIL 必須和 SMTP_USER 保持一致,否則無法發送郵件。", "郵件通知郵箱帳號。對於大多數電郵服務提供商,SENDER_EMAIL 必須和 SMTP_USER 保持一致,否則無法傳送郵件。", "Email address for Email notification. For most email service providers, SENDER_EMAIL must be consistent with SMTP_USER, otherwise emails cannot be sent.", "Электрон почта хабарномаси учун электрон почта манзили. Аксарият электрон почта хизмати провайдерлари учун SENDER_EMAIL билан мос келиши керак, акс ҳолда электрон почта хабарларини юбориб бўлмайди.", "電子メール通知の電子メールアドレス。 ほとんどのメールボックス・プロバイダでは、SENDER_EMAILはSMTP_USERと同じでなければなりません。"]), u + "_SENDER_NAME", ["邮件通知标题。", "郵件通知標題。", "郵件通知標題。", "The title for Email notification.", "Электрон почта хабарномаси сарлавҳаси.", "メール通知のタイトル"]), u + "_SHOW_EMOTION", ["启用插入表情功能,默认为:true", "啟用插入表情功能,預設為:true", "啟用插入表情功能,預設為:true", "Enable emoticons. Default: true.", "Кулгичларни ёқинг. Стандарт: рост.", "顔文字の挿入を有効にする、デフォルト:true"]), u + "_SHOW_IMAGE", ["启用插入图片功能,默认为:true", "啟用插入圖片功能,預設為:true", "啟用插入圖片功能,預設為:true", "Enable picture uploading. Default: true.", "Расм юклашни ёқинг. Стандарт: рост.", "画像挿入機能を有効にする、デフォルト:true"]), u + "_SHOW_UA", ["是否显示用户系统和浏览器,默认为:true", "是否顯示使用者系統和瀏覽器,預設為:true", "是否顯示使用者作業系統和瀏覽器,預設為:true", "Show users' OS and browser. Default: true.", "Фойдаланувчиларнинг ОС ва браузерини кўрсатиш. Стандарт: рост.", "ユーザーシステムとブラウザーを表示するかどうか、デフォルトは:true"]), u + "_SHOW_REGION", ["是否显示用户 IP 属地到省,可能不准确,不支持 IPv6,默认为:false", "是否顯示使用者 IP 屬地到省,預設為:false", "是否顯示使用者 IP 所屬地(精確到省),預設為:false", "Show users' IP region (province). Default: false.", "Фойдаланувчиларнинг ИП ҳудудини (вилоят) кўрсатиш. Стандарт: нотўғри.", "ユーザーIPの所在地(省)を表示するかどうか、不正確の可能性があり、IPv6はサポートされていません、デフォルトは:false"]), u + "_SITE_NAME", ["网站名称", "網站名稱", "網站名稱", "Website name.", "Вебсайт номи.", "ウェブサイト名"]), u + "_SITE_URL", ["网站地址", "網站地址", "網站網址", "Website URL.", "Вебсайт URL.", "ウェブサイトのアドレス"]), u + "_SMTP_HOST", ["自定义 SMTP 服务器地址。如您已配置 SMTP_SERVICE,此项请留空。", "自定義 SMTP 伺服器地址。如您已配置 SMTP_SERVICE,此項請留空。", "自訂 SMTP 伺服器位址。如您已設定 SMTP_SERVICE,此項請留白。", "Custom SMTP server address. If you have configured SMTP_SERVICE, please leave it empty.", "Махсус СМТП сервер манзили. Агар сиз СМТП_СEРВИСE созлаган бўлсангиз, уни бўш қолдиринг.", "自定义 SMTP 服务器地址。如您已配置 SMTP_SERVICE,此项请留空。", "カスタムSMTPサーバのアドレス。 SMTP_SERVICEを設定している場合は空白のままにします。"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, u + "_SMTP_PASS", ["邮件通知邮箱密码,QQ、163邮箱请填写授权码。", "郵件通知郵箱密碼,QQ、163郵箱請填寫授權碼。", "郵件通知郵箱密碼,QQ、163 郵箱請填寫授權碼。", "Email notification mailbox password. Enter authorization code for QQ/163 mail.", "Электрон почта хабарномаси почта қутиси пароли. ҚҚ/163 почтаси учун авторизация кодини киритинг.", "メール通知のメールボックスパスワード、QQ、163メールは認証コードを入力してください"]), u + "_SMTP_PORT", ["自定义 SMTP 端口。如您已配置 SMTP_SERVICE,此项请留空。", "自定義 SMTP 端口。如您已配置 SMTP_SERVICE,此項請留空。", "自訂 SMTP 連接埠。如您已設定 SMTP_SERVICE,此項請留白。", "Custom SMTP port. If you have configured SMTP_SERVICE, please leave it empty.", "Махсус СМТП порти. Агар сиз СМТП_СEРВИС созлаган бўлсангиз, уни бўш қолдиринг.", "カスタムSMTPポート。 SMTP_SERVICEを設定している場合は、空白のままにします。"]), u + "_SMTP_SECURE", ["自定义 SMTP 是否使用TLS,请填写 true 或 false。如您已配置 SMTP_SERVICE,此项请留空。", "自定義 SMTP 是否使用TLS,請填寫 true 或 false。如您已配置 SMTP_SERVICE,此項請留空。", "自訂 SMTP 是否使用 TLS,請填寫 true 或 false。如您已設定 SMTP_SERVICE,此項請留白。", 'Custom TLS for SMTP. Enter "true" or "false". If you have configured SMTP_SERVICE, please leave it empty.', "СМТП учун махсус ТЛС. «Тўғри» ёки «нотўғри» ни киритинг. Агар сиз СМТП_СEРВИС созлаган бўлсангиз, уни бўш қолдиринг.", "SMTPがTLSを使用するかどうかをカスタマイズします。trueまたはfalseを記入してください。SMTP_SERVICEを設定している場合は、この項目を空白にしてください。"]), u + "_SMTP_SERVICE", ["邮件通知邮箱服务商。支持:".concat(d.join("、")), "郵件通知郵箱服務商。支持:".concat(d.join("、")), "郵件通知郵箱服務提供商。支援:".concat(d.join("、")), "Email service provider for Email notification. Support: ".concat(d.join(", ")), "Электрон почта хабарномаси учун электрон почта хизмати провайдери. Қўллаб-қувватлаш: ".concat(d.join(", ")), "メール通知メールボックスサービスプロバイダ。 サポート: ".concat(d.join(","), ".")]), u + "_SMTP_USER", ["邮件通知邮箱用户名。", "郵件通知郵箱用户名。", "郵件通知郵箱使用者名稱。", "Email notification mailbox username.", "Электрон почта хабарномаси почта қутиси фойдаланувчи номи.", "メール通知のメールボックスユーザー名。"]), "ADMIN_CONFIG_RESET", ["重置", "重置", "還原", "Reset", "Ресет", "リセット"]), "ADMIN_CONFIG_SAVE", ["保存", "保存", "儲存", "Save", "Сақлаш", "保存"]), "ADMIN_CREDENTIALS", ["私钥文件", "私鑰文件", "私鑰檔案", "Private key file", "Shaxsiy kalit fayli", "秘密鍵ファイル"]), "ADMIN_CREDENTIALS_FAQ", ["如何获得私钥", "如何獲得私鑰", "如何獲取私鑰", "How to get the private key", "Shaxsiy kalitni qanday olish mumkin", "秘密鍵を取得する方法"]), "ADMIN_CREDENTIALS_PLACEHOLDER", ["请粘贴私钥文件内容", "請貼上私鑰文件內容", "請貼上私鑰檔案內容", "Please paste the contents of the private key file", "Iltimos, shaxsiy kalit faylining mazmunini joylashtiring", "秘密鍵ファイルの内容を貼り付けてください"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, "ADMIN_FORGOT", ["忘记密码", "忘記密碼", "忘記密碼", "Forget your password", "Парол унутилган", "パスワードを忘れた"]), "ADMIN_EXPORT", ["导出", "匯出", "匯出", "Export", "Экспорт", "エクスポート"]), "ADMIN_EXPORT_WARN", ["将全部数据导出为 JSON 文件。如果遇到评论较多、导出失败或缺失数据,请连接数据库手动导出", "將全部數據匯出為 JSON 檔。如果遇到評論較多、匯出失敗或缺失數據,請連接資料庫手動匯出", "將全部數據匯出為 JSON 檔。如果遇到評論較多、匯出失敗或缺失數據,請連接資料庫手動匯出", "Export all data as a JSON file. If you encounter export failures or missing data, connect to the database to export manually", "Барча маълумотларни ЖСОН файли сифатида экспорт қилинг. Экспорт хатоси ёки этишмаётган маълумотларга дуч келсангиз, қўлда экспорт қилиш учун маълумотлар базасига уланинг", "すべてのデータをJSONファイルとしてエクスポートします。コメントが多く、エクスポートに失敗したりデータが欠落している場合は、データベースに手動で接続してエクスポートしてください"]), "ADMIN_EXPORT_COMMENT", ["导出评论", "匯出評論", "匯出評論", "Export comment", "Изохни экспорт килиш", "コメントをエクスポート"]), "ADMIN_EXPORT_COUNTER", ["导出访问量", "匯出訪問量", "匯出訪問量", "Export counter", "Экспорт сони", "ページビューをエクスポート"]), c, ["导入", "匯入", "匯入", "Import", "Импорт", "インポート"]), c + "_FILE_REQUIRED", ["未选择文件", "未選擇文件", "未選擇檔案", "No file selected", "Файлни танланмади", "ファイルが選択されていません"]), c + "_IMPORTED", ["完成导入 ", "完成匯入 ", "完成匯入 ", "Imported ", "Импорт қилинди ", "インポート完了 "]), c + "_IMPORTING", ["开始导入 ", "開始匯入 ", "開始匯入 ", "Importing ", "Импорт қилинмоқда ", "インポートを開始 "]), c + "_LOG", ["日志", "日誌", "日誌", "Log", "Лог", "システムログ"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, c + "_SELECT", ["请选择", "請選擇", "請選擇", "Select", "Танланг", "選択してください"]), c + "_SELECT_FILE", ["选择文件", "選擇文件", "選擇檔案", "Select file", "Файлни танланг", "ファイルを選択"]), c + "_SELECT_SOURCE", ["选择源系统", "選擇源系統", "選擇來源系統", "Select source", "Манба танланг", "ソースシステムを選択"]), c + "_SOURCE_REQUIRED", ["未选择源系统", "未選擇源系統", "未選擇來源系統", "No source selected.", "Ҳеч қандай манба танланмаган.", "ソースシステムが選択されていません"]), c + "_START", ["开始导入", "開始匯入", "開始匯入", "Start import", "Импортни бошлаш", "インポートを開始"]), c + "_STARTING", ["开始导入", "開始匯入", "開始匯入", "Importing", "Импорт қилинмоқда", "インポート中です"]), c + "_TIP_ARTALK", ["请上传 JSON 格式的 Artalk 导出文件,文件名通常为 comments.data.json", "請上傳 JSON 格式的 Artalk 導出文件,文件名通常為 comments.data.json", "請上傳 JSON 格式的 Artalk 匯出檔案,檔名通常為 comments.data.json", "Please upload the Artalk export file in JSON format.The file name is usually comments.data.json", "Арталк экспорт файлини ЖСОН форматида юкланг. Файл номи одатда comments.data.json бўлади.", "通常comments.data.jsonという名前のJSON形式のArtalkエクスポートファイルをアップロードしてください"]), c + "_TIP_DISQUS", ["请上传 XML 格式的 Disqus 导出文件,文件名通常为 [网站名称]-[导出时间]-all.xml", "請上傳 XML 格式的 Disqus 導出文件,文件名通常為 [網站名稱]-[導出時間]-all.xml", "請上傳 XML 格式的 Disqus 匯出檔案,檔名通常為 [網站名稱]-[匯出時間]-all.xml", "Please upload the Disqus export file in XML format. The file name is usually [website name]-[export time]-all.xml", "Disqus экспорт файлини ХМЛ форматида юкланг. Файл номи одатда [веб-сайт номи]-[экспорт vaqti]-all.xml", "DisqusエクスポートファイルをXML形式でアップロードしてください。ファイル名は通常、[サイト名]-[エクスポート時間]-all.xmlです。"]), c + "_TIP_VALINE", ["请上传 JSON 格式的 Valine 导出文件,文件名通常为 Comment.json", "請上傳 JSON 格式的 Valine 導出文件,文件名通常為 Comment.json", "請上傳 JSON 格式的 Valine 匯出檔案,檔名通常為 Comment.json", "Please upload the Valine export file in JSON format. The file name is usually Comment.json", "Илтимос, Валине экспорт файлини ЖСОН форматида юкланг. Файл номи одатда Comment.json", "通常Comment.jsonという名前のJSON形式のValineエクスポートファイルをアップロードしてください。"]), c + "_UPLOADED", ["上传完成 ", "上傳完成 ", "上傳完成 ", "Uploaded ", "Юкланди ", "アップロード完了"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, c + "_UPLOADING", ["已上传 ", "已上傳 ", "已上傳 ", "Uploading ", "Юкланмоқда ", "すでにアップロードされています"]), c + "_WARN", ["支持从其他评论系统的备份文件导入评论。\n数据是安全的,导入功能完全在您的云环境进行。\n建议在导入前备份 comment 数据库。", "支持從其他評論系統的備份文件匯入評論。\n數據是安全的,匯入功能完全在您的雲環境進行。\n建議在匯入前備份 comment 數據庫。", "支援從其他留言系統的備份檔案匯入留言。\n資料是安全的,匯入功能完全在您的雲端環境進行。\n建議在匯入前備份 comment 資料庫。", "Import comments from other comment systems.\nThe data is safe, and the import function is performed entirely in your cloud environment.\nPlease backup your comment database before importing.", "Бошқа шарҳ тизимларидан шарҳларни импорт қилинг.\nМаълумотлар хавфсиз ва импорт функцияси тўлиқ булутли муҳитда амалга оширилади.\nИмпорт қилишдан олдин шарҳлар маълумотлар базасини захираланг.", "他のレビューシステムのバックアップファイルからのレビューのインポートに対応。 \nデータは安全で、インポート機能はすべてクラウド環境で実行されます。 \nインポート前にコメントデータベースをバックアップすることを推奨します。"]), "ADMIN_LOGIN", ["登录", "登入", "登入", "Sign in", "Тизимга кириш", "ログイン"]), "ADMIN_LOGIN_TITLE", ["Twikoo 评论管理", "Twikoo 評論管理", "Twikoo 留言管理", "Twikoo Management Panel", "Twikoo Бошқарув Панели", "Twikoo コメント管理"]), "ADMIN_LOGOUT", ["退出登录", "退出登入", "登出", "Sign out", "Тизимдан чиқиш", "ログアウト"]), "ADMIN_NEED_UPDATE", ["若要使用评论管理,请更新 Twikoo 云函数", "若要使用評論管理,請更新 Twikoo 雲函數", "若要使用留言管理功能,請更新 Twikoo 雲端函數", "A new version of Twikoo is required for comment management.", "Фикрларни бошқариш учун Твикоо нинг янги версияси талаб қилинади.", "コメント管理を使用するには、Twikoo クラウド関数を更新してください"]), "ADMIN_PASSWORD", ["密码", "密碼", "密碼", "Password", "Пароль", "パスワード"]), "ADMIN_PASSWORD_PLACEHOLDER", ["请输入", "請輸入", "請輸入", "Enter your password...", "Паролингизни киритинг...", "入力してください"]), "ADMIN_PASSWORD_REQUIRED", ["请输入密码", "請輸入密碼", "請輸入密碼", "Please enter your password", "Илтимос, паролингизни киритинг", "パスワードを入力してください"]), "ADMIN_REGIST", ["注册", "註冊", "註冊", "Register", "Рўйхатдан ўтиш", "登録"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, "ADMIN_REGIST_FAILED", ["注册失败", "註冊失敗", "註冊失敗", "Register failed", "Рўйхатдан ўтиш амалга ошмади", "登録に失敗しました"]), "ADMIN_SET_PASSWORD", ["设置密码", "設置密碼", "設定密碼", "Set password", "Пароль қўйиш", "パスワードの設定"]), "ADMIN_SET_PASSWORD_CONFIRM", ["确认密码", "確認密碼", "確認密碼", "Confirm password", "Паролни тасдиқланг", "パスワードの確認"]), "ADMIN_SET_PASSWORD_CONFIRM_PLACEHOLDER", ["确认密码", "確認密碼", "確認密碼", "Confirm password...", "Паролни тасдиқлаш...", "パスワードの確認"]), "ADMIN_SET_PASSWORD_PLACEHOLDER", ["密码", "密碼", "密碼", "Password", "Пароль", "パスワード"]), "ADMIN_TITLE", ["Twikoo 管理面板", "Twikoo 管理面板", "Twikoo 管理控制台", "Twikoo Management Panel", "Twikoo Бошқарув Панели", "Twikoo管理パネル"]), "COMMENTS_COUNT_SUFFIX", [" 条评论", " 條評論", " 則留言", " comments", " изоҳлар", " 件のコメント"]), "COMMENTS_EXPAND", ["查看更多", "查看更多", "檢視更多", "Load more", "Давомини юклаш", "もっと見る"]), "COMMENTS_NO_COMMENTS", ["没有评论", "沒有評論", "沒有留言", "No comment", "Изоҳларсиз", "コメントなし"]), "COMMENT_EXPAND", ["展开", "展開", "展開", "Read more", "Давомини ўқиш", "コメントを展開する"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, "COMMENT_COLLAPSE", ["收起", "收起", "閉合", "Collapse", "Очиш", "コメントを折りたたむ"]), "COMMENT_MASTER_TAG", ["博主", "博主", "站長", "Admin", "Модератор", "管理者"]), "COMMENT_REPLIED", ["回复", "回覆", "回覆", "Reply", "Жавоб бериш", "返信"]), "COMMENT_REVIEWING_TAG", ["审核中", "審核中", "審核中", "Pending", "Кутилмоқда", "検討中"]), "COMMENT_TOP_TAG", ["置顶", "置頂", "置頂", "Pinned", "Қадоқланган", "トップに固定"]), "COMMENT_FAILED", ["评论失败", "評論失敗", "評論失敗", "Comment failed", "Фикр билдирилмади", "コメント失敗"]), "META_INPUT_LINK", ["网址", "網址", "網址", "Website", "Веб-сайт", "ウェブサイト"]), "META_INPUT_MAIL", ["邮箱", "郵箱", "郵箱", "Email", "Email", "受信箱"]), "META_INPUT_NICK", ["昵称", "暱稱", "暱稱", "Nickname", "Исм", "ネットネーム"]), "META_INPUT_NOT_REQUIRED", ["选填", "選填", "選填", "Optional", "Ихтиёрий", "任意"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, "META_INPUT_REQUIRED", ["必填", "必填", "必填", "Required", "Мажбурий", "必須項目"]), "PAGINATION_COUNT_PREFIX", ["共 ", "共 ", "共 ", "", "", "合計 "]), "PAGINATION_COUNT_SUFFIX", [" 条", " 條", " 條", " entries", " ёзувлар", " 件"]), "PAGINATION_GOTO_PREFIX", ["前往", "前往", "前往", "Goto page", "Саҳифага ўтиш", "ページに移動"]), "PAGINATION_GOTO_SUFFIX", ["页", "頁", "頁", "", "ページ"]), "PAGINATION_PAGESIZE", ["条/页", "條/頁", "則/頁", "entries/page", "ёзувлар/саҳифа", "件/ページ"]), "SUBMIT_CANCEL", ["取消", "取消", "取消", "Cancel", "Бекор қилиш", "キャンセル"]), "SUBMIT_PREVIEW", ["预览", "預覽", "預覽", "Preview", "Кўриб чиқиш", "プレビュー"]), "SUBMIT_SEND", ["发送", "發送", "傳送", "Send", "Юбормоқ", "送信"]), "IMAGE_UPLOAD_PLACEHOLDER", ["图片上传中", "圖片上傳中", "圖片上傳中", "Uploading image", "Расм юклаш", "画像のアップロード中"]), (0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])((0, o["default"])(i, "IMAGE_UPLOAD_FAILED", ["图片上传失败", "圖片上傳失敗", "圖片上傳失敗", "IMAGE UPLOAD FAILED", "РАСМ ЮКЛАНМАДИ", "画像のアップロード失敗"]), "IMAGE_UPLOAD_FAILED_NO_CONF", ["博主未配置图床服务", "博主未配置圖床服務", "博主未配置圖床服務", "The blogger didn't configured any image bed service", "Муаллиф ҳеч қандай тасвир хизматини созламаган", "管理者がイメージサービスを設定していない"]), "IMAGE_UPLOAD_PLEASE_WAIT", ["图片上传中,请稍候再发送", "圖片上傳中,請稍候再發送", "圖片上傳中,請稍候再傳送", "Uploading image, please try again later", "Расм юкланмоқда, кейинроқ қайта уриниб кўринг", "写真はアップロード中です"]), "SUBMIT_SENDING", ["发送中", "發送中", "正在傳送", "Sending", "Юбориш", "送信中"]), "TIMEAGO_DAYS", ["天前", "天前", "天前", "days ago", "кунлар олдин", "日前"]), "TIMEAGO_HOURS", ["小时前", "小時前", "小時前", "hours ago", "соатлар олдин", "時間前"]), "TIMEAGO_MINUTES", ["分钟前", "分鐘前", "分鐘前", "minutes ago", "дақиқалар олдин", "分前"]), "TIMEAGO_NOW", ["刚刚", "剛剛", "剛剛", "Just now", "Ҳозиргина", "たった今"]), "TIMEAGO_SECONDS", ["秒前", "秒前", "秒前", "seconds ago", "сониялар олдин", "秒前"])) }, 8896: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.setLanguage = t["default"] = void 0; var i = r(n(2554)), o = { zh: 0, "zh-cn": 0, "zh-hk": 1, "zh-tw": 2, "en-us": 3, "en-gb": 3, en: 3, uz: 4, "uz-uz": 4, ja: 5, "ja-jp": 5 }, a = ""; t.setLanguage = function () { var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; e.lang && e.lang.toLowerCase() in o && (a = e.lang) }, t["default"] = function (e, t) { var n = (t || a || navigator.language).toLowerCase(); return (n && o[n] ? i["default"][e][o[n]] : i["default"][e][o["zh-cn"]]) || "" } }, 2304: function (e, t, n) { "use strict"; var r = n(3330), i = n(9767); Object.defineProperty(t, "__esModule", { value: !0 }), t.blobToDataURL = void 0, Object.defineProperty(t, "call", { enumerable: !0, get: function () { return p.call } }), t.getHref = t.getFuncVer = t.getCommentsCountApi = t.convertLink = void 0, Object.defineProperty(t, "getQQAvatar", { enumerable: !0, get: function () { return h.getQQAvatar } }), t.getUserAgent = t.getUrl = t.getRecentCommentsApi = void 0, Object.defineProperty(t, "initMarkedOwo", { enumerable: !0, get: function () { return g.initMarkedOwo } }), Object.defineProperty(t, "initOwoEmotions", { enumerable: !0, get: function () { return g.initOwoEmotions } }), t.isNotSet = void 0, Object.defineProperty(t, "isQQ", { enumerable: !0, get: function () { return h.isQQ } }), Object.defineProperty(t, "isUrl", { enumerable: !0, get: function () { return p.isUrl } }), t.logger = void 0, Object.defineProperty(t, "marked", { enumerable: !0, get: function () { return d["default"] } }), Object.defineProperty(t, "normalizeMail", { enumerable: !0, get: function () { return h.normalizeMail } }), t.readAsText = void 0, Object.defineProperty(t, "renderCode", { enumerable: !0, get: function () { return f["default"] } }), t.renderMath = t.renderLinks = void 0, Object.defineProperty(t, "setLanguage", { enumerable: !0, get: function () { return c.setLanguage } }), Object.defineProperty(t, "t", { enumerable: !0, get: function () { return c["default"] } }), Object.defineProperty(t, "timeago", { enumerable: !0, get: function () { return l["default"] } }), t.timestamp = void 0; var o, a = r(n(818)), s = r(n(5825)), u = r(n(8711)), c = function (e, t) { if (!t && e && e.__esModule) return e; if (null === e || "object" != i(e) && "function" != typeof e) return { "default": e }; var n = m(t); if (n && n.has(e)) return n.get(e); var r = { __proto__: null }, o = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var a in e) if ("default" !== a && Object.prototype.hasOwnProperty.call(e, a)) { var s = o ? Object.getOwnPropertyDescriptor(e, a) : null; s && (s.get || s.set) ? Object.defineProperty(r, a, s) : r[a] = e[a] } return r["default"] = e, n && n.set(e, r), r }(n(8896)), l = r(n(1232)), d = r(n(7423)), f = r(n(4508)), p = n(4491), h = n(4453), g = n(2894); function m(e) { if ("function" != typeof WeakMap) return null; var t = new WeakMap, n = new WeakMap; return (m = function (e) { return e ? n : t })(e) } function v(e, t) { var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!n) { if (Array.isArray(e) || (n = function (e, t) { if (e) { if ("string" == typeof e) return _(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? _(e, t) : void 0 } }(e)) || t && e && "number" == typeof e.length) { n && (e = n); var r = 0, i = function () { }; return { s: i, n: function () { return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } }, e: function (e) { throw e }, f: i } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var o, a = !0, s = !1; return { s: function () { n = n.call(e) }, n: function () { var e = n.next(); return a = e.done, e }, e: function (e) { s = !0, o = e }, f: function () { try { a || null == n["return"] || n["return"]() } finally { if (s) throw o } } } } function _(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } t.isNotSet = function (e) { return e === undefined || null === e || "" === e }, t.logger = { log: function (e, t) { console.log("Twikoo: ".concat(e), t) }, info: function (e, t) { console.info("Twikoo: ".concat(e), t) }, warn: function (e, t) { console.warn("Twikoo: ".concat(e), t) }, error: function (e, t) { console.error("Twikoo: ".concat(e), t) } }, t.timestamp = function () { return (arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date).getTime() }, t.convertLink = function (e) { return e ? "http" !== e.substring(0, 4) ? "http://".concat(e) : e : "" }, t.getFuncVer = function () { var e = (0, u["default"])(a["default"].mark((function t(e) { return a["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (o) { t.next = 4; break } return t.next = 3, (0, p.call)(e, "GET_FUNC_VERSION"); case 3: o = t.sent; case 4: return t.abrupt("return", o); case 5: case "end": return t.stop() } }), t) }))); return function (t) { return e.apply(this, arguments) } }(), t.getCommentsCountApi = function () { var e = (0, u["default"])(a["default"].mark((function t(e, n) { var r; return a["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (n.urls instanceof Array) { t.next = 2; break } throw new Error("urls 参数有误"); case 2: if (0 !== n.urls.length) { t.next = 4; break } return t.abrupt("return", []); case 4: return t.next = 6, (0, p.call)(e, "GET_COMMENTS_COUNT", n); case 6: return r = t.sent, t.abrupt("return", r.result.data); case 8: case "end": return t.stop() } }), t) }))); return function (t, n) { return e.apply(this, arguments) } }(), t.getRecentCommentsApi = function () { var e = (0, u["default"])(a["default"].mark((function t(e, n) { var r, i, o, s; return a["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return t.next = 2, (0, p.call)(e, "GET_RECENT_COMMENTS", n); case 2: r = t.sent, i = v(r.result.data); try { for (i.s(); !(o = i.n()).done;)(s = o.value).relativeTime = (0, l["default"])(s.created) } catch (a) { i.e(a) } finally { i.f() } return t.abrupt("return", r.result.data); case 6: case "end": return t.stop() } }), t) }))); return function (t, n) { return e.apply(this, arguments) } }(), t.getUserAgent = function () { var e = (0, u["default"])(a["default"].mark((function t() { var e, n, r, i, o, s; return a["default"].wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (e = window.navigator.userAgent, t.prev = 1, "Windows" !== (n = navigator.userAgentData.platform) && "macOS" !== n) { t.next = 10; break } return t.next = 6, navigator.userAgentData.getHighEntropyValues(["platformVersion"]); case 6: r = t.sent, i = r.platformVersion, o = parseInt(i.split(".")[0]), "Windows" === n && o >= 13 ? e = e.replace(/Windows NT 10\.0/i, "Windows NT ".concat("11.0")) : "macOS" === n && o >= 11 && (s = i.replace(/\./g, "_"), e = e.replace(/Mac OS X 10_[0-9]+_[0-9]+/i, "Mac OS X ".concat(s))); case 10: t.next = 14; break; case 12: t.prev = 12, t.t0 = t["catch"](1); case 14: return t.abrupt("return", e); case 15: case "end": return t.stop() } }), t, null, [[1, 12]]) }))); return function () { return e.apply(this, arguments) } }(), t.getUrl = function (e) { var t; if (window.TWIKOO_MAGIC_PATH) t = window.TWIKOO_MAGIC_PATH; else if (e && "string" == typeof e) switch (e) { case "location.pathname": case "window.location.pathname": t = window.location.pathname; break; case "location.href": case "window.location.href": t = window.location.href; break; default: t = e } else t = window.location.pathname; return t }, t.getHref = function (e) { var t, n; return null !== (t = null !== (n = window.TWIKOO_MAGIC_HREF) && void 0 !== n ? n : e) && void 0 !== t ? t : window.location.href }, t.readAsText = function (e) { return new Promise((function (t, n) { var r = new FileReader; r.readAsText(e), r.onloadend = function () { r.error ? n(r.error) : t(r.result) } })) }, t.renderLinks = function (e) { var t = []; e instanceof Array ? e.forEach((function (e) { var n; (n = t).push.apply(n, (0, s["default"])(e.getElementsByTagName("a"))) })) : e instanceof Element && (t = e.getElementsByTagName("a")); var n, r = v(t); try { for (r.s(); !(n = r.n()).done;) { var i = n.value; i.setAttribute("target", "_blank"), i.setAttribute("rel", "noopener noreferrer") } } catch (o) { r.e(o) } finally { r.f() } }, t.renderMath = function (e, t) { "function" == typeof renderMathInElement && renderMathInElement(e, t || { delimiters: [{ left: "$$", right: "$$", display: !0 }, { left: "$", right: "$", display: !1 }, { left: "\\(", right: "\\)", display: !1 }, { left: "\\[", right: "\\]", display: !0 }], throwOnError: !1 }) }, t.blobToDataURL = function (e) { return new Promise((function (t) { var n = new FileReader; n.onload = function (e) { var n = e.target.result; t(n) }, n.readAsDataURL(e) })) } }, 7423: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t["default"] = void 0; var r = n(6847); r.marked.setOptions({ renderer: new r.marked.Renderer, gfm: !0, tables: !0, breaks: !0, pedantic: !1, smartLists: !0, smartypants: !0 }), t["default"] = r.marked }, 4361: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.install = function (e) { return d.apply(this, arguments) }, t.tcb = void 0; var i = r(n(818)), o = r(n(8711)), a = n(2304); function s(e, t) { var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!n) { if (Array.isArray(e) || (n = function (e, t) { if (e) { if ("string" == typeof e) return u(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? u(e, t) : void 0 } }(e)) || t && e && "number" == typeof e.length) { n && (e = n); var r = 0, i = function () { }; return { s: i, n: function () { return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } }, e: function (e) { throw e }, f: i } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var o, a = !0, s = !1; return { s: function () { n = n.call(e) }, n: function () { var e = n.next(); return a = e.done, e }, e: function (e) { s = !0, o = e }, f: function () { try { a || null == n["return"] || n["return"]() } finally { if (s) throw o } } } } function u(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r } var c = [{ key: "envId", required: !0 }], l = t.tcb = { sdk: null, app: null, auth: null }; function d() { return d = (0, o["default"])(i["default"].mark((function e(t) { var n, r = arguments; return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return n = r.length > 1 && r[1] !== undefined ? r[1] : {}, l.sdk = t, f(n), e.next = 5, p(n); case 5: return e.abrupt("return", l); case 6: case "end": return e.stop() } }), e) }))), d.apply(this, arguments) } function f(e) { var t, n = [], r = s(c); try { for (r.s(); !(t = r.n()).done;) { var i = t.value; i["default"] && (0, a.isNotSet)(e[i.key]) ? e[i.key] = i["default"] : i.required && (0, a.isNotSet)(e[i.key]) && n.push(i.key) } } catch (d) { r.e(d) } finally { r.f() } if (n.length > 0) { var o, u = s(n); try { for (u.s(); !(o = u.n()).done;) { var l = o.value; a.logger.warn("".concat(l, " is required")) } } catch (d) { u.e(d) } finally { u.f() } throw new Error("Twikoo: failed to init") } } function p(e) { return h.apply(this, arguments) } function h() { return (h = (0, o["default"])(i["default"].mark((function e(t) { return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return g(t), e.next = 3, m(); case 3: case "end": return e.stop() } }), e) })))).apply(this, arguments) } function g(e) { l.app = l.sdk.init({ env: e.envId, region: e.region }) } function m() { return v.apply(this, arguments) } function v() { return (v = (0, o["default"])(i["default"].mark((function e() { return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return e.abrupt("return", new Promise((function (e, t) { l.auth = l.app.auth({ persistence: "local" }), l.auth.hasLoginState() ? e() : l.auth.anonymousAuthProvider().signIn().then(e)["catch"](t) }))); case 1: case "end": return e.stop() } }), e) })))).apply(this, arguments) } }, 1232: function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t["default"] = void 0; var r = n(2304), i = { timeago: { seconds: (0, r.t)("TIMEAGO_SECONDS"), minutes: (0, r.t)("TIMEAGO_MINUTES"), hours: (0, r.t)("TIMEAGO_HOURS"), days: (0, r.t)("TIMEAGO_DAYS"), now: (0, r.t)("TIMEAGO_NOW") } }, o = function (e) { var t = a(e.getDate(), 2), n = a(e.getMonth() + 1, 2), r = a(e.getFullYear(), 2); return "".concat(r, "-").concat(n, "-").concat(t) }, a = function (e, t) { for (var n = e.toString(); n.length < t;)n = "0" + n; return n }; t["default"] = function (e) { if ("number" == typeof e && (e = new Date(e)), e) try { var t = e.getTime(), n = Date.now() - t, a = Math.floor(n / 864e5); if (0 === a) { var s = n % 864e5, u = Math.floor(s / 36e5); if (0 === u) { var c = s % 36e5, l = Math.floor(c / 6e4); if (0 === l) { var d = c % 6e4; return Math.round(d / 1e3) + " ".concat(i.timeago.seconds) } return l + " ".concat(i.timeago.minutes) } return u + " ".concat(i.timeago.hours) } return a < 0 ? i.timeago.now : a < 8 ? a + " ".concat(i.timeago.days) : o(e) } catch (f) { r.logger.log("timeAgo 错误", f) } } }, 8521: function (e, t) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.version = void 0, t.version = "1.6.30" }, 7588: function (e, t, n) { "use strict"; var r = n(3330); Object.defineProperty(t, "__esModule", { value: !0 }), t.render = t.app = void 0; var i = r(n(1848)), o = r(n(1834)), a = r(n(6433)), s = r(n(6406)), u = r(n(996)); n(4195), n(3414), n(9951), n(1071), i["default"].use(a["default"]), i["default"].use(s["default"]), i["default"].use(u["default"]); var c = t.app = null; t.render = function (e) { var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return i["default"].prototype.$tcb = e, i["default"].prototype.$twikoo = n, t.app = c = new i["default"]({ render: function (e) { return e(o["default"]) } }), c.$mount(n.el || "#twikoo"), c } }, 1121: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, ".el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table;content:\"\"}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}", ""]), t["default"] = a }, 6011: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, ".el-input__inner,.el-textarea__inner{background-image:none;-webkit-box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;border:1px solid #DCDFE6;border-radius:4px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;text-align:center;height:100%;color:#C0C4CC}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}", ""]), t["default"] = a }, 1268: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, ".el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:#409EFF;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#409EFF;stroke-linecap:round}.el-loading-spinner i{color:#409EFF}.el-loading-fade-enter,.el-loading-fade-leave-active{opacity:0}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}", ""]), t["default"] = a }, 4418: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.twikoo {\n position: relative;\n}\n.twikoo svg {\n width: 100%;\n height: 100%;\n fill: currentColor;\n}\n\n/* 全局 CSS */\n.tk-expand {\n width: 100%;\n cursor: pointer;\n padding: 0.75em;\n text-align: center;\n transition: all 0.5s;\n}\n.tk-expand:hover {\n background-color: rgba(0,0,0,0.13);\n}\n.tk-expand:active {\n background-color: rgba(0,0,0,0.19);\n}\n.tk-content img {\n max-width: 300px;\n max-height: 300px;\n vertical-align: middle;\n}\n.tk-owo-emotion,\n.twikoo .OwO-item img {\n width: 3em;\n height: auto;\n}\n\n/* element-ui overwrite */\n.twikoo .el-input__inner,\n.twikoo .el-textarea__inner {\n color: currentColor;\n background-color: transparent;\n border-color: rgba(144,147,153,0.31);\n}\n.twikoo .el-input__inner:hover,\n.twikoo .el-textarea__inner:hover {\n border-color: rgba(144,147,153,0.50);\n}\n.twikoo .el-input__inner:focus,\n.twikoo .el-textarea__inner:focus {\n border-color: #409eff;\n}\n.twikoo .el-input-group__append,\n.twikoo .el-input-group__prepend {\n color: currentColor;\n background-clip: padding-box;\n background-color: rgba(144,147,153,0.13);\n border-color: rgba(144,147,153,0.31);\n}\n.twikoo .el-button:not(.el-button--primary):not(.el-button--text) {\n color: currentColor;\n background-color: rgba(144,147,153,0.063);\n border-color: rgba(144,147,153,0.31);\n}\n.twikoo .el-button:not(.el-button--primary):not(.el-button--text):active,\n.twikoo .el-button:not(.el-button--primary):not(.el-button--text):focus,\n.twikoo .el-button:not(.el-button--primary):not(.el-button--text):hover {\n color: #409eff;\n background-color: rgba(64,158,255,0.063);\n border-color: rgba(64,158,255,0.50);\n}\n.twikoo .el-button--primary.is-disabled,\n.twikoo .el-button--primary.is-disabled:active,\n.twikoo .el-button--primary.is-disabled:focus,\n.twikoo .el-button--primary.is-disabled:hover {\n color: rgba(255,255,255,0.63);\n background-color: rgba(64,158,255,0.50);\n border-color: transparent;\n}\n.twikoo .el-loading-mask {\n background-color: transparent;\n backdrop-filter: opacity(20%);\n}\n.twikoo .el-textarea .el-input__count {\n color: currentColor;\n background: transparent;\n}\n.tk-admin-warn {\n padding: 1rem 1.5rem;\n background-color: #fff7d0;\n border-left: 0.5rem solid #e7c000;\n color: #6b5900;\n align-self: stretch;\n}\n", ""]), t["default"] = a }, 2249: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-action {\n display: flex;\n align-items: center;\n}\n.tk-action-link {\n margin-left: 0.5rem;\n color: #409eff;\n text-decoration: none;\n display: flex;\n align-items: center;\n}\n.tk-action-link .tk-action-icon-solid {\n display: none;\n}\n.tk-action-link.tk-liked .tk-action-icon,\n.tk-action-link:hover .tk-action-icon {\n display: none;\n}\n.tk-action-link.tk-liked .tk-action-icon-solid,\n.tk-action-link:hover .tk-action-icon-solid {\n display: block;\n}\n.tk-action-count {\n margin-left: 0.25rem;\n font-size: 0.75rem;\n height: 1.5rem;\n line-height: 1.5rem;\n}\n.tk-action-icon {\n display: inline-block;\n height: 1em;\n width: 1em;\n line-height: 0;\n color: #409eff;\n}\n", ""]), t["default"] = a }, 9612: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-admin-container {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n pointer-events: none;\n}\n.tk-admin {\n position: absolute;\n top: 0;\n left: 100%;\n width: 100%;\n height: 100%;\n overflow-y: auto;\n pointer-events: all;\n color: #ffffff;\n background-color: rgba(0,0,0,0.60);\n backdrop-filter: blur(5px);\n transition: all 0.5s ease;\n visibility: hidden;\n}\n.tk-admin::-webkit-scrollbar {\n width: 5px;\n background-color: transparent;\n}\n.tk-admin::-webkit-scrollbar-track {\n background-color: transparent;\n}\n.tk-admin::-webkit-scrollbar-thumb {\n background-color: rgba(255,255,255,0.31);\n}\n.tk-admin.__show {\n left: 0;\n visibility: visible;\n}\n.tk-admin-close {\n position: sticky;\n float: right;\n display: block;\n top: 0;\n right: 0;\n width: 1rem;\n height: 1rem;\n padding: 1rem;\n box-sizing: content-box;\n color: #ffffff;\n}\n.tk-login,\n.tk-regist {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n padding: 0 2rem;\n}\n.tk-login-title {\n color: #ffffff;\n font-size: 1.25rem;\n text-align: center;\n margin-top: 10rem;\n}\n.tk-password,\n.tk-login-msg {\n color: #ffffff;\n width: 80%;\n text-align: center;\n margin-top: 1rem;\n}\n.tk-password .el-input__inner {\n min-width: 100px;\n}\n.tk-login-msg a {\n color: #ffffff;\n margin-left: 1em;\n text-decoration: underline;\n}\n.tk-regist-button {\n margin-top: 1rem;\n}\n.tk-panel {\n color: #ffffff;\n padding: 2rem;\n}\n.tk-panel-title {\n font-size: 1.5rem;\n display: flex;\n align-items: flex-end;\n justify-content: space-between;\n}\n.tk-panel-logout {\n color: #ffffff;\n font-size: 1rem;\n text-decoration: underline;\n}\n.tk-panel .tk-tabs {\n display: flex;\n margin-bottom: 1em;\n border-bottom: 2px solid #c0c4cc;\n}\n.tk-panel .tk-tab {\n color: #c0c4cc;\n cursor: pointer;\n line-height: 2em;\n margin-right: 2em;\n margin-bottom: -2px;\n}\n.tk-panel .tk-tab.__active {\n color: #ffffff;\n border-bottom: 2px solid #ffffff;\n}\n", ""]), t["default"] = a }, 2504: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-admin-comment {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.tk-admin-comment a {\n color: currentColor;\n text-decoration: underline;\n}\n.tk-admin-warn {\n margin-bottom: 1em;\n}\n.tk-admin-comment-filter {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n}\n.tk-admin-comment-filter-keyword {\n flex: 1;\n}\n.tk-admin-comment-filter-type {\n height: 32px;\n margin: 0 0.5em;\n padding: 0 0.5em;\n color: #ffffff;\n background: none;\n border: 1px solid rgba(144,147,153,0.31);\n border-radius: 4px;\n position: relative;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n.tk-admin-comment-filter-type:focus {\n border-color: #409eff;\n}\n.tk-admin-comment-filter-type option {\n color: initial;\n}\n.tk-admin-comment-list {\n margin-top: 1em;\n}\n.tk-admin-comment-list,\n.tk-admin-comment-item {\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: stretch;\n}\n.tk-admin-comment-meta {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n margin-bottom: 0.5em;\n}\n.tk-admin-comment .tk-avatar {\n margin-right: 0.5em;\n}\n.tk-admin-actions {\n display: flex;\n margin-bottom: 1em;\n border-bottom: 1px solid rgba(255,255,255,0.5);\n}\n", ""]), t["default"] = a }, 7245: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-admin-config-groups {\n overflow-y: auto;\n padding-right: 0.5em;\n}\n.tk-admin-config-groups .tk-admin-config-group,\n.tk-admin-config-groups .tk-admin-config-group-title {\n background: transparent;\n}\n.tk-admin-config-group-title {\n margin-top: 1em;\n font-size: 1.25rem;\n font-weight: bold;\n}\n.tk-admin-config-item {\n display: grid;\n align-items: center;\n grid-template-columns: 30% 70%;\n margin-top: 1em;\n}\n.tk-admin-config-title {\n text-align: right;\n margin-right: 1em;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.tk-admin-config-desc {\n margin-top: 0.5em;\n font-size: 0.75em;\n overflow-wrap: break-word;\n}\n.tk-admin-config-actions {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-top: 1em;\n}\n.tk-admin-config-message {\n margin-top: 0.5em;\n text-align: center;\n}\n.tk-admin-config-email-test-desc {\n margin: 1em 0;\n}\n", ""]), t["default"] = a }, 7795: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-admin-import {\n display: flex;\n flex-direction: column;\n}\n.tk-admin-import-label {\n margin-top: 1em;\n font-size: 1.25rem;\n font-weight: bold;\n}\n.tk-admin-import select,\n.tk-admin-import input,\n.tk-admin-import .el-button,\n.tk-admin-import .el-textarea {\n margin-top: 1em;\n}\n", ""]), t["default"] = a }, 3886: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-avatar {\n flex-shrink: 0;\n height: 2.5rem;\n width: 2.5rem;\n overflow: hidden;\n text-align: center;\n border-radius: 5px;\n margin-right: 1rem;\n}\n.tk-comment .tk-submit .tk-avatar,\n.tk-replies .tk-avatar {\n height: 1.6rem;\n width: 1.6rem;\n}\n.tk-avatar.tk-has-avatar {\n background-color: rgba(144,147,153,0.13);\n}\n.tk-avatar.tk-clickable {\n cursor: pointer;\n}\n.tk-avatar .tk-avatar-img {\n height: 2.5rem;\n color: #c0c4cc;\n}\n.tk-comment .tk-submit .tk-avatar .tk-avatar-img,\n.tk-replies .tk-avatar .tk-avatar-img {\n height: 1.6rem;\n}\n", ""]), t["default"] = a }, 4778: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-main {\n flex: 1;\n width: 0;\n}\n.tk-row {\n flex: 1;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n.tk-nick-link {\n color: inherit;\n text-decoration: none;\n}\n.tk-replies .tk-nick-link {\n font-size: .9em;\n}\n.tk-nick-link:hover {\n color: #409eff;\n}\n.tk-actions {\n display: none;\n margin-left: 1em;\n}\n.tk-comment:hover .tk-actions {\n display: inline;\n}\n.tk-extras {\n color: #999999;\n font-size: 0.875em;\n display: flex;\n flex-wrap: wrap;\n}\n.tk-extra {\n margin-top: 0.5rem;\n margin-right: 0.75rem;\n display: flex;\n align-items: center;\n}\n.tk-icon.__comment {\n height: 1em;\n width: 1em;\n line-height: 1;\n}\n.tk-extra-text {\n line-height: 1;\n}\n.tk-tag {\n display: inline-block;\n padding: 0 0.5em;\n font-size: 0.75em;\n background-color: #f2f6fc;\n}\n.tk-tag-green {\n background-color: rgba(103,194,58,0.13);\n border: 1px solid rgba(103,194,58,0.50);\n border-radius: 2px;\n color: #67c23a;\n}\n.tk-tag-yellow {\n background-color: rgba(230,162,60,0.13);\n border: 1px solid rgba(230,162,60,0.50);\n border-radius: 2px;\n color: #e6a23c;\n}\n.tk-tag-blue {\n background-color: rgba(64,158,255,0.13);\n border: 1px solid rgba(64,158,255,0.50);\n border-radius: 2px;\n color: #409eff;\n}\n.tk-tag-red {\n background-color: rgba(245,108,108,0.13);\n border: 1px solid rgba(245,108,108,0.50);\n border-radius: 2px;\n color: #f56c6c;\n}\n.tk-comment {\n margin-top: 1rem;\n display: flex;\n flex-direction: row;\n word-break: break-all;\n}\n.tk-content {\n margin-top: 0.5rem;\n overflow: auto;\n max-height: 500px;\n}\n.tk-replies .tk-content {\n font-size: .9em;\n}\n.tk-comment .vemoji {\n max-height: 2em;\n vertical-align: middle;\n}\n.tk-replies {\n max-height: 200px;\n overflow: hidden;\n position: relative;\n}\n.tk-replies-expand {\n max-height: none;\n}\n.tk-submit {\n margin-top: 1rem;\n}\n.tk-expand {\n font-size: 0.75em;\n}\n", ""]), t["default"] = a }, 1925: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-comments-title {\n font-size: 1.25rem;\n font-weight: bold;\n margin-bottom: 1rem;\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n}\n.tk-comments-count.__hidden {\n visibility: hidden;\n}\n.tk-comments-container {\n min-height: 10rem;\n display: flex;\n flex-direction: column;\n}\n.tk-comments-no {\n flex: 1;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.tk-comments-error {\n font-size: 0.75em;\n color: #ff0000;\n}\n.tk-icon.__comments {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: sub;\n margin-left: 0.5em;\n height: 0.75em;\n width: 0.75em;\n line-height: 0;\n cursor: pointer;\n color: #409eff;\n}\n", ""]), t["default"] = a }, 3837: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-footer {\n width: 100%;\n text-align: end;\n font-size: 0.75em;\n color: #999999;\n margin-top: 1em;\n}\n", ""]), t["default"] = a }, 9782: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-meta-input {\n display: flex;\n}\n.tk-meta-input .el-input {\n width: auto;\n width: calc((100% - 1rem) / 3); /* Fix Safari */\n flex: 1;\n}\n.tk-meta-input .el-input + .el-input {\n margin-left: 0.5rem;\n}\n.tk-meta-input .el-input .el-input-group__prepend {\n padding: 0 1rem;\n}\n.tk-meta-input .el-input input:invalid {\n border: 1px solid #f56c6c;\n box-shadow: none;\n}\n@media screen and (max-width: 767px) {\n.tk-meta-input {\n flex-direction: column;\n}\n.tk-meta-input .el-input {\n width: auto;\n}\n.tk-meta-input .el-input + .el-input {\n margin-left: 0;\n margin-top: 0.5rem;\n}\n}\n", ""]), t["default"] = a }, 5661: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-pagination,\n.tk-pagination-pagers {\n display: flex;\n}\n.tk-pagination {\n width: 100%;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n}\n.tk-pagination-options {\n display: flex;\n align-items: center;\n}\n.tk-pagination-pager {\n width: 2em;\n height: 2em;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.tk-pagination-pager.__current {\n background-color: #409eff;\n pointer-events: none;\n}\n.tk-pagination .el-input {\n width: 50px;\n}\n.tk-pagination .el-input .el-input__inner {\n padding: 0;\n height: 28px;\n text-align: center;\n -moz-appearance: textfield;\n appearance: textfield;\n}\n.tk-pagination .el-input .el-input__inner::-webkit-inner-spin-button,\n.tk-pagination .el-input .el-input__inner::-webkit-outer-spin-button {\n -webkit-appearance: none;\n appearance: none;\n margin: 0;\n}\n", ""]), t["default"] = a }, 5864: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, "\n.tk-submit {\n display: flex;\n flex-direction: column;\n}\n.tk-row {\n display: flex;\n flex-direction: row;\n}\n.tk-col {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.tk-meta-input {\n margin-bottom: 0.5rem;\n}\n.tk-row.actions {\n position: relative;\n margin-top: 1rem;\n margin-bottom: 1rem;\n margin-left: 3.5rem;\n align-items: center;\n justify-content: flex-end;\n}\n.tk-row-actions-start {\n flex: 1;\n display: flex;\n align-items: center;\n}\n.tk-submit-action-icon {\n align-self: center;\n display: inline-block;\n width: 1.25em;\n line-height: 0;\n margin-right: 10px;\n cursor: pointer;\n flex-shrink: 0;\n}\n.tk-submit-action-icon svg:hover {\n opacity: 0.8;\n}\n.tk-submit-action-icon.__markdown {\n color: #909399;\n}\n.tk-error-message {\n word-break: break-all;\n color: #ff0000;\n font-size: 0.75em;\n flex-shrink: 1;\n}\n.tk-input-image {\n display: none;\n}\n.tk-input {\n flex: 1;\n}\n.tk-input .el-textarea__inner {\n background-position: right bottom;\n background-repeat: no-repeat;\n}\n.tk-turnstile-container {\n position: absolute;\n right: 0;\n bottom: -75px;\n}\n.tk-turnstile {\n display: flex;\n flex-direction: column;\n}\n.tk-preview-container {\n margin-left: 3rem;\n margin-bottom: 1rem;\n padding: 5px 15px;\n border: 1px solid rgba(128,128,128,0.31);\n border-radius: 4px;\n word-break: break-word;\n}\n", ""]), t["default"] = a }, 712: function (e, t, n) { "use strict"; n.r(t); var r = n(7156), i = n.n(r), o = n(8161), a = n.n(o)()(i()); a.push([e.id, '/*!\n * OwO v1.0.2\n * Source: https://github.com/DIYgod/OwO/blob/master/dist/OwO.min.css\n * Author: DIYgod\n * Modified by: iMaeGoo\n * Released under the MIT License.\n */\n\n.OwO {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.OwO.OwO-open .OwO-body {\n display: block;\n}\n\n.OwO .OwO-logo {\n width: 1.125em;\n display: flex;\n}\n\n.OwO .OwO-body {\n display: none;\n position: absolute;\n left: 0;\n right: 0;\n max-width: 500px;\n color: #4a4a4a;\n background-color: #ffffff;\n border: 1px solid rgba(144,147,153,0.31);\n top: 2em;\n border-radius: 0 4px 4px;\n z-index: 1000;\n}\n\n.night .OwO .OwO-body,\n.darkmode .OwO .OwO-body,\n.DarkMode .OwO .OwO-body,\n[data-theme="dark"] .OwO .OwO-body,\n[data-user-color-scheme="dark"] .OwO .OwO-body {\n color: #ffffff;\n background-color: #4a4a4a;\n}\n\n.OwO .OwO-body .OwO-items {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: none;\n padding: 10px;\n padding-right: 0;\n margin: 0;\n overflow: auto;\n font-size: 0;\n}\n\n.OwO .OwO-body .OwO-items .OwO-item {\n list-style-type: none;\n padding: 5px 10px;\n border-radius: 5px;\n display: inline-block;\n font-size: 12px;\n line-height: 14px;\n cursor: pointer;\n -webkit-transition: .3s;\n transition: .3s;\n text-align: center;\n}\n\n.OwO .OwO-body .OwO-items .OwO-item:hover {\n background-color: rgba(144,147,153,0.13);\n box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);\n}\n\n.OwO .OwO-body .OwO-items-emoji .OwO-item {\n font-size: 20px;\n line-height: 19px;\n}\n\n.OwO .OwO-body .OwO-items-image .OwO-item {\n width: 14%;\n box-sizing: border-box;\n}\n\n@media screen and (max-width: 600px) {\n #twikoo .OwO-items > .OwO-item {\n width: 16%;\n }\n}\n\n@media screen and (max-width: 460px) {\n #twikoo .OwO-items > .OwO-item {\n width: 20%;\n }\n}\n\n@media screen and (max-width: 400px) {\n #twikoo .OwO-items > .OwO-item {\n width: 25%;\n }\n}\n\n@media screen and (max-width: 330px) {\n #twikoo .OwO-items > .OwO-item {\n width: 33%;\n }\n}\n\n\n.OwO .OwO-body .OwO-items-image .OwO-item img {\n max-width: 100%;\n}\n\n.OwO .OwO-body .OwO-items-show {\n display: block;\n}\n\n.OwO .OwO-body .OwO-bar {\n width: 100%;\n border-top: 1px solid rgba(144,147,153,0.31);\n border-radius: 0 0 4px 4px;\n}\n\n.OwO .OwO-body .OwO-bar .OwO-packages {\n margin: 0;\n padding: 0;\n font-size: 0;\n}\n\n.OwO .OwO-body .OwO-bar .OwO-packages li {\n list-style-type: none;\n display: inline-block;\n line-height: 30px;\n font-size: 14px;\n padding: 0 10px;\n cursor: pointer;\n margin-right: 3px;\n}\n\n.OwO .OwO-body .OwO-bar .OwO-packages li:nth-child(1) {\n border-radius: 0 0 0 3px;\n}\n\n.OwO .OwO-body .OwO-bar .OwO-packages li:hover {\n background-color: rgba(144,147,153,0.13);\n}\n\n.OwO .OwO-body .OwO-bar .OwO-packages .OwO-package-active {\n background-color: rgba(144,147,153,0.13);\n -webkit-transition: .3s;\n transition: .3s;\n}\n', ""]), t["default"] = a }, 4427: function (e) { e.exports = '' }, 511: function (e) { e.exports = '' }, 7630: function (e) { e.exports = '' }, 3447: function (e) { e.exports = '' }, 7385: function (e) { e.exports = '' }, 2170: function (e) { e.exports = '' }, 5552: function (e) { e.exports = '' }, 5242: function (e) { e.exports = '' }, 3137: function (e) { e.exports = '' }, 4783: function (e) { e.exports = '' }, 5461: function (e) { e.exports = '' }, 5570: function (e) { e.exports = '' }, 8384: function (e) { e.exports = '' }, 7702: function (e) { e.exports = '' }, 6845: function (e) { e.exports = '' }, 1576: function (e) { e.exports = '' }, 2561: function (e) { e.exports = '' }, 1455: function (e) { e.exports = '' }, 9e3: function (e) { e.exports = '' }, 6342: function (e) { e.exports = '' }, 6230: function (e) { e.exports = '' }, 7848: function (e) { e.exports = '' }, 146: function (e) { e.exports = '' }, 1834: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(4965), i = n(8745), o = i.Z, a = (n(5456), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 1365: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(7534), i = n(7466), o = i.Z, a = (n(5858), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 2270: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(3530), i = n(4577), o = i.Z, a = (n(367), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 9726: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(7229), i = n(9434), o = i.Z, a = (n(1118), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 3035: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(1205), i = n(9859), o = i.Z, a = (n(3138), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 9942: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(9528), i = n(7504), o = i.Z, a = (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports }, 3388: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(5954), i = n(2943), o = i.Z, a = (n(6975), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 906: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(7870), i = n(3419), o = i.Z, a = (n(6338), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 5915: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(6814), i = n(4637), o = i.Z, a = (n(3455), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 5312: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(1505), i = n(315), o = i.Z, a = (n(8411), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 9753: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(1613), i = n(6056), o = i.Z, a = (n(2710), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 6701: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(6252), i = n(1749), o = i.Z, a = (n(1914), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 4620: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(978), i = n(7181), o = i.Z, a = (n(920), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 7179: function (e, t, n) { "use strict"; n.r(t), n.d(t, { __esModule: function () { return i.X }, "default": function () { return a } }); var r = n(5416), i = n(9420), o = i.Z, a = (n(8878), (0, n(1900).Z)(o, r.sY, r.xk, !1, null, null, null).exports) }, 1900: function (e, t, n) { "use strict"; function r(e, t, n, r, i, o, a, s) { var u, c = "function" == typeof e ? e.options : e; if (t && (c.render = t, c.staticRenderFns = n, c._compiled = !0), r && (c.functional = !0), o && (c._scopeId = "data-v-" + o), a ? (u = function (e) { (e = e || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (e = __VUE_SSR_CONTEXT__), i && i.call(this, e), e && e._registeredComponents && e._registeredComponents.add(a) }, c._ssrRegister = u) : i && (u = s ? function () { i.call(this, (c.functional ? this.parent : this).$root.$options.shadowRoot) } : i), u) if (c.functional) { c._injectStyles = u; var l = c.render; c.render = function (e, t) { return u.call(t), l(e, t) } } else { var d = c.beforeCreate; c.beforeCreate = d ? [].concat(d, u) : [u] } return { exports: e, options: c } } n.d(t, { Z: function () { return r } }) }, 4195: function (e, t, n) { var r = n(1121); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("0e5ef982", r, !0, {}) }, 3414: function (e, t, n) { var r = n(6011); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("1a92f302", r, !0, {}) }, 9951: function (e, t, n) { var r = n(1268); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("e6b19834", r, !0, {}) }, 5456: function (e, t, n) { var r = n(4418); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("5049e71b", r, !0, {}) }, 5858: function (e, t, n) { var r = n(2249); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("2e97bedb", r, !0, {}) }, 367: function (e, t, n) { var r = n(9612); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("649fbfd3", r, !0, {}) }, 1118: function (e, t, n) { var r = n(2504); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("38478b6f", r, !0, {}) }, 3138: function (e, t, n) { var r = n(7245); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("4f255dde", r, !0, {}) }, 6975: function (e, t, n) { var r = n(7795); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("59ad6a1e", r, !0, {}) }, 6338: function (e, t, n) { var r = n(3886); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("48048424", r, !0, {}) }, 3455: function (e, t, n) { var r = n(4778); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("0ef696af", r, !0, {}) }, 8411: function (e, t, n) { var r = n(1925); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("7f96da90", r, !0, {}) }, 2710: function (e, t, n) { var r = n(3837); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("042e8a68", r, !0, {}) }, 1914: function (e, t, n) { var r = n(9782); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("59ca4f90", r, !0, {}) }, 920: function (e, t, n) { var r = n(5661); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("88983344", r, !0, {}) }, 8878: function (e, t, n) { var r = n(5864); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("1d22dba9", r, !0, {}) }, 1071: function (e, t, n) { var r = n(712); r.__esModule && (r = r["default"]), "string" == typeof r && (r = [[e.id, r, ""]]), r.locals && (e.exports = r.locals), (0, n(7913).Z)("8be46386", r, !0, {}) }, 7913: function (e, t, n) { "use strict"; n.d(t, { Z: function () { return h } }); var r = n(8666), i = "undefined" != typeof document; if ("undefined" != typeof DEBUG && DEBUG && !i) throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment."); var o = {}, a = i && (document.head || document.getElementsByTagName("head")[0]), s = null, u = 0, c = !1, l = function () { }, d = null, f = "data-vue-ssr-id", p = "undefined" != typeof navigator && /msie [6-9]\b/.test(navigator.userAgent.toLowerCase()); function h(e, t, n, i) { c = n, d = i || {}; var a = (0, r.Z)(e, t); return g(a), function (t) { for (var n = [], i = 0; i < a.length; i++) { var s = a[i]; (u = o[s.id]).refs--, n.push(u) } for (t ? g(a = (0, r.Z)(e, t)) : a = [], i = 0; i < n.length; i++) { var u; if (0 === (u = n[i]).refs) { for (var c = 0; c < u.parts.length; c++)u.parts[c](); delete o[u.id] } } } } function g(e) { for (var t = 0; t < e.length; t++) { var n = e[t], r = o[n.id]; if (r) { r.refs++; for (var i = 0; i < r.parts.length; i++)r.parts[i](n.parts[i]); for (; i < n.parts.length; i++)r.parts.push(v(n.parts[i])); r.parts.length > n.parts.length && (r.parts.length = n.parts.length) } else { var a = []; for (i = 0; i < n.parts.length; i++)a.push(v(n.parts[i])); o[n.id] = { id: n.id, refs: 1, parts: a } } } } function m() { var e = document.createElement("style"); return e.type = "text/css", a.appendChild(e), e } function v(e) { var t, n, r = document.querySelector("style[" + f + '~="' + e.id + '"]'); if (r) { if (c) return l; r.parentNode.removeChild(r) } if (p) { var i = u++; r = s || (s = m()), t = b.bind(null, r, i, !1), n = b.bind(null, r, i, !0) } else r = m(), t = k.bind(null, r), n = function () { r.parentNode.removeChild(r) }; return t(e), function (r) { if (r) { if (r.css === e.css && r.media === e.media && r.sourceMap === e.sourceMap) return; t(e = r) } else n() } } var _, y = (_ = [], function (e, t) { return _[e] = t, _.filter(Boolean).join("\n") }); function b(e, t, n, r) { var i = n ? "" : r.css; if (e.styleSheet) e.styleSheet.cssText = y(t, i); else { var o = document.createTextNode(i), a = e.childNodes; a[t] && e.removeChild(a[t]), a.length ? e.insertBefore(o, a[t]) : e.appendChild(o) } } function k(e, t) { var n = t.css, r = t.media, i = t.sourceMap; if (r && e.setAttribute("media", r), d.ssrId && e.setAttribute(f, t.id), i && (n += "\n/*# sourceURL=" + i.sources[0] + " */", n += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(i)))) + " */"), e.styleSheet) e.styleSheet.cssText = n; else { for (; e.firstChild;)e.removeChild(e.firstChild); e.appendChild(document.createTextNode(n)) } } }, 3307: function (e) { "use strict"; e.exports = function (e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n < t; n++)r[n] = e[n]; return r }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 5952: function (e) { "use strict"; e.exports = function (e) { if (Array.isArray(e)) return e }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 2349: function (e, t, n) { "use strict"; var r = n(3307); e.exports = function (e) { if (Array.isArray(e)) return r(e) }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 8711: function (e) { "use strict"; function t(e, t, n, r, i, o, a) { try { var s = e[o](a), u = s.value } catch (c) { return void n(c) } s.done ? t(u) : Promise.resolve(u).then(r, i) } e.exports = function (e) { return function () { var n = this, r = arguments; return new Promise((function (i, o) { var a = e.apply(n, r); function s(e) { t(a, i, o, s, u, "next", e) } function u(e) { t(a, i, o, s, u, "throw", e) } s(undefined) })) } }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 5272: function (e) { "use strict"; e.exports = function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 8946: function (e, t, n) { "use strict"; var r = n(8459); function i(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, r(i.key), i) } } e.exports = function (e, t, n) { return t && i(e.prototype, t), n && i(e, n), Object.defineProperty(e, "prototype", { writable: !1 }), e }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 3295: function (e, t, n) { "use strict"; var r = n(8459); e.exports = function (e, t, n) { return (t = r(t)) in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 3330: function (e) { "use strict"; e.exports = function (e) { return e && e.__esModule ? e : { "default": e } }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 9627: function (e) { "use strict"; e.exports = function (e) { if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e) }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 7590: function (e) { "use strict"; e.exports = function (e, t) { var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (null != n) { var r, i, o, a, s = [], u = !0, c = !1; try { if (o = (n = n.call(e)).next, 0 === t) { if (Object(n) !== n) return; u = !1 } else for (; !(u = (r = o.call(n)).done) && (s.push(r.value), s.length !== t); u = !0); } catch (e) { c = !0, i = e } finally { try { if (!u && null != n["return"] && (a = n["return"](), Object(a) !== a)) return } finally { if (c) throw i } } return s } }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 565: function (e) { "use strict"; e.exports = function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 8063: function (e) { "use strict"; e.exports = function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 9207: function (e, t, n) { "use strict"; var r = n(9767)["default"]; function i() { e.exports = i = function () { return n }, e.exports.__esModule = !0, e.exports["default"] = e.exports; var t, n = {}, o = Object.prototype, a = o.hasOwnProperty, s = Object.defineProperty || function (e, t, n) { e[t] = n.value }, u = "function" == typeof Symbol ? Symbol : {}, c = u.iterator || "@@iterator", l = u.asyncIterator || "@@asyncIterator", d = u.toStringTag || "@@toStringTag"; function f(e, t, n) { return Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }), e[t] } try { f({}, "") } catch (t) { f = function (e, t, n) { return e[t] = n } } function p(e, t, n, r) { var i = t && t.prototype instanceof b ? t : b, o = Object.create(i.prototype), a = new N(r || []); return s(o, "_invoke", { value: O(e, n, a) }), o } function h(e, t, n) { try { return { type: "normal", arg: e.call(t, n) } } catch (e) { return { type: "throw", arg: e } } } n.wrap = p; var g = "suspendedStart", m = "suspendedYield", v = "executing", _ = "completed", y = {}; function b() { } function k() { } function w() { } var E = {}; f(E, c, (function () { return this })); var x = Object.getPrototypeOf, A = x && x(x(P([]))); A && A !== o && a.call(A, c) && (E = A); var C = w.prototype = b.prototype = Object.create(E); function I(e) { ["next", "throw", "return"].forEach((function (t) { f(e, t, (function (e) { return this._invoke(t, e) })) })) } function D(e, t) { function n(i, o, s, u) { var c = h(e[i], e, o); if ("throw" !== c.type) { var l = c.arg, d = l.value; return d && "object" == r(d) && a.call(d, "__await") ? t.resolve(d.__await).then((function (e) { n("next", e, s, u) }), (function (e) { n("throw", e, s, u) })) : t.resolve(d).then((function (e) { l.value = e, s(l) }), (function (e) { return n("throw", e, s, u) })) } u(c.arg) } var i; s(this, "_invoke", { value: function (e, r) { function o() { return new t((function (t, i) { n(e, r, t, i) })) } return i = i ? i.then(o, o) : o() } }) } function O(e, n, r) { var i = g; return function (o, a) { if (i === v) throw new Error("Generator is already running"); if (i === _) { if ("throw" === o) throw a; return { value: t, done: !0 } } for (r.method = o, r.arg = a; ;) { var s = r.delegate; if (s) { var u = S(s, r); if (u) { if (u === y) continue; return u } } if ("next" === r.method) r.sent = r._sent = r.arg; else if ("throw" === r.method) { if (i === g) throw i = _, r.arg; r.dispatchException(r.arg) } else "return" === r.method && r.abrupt("return", r.arg); i = v; var c = h(e, n, r); if ("normal" === c.type) { if (i = r.done ? _ : m, c.arg === y) continue; return { value: c.arg, done: r.done } } "throw" === c.type && (i = _, r.method = "throw", r.arg = c.arg) } } } function S(e, n) { var r = n.method, i = e.iterator[r]; if (i === t) return n.delegate = null, "throw" === r && e.iterator["return"] && (n.method = "return", n.arg = t, S(e, n), "throw" === n.method) || "return" !== r && (n.method = "throw", n.arg = new TypeError("The iterator does not provide a '" + r + "' method")), y; var o = h(i, e.iterator, n.arg); if ("throw" === o.type) return n.method = "throw", n.arg = o.arg, n.delegate = null, y; var a = o.arg; return a ? a.done ? (n[e.resultName] = a.value, n.next = e.nextLoc, "return" !== n.method && (n.method = "next", n.arg = t), n.delegate = null, y) : a : (n.method = "throw", n.arg = new TypeError("iterator result is not an object"), n.delegate = null, y) } function T(e) { var t = { tryLoc: e[0] }; 1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), this.tryEntries.push(t) } function M(e) { var t = e.completion || {}; t.type = "normal", delete t.arg, e.completion = t } function N(e) { this.tryEntries = [{ tryLoc: "root" }], e.forEach(T, this), this.reset(!0) } function P(e) { if (e || "" === e) { var n = e[c]; if (n) return n.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var i = -1, o = function n() { for (; ++i < e.length;)if (a.call(e, i)) return n.value = e[i], n.done = !1, n; return n.value = t, n.done = !0, n }; return o.next = o } } throw new TypeError(r(e) + " is not iterable") } return k.prototype = w, s(C, "constructor", { value: w, configurable: !0 }), s(w, "constructor", { value: k, configurable: !0 }), k.displayName = f(w, d, "GeneratorFunction"), n.isGeneratorFunction = function (e) { var t = "function" == typeof e && e.constructor; return !!t && (t === k || "GeneratorFunction" === (t.displayName || t.name)) }, n.mark = function (e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, w) : (e.__proto__ = w, f(e, d, "GeneratorFunction")), e.prototype = Object.create(C), e }, n.awrap = function (e) { return { __await: e } }, I(D.prototype), f(D.prototype, l, (function () { return this })), n.AsyncIterator = D, n.async = function (e, t, r, i, o) { void 0 === o && (o = Promise); var a = new D(p(e, t, r, i), o); return n.isGeneratorFunction(t) ? a : a.next().then((function (e) { return e.done ? e.value : a.next() })) }, I(C), f(C, d, "Generator"), f(C, c, (function () { return this })), f(C, "toString", (function () { return "[object Generator]" })), n.keys = function (e) { var t = Object(e), n = []; for (var r in t) n.push(r); return n.reverse(), function i() { for (; n.length;) { var e = n.pop(); if (e in t) return i.value = e, i.done = !1, i } return i.done = !0, i } }, n.values = P, N.prototype = { constructor: N, reset: function (e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(M), !e) for (var n in this) "t" === n.charAt(0) && a.call(this, n) && !isNaN(+n.slice(1)) && (this[n] = t) }, stop: function () { this.done = !0; var e = this.tryEntries[0].completion; if ("throw" === e.type) throw e.arg; return this.rval }, dispatchException: function (e) { if (this.done) throw e; var n = this; function r(r, i) { return s.type = "throw", s.arg = e, n.next = r, i && (n.method = "next", n.arg = t), !!i } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var o = this.tryEntries[i], s = o.completion; if ("root" === o.tryLoc) return r("end"); if (o.tryLoc <= this.prev) { var u = a.call(o, "catchLoc"), c = a.call(o, "finallyLoc"); if (u && c) { if (this.prev < o.catchLoc) return r(o.catchLoc, !0); if (this.prev < o.finallyLoc) return r(o.finallyLoc) } else if (u) { if (this.prev < o.catchLoc) return r(o.catchLoc, !0) } else { if (!c) throw new Error("try statement without catch or finally"); if (this.prev < o.finallyLoc) return r(o.finallyLoc) } } } }, abrupt: function (e, t) { for (var n = this.tryEntries.length - 1; n >= 0; --n) { var r = this.tryEntries[n]; if (r.tryLoc <= this.prev && a.call(r, "finallyLoc") && this.prev < r.finallyLoc) { var i = r; break } } i && ("break" === e || "continue" === e) && i.tryLoc <= t && t <= i.finallyLoc && (i = null); var o = i ? i.completion : {}; return o.type = e, o.arg = t, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(o) }, complete: function (e, t) { if ("throw" === e.type) throw e.arg; return "break" === e.type || "continue" === e.type ? this.next = e.arg : "return" === e.type ? (this.rval = this.arg = e.arg, this.method = "return", this.next = "end") : "normal" === e.type && t && (this.next = t), y }, finish: function (e) { for (var t = this.tryEntries.length - 1; t >= 0; --t) { var n = this.tryEntries[t]; if (n.finallyLoc === e) return this.complete(n.completion, n.afterLoc), M(n), y } }, "catch": function (e) { for (var t = this.tryEntries.length - 1; t >= 0; --t) { var n = this.tryEntries[t]; if (n.tryLoc === e) { var r = n.completion; if ("throw" === r.type) { var i = r.arg; M(n) } return i } } throw new Error("illegal catch attempt") }, delegateYield: function (e, n, r) { return this.delegate = { iterator: P(e), resultName: n, nextLoc: r }, "next" === this.method && (this.arg = t), y } }, n } e.exports = i, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 8500: function (e, t, n) { "use strict"; var r = n(5952), i = n(7590), o = n(2005), a = n(565); e.exports = function (e, t) { return r(e) || i(e, t) || o(e, t) || a() }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 5825: function (e, t, n) { "use strict"; var r = n(2349), i = n(9627), o = n(2005), a = n(8063); e.exports = function (e) { return r(e) || i(e) || o(e) || a() }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 1259: function (e, t, n) { "use strict"; var r = n(9767)["default"]; e.exports = function (e, t) { if ("object" != r(e) || !e) return e; var n = e[Symbol.toPrimitive]; if (void 0 !== n) { var i = n.call(e, t || "default"); if ("object" != r(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value.") } return ("string" === t ? String : Number)(e) }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 8459: function (e, t, n) { "use strict"; var r = n(9767)["default"], i = n(1259); e.exports = function (e) { var t = i(e, "string"); return "symbol" == r(t) ? t : String(t) }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 9767: function (e) { "use strict"; function t(n) { return e.exports = t = "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.exports.__esModule = !0, e.exports["default"] = e.exports, t(n) } e.exports = t, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 2005: function (e, t, n) { "use strict"; var r = n(3307); e.exports = function (e, t) { if (e) { if ("string" == typeof e) return r(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? r(e, t) : void 0 } }, e.exports.__esModule = !0, e.exports["default"] = e.exports }, 818: function (e, t, n) { "use strict"; var r = n(3330)(n(9767)), i = n(9207)(); e.exports = i; try { regeneratorRuntime = i } catch (o) { "object" === ("undefined" == typeof globalThis ? "undefined" : (0, r["default"])(globalThis)) ? globalThis.regeneratorRuntime = i : Function("r", "regeneratorRuntime = r")(i) } }, 1137: function (e) { "use strict"; e.exports = JSON.parse('{"name":"@cloudbase/js-sdk","version":"1.7.2","description":"cloudbase javascript sdk","main":"dist/index.cjs.js","module":"dist/index.esm.js","miniprogram":"miniprogram_dist","typings":"./index.d.ts","scripts":{"lint":"eslint --fix \\"./src/**/*.ts\\" \\"./database/**/*.ts\\"","build":"rm -rf dist/ && gulp build","build:cdn":"gulp cdn","build:miniapp":"gulp miniapp","build:e2e":"rm -rf dist/ && NODE_ENV=e2e gulp e2e"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://github.com/TencentCloudBase/cloudbase-js-sdk"},"keywords":["tcb","cloudbase","Cloudbase","serverless","Serverless","javascript","JavaScript"],"files":["miniprogram_dist","**/dist/","/index.d.ts","**/package.json"],"components":["app","auth","database","functions","storage"],"author":"","license":"ISC","dependencies":{"@cloudbase/analytics":"^1.1.1-alpha.0","@cloudbase/app":"^1.4.1","@cloudbase/auth":"^1.6.1","@cloudbase/database":"0.9.18-next","@cloudbase/functions":"^1.3.4","@cloudbase/realtime":"^1.1.4-alpha.0","@cloudbase/storage":"^1.3.4","@cloudbase/types":"^1.1.3-alpha.0","@cloudbase/utilities":"^1.3.4"},"devDependencies":{"@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-transform-runtime":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/preset-typescript":"^7.9.0","@typescript-eslint/eslint-plugin":"^3.8.0","@typescript-eslint/parser":"^3.8.0","awesome-typescript-loader":"^5.2.1","babel-loader":"^8.1.0","eslint":"^7.6.0","eslint-config-alloy":"^3.7.4","gulp":"^4.0.2","gulp-clean":"^0.4.0","gulp-rename":"^2.0.0","gulp-sourcemaps":"^2.6.5","gulp-typescript":"^6.0.0-alpha.1","json-loader":"^0.5.7","merge-stream":"^2.0.0","package-json-cleanup-loader":"^1.0.3","typescript":"^3.8.3","webpack":"4.41.3","webpack-cli":"^3.3.11","webpack-node-externals":"^1.7.2","webpack-stream":"^5.2.1","webpack-visualizer-plugin":"^0.1.11"},"browserslist":["last 2 version","> 1%","not dead","chrome 53"],"gitHead":"29ca0bf24318daa1fbb230910edf0b1545e17e7f"}') } }, t = {}; function n(r) { var i = t[r]; if (i !== undefined) return i.exports; var o = t[r] = { id: r, exports: {} }; return e[r](o, o.exports, n), o.exports } n.n = function (e) { var t = e && e.__esModule ? function () { return e["default"] } : function () { return e }; return n.d(t, { a: t }), t }, n.d = function (e, t) { for (var r in t) n.o(t, r) && !n.o(e, r) && Object.defineProperty(e, r, { enumerable: !0, get: t[r] }) }, n.g = function () { if ("object" == typeof globalThis) return globalThis; try { return this || new Function("return this")() } catch (e) { if ("object" == typeof window) return window } }(), n.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, n.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }; var r = {}; return function () { "use strict"; var e = r, t = n(3330); Object.defineProperty(e, "__esModule", { value: !0 }), e["default"] = void 0, e.getCommentsCount = function () { return g.apply(this, arguments) }, e.getRecentComments = function () { return m.apply(this, arguments) }, e.init = p, Object.defineProperty(e, "version", { enumerable: !0, get: function () { return a.version } }); var i = t(n(818)), o = t(n(8711)), a = n(8521), s = n(4361), u = n(7588), c = n(2304), l = t(n(7517)); function d(e) { return f.apply(this, arguments) } function f() { return (f = (0, o["default"])(i["default"].mark((function e(t) { return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return e.next = 2, (0, s.install)(l["default"], t); case 2: return e.abrupt("return", e.sent); case 3: case "end": return e.stop() } }), e) })))).apply(this, arguments) } function p() { return h.apply(this, arguments) } function h() { return h = (0, o["default"])(i["default"].mark((function e() { var t, n, r = arguments; return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: if (t = r.length > 0 && r[0] !== undefined ? r[0] : {}, !(0, c.isUrl)(t.envId)) { e.next = 5; break } e.t0 = null, e.next = 8; break; case 5: return e.next = 7, d(t); case 7: e.t0 = e.sent; case 8: n = e.t0, (0, c.setLanguage)(t), (0, u.render)(n, t); case 11: case "end": return e.stop() } }), e) }))), h.apply(this, arguments) } function g() { return g = (0, o["default"])(i["default"].mark((function e() { var t, n, r = arguments; return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: if (t = r.length > 0 && r[0] !== undefined ? r[0] : {}, !(0, c.isUrl)(t.envId)) { e.next = 5; break } e.t0 = null, e.next = 8; break; case 5: return e.next = 7, d(t); case 7: e.t0 = e.sent; case 8: return n = e.t0, e.next = 11, (0, c.getCommentsCountApi)(n, t); case 11: return e.abrupt("return", e.sent); case 12: case "end": return e.stop() } }), e) }))), g.apply(this, arguments) } function m() { return m = (0, o["default"])(i["default"].mark((function e() { var t, n, r = arguments; return i["default"].wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: if (t = r.length > 0 && r[0] !== undefined ? r[0] : {}, !(0, c.isUrl)(t.envId)) { e.next = 5; break } e.t0 = null, e.next = 8; break; case 5: return e.next = 7, d(t); case 7: e.t0 = e.sent; case 8: return n = e.t0, e.next = 11, (0, c.getRecentCommentsApi)(n, t); case 11: return e.abrupt("return", e.sent); case 12: case "end": return e.stop() } }), e) }))), m.apply(this, arguments) } n(2216), n(6410), n(3588), e["default"] = p }(), r }() }, "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.twikoo = t() : e.twikoo = t(); \ No newline at end of file diff --git a/js/waline.mjs b/js/waline.mjs new file mode 100644 index 0000000..b8175b8 --- /dev/null +++ b/js/waline.mjs @@ -0,0 +1,2 @@ +const e = ["nick", "mail", "link"], t = t => t.filter((t => e.includes(t))), n = ["//unpkg.com/@waline/emojis@1.1.0/weibo"], r = "en-US", l = ["//unpkg.com/@waline/emojis/tieba/tieba_agree.png", "//unpkg.com/@waline/emojis/tieba/tieba_look_down.png", "//unpkg.com/@waline/emojis/tieba/tieba_sunglasses.png", "//unpkg.com/@waline/emojis/tieba/tieba_pick_nose.png", "//unpkg.com/@waline/emojis/tieba/tieba_awkward.png", "//unpkg.com/@waline/emojis/tieba/tieba_sleep.png"], i = e => new Promise(((t, n) => { if (e.size > 128e3) return n(new Error("File too large! File size limit 128KB")); const r = new FileReader; r.readAsDataURL(e), r.onload = () => t(r.result?.toString() || ""), r.onerror = n })), s = e => !0 === e ? '

    Tex is not available in preview

    ' : 'Tex is not available in preview', o = e => { const t = async (t, n = {}) => fetch(`https://api.giphy.com/v1/gifs/${t}?${new URLSearchParams({ lang: e, limit: "20", rating: "g", api_key: "6CIMLkNMMOhRcXPoMCPkFy4Ybk2XUiMp", ...n }).toString()}`).then((e => e.json())).then((({ data: e }) => e.map((e => ({ title: e.title, src: e.images.downsized_medium.url }))))); return { search: e => t("search", { q: e, offset: "0" }), default: () => t("trending", {}), more: (e, n = 0) => t("search", { q: e, offset: n.toString() }) } }, a = new RegExp(`(${/[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af\u0400-\u04FF]+|\w+/.source}|${/ { let t = 0; return e.replace(a, ((e, n, r) => { if (r) return `${r}`; if ("<" === n) return "<"; let l; u[n] ? l = u[n] : (l = c[t], u[n] = l); const i = `${n}`; return t = ++t % c.length, i })) }, d = ["nick", "nickError", "mail", "mailError", "link", "optional", "placeholder", "sofa", "submit", "like", "cancelLike", "reply", "cancelReply", "comment", "refresh", "more", "preview", "emoji", "uploadImage", "seconds", "minutes", "hours", "days", "now", "uploading", "login", "logout", "admin", "sticky", "word", "wordHint", "anonymous", "level0", "level1", "level2", "level3", "level4", "level5", "gif", "gifSearchPlaceholder", "profile", "approved", "waiting", "spam", "unsticky", "oldest", "latest", "hottest", "reactionTitle"], h = e => Object.fromEntries(e.map(((e, t) => [d[t], e]))); var f = h(["NickName", "NickName cannot be less than 3 bytes.", "E-Mail", "Please confirm your email address.", "Website", "Optional", "Comment here...", "No comment yet.", "Submit", "Like", "Cancel like", "Reply", "Cancel reply", "Comments", "Refresh", "Load More...", "Preview", "Emoji", "Upload Image", "seconds ago", "minutes ago", "hours ago", "days ago", "just now", "Uploading", "Login", "logout", "Admin", "Sticky", "Words", "Please input comments between $0 and $1 words!\n Current word number: $2", "Anonymous", "Dwarves", "Hobbits", "Ents", "Wizards", "Elves", "Maiar", "GIF", "Search GIF", "Profile", "Approved", "Waiting", "Spam", "Unsticky", "Oldest", "Latest", "Hottest", "What do you think?"]), g = h(["ニックネーム", "3バイト以上のニックネームをご入力ください.", "メールアドレス", "メールアドレスをご確認ください.", "サイト", "オプション", "ここにコメント", "コメントしましょう~", "提出する", "Like", "Cancel like", "返信する", "キャンセル", "コメント", "更新", "さらに読み込む", "プレビュー", "絵文字", "画像をアップロード", "秒前", "分前", "時間前", "日前", "たっだ今", "アップロード", "ログインする", "ログアウト", "管理者", "トップに置く", "ワード", "コメントは $0 から $1 ワードの間でなければなりません!\n 現在の単語番号: $2", "匿名", "うえにん", "なかにん", "しもおし", "特にしもおし", "かげ", "なぬし", "GIF", "探す GIF", "個人情報", "承認済み", "待っている", "スパム", "べたつかない", "逆順", "正順", "人気順", "どう思いますか?"]), m = h(["Apelido", "Apelido não pode ser menor que 3 bytes.", "E-Mail", "Por favor, confirme seu endereço de e-mail.", "Website", "Opcional", "Comente aqui...", "Nenhum comentário, ainda.", "Enviar", "Like", "Cancel like", "Responder", "Cancelar resposta", "Comentários", "Refrescar", "Carregar Mais...", "Visualizar", "Emoji", "Enviar Imagem", "segundos atrás", "minutos atrás", "horas atrás", "dias atrás", "agora mesmo", "Enviando", "Entrar", "Sair", "Admin", "Sticky", "Palavras", "Favor enviar comentário com $0 a $1 palavras!\n Número de palavras atuais: $2", "Anônimo", "Dwarves", "Hobbits", "Ents", "Wizards", "Elves", "Maiar", "GIF", "Pesquisar GIF", "informação pessoal", "Aprovado", "Espera", "Spam", "Unsticky", "Mais velho", "Mais recentes", "Mais quente", "O que você acha?"]), v = h(["Псевдоним", "Никнейм не может быть меньше 3 байт.", "Эл. адрес", "Пожалуйста, подтвердите адрес вашей электронной почты.", "Веб-сайт", "Необязательный", "Комментарий здесь...", "Пока нет комментариев.", "Отправить", "Like", "Cancel like", "Отвечать", "Отменить ответ", "Комментарии", "Обновить", "Загрузи больше...", "Превью", "эмодзи", "Загрузить изображение", "секунд назад", "несколько минут назад", "несколько часов назад", "дней назад", "прямо сейчас", "Загрузка", "Авторизоваться", "Выход из системы", "Админ", "Липкий", "Слова", "Пожалуйста, введите комментарии от $0 до $1 слов!\nНомер текущего слова: $2", "Анонимный", "Dwarves", "Hobbits", "Ents", "Wizards", "Elves", "Maiar", "GIF", "Поиск GIF", "Персональные данные", "Одобренный", "Ожидающий", "Спам", "Нелипкий", "самый старый", "последний", "самый горячий", "Что вы думаете?"]), y = h(["昵称", "昵称不能少于3个字符", "邮箱", "请填写正确的邮件地址", "网址", "可选", "欢迎评论", "来发评论吧~", "提交", "喜欢", "取消喜欢", "回复", "取消回复", "评论", "刷新", "加载更多...", "预览", "表情", "上传图片", "秒前", "分钟前", "小时前", "天前", "刚刚", "正在上传", "登录", "退出", "博主", "置顶", "字", "评论字数应在 $0 到 $1 字之间!\n当前字数:$2", "匿名", "潜水", "冒泡", "吐槽", "活跃", "话痨", "传说", "表情包", "搜索表情包", "个人资料", "通过", "待审核", "垃圾", "取消置顶", "按倒序", "按正序", "按热度", "你认为这篇文章怎么样?"]), w = h(["暱稱", "暱稱不能少於3個字元", "郵箱", "請填寫正確的郵件地址", "網址", "可選", "歡迎評論", "來發評論吧~", "提交", "喜歡", "取消喜歡", "回覆", "取消回覆", "評論", "刷新", "載入更多...", "預覽", "表情", "上傳圖片", "秒前", "分鐘前", "小時前", "天前", "剛剛", "正在上傳", "登錄", "退出", "博主", "置頂", "字", "評論字數應在 $0 到 $1 字之間!\n當前字數:$2", "匿名", "潛水", "冒泡", "吐槽", "活躍", "話癆", "傳說", "表情包", "搜索表情包", "個人資料", "通過", "待審核", "垃圾", "取消置頂", "按倒序", "按正序", "按熱度", "你認為這篇文章怎麼樣?"]); const b = { zh: y, "zh-cn": y, "zh-CN": y, "zh-tw": w, "zh-TW": w, en: f, "en-US": f, "en-us": f, jp: g, ja: g, "jp-jp": g, "jp-JP": g, "pt-br": m, "pt-BR": m, ru: v, "ru-ru": v, "ru-RU": v }, k = { "Content-Type": "application/json" }, x = (e, t = "") => { if ("object" == typeof e && e.errno) throw new TypeError(`${t} failed with ${e.errno}: ${e.errmsg}`); return e }, _ = ({ serverURL: e, lang: t, paths: n, type: r, signal: l }) => fetch(`${e}/article?path=${encodeURIComponent(n.join(","))}&type=${encodeURIComponent(r.join(","))}&lang=${t}`, { signal: l }).then((e => e.json())), $ = ({ serverURL: e, lang: t, path: n, type: r, action: l }) => fetch(`${e}/article?lang=${t}`, { method: "POST", headers: k, body: JSON.stringify({ path: n, type: r, action: l }) }).then((e => e.json())), C = ({ serverURL: e, lang: t, token: n, objectId: r, comment: l }) => fetch(`${e}/comment/${r}?lang=${t}`, { method: "PUT", headers: { ...k, Authorization: `Bearer ${n}` }, body: JSON.stringify(l) }).then((e => e.json())).then((e => x(e, "Update comment"))), S = e => { try { e = decodeURI(e) } catch (e) { } return e }, R = (e = "") => e.replace(/\/$/u, ""), A = e => /^(https?:)?\/\//.test(e), E = e => { const t = R(e); return A(t) ? t : `https://${t}` }, L = e => Array.isArray(e) ? e : !!e && [0, e], z = (e, t) => "function" == typeof e ? e : !1 !== e && t, I = "{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}", j = (e, t) => { let n = e.toString(); for (; n.length < t;)n = "0" + n; return n }, O = (e, t, n) => { if (!e) return ""; const r = "string" == typeof e ? new Date(-1 !== e.indexOf(" ") ? e.replace(/-/g, "/") : e) : e, l = t.getTime() - r.getTime(), i = Math.floor(l / 864e5); if (0 === i) { const e = l % 864e5, t = Math.floor(e / 36e5); if (0 === t) { const t = e % 36e5, r = Math.floor(t / 6e4); if (0 === r) { const e = t % 6e4; return `${Math.round(e / 1e3)} ${n.seconds}` } return `${r} ${n.minutes}` } return `${t} ${n.hours}` } return i < 0 ? n.now : i < 8 ? `${i} ${n.days}` : (e => { const t = j(e.getDate(), 2), n = j(e.getMonth() + 1, 2); return `${j(e.getFullYear(), 2)}-${n}-${t}` })(r) }; function T(e, t) { const n = Object.create(null), r = e.split(","); for (let e = 0; e < r.length; e++)n[r[e]] = !0; return t ? e => !!n[e.toLowerCase()] : e => !!n[e] } function U(e) { if (ie(e)) { const t = {}; for (let n = 0; n < e.length; n++) { const r = e[n], l = ue(r) ? N(r) : U(r); if (l) for (const e in l) t[e] = l[e] } return t } return ue(e) || de(e) ? e : void 0 } const P = /;(?![^(]*\))/g, M = /:([^]+)/, F = /\/\*.*?\*\//gs; function N(e) { const t = {}; return e.replace(F, "").split(P).forEach((e => { if (e) { const n = e.split(M); n.length > 1 && (t[n[0].trim()] = n[1].trim()) } })), t } function V(e) { let t = ""; if (ue(e)) t = e; else if (ie(e)) for (let n = 0; n < e.length; n++) { const r = V(e[n]); r && (t += r + " ") } else if (de(e)) for (const n in e) e[n] && (t += n + " "); return t.trim() } const D = T("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly"); function H(e) { return !!e || "" === e } function B(e, t) { if (e === t) return !0; let n = ae(e), r = ae(t); if (n || r) return !(!n || !r) && e.getTime() === t.getTime(); if (n = pe(e), r = pe(t), n || r) return e === t; if (n = ie(e), r = ie(t), n || r) return !(!n || !r) && function (e, t) { if (e.length !== t.length) return !1; let n = !0; for (let r = 0; n && r < e.length; r++)n = B(e[r], t[r]); return n }(e, t); if (n = de(e), r = de(t), n || r) { if (!n || !r) return !1; if (Object.keys(e).length !== Object.keys(t).length) return !1; for (const n in e) { const r = e.hasOwnProperty(n), l = t.hasOwnProperty(n); if (r && !l || !r && l || !B(e[n], t[n])) return !1 } } return String(e) === String(t) } function W(e, t) { return e.findIndex((e => B(e, t))) } const q = e => ue(e) ? e : null == e ? "" : ie(e) || de(e) && (e.toString === fe || !ce(e.toString)) ? JSON.stringify(e, Z, 2) : String(e), Z = (e, t) => t && t.__v_isRef ? Z(e, t.value) : se(t) ? { [`Map(${t.size})`]: [...t.entries()].reduce(((e, [t, n]) => (e[`${t} =>`] = n, e)), {}) } : oe(t) ? { [`Set(${t.size})`]: [...t.values()] } : !de(t) || ie(t) || ve(t) ? t : String(t), K = {}, G = [], Q = () => { }, J = () => !1, X = /^on[^a-z]/, Y = e => X.test(e), ee = e => e.startsWith("onUpdate:"), te = Object.assign, ne = (e, t) => { const n = e.indexOf(t); n > -1 && e.splice(n, 1) }, re = Object.prototype.hasOwnProperty, le = (e, t) => re.call(e, t), ie = Array.isArray, se = e => "[object Map]" === ge(e), oe = e => "[object Set]" === ge(e), ae = e => "[object Date]" === ge(e), ce = e => "function" == typeof e, ue = e => "string" == typeof e, pe = e => "symbol" == typeof e, de = e => null !== e && "object" == typeof e, he = e => de(e) && ce(e.then) && ce(e.catch), fe = Object.prototype.toString, ge = e => fe.call(e), me = e => ge(e).slice(8, -1), ve = e => "[object Object]" === ge(e), ye = e => ue(e) && "NaN" !== e && "-" !== e[0] && "" + parseInt(e, 10) === e, we = T(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"), be = e => { const t = Object.create(null); return n => t[n] || (t[n] = e(n)) }, ke = /-(\w)/g, xe = be((e => e.replace(ke, ((e, t) => t ? t.toUpperCase() : "")))), _e = /\B([A-Z])/g, $e = be((e => e.replace(_e, "-$1").toLowerCase())), Ce = be((e => e.charAt(0).toUpperCase() + e.slice(1))), Se = be((e => e ? `on${Ce(e)}` : "")), Re = (e, t) => !Object.is(e, t), Ae = (e, t) => { for (let n = 0; n < e.length; n++)e[n](t) }, Ee = (e, t, n) => { Object.defineProperty(e, t, { configurable: !0, enumerable: !1, value: n }) }, Le = e => { const t = parseFloat(e); return isNaN(t) ? e : t }; let ze; const Ie = () => ze || (ze = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : "undefined" != typeof window ? window : "undefined" != typeof global ? global : {}); let je; class Oe { constructor(e = !1) { this.detached = e, this._active = !0, this.effects = [], this.cleanups = [], this.parent = je, !e && je && (this.index = (je.scopes || (je.scopes = [])).push(this) - 1) } get active() { return this._active } run(e) { if (this._active) { const t = je; try { return je = this, e() } finally { je = t } } } on() { je = this } off() { je = this.parent } stop(e) { if (this._active) { let t, n; for (t = 0, n = this.effects.length; t < n; t++)this.effects[t].stop(); for (t = 0, n = this.cleanups.length; t < n; t++)this.cleanups[t](); if (this.scopes) for (t = 0, n = this.scopes.length; t < n; t++)this.scopes[t].stop(!0); if (!this.detached && this.parent && !e) { const e = this.parent.scopes.pop(); e && e !== this && (this.parent.scopes[this.index] = e, e.index = this.index) } this.parent = void 0, this._active = !1 } } } function Te() { return je } const Ue = e => { const t = new Set(e); return t.w = 0, t.n = 0, t }, Pe = e => (e.w & Ve) > 0, Me = e => (e.n & Ve) > 0, Fe = new WeakMap; let Ne = 0, Ve = 1; const De = 30; let He; const Be = Symbol(""), We = Symbol(""); class qe { constructor(e, t = null, n) { this.fn = e, this.scheduler = t, this.active = !0, this.deps = [], this.parent = void 0, function (e, t = je) { t && t.active && t.effects.push(e) }(this, n) } run() { if (!this.active) return this.fn(); let e = He, t = Ke; for (; e;) { if (e === this) return; e = e.parent } try { return this.parent = He, He = this, Ke = !0, Ve = 1 << ++Ne, Ne <= De ? (({ deps: e }) => { if (e.length) for (let t = 0; t < e.length; t++)e[t].w |= Ve })(this) : Ze(this), this.fn() } finally { Ne <= De && (e => { const { deps: t } = e; if (t.length) { let n = 0; for (let r = 0; r < t.length; r++) { const l = t[r]; Pe(l) && !Me(l) ? l.delete(e) : t[n++] = l, l.w &= ~Ve, l.n &= ~Ve } t.length = n } })(this), Ve = 1 << --Ne, He = this.parent, Ke = t, this.parent = void 0, this.deferStop && this.stop() } } stop() { He === this ? this.deferStop = !0 : this.active && (Ze(this), this.onStop && this.onStop(), this.active = !1) } } function Ze(e) { const { deps: t } = e; if (t.length) { for (let n = 0; n < t.length; n++)t[n].delete(e); t.length = 0 } } let Ke = !0; const Ge = []; function Qe() { Ge.push(Ke), Ke = !1 } function Je() { const e = Ge.pop(); Ke = void 0 === e || e } function Xe(e, t, n) { if (Ke && He) { let t = Fe.get(e); t || Fe.set(e, t = new Map); let r = t.get(n); r || t.set(n, r = Ue()), Ye(r) } } function Ye(e, t) { let n = !1; Ne <= De ? Me(e) || (e.n |= Ve, n = !Pe(e)) : n = !e.has(He), n && (e.add(He), He.deps.push(e)) } function et(e, t, n, r, l, i) { const s = Fe.get(e); if (!s) return; let o = []; if ("clear" === t) o = [...s.values()]; else if ("length" === n && ie(e)) { const e = Number(r); s.forEach(((t, n) => { ("length" === n || n >= e) && o.push(t) })) } else switch (void 0 !== n && o.push(s.get(n)), t) { case "add": ie(e) ? ye(n) && o.push(s.get("length")) : (o.push(s.get(Be)), se(e) && o.push(s.get(We))); break; case "delete": ie(e) || (o.push(s.get(Be)), se(e) && o.push(s.get(We))); break; case "set": se(e) && o.push(s.get(Be)) }if (1 === o.length) o[0] && tt(o[0]); else { const e = []; for (const t of o) t && e.push(...t); tt(Ue(e)) } } function tt(e, t) { const n = ie(e) ? e : [...e]; for (const e of n) e.computed && nt(e); for (const e of n) e.computed || nt(e) } function nt(e, t) { (e !== He || e.allowRecurse) && (e.scheduler ? e.scheduler() : e.run()) } const rt = T("__proto__,__v_isRef,__isVue"), lt = new Set(Object.getOwnPropertyNames(Symbol).filter((e => "arguments" !== e && "caller" !== e)).map((e => Symbol[e])).filter(pe)), it = pt(), st = pt(!1, !0), ot = pt(!0), at = ct(); function ct() { const e = {}; return ["includes", "indexOf", "lastIndexOf"].forEach((t => { e[t] = function (...e) { const n = Kt(this); for (let e = 0, t = this.length; e < t; e++)Xe(n, 0, e + ""); const r = n[t](...e); return -1 === r || !1 === r ? n[t](...e.map(Kt)) : r } })), ["push", "pop", "shift", "unshift", "splice"].forEach((t => { e[t] = function (...e) { Qe(); const n = Kt(this)[t].apply(this, e); return Je(), n } })), e } function ut(e) { const t = Kt(this); return Xe(t, 0, e), t.hasOwnProperty(e) } function pt(e = !1, t = !1) { return function (n, r, l) { if ("__v_isReactive" === r) return !e; if ("__v_isReadonly" === r) return e; if ("__v_isShallow" === r) return t; if ("__v_raw" === r && l === (e ? t ? Nt : Ft : t ? Mt : Pt).get(n)) return n; const i = ie(n); if (!e) { if (i && le(at, r)) return Reflect.get(at, r, l); if ("hasOwnProperty" === r) return ut } const s = Reflect.get(n, r, l); return (pe(r) ? lt.has(r) : rt(r)) ? s : (e || Xe(n, 0, r), t ? s : en(s) ? i && ye(r) ? s : s.value : de(s) ? e ? Dt(s) : Vt(s) : s) } } function dt(e = !1) { return function (t, n, r, l) { let i = t[n]; if (Wt(i) && en(i) && !en(r)) return !1; if (!e && (qt(r) || Wt(r) || (i = Kt(i), r = Kt(r)), !ie(t) && en(i) && !en(r))) return i.value = r, !0; const s = ie(t) && ye(n) ? Number(n) < t.length : le(t, n), o = Reflect.set(t, n, r, l); return t === Kt(l) && (s ? Re(r, i) && et(t, "set", n, r) : et(t, "add", n, r)), o } } const ht = { get: it, set: dt(), deleteProperty: function (e, t) { const n = le(e, t), r = Reflect.deleteProperty(e, t); return r && n && et(e, "delete", t, void 0), r }, has: function (e, t) { const n = Reflect.has(e, t); return pe(t) && lt.has(t) || Xe(e, 0, t), n }, ownKeys: function (e) { return Xe(e, 0, ie(e) ? "length" : Be), Reflect.ownKeys(e) } }, ft = { get: ot, set: (e, t) => !0, deleteProperty: (e, t) => !0 }, gt = te({}, ht, { get: st, set: dt(!0) }), mt = e => e, vt = e => Reflect.getPrototypeOf(e); function yt(e, t, n = !1, r = !1) { const l = Kt(e = e.__v_raw), i = Kt(t); n || (t !== i && Xe(l, 0, t), Xe(l, 0, i)); const { has: s } = vt(l), o = r ? mt : n ? Jt : Qt; return s.call(l, t) ? o(e.get(t)) : s.call(l, i) ? o(e.get(i)) : void (e !== l && e.get(t)) } function wt(e, t = !1) { const n = this.__v_raw, r = Kt(n), l = Kt(e); return t || (e !== l && Xe(r, 0, e), Xe(r, 0, l)), e === l ? n.has(e) : n.has(e) || n.has(l) } function bt(e, t = !1) { return e = e.__v_raw, !t && Xe(Kt(e), 0, Be), Reflect.get(e, "size", e) } function kt(e) { e = Kt(e); const t = Kt(this); return vt(t).has.call(t, e) || (t.add(e), et(t, "add", e, e)), this } function xt(e, t) { t = Kt(t); const n = Kt(this), { has: r, get: l } = vt(n); let i = r.call(n, e); i || (e = Kt(e), i = r.call(n, e)); const s = l.call(n, e); return n.set(e, t), i ? Re(t, s) && et(n, "set", e, t) : et(n, "add", e, t), this } function _t(e) { const t = Kt(this), { has: n, get: r } = vt(t); let l = n.call(t, e); l || (e = Kt(e), l = n.call(t, e)), r && r.call(t, e); const i = t.delete(e); return l && et(t, "delete", e, void 0), i } function $t() { const e = Kt(this), t = 0 !== e.size, n = e.clear(); return t && et(e, "clear", void 0, void 0), n } function Ct(e, t) { return function (n, r) { const l = this, i = l.__v_raw, s = Kt(i), o = t ? mt : e ? Jt : Qt; return !e && Xe(s, 0, Be), i.forEach(((e, t) => n.call(r, o(e), o(t), l))) } } function St(e, t, n) { return function (...r) { const l = this.__v_raw, i = Kt(l), s = se(i), o = "entries" === e || e === Symbol.iterator && s, a = "keys" === e && s, c = l[e](...r), u = n ? mt : t ? Jt : Qt; return !t && Xe(i, 0, a ? We : Be), { next() { const { value: e, done: t } = c.next(); return t ? { value: e, done: t } : { value: o ? [u(e[0]), u(e[1])] : u(e), done: t } }, [Symbol.iterator]() { return this } } } } function Rt(e) { return function (...t) { return "delete" !== e && this } } function At() { const e = { get(e) { return yt(this, e) }, get size() { return bt(this) }, has: wt, add: kt, set: xt, delete: _t, clear: $t, forEach: Ct(!1, !1) }, t = { get(e) { return yt(this, e, !1, !0) }, get size() { return bt(this) }, has: wt, add: kt, set: xt, delete: _t, clear: $t, forEach: Ct(!1, !0) }, n = { get(e) { return yt(this, e, !0) }, get size() { return bt(this, !0) }, has(e) { return wt.call(this, e, !0) }, add: Rt("add"), set: Rt("set"), delete: Rt("delete"), clear: Rt("clear"), forEach: Ct(!0, !1) }, r = { get(e) { return yt(this, e, !0, !0) }, get size() { return bt(this, !0) }, has(e) { return wt.call(this, e, !0) }, add: Rt("add"), set: Rt("set"), delete: Rt("delete"), clear: Rt("clear"), forEach: Ct(!0, !0) }; return ["keys", "values", "entries", Symbol.iterator].forEach((l => { e[l] = St(l, !1, !1), n[l] = St(l, !0, !1), t[l] = St(l, !1, !0), r[l] = St(l, !0, !0) })), [e, n, t, r] } const [Et, Lt, zt, It] = At(); function jt(e, t) { const n = t ? e ? It : zt : e ? Lt : Et; return (t, r, l) => "__v_isReactive" === r ? !e : "__v_isReadonly" === r ? e : "__v_raw" === r ? t : Reflect.get(le(n, r) && r in t ? n : t, r, l) } const Ot = { get: jt(!1, !1) }, Tt = { get: jt(!1, !0) }, Ut = { get: jt(!0, !1) }, Pt = new WeakMap, Mt = new WeakMap, Ft = new WeakMap, Nt = new WeakMap; function Vt(e) { return Wt(e) ? e : Ht(e, !1, ht, Ot, Pt) } function Dt(e) { return Ht(e, !0, ft, Ut, Ft) } function Ht(e, t, n, r, l) { if (!de(e)) return e; if (e.__v_raw && (!t || !e.__v_isReactive)) return e; const i = l.get(e); if (i) return i; const s = (o = e).__v_skip || !Object.isExtensible(o) ? 0 : function (e) { switch (e) { case "Object": case "Array": return 1; case "Map": case "Set": case "WeakMap": case "WeakSet": return 2; default: return 0 } }(me(o)); var o; if (0 === s) return e; const a = new Proxy(e, 2 === s ? r : n); return l.set(e, a), a } function Bt(e) { return Wt(e) ? Bt(e.__v_raw) : !(!e || !e.__v_isReactive) } function Wt(e) { return !(!e || !e.__v_isReadonly) } function qt(e) { return !(!e || !e.__v_isShallow) } function Zt(e) { return Bt(e) || Wt(e) } function Kt(e) { const t = e && e.__v_raw; return t ? Kt(t) : e } function Gt(e) { return Ee(e, "__v_skip", !0), e } const Qt = e => de(e) ? Vt(e) : e, Jt = e => de(e) ? Dt(e) : e; function Xt(e) { Ke && He && Ye((e = Kt(e)).dep || (e.dep = Ue())) } function Yt(e, t) { const n = (e = Kt(e)).dep; n && tt(n) } function en(e) { return !(!e || !0 !== e.__v_isRef) } function tn(e) { return rn(e, !1) } function nn(e) { return rn(e, !0) } function rn(e, t) { return en(e) ? e : new ln(e, t) } class ln { constructor(e, t) { this.__v_isShallow = t, this.dep = void 0, this.__v_isRef = !0, this._rawValue = t ? e : Kt(e), this._value = t ? e : Qt(e) } get value() { return Xt(this), this._value } set value(e) { const t = this.__v_isShallow || qt(e) || Wt(e); e = t ? e : Kt(e), Re(e, this._rawValue) && (this._rawValue = e, this._value = t ? e : Qt(e), Yt(this)) } } function sn(e) { return en(e) ? e.value : e } const on = { get: (e, t, n) => sn(Reflect.get(e, t, n)), set: (e, t, n, r) => { const l = e[t]; return en(l) && !en(n) ? (l.value = n, !0) : Reflect.set(e, t, n, r) } }; function an(e) { return Bt(e) ? e : new Proxy(e, on) } var cn; class un { constructor(e, t, n, r) { this._setter = t, this.dep = void 0, this.__v_isRef = !0, this[cn] = !1, this._dirty = !0, this.effect = new qe(e, (() => { this._dirty || (this._dirty = !0, Yt(this)) })), this.effect.computed = this, this.effect.active = this._cacheable = !r, this.__v_isReadonly = n } get value() { const e = Kt(this); return Xt(e), !e._dirty && e._cacheable || (e._dirty = !1, e._value = e.effect.run()), e._value } set value(e) { this._setter(e) } } function pn(e, t, n, r) { let l; try { l = r ? e(...r) : e() } catch (e) { hn(e, t, n) } return l } function dn(e, t, n, r) { if (ce(e)) { const l = pn(e, t, n, r); return l && he(l) && l.catch((e => { hn(e, t, n) })), l } const l = []; for (let i = 0; i < e.length; i++)l.push(dn(e[i], t, n, r)); return l } function hn(e, t, n, r = !0) { t && t.vnode; if (t) { let r = t.parent; const l = t.proxy, i = n; for (; r;) { const t = r.ec; if (t) for (let n = 0; n < t.length; n++)if (!1 === t[n](e, l, i)) return; r = r.parent } const s = t.appContext.config.errorHandler; if (s) return void pn(s, null, 10, [e, l, i]) } !function (e, t, n, r = !0) { console.error(e) }(e, 0, 0, r) } cn = "__v_isReadonly"; let fn = !1, gn = !1; const mn = []; let vn = 0; const yn = []; let wn = null, bn = 0; const kn = Promise.resolve(); let xn = null; function _n(e) { const t = xn || kn; return e ? t.then(this ? e.bind(this) : e) : t } function $n(e) { mn.length && mn.includes(e, fn && e.allowRecurse ? vn + 1 : vn) || (null == e.id ? mn.push(e) : mn.splice(function (e) { let t = vn + 1, n = mn.length; for (; t < n;) { const r = t + n >>> 1; An(mn[r]) < e ? t = r + 1 : n = r } return t }(e.id), 0, e), Cn()) } function Cn() { fn || gn || (gn = !0, xn = kn.then(Ln)) } function Sn(e, t = (fn ? vn + 1 : 0)) { for (; t < mn.length; t++) { const e = mn[t]; e && e.pre && (mn.splice(t, 1), t--, e()) } } function Rn(e) { if (yn.length) { const e = [...new Set(yn)]; if (yn.length = 0, wn) return void wn.push(...e); for (wn = e, wn.sort(((e, t) => An(e) - An(t))), bn = 0; bn < wn.length; bn++)wn[bn](); wn = null, bn = 0 } } const An = e => null == e.id ? 1 / 0 : e.id, En = (e, t) => { const n = An(e) - An(t); if (0 === n) { if (e.pre && !t.pre) return -1; if (t.pre && !e.pre) return 1 } return n }; function Ln(e) { gn = !1, fn = !0, mn.sort(En); try { for (vn = 0; vn < mn.length; vn++) { const e = mn[vn]; e && !1 !== e.active && pn(e, null, 14) } } finally { vn = 0, mn.length = 0, Rn(), fn = !1, xn = null, (mn.length || yn.length) && Ln() } } function zn(e, t, ...n) { if (e.isUnmounted) return; const r = e.vnode.props || K; let l = n; const i = t.startsWith("update:"), s = i && t.slice(7); if (s && s in r) { const e = `${"modelValue" === s ? "model" : s}Modifiers`, { number: t, trim: i } = r[e] || K; i && (l = n.map((e => ue(e) ? e.trim() : e))), t && (l = n.map(Le)) } let o, a = r[o = Se(t)] || r[o = Se(xe(t))]; !a && i && (a = r[o = Se($e(t))]), a && dn(a, e, 6, l); const c = r[o + "Once"]; if (c) { if (e.emitted) { if (e.emitted[o]) return } else e.emitted = {}; e.emitted[o] = !0, dn(c, e, 6, l) } } function In(e, t, n = !1) { const r = t.emitsCache, l = r.get(e); if (void 0 !== l) return l; const i = e.emits; let s = {}; return i ? (ie(i) ? i.forEach((e => s[e] = null)) : te(s, i), de(e) && r.set(e, s), s) : (de(e) && r.set(e, null), null) } function jn(e, t) { return !(!e || !Y(t)) && (t = t.slice(2).replace(/Once$/, ""), le(e, t[0].toLowerCase() + t.slice(1)) || le(e, $e(t)) || le(e, t)) } let On = null, Tn = null; function Un(e) { const t = On; return On = e, Tn = e && e.type.__scopeId || null, t } function Pn(e) { const { type: t, vnode: n, proxy: r, withProxy: l, props: i, propsOptions: [s], slots: o, attrs: a, emit: c, render: u, renderCache: p, data: d, setupState: h, ctx: f, inheritAttrs: g } = e; let m, v; const y = Un(e); try { if (4 & n.shapeFlag) { const e = l || r; m = al(u.call(e, e, p, i, h, d, f)), v = a } else { const e = t; m = al(e.length > 1 ? e(i, { attrs: a, slots: o, emit: c }) : e(i, null)), v = t.props ? a : Mn(a) } } catch (t) { Br.length = 0, hn(t, e, 1), m = ll(Dr) } let w = m; if (v && !1 !== g) { const e = Object.keys(v), { shapeFlag: t } = w; e.length && 7 & t && (s && e.some(ee) && (v = Fn(v, s)), w = il(w, v)) } return n.dirs && (w = il(w), w.dirs = w.dirs ? w.dirs.concat(n.dirs) : n.dirs), n.transition && (w.transition = n.transition), m = w, Un(y), m } const Mn = e => { let t; for (const n in e) ("class" === n || "style" === n || Y(n)) && ((t || (t = {}))[n] = e[n]); return t }, Fn = (e, t) => { const n = {}; for (const r in e) ee(r) && r.slice(9) in t || (n[r] = e[r]); return n }; function Nn(e, t, n) { const r = Object.keys(t); if (r.length !== Object.keys(e).length) return !0; for (let l = 0; l < r.length; l++) { const i = r[l]; if (t[i] !== e[i] && !jn(n, i)) return !0 } return !1 } function Vn(e, t, n = !1) { const r = fl || On; if (r) { const l = null == r.parent ? r.vnode.appContext && r.vnode.appContext.provides : r.parent.provides; if (l && e in l) return l[e]; if (arguments.length > 1) return n && ce(t) ? t.call(r.proxy) : t } } function Dn(e, t) { return Wn(e, null, t) } const Hn = {}; function Bn(e, t, n) { return Wn(e, t, n) } function Wn(e, t, { immediate: n, deep: r, flush: l, onTrack: i, onTrigger: s } = K) { const o = Te() === (null == fl ? void 0 : fl.scope) ? fl : null; let a, c, u = !1, p = !1; if (en(e) ? (a = () => e.value, u = qt(e)) : Bt(e) ? (a = () => e, r = !0) : ie(e) ? (p = !0, u = e.some((e => Bt(e) || qt(e))), a = () => e.map((e => en(e) ? e.value : Bt(e) ? qn(e) : ce(e) ? pn(e, o, 2) : void 0))) : a = ce(e) ? t ? () => pn(e, o, 2) : () => { if (!o || !o.isUnmounted) return c && c(), dn(e, o, 3, [h]) } : Q, t && r) { const e = a; a = () => qn(e()) } let d, h = e => { c = v.onStop = () => { pn(e, o, 4) } }; if (bl) { if (h = Q, t ? n && dn(t, o, 3, [a(), p ? [] : void 0, h]) : a(), "sync" !== l) return Q; { const e = Rl(); d = e.__watcherHandles || (e.__watcherHandles = []) } } let f = p ? new Array(e.length).fill(Hn) : Hn; const g = () => { if (v.active) if (t) { const e = v.run(); (r || u || (p ? e.some(((e, t) => Re(e, f[t]))) : Re(e, f))) && (c && c(), dn(t, o, 3, [e, f === Hn ? void 0 : p && f[0] === Hn ? [] : f, h]), f = e) } else v.run() }; let m; g.allowRecurse = !!t, "sync" === l ? m = g : "post" === l ? m = () => Ur(g, o && o.suspense) : (g.pre = !0, o && (g.id = o.uid), m = () => $n(g)); const v = new qe(a, m); t ? n ? g() : f = v.run() : "post" === l ? Ur(v.run.bind(v), o && o.suspense) : v.run(); const y = () => { v.stop(), o && o.scope && ne(o.scope.effects, v) }; return d && d.push(y), y } function qn(e, t) { if (!de(e) || e.__v_skip) return e; if ((t = t || new Set).has(e)) return e; if (t.add(e), en(e)) qn(e.value, t); else if (ie(e)) for (let n = 0; n < e.length; n++)qn(e[n], t); else if (oe(e) || se(e)) e.forEach((e => { qn(e, t) })); else if (ve(e)) for (const n in e) qn(e[n], t); return e } function Zn(e) { return ce(e) ? { setup: e, name: e.name } : e } const Kn = e => !!e.type.__asyncLoader, Gn = e => e.type.__isKeepAlive; const Qn = e => (t, n = fl) => (!bl || "sp" === e) && function (e, t, n = fl, r = !1) { if (n) { const l = n[e] || (n[e] = []), i = t.__weh || (t.__weh = (...r) => { if (n.isUnmounted) return; Qe(), ml(n); const l = dn(t, n, e, r); return vl(), Je(), l }); return r ? l.unshift(i) : l.push(i), i } }(e, ((...e) => t(...e)), n), Jn = Qn("m"), Xn = Qn("bum"), Yn = Qn("um"); function er(e, t) { const n = On; if (null === n) return e; const r = _l(n) || n.proxy, l = e.dirs || (e.dirs = []); for (let e = 0; e < t.length; e++) { let [n, i, s, o = K] = t[e]; n && (ce(n) && (n = { mounted: n, updated: n }), n.deep && qn(i), l.push({ dir: n, instance: r, value: i, oldValue: void 0, arg: s, modifiers: o })) } return e } function tr(e, t, n, r) { const l = e.dirs, i = t && t.dirs; for (let s = 0; s < l.length; s++) { const o = l[s]; i && (o.oldValue = i[s].value); let a = o.dir[r]; a && (Qe(), dn(a, n, 8, [e.el, o, e, t]), Je()) } } const nr = "components"; function rr(e, t) { return function (e, t, n = !0, r = !1) { const l = On || fl; if (l) { const n = l.type; if (e === nr) { const e = function (e, t = !0) { return ce(e) ? e.displayName || e.name : e.name || t && e.__name }(n, !1); if (e && (e === t || e === xe(t) || e === Ce(xe(t)))) return n } const i = ir(l[e] || n[e], t) || ir(l.appContext[e], t); return !i && r ? n : i } }(nr, e, !0, t) || e } const lr = Symbol(); function ir(e, t) { return e && (e[t] || e[xe(t)] || e[Ce(xe(t))]) } function sr(e, t, n, r) { let l; const i = n && n[r]; if (ie(e) || ue(e)) { l = new Array(e.length); for (let n = 0, r = e.length; n < r; n++)l[n] = t(e[n], n, void 0, i && i[n]) } else if ("number" == typeof e) { l = new Array(e); for (let n = 0; n < e; n++)l[n] = t(n + 1, n, void 0, i && i[n]) } else if (de(e)) if (e[Symbol.iterator]) l = Array.from(e, ((e, n) => t(e, n, void 0, i && i[n]))); else { const n = Object.keys(e); l = new Array(n.length); for (let r = 0, s = n.length; r < s; r++) { const s = n[r]; l[r] = t(e[s], s, r, i && i[r]) } } else l = []; return n && (n[r] = l), l } const or = e => e ? yl(e) ? _l(e) || e.proxy : or(e.parent) : null, ar = te(Object.create(null), { $: e => e, $el: e => e.vnode.el, $data: e => e.data, $props: e => e.props, $attrs: e => e.attrs, $slots: e => e.slots, $refs: e => e.refs, $parent: e => or(e.parent), $root: e => or(e.root), $emit: e => e.emit, $options: e => e.type, $forceUpdate: e => e.f || (e.f = () => $n(e.update)), $nextTick: e => e.n || (e.n = _n.bind(e.proxy)), $watch: e => Q }), cr = (e, t) => e !== K && !e.__isScriptSetup && le(e, t), ur = { get({ _: e }, t) { const { ctx: n, setupState: r, data: l, props: i, accessCache: s, type: o, appContext: a } = e; let c; if ("$" !== t[0]) { const o = s[t]; if (void 0 !== o) switch (o) { case 1: return r[t]; case 2: return l[t]; case 4: return n[t]; case 3: return i[t] } else { if (cr(r, t)) return s[t] = 1, r[t]; if (l !== K && le(l, t)) return s[t] = 2, l[t]; if ((c = e.propsOptions[0]) && le(c, t)) return s[t] = 3, i[t]; if (n !== K && le(n, t)) return s[t] = 4, n[t]; s[t] = 0 } } const u = ar[t]; let p, d; return u ? ("$attrs" === t && Xe(e, 0, t), u(e)) : (p = o.__cssModules) && (p = p[t]) ? p : n !== K && le(n, t) ? (s[t] = 4, n[t]) : (d = a.config.globalProperties, le(d, t) ? d[t] : void 0) }, set({ _: e }, t, n) { const { data: r, setupState: l, ctx: i } = e; return cr(l, t) ? (l[t] = n, !0) : r !== K && le(r, t) ? (r[t] = n, !0) : !le(e.props, t) && (("$" !== t[0] || !(t.slice(1) in e)) && (i[t] = n, !0)) }, has({ _: { data: e, setupState: t, accessCache: n, ctx: r, appContext: l, propsOptions: i } }, s) { let o; return !!n[s] || e !== K && le(e, s) || cr(t, s) || (o = i[0]) && le(o, s) || le(r, s) || le(ar, s) || le(l.config.globalProperties, s) }, defineProperty(e, t, n) { return null != n.get ? e._.accessCache[t] = 0 : le(n, "value") && this.set(e, t, n.value, null), Reflect.defineProperty(e, t, n) } }; function pr(e, t, n, r = !1) { const { mixins: l, extends: i } = t; i && pr(e, i, n, !0), l && l.forEach((t => pr(e, t, n, !0))); for (const l in t) if (r && "expose" === l); else { const r = dr[l] || n && n[l]; e[l] = r ? r(e[l], t[l]) : t[l] } return e } const dr = { data: hr, props: mr, emits: mr, methods: mr, computed: mr, beforeCreate: gr, created: gr, beforeMount: gr, mounted: gr, beforeUpdate: gr, updated: gr, beforeDestroy: gr, beforeUnmount: gr, destroyed: gr, unmounted: gr, activated: gr, deactivated: gr, errorCaptured: gr, serverPrefetch: gr, components: mr, directives: mr, watch: function (e, t) { if (!e) return t; if (!t) return e; const n = te(Object.create(null), e); for (const r in t) n[r] = gr(e[r], t[r]); return n }, provide: hr, inject: function (e, t) { return mr(fr(e), fr(t)) } }; function hr(e, t) { return t ? e ? function () { return te(ce(e) ? e.call(this, this) : e, ce(t) ? t.call(this, this) : t) } : t : e } function fr(e) { if (ie(e)) { const t = {}; for (let n = 0; n < e.length; n++)t[e[n]] = e[n]; return t } return e } function gr(e, t) { return e ? [...new Set([].concat(e, t))] : t } function mr(e, t) { return e ? te(te(Object.create(null), e), t) : t } function vr(e, t, n, r = !1) { const l = {}, i = {}; Ee(i, el, 1), e.propsDefaults = Object.create(null), yr(e, t, l, i); for (const t in e.propsOptions[0]) t in l || (l[t] = void 0); n ? e.props = r ? l : Ht(l, !1, gt, Tt, Mt) : e.type.props ? e.props = l : e.props = i, e.attrs = i } function yr(e, t, n, r) { const [l, i] = e.propsOptions; let s, o = !1; if (t) for (let a in t) { if (we(a)) continue; const c = t[a]; let u; l && le(l, u = xe(a)) ? i && i.includes(u) ? (s || (s = {}))[u] = c : n[u] = c : jn(e.emitsOptions, a) || a in r && c === r[a] || (r[a] = c, o = !0) } if (i) { const t = Kt(n), r = s || K; for (let s = 0; s < i.length; s++) { const o = i[s]; n[o] = wr(l, t, o, r[o], e, !le(r, o)) } } return o } function wr(e, t, n, r, l, i) { const s = e[n]; if (null != s) { const e = le(s, "default"); if (e && void 0 === r) { const e = s.default; if (s.type !== Function && ce(e)) { const { propsDefaults: i } = l; n in i ? r = i[n] : (ml(l), r = i[n] = e.call(null, t), vl()) } else r = e } s[0] && (i && !e ? r = !1 : !s[1] || "" !== r && r !== $e(n) || (r = !0)) } return r } function br(e, t, n = !1) { const r = t.propsCache, l = r.get(e); if (l) return l; const i = e.props, s = {}, o = []; if (!i) return de(e) && r.set(e, G), G; if (ie(i)) for (let e = 0; e < i.length; e++) { const t = xe(i[e]); kr(t) && (s[t] = K) } else if (i) for (const e in i) { const t = xe(e); if (kr(t)) { const n = i[e], r = s[t] = ie(n) || ce(n) ? { type: n } : Object.assign({}, n); if (r) { const e = $r(Boolean, r.type), n = $r(String, r.type); r[0] = e > -1, r[1] = n < 0 || e < n, (e > -1 || le(r, "default")) && o.push(t) } } } const a = [s, o]; return de(e) && r.set(e, a), a } function kr(e) { return "$" !== e[0] } function xr(e) { const t = e && e.toString().match(/^\s*(function|class) (\w+)/); return t ? t[2] : null === e ? "null" : "" } function _r(e, t) { return xr(e) === xr(t) } function $r(e, t) { return ie(t) ? t.findIndex((t => _r(t, e))) : ce(t) && _r(t, e) ? 0 : -1 } const Cr = e => "_" === e[0] || "$stable" === e, Sr = e => ie(e) ? e.map(al) : [al(e)], Rr = (e, t, n) => { if (t._n) return t; const r = function (e, t = On, n) { if (!t) return e; if (e._n) return e; const r = (...n) => { r._d && Kr(-1); const l = Un(t); let i; try { i = e(...n) } finally { Un(l), r._d && Kr(1) } return i }; return r._n = !0, r._c = !0, r._d = !0, r }(((...e) => Sr(t(...e))), n); return r._c = !1, r }, Ar = (e, t, n) => { const r = e._ctx; for (const n in e) { if (Cr(n)) continue; const l = e[n]; if (ce(l)) t[n] = Rr(0, l, r); else if (null != l) { const e = Sr(l); t[n] = () => e } } }, Er = (e, t) => { const n = Sr(t); e.slots.default = () => n }, Lr = (e, t) => { if (32 & e.vnode.shapeFlag) { const n = t._; n ? (e.slots = Kt(t), Ee(t, "_", n)) : Ar(t, e.slots = {}) } else e.slots = {}, t && Er(e, t); Ee(e.slots, el, 1) }, zr = (e, t, n) => { const { vnode: r, slots: l } = e; let i = !0, s = K; if (32 & r.shapeFlag) { const e = t._; e ? n && 1 === e ? i = !1 : (te(l, t), n || 1 !== e || delete l._) : (i = !t.$stable, Ar(t, l)), s = t } else t && (Er(e, t), s = { default: 1 }); if (i) for (const e in l) Cr(e) || e in s || delete l[e] }; function Ir() { return { app: null, config: { isNativeTag: J, performance: !1, globalProperties: {}, optionMergeStrategies: {}, errorHandler: void 0, warnHandler: void 0, compilerOptions: {} }, mixins: [], components: {}, directives: {}, provides: Object.create(null), optionsCache: new WeakMap, propsCache: new WeakMap, emitsCache: new WeakMap } } let jr = 0; function Or(e, t) { return function (n, r = null) { ce(n) || (n = Object.assign({}, n)), null == r || de(r) || (r = null); const l = Ir(), i = new Set; let s = !1; const o = l.app = { _uid: jr++, _component: n, _props: r, _container: null, _context: l, _instance: null, version: Al, get config() { return l.config }, set config(e) { }, use: (e, ...t) => (i.has(e) || (e && ce(e.install) ? (i.add(e), e.install(o, ...t)) : ce(e) && (i.add(e), e(o, ...t))), o), mixin: e => o, component: (e, t) => t ? (l.components[e] = t, o) : l.components[e], directive: (e, t) => t ? (l.directives[e] = t, o) : l.directives[e], mount(i, a, c) { if (!s) { const u = ll(n, r); return u.appContext = l, a && t ? t(u, i) : e(u, i, c), s = !0, o._container = i, i.__vue_app__ = o, _l(u.component) || u.component.proxy } }, unmount() { s && (e(null, o._container), delete o._container.__vue_app__) }, provide: (e, t) => (l.provides[e] = t, o) }; return o } } function Tr(e, t, n, r, l = !1) { if (ie(e)) return void e.forEach(((e, i) => Tr(e, t && (ie(t) ? t[i] : t), n, r, l))); if (Kn(r) && !l) return; const i = 4 & r.shapeFlag ? _l(r.component) || r.component.proxy : r.el, s = l ? null : i, { i: o, r: a } = e, c = t && t.r, u = o.refs === K ? o.refs = {} : o.refs, p = o.setupState; if (null != c && c !== a && (ue(c) ? (u[c] = null, le(p, c) && (p[c] = null)) : en(c) && (c.value = null)), ce(a)) pn(a, o, 12, [s, u]); else { const t = ue(a), r = en(a); if (t || r) { const o = () => { if (e.f) { const n = t ? le(p, a) ? p[a] : u[a] : a.value; l ? ie(n) && ne(n, i) : ie(n) ? n.includes(i) || n.push(i) : t ? (u[a] = [i], le(p, a) && (p[a] = u[a])) : (a.value = [i], e.k && (u[e.k] = a.value)) } else t ? (u[a] = s, le(p, a) && (p[a] = s)) : r && (a.value = s, e.k && (u[e.k] = s)) }; s ? (o.id = -1, Ur(o, n)) : o() } } } const Ur = function (e, t) { var n; t && t.pendingBranch ? ie(e) ? t.effects.push(...e) : t.effects.push(e) : (ie(n = e) ? yn.push(...n) : wn && wn.includes(n, n.allowRecurse ? bn + 1 : bn) || yn.push(n), Cn()) }; function Pr(e) { return function (e, t) { Ie().__VUE__ = !0; const { insert: n, remove: r, patchProp: l, createElement: i, createText: s, createComment: o, setText: a, setElementText: c, parentNode: u, nextSibling: p, setScopeId: d = Q, insertStaticContent: h } = e, f = (e, t, n, r = null, l = null, i = null, s = !1, o = null, a = !!t.dynamicChildren) => { if (e === t) return; e && !Yr(e, t) && (r = D(e), P(e, l, i, !0), e = null), -2 === t.patchFlag && (a = !1, t.dynamicChildren = null); const { type: c, ref: u, shapeFlag: p } = t; switch (c) { case Vr: g(e, t, n, r); break; case Dr: m(e, t, n, r); break; case Hr: null == e && v(t, n, r, s); break; case Nr: R(e, t, n, r, l, i, s, o, a); break; default: 1 & p ? b(e, t, n, r, l, i, s, o, a) : 6 & p ? A(e, t, n, r, l, i, s, o, a) : (64 & p || 128 & p) && c.process(e, t, n, r, l, i, s, o, a, B) }null != u && l && Tr(u, e && e.ref, i, t || e, !t) }, g = (e, t, r, l) => { if (null == e) n(t.el = s(t.children), r, l); else { const n = t.el = e.el; t.children !== e.children && a(n, t.children) } }, m = (e, t, r, l) => { null == e ? n(t.el = o(t.children || ""), r, l) : t.el = e.el }, v = (e, t, n, r) => { [e.el, e.anchor] = h(e.children, t, n, r, e.el, e.anchor) }, y = ({ el: e, anchor: t }, r, l) => { let i; for (; e && e !== t;)i = p(e), n(e, r, l), e = i; n(t, r, l) }, w = ({ el: e, anchor: t }) => { let n; for (; e && e !== t;)n = p(e), r(e), e = n; r(t) }, b = (e, t, n, r, l, i, s, o, a) => { s = s || "svg" === t.type, null == e ? k(t, n, r, l, i, s, o, a) : $(e, t, l, i, s, o, a) }, k = (e, t, r, s, o, a, u, p) => { let d, h; const { type: f, props: g, shapeFlag: m, transition: v, dirs: y } = e; if (d = e.el = i(e.type, a, g && g.is, g), 8 & m ? c(d, e.children) : 16 & m && _(e.children, d, null, s, o, a && "foreignObject" !== f, u, p), y && tr(e, null, s, "created"), x(d, e, e.scopeId, u, s), g) { for (const t in g) "value" === t || we(t) || l(d, t, null, g[t], a, e.children, s, o, V); "value" in g && l(d, "value", null, g.value), (h = g.onVnodeBeforeMount) && pl(h, s, e) } y && tr(e, null, s, "beforeMount"); const w = (!o || o && !o.pendingBranch) && v && !v.persisted; w && v.beforeEnter(d), n(d, t, r), ((h = g && g.onVnodeMounted) || w || y) && Ur((() => { h && pl(h, s, e), w && v.enter(d), y && tr(e, null, s, "mounted") }), o) }, x = (e, t, n, r, l) => { if (n && d(e, n), r) for (let t = 0; t < r.length; t++)d(e, r[t]); if (l) { if (t === l.subTree) { const t = l.vnode; x(e, t, t.scopeId, t.slotScopeIds, l.parent) } } }, _ = (e, t, n, r, l, i, s, o, a = 0) => { for (let c = a; c < e.length; c++) { const a = e[c] = o ? cl(e[c]) : al(e[c]); f(null, a, t, n, r, l, i, s, o) } }, $ = (e, t, n, r, i, s, o) => { const a = t.el = e.el; let { patchFlag: u, dynamicChildren: p, dirs: d } = t; u |= 16 & e.patchFlag; const h = e.props || K, f = t.props || K; let g; n && Mr(n, !1), (g = f.onVnodeBeforeUpdate) && pl(g, n, t, e), d && tr(t, e, n, "beforeUpdate"), n && Mr(n, !0); const m = i && "foreignObject" !== t.type; if (p ? C(e.dynamicChildren, p, a, n, r, m, s) : o || j(e, t, a, null, n, r, m, s, !1), u > 0) { if (16 & u) S(a, t, h, f, n, r, i); else if (2 & u && h.class !== f.class && l(a, "class", null, f.class, i), 4 & u && l(a, "style", h.style, f.style, i), 8 & u) { const s = t.dynamicProps; for (let t = 0; t < s.length; t++) { const o = s[t], c = h[o], u = f[o]; u === c && "value" !== o || l(a, o, c, u, i, e.children, n, r, V) } } 1 & u && e.children !== t.children && c(a, t.children) } else o || null != p || S(a, t, h, f, n, r, i); ((g = f.onVnodeUpdated) || d) && Ur((() => { g && pl(g, n, t, e), d && tr(t, e, n, "updated") }), r) }, C = (e, t, n, r, l, i, s) => { for (let o = 0; o < t.length; o++) { const a = e[o], c = t[o], p = a.el && (a.type === Nr || !Yr(a, c) || 70 & a.shapeFlag) ? u(a.el) : n; f(a, c, p, null, r, l, i, s, !0) } }, S = (e, t, n, r, i, s, o) => { if (n !== r) { if (n !== K) for (const a in n) we(a) || a in r || l(e, a, n[a], null, o, t.children, i, s, V); for (const a in r) { if (we(a)) continue; const c = r[a], u = n[a]; c !== u && "value" !== a && l(e, a, u, c, o, t.children, i, s, V) } "value" in r && l(e, "value", n.value, r.value) } }, R = (e, t, r, l, i, o, a, c, u) => { const p = t.el = e ? e.el : s(""), d = t.anchor = e ? e.anchor : s(""); let { patchFlag: h, dynamicChildren: f, slotScopeIds: g } = t; g && (c = c ? c.concat(g) : g), null == e ? (n(p, r, l), n(d, r, l), _(t.children, r, d, i, o, a, c, u)) : h > 0 && 64 & h && f && e.dynamicChildren ? (C(e.dynamicChildren, f, r, i, o, a, c), (null != t.key || i && t === i.subTree) && Fr(e, t, !0)) : j(e, t, r, d, i, o, a, c, u) }, A = (e, t, n, r, l, i, s, o, a) => { t.slotScopeIds = o, null == e ? 512 & t.shapeFlag ? l.ctx.activate(t, n, r, s, a) : E(t, n, r, l, i, s, a) : L(e, t, a) }, E = (e, t, n, r, l, i, s) => { const o = e.component = function (e, t, n) { const r = e.type, l = (t ? t.appContext : e.appContext) || dl, i = { uid: hl++, vnode: e, type: r, parent: t, appContext: l, root: null, next: null, subTree: null, effect: null, update: null, scope: new Oe(!0), render: null, proxy: null, exposed: null, exposeProxy: null, withProxy: null, provides: t ? t.provides : Object.create(l.provides), accessCache: null, renderCache: [], components: null, directives: null, propsOptions: br(r, l), emitsOptions: In(r, l), emit: null, emitted: null, propsDefaults: K, inheritAttrs: r.inheritAttrs, ctx: K, data: K, props: K, attrs: K, slots: K, refs: K, setupState: K, setupContext: null, suspense: n, suspenseId: n ? n.pendingId : 0, asyncDep: null, asyncResolved: !1, isMounted: !1, isUnmounted: !1, isDeactivated: !1, bc: null, c: null, bm: null, m: null, bu: null, u: null, um: null, bum: null, da: null, a: null, rtg: null, rtc: null, ec: null, sp: null }; i.ctx = { _: i }, i.root = t ? t.root : i, i.emit = zn.bind(null, i), e.ce && e.ce(i); return i }(e, r, l); if (Gn(e) && (o.ctx.renderer = B), function (e, t = !1) { bl = t; const { props: n, children: r } = e.vnode, l = yl(e); vr(e, n, l, t), Lr(e, r); const i = l ? function (e, t) { const n = e.type; e.accessCache = Object.create(null), e.proxy = Gt(new Proxy(e.ctx, ur)); const { setup: r } = n; if (r) { const n = e.setupContext = r.length > 1 ? function (e) { const t = t => { e.exposed = t || {} }; let n; return { get attrs() { return n || (n = function (e) { return new Proxy(e.attrs, { get: (t, n) => (Xe(e, 0, "$attrs"), t[n]) }) }(e)) }, slots: e.slots, emit: e.emit, expose: t } }(e) : null; ml(e), Qe(); const l = pn(r, e, 0, [e.props, n]); if (Je(), vl(), he(l)) { if (l.then(vl, vl), t) return l.then((n => { kl(e, n, t) })).catch((t => { hn(t, e, 0) })); e.asyncDep = l } else kl(e, l, t) } else xl(e, t) }(e, t) : void 0; bl = !1 }(o), o.asyncDep) { if (l && l.registerDep(o, z), !e.el) { const e = o.subTree = ll(Dr); m(null, e, t, n) } } else z(o, e, t, n, l, i, s) }, L = (e, t, n) => { const r = t.component = e.component; if (function (e, t, n) { const { props: r, children: l, component: i } = e, { props: s, children: o, patchFlag: a } = t, c = i.emitsOptions; if (t.dirs || t.transition) return !0; if (!(n && a >= 0)) return !(!l && !o || o && o.$stable) || r !== s && (r ? !s || Nn(r, s, c) : !!s); if (1024 & a) return !0; if (16 & a) return r ? Nn(r, s, c) : !!s; if (8 & a) { const e = t.dynamicProps; for (let t = 0; t < e.length; t++) { const n = e[t]; if (s[n] !== r[n] && !jn(c, n)) return !0 } } return !1 }(e, t, n)) { if (r.asyncDep && !r.asyncResolved) return void I(r, t, n); r.next = t, function (e) { const t = mn.indexOf(e); t > vn && mn.splice(t, 1) }(r.update), r.update() } else t.el = e.el, r.vnode = t }, z = (e, t, n, r, l, i, s) => { const o = () => { if (e.isMounted) { let t, { next: n, bu: r, u: o, parent: a, vnode: c } = e, p = n; Mr(e, !1), n ? (n.el = c.el, I(e, n, s)) : n = c, r && Ae(r), (t = n.props && n.props.onVnodeBeforeUpdate) && pl(t, a, n, c), Mr(e, !0); const d = Pn(e), h = e.subTree; e.subTree = d, f(h, d, u(h.el), D(h), e, l, i), n.el = d.el, null === p && function ({ vnode: e, parent: t }, n) { for (; t && t.subTree === e;)(e = t.vnode).el = n, t = t.parent }(e, d.el), o && Ur(o, l), (t = n.props && n.props.onVnodeUpdated) && Ur((() => pl(t, a, n, c)), l) } else { let s; const { el: o, props: a } = t, { bm: c, m: u, parent: p } = e, d = Kn(t); if (Mr(e, !1), c && Ae(c), !d && (s = a && a.onVnodeBeforeMount) && pl(s, p, t), Mr(e, !0), o && q) { const n = () => { e.subTree = Pn(e), q(o, e.subTree, e, l, null) }; d ? t.type.__asyncLoader().then((() => !e.isUnmounted && n())) : n() } else { const s = e.subTree = Pn(e); f(null, s, n, r, e, l, i), t.el = s.el } if (u && Ur(u, l), !d && (s = a && a.onVnodeMounted)) { const e = t; Ur((() => pl(s, p, e)), l) } (256 & t.shapeFlag || p && Kn(p.vnode) && 256 & p.vnode.shapeFlag) && e.a && Ur(e.a, l), e.isMounted = !0, t = n = r = null } }, a = e.effect = new qe(o, (() => $n(c)), e.scope), c = e.update = () => a.run(); c.id = e.uid, Mr(e, !0), c() }, I = (e, t, n) => { t.component = e; const r = e.vnode.props; e.vnode = t, e.next = null, function (e, t, n, r) { const { props: l, attrs: i, vnode: { patchFlag: s } } = e, o = Kt(l), [a] = e.propsOptions; let c = !1; if (!(r || s > 0) || 16 & s) { let r; yr(e, t, l, i) && (c = !0); for (const i in o) t && (le(t, i) || (r = $e(i)) !== i && le(t, r)) || (a ? !n || void 0 === n[i] && void 0 === n[r] || (l[i] = wr(a, o, i, void 0, e, !0)) : delete l[i]); if (i !== o) for (const e in i) t && le(t, e) || (delete i[e], c = !0) } else if (8 & s) { const n = e.vnode.dynamicProps; for (let r = 0; r < n.length; r++) { let s = n[r]; if (jn(e.emitsOptions, s)) continue; const u = t[s]; if (a) if (le(i, s)) u !== i[s] && (i[s] = u, c = !0); else { const t = xe(s); l[t] = wr(a, o, t, u, e, !1) } else u !== i[s] && (i[s] = u, c = !0) } } c && et(e, "set", "$attrs") }(e, t.props, r, n), zr(e, t.children, n), Qe(), Sn(), Je() }, j = (e, t, n, r, l, i, s, o, a = !1) => { const u = e && e.children, p = e ? e.shapeFlag : 0, d = t.children, { patchFlag: h, shapeFlag: f } = t; if (h > 0) { if (128 & h) return void T(u, d, n, r, l, i, s, o, a); if (256 & h) return void O(u, d, n, r, l, i, s, o, a) } 8 & f ? (16 & p && V(u, l, i), d !== u && c(n, d)) : 16 & p ? 16 & f ? T(u, d, n, r, l, i, s, o, a) : V(u, l, i, !0) : (8 & p && c(n, ""), 16 & f && _(d, n, r, l, i, s, o, a)) }, O = (e, t, n, r, l, i, s, o, a) => { t = t || G; const c = (e = e || G).length, u = t.length, p = Math.min(c, u); let d; for (d = 0; d < p; d++) { const r = t[d] = a ? cl(t[d]) : al(t[d]); f(e[d], r, n, null, l, i, s, o, a) } c > u ? V(e, l, i, !0, !1, p) : _(t, n, r, l, i, s, o, a, p) }, T = (e, t, n, r, l, i, s, o, a) => { let c = 0; const u = t.length; let p = e.length - 1, d = u - 1; for (; c <= p && c <= d;) { const r = e[c], u = t[c] = a ? cl(t[c]) : al(t[c]); if (!Yr(r, u)) break; f(r, u, n, null, l, i, s, o, a), c++ } for (; c <= p && c <= d;) { const r = e[p], c = t[d] = a ? cl(t[d]) : al(t[d]); if (!Yr(r, c)) break; f(r, c, n, null, l, i, s, o, a), p--, d-- } if (c > p) { if (c <= d) { const e = d + 1, p = e < u ? t[e].el : r; for (; c <= d;)f(null, t[c] = a ? cl(t[c]) : al(t[c]), n, p, l, i, s, o, a), c++ } } else if (c > d) for (; c <= p;)P(e[c], l, i, !0), c++; else { const h = c, g = c, m = new Map; for (c = g; c <= d; c++) { const e = t[c] = a ? cl(t[c]) : al(t[c]); null != e.key && m.set(e.key, c) } let v, y = 0; const w = d - g + 1; let b = !1, k = 0; const x = new Array(w); for (c = 0; c < w; c++)x[c] = 0; for (c = h; c <= p; c++) { const r = e[c]; if (y >= w) { P(r, l, i, !0); continue } let u; if (null != r.key) u = m.get(r.key); else for (v = g; v <= d; v++)if (0 === x[v - g] && Yr(r, t[v])) { u = v; break } void 0 === u ? P(r, l, i, !0) : (x[u - g] = c + 1, u >= k ? k = u : b = !0, f(r, t[u], n, null, l, i, s, o, a), y++) } const _ = b ? function (e) { const t = e.slice(), n = [0]; let r, l, i, s, o; const a = e.length; for (r = 0; r < a; r++) { const a = e[r]; if (0 !== a) { if (l = n[n.length - 1], e[l] < a) { t[r] = l, n.push(r); continue } for (i = 0, s = n.length - 1; i < s;)o = i + s >> 1, e[n[o]] < a ? i = o + 1 : s = o; a < e[n[i]] && (i > 0 && (t[r] = n[i - 1]), n[i] = r) } } i = n.length, s = n[i - 1]; for (; i-- > 0;)n[i] = s, s = t[s]; return n }(x) : G; for (v = _.length - 1, c = w - 1; c >= 0; c--) { const e = g + c, p = t[e], d = e + 1 < u ? t[e + 1].el : r; 0 === x[c] ? f(null, p, n, d, l, i, s, o, a) : b && (v < 0 || c !== _[v] ? U(p, n, d, 2) : v--) } } }, U = (e, t, r, l, i = null) => { const { el: s, type: o, transition: a, children: c, shapeFlag: u } = e; if (6 & u) return void U(e.component.subTree, t, r, l); if (128 & u) return void e.suspense.move(t, r, l); if (64 & u) return void o.move(e, t, r, B); if (o === Nr) { n(s, t, r); for (let e = 0; e < c.length; e++)U(c[e], t, r, l); return void n(e.anchor, t, r) } if (o === Hr) return void y(e, t, r); if (2 !== l && 1 & u && a) if (0 === l) a.beforeEnter(s), n(s, t, r), Ur((() => a.enter(s)), i); else { const { leave: e, delayLeave: l, afterLeave: i } = a, o = () => n(s, t, r), c = () => { e(s, (() => { o(), i && i() })) }; l ? l(s, o, c) : c() } else n(s, t, r) }, P = (e, t, n, r = !1, l = !1) => { const { type: i, props: s, ref: o, children: a, dynamicChildren: c, shapeFlag: u, patchFlag: p, dirs: d } = e; if (null != o && Tr(o, null, n, e, !0), 256 & u) return void t.ctx.deactivate(e); const h = 1 & u && d, f = !Kn(e); let g; if (f && (g = s && s.onVnodeBeforeUnmount) && pl(g, t, e), 6 & u) N(e.component, n, r); else { if (128 & u) return void e.suspense.unmount(n, r); h && tr(e, null, t, "beforeUnmount"), 64 & u ? e.type.remove(e, t, n, l, B, r) : c && (i !== Nr || p > 0 && 64 & p) ? V(c, t, n, !1, !0) : (i === Nr && 384 & p || !l && 16 & u) && V(a, t, n), r && M(e) } (f && (g = s && s.onVnodeUnmounted) || h) && Ur((() => { g && pl(g, t, e), h && tr(e, null, t, "unmounted") }), n) }, M = e => { const { type: t, el: n, anchor: l, transition: i } = e; if (t === Nr) return void F(n, l); if (t === Hr) return void w(e); const s = () => { r(n), i && !i.persisted && i.afterLeave && i.afterLeave() }; if (1 & e.shapeFlag && i && !i.persisted) { const { leave: t, delayLeave: r } = i, l = () => t(n, s); r ? r(e.el, s, l) : l() } else s() }, F = (e, t) => { let n; for (; e !== t;)n = p(e), r(e), e = n; r(t) }, N = (e, t, n) => { const { bum: r, scope: l, update: i, subTree: s, um: o } = e; r && Ae(r), l.stop(), i && (i.active = !1, P(s, e, t, n)), o && Ur(o, t), Ur((() => { e.isUnmounted = !0 }), t), t && t.pendingBranch && !t.isUnmounted && e.asyncDep && !e.asyncResolved && e.suspenseId === t.pendingId && (t.deps--, 0 === t.deps && t.resolve()) }, V = (e, t, n, r = !1, l = !1, i = 0) => { for (let s = i; s < e.length; s++)P(e[s], t, n, r, l) }, D = e => 6 & e.shapeFlag ? D(e.component.subTree) : 128 & e.shapeFlag ? e.suspense.next() : p(e.anchor || e.el), H = (e, t, n) => { null == e ? t._vnode && P(t._vnode, null, null, !0) : f(t._vnode || null, e, t, null, null, null, n), Sn(), Rn(), t._vnode = e }, B = { p: f, um: P, m: U, r: M, mt: E, mc: _, pc: j, pbc: C, n: D, o: e }; let W, q; t && ([W, q] = t(B)); return { render: H, hydrate: W, createApp: Or(H, W) } }(e) } function Mr({ effect: e, update: t }, n) { e.allowRecurse = t.allowRecurse = n } function Fr(e, t, n = !1) { const r = e.children, l = t.children; if (ie(r) && ie(l)) for (let e = 0; e < r.length; e++) { const t = r[e]; let i = l[e]; 1 & i.shapeFlag && !i.dynamicChildren && ((i.patchFlag <= 0 || 32 === i.patchFlag) && (i = l[e] = cl(l[e]), i.el = t.el), n || Fr(t, i)), i.type === Vr && (i.el = t.el) } } const Nr = Symbol(void 0), Vr = Symbol(void 0), Dr = Symbol(void 0), Hr = Symbol(void 0), Br = []; let Wr = null; function qr(e = !1) { Br.push(Wr = e ? null : []) } let Zr = 1; function Kr(e) { Zr += e } function Gr(e) { return e.dynamicChildren = Zr > 0 ? Wr || G : null, Br.pop(), Wr = Br[Br.length - 1] || null, Zr > 0 && Wr && Wr.push(e), e } function Qr(e, t, n, r, l, i) { return Gr(rl(e, t, n, r, l, i, !0)) } function Jr(e, t, n, r, l) { return Gr(ll(e, t, n, r, l, !0)) } function Xr(e) { return !!e && !0 === e.__v_isVNode } function Yr(e, t) { return e.type === t.type && e.key === t.key } const el = "__vInternal", tl = ({ key: e }) => null != e ? e : null, nl = ({ ref: e, ref_key: t, ref_for: n }) => null != e ? ue(e) || en(e) || ce(e) ? { i: On, r: e, k: t, f: !!n } : e : null; function rl(e, t = null, n = null, r = 0, l = null, i = (e === Nr ? 0 : 1), s = !1, o = !1) { const a = { __v_isVNode: !0, __v_skip: !0, type: e, props: t, key: t && tl(t), ref: t && nl(t), scopeId: Tn, slotScopeIds: null, children: n, component: null, suspense: null, ssContent: null, ssFallback: null, dirs: null, transition: null, el: null, anchor: null, target: null, targetAnchor: null, staticCount: 0, shapeFlag: i, patchFlag: r, dynamicProps: l, dynamicChildren: null, appContext: null, ctx: On }; return o ? (ul(a, n), 128 & i && e.normalize(a)) : n && (a.shapeFlag |= ue(n) ? 8 : 16), Zr > 0 && !s && Wr && (a.patchFlag > 0 || 6 & i) && 32 !== a.patchFlag && Wr.push(a), a } const ll = function (e, t = null, n = null, r = 0, l = null, i = !1) { e && e !== lr || (e = Dr); if (Xr(e)) { const r = il(e, t, !0); return n && ul(r, n), Zr > 0 && !i && Wr && (6 & r.shapeFlag ? Wr[Wr.indexOf(e)] = r : Wr.push(r)), r.patchFlag |= -2, r } s = e, ce(s) && "__vccOpts" in s && (e = e.__vccOpts); var s; if (t) { t = function (e) { return e ? Zt(e) || el in e ? te({}, e) : e : null }(t); let { class: e, style: n } = t; e && !ue(e) && (t.class = V(e)), de(n) && (Zt(n) && !ie(n) && (n = te({}, n)), t.style = U(n)) } const o = ue(e) ? 1 : (e => e.__isSuspense)(e) ? 128 : (e => e.__isTeleport)(e) ? 64 : de(e) ? 4 : ce(e) ? 2 : 0; return rl(e, t, n, r, l, o, i, !0) }; function il(e, t, n = !1) { const { props: r, ref: l, patchFlag: i, children: s } = e, o = t ? function (...e) { const t = {}; for (let n = 0; n < e.length; n++) { const r = e[n]; for (const e in r) if ("class" === e) t.class !== r.class && (t.class = V([t.class, r.class])); else if ("style" === e) t.style = U([t.style, r.style]); else if (Y(e)) { const n = t[e], l = r[e]; !l || n === l || ie(n) && n.includes(l) || (t[e] = n ? [].concat(n, l) : l) } else "" !== e && (t[e] = r[e]) } return t }(r || {}, t) : r; return { __v_isVNode: !0, __v_skip: !0, type: e.type, props: o, key: o && tl(o), ref: t && t.ref ? n && l ? ie(l) ? l.concat(nl(t)) : [l, nl(t)] : nl(t) : l, scopeId: e.scopeId, slotScopeIds: e.slotScopeIds, children: s, target: e.target, targetAnchor: e.targetAnchor, staticCount: e.staticCount, shapeFlag: e.shapeFlag, patchFlag: t && e.type !== Nr ? -1 === i ? 16 : 16 | i : i, dynamicProps: e.dynamicProps, dynamicChildren: e.dynamicChildren, appContext: e.appContext, dirs: e.dirs, transition: e.transition, component: e.component, suspense: e.suspense, ssContent: e.ssContent && il(e.ssContent), ssFallback: e.ssFallback && il(e.ssFallback), el: e.el, anchor: e.anchor, ctx: e.ctx, ce: e.ce } } function sl(e = " ", t = 0) { return ll(Vr, null, e, t) } function ol(e = "", t = !1) { return t ? (qr(), Jr(Dr, null, e)) : ll(Dr, null, e) } function al(e) { return null == e || "boolean" == typeof e ? ll(Dr) : ie(e) ? ll(Nr, null, e.slice()) : "object" == typeof e ? cl(e) : ll(Vr, null, String(e)) } function cl(e) { return null === e.el && -1 !== e.patchFlag || e.memo ? e : il(e) } function ul(e, t) { let n = 0; const { shapeFlag: r } = e; if (null == t) t = null; else if (ie(t)) n = 16; else if ("object" == typeof t) { if (65 & r) { const n = t.default; return void (n && (n._c && (n._d = !1), ul(e, n()), n._c && (n._d = !0))) } { n = 32; const r = t._; r || el in t ? 3 === r && On && (1 === On.slots._ ? t._ = 1 : (t._ = 2, e.patchFlag |= 1024)) : t._ctx = On } } else ce(t) ? (t = { default: t, _ctx: On }, n = 32) : (t = String(t), 64 & r ? (n = 16, t = [sl(t)]) : n = 8); e.children = t, e.shapeFlag |= n } function pl(e, t, n, r = null) { dn(e, t, 7, [n, r]) } const dl = Ir(); let hl = 0; let fl = null; const gl = () => fl || On, ml = e => { fl = e, e.scope.on() }, vl = () => { fl && fl.scope.off(), fl = null }; function yl(e) { return 4 & e.vnode.shapeFlag } let wl, bl = !1; function kl(e, t, n) { ce(t) ? e.type.__ssrInlineRender ? e.ssrRender = t : e.render = t : de(t) && (e.setupState = an(t)), xl(e, n) } function xl(e, t, n) { const r = e.type; if (!e.render) { if (!t && wl && !r.render) { const t = r.template || function (e) { const t = e.type, { mixins: n, extends: r } = t, { mixins: l, optionsCache: i, config: { optionMergeStrategies: s } } = e.appContext, o = i.get(t); let a; return o ? a = o : l.length || n || r ? (a = {}, l.length && l.forEach((e => pr(a, e, s, !0))), pr(a, t, s)) : a = t, de(t) && i.set(t, a), a }(e).template; if (t) { const { isCustomElement: n, compilerOptions: l } = e.appContext.config, { delimiters: i, compilerOptions: s } = r, o = te(te({ isCustomElement: n, delimiters: i }, l), s); r.render = wl(t, o) } } e.render = r.render || Q } } function _l(e) { if (e.exposed) return e.exposeProxy || (e.exposeProxy = new Proxy(an(Gt(e.exposed)), { get: (t, n) => n in t ? t[n] : n in ar ? ar[n](e) : void 0, has: (e, t) => t in e || t in ar })) } const $l = (e, t) => function (e, t, n = !1) { let r, l; const i = ce(e); return i ? (r = e, l = Q) : (r = e.get, l = e.set), new un(r, l, i || !l, n) }(e, 0, bl); function Cl(e, t, n) { const r = arguments.length; return 2 === r ? de(t) && !ie(t) ? Xr(t) ? ll(e, null, [t]) : ll(e, t) : ll(e, null, t) : (r > 3 ? n = Array.prototype.slice.call(arguments, 2) : 3 === r && Xr(n) && (n = [n]), ll(e, t, n)) } const Sl = Symbol(""), Rl = () => Vn(Sl), Al = "3.2.47", El = "undefined" != typeof document ? document : null, Ll = El && El.createElement("template"), zl = { insert: (e, t, n) => { t.insertBefore(e, n || null) }, remove: e => { const t = e.parentNode; t && t.removeChild(e) }, createElement: (e, t, n, r) => { const l = t ? El.createElementNS("http://www.w3.org/2000/svg", e) : El.createElement(e, n ? { is: n } : void 0); return "select" === e && r && null != r.multiple && l.setAttribute("multiple", r.multiple), l }, createText: e => El.createTextNode(e), createComment: e => El.createComment(e), setText: (e, t) => { e.nodeValue = t }, setElementText: (e, t) => { e.textContent = t }, parentNode: e => e.parentNode, nextSibling: e => e.nextSibling, querySelector: e => El.querySelector(e), setScopeId(e, t) { e.setAttribute(t, "") }, insertStaticContent(e, t, n, r, l, i) { const s = n ? n.previousSibling : t.lastChild; if (l && (l === i || l.nextSibling)) for (; t.insertBefore(l.cloneNode(!0), n), l !== i && (l = l.nextSibling);); else { Ll.innerHTML = r ? `${e}` : e; const l = Ll.content; if (r) { const e = l.firstChild; for (; e.firstChild;)l.appendChild(e.firstChild); l.removeChild(e) } t.insertBefore(l, n) } return [s ? s.nextSibling : t.firstChild, n ? n.previousSibling : t.lastChild] } }; const Il = /\s*!important$/; function jl(e, t, n) { if (ie(n)) n.forEach((n => jl(e, t, n))); else if (null == n && (n = ""), t.startsWith("--")) e.setProperty(t, n); else { const r = function (e, t) { const n = Tl[t]; if (n) return n; let r = xe(t); if ("filter" !== r && r in e) return Tl[t] = r; r = Ce(r); for (let n = 0; n < Ol.length; n++) { const l = Ol[n] + r; if (l in e) return Tl[t] = l } return t }(e, t); Il.test(n) ? e.setProperty($e(r), n.replace(Il, ""), "important") : e[r] = n } } const Ol = ["Webkit", "Moz", "ms"], Tl = {}; const Ul = "http://www.w3.org/1999/xlink"; function Pl(e, t, n, r) { e.addEventListener(t, n, r) } function Ml(e, t, n, r, l = null) { const i = e._vei || (e._vei = {}), s = i[t]; if (r && s) s.value = r; else { const [n, o] = function (e) { let t; if (Fl.test(e)) { let n; for (t = {}; n = e.match(Fl);)e = e.slice(0, e.length - n[0].length), t[n[0].toLowerCase()] = !0 } const n = ":" === e[2] ? e.slice(3) : $e(e.slice(2)); return [n, t] }(t); if (r) { const s = i[t] = function (e, t) { const n = e => { if (e._vts) { if (e._vts <= n.attached) return } else e._vts = Date.now(); dn(function (e, t) { if (ie(t)) { const n = e.stopImmediatePropagation; return e.stopImmediatePropagation = () => { n.call(e), e._stopped = !0 }, t.map((e => t => !t._stopped && e && e(t))) } return t }(e, n.value), t, 5, [e]) }; return n.value = e, n.attached = Dl(), n }(r, l); Pl(e, n, s, o) } else s && (!function (e, t, n, r) { e.removeEventListener(t, n, r) }(e, n, s, o), i[t] = void 0) } } const Fl = /(?:Once|Passive|Capture)$/; let Nl = 0; const Vl = Promise.resolve(), Dl = () => Nl || (Vl.then((() => Nl = 0)), Nl = Date.now()); const Hl = /^on[a-z]/; const Bl = e => { const t = e.props["onUpdate:modelValue"] || !1; return ie(t) ? e => Ae(t, e) : t }; function Wl(e) { e.target.composing = !0 } function ql(e) { const t = e.target; t.composing && (t.composing = !1, t.dispatchEvent(new Event("input"))) } const Zl = { created(e, { modifiers: { lazy: t, trim: n, number: r } }, l) { e._assign = Bl(l); const i = r || l.props && "number" === l.props.type; Pl(e, t ? "change" : "input", (t => { if (t.target.composing) return; let r = e.value; n && (r = r.trim()), i && (r = Le(r)), e._assign(r) })), n && Pl(e, "change", (() => { e.value = e.value.trim() })), t || (Pl(e, "compositionstart", Wl), Pl(e, "compositionend", ql), Pl(e, "change", ql)) }, mounted(e, { value: t }) { e.value = null == t ? "" : t }, beforeUpdate(e, { value: t, modifiers: { lazy: n, trim: r, number: l } }, i) { if (e._assign = Bl(i), e.composing) return; if (document.activeElement === e && "range" !== e.type) { if (n) return; if (r && e.value.trim() === t) return; if ((l || "number" === e.type) && Le(e.value) === t) return } const s = null == t ? "" : t; e.value !== s && (e.value = s) } }, Kl = { deep: !0, created(e, t, n) { e._assign = Bl(n), Pl(e, "change", (() => { const t = e._modelValue, n = Yl(e), r = e.checked, l = e._assign; if (ie(t)) { const e = W(t, n), i = -1 !== e; if (r && !i) l(t.concat(n)); else if (!r && i) { const n = [...t]; n.splice(e, 1), l(n) } } else if (oe(t)) { const e = new Set(t); r ? e.add(n) : e.delete(n), l(e) } else l(ei(e, r)) })) }, mounted: Gl, beforeUpdate(e, t, n) { e._assign = Bl(n), Gl(e, t, n) } }; function Gl(e, { value: t, oldValue: n }, r) { e._modelValue = t, ie(t) ? e.checked = W(t, r.props.value) > -1 : oe(t) ? e.checked = t.has(r.props.value) : t !== n && (e.checked = B(t, ei(e, !0))) } const Ql = { created(e, { value: t }, n) { e.checked = B(t, n.props.value), e._assign = Bl(n), Pl(e, "change", (() => { e._assign(Yl(e)) })) }, beforeUpdate(e, { value: t, oldValue: n }, r) { e._assign = Bl(r), t !== n && (e.checked = B(t, r.props.value)) } }, Jl = { deep: !0, created(e, { value: t, modifiers: { number: n } }, r) { const l = oe(t); Pl(e, "change", (() => { const t = Array.prototype.filter.call(e.options, (e => e.selected)).map((e => n ? Le(Yl(e)) : Yl(e))); e._assign(e.multiple ? l ? new Set(t) : t : t[0]) })), e._assign = Bl(r) }, mounted(e, { value: t }) { Xl(e, t) }, beforeUpdate(e, t, n) { e._assign = Bl(n) }, updated(e, { value: t }) { Xl(e, t) } }; function Xl(e, t) { const n = e.multiple; if (!n || ie(t) || oe(t)) { for (let r = 0, l = e.options.length; r < l; r++) { const l = e.options[r], i = Yl(l); if (n) ie(t) ? l.selected = W(t, i) > -1 : l.selected = t.has(i); else if (B(Yl(l), t)) return void (e.selectedIndex !== r && (e.selectedIndex = r)) } n || -1 === e.selectedIndex || (e.selectedIndex = -1) } } function Yl(e) { return "_value" in e ? e._value : e.value } function ei(e, t) { const n = t ? "_trueValue" : "_falseValue"; return n in e ? e[n] : t } const ti = { created(e, t, n) { ni(e, t, n, null, "created") }, mounted(e, t, n) { ni(e, t, n, null, "mounted") }, beforeUpdate(e, t, n, r) { ni(e, t, n, r, "beforeUpdate") }, updated(e, t, n, r) { ni(e, t, n, r, "updated") } }; function ni(e, t, n, r, l) { const i = function (e, t) { switch (e) { case "SELECT": return Jl; case "TEXTAREA": return Zl; default: switch (t) { case "checkbox": return Kl; case "radio": return Ql; default: return Zl } } }(e.tagName, n.props && n.props.type)[l]; i && i(e, t, n, r) } const ri = { beforeMount(e, { value: t }, { transition: n }) { e._vod = "none" === e.style.display ? "" : e.style.display, n && t ? n.beforeEnter(e) : li(e, t) }, mounted(e, { value: t }, { transition: n }) { n && t && n.enter(e) }, updated(e, { value: t, oldValue: n }, { transition: r }) { !t != !n && (r ? t ? (r.beforeEnter(e), li(e, !0), r.enter(e)) : r.leave(e, (() => { li(e, !1) })) : li(e, t)) }, beforeUnmount(e, { value: t }) { li(e, t) } }; function li(e, t) { e.style.display = t ? e._vod : "none" } const ii = te({ patchProp: (e, t, n, r, l = !1, i, s, o, a) => { "class" === t ? function (e, t, n) { const r = e._vtc; r && (t = (t ? [t, ...r] : [...r]).join(" ")), null == t ? e.removeAttribute("class") : n ? e.setAttribute("class", t) : e.className = t }(e, r, l) : "style" === t ? function (e, t, n) { const r = e.style, l = ue(n); if (n && !l) { if (t && !ue(t)) for (const e in t) null == n[e] && jl(r, e, ""); for (const e in n) jl(r, e, n[e]) } else { const i = r.display; l ? t !== n && (r.cssText = n) : t && e.removeAttribute("style"), "_vod" in e && (r.display = i) } }(e, n, r) : Y(t) ? ee(t) || Ml(e, t, 0, r, s) : ("." === t[0] ? (t = t.slice(1), 1) : "^" === t[0] ? (t = t.slice(1), 0) : function (e, t, n, r) { if (r) return "innerHTML" === t || "textContent" === t || !!(t in e && Hl.test(t) && ce(n)); if ("spellcheck" === t || "draggable" === t || "translate" === t) return !1; if ("form" === t) return !1; if ("list" === t && "INPUT" === e.tagName) return !1; if ("type" === t && "TEXTAREA" === e.tagName) return !1; if (Hl.test(t) && ue(n)) return !1; return t in e }(e, t, r, l)) ? function (e, t, n, r, l, i, s) { if ("innerHTML" === t || "textContent" === t) return r && s(r, l, i), void (e[t] = null == n ? "" : n); if ("value" === t && "PROGRESS" !== e.tagName && !e.tagName.includes("-")) { e._value = n; const r = null == n ? "" : n; return e.value === r && "OPTION" !== e.tagName || (e.value = r), void (null == n && e.removeAttribute(t)) } let o = !1; if ("" === n || null == n) { const r = typeof e[t]; "boolean" === r ? n = H(n) : null == n && "string" === r ? (n = "", o = !0) : "number" === r && (n = 0, o = !0) } try { e[t] = n } catch (e) { } o && e.removeAttribute(t) }(e, t, r, i, s, o, a) : ("true-value" === t ? e._trueValue = r : "false-value" === t && (e._falseValue = r), function (e, t, n, r, l) { if (r && t.startsWith("xlink:")) null == n ? e.removeAttributeNS(Ul, t.slice(6, t.length)) : e.setAttributeNS(Ul, t, n); else { const r = D(t); null == n || r && !H(n) ? e.removeAttribute(t) : e.setAttribute(t, r ? "" : n) } }(e, t, r, l)) } }, zl); let si; const oi = (...e) => { const t = (si || (si = Pr(ii))).createApp(...e), { mount: n } = t; return t.mount = e => { const r = function (e) { if (ue(e)) { return document.querySelector(e) } return e }(e); if (!r) return; const l = t._component; ce(l) || l.render || l.template || (l.template = r.innerHTML), r.innerHTML = ""; const i = n(r, !1, r instanceof SVGElement); return r instanceof Element && (r.removeAttribute("v-cloak"), r.setAttribute("data-v-app", "")), i }, t }; function ai(e) { return !!Te() && (function (e) { je && je.cleanups.push(e) }(e), !0) } function ci(e) { return "function" == typeof e ? e() : sn(e) } const ui = "undefined" != typeof window, pi = () => { }; function di(e, t) { return function (...n) { return new Promise(((r, l) => { Promise.resolve(e((() => t.apply(this, n)), { fn: t, thisArg: this, args: n })).then(r).catch(l) })) } } const hi = e => e(); function fi(e, t = 200, n = {}) { return di(function (e, t = {}) { let n, r, l = pi; const i = e => { clearTimeout(e), l(), l = pi }; return s => { const o = ci(e), a = ci(t.maxWait); return n && i(n), o <= 0 || void 0 !== a && a <= 0 ? (r && (i(r), r = null), Promise.resolve(s())) : new Promise(((e, c) => { l = t.rejectOnCancel ? c : e, a && !r && (r = setTimeout((() => { n && i(n), r = null, e(s()) }), a)), n = setTimeout((() => { r && i(r), r = null, e(s()) }), o) })) } }(t, n), e) } function gi(e, t = !0) { gl() ? Jn(e) : t ? e() : _n(e) } var mi = Object.getOwnPropertySymbols, vi = Object.prototype.hasOwnProperty, yi = Object.prototype.propertyIsEnumerable, wi = (e, t) => { var n = {}; for (var r in e) vi.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]); if (null != e && mi) for (var r of mi(e)) t.indexOf(r) < 0 && yi.call(e, r) && (n[r] = e[r]); return n }; var bi = Object.defineProperty, ki = Object.defineProperties, xi = Object.getOwnPropertyDescriptors, _i = Object.getOwnPropertySymbols, $i = Object.prototype.hasOwnProperty, Ci = Object.prototype.propertyIsEnumerable, Si = (e, t, n) => t in e ? bi(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Ri = (e, t) => { for (var n in t || (t = {})) $i.call(t, n) && Si(e, n, t[n]); if (_i) for (var n of _i(t)) Ci.call(t, n) && Si(e, n, t[n]); return e }, Ai = (e, t) => ki(e, xi(t)), Ei = (e, t) => { var n = {}; for (var r in e) $i.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]); if (null != e && _i) for (var r of _i(e)) t.indexOf(r) < 0 && Ci.call(e, r) && (n[r] = e[r]); return n }; function Li(e, t, n = {}) { const r = n, { eventFilter: l } = r, i = Ei(r, ["eventFilter"]), { eventFilter: s, pause: o, resume: a, isActive: c } = function (e = hi) { const t = tn(!0); return { isActive: Dt(t), pause: function () { t.value = !1 }, resume: function () { t.value = !0 }, eventFilter: (...n) => { t.value && e(...n) } } }(l), u = function (e, t, n = {}) { const r = n, { eventFilter: l = hi } = r, i = wi(r, ["eventFilter"]); return Bn(e, di(l, t), i) }(e, t, Ai(Ri({}, i), { eventFilter: s })); return { stop: u, pause: o, resume: a, isActive: c } } function zi(e) { var t; const n = ci(e); return null != (t = null == n ? void 0 : n.$el) ? t : n } const Ii = ui ? window : void 0, ji = ui ? window.document : void 0; function Oi(...e) { let t, n, r, l; if ("string" == typeof e[0] || Array.isArray(e[0]) ? ([n, r, l] = e, t = Ii) : [t, n, r, l] = e, !t) return pi; Array.isArray(n) || (n = [n]), Array.isArray(r) || (r = [r]); const i = [], s = () => { i.forEach((e => e())), i.length = 0 }, o = Bn((() => [zi(t), ci(l)]), (([e, t]) => { s(), e && i.push(...n.flatMap((n => r.map((r => ((e, t, n, r) => (e.addEventListener(t, n, r), () => e.removeEventListener(t, n, r)))(e, n, r, t)))))) }), { immediate: !0, flush: "post" }), a = () => { o(), s() }; return ai(a), a } const Ti = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}, Ui = "__vueuse_ssr_handlers__", Pi = Mi(); function Mi() { return Ui in Ti || (Ti[Ui] = Ti[Ui] || {}), Ti[Ui] } var Fi = Object.defineProperty, Ni = Object.getOwnPropertySymbols, Vi = Object.prototype.hasOwnProperty, Di = Object.prototype.propertyIsEnumerable, Hi = (e, t, n) => t in e ? Fi(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Bi = (e, t) => { for (var n in t || (t = {})) Vi.call(t, n) && Hi(e, n, t[n]); if (Ni) for (var n of Ni(t)) Di.call(t, n) && Hi(e, n, t[n]); return e }; const Wi = { boolean: { read: e => "true" === e, write: e => String(e) }, object: { read: e => JSON.parse(e), write: e => JSON.stringify(e) }, number: { read: e => Number.parseFloat(e), write: e => String(e) }, any: { read: e => e, write: e => String(e) }, string: { read: e => e, write: e => String(e) }, map: { read: e => new Map(JSON.parse(e)), write: e => JSON.stringify(Array.from(e.entries())) }, set: { read: e => new Set(JSON.parse(e)), write: e => JSON.stringify(Array.from(e)) }, date: { read: e => new Date(e), write: e => e.toISOString() } }, qi = "vueuse-storage"; function Zi(e, t, n, r = {}) { var l; const { flush: i = "pre", deep: s = !0, listenToStorageChanges: o = !0, writeDefaults: a = !0, mergeDefaults: c = !1, shallow: u, window: p = Ii, eventFilter: d, onError: h = (e => { console.error(e) }) } = r, f = (u ? nn : tn)(t); if (!n) try { n = function (e, t) { return Pi[e] || t }("getDefaultStorage", (() => { var e; return null == (e = Ii) ? void 0 : e.localStorage }))() } catch (e) { h(e) } if (!n) return f; const g = ci(t), m = function (e) { return null == e ? "any" : e instanceof Set ? "set" : e instanceof Map ? "map" : e instanceof Date ? "date" : "boolean" == typeof e ? "boolean" : "string" == typeof e ? "string" : "object" == typeof e ? "object" : Number.isNaN(e) ? "any" : "number" }(g), v = null != (l = r.serializer) ? l : Wi[m], { pause: y, resume: w } = Li(f, (() => function (t) { try { if (null == t) n.removeItem(e); else { const r = v.write(t), l = n.getItem(e); l !== r && (n.setItem(e, r), p && p.dispatchEvent(new CustomEvent(qi, { detail: { key: e, oldValue: l, newValue: r, storageArea: n } }))) } } catch (e) { h(e) } }(f.value)), { flush: i, deep: s, eventFilter: d }); return p && o && (Oi(p, "storage", b), Oi(p, qi, (function (e) { b(e.detail) }))), b(), f; function b(t) { if (!t || t.storageArea === n) if (t && null == t.key) f.value = g; else if (!t || t.key === e) { y(); try { f.value = function (t) { const r = t ? t.newValue : n.getItem(e); if (null == r) return a && null !== g && n.setItem(e, v.write(g)), g; if (!t && c) { const e = v.read(r); return "function" == typeof c ? c(e, g) : "object" !== m || Array.isArray(e) ? e : Bi(Bi({}, g), e) } return "string" != typeof r ? r : v.read(r) }(t) } catch (e) { h(e) } finally { t ? _n(w) : w() } } } } var Ki = Object.defineProperty, Gi = Object.getOwnPropertySymbols, Qi = Object.prototype.hasOwnProperty, Ji = Object.prototype.propertyIsEnumerable, Xi = (e, t, n) => t in e ? Ki(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n; function Yi(e = {}) { const { controls: t = !1, interval: n = "requestAnimationFrame" } = e, r = tn(new Date), l = () => r.value = new Date, i = "requestAnimationFrame" === n ? function (e, t = {}) { const { immediate: n = !0, window: r = Ii } = t, l = tn(!1); let i = 0, s = null; function o(t) { l.value && r && (e({ delta: t - i, timestamp: t }), i = t, s = r.requestAnimationFrame(o)) } function a() { !l.value && r && (l.value = !0, s = r.requestAnimationFrame(o)) } function c() { l.value = !1, null != s && r && (r.cancelAnimationFrame(s), s = null) } return n && a(), ai(c), { isActive: Dt(l), pause: c, resume: a } }(l, { immediate: !0 }) : function (e, t = 1e3, n = {}) { const { immediate: r = !0, immediateCallback: l = !1 } = n; let i = null; const s = tn(!1); function o() { i && (clearInterval(i), i = null) } function a() { s.value = !1, o() } function c() { const n = ci(t); n <= 0 || (s.value = !0, l && e(), o(), i = setInterval(e, n)) } r && ui && c(), (en(t) || "function" == typeof t) && ai(Bn(t, (() => { s.value && ui && c() }))); return ai(a), { isActive: s, pause: a, resume: c } }(l, n, { immediate: !0 }); return t ? ((e, t) => { for (var n in t || (t = {})) Qi.call(t, n) && Xi(e, n, t[n]); if (Gi) for (var n of Gi(t)) Ji.call(t, n) && Xi(e, n, t[n]); return e })({ now: r }, i) : r } function es(e, t = pi, n = {}) { const { immediate: r = !0, manual: l = !1, type: i = "text/javascript", async: s = !0, crossOrigin: o, referrerPolicy: a, noModule: c, defer: u, document: p = ji, attrs: d = {} } = n, h = tn(null); let f = null; const g = (n = !0) => (f || (f = (n => new Promise(((r, l) => { const f = e => (h.value = e, r(e), e); if (!p) return void r(!1); let g = !1, m = p.querySelector(`script[src="${ci(e)}"]`); m ? m.hasAttribute("data-loaded") && f(m) : (m = p.createElement("script"), m.type = i, m.async = s, m.src = ci(e), u && (m.defer = u), o && (m.crossOrigin = o), c && (m.noModule = c), a && (m.referrerPolicy = a), Object.entries(d).forEach((([e, t]) => null == m ? void 0 : m.setAttribute(e, t))), g = !0), m.addEventListener("error", (e => l(e))), m.addEventListener("abort", (e => l(e))), m.addEventListener("load", (() => { m.setAttribute("data-loaded", "true"), t(m), f(m) })), g && (m = p.head.appendChild(m)), n || f(m) })))(n)), f), m = () => { if (!p) return; f = null, h.value && (h.value = null); const t = p.querySelector(`script[src="${ci(e)}"]`); t && p.head.removeChild(t) }; var v; return r && !l && gi(g), l || (v = m, gl() && Yn(v)), { scriptTag: h, load: g, unload: m } } let ts = 0; const ns = e => { const t = Zi("WALINE_EMOJI", {}), n = Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test(e)); if (n) { const n = t.value[e]; if (n) return Promise.resolve(n) } return fetch(`${e}/info.json`).then((e => e.json())).then((r => { const l = { folder: e, ...r }; return n && (t.value[e] = l), l })) }, rs = (e, t = "", n = "", r = "") => `${t ? `${t}/` : ""}${n}${e}${r ? `.${r}` : ""}`, ls = e => { "AbortError" !== e.name && console.error(e.message) }, is = e => e instanceof HTMLElement ? e : "string" == typeof e ? document.querySelector(e) : null, ss = e => e.type.includes("image"), os = e => { const t = Array.from(e).find(ss); return t ? t.getAsFile() : null }; function as() { return { async: !1, baseUrl: null, breaks: !1, extensions: null, gfm: !0, headerIds: !0, headerPrefix: "", highlight: null, hooks: null, langPrefix: "language-", mangle: !0, pedantic: !1, renderer: null, sanitize: !1, sanitizer: null, silent: !1, smartypants: !1, tokenizer: null, walkTokens: null, xhtml: !1 } } let cs = { async: !1, baseUrl: null, breaks: !1, extensions: null, gfm: !0, headerIds: !0, headerPrefix: "", highlight: null, hooks: null, langPrefix: "language-", mangle: !0, pedantic: !1, renderer: null, sanitize: !1, sanitizer: null, silent: !1, smartypants: !1, tokenizer: null, walkTokens: null, xhtml: !1 }; const us = /[&<>"']/, ps = new RegExp(us.source, "g"), ds = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, hs = new RegExp(ds.source, "g"), fs = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }, gs = e => fs[e]; function ms(e, t) { if (t) { if (us.test(e)) return e.replace(ps, gs) } else if (ds.test(e)) return e.replace(hs, gs); return e } const vs = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi; function ys(e) { return e.replace(vs, ((e, t) => "colon" === (t = t.toLowerCase()) ? ":" : "#" === t.charAt(0) ? "x" === t.charAt(1) ? String.fromCharCode(parseInt(t.substring(2), 16)) : String.fromCharCode(+t.substring(1)) : "")) } const ws = /(^|[^\[])\^/g; function bs(e, t) { e = "string" == typeof e ? e : e.source, t = t || ""; const n = { replace: (t, r) => (r = (r = r.source || r).replace(ws, "$1"), e = e.replace(t, r), n), getRegex: () => new RegExp(e, t) }; return n } const ks = /[^\w:]/g, xs = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; function _s(e, t, n) { if (e) { let e; try { e = decodeURIComponent(ys(n)).replace(ks, "").toLowerCase() } catch (e) { return null } if (0 === e.indexOf("javascript:") || 0 === e.indexOf("vbscript:") || 0 === e.indexOf("data:")) return null } t && !xs.test(n) && (n = function (e, t) { $s[" " + e] || (Cs.test(e) ? $s[" " + e] = e + "/" : $s[" " + e] = Ls(e, "/", !0)); e = $s[" " + e]; const n = -1 === e.indexOf(":"); return "//" === t.substring(0, 2) ? n ? t : e.replace(Ss, "$1") + t : "/" === t.charAt(0) ? n ? t : e.replace(Rs, "$1") + t : e + t }(t, n)); try { n = encodeURI(n).replace(/%25/g, "%") } catch (e) { return null } return n } const $s = {}, Cs = /^[^:]+:\/*[^/]*$/, Ss = /^([^:]+:)[\s\S]*$/, Rs = /^([^:]+:\/*[^/]*)[\s\S]*$/; const As = { exec: function () { } }; function Es(e, t) { const n = e.replace(/\|/g, ((e, t, n) => { let r = !1, l = t; for (; --l >= 0 && "\\" === n[l];)r = !r; return r ? "|" : " |" })).split(/ \|/); let r = 0; if (n[0].trim() || n.shift(), n.length > 0 && !n[n.length - 1].trim() && n.pop(), n.length > t) n.splice(t); else for (; n.length < t;)n.push(""); for (; r < n.length; r++)n[r] = n[r].trim().replace(/\\\|/g, "|"); return n } function Ls(e, t, n) { const r = e.length; if (0 === r) return ""; let l = 0; for (; l < r;) { const i = e.charAt(r - l - 1); if (i !== t || n) { if (i === t || !n) break; l++ } else l++ } return e.slice(0, r - l) } function zs(e, t) { if (t < 1) return ""; let n = ""; for (; t > 1;)1 & t && (n += e), t >>= 1, e += e; return n + e } function Is(e, t, n, r) { const l = t.href, i = t.title ? ms(t.title) : null, s = e[1].replace(/\\([\[\]])/g, "$1"); if ("!" !== e[0].charAt(0)) { r.state.inLink = !0; const e = { type: "link", raw: n, href: l, title: i, text: s, tokens: r.inlineTokens(s) }; return r.state.inLink = !1, e } return { type: "image", raw: n, href: l, title: i, text: ms(s) } } class js { constructor(e) { this.options = e || cs } space(e) { const t = this.rules.block.newline.exec(e); if (t && t[0].length > 0) return { type: "space", raw: t[0] } } code(e) { const t = this.rules.block.code.exec(e); if (t) { const e = t[0].replace(/^ {1,4}/gm, ""); return { type: "code", raw: t[0], codeBlockStyle: "indented", text: this.options.pedantic ? e : Ls(e, "\n") } } } fences(e) { const t = this.rules.block.fences.exec(e); if (t) { const e = t[0], n = function (e, t) { const n = e.match(/^(\s+)(?:```)/); if (null === n) return t; const r = n[1]; return t.split("\n").map((e => { const t = e.match(/^\s+/); if (null === t) return e; const [n] = t; return n.length >= r.length ? e.slice(r.length) : e })).join("\n") }(e, t[3] || ""); return { type: "code", raw: e, lang: t[2] ? t[2].trim().replace(this.rules.inline._escapes, "$1") : t[2], text: n } } } heading(e) { const t = this.rules.block.heading.exec(e); if (t) { let e = t[2].trim(); if (/#$/.test(e)) { const t = Ls(e, "#"); this.options.pedantic ? e = t.trim() : t && !/ $/.test(t) || (e = t.trim()) } return { type: "heading", raw: t[0], depth: t[1].length, text: e, tokens: this.lexer.inline(e) } } } hr(e) { const t = this.rules.block.hr.exec(e); if (t) return { type: "hr", raw: t[0] } } blockquote(e) { const t = this.rules.block.blockquote.exec(e); if (t) { const e = t[0].replace(/^ *>[ \t]?/gm, ""), n = this.lexer.state.top; this.lexer.state.top = !0; const r = this.lexer.blockTokens(e); return this.lexer.state.top = n, { type: "blockquote", raw: t[0], tokens: r, text: e } } } list(e) { let t = this.rules.block.list.exec(e); if (t) { let n, r, l, i, s, o, a, c, u, p, d, h, f = t[1].trim(); const g = f.length > 1, m = { type: "list", raw: "", ordered: g, start: g ? +f.slice(0, -1) : "", loose: !1, items: [] }; f = g ? `\\d{1,9}\\${f.slice(-1)}` : `\\${f}`, this.options.pedantic && (f = g ? f : "[*+-]"); const v = new RegExp(`^( {0,3}${f})((?:[\t ][^\\n]*)?(?:\\n|$))`); for (; e && (h = !1, t = v.exec(e)) && !this.rules.block.hr.test(e);) { if (n = t[0], e = e.substring(n.length), c = t[2].split("\n", 1)[0].replace(/^\t+/, (e => " ".repeat(3 * e.length))), u = e.split("\n", 1)[0], this.options.pedantic ? (i = 2, d = c.trimLeft()) : (i = t[2].search(/[^ ]/), i = i > 4 ? 1 : i, d = c.slice(i), i += t[1].length), o = !1, !c && /^ *$/.test(u) && (n += u + "\n", e = e.substring(u.length + 1), h = !0), !h) { const t = new RegExp(`^ {0,${Math.min(3, i - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`), r = new RegExp(`^ {0,${Math.min(3, i - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), l = new RegExp(`^ {0,${Math.min(3, i - 1)}}(?:\`\`\`|~~~)`), s = new RegExp(`^ {0,${Math.min(3, i - 1)}}#`); for (; e && (p = e.split("\n", 1)[0], u = p, this.options.pedantic && (u = u.replace(/^ {1,4}(?=( {4})*[^ ])/g, " ")), !l.test(u)) && !s.test(u) && !t.test(u) && !r.test(e);) { if (u.search(/[^ ]/) >= i || !u.trim()) d += "\n" + u.slice(i); else { if (o) break; if (c.search(/[^ ]/) >= 4) break; if (l.test(c)) break; if (s.test(c)) break; if (r.test(c)) break; d += "\n" + u } o || u.trim() || (o = !0), n += p + "\n", e = e.substring(p.length + 1), c = u.slice(i) } } m.loose || (a ? m.loose = !0 : /\n *\n *$/.test(n) && (a = !0)), this.options.gfm && (r = /^\[[ xX]\] /.exec(d), r && (l = "[ ] " !== r[0], d = d.replace(/^\[[ xX]\] +/, ""))), m.items.push({ type: "list_item", raw: n, task: !!r, checked: l, loose: !1, text: d }), m.raw += n } m.items[m.items.length - 1].raw = n.trimRight(), m.items[m.items.length - 1].text = d.trimRight(), m.raw = m.raw.trimRight(); const y = m.items.length; for (s = 0; s < y; s++)if (this.lexer.state.top = !1, m.items[s].tokens = this.lexer.blockTokens(m.items[s].text, []), !m.loose) { const e = m.items[s].tokens.filter((e => "space" === e.type)), t = e.length > 0 && e.some((e => /\n.*\n/.test(e.raw))); m.loose = t } if (m.loose) for (s = 0; s < y; s++)m.items[s].loose = !0; return m } } html(e) { const t = this.rules.block.html.exec(e); if (t) { const e = { type: "html", raw: t[0], pre: !this.options.sanitizer && ("pre" === t[1] || "script" === t[1] || "style" === t[1]), text: t[0] }; if (this.options.sanitize) { const n = this.options.sanitizer ? this.options.sanitizer(t[0]) : ms(t[0]); e.type = "paragraph", e.text = n, e.tokens = this.lexer.inline(n) } return e } } def(e) { const t = this.rules.block.def.exec(e); if (t) { const e = t[1].toLowerCase().replace(/\s+/g, " "), n = t[2] ? t[2].replace(/^<(.*)>$/, "$1").replace(this.rules.inline._escapes, "$1") : "", r = t[3] ? t[3].substring(1, t[3].length - 1).replace(this.rules.inline._escapes, "$1") : t[3]; return { type: "def", tag: e, raw: t[0], href: n, title: r } } } table(e) { const t = this.rules.block.table.exec(e); if (t) { const e = { type: "table", header: Es(t[1]).map((e => ({ text: e }))), align: t[2].replace(/^ *|\| *$/g, "").split(/ *\| */), rows: t[3] && t[3].trim() ? t[3].replace(/\n[ \t]*$/, "").split("\n") : [] }; if (e.header.length === e.align.length) { e.raw = t[0]; let n, r, l, i, s = e.align.length; for (n = 0; n < s; n++)/^ *-+: *$/.test(e.align[n]) ? e.align[n] = "right" : /^ *:-+: *$/.test(e.align[n]) ? e.align[n] = "center" : /^ *:-+ *$/.test(e.align[n]) ? e.align[n] = "left" : e.align[n] = null; for (s = e.rows.length, n = 0; n < s; n++)e.rows[n] = Es(e.rows[n], e.header.length).map((e => ({ text: e }))); for (s = e.header.length, r = 0; r < s; r++)e.header[r].tokens = this.lexer.inline(e.header[r].text); for (s = e.rows.length, r = 0; r < s; r++)for (i = e.rows[r], l = 0; l < i.length; l++)i[l].tokens = this.lexer.inline(i[l].text); return e } } } lheading(e) { const t = this.rules.block.lheading.exec(e); if (t) return { type: "heading", raw: t[0], depth: "=" === t[2].charAt(0) ? 1 : 2, text: t[1], tokens: this.lexer.inline(t[1]) } } paragraph(e) { const t = this.rules.block.paragraph.exec(e); if (t) { const e = "\n" === t[1].charAt(t[1].length - 1) ? t[1].slice(0, -1) : t[1]; return { type: "paragraph", raw: t[0], text: e, tokens: this.lexer.inline(e) } } } text(e) { const t = this.rules.block.text.exec(e); if (t) return { type: "text", raw: t[0], text: t[0], tokens: this.lexer.inline(t[0]) } } escape(e) { const t = this.rules.inline.escape.exec(e); if (t) return { type: "escape", raw: t[0], text: ms(t[1]) } } tag(e) { const t = this.rules.inline.tag.exec(e); if (t) return !this.lexer.state.inLink && /^
    /i.test(t[0]) && (this.lexer.state.inLink = !1), !this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(t[0]) ? this.lexer.state.inRawBlock = !0 : this.lexer.state.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0]) && (this.lexer.state.inRawBlock = !1), { type: this.options.sanitize ? "text" : "html", raw: t[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(t[0]) : ms(t[0]) : t[0] } } link(e) { const t = this.rules.inline.link.exec(e); if (t) { const e = t[2].trim(); if (!this.options.pedantic && /^$/.test(e)) return; const t = Ls(e.slice(0, -1), "\\"); if ((e.length - t.length) % 2 == 0) return } else { const e = function (e, t) { if (-1 === e.indexOf(t[1])) return -1; const n = e.length; let r = 0, l = 0; for (; l < n; l++)if ("\\" === e[l]) l++; else if (e[l] === t[0]) r++; else if (e[l] === t[1] && (r--, r < 0)) return l; return -1 }(t[2], "()"); if (e > -1) { const n = (0 === t[0].indexOf("!") ? 5 : 4) + t[1].length + e; t[2] = t[2].substring(0, e), t[0] = t[0].substring(0, n).trim(), t[3] = "" } } let n = t[2], r = ""; if (this.options.pedantic) { const e = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n); e && (n = e[1], r = e[3]) } else r = t[3] ? t[3].slice(1, -1) : ""; return n = n.trim(), /^$/.test(e) ? n.slice(1) : n.slice(1, -1)), Is(t, { href: n ? n.replace(this.rules.inline._escapes, "$1") : n, title: r ? r.replace(this.rules.inline._escapes, "$1") : r }, t[0], this.lexer) } } reflink(e, t) { let n; if ((n = this.rules.inline.reflink.exec(e)) || (n = this.rules.inline.nolink.exec(e))) { let e = (n[2] || n[1]).replace(/\s+/g, " "); if (e = t[e.toLowerCase()], !e) { const e = n[0].charAt(0); return { type: "text", raw: e, text: e } } return Is(n, e, n[0], this.lexer) } } emStrong(e, t, n = "") { let r = this.rules.inline.emStrong.lDelim.exec(e); if (!r) return; if (r[3] && n.match(/[\p{L}\p{N}]/u)) return; const l = r[1] || r[2] || ""; if (!l || l && ("" === n || this.rules.inline.punctuation.exec(n))) { const n = r[0].length - 1; let l, i, s = n, o = 0; const a = "*" === r[0][0] ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd; for (a.lastIndex = 0, t = t.slice(-1 * e.length + n); null != (r = a.exec(t));) { if (l = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !l) continue; if (i = l.length, r[3] || r[4]) { s += i; continue } if ((r[5] || r[6]) && n % 3 && !((n + i) % 3)) { o += i; continue } if (s -= i, s > 0) continue; i = Math.min(i, i + s + o); const t = e.slice(0, n + r.index + (r[0].length - l.length) + i); if (Math.min(n, i) % 2) { const e = t.slice(1, -1); return { type: "em", raw: t, text: e, tokens: this.lexer.inlineTokens(e) } } const a = t.slice(2, -2); return { type: "strong", raw: t, text: a, tokens: this.lexer.inlineTokens(a) } } } } codespan(e) { const t = this.rules.inline.code.exec(e); if (t) { let e = t[2].replace(/\n/g, " "); const n = /[^ ]/.test(e), r = /^ /.test(e) && / $/.test(e); return n && r && (e = e.substring(1, e.length - 1)), e = ms(e, !0), { type: "codespan", raw: t[0], text: e } } } br(e) { const t = this.rules.inline.br.exec(e); if (t) return { type: "br", raw: t[0] } } del(e) { const t = this.rules.inline.del.exec(e); if (t) return { type: "del", raw: t[0], text: t[2], tokens: this.lexer.inlineTokens(t[2]) } } autolink(e, t) { const n = this.rules.inline.autolink.exec(e); if (n) { let e, r; return "@" === n[2] ? (e = ms(this.options.mangle ? t(n[1]) : n[1]), r = "mailto:" + e) : (e = ms(n[1]), r = e), { type: "link", raw: n[0], text: e, href: r, tokens: [{ type: "text", raw: e, text: e }] } } } url(e, t) { let n; if (n = this.rules.inline.url.exec(e)) { let e, r; if ("@" === n[2]) e = ms(this.options.mangle ? t(n[0]) : n[0]), r = "mailto:" + e; else { let t; do { t = n[0], n[0] = this.rules.inline._backpedal.exec(n[0])[0] } while (t !== n[0]); e = ms(n[0]), r = "www." === n[1] ? "http://" + n[0] : n[0] } return { type: "link", raw: n[0], text: e, href: r, tokens: [{ type: "text", raw: e, text: e }] } } } inlineText(e, t) { const n = this.rules.inline.text.exec(e); if (n) { let e; return e = this.lexer.state.inRawBlock ? this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(n[0]) : ms(n[0]) : n[0] : ms(this.options.smartypants ? t(n[0]) : n[0]), { type: "text", raw: n[0], text: e } } } } const Os = { newline: /^(?: *(?:\n|$))+/, code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/, fences: /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, hr: /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, heading: /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, list: /^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/, html: "^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))", def: /^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/, table: As, lheading: /^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, text: /^[^\n]+/, _label: /(?!\s*\])(?:\\.|[^\[\]\\])+/, _title: /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/ }; Os.def = bs(Os.def).replace("label", Os._label).replace("title", Os._title).getRegex(), Os.bullet = /(?:[*+-]|\d{1,9}[.)])/, Os.listItemStart = bs(/^( *)(bull) */).replace("bull", Os.bullet).getRegex(), Os.list = bs(Os.list).replace(/bull/g, Os.bullet).replace("hr", "\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def", "\\n+(?=" + Os.def.source + ")").getRegex(), Os._tag = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", Os._comment = /|$)/, Os.html = bs(Os.html, "i").replace("comment", Os._comment).replace("tag", Os._tag).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), Os.paragraph = bs(Os._paragraph).replace("hr", Os.hr).replace("heading", " {0,3}#{1,6} ").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", ")|<(?:script|pre|style|textarea|!--)").replace("tag", Os._tag).getRegex(), Os.blockquote = bs(Os.blockquote).replace("paragraph", Os.paragraph).getRegex(), Os.normal = { ...Os }, Os.gfm = { ...Os.normal, table: "^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)" }, Os.gfm.table = bs(Os.gfm.table).replace("hr", Os.hr).replace("heading", " {0,3}#{1,6} ").replace("blockquote", " {0,3}>").replace("code", " {4}[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", ")|<(?:script|pre|style|textarea|!--)").replace("tag", Os._tag).getRegex(), Os.gfm.paragraph = bs(Os._paragraph).replace("hr", Os.hr).replace("heading", " {0,3}#{1,6} ").replace("|lheading", "").replace("table", Os.gfm.table).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", ")|<(?:script|pre|style|textarea|!--)").replace("tag", Os._tag).getRegex(), Os.pedantic = { ...Os.normal, html: bs("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", Os._comment).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: As, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: bs(Os.normal._paragraph).replace("hr", Os.hr).replace("heading", " *#{1,6} *[^\n]").replace("lheading", Os.lheading).replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").getRegex() }; const Ts = { escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, url: As, tag: "^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^", link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, reflink: /^!?\[(label)\]\[(ref)\]/, nolink: /^!?\[(ref)\](?:\[\])?/, reflinkSearch: "reflink|nolink(?!\\()", emStrong: { lDelim: /^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/, rDelimAst: /^(?:[^_*\\]|\\.)*?\_\_(?:[^_*\\]|\\.)*?\*(?:[^_*\\]|\\.)*?(?=\_\_)|(?:[^*\\]|\\.)+(?=[^*])|[punct_](\*+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|(?:[^punct*_\s\\]|\\.)(\*+)(?=[^punct*_\s])/, rDelimUnd: /^(?:[^_*\\]|\\.)*?\*\*(?:[^_*\\]|\\.)*?\_(?:[^_*\\]|\\.)*?(?=\*\*)|(?:[^_\\]|\\.)+(?=[^_])|[punct*](\_+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/ }, code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, br: /^( {2,}|\\)\n(?!\s*$)/, del: As, text: /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\ .5 && (n = "x" + n.toString(16)), r += "&#" + n + ";"; return r } Ts._punctuation = "!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~", Ts.punctuation = bs(Ts.punctuation).replace(/punctuation/g, Ts._punctuation).getRegex(), Ts.blockSkip = /\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g, Ts.escapedEmSt = /(?:^|[^\\])(?:\\\\)*\\[*_]/g, Ts._comment = bs(Os._comment).replace("(?:--\x3e|$)", "--\x3e").getRegex(), Ts.emStrong.lDelim = bs(Ts.emStrong.lDelim).replace(/punct/g, Ts._punctuation).getRegex(), Ts.emStrong.rDelimAst = bs(Ts.emStrong.rDelimAst, "g").replace(/punct/g, Ts._punctuation).getRegex(), Ts.emStrong.rDelimUnd = bs(Ts.emStrong.rDelimUnd, "g").replace(/punct/g, Ts._punctuation).getRegex(), Ts._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g, Ts._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/, Ts._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/, Ts.autolink = bs(Ts.autolink).replace("scheme", Ts._scheme).replace("email", Ts._email).getRegex(), Ts._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/, Ts.tag = bs(Ts.tag).replace("comment", Ts._comment).replace("attribute", Ts._attribute).getRegex(), Ts._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/, Ts._href = /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/, Ts._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/, Ts.link = bs(Ts.link).replace("label", Ts._label).replace("href", Ts._href).replace("title", Ts._title).getRegex(), Ts.reflink = bs(Ts.reflink).replace("label", Ts._label).replace("ref", Os._label).getRegex(), Ts.nolink = bs(Ts.nolink).replace("ref", Os._label).getRegex(), Ts.reflinkSearch = bs(Ts.reflinkSearch, "g").replace("reflink", Ts.reflink).replace("nolink", Ts.nolink).getRegex(), Ts.normal = { ...Ts }, Ts.pedantic = { ...Ts.normal, strong: { start: /^__|\*\*/, middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, endAst: /\*\*(?!\*)/g, endUnd: /__(?!_)/g }, em: { start: /^_|\*/, middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/, endAst: /\*(?!\*)/g, endUnd: /_(?!_)/g }, link: bs(/^!?\[(label)\]\((.*?)\)/).replace("label", Ts._label).getRegex(), reflink: bs(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", Ts._label).getRegex() }, Ts.gfm = { ...Ts.normal, escape: bs(Ts.escape).replace("])", "~|])").getRegex(), _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/, url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/, text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\ t + " ".repeat(n.length))); e;)if (!(this.options.extensions && this.options.extensions.block && this.options.extensions.block.some((r => !!(n = r.call({ lexer: this }, e, t)) && (e = e.substring(n.raw.length), t.push(n), !0))))) if (n = this.tokenizer.space(e)) e = e.substring(n.raw.length), 1 === n.raw.length && t.length > 0 ? t[t.length - 1].raw += "\n" : t.push(n); else if (n = this.tokenizer.code(e)) e = e.substring(n.raw.length), r = t[t.length - 1], !r || "paragraph" !== r.type && "text" !== r.type ? t.push(n) : (r.raw += "\n" + n.raw, r.text += "\n" + n.text, this.inlineQueue[this.inlineQueue.length - 1].src = r.text); else if (n = this.tokenizer.fences(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.heading(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.hr(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.blockquote(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.list(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.html(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.def(e)) e = e.substring(n.raw.length), r = t[t.length - 1], !r || "paragraph" !== r.type && "text" !== r.type ? this.tokens.links[n.tag] || (this.tokens.links[n.tag] = { href: n.href, title: n.title }) : (r.raw += "\n" + n.raw, r.text += "\n" + n.raw, this.inlineQueue[this.inlineQueue.length - 1].src = r.text); else if (n = this.tokenizer.table(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.lheading(e)) e = e.substring(n.raw.length), t.push(n); else { if (l = e, this.options.extensions && this.options.extensions.startBlock) { let t = 1 / 0; const n = e.slice(1); let r; this.options.extensions.startBlock.forEach((function (e) { r = e.call({ lexer: this }, n), "number" == typeof r && r >= 0 && (t = Math.min(t, r)) })), t < 1 / 0 && t >= 0 && (l = e.substring(0, t + 1)) } if (this.state.top && (n = this.tokenizer.paragraph(l))) r = t[t.length - 1], i && "paragraph" === r.type ? (r.raw += "\n" + n.raw, r.text += "\n" + n.text, this.inlineQueue.pop(), this.inlineQueue[this.inlineQueue.length - 1].src = r.text) : t.push(n), i = l.length !== e.length, e = e.substring(n.raw.length); else if (n = this.tokenizer.text(e)) e = e.substring(n.raw.length), r = t[t.length - 1], r && "text" === r.type ? (r.raw += "\n" + n.raw, r.text += "\n" + n.text, this.inlineQueue.pop(), this.inlineQueue[this.inlineQueue.length - 1].src = r.text) : t.push(n); else if (e) { const t = "Infinite loop on byte: " + e.charCodeAt(0); if (this.options.silent) { console.error(t); break } throw new Error(t) } } return this.state.top = !0, t } inline(e, t = []) { return this.inlineQueue.push({ src: e, tokens: t }), t } inlineTokens(e, t = []) { let n, r, l, i, s, o, a = e; if (this.tokens.links) { const e = Object.keys(this.tokens.links); if (e.length > 0) for (; null != (i = this.tokenizer.rules.inline.reflinkSearch.exec(a));)e.includes(i[0].slice(i[0].lastIndexOf("[") + 1, -1)) && (a = a.slice(0, i.index) + "[" + zs("a", i[0].length - 2) + "]" + a.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex)) } for (; null != (i = this.tokenizer.rules.inline.blockSkip.exec(a));)a = a.slice(0, i.index) + "[" + zs("a", i[0].length - 2) + "]" + a.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); for (; null != (i = this.tokenizer.rules.inline.escapedEmSt.exec(a));)a = a.slice(0, i.index + i[0].length - 2) + "++" + a.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex), this.tokenizer.rules.inline.escapedEmSt.lastIndex--; for (; e;)if (s || (o = ""), s = !1, !(this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some((r => !!(n = r.call({ lexer: this }, e, t)) && (e = e.substring(n.raw.length), t.push(n), !0))))) if (n = this.tokenizer.escape(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.tag(e)) e = e.substring(n.raw.length), r = t[t.length - 1], r && "text" === n.type && "text" === r.type ? (r.raw += n.raw, r.text += n.text) : t.push(n); else if (n = this.tokenizer.link(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.reflink(e, this.tokens.links)) e = e.substring(n.raw.length), r = t[t.length - 1], r && "text" === n.type && "text" === r.type ? (r.raw += n.raw, r.text += n.text) : t.push(n); else if (n = this.tokenizer.emStrong(e, a, o)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.codespan(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.br(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.del(e)) e = e.substring(n.raw.length), t.push(n); else if (n = this.tokenizer.autolink(e, Ps)) e = e.substring(n.raw.length), t.push(n); else if (this.state.inLink || !(n = this.tokenizer.url(e, Ps))) { if (l = e, this.options.extensions && this.options.extensions.startInline) { let t = 1 / 0; const n = e.slice(1); let r; this.options.extensions.startInline.forEach((function (e) { r = e.call({ lexer: this }, n), "number" == typeof r && r >= 0 && (t = Math.min(t, r)) })), t < 1 / 0 && t >= 0 && (l = e.substring(0, t + 1)) } if (n = this.tokenizer.inlineText(l, Us)) e = e.substring(n.raw.length), "_" !== n.raw.slice(-1) && (o = n.raw.slice(-1)), s = !0, r = t[t.length - 1], r && "text" === r.type ? (r.raw += n.raw, r.text += n.text) : t.push(n); else if (e) { const t = "Infinite loop on byte: " + e.charCodeAt(0); if (this.options.silent) { console.error(t); break } throw new Error(t) } } else e = e.substring(n.raw.length), t.push(n); return t } } class Fs { constructor(e) { this.options = e || cs } code(e, t, n) { const r = (t || "").match(/\S*/)[0]; if (this.options.highlight) { const t = this.options.highlight(e, r); null != t && t !== e && (n = !0, e = t) } return e = e.replace(/\n$/, "") + "\n", r ? '
    ' + (n ? e : ms(e, !0)) + "
    \n" : "
    " + (n ? e : ms(e, !0)) + "
    \n" } blockquote(e) { return `
    \n${e}
    \n` } html(e) { return e } heading(e, t, n, r) { if (this.options.headerIds) { return `${e}\n` } return `${e}\n` } hr() { return this.options.xhtml ? "
    \n" : "
    \n" } list(e, t, n) { const r = t ? "ol" : "ul"; return "<" + r + (t && 1 !== n ? ' start="' + n + '"' : "") + ">\n" + e + "\n" } listitem(e) { return `
  • ${e}
  • \n` } checkbox(e) { return " " } paragraph(e) { return `

    ${e}

    \n` } table(e, t) { return t && (t = `${t}`), "\n\n" + e + "\n" + t + "
    \n" } tablerow(e) { return `\n${e}\n` } tablecell(e, t) { const n = t.header ? "th" : "td"; return (t.align ? `<${n} align="${t.align}">` : `<${n}>`) + e + `\n` } strong(e) { return `${e}` } em(e) { return `${e}` } codespan(e) { return `${e}` } br() { return this.options.xhtml ? "
    " : "
    " } del(e) { return `${e}` } link(e, t, n) { if (null === (e = _s(this.options.sanitize, this.options.baseUrl, e))) return n; let r = '
    ", r } image(e, t, n) { if (null === (e = _s(this.options.sanitize, this.options.baseUrl, e))) return n; let r = `${n}" : ">", r } text(e) { return e } } class Ns { strong(e) { return e } em(e) { return e } codespan(e) { return e } del(e) { return e } html(e) { return e } text(e) { return e } link(e, t, n) { return "" + n } image(e, t, n) { return "" + n } br() { return "" } } class Vs { constructor() { this.seen = {} } serialize(e) { return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi, "").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, "").replace(/\s/g, "-") } getNextSafeSlug(e, t) { let n = e, r = 0; if (this.seen.hasOwnProperty(n)) { r = this.seen[e]; do { r++, n = e + "-" + r } while (this.seen.hasOwnProperty(n)) } return t || (this.seen[e] = r, this.seen[n] = 0), n } slug(e, t = {}) { const n = this.serialize(e); return this.getNextSafeSlug(n, t.dryrun) } } class Ds { constructor(e) { this.options = e || cs, this.options.renderer = this.options.renderer || new Fs, this.renderer = this.options.renderer, this.renderer.options = this.options, this.textRenderer = new Ns, this.slugger = new Vs } static parse(e, t) { return new Ds(t).parse(e) } static parseInline(e, t) { return new Ds(t).parseInline(e) } parse(e, t = !0) { let n, r, l, i, s, o, a, c, u, p, d, h, f, g, m, v, y, w, b, k = ""; const x = e.length; for (n = 0; n < x; n++)if (p = e[n], this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[p.type] && (b = this.options.extensions.renderers[p.type].call({ parser: this }, p), !1 !== b || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "paragraph", "text"].includes(p.type))) k += b || ""; else switch (p.type) { case "space": continue; case "hr": k += this.renderer.hr(); continue; case "heading": k += this.renderer.heading(this.parseInline(p.tokens), p.depth, ys(this.parseInline(p.tokens, this.textRenderer)), this.slugger); continue; case "code": k += this.renderer.code(p.text, p.lang, p.escaped); continue; case "table": for (c = "", a = "", i = p.header.length, r = 0; r < i; r++)a += this.renderer.tablecell(this.parseInline(p.header[r].tokens), { header: !0, align: p.align[r] }); for (c += this.renderer.tablerow(a), u = "", i = p.rows.length, r = 0; r < i; r++) { for (o = p.rows[r], a = "", s = o.length, l = 0; l < s; l++)a += this.renderer.tablecell(this.parseInline(o[l].tokens), { header: !1, align: p.align[l] }); u += this.renderer.tablerow(a) } k += this.renderer.table(c, u); continue; case "blockquote": u = this.parse(p.tokens), k += this.renderer.blockquote(u); continue; case "list": for (d = p.ordered, h = p.start, f = p.loose, i = p.items.length, u = "", r = 0; r < i; r++)m = p.items[r], v = m.checked, y = m.task, g = "", m.task && (w = this.renderer.checkbox(v), f ? m.tokens.length > 0 && "paragraph" === m.tokens[0].type ? (m.tokens[0].text = w + " " + m.tokens[0].text, m.tokens[0].tokens && m.tokens[0].tokens.length > 0 && "text" === m.tokens[0].tokens[0].type && (m.tokens[0].tokens[0].text = w + " " + m.tokens[0].tokens[0].text)) : m.tokens.unshift({ type: "text", text: w }) : g += w), g += this.parse(m.tokens, f), u += this.renderer.listitem(g, y, v); k += this.renderer.list(u, d, h); continue; case "html": k += this.renderer.html(p.text); continue; case "paragraph": k += this.renderer.paragraph(this.parseInline(p.tokens)); continue; case "text": for (u = p.tokens ? this.parseInline(p.tokens) : p.text; n + 1 < x && "text" === e[n + 1].type;)p = e[++n], u += "\n" + (p.tokens ? this.parseInline(p.tokens) : p.text); k += t ? this.renderer.paragraph(u) : u; continue; default: { const e = 'Token with "' + p.type + '" type was not found.'; if (this.options.silent) return void console.error(e); throw new Error(e) } }return k } parseInline(e, t) { t = t || this.renderer; let n, r, l, i = ""; const s = e.length; for (n = 0; n < s; n++)if (r = e[n], this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[r.type] && (l = this.options.extensions.renderers[r.type].call({ parser: this }, r), !1 !== l || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(r.type))) i += l || ""; else switch (r.type) { case "escape": case "text": i += t.text(r.text); break; case "html": i += t.html(r.text); break; case "link": i += t.link(r.href, r.title, this.parseInline(r.tokens, t)); break; case "image": i += t.image(r.href, r.title, r.text); break; case "strong": i += t.strong(this.parseInline(r.tokens, t)); break; case "em": i += t.em(this.parseInline(r.tokens, t)); break; case "codespan": i += t.codespan(r.text); break; case "br": i += t.br(); break; case "del": i += t.del(this.parseInline(r.tokens, t)); break; default: { const e = 'Token with "' + r.type + '" type was not found.'; if (this.options.silent) return void console.error(e); throw new Error(e) } }return i } } class Hs { constructor(e) { this.options = e || cs } static passThroughHooks = new Set(["preprocess", "postprocess"]); preprocess(e) { return e } postprocess(e) { return e } } function Bs(e, t) { return (n, r, l) => { "function" == typeof r && (l = r, r = null); const i = { ...r }, s = function (e, t, n) { return r => { if (r.message += "\nPlease report this to https://github.com/markedjs/marked.", e) { const e = "

    An error occurred:

    " + ms(r.message + "", !0) + "
    "; return t ? Promise.resolve(e) : n ? void n(null, e) : e } if (t) return Promise.reject(r); if (!n) throw r; n(r) } }((r = { ...Ws.defaults, ...i }).silent, r.async, l); if (null == n) return s(new Error("marked(): input parameter is undefined or null")); if ("string" != typeof n) return s(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(n) + ", string expected")); if (function (e) { e && e.sanitize && !e.silent && console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options") }(r), r.hooks && (r.hooks.options = r), l) { const i = r.highlight; let o; try { r.hooks && (n = r.hooks.preprocess(n)), o = e(n, r) } catch (e) { return s(e) } const a = function (e) { let n; if (!e) try { r.walkTokens && Ws.walkTokens(o, r.walkTokens), n = t(o, r), r.hooks && (n = r.hooks.postprocess(n)) } catch (t) { e = t } return r.highlight = i, e ? s(e) : l(null, n) }; if (!i || i.length < 3) return a(); if (delete r.highlight, !o.length) return a(); let c = 0; return Ws.walkTokens(o, (function (e) { "code" === e.type && (c++, setTimeout((() => { i(e.text, e.lang, (function (t, n) { if (t) return a(t); null != n && n !== e.text && (e.text = n, e.escaped = !0), c--, 0 === c && a() })) }), 0)) })), void (0 === c && a()) } if (r.async) return Promise.resolve(r.hooks ? r.hooks.preprocess(n) : n).then((t => e(t, r))).then((e => r.walkTokens ? Promise.all(Ws.walkTokens(e, r.walkTokens)).then((() => e)) : e)).then((e => t(e, r))).then((e => r.hooks ? r.hooks.postprocess(e) : e)).catch(s); try { r.hooks && (n = r.hooks.preprocess(n)); const l = e(n, r); r.walkTokens && Ws.walkTokens(l, r.walkTokens); let i = t(l, r); return r.hooks && (i = r.hooks.postprocess(i)), i } catch (e) { return s(e) } } } function Ws(e, t, n) { return Bs(Ms.lex, Ds.parse)(e, t, n) } Ws.options = Ws.setOptions = function (e) { var t; return Ws.defaults = { ...Ws.defaults, ...e }, t = Ws.defaults, cs = t, Ws }, Ws.getDefaults = as, Ws.defaults = cs, Ws.use = function (...e) { const t = Ws.defaults.extensions || { renderers: {}, childTokens: {} }; e.forEach((e => { const n = { ...e }; if (n.async = Ws.defaults.async || n.async || !1, e.extensions && (e.extensions.forEach((e => { if (!e.name) throw new Error("extension name required"); if (e.renderer) { const n = t.renderers[e.name]; t.renderers[e.name] = n ? function (...t) { let r = e.renderer.apply(this, t); return !1 === r && (r = n.apply(this, t)), r } : e.renderer } if (e.tokenizer) { if (!e.level || "block" !== e.level && "inline" !== e.level) throw new Error("extension level must be 'block' or 'inline'"); t[e.level] ? t[e.level].unshift(e.tokenizer) : t[e.level] = [e.tokenizer], e.start && ("block" === e.level ? t.startBlock ? t.startBlock.push(e.start) : t.startBlock = [e.start] : "inline" === e.level && (t.startInline ? t.startInline.push(e.start) : t.startInline = [e.start])) } e.childTokens && (t.childTokens[e.name] = e.childTokens) })), n.extensions = t), e.renderer) { const t = Ws.defaults.renderer || new Fs; for (const n in e.renderer) { const r = t[n]; t[n] = (...l) => { let i = e.renderer[n].apply(t, l); return !1 === i && (i = r.apply(t, l)), i } } n.renderer = t } if (e.tokenizer) { const t = Ws.defaults.tokenizer || new js; for (const n in e.tokenizer) { const r = t[n]; t[n] = (...l) => { let i = e.tokenizer[n].apply(t, l); return !1 === i && (i = r.apply(t, l)), i } } n.tokenizer = t } if (e.hooks) { const t = Ws.defaults.hooks || new Hs; for (const n in e.hooks) { const r = t[n]; Hs.passThroughHooks.has(n) ? t[n] = l => { if (Ws.defaults.async) return Promise.resolve(e.hooks[n].call(t, l)).then((e => r.call(t, e))); const i = e.hooks[n].call(t, l); return r.call(t, i) } : t[n] = (...l) => { let i = e.hooks[n].apply(t, l); return !1 === i && (i = r.apply(t, l)), i } } n.hooks = t } if (e.walkTokens) { const t = Ws.defaults.walkTokens; n.walkTokens = function (n) { let r = []; return r.push(e.walkTokens.call(this, n)), t && (r = r.concat(t.call(this, n))), r } } Ws.setOptions(n) })) }, Ws.walkTokens = function (e, t) { let n = []; for (const r of e) switch (n = n.concat(t.call(Ws, r)), r.type) { case "table": for (const e of r.header) n = n.concat(Ws.walkTokens(e.tokens, t)); for (const e of r.rows) for (const r of e) n = n.concat(Ws.walkTokens(r.tokens, t)); break; case "list": n = n.concat(Ws.walkTokens(r.items, t)); break; default: Ws.defaults.extensions && Ws.defaults.extensions.childTokens && Ws.defaults.extensions.childTokens[r.type] ? Ws.defaults.extensions.childTokens[r.type].forEach((function (e) { n = n.concat(Ws.walkTokens(r[e], t)) })) : r.tokens && (n = n.concat(Ws.walkTokens(r.tokens, t))) }return n }, Ws.parseInline = Bs(Ms.lexInline, Ds.parseInline), Ws.Parser = Ds, Ws.parser = Ds.parse, Ws.Renderer = Fs, Ws.TextRenderer = Ns, Ws.Lexer = Ms, Ws.lexer = Ms.lex, Ws.Tokenizer = js, Ws.Slugger = Vs, Ws.Hooks = Hs, Ws.parse = Ws; const qs = /\$.*?\$/, Zs = /^\$(.*?)\$/, Ks = /^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/, Gs = (e = "", t = {}) => e.replace(/:(.+?):/g, ((e, n) => t[n] ? `${n}` : e)), Qs = (e, { emojiMap: t, highlighter: n, texRenderer: r }) => { if (Ws.setOptions({ highlight: n || void 0, breaks: !0, smartLists: !0, smartypants: !0 }), r) { const e = (e => [{ name: "blockMath", level: "block", tokenizer(t) { const n = Ks.exec(t); if (null !== n) return { type: "html", raw: n[0], text: e(!0, n[1]) } } }, { name: "inlineMath", level: "inline", start(e) { const t = e.search(qs); return -1 !== t ? t : e.length }, tokenizer(t) { const n = Zs.exec(t); if (null !== n) return { type: "html", raw: n[0], text: e(!1, n[1]) } } }])(r); Ws.use({ extensions: e }) } return Ws.parse(Gs(e, t)) }, Js = e => e.dataset.path || e.getAttribute("id"), Xs = ({ serverURL: e, path: t = window.location.pathname, selector: n = ".waline-comment-count", lang: r = navigator.language }) => { const l = new AbortController, i = document.querySelectorAll(n); return i.length && (({ serverURL: e, lang: t, paths: n, signal: r }) => fetch(`${e}/comment?type=count&url=${encodeURIComponent(n.join(","))}&lang=${t}`, { signal: r }).then((e => e.json())).then((e => Array.isArray(e) ? e : [e])))({ serverURL: E(e), paths: Array.from(i).map((e => S(e.dataset.path || e.getAttribute("id") || t))), lang: r, signal: l.signal }).then((e => { i.forEach(((t, n) => { t.innerText = e[n].toString() })) })).catch(ls), l.abort.bind(l) }, Ys = ({ size: e }) => Cl("svg", { class: "wl-close-icon", viewBox: "0 0 1024 1024", width: e, height: e }, [Cl("path", { d: "M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z", fill: "currentColor" }), Cl("path", { d: "m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z", fill: "#888" })]), eo = () => Cl("svg", { viewBox: "0 0 1024 1024", width: "24", height: "24" }, Cl("path", { d: "m341.013 394.667 27.755 393.45h271.83l27.733-393.45h64.106l-28.01 397.952a64 64 0 0 1-63.83 59.498H368.768a64 64 0 0 1-63.83-59.52l-28.053-397.93h64.128zm139.307 19.818v298.667h-64V414.485h64zm117.013 0v298.667h-64V414.485h64zM181.333 288h640v64h-640v-64zm453.483-106.667v64h-256v-64h256z", fill: "red" })), to = () => Cl("svg", { viewBox: "0 0 1024 1024", width: "24", height: "24" }, Cl("path", { d: "M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z", fill: "currentColor" })), no = () => Cl("svg", { viewBox: "0 0 1024 1024", width: "24", height: "24" }, [Cl("path", { d: "M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z", fill: "currentColor" }), Cl("path", { d: "M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm462.4 379.2-3.2-3.2-177.6-177.6c-25.6-25.6-65.6-25.6-91.2 0l-80 80-36.8-36.8c-25.6-25.6-65.6-25.6-91.2 0L200 728c-4.8 6.4-8 14.4-8 24 0 17.6 14.4 32 32 32 9.6 0 16-3.2 22.4-9.6L380.8 640l134.4 134.4c6.4 6.4 14.4 9.6 24 9.6 17.6 0 32-14.4 32-32 0-9.6-4.8-17.6-9.6-24l-52.8-52.8 80-80L769.6 776c6.4 4.8 12.8 8 20.8 8 17.6 0 32-14.4 32-32 0-8-3.2-16-8-20.8z", fill: "currentColor" })]), ro = ({ active: e = !1 }) => Cl("svg", { viewBox: "0 0 1024 1024", width: "24", height: "24" }, [Cl("path", { d: "M850.654 323.804c-11.042-25.625-26.862-48.532-46.885-68.225-20.022-19.61-43.258-34.936-69.213-45.73-26.78-11.124-55.124-16.727-84.375-16.727-40.622 0-80.256 11.123-114.698 32.135A214.79 214.79 0 0 0 512 241.819a214.79 214.79 0 0 0-23.483-16.562c-34.442-21.012-74.076-32.135-114.698-32.135-29.25 0-57.595 5.603-84.375 16.727-25.872 10.711-49.19 26.12-69.213 45.73-20.105 19.693-35.843 42.6-46.885 68.225-11.453 26.615-17.303 54.877-17.303 83.963 0 27.439 5.603 56.03 16.727 85.117 9.31 24.307 22.659 49.52 39.715 74.981 27.027 40.293 64.188 82.316 110.33 124.915 76.465 70.615 152.189 119.394 155.402 121.371l19.528 12.525c8.652 5.52 19.776 5.52 28.427 0l19.529-12.525c3.213-2.06 78.854-50.756 155.401-121.371 46.143-42.6 83.304-84.622 110.33-124.915 17.057-25.46 30.487-50.674 39.716-74.981 11.124-29.087 16.727-57.678 16.727-85.117.082-29.086-5.768-57.348-17.221-83.963z" + (e ? "" : "M512 761.5S218.665 573.55 218.665 407.767c0-83.963 69.461-152.023 155.154-152.023 60.233 0 112.473 33.618 138.181 82.727 25.708-49.109 77.948-82.727 138.18-82.727 85.694 0 155.155 68.06 155.155 152.023C805.335 573.551 512 761.5 512 761.5z"), fill: e ? "red" : "currentColor" })]), lo = () => Cl("svg", { viewBox: "0 0 1024 1024", width: "24", height: "24" }, [Cl("path", { d: "M710.816 654.301c70.323-96.639 61.084-230.578-23.705-314.843-46.098-46.098-107.183-71.109-172.28-71.109-65.008 0-126.092 25.444-172.28 71.109-45.227 46.098-70.756 107.183-70.756 172.106 0 64.923 25.444 126.007 71.194 172.106 46.099 46.098 107.184 71.109 172.28 71.109 51.414 0 100.648-16.212 142.824-47.404l126.53 126.006c7.058 7.06 16.297 10.979 26.406 10.979 10.105 0 19.343-3.919 26.402-10.979 14.467-14.467 14.467-38.172 0-52.723L710.816 654.301zm-315.107-23.265c-65.88-65.88-65.88-172.54 0-238.42 32.069-32.07 74.245-49.149 119.471-49.149 45.227 0 87.407 17.603 119.472 49.149 65.88 65.879 65.88 172.539 0 238.42-63.612 63.178-175.242 63.178-238.943 0zm0 0", fill: "currentColor" }), Cl("path", { d: "M703.319 121.603H321.03c-109.8 0-199.469 89.146-199.469 199.38v382.034c0 109.796 89.236 199.38 199.469 199.38h207.397c20.653 0 37.384-16.645 37.384-37.299 0-20.649-16.731-37.296-37.384-37.296H321.03c-68.582 0-124.352-55.77-124.352-124.267V321.421c0-68.496 55.77-124.267 124.352-124.267h382.289c68.582 0 124.352 55.771 124.352 124.267V524.72c0 20.654 16.736 37.299 37.385 37.299 20.654 0 37.384-16.645 37.384-37.299V320.549c-.085-109.8-89.321-198.946-199.121-198.946zm0 0", fill: "currentColor" })]), io = () => Cl("svg", { width: "16", height: "16", ariaHidden: "true" }, Cl("path", { d: "M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z", fill: "currentColor" })), so = () => Cl("svg", { viewBox: "0 0 1024 1024", width: "24", height: "24" }, Cl("path", { d: "M810.667 213.333a64 64 0 0 1 64 64V704a64 64 0 0 1-64 64H478.336l-146.645 96.107a21.333 21.333 0 0 1-33.024-17.856V768h-85.334a64 64 0 0 1-64-64V277.333a64 64 0 0 1 64-64h597.334zm0 64H213.333V704h149.334v63.296L459.243 704h351.424V277.333zm-271.36 213.334v64h-176.64v-64h176.64zm122.026-128v64H362.667v-64h298.666z", fill: "currentColor" })), oo = () => Cl("svg", { viewBox: "0 0 1024 1024", width: "24", height: "24" }, Cl("path", { d: "M813.039 318.772L480.53 651.278H360.718V531.463L693.227 198.961C697.904 194.284 704.027 192 710.157 192C716.302 192 722.436 194.284 727.114 198.961L813.039 284.88C817.72 289.561 820 295.684 820 301.825C820 307.95 817.72 314.093 813.039 318.772ZM710.172 261.888L420.624 551.431V591.376H460.561L750.109 301.825L710.172 261.888ZM490.517 291.845H240.906V771.09H720.156V521.479C720.156 504.947 733.559 491.529 750.109 491.529C766.653 491.529 780.063 504.947 780.063 521.479V791.059C780.063 813.118 762.18 831 740.125 831H220.937C198.882 831 181 813.118 181 791.059V271.872C181 249.817 198.882 231.935 220.937 231.935H490.517C507.06 231.935 520.47 245.352 520.47 261.888C520.47 278.424 507.06 291.845 490.517 291.845Z", fill: "currentColor" })), ao = () => Cl("svg", { class: "verified-icon", viewBox: "0 0 1024 1024", width: "14", height: "14" }, Cl("path", { d: "m894.4 461.56-54.4-63.2c-10.4-12-18.8-34.4-18.8-50.4v-68c0-42.4-34.8-77.2-77.2-77.2h-68c-15.6 0-38.4-8.4-50.4-18.8l-63.2-54.4c-27.6-23.6-72.8-23.6-100.8 0l-62.8 54.8c-12 10-34.8 18.4-50.4 18.4h-69.2c-42.4 0-77.2 34.8-77.2 77.2v68.4c0 15.6-8.4 38-18.4 50l-54 63.6c-23.2 27.6-23.2 72.4 0 100l54 63.6c10 12 18.4 34.4 18.4 50v68.4c0 42.4 34.8 77.2 77.2 77.2h69.2c15.6 0 38.4 8.4 50.4 18.8l63.2 54.4c27.6 23.6 72.8 23.6 100.8 0l63.2-54.4c12-10.4 34.4-18.8 50.4-18.8h68c42.4 0 77.2-34.8 77.2-77.2v-68c0-15.6 8.4-38.4 18.8-50.4l54.4-63.2c23.2-27.6 23.2-73.2-.4-100.8zm-216-25.2-193.2 193.2a30 30 0 0 1-42.4 0l-96.8-96.8a30.16 30.16 0 0 1 0-42.4c11.6-11.6 30.8-11.6 42.4 0l75.6 75.6 172-172c11.6-11.6 30.8-11.6 42.4 0 11.6 11.6 11.6 30.8 0 42.4z", fill: "#27ae60" })), co = ({ size: e = 100 }) => Cl("svg", { width: e, height: e, viewBox: "0 0 100 100", preserveAspectRatio: "xMidYMid" }, Cl("circle", { cx: 50, cy: 50, fill: "none", stroke: "currentColor", strokeWidth: "4", r: "40", "stroke-dasharray": "85 30" }, Cl("animateTransform", { attributeName: "transform", type: "rotate", repeatCount: "indefinite", dur: "1s", values: "0 50 50;360 50 50", keyTimes: "0;1" }))), uo = () => Cl("svg", { width: 24, height: 24, fill: "currentcolor", viewBox: "0 0 24 24" }, [Cl("path", { style: "transform: translateY(0.5px)", d: "M18.968 10.5H15.968V11.484H17.984V12.984H15.968V15H14.468V9H18.968V10.5V10.5ZM8.984 9C9.26533 9 9.49967 9.09367 9.687 9.281C9.87433 9.46833 9.968 9.70267 9.968 9.984V10.5H6.499V13.5H8.468V12H9.968V14.016C9.968 14.2973 9.87433 14.5317 9.687 14.719C9.49967 14.9063 9.26533 15 8.984 15H5.984C5.70267 15 5.46833 14.9063 5.281 14.719C5.09367 14.5317 5 14.2973 5 14.016V9.985C5 9.70367 5.09367 9.46933 5.281 9.282C5.46833 9.09467 5.70267 9.001 5.984 9.001H8.984V9ZM11.468 9H12.968V15H11.468V9V9Z" }), Cl("path", { d: "M18.5 3H5.75C3.6875 3 2 4.6875 2 6.75V18C2 20.0625 3.6875 21.75 5.75 21.75H18.5C20.5625 21.75 22.25 20.0625 22.25 18V6.75C22.25 4.6875 20.5625 3 18.5 3ZM20.75 18C20.75 19.2375 19.7375 20.25 18.5 20.25H5.75C4.5125 20.25 3.5 19.2375 3.5 18V6.75C3.5 5.5125 4.5125 4.5 5.75 4.5H18.5C19.7375 4.5 20.75 5.5125 20.75 6.75V18Z" })]); let po = null; const ho = () => po || (po = Zi("WALINE_LIKE", [])); let fo = null; const go = () => fo ?? (fo = Zi("WALINE_REACTION", {})); var mo = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}, vo = {}, yo = {}, wo = {}, bo = mo && mo.__awaiter || function (e, t, n, r) { return new (n || (n = Promise))((function (l, i) { function s(e) { try { a(r.next(e)) } catch (e) { i(e) } } function o(e) { try { a(r.throw(e)) } catch (e) { i(e) } } function a(e) { var t; e.done ? l(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(s, o) } a((r = r.apply(e, t || [])).next()) })) }, ko = mo && mo.__generator || function (e, t) { var n, r, l, i, s = { label: 0, sent: function () { if (1 & l[0]) throw l[1]; return l[1] }, trys: [], ops: [] }; return i = { next: o(0), throw: o(1), return: o(2) }, "function" == typeof Symbol && (i[Symbol.iterator] = function () { return this }), i; function o(i) { return function (o) { return function (i) { if (n) throw new TypeError("Generator is already executing."); for (; s;)try { if (n = 1, r && (l = 2 & i[0] ? r.return : i[0] ? r.throw || ((l = r.return) && l.call(r), 0) : r.next) && !(l = l.call(r, i[1])).done) return l; switch (r = 0, l && (i = [2 & i[0], l.value]), i[0]) { case 0: case 1: l = i; break; case 4: return s.label++, { value: i[1], done: !1 }; case 5: s.label++, r = i[1], i = [0]; continue; case 7: i = s.ops.pop(), s.trys.pop(); continue; default: if (!(l = s.trys, (l = l.length > 0 && l[l.length - 1]) || 6 !== i[0] && 2 !== i[0])) { s = 0; continue } if (3 === i[0] && (!l || i[1] > l[0] && i[1] < l[3])) { s.label = i[1]; break } if (6 === i[0] && s.label < l[1]) { s.label = l[1], l = i; break } if (l && s.label < l[2]) { s.label = l[2], s.ops.push(i); break } l[2] && s.ops.pop(), s.trys.pop(); continue }i = t.call(e, s) } catch (e) { i = [6, e], r = 0 } finally { n = l = 0 } if (5 & i[0]) throw i[1]; return { value: i[0] ? i[1] : void 0, done: !0 } }([i, o]) } } }; Object.defineProperty(wo, "__esModule", { value: !0 }), wo.ReCaptchaInstance = void 0; var xo = function () { function e(e, t, n) { this.siteKey = e, this.recaptchaID = t, this.recaptcha = n, this.styleContainer = null } return e.prototype.execute = function (e) { return bo(this, void 0, void 0, (function () { return ko(this, (function (t) { return [2, this.recaptcha.enterprise ? this.recaptcha.enterprise.execute(this.recaptchaID, { action: e }) : this.recaptcha.execute(this.recaptchaID, { action: e })] })) })) }, e.prototype.getSiteKey = function () { return this.siteKey }, e.prototype.hideBadge = function () { null === this.styleContainer && (this.styleContainer = document.createElement("style"), this.styleContainer.innerHTML = ".grecaptcha-badge{visibility:hidden !important;}", document.head.appendChild(this.styleContainer)) }, e.prototype.showBadge = function () { null !== this.styleContainer && (document.head.removeChild(this.styleContainer), this.styleContainer = null) }, e }(); wo.ReCaptchaInstance = xo, Object.defineProperty(yo, "__esModule", { value: !0 }), yo.getInstance = yo.load = void 0; var _o, $o = wo; !function (e) { e[e.NOT_LOADED = 0] = "NOT_LOADED", e[e.LOADING = 1] = "LOADING", e[e.LOADED = 2] = "LOADED" }(_o || (_o = {})); var Co = function () { function e() { } return e.load = function (t, n) { if (void 0 === n && (n = {}), "undefined" == typeof document) return Promise.reject(new Error("This is a library for the browser!")); if (e.getLoadingState() === _o.LOADED) return e.instance.getSiteKey() === t ? Promise.resolve(e.instance) : Promise.reject(new Error("reCAPTCHA already loaded with different site key!")); if (e.getLoadingState() === _o.LOADING) return t !== e.instanceSiteKey ? Promise.reject(new Error("reCAPTCHA already loaded with different site key!")) : new Promise((function (t, n) { e.successfulLoadingConsumers.push((function (e) { return t(e) })), e.errorLoadingRunnable.push((function (e) { return n(e) })) })); e.instanceSiteKey = t, e.setLoadingState(_o.LOADING); var r = new e; return new Promise((function (l, i) { r.loadScript(t, n.useRecaptchaNet || !1, n.useEnterprise || !1, n.renderParameters ? n.renderParameters : {}, n.customUrl).then((function () { e.setLoadingState(_o.LOADED); var i = r.doExplicitRender(grecaptcha, t, n.explicitRenderParameters ? n.explicitRenderParameters : {}, n.useEnterprise || !1), s = new $o.ReCaptchaInstance(t, i, grecaptcha); e.successfulLoadingConsumers.forEach((function (e) { return e(s) })), e.successfulLoadingConsumers = [], n.autoHideBadge && s.hideBadge(), e.instance = s, l(s) })).catch((function (t) { e.errorLoadingRunnable.forEach((function (e) { return e(t) })), e.errorLoadingRunnable = [], i(t) })) })) }, e.getInstance = function () { return e.instance }, e.setLoadingState = function (t) { e.loadingState = t }, e.getLoadingState = function () { return null === e.loadingState ? _o.NOT_LOADED : e.loadingState }, e.prototype.loadScript = function (t, n, r, l, i) { var s = this; void 0 === n && (n = !1), void 0 === r && (r = !1), void 0 === l && (l = {}), void 0 === i && (i = ""); var o = document.createElement("script"); o.setAttribute("recaptcha-v3-script", ""); var a = "https://www.google.com/recaptcha/api.js"; n && (a = r ? "https://recaptcha.net/recaptcha/enterprise.js" : "https://recaptcha.net/recaptcha/api.js"), r && (a = "https://www.google.com/recaptcha/enterprise.js"), i && (a = i), l.render && (l.render = void 0); var c = this.buildQueryString(l); return o.src = a + "?render=explicit" + c, new Promise((function (t, n) { o.addEventListener("load", s.waitForScriptToLoad((function () { t(o) }), r), !1), o.onerror = function (t) { e.setLoadingState(_o.NOT_LOADED), n(t) }, document.head.appendChild(o) })) }, e.prototype.buildQueryString = function (e) { return Object.keys(e).length < 1 ? "" : "&" + Object.keys(e).filter((function (t) { return !!e[t] })).map((function (t) { return t + "=" + e[t] })).join("&") }, e.prototype.waitForScriptToLoad = function (t, n) { var r = this; return function () { void 0 === window.grecaptcha ? setTimeout((function () { r.waitForScriptToLoad(t, n) }), e.SCRIPT_LOAD_DELAY) : n ? window.grecaptcha.enterprise.ready((function () { t() })) : window.grecaptcha.ready((function () { t() })) } }, e.prototype.doExplicitRender = function (e, t, n, r) { var l = { sitekey: t, badge: n.badge, size: n.size, tabindex: n.tabindex }; return n.container ? r ? e.enterprise.render(n.container, l) : e.render(n.container, l) : r ? e.enterprise.render(l) : e.render(l) }, e.loadingState = null, e.instance = null, e.instanceSiteKey = null, e.successfulLoadingConsumers = [], e.errorLoadingRunnable = [], e.SCRIPT_LOAD_DELAY = 25, e }(); yo.load = Co.load, yo.getInstance = Co.getInstance, function (e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.ReCaptchaInstance = e.getInstance = e.load = void 0; var t = yo; Object.defineProperty(e, "load", { enumerable: !0, get: function () { return t.load } }), Object.defineProperty(e, "getInstance", { enumerable: !0, get: function () { return t.getInstance } }); var n = wo; Object.defineProperty(e, "ReCaptchaInstance", { enumerable: !0, get: function () { return n.ReCaptchaInstance } }) }(vo); const So = {}; let Ro = null; const Ao = () => Ro ?? (Ro = Zi("WALINE_USER", {})), Eo = { key: 0, class: "wl-reaction" }, Lo = ["textContent"], zo = { class: "wl-reaction-list" }, Io = ["onClick"], jo = { class: "wl-reaction-img" }, Oo = ["src", "alt"], To = ["textContent"], Uo = ["textContent"]; var Po = Zn({ __name: "ArticleReaction", setup(e, { expose: t }) { t(); const n = go(), r = Vn("config"), l = tn(-1), i = tn([]), s = $l((() => r.value.locale)), o = $l((() => r.value.reaction.length > 0)), a = $l((() => { const { reaction: e, path: t } = r.value; return e.map(((e, r) => ({ icon: e, desc: s.value[`reaction${r}`], active: n.value[t] === r }))) })); let c; return Jn((() => { Bn((() => [r.value.serverURL, r.value.path]), (() => { (async () => { if (o.value) { const { serverURL: e, lang: t, path: n, reaction: l } = r.value, s = new AbortController; c = s.abort.bind(s); const o = await _({ serverURL: e, lang: t, paths: [n], type: l.map(((e, t) => `reaction${t}`)), signal: s.signal }); if (Array.isArray(o) || "number" == typeof o) return; i.value = l.map(((e, t) => o[`reaction${t}`])) } })() }), { immediate: !0 }) })), Yn((() => c?.())), (e, t) => sn(a).length ? (qr(), Qr("div", Eo, [rl("div", { class: "wl-reaction-title", textContent: q(sn(s).reactionTitle) }, null, 8, Lo), rl("ul", zo, [(qr(!0), Qr(Nr, null, sr(sn(a), (({ active: e, icon: t, desc: s }, o) => (qr(), Qr("li", { key: o, class: V(["wl-reaction-item", { active: e }]), onClick: e => (async e => { if (-1 === l.value) { const { serverURL: t, lang: s, path: o } = r.value, a = n.value[o]; l.value = e, void 0 !== a && (await $({ serverURL: t, lang: s, path: o, type: `reaction${a}`, action: "desc" }), i.value[a] = Math.max(i.value[a] - 1, 0)), a !== e && (await $({ serverURL: t, lang: s, path: o, type: `reaction${e}` }), i.value[e] = (i.value[e] || 0) + 1), a === e ? delete n.value[o] : n.value[o] = e, l.value = -1 } })(o) }, [rl("div", jo, [rl("img", { src: t, alt: s }, null, 8, Oo), l.value === o ? (qr(), Jr(sn(co), { key: 0, class: "wl-reaction-loading" })) : (qr(), Qr("div", { key: 1, class: "wl-reaction-votes", textContent: q(i.value[o] || 0) }, null, 8, To))]), rl("div", { class: "wl-reaction-text", textContent: q(s) }, null, 8, Uo)], 10, Io)))), 128))])])) : ol("v-if", !0) } }), Mo = (e, t) => { const n = e.__vccOpts || e; for (const [e, r] of t) n[e] = r; return n }, Fo = Mo(Po, [["__file", "ArticleReaction.vue"]]), No = new Map; function Vo(e) { var t = No.get(e); t && t.destroy() } function Do(e) { var t = No.get(e); t && t.update() } var Ho = null; "undefined" == typeof window ? ((Ho = function (e) { return e }).destroy = function (e) { return e }, Ho.update = function (e) { return e }) : ((Ho = function (e, t) { return e && Array.prototype.forEach.call(e.length ? e : [e], (function (e) { return function (e) { if (e && e.nodeName && "TEXTAREA" === e.nodeName && !No.has(e)) { var t, n = null, r = window.getComputedStyle(e), l = (t = e.value, function () { s({ testForHeightReduction: "" === t || !e.value.startsWith(t), restoreTextAlign: null }), t = e.value }), i = function (t) { e.removeEventListener("autosize:destroy", i), e.removeEventListener("autosize:update", o), e.removeEventListener("input", l), window.removeEventListener("resize", o), Object.keys(t).forEach((function (n) { return e.style[n] = t[n] })), No.delete(e) }.bind(e, { height: e.style.height, resize: e.style.resize, textAlign: e.style.textAlign, overflowY: e.style.overflowY, overflowX: e.style.overflowX, wordWrap: e.style.wordWrap }); e.addEventListener("autosize:destroy", i), e.addEventListener("autosize:update", o), e.addEventListener("input", l), window.addEventListener("resize", o), e.style.overflowX = "hidden", e.style.wordWrap = "break-word", No.set(e, { destroy: i, update: o }), o() } function s(t) { var l, i, o = t.restoreTextAlign, a = void 0 === o ? null : o, c = t.testForHeightReduction, u = void 0 === c || c, p = r.overflowY; if (0 !== e.scrollHeight && ("vertical" === r.resize ? e.style.resize = "none" : "both" === r.resize && (e.style.resize = "horizontal"), u && (l = function (e) { for (var t = []; e && e.parentNode && e.parentNode instanceof Element;)e.parentNode.scrollTop && t.push([e.parentNode, e.parentNode.scrollTop]), e = e.parentNode; return function () { return t.forEach((function (e) { var t = e[0], n = e[1]; t.style.scrollBehavior = "auto", t.scrollTop = n, t.style.scrollBehavior = null })) } }(e), e.style.height = ""), i = "content-box" === r.boxSizing ? e.scrollHeight - (parseFloat(r.paddingTop) + parseFloat(r.paddingBottom)) : e.scrollHeight + parseFloat(r.borderTopWidth) + parseFloat(r.borderBottomWidth), "none" !== r.maxHeight && i > parseFloat(r.maxHeight) ? ("hidden" === r.overflowY && (e.style.overflow = "scroll"), i = parseFloat(r.maxHeight)) : "hidden" !== r.overflowY && (e.style.overflow = "hidden"), e.style.height = i + "px", a && (e.style.textAlign = a), l && l(), n !== i && (e.dispatchEvent(new Event("autosize:resized", { bubbles: !0 })), n = i), p !== r.overflow && !a)) { var d = r.textAlign; "hidden" === r.overflow && (e.style.textAlign = "start" === d ? "end" : "start"), s({ restoreTextAlign: d, testForHeightReduction: !0 }) } } function o() { s({ testForHeightReduction: !0, restoreTextAlign: null }) } }(e) })), e }).destroy = function (e) { return e && Array.prototype.forEach.call(e.length ? e : [e], Vo), e }, Ho.update = function (e) { return e && Array.prototype.forEach.call(e.length ? e : [e], Do), e }); var Bo = Ho; const Wo = ["data-index"], qo = ["src", "title", "onClick"]; var Zo = Zn({ __name: "ImageWall", props: { items: { default: () => [] }, columnWidth: { default: 300 }, gap: { default: 0 } }, emits: ["insert"], setup(e, { expose: t }) { const n = e; t(); let r = null; const l = tn(null), i = tn({}), s = tn([]), o = () => { const e = Math.floor((l.value.getBoundingClientRect().width + n.gap) / (n.columnWidth + n.gap)); return e > 0 ? e : 1 }, a = async e => { if (e >= n.items.length) return; await _n(); const t = Array.from(l.value?.children || []).reduce(((e, t) => t.getBoundingClientRect().height < e.getBoundingClientRect().height ? t : e)); s.value[Number(t.dataset.index)].push(e), await a(e + 1) }, c = async (e = !1) => { if (s.value.length === o() && !e) return; var t; s.value = (t = o(), new Array(t).fill(null).map((() => []))); const n = window.scrollY; await a(0), window.scrollTo({ top: n }) }, u = e => { i.value[e.target.src] = !0 }; return Jn((() => { c(!0), r = new ResizeObserver((() => { c() })), r.observe(l.value), Bn((() => [n.items]), (() => { i.value = {}, c(!0) })), Bn((() => [n.columnWidth, n.gap]), (() => { c() })) })), Xn((() => r.unobserve(l.value))), (t, n) => (qr(), Qr("div", { ref_key: "wall", ref: l, class: "wl-gallery", style: U({ gap: `${e.gap}px` }) }, [(qr(!0), Qr(Nr, null, sr(s.value, ((n, r) => (qr(), Qr("div", { key: r, class: "wl-gallery-column", "data-index": r, style: U({ gap: `${e.gap}px` }) }, [(qr(!0), Qr(Nr, null, sr(n, (n => (qr(), Qr(Nr, { key: n }, [i.value[e.items[n].src] ? ol("v-if", !0) : (qr(), Jr(sn(co), { key: 0, size: 36, style: { margin: "20px auto" } })), rl("img", { class: "wl-gallery-item", src: e.items[n].src, title: e.items[n].title, loading: "lazy", onLoad: u, onClick: r => t.$emit("insert", `![](${e.items[n].src})`) }, null, 40, qo)], 64)))), 128))], 12, Wo)))), 128))], 4)) } }), Ko = Mo(Zo, [["__file", "ImageWall.vue"]]); const Go = { class: "wl-comment" }, Qo = { key: 0, class: "wl-login-info" }, Jo = { class: "wl-avatar" }, Xo = ["title"], Yo = ["title"], ea = ["src"], ta = ["title", "textContent"], na = { class: "wl-panel" }, ra = ["for", "textContent"], la = ["id", "onUpdate:modelValue", "name", "type"], ia = ["placeholder"], sa = { class: "wl-preview" }, oa = rl("hr", null, null, -1), aa = ["innerHTML"], ca = { class: "wl-footer" }, ua = { class: "wl-actions" }, pa = { href: "https://guides.github.com/features/mastering-markdown/", title: "Markdown Guide", "aria-label": "Markdown is supported", class: "wl-action", target: "_blank", rel: "noopener noreferrer" }, da = ["title"], ha = ["title"], fa = ["title"], ga = ["title"], ma = { class: "wl-info" }, va = rl("div", { class: "wl-captcha-container" }, null, -1), ya = { class: "wl-text-number" }, wa = { key: 0 }, ba = ["textContent"], ka = ["textContent"], xa = ["disabled"], _a = ["placeholder"], $a = { key: 1, class: "wl-loading" }, Ca = { key: 0, class: "wl-tab-wrapper" }, Sa = ["title", "onClick"], Ra = ["src", "alt"], Aa = { key: 0, class: "wl-tabs" }, Ea = ["onClick"], La = ["src", "alt", "title"], za = ["title"]; var Ia = Zn({ __name: "CommentBox", props: { edit: { default: null }, rootId: { default: "" }, replyId: { default: "" }, replyUser: { default: "" } }, emits: ["log", "cancelEdit", "cancelReply", "submit"], setup(e, { expose: t, emit: n }) { const r = e; t(); const l = Vn("config"), i = Zi("WALINE_COMMENT_BOX_EDITOR", ""), s = Zi("WALINE_USER_META", { nick: "", mail: "", link: "" }), o = Ao(), a = tn({}), c = tn(null), u = tn(null), p = tn(null), d = tn(null), h = tn(null), f = tn(null), g = tn(null), m = tn({ tabs: [], map: {} }), v = tn(0), y = tn(!1), w = tn(!1), b = tn(!1), k = tn(""), x = tn(0), _ = Vt({ loading: !0, list: [] }), $ = tn(0), S = tn(!1), A = tn(""), E = tn(!1), L = tn(!1), z = $l((() => l.value.locale)), I = $l((() => Boolean(o.value?.token))), j = $l((() => !1 !== l.value.imageUploader)), O = e => { const t = c.value, n = t.selectionStart, r = t.selectionEnd || 0, l = t.scrollTop; i.value = t.value.substring(0, n) + e + t.value.substring(r, t.value.length), t.focus(), t.selectionStart = n + e.length, t.selectionEnd = n + e.length, t.scrollTop = l }, T = e => { const t = e.key; (e.ctrlKey || e.metaKey) && "Enter" === t && N() }, U = e => { const t = `![${l.value.locale.uploading} ${e.name}]()`; return O(t), Promise.resolve().then((() => l.value.imageUploader(e))).then((n => { i.value = i.value.replace(t, `\r\n![${e.name}](${n})`) })).catch((e => { alert(e.message), i.value = i.value.replace(t, "") })) }, P = e => { if (e.dataTransfer?.items) { const t = os(e.dataTransfer.items); t && j.value && (U(t), e.preventDefault()) } }, M = e => { if (e.clipboardData) { const t = os(e.clipboardData.items); t && j.value && U(t) } }, F = () => { const e = u.value; e.files && j.value && U(e.files[0]).then((() => { e.value = "" })) }, N = async () => { const { serverURL: e, lang: t, login: u, wordLimit: p, requiredMeta: d, recaptchaV3Key: h, turnstileKey: f } = l.value, g = await (async () => { if (!navigator) return ""; const { userAgentData: e } = navigator; let t = navigator.userAgent; if (!e || "Windows" !== e.platform) return t; const { platformVersion: n } = await e.getHighEntropyValues(["platformVersion"]); return n ? (parseInt(n.split(".")[0]) >= 13 && (t = t.replace("Windows NT 10.0", "Windows NT 11.0")), t) : t })(), v = { comment: A.value, nick: s.value.nick, mail: s.value.mail, link: s.value.link, url: l.value.path, ua: g }; if (o.value?.token) v.nick = o.value.display_name, v.mail = o.value.email, v.link = o.value.url; else { if ("force" === u) return; if (d.indexOf("nick") > -1 && !v.nick) return a.value.nick?.focus(), alert(z.value.nickError); if (d.indexOf("mail") > -1 && !v.mail || v.mail && !/^\w(?:[\w._-]*\w)?@(?:\w(?:[\w-]*\w)?\.)*\w+$/.exec(v.mail)) return a.value.mail?.focus(), alert(z.value.mailError); v.nick || (v.nick = z.value.anonymous) } if (v.comment) { if (!S.value) return alert(z.value.wordHint.replace("$0", p[0].toString()).replace("$1", p[1].toString()).replace("$2", x.value.toString())); v.comment = Gs(v.comment, m.value.map), r.replyId && r.rootId && (v.pid = r.replyId, v.rid = r.rootId, v.at = r.replyUser), E.value = !0; try { h && (v.recaptchaV3 = await (e => { const t = So[e] ?? (So[e] = vo.load(e, { useRecaptchaNet: !0, autoHideBadge: !0 })); return { execute: e => t.then((t => t.execute(e))) } })(h).execute("social")), f && (v.turnstile = await (y = f, { execute: e => new Promise((t => { es("https://challenges.cloudflare.com/turnstile/v0/api.js", (() => { const n = window?.turnstile, r = { sitekey: y, action: e, size: "compact", callback(e) { t(e) } }; n?.ready((() => n?.render(".wl-captcha-container", r))) })) })) }).execute("social")); const l = { serverURL: e, lang: t, token: o.value?.token, comment: v }, s = await (r.edit ? C({ objectId: r.edit.objectId, ...l }) : (({ serverURL: e, lang: t, token: n, comment: r }) => { const l = { "Content-Type": "application/json" }; return n && (l.Authorization = `Bearer ${n}`), fetch(`${e}/comment?lang=${t}`, { method: "POST", headers: l, body: JSON.stringify(r) }).then((e => e.json())) })(l)); if (E.value = !1, s.errmsg) return alert(s.errmsg); n("submit", s.data), i.value = "", k.value = "", r.replyId && n("cancelReply"), r.edit?.objectId && n("cancelEdit") } catch (e) { E.value = !1, alert(e.message) } var y } else c.value?.focus() }, D = e => { e.preventDefault(); const { lang: t, serverURL: r } = l.value; (({ lang: e, serverURL: t }) => { const n = (window.innerWidth - 450) / 2, r = (window.innerHeight - 450) / 2, l = window.open(`${t}/ui/login?lng=${encodeURIComponent(e)}`, "_blank", `width=450,height=450,left=${n},top=${r},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`); return l?.postMessage({ type: "TOKEN", data: null }, "*"), new Promise((e => { const t = ({ data: n }) => { n && "object" == typeof n && "userInfo" === n.type && n.data.token && (l?.close(), window.removeEventListener("message", t), e(n.data)) }; window.addEventListener("message", t) })) })({ serverURL: r, lang: t }).then((e => { o.value = e, (e.remember ? localStorage : sessionStorage).setItem("WALINE_USER", JSON.stringify(e)), n("log") })) }, H = () => { o.value = {}, localStorage.setItem("WALINE_USER", "null"), sessionStorage.setItem("WALINE_USER", "null"), n("log") }, B = e => { e.preventDefault(); const { lang: t, serverURL: n } = l.value, r = (window.innerWidth - 800) / 2, i = (window.innerHeight - 800) / 2, s = new URLSearchParams({ lng: t, token: o.value.token }), a = window.open(`${n}/ui/profile?${s.toString()}`, "_blank", `width=800,height=800,left=${r},top=${i},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`); a?.postMessage({ type: "TOKEN", data: o.value.token }, "*") }, W = e => { p.value?.contains(e.target) || d.value?.contains(e.target) || (y.value = !1), h.value?.contains(e.target) || f.value?.contains(e.target) || (w.value = !1) }, Z = async e => { const { scrollTop: t, clientHeight: n, scrollHeight: r } = e.target, i = (n + t) / r, s = l.value.search, o = g.value?.value || ""; if (i < .9 || _.loading || L.value) return; _.loading = !0; (s.more && _.list.length ? await s.more(o, _.list.length) : await s.search(o)).length ? _.list = [..._.list, ...s.more && _.list.length ? await s.more(o, _.list.length) : await s.search(o)] : L.value = !0, _.loading = !1, setTimeout((() => { e.target.scrollTop = t }), 50) }, K = fi((e => { _.list = [], L.value = !1, Z(e) }), 300); Bn([l, x], (([e, t]) => { const { wordLimit: n } = e; n ? t < n[0] && 0 !== n[0] ? ($.value = n[0], S.value = !1) : t > n[1] ? ($.value = n[1], S.value = !1) : ($.value = n[1], S.value = !0) : ($.value = 0, S.value = !0) }), { immediate: !0 }); const G = ({ data: e }) => { e && "profile" === e.type && (o.value = { ...o.value, ...e.data }, [localStorage, sessionStorage].filter((e => e.getItem("WALINE_USER"))).forEach((e => e.setItem("WALINE_USER", JSON.stringify(o))))) }; return Jn((() => { document.body.addEventListener("click", W), window.addEventListener("message", G), r.edit?.objectId && (i.value = r.edit.orig), Bn(w, (async e => { if (!e) return; const t = l.value.search; g.value && (g.value.value = ""), _.loading = !0, _.list = t.default ? await t.default() : await t.search(""), _.loading = !1 })), Bn((() => i.value), (e => { const { highlighter: t, texRenderer: n } = l.value; A.value = e, k.value = Qs(e, { emojiMap: m.value.map, highlighter: t, texRenderer: n }), x.value = (e => ((e => e.match(/[\w\d\s,.\u00C0-\u024F\u0400-\u04FF]+/giu))(e)?.reduce(((e, t) => e + ("" === t.trim() ? 0 : t.trim().split(/\s+/u).length)), 0) || 0) + ((e => e.match(/[\u4E00-\u9FD5]/gu))(e)?.length || 0))(e), e ? Bo(c.value) : Bo.destroy(c.value) }), { immediate: !0 }), Bn((() => l.value.emoji), (e => { return (t = e, Promise.all(t.map((e => "string" == typeof e ? ns(R(e)) : Promise.resolve(e)))).then((e => { const t = { tabs: [], map: {} }; return e.forEach((e => { const { name: n, folder: r, icon: l, prefix: i, type: s, items: o } = e; t.tabs.push({ name: n, icon: rs(l, r, i, s), items: o.map((e => { const n = `${i || ""}${e}`; return t.map[n] = rs(e, r, i, s), n })) }) })), t }))).then((e => { m.value = e })); var t }), { immediate: !0 }) })), Yn((() => { document.body.removeEventListener("click", W), window.removeEventListener("message", G) })), (t, n) => (qr(), Qr("div", Go, ["disable" !== sn(l).login && sn(I) && !e.edit?.objectId ? (qr(), Qr("div", Qo, [rl("div", Jo, [rl("button", { type: "submit", class: "wl-logout-btn", title: sn(z).logout, onClick: H }, [ll(sn(Ys), { size: 14 })], 8, Xo), rl("a", { href: "#", class: "wl-login-nick", "aria-label": "Profile", title: sn(z).profile, onClick: B }, [rl("img", { src: sn(o).avatar, alt: "avatar" }, null, 8, ea)], 8, Yo)]), rl("a", { href: "#", class: "wl-login-nick", "aria-label": "Profile", title: sn(z).profile, onClick: B, textContent: q(sn(o).display_name) }, null, 8, ta)])) : ol("v-if", !0), rl("div", na, ["force" !== sn(l).login && sn(l).meta.length && !sn(I) ? (qr(), Qr("div", { key: 0, class: V(["wl-header", `item${sn(l).meta.length}`]) }, [(qr(!0), Qr(Nr, null, sr(sn(l).meta, (e => (qr(), Qr("div", { key: e, class: "wl-header-item" }, [rl("label", { for: `wl-${e}`, textContent: q(sn(z)[e] + (sn(l).requiredMeta.includes(e) || !sn(l).requiredMeta.length ? "" : `(${sn(z).optional})`)) }, null, 8, ra), er(rl("input", { id: `wl-${e}`, ref_for: !0, ref: t => { t && (a.value[e] = t) }, "onUpdate:modelValue": t => sn(s)[e] = t, class: V(["wl-input", `wl-${e}`]), name: e, type: "mail" === e ? "email" : "text" }, null, 10, la), [[ti, sn(s)[e]]])])))), 128))], 2)) : ol("v-if", !0), er(rl("textarea", { id: "wl-edit", ref_key: "editorRef", ref: c, "onUpdate:modelValue": n[0] || (n[0] = e => en(i) ? i.value = e : null), class: "wl-editor", placeholder: e.replyUser ? `@${e.replyUser}` : sn(z).placeholder, onKeydown: T, onDrop: P, onPaste: M }, null, 40, ia), [[Zl, sn(i)]]), er(rl("div", sa, [oa, rl("h4", null, q(sn(z).preview) + ":", 1), rl("div", { class: "wl-content", innerHTML: k.value }, null, 8, aa)], 512), [[ri, b.value]]), rl("div", ca, [rl("div", ua, [rl("a", pa, [ll(sn(io))]), er(rl("button", { ref_key: "emojiButtonRef", ref: p, type: "button", class: V(["wl-action", { active: y.value }]), title: sn(z).emoji, onClick: n[1] || (n[1] = e => y.value = !y.value) }, [ll(sn(to))], 10, da), [[ri, m.value.tabs.length]]), sn(l).search ? (qr(), Qr("button", { key: 0, ref_key: "gifButtonRef", ref: h, type: "button", class: V(["wl-action", { active: w.value }]), title: sn(z).gif, onClick: n[2] || (n[2] = e => w.value = !w.value) }, [ll(sn(uo))], 10, ha)) : ol("v-if", !0), rl("input", { id: "wl-image-upload", ref_key: "imageUploadRef", ref: u, class: "upload", type: "file", accept: ".png,.jpg,.jpeg,.webp,.bmp,.gif", onChange: F }, null, 544), sn(j) ? (qr(), Qr("label", { key: 1, for: "wl-image-upload", class: "wl-action", title: sn(z).uploadImage }, [ll(sn(no))], 8, fa)) : ol("v-if", !0), rl("button", { type: "button", class: V(["wl-action", { active: b.value }]), title: sn(z).preview, onClick: n[3] || (n[3] = e => b.value = !b.value) }, [ll(sn(lo))], 10, ga)]), rl("div", ma, [va, rl("div", ya, [sl(q(x.value) + " ", 1), sn(l).wordLimit ? (qr(), Qr("span", wa, [sl(" / "), rl("span", { class: V({ illegal: !S.value }), textContent: q($.value) }, null, 10, ba)])) : ol("v-if", !0), sl(" " + q(sn(z).word), 1)]), "disable" === sn(l).login || sn(I) ? ol("v-if", !0) : (qr(), Qr("button", { key: 0, type: "button", class: "wl-btn", onClick: D, textContent: q(sn(z).login) }, null, 8, ka)), "force" !== sn(l).login || sn(I) ? (qr(), Qr("button", { key: 1, type: "submit", class: "primary wl-btn", title: "Cmd|Ctrl + Enter", disabled: E.value, onClick: N }, [E.value ? (qr(), Jr(sn(co), { key: 0, size: 16 })) : (qr(), Qr(Nr, { key: 1 }, [sl(q(sn(z).submit), 1)], 64))], 8, xa)) : ol("v-if", !0)]), rl("div", { ref_key: "gifPopupRef", ref: f, class: V(["wl-gif-popup", { display: w.value }]) }, [rl("input", { ref_key: "gifSearchInputRef", ref: g, type: "text", placeholder: sn(z).gifSearchPlaceholder, onInput: n[4] || (n[4] = (...e) => sn(K) && sn(K)(...e)) }, null, 40, _a), _.list.length ? (qr(), Jr(Ko, { key: 0, items: _.list, "column-width": 200, gap: 6, onInsert: n[5] || (n[5] = e => O(e)), onScroll: Z }, null, 8, ["items"])) : ol("v-if", !0), _.loading ? (qr(), Qr("div", $a, [ll(sn(co), { size: 30 })])) : ol("v-if", !0)], 2), rl("div", { ref_key: "emojiPopupRef", ref: d, class: V(["wl-emoji-popup", { display: y.value }]) }, [(qr(!0), Qr(Nr, null, sr(m.value.tabs, ((e, t) => (qr(), Qr(Nr, { key: e.name }, [t === v.value ? (qr(), Qr("div", Ca, [(qr(!0), Qr(Nr, null, sr(e.items, (e => (qr(), Qr("button", { key: e, type: "button", title: e, onClick: t => O(`:${e}:`) }, [y.value ? (qr(), Qr("img", { key: 0, class: "wl-emoji", src: m.value.map[e], alt: e, loading: "lazy", referrerPolicy: "no-referrer" }, null, 8, Ra)) : ol("v-if", !0)], 8, Sa)))), 128))])) : ol("v-if", !0)], 64)))), 128)), m.value.tabs.length > 1 ? (qr(), Qr("div", Aa, [(qr(!0), Qr(Nr, null, sr(m.value.tabs, ((e, t) => (qr(), Qr("button", { key: e.name, type: "button", class: V(["wl-tab", { active: v.value === t }]), onClick: e => v.value = t }, [rl("img", { class: "wl-emoji", src: e.icon, alt: e.name, title: e.name, loading: "lazy", referrerPolicy: "no-referrer" }, null, 8, La)], 10, Ea)))), 128))])) : ol("v-if", !0)], 2)])]), e.replyId || e.edit?.objectId ? (qr(), Qr("button", { key: 1, type: "button", class: "wl-close", title: sn(z).cancelReply, onClick: n[6] || (n[6] = n => t.$emit(e.replyId ? "cancelReply" : "cancelEdit")) }, [ll(sn(Ys), { size: 24 })], 8, za)) : ol("v-if", !0)])) } }), ja = Mo(Ia, [["__file", "CommentBox.vue"]]); const Oa = ["id"], Ta = { class: "wl-user", "aria-hidden": "true" }, Ua = ["src"], Pa = { class: "wl-card" }, Ma = { class: "wl-head" }, Fa = ["href"], Na = { key: 1, class: "wl-nick" }, Va = ["textContent"], Da = ["textContent"], Ha = ["textContent"], Ba = ["textContent"], Wa = ["textContent"], qa = { class: "wl-comment-actions" }, Za = ["title"], Ka = ["textContent"], Ga = ["title"], Qa = { class: "wl-meta", "aria-hidden": "true" }, Ja = ["data-value", "textContent"], Xa = ["data-value", "textContent"], Ya = ["data-value", "textContent"], ec = ["innerHTML"], tc = { key: 1, class: "wl-admin-actions" }, nc = { class: "wl-comment-status" }, rc = ["disabled", "onClick", "textContent"], lc = { key: 3, class: "wl-quote" }; var ic = Mo(Zn({ __name: "CommentCard", props: { comment: null, edit: { default: null }, rootId: null, reply: { default: null } }, emits: ["log", "submit", "delete", "edit", "like", "status", "sticky", "reply"], setup(e) { const t = e, n = ["approved", "waiting", "spam"], r = Vn("config"), l = ho(), i = Yi(), s = Ao(), o = $l((() => r.value.locale)), a = $l((() => { const { link: e } = t.comment; return e ? A(e) ? e : `https://${e}` : "" })), c = $l((() => l.value.includes(t.comment.objectId))), u = $l((() => O(t.comment.insertedAt, i.value, o.value))), p = $l((() => "administrator" === s.value.type)), d = $l((() => t.comment.user_id && s.value.objectId === t.comment.user_id)), h = $l((() => t.comment.objectId === t.reply?.objectId)), f = $l((() => t.comment.objectId === t.edit?.objectId)); return (t, r) => { const l = rr("CommentCard", !0); return qr(), Qr("div", { id: e.comment.objectId, class: "wl-card-item" }, [rl("div", Ta, [e.comment.avatar ? (qr(), Qr("img", { key: 0, src: e.comment.avatar }, null, 8, Ua)) : ol("v-if", !0), e.comment.type ? (qr(), Jr(sn(ao), { key: 1 })) : ol("v-if", !0)]), rl("div", Pa, [rl("div", Ma, [sn(a) ? (qr(), Qr("a", { key: 0, class: "wl-nick", href: sn(a), target: "_blank", rel: "nofollow noopener noreferrer" }, q(e.comment.nick), 9, Fa)) : (qr(), Qr("span", Na, q(e.comment.nick), 1)), "administrator" === e.comment.type ? (qr(), Qr("span", { key: 2, class: "wl-badge", textContent: q(sn(o).admin) }, null, 8, Va)) : ol("v-if", !0), e.comment.label ? (qr(), Qr("span", { key: 3, class: "wl-badge", textContent: q(e.comment.label) }, null, 8, Da)) : ol("v-if", !0), e.comment.sticky ? (qr(), Qr("span", { key: 4, class: "wl-badge", textContent: q(sn(o).sticky) }, null, 8, Ha)) : ol("v-if", !0), void 0 !== e.comment.level && e.comment.level >= 0 ? (qr(), Qr("span", { key: 5, class: V(`wl-badge level${e.comment.level}`), textContent: q(sn(o)[`level${e.comment.level}`] || `Level ${e.comment.level}`) }, null, 10, Ba)) : ol("v-if", !0), rl("span", { class: "wl-time", textContent: q(sn(u)) }, null, 8, Wa), rl("div", qa, [sn(p) || sn(d) ? (qr(), Qr("button", { key: 0, type: "button", class: "wl-edit", onClick: r[0] || (r[0] = () => t.$emit("edit", e.comment)) }, [ll(sn(oo))])) : ol("v-if", !0), sn(p) || sn(d) ? (qr(), Qr("button", { key: 1, type: "button", class: "wl-delete", onClick: r[1] || (r[1] = n => t.$emit("delete", e.comment)) }, [ll(sn(eo))])) : ol("v-if", !0), rl("button", { type: "button", class: "wl-like", title: sn(c) ? sn(o).cancelLike : sn(o).like, onClick: r[2] || (r[2] = n => t.$emit("like", e.comment)) }, [ll(sn(ro), { active: sn(c) }, null, 8, ["active"]), "like" in e.comment ? (qr(), Qr("span", { key: 0, textContent: q(e.comment.like) }, null, 8, Ka)) : ol("v-if", !0)], 8, Za), rl("button", { type: "button", class: V(["wl-reply", { active: sn(h) }]), title: sn(h) ? sn(o).cancelReply : sn(o).reply, onClick: r[3] || (r[3] = n => t.$emit("reply", sn(h) ? null : e.comment)) }, [ll(sn(so))], 10, Ga)])]), rl("div", Qa, [e.comment.addr ? (qr(), Qr("span", { key: 0, class: "wl-addr", "data-value": e.comment.addr, textContent: q(e.comment.addr) }, null, 8, Ja)) : ol("v-if", !0), e.comment.browser ? (qr(), Qr("span", { key: 1, class: "wl-browser", "data-value": e.comment.browser, textContent: q(e.comment.browser) }, null, 8, Xa)) : ol("v-if", !0), e.comment.os ? (qr(), Qr("span", { key: 2, class: "wl-os", "data-value": e.comment.os, textContent: q(e.comment.os) }, null, 8, Ya)) : ol("v-if", !0)]), sn(f) ? ol("v-if", !0) : (qr(), Qr("div", { key: 0, class: "wl-content", innerHTML: e.comment.comment }, null, 8, ec)), sn(p) && !sn(f) ? (qr(), Qr("div", tc, [rl("span", nc, [(qr(), Qr(Nr, null, sr(n, (n => rl("button", { key: n, type: "submit", class: V(`wl-btn wl-${n}`), disabled: e.comment.status === n, onClick: r => t.$emit("status", { status: n, comment: e.comment }), textContent: q(sn(o)[n]) }, null, 10, rc))), 64))]), sn(p) && !e.comment.rid ? (qr(), Qr("button", { key: 0, type: "submit", class: "wl-btn wl-sticky", onClick: r[4] || (r[4] = n => t.$emit("sticky", e.comment)) }, q(e.comment.sticky ? sn(o).unsticky : sn(o).sticky), 1)) : ol("v-if", !0)])) : ol("v-if", !0), sn(h) || sn(f) ? (qr(), Qr("div", { key: 2, class: V({ "wl-reply-wrapper": sn(h), "wl-edit-wrapper": sn(f) }) }, [ll(ja, { edit: e.edit, "reply-id": e.reply?.objectId, "reply-user": e.comment.nick, "root-id": e.rootId, onLog: r[5] || (r[5] = e => t.$emit("log")), onCancelReply: r[6] || (r[6] = e => t.$emit("reply", null)), onCancelEdit: r[7] || (r[7] = e => t.$emit("edit", null)), onSubmit: r[8] || (r[8] = e => t.$emit("submit", e)) }, null, 8, ["edit", "reply-id", "reply-user", "root-id"])], 2)) : ol("v-if", !0), e.comment.children ? (qr(), Qr("div", lc, [(qr(!0), Qr(Nr, null, sr(e.comment.children, (n => (qr(), Jr(l, { key: n.objectId, comment: n, reply: e.reply, edit: e.edit, "root-id": e.rootId, onLog: r[9] || (r[9] = e => t.$emit("log")), onDelete: r[10] || (r[10] = e => t.$emit("delete", e)), onEdit: r[11] || (r[11] = e => t.$emit("edit", e)), onLike: r[12] || (r[12] = e => t.$emit("like", e)), onReply: r[13] || (r[13] = e => t.$emit("reply", e)), onStatus: r[14] || (r[14] = e => t.$emit("status", e)), onSticky: r[15] || (r[15] = e => t.$emit("sticky", e)), onSubmit: r[16] || (r[16] = e => t.$emit("submit", e)) }, null, 8, ["comment", "reply", "edit", "root-id"])))), 128))])) : ol("v-if", !0)])], 8, Oa) } } }), [["__file", "CommentCard.vue"]]); const sc = "2.15.2", oc = { "data-waline": "" }, ac = { class: "wl-meta-head" }, cc = { class: "wl-count" }, uc = ["textContent"], pc = { class: "wl-sort" }, dc = ["onClick"], hc = { class: "wl-cards" }, fc = { key: 1, class: "wl-operation" }, gc = ["textContent"], mc = { key: 0, class: "wl-loading" }, vc = ["textContent"], yc = { key: 2, class: "wl-operation" }, wc = ["textContent"], bc = { key: 3, class: "wl-power" }, kc = rl("a", { href: "https://github.com/walinejs/waline", target: "_blank", rel: "noopener noreferrer" }, " Waline ", -1); var xc = Zn({ __name: "WalineComment", props: ["serverURL", "path", "meta", "requiredMeta", "dark", "commentSorting", "lang", "locale", "pageSize", "wordLimit", "emoji", "login", "highlighter", "texRenderer", "imageUploader", "search", "copyright", "recaptchaV3Key", "turnstileKey", "reaction"], setup(e) { const a = e, c = { latest: "insertedAt_desc", oldest: "insertedAt_asc", hottest: "like_desc" }, u = Object.keys(c), d = Ao(), h = ho(), f = tn("loading"), g = tn(0), m = tn(1), v = tn(0), y = $l((() => (({ serverURL: e, path: a = location.pathname, lang: c = ("undefined" == typeof navigator ? "en-US" : navigator.language), locale: u, emoji: d = n, meta: h = ["nick", "mail", "link"], requiredMeta: f = [], dark: g = !1, pageSize: m = 10, wordLimit: v, imageUploader: y, highlighter: w, texRenderer: k, copyright: x = !0, login: _ = "enable", search: $, reaction: C, recaptchaV3Key: R = "", turnstileKey: A = "", commentSorting: I = "latest", ...j }) => ({ serverURL: E(e), path: S(a), locale: { ...b[c] || b[r], ..."object" == typeof u ? u : {} }, wordLimit: L(v), meta: t(h), requiredMeta: t(f), imageUploader: z(y, i), highlighter: z(w, p), texRenderer: z(k, s), lang: Object.keys(b).includes(c) ? c : "en-US", dark: g, emoji: "boolean" == typeof d ? d ? n : [] : d, pageSize: m, login: _, copyright: x, search: !1 !== $ && ("object" == typeof $ ? $ : o(c)), recaptchaV3Key: R, turnstileKey: A, reaction: Array.isArray(C) ? C : !0 === C ? l : [], commentSorting: I, ...j }))(a))), w = tn(y.value.commentSorting), k = tn([]), _ = tn(null), $ = tn(null), R = $l((() => { return "string" == typeof (e = y.value.dark) ? "auto" === e ? `@media(prefers-color-scheme:dark){body${I}}` : `${e}${I}` : !0 === e ? `:root${I}` : ""; var e })), A = $l((() => y.value.locale)); let j; !function (e, t = {}) { const n = tn(!1), { document: r = ji, immediate: l = !0, manual: i = !1, id: s = "vueuse_styletag_" + ++ts } = t, o = tn(e); let a = () => { }; const c = () => { if (!r) return; const e = r.getElementById(s) || r.createElement("style"); e.isConnected || (e.type = "text/css", e.id = s, t.media && (e.media = t.media), r.head.appendChild(e)), n.value || (a = Bn(o, (t => { e.textContent = t }), { immediate: !0 }), n.value = !0) }, u = () => { r && n.value && (a(), r.head.removeChild(r.getElementById(s)), n.value = !1) }; l && !i && gi(c), i || ai(u), Dt(n) }(R, { id: "waline-darkmode" }); const O = e => { const { serverURL: t, path: n, pageSize: r } = y.value, l = new AbortController; f.value = "loading", j?.(), (({ serverURL: e, lang: t, path: n, page: r, pageSize: l, sortBy: i, signal: s, token: o }) => { const a = {}; return o && (a.Authorization = `Bearer ${o}`), fetch(`${e}/comment?path=${encodeURIComponent(n)}&pageSize=${l}&page=${r}&lang=${t}&sortBy=${i}`, { signal: s, headers: a }).then((e => e.json())).then((e => x(e, "Get comment data"))) })({ serverURL: t, lang: y.value.lang, path: n, pageSize: r, sortBy: c[w.value], page: e, signal: l.signal, token: d.value?.token }).then((t => { f.value = "success", g.value = t.count, k.value.push(...t.data), m.value = e, v.value = t.totalPages })).catch((e => { "AbortError" !== e.name && (console.error(e.message), f.value = "error") })), j = l.abort.bind(l) }, T = () => O(m.value + 1), U = () => { g.value = 0, k.value = [], O(1) }, P = e => { _.value = e }, M = e => { $.value = e }, F = e => { if ($.value) $.value.comment = e.comment, $.value.orig = e.orig; else if (e.rid) { const t = k.value.find((({ objectId: t }) => t === e.rid)); if (!t) return; Array.isArray(t.children) || (t.children = []), t.children.push(e) } else k.value.unshift(e) }, N = async ({ comment: e, status: t }) => { if (e.status === t) return; const { serverURL: n, lang: r } = y.value; await C({ serverURL: n, lang: r, token: d.value?.token, objectId: e.objectId, comment: { status: t } }), e.status = t }, D = async e => { if (e.rid) return; const { serverURL: t, lang: n } = y.value; await C({ serverURL: t, lang: n, token: d.value?.token, objectId: e.objectId, comment: { sticky: e.sticky ? 0 : 1 } }), e.sticky = !e.sticky }, H = async ({ objectId: e }) => { if (!confirm("Are you sure you want to delete this comment?")) return; const { serverURL: t, lang: n } = y.value; await (({ serverURL: e, lang: t, token: n, objectId: r }) => fetch(`${e}/comment/${r}?lang=${t}`, { method: "DELETE", headers: { Authorization: `Bearer ${n}` } }).then((e => e.json())).then((e => x(e, "Delete comment"))))({ serverURL: t, lang: n, token: d.value?.token, objectId: e }), k.value.some(((t, n) => t.objectId === e ? (k.value = k.value.filter(((e, t) => t !== n)), !0) : t.children.some(((r, l) => r.objectId === e && (k.value[n].children = t.children.filter(((e, t) => t !== l)), !0))))) }, B = async e => { const { serverURL: t, lang: n } = y.value, { objectId: r } = e, l = h.value.includes(r); await C({ serverURL: t, lang: n, objectId: r, token: d.value?.token, comment: { like: !l } }), l ? h.value = h.value.filter((e => e !== r)) : (h.value = [...h.value, r], h.value.length > 50 && (h.value = h.value.slice(-50))), e.like = (e.like || 0) + (l ? -1 : 1) }; return function (e, t) { if (fl) { let n = fl.provides; const r = fl.parent && fl.parent.provides; r === n && (n = fl.provides = Object.create(r)), n[e] = t } }("config", y), Jn((() => { Bn((() => [a.serverURL, a.path]), (() => U()), { immediate: !0 }) })), Yn((() => j?.())), (e, t) => (qr(), Qr("div", oc, [ll(Fo), _.value ? ol("v-if", !0) : (qr(), Jr(ja, { key: 0, onLog: U, onSubmit: F })), rl("div", ac, [rl("div", cc, [g.value ? (qr(), Qr("span", { key: 0, class: "wl-num", textContent: q(g.value) }, null, 8, uc)) : ol("v-if", !0), sl(" " + q(sn(A).comment), 1)]), rl("ul", pc, [(qr(!0), Qr(Nr, null, sr(sn(u), (e => (qr(), Qr("li", { key: e, class: V([e === w.value ? "active" : ""]), onClick: t => (e => { w.value !== e && (w.value = e, U()) })(e) }, q(sn(A)[e]), 11, dc)))), 128))])]), rl("div", hc, [(qr(!0), Qr(Nr, null, sr(k.value, (e => (qr(), Jr(ic, { key: e.objectId, "root-id": e.objectId, comment: e, reply: _.value, edit: $.value, onLog: U, onReply: P, onEdit: M, onSubmit: F, onStatus: N, onDelete: H, onSticky: D, onLike: B }, null, 8, ["root-id", "comment", "reply", "edit"])))), 128))]), "error" === f.value ? (qr(), Qr("div", fc, [rl("button", { type: "button", class: "wl-btn", onClick: U, textContent: q(sn(A).refresh) }, null, 8, gc)])) : (qr(), Qr(Nr, { key: 2 }, ["loading" === f.value ? (qr(), Qr("div", mc, [ll(sn(co), { size: 30 })])) : k.value.length ? m.value < v.value ? (qr(), Qr("div", yc, [rl("button", { type: "button", class: "wl-btn", onClick: T, textContent: q(sn(A).more) }, null, 8, wc)])) : ol("v-if", !0) : (qr(), Qr("div", { key: 1, class: "wl-empty", textContent: q(sn(A).sofa) }, null, 8, vc))], 64)), sn(y).copyright ? (qr(), Qr("div", bc, [sl(" Powered by "), kc, sl(" v" + q(sn(sc)), 1)])) : ol("v-if", !0)])) } }), _c = Mo(xc, [["__file", "WalineComment.vue"]]); const $c = (e, t) => { t.forEach(((t, n) => { t.innerText = e[n].toString() })) }, Cc = ({ serverURL: e, path: t = window.location.pathname, selector: n = ".waline-pageview-count", update: r = !0, lang: l = navigator.language }) => { const i = new AbortController, s = Array.from(document.querySelectorAll(n)), o = e => { const n = Js(e); return null !== n && t !== n }, a = n => (({ serverURL: e, lang: t, paths: n, signal: r }) => _({ serverURL: e, lang: t, paths: n, type: ["time"], signal: r }).then((e => Array.isArray(e) ? e : [e])))({ serverURL: E(e), paths: n.map((e => Js(e) || t)), lang: l, signal: i.signal }).then((e => $c(e, n))).catch(ls); if (r) { const n = s.filter((e => !o(e))), r = s.filter(o); (c = { serverURL: E(e), path: t, lang: l }, $({ ...c, type: "time", action: "inc" })).then((e => $c(new Array(n.length).fill(e), n))), r.length && a(r) } else a(s); var c; return i.abort.bind(i) }, Sc = ({ el: e = "#waline", path: t = window.location.pathname, comment: n = !1, pageview: r = !1, ...l }) => { const i = e ? is(e) : null; if (e && !i) throw new Error("Option 'el' do not match any domElement!"); if (!l.serverURL) throw new Error("Option 'serverURL' is missing!"); const s = Vt({ ...l }), o = Vt({ comment: n, pageview: r, path: t }), a = i ? oi((() => Cl(_c, { path: o.path, ...s }))) : null; a && a.mount(i); const c = Dn((() => { o.comment && Xs({ serverURL: s.serverURL, path: o.path, selector: "string" == typeof o.comment ? o.comment : void 0 }) })), u = Dn((() => { o.pageview && Cc({ serverURL: s.serverURL, path: o.path, selector: "string" == typeof o.pageview ? o.pageview : void 0 }) })); return { el: i, update: ({ comment: e, pageview: t, path: n = window.location.pathname, ...r } = {}) => { Object.entries(r).forEach((([e, t]) => { s[e] = t })), o.path = n, void 0 !== e && (o.comment = e), void 0 !== t && (o.pageview = t) }, destroy: () => { a?.unmount(), c(), u() } } }, Rc = ({ el: e, serverURL: t, count: n, lang: r = navigator.language }) => { const l = Ao(), i = is(e), s = new AbortController; return (({ serverURL: e, lang: t, count: n, signal: r, token: l }) => { const i = {}; return l && (i.Authorization = `Bearer ${l}`), fetch(`${e}/comment?type=recent&count=${n}&lang=${t}`, { signal: r, headers: i }).then((e => e.json())) })({ serverURL: t, count: n, lang: r, signal: s.signal, token: l.value?.token }).then((e => i && e.length ? (i.innerHTML = `
    `, { comments: e, destroy: () => { s.abort(), i.innerHTML = "" } }) : { comments: e, destroy: () => s.abort() })) }, Ac = ({ el: e, serverURL: t, count: n, locale: l, lang: i = navigator.language, mode: s = "list" }) => { const o = is(e), a = new AbortController; return (({ serverURL: e, signal: t, pageSize: n, lang: r }) => fetch(`${e}/user?pageSize=${n}&lang=${r}`, { signal: t }).then((e => e.json())).then((e => x(e, "user list"))).then((e => e.data)))({ serverURL: t, pageSize: n, lang: i, signal: a.signal }).then((e => o && e.length ? (l = { ...b[i] || b[r], ..."object" == typeof l ? l : {} }, o.innerHTML = ``, { users: e, destroy: () => { a.abort(), o.innerHTML = "" } }) : { users: e, destroy: () => a.abort() })) }; export { Rc as RecentComments, Ac as UserList, Xs as commentCount, b as defaultLocales, Sc as init, Cc as pageviewCount, sc as version }; +//# sourceMappingURL=waline.mjs.map \ No newline at end of file diff --git a/list/index.html b/list/index.html new file mode 100644 index 0000000..319854c --- /dev/null +++ b/list/index.html @@ -0,0 +1,339 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/message/index.html b/message/index.html new file mode 100644 index 0000000..0a0d499 --- /dev/null +++ b/message/index.html @@ -0,0 +1,330 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + + +
    + + + +
    + + + + +
    + + +
    + + + + + +
    +
    +
    + 以上 +
    + + + +
    + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/placeholder b/placeholder deleted file mode 100644 index e69de29..0000000 diff --git a/support/index.html b/support/index.html new file mode 100644 index 0000000..6732804 --- /dev/null +++ b/support/index.html @@ -0,0 +1,333 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + + +
    + + + +
    + + + + +
    + + +
    + + + + + +
    +
    +
    + 以上 +
    + + + +
    + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/tags/Markdown/index.html b/tags/Markdown/index.html new file mode 100644 index 0000000..4c2b0c2 --- /dev/null +++ b/tags/Markdown/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + +
    +
      + + + 📌Markdown + + + + + + + + + + + +
    • + 2024-02-29 + +
    • + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/tags/hexo/index.html b/tags/hexo/index.html new file mode 100644 index 0000000..8c40999 --- /dev/null +++ b/tags/hexo/index.html @@ -0,0 +1,278 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + +
    +
      + + + 📌hexo + + + + + + + + + + + +
    • + 2024-02-22 + +
    • + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 0000000..bb54bbc --- /dev/null +++ b/tags/index.html @@ -0,0 +1,305 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + +
    +📌tags + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git "a/tags/\345\205\232\347\272\252\346\263\225\350\247\204/index.html" "b/tags/\345\205\232\347\272\252\346\263\225\350\247\204/index.html" new file mode 100644 index 0000000..64877f6 --- /dev/null +++ "b/tags/\345\205\232\347\272\252\346\263\225\350\247\204/index.html" @@ -0,0 +1,278 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git "a/tags/\345\217\221\347\226\257\345\220\210\351\233\206/index.html" "b/tags/\345\217\221\347\226\257\345\220\210\351\233\206/index.html" new file mode 100644 index 0000000..147031f --- /dev/null +++ "b/tags/\345\217\221\347\226\257\345\220\210\351\233\206/index.html" @@ -0,0 +1,278 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git "a/tags/\347\224\237\346\264\273/index.html" "b/tags/\347\224\237\346\264\273/index.html" new file mode 100644 index 0000000..2a8190d --- /dev/null +++ "b/tags/\347\224\237\346\264\273/index.html" @@ -0,0 +1,287 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git "a/tags/\350\217\234\350\260\261/index.html" "b/tags/\350\217\234\350\260\261/index.html" new file mode 100644 index 0000000..9a26cb9 --- /dev/null +++ "b/tags/\350\217\234\350\260\261/index.html" @@ -0,0 +1,278 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + +
    +
      + + + 📌菜谱 + + + + + + + + + + + +
    • + 2024-02-29 + +
    • + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file diff --git "a/tags/\351\232\217\346\203\263/index.html" "b/tags/\351\232\217\346\203\263/index.html" new file mode 100644 index 0000000..a8f3388 --- /dev/null +++ "b/tags/\351\232\217\346\203\263/index.html" @@ -0,0 +1,278 @@ + + + + + + + + + + Vogel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + +
    + + + +
    +
    + ^-^ +
    + + 想要做一些有趣的事 +
    + +
    + + + +
    + + + + + + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + + + + + + \ No newline at end of file